Three months after the initial beta release, Revolution Health launched yesterday to much fanfare and celebration. Yours truly is privileged enough along with 280 or so other employees to be a part of this incredible startup. To celebrate, the company rented out the Beacon Hotel just down the street and provided an open bar and appetizers. For some, it seemed like it was the first of the outside world they'd seen in several weeks after having worked furiously to get the site ready for launch.
Though I wasn't locked away I was working some pretty heavy hours to make sure that our group's section of the site was working seamlessly. It feels a bit strange to finally be on the other side of it all, as if we've stepped through some sort of door. One thing's for sure, there is no going back. From here on out, the health industry is going to wake up and listen and not just to us, but to consumers as well.
Our competition seems to be taking the hint. From imitating our look and feel (it's the sincerest form of flattery, right?) to adding a 'community' section, they are doing their best to keep up. Coincidentally enough, on the day of our launch they fired their CTO. Some people have theorized as to whether this was a signal to us but there's no way to be sure.
What is certain though is that we only needed to do something disruptive in either health care or technology to be revolutionary but we have instead chosen to take on both fronts. A brand-new approach to health care combined with the amazing Ruby on Rails framework means that we will be that much harder to beat. Let the race begin.
Showing posts with label ruby on rails. Show all posts
Showing posts with label ruby on rails. Show all posts
Friday, April 20, 2007
Monday, April 16, 2007
Back from hiatus
Yes, so I know it's been a long time since I've posted here and all I can say is that I have some very good reasons for my hiatus. The big one would have to be work. In preparation for our launch this Thursday, our full site release mind you, I've been working 12 hour days. Trying to maintain even the shadow of a social life in light of these long hours has been difficult to say the least.
In addition, I have also been spending time building my character in World of Warcraft. I'll probably dedicate a full post to that sometime later this week. Needless to say, while some will point to this as evidence of WoW's addictive powers, I can assure you that a few hours spent gaming online every now and then does not make one an addict.
Thanks to work pressures I feel like my Ruby/Rails knowledge has increased exponentially in the past few months. From plugins to ActiveRecord, the need for efficient easily-maintainable code has forced me to dive into Rails' inner workings. It's been tough but I feel that I have a much better idea now of what's going on behind the scenes.
So in effect, work is the culprit. I can only hope that in the future I will be able to drag myself away from it to blog on at least a weekly basis.
In addition, I have also been spending time building my character in World of Warcraft. I'll probably dedicate a full post to that sometime later this week. Needless to say, while some will point to this as evidence of WoW's addictive powers, I can assure you that a few hours spent gaming online every now and then does not make one an addict.
Thanks to work pressures I feel like my Ruby/Rails knowledge has increased exponentially in the past few months. From plugins to ActiveRecord, the need for efficient easily-maintainable code has forced me to dive into Rails' inner workings. It's been tough but I feel that I have a much better idea now of what's going on behind the scenes.
So in effect, work is the culprit. I can only hope that in the future I will be able to drag myself away from it to blog on at least a weekly basis.
Tuesday, November 28, 2006
Mario's last day at work
When I first started at my current company, I was placed in the Ruby group working on community-oriented features. At that time we were a mishmash of Ruby, Java and Python but eventually the scope was reduced such that Java was nearly taken out of the picture all together. As a result, many of the Java programmers found themselves without much work to do and so they picked up a Ruby book and started reading.
Within a few weeks they were all up to speed and cranking out code. Slowly, we stopped seeing each other as Ruby vs. Java and begin to identify instead with the product we were working on. Old alliances gave way to new ones and people who I had once thought of as hostile seemed much more amicable.
One of these formerly hostile types was a guy named Mario. His height and booming voice combined to make him stand out in our colorless cube farm. He also had a strange occupation with a place called Java Green where he went everyday for lunch and returned boasting of their tofu chicken and rice bowl. I eventually accompanied him on one of these outings and offered him my advice on which Ruby book was best for a beginner with lots of Java experience.
That was nearly three months ago and in the time since we've become great friends. From late nights at work writing "f'ing migrations", as he so eloquently put it, to clubbing at 1223 across the street, we've certainly had an interesting past couple of months. And despite that his new job is way out in the 'burbs, I am confident that we will remain great friends.
Mario, you will be missed.
Within a few weeks they were all up to speed and cranking out code. Slowly, we stopped seeing each other as Ruby vs. Java and begin to identify instead with the product we were working on. Old alliances gave way to new ones and people who I had once thought of as hostile seemed much more amicable.
One of these formerly hostile types was a guy named Mario. His height and booming voice combined to make him stand out in our colorless cube farm. He also had a strange occupation with a place called Java Green where he went everyday for lunch and returned boasting of their tofu chicken and rice bowl. I eventually accompanied him on one of these outings and offered him my advice on which Ruby book was best for a beginner with lots of Java experience.That was nearly three months ago and in the time since we've become great friends. From late nights at work writing "f'ing migrations", as he so eloquently put it, to clubbing at 1223 across the street, we've certainly had an interesting past couple of months. And despite that his new job is way out in the 'burbs, I am confident that we will remain great friends.
Mario, you will be missed.
Friday, September 08, 2006
Teaching Ruby on Rails
Despite nearly a year of programming with the Ruby on Rails framework, teaching the subject is quite a different beast. A few months ago I mentioned Ruby on Rails (RoR from here on) to my cousin who then mentioned it to her boss that runs a training center in Columbia, Maryland. The more he read about it, the more excited he became about its potential growth. By this time I had moved to the DC area and was just an hour's drive away so it wasn't too long before I got a phone call inviting me to talk to him about RoR.
Now understand that I am very passionate about programming in RoR, even to the point of being evangelical about it. Michael, who runs the training center, has a background in programming and he immediately latched onto the power of a dynamically-typed, very expressive language such as Ruby. The presence of the Rails web framework, which makes J2EE look like a Model T, was an added bonus.
My lesson plan was centered around a two-hour presentation split between Ruby and Rails. For the Ruby half, I used Pickaxe as my template. It's such a well-organized book in how it teaches the Ruby language. Yet translating that into a one-hour class gave me cause to worry for the entire week leading up to the session. Eventually I settled on a "write as you speak" approach. Seeing as I'm a better programmer than public speaker, I wrote a small application that hit on all the major points of the Ruby language and printed out the code as a reference. Then over the course of the first hour, I rewrote the program from scratch stopping to answer questions or to highlight anything that wasn't immediately clear.
The second half of the lesson centered around Rails though after a small break I had only 45 minutes left. I must point out here that even though an intimate knowledge of Ruby is not required for developing applications in Rails, on a personal level I think it helps immensely, especially if you need to roll your own plugins. But with less than an hour to show off the power of Rails, I decided to go with a simple CRUD application relying mostly on scaffolding to generate the controller and views.
I got the feeling that the audience came from a Java background and that the Rails portion of the class was really what they came for. So after creating my basic application, I opened it up to questions and boy did they have questions! They ran the full gamut and consisted of things like "How do layouts work?" all the way to "Is Rails ready for the enterprise world?" (such a loaded question coming from a Java programmer!).
All in all, it was a great experience and looking back it's strange to think why I was so nervous. Within a few minutes of the class starting I settled into a routine and when it was over it was difficult to imagine that those two hours had flown by so quickly. I look forward not only to continuing to evangelize RoR but to teach it as well if given another opportunity.
Now understand that I am very passionate about programming in RoR, even to the point of being evangelical about it. Michael, who runs the training center, has a background in programming and he immediately latched onto the power of a dynamically-typed, very expressive language such as Ruby. The presence of the Rails web framework, which makes J2EE look like a Model T, was an added bonus.
My lesson plan was centered around a two-hour presentation split between Ruby and Rails. For the Ruby half, I used Pickaxe as my template. It's such a well-organized book in how it teaches the Ruby language. Yet translating that into a one-hour class gave me cause to worry for the entire week leading up to the session. Eventually I settled on a "write as you speak" approach. Seeing as I'm a better programmer than public speaker, I wrote a small application that hit on all the major points of the Ruby language and printed out the code as a reference. Then over the course of the first hour, I rewrote the program from scratch stopping to answer questions or to highlight anything that wasn't immediately clear.
The second half of the lesson centered around Rails though after a small break I had only 45 minutes left. I must point out here that even though an intimate knowledge of Ruby is not required for developing applications in Rails, on a personal level I think it helps immensely, especially if you need to roll your own plugins. But with less than an hour to show off the power of Rails, I decided to go with a simple CRUD application relying mostly on scaffolding to generate the controller and views.
I got the feeling that the audience came from a Java background and that the Rails portion of the class was really what they came for. So after creating my basic application, I opened it up to questions and boy did they have questions! They ran the full gamut and consisted of things like "How do layouts work?" all the way to "Is Rails ready for the enterprise world?" (such a loaded question coming from a Java programmer!).
All in all, it was a great experience and looking back it's strange to think why I was so nervous. Within a few minutes of the class starting I settled into a routine and when it was over it was difficult to imagine that those two hours had flown by so quickly. I look forward not only to continuing to evangelize RoR but to teach it as well if given another opportunity.
Monday, June 19, 2006
My first day at work and other news
As first days go it was actually somewhat productive. But let's start at the beginning. I got up around 8:10am and hopped on the metro around 8:40am. From there it was about 25 minutes from Crystal City to Farragut West on the blue line, no transfers necessary. After a 10 minute walk I was in front of my building whereupon I happened to meet up with Aaron, one of the guys that interviewed me. He took me directly where I needed to go.
My co-worker Lizz gave me a tour of the place and introduced me to everybody. They were of course super friendly and eager to add a new member to the team. I also got the low-down on what the company is building. Without revealing too much, all I can say is that it is going to be a kick ass Ruby on Rails application that will redefine how Americans choose their health care.
My computer was setup fairly quickly and from there I installed Suse Linux 10.1 (dual-booting with Windows XP) and followed up with Eclipse 3.1.2 on both OSes. I was surprised to see most of the people running MacBook Pros, even the programmers! I opted for a Dell desktop which amazingly came with an ATI x600 video card. Hmm, perhaps work could double as a LAN gaming center.
So while work is going great there is still a bunch of mundane stuff that I need to take care of. The movers won't be showing up for another few weeks still (never use Allied!!) and I need to take my car in to be smog tested. I should probably try to do some more stocking of my cabinets while also making time to explore the local area. All in all though, I am getting on well here. It will just take some time before I am settled in.
My co-worker Lizz gave me a tour of the place and introduced me to everybody. They were of course super friendly and eager to add a new member to the team. I also got the low-down on what the company is building. Without revealing too much, all I can say is that it is going to be a kick ass Ruby on Rails application that will redefine how Americans choose their health care.
My computer was setup fairly quickly and from there I installed Suse Linux 10.1 (dual-booting with Windows XP) and followed up with Eclipse 3.1.2 on both OSes. I was surprised to see most of the people running MacBook Pros, even the programmers! I opted for a Dell desktop which amazingly came with an ATI x600 video card. Hmm, perhaps work could double as a LAN gaming center.
So while work is going great there is still a bunch of mundane stuff that I need to take care of. The movers won't be showing up for another few weeks still (never use Allied!!) and I need to take my car in to be smog tested. I should probably try to do some more stocking of my cabinets while also making time to explore the local area. All in all though, I am getting on well here. It will just take some time before I am settled in.
Wednesday, May 31, 2006
Changes
Looks like I'll only be posting twice for the entire month of May. Believe it or not, I have a very good reason for my absence. About two weeks ago I received a call from a company based in Washington, D.C. that wanted to interview me. What attracted them to my skillset was my time in the healthcare industry and my hands-on experience with Ruby on Rails. I did the necessary interviews and lo and behold, they offered me a job which I eventually accepted.
So after less than a year at Health First Health Plans I find myself packing up my cube to move to a different company. I've enjoyed the time I've spent with the company and value the friends I have made. On a larger scale, I'm going to miss the friends that I've made here in Melbourne, Florida. It is nearly four years to the day that I started work at Harris and embarked down my career path of web application development. It has had its ups and downs but overall I'm satisfied with the direction it has taken.
The next time I post here, it will be from the heart of our nation's capitol. In the words of Douglas Adams, so long and thanks for all the fish!
So after less than a year at Health First Health Plans I find myself packing up my cube to move to a different company. I've enjoyed the time I've spent with the company and value the friends I have made. On a larger scale, I'm going to miss the friends that I've made here in Melbourne, Florida. It is nearly four years to the day that I started work at Harris and embarked down my career path of web application development. It has had its ups and downs but overall I'm satisfied with the direction it has taken.
The next time I post here, it will be from the heart of our nation's capitol. In the words of Douglas Adams, so long and thanks for all the fish!
Wednesday, February 22, 2006
Nothing personal, it's just business
So for the past three weeks I have been working my tail off to do by myself in Ruby on Rails what took my predecessors years to do in J2EE. That is, rewrite my company's web portal, albeit only a portion of it, which will be shown at a demo. Thanks to Rails' fully featured stack and the wonderful simpleness that is Ruby, I'm nearly done. The hard part has been getting some of the team members to get their tasks done. They're not lazy, they are in fact very hard workers but they are absolutely swamped with other stuff and this is at the bottom of their priority list. I'm quickly finding out that managing a project and doing just the programming as I am accustomed to are two very different things.
Sometimes I wonder if all this hard work is really worth it. Only a month ago management was touting my proposal as the panacea to their problems. Costing only $15,000 and taking less than six months to complete looked very appealing. Of course, the more conservative members of the corporate IT team didn't think it could be done, hence the reason for this one month frenzy of coding to get a working demo out there.
Yet while I'm performing this Herculean task, management is actively seeking external solutions, i.e. vendors. Ugh, the "V" word. It's not that I hate vendors per se, that's too strong a word. It's just that they tend to promise the world and rarely deliver on it yet get away with charging an outrageous sum of money. Colleagues with more experience in the industry than I have tried to explain it using terms like "mitigating risk", "outsourcing experience", and "long term management". But when a product costs 100 times more (that is not an exaggeration in this case) , won't be delivered for at least a year and has little to no customization available, it really makes you wonder what sort of solution management is looking for.
On the plus side though, it's good to know a manager and their fiscal year's budget are so easily parted. It ensures that the smartest workers of this country's growing knowledge-based economy will always have gainful employment provided they charge the "right" price.
Sometimes I wonder if all this hard work is really worth it. Only a month ago management was touting my proposal as the panacea to their problems. Costing only $15,000 and taking less than six months to complete looked very appealing. Of course, the more conservative members of the corporate IT team didn't think it could be done, hence the reason for this one month frenzy of coding to get a working demo out there.
Yet while I'm performing this Herculean task, management is actively seeking external solutions, i.e. vendors. Ugh, the "V" word. It's not that I hate vendors per se, that's too strong a word. It's just that they tend to promise the world and rarely deliver on it yet get away with charging an outrageous sum of money. Colleagues with more experience in the industry than I have tried to explain it using terms like "mitigating risk", "outsourcing experience", and "long term management". But when a product costs 100 times more (that is not an exaggeration in this case) , won't be delivered for at least a year and has little to no customization available, it really makes you wonder what sort of solution management is looking for.
On the plus side though, it's good to know a manager and their fiscal year's budget are so easily parted. It ensures that the smartest workers of this country's growing knowledge-based economy will always have gainful employment provided they charge the "right" price.
Wednesday, February 08, 2006
Two week hiatus
The hiatus was not intentional, more just the result of being extremely busy. Work last week was hectic especially in light of all that's going on there with my proposal to use Ruby on Rails. As it turns out my charm offensive was not nearly as effective as I hoped it would be. After taking the time to setup the accounts for the guys so they could try it out I get a snide email chiding me for going with non-standard software. And to add insult to injury my logs show that none of them have even logged in. I've only got one thing to say to that: don't knock it till you try it guys.
I was also super busy last week getting ready for my big trip to Washington, D.C. and oh boy was it big! I went up there to see my good friends Mike and Shayan. Brazilian restaurants, trendy clubs and hookah bars made up the majority of our nighttime activities. But by far the high point of the trip was the Smithsonian National Air & Space Museum. I absolutely love airplanes, jets, rockets and anything else that leaves this earth under its own power. I probably get it from my Dad who works on aircraft for the Navy.
So though I may have been derelict in my blog duties these past few weeks I can't say that I wasn't busy doing something else. And though I would like it to be higher, I seem to have found a balance with one or two postings a week.
I was also super busy last week getting ready for my big trip to Washington, D.C. and oh boy was it big! I went up there to see my good friends Mike and Shayan. Brazilian restaurants, trendy clubs and hookah bars made up the majority of our nighttime activities. But by far the high point of the trip was the Smithsonian National Air & Space Museum. I absolutely love airplanes, jets, rockets and anything else that leaves this earth under its own power. I probably get it from my Dad who works on aircraft for the Navy.
So though I may have been derelict in my blog duties these past few weeks I can't say that I wasn't busy doing something else. And though I would like it to be higher, I seem to have found a balance with one or two postings a week.
Thursday, January 26, 2006
Stepping over the stones
Yesterday I headed on up to what's affectionately referred to as the Business Center. It's where a lot of our hardware is located and also serves as offices for some of my colleagues who aren't quite in the same organization as me yet I have to deal with them regardless. They're nice enough folk but their mindset is a bit different than ours. They would argue that we don't necessarily "get" the grand plan while we would counter that our direct interaction with customers, as opposed to just fellow employees, doesn't allow us such a luxury.
So in the bi-weekly meeting that I attend up there I dropped the bombshell that I was planning on using Ruby on Rails in the rewrite of our web portal. Now understand that our current version, which was written before I started working there, is nowhere near what was promised to upper management in terms of capability and speed. Add onto that the enormous costs and the fact that the final product still hasn't been delivered and you can see how the people I answer to would be a bit anxious to get something rolling.
But naturally my colleagues didn't see it that way. Immediately a furor was raised over how I was going against the ingrained standards of the company and how difficult it would be to support an application written in an "alien" language. They made it seem as if it was Sean vs. The Holy J2EE Standard. Regardless, I know that the way to get Ruby through the system is not with direct confrontation. I did plenty of that at my last job and would much prefer to build bridges here. So I'm going the other route: I'm gonna charm 'em.
Upon return to the sanctuary of my cube I immediately set about creating accounts on my Linux box for each of those programmers who raised an objection. I then gathered all the helpful tutorials and links that I used when I was learning Ruby on Rails and put all the information into a nicely formatted, kindly worded email. The idea is that once they see the true power of this amazing framework they will better understand why I am going this route. I don't expect to make converts out of them overnight but I do hope that they drop their blind reluctance to it and give it the chance it deserves.
So in the bi-weekly meeting that I attend up there I dropped the bombshell that I was planning on using Ruby on Rails in the rewrite of our web portal. Now understand that our current version, which was written before I started working there, is nowhere near what was promised to upper management in terms of capability and speed. Add onto that the enormous costs and the fact that the final product still hasn't been delivered and you can see how the people I answer to would be a bit anxious to get something rolling.
But naturally my colleagues didn't see it that way. Immediately a furor was raised over how I was going against the ingrained standards of the company and how difficult it would be to support an application written in an "alien" language. They made it seem as if it was Sean vs. The Holy J2EE Standard. Regardless, I know that the way to get Ruby through the system is not with direct confrontation. I did plenty of that at my last job and would much prefer to build bridges here. So I'm going the other route: I'm gonna charm 'em.
Upon return to the sanctuary of my cube I immediately set about creating accounts on my Linux box for each of those programmers who raised an objection. I then gathered all the helpful tutorials and links that I used when I was learning Ruby on Rails and put all the information into a nicely formatted, kindly worded email. The idea is that once they see the true power of this amazing framework they will better understand why I am going this route. I don't expect to make converts out of them overnight but I do hope that they drop their blind reluctance to it and give it the chance it deserves.
Tuesday, November 15, 2005
The cutting-edge and its place in production environments
The software developer constantly balances on the tip of a sword in their daily job. On the one hand they need to write production-quality applications in an efficient manner. But on the other hand, new tools and products are coming out every day that can help developers speed up their coding and also make their projects that much better.
These new tools however are not always ready for the production environment. I am especially wary of relying on products that are not v1.0 yet. But even those tools that are supposedly mature can introduce an untold number of bugs. When my former employer decided to go from ColdFusion 5.x to MX 6.0, the number of bugs doubled overnight. What had once worked in the old version, such as loosely-typed date formatting, no longer worked in the Java-powered strictly-typed 6.0. A minor revision a few months later helped in some places yet caused even worse bugs in others. But because in that few months time we had written applications that took advantage of all the new features there was just no going back.
In retrospect it was a good decision to upgrade however, certain steps should have been taken beforehand to analyze what changes a major upgrade would bring. This is why it is so important to have both a testing and development server in addition to a production server. With both of these tools we could have continued to develop in ColdFusion 5 while testing version 6 on a limited basis. When we made the switch to version 7, much more precaution was taken and though I was no longer employed there to see the final push I can only hope that the extra servers helped ease the transition.
Currently I am toying with the idea of using Ruby on Rails as the platform on which to build the next incarnation of my company's health portal. Whereas the accepted standard at the company is J2EE, recent articles have convinced me that the Ruby path is the true path though it may be harder in the short term with regards to management. In actuality, management at my company is fairly progressive and has never given me reason to think that they doubt in their programmers' abilities. And now that Rails is approaching the big 1, it will make adoption of it as an enterprise-capable platform that much easier.
Do not be afraid of something simply because it is new. The future is coming regardless of how we feel about it. Just as Java was once at the forefront of web application development, so I believe that Ruby is in that position today. But before you make that leap to a new technology make sure you have your contingency plan in order and are ready to put in some long hours if necessary.
These new tools however are not always ready for the production environment. I am especially wary of relying on products that are not v1.0 yet. But even those tools that are supposedly mature can introduce an untold number of bugs. When my former employer decided to go from ColdFusion 5.x to MX 6.0, the number of bugs doubled overnight. What had once worked in the old version, such as loosely-typed date formatting, no longer worked in the Java-powered strictly-typed 6.0. A minor revision a few months later helped in some places yet caused even worse bugs in others. But because in that few months time we had written applications that took advantage of all the new features there was just no going back.
In retrospect it was a good decision to upgrade however, certain steps should have been taken beforehand to analyze what changes a major upgrade would bring. This is why it is so important to have both a testing and development server in addition to a production server. With both of these tools we could have continued to develop in ColdFusion 5 while testing version 6 on a limited basis. When we made the switch to version 7, much more precaution was taken and though I was no longer employed there to see the final push I can only hope that the extra servers helped ease the transition.
Currently I am toying with the idea of using Ruby on Rails as the platform on which to build the next incarnation of my company's health portal. Whereas the accepted standard at the company is J2EE, recent articles have convinced me that the Ruby path is the true path though it may be harder in the short term with regards to management. In actuality, management at my company is fairly progressive and has never given me reason to think that they doubt in their programmers' abilities. And now that Rails is approaching the big 1, it will make adoption of it as an enterprise-capable platform that much easier.
Do not be afraid of something simply because it is new. The future is coming regardless of how we feel about it. Just as Java was once at the forefront of web application development, so I believe that Ruby is in that position today. But before you make that leap to a new technology make sure you have your contingency plan in order and are ready to put in some long hours if necessary.
Thursday, November 10, 2005
Assumptions and their impact on software development
The rhetoric we usually hear about assumptions is that they "make an ass out of you and me". But I've heard another one that I think is more fitting in a lot of circumstances: assumptions are the mother of all fuck ups. This was proven beyond a doubt today when a vendor professed to us in a meeting that he had made certain assumptions about our product and that he would now need much more time to take these new 'facts' into account.
It's funny the way facts and assumptions work. For most, an assumption is a fact until it is proven otherwise. This is especially true in software design where there are so many variables that to take them all into account can cost an exorbitant amount of time. As such, programmers tend to focus only on the big ones leaving the smaller assumptions to sort themselves out. This can and often does spell disaster for large projects.
One of the ways to help minimize such dangers, besides increased communication between team members, is to decrease the complexity of a project. Remarkable advances have been made in software development to facilitate code testing without sacrificing budget, time or scope. On the Java side, I've been hearing great things about JUnit from my friends. But unfortunately for J2EE development, overall complexity still remains a huge hurdle to overcome, even for small to mid-sized projects.
Enter Ruby on Rails. This is the most ambitious project I've seen to date to try to tackle the problem of increasing complexity and overhead with regards to web application development. I've worked in many languages over the years: Perl, ColdFusion, PHP and Java just to name a few. When I saw what Ruby was capable of I didn't believe my eyes. But after I installed it and had a web application running in under 15 minutes, I knew that this was something big.
So many of the modern web application languages available today require assumptions to be made. Configuration settings, typically stored in large and difficult to read XML files, are assumed to be static but RoR makes no such assumptions. Using inspection and reflection, Ruby can change its configuration settings at runtime so that changes made to a database structure are promulgated to the application itself without having to do the reconfigure, recompile and redeploy dance so many J2EE folks have gotten used to. And most important of all, less assumptions equals less fuck ups.
Today is the first day of the rest of my web development life. I had two books waiting for me when I got home and I can hardly wait to crack them open. So after I sign off here I'm off to dive into my new RoR books. Look for more articles here on this subject as I learn about this amazing new framework.
It's funny the way facts and assumptions work. For most, an assumption is a fact until it is proven otherwise. This is especially true in software design where there are so many variables that to take them all into account can cost an exorbitant amount of time. As such, programmers tend to focus only on the big ones leaving the smaller assumptions to sort themselves out. This can and often does spell disaster for large projects.
One of the ways to help minimize such dangers, besides increased communication between team members, is to decrease the complexity of a project. Remarkable advances have been made in software development to facilitate code testing without sacrificing budget, time or scope. On the Java side, I've been hearing great things about JUnit from my friends. But unfortunately for J2EE development, overall complexity still remains a huge hurdle to overcome, even for small to mid-sized projects.
Enter Ruby on Rails. This is the most ambitious project I've seen to date to try to tackle the problem of increasing complexity and overhead with regards to web application development. I've worked in many languages over the years: Perl, ColdFusion, PHP and Java just to name a few. When I saw what Ruby was capable of I didn't believe my eyes. But after I installed it and had a web application running in under 15 minutes, I knew that this was something big.So many of the modern web application languages available today require assumptions to be made. Configuration settings, typically stored in large and difficult to read XML files, are assumed to be static but RoR makes no such assumptions. Using inspection and reflection, Ruby can change its configuration settings at runtime so that changes made to a database structure are promulgated to the application itself without having to do the reconfigure, recompile and redeploy dance so many J2EE folks have gotten used to. And most important of all, less assumptions equals less fuck ups.
Today is the first day of the rest of my web development life. I had two books waiting for me when I got home and I can hardly wait to crack them open. So after I sign off here I'm off to dive into my new RoR books. Look for more articles here on this subject as I learn about this amazing new framework.
Thursday, November 03, 2005
Com os belos companheiros
The title of this (my first!) blog comes from a Brazilian drinking song and means "with my beautiful friends". I've only managed to memorize the first and last verses but I keep trying. Hmm, I suppose folks might be wondering what I intend to write about in this space. Brazil definitely. Audis. Sirius. Counter Strike. Oh and my newest love: Ruby on Rails.
I actually had a blog about a year ago. I set it all up on my own personal website and made my best attempt to keep it up to date. But the time between updates got longer and longer. I just figured it wasn't worth it anymore and that it was more of a blight than a nice looking feature so I took it down. Lately though I've had a lot on my mind, things that I want to get out and I figure that this is as good a place as any where the entire world can read it ;-)
I've actually been surfing the web for 10+ years now. I started with a dialup account at an outfit called CNS in my hometown of Carlsbad. I was only 16 at the time and I remember having to go out and buy an additional 8MB of RAM so I could browse the Internet graphically. I'd been using BBSes for a few years at that point so the transition was fairly gentle. But once I made it there was no turning back.
High school graduation happened a few years later followed by college graduation and recruitment by a central Florida-based company called Harris. Times were good at Harris for awhile but then things turned sour. To save this space from becoming a rant against bad management (and a few bad managers in particular) let me just cut it short by saying that I ended my tenure there to begin working at a great local company called Health First Health Plans.
In the three months since I started there I have come to love programming again. I was put in charge of taking a barely functioning web portal written by three wannabe CS guys (actually I think wannabe CT would be more apropos) and turning it into something that my company could market as a feature of their health plans. We're a lot closer to making that a reality, a month away perhaps, and the future is looking very bright.
Oh, you're probably wondering about the title of my blog. It comes from the fact that my favorite weapon in Counter Strike is the M4A1 (pictured right). It's a wonderful weapon only available to Counter Terrorists but whenever I play Terrorist I always take the opportunity to steal one off the dead body of a CT. That's short for a Counter Terrorist player, not somebody degreed in Computer Technology as it was referenced above.
Anyways, I've rambled on far too long for a first blog. I will do my best however to keep this space updated, unlike some certain other bloggers I know.
I actually had a blog about a year ago. I set it all up on my own personal website and made my best attempt to keep it up to date. But the time between updates got longer and longer. I just figured it wasn't worth it anymore and that it was more of a blight than a nice looking feature so I took it down. Lately though I've had a lot on my mind, things that I want to get out and I figure that this is as good a place as any where the entire world can read it ;-)
I've actually been surfing the web for 10+ years now. I started with a dialup account at an outfit called CNS in my hometown of Carlsbad. I was only 16 at the time and I remember having to go out and buy an additional 8MB of RAM so I could browse the Internet graphically. I'd been using BBSes for a few years at that point so the transition was fairly gentle. But once I made it there was no turning back.
High school graduation happened a few years later followed by college graduation and recruitment by a central Florida-based company called Harris. Times were good at Harris for awhile but then things turned sour. To save this space from becoming a rant against bad management (and a few bad managers in particular) let me just cut it short by saying that I ended my tenure there to begin working at a great local company called Health First Health Plans.
In the three months since I started there I have come to love programming again. I was put in charge of taking a barely functioning web portal written by three wannabe CS guys (actually I think wannabe CT would be more apropos) and turning it into something that my company could market as a feature of their health plans. We're a lot closer to making that a reality, a month away perhaps, and the future is looking very bright.
Oh, you're probably wondering about the title of my blog. It comes from the fact that my favorite weapon in Counter Strike is the M4A1 (pictured right). It's a wonderful weapon only available to Counter Terrorists but whenever I play Terrorist I always take the opportunity to steal one off the dead body of a CT. That's short for a Counter Terrorist player, not somebody degreed in Computer Technology as it was referenced above.Anyways, I've rambled on far too long for a first blog. I will do my best however to keep this space updated, unlike some certain other bloggers I know.
Subscribe to:
Posts (Atom)



