What does "done" mean to you? I find that my definition of "done" continues to expand. When I was still pretty green, I would say "It's done" when I had finished coding. (Later, a wiser and more cynical colleague taught me that "done" meant that you had not only finished the work, but made sure to tell your manager you had finished the work.) The next meaning of "done" that I learned had to do with version control.
Continue Reading »-
A Dozen Levels of Done -
Postmodern Programming It's taken me a while to get to this talk. Not because it was uninteresting, just because it sent my mind in so many directions that I needed time to collect my scattered thoughts. Objects and Lego Blocks On Thursday, James Noble delivered a Keynote about "The Lego Hypothesis". As you might guess, he was talking about the dream of building software as easily as a child assembles a house from Lego bricks.
Continue Reading » -
Conference: "Velocity" O'Reilly has announced an upcoming conference called Velocity. From the announcement: Web companies, big and small, face many of the same challenges: sites must be faster, infrastructure needs to scale, and everything must be available to customers at all times, no matter what. Velocity is the place to obtain the crucial skills and knowledge to build successful web sites that are fast, scalable, resilient, and highly available. Unfortunately, there are few opportunities to learn from peers, exchange ideas with experts, and share best practices and lessons learned.
Continue Reading » -
Putting My Mind Online Along with the longer analysis pieces, I've decided to post the entirety of my notes from QCon San Francisco. A few of my friends and colleagues are fellow mind-mappers, so this is for them. Nygard's Mind Map from QCon This file works with FreeMind, an fast, fluid, and free mind mapping tool.
-
Two Ways To Boost Your Flagging Web Site Being fast doesn't make you scalable. But it does mean you can handle more capacity with your current infrastructure. Take a look at this diagram of request handlers. You can see that it takes 13 request handling threads to process this amount of load. In the next diagram, the requests arrive at the same rate, but in this picture it takes just 200 milliseconds to answer each one. Same load, but only 3 request handlers are needed at a time.
Continue Reading » -
Two Quick Observations Several of the speakers here have echoed two themes about databases. 1. MySQL is in production in a lot of places. I think the high cost of commercial databases (read: Oracle) leads to a kind of budgetechture that concentrates all data in a single massive database. If you remove that cost from the equation, the idea of either functionally partitioning your data stores or creating multiple shards becomes much more palatable.
Continue Reading » -
Three Vendors Worth Evaluating Several vendors are sponsoring QCon. (One can only wonder what the registration fees would be if they didn't.) Of these, I think three have products worth immediate evaluation. SemmleIn the category of "really cool, but would I pay for it?" is Semmle. Their flagship product, SemmleCode, lets you treat your codebase as a database against which you can run queries. SemmleCode groks the static structure of your code, including relationships and dependencies.
Continue Reading » -
Catching up through the day One of the great things about virtual infrastructure is that you can treat it as a service. I use Yahoo's shared hosting service for this blog. That gives me benefits: low cost and very quick setup. On the down side, I can't log in as root. So when Yahoo has a problem, I have a problem. Yesterday, there was something wrong with Yahoo's install of Movable Type. As a result, I couldn't post my "five things".
Continue Reading » -
Architecting for Latency Dan Pritchett, Technical Fellow at eBay, spoke about "Architecting for Latency". His aim was not to talk about minimizing latency, as you might expect, but rather to architect as though you believe latency is unavoidable and real. We all know the effect latency can have on performance. That's the first-level effect. If you consider synchronous systems---such as SOAs or replicated DR systems---then latency has a dramatic effect on scalability as well.
Continue Reading » -
SOA Without the Edifice Sometimes the best interactions at a conference aren't the talks, they're shouting. An crowded bar with an over-amped DJ may seem like an unlikely place for a discussion on SOA. Even so, when it's Jim Webber, ThoughtWorks' SOA practice lead doing the shouting, it works. Given that Jim's topic is "Guerilla SOA", shouting is probably more appropriate than the hushed and reverential cathedral whispers that usually attend SOA discussions. Jim's attitude is that SOA projects tend to attract two things: Taj Mahal architects and parasitic vendors.
Continue Reading »