Software for my iMac

With the new iMac 6 weeks from being delivered, I’m thinking about the software I’ll install.  So here goes:

Hoping that OS X 10.7 will be shipping by then.  I will still install from scratch however. I think since I’ll have two drives, I will have to partition the 2TB drive to hold the /Users directory.

iMac

Two months of Rails Development

Two months ago, I was fortunate to land a job doing Rails development full-time.  It’s been a long slow process, but I’m finally getting a grasp of it.  Or at least pieces of it.  Here is my story:

My Programming Background

For the last 5 years, my background in web development was ColdFusion. It was easy to understand, easy to connect to databases, and quite expensive. What I found lacking were good frameworks. I had grown sick of repeating myself every time I started a new project. On the side, I had been playing with Django and wished I could develop in it full-time. I had even dabbled in Ruby on Rails a bit.

However, there was change in the air at my work, and it wasn’t for the better. I worked for a city government and I pushed for open source technologies as a way to save taxpayer’s dollars. Unfortunately, not enough people higher up cared about this. It looked like management was drinking the Microsoft flavored kool-aid and we were going to become a .Net shop. We had already brought Sharepoint into the office. I knew it was time to leave.

I set a goal to find a job using either Python or Ruby, and if worse came to worst, even PHP. Unbelievably, I landed a job within one month of searching. I was going to do Ruby on Rails development. Professionally! Amazing!

Rails Development

As a new Rails developer, I was fortunate enough to work for a company that has allowed me to learn Rails on the job. For the first four weeks of employment, I spent nearly all my time on Rails for Zombies and then Rails Tutorial. I highly recommend this site for anyone wanting to learn about Rails development. It covers everything from setting up Rails to using GitHub, Rspec, and deploying to Heroku.

I’m now fully engulfed in the development process. I feel overwhelmed at times, but completely love it. The Rails ecosystem is vast and there is a lot to learn. I’m spending most of my time writing Rspec tests and updating models.

I’ve learned a lot in the last two months. I’ve realized that I’ll never go back to the “old” days of coding by myself, coding without a framework, coding without writing tests, and manually deploying to a Java application server. There’s a part of me that wants to go back to my old job and say “Don’t you see how wrong you are? This is how it should be done”. But I guess that the current management isn’t comfortable with a technology unless there are salespeople selling it.

My eBooks library

Since getting my iPad in April, I’ve become a fan of eBooks.  I took advantage of some coupon codes on O’Reilly last month and purchased electronic copies of many of my books.  Here is a list of what I currently have on my iPad:

ePub format

PDF’s

I love the fact that I can carry around these technical books all the time and be able to look something up so quickly just by doing a search inside of the iBooks app.  My only complaint with the iBooks app is that I have to add my books through iTunes.  Would be nice if iBooks supported DropBox.

Heading to PyCon 2009!

I’m flying to Chicago this afternoon to attend PyCon 2009.  I can’t wait.  I’ll be attending two days of tutorials.  The tutorials I’m attending are:

On Friday morning, I’m chairing one of the sessions which includes the following talks:

I’m looking forward to meeting everyone I follow on Twitter and hope to absorb as much as possible regarding Python and Django.

Selecting a Content Management System for work

I work for a city government.  It’s actually my second time with them.  I left them in January 2001 because I was ready to write web applications and they weren’t.  Because the I.T. department didn’t care about the web in the 1990′s, the website fell into the hands of the Public Information Office.  And its been there ever since.

A couple of years after I left, the I.T. department finally decided it was time to have a presence on the web.  So they wrote a couple of “eServices”, bulk trash pickup, real estate assessment, etc.  But they never thought about taking back control of the website itself.  They concentrated on what I call “business apps” but totally ignored other types of web apps.

In the three years that I’ve been back, there have been on and off discussions about getting a Content Management System.  The city originally looked at products like Vignette (don’t know why they thought they could afford that one).  Well, the discussions are back on and this team it is getting serious.  But there is a problem.  Remember how I mentioned the website is not under I.T.’s control?  You guessed it.  PIO would like to make the decision on the product.  And I’m not fond of what they’ve chosen.  They are sold on Ektron.  While Ektron is full-featured and could do everything we want (actually its probably overkill), I have a few issues with it.  It’s expensive, maybe not to a city budget, but it is to me.  And more importantly, it runs on Microsoft-only technology.  It’s .Net, requires SQL Server, and uses Windows Servers with IIS.  Yuck.  I prefere to run my apps on a Linux server using PostgreSQL for the database.  As a developer who would like to be writing cool web apps for citizens, rather than boring business apps, this is personal.  I don’t write .Net now and I have no intention of writing .Net.

As an alternative, we looked at Alfresco.  Alfresco is commercial open source.  Alfresco is very powerful and web content management is only a piece of the Alfresco puzzle.  Alfresco also does document management, image management, and record keeping.  Unfortunately, our design team in PIO weren’t thrilled by it.  I liked it but I now believe that it would probably be too technical and demanding for the few we have on our web team.

The next CMS we looked at is CommonSpot by Paper Thin.  CommonSpot is a ColdFusion-based CMS.  It has many of the same features that Ektron has and runs on our current J2EE platform on WebSphere.  On a side note, we’re looking to migrate away from WebSphere to JBoss, but I’ll save that for another story.  The biggest drawback I have to CommonSpot is that it needs ColdFusion.  We have ColdFusion and I’ve written several apps in it, but my long-term goal is to move away from ColdFusion and utilize other languages and frameworks like Groovy and Grails.

So what’s left?  I’ve looked at Drupal and Joomla but I don’t really care for PHP.  I really want a CMS that I can build apps to work within its framework.  We looked at Plone in the past, but I’ve never been a big fan of Plone.  I always thought it was too complicated.  Do you write your app in Plone?  Or do you go down a layer and use Zope and the ZMI?

I’m a big fan of Django, so I contacted the Ellington team and spoke to them about Ellington today.  Since Ellington is designed primarily for newspaper and publishing sites, I’m going to try and persuade our team that a city website should probably be more like a newspaper site and that Ellington might be a good fit.  It doesn’t have the features of Ektron or CommonSpot, but I believe it may have just what we need.  Plus, if there is a piece that is missing, I could add it myself or find it in the Django community.

It's time to blog again

This time, its been six months since I last blogged.  I keep thinking that I’m going to write my own blog using Django, but with 5 year old twins, there isn’t a lot of time to do this.  So I’ll stick with WordPress for now.

What have I been doing this year?  Well, I went to PyCon in March.  It was awesome.  I went to CFUnited in June.  I thought it was second rate.  And I got some training in Flex in July with FigLeaf.  Waiting on my copy of Flex Builder to come in so I can start coding with it.  Its some pretty cool software.

I’ve been looking at using Groovy and Grails for some future development at work.  I’d like to integrate it with Flex for some applications I have in mind.  I’m really getting interested in doing some serious mapping stuff especially since ESRI has opened ArcGIS up with the release of 9.3.  They have API’s available for Javascript and Flex.

I bought a new MacBook Pro in June.  I downsized from a 17″ to a 15.4″.  I really could have used a new Mac Pro, but I can’t afford one of those right now.  So I’ll get another year out of my PowerMac Dual 2.0ghz G5.

Can't wait for PyCon 2008!

I’m set to go. I’ll be arriving in Chicago on Wednesday, March 12 in the late afternoon. I’m attending the tutorials on Thursday and going to the conference through Sunday. I can’t wait. I want to learn Python and Django so much that I’m paying my own way. I didn’t even ask my work since I doubt they’d ever send me to a Python conference.