Where I don't care what others think

Web Dev

December 26th, 2008 Posted in Uncategorized | No Comments »

I had the opportunity to speak at a web development conference a few days ago. Unfortunately my words were not recorded verbatim, so I’ll try and reassemble them here. Ruby on Rails, and really any MVC style framework, were the hot topics like always.

It makes sense to me that an existing framework should be used if you are prototyping an application. Pushing an application into a production environment, especially one where you are expecting thousands of users, should force you to rethink your implementation. Personally, I am about 90% confident that rails, cake, etc will do what I want it to just fine for a few hundreds users. There are probably dozens of use cases where these same tools will scale fine to thousands of users, but unless I have a cake or rails contributor on staff, I cannot risk that decision.  My applications (assumed to be important) just cannot experience issues that I, or another programmer on my staff, have not coded in to our application or reviewed the code for [I would never pay someone to review the RoR code or anything like that].  If your applications are junky, say… like a Facebook application, then I say who cares.  You don’t really control the important end of the stick anyways.  Use whatever gets the job done well enough.

By the time your prototype (you might call it an ‘application’) is taking off, take some time to look at your implementation. I understand you have the smartest caching scheme in existence and you’ve done a super job with load balancing Mongrel, but are all the ‘DESCRIBE TABLE’ queries really the best use of your resources? Go ahead, if you have buckets of money to throw at hardware do it… It’s probably cheaper and easier than having to pay your people to think anyways. In my shop, after a prototype gets the final sign off and it looks like people actually want to use it, a php, python, or html/perl fork is immediately started.  I no longer have to guess what a framework will think of my application; I am telling my application how to think on my own.  Yes, this might mean I am hard-coding SQL and doing my own string escaping.  A security risk? Probably. But one that I have control over and can take responsibility for.

Don’t get me wrong here, I like frameworks just as much as you. In this “tight” economy a framework can be the most cost effective way to get a new product off the ground. Recognize though, that once it’s flying those training wheels are going to slow you down.

My favorite example, Twitter.  If you don’t know what Twitter is, you probably didn’t understand most of what I was just talking about.  Twitter is my favorite example for a few reasons: 1) It is written in Rails 2) The service is freakishly simple and 3) It did not scale gracefully.  It turns out people wanted to communicate in under 160 characters, and twitter was the hot way to do so.  I got onboard a few months ago, and found myself unable to use the service for a solid 2 week period.  Every time I had something to say, the tactfully designed error page was presented indicating “over capacity”.  While it was much more graceful than no response, or a standard 404 or 500 error page, it still carried the same effect to me; you can’t do what you want to right now.  Go away.  Of course, twitter had (and still has) no real incentive to be operational.. until they can make money of me saying short messages, its just costing them money.  It took twitter a few months of what seem (and continue to be) pretty solid re-architectural work.  Features that were initially available quickly were ‘disabled’ [read as: poorly implemented], and there were rolling outages amongst the rest of the features.  No, I can’t blame the whole thing on their choice of languages, but rails helped avoid some of the core thinking that I put in to every application I work on.  Crafting in  rails mostly avoids the whole database thing, and does a pretty strong job to avoid the whole “now which components will I need to include for this feature.”  I don’t mean to insult twitter.  I use it and it works great,  there are tons of other poorly implemented MVC framework applications out there.

You’ll still see me writing in popular MVC frameworks, but probably not for any application that I expect to ever take off.  In the freak chance there is an application that I do produce and keep in an MVC framework after its popular, you can be certain of one of two things.  You choose which is more likely.

  1. I haven’t had the time to rewrite it.
  2. I’ve spend more time than I should testing the framework.

Off topic: My annual Christmas blog will be arriving later this week.  My iTunes must be playing from my Top Music list, or the shuffle is treating me extremely well today.  I need to call Larry and be like “Hey, give me the name Bamnet back!”

No Comments »

Recycling Center Closing

December 20th, 2008 Posted in College, Stupid People | No Comments »

The Town of South Hadley has purchased into one of these “community notification” systems, similiar to those most colleges are buying into.  The system provides an central point for sending out text messages, phone calls, and emails to a large number of people in a very short period of time.  I think this makes a lot of sense.  The town should be able to call my house, as well as everyone else in the town, in the event of an emergency, like a forest-fire, and inform us that we need to evacuate.  Sure, we can opt-out and all that jazz which is fine.

My problem is in the usage of the system.  The town has been going “notification crazy” over the past few days.  I’ve been in town less than a week and my household has already received 3 community notifications.  Let me try and detail the specifics of each one for you:

  1. Wednesday, Dec 17 11:57 am – The recycling center will be closed on Christmas and New Years.  Do not bring your recyclable items on these days.
  2. Friday, Dec 19 7:57am – A parking ban is in effect, do not park on certain sides of the street.
  3. Friday, Dec 19 8:12am – A parking ban is in effect, there is a town parking lot available across from the Egg & I.

Please note that these are just my summaries of the calls, I didn’t actually recieve the two on Friday, but I believe I got a pretty accurate description from my mom.

Looking at these calls, none of them were urgent by any means.  Personally, I don’t care about a parking ban, a parking lot, or the recycling center.  I mean sure, I would hate to drive all the way to the dump to find out it is closed on Christmas, but who really expected it to be open in the first place.  What’s next, calling everyone to tell them that Town Hall will be closed on Christmas?  Maybe I’m the only one who thinks this, but I think the town really likes to use their community notification system… a system that I think should be renamed to emergency notification system.  Unless there are different levels of communication, and my parents have opted into the “tell us everything that is ever happening” level of communication, this service is being poorly used.  I’m all for getting you monies worth, but the police don’t go around shooting at speeders because they have a stockroom full of bullets!  I would heavily suggest to the town, whoever is in charge of this, to stop crying wolf at me when there is snow in the forecast or holiday closings.  Please do call me when my house is going to burn down, the river is flooding, or a small army is taking over the town and we need to retreat into the woods.

In other news, RPI has started to “prune the tree” aka lay people off to save money in an effort to sustain their “core programs.”  Personally, I am pretty confused about what the “core programs” are at RPI.  I can tell you they are not educating undergrads, nor supporting student driven projects, or student organizations.  I don’t think recruiting world-class faculty is a core program either, as most of my professors might be world-class if the world was still in the 70’s.  I do like how they waited for all the students to leave for break.  It would have been terribly awkward to be fired while meeting with a student or something like that.  I guess they also avoided students speaking out against these firings, which would have likely happened to a larger extent if we were on campus.

I’m off to the mall, gotta get something for my brother’s birthday I guess.

No Comments »

Soliloquy of a Lost Cosmonaut

December 15th, 2008 Posted in Life, Personal | 1 Comment »

Editors Note: This is part of a blog series published very rarely, the last article was written by this author in 2006.

It’s quite unfortunately to cut oneself free.  You loose the tether and gain the world but where does this really put me?  Providing but many an eternity.  To figure it out I had no choice, there is no in between.  If I was on earth I’d walk the line, teetering, totterings from side to side.  Up here its not that easy, maybe its down here, I’ve lost much track of time.  Its not easy to come and go as a I please, you cannot sample with the powers that be.  Regretting much, or missing lunch, I’m barely late for tea.

Some time has passed since I’ve taken a good shower.  The most recent mornings have been rushed with evacuations, exams, and other important situations requiring my attention.  Unfortunately this week is planned out much the same.  I need some time to think and regroup, restrategize, and figure out where to move next.  Certainly  I cannot be burned again.

I find it most effective to remain objective, focused on the long term goals but sometimes the short term solutions just seem so appealing.  Last night I almost found myself overtaken by one, luckily this morning I wrestled with my logic and but it back into its place, the dumb ideas you should avoid box.  I’ve found over time this box fills up far quicker than the “good ideas & plans to keep being worked on” queue does.

They say what doesn’t kill us makes us stronger.  I disagree with basic analysis that.  What doesn’t kill us forces us to adapt.  Only if we adapt, evolve, and overcome are we stronger.

I would like to talk to you.  You know who you are and how to contact me.  Our discussion could be quite lighthearted, and you may learn some things I’d rather not share.  I’ll be ready when you are.

1 Comment »