
I blog too infrequently to ascribe an appropriate title Aug 15, 2009 20:18
Ahh yes, writing blog entries...for whatever reason writing blog entries takes time I don't have. But here are a few things going through my mind right now.
I'm still coding Ruby and I still love it. It's expressive, succinct and easy to read. It does have some inconsistencies (e.g. @@) and I don't like the block-local variable declaration syntax in 1.9, but it still remains a joy to work with.
I find myself writing a lot of custom gems. I like being able to package away code in a reusable, versioned chunk of goodness. I find that my business domain/"model" code fits nicely in this realm, because if I want to have consistent behavior across command line scripts or web apps, building a gem is a nice way to do it.
I haven't written many Rails applications, so understand I'm speaking out of a degree of ignorance (not stupidity), but I'll say it anyway.
I'm not a huge Rails fan. Why? Because I think it adds too much unnecessary magic on top of Ruby itself. I also think its greatest strength of being opinionated is also its greatest weakness. The Rails approach is to streamline building web application front ends to a database. It's great if you've got a greenfield CRUD type application that you want to put on the web. That's a Rails Home Run.
The problem is that it's almost too easy. Just like Scaffolding is something that is generally not used in production apps, I don't see why it's so hard to write a "model" layer by hand. ActiveRecord gives a ton of functionality and leverages a lot of nice meta-programming techniques. But if I'm writing a model layer that I'm going to be using every day for the next two years, I don't mind crafting it precisely.
IOW, I don't mind doing the work upfront because it's the core of my application that I'm going to build upon. The rails approach is great for consultants that need to get stuff done quickly and tend to things every once in a while afterwards. But if you're in it for the long term, Rails approach is actually counter productive.
I also don't cringe when writing SQL to access data in an RDBMS. There's nothing wrong with writing in the "native" language of the thing you're interfacing with, in many cases it's required to get the desired performance and behavior. Impedance mismatch is something developers have dealt with for a long time, and we continue to deal with it in HTML/XML markup it just seems the Ruby community accepts that more readily. Perhaps it's because we have awesome JavaScript frameworks like jQuery to deal with the DOM and everything else?
What it boils down to is that I like minimalistic frameworks and Sinatra is just that for Web development. Sinatra adds a thin layer on top of Rack (another awesome framework). These frameworks are enough for web development. You don't need anything else. Everything else can be added as required in standard Ruby ways. Want ActiveRecord or DataMapper? Just use it; it's just Ruby afterall. And this is the beauty of Sinatra; it's Ruby-centric web development. It doesn't try to be anything but something to facilitate web development within Ruby.
FTR, I will say that I'm a much bigger fan of Tony Bennett's music and voice, but I can live with the framework name choice.
Titanium was very smart to add mobile development to their offerings. When I saw PhoneGap at JSConf this year, I knew immediately that that was the way to build/deliver iPhone/Mobile applications. Titanium has essentially added that on top of it's desktop stuff.
It's looking really good and will probably be the basis for a lot of my future development: both desktop and mobile. I had written about Mozilla Prism and how important that project was going to be for me, but Titanium makes that irrelevant.
I really like TextMate on OSX. One of things that saves me loads of time is TextMate's ability to edit vertically. It's just so freaking brilliant and elegant. Why don't all editors support this?
Anyway, if someone has a similar recommendation for Linux, I'm all ears. Scribe, gedit, kate or geany aren't the same. e-texteditor looks interesting and I'll probably go ahead and (try to) install it on my linux box. I just wish it was a bit more polished on the linux side.
As a side note: Every developer needs a good hex editor. On OSX, I don't use TextMate for hex editing...does it even support Hex Editing? I use 0xED. On Windows I use Notepad++ which has hex editing capabilities built in. On linux, I don't think I've found anything...suggestions?
My current comment making system on this blog sucks. I'm going to look into integrating DISQUS...RSN once I have enough time to do it. If it's that important, send me email.
I find that I update my twitter feed much more frequently than I blog here. Since I only seem to blog every 6-8 months, that's not saying very much. But the reality is that twitter is definitely offering something useful to a lot of people.
Interestingly enough my brother who runs a messenger service in NYC said that one of the founders of Twitter (Jack Dorsey) used to do some tech work for them and was inspired by bike messenger/courier service dispatching to create Twitter. Some details here.
So I decided to check out what was going on in the Delphi world, since I haven't been paying attention to it at all. The first thing that struck me is that it's too hard to type "embarcadero.com" into my address bar. I have to sound it out in order to spell it.
Next I noticed that they've got a bunch of incremental features coming out with Studio 2010. Nothing that's going to be a game changer, but reasonable evolutionary things. IOW, underwhelming to me. The only thing that is a possible exception is their support for touch-based kiosk type applications...interesting but seems very niche to me.
It was wise of them to make a deal with RemObjects and get Chrome reworked as Delphi Prism. That is a sensible .NET strategy. Finally, but probably too little too late...at least for me to start any project in .NET.
Next they have this feature called "IDE Insight". It's interesting, but IMO, it is a solution that represents a larger problem: too many features within their IDE. The Delphi IDE has become this behemoth of configurations/options and functionality...it's just way too feature rich.
Anyway, nothing that makes me want to go back or choose Delphi over Titanium any time soon.
Write a comment
- Required fields are marked with *.







