Archive for the ‘Open Source’ Category

Firebug - The best tool any web developer can have

Posted on July 5th, 2007 in Open Source, Programming, Software | Comments

During these past months, as I’ve been learning Rails and getting my feet more and more wet with all the integrated AJAX goodness that’s inside Rails, I’ve found it increasingly frustrating to debug erroneous AJAX code. With regular web development, most of the times you can plainly see if you have an error in your code. Sometimes the results are incorrect, or some aspect of the page is displayed wrong, and other times there’s a big, fat error page letting you know something is seriously wrong. However, with AJAX, whenever erroneous code is executed, most of the times you get nothing. The page stays the same, nothing changes, except that feeling of doom inside the pit of your stomach. Then it’s time to hit the code again, trying to see if something’s wrong.

Luckily for us, there’s a very awesome tool made to debug these types of errors quickly and efficiently. Firebug is simply a godsend for anyone who works with web development of any kind. It can help you debug your web apps so easily, this is certainly one tool that I don’t know how I lived without these past couple of years. It’s a Firefox extension, so you need the Firebox browser installed to use it, no matter if it’s on Windows, Linux or Mac. But I wonder, why the hell wouldn’t you not have Firefox installed in your computer already? That’s a no-brainer.

Firebug helps you debug HTML, CSS and JavaScript. Since it’s a browser extension, it does all the debugging right in the browser, while you’re executing your page. You don’t need to load any other tool, it’s all at the touch of your fingertips. It can be used with any programming language. I’ve used it while developing in PHP, Python with Django and, of course, Ruby on Rails. Not only can you debug the code, you can even make Firebug do some neat things, like edit the HTML, CSS or Javascript code directly in the browser to see the changes immediately, and it even has a profiler that can tell you where your site is slow.

Oh, I forgot to mention the best part of Firebug: It’s 100% free. You just have to love Open Source projects. It’s still difficult to believe that people out there can put out such a quality and life-saving tool for everyone’s use without asking for a single cent in return. That’s the beauty of Open Source. I don’t know if there are any commercial tools that do what Firebug does, but I wouldn’t trade this tool for anything.

If you’re a web developer, and haven’t heard of this awesome tool, I suggest you click the link I set above for Firebug and get it as soon as possible. Unless you like torturing yourself with debugging the old-fashioned way.

Going to the “Dark Side”

Posted on June 17th, 2007 in Open Source, Programming, Software | Comments

It’s been ages since I last updated this blog. I’ve been pretty busy for the past month or so, ut it’s due to something that I didn’t want to do in the first place. Let me tell you a quick story about it.

Earlier this year, I convinced my boss to rewrite our current (and, admittedly, buggy) software from PHP to Ruby on Rails, which would be better suited for the job at hand. Since the boss wants everything to be done fast, good and cheap, obliterating the Project Triangle, then I thought that Rails would do well. I could complete the rewriting task fast (thanks to Rails and its plugins doing almost anything with ease), good (thanks to me starting to love Test-Driven Development) and cheap (less time coding and fixing bugs = more time to implement new features). It seemed like a good fit, and he agreed.

However, a few months later, he hired someone to help me with the programming and database tasks. I desperately needed help, so I agreed to this. The person he hired, a young woman with a Masters Degree in Computer Science who teaches at a local community college, then proceeded to evaluate the current system. After proposing various changes, the boss decided that since so much work needed to be done, he might as well profit out of it, so he wanted to have the program rewritten not only for our internal use, but for commercializing the program as well. His language of choice, due to recommendations from the new employee? Visual Basic.NET. Ugh.

I pleaded with him to reconsider, but his mind was set. He wanted to transfer a PHP web application into a Windows-only desktop app. And his understanding was that since Visual Basic.NET has a nice little form designer, it would be much faster to rewrite the program. I countered these points, but he didn’t want to listen to it. He wanted a Windows application he could sell, and the only programming language the other employee knew enough was Visual Basic.NET (yep, even with a Masters Degree in Computer Science, that was her strong point). I was, simply put, screwed.

I have absolutely nothing against Microsoft tools. In fact, I think they’re great. I even suggested using C# instead, as it would be a more robust platform to do this type of project. It’s simply that I think Visual Basic is something that I used in college to learn the ropes of programming, and nothing more. I ditched Visual Basic the first chance I got, immediately after I graduated from college. I hadn’t used Visual Basic for anything since late 2004. I was surely going to need some time to get up to speed in mid-2007. It’s been a while, but I’ve gotten to a point where I can program once more using this language, even if I don’t want to.

However, from my last conversations with my boss, it seems that he doesn’t want me to program much, since I had told him I was way too rusty with Visual Basic. He seems to want me to manage the entire project. I accepted, as it’s more of a challenge than to sit down and develop an application with a programming language I simply wouldn’t use if it were my project.

So, for the past couple of weeks, I’ve been getting my head into .NET programming. While I still am against choosing Visual Basic.NET as the programming language of a rather large software development project, I’ve been entertained with some things that I hadn’t used in a large-scale project with PHP. I’ve learned a lot about Continuous Integration for the automatic build and testing process. I’ve learned how to use NAnt enough to build and test my projects automatically. I’ve even learned the finer points of creating installers that will work on all systems, no matter the dependencies needed. It’s been a change of pace for me, but I’m making the best of it.

Still, I’m very disappointed in my job and this decision that was taken. My heart is with open-source and web-development projects. Sadly, I need to do that on my own time now, but most of my spare time is used learning these new tools I need for .NET development. I’m still looking for work outside of Puerto Rico (I’m 0 for 2 with companies that have contacted me after sending in my resume), so hopefully this changes soon. In any case, I’m making the best out of this situation, and at least I’m learning new things once again. But one day, I can achieve my dream and be part of a team where I know my heart is.

San Francisco, here I come… Hopefully!

Posted on April 28th, 2007 in Open Source, Programming | Comments

Before starting this post, I want to thank whoever posted my previous post about using the Digg API with Ruby and Rails to dzone. It recently made their front page, and a good amount of traffic headed this way. I hope someone found a good use on that small beginner tutorial.

Anyway, after working a while on this blog and my main site, I would like to tell the story on why this site is here today. I decided to take a look at some Rails hosting, as I wanted to start learning and actively using Ruby on Rails, so I got this small website to just experiment with different things. I had never gotten any type of web hosting before (well, outside my awful Geocities pages back in 1998 while learning HTML with Frontpage, but I hope those remain buried forever), so it was nice to finally have my own little space on the web, with a nice-sounding domain name.

However, after a while, what else was I going to do with this web space? So, I decided to start a blog, and use the main site as a way to post my resumé, my work and what I do for a living. Granted, I still don’t have too much stuff going, but that’s something I hope to change in the coming months. But the real reason of this site’s existance? I want to move to San Francisco and get a job over there.

Don’t get me wrong. I love Puerto Rico, and all of my family and friends are here, who I’ll certainly miss a lot if I leave. However, I find my chances of career advancement very limited here. The entire programming landscape, like most everywhere, is dominated by Microsoft products. And at this moment in time, I have no interest in learning .NET, C# or any other Microsoft-based language. I’m not anti-Microsoft at all, but I think my time will be better spent with what really interests me at this time, which is virtually all about open-source.

That’s the biggest difference between Puerto Rico and the United States, particularly San Francisco. There’s just many, many more opportunities for me to work with Linux, Ruby, Rails and any other open-source software available. Every time I search for job openings here in Puerto Rico, it’s pretty much all the same: System Administrators need people with MSCE certifications to work with Windows 2000/2003, or web developers who need to know ASP.NET. I’ve never seen an opening that needs someone who knows how to work with Red Hat Enterprise Linux servers, or web developers who know Rails, Django or any other open-source programming language.

Searching in different websites and job boards, it seems that California has many jobs that fit my interests. And while I’m still a relative ‘newbie’ in many programming languages, I know that if I find work in something that I would totally do for free if given the chance, I would give the proverbial 110% to that job, instead of viewing it as simply a paycheck. While I’m currently a bit happier at work due to what I’m doing now, I’ve been down that road at my current job, and it’s not really a good feeling to just go to work simply to pay the bills. I want to accomplish something. I know I won’t do that here, at least at the moment. I want to go somewhere and be part of a team that does something great.

I’ve been planning most of this year on what I need to do. I really don’t need to worry about family, as they’re all very supportive of me, and with no girlfriend or spouse, nothing is really tying me down here. I’m just saving money to be able to go later this year, hopefully before my 27th birthday this November. If all goes well, I’ll be a San Francisco resident by the time in 2008.

I’ve done a lot of research about the city and the Bay Area in particular. I’ve seen a lot of job openings, and I imagine it’s very competitive to land a good job there. But the thing that’s really holding me back now is that it’s expensive. I mean, at my current apartment, I’m paying a mere $200 per month; The cheapest one-room apartments over there are at least $750. So that’s a pretty scary thought, going over there without a job will be tough. I guess I’ll have to get used to Ramen noodles. I hope they’re as cheap as they are here!

So, any recommendations? I really hope someone from the Bay Area gets to read this and can leave a comment to set the record straight as to how life is over there, especially as far as job openings and the cost of life is. And if by any small chance you’re an employer (or are close to one), feel free to browse my resumé. I’m completely available to move to the Bay Area is needed. Hopefully this blog leads to the change I need for my career.

Lots of Rubies around

Posted on February 19th, 2007 in Open Source, Programming, Ruby | Comments

I recently came across this blog post, where someone compared various implementations of Ruby, specifically to check the speed of each. When I read this post, I wasn’t surprised at the results. I was totally surprised at how many different Ruby implementations there are. I hadn’t realized how many there were.

Now, my question is, why are there so many different implementations that run Ruby code? I haven’t read about the others, such as Rubinius or Cardinal, so I still don’t know. I would imagine that there’s different needs for each (such as Gardens Point Ruby .NET, as the name suggests). But unless there’s a reason to have all these different ports, I wonder why there are so many.

Why don’t these developers focus on the original Ruby language and strive to make it better, instead of forking off to a different road and possibly confusing new users? Like I said, I haven’t read about these other implementations, so there may be something behind this. I’ll take the afternoon to read about the other implementations, and try to find out why there’s so much interest in making different Ruby implementations instead of focusing on the original.

Ubuntu - Linux Leader

Posted on February 14th, 2007 in Linux, Open Source, Programming, Ruby On Rails | Comments

It’s been a while since I last used any Linux operating system full-time in my own computer. Back when I was in college and still had tons of free time, I would always try to get the latest and great Linux distribution just to try it out. That’s how I really got familiar with Linux. I always recommend to co-workers and other people interested in Linux to just grab a distribution, even if it’s a Live CD, and just play around with it. If they get stuck, there’s tons of help on the Internet, along with my own help, so any fears they have should disappear.

Anyway, I’m heading off topic with that, and I’ll maybe write about it some other time. For now, I wanted to write about my recent experience. I do use Linux every single day at work, but only at servers, where the command line rules them all. However, I hadn’t used Linux for the desktop in a while. I guess I didn’t want to fiddle around with installing and configuring the OS to my needs. But a friend at work told me he started using Ubuntu, and that basically got me into the Linux mood again.

I had already tried Ubuntu, ever since version 4.10, and I liked it. Still, I thought it was too “user friendly” for me. I know user friendliness is a great thing. But come on - this is Linux! It’s meant to be difficult, right? That was my previous point of view on the subject. But after installing Ubuntu once again, I’m totally hooked. The last version, 6.10, really makes a great name for itself. It has all the user friendliness you can give new users, but it also allows those power users do whatever they can do with other Linux distributions.

I obviously installed Linux to work with Ruby on Rails. I have to tell you, Rails on Windows is a bit of a pain. It just doesn’t feel right to work with Ruby or Rails in a Windows environment. I’ll also save that for some other time. But after installing Ruby and Rails here, I’ve been pretty damn productive with my Rails learnings. It’s been a really great tool.

For now, Ubuntu stands as the leader of the Linux world, at least in my option. This is the distribution that will most likely propel Linux into mainstream usage, not just for geeks like myself who just love to tinker around with these things. Other companies have been doing great on other fronts, such as Novell (with SuSE and OpenSuSE) and Red Hat (with Fedora Core and its own Enterprise Server). But to me, Ubuntu is the distribution that will help get Linux into many homes that have only seen Windows stuff before. And with Windows Vista’s apparent shortcomings (I haven’t tried the OS yet, so I may be misinformed), along with Apple’s very excellent Mac OS X (with increased Apple hardware sales), I think these systems that are in the minority will finally gain some market share that Microsoft has been hogging for years. Look out, Vista.