2012-05-03 The New Boy

When I was 9, we moved back to Africa after a stint in California and Oregon over 5 years. I went from my suburban Portland elementary school to a strict and proper British school where I was only referred to as The New Boy. It worked out okay; I'm not sure how long it took but soon enough I was David again. This is my first week at Vertigo, and I'm excited to step again into the role of The New Boy. I upgraded my JAPH to a "JAVH" commemorate the experience:

 
map{print "$_ "}
split(/\d/, 
        join('', 
               map /(\w)\w/gi, 
               qw(Jaubsctd1a Aenfogthhiejrk2b Vlemrmtniqgnov3c Hoapcqkresrt)
        )
);

personal
programming
vertigo
[0] Comments
2012-03-30 What's In a Name?

A superior man, in regard to what he does not know, shows a cautious reserve. If names be not correct, language is not in accordance with the truth of things. If language be not in accordance with the truth of things, affairs cannot be carried on to success. When affairs cannot be carried on to success, proprieties and music do not flourish. When proprieties and music do not flourish, punishments will not be properly awarded. When punishments are not properly awarded, the people do not know how to move hand or foot. Therefore a superior man considers it necessary that the names he uses may be spoken appropriately, and also that what he speaks may be carried out appropriately. What the superior man requires is just that in his words there may be nothing incorrect.

From Confucius, Analects

programming
quote
[0] Comments
2012-03-20 A RESTful L'esprit de l'escalier

I was asked about REST and it stopped me dead in my tracks. I have met people who have read Dr. Fielding’s dissertation and aren’t afraid to use it. I remembered Rob Conery’s recent blog post on the topic:

I don't know any single term more explosive and zeal-inducing than REST and "what it means to be RESTful".

I will dare to admit publicly that I’ve abused REST to ditch SOAP as a serialization format. I did not sit down and carefully think about resources or collections. I went operational. I have written things like:

    [ServiceContract(Namespace="http://foo.bar.baz", Name="ApplianceService")]
    public interface IApplianceService
    {
        [OperationContract]
        [WebGet(UriTemplate = "SwitchOn")]
        OperationStatus SwitchOn();

        [OperationContract]
        [WebGet(UriTemplate = "SwitchOff")]
        OperationStatus SwitchOff();

        [OperationContract]
        [WebGet(UriTemplate = "Time")]
        string GetTime();
    }

But I also appreciate beautiful RESTful APIs. I appreciate when people have taken the time to really understand something and make it beautiful. Especially in scenarios that are very clearly resource oriented, REST not only makes sense, it is a model of elegance. Some place between the hacks and the purists there is a zen like balance. Now, just to find it.

programming
[0] Comments
2012-03-14 The Dark Matter Developer Behind Me

Scott wrote a blog post about so called Dark Matter Developers. There are many valid points however I thought I'd lend my own experience with one of these developers who is utterly disinterested in conferences, blogs, and twitter.

He works like a fiend. His exploits are whispered in murmurs by other developers after he has left the room. He prefers C++ but uses C# when necessary. He will grudgingly use WCF for a RESTful service but will admit that he prefers writing things from scratch with HttpListener. It's not like he isn't on the web, I see him reading documentation on the MSDN library from time to time. I also saw him reading the ATOM spec because he needed to in order to implement it in full for a custom server.

There is a notion out there that the devs who don't look at blogs or treat the Program Manager for the products that they like as a celebrity are the slackers for whom programming is just a job. It might be true for some, even most. But in my experience, there are a large contingent of Dark Matter Developers who are fiendishly productive and utterly disinterested.

I'm not like the developer behind me but you better believe I respect him and try to learn from him whenever I get a chance. As a person who usually errs on the side of chasing every shiny new thing, he is a perfect foil, a reminder that being a good developer, more often than not, is to just Do The Work rather than follow trends or even new technologies that are not mature.

programming
[0] Comments
2012-01-11 Embracing RavenDB as t3rse

I have been having a lot of fun getting to know RavenDB. It started off with my first wanting to have a quick way to model some data for a prototype I was building at work but has blossomed into a core piece of a forthcoming t3rse application (to be announced!).

Ayende posted a few days ago on the process of embracing RavenDB and something he said really struck me:

In 1980, a 10 MB hard disk (that is in megabytes, about 2 songs or 3 pictures) cost around 4,000 $ US. Adjusting for inflation, that comes at about 11,000 $ US in today’s dollars. Just to compare, today a 10 MB of disk space would cost you about half a dollar.
It seems kind of crazy now to put those costs in terms of today's data, but it's true. The rest of the post is true as well and although I'm still a little shy (mainly because of my own learning curve at modelling data for this environment right) I think I'm going to start using RavenDB a lot more as a commodity and less as a curiosity/learning experiment.

Although he highlights it in the post (which I'm having trouble finding directly on the site - I read it in Google Reader) is how using NoSQL allows for a lot more flexibility with data structures. I could not agree more and can honestly say this has been one of the bigger pleasures of using it to this point.

programming
[0] Comments
2011-10-13 Service Oriented Architecture

Steve Yegge surfaced recently by inadvertently making a public post on the foibles of Google compared to his experience at Amazon. Well worth the read, some interesting data points for me:

  1. Bezos, for all the disparaging, demonstrated vision and strength of will to force Service Oriented, Platform style approaches across Amazon.
  2. The tension between "Accessibility" and "Security" is interesting. Most people I've worked with find it easier to be obsessed with the latter than the former
  3. Amazon got better at SOA over time

I once joined a big chorus of detractors when SOA was still more in the realm of hyped consultingware. But a careful reading shows not only the practical future that SOA meant at the time but also how an investment in something (I'm thinking HTML5 right now) early in the hype curve makes for big dividends after the fact.

programming
[2] Comments

Concept, design, and implementation by t3rse, © 2011 All Rights Reserved. Logo by Paul Hess.