Tuesday, October 16, 2007

I love XML


It seems the general response about XML among programmers is always a groan or disgust, just like how text based editor lovers (vi,emacs) react about IDEs.

And I still admit, now openly, that I love XML. And why is that? because it's text and a buzzword. Yeah I'd love it a little more if my adored JSON would've become a similar buzz word, but it happened to be XML since it had the W3C's name behind it.

And what's so good about it? specially about buzzwords? first let me recognize that buzzwords are something that can cause a lot of hot air masses moving around corporations, but let's be frank, if we'd take buzz words from the kind of managers that like them, they'd still find another way to be useless, it's not the word's fault.

Anyhow I recognize XML has been abused, I do NOT see XML as a database killer, I see it as a message passing form, and as a configuration form (and configurations can take many forms like a document expressed in XML).

Well what I love from XML is that it is human readable, AND strictly defined enough to be safely computer readable. True it might not always be the easiest to parse XML in code, and XPaths can be hard for the non lovers (it's close enough to regular expressions that I actually like XPath some). But it is both computer and human readable. Which means I can write my programs to interconnect via XML, and if I want or need to check that they're interconnecting correctly, or to issue a specific order by hand, I can review or create XML to do this with no special tools other than an editor and my brain. As both a sysadmin and programmer I've found myself in emergency situations where all I had was a shell with all missing commands but an old vi and a few calls, so one gets used to try and work with environments and technologies that require the least amount of components possible in case something goes wrong.

So I prefer a file format I can check or throw together quickly with an editor.

And why a buzzword? why I would've been happier if JSON had become the buzzword (it IS less verbose than xml and still very readable for programmers.), well that's because when something becomes a buzzword, everybody suddenly HAS to implement it, they need to use it. And in this case, this has brought forward incredible things, like XML-RPC... and wether you like XML-RPC or not, you have to admit we have a level of interoperability between vendors and programs that we never had before XML.

Today, no matter how antagonist a company is about integrating with others, or with another company, or how oblivious they are about letting people stick things to interoperate with their code, if they support a decent XML communication system (be it via files, pipes, commands, databases, etc) then integration is at worst a complex XST away. It's possible with a DTD or simple reverse engineering on the XML file, to work with a program with which it wasn't possible to work before without a clunky API or worse, having to pay for the API's spec, or worse yet, the program was APIless.

So what I say is, XML is a great tool for the hackers, and since I am a hacker at soul, I try to use or support technologies who help people like me, and that is the high value of XML to me, a guy without a penny or a few bucks for his own project or his companu's project now can push and pull data in and out of large and diverse applications and systems where he had no luck or possibility before.

P.s. As I said, I like JSON's syntax better, it's still programmer readable, and it's much less verbose than XML, the sad part is that it's not a buzzword and thus not so universal.

And, for my Rails and Ruby friends, I say JSON and not YAML because I do not like that easily visible structural delimitators in YAML are optional. I think that leads to troubles trying to identify a failure point. I like visually striking block delimiters like JSON's curly braces.

Sunday, October 14, 2007

How Leo Laporte made me love a fat man I hate

Welcome to another issue of the all new! Improved! ... no, nevermind.

Anyhow onto the post....

This is of course, all about John Dvorak, A man that it seems all love to hate. And a man until very very recently I used to hate myself. Hate as in I hate Tom Cruise, where I personally refuse to see any movie where Mr. Cruise is featured so that he wont get by any mistake any of my money or "love" at all.. Same with Dvorak... but let me explain a little.

I recently discovered the place, and beauty for Podcasts. Originally I listened to a few podcasts, 2 or 3, on saturdays morning while I cleaned the house. In fact I never listened to podcasts as they originally where intended to, since instead of downloading them to my iPod nano 1st gen ( a blog post on this soon), I added the rss URLs to Kinoma on my Palm TX and streamed them live over the wireless at my home while I did my household chores.

Originally I did this only for the Ruby On Rails podcast, and it had the unfortunate side effect that this particular podcast moved me to code and do some work, while I was otherwise busy cleaning my home, so I'd have an idea for a project, or want to do some code on an existing project and I'd tell myself "I will do this when I finish!" and of course forget all about it. Which is good since otherwise I would've spent all my weekend coding and doing work.

So what happened is that I got a new job, a second job but which feels to me like my first (and best) job so far. For many reasons, which I will not enumerate here, it is easier for me to commute to my first job and from the first to the second, via the local Subway, called the Metro.

Anyhow, the first few days, and to isolate myself from the stupid masses (hey anybody who is not me, has a big chance of being stupid, and there ARE masses in the Metro at peak hours, you should see it, it's amazing. But I digress again). I used my iPod with the music in it to isolate myself a little and make the trip more enjoyable. Eventually, I had a brilliant idea and decided to set my iPod to sync podcasts (Why I dont sync stuff to my iPod automatically in a new installment soon), and so the latest episode of the Ruby On Rails podcast was copied over to my iPod and I tried listening it on the way to the office.

It was love at first sight... or at first listening. It was perfect. a short podcast would cover me the commute from home to Job 1, and a long one would cover that plus the commute from Job 1 to Job 2 (a short commute).

But there was a problem, podcasts, all podcasts I like, are when lucky, weekly (Leo if you ever see this, please try to convince the FLOSS weekly moderator to do more podcasts soon, I miss it.). So, to cover two commutes a day, 5 weeks a day I'd require a lot more podcasts. And thus I shoot out looking for more podcasts on directories, and off course asking my friends and colleagues on ##offrails to suggest their favorites... amazingly the only one who seems to podcast in there is Bryanl, but he offered me his OPML list, and about 60% of the casts I listen to came from him.

Now, Security Now with Leo Laporte and Steve Gibson. It has all I like in a podcast, not only a topic that I'm interested in, as a do-it-all professional, but also people who know the topic they're talking about and treat it at a decent pace, not wandering thorough the bushes doing useless dissertations and full stops (I've heard podcasts where the show hosts have had a full minute of "huh"s and "yeah"s.... it drove me absolutely insane.). Anyhow these two guys seem to know what they talk about, they can sound a little arrogant sometimes, maybe, maybe not. but instead of just reading off PR material or listing off their knowledge, they discuss the topics and analyze them, so it serves for a good reading (or listening).

Anyhow, one of the first podcasts I found for my iPod was the Cranky Geeks podcast. And I kind of enjoyed the half episode I listened to on my commute to job 1, so I checked out the podcast data at work, and found out with growing weariness that one of the hosts was Mr. Dvorak. I sighed a small sigh, and deleted the podcast from my directory altogether. Like with Mr. Cruise, I was going to give no brain-time or publicity "dollars" to Mr. Dvorak.

So up to now you might have three reactions. For 90% of programmers or people involved first hand in technology, the natural reaction, from what I've seen in the population I surround myself with, will be "He's useless". For the other %10 I've seen they don't know the guy or don't really care about him. I've not found someone yet who outright said he liked or admired John. And of course for people outside the field he'd probably be an unknown name, probably not so much. But, I'm thinking than rather than trying to explain Dvorak to the non-tech group, I'd love to try and explain Dvorak to ALL of the people who read me. Tech and non tech. even those that know him.

So what happened is this. Security Now, drove me to TWiT. Since it was done and created by one of the hosts (Leo Laporte) of a show I loved... And now TWiT is one of my 4 Favorite podcasts ever (The list at the end of this post). So, I had the "luck" of chancing an episode where Dvorak, who is part of TWiT as well, was out and not present at the show... this prepared me, since it let me fall in love with the show without prejudice, and when Leo mentioned Dvorak was out I distinctly remember thinking two things. The first thought was "Uh oh. I hope Dvorak is not a host, but an eventual guest." and the second one was "Hmm, Leo seems to know about technology in general, (and while I wouldn't call him an expert in anything, he normally gets the wide picture many technologists or companies don't, and he approaches as a very power user, which has advantage neither the users nor the engineers have, being narrow sided to their fields or positions) Why would Leo make a man like Dvorak a part of this show?".

So I listened to the show, and then downloaded the next episode, where Dvorak was not only there, but was there in full force. It was I think Ep. 112 or 113 where he took the position of the bad kid or antagonizer. And it was in this episode while listening at Dvorak AND Leo and the other guests working the podcast and interacting, that I got to see Dvorak in a totally different light, my appreciation of him changed... and now, I must admit, I like him, even if he does make me cringe sometimes.

So, what's the fuzz? well he's been famous, or infamous for a long time for coming up with hare brained or completely odd and crazy ideas, like mos famously saying apple should drop OS X in favor of Windows.

Well the problem is, I, like everybody I know who has a negative vision on Dvorak, used to take him seriously... And I don't even know how he'd react to this post if he were to ever see it, since he might sometimes say he IS serious... but now, I think he's not...

See I think what Dvorak does, is to look for sensibilities in people, and poke at them until they squirm and lash out in anger... now this could be seen as something a bully would do, or negative behavior, but I see it as very positive, for several reasons.

The most important one, is that when you rest in your own laurels, or you're single minded on following a path, having someone say something so outrageous about your work or company could work as a wake up call to what you're doing, even if what was said has no sense at all.

So now, I consider most of what Mr. Dvorak says, not to be literal, or true, but, like some sort of comedians that will tell you an outrageous joke with a straight face, or like Asimov who wrote his famous scientific "research" on Thiotimoline, I see Dvorak's works as a form of serious irony, a way to critique a system or technology by taking a route about it that's almost so outrageously wrong to be possible.

And with this, once I changed my view on him, I think he's a valuable tool, even when he touches topics I'm sensitive on, I try now to see beyond what he says, discard his solutions or opinions in part, and try to analyze what points he's attacking, to try and decipher why.

So, I still listen to TWiT, and I will continue to, not only with Dvorak being in it, but also because he's in it. (And with Leo, a guy that almost drove me insane when I saw a video of him using a t-shirt with a Tux in it, and who acts as a counter balance to Mr. Dvorak).

So I ask of you this. try to see beyond the mere words, and try to see the intention behind them, what I perceive to be the true intention. Maybe it'll change your vision too. Maybe not, I'm not an evangelist, I just want to share my discovery.

And, as promised, here is the list of the 4 podcasts I could NOT live without right now:

1) TWiT: This Week in Tech, a weekly dossage of trends in tech, basically the news you read about in boing boing, slashdot and other sites, commented upon by some nice people including Leo Laporte

2) Security Now: A weekly review not exactly on oopses or common mistakes, but more centered on technologies, and general ideas in security, specially as applied on your digital life, more oriented to power users and developers.

3) Escape Pod: A weekly sci-fi podcast, reading one sci fi story every week. The moderator has shown to be very similar to me in tastes and ideas, and it complements my nightly reading with some good weekly stories, some of these are or should be classics of the genre.

4) Software Engineering Radio: Incredibly technical and deep for a podcast, even bordering on reading code on the air. They treat topics central to programmers with guests who are experts on the topic. Very enlightening and as a programmer, something I really enjoy and learn from.

Sunday, October 07, 2007

Steer My Deer

Ok, mini poll comming up.

Let's say you're a friend or an aquaitance.

Let's say you've been forced to come here and respond. (I wont fool myself about self volition visitors. not yet.)

Let's say you've idly read around the blog some.

So, say to me... what do you want to see next? I mean, I'm about to try and revive this blog since carter and tshine for wathever reason in hell told me I should write more...

Well ok I will... my question is.. should I continue on pointless rants about society here?

Should I just show my odd self with my quotes, things I like and things I hate? should I go more to the programming side, show technical articles on stuff I'm doing or into? should I become both? a raging Dvorak frothing at the mouth about technology and trends?

Leave me your feedback your choices on the comments.

I am a very varied person, so wathever you may want I might be able to provide. Yeah even perverted and scary stuff though it's not what I enjoy sharing the most with unknown people whose shock I can't enjoy.

See you all. And leave comments.