Beware The Bad Crimping Job

After reorganizing my server room, I was getting really poor connectivity. Connections were dropping, dealing with 500+ms pings, etc.  Thought it might’ve been too many data cables running together (HDMI and data were running together, maybe interference between the two?). That being said, they’re all twisted-pair, which is supposed to deal with that. Determined very quickly that the cable density wasn’t the issue.

Turns out the culprit was a bad crimping job on the cable line.
The cable in question:
2013-09-29 10.23.44
Pulled the end off with two fingers:

2013-09-29 10.24.15

You can’t see it in there, but the connection between the shield and the connector was only about 1/5 connected. Replaced the bad section, and problem solved!

My Commitment To The Web Design World :: A One-Month Challenge

After reading an article on Smashing Magazine (link to the article is here) that talked about the state of the web design world right now and where it’s progressed, it really got me thinking. The article mentions that the number of experts in the field has not grown proportionately to the number of developers, but the number of inexperienced people giving advice (often wrong!) has grown exponentially. There isn’t the discussion there used to be, and the sharing of knowledge seems to be lacking.

Thus, I have issued myself a one-month challenge:

The Challenge

Contribute to the web design world at least once per day for a whole month.

The Rules:

  • I need to perform 30 contributions over 30 days, not necessarily 1 per day (I have a life, or at least I like to think that I do)
  • Contributions can be:
    • writing articles on my blog
    • offering small tidbits of code that I believe would be of some use to others
    • provide meaningful comments on web design articles
    • tweeting about other well-written things that better the community
    • answer questions on sites such as StackOverflow, Quora, etc
    • review of a number of similar products

It Starts Today

My contribution today comes in the form of this blog post, and is a request from every web designer out there who reads this.

If you read the article and agree with what it says, take up your own 30-day challenge. Tweet this blog post, write about it in your blog and link me for a pingback, write me a comment, do whatever you can to get the word out. The evolution of the world’s web design community begins with every single regular developer striving to offer something to the rest of the community. I hope this blog and the above article will inspire even one or two people to do the same as I am.

Build A Home Theatre PC for $317

Although I’ve been planning on it for a while, I’ve been putting off the purchase of a home theatre PC for my house. I’ve been storing all of my media on a server running in my basement, but I didn’t have any way of playing that media on the TV in my living room. An HTPC seemed like the logical answer.

The only issue I had was that I was on a budget. I wanted to have this system powerful enough to handle 1080p video with no trouble, load up quickly, play anything that I can throw at it, and still be affordable. After watching some sales and pricing out the components, I managed to build a fully-functional system for only $317.

The HTPC case.

Here’s the component list for what I ordered:

  • AMD Athlon II X2 250 3.0Ghz 65W processor – $62.99
  • Foxconn A74ML-K AM3 Micro-ATX Motherboard – $46.99
  • Rosewill WMC Remote – $24.99
  • Sapphire ATI Radeon HD 4350 low-profile video card – $45.99
  • hec Black Media Center case w/ 300W power supply – $59.99

A few notes about this:

  • I already had a hard drive, so I didn’t have to buy one. I saw some for $36 recently that would do just fine for this.
  • I had bought the wrong RAM (I bought DDR2 when I needed DDR3), but I had a friend who did the same thing but bought DDR3 when he needed DDR2. We traded RAM and I gave him $20 and we called it even.
  • Operating System not included. I found that ATI’s proprietary Linux drivers don’t cut it for 1080p video and the sound output didn’t work with the TV in my living room, so you might want to find a Windows licence.
  • I had an existing HDMI cable and a TV that supported HDMI output. You will either need both or will have to figure out another way of getting your video and sound on your TV.

My first build used Ubuntu 10.10 for the operating system, but I found that 1080p video just wouldn’t play smoothly. It looks like ATI just hasn’t put the spit polish on the Linux drivers. When I tried a full 1080p video it dropped several frames per second and maxed-out the graphics processor. So, I decided to go with a Windows build. I happened to have a spare licence of Windows 7 Professional, so I used that as my base operating system, and I’m really happy with it.

The media centre I’m using is XBMC Media Centre, which was originally designed to work on the classic Xbox (fun fact: I soft-modded a friend’s Xbox to run it; it works great until you throw something high-def at it), but now runs on Windows, Linux, Mac, or Apple TV for XBMC. If you’re looking for a home theatre frontend, I highly recommend this. It’s seriously one of the best pieces of software I’ve used, and it has support for a MySQL media database, which is great for me because I have multiple frontends that share content. After an install and a quick configuration change, it worked out of the box after I gave it my server login credentials.

The remote took a bit to get going. I found a guide online to disable Windows Media Center from loading when I hit the Windows logo on the remote, and set it up to open XBMC instead. Also, rather than booting into a Windows environment first, I configured Windows to load XBMC as its graphical frontend rather than explorer. This means that there’s no menu bar at the bottom, no applications running in the background to slow down processing power, and it’s much harder for people to use the computer for other purposes. After I got the remote working, I packed up the keyboard and mouse; I have no use for them anymore, as it should be with an HTPC.

All in all, I love this new thing. It runs so quiet I can barely hear it, uses little-to-no power, and will play absolutely anything that I have. It’s more expensive than those pre-built ones that Western Digital makes, but is customizable, can be used for other purposes such as surfing the internet, and has a compatibility list that can be summarized by “it can play it”. If you like your digital media and want to play it on a TV, build one of these; you won’t regret it.

Replacing The Junker

Some of you may remember the first car that I owned: a 1994 Plymouth Acclaim. The behemoth handled like a Plymouth van (which handles like a boat) and guzzled gas like it was a Slurpee. The only thing good about that car was that it got me around and it had a pretty awesome custom sound system in it.

This past summer, with my co-op job bringing in some serious cash, I decided to buy a ‘new’ car: a 2006 Ford Focus ZX5 SES, to be more specific. My stipulations when picking a new car was that it had to be a manual transmission, sporty looking, fun to drive, a good track record for repairs, and relatively easy on gas; the Focus met all of those, and came at a great price as well.

With me being the audiophile that I am, my first thought was that I would be replacing the sound system pretty soon. When the car salesman heard this, he thought I was nuts. He kept on going on about how the sound system was “pretty darn good for a stock system”. I’m tempted to take my car back now for him to see. I lasted maybe two weeks before the sound system was ripped from my old car and put into the new car, with a few improvements along the way.

The gear going into the car

Here’s a quick rundown of the sound gear that got put into the car:

  • 1 800W Sony 2-channel amplifier (for back speakers)
  • 1 1300W Sony Class D amplifier (for subwoofer)
  • 1 Farad capacitor (helps battery deliver current quickly)
  • JVC single-DIN head unit w/ iPod cable
  • 2 Alpine Type-S 6″x9″ speakers (for custom privacy screen)
  • 4 Soundstream 5.25″ speakers (door replacements, not pictured)
  • 2 4ga-8ga distribution blocks (distributes power lines)
  • 4ga Power line from battery to distribution blocks
  • 8ga power line from distribution blocks to amplifiers

The first thing to do was to rip out the stock head unit and replace it with my custom one. This was probably the easiest part of the job, as it involved only a bit of soldering, and the entire front panel popped right out. The DIN converter plate has a nice little storage pocket underneath for the iPod hookup.

The next step was to run a power line from the battery to the trunk to power the amplifiers, as well as the remote and audio lines from the head unit to the trunk. I decided to run them on separate sides of the car this time: power on the left, data on the right. I also opted for a higher-gauge cable: 4ga (1/4″ thick) instead of my old 8ga (1/8″ thick). 4ga wire should be able to take a couple thousand watts without much trouble. I took pictures of the carpeting ripped up, but unfortunately they did not turn out well.

Now the door speakers needed to be replaced. There were two tricky things about this. First, the door panels needed to be removed (picture on left). Secondly, the stock speakers were 5″x7″ speakers, and the hole would not support the 5.25″ speakers I wanted in there. The solution was to build custom mounting brackets to support the speakers in the hole. All I had to do was trace the old speakers and drill a few holes. Problem solved!

Now for the part I think I’m most proud of: the subwoofer cabinet. My old cabinet was a ported box that takes up at least a third of a trunk. Don’t get me wrong: it sounds amazing. My main goal however was to have a functional trunk when I was done with my custom build, and my old cabinet simply did not accomplish this. Time to build a new one. Inspired by the Focus SVT model which comes with it’s own subwoofer, I built mine into the opposite side of the car trunk, and designed it to be as small as possible while still being around the ideal volume for my subwoofer (about 0.95 cubic feet). The end result, after carpeted and equipped with the sub, amplifier, distribution blocks, and capacitor, is something I’m very proud of. Had you seen it prior to it being carpeted, most people would have thought it was professionally built.

I’m glad to say that this is now fully installed and sounding beautifully. I got a great deal on that 1300W amplifier, and it really packs a punch; seriously, if you don’t believe me, ask Tyler S for those of you that know him (he can attest to how his hair started vibrating at about 3/5ths volume). More importantly, however, is that it sounds clean, clear, and balanced, and it most certainly does.

I have also done some other work on my car, but unfortunately I do not have photos of it…yet! So, you will have to stay tuned for part 2, when I will have photos of the custom-built privacy screen (that part in hatchbacks that covers the trunk space), the custom shift and e-brake boots (I pulled out the sewing machine for them!), and the custom lighting mods, which look amazing. If you don’t believe me, below are a few teaser shots of my trunk with the subwoofer cabinet installed and the trunk lighting on. Talk to you all later!

Fix Your Facebook Privacy Settings

Earlier this week, Facebook rolled out a new privacy policy which allows outside applications to view information stored on you, including your likes, connections, education, current city, and more. Needless to say, there’s a big issue with privacy here. While you want your friends to be able to see this information, you want to avoid giving it to 3rd parties as much as possible. Here’s some key tips to locking down your profile from those automated prying eyes.

1. Remove Instant Personalization [link]

Instant personalization gives your information to 3rd party websites such as, Pandora, and Yelp. Uncheck this box to prevent these sites from accessing your information.

2. Remove Unused (and sketchy) Applications [link]

Chances are you’ve added some application at some point, and although you deleted it off your profile, it probably still has access to your profile. Remove any unwanted applications by going to the link above and deleting those apps which shouldn’t be there. You might be surprised how many pages can see your information!

3. Remove Your Public Profile [link]

Data mining will largely rely on your public profile as a starting point for gathering your information. Remove that ability by going to the link above. Change your Facebook Search Results to Friends and Networks, and then Uncheck the option to have a public profile.

4. Lock Down Your Contact Information [link]

On this page, you can find all of the contact methods that are available to you. Unless you really want anybody to contact you, it is best to set almost all of these to “Friends” and nothing else. The only exceptions are the option to add you as a friend, and to send you messages. Both are worthwhile to leave open to everybody unless you happen to get spam from them.

5. Lock Down Your Profile Information [link]

Finally, there’s your actual profile information that should be locked down. Setting all of these to “Only Friends” is the best course of action.

If you haven’t done so, lock down your information soon. I can guarantee that the automated data mining services are working full-tilt in case Facebook reverts its privacy settings. It’s time to take control of your profile settings.

Backup and View Your iPhone SMS Messages For Free

Update: this does not work for iOS 4 and up, due to iTunes encrypting the backed up files. There is an easy fix for all of those with jailbroken devices, however. Stay tuned for that update!

Lately I wanted to backup some of my text messages from my iPhone 3GS onto my desktop, but couldn’t figure out how to do that. After some quick research and some poking around, I was able to figure out how to view them quickly and easily.


I am not responsible if you screw something up on your computer. It’s not my problem if something breaks. Do this at your own risk (which should be pretty low, unless you’re one of those people that shouldn’t be allowed near a computer).

What you’ll need

Let’s Get Started

In a nutshell, the SMS system on the iPhone is just a carefully hidden SQLite database. All we have to do is find the file and open it up in the SQLite Browser.

  1. First, we need to locate the file that contains the SMS messages, which will be either:
    • 3d0d7e5fb2ce288813306e4d4636395e047a3d28.mdbackup
    • 3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata

    This will be in one of the following locations:

    • Windows Vista/7: C:\Users\[Your User Name]\AppData\Roaming\Apple Computer\MobileSync\Backup\[iPhone ID]\
    • Windows XP or lower: C:\Documents and Settings\[Your User Name\Application Data\Roaming\Apple Computer\MobileSync\Backup\[iPhone ID]\
    • Mac OS X: User > Library > Application Support > MobileSync > Backup >[iPhone ID]
  2. Copy this file to a new location to protect the file in case you accidentally screw something up (your Desktop, for example).
  3. Open up the new copy of the file in SQlite Browser, then select the “Browse Data” tab. Finally, select the “message” table from the “Table:” dropdown box

And that’s all it takes! From here, you can export this as a CSV via File -> Export -> Table as CSV so you can import it into Excel, or manipulate it however else you wish. If I get the time, I’m going to write a quick tool to nicely export the messages to PDF so that they look good instead of being in a table. But, it’s a nice fix for wanting to go through them on a computer, or do fulltext searches with the content.

Switching To DVORAK

Recently I made the decision that I would try to switch keyboard styles. Almost everybody I know uses the standard QWERTY-style keyboards because they are so common, but because I use a keyboard so much, I want to protect my fingers.

A bit of background knowledge before I go any further: the most common style of computer keyboard is the QWERTY keyboard, named such because of the first six letters in the top row of the keyboard. It was initially designed during the typewriter days not to improve typing efficiency, but to prevent the keys from jamming up. DVORAK, on the other hand, was designed with computer keyboards in mind, focusing on efficiency and ergonomics. As a result, those who are comfortable with DVORAK typically type faster and cause themselves less repetitive stress injuries.

Now, I think that those are both two very good reasons to make the switch to this different style. There is, though, the obvious drawback of having to learn a new keyboard layout. Thankfully, I don’t need to buy anything to get started; any newer operating system has the ability to remap a keyboard to a new layout. The problem with this is that the writing on the keyboard doesn’t match what I want to type, so I can’t look at the keys to help me learn.

So the goal at this point is to work on my typing speed and hopefully get it to a speed that is reasonable. On a regular QWERTY keyboard, I can type at about 75 wpm (words per minute), but on a DVORAK keyboard I’m at a lowly 20 wpm. In order to help improve my speed, I’ve decided that I will type all of my blog posts on my DVORAK layout. After all, they say practice makes perfect, and if I plan to keep up with my blog posts on a regular basis, I should get better pretty quickly.

So, if anyone else out there is on their computer a lot, I challenge you to try out DVORAK some time and give it an honest shot at becoming comfortable at it. It’s certainly a challenge to pick up, but would be beneficial to preserving the life of your fingers, and when you’re in the Computer Science industry like myself, it’s game over if I can’t use my fingers. So to make things a little easier, instructions are below to enable the DVORAK layout on both Linux (Gnome) and Windows:

Linux (Gnome): System –> Preferences –> Keyboard, then go to the Layouts tab.

Windows XP: Add the Language toolbar by right-clicking on the bottom bar, then go into the Settings section under there to add a keyboard.

I’m Back

Well, it’s been a while since I’ve posted; about three weeks, actually. To the one or two readers I have, my apologies that you don’t have something to waste your time on twice per week. I’m getting back into the writing mood, so I should be building up a buffer of things to write in the near future.

A lot has happened since I last talked about the IPAM presentation that I took part in. To start with the related topic, I was approached to do the presentation again, this time internally to other departments. Thus, the other co-op student and I set about cleaning up the presentation a bit, fixing some errors, and making it flow smoother. It went much better the second time, thankfully, both from a public speaking perspective and a demonstration perspective. As fun as it was to work on that, I’m glad it’s over and done with right now.

Speaking of work, the number of days that I have left at IPC are dwindling quickly as the new year approaches. I work until December 31st, at which point I’m back in class. It’s been a fun past couple of months, and the paychecks have been very nice, but I’m also looking forward to getting back on campus to get some more studying done. I’ve decided that I won’t get a job during the winter semester so I can concentrate on my studying; I’ll have more than enough money to get through four months, and then I’ll be working in the summer again.

After that presentation was done with at work, I found that I had a fair amount of spare time, as there weren’t too many tasks to work on. I spent that time learning Ruby on Rails, and putting that knowledge towards the new UMSwing site. Although on the outside it will look almost the same as before, this new site will have an extensive backend that will make UMSwing virtually paperless. Although you may not think we use that much paper, think again; I have a full 3″ 3-ring binder in our office that says otherwise. All of our memberships, attendance, and transactions will be tracked on the web application, thus eliminating the need for those pieces of paper to be printed in the first place. Anyways, I’ve been working very hard on the site, and it’s almost ready to be tested by some other people. So, if you’re interested in testing some software for an eco-friendly cause, let me know in the comments section and I’ll keep you informed.

That’s a quick update on what’s happened in the past few weeks at work. I have a few more updates to spew out in the coming days, one of them involving my server upgrade (*cough* RAID *cough*), and some involving some extra-curricular activities (including some new photos to go up soon).

Ubuntu’s Koala Has Good Karma

It’s not like me to gush over operating systems. Particularly looking at what we’ve dealt with in the past. If we’re lucky, we got stability in an OS, but usually at the expense of it looking terrible. This year seems to have caused things to change, however. With the release of the Windows 7 RC, Microsoft has restored a good amount of the faith that it lost after churning out the load of crap that it called Vista.

The open source community is never far behind, and Canonical’s Ubuntu 9.10 operating system is a work of art. Seriously. I would frame it and mount it on my wall if I could. Unfortunately I can’t, so all I can do is gush about it and tell people about all of it’s amazing features. Non-techies: just smile-and-nod your way through this post :).

Ubuntu One

Cloud computing is all the rage these days, and Ubuntu has jumped on the bandwagon by presenting One, a personal cloud for the synchronization of files across multiple Ubuntu computers. Set up your account, get your 2 gigs of free space, move files into the Ubuntu One folder, and let them sync. Easy as pie.

ext4 Filesystem

Following in Fedora’s footsteps, Ubuntu has set ext4 as 9.10’s default filesystem. Although you won’t make the switch if you upgrade, fresh installs will feel the warm glow of ext4 during their install.

Uncomplicated Firewall

One of my main complaints with Ubuntu’s previous setups is that it fails to include a firewall by default, and that has been remedied in 9.10, with the introduction of ufw, the uncomplicated firewall. No more sifting through the iptables’s man pages to figure out how to add a simple allow rule; ufw makes firewall management easy.

Faster Load Times with Upstart

Another popular trend recently has been the goal of reducing boot times as much as possible. Fedora Project made waves as they aimed for a 20 second boot time from BIOS to login page. Although they were a little short of their goal, they made some important headway, showing that not every single scrap needs to be loaded and cached on boot. Ubuntu has carried this forward and has made a similar goal. Although they don’t mention any specific time-related goals, they made the switch to Upstart, which makes the loading page look smooth and cuts the boot time significantly.

Overall, I’m really happy with the progress Ubuntu has made. Although a lot of previous versions have fallen a bit behind on the times in exchange for having a stable system, they are catching up with the times and even pushing the envelope with new ideas. If you were looking for a reason to switch to Linux, put this one at the top of your list. If you’re not convinced, download the LiveCD and try it out without installing (although your performance will suffer since it’s loading from a CD…duh…).

Thanks for giving this a read, everyone. If you like what you see, or have any suggestions for further writings, drop me a line in the comments section below and give me a vote on Reddit or Digg. I read each and every one of your comments: I promise :)

iPhone 3.1 Firmware Issues?

Hey all, this post will be a shorter one. Not too much to talk about today, but I do have a bit of an insight into the new Apple iPhone firmware update.

After having my iPhone for the past month or so, I’ve found very few problems with it. In fact, I’ve never had a problem  yet.

Well, that’s not completely true. I’ve never had a problem until earlier this week, when the new firmware was released. After about 24 hours of running my phone, I noticed two significant changes. First of all, my battery life was dropping faster than a kid coming off of a caffeine high. Secondly, my phone took a whole 3 seconds (yes, three – I counted) to respond to the “slide to unlock” bar. Those were two things that I was not willing to put up with.

After doing some reading up on the subject, I noticed that I wasn’t alone. Some people blamed the firmware, while others blamed the users. I blame both; clearly the issue wasn’t universal. A hard reset (ie. not using the “slide to power off” slider) seemed to be a temporary fix, but I wanted something more permanent. It seemed the only way to fix this was to do a DFU factory restore. The only catch is that when your phone restarts, you have to create a new phone profile, and NOT restore an existing backup.

The process was relatively painless. I only lost a few photos and my text messages (I’d love to have a way of backing up text messages!), but aside from that I got all of my old data back after loading it on again.  The reset seems to have done the trick; here’s hoping it stays that way.