Monday, November 17, 2008 at 06:01 AM

Things Caches Do

An illustrated re-introduction to HTTP caching with a focus on gateway caches and their potential benefits within the context of modern, dynamic web applications.

Friday, October 24, 2008 at 10:08 PM

Introducing Rack::Cache

Real HTTP caching for Ruby web apps.

Wednesday, July 30, 2008 at 06:12 AM

New Gig: Songbird

2,484 miles later, I find myself in San Francisco working, for the first time, on something I really love.

Friday, May 30, 2008 at 10:43 PM

Moving Past BlueCloth

Fast Markdown libraries for Ruby: two for the price of one.

Tuesday, April 08, 2008 at 12:16 PM

The Thing About Git

It’s as though every other version control system I've ever used was created by people who were really into version control and Git was created by people who were really into hacking.

Tuesday, March 18, 2008 at 01:02 AM

JavaScript Based Code Prettification

As seen on Google Code’s new and improved source browser.

Friday, March 14, 2008 at 08:13 PM

Administrative Debris

“I hold that simplicity is the most important attribute of design,” I say. To which Tufte would reply, “No, you don’t.”

Friday, March 07, 2008 at 04:22 AM

On The Use of Code in Weblog Titles

So you've decided to start a weblog and have a really clever idea for titling it based on a snippet of code you find particularly novel. Rad!

Sunday, March 02, 2008 at 04:06 AM

GNU is killing Solaris

I can’t think of single piece (package?) of software I use, admire, and depend on more than GNU Coreutils. Maybe Firefox. Maybe OpenSSH. Some days rsync(1).

Tuesday, February 26, 2008 at 08:17 PM

GitHub: My Kind of Social Software

Fork me!

Tuesday, January 22, 2008 at 10:31 PM

IE8 To Make Tender Chickens

“The MIT guy did not like this solution because it was not the right thing.”

Friday, January 18, 2008 at 08:57 PM

Full Page Zoom Is For Sissies

Did I ever tell you about the guy that spent the better part of a day making his site’s layout entirely em based …

Friday, January 18, 2008 at 01:12 PM

Help! The WS-* vs. REST Debate Has Been Hijacked By People Who Want To Have Logical Discussions About Actual Real World Issues!

A call to arms.

Thursday, January 17, 2008 at 07:41 AM

Why I'm Pining for PDF Support in Firefox/Gecko

What I'd like to do is run Firefox/Gecko on the server. It would load up the report, render it with the print stylesheet and then output the PDF. The concept is not unlike khtml2png or webkit2png but instead of outputting a raster image, it would output a PDF: gecko2pdf, if you will.

Sunday, January 13, 2008 at 07:23 AM

Speaking of, "lying through their teeth..."

Sanjiva Weerawarana is such a tool.

Thursday, January 10, 2008 at 10:18 AM

Simplifying Web Framework Deployment on Shared Hosting

On Dreamhost freaking out because they can’t get Rails deployed reliably.

Tuesday, October 02, 2007 at 09:39 PM

Bazaar Project Templates

Cheap branches make for new uses.

Monday, April 16, 2007 at 03:35 AM

Lesson #5

A long overdue request for maintainers on two potentially important Python projects.

Friday, April 13, 2007 at 03:15 AM

Rails and Scaling with Multiple Databases

It’s not Rails’s problem.

Wednesday, February 07, 2007 at 02:51 AM

Too much politics for programmers

Ian compares Pylons and TurboGears and makes a few interesting general observations along the way.

Monday, February 05, 2007 at 05:09 AM

WS-* == Windows Services Dash Star?

It’s that bad.

Sunday, January 07, 2007 at 02:16 AM

JRuby w/ Full Rails Support in February... Of 2007?

Charles Nutter on the possibility of a Rails support announcement in February 2007.

Saturday, December 30, 2006 at 01:56 AM

The Pending Ruby/Java Co-op

A prediction piece on the possibility of a Ruby backed coup d'état on the JVM and what that might mean to the pragmatic web developer.

Saturday, December 23, 2006 at 05:13 AM

Parallels Makes IE Testing Suck Less, Melts Power Cord

A look at the new Coherence Mode feature in Parallels desktop.

Monday, November 20, 2006 at 12:45 AM

Java in The Land of Make Believe

What the GPL could have accomplished (and may well still).

Friday, November 17, 2006 at 12:59 AM

The REST Dialogues

The REST / Web Arch. crowd falls back to its secret weapon in the fight for mankind: The Dialogue.

Monday, November 13, 2006 at 01:01 PM

Shackled But Free

My best attempt at saying something nice about Sun’s GPLing of Java, even if a bit grudgingly.

Tuesday, September 12, 2006 at 11:41 AM

Gosling v. Greenspun

On the relationship between the “Black Hole Theory of Design” and “Greenspun’s tenth Rule of Programming”.

Monday, September 11, 2006 at 03:20 AM

Best 500 Page Eva!

Reddit Broke (Sorry).

lesscode.org / Friday, October 28, 2005 at 12:00 AM

The Zen of Microformats

How to understand what those barbarians are doing over there and why your going to keep on hearing about it.

Tuesday, August 16, 2005 at 11:07 PM

Wasting time in #ruby-lang

Time Travel vs. ESP

lesscode.org / Thursday, July 21, 2005 at 12:00 AM

Motherhood and Apple Pie

The axioms of web architecture and an invitation for big vendors to understand them.

Thursday, July 07, 2005 at 03:19 PM

Announcing lesscode.org

lesscode.org goes live.

Monday, June 13, 2005 at 07:59 AM

The Free Software Litmus Test

A quick test to see how hard-core you are.

Saturday, May 28, 2005 at 01:29 AM

IBM Poopheads: "LAMP Users Need to Grow Up"

That is to say, they don’t get it. This started out as a simple rant and turned into a decent sized essay on basic shared-nothing architecture and scaling down.

Thursday, May 12, 2005 at 01:58 PM

Why RedMonk Must Succeed

Praise for the anti-analyst firm analyst firm.

Monday, May 02, 2005 at 09:34 AM

Such precision

Embracing brokeness.

Thursday, April 28, 2005 at 08:45 PM

Why I love Sean McGrath

“If you cannot think of 3 good reasons why dynamically typed programming languages have a role to play in this universe, you don’t want the job.”

Friday, April 22, 2005 at 10:55 PM

On HTTP Abuse

And why we need more three-legged stools.

Saturday, April 02, 2005 at 05:44 AM

Insects and Entropy

How complexity killed the best bug ever created in the whole world.

Tuesday, March 29, 2005 at 05:03 PM

The Battle of the Less Clueless

IronPython vs. JPython: who cares?

Thursday, March 17, 2005 at 01:48 PM

Web Services: what is "success" and how do we get there?

What I think success means with regards to “Web Services”.

Saturday, March 12, 2005 at 10:37 AM

What WS-* got wrong

It has nothing to do with the web.

Sunday, March 06, 2005 at 10:04 PM

Jonathon Schwartz on WS-Mess

The loyal opposition is growing in weird ways.

Saturday, March 05, 2005 at 10:49 AM

Kid 0.6

Template Inheritence, Match Templates (kind of like XSLT’s), cElementTree support, a refined Python API, documentation…

Tuesday, March 01, 2005 at 11:54 AM

WS-Sandwich

Some thoughts on AMQ, the latest solution to all your problems.

Tuesday, March 01, 2005 at 09:27 AM

Yahoo! Launches REST-based Web Services

Praise for Yahoo! as they launch an initial set of web style APIs.

Saturday, February 26, 2005 at 06:34 AM

Scary Rails vs Quixote Stats

Wherein we avoid a Python vs. Ruby flamewar by changing the subject to Object vs. RDMS persistence.

Saturday, February 26, 2005 at 05:15 AM

IBM redemption

I humbly retract my previous negative statements about IBM.

Tuesday, February 22, 2005 at 08:22 AM

Fish, bad.

Just keep talking.

Friday, February 18, 2005 at 05:23 PM

The Tool Vendor's Dilemma

A theory on why big vendors, big analyst houses, and the tech press want to sell you the worst possible solutions to your problems.

Friday, February 18, 2005 at 03:51 AM

Web Dominated by J2EE?

The web as currently imagined by the tech. industry is quite different from the web that actually exists.

Wednesday, February 02, 2005 at 11:01 AM

Tools for Democracy / Distributed Journalism

On using the web to co-ordinate massive grass-roots efforts quickly.

Wednesday, January 26, 2005 at 10:51 AM

Kid by Example

Kid 0.5 announcement with a couple of page fulls of example usage.

Sunday, January 23, 2005 at 11:48 AM

No Rails for Python?

What does Ruby on Rails have that we don’t and why?

Thursday, January 20, 2005 at 08:43 AM

Getters/Setters/Fuxors

Python’s attributes are not Java’s getters/setters and why that’s a good thing.

Wednesday, January 19, 2005 at 05:54 PM

IBM to Free Java - Next Week?

Coverage of an odd mailing list thread suggesting that IBM is gearing up to slap an F/OSS license on their Java compiler and runtime.

Wednesday, January 12, 2005 at 10:46 AM

ElementTree on the come-up

Why I prefer ElementTree to “standard” DOM APIs and why it’s sometimes better than libxml2.

Tuesday, January 11, 2005 at 09:04 AM

Ross' Taint.. I mean, Tate.. I mean, Rawke!

Ross Burton builds the first real-world application using Kid Templates.

Tuesday, January 11, 2005 at 08:09 AM

Kid 0.4

On changing from GPL to MIT, going after web-framework support, and simplifying as much as possible.

Wednesday, December 15, 2004 at 01:41 PM

The Static Method Thing

A comparison of Java’s static methods and Python’s class methods.

Wednesday, December 15, 2004 at 10:37 AM

Fedora Project Shaping Up

A report on what seems to be real forward progress in the Fedora project.

Sunday, December 12, 2004 at 12:30 PM

How I Explained REST to My Wife

It’s not a robot thing.

Saturday, December 11, 2004 at 08:44 PM

Blasphemy!

Alan Turing would sooo beat Linus Torvalds in arm wrestling and technologies no different.

Saturday, December 11, 2004 at 08:33 AM

But the world doesn't work that way

I miss Mark Pilgrim.

Saturday, December 11, 2004 at 05:31 AM

Transformation Templates in Kid

Trying to figure out a way of providing XSLT-like template matching in Kid.

Thursday, December 09, 2004 at 08:50 AM

The Day Tim Bray Saved Java

Tim seems to be working miracles over at Sun.

Sunday, December 05, 2004 at 12:08 PM

XML Pull-chaining with Python

Applying a chain of Python generators to achieve transformation of the XML infoset.

Thursday, December 02, 2004 at 09:56 AM

Kid 0.2 and a note on Template Design

This release is all about documentation.

Tuesday, November 30, 2004 at 07:06 AM

In search of a Pythonic, XML-based Templating Language

How I decided to build Kid – the simple, pythonic, XML-based template language.

Friday, November 19, 2004 at 07:09 AM

Adam Bosworth, Sloppy KISSes, and WS-Mess

Adam Bosworth joins the Loyal WS-Opposition – minus the loyal part, perhaps.

Thursday, November 18, 2004 at 08:48 AM

Splice

A Python based weblog thing or something.

Monday, November 15, 2004 at 05:18 AM

Java and Open Source

Why Java won’t even be considered for most types of F/OSS applications until they ease up on the license.

Tuesday, November 09, 2004 at 08:25 AM

Weapons and Coding

Wherein we predict that whoever decides to take dynamic languages seriously will win the interpreted bytecode market.

Friday, October 01, 2004 at 07:38 AM

Dynamic Superclassing in Python

Danger’s my middle name.

Monday, September 13, 2004 at 05:46 AM

Cleanest Python find-in-list function?

There has to be a place for this in the standard library.

Tuesday, September 07, 2004 at 04:39 AM

Really Hard Problems

Sunday, September 05, 2004 at 10:09 AM

Python Inner Classes

Why are they there?

Friday, June 25, 2004 at 04:10 AM

Emulating ContentTypePriority in Apache

Thursday, March 18, 2004 at 01:12 AM

URLGrabber Project Page Up

URLGrabber is a file fetcher in Python that works with HTTP and FTP.

Tuesday, February 24, 2004 at 09:55 PM

My First Yum Commit

Rock on.

Wednesday, February 18, 2004 at 03:00 AM

Learning Python As You Go

I never would have imagined a language with so much power could be so easy to pick up.

Friday, February 13, 2004 at 02:16 AM

Schwag Decisions

Monday, February 02, 2004 at 11:45 PM

Schwag

Sunday, November 23, 2003 at 08:36 PM

True/False in Python < 2.3

ianloic.com / Tuesday, January 06, 2009 at 12:14 AM

No More Secrets

Ian McKeller shows how easy it is to find web API “secret keys” when the user has access to the (network) client code. It’s actually a nice little crash coarse in how to write cracking software (here “crack” means warez scene type “crack”). That crazy shit like this is possible is why I got into software in the first place. Completely

groups.google.com / Monday, January 05, 2009 at 11:51 PM

Extension/Scripting language comparisons - comp.lang.scheme

“While I do consider the adjective ‘baroque’ to be a compliment, I must point out that Perl is actually more of a romantic piece, with allusions to various classical motifs. My favorite composer is Mahler, which should surprise no one.” — Larry Wall

blog.nuclearsquid.com / Monday, January 05, 2009 at 04:04 PM

Ruby 1.9 - What's new? What's changed?

Markus Prinz with a nice review of important Ruby 1.9 changes.

github.com / Thursday, January 01, 2009 at 10:33 PM

rack-esi

Christoffer Sawicki has started in on a partial implementation of ESI (Edge Side Includes) as a Rack middleware component. Put something like this in front of Rack::Cache and things get real interesting real fast :)

wonko.com / Thursday, January 01, 2009 at 10:29 PM

Sanitize: A whitelist-based Ruby HTML sanitizer

Finally, a sane looking sanitization lib that doesn’t try to do too much.

github.com / Thursday, January 01, 2009 at 10:23 PM

Resourceful

Interesting looking HTTP client library for Ruby with support for HTTP caching (with pluggable backends), basic and digest auth, intelligent redirect handling. It’s been around for a while and looks like it could eventually become similar in feature set to Python’s httplib2.

github.com / Wednesday, December 31, 2008 at 10:11 AM

cachet

Nick Kallen has started a project to implement a HTTP cache in Scala. Seems like an excellent idea given Java’s extensive collection of stable HTTP server libraries and Scala’s strengths in concurrency and performance.

on-ruby.blogspot.com / Tuesday, December 30, 2008 at 07:50 PM

Rails and Merb -- Why Merge At All?

A much more sober but constructive take on the plan to merge Rails and Merb.

github.com / Tuesday, December 30, 2008 at 02:07 AM

RUBY-STYLE

Christian Neukirchen’s Ruby styleguide. The best I've seen.

groups.google.com / Saturday, December 27, 2008 at 05:27 AM

Google Groups: rack-cache

Mailing list for Rack::Cache users and hackers. Come on in, the water’s warm.

getcloudkit.com / Monday, December 22, 2008 at 09:23 AM

CloudKit via cURL

Jon Crosby’s RESTful JSON-based data store with OpenID and OAuth support. It does versioning and produces HTTP cache friendly responses all in a Rack middleware component. Jon’s been working on this for some time and it shows in the code and docs. Awesome.

ebpml.org / Sunday, December 21, 2008 at 08:57 PM

Concluding Remarks

Jean-Jacques Dubray: “How do the RESTafarians work? They take Roy’s REST, they try to use it for anything in their day to day activities, and then when they stumble upon a problem, they try to find a more or less ‘RESTful’ solution and post it on a blog.”

Precisely!

rubyinside.com / Thursday, December 18, 2008 at 08:26 PM

Sinatra: 29 Links and Resources For A Quicker, Easier Way to Build Webapps

Peter Cooper: “Lots of awesome articles about Sinatra, Sinatra apps, and various links and resources have cropped up over the past few months. The remainder of this post links to the best we've found – most of which you should find useful as you start to explore Sinatra in detail.”

weblog.rubyonrails.org / Wednesday, December 17, 2008 at 02:38 PM

Introducing Rails Metal

David Heinemeier Hansson: “Rails Edge adopted Rack a while back and we’ve been exploring ways to expose that better. The first thing we did was to make it really easy to hook up any piece of Rack middleware in front of a Rails request. In your config/environment.rb file, you can do: config.middlewares.use(Rack::Cache, :verbose => true)

Oh hell yes.

soylentfoo.jnewland.com / Wednesday, December 17, 2008 at 12:36 AM

Rails Metal: a micro-framework with the power of Rails: \m/

Rails riding on Rack is going to be a big deal.

macournoyer.com / Monday, December 15, 2008 at 01:26 PM

A Collection of Rack middlewares

It’s really starting to come together, isn’t it?

magicscalingsprinkles.wordpress.com / Sunday, December 14, 2008 at 05:16 PM

Introducing Cache Money

Bad-ass ActiveRecord extension that does read-through and write-through caching to memcached in a way that’s fairly transparent. This is one of the strategies the Twitter folks put in place recently to improve their response time and availability.

rc3.org / Saturday, December 13, 2008 at 04:02 PM

What’s Ruby’s future

Rafe Colburn: “On the other hand, I find programming in Ruby enjoyable and educational, so it’s not like I’m looking to give up. It’s just that even after a couple of years of doing it, I still feel like we’re dating rather than married.”

It seems like a lot of people are down on Ruby at the moment. Odd. I'm actually more excited about Ruby than I've ever been. Things seem to be moving along nicely, especially on the web tooling front.

pointy-stick.com / Saturday, December 13, 2008 at 03:58 PM

ETags And Modification Times In Django

Nice look at caching idioms in Django and why you need to generate HTTP cache validators up-front and efficiently.

lesscode.org / Friday, December 12, 2008 at 06:46 PM

More Developers, Less Code

I never put it together that the teddziuba that wrote at lesscode.org in 2005 was that teddziuba. This is a great piece.

rubyconf2008.confreaks.com / Sunday, December 07, 2008 at 10:04 PM

RubyConf 2008: Lightweight Web Services

Adam Wiggins and Blake Mizerany’s presentation on Sinatra and RestClient.

code.google.com / Thursday, December 04, 2008 at 10:06 PM

ncache

An Nginx module that acts as a gateway cache. I haven’t tried it yet but it’s a really good idea.

linuxgazette.net / Wednesday, December 03, 2008 at 07:51 PM

cowsay(1)

Best. Program. Ever.

rhnh.net / Monday, December 01, 2008 at 03:32 AM

Code for Christmas

Xavier Shay:

Ticking off an amazon wishlist never really resonated with me, so this year here is what we are all doing instead:

  1. Find someone’s pet open source project – I’d start at github
  2. Contribute! It doesn’t have to be much – a spec or two, some documentation, or even just a “hey it works on my box”. Fork, commit, pull request.
  3. Wish them a Merry Christmas!

Great idea. I feel like I finally have something worthwhile to give this year.

devver.net / Tuesday, November 25, 2008 at 02:09 PM

Building a iPhone web app in under 50 lines with Sinatra and iUI

Nicely done. I have to take a serious look at iUI one of these days. It sounds like you can get really close to a native app experience.

linux.com / Monday, November 24, 2008 at 08:44 PM

Debug your shell scripts with bashdb

“The syntax for many of the commands in bashdb mimics that of gdb, the GNU debugger. You can step into functions, use next to execute the next line without stepping into any functions, generate a backtrace with bt, exit bashdb with quit or Ctrl-D, and examine a variable with print $foo.”

m.onkey.org / Wednesday, November 19, 2008 at 05:47 PM

Ruby on Rack #2 - The Builder

Pratik continues his series on Rack with a deep dive into Rack::Builder.

diveintomark.org / Wednesday, November 19, 2008 at 03:56 PM

Why specs matter

I've linked to this before and I’ll link to it again.

m.onkey.org / Monday, November 17, 2008 at 08:19 AM

Ruby on Rack #1 - Hello Rack!

Pratik’s first in a series of pieces on Rack: how it came to be, why you need to understand it, along with some simple examples. Future installments will cover Rack::Builder and Middleware.

infoq.com / Sunday, November 16, 2008 at 08:13 PM

Smooth HTTP Caching With Rack::Cache

Sebastien Auvray covers Rack::Cache at InfoQ. Thanks!

20bits.com / Sunday, November 16, 2008 at 12:14 AM

An Introduction to A/B Testing

I've read about five extremely solid articles on this site (20bits.com) today; all thorough, easy to read, and cover interesting topics.

merbist.com / Saturday, November 15, 2008 at 11:06 PM

Rails vs Merb ¿drama?

You've got to be kidding me.

tratt.net / Wednesday, November 12, 2008 at 03:37 PM

How can C Programs be so Reliable?

Laurence Tratt: “I had implicitly bought into the idea that C programs segfault at random, eat data, and generally act like Vikings on a day trip to Lindisfarne; in contrast, programs written in "higher level” languages supposedly fail in nice, predictable patterns. Gradually it occurred to me that virtually all of the software that I use on a daily a basis – that to which I entrust my most important data – is written in C. And I can’t remember the last time there was a major problem with any of this software – it’s reliable in the sense that it doesn’t crash, and also reliable in the sense that it handles minor failures gracefully."

blog.whatwg.org / Tuesday, November 11, 2008 at 07:53 PM

The Road to HTML 5: getElementsByClassName()

Includes a brief history of native support for getElementsByClassName in Mozilla and other browsers.

giantrobots.thoughtbot.com / Tuesday, November 11, 2008 at 07:17 PM

A critical look at the current state of Ruby testing

Yeah.

nutrun.com / Saturday, November 08, 2008 at 01:00 PM

Rack cache headers

Interesting approach to setting cache related headers using a Rack middleware component.

github.com / Thursday, November 06, 2008 at 04:37 PM

minigems

An interesting RubyGems mod by Fabien Franzen that seems to fix the memory hit a process takes on require 'rubygems'. Unfortunately, you have to code for it in your app and apply it to installed ruby commands explicitly. Fabien has submitted a ticket and patch to the RubyGems project, however. You should +1 it (after reviewing the code, of course).

adam.gomaa.us / Sunday, November 02, 2008 at 11:46 PM

Hofstadter's Terrible Law

Adam Gomaa: “… this state of affairs doesn’t really help my general feeling of hopelessness when it comes to programming – I know that no matter how good I get, I'm still stuck at being just one person, and the code a single person can write is pitifully small.”

I've come to the same conclusion within the past couple of years. I take on much smaller projects now and try to contribute more to existing projects rather than playing mad scientist on massive works that will never see the light of day. I've also come to appreciate the idea of paying lots of attention to detail on one small thing rather than churning out large quantities of half-baked features.

theryanking.com / Monday, October 27, 2008 at 09:53 PM

Rack::Cache is a good idea

Ryan King nails it.

betaversion.org / Monday, October 27, 2008 at 08:35 PM

Why Programmers Suck at CSS Design

Stefano Mazzocchi: “I have a much simpler and humble goal here: give programmers some tricks and some advice in how to proceed to make their web pages look cleaner, more readable and, hopefully, more professional, elegant and original than before.”

blog.kovyrin.net / Sunday, October 26, 2008 at 01:20 AM

Advanced Squid Caching for Rails Applications

So, I got an email yesterday disagreeing with my remark about HTTP caching being wildly under-appreciated in the Ruby web community. I felt bad, a little. Then I read this article (posted the day after my remark), which talks about Scribd moving to a Squid reverse proxy setup to front their Rails deployments:

“But there was a problem – no one uses caching proxies in 2008 :–) So, we’ve got an idea – why can’t we place such a server in front of our application and make it cache content for all users in the world?”

The fact that Scribd had to “have this idea” on their own and had not previously been exposed to a ton of literature/tools on reverse proxy / gateway caching is completely fucking unacceptable. I'm back to agreeing with myself.

decodeuri.com / Saturday, October 25, 2008 at 08:21 PM

Creating a Rack Middleware for Minifying Your Javascript files

Pretty good introduction to building pieces of Rack middleware and using Rack::Builder.

ryandaigle.com / Saturday, October 25, 2008 at 12:19 AM

What's New in Edge Rails: Even Better Conditional GET Support

Much nicer, IMO. I'm interested to see if someone can get Rails + Rack::Cache working together so that you can maximize the benefits of generating these validators.

viget.com / Friday, October 24, 2008 at 04:00 PM

Introducing ActsAsMarkup: A Markdown, Textile, Wikitext, and RDoc Plugin for ActiveRecord

Interesting Rails plugin from Viget Labs that adds ActiveRecord attribute helpers for various humane markup languages. The markdown variation supports both rdiscount and rpegmarkdown. Cool. Not sure how I missed it when it was released in August.

youtube.com / Wednesday, October 22, 2008 at 04:52 AM

Ezra's "Merb, Rubinius and the Engine Yard Stack" Google Tech Talk

So I've been skeptical about Merb but I really like the world-view Ezra puts forth here: core framework code should be simple (no/little meta-programming), fast is good, Rack is awesome, etc.

blog.whatfettle.com / Tuesday, October 21, 2008 at 02:16 PM

What I Believe Roy Said

Paul Downey translates Dr. Fielding’s REST APIs Must be Hypertext Driven into lay-hacker speak.

hurricanesoftwares.com / Tuesday, October 21, 2008 at 02:11 PM

AJAX should not mandate HTTP

Huh? In a sane world, “Ajax” would have been called “HTTP” (or, more elaborately: “JavaScript gets a mostly-standard asynchronous HTTP client library”).

At first I thought this was going to be one of those articles that confuses animated JavaScript effects for Ajax but it goes on to talk about how Ajax is bad because it breaks “Save Page to File” … or something. Save Page to File?!

blip.tv / Tuesday, October 21, 2008 at 01:55 AM

Screencast: "I use Vim for everything"

There’s so many great workflow hacks in here.

tom.preston-werner.com / Monday, October 20, 2008 at 06:08 PM

How I Turned Down $300,000 from Microsoft to go Full-Time on GitHub

Tom Preston-Werner on how GitHub came into being and leaving Powerset after the Microsoft acquisition: “When I’m old and dying, I plan to look back on my life and say ‘wow, that was an adventure,’ not ‘wow, I sure felt safe.’”

blog.codeslower.com / Monday, October 20, 2008 at 03:26 AM

Why Ruby is Not My Favorite Language

Same here. I'm still looking for techniques that would make my Ruby libs and apps as simple to follow, debug, and maintain as equivalent Python versions are naturally. Ruby’s module system and cowboy shit (instance_eval, modifying Object, Class, Module, etc.) can go to hell. Python + blocks + class scope + large community and I'm sold.

paulhammond.org / Thursday, October 16, 2008 at 01:46 PM

Conditional classnames

Using conditional comments to stick an “ie” classname on <body> so that you can target IE from a single CSS file instead of bringing in a separate stylesheet. Nice hack.

sourceforge.net / Wednesday, October 15, 2008 at 03:13 PM

Varnish 2.0 released!

Looks like a really solid improvement on 1.0. I haven’t had a chance to play with any of the betas but I'm anxious to see whether If-Modified-Since/If-None-Match validation made it in. There’s a note on “serving expired objects until we have a fresh one” but that sounds more like stale-while-revalidate.

codingthewheel.com / Monday, October 13, 2008 at 06:30 PM

The Programming Aphorisms of Strunk and White

“Of course, Strunk and White, as the book is commonly called, has nothing to do with software (it was written in 1935) and everything to do with writing: grammar, composition, and style for users of the English language. But in its 100 short pages this book has more to say about the craft of software than many books you’ll find in the ‘Computing’ section of your local bookstore. All you have to do is replace a few key words throughout the text and presto! Pearls of software development wisdom, delivered in near-perfect English.”

bitworking.org / Thursday, October 09, 2008 at 11:37 AM

An Introduction to REST

Joe Gregorio’s 14 minute video introduction to REST and HTTP.

help.yahoo.com / Wednesday, October 08, 2008 at 08:04 PM

class='robots-nocontent'

Apparently, Yahoo!’s indexer supports marking specific content on a page as “extraneous to the main unique content”. This lets you prevent headers, navigation, and other types of site-level crud from overwhelming the content and the search results will excerpt only content that’s relevant to the page.

From the Yahoo! Web Crawler FAQ: “… apply the robots-nocontent attribute to indicate to search engines any content that is extraneous to the main unique content of the page. Yahoo! Search observes the class='robots-nocontent' present on XHTML elements, such as div, span, and all others.”

thewebisagreement.com / Wednesday, October 08, 2008 at 04:35 AM

The Web is Agreement

This is really close to what “the web” looks like in my brain:

The Web is Agreement

I try to stay in the general vicinity of the “principles mound.” :)

olabini.com / Wednesday, October 08, 2008 at 03:08 AM

Don’t overuse instance_eval and instance_exec

Ola Bini: “Using instance_eval changes the rules for the language in a way that is not obvious when reading a block. You need to think an extra step to figure out exactly why a method call that you can lexically see around the block can actually not be called from inside of the block.”

Having abused instance_eval in the past, I can say with absolute clarity that it’s usually The Wrong Thing. It can make DSLish code look really cool in controlled and scoped demos but it greatly increases cognitive complexity, making things hard to read and maintain.

youtube.com / Wednesday, October 08, 2008 at 02:56 AM

"Air Budd Form Builder" meets "/admin Considered Harmful"

Bill Burcham applies the technique of making form controls inherit style from their container in the Air Budd Form Builder Rails plugin. Cool.

github.com / Wednesday, October 08, 2008 at 02:14 AM

FastHTTP

… is a Ruby library suitable for use as a drop-in Net::HTTP replacement or with event frameworks like EventMachine and Rev.

minima.soup.io / Sunday, October 05, 2008 at 08:50 PM

Minima

Alex Payne’s tumble-like blog on minimalism in coding and design. I didn’t realize @al3x was such a huge conscious follower of the minimalist aesthetic, although I've definitely noticed it in his work.

simonwillison.net / Sunday, October 05, 2008 at 07:41 PM

Google's undocumented favicon to png convertor

I'm using this on all of my “linkings” index pages now (see here, for example). It works pretty well. I really like the idea of integrating a piece of the destination site’s visual identity instead of using a generic del.icio.us/bookmark icon. Some site’s with favicons don’t work properly, however, and I'd give anything to have another parameter that let me override the default globe icon (this one: ). It'd be nice if I could say, grab the favicon for this domain but if it doesn’t exist, give me the favicon for delicious.com ().

ra-ajax.org / Sunday, October 05, 2008 at 04:08 AM

Managed Ajax - A New Approach to Ajax

A horrible and misguided idea. I've personally never even liked the RJS/JavaScript generation stuff in Rails, and it’s actually well designed, thought out, and quite simple. “Managed Ajax” takes it to a whole new level, building from the assumption that “JavaScript is the new assembler,” and moves most types of interaction logic to the server. Reality seems to be moving in the exact opposite direction. Do yourself a favor and get real comfortable with JavaScript.

blog.nuclearsquid.com / Sunday, October 05, 2008 at 01:27 AM

Subtree merging and you

Very interesting alternative to git submodule, especially in “vendor branch” type scenarios. The other project is merged into yours at a specified prefix and can be updated with a simple git pull.

appleinsider.com / Sunday, October 05, 2008 at 01:20 AM

Latest iPhone Software supports full-screen Web apps

“One unpublicized feature introduced by Apple’s latest iPhone software updates is the ability to save Web apps to the home screen and have them launch in full-screen mode without the Safari wrapper, essentially mimicking the experience of a native app.”

wiki.mozilla.org / Sunday, October 05, 2008 at 01:17 AM

Cross Site XMLHttpRequest Design

Oh, nice. Here’s a high-level design document that describes the new cross-site XmlHttpRequest (their calling it, “XXX”) functionality and ties the other documents floating around out there together. It seems that servers will be able to signal that certain resources are accessible from other domains using HTTP headers or (gasp!) XML processing instructions (PIs). Weird.

bugzilla.mozilla.org / Sunday, October 05, 2008 at 01:10 AM

Bug 389508 – Implement Cross-site XMLHttpRequest

Just landed on mozilla trunk a few days ago. See the draft spec for specifics.

itmanagement.earthweb.com / Friday, October 03, 2008 at 03:35 PM

A Big Change for Open Source

Bruce Perens on the recent JMRI/GPL ruling:

“For a decade there'd been questions: Are Open Source licenses enforceable at all? Are their terms, calling for a patent detente or disclosure of source code, legal? Are they contracts, which require agreement by all parties to be valid, or licenses, which are binding even if you don’t agree to then? What legal penalties can a Free Software developer employ: only token damages, or much more? The court’s ruling makes the answers to these clear. Did such weighty questions come up in cases involving IBM, Sun, HP, or Red Hat? No, this is the quirky world of Free Software: it was a court case about model trains.”

paulhammond.org / Monday, September 29, 2008 at 12:46 PM

Tap Tap Tap

Looks like Paul Hammond is in the process of resurrecting his blog.

projects.linpro.no / Sunday, September 28, 2008 at 06:55 AM

Varnish 2.0 beta 2 released

Lots of good stuff coming in Varnish 2.0. GC, regexp based purge, custom hash funcs, backend load balancing based on health or other metrics, and the thing I'm personally most interested: what looks like support for validation based caching.

en.wikipedia.org / Saturday, September 27, 2008 at 03:20 PM

SHA-1 Pseudocode

Pseudocode for the SHA-1 algorithm. Pretty straight-forward for being so insanely useful.

html5.validator.nu / Saturday, September 27, 2008 at 03:07 PM

HTML5 Validator

Highly experimental HTML 5 validation service. More info and bookmarklets available on the about page.

plasmasturm.org / Sunday, September 21, 2008 at 12:03 AM

How to usurp PHP’s place: an outline

Aristotle Pagaltzis on eating PHP’s lunch: “It will have to be more than just a programming language, because PHP itself is really more than a programming language. It includes a crude web framework (an invocation model reminiscent of CGI, with extensions) plus a crude deployment solution (just make all the libraries part of the language and let the sysadmin worry about it – who in turn often defers to his operating system vendor). This is PHP’s way of taking the worse-is-better philosophy to dazzling new depths …”

I was having this conversation at work the other day and came away with the conclusion that even if something were to reach feature / ease of use parity with PHP today, it would be many years before it actually surpassed the language in real deployments. PHP is everywhere.

hackety.org / Monday, September 15, 2008 at 04:36 AM

Documents Reveal Django Pony, Caught In Tail Of Lies

Aha!

kegel.com / Sunday, September 14, 2008 at 10:59 PM

The C10K problem

Dan Kegel: “You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let’s see – at 20000 clients, that’s 50KHz, 100Kbytes, and 50Kbits/sec per client. It shouldn’t take any more horsepower than that to take four kilobytes from the disk and send them to the network once a second for each of twenty thousand clients. (That works out to $0.08 per client, by the way. Those $100/client licensing fees some operating systems charge are starting to look a little heavy!) So hardware is no longer the bottleneck. ”

Looks like this is from 2003 but is still pretty accurate as far as I can tell.

mindtrash.net / Sunday, September 14, 2008 at 02:49 PM

UNIX

Talk about a religious attachment…

docs.djangoproject.com / Saturday, September 13, 2008 at 08:12 AM

Django’s cache framework

All frameworks should approach caching the way Django does. The core app/origin framework does no real caching but provides utility/helper methods for setting standard RFC 2616 cache related headers on the response easily and correctly. A completely separate set of caching goo (“middleware”) sits between your app and performs the actual caching based purely on the headers set by the origin. The benefit to this approach is that caching is totally independent from the app framework and can be swapped out for a true gateway (“reverse proxy”) cache at any time.

ph7spot.com / Wednesday, September 10, 2008 at 11:10 AM

Effortless Thread Dump for Ruby:

Dump the stack trace of all threads in a running ruby process by signaling with -QUIT. Requires patching the ruby interpreter, which sucks because I need it for a process running right now.

reddit.com / Sunday, September 07, 2008 at 02:43 PM

Shaper_pmp explains the importance of pedantry

“It also becomes a good-natured game. Think of it like golf. In golf you’re trying to hit the ball into the hole in fewer strokes than your opponent. In Pedantry Golf you’re trying to be more correct than your opponent, by correcting edge-cases, mistakes or assumptions in the previous post or statement (see also: Perl Golf).”

tbray.org / Monday, September 01, 2008 at 10:30 AM

Dangerous Gems

Yep. Rubygems’s system of security is really very lax compared to any Linux distro or other system-level package management system I've come across. I think the bigger problem, though, is that there’s a cultural acceptance to running gem as root. You don’t really think before installing a gem, you just “sudo gem install FOO”. There’s an attack waiting to happen any time you’re using sudo out of convention like that.

alexandersandler.net / Wednesday, August 27, 2008 at 01:07 AM

tcpdump for Dummies

Alexander Sandler’s get-up-and-running guide to the tcpdump packet sniffer.

gist.github.com / Wednesday, August 20, 2008 at 05:03 PM

Text Transcript of Chris's Ruby Hoedown '08 Keynote

Chris Wanstrath: “Side projects are less masturbatory than reading RSS, often more useful than MobileMe, more educational than the comments on Reddit, and usually more fun than listening to keynotes.”

rubyhoedown2008.confreaks.com / Wednesday, August 20, 2008 at 04:57 PM

Video of Chris Wanstrath's Ruby Hoedown '08 Keynote

I just totally love this kid. Chris explains the future and past of, uh, everything that matters, and gives good, solid, practical reasons for why contributing to free and open source software projects is something worth dedicating a large chunk of your time to.

25hoursaday.com / Sunday, August 17, 2008 at 06:12 PM

Explaining REST to Damien Katz

Dare Obasanjo is a machine.

blog.labnotes.org / Saturday, August 16, 2008 at 03:36 PM

REST in the front, RPC in the back

Assaf Arkin: “There’s also some back-end processing going on, and I think that part is using DRb for now. But maybe the next update it will switch over to RMI or UNIX pipes or whatever. I don’t much care because the library does the talking, and besides, it’s only distributed in the sense that we have two pieces of code running with different PIDs. Not particularly important what’s happening on the wire, as long as it’s fast.”

dehora.net / Saturday, August 16, 2008 at 03:16 PM

REST as an engineering discipline

Bill de hÓra knocks one out of the park: “I think sometimes that the problem people have with REST is that it’s so well-defined; it’s not witchcraft, it’s not a cargo cult. You can’t argue with it on a relativistic basis or apply clever rhetoric or continuously redefine what it means. An architectural style isn’t ‘good’ or ‘bad’ – you have to decide if it’s the right fit for your problem space and if not, you have to come up with a more appropriate one.”

adam.blog.heroku.com / Thursday, August 14, 2008 at 02:18 AM

Don't Fear the URLs

Adam Wiggins on Sinatra’s blasphemous approach to controllers and routing. AKA: the thing that makes Sinatra my web layer of choice (well, that and throw :halt).

ryandaigle.com / Thursday, August 14, 2008 at 02:10 AM

What's New in Edge Rails: Simpler Conditional Get Support

Still too much work but it’s nice to see some support for conditional GET making its way into the framework.

ifany.org / Sunday, August 10, 2008 at 07:27 PM

Minimalism Revisited Theme

Jonas Arnfred: “This theme is a sleek and simple minimalist design for wordpress made to bring the content forward, and everything else out of view. The theme is designed with a focus on typography and effective whitespace …”

evotech.net / Saturday, August 09, 2008 at 07:16 AM

Web Development for the iPhone

“You can specify CSS based on viewport orientation which you determine via javascript and update the orient attribute of the body element. Target the browser with body[orient=‘landscape’] or body[orient=‘portrait’]”

github.com / Sunday, August 03, 2008 at 04:23 AM

git-sh(1) - A customized bash shell suitable for git work.

I threw this together a few weeks ago and now I'm not sure how I lived without it now. I know you people have cool bash/git hacks sitting in your ~/.bashrc — hand them over.

simile.mit.edu / Monday, July 28, 2008 at 10:19 PM

Timeplot

Very nice and functional JavaScript based timeplot library. Looks good, shows data-points on mouse over, approachable API. Good stuff.

flowingdata.com / Friday, July 25, 2008 at 11:00 PM

There’s More Than One Way to Skin a… Dataset

This is why I have a really weird fetish for graphs. It’s not the colors and shapes, it’s the fact that any data has an infinite set of potential visualizations and some are vastly better than others, depending on your needs.

dehora.net / Friday, July 25, 2008 at 10:55 PM

Patterns of Web Architecture

An all around great post from Bill de hÓra. Wow.

joshua.schachter.org / Thursday, July 24, 2008 at 11:13 PM

beyond rest

joshua schachter on Rabble/Kellan’s “Beyond REST?” presentation, with an interestingly simple HTTP-based callback system.

netzhansa.blogspot.com / Thursday, July 24, 2008 at 03:07 AM

Building Load Resilient Web Servers

Great look at varnish and concerns around putting a front-end reverse proxy cache in place.

intertwingly.net / Friday, July 18, 2008 at 05:57 PM

Life after Bug Tracking Systems

Sam Ruby on how DVCS + mailing list has removed the need for bug tracking systems on some projects. I'm feeling a similar pull in my own work.

plaintxt.org / Monday, July 07, 2008 at 06:07 AM

blog.txt

A minimalist’s WordPress theme. Focus on typography and simple markup. Various configuration options and a print stylesheet.

blade.nagaokaut.ac.jp / Sunday, July 06, 2008 at 05:58 PM

[ANN] Bacon 1.0, a small RSpec clone

Christian Neukirchen announces Bacon, a ground up reimplementation of test/spec + test/unit. (EDIT: this is not test/spec as I had previously reported. Sorry.)

refactormycode.com / Saturday, June 28, 2008 at 08:46 PM

refactormycode.com

Awesome idea. Nice syntax highlighting. (Via Simon Willison)

devclue.blogspot.com / Saturday, June 28, 2008 at 06:33 PM

Ruby's $LOADED_FEATURES (Array of stuff that's been required)

Not sure how I've never stumbled on this before. You can remove items from the list to cause require to reload a file.

blogs.zdnet.com / Monday, June 23, 2008 at 06:01 PM

Ruby on Rails: scaling to 1 billion page views per month

“Jim Meyer, manager of LED says that Rails scales like any other web application: ‘That is to say you need to take into account all the components from the moment the request is received at the load balancer all the way down and all the way back again.’”

diveintomark.org / Sunday, June 22, 2008 at 04:16 AM

Minimalism

Hilarious! What Mark doesn’t know is that much of my “minimalist redesign” was ripped directly from what he’s had in place for 2-3 years; “administrative debris” was just a convenient alibi.

avdi.org / Friday, June 06, 2008 at 12:26 PM

You should be on ruby-talk (the mailing list)

Agreed. I've been a lurker for going on a year now. Solid mailing list.

wink.rubyforge.org / Wednesday, June 04, 2008 at 12:16 AM

RDiscount API Documentation

An initial version of RDiscount’s API docs just published on rubyforge…

yosefk.com / Tuesday, June 03, 2008 at 01:17 PM

OO C is passable

Yossi Kreinin: “But I miss virtual functions. I really do. I sincerely think that each and every notable feature C++ adds to C makes the language worse, with the single exception of virtual functions.”

wiki.reia-lang.org / Tuesday, June 03, 2008 at 01:13 PM

Reia -- Python/Ruby hybrid language syntax; runs on the Erlang VM

Good idea. Solve the “concurrency problem” for dynamic/scripting languages and the “language syntax problem” for Erlang, without sacrificing the benefits of either. Someone needs to keep an eye on this.

svn.ruby-lang.org / Sunday, June 01, 2008 at 02:42 PM

Ruby 1.8.7 Release Notes

There’s way more new stuff in here than I thought. 20%-30% of ActiveSupport’s core extensions, Enumerator support everywhere, Object#instance_exec, byte vs. char stuff, documentation, and more…

github.com / Saturday, May 31, 2008 at 09:50 PM

Scott Chacon's Git Talk at RailsConf (slides)

If you move the slides quickly, it feels a bit like playing Desktop Tower Defense.

blog.extracheese.org / Friday, May 30, 2008 at 05:00 PM

Processes spawn faster than threads?

Sometimes! Or, fork(2) is a very fast operation on legitimate operating systems. I didn’t realize it could be as fast as spawning a thread, though.

dehora.net / Thursday, May 29, 2008 at 11:36 PM

Bill de hÓra on Tim Bray on Twitter

“… the fact that [Twitter has] a nifty error page is a bonus really.”

justinfrench.com / Tuesday, May 27, 2008 at 11:25 PM

Git Commits That Need to be Pushed

Justin French: alias push?='git cherry -v origin' — beautiful.

gittr.com / Tuesday, May 27, 2008 at 11:00 PM

Gittr: cschneid's weblog

cschneid has been helping me get the collection of hacks I've come to call a weblog into shape for some kind of release. He’s also been writing a lot of great Sinatra tips and tricks here. Check it out.

ajaxian.com / Tuesday, May 27, 2008 at 08:21 PM

Announcing AJAX Libraries API: Speed up your Ajax apps with Google’s infrastructure

Interesting. I've been using the jquery-1.2.3.js hosted on google code for a few months now. Maybe I should have read the TOS…

github.com / Tuesday, May 27, 2008 at 09:25 AM

Hanna - A Better RDoc

This is the template used to generate the HAML RDoc. It’s a massive improvement over the default template shipped with rdoc. I can almost stomach rdoc with this — almost.

haml.hamptoncatlin.com / Tuesday, May 27, 2008 at 07:41 AM

HAML 2.0 Release Notes

Support for HTML4/HTML5 output, more control over whitespace, option for implicit HTML encoding, and now faster than ERB.

kerneltrap.org / Wednesday, May 21, 2008 at 07:14 PM

Git Management KernelTrap Thread

Interesting thread wherein Linus describes the need for various types of Git workflows for leaf developers vs. maintainers. Lot’s of talk about the pros and cons of rebasing in different situations.

github.com / Tuesday, May 20, 2008 at 04:10 AM

peg-markdown

An implementation of Markdown in portable ANSI C that’s roughly 28.5x faster than the canonical Perl implementation on a 179K test file. Looks like a complete implementation; includes smarty and footnote extensions.

canonical.org / Tuesday, May 20, 2008 at 01:36 AM

Counting Characters in UTF-8 Strings Is Fast

Aristotle Pagaltzis: “Not exactly as fast [as SBCS strlen], but if you write it in asm, it only takes one extra instruction to count characters in UTF-8 vs those in an 8-bit encoding, per character.”

streaming.linux-magazin.de / Monday, May 19, 2008 at 07:59 PM

Apache 3.0 (a tall tale), Roy Fielding

Nice ApacheCon EU ‘08 presentation (warning: video + slides, no transcript) covering various blue sky stuff on Roy’s brain for Apache and HTTP.

mozilla.com / Friday, May 16, 2008 at 10:42 PM

Mozilla Firefox 3 RC1

And I was just starting to get used to the Minefield icon… I've been running the nightlies for about three months now and FF2 is really feeling a bit like legacy software.

warpedvisions.org / Friday, May 16, 2008 at 10:22 PM

HOWTO think about problems

“You (and I) suck. Plan for it. Expect it. Get over it.”

ola-bini.blogspot.com / Thursday, May 15, 2008 at 11:03 AM

Dynamically created methods in Ruby

Ola Bini on def vs. define_method vs. eval for defining methods in Ruby. There really ought to be a simple way of getting stuff like this from blogs and into the standard Ruby doc.

blogs.zdnet.com / Wednesday, May 14, 2008 at 04:49 PM

REST: Reducing Effort in Script-based Testing

Boo! Horrible name collision imminent. Is REST really that unknown or do they just not care?

code.google.com / Wednesday, May 14, 2008 at 04:37 PM

Google Doctype

What Mark Pilgrim has been working on at Google for the past year or so: an encyclopedia of web development.

osteele.com / Monday, May 12, 2008 at 01:05 PM

My Git Workflow

Oliver Steele details his (and others’s) Git workflow with a bunch of illustrative graphs, emphasizing one of my favorite aspects of Git: There’s More Than One Way To Do It.

paulspontifications.blogspot.com / Monday, May 05, 2008 at 07:13 AM

An Under-Appreciated Fact: We Don't Know How We Program

“… in every one of these processes and diagrams there is a box which basically says ‘write the code’, and ought to be subtitled ‘(and here a miracle occurs)’.”

ola-bini.blogspot.com / Sunday, May 04, 2008 at 09:32 PM

Just add scaling!

“I still haven’t found anyone who knows how you implement Scaling in a language, so I guess that LRM will never have it… Anyone who care to enlighten me, please send me a detailed email with an implementation of Scaling.”

codeclimber.blogspot.com / Thursday, April 17, 2008 at 04:27 AM

"All I need is a Programmer"

Ethan Vizitei with a great piece on people’s misconceptions about what coders do and the difficulty with which they do it.

codeclimber.blogspot.com / Sunday, April 13, 2008 at 06:47 PM

Burning the midnight oil

Ethan Vizitei on the difference in productivity found in the middle of the night vs. any other time of day. Nails it, IMO.

www-cs-students.stanford.edu / Sunday, April 13, 2008 at 06:50 AM

Git Magic

All manners of good stuff here.

github.com / Thursday, April 10, 2008 at 02:40 PM

Say hello to the (GitHub) Network Graph Visualizer

Now this is the kind of direction I hope to see GitHub and Gitorious go in the future.

erikengbrecht.blogspot.com / Thursday, April 10, 2008 at 12:57 PM

Multiprocess versus Multithreaded ... or why Java infects Unix with the Windows mindset

Erik Engbrecht: “Java took cheap Unix processes and made them expensive. To compensate, it provided primitives for multithreading.”

redmonk.com / Thursday, April 10, 2008 at 02:44 AM

Clouds Rolling In: The Google App Engine Q&A

Stephen O'Grady with the obligatory Q&A, which is excellent as always.

shell.appspot.com / Thursday, April 10, 2008 at 02:10 AM

Interactive Google App Engine Python Shell

The Python REPL running on Google’s infrastructure.

blog.ianbicking.org / Wednesday, April 09, 2008 at 03:39 PM

App Engine and Open Source

Ian Bicking: “Many people are excited about how far up you might be able to scale something based on App Engine, but I’m excited about how far it could be scaled down.”

porkrind.org / Tuesday, April 08, 2008 at 03:05 PM

commit-patch

A nice solution to “The Tangled Working Copy Problem” for VCS’s that don’t allow you to pluck out portions of a working copy to commit. Allows editing the diff that’s about to be committed.

kernel.org / Tuesday, April 08, 2008 at 01:23 PM

Git HOWTO Index

There are some great tips for owning your local workflow in here.

simonwillison.net / Tuesday, April 08, 2008 at 01:19 PM

My initial reaction to Google App Engine (in Simon Willison's comments)

I've since went to sleep and reawakened. I'm typically fairly curmudgeony when I wake up but I'm still having the same reaction.

rockstarprogrammer.org / Tuesday, April 08, 2008 at 01:15 PM

The Differences Between Mercurial and Git

I can’t say whether this is an accurate description of hg but he nails a lot of the things that makes git interesting, IMO.