Meditations on programming, startups, and technology
Currently Browsing: General

Upgrading to Rails 3

Rails 3 is a major upgrade; using it almost feels like working with an entirely new framework. Porting existing applications and acquiring the skills required to build new ones entails a significant amount of effort. You could scout the net for bits and pieces of information, but that would be time consuming and possibly frustrating. Thankfully there are resources available that have done the work for you, so you...

Web or iPhone OS applications to make money?

If you are a developer who’s interested in starting a new business or even just earning extra cash on the side, you have a few options that can lead to scalable profits and passive income. The most popular choices these days are SaaS (Software as a Service) and iPhone/iPad development. Choosing web application or iPhone OS development is a matter of personal taste, skills, goals, technical requirements, and...

Benchmarking MacRuby 0.6

Recently MacRuby 0.6 was released. The development team put a lot of emphasis on improving compatibility with Ruby 1.9, and the viability of MacRuby as a tool for developing Mac OS X applications. Focus on these aspects took precedence over performance, but I was still curious to see how well it performed when compared to Ruby 1.8.7 and Ruby 1.9, respectively. This article showcases the results of a small Ruby...

The most important programming language today

“What programming language should I study next? What framework?” I occasionally receive emails from younger — and not so young — readers alike asking me for guidance about such matters. “Use the right tool for the job” is the correct answer, but it’s cheap advice when there are a plethora of tools seemingly right for the job. For most people these days the job at hand is of course...

On the iPhone, iPad and Android Market Share

There has been quite a bit of discussion over the market share of mobile devices today (arguably, for the past few years). It all started with a link on TechCrunch, claiming that Android overtook the iPhone in terms of US traffic (according to AdMob). This being a clear case of selection bias, I set about to figure out the mobile devices used by the visitors of some of my sites during the past month. As these...

Rails, DB2 and the Enterprise

Recently Matt Aimonetti wrote an insightful article about Rails and the Enterprise. In it he identifies five core Enterprise application needs: Reliability Support Performance Advantage over the competition Integration and transition path Matt then proceeds to illustrate how Rails does a good job in regards to most of these points, despite a few existing challenges. Among these challenges, I can clearly see the...

A tale of two search engines

Remember when Altavista seemed good enough? Then along came Google and seemingly overnight everything changed. We didn’t even know that it was possible to receive such good link suggestions from a search engine. Yet there, right before our very eyes, it happened. These days, highly popular search engines are worth billions of dollars, mainly thanks to the massive advertisement businesses that can be built on...

My kingdom for an iPad

Tomorrow the iPad goes on sale in the States. Announced in January, the iPad sits squarely between a laptop and an iPod Touch. Large lines are expected to form in front of Apple Stores across America; ants scurrying to grab their crumbs. What is uncertain is whether this release is going to be much ado about nothing or more an event that will revolutionize the computer market. Among the iPad shortcomings are the...

Switching from Feedburner Email to AWeber for my newsletter

This is just a brief post to let my readers know that I’m switching from Feedburner Email’s service to AWeber to handle sending out my posts via email. Why am I switching from a free service to a commercial one? Because AWeber offers countless features that I plan to use, plus it’s a lot more flexible than Feedburner. This change will only affect email subscribers. My Atom feed will still be...

Heads up: IBM is looking for top notch student hackers

As a thank you for following my blog, I’d like to introduce you to what I think is a great opportunity for the right students. My team is looking for two bright students for a 16 month, full-time internship opportunity with IBM. Aside from being a bright and ambitious student, you should currently be working towards a Computer Science degree at any recognized University in the world (and have completed at...

Setup Ruby Enterprise Edition, nginx and Passenger (aka mod_rails) on Ubuntu

The following is a very short guide on setting up Ruby Enterprise Edition (REE), nginx and Passenger, for serving Ruby on Rails applications on Ubuntu. It also includes a few quick and easy optimization tips. We start with setting up REE (x64), using the .deb file provided by Phusion: wget http://rubyforge.org/frs/download.php/66163/ruby-enterprise_1.8.7-2009.10_amd64.deb sudo dpkg -i...

Add code highlighting to your Google Waves

Google Wave is still rough around the edges, but it has a lot of potential in terms of becoming a great collaboration tool. As a developer, your first question will probably be: “How do I add code highlighting to my waves?”. The answer is straightforward, however not very easy to find if you google it. I hope this post will help fellow developers who are experimenting with Google Wave. The following...

Getting MacRuby’s compiler to work

There is major news in Rubyland today. MacRuby’s team just released their fist beta of version 0.5 (an experimental, still incomplete version of Ruby), which brings JIT, removal of the dreaded GIL (Global Interpreter Lock), native threads, GCD (Grand Central Dispatch) for multicore computing, and a whole new set of features found in the release announcement to the table. The most important new feature is the...

The CRTC tries to eliminate ISP competition in Canada

The CRTC is at it again. This time they want to allow Canadian phone companies to cut off their wholesale offering, essentially killing ISP competition in Canada. Please express your concerns here, where you can quickly email Industry Minister Tony Clement, Prime Minister Harper, the Opposition Leader (Michael Ignatieff) and your local MP. Let them know that you care about this important issue. For more details,...

Cell Phone Cost Calculator Killed In Canada. Enough Is Enough!

Having been born and raised in Europe, I find the Canadian Telco sector appalling. In what is an otherwise outstanding country, the monopolistic tendencies and de facto cartels of the phone companies are screwing over Canadian residents, and there is very little being done to counteract this. Recently Bell got its way again, and UBB (Usage Based Billing) was introduced regardless of what thousands upon thousands of...

Do programmers still buy printed books?

Yesterday I published a post titled My latest order of programming books, which received a fair number of comments both here and elsewhere online. Aside from a few good suggestions for other must-read books for programmers, there were several comments about how buying hard copies of books in this day and age is stupid. A few advocated piracy as an alternative to buying books, printed or not. Aren’t we supposed...

My latest order of programming books

A few days ago it was my birthday. This year I decided to reward my aging self with some books I’d had my eyes on. My budget was roughly $250, nothing to snicker at, but programming and computer science books aren’t exactly famous for being inexpensive. The hardest part was shortlisting only a few titles, out of a substantial number of books that interest me. This ruthless streamlining was not solely...

Why technical marketing is important for programmers

Most programmers I know hate marketing. Their dislike stems from two root causes: the fact that they aren’t naturally good at it, and their misconception of what technical marketing actually is. “Naturally” is the keyword here, given that technical marketing takes a certain sort of conscious effort and is a skill (a social one) that can be learned, just like programming. I fully understand that...

Serving Django Static Files through Apache

Django’s development server is capable of serving static (media) files thanks to the view django.views.static.serve. Popular web servers like Apache, Lighttpd or NGINX are much faster though, and as such should be used in production mode. Our goal is to bypass Django and let Apache (or other valid alternatives) directly serve static files like images, videos, CSS, JavaScript files, and so on, for us. Generally...

In defense of ad-based business models

In the past I have been a strong advocate of web business models a la 37Signals, where you get to charge your users for a product or service that is provided. I still believe deeply in the viability of such an approach when it comes to making money online (in fact ThinkCode.TV will essentially do just this) – after all it’s the Internet equivalent of what we’ve been doing for thousands of years...

« Previous Entries Next Entries »

Copyright © 2005-2012 Antonio Cangiano. All rights reserved.