1. Rounded Corners - 119

    March 30th, 2007

    Bringing sexy back. The Hobo migrations are sexy:

    create_table :updates do
      foreign_key :user
      foreign_key :group
      text :body
      string :type
      timestamps!
    end

    To infinity and beyond. I learned something new on Reddit today:

    DevGuy0: “OOP is the best at modeling the world and the things we do!”
    DevGuy1:
    “Really?”
    DevGuy0:
    “Yup, objects are exactly like everyday things and OO design captures how they interact.”
    DevGuy1:
    “OK. So, how do you make coffee?”
    DevGuy0:
    “Well, first I take out the coffee…”

    WS-Interoperability… does not require SOAP:

    The Yahoo! Mail Web Service offers two different ways to communicate: SOAP and JSON-RPC. The best choice depends on the programming language you intend to use to develop your application. Not all languages that support SOAP are compatible with the Yahoo! Mail Web Service, but all languages that support JSON-RPC are compatible with the Yahoo! Mail Web Service.

    Sam Ruby has more SOAP shenanigans from the Yahoo Mail API.

    One can always dream. But given enough APIs, and sticking with the simplest solution that works, there’s no reason why we can’t get there:

    $ mount http://amazon.com
    $ grep ‘agile & software’ /mnt/w/amazon/books > agile-books
    $ cat agile-books | cut -3 | uniq -c

    2007, year of the REST. Love it, hate it, have on clue what we’re talking about. Doesn’t matter. REST is officially the new Cool By Association technology.

  2. Rounded Corners - 118

    March 28th, 2007

    swim.png

    After tragedy and farce come … Alexey Verkhovsky wants to see Ruby in the enterprise, just not Ruby 2 Enterprise Edition:

    I think, we should make it “common sense” that “enterprise Ruby stack” does not have bloated middleware within it, doesn’t need it, and doesn’t want it. Make it culturally unacceptable.

    (The tagline is an Easter egg hidden in the post)

    Yeah, it’s like that. Echos my first reading of the new GPLv3 draft:

    He described the latest draft as resembling the U.S. tax code. “The new draft no longer just defines freedom; it is designed to punish companies and business models that Richard Stallman [FSF president and principal author of the GPL] just doesn’t like,” Reed added. “In fact, the new version is now so complex and legally squishy that it is essentially a full employment guarantee for intellectual property lawyers.”

    Did you miss me? Stored procedures? Not so much.

    Brownie points. Yahoo just beat Google to the punch. No, not the unlimited storage, Gmail is still the better e-mail client. For having an official API. Not the one you pay to use, but the one you can make money using. I can see why Alex Barnett is so excited:

    Play, innovate, experiment, make mistakes but LEARN what it takes to succeed in the future - ’cause it’s coming at us faster than we think. This is not a time for analysis paralysis.

    Bring a wetsuit. Above, Google Maps directions for getting from Stanford to Stockholm.

  3. Inverse Learning Curve

    March 27th, 2007

    Sterling Camden subbing for Apotheon:

    I hope I’m not permanently banned from SOB for saying so, but ASP.NET with Visual Studio addresses the web app debugger problem far better, and I can’t say that debuggers are any less required for PHP as a language. Ruby, on the other hand, doesn’t seem to need debuggers. Maybe that’s because that language and the Rails framework actually make sense.

    I see these questions pop up often enough, that I decided to settle it once and for all.

    If you’re switching to Ruby from  some other language, be prepared. It doesn’t come for free. You will spend considerable time searching for things you used to have and no longer need. Old habits are hard to break. It takes a while to trust yourself and break the dependency.

  4. Rounded Corners - 117

    March 27th, 2007

    Two sides of the same coin. Thanks Joe Gregorio, for reminding us that in the REST world, the client and server views are not the same:

    Client resource: Employee
    URI: Found in the ‘href’ of each object in Employee List.

    “People just share this stuff with you?” I wouldn’t switch to Microsoft Novell Linux, but the spoof ad is funny.

    The truthiness of nil. My favorite is foo || false, although it’s longer than !!foo. Either, thanks Tim Lucas for reminding us again that nil is not false. (A common Ruby gotcha)

    Going green. InfoWorld is going green: no forests harmed in delivering these news. I’m going to miss the colorful magazine covers with the pretty pictures, which I never read anyway. But now that the deadtree delivery is dead, and anyway we checked the feed before heading to the office, a serious question pops up. What do we put in the lobby to keep our visitors occupied?

    Peeling the onion. Giles Bowkett asks:

    “the question of to what extent Rails is simply doing onions better than any other onions framework out there.”

    (Not sure what he means by onions? Read Avi Bryant’s post for context) Under the surface is the assumption that Rails is a mini evolution of a technology we used 10~15 years ago, and we’re just going full neutral in first gear. But I know I’m not the only one who decided to switch back to the onion. And I think that is the more interesting story at play.

    (How anti-piracy drove me to piracy, by Michael Heilemann)

  5. WTF?!?!

    March 26th, 2007

    This is just sick.

  6. Faith-based IT and Snake-Oil Architecture

    March 24th, 2007

    snakeoil_1.jpg

    Matthew King brought an interesting quote from an IT World article I linked to in Rounded Corners 115:

    “Either you believe in the value proposition or you do not.”

    Last week (Rounded Corners 113) I came across two articles on SOA. I wrote a post about both, and then trimmed it down to just one mention. I felt it was too snarky, even for me. (You can quote me on that)

    I’ll spare you the shameful links, but the premise of both articles was the same. SOA rocks. You just know it. The ROI is elusive, but don’t mind that. All you got to do is believe in the business benefit at the end of the rainbow.
    Since when is IT a faith-based religion?

    Stick your head through the corporate firewall and look at the Web. What do you see? It’s services all the way down. Every mashup, every widget and MySpace page. Every geocoding of Flickr photos, or plotting real estate prices against a Google Map. Every eco-system of services around a Twitter or a BaseCamp.

    It’s cool. But more than that, it’s quick and easy. Itch scratchers are doing it on a budget that’s less than what you paid to buy SOA Practices to your key developers.

    If there is an ROI, you’ll see it. That you can believe.

    So maybe there’s no benefit from building and composing services to your business. Maybe your corporate culture conflicts with collaboration and reuse. Maybe the implementation is wrong. Maybe the benefits all disappeared due to the choice of technology. Maybe there’s visibility into the issue at the CxO level, just not a lot of action.

    Either way, doing more of the same will not make ROI fall from the sky. Either you see it, or you bought into a piece of Snake-Oil Architecture. IT is not about faith, and business results are not implementation details.

  7. Rounded Corners - 116

    March 24th, 2007

    Taking Rails offline. Let me get this straight. It installs a setup of Rails in it’s own “VM”, which would then run my application, like a normal desktop application, except the same Web app code base which I use online, but since I can run it offline, will synchronize the data as necessary. I can see some million and one possibilities here.

    Cool by association. ebXML — remember ebXML? — has been banished from the XML/WS news feeds for a while now. You only mention it in good company, if you want to show your age. Otherwise, you keep to the acceptable topics of WS, REST and our new faith-based religion. But all is not lost, and ebXML is getting its cool back. In the form of a Ruby implementation.

    Good start, but still some catching up to do. At least in comparison to SAP, which brought the cool back in this mashup with Rails and Wii.

    Cool by association, Part 2. JSON support in Axis2:

    {"xsl:root":{"@xmlns":{"xsl":"http://foo.com"},"data":{"$":"my json string"}}}

    /< (.*)>/{$1}/ does not transform complex into simple. When we bitch and moan about angle brackets, we use that term metaphorically. I starting to think that Axis2, the lightweight alternative that just works, is suffering from J2EE envy. (Thanks, Antoine)

    Dare the impossible. I’m told it simply cannot be done:

    Are you saying that this linux can run on a computer without windows underneath it, at all ? As in, without a boot disk, without any drivers, and without any services ? That sounds preposterous to me.

    And make it possible. Andrés Taylor’s 10 lessons every software developer should know:

    No matter how cool your algorithms are, no matter how brilliant your database schema is, no matter how fabulous your whatever is, if it doesn’t scratch the clients’ itch, it’s not worth anything.

  8. Techie sikret handshake and Earthlink woes

    March 23rd, 2007

    The Internets crapped.

    Being what one may call “a sophisticated user”, I decided to e-mail a problem description, also outlining all the resolutions I tried, with network status and contact info. Give the support people enough to work with, and call me back when they get to it.
    Except, Earthlink, the Internet company, doesn’t list a support e-mail address on their Web site.
    But if you search for one, you will find a Web form. How quaint. But something is better than nothing, and so I start filling out the details, and then it stops working. Apparently, one of the DHTML transitions doesn’t work in Firefox. I’m guessing it was only tested against TotalAccess 2007, their branded version of IE, but I’m not going to install that.

    So phone it is. Let’s waste some 1-800 minutes.

    As common courtesy is, in many parts of the world, we start with a 3 minute menu tree. Intended to “help with the service”. Except, it doesn’t matter what you key in, it will always send you to the same call center. And the person at the other hand will have to ask you for all the same information you keyed into the automated system.

    I play along. My reward, 45 minutes on hold. Either because I chose “other” for the operating system I use, or because they’re all out for lunch. But eventually I do get redirected to a headset in India.  Not that I have anything against helpful people in other continents, but helpful as they may be, they’re not equipped to do anything about my ADSL line.

    Nada. In fact, their only job is to give me a turing test, before passing me off to a technician, somewhere around my time zone. So turing test it is.
    No, I will not wait until “service is restored in my area”. I just checked the online service status, there’s no service problem in my area. Not to mention, this problem has been ongoing for a while.

    Yes, the modem is connected to the power. And to the phone line on the other end.

    I can confirm, I have “blinking lights”.

    No there’s no filter on the line. I’m smart enough not to put an ADSL filter on the ADSL line.

    Yes, I tried to reset the modem. Also, I toggled keep alive, set it as bridge to PPoE from my WRT45GL, and checked the dB noise level, upstream and downstream.

    No, I did not place my cellphone on top of it, causing interference, and the microwave is still in the kitchen.

    Do I have anything blocking the connection between my computer and the modem? Let me see. I’m telneted into the router so I can check the line status with the diagnostic tool, so I’m guessing, no?

    Are we making progress here? I hope so, but then my cell phone drops the call, and it’s off to square one. This time I try pushing keys at random, just to see if I can get around the call center, maybe there’s a secret passage. No luck. The voice response system is very persistent. So I comply.

    But I pick some other option, just for kicks, so now the wait is shorter. Either that or they all came back from lunch. But now I have to remind the call center person about my mother’s maiden name. I think it helps with the upstream traffic. And also what modem I’m using. I guess “the one you sent me, the only one you send ADSL customers in the US according to your knowledge base” is not precise enough.

    Finally we’re making some progress. We’re going to take this relationship to the next level, and I’m going to meet — no, not the parents, but “someone who can help” me. By which they mean 35 minutes on hold. Again.

    Well, it’s now two hours past my dinner time, and Earthlink is not worth starving for, so I hang up. At least I can use the EV-DO card as backup. (How else would I find the support number to begin with?)

    But I’m wondering, shouldn’t there be some sikret handshake so us techies can just pick up the phone and get routed to a fellow techie. No more going through “oops, I forgot to turn it on” screening interviews. The technical people I talked to in the past wasted no time fixing my problem. And without having to know my mother’s maiden name.

    Meanwhile, anyone know how to reach Earthlink technical support without passing through India?

  9. Cajun-style crabcakes

    March 22nd, 2007

    Get them at Whole Foods, in the seafood deli.

    Fry in olive oil.

    You can thank me later.

  10. Rounded Corners - 115

    March 22nd, 2007

    Quantity Assurance. Works On My Machine logo by Coding Horror, original concept by Joseph Cooney.

    Tables turned. Back in the 90’s we got Slashdot, and a never ending stream of articles whining about the sad state of the software industry: the best technology doesn’t always win! Proving that was easy. More people were using Windows than Linux, and more people were using MS Word than Emacs and LaTex.

    What a difference a decade makes. Guess who’s doing all the “it’s not fair” complaining nowadays?

    I think that cuts to the core what I was feeling. Over the past 5 years, Microsoft has done more talking about software than delivering said software.

    Can you fix my password? How to Stop the Dilbertization of IT:

    “Outsourcing is a symptom, not the problem. Outsourcing has become such an important factor because when you turn IT into a commodity, it becomes about where you can get it at the lowest cost. It’s what we’ve done to IT that is the problem, which is taking away its chance to influence business”.

    Today only! The USPTO is having a sale. Get your very own patent on linked lists!

    Dear non-technical CIO magazine reader. “a binary compatible wire call is still a binary compatible wire call, no matter how much XML you put on it.” Not to mention that “information can be utterly, utterly application-specific and still 100% XML compliant.” (Sean McGrath via Bill)