The Curious Engineer

All blogs / Software / engineering practice

Programming Zen

programmingzen.com

Programming Zen is a blog about programming and emerging technologies, authored by Antonio Cangiano, a Software Development Manager and AI Evangelist at IBM.

Software / engineering practiceElixir / ErlangAI / ML

Posts
385 from 22 Dec 2005 to 13 Oct 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://programmingzen.com/feed/

2026 1

  1. Keep Production Away From Your AI Agents

2024 2

  1. I Ask Basic Questions During Technical Interviews
  2. I’m Supposed to Know

2023 3

  1. Internship at IBM: A Life-Changing Experience Awaits You
  2. Prompt Engineering for Everyone: My New Course
  3. New IBM Internship Opportunities for Canadian Students

2021 1

  1. Get an Internship With My Team at IBM

2020 10

  1. What to Study to Become a Web Developer
  2. Front-End vs Back-End Developer
  3. How to Become a Web Developer and Get a Job With No Experience (Guide)
  4. Removing Duplicates From a List in Elixir
  5. Specify a Port when Booting a Phoenix Application
  6. Developing with Elixir/OTP Course Review
  7. iPad Pro 11″ vs 12.9″: Which One Should You Buy?
  8. Sorting Results by Specific Values in SQL with CASE
  9. 4 Tech Innovations That Could Change Smartphones
  10. IBM Summer 2020 Internship Positions

2019 12

  1. Get Technical Blogging for 40% off
  2. New IBM Internship Positions in My Team
  3. String Length in Elixir
  4. Elixir Hello World
  5. Choosing an Executive Laptop Backpack
  6. Installing rbenv on Zsh (on MacOS)
  7. Programming on an iPad
  8. Join My Team at IBM
  9. Exploring Mathematics with Matplotlib and Python
  10. 19 Gadgets I Use and Love
  11. Kindle vs Kobo: Choosing the Right E-reader Ecosystem
  12. New Book and YouTube Channel

2018 2

  1. Google Pixelbook Review: The Little Laptop That Could
  2. Building Better Software With Info-Ops: An Interview With Daniel B. Markham

2017 1

  1. 25 Pitfalls When Learning to Program

2016 22

  1. Programming Zen Will Be on a Hiatus Due to Tragic Circumstances
  2. So You Want Your Programming Language to Be Popular
  3. Balancing Your Programming Skills Portfolio
  4. Dual Booting GalliumOS and Chrome OS on a Toshiba Chromebook 2
  5. And That’s How I Ended up Developing with a Chromebook
  6. Developer Laptops in 2016
  7. 15 Sites for Programming Exercises
  8. Giveaway: 4 Rails and React.js Ebooks by Arkency
  9. In Praise of Function Pre and Postconditions
  10. US Giveaway: Learn to Program with Small Basic
  11. Notice What You Didn’t Do
  12. A Language for the Next 10 Years
  13. 10 Lesser-Known Programming Languages Worth Exploring
  14. Tip #4 for Young Programmers: Get Familiar with the Command Line
  15. Survey Results
  16. Please Take My Programming Survey
  17. Tip #3 for Young Developers: Master an Editor
  18. Tip #2 for Young Programmers: Learn Revision Control
  19. Tip #1 for Young Programmers: Specialize in Something
  20. Big Data University: Educating One Million Data Scientists
  21. Data Scientist Workbench: IBM’s All-in-One Tool for Data Scientists
  22. A Review of the Amazon Books Store

2015 2

  1. My Tour of Tech in Silicon Valley
  2. On Assignment in San Francisco for IBM LEADing to Africa

2014 16

  1. Logitech Type+ for iPad Air 2 Review
  2. Backing up large amounts of photos
  3. Rails Is Old Hat, and That’s Okay
  4. 10 Programming Challenges Sites
  5. Learn New Programming Languages with Project Euler
  6. On Programming Languages as Languages
  7. 3 Upcoming Languages That Are Worth Exploring
  8. 40 productivity apps I use on a regular basis
  9. 10 Tips for Interacting with the Geek in Your Family
  10. Choosing a Tablet (aka iPad Air 2 vs Nexus 9 vs Samsung Galaxy Tab S 10.5)
  11. A Few Thoughts on iOS vs Android Market Share
  12. Meteor is going to be big
  13. Learn to Secure Apps in Vancouver, and Calgary SMAC Meetup
  14. IBM Is Offering Free Bluemix Training Days
  15. Join My Vancouver SMAC Meetup for People in Tech
  16. Pebble Smartwatch Review: A Useful Dumbwatch

2013 4

  1. Take BLU Acceleration for Cloud for a spin
  2. Google+, the Best Social Network I Never Use
  3. People Driven Development
  4. An In-depth Review of Fitbit One, Fitbit Aria, and Fitbit Premium

2012 12

  1. The Good Enough
  2. A Review of the TV Show Start-Ups: Silicon Valley
  3. Why I Won’t Be Publishing New ‘Great Ruby Shootouts’
  4. Join the Upcoming IBM Big Data Developer Day in Boston
  5. Two Big Data Events in Silicon Valley Next Week
  6. New jobs available at IBM in Toronto
  7. New Release of the Ruby Driver and Rails Adapter for DB2
  8. RubyMotion brings serious Ruby development to the iOS world
  9. DB2 Express-C 10 is now out
  10. Discount coupon for the Rails Tutorial (2nd Edition)
  11. On the Usability of Codecademy
  12. The Strange Case of John Dillinger and the Fraudulent Apple ID

2011 36

  1. A Big List of Interesting Programming Books Released in 2011
  2. Download DB2 Express-C 9.7.5
  3. The Real Reason Italy Sucks at the Startup Game
  4. Requiem for a Dreamer
  5. The Hadoop Programming Challenge Has Been Extended
  6. My Technical Blogging Book Is Now Available in Beta
  7. Mobile Development Marketshare Among Hacker News’ Participants
  8. Learn Hadoop and Get a Chance to Go to Vegas
  9. An Update On My Technical Blogging Book
  10. My First Impressions of Android
  11. Speeding up queries by a factor of 100 or more with DB2 Text Search
  12. The need for good vocational schools for programmers
  13. Programming in Objective-C, 3rd Edition is out
  14. jQuery Air: An outstanding introduction to jQuery
  15. IBM is Looking for a University Student with PHP skills in Toronto
  16. 10 Ruby One Liners to Impress Your Friends
  17. Interview with the Compilr.com team
  18. The Great Web-Reality Divide
  19. Installing Python, Django, and DB2 on Ubuntu 11.04
  20. Installing Ruby on Rails and DB2 on Ubuntu 11.04
  21. Download DB2 Express-C 9.7.4
  22. Google I/O developer event in Waterloo, Canada
  23. Results of the Technical Blogging survey
  24. Review of Rails Best Practices
  25. I’m thinking of writing an ebook and would love your feedback
  26. Running Radiant CMS on DB2 in the Cloud
  27. FAQ: What programming language should I learn first?
  28. Programming is a Super Power
  29. Getting Stuff Done With the Pomodoro Technique
  30. Interview with Michael Hartl, author of the Rails 3 Tutorial
  31. Eloquent Ruby Review
  32. Jenga Driven Development
  33. Try the next version of DB2 today
  34. An In-Depth Comparison of the Kindle DX Vs. iPad as Reading Devices
  35. The Art of Computer Programming, Volumes 1-4A Boxed Set
  36. DB2 University goes live

2010 39

  1. Give your programmers professional tools
  2. The recommended Ruby and Rails book pages have been updated
  3. In-Depth Book Review: Authoring eBooks
  4. Why would you use a commercial database anyway?
  5. StreamSend is looking for a senior (Rails) web developer
  6. Things I’ve learned from hiring interns for IBM
  7. Get weekly emails about new Programming books
  8. The Great Ruby Shootout (July 2010)
  9. In-Depth Book Review: Practical Clojure
  10. How to setup Clojure from scratch
  11. Thoughts on Clojure
  12. The pursuit of excellence in programming
  13. The Great Ruby Shootout (Windows Edition)
  14. Ten recent programming books that will make you a better developer
  15. A new domain name for Zen and the Art of Programming
  16. Would you use a Mac mini as your development machine?
  17. Follow up to my Gmail third-party access post
  18. Who is accessing your Gmail account?
  19. Padrino: a Ruby framework built upon Sinatra
  20. Adobe AIR as the cross-platform solution of choice
  21. The world according to Android
  22. Enabling LIMIT and OFFSET in DB2 9.7.2
  23. IBM releases DB2 Express-C 9.7.2
  24. Upgrading to Rails 3
  25. Web or iPhone OS applications to make money?
  26. Benchmarking MacRuby 0.6
  27. The most important programming language today
  28. IBM_DB 2.5.0 with support for Rails 3 is out
  29. On the iPhone, iPad and Android Market Share
  30. Rails, DB2 and the Enterprise
  31. ThinkCode.TV’s English Catalog Goes Live
  32. A tale of two search engines
  33. My kingdom for an iPad
  34. DB2 support for Django 1.2 is here
  35. Free Python screencast about solving mazes
  36. Simple suggestions for implementing passwords correctly
  37. Switching from Feedburner Email to AWeber for my newsletter
  38. Heads up: IBM is looking for top notch student hackers
  39. DB2 support for Ruby/Rails turns 2.0

2009 58

  1. Grab DB2 Express-C 9.7.1 now and join the DB2Night Show
  2. Setup Ruby Enterprise Edition, nginx and Passenger (aka mod_rails) on Ubuntu
  3. What is DB2 pureScale?
  4. Add code highlighting to your Google Waves
  5. Getting MacRuby’s compiler to work
  6. The CRTC tries to eliminate ISP competition in Canada
  7. Benchmarking Tornado vs. Twisted Web vs. Tornado on Twisted
  8. Installing and configuring DB2 Express-C 9.7 on Ubuntu 9.04 Server
  9. Improve the speed and security of your SQL queries
  10. Enabling support for DB2 and Python/Django/SQLAlchemy on Mac OS X Snow Leopard
  11. Cell Phone Cost Calculator Killed In Canada. Enough Is Enough!
  12. Installing the Ruby driver for DB2 on Mac OS X Snow Leopard
  13. Startup for sale on eBay (and it’s a great deal)
  14. DB2 on Mac OS X Snow Leopard
  15. Recommended Ruby and Rails books (August 2009)
  16. Do programmers still buy printed books?
  17. My latest order of programming books
  18. How much faster is Ruby on Linux?
  19. On Scala’s future
  20. The DB2 adapter now supports Django 1.1
  21. A faster Ruby on Windows is possible (benchmarks for 4 implementations inside)
  22. Comparing the performance of IronRuby, Ruby 1.8 and Ruby 1.9 on Windows
  23. On JRuby’s importance for the future of Ruby
  24. Why technical marketing is important for programmers
  25. Serving Django Static Files through Apache
  26. In defense of ad-based business models
  27. Reasons to switch to DB2 9.7
  28. Apple “Genius”
  29. DB2 Express-C 9.7 and the Django adapter released
  30. Selling my old MacBook Pro
  31. Discussing code reading and testing with Dave Thomas, Cory Foy and Tim Bray
  32. Do Androids Count Electric Sheep with DB2 or MySQL?
  33. Of labels and limits
  34. Announcing ThinkCode.TV’s new English newsletter
  35. TextMate bundle for DB2
  36. Memoization in Ruby and Python
  37. Startup Interviews: Zooppa.com
  38. Ruby 1.9 screencasts plus an announcement
  39. Screencast on how to install DB2 Express-C on Mac OS X
  40. The Best DB2 Ever
  41. Canadians, fight Internet Usage Based Billing (UBB)
  42. Startup Interviews: Balsamiq Studio LLC
  43. Better Software 2009 and Pycon Italia Tre
  44. Why MacRuby Matters (Present & Future)
  45. Ruby’s Biggest Challenge for 2009
  46. IBM Cloud Computing Webinar
  47. Do you read the Rubyist and Rails Magazine?
  48. IBM’s Python driver is out of beta
  49. New look and feel. Do you like it?
  50. Introducing Redis: a fast key-value database
  51. Scaling Rails Screencasts
  52. Do you really need Venture Capital funding?
  53. DB2 support for Django is coming
  54. Unlocking intermediate resolutions on Sony Vaio FWs
  55. Sony Vaio FW Series: A Developer’s Review
  56. Let’s all grow up
  57. Install DB2 on Mac OS X and give us feedback
  58. Monte Carlo simulation of the Monty Hall Problem in Ruby and Python

2008 80

  1. Developers are blinded by the light
  2. Random thoughts on software piracy and open source business models
  3. DB2 on Mac officially released
  4. Download DB2 on Mac
  5. Learn Merb
  6. DB2 on Mac to ship before Christmas
  7. Reflections on the Ruby shootout
  8. The Great Ruby Shootout (December 2008)
  9. IBM’s XML Challenge (lots of prizes inside)
  10. My visit to the Apple Store
  11. Resolving the gray window when running db2setup
  12. Merb, Rails Myths, Language Popularity and other Zenbits
  13. And the winner is…
  14. The Rise of the Functional Paradigm
  15. Take this survey and win a free ticket for the Professional Ruby Conference
  16. Thank you, America!
  17. Benchmarking DB2 pureXML against 1 TB of XML data
  18. Pygments TextMate Bundle
  19. Integrating TextMate and Pygments
  20. What Arc should learn from Ruby
  21. Review of the first two Envycasts
  22. Ruby on Rails at IOD 2008
  23. Free version of Ruby in Steel
  24. Don’t alienate developers
  25. How companies should hire developers
  26. Advertise on Zen and the Art of Programming
  27. Django turns 1.0
  28. A status update
  29. Ruby on Rails for Microsoft Developers available for pre-order on Amazon.com
  30. This Week in Ruby (July 26, 2008)
  31. Goodbye Randy
  32. Be life savvy: my new non-programming blog
  33. Rogers has reached a new low
  34. A close look at three Rails 2.1 bugs
  35. This Week in Ruby (July 11, 2008)
  36. Ruby Shootout Status Update
  37. Ruby and Rails books, two years later (photo)
  38. IBM’s crazy DB2 videos. What do you think?
  39. This Week in Ruby (June 26, 2008)
  40. Heads up regarding the shootout
  41. This Week in Ruby (June 16, 2008)
  42. Review of the screencast series The Ruby Object Model and Metaprogramming (episodes 1-3)
  43. The future of This Week in Ruby
  44. MagLev handles trees like a monkey
  45. Let’s create a Ruby Benchmark Suite
  46. MagLev rocks and the planning of the next Ruby shootout
  47. WordPress 2.5.1 breaks your Atom feed
  48. This Week in Ruby (May 29, 2008)
  49. Random Thoughts on Social Sites
  50. Ruby on Rails for Microsoft Developers
  51. This Week in Ruby (May 20, 2008)
  52. This Week in Ruby (May 12, 2008)
  53. This Week in Ruby (May 5, 2008)
  54. Finally on Twitter
  55. This Week in Ruby (April 28, 2008)
  56. Agile Web Development with Rails, Third Edition
  57. This Week in Ruby (April 21, 2008)
  58. Is the Enterprise world Rails ready?
  59. On the value of conciseness
  60. This Week in Ruby (April 14, 2008)
  61. On The Last Lecture
  62. This Week in Ruby (April 7, 2008)
  63. 7 soon to be released Ruby and Rails books
  64. Announcing Ruby on Crack
  65. This Week in Ruby (March 31, 2008)
  66. ‘inject’, ‘each’ and ‘times’ methods much slower in Ruby 1.9 on Mac OS X
  67. Django’s tipping point
  68. Using Python to detect the most frequent words in a file
  69. Losing my blog title (oh no, I’ve said too much…)
  70. Rails is the best thing that ever happened to Python
  71. On Rails and DB2
  72. IBM releases DB2 adapter for SQLAlchemy
  73. Essential guide to the Ruby driver for DB2
  74. Ruby.NET is dead
  75. RailsConf, Arc, Apple and other Zenbits
  76. Why Engine Yard, Rubinius and Merb matter
  77. Great Ruby and Rails books
  78. Ramaze: a Ruby framework that will amaze
  79. Zed’s Show
  80. Welcome to IBM, Damien Katz

2007 49

  1. Installing Django with PostgreSQL on Ubuntu
  2. How to install Django with MySQL on Mac OS X
  3. Programmers Ad Community: 50 invites for Adroll’s private beta
  4. Ruby on Rails 2.0 has been released and other Zenbits
  5. The Great Ruby Shootout
  6. More on Fibonacci. Oops, Sorry Lisp… Haskell runs it 5 times faster
  7. Holy Shmoly, Ruby 1.9 smokes Python away!
  8. TextMate is the king of Rails editors
  9. Ruby, Python, Haskell and Objective-C Feed Survey
  10. Give Ruby.NET 0.9 some love
  11. Guide to setting up the IBM Ruby and Python drivers for DB2 on Linux (32 or 64 bit)
  12. Installing DB2 9.5 on Ubuntu 7.10
  13. DB2 Express-C 9.5 is available for download
  14. IBM’s Python and DB2 drivers released
  15. Don’t you feel like this sometimes too?
  16. Are you interested in a DB2 driver for Lua?
  17. A great combo of lenses for Canon Digital SLRs that won’t break the bank
  18. DB2 on Mac
  19. Python, Django and DB2 Status Update
  20. Guess who’s back? Finally!
  21. A preliminary review of three Cocoa and Objective-C related books
  22. Cocoa is my Cup of Tea
  23. Desktop Applications are not dead!
  24. In praise of IronRuby’s Source Code
  25. The most submitted sites on Reddit.com
  26. Is IronRuby mathematically challenged?
  27. The end of my Best Buy saga
  28. Redirecting Atom feeds from Typo and WordPress to FeedBurner
  29. Arrivederci Typo
  30. The Ugly Truth about Best Buy Refunds
  31. 23 Programming Languages compared through their Amazon book sales
  32. Ruby and Rails books, Textmate and FastRi
  33. The Apple approach (aka first impressions of the MacBook Pro)
  34. On Ruby and Rails Criticism
  35. Switching to Mac
  36. Looking for a good laptop for Ruby development
  37. Getting even more serious about blogging
  38. PlanetDB2.com and a couple of updates
  39. Python, Django and DB2: we need your input!
  40. Haskell Eye for the Ruby Guy
  41. Ruby Implementations Shootout: Ruby vs Yarv vs JRuby vs Gardens Point Ruby .NET vs Rubinius vs Cardinal
  42. Top 10 Ruby on Rails performance tips
  43. Acts As Suggest plugin
  44. How to run Ruby from Komodo Edit 4
  45. Put DB2 in your search bar
  46. January’s goodies
  47. Typo errors on postponed articles
  48. Collage of Ruby and Rails books
  49. Ruby is the Programming Language of 2006

2006 30

  1. acts_as_one_year_blogging
  2. DB2 9 for Windows Vista
  3. Ruby on Rails won’t make it in 2007?
  4. DB2 on Rails v2.1 released
  5. Keep an eye on djangobook.com
  6. CASCON 2006 presentation material
  7. CASCON 2006: Day One
  8. A step by step guide on how to install Django with PostgreSQL on Windows
  9. XML Webcast with IBM’s team plus free book
  10. Italian Ruby book and cool suggested reading
  11. Molecule: a much better name ;-)
  12. Download Ruby 1.8.5 for Windows
  13. Django is great
  14. Pure XML Technology in DB2 9
  15. Typo 4 released
  16. Ruby.NET Compiler
  17. Rails hosting review, 7 months later
  18. Typo and Lucid theme error
  19. Starter Toolkit for DB2 on Rails Update
  20. Download the Starter Toolkit for DB2 on Rails
  21. Putting IBM databases on Rails
  22. Download Ruby 1.9 for Windows
  23. Working at IBM
  24. self.move_to(Canada)
  25. How to parse decimal numbers within a string
  26. Solving mathematical problems with Ruby
  27. Ruby Cookbook: Rough Cuts Version
  28. Ruby rocks and Java sucks?
  29. How to exclude an action from the controller’s layout processing
  30. Rails Hosting review

2005 5

  1. Moved to Typo
  2. RMagick Project
  3. Ruby 1.8.4 released!
  4. Ruby 1.8.4 preview3
  5. puts “Hello, Ruby!”