Thursday, January 26, 2012

Bad Citrix, Bad

I don't know what the major malfunction is at Citrix, but they have a 64-bit Linux download of their Citrix receiver that is a 32-bit executable. It is bad enough that the client uses Motif.

Anyway, if you run into this problem a fix can be found here.

Sunday, January 22, 2012

IPv6 Adoption

Google has a graphic of IPv6 adoption by country. The United States, at 0.37% adoption is beat out by France (4%), Japan (1.51%) and Slovenia(?) (1.08%). It is interesting to note that we skunk Europe (other than France) and Canada. And by skunk I mean a faint peepee smell, because 0.37% is not really that impressive.

The Most Secret History of the Web

I've not seen a recalling of how the Web got started like this...


He credits the Web for the March 2011 Arab Spring. Perhaps he should have waited a couple of months, because things haven't exactly turned out great in the Arab world. And the Web (and personal communication in general) were active in Iran the year before but that led to a lot of blood shed. There is a missing ingredient with revolution that a lot of liberals don't wish to acknowledge: an armed populace. Bang, bang beats clicky, clicky.

There is one even the Web is widely credited with enabling, the 2011 London Riots.

Friday, December 30, 2011

Some Animals Just Won't Go Extinct

I posted back in August my thoughts on XML vs JSON, and since then I have to admit to warming up to JSON a lot more. The reason is simple, and by that I mean JSON is simple -- and it's not just JSON itself but the JSON ecosystem, which is also simple. As with anything good, people can't leave well enough alone and so we now have standardization efforts of JSON namespaces, schema, patterns, etc...

So when I saw that there was a binary encoding for JSON, BSON, I didn't know whether to laugh or cry. What is it about computer science that the same thing has to be reinvented five times? We must have a lot of idle hands, which I find odd considering programmers are still commanding good salaries in these hard economic times.

So for the love of all that is good, I ask that everyone stop it. JSON doesn't need anything it doesn't already have. There is no need for JSON namespaces or schemas or binary encodings. If you need those things, use XML or ASN.1 or something else that has already been tarted up.

Monday, December 26, 2011

The Year In Up and Coming Programming Languages

Rob Diana has an article about going over his predicted aspirations for 9 programming languages for 2011, and what happened to them. Some people put a lot of effort into the "next new" programming language. Keep in mind, such a thing was highly popular in the 1970's too. Though the history of modern computer science isn't long enough, perhaps this exploring-new-avenues thing is a cyclical trend.

Monday, August 8, 2011

Angle Bracket Backlash In Protocol Development: XML vs JSON

At IETF 81, I found myself in more than one discussion about XML vs JSON all of which had the tone "XML sucks, we are all moving to JSON".  Having been in one or two angle bracket fiascos in my life, I understand the sentiment. But I just can't square the points being made.

First, there was a repeated talking point that JSON usage is for Python and Ruby on the server side, the unsaid implication being that XML can't be done in those languages. This is false; Python has, and has had for sometime, XML APIs. The same is true of Ruby, which does not have a built-in JSON parser unless one is considering JSON as a proper subset of YAML (more on this in a bit).

Beyond that, any talk of scrapping XML for JSON meanders to two other topics: a JSON schema language and namespaces. Officially, JSON has neither.

Schema languages are important for writing protocol specifications as they greatly help reduce ambiguity in prose. It is why the IETF has its own form of BNF. In some XML-based provisioning protocols, such as EPP, validation against a schema is a useful guard to prevent bad data being committed to a database. JSON does have a schema effort: http://jason-schema.org. However, the draft seems to have expired indicating that the effort is stumbling (let's hope I'm wrong and work continues).

Namespaces are important to stop protocol element collisions from separate specifications and are frequently used as a protocol extension mechanism. There are many proposals for JSON namespaces, the first I encountered being the Badgerfish convention. It works and provides all the functionality you get with XML namespaces, but I think it is fairly obvious that the results are just as bad, if not worse, than what you get in XML.

There are other proposals, such as using domain names (and there is an even simpler version of that, but I can't find the link). This proposal, and ones like it, boil down to always using the same globally unique prefix (more on why the dotted notation is not good in a bit). Anybody who has done their fair share of C coding would be familiar with the concept, which is why C++ has namespaces, Java has packages, Ruby has modules, etc... in theory it sounds good, in practice not so much.

The Rise of JSON

Truth be told, JSON's popularity comes from the fact that Javascript in the web browser easily handles JSON. If Java applets had ever caught on, perhaps we'd be talking about Java Serialization instead of JSON and RMI instead of Ajax (incidentally, Java Serialization has ready answers to the schema and namespace quandaries). This leads to some insight from Tim Bray:
Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.
Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.
I should point out that the "minimal effort" is when the language in use is Javascript. To better understand this, let us talk about that Ruby+JSON nexus mentioned above.

If a Ruby developer were to do what comes natural to Ruby developers and serialize an object hierarchy with the built-in YAML engine, the result would not be digestible by a Javascript engine. The results would be specific to the Ruby object hierarchy and class structure, and the resultant syntax is probably not JSON compliant (all JSON syntax maybe YAML compliant, but the opposite is not true).

The results would be a little better with the Ruby program ingesting JSON, but it wouldn't be the "Ruby way", meaning user defined objects instead of an array or hash. However, such is possible with XML with a little code, as demonstrated here... which brings up the point as to why the dotted name syntax has problems: those dots disallow usage as an object variable (the same is true for XML elements with dashes, or minus signs, in them).

The Fall of JSON

In Googling around for JSON information, I noticed that a lot of the XML vs JSON discussions and JSON schema/namespace proposals are years old, thus giving me the impression that the movement forward on JSON has slowed considerably. This may not be true, but that's the impression I got.  If so, let me offer this hypothesis.

JSON gained rapid popularity because of the heightened and new use of AJAX-like widgets on web sites, the client side being written in JavaScript. These things were hot stuff... three years ago. But nowadays mobile programming is all the rage, which means Objective-C for iOS and Java for Android and the natural nature of JSON evaporates on the client-side.

Conclusion

I hope this post doesn't make it sound like I'm an XML apologist. There are certainly a slew of issues with XML and a large number of misuses of it (SOAP, WS-Everything). Something new and better would be good, but the that new and better needs to have more clearly defined benefits than the merely subjective "Its just simpler."

Some Good Reads on This Topic
  1. The Limitations of JSON
  2. JSON and XML - Tim Bray
  3. On Namespaces in JSON - Michael Hanson
  4. XML and JSON - James Clark
    • Money Quotes: "You can't partition the world of information neatly into documents and data."
  5. JSON Namespacing - Kris Zyp

Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.
Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.
Seems easy to me; if you want to serialize a data structure that’s not too text-heavy and all you want is for the receiver to get the same data structure with minimal effort, and you trust the other end to get the i18n right, JSON is hunky-dory.

Saturday, August 6, 2011

Testing out the Blogger App

Just testing the blogger app on Android on my Galaxy Tab 10.1.


Sunday, July 17, 2011

Pictures Say A Thousand Words

I don't know what this is about, but the pictures are great -- like they are out of some sort of Cisco or Microsoft advertisement.

Thursday, July 14, 2011

HermesJMS

I gotta give it to the developers of the HermesJMS, it saved my bacon yesterday.

In general, our JMS installation using JBoss Messaging works great. We have never had a problem out of it until somebody mucked with the underlying database. No messages were lost, but the ensuing recovery caused messages to find their way into the dead letter queue (DLQ). Hmmmm.... never thought about how to recover from that before. So we used HermesJMS to move the messages from the DLQ back to their respective queues for replay. The day was saved!

HermesJMS is a very slick, very professionally well down Java Swing app. In fact, I've seen many commercial products that weren't nearly as polished or full-featured as this package.

My only real issue was that the tutorial for getting it up and running with JBoss is a little dated... JBosAS 4.01/JBossMQ. Of course, I'm using a very dated server too... JBossAS 4.3/JBoss Messaging. But with a little Googling and some playing around, I figured it out. The differences between the JBossMQ and JBoss Messaging boil down to different classpaths. Here's what I used:

  1. /jboss-as/client/jboss-client.jar
  2. /jboss-as/client/jboss-messaging-client.jar
  3. /jboss-as/client/jbossall-client.jar
  4. /jboss-as/client/jmx-invoker-adaptor-client.jar
  5. /jboss-as/client/jnp-client.jar
  6. /jboss-as/lib/concurrent.jar
  7. /jboss-as/lib/jboss-jmx.jar
  8. /jboss-as/lib/jboss-system.jar
  9. /jboss-as/server/arin-dev/lib/jboss-messaging.jar
  10. /jboss-as/client/jboss-aop-jdk50-client.jar
  11. /jboss-as/server/arin-dev/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar

and of course, if you want to be able to view any payloads then you need to include JARs containing the class files for the beans that are serialized to your queues. But it works great.

If you are using JMS for infrastructure, I highly recommend you look at this really well-done open source project.

Wednesday, July 13, 2011

The Small Systems Journal

Looks like BYTE magazine, or atleast an e-zine, is being revived. Go read!

Saturday, July 9, 2011

iPads Kills Jobs

Now, you are probably musing over the title to this post. Does it mean that iPads are killing Steve Jobs, the CEO of the company that produces them? Or does it means that iPads are causing unemployment?


Wait a minute! I though it was ATMs that were destroying our economy?

You gotta wonder what all the Silicon Valley types are thinking, now that the Democrats they helped get elected are speaking crazy about IT causing job losses and economic woes.

Wednesday, June 15, 2011

Vista

While at NANOG 52, my boss started mumbling "Vista, vista, vista". I thought he had over caffeinated or something because even for a pointy-haired boss type he still prefers Linux.  Turns out he was talking about this:

An actual vista from O'Fallon park outside Denver.
Under his orders, we cut out of the afternoon tracks and headed into the mountains near Denver. My boss was convinced that our token Systems Administrator from the Ops department had never seen mountains before. That's ok. On another trip to San Diego, he once insisted we drive to Baja under some false belief I had never seen a desert.

He and SA boy were in cross trainers. I was wearing my Chaco sandals. That's ok. Despite extra pounds, inappropriate footwear, and atleast 10 years of age, this is what I saw when I looked back.

Information Technology Blamed for Current Bad Economy

The whole reason the Information Technology industry exists is that it allows businesses to do things more efficiently, sometimes allowing businesses to do things that simply weren't possible before. So, if you are in the Information Technology industry, you might be surprized to learn that this whole business of making business more efficient is the reason we have such a bad economy right now... at least according to our current President.

Thursday, June 9, 2011

World IPv6 Day

Yesterday was World IPv6 Day, and from what I can tell it was a success. There were no major outages and, from what I've been told, some of the bigger websites were able to do more testing than they had initially believed possible. This is a good thing.

Here's Leslie Daigle, chief technologist for the Internet Society on the PBS News Hour last night.


Watch the full episode. See more PBS NewsHour.

Leslie, btw, is a friend of mine. I've known her for years. In fact, she had my family over for dinner last Saturday evening... a dinner in which she could have said, "Do you want some more potatoes? Oh, and btw, I'm gonna be on national TV next week." Just razzing you Leslie. Good job!

Friday, June 3, 2011

Spider Web Encased Trees

Due to the flooding in Pakistan: Millions of Spiders in Pakistan Encase Entire Trees in Webs (from Wired Science).

You gotta click through and see the pictures!

h/t my wife

A One Day Patch from Microsoft

Does this say something about Microsoft or the pace of Internet progress?

h/t my boss