Merb - your code and savior

Over the past few weeks, I have settled in at my new job. It is time to get back into the blogging universe. This should have happened awhile back, but I was caught up in the Ruby universe checking out everything that it has to offer. The project I find most compelling in the Ruby community currently is called Merb. It is a framework based in Ruby and modeled after frameworks like Rails. The main difference from Rails is its slim, clean code base. Having such a structured code base makes it much easier to bend to your will. Rails is infamous for forcing programmers to bend to its specifications. That meant if you wanted to do something outside of what the framework is meant for, you had to “hack” a workaround. Merb is much different since it encourages users to bend the framework to new and innovative ways. This is all achieved through the minimal code inside the framework. In comparison, Rails is absolutely massive. It is not only the kitchen sink, but the entire house! If you get a chance it is definitely something worth playing around with or even contributing to :)

HTML and CSS are today’s assembly code

I used to think HTML and CSS were fine languages. Then I met Haml and Sass, and now I see the light. But first, a little perspective is in order.

Here is the assembly code and then the C code for a simple assignment and calculation:

Assembly C
MOVF id3, R2
MULF #60.0, R2
MOVF id2, R1
ADDF R2, R1
MOVF R1, id1
position = initial + rate ∗ 60

Compared to assembly language, C is operating at a much higher level, with benefits too obvious to enumerate here. But don’t forget that assembly language was a huge step up from hand-rolling machine code. And also recall that C++ took C to a new level of abstraction of by adding classes and templates. A language is “high-level” only in comparison to its brethren. Read More

RESTful Databases are finally here

The modern, SQL-driven relational databases arrived in the 80’s, before the Web had taken off. When developers started to build web-based applications, these databases were a natural choice for storing persistent data. Object-oriented databases (OODBs) were available, but they were not widely accepted due to performance and scalability issues. Here is the crucial point: relational databases were not chosen because they were a great fit for Web apps, they were chosen because that was the only realistic option available at the time.

With the arrival of Java and other object-oriented languages, the shortcomings of relational databases became more obvious. Developers now had to map their classes to tables in the database. Object-relational mappers like Hibernate made this process less painful, but it remained an awkward solution compared to using a real OODB. Read More

Ruby on Rails is good for concepts but not much else

There is an announcement about Twitter potentially moving away from the Ruby on Rails framework and looking for alternatives. In the article it suggests that Twitter is looking to migrate toward a Ruby only architecture. All this is no shock to anyone who has attempted designing a Rails-based application as a flagship product.

Every startup is focused on the same thing and that is getting a product out the door at a minimum amount of cost. The easiest way to ensure low cost is to cut down on physical development time. What I mean by physical development time is the actual time it takes to go from paper to final product. This is where Ruby on Rails has found its niche. Rails has been hailed as being the best thing since sliced bread when it comes to rapid development. I am not going to debate this fact because this is exactly why I use the framework myself. The highly debated topic I am here to weigh in on is the points of scalability and performance. These are exactly the same two points employees at Twitter have very publicly commented on.

Read More

Twitter’s decision to abandon the Rails framework

Twitter has launched the rumor mill about a possible decision to abandon the Ruby on Rails framework. The decision comes as no surprise to anyone who has followed Twitter since its inception. The Rails framework has never experienced the kind of stress and load testing that Twitter has put it up against. The test have not always been successful which is apparent by their three day outage surrounding the Macworld event this year. As a result of these outages, employees at Twitter have been known to speak out about the work that needs to be done on the framework in order to allow applications on a large scale. These comments have been harshly received by Rails founder, DHH.

Read More

Side projects and finding interest

Finishing up my last semester of college and turning my focus to the real world of software engineering is quite a transition. As the stress of the college environment begins to diminish and my body recovers from years of caffeine and late night studying, I now am stuck with a large amount of free time. Using this free time wisely has been quite difficult, one can only watch so many episodes of Modern Marvels.

So I put my brain to work on coming up with a solution to my current free time situation. What I came up with was to take on a side project. The reasoning behind this is due to the many conceptual software designs and ideas. Over the past year I have collected about 4 different application ideas and have taken them as far as business proposals, UML diagrams and database schemas. The point of this side project is to start a development studio with these initial concepts. My goal by starting this as a side project now is to hopefully down the road turn this side project into my main business. I find this to be an excellent idea since it is never too soon to start exploring entrepreneurial interests. I think that the sooner you start the better so you have less outside responsibilities which can lead these startups to fail.

In order for me to do this side project, I realized that my best shot for success is to find a fellow developer. This developer will hopefully keep me in check with keeping to schedules developing these concepts (and vise-versa). Now I have headed off in search of this developer with posts over at Rails Work I hope I find someone who shares the same interests and meets the same criteria, but if I can’t I will still try and do this project myself so stay tuned!

Rails 2.0, where to start?

Over the past few weeks I have seen a steady increase in frequency of questions pertaining to this exact question. With the coming of Rails 2.0, there is no reason for someone new to RoR programming to start with a Rails 1.2 tutorial only to get told that is no longer the de facto method in Rails 2.0. So where should you start? Read More