I’ve been given a new job, to program a website in BASIC. I feel like I’ve gone from using a motorized screw driver back to using a manual one by hand. I don’t even know BASIC, but I’m trying to learn it. Besides that, I have to learn exactly how http works, because I’ll have to do it all manually. It will be good to learn, but it’s going to be a challenge without the shortcuts that PHP has to offer. No cookie, or session handling. The only security will have to be coded by me.

Oh well, it’s what the customer wants, and unfortunately, my boss is pretty set on doing it this way.

I’m building a website that was previously in COBOL, and even though I don’t think moving to BASIC is a very big step, the previous program only allowed Internet Explorer.

Exposong Background Select

If you’ll look at the bottom, beside the preview, you can see the new background selector. You can use both images, or plain gradients.

I would dare to say that ExpoSong might even be ready for actual use. Of course, you can’t do much more than plain-text slides (lyrics too, but it’s plain-text as well), but there’s nothing wrong with an assembly without images/videos.

I know a lot of Americans who absolutely hate the idea of our products coming from other countries. They whine and complain, saying, “they’re stealing our jobs,” or they state that in fact, the workers are underpaid and oppressed in their jobs because it is a 3rd world country.

In fact, when our factory jobs go overseas, it’s a good thing. Not only do we stimulate the economy of the countries, and add wealth to the country, we get a good product as well, at a lower price. They are happy to have a steady income, that probably pays more than they would get without the factory, and our pocketbooks are better off because the wages of paying their employees are lower.

Does it take away American jobs? In a way. Do we as Americans want to work for $5.15/hour (actually more now that minimum wage is going up)? Do we want mundane factory jobs? No, most of us do not. Our nation is moving away from the low, hourly rate jobs, and into the educated, high salary jobs. There are plenty of jobs for the uneducated, and even though it hurts when 1,000 people lose their job to a factory relocation, without change, our economy will never grow.

It’s important to remain informed on the major issues. A lot of times, politicians will tell us what we want to hear, but it’s  not always what’s best for us in the long run. So, before you complain about the economy, make sure you know the facts.

Looks like I’m going to be working this summer. My boss wants to set me up with office hours, which is promising, because that will mean I’ll get a steady paycheck. It also means I’ll be in Lubbock for most of the summer, which isn’t so bad; I already commited to the softball team with our college group.

I’m finally finding a group that I’m comfortable with at Cross Campus. Kind of ironic that it’s happening now out of the whole year. Better late than never.

Announcing version 0.3 of Exposong! With custom schedules, presentation backgrounds, plugins, faster screen rendering, and a major overhaul of all the source code, it’s an estimated 250% more usable than the previous version! There’s even a German translation for native speakers (we’ll be needing more translators for other languages, for anyone who wishes to be involved).

For plugins in ExpoSong, I’ve gone mostly the route that was in the tutorial at pocoo.org. It’s helped me in understanding it a lot, but I decided to go the route of abstract classes, instead of a capabilities list. This helps documentation, and lets the developer know exactly what needs to be implemented without searching through developer documents.

I’ve been using firefox in combination with adblock plus for a long time now, and haven’t really second guessed myself. A lot of websites aren’t there for the users, but in fact just there to make money. I don’t appreciate when there is less content than there is advertisement, so it is sites that abuse their power to advertise that make me use adblock.

One of the things I’ve learned in microeconomics this year, is that in a free market society, you can often help yourself the most the most by helping others. This is how Christians can be profitable business people, because in fact by being fair to customers, they are in in fact helping others while making a profit.

Back to the adblock issue, I’d like to reward more people for being responsible, and using a fair amount of advertisement, but I’m not quite sure how this can be done with adblock right now. Maybe the feature that I’m looking for is an opt-in for each website. What I mean is, I disable ad-blocking for all websites. If I visit a site, and they are using more than three ad-banners, I put them in a list that blocks all advertisement for that site.

I see over-advertisement as being as offensive as spamming. I think the web community as a whole needs to start discouraging bad behavior. This would be another toolkit in the users toolkit that I think would help the web as a whole.

There’s so much I’m learning about programming while making ExpoSong. A lot of it would have been nice to know while I was making the bulk of it, but I’m learning as I go. Instead of having the classes be attributes of the main class, from what I’ve figured out, I think it’s going to be best to put the class attributes in the module that the class is defined (e.g. schedule.py, Schedule (class), schedule (attribute)). Hopefully, this will allow me to cut down the 400 lines of code in the application.py file. We’ll see.

I’m going to have to do some major changes before I can get 0.3 pumped out, so I’m going to see what I can get done in the next couple of weeks. I’m just now starting to get some motivation after Spring Break (time off always kills me when I have to come back). Once I get plugins working, I should be able to pump out new features a little bit easier, so we’ll see what happens.

Edit 12:02am: I may start pumping out code for my boss, so I can get paid. It is more important to pay the rent than to get ExpoSong further along, so that’s where my priorities lie. I’ve got a paper due on Thursday as well, so that’s also very important. I may have to remove all signs of games from this computer so I can get something done.

I’ve taken a dive into creating a plugin system for ExpoSong. It’s been a ride, because I’ve never built anything like this before, and had no training on how to do so. I had to do quite a bit of research, and used a lot of the information from pocoo.org (that’s actually the 2nd tutorial from that site that has helped me with my program). I’ve moved some code over to a plugin, but haven’t actually tested it out yet, which is usually a bad idea, but I hope that it will work.

The tutorial uses a `capabilities` attribute to show what a class can do, but I modified it so that instead of using an attribute, it is a subclass of another class. This helps with documentation, and seems like a more intuitive way to do things as well.

I’m just now getting it going, but soon I hope to get it integrated so that I can get more done.

I’m really liking my new background picture. See it in action on my desktop:

Desktop-20080402

Find the original picture at art.gnome.org. It works great with icons around the leaf, and I even had my icons set up that way to begin with.

Doing this project for my work, which requires me to crack passwords from a long list of users, has taught me a lot of general things about passwords. I’ve actually figured out 600 745 of the 2000 passwords from users just because they were pretty weak passwords.

Passwords that are words in the dictionary (or multiple words combined) are easy to figure out. Never use your username, information about you that can be easily found out, “password”, or information about the site your account is on as your password. Fully alphabetic or numeric passwords aren’t too hard to figure out either. Combining them helps, but using “animal1″ won’t get you too far. Passwords that are short (less than 6 characters or so) aren’t too hard to figure out either.

The best password is something that’s really random, and not even your closest friends could figure out. A word that is rarely used, such as an exotic animal, food, action, or tool, is a good starting place. I would then add multiple numbers to one side of the word that you can remember, but is not something public to the rest of the world (license plate is no good). Capitalize a random letter or two in the word, and maybe even change some of the letters to special symbols (a -> @, T -> 7, A -> ^, S -> $). If you don’t replace letters with special characters, put some in between, after, or before your password. Finally, it’s a good idea to use the different password for different accounts if possible.