News
Gloves
Last time I talked about the creation of Robaccia I got to the point of a working framework and just waved my hands and said you could keep going and "just" add conventions. I have pointed out that "just" is a dangerous word, so let's walk through the rest of the steps to building a Rails/Django-like web framework. Update: Just so there's no confusion, the title of this post comes from The Complicator's Gloves.
News
Google += John Panzer
John Panzer:
Today is my last day at AOL. I celebrated my binary millennial in February, and it's time to move on... to some exciting new things over at Google. Congrats!
News
The Dinner Table Rule
If I ever go back into management one of the rules I'd enforce is "the dinner table rule"; that is, in a meeting, you can only use words you would use with your family at the dinner table. For example: I've never given my children an "action item". Finishing your meal is not a "deliverable". Dessert is not a "value add". Mashed potatoes and gravy do not have "
News
The W3C's next-generation HTML specification
Dan Connolly:
We are resolved, then, that the W3C's next-generation HTML specification be named "HTML 5" and to start review of the text of the HTML 5 and WF2 specifications, and we welcome Ian Hickson and Dave Hyatt as editors (while remaining open to the possibility of other editors in the future). Wow, that window isn't where it used to be.
News
Shallow REST
Sam Ruby:
That question was chosen as is identifies an HTTP header than happens to have a practical benefit AND requires one to pierce layers upon layers of “value-add” infrastructure to implement correctly. Deep etags give you more benefits.
News
Atom Publishing Protocol Plugin for Confluence
Zohar Melamed just pointed me to his APP Plugin for Confluence. Check out the screen shot of it working with the APP Test Client. I've been following Zohars work and let me tell you it's great. As you know, his work is based on the well tested RomePropono Class so for the guys who are familiar with it, it will be easy to use/implement. Atom rocks! By the way, it seems that you are really really "
News
Canon PowerShot A630
My birthday present this year was a new camera, the Canon PowerShot A630. Lynne and I are both happy with the A70, but it gets so much use that I'm rarely able to wrestle it from Lynne's hands when I go on travel. Given how much we like the A70, a new Canon model was the obvious choice and the A630 with 8 megapixels, a 4x zoom, a much faster picture speed, the cool swing-out LCD screen, and a nice price was a shoo-in.
News
Test stubbing httplib2
I'm writing some HTTP client code that uses httplib2, and the following code has allowed me to create unit tests without creating a bunch of resources on the web to test against. It's a stub of httlib2.Http that reads its responses off the disk. I monkey-patch it in place for unit tests, and restore the original after I'm done, so as not to interfere with other unit tests that might run and require the original class.
News
Speaking at OSCON 2007
I'll be speaking at OSCON this July on the Atom Publishing Protocol. This will be my very first OSCON, and I'm looking forward to it. Great! I'm glad to see APP continuing to pick up steam... Posted by Keith Fahlgren on 2007-05-08
News
The future of ...
Guido van Rossum:
Just because Java was once aimed at a set-top box OS that didn't support multiple address spaces, and just because process creation in Windows used to be slow as a dog, doesn't mean that multiple processes (with judicious use of IPC) aren't a much better approach to writing apps for multi-CPU boxes than threads.
I obviously agree.
I don't get it. There's nothing magic that makes process scheduling faster than thread scheduling — on most OS's, a process is just a bag of threads plus an address space (and some other globals), and the kernel schedules all threads of all processes against each other.
News
time to move on
Shankar Ramaswamy:
On the eve of Java One 2007, I for one have decided to move on from Java. I suspect I am somewhat late to the party - there has been a growing trend for some time of developers seeking greener pastures.
Language popularity ebbs and flows. I wonder, in hindsight, what date the 'peak' for Java will be placed at.
News
Sunroom, Shed and Patio
One year ago we started in on a project to convert our screened porch into a sunroom, add a patio, and add a shed. Well, one year has passed and we are finally nearing completion. The reason it's taken a year is a very long story that I will tell much much later, a story that includes ugly words like "bad checks", "bankruptcy", and "felon". But all that aside, we've made great progess, here are some before and after shots: The concrete patio is tinted, and the shed, which is to the right, has an eight foot overhang, which provides the shade.
News
Apollo and Silverlight
Mark weighs in on the subject of Apollo and Silverlight.
Did I mention that on Tuesday I seamlessly rolled out an upgrade to the sparklines generator?
News
Children
Having kids means you hear sentences around the house that you would never hear uttered otherwise.
On safety From the four year old:
Why is there blood and bandages all over the bathroom? Answer: The 13 year old just got a real Swiss Army knife for his birthday. With real Swiss blades. Which can really cut not-so-Swiss hands. Which he tried to bandage up himself to avoid the embarassment.
News
Sparklines Update
The sparklines generator has been updated to offer a new graph type: impulse. This is similar to a discrete graph , but the lines extend all the way down to zero .
Note I said "zero", and not "the bottom of the graph". That lets me introduce another often requested feature, the ability to make graphs like this: . All lines in an impulse graph are plotted from zero, and if you put a lower limit for your data that is negative, then negative data points are plotted down from zero.
News
WSGIDispatcher
Introducing WSGIDispatcher [code][docs][tests]. It's just like Luke Arno's Selector, except for the following:
The license is MIT. It does not use setuptools. It has no external dependencies. It has unit tests. Regular expressions are compiled lazily. Non-regex path expression are treated as string matches, not regular expressions. You can mix and match templates and regular expressions in the same instance of Dispatcher(). Hooking up applications that handle all methods doesn't require _ANY_.
News
First Atom Publishing Protocol Interop Notes
So the first Atom Publishing Protocol Interop meeting took place over the past two days. The event was hosted by Google, and I'd like to extend a big Thank You to DeWitt and the rest of the Googlers for hosting this event. The food and facilities were great, though it appears 20 guests in a single room seemed to tromp the guest wi-fi network. It was great to meet so many people face to face after all this time.
News
Atom Returns to Socialtext
Chris Dent:
...so I went off and implemented a good start at Atom support in the REST API. w00t!
Monday and Tuesday there is an APP Interop Event at Google. I wish I had done this work sooner, as I would have liked to show up. I can make a Socialtext server and service document available, if there is interest. I'm interested.
News
Scaling Matters Twitter
Alex Payne:
The problem is that more instances of Rails (running as part of a Mongrel cluster, in our case) means more requests to your database. At this point in time there’s no facility in Rails to talk to more than one database at a time. The solutions to this are caching the hell out of everything and setting up multiple read-only slave databases, neither of which are quick fixes to implement.