Sublime Text 2: Beta
Since the first public Alpha at the end of January, there have been 12 new releases, and many more dev builds. On average, that's a new version every two weeks for the past five months. During this time, Sublime Text 2 has made great strides in functionality, and a correspondingly large increase in users. Sublime Text…
Donut math - How donut.c works
There has been a sudden resurgence of interest in my "donut" code from 2006 , and I've had a couple requests to explain this one. It's been five years now, so it's not exactly fresh in my memory, so I will reconstruct it from scratch, in great detail, and hopefully get approximately the same result.
Code Like a Pythonista: Idiomatic Python
The home of pythonistas
The Dropbox API
Modern work can be frustrating and chaotic—if you don’t have the right tools. From context engineering to multimodal search, go behind the scenes and hear how Dropbox engineers are building AI that actually understands you, so you can focus on the work that matters most.
Tim Bray on Dennis Ritchie
Writing operating systems in a compiled machine-independent programming language.
Git is as revolutionary as Unix pipes (2008)
I am now officially part of the "previous" generation of programmers. I know this because the new generation no longer has "vi vs. emacs" e...
PyPy is faster than C, again: string formatting
String formatting is probably something you do just about every day in Python, and never think about. It's so easy, just "%d %d" % (i, i) ...
Ryan Bates launches RailsCasts Pro
Short Ruby on Rails screencasts containing tips, tricks and tutorials. Great for both novice and experienced web developers.
ORM is an anti-pattern
ORM looks great early in a project but breaks down as complexity grows, forcing you to learn SQL anyway. Relations aren't objects. Either use NoSQL for object-like data or write a model layer with real SQL. ORM's abstraction is leaky, its efficiency poor, and the alternatives are better.
How to improve your programming skills
Learning new programming languages will expose you to new ways of thinking; especially if the new language uses a paradigm which you aren’t yet familiar with. Many of the ways of thinking that you will learn can be applied to languages that you already know, and you might even want to start using the new language for…
Knuth and the Unix Way
Another great post
Now that people are considering NOSQL will more people consider no-DB
A memory image replaces database interactions with in-memory data using event sourcing to record persistent changes
Kill Math
The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.
Scott Hanselman's 2011 Ultimate Developer and Power Users Tool List for Windows
Everyone collects utilities, and most folks have a list of a few that they feel ...
The Mature Programmer
1. The Mature Programmer The mature programmer manages their own time and productivity well. The MP knows that maintenance is as much wo...
Joel Spolsky: Can your programming language do this?
One day, you’re browsing through your code, and you notice two big blocks that look almost exactly the same. In fact, they’re exactly the same, except that one block refers to “Sp…
WTH is happening to Rails? I'll tell you.
I just read the blog post that got some traction on HN last night, entitled “ What the hell is happening to rails? ” It goes on to list a litany of complaints against changes in Rails 3.x, ranging from the default commenting of the catch-all route to, yes, of course, CoffeeScript. They all end up sounding a lot like…
Aha Moments When Learning Git
Git is a fast, flexible but challenging distributed version control system. Before jumping in: Along with a book, tutorial and cheatsheet, here are the…
Miguel de Icaza: Learning Unix
Miguel de Icaza's Blog
Bug Prediction at Google
What's the problem? Here at Google, we have thousands of engineers working on our code base every day. In fact, as previously noted , 50%...