Archive for October, 2006

Debugging Ruby on Rails

So with my trials in Ruby on Rails lately I’ve had some issues debugging.  I hadn’t really considered how to debug, if it was even possible.  Normally in .NET I would either write to the console (System.Diagnostics.Debug.WriteLine in ASP.NET) or use the actual debugger if I need something deeper than simple string values.  Well anyway, I was having a real problem with session objects in Rails and I needed a good solution to debug the problem.  After a quick search I found this article that easily describes how to debug your Rails applications. :)

Verizon FiOS

So today Verizon came out to install their new fiber optic Internet services at my home. I ended up with the 15/2 service for $45 a month. The same price I was paying Comcast for 1/3 the download and a fraction the upload. You can read all the details on Wikipedia about Verizon FiOS and the technical details. I won’t put you to sleep with those here. The install took about 5 hours roughly but it wasn’t a huge deal or bother. The installer was super nice and just kind of hung out while he did his work.

While I was waiting for the service to finish installing I was working from home; meaning my Comcast service was still up. So before I connected to the new service I ran a few speed tests to see the difference. I was surprised to see some amazing speeds, almost 20Mbps to DC. The upload was pathetic of course, about 350Kbps. Once he was finished I connected to the Verizon network on my Mac and left my work machine connected to the Comcast network. I ran the same test to DC using the Verizon service and received the advertised 15Mbps down and 1.5Mbps up (almost as advertised there ;) ). But wait, this is slower than Comcast, nooo!!! I noticed everything actually felt snappier using the Verizon service, to the point I really could tell a difference in the way pages load. So I decided to try a real world test. I went to Apple.com and started downloading xCode 2.4, which is roughly 900MB in size. I did this on each machine, each using the different network providers. My Comcast service was pushing 400-700 KB/sec, which is pretty typical as of late. My Verizon service was pushing 1200-1400 KB/sec, WOW! So even though the bandwidth tests told me otherwise, in real world usage I was seeing a 100% gain in performance for no extra cost. I haven’t tested upload speed yet, at least not in a measurable way. I did upload a changeset of code to my work’s servers and it literally took no time at all. Normally I see a slight delay in uploading the delta while I’m at home.

My initial impressions are very positive with this service. I’ll be sure to update this once I’ve had it for a few weeks or months. If you are able to get this service in your area, do it! For $45 a month, 15/2 isn’t bad at all. :D

A few weeks with Subversion

Over the past two weeks I’ve been using Subversion for source control management on two personal projects of mine. Both of which are using totally different technologies. First, I’m working on a Ruby on Rails web application. For that project I use svnX and ZigVersion as clients for Subversion based on what I’m doing. I’ve found it easier to use each for different purposes. Second, I’m working on a desktop application for OS X using Objective-C and Cocoa. As an interface I’m utilizing the built-in functionality for SCM in xCode 2.4.

Although I don’t find it quite as nice as Team Foundation Server, for a free and open source product, you can’t go wrong. Once I get my new office all setup and my server built again, I’ll have a true source repository setup there.

Subversion on OS X

I’ve been talking about building a web application using Rails lately.  Recently, I talked about getting Rails (also known as Ruby on Rails, or RoR) installed and configured in Mac OS X using Locomotive.  What I needed next was a solid source control management solution.  It isn’t crucial considering I’ll be building this by myself.  It’s always nice to have that backup mechanism in place, along with the fact I’d be learning something new in the process.  So, I sat down tonight and spent 20 minutes with Subversion, the standard for source control management in the open source world.  I used the quick and easy .dmg installation package you can find on the Subversion download page.

What threw me for a loop was the fact that package was labeled as a client.  I was expecting to find a server package.  I figured what the hell and just installed it.  Sure enough I had the necessary executables registered with Terminal after the install was finished.  I was able to create the a new repository and import the existing Rails project I made using Locomotive.  So I assumed I had what I needed…

What I was really pleased with is finding ZigVersion; an awesome visual tool for Subversion on OS X.  You get an easy to use view of your source control repository for free, assuming you’re non-commercial.

So, I had a pleasant experience getting my code environment together and easily had Subversion ready in no time.  If you’re in need of a similar setup, hit me up if you need details!

Spotted the Windows Live SUV

Yesterday I was driving home for lunch and found myself following a large dark blue Suburban with “Windows Live Local” slapped across the rear window. The top of the vehicle was decorated with at least 6 cameras and GPS equipment. On the side you could find the URL of the company who is doing this for Microsoft. It looks like they’re pulling new information in for Henrico County. You can check out the preview of this technology on the official website.

What’s the best benefit your employer can give you?

I’ve been with my new employer, CapTech Ventures, for exactly one month today. CapTech is a very well respected company in the Richmond area and their people are recognized as being quality consultants. I get questions all the time from friends and family who know of CapTech, but just don’t know much about the company. Probably the #1 question I get is, “what is so good about working here?” Well, the pay is great, the people are simply awesome, the problems are interesting, the flow and wealth of internal knowledge is huge, we get free drinks, hands on access to pre-released technology, education assistance, and even free health insurance. All of that is great and alone enough to work here but not quite the best benefit. The best benefit is what makes CapTech #1 in the consulting business; training.

Here, everyone is a superstar in their respective technology platform. It’s hard to look around the lab and not find a certified Microsoft professional. If you do find someone who isn’t, they’re probably half way there. We’re even lucky enough to have one of those elusive MVP characters. Obtaining these awards and certifications is a big deal here. Of course the company wants you to be certified; the smarter the people they employ, the easier they can “sell them” to clients. The difference here is how you get your training. Most places say, “we really need you to take this test, so go do it and we’ll reimburse you”. Here, not only will they cover the test cost, but they’ll cover training tools and they’ll help you study for the test. People care whether their peers pass the exams and you can easily pair up to study with someone. And then, once you’ve completed your certification, the company will make you feel like a rockstar for having done so. Public appreciation and peer respect is a big deal and goes a long way in shaping the view you have of your company.

In my case, training is easily the best benefit I can receive. I’m 24 years old and have a very long future in technology ahead of me. Any training, certification or otherwise, I can get is like gold for my future.

So what do you feel is the best benefit your employer provides for you? Or, what benefit do you wish they would provide for you?

Desired Job Title: Lazy Geek

I’m going to get deep on you here for a minute. People always ask what you’d do if you had a million dollars, or if money just didn’t matter. If money wasn’t a requirement to sustain my daily life and I could truly do whatever I wanted, I would be what I call a lazy geek.

I would sit around all day and learn new things about technology. Now, that’s similar to what I’ve been doing over the past few years, but with a few distinct differences.

  1. I wouldn’t get up at 6:30am and go to sleep at 10:30pm each day.
  2. I would learn about what I wanted to learn about, and those wants would change; daily.
  3. I wouldn’t work 40 hours a week and fret at working 41. Instead, I would work at least 60.

In addition to basically exploring technology that I find interesting, I really think I’d use what I do best to help people/organizations that can’t afford professional consulting. For example, I’d visit a local church and setup a wireless network for their staff, and things like that. Why don’t I do that now you ask? Well, because after spending so many hours each week doing something I may not necessarily “want” to do, I just don’t feel like doing much more technology work. Sounds weird, but it’s true for me.

Given my new found time, I would be able to devote myself to graduate school instead of half assing it like every other working professional. In addition I think I would contribute some block of time to open source software. Instead of worrying about getting 40 hours in on a project I’d have the flexibility to jump into whatever interested me. Who wouldn’t dig on that??

Capitalism is wonderful and all but damn, it really kills your honest productivity. I love my job and enjoy what I do, no question, but it’s not what I would do if I didn’t need a paycheck.

It sounds like I need some form of evangelist job, like Scoble had with Microsoft doing Channel9, but more development related instead of being in the clouds with new technology.

Oh if I could change the world…