Angela Working Out Legs

Angela and I did a legs workout on Saturday and took some excellent video of Angela’s squats. They look better now than ever before and I just wanted to show off a little bit:

Goal Progress – Q1 2012

I’m quite goal conscious and have become more so in the last couple of years. I think that writing down and thinking about measurable, concrete goals is the way to a happy life. Writing them down and having measurable targets makes sure that you know what is required to get to where you want to be and you’ll know when you reach that point.

I have some pretty ambitious goals for 2012 and, as we’re 1/4 of the way through the year already, I thought it’d be a great time to think about where I’m at in relation to where I want to be. I’m not going to go in-depth for every goal, but I do want to hit the highlights.

Fitness

I divided my fitness goals into two categories: speed/strength/power and endurance. I’m doing OK on both at this point, but have suffered some injuries in the last two months that have been a little bit of a setback. I’m confident that I’ll reach the following goals this year:

  • Squat 405 Pounds for 12 Reps
  • Deadlift 405 Pounds for 12 Reps
  • Bench 275 Pounds for 12 Reps

You’ll notice those goals are all endurance related. I took some time off from going heavy with weights to practice going for higher reps and it has been going pretty well. That’s why I think I’ll hit the above goals for sure.

The following goals are a little iffy, and I’ll explain why after the list

  • Squat 545 Pounds for 1 Rep
  • Deadlift 575 Pounds for 1 Rep
  • Bench 405 Pounds for 1 Rep
  • Run 1 Mile in 5:30
  • Run 3 Miles Contiguously in Less Than 20:00

First, I haven’t been running as much as I should be. Quite frankly, I think that running is boring (outside or inside) and just do not like it at all for some reason. I’d much rather do plyometrics or iron cardio style workouts and that is holding me back.

Second, I’m starting to get afraid of going very heavy with my weights. After suffering a strained or torn shoulder tendon and some knee issues so far this year, I really need to give my body a break from the heavy weight to heal up a bit. I plan on doing that over the next few months and then trying to train heavy again. At that point, it may be too late to actually hit my strength goals in 2012, but that’s OK.

Career

My career goals are proceeding along just as planned and I’m on track to hit all of them. For review:

  • Gross $180,000 in Revenue – I’m on track to make over $200,000 this year based on average daily income extrapolated out
  • Keep Contractor Expenses Under $12,000 – This does not look like it’ll be a problem based on the fact that I’ve only paid out $2,500 this year and we’re already 1/4 of the way through it
  • Increase Effective Hourly Rate to $250 / hr – This seems to be the least likely to happen as I’ve had some projects that ran over by a lot but it is still hovering up around $180 / hr
  • Reduce Business Maintenance Expense to Less Than $100 / month – I believe I’ll hit this as I’m hovering around $100 / month and have a few places I think I’ll cut in the next few months
  • Go to a Professional Conference – I’m heading to Future Insights Live here in Las Vegas in about 4 weeks, so that will cover this one
  • Release Another Product for Sale – I completed this one earlier this year by releasing Viral Downloader with Chris Guthrie. It wasn’t a raving success, but it was a good experience and just about paid me back for the time I spent on it.

I’m pretty excited about the progress I’ve made here and a lot of that is due to better organization and heartier work patterns. I don’t see anything going wrong here, hopefully.

Personal

I’m not doing so great on my personal goals. That doesn’t mean that my personal life is bad or anything, I’ve just been shifting my energy in different directions and may need to rethink some of these things based on the fact the weather here is ridiculously nice and most of my personal goals involved staying inside (something I’m not sure I want to do that much as long as I’m living in Las Vegas).

The goals I’m closest to are write 200 articles on a personal website and get picture in Muscle & Fitness. This website is something I enjoy writing on and I’m trying to stay consistent (that’s why I’m writing this post!) and Muscle & Fitness recently introduced a section where you can send in your picture and they’ll feature you. Based on the last two months, I think I should be able to score a picture in that section in the coming months.

Review

Overall, I’m happy with the way I’m going this year. Angela and I are really happy and enjoying our lives here in our (still new) city. I may not hit every goal that I set at the beginning of the year, but they’re helping me experience life and become a better person.

My Dual OS Development Setup

In a previous post, I talked a lot about the hardware that runs my development PC. Getting that all set up and going was only half the battle, though. In this post, I’ll be talking about how I configured up my dual OS development environment to take advantage of the strengths of my hardware. There’s a lot to cover, so this is going to be an epic and totally geeky post. If that’s your thing, great!

OS Choice and Setup

As discussed in the hardware synopsis, I purchased four hard drives. Three of the hard drives were intended as OS and application drives and the fourth for backups and shared storage. The first thing I had to do upon assembly was install my operating systems. The following are what I went with:

  • Windows 7 Ultimate
  • Windows 8 Consumer Preview
  • Ubuntu Linux 11.10

I installed Windows 7 first because that is the OS that I’m most familiar with. I won’t bore you with the details of the setup and update process, but it went smoothly and all my hardware was recognized immediately.

Next, I installed Ubuntu on the second SSD. This went fairly smoothly, but I did hit two snags:

  1. Ubuntu didn’t want to install until I modified the installation directive with nomodeset and acpi=off – I’m still not sure why I had to do that
  2. Getting all three of my monitors to work was a pain in the butt – I had to download and install NVidia’s proprietary drivers and then fiddle with the settings for three days until they would work the way I wanted them to

Eventually I got everything running the way I wanted in Ubuntu (although there is still some weirdness with dragging things across the desktop) and moved on to setting up Windows 8. Again, that was a breeze and everything was recognized immediately. I installed Windows 8 because I love the Metro desktop paradigm and want to develop apps for the platform.

Hard Drive Partitioning

After getting all the OSes I wanted to use setup appropriately, it was time to partition the bigger magnetic drive into the pieces I wanted. There were several things to consider:

  • I wanted to make sure both Windows and Ubuntu could read and write to all shared partitions
  • I wanted to make sure I used a sizable portion of the shared hard drive for backups
  • I wanted to make sure that I could share development and virtual host assets between OSes so I could work on projects from either platform

Making sure that both Windows and Ubuntu could operate on all the partitions meant they had to be formatted as NTFS or FAT. Because FAT limits file sizes to 2 GB, I went with NTFS. Windows uses NTFS natively and it is easy enough to mount NTFS partitions in Linux when you need to, so it is really the only route you can go.

The following image shows what the hard drive partitions look like in Windows Explorer:

Each is labeled so you can probably tell what they’re each used for, but I’ll explain a bit more anyways:

Backup
Holds Windows 7/8 and Ubuntu backups
Windows 7
Holds the Windows 7 installation and all installed programs
Windows 8
Holds the Windows 8 installation and all installed programs
Sites
Holds all the active website projects I’m working on (archived ones, too, as they don’t take up that much room)
MySQL
Holds all the database files pertaining to MySQL – in Ubuntu and Windows 7 I changed the data directory for the installed MySQL service to point at where this drive is mounted (drive letter or path)
Other
This holds miscellaneous other stuff that I want to share between Windows and Ubuntu

The only drive / partition that isn’t shown in that image is the one for Ubuntu. It is just a standard ext4 formatted drive with 17GB of swap space.

This partitioning strategy has held me in good stead so far. I wish I could share Apache virtual host configuration files between Windows and Ubuntu, but that just seemed like it was going to cause way more problems then it would solve.

Installed Applications

I tend to not install a bunch of things on my computer. I install the tools I’m going to use and that’s pretty much it. Here’s what I’ve got installed:

Windows

  • Microsoft Office – bookkeeping, long-form documentation, etc.
  • Adobe Creative Suite 5.5 – reading and writing Photoshop files, PDFs, etc.
  • WAMP Server – all in one web server install so I can do minor development on Windows (mostly frontend stuff so I can match Photoshop comps)
  • Sublime Text 2 – general text editing and development
  • Microsoft Visual Studio – so I can do awesome .NET programming
  • Google Chrome – general web browsing
  • Mozilla Firefox – testing HTML / CSS
  • Skype – communication with the world at large

Ubuntu

  • LAMP Stack – for my day job
  • Sublime Text 2 – general text editing and development
  • Google Chrome – general web browsing
  • Mozilla Firefox – testing HTML / CSS
  • Node JS and Node Package Manager – So I can build awesome things
  • Pidgin – IM chat with my friends and colleagues

So as you can see, I’ve got a very limited selection of things that I actively installed and use on a day to day basis. I’m pretty happy with the setup, though.

Finishing Up

That’s pretty much all there is to say about my setup. It has worked out exceedingly well for me at this point and I can’t really think of any drawbacks. Everything I need to be able to do is easy and accessible and I don’t spend any time fiddling with my setup anymore.

The Hunger Games – Movie Review

Angela and I are both big fans of the Hunger Games series of books by Suzanne Collins, so when we heard they were making a movie we were really excited. We went to see it last Friday and both enjoyed it, but would recommend the books above the movie any day of the week. This review will go over the parts we enjoyed and the things we didn’t. If you haven’t seen the movies or read the books you should stop right now because I’m going to give everything away.

Casting

Every character looked exactly as Angela and I envisioned them. The only two that we personally didn’t see the way the casting director apparently did were:

  • Haymitch – We envisioned him as a burly bearded dude (like Hagar the Horrible) and instead got a svelte Woody Harrelson
  • President Snow – I (Nick) thought he would look a lot more transparently evil, but Donald Sutherland played the part as a type of low-key evil (which Angela really enjoyed)

Everyone else was pretty much perfect.

Plot / Storytelling

The director followed the books almost to a tee. A major deviation at the end to humanize Cato was present but understandable. Other than that, the only issues we had with the story was the fact that so much was left out. Some major things were:

  • Lack of exposition on relationship between Katniss and Gale
  • Not nearly enough attention was paid to the fact that Peeta actually loves Katniss and Katniss is just using that as a tool
  • In the book, Katniss gorges herself on food before the games because she’s never been so sated before – that is not even peeked at in the movie

Not major deal breakers, but we thought they were things that were missing.

Cinematography

This was the worst part of the movie. During the first few minutes you get the effect of the cameraman walking unsteadily around District 12. That was pretty bad – I felt a bit queasy for that part. After that, you get random out of focus shots at various parts throughout the film – I wasn’t a big fan of the effect and it gave Angela a headache.

It wasn’t enough to kill the movie for us, but neither one of us thought that the film was very well presented in terms of camera and editorial work.

Conclusions

The movie was pretty fantastic. They didn’t mess with the plot too much and the casting was great. They did leave out some parts of the exposition that Angela and I feel would have helped the film along, but they weren’t that important and we can’t fault the director for making the choices they did.

Development Computer – 2012

I work at my desktop PC almost every single day for at least 6 hours. That’s 6 productive hours of doing some type of creative work – writing, programming, graphics editing, etc. My PC is a tool that enables me to get things done and make money. As such, it is very important that it allows me to perform the tasks I need to as quickly and efficiently as possible.

In this post, I’m going to talk a little bit about the tasks my computer has to perform and then go into detail about the hardware that I’ve gathered that makes those things possible. By the end, I hope that you have garnered some tips in case you want to build your own PC and you’ll realize that you can get a ton of bang for your buck if you decide to roll your own machine. If you want to skip straight to the hardware recommendations, be my guest

What Do I Do?

When it came time to upgrade my desktop at the end of 2011, I sat down and thought hard about the types of work, both development and otherwise, that I do with my computer. The following list is what I came up with:

  • Doing income and expense accounting
  • Writing specifications, emails and other documentation for clients
  • Receiving Photoshop files from designers and turning them into working software
  • Developing that software in one of many languages or platforms:
    • PHP, HTML, CSS and JS – This is my primary toolset
    • .NET – I have active development projects here as well
    • Ruby on Rails – I have dabbled in RoR and would like to again
    • Node.js – I would like to learn this this year
  • General web browsing and reading
  • Listening to music via one streaming service or another (currently Rdio)
  • Light gaming of one sort or another

As you can probably see, almost all of those above tasks involve editing text of some sort. In addition, it is likely that I’m doing several of them at once (like editing a stylesheet, looking at the result in a browser, and checking into a source control system.) I also knew ahead of time that I absolutely hate waiting for my computer to do stuff.

What Did I Want?

This was the hard part for me. I’m very reticent to make a large expenditure, but when I do I tend to go all in. That means getting the best stuff I can afford (that’s not wasteful) and going from there. Because business has been so good to me lately, I knew I could afford to splurge a little bit. I came up with the following wants list and I think I nailed all of them:

Ability to use multiple hard drives
Software based dual boot is a pain in the ass and I really wanted to work with both Linux and Windows
Roomy computer case
I need somewhere to put all my components and I want it to be easy to organize
Triple monitor setup
Two monitors were great for two years, but I wanted to up the ante
Super fast HDD read/write speeds
I’d heard wonders about the speed of bootup with fast drives and I wanted to experience it myself
Ridiculous amounts of RAM
In my opinion, you can never have too much RAM, especially now that it is so cheap
High powered graphics cards
When I do occasionally game, I like to do it in style

There are some things that I specifically didn’t care about that much:

Super fast processor
Very few things are CPU bound anymore and I can make do with a middle of the line CPU
Tons of storage space
I don’t store media collections on my development rig (or at all really), as I just stream all my music and our living room PC holds our movies

Once I knew what I wanted, it was time to go searching for components. Finding the correct pieces is the most important part of building your own PC, as once you find the things you want it is fairly easy to snap them all together to make them work.

My Hardware

I took my time with my hardware decisions, poring over the reviews on NewEgg to determine the best pieces and feel really good about the rig I ended up with. I know for a fact that not everyone would be well suited to the set of hardware I ended up with, but this is about what I built, not concrete recommendations for anyone else.

Computer Case

If you’re going to build a PC you should take your time when picking your case. You’re going to have it a long time (I actually upgraded in the same case I’ve had for a few years) and you want it to fulfill several different objectives, roughly in the following order:

  1. Holds everything you need it to, most importantly your chosen motherboard
  2. Has good ventilation so your expensive computer components don’t overheat
  3. Is easy to open and shut so you can clean it out
  4. Looks nice – this is subjective, of course, but I think it is important

The Antec 900 Computer Case has amazing airflow and is very roomy.

The case I am currently using, and have had for about 3.5 years now, is the Antec 900. I seriously love this case. It fits all of the criteria I laid out above and is really sturdy. It has easily survived one cross-town and one cross-country move. The fans haven’t even stuttered and it is really nice to look at (especially if you arrange your cables nicely).

The only drawbacks I can think of with this case are:

  • The fans can be kind of loud if you have them cranked up (which I like to do) because they’re so big
  • The power supply cables get kind of hard to manage because there doesn’t seem to be a well-defined place to put the extra ones
  • The case gets dusty fast because of the huge fan openings

Those things are easily remedied with music (masks noise), cable ties (arranges power leads) and compressed air (cleans the thing out). I would easily recommend this case to anyone.

Power Supply

If you’re going to be running a high end rig, you’re going to want a high end power supply to power it. The good thing about building your own PC is that you can usually get a pretty good bundle deal on the power supply from NewEgg if you’re buying a case at the same time.

Because I knew I was going to be running multiple graphics cards, a modern processor, a bunch of RAM and multiple hard drives, I decided to go with a pretty beefy power supply from Corsair. Quite honestly, it might be a bit of overkill but I just wanted to be safe given the cash I was laying out for everything else.

It seems like the specific product I purchased has been deactivated, but there are plenty of other options you can look at. If you’re looking for a similar piece of hardware, you might take a look at this power supply which has similar stats and outstanding ratings.

Motherboard

I can’t lie about this one – I went almost completely off of recommendations from reviews for my motherboard. I knew up front that I had a few requirements for the motherboard:

  • Supported the latest line of Intel processors
  • Had SATA III ports for my speedy hard drives

The one that was recommended in almost every review I read was the MSI P67A-GD53. I have not been disappointed with this bad boy. The ports are well positioned on the board itself and it was quite sturdy coming out of the box. The only thing that isn’t so great was the positioning of the front panel connector pins once I got the board in my case – they are on the opposite side of the case from the front panel so I kind of have to snake them through everything else.

There’s a couple of other cool things about the board. First, the BIOS is easy to use and intuitive. Second, the board has two PCI Express 2.0 x16 slots and they’re spaced far enough apart to make insertion of two video cards pretty easy. Finally, there is a neat little button called OC Genie that you press before booting up and it automatically overclocks your processor for you.

Overall, I’d wholly recommend this board unless you really need more than the 2 SATA III ports. In that case you might be better served by going with something a bit higher end.

Processor

As stated earlier, I wasn’t going to go balls to the wall with the processor. I knew I wanted to go Intel and I knew I wanted something fairly recent. Given those requirements I decided to go with the Intel Core i5-2500k 3.3GHz processor. It performs wonderfully for me, will last for another 3-4 years at least and I have yet to peg any of the processor cores, even when running Battlefield 3 at ridiculously crazy settings on a 64 person server. I don’t really have anything more to say about this one other than you probably don’t need anything more powerful than what I got (and to be completely honest, you might be fine going with an i3 instead of an i5 if you wanted to save some cash).

RAM

I love me some RAM. It makes your computer run faster and makes everything snappier. The more RAM you have, the faster your most used programs will load and the happier you’ll be.

For my particular use case, large amounts of RAM mean I don’t have to wait forever when I want to search and replace across a particularly large file open in a text editor (like Sublime Text 2).

The motherboard I picked has 4 DIMM slots so I picked up 4 sticks of 4GB DDR3 1600 RAM. When I was purchasing my components the 8GB sticks were just too damn expensive, but they’re on sale right now and I would have bought them at the price they’re at as of this writing.

Graphics Cards

I’m an NVIDIA guy and probably always will be. Their products have always just worked for me. Also, the cards are just pleasant to look at for the most part.

As stated earlier, I knew I wanted to run 3 monitors. Since NVidia cards only have two simultaneous outputs at any point in time that means I needed two cards. I debated long and hard about getting the top of the line card at the time (the GeForce GTX 580), but I just couldn’t justify the cost. I went with the middle of the line GeForce GTX 560Ti with 1GB of memory. I saved some money on the final build cost and got everything I want from the cards. They perform flawlessly, let me run my three monitors and they glow really nice in my case.

Right now the particular cards that I purchased have been discontinued and NVidia is gearing up to release their 600 series. The GeForce GTX 680 is said to have three output ports that work simultaneously, so if I was doing the build again that is probably the way I would go. If you still want to run multiple cards in SLI for some reason, a very similar card to the one I purchased (almost exactly identical, I believe) can be found here. Purchasing two of those will certainly be cheaper than 1 GTX 680, especially right now.

Monitors

I upgraded from 2 to 3 monitors during this build and, luckily for me, they’re still selling the model that I previously purchased 2 of. It is the ASUS VH242H. I love this monitor. It is big, vibrant, easily configurable and the resolution is just right for someone who works in front of his computer all day every single day.

I have had two of these monitors for 3.5 years now and haven’t had a single dead pixel even though they’ve been transported all over the place. If you’re a print designer you might be better suited to going with a monitor with a guaranteed color profile or something like that, but for a programmer these monitors are awesome. Tons of real estate and relatively cheap given everything you get.

There are two drawbacks to consider. First, the monitor stands they come with don’t adjust up or down. Second, they don’t really tilt very easily back and forth. If you don’t have a desk that you can roll your chair up to and adjust so your eyes are in the right place, these might not be the ones for you.

As a side note, I was really tempted to get a touch monitor to play around with, but I just couldn’t stomach the fact that I’d have a non-matching display sitting next to my three identical ones. Apparently I am super anal retentive like that.

Storage

Here’s where things got really interesting with this build and, I have to admit, I am extremely happy with how things worked out. I couldn’t have wished for anything better.

If you read my original list of requirements, you’ll know that one of the things I wanted to be able to do was quickly and easily switch back and forth between using Linux (for most development and general use) and Windows (for .NET development, productivity software, photoshop pixel pushing / matching and gaming). If you’ve ever tried to do a software based dual boot then you’ll know that Windows hates being treated as a second class citizen on a hard drive. That was something I just didn’t want to deal with, quite frankly. My solution, and one I hadn’t seen a ton of validation of around the web, was going to be multiple hard drives.

I figured I’d get 4 hard drives. Three to hold operating systems (Windows 7, Windows 8 and Ubuntu Linux) and one for shared use / backups / etc. I knew the OS drives would be SSDs and the shared use drive would be a larger magnetic drive. I just needed to figure out which drives to buy and a way to use them all in a way that was both easy and fast.

First, I picked out the drives. I bought three Crucial M4 128GB SSDs and also picked up a Seagate 7200 RPM 500GB magnetic drive. Now came the question of getting these things to work the way I wanted them to.

That’s when I found the ICY DOCK 4 x 2.5″ Hard Drive Bay. It is an awesome piece of hardware that lets you hook up four hard drives via SATA III connections and pop them in and out at will. I mounted the drives in the bays and plugged everything together and it just worked.

I’ll be writing more in the future about how my hard drives are partitioned, labeled and mounted/used (in terms of OS interaction, that is), exactly, but for now let me just say that Ubuntu recognizes and can write to NTFS formatted drives and both Windows installs recognize all the hardware they need to. I can seamlessly share MySQL databases and virtual hosts / development files between Linux and Windows on the magnetic drive while keeping each OS separate on its own SSD. To switch from one OS to another I just power down, move the desired drive to the top left slot, and power back up. Because they are all SSDs operating over SATA III that whole process takes less that 15 seconds from clicking shut down to booting into the other OS.

Parting Thoughts and Some Tips

First, building your own development rig isn’t for everybody. If you just want to buy an iMac, that’s awesome, but I would never be happy doing that. I would never be happy buying a stock PC off the shelf, either. I enjoyed putting together my development machine and was able to tailor it to my exact needs at a price lower than any PC builder could have done for me. After picking out all the parts, it took about 2 hours to put everything together and get it working – time well spent in my opinion.

Second, be careful picking out your parts. Make sure everything you get is meant to go together. The reviews on NewEgg are really helpful in deciding what to get and their cross item promotions are actually useful – they’ll often feature pairs you’d want to get together anyways.

Third, my PC is a little bit overboard. I know that, but that’s the way I wanted it to be. My plan is to do an upgrade every three years and I think that is an appropriate amount of time given the current rate of advance of technology. You probably don’t need 3 SSDs in a single computer in some crazy hard drive bay, but that’s what I wanted to help me accomplish my goals in a way that made sense to me, so that’s what I did.

Finally, make sure you’re looking for deals. Sign up for the NewEgg newsletter. It contains crazy coupons and amazing savings if you’re willing to build your computer piecemeal. I saved like $150 off my hard drives because of the newsletter coupons.

If you want any advice on computer components, I’d be happy to help you out. Just let me know!