Technical Document PDFs on the Kindle DX

With the recent release of the Kindle DX, many have wondered how its electronic ink display stacks up against PDF related technical documents.  Here, I attempt to get some decent shots of some complex and not so complex technical PDFs.

Continue reading →

RubyConf 2008 – Dave Thomas Keynote Notes

Dave Thomas presented tonight as the keynote speaker on day 2 of RubyConf 2008.  He introduced an interesting challenge to the Ruby community; fork Ruby and get creative with it.  Here are my notes from the talk, they’re a bit rough around the edges but you can get an idea of his vision and the message he was trying to get out.

Continue reading →

RubyConf 2008 – Matz Opening Keynote Notes

Notes from today’s opening keynote at RubyConf 2008 by Matz, the creator of Ruby.  It was an absolute pleasure to hear him speak and he did a fantastic job.  Here are my notes from the talk….

Continue reading →

Introducing Barduino – The Ruby Powered Bar Monkey

On October 10, 2008, I presented on the Ruby Arduino development framework, RAD for the Orlando Ruby Users Group.  After two years of attending ORUG, I decided it was time to make my contribution back to the community and that contribution was….

Barduino Introduction
(Photo credit: Anthony Eden)

Continue reading →

JRuby – Or how I manage to write Ruby in a strict corporate environment

One of the beauties of the Ruby community is the benefit of choice.  Original Ruby interpreter?  Check.  Ruby interpreter in Java?  Check.  Ruby interpreter in Ruby?  Check.  Ruby for .NET?  Check.  Projects like these make it easier to integrate Ruby in almost any environment.  

Specifically, the development of JRuby has been full steam ahead ever since Sun decided to hire two developers on full-time to work on the JRuby project.  This has meant constant releases, each with a large change set.  The project has most recently hit its 1.1 state which includes a 100% compatible Ruby 1.8.6 interpreter written completely in Java.  This means you can simply drop the JRuby JAR file in your Java project and begin writing Ruby code.  Or you can go ahead and integrate Swing into your Ruby application; seamlessly.

I work for a Fortune 100 company, a defense contractor with a pretty strict development environment.  What does this mean?  For the most part I’m limited to Windows, anything I would like installed on my PC needs to go through an approval process (which can take 3-6 months, easily) and the existing choice of tools is quite limited.  Luckily, Java is one of the big hitters for development in the software department.  The standard load on my PC contains a pretty recent JRE/JDK which opens the door to JRuby.  JRuby at this point is simply a drop in, a tool I can integrate to my existing environment.  It’s not an executable that needs to be virus scanned or something that shows up in the wonderful Windows “Add/Remove Programs” dialog.  

And it is wonderful.

Next, enter NetBeans, an IDE for the big hitter languages; C++, Java and most recently, Ruby and Javascript.  NetBeans is one of the few tools that makes working in Windows a pleasure.  I’m a Mac guy, so spending 9 hours at work on a PC can be painful at times but a properly configured NetBeans can give me an IDE that looks similar to TextMate.  Couple this with Cygwin and I’ve got a pretty similar development environment as I would in a Mac or Linux environment.  Built in Autotest, incredible code completion (including completion on your ActiveRecord models) and integration with the major SCM tools out there makes NetBeans a necessary tool when working with Ruby in Windows.

JRuby has full support for Rails.  Now I have the option to either work in Rails or the company blessed solution of ColdFusion.  Tough choice, eh?  With JDBC drivers for every major database out there, I can quickly prototype and develop applications against both Oracle and PostgreSQL which I have at my disposal.  

JRuby also has a great community with an active mailing list.  Hit a bug?  Missing a feature?  Go ahead and submit a ticket to their JIRA bug tracking instance and chances are it will get addressed in the next release.  I ran into a bug with the JDBC-PostgreSQL driver, browsed their bug tracking library and found that not only had it been submitted already, but Ola Bini, one of their active developers had corrected the bug that morning and posted a fix that I was able to grab and continue on with my development.

But what about getting Ruby accepted by others in your environment?  I think the general consensus on this has been to simply go ahead an whip up an application and go ahead and demo it.  Show off the benefits, the clean code and the time saved by using Ruby over whatever you would have otherwise built the tool with.  Ask for forgiveness later.  

So the next time you have that itch to integrate Ruby (or Rails) at work, go ahead and give JRuby a look.  You’ll be a much happier person because of it and your co-workers who are unfamiliar with Ruby will thank you.

Code anywhere: 9 programming languages in your browser

Steven Hazel, the developer behind http://codepad.org/ has a great write up on how he’s using Amazon EC2 to scale codepad as well as taking advantage of its firewalled nature to compile code safely.

Continue reading →

BarCamp Orlando, Community Involvement and the Twitter

On Saturday April 5th 2008, some of the brightest minds in Florida got together for the 2nd annual Barcamp Orlando. The topics ranged from microformats to the latest agile development strategies. One talk that stood out however was Gregg Pollack’s talk entitled “Ranting about the community”. The talk was the last of the evening and BarCampers packed the room. Gregg clearly strategically timed this talk to be the last of the evening as 30 minutes later the room was going to empty and pack the offices of Izea for the Geek out 2008 Party.

Gregg focused strongly on the importance of community and how you should be involved in it. He pointed out the many options one would have to get involved in their local tech communities; blogging, going to user group meetings and getting your involvement wherever you can.

This blog is my reaction to Gregg’s talk. It’s one of the easiest way to gain yourself some exposure within the community and not just local but the the entire community; world wide. I’m unfortunately a little bit of a drive away from Orlando but I do my best to get to Orlando for their Ruby User Group meetings. I would love to get to lunch_fu which is put on by Florida Creatives every once in a while but it’s not feasible with my distance from Orlando.

Twitter has been an incredible resource for me personally. It has allowed me to be in the know with what’s going on out in Orlando as well as add some input every once in a while. One of the craziest Twitter moments so far would have to be my encounter with Josh Blount. He had been out in the rain with his iPhone which resulted with some technical problems so I went ahead and replied to his tweet with a suggestion on how it could be fixed. It corrected his issue. He even blogged about it, giving me a little credit.

Back to Gregg’s talk. He finished with a little exercise that got everyone shaking hands with someone they had never met before and introducing themselves. This exercise continued at the Izea party. After playing some Rock Band I noticed a small group chatting so I went over and introduced myself. Low and behold, Josh was in that group. Conversation quickly turned to topics such as Python and pinging a MySQL employee with database questions. It was a great night with a lot of good conversation. I really enjoyed networking with a lot of people this weekend.

I now have almost 100 followers on Twitter and if I can pull 100 followers on this blog I’ll consider it a success. So feel free to subscribe or just drop me an e-mail at matthew.d.williams@gmail.com if we didn’t get a chance to talk at BarCamp. Until then, stay tuned and I’ll try to keep it interesting.