Posts Tagged ‘json’

The Information SuperLandfill (and other assorted thoughts)

Saturday, September 6th, 2008

We commercialize the goodness out of EVERYthing. First Christmas, and now search engines. 

Search results for most topics would instantly become far more valuable by simply removing all results that contained anything like “store,” “catalog,” “shop,” “dealer,” etc. Even a simple algorithm that threw lots and lots of babies out with the bathwater would make the search engines far more useful.

***

If you go to Google and type “yahoo”, Google lists search results no differently than usual. But if you go to Yahoo and type “google” – you get a big “Search the Web with Yahoo!” with a conveniently placed search box, inserted obtrusively-prior to the actual search listings. I think someone is feeling insecure.

 ***

I came across this post by Dave Winer a few days ago – who apparently is considered the “father” of XML. I got to it via the official “JSON” website. I’ve never liked XML – but for pretty superficial reasons. I know very little about it. And I know nothing about JSON… or rather, knew nothing. That’s why I was ON the json site - to see what the buzz was all about. But anyway, that’s all beside the point. Dave’s post is what stole the show. And I quote:

“Gotta love em, because there’s no way they’re going to stop breaking what works, and fixing what don’t need no fixing.”

“No doubt I can write a routine to parse this, but look at how deep they went to re-invent, XML itself wasn’t good enough for them, for some reason (I’d love to hear the reason). Who did this travesty? Let’s find a tree and string them up. Now.”

“Ladies and gentlemen, boys and girls, this is why I’m fed up with Mountain View, Cupertino, Redwood Shores and Redmond. Give me Berkeley and New York any day….”

Then, a few days ago, I was reading a book (can’t quite remember the name….) on “Intelligent Design.” Again, the topic itself is completely beside the point. What struck me was a quote by Richard Dawkins, among the most prominent and outspoken of evolutionary biologists:

“It is absolutely safe to say that if you meet somebody who claims not to believe in evolution, that person is ignorant, stupid or insane (or wicked, but I’d rather not consider that).”

I have a very vivid mental image pop into my head when I hear adults reacting like that… of a two year old - snot dripping down over his upper lip; a kind of dumb, belligerent look on his face… defending his shiny plastic toy from another two-year old (who may or may not have that dumb, belligerent look).

“And that’s all I’ve got to say about that.”

***

There is a very distinct difference in the way I learned QBasic (when I was 14 or so) , and the way I currently learn new languages/topics.

AutoCAD is a very irritating program.

Even trusty ole’ PHP, with it’s $_POST and $HTTP_POST_VARS… and str_pad() versus strlen()…

Lack of authority, you see, is the common thread. When I learned QBasic, I had maybe heardthe term “internet” or “world wide web” – but when it was time to sit down and do some hardcore nibbles coding – it was just me and the help file. Sometimes maybe an outdated book from the library. Amazingly, I learned so much faster. I didn’t produce as much, mind you – at least not initially.

NOW I have this tendency to grab & hack the first example I find where someone did something similar to what I’m going for. Yes, it does get that little chuck of functionality out of the way real quick. But it’s like building a structure with an assortment of Lego’s, erector set pieces and wooden blocks. The pieces might stack a little at first… but wait till you’re trying to build stairs on the fourth story. That’s when it all starts to fall apart.

AutoCAD is a huge application. Part of it’s hugeness is a result of a massively open API and customization capability. I mean, NOTHING is hard-coded. Menu items, menu accelerators… every last function in AutoCAD can be goofed with, using tools within the application (“meta-tools, we shall call them), or by editing script and data files (which are sprinkled to the four corners of the hard-drive… seriously, it’s maddening trying to remember where all the buggers are).

ANYway, that massive openness to outside development mean a lot of third-parties developed rather large applications that ran within AutoCAD. Naturally, AutoDESK bought them all out, and assimilated them directly into several main applications, all built on top of AutoCAD.

And when you stick that many pieces together from that many different sources – many with overlapping functionality and no standard interface – you get a mess. A buggy, crash-prone mess. There are at least 4 ways to perform most functions in AutoCAD.

The final result is that a modern set of architectural/civil/structural plans looks like crap, because no one does it the same way. Heck, most people don’t even do it the same way twice.

And PHP – I don’t really know the story there, and it’s far more subtle than my learning patterns and AutoCAD – but that disorganization is there.

Decentralization – or de-authoritization – or whatever you want to call it - does lead to theoretically better design (combining the brains of many). But the problem is – doing something one way – even if not the most optimistic way – seems to generally produce better results than producing things the “best” way, but without standards or “best practices.”

One last example – very recent. I had a rather large javascript application to build, and decided to tackle a framework rather than paste it all together like I usually do. After researching several – I settled on jQuery.

I LOVE that almost any functionality I realize I need has been implemented as a plug-in. But by the time I had everything I need, I had a complex web of dependencies, and many of the add-ons have quirky usage.

I still love it of course, it was just annoying.

 Hmmm, this post just got to long.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks