Archive for May, 2007

Uncategorized

So You Are Ruby Curious?

Well we cant have that now can we. Its really easy to get what you need to play with Ruby on your computer. For the Mac users we can take a look at locomotive. With locomotive you do not have to worry about compiling source code or any crazy command line non-sense, just download the .dmg, extract it and run the application. And although the crowd at RailsConf has always been predominantly Mac users, fear not you Windows bound souls there is a very easy solution for you. On the windows pc you can use the Instant Rails Installer. This little beuaty will install ruby, rails, the scite editor and even help docs that include Programming Ruby: The Pragmatic Programmer’s Guide.

From there the steps differ a little bit, but the process is the same. Create a new site/application, write some code, start a server and visit the site in a browser.

Both of these create a self contained set of files so you can get rid of them if you like. So play a little. Open your mind. And if that still seems like to much work then Try Ruby From Your Browser and dont install anything at all.

Uncategorized

Technical Relationships Change Too

I have been in a really steady relationship for a long time. We started courting in late 1999, and I fell in love very soon after. From there it was nothing but blue skies and rainbows. We spent years together just whiling away the time and enjoying the benefits we each brought to the relationship. But 8 years is a long time. Through 8 years sometimes what seemed so neat and endearing about someone can start to frustrate and annoy you. Activities that used to excite you now find you wishing you were somewhere else. In 8 years there is a lot of time for new to become old. And although the love is still strong, you begin to realize that if feels like something is missing.

That realization is a dangerous thing because it puts you in a mindset that perhaps there is more out there. You start to look at your life in an effort to find out what it is you are missing. You start to long for that feeling of “newness”. And you start to realize that although you have been very happy, a lot has changed in the world around you. You have been wondering around blinded by love and the there are some very attractive alternatives available.

Then one day you are out and about and you see someone new. She catches your eye and you decide to take a better look. Yeah, you feel a little guilty because of your current relationship, but hey its only a look right? But inside you know its not. She has all the strengths you value in your current relationship, but all that newness you have been missing. Next thing you know you are going out of your way to spend time with her. You lie to yourself saying “nothing is going on”, which makes it easier to go back home and not feel guilty. But then one day you decide to run away for the weekend and spend some time with the new girl. Its not serious, its just a fling, right? What can it hurt to take a few days away? Chances are you will just find things that annoy you about the new girl and then it will all be worth it because you can go back to your happy and stable life.

The problem is this: What happens if you go away for the weekend and it turns out the new girl is not just pretty and something new. Turns out she is funny, and quick witted. She is easy to spend time with, and makes mundane tasks seem easy. She gets along with all your friends and she understands the way you think.

Now you realize you have come to a fork in the road. Its not like your current SO is not going to grow and learn new things that you can do together. But she will always have those traits that bother you. You can continue to see both girls, but this is very taxing on your time, and you don’t really get to enjoy either of them fully. You can cut ties and just jump into the unknown with the new girl. You know there are things about her that you love already. And she doesn’t have many of the traits that bother you about your current relationship. Both are about the same age but very different in their attitudes and what they want out of life. But the new one just has such a young and fresh attitude about how to get things done. She is very exciting.

So in the end it comes down to this. What do you do? Pick the new exciting girl that you know will make your life easier. Or do you continue in your complacent relationship knowing there is more out there, but its not worth the hassle to change.

What do you do?

ColdFusion and I have had a long and loving relationship. There are so many things I love about the language and the community. But at the same time I think its really important that we keep an eye out for what we can do to make ourselves more productive. I have been playing with Ruby and Ruby on Rails for about 6 months and I really like the abilities that I am adding to my toolbox. I am a firm believer in Conferences being the best way to jam a lot of information into your head in a short period of time. They allow me to get a pulse on what is going on and where to direct my personal learning time. This last weekend I went to RailsConf 2007 here in Portland. It was just a little getaway. It was some time to play with Ruby on a dedicated level. I wanted to have some time to really get to know her and check out her dark places. I didn’t really think that anything-prolific change would be triggered by the event, but I was wrong. This was one of the best conferences I have ever attended. The sessions were great, the keynotes where insightful and inspiring. In between sessions there were huge groups of people together with laptops out working on projects together. The community spirit was amazing. It felt like a weekend retreat with 1600 of my closest friends. And yes folks, I said 1600. The community around this open source technology is giant. But that is not the point. I realized that for the things I do by professionally and personally, there is very little that I cant do as well or better with Ruby. Nothing has changed about my love for ColdFusion though. I still think it’s a great platform, and the improvements that are coming in CF 8 are amazing. So I am feeling very torn over how I spend the time in my day. And as silly as it is, I feel like I am emotionally attached to the programming language and the community behind it.

I will not be abandoning ColdFusion any time soon. But I think you are going to see a lot more Ruby posts on this blog from now on.

Uncategorized

Fusebox Presentation at CF.Objective

I submitted several presentations for cf.Objective when they put out the call for speakers. In the end they asked me to present on a topic I did not submit. I have been using Fusebox for about 6 years. Its something I am alway excited to talk about and when Jared asked me to use Fusebox as my topic I thought that sounded like fun.

However cf.Objective is not your usual CF conference. This is an enterprise conference with big ideas and great presentations. So how do you present Fusebox (something often considered a beginner framework ) to an enterprise crowd. And if you do go Enterprise how do you not alienate the folks who have not ever seen Fusebox before?

Well I decided the best approach was to spend a little time explaining what fusebox is and how it works and spend a lot of time writing different examples of uses of code.

I am attaching the presentation and code that I used in my topic. I started off with code in a folder called “old”. This is a very traditional old school style page-based application. I then copied the “old” folder and pasted it as “simple” In side simple I show the bare minimum required to turn that page based application into a fusebox application. In order for that to work I unzipped the fusebox framework download from the fusebox.org website into my webroot. From there we use circuits to reorganize our code a little bit in the “lesssimple” folder. This reorganization of code led us into a discussion of MVC architecture. From here I unziped the skeleton app availabe in the fusebox.org download sections and named the folder “mvc”. In the mvc application we looked at doing queries, displaying data and using global fuseactions for layout. Then just to prove that fusebox can keep up with the big dogs, we copied our “mvc” folder to the “cfc” folder and pulled our data access out of our query files and into a cfc. Using cfc’s in fusebox gave us a great opportunity to look at the use of custom lexicons so I used ColdSpring to initialize our CFC from the last example and in fusebox we used the custom lexicons to work with CS.

I really felt great about the presentation when it was over. I did all the coding except the “old” starter app during the presentation. It was a great progression and really took us from beginner to expert in terms of showing off the capabilities of Fusebox.

Anyway, I heard some murmering (thanks Sean) that someone wanted to see the presentation code. So I am posting that here for all. Please feel free to let me know if you have any problems or questions with the code.

Uncategorized

RailsConf here I come

Well not “come” so much as its actually held here in portland :)

I am so excited to get to go to a conference and not have to actually travel. No airports, no cabs, no hotel food. What a rush!

I am also very excited because unlike a lot of the CF conferences, every session at RailsConf offers me an opportunity to learn something new. Its such an exciting prospect. I am really looking forward to seeing how the Adobe folks present Apollo to the rails group, as well as hitting the Flex on Rail BOF as that is a new favorite past time of mine.

I saw a couple posts from other MXNA folks saying they were going, so I’ll keep an eye out for you if you do so for me. I will be wearing the grey Adobe Community Expert fleece vest. I look like the cuddly bear pictured on the home page of this site :)

So stand by for any revelations I learn about Ruby, Rails and ways I see we can improve our existing CF Frameworks.

Uncategorized

Phone Envy and Carrier Lockin

I have been a verizon wireless customer since they bought airtouch, and I was with airtouch for years before that. I have always stuck with them because they have amazing coverage that makes the other guys coverage maps just look silly. I have always been able to justify their ridiculously strict usage policies and the hobbling of the functionality of their phones because I knew I had the coverage to back that up.

Up until recently the part that gave me the greatest pull was that they had no phones with flash lite support. I have NEVER done anything with flash lite, mostly because I didnt have a compatible handset. Luckily for me Adobe has made that problem go away. Now Adobe has partnered with Verizon and they are delivering a variety of flash lite handsets as well as the new flash cast service. So Adobe and Verizon seem to make a great pair.

I have a treo 650 and luckily, until recently, I had not had any of the problems that have plagued others with this phone. So its time for me to start looking for a new phone. I am really tired of having a brick attached to my hip, so I was looking for a smaller phone. The problem is I dont think I could ever go back to not having some sort of keyboard. I never got the hang of typing on a keypad, but my wife and friends have started to communicate primarily via text messages, so the ability to type efficiently is a must.

Verizon has several phones that have keyboards and the new samsung (with dual flip modes) seems to be a very nice phone. But none of the phones that have keyboards have the flash lite capabilities.

So there are 4 things I am looking am looking for in a phone. I want it to be smaller than my treo. I want it to have a keyboard of some sort. I want a nice(ish) camera in the phone. And I would like flash lite programming capability.

The real problem I have with any of the phones that come from verizon is that they hobble the bluetooth functionality of the handsets. In order to comply with their exclusive content provider contract through their “get it now” service, they have to disallow you from bypassing those services. So any way you would have to transfer files to the handset not through get it now are disabled. The problem is that that this takes away things that you should be able to do like pair the phone with your computer and having the computer dial from your address book for you.

The next problem is that being an internet professional I like having the ability to check email and the web on my mobile. This is another place where verizon really takes advantage of their customers. Their unlimited mobile phone data plan you will pay a $69.99 monthly charge. Cingular only charges $29.99 and tmobile is only $19.99.

Then to really compound my issues, I went with a friend to tmobile the other day. They had decided they needed a web enabled phone and wanted me to help them pick. We went in and played with lots of phones, one of which was the blackberry pearl. I have never liked blackberries. They are big and the navigation is horrible. I hate that while typing you have to take your hand off to the side of the phone to scroll the dial and make selections. However the pearl solved all those problems. It was small, had a partial keyboard (the true type works amazingly well) a nice camera and is web enabled. I played with the phone for about 20 minutes, and I have not been able to stop thinking about it since. I am totally crushing on this phone! And of course its only a GSM so I cant get it on verizon.

Verizon is working on that though. They have announced a pearl competitor called the Curve (Blackberry 8300). This phone is a cross between the pearl (8100) and the 8800. So it has the scroll ball like the pearl but a full keyboard like the 8800. They say the phone focuses on entertainment features, but I see it lacks a camera. If it had a camera I probably would have called it good enough and put an end to this by picking it up. But no camera and no flash lite means this is not gonna work out for me.

So after all of that it comes down to this. I am very very seriously considering switching to Cingular/AT&T.

This switch is actually very characteristic of me. I gave up on windows several years ago. I switched to linux because it gave me the ability to customize my computing experience the way I want to. Moving away from verizon’s hobbled phones and restrictive usage plans feels like a similiar move. I am willing to give up some luxuries in order to have more freedom in general.

I have been flip flopping on this decision for quite some time now. And I still dont know what to do. I can get me and my wife both internet connected blackberry pearl’s for less monthly than I would for one phone on verizon. But what good does that do me if i dont have a signal and cant make a call?

Anybody made the switch? Any of my friends use cingular in portland? Anybody not like their pearl? I am really looking for some advice here. I am getting really tired of feeling consumed by this dilemma.

Uncategorized

cf.Objective Wrapup

I think it actually took me a week to recover and gather my thoughts on this event. In its second year cf.Objective was the most impressive ColdFusion conference I have ever attended. If you have been building CF applications for any length of time, then this is a conference that will show you how you can do it better. This conference is pinned as the “Enterprise” CF conference, and it holds true to that. You will not find another CF conference with as high a level of technical presentations. Even the speakers ( me included ) were overwhelmed by the number of presentations we wanted to attend. If you can only attend on ColdFusion conference next year, make it cf.Objective 08. You will not regret it.