Wednesday, February 18, 2009

Social Profile of the Computer Geek

Alright, this week seems to have been a return to my passions as a computer science geek and electronics nerd. To begin, my work planning for college has rekindled an old flame of sorts. I've had the urge to design a class scheduling program. This would take a list of the classes I want to take, and then use the class times for that semester to build the perfect schedule.

Of course, that's a very general description. One of the most immediate problems that comes to mind is: what is a perfect schedule? It's a fuzzy, arbitrary goal. I have several ideas to make it more concrete, and if I get that far I'll probably incorporate them all. Another technical issue to be solved is getting the actual class times. I'll have to start by hand-entering the ones I'm interested in, but I wonder if there are better solutions. Perhaps the Computer Science department can hook me up with read-only access to parts of the school's database. Or maybe I can find a way to scrape their website. That method would be inelegant, but it might just be the only way to get the meeting times automatically.

Of course, I made a crude version of this once before. When I was just starting college, I was overwhelmed at trying to put together a schedule. So, I fired up Visual Basic and had some fun. Unfortunately, I lost the entire project at some point. This time, I'm feeling much more ambitious. I want to use Java, using all of the good programming techniques I've learned in the last 5 years. I'm talking object-oriented programming, Collections frameworks, generics, the works. And I'm trying to build a frontend/backend system, so that I can make all of the guts, and then easily make it either a GUI desktop application or an applet embedded in a webpage. If you're still following along, then you're probably a programmer.

In other words, my programming gears are turning again, and it's exciting. I don't know if it's possible to be excited about programming, but I am right now.

There's also more exciting news, but it's a bit of a guilty pleasure. You might recall that I purchased a laptop back in July, just for the deployment. (I guess I didn't make a post about that! How odd!) It's an HP Pavilion dv9700z. It has a beautiful, huge 17 inch screen, and is a respectable gaming PC. But thinking back to school made me think for a minute. Can I really carry around a huge, expensive laptop to school every day? No, I would rather leave it home. I could trade Ashley back for the smaller HP that I was using. It's a 14.1 inch screen HP, and a perfect machine for school.

The other alternative I started looking into is a netbook, an ultra-light, ultra-small, ultra-cheap laptop. They're underpowered, but it's not like taking notes or programming and light compiling need a lot of power. Before I even had time to give it a lot of thought, I was talking casually with Mr. Wizard, and he mentioned he might try and sell his. He wasn't using it after buying a small MacBook, and so was looking to get most of his investment back. I came by for a trial run, Ashley and I talked, and we decided it was a good option.

So I'm writing you now from my Asus Eee PC 1000D. It has a tiny 10 inch screen, and a keyboard that's 92% of the standard size. It's quite cramped to work on, but I think it will be perfect for school. As long as I can get used to typing on the darn thing. The quick brown fox jumps over the lazy dog...

Wednesday, February 11, 2009

Many Birthdays

Is it me, or are there a lot of birthdays around this time of year? Many, many of the people I know seem to have birthdays in January and February. Perhaps it lends creedence to all of that astrology crap, and I just tend to hang around Aquariuses. Or maybe it reveals preferred times of the year to make babies. Who knows.

The last couple of weeks of work have been relatively quiet. Sgt. Rhino is back from leave. He had an excellent time while he was home, but coming back was painful, both with the emotional parting and the difficult process of making his way back to Iraq. I get that report quite often, actually. Traveling with the military is less than glamorous. Sgt. Rhino has decided to step back a bit from day-to-day office management, allowing Sgt. Antonio to make project decisions and keep track of scheduling. Also, Sgt. Rhino has blessed off on the days off scheme. I'm very happy, because I'm still enjoying my reset days.

Over the past couple of days, I've been plotting my return to the world of academia. I've reached a Junior standing in college, but based on the courses I still have to take, it will take me another 4 semesters to complete my degree. That means I still have two years before I can start working full-time. It's a little disheartening that classmates from high school who stuck to the 4-year plan in college already have their bachelor's degrees, and I'm still two and a half years away. I probably would have taken an extra semester or two if I had gone strait through school, but even then, I would still be very close to finishing by now. I've had to put my education on hold twice because of the military. On the other hand, I don't regret my decision to join the military. I have a lot of experiences that will help me in life and give me perspective. Plus, hopefully my student loans won't linger as long as some of my old classmates' loans will.

I do have one exciting new finding from planning out the rest of my college career. I had heard people mention it before, but only looked into it recently. Because of all the math courses required by the Computer Science degree, it's not difficult to pick up an Applied Math minor. The minor consists of six courses. While none of those courses are required by the degree, three of them can be applied to specific slots in the degree. I've already taken one of those. So basically, by taking three extra courses, I can pick up the minor! And really, these are math skills that will be synergetic with my Computer Science degree: vector calculus, linear algebra, differential equations, statistics and probability. As much as I hate doing math, I love the things that math can do for me. The real trick is to learn to harness math to my needs. I haven't figured out how to use all of this advanced math in computer science, but I know it's possible, and it's the path to being a great programmer and innovator. So, I'll slog through the classes and make it happen.