Thursday, January 26, 2012

Zipping a directory using DotNetZip

I just came across a problem where I needed to zip an entire directory up into a .zip file using C#. I quickly found a way using System.IO.Compression that would allow me to zip a single file up: This was so close, but not quite what I needed. I then found out about DotNetZip and was able to quickly throw together a little test app that did just what I needed: Pretty slick, and best of all DotNetZip is a free library - check it out!

Wednesday, January 11, 2012

FizzBuzz Part II

After my post last night, I noticed that a ton of traffic came in via search engine traffic from folks looking for help with the Codeacademy exercise.

If you are stuck at step one, read their directions again...carefully. In the first step all they want you to do, is return all the numbers from 1-20 using a "for" loop. Nothing more.

So, this will get you started:

This should get you started. Hope this helps!

Tuesday, January 10, 2012


I recently discovered Codeacademy which is a great on-line learning resource for up and coming programmers. The most recent lesson involved solving FizzBuzz.

From the Codeacademy site:

FizzBuzz is a children's game where you count from 1 to 20. Easy, right?
Here's the catch: instead of saying numbers divisible by 3, say "Fizz". And instead of saying numbers divisible by 5, say "Buzz". For words divisible by both 3 and 5, say "FizzBuzz".
"1, 2, Fizz, 4, Buzz"...and so forth
Sounds easy enough - and yeah, I did find it pretty easy - I passed the course pretty easily (actually, I messed myself up thinking I was stuck by trying to solve the whole puzzle on their first step and they were breaking it up).

Apparently the FizzBuzz problem is a common hiring technique for folks looking to hire programmers, and I found where Jeff Atwood at Coding Horror has blogged about it a couple of times.

The quiz at Codeacademy had you solving it in JavaScript, but I went ahead and solved in Ruby and Python as well.




Wednesday, January 4, 2012

Installing Fedora 16 in VirtualBox with Guest Additions and GNOME Shell

Just wanted to document here for others trying to do the same.
First, create the virtual machine, and make sure to give it at least 64MB of Video Memory, and select Enable 3D Acceleration in the Display section of the VM’s settings.
Then, install Fedora 16 (I used the Live GNOME Media). Second, disable SELINUX by editing the /etc/selinux/config file and setting SELINUX=disabled. Reboot the VM.
Then, drop into a terminal and run sudo yum –y update kernel, once completed, reboot. After reboot go back to a terminal and run sudo yum –y install kernel-devel kernel-headers dkms gcc gcc-c+
After this is completed, you can then select Install Guest Additions from the Devices menu in VirtualBox and run sudo ./ in a terminal at the Install directory.
Finally, reboot the VM again, and you should have fully working Guest Additions, and a fully functional GNOME Shell environment.

Sunday, January 1, 2012

Reflecting on the old year, anticipating the new

Many blogs will have posts similar to this one today, and I started not to write this, but decided “why not?”. Everyone else is boring everyone else with their self-centered view of what they want to achieve over the next year, so I will join the club as well. Read on if you want to know more about me, and what makes me tick. I’ll try to keep it concise and too the point.

Overall 2011 was quite a year for me. Here are some highlights.

  • I continued improving my physical fitness:

  • Started Running:
    • Ran first 5K
    • (First 5K: 33:08 Time; Avg. Pace: 10:40/mi Best 5K: 24:08 Time; Avg. Pace: 8:50/mi)
    • Ran first Half-Marathon
    • (1:50:11 Time; Avg Pace: 8:24/mi)
  • Achieved >50% weight loss
  • Stopped having to take medicine for High Blood Pressure and High Cholesterol
  • Steady improvements in weight lifting
  • I got to travel a bit

  • Visited San Francisco
    • Attended Atlassian Summit 2011, learned lots.
    • Got to attend a SF Giants Game (They have been my favorite team for years, and I never thought I’d get to see them play).
  • Visited Seattle
    • Visited with Coworkers at “The City”, and did some “work stuff” while there.
    • Visited the Space Needle and surrounding area.
    • Drank some coffee.
  • Visited Denver
    • Attended AstriCon (learned lots, met cool people).
    • Experienced quite a snowstorm.
    • Ran with Prairie Dogs on the wonderful trails in Westminster, CO.
    • Saw the Rockies, drove to Boulder.
  • Began learning the art of Software Development

    • Ruby on Rails
    • JavaScript/jQuery
    • CSS/HTML
    • C#
    • Ruby
    • JRuby
    • SQL


What’s coming in 2012?

I don’t know. Nobody does. If I knew, I’d know the winning Powerball numbers for Tusday night, and this list would be quite different. However, since I can’t predict the future, I’ll share some things I’d like to achieve. I don’t set “resolutions”, as they are, in my opinion a recipe for failure. However, I do set goals. I would love to set a goal to run a full marathon. I won’t, not because I don’t think I can physically prepare (I know I could), but I’m not sure I’ll have the time/money resources to travel to one in order to make it happen.

I do want to continue improving my physical fitness. I *really* want to set the lofty goal of single-digit body fat. That is huge to me, but I think that’s more like a resolution, and is setting me up for failure, so I have a goal to simply continue improving physically every day. Improving my running pace, increasing distance, increasing my lifts at the gym and making even better choices at the table.

I want to do more than just continue to learn software development. I want to put the knowledge into practice. I will always be learning the art of software development. Learning should never stop. I love my job, I really do. I love the company I work for very much. However, I do want to transition from my current job as a Server Administrator to become a Software Developer. I do have faith that those I currently work for understand I have developed quite a passion for development, and want to nurture my new desires, and not hold me back (that’s why my company is so freakin’ great), and I know that those who I want to go to work for down the road share the same vision, and are going to be willing to give me a chance to prove I can do it (another reason why my company is so freakin’ great).

I want to continue to make knowledge a revolving door. I love to teach-back new things, and inspire an atmosphere of organic information. I will continue to teach-back and share my new-found knowledge with anyone who will listen, and strive to make any team I am a part of better in any way I can.


Finally, I just want to sincerely wish each and every one of you reading this blog the best, and most meaningful 2012 possible. If you want something badly enough, you can do it – you can make it happen. If you want to lose weight and get yourself more fit, do it – don’t think about it, just get up and move, and eat better. Make it a learning process. Learn as much about exercise science and nutrition as you can. It will be your ammunition in the war. If you want to learn something new, or change your career path, do it. Get online – find free materials on whatever subject it may be, buy books, enroll in classes. Just do something to make it happen. Nothing happens by wishing on a star – you have to put in the effort in order to make any change in your life, and once you make that commitment to yourself, it’s a stronger bond than any commitment made to another person. You have to want to do it for “you”.

Finally, I’ll share my personal motto:

Any day is a good day. Any day I learn something new is a great day.

Here’s to the new year!