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

How to setup Clojure from scratch

My previous post about Clojure generated quite a bit of interest, so I thought I’d follow it up with something a bit more concrete. I primarily wrote this article for a friend who asked me for guidance on how to set it all up; and while this isn’t he only way to setup Clojure, I hope it will help other people who are also getting started with this great language. As some people pointed out, setting up...

Thoughts on Clojure

Lisp has had a tremendous impact on the world of programming. Even though Common Lisp and Scheme — the two main Lisp dialects — may not be considered mainstream today, several popular languages have been influenced by one or both of them. It isn’t stretching things too much to say that both Ruby and Python can be seen as slower, easier (for beginners), object-oriented, infix Lisp dialects. Some may...

The pursuit of excellence in programming

As I write a series of thoughts on the pursuit of excellence in programming, I must preface my essay by asking you to ignore that I wrote these words. I invite you to evaluate the opinions and ideas presented here not ad hominem, but rather on the basis of their own merits. It would be easy to otherwise mistakenly dismiss them with the infamous question posed by Steve Jobs to a blogger: “What have you done...

The Great Ruby Shootout (Windows Edition)

This post contains the results of a Ruby shootout on Windows that I recently conducted. You can find the Mac edition, published last month, here. I was planning to have this one ready much sooner, but a couple of serious events in personal life prevented that from happening. Be sure to grab my feed or join the newsletter to avoid missing the upcoming Linux shootout. The setup For this shootout I included a subset of...

How Microsoft is changing the programming world

Several years ago I knew a programmer, we’ll call him Joe, who fancied himself to be a great developer. He was a senior developer at “Big Co.”, who received a large enough pay check to just as easily compensate a few junior developers. The guy had Microsoft certifications, as expected of one in his position, and he appeared to know Visual Studio inside and out, just as you’d imagine. What...

Ten recent programming books that will make you a better developer

Programming is the type of discipline that requires countless hours of dedication to reading and writing code, rather than purely theoretical learning from books. Yet programming books can be enlightening and provide guidance while one attempts to hone their craft in the pursuit of mastery. In this post I’ll share a (necessarily incomplete) list of relatively new books that I believe will make most developers...

Would you use a Mac mini as your development machine?

Apple just released a brand new, gorgeous looking Mac mini. This major upgrade brings us two different models: a desktop one and a server version (priced at $699 and $999, respectively). Equipped with a HDMI port, the desktop edition of the Mac mini makes for a perfect Home Theater PC. It’s small and stylish, and as such is a great fit in your living room. Most of the reviews I’ve read focus on its use...

Padrino: a Ruby framework built upon Sinatra

From the Padrino’s site: Padrino is a ruby framework built upon the excellent Sinatra Microframework. Sinatra is a DSL for creating simple web applications in Ruby with speed and minimal effort. This framework makes it as fun and easy as possible to code increasingly advanced web applications by expanding upon Sinatra while maintaining the spirit that made it great. The Ruby community has plenty of web...

Adobe AIR as the cross-platform solution of choice

Adobe has just made an important announcement: We are pleased to announce the immediate availability of the Adobe AIR 2 runtime. Starting today, you can download and install the new version at get.adobe.com/air/. Adobe AIR is rapidly becoming a very viable solution to the desktop cross-platform conundrum. MicroISVs pay attention, this new release includes a native processes API, WebKit, multi-touch and gesture...

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...

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...

IBM_DB 2.5.0 with support for Rails 3 is out

This is a tiny post to let you know that IBM just released version 2.5.0 of the IBM_DB gem with support for the upcoming Rails 3. That’s what I call both proactive and a true testament of IBM’s commitment towards DB2 on Rails. Aside from providing a working adapter and driver before the new framework release is even out, this release has a few improvements and fixes, such as getting rid of a minor...

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...

ThinkCode.TV’s English Catalog Goes Live

This is a short post to announce that ThinkCode.TV has finally gone live. Well, technically the Italian site has been live for months and is a favorite of many Italian programmers. Today however, is the first day in the life of the English version of ThinkCode.TV. The initial line-up includes a freebie about solving ASCII mazes in Python (previously released), a screencast about jQuery, another about MacRuby and...

DB2 support for Django 1.2 is here

The latest release of the IBM Adapter for Django now supports Django 1.2. Aside from enabling you to use the most recent version of Django, this release adds a few new goodies into the mix, that I’m sure many will appreciate. For example, IBM’s adapter (through the underlying DBI wrapper) now uses persistent connections, which are especially helpful when dealing with Django – as it lacks connection...

Free Python screencast about solving mazes

ThinkCode.TV’s English site is going to be launched on April 19th. To celebrate the upcoming launch and whet your appetite, a 19 minute long screencast about solving ASCII mazes with a few lines of Python code was just released for free. This video serves to illustrate Python’s elegance and power, as well as ThinkCode.TV’s approach to screencasts and education. In order to download the screencast,...

Simple suggestions for implementing passwords correctly

The usability of web forms is a subject that has been discussed extensively, and one which is supported by a large body of literature (1, 2, 3, 4). The consensus is that getting web forms right is much harder that it may initially seem. One aspect that particularly annoys me is the way most developers implement passwords and their validation. Despite the emergence of single sign-on systems like OpenID, most users...

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...

DB2 support for Ruby/Rails turns 2.0

This article is obsolete. Please refer to the following articles for up do date instructions: Ruby/Rails and DB2 | Python/Django and DB2. Thank you! The API development team just released a major version of the ibm_db gem. Detailed installation instructions are available on RubyForge (PDF). Among several improvements, there are three particularly newsworthy features: Support for Ruby 1.9; Support for mingw32, used...

« Previous Entries Next Entries »

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