News
atompubbase - An AtomPub Python Client Library
Do you know how many Atom Publishing Protocol (AtomPub) clients and servers I've written? No? Neither do I, but it's a lot. At least five distinct versions of client code and all of them were written in Python. The reason I kept re-writing clients is that all of them sucked in one way or another and it was always easier to start from scratch. Of course, each time I'd learning a little more and they'd get incrementally better, but obviously not enough.
News
Batteries
While we really need an Apollo Program for batteries, just a decent amount of research and development would be good. If there is a technology realm that could have a larger impact on today's society and yet has been less funded and had slower growth, I haven't seen it. Think about batteries, all the places you use them, and all the places they could be used. The critical limiting factor in my hybrid cars performance is the weight of that huge battery pack under the back seats.
News
impromptu guerrilla tuba ensembles
I was talking to Mark when he pointed out TubaNews to me. An entire site dedicated to the Tuba. It's the Internet, so of course something like that exists. I hypothesized that given what I know about the Internet, and the normal mechanics of communities of passion, that there was probably a competing tuba site that we didn't know about, a competitor to TubaNews, one that came about because of some rift in the community.
News
Tim Bray on Ruby on Rails
Tim Bray fearlessly predicts the future:
Rails will continue to grow at a dizzying speed, and Ruby will in consequence inevitably become one of the top two or three strategic choices for software developers. But at the same time, other frameworks and tool-sets are learning its lessons, so Rails will get some serious competition.
Now you may remember that I made my own prediction about Rails:
.
News
Bruce Sterling State of the World, 2008
Bruce Sterling:
Some people still think that there's an "Islamo-fascist tyranny" somewhere that hates our freedoms and can organize Islam-dom into a coherent fascist state... There's just no way. Al Qaeda and the Taliban aren't true "fascists." Fascists can at least make trains run on time. Even Communists were better-organized. The mujihadeen have no organized army and no industrial policy and they don't know where to find any. Because God was supposed to handle all that for them.
News
The Web 2.0 Office Suite
This article on eWeek, with the hyperbolic title of "RIP: The Web 2.0 Office Suite", if you ignore the title, and all the content, actually has a rather interesting pie chart. Now I know nothing of the validity or methodology of the data gathered, but for the sake of argument let's presume it is correct. Mr. Wilcox tries to use the data to imply that on-line office suites are dead.
News
Steve Yegge on the Relationship Between a Language and the Bloat itEngenders
Steve Yegge:
I'll give you the capsule synopsis, the one-sentence summary of the learnings I had from the Bad Thing that happened to me while writing my game in Java: if you begin with the assumption that you need to shrink your code base, you will eventually be forced to conclude that you cannot continue to use Java. Conversely, if you begin with the assumption that you must use Java, then you will eventually be forced to conclude that you will have millions of lines of code.
News
Senator Dodd blocks FISA bill that would have given telecomsretroactive immunity
From The Huffington Post: While he never technically conducted a filibuster, according to aides, Dodd left the floor only once, to address a press gathering. He did, on occasion cede time to his Democratic colleagues. But even then, they say, he remained engaged in the debate.
Now the bill isn't completely dead and will be re-introduced in January, but hopefully with the retroactive immunity removed. So how about the rest of the-folks-who-would-be-president?
News
SimpleDB is GETSful
Upon closer inspection it appears that SimpleDB is GETSful.
Indeed. It's even stranger because they make it look like it's ReSTful. The front page docs have bits like "GET, PUT or DELETE" in addition to claiming to be a REST interface. Which all looks fine until you realize that "Amazon SimpleDB REST calls are made using HTTP GET requests" and the URIs look like this: https://sdb.
News
On the importance of being megadata
Amazon has opened SimpleDB for beta testers. As you would expect the system is designed to scale and as such has dropped generic relational operations such as joins and transactions. What we're looking at here is another instantiation of megadata.
And before you start beating your chest and exclaiming how "real" applications need joins and transactions please read "The End of an Architectural Era (It's Time for a Complete Rewrite)"
News
The price of DRM
I had this conversation with my mother-in-law this weekend just after she finished showing me the Home Media Features of her TiVo:
"Would you believe that none of the music I bought from iTunes would work with it? None of it, because of that DRM."
"You should buy your MP3s from Amazon."
"Oh, I know about that, and I will, I'm never buying another thing from iTunes."
Nobody cares about DRM until they have to, and then they care passionately.
News
A Theory of Templating Languages
Working on the URI Templating specification has made me realize that there is a pretty substantial hole in computer science theory: a lack of a theory of templating languages. For example, the current version of URI Templates is not Turing-complete, which excludes a whole bunch of possible attacks. In the specification I state:
On the balance, the template processing is not Turing complete, thus avoiding a number of security issues, ala the billion-laughs attack of XML DTDs.
News
RE<C
Google Press Release:
Google (NASDAQ: GOOG) today announced a new strategic initiative to develop electricity from renewable energy sources that will be cheaper than electricity produced from coal. The newly created initiative, known as RE<C, will focus initially on advanced solar thermal power, wind power technologies, enhanced geothermal systems and other potential breakthrough technologies. RE<C is hiring engineers and energy experts to lead its research and development work, which will begin with a significant effort on solar thermal technology, and will also investigate enhanced geothermal systems and other areas.
News
The D Language and Server Logs
So as a practical use of D I tried re-writing my Python program I use to process my referrer logs in D. My first pass was pretty sloppy and I end up touching every character in the file at least twice and in some cases three times. I thought I'd definitely be in need of a re-write, but the version I got working can rip through a 6MB file in 0.
News
draft-gregorio-uritemplate-02.txt
I've submitted the next version of the URI Templating specification, draft-gregorio-uritemplate-02.txt, but it won't be officially published until Dec 3rd because of the upcoming IETF meeting. I've gone ahead and released the HTML and TXT versions of the draft and will update the pointer to the TXT version once it is published as an internet-draft. As usual, the draft can be found here:
http://bitworking.org/projects/URI-Templates/
This version adds the '-cmd' commands we've been talking about, w/o the '-sub' command.
News
Re*Move on Curitiba
Re*Move, a blog of The Movement Design Bureau, one of my favorite new to me blogs has a short piece on Curitiba:
Lerner had a plan though, and that was to make the bus system a really viable alternative to the car, which was duly achieved by the implementation of a world-class system, which runs both in concentric rings around the city, and crosses through it, is simply coded by colour to identify routes, and uses cylindrical 'tubes' as bus stops.
News
Rubik's Cube
Caden, the four year old, runs into the room, "Look Mommy, I did the Rubik's Cube."
"Really?"
"Yes," she says, proudly holding up the cube and showing that indeed one side has been solved.
"Wow, you did that all on your own?"
"Yes."
"Really?"
"Well," she says looking down a little, "Reilly helped me move one of the stickers."
Redefining the problem can be a very strategic solution. Posted by Justin Watt on 2007-11-18 Now try explaining why doing that may make it insoluble, i.
News
Mimeparse in Ruby
Thanks to Brendan Taylor mimeparse now comes in Ruby in addition to the original Python flavor.
News
More on the D Programming Language
I've spent a little more time poking around D and I really like what I see. My appreciation is influenced by the languages posture, which is a pragmatic focus on being a productive programming language. Like I mentioned previously closures were just added. Here is an example of a numerical derivative:
import std.stdio; alias double delegate(double) fn; fn derivative(fn f, double dx) { double deriv(double x) { return (f(x + dx) - f(x)) / dx; }; return &deriv; } void main() { double xcubed(double x) { return x*x*x; } fn f = &xcubed; auto df = derivative(f, 0.