§ Computers & Technology
Monday, March 22, 2010
Setting PreLogin Banner on SSH Server
If you are running your own server I’m sure you’ve thought about setting your own login banner for SSH connections. This can be handy to post any important information such as service notices or a legal warning before a user logs in. You can see a sample login banner below in this screen shot.

This is extremely easy to setup
Step 1: Login in as root and navigate to “/etc/ssh”.
Step 2: create a file named “sshd-banner” using your editor of choice.
Step 3: create your banner content and save the file.
Step 4: open “sshd_config” for editing.
Step 5: Add the following line to your config file “Banner /etc/ssh/sshd-banner” and save.
Step 6: Restart the sshd server. On a linux server this would be “/etc/init.d/sshd restart”
Feel free to log back into your server to test.
Monday, March 01, 2010
Backing Up Windows Shares & Settings
If you ever have a need to save a windows servers file shares & settings here’s how to do that. This is handy if you happen to be transitioning to a new file server and you have a lot of shares that need to be transferred. You could always do it by hand but this way will save you a lot of time!
Open up your registry on the server and navigate to:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares]
Right click on the Shares folder and choose export
You will now have a .reg file that you can copy and install on the new server and have all the file shares and security settings ready to go.
One note to remember is this only works if you setup the file shares identically on the new server. You have to keep the drive letters and folders matching the old server.
Sunday, February 21, 2010
Inside Microsoft SQL Server 2005: The Storage Engine

Inside Microsoft SQL Server 2005: The Storage Engine by Kalen Delaney
I read this book to gain some deep knowledge about how SQL Server 2005 works on the inside. My goal was to better understand how to install, configure and manage a SQL Server 2005 database. I learned a lot about tables and indexes and log files and how all if it works together and can be tweaked for better performance.
This is a must read for anyone that spends a lot of their day working with SQL Server 2005!
Saturday, January 23, 2010
The 2010 Heartland District Technology Conference Schedule
Yet another technology conference season is upon us!
There a many great events being planned and some are already announced.
Here is a short list of events and links to their websites. Save this link, as I hear of new events I’ll make sure to update this blog post to add them. Just a reminder that most of these events are in the “Heartland District” as defined by Microsoft which includes Michigan, Ohio, Kentucky and Tennessee but I’ll add events in other neighboring states as well. Don’t mistake me, this isn’t just a list of Microsoft events either! Any technology event in the area that I hear about I will list. If you know of any drop me a line and I’ll get it added!
February 2010
Grand Rapids Code Retreat - Grand Rapids, MI - February 6th, 2010 (Free)
March 2010
Roanoke Code Camp - Roanoke, VA - March 13th, 2010 (Free)
Southern Maryland Give Camp - St. Mary’s City, MD - March 19th - 21st, 2010 (Free)
Lansing Give Camp - Lansing, MI - March 26th - 28th, 2010 (Free)
April 2010
Pittsburgh Code Retreat - Pittsburgh, PA - April 3rd, 2010 (Free)
Philadelphia Emerging Technologies for the Enterprise - Philadelphia, PA - April 8th - 9th, 2010 ($325.00)
Philadelphia Code Retreat - Philadelphia, PA - April 10th, 2010 (Free)
Kalamazoo X Conference - Kalamazoo, MI - April 10th, 2010 ($35.00 Professional / $15.00 Student)
Great Lakes Ruby Bash - Lansing, MI - April 17th, 2010 (????)
Grand Rapids Silverlight 4 Firestarter - Grand Rapids, MI - April 17th, 2010 (Free)
Pittsburgh Code Camp - Pittsburgh, PA - April 17th, 2010 (Free)
May 2010
Ann Arbor Day of .Net - Ann Arbor, MI - May 1st, 2010 ($10.00)
Chicago Code Camp - Chicago, IL - May 1st, 2010 (Free)
Stir Trek: Iron Man Edition - Columbus, OH - May 7th, 2010 ($25.00)
IndyTechFest - Indianapolis, IN - May 22nd, 2010 (Free)
June 2010
CodeStock - Knoxville, TN - June 25th - 26th, 2010 ($55.00)
July 2010
Ann Arbor Give Camp - Ann Arbor, MI - July 16th - 18th, 2010 (Free)
Cleveland Give Camp - Cleveland, OH, July 16th - 18th, 2010 (Free)
August 2010
DevLink - Nashville, TN - August 5th - 7th, 2010 ($100.00)
September 2010
Ohio Linux Fest - Columbus, OH - September 10th - 12th, 2010 (Free)
October 2010
erubycon - Columbus, OH - October 1st - 3rd, 2010 (~$300.00)
November 2010
NO EVENTS
I can’t stress enough how much fun these events are. Not only can you learn a lot of things but you get a chance to hang out and socialize with some of the top developers in the area. I encourage all developers to try to attend at least one local event. You will not regret it!
Sunday, January 03, 2010
Seagate 1.5 TB External Drive Review

This is probably a pretty poor review as the drive died after 3 days of use. I purchased it from Best Buy because it was on sales and the cheapest 1.5 TB external drive I could get in the store. The Model Number is ST315005EXA101-RK.
The reason for purchasing such a large external drive was to provide a backup location for all my computers at home; 1 Windows Small Business 2003 Email/File server, 1 Windows XP desktop, 1 Windows 7 laptop and 1 Vista laptop. I need enough space to store backups for all those systems which equals roughly 1 TB is raw storage counts or about 700GB used space. I am using some free backup software called CrashPlan that I will be reviewing in the future.
Well I get home and within 2 hours I started hearing clicking noises randomly. As I run some raw file copies (large 2-4GB ISOs) I notice the transfer rate is abysmal. I’m averaging around 5-7MB/sec sustained with bursts of 12-15MB/sec. Just for reference an internal directly connected modern HD should easily do 60-80MB/sec, while a USB2.0 external should max out the USB bus around 25-35MB/sec.
As you can guess I was rather disappointed but then I justified it by reminding myself it was for backups. It doesn’t need to be a barn-burner to hold a ton of files for backups. I could live with a slow drive I kept telling myself.
However, after 3 days I found my fileserver locked up one morning. Upon reboot I checked the event log and there were literally over 12,000 I/O write cache corruption errors. The drive spun up but when I ran scandisk the entire file system was basically blown.
The other issue I ran into and what I think might be the underlying culprit of the death of this drive is the running temperature. After 3 days of running the drive temperature was running around 54C (~130 F). That is way to HOT folks! At that kind of range you are drastically shortening your drive’s lifespan and pushing the threshold for data corruption (the physical media that holds the magnetic bits start to actually looses it’s ability to read and write the bits). By the way your average internal drive with proper cooling usually runs in the 35-40C (~ 95 – 105 F).
I did some research online and found forums and review sites full of people that had the exact same thing happen to them with this drive. At this point I called it quits. I boxed up the drive and dug out my receipt. I returned it to best buy and exchanged it for a Western Digital MyBook Elite 1.5 TB external drive. After a few weeks of using this drive I’ll do a short review of it as well.
Tuesday, November 17, 2009
Grand Rapids GiveCamp 2009

This weekend I had the honor and privileged to attend the Grand Rapids GiveCamp in lovely Grand Rapids, Michigan.
Roughly 100 developers, designers and other technical professionals graciously gave their time and energy to help 25 worthy charities. Work was done on projects ranging from updating outdated websites to building databases to track donors.
I must make a confession here… To be honest I was very hesitant to go. I think like many developers I have a great fear of coding in public. In the safe confines of the cube jungles you are comfortable and safe. In a public setting being sat down at a table with a room full of coders was down terrifying to me. I was terrified that I would be found out as a phony, an incompetent programmer and *gasp* a newb in comparison to everyone else.
But I felt a calling on myself to take the chance and do some good. Much of what I can directly account for to my recent reading of Joyce Meyer’s book “A Love Revolution”. This book has really inspired me to open up and give to those in need.
Anyhoo… enough of my emotional outpouring lets get back to to #GRGiveCamp 
I was assigned to do updates to some surveys and data collection tools that the Volunteer Center of Greater Kalamazoo had. I may be biased but I think we had the most awesome kick-ass team with my fellow teammates @mattsonlyattack and @kalpers.
We worked with the ASP.Net MVC Framework and Drupal to get our project done. It was very fun as I have wanted to learn MVC but have yet had the chance to sit down and dig in. I got to be tossed into the deep end and work my way through it. In 2 days of programming I managed to grok a lot and I feel very comfortable that I could safely do MVC work now.
It was an amazing time and one I will not soon forget. Thank you Chris Woodruff (@cwoodruff) and all the crew that organized this. I feel so energized and happy knowing I did some good and made a difference in this world!