Car Upgrades, Pt. 1

Due to the recent success I’ve had from getting a job (see a future post) and me having slightly more money than I expected to have at this point in the summer, I decided I would do a bit of celebrating and treat myself. Although I could have looked into purchasing some of those upgrades I need for my server, I decided that I would put a bit of money into my car.

When I first got my car, it was all factory parts. Although it’s old and have no intention of putting any more money into the car than I have to, I decided that it needed a better sound system. I had a simple logic behind this: any sound gear that I put into my car, I can pull out in a few hours when I get a new car. My first purchases when I got my car were a new deck and speakers for the interior. Within a month, I had hauled an old amplifier out of my basement (which was found in the middle of the street) and bought the cheapest sub woofers I could find (2 10″ subs with enclosures for $70), and put those in my trunk. After those subs got stolen (the joke’s on them – those subs were crap!), I decided that I would do an upgrade – to a Sony 800W amplifier and a 1000W Pioneer Premier 10″ sub, and a Stinger 1 Farad capacitor to help with the powering of said system. My system has been like that for about 9 months now, and I decided that I would put new parts in.

I decided that I would get two 6″x9″ speakers, enclosures, and another Sony 800W amplifier to power them. Although putting the speakers in the trunk would initially seem like a ridiculous idea, I left enough slack in the wiring for them to be pulled out of the trunk for public events where portable sound is needed, such as any Lindy Bombing events that UMSwing puts on. Although I had to remake some wires (and I almost ran out of wire to use!), installation went off without any problems.

One thing that I was toying around with and decided to do as well was to try putting neon lighting in my car. Now, this would normally be a waste of money for an old car like mine. After all, who wants to spend a few hundred dollars on StreetGlow? But, I assure you I didn’t spend that much. In fact, I only spent $40. Rather than buy glow designed for cars, I decided that I would simply use Cold Cathode tubes from Logisys. It required a bit of wiring hacking, but I managed to put two 12″ tubes in my trunk and two 4″ tubes in the front dash by the feet. So far, it looks amazing, and I’m going to get more later to replace the old lights in the car with LEDs so I can actually see things in my car.

I also replaced the windshield wiper blades with some snazzy-looking red ones to go with my car, but that’s not particularly important. After studying today I plan on doing a good cleaning of the interior and possibly the engine. I’m also going to get a paint touchup kit, but that’s for another day. I’ll be sure to post pictures of my trunk (and the neon) soon.

The Investment

Due to the recent complete failure of my server, I’ve decided to plot of some of the purchases I need to make in order to secure my storage space a little more (and to make my server able to take over the world a little bit more, thereby helping along my plans for world domination). Amaretto, the name of my server, hasn’t had a proper upgrade in quite a while, and is in need of some new parts in order to ensure its well-being.

Due to the massive costs associated with building a server, I’ve built the server in small pieces rather than just dropping all the money at once. The system started off as a 500GB hard drive and a $15 case. I slowly added more hard drives (3 more), then upgraded the case twice (first to a Cosmos 1000, and then to a Norco RPC-4020) to deal with my expanding storage needs. Now, my motherboard has hit its limit in terms of SATA drive slots, so it’s time to start looking at larger hard drives and a RAID card.

On the recommendation of a number of trustworthy sources, I decided to go for a 3Ware RAID card which will handle an additional 4 drives and will get me properly started on my new RAID. The choice if hard drives is still up for grabs, though.

Because I will be using the drives in a hardware RAID, I will be buying RAID edition drives, which cost significantly more. Although I would normally go for a Seagate drive, they currently offer the worst warranty on all drives: a measley 3 years. On top of that, they are also the second-most expensive. Instead, I’m leaning towards the Samsung F1 RAID drive. Not only is it the cheapest, but it also has a whopping 7 year warranty. The user reviews were also promising and nobody had any serious problems with them.

All of that will set me back about a grand, so it will have to wait until I have paychecks coming in. Next purchase is a new motherboard and CPU, but I’ll talk about that another time.


For the past two years, I have been running a small personal server out of my house. Well, I guess “small” is a relative term. To be more specific, it was a Fedora 8 server with 2 terabytes of storage for my backups, music, and Subversion repositories. Along with my desktop, it was my pride and joy; everything was custom-built, the distro was actively maintained, and all of the configuration was done by a two-factor encrypted console.

Notice the use of the past tense. Was. On Monday I noticed that I was getting read errors on my drives, although I wasn’t sure which one (I had 4 drives). Although I went to bed with a (mostly) working server, I woke up to a system that wouldn’t boot up because the partition information. After fumbling with different recovery methods to try and get my data off, I came to the conclusion that I wasn’t going to get the data off; it was gone, possibly because of my recovery actions.

Needless to say, I was more than a little devastated. Although I can rerip my music, I can’t get back the Subversion repositories; those are all gone, along with all of the revisions I’ve made on projects.

Despite my demotivation, I took this as one huge learning experience. Although I had made backups of some of my work, it was still on the same drive and partition, and I should have considered them just as vulnerable as the originals. When you can’t make consistent backups on a different system, RAID your drives.

I’ve since reinstalled my server as a 1TB RAID10. Alrhough this means I have half the space to work with, it also means that I have 100% redundancy. So, if one of my drives fails like what happened to me, all I have to do is pull out the drive, put a replacement in, and the system will copy all of the data over to the new drive. The best part about all of this is that this all happens on-the-fly; no downtime, no rebooting, and no manual work except for adding the drive to the RAID configuration.

In short, if you take one thing away from this, remember to back up your stuff frequently, even if it’s just on a flash drive or external hard drive. When your original fails, you’ll thank yourself for that backup.

The Waiting Game

While taking a Computer Science degree at my university, I have the option of participating in the Co-Op program, which will help me get intern positions at firms in the Computer Science field. The positions range from performing basic technical support to working on active projects with the rest of the team at the firm. I will hopefully be starting my co-op term this September, and I’m looking forward to the plethora of new knowledge I will gain from the experience.

All in all, I applied for a whopping 17 positions. Normally, I wouldn’t have applied for so many, but this is my first co-op term, and all of the other students going into a work term this September will be in their second work term; in short, I’m at a natural disadvantage. So, in order to increase my odds of getting a job, I’ve decided to apply for a ton of jobs (all that I would find interesting, mind you), in order to (hopefully) guarantee myself a position. The one job I would kill for, however, is at a web design firm called Tipping Canoe. The firm focuses on PHP and MySQL development, which is exactly what I’m interested in. There are a number of other technologies, such as Sphinx and memcached, which would be invaluable for any large scale development I may work on. Other reasons for liking the job include the location, which only requires that I take one bus to work, and the work environment, where they offer a casual, relaxed work environment in the Exchange district and they refer to their employees as Coding Ninjas (!!!). From what I’ve heard they prefer students who have little-to-no PHP experience, but I still have a lot to learn even though I’ve covered some of the basics.

Unfortunately, I’m not in a position to be picky for which position I get. If I get the position at Tipping Canoe, I’ll be happier than <insert happiness simile here>, but I should be just as satisfied with a tech support position. Anything I get will teach me more and give me real world experience, which is what this opportunity is all about. Any job I get will help me develop my skill set, and there’s always the opportunity to apply for them another year if I don’t make the cut. What it comes down to is that I’ll be making money doing something that I love and learning more about it at the same time. It’s hard to pass up an opportunity to get paid for doing something you love.

And Tipping Canoe, if you’re reading this, I’d love an interview. Pleeeeze? Can’t help to ask, I guess…

Decisions, Decisions

This August I have to deal with a problem that arises every three years.

Right now, I have about two months to decide what I will do with my cell phone. Although I currently have a Sony Ericcson w600i and am quite happy with it, it’s on its last legs and I’m starting to notice things that aren’t working properly. I’m also looking forward to jumping on the smart phone revolution.

I’m currently torn with what path I should take, however. Although I never would have said this a year ago, the iPod Touch is one of the coolest pieces of technology I have ever used, and therefore the new iPhone 3GS is one of the potential phone choices. I would prefer, however, something that I could write my own programs for. Google’s HTC Dream is also a fun phone. I have tried out a friend’s phone and was very impressed by it, although I was disappointed by the performance for simple things like smooth graphics on scrolling menus – something my iPod does better. Finally, there is the default of a Blackberry, but I was never quite sold on them on any particular point.

I’m torn between the Dream and iPhone for a number of different reasons. I’ve grown very fond of the iPhone for the intuitive design, smooth look, and functionality. There’s a lot of features which I’ve gotten quite used to; even things like the on-screen keyboard I am used to and have no trouble using anymore. That being said, I can definitely think of a few applications worth making, but Apple has cornered the development market for their product by forcing all users to develop on Apple systems only.

Of course, the decision on a plan depends on what phone I get and how much data I use. Although I could get away with a cheap $30 plan, I could go for something a little more impressive and get a hefty data plan, allowing me to stay connected wherever I go. Unfortunately, it looks like Rogers doesn’t offer cheaper plans with the iPhone, so I might be hooked in for a little more than I wanted to. Although I tried to price out some plans on the internet, it was really hard to figure out what would be the cheaper option. I don’t mind spending a little more up front for an overall cheaper plan, but I might have to go in to talk with a Rogers representative to figure out what is the best option for me. As always, I welcome suggestions and recommendations from the peanut gallery (ie. you) as to what route I should take. Personal experiences with this might prove to be more beneficial than the knowledge of a Roger’s representative.

On an off-topic note, a number of you have mentioned that the background should stay put on the site to make things easier on the eyes. I’ve heard your cries of pain and agony, and am working on it. It’s not as easy as just fixing the background with CSS. But, it’s in the works.

Five Albums I’m Listening To

For this installment of “Five Things“, I have decided to talk about some of the albums that are on my playlist right now that I enjoy listening to.

Mute Math - Mute MathMute Math
Mute Math – 2006

Mute Math is difficult to fit into any one genre. While they have an electronica base, they also exhibit both rock and pop stylings. Their music goes from fast-paced trace to smooth downtempo, and is guaranteed to get your head bobbing to the beat. Although this is their first main release, they have also released an EP back in 2004 entitled Reset which is a phenomenal addition to their repertoire. If good music alone doesn’t do it for you, they also have a phenomenal stage presence as demonstrated by their both their live performances and their music videos.

Queens of the Stone Age - Era Vulgaris

Queens Of The Stone Age
Era Vulgaris – 2007

Queens of the Stone Age have never fit into the mold, and their quirky music certainly shows this. Their odd style of music stands out from the crowd, but not so much that their music doesn’t go mainstream. Their guitar styling is great to listen to, even if it sometimes isn’t the most pleasing to the ears. Their rock styling with lyrics a-la-“Red Hot Chili Peppers” make this a unique band that shouldn’t be passed up.

Cake - Comfort EagleCake
Comfort Eagle – 2001

Cake’s music has always been something to chuckle at, and Comfort Eagle is no exception. Cake is an indie-style band with a sense of a humor and a way with words, and they enjoy using different instruments and effects in their songs. If you’re looking for some music to put on while friends are over to hang out, consider this album (and their others) for some background listening. Other notable songs on other albums include the remake of the Muppets song Mahna, Mahna, and the Frank Sinatra song Strangers in the Night.

Royal Crown Revue - Passport To AustraliaRoyal Crown Revue
Passport to Australia – 2000

Royal Crown Revue is a rockabilly swing group with a knack for getting your feet tapping. Normally I steer clear of live albums because of all the screaming in them. This album is different; there is very little applauding and cheering in it, but is instead graced with the music that you paid for. The band is one of my favorite contemporary jazz groups for their unique sound and groove, and their live album Passport To Australia reaffirms my choice. If you pick up one rockabilly album, make it this one.

Pronobozo - Zero = One = EverythingPronobozo
Zero = One = Everything – 2007

Pronobozo is a phenomenal artist; his unique style redefines breakbeat music. After getting exposure on the internet podcast Hak5 by providing much of the music used on the show, he released his album to the masses under the Creative Commons license. The pressed version of his album is a limited quantity version, and is definitely worth picking up for a listen. This is currently my preferred album to listen to while I program; it has the perfect mix of downtempo stylings, breakbeat, and that instrumental “smoove” feel to keep you in the programming groove. What are you waiting for? Go buy this album. Now.

Testing Out Fedora 11

A few years ago, I made the switch on my laptop from Windows to Linux. If I had to summarize the experience, I’d say it’s been…well…an experience. It’s had its ups and downs as I tinkered around with more distributions than I can remember (I can think of 7, not including different architectures). I initially made the switch because the recovery disks I had burned for my Windows installation weren’t working, and I needed a suitable alternative, preferably one that wouldn’t bust the bank and would be easy to use. Linux satisfied (and in some cases, excelled) in both of these.

After much deliberation and testing, I finally decided on the Fedora distribution, which I am still with to this day. Ten days ago, they released their newest distribution, Fedora 11 (Codename Leonidas), which added a whole slew of new features. Although I only have a day or so with the new distribution, I’ve tested a lot of the new features. They are nicely separated into both Technical and Non-Technical.


20-Second Boot Time

The first problem anyone seems to have with computers is that they take too long to boot up. Fedora 11 helps a lot with this by aiming for a 20-second boot time, from the time you start your computer until the time you log in. It was about 35 seconds for me on a 3 year old laptop, but regardless, that’s a huge improvement over, say, Vista’s 2-minute boot. If 35 seconds isn’t fast enough for you, you might want to loosen up your schedule a little.

Improved Touchpad Support/Features

The one complaint I always here about touchpads on laptops is that people accidentally click on things while they’re typing, moving the position of the cursor and inadvertently typing in the middle of a previous paragraph. The newest upgrades to the touchpad drivers are amazing. You have the option of disabling the touchpad while typing, and enabling or disabling mouse clicks by tapping on the touchpad.

My personal favorite, however, it the addition of Multi-Touch scrolling. Rather than having to run your finger along the side of the touchpad, two fingers can be used to scroll. You also have the option of enabling horizontal scrolling. The best part is you don’t need a touchpad specifically designed for multi-touch; it works great on mine without any problems.

Nice Graphics

Ok, although a little technical, I’m still putting it in here because who doesn’t like smooth-looking graphics with direct acceleration? Enabled from the kernel level, direct acceleration worked right out of the box for me, which means desktop effects work without any configuration. Those who are a little more tech-savvy can obviously look into the coveted Compiz installation.



Yeah, that’s right: the ext4 filesystem is now standard on Fedora. The filesystem now supports filesystems over 1 exabyte and files up to 16 terabytes in size. If you’re going to be creating filesystems or files that large, you don’t need to read this review. There are a whole slew of improvements made over ext3, which should make for an overall more reliable experience.

2.6.29 Kernel

The new kernel runs great for me. There’s been a lot of new features added, and far more than I can go into depth with. I have yet to have a crash yet, so that is always a good sign.

GNOME 2.26.1 and KDE 4.2.2

Those that have seen the older versions of KDE (ie. pre-4.0) I’m sure remember how “immature” it looked. I always got the impression that it was geared for pre-teens. KDE 4 changes all of that, and makes me seriously reconsider using it. Not only does it look nicer, but everything is well laid out in the menu, and the desktop widgets are integrated into the Desktop Environment. GNOME looks as regular as it always has, but makes some good strides in menu locations and the included applications.

Firefox 3.5b4 and Thunderbird 3

I have been waiting quite a while for both of these to appear in a distribution. Firefox 3.5 is great so far, and Thunderbird looks very promising as well.

Smaller Footprint

Gone are the days of yonder when a Fedora installation was a 3.5GB DVD download with the inability to test it out beforehand. Fedora has reduced the size of the installation media to a staggering 690MB LiveCD, reducing bandwidth usage and and letting you try the distro out before installing. This is one of the best things Fedora has done, and I’m really glad they made the switch.


I’m so far really happy with this new release. It’s been stable and a lot of new features have been added which helps affirm my decision to stick with Fedora. If you happen to be considering making the switch from Windows, I recommend checking it out. The LiveCD allows you to try things out before installation, which will let you test the waters before plunging in to the deep end.

Technical Difficulties

So, I’ve had quite a string of bad luck with technology as of late. One incident involved my personal server at home, and the other involved my website.

I spend quite a bit of time on the bus for getting around, mainly because the places I need to get to the most have pretty good service, and also because the price of gasoline is atrocious. Because I spend so much time on the bus, I want to be able to use my time to accomplish something. Although I sometimes use the time to study, I also have used the time for writing on my blog. Sometimes an event inspires writing, and I’d rather start brainstorming immediately than forget what happened.

A few days ago I happened to be writing about the great weather (sounds boring, I know – more on that later), and I wanted to upload the draft on to the blog. Unfortunately, during that process I lost all of my work. Annoyed, I started to rewrite the post, only for it to happen a second time. Those of you who are sharper than normal may have noticed the lack of a post this past Monday; that’s why.

When I got home that same day, which happened to be a scorcher of a day, my mother suggested I move my server into another room for the summer. Normally I would ignore anything my mother says about computers, but she raised a valid point about cutting down the temperature in my room. With all the gear running in my room, namely a desktop, server, network switch, TV, and home theatre system, my room is hot in the dead of winter. You can imagine how hot it gets in my west-facing room during the summer.

After finding a suitable spot in the adjacent room, I powered up my server and hooked it up to the network. When I tried to access the server after booting up, I couldn’t. A quick look at the network switch told me the network connection wasn’t working. My geek instinct kicked in, and I started trying to figure out the problem. I was worried I had damaged my server while moving it, since I plugged the network cable into my laptop and the network was working fine. I ended up making a foolish mistake with the order in which I hooked everything up. In short, my server does not use the network manager service, so if the network cable is not plugged in upon boot, it won’t connect to the network.

I guess all I can hope for is that my string of bad luck ends. So far, things seem to be going well with both the install of the new iPod Touch 3.0 firmware and Fedora 11 (updates to be posted about both soon!), so let’s hope that things continue on the good streak.

The Schedule

When I started this blog up a short while ago, I was presented with a number of pieces of advice to ensure the so-called “success” of my blog. For a site such as mine, I’m not sure how one might measure success. Monetarily, the site can’t be a success since there is no form of income (aside: I sincerely hope that, one day, I will be able to eat those words and the site may provide me with a source of income). I suppose that, for a non-profit, one-man-show style website, one can only hope to be known well enough to be publically recognised. I don’t expect that to happen, so I’ll settle for being a well-visited blog. I’ll consider my first milestone to be 500 unique visitors in a single day, at which point I will not only be happy, but I will set myself a loftier goal which will seem just as unlikely for me to reach.

But I digress. Advice, right? One of the most logical pieces of advice I received was to have a regular schedule that I would regularly update to. Although I toyed around with the idea of updating three times a week, I came to the conclusion that is probably infeasible in the long run. Unfortunately, I don’t have the intension of updating frequently enough so that my university marks suffer. So, after much deliberation, I have decided that an update schedule of every Monday and Friday is a reasonable goal to uphold.

This is obviously all dependent on whether I feel like I have something to say, though. Although I don’t think it will be much of an issue, there always is the potential of hitting a bit of writer’s block. There always is the possibility, though. Because my classes this semester are not computer science courses, I will find it hard to refer to those courses without straying too far off topic (unless one of my professors makes another bone-headed comment again). The fall won’t present me with much more inspiration: at least, not directly. If everything goes according to plan, I will have an intern job with a firm involved in computer science, one of which, if I get the job, will not legally allow me to discuss what I do.

That being said, my development work, addiction to music, and everyday experiences I’m sure will provide me with ample fodder for you to stuff your brains with. Plus a little feedback here and there from you guys might give me some incentives to post a little more.

Of course, I might be a little more inclined to post three times a week if I hit 1000 visitors a day…

Going Open Source

The first time I wrote a full website, I made a lot of mistakes. A LOT.

Although not completely obvious from looking at it on the outside, H2H Security Group is built on a pretty shoddy content management system (CMS). There are bugs, there are incomplete sections of the site, and there is little administration that doesn’t require direct database access. I’ve stopped development on the current CMS and decided to go for a complete overhaul. That’s right: I’m completely re-building the system, H2H CMS, from the ground up.

Normally, this would be a preposterous idea, and perhaps it’s not the most efficient route for me to take, but I won’t be walking away from the CMS empty handed. It was an amazing experience working on it. Despite it being terribly designed, I’ve grown a lot as a programmer since I first started. I’ve learned about things like classes, hierarchies, debugging tools, exceptions, mysqli, more advanced MySQL statements, and caching. I’ve learned about the differences between versions of software such as PHP, which had monumental changes from PHP4 to PHP5. Most importantly, I learned proper software development in a university course. Looking back, every mistake I made during the design of the old CMS I have learned from, and I’m willing to make a mistake if it means that I learn from it.

Another big change I’m making is that I am going Open Source: letting anyone take a look at the source code. I’m sticking with a Creative Commons license, which allows anyone to take the code, modify it, and redistribute it for free, providing they give me credit for the original work. I think it’s the right choice to make, sticking with the hacker mentality and whatnot. With a goal of distributing knowledge and information to the masses, I think the open source route is a logical step to achieving that.

I started off the development of the new CMS quite differently than before; rather than jumping straight into the coding, I started off old-school: with a pen and paper. Design before development helped ensure everything stayed organized this time. Developing class-by-class, piece by piece allowed for logical places to start and stop work.

The part about this CMS that I am most proud of, however, is that security is added and implemented standard – not as an afterthought. Being interested in security, this seemed like a no-brainer, but it seemed to be either non-existant, poorly implemented, or at the expense of efficiency in other systems available. By considering both security and efficiency at the same time, I hope to develop a system that maintains both equally.

I always like to see people become involved in my projects. If someone is interested in helping with the development, let me know, and maybe something can be arranged.

Ohloh Page:

Project Trac Page: