Links

pmuellr is Patrick Mueller, an IBMer doing dev advocate stuff for node.js on BlueMix.

other pmuellr thangs: muellerware.org, twitter.com/pmuellr

Saturday, December 23, 2006

surfing on the wii

'TV screen up close' by Francois Bester

We were watching something new on tv tonight. YouTube. And weather from around the world.

This is all new, for us, on the tv, because we downloaded the new weather service and Opera browser for the wii.

And they're pretty good.

Here's a movie showing the weather service, although that must have been an early prototype; it looks a little different, but seems functionally the same. Spinning the globe is definitely fun.

As far as the web browsing:

  • As expected, web pages don't 'fit' well; we have an old skool tv, maybe an HDTV (or whatever) would do better. NYTimes comes up ok, but is not really readable without zooming, which is pretty easy to do. YouTube movies you want to zoom in all the way, they will then fill 3/4 of the screen.
  • The YouTube movies looked great, though some/most were darker than you would want. Maybe that's something with the tv.
  • Keyboard entry is a soft keyboard (of course), but at least you're using the wand to point, and with it's feedback, it's not too terrible. But it is a soft keyboard so it is horrible. I'm going to want to be able to use a bluetooth keyboard.
  • Has a favorites list; looks crude.
  • Crude navigation via wand; scroll the page via wand gestures and a button down, page-to-page navigation via on-screen menu.
  • last.fm via Flash basically works. Plays for a few minutes and then some page pops up. hmmm
  • pandora locked up the wii. Twice. Avoid pandora.

So, whaddya know. I finally got myself a set top box, and didn't even intend to!

And I suddenly have an interest in Flash again (since Flash is supported on this browser).

Makes me wonder what kind of other content I could target for this device.

Makes me wonder when (not if, trying to be optimistic) sites will start targetting the wii and it's capabilities. It's pretty clear that ui's will need to be drastically changed so that they are more navigatable, and easier to read (use larger fonts).

User agent: "Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)"


Update: some amount of JavaScript support; was able to run some JS to get the window dimensions (500x800) and display it in an alert.


Photo 'TV screen up close' with a nice CC license, by Francois Bester. Found using the Flickr's Create Commons Search.

Friday, December 22, 2006

taking the Ruby plunge

'Ruby Falls Barn' by Brent Moore

I've finally taken the Ruby plunge. It's taken a while. My buddy Chris Grindstaff recommended I look at it years ago. I had heard of it, and it sounded interesting, but coming from Chris, I took a closer look. Started following it from afar. Eventually bought the book. Still didn't really do anything.

Finally, as I have been posting flickr pix in my blog entries, and copy/pasting the html into new entries, it was time to automate, and thus getf4b was born. Simple command line program, and thus easy to integrate into TextMate and Eclipse.

(Quick aside: I edit all my blog posts in .html files using TextMate, then paste into roller when I'm all done.)

So, Ruby. I'm an old smalltalker, so I don't need much convincing on the gorgeousness of the language. I am a little suprised there's not much interest from the old OTI crowd in Ruby. They'll come around.

The little program I wrote uses a Ruby gem named 'flickr' to do all the flickr API work, but there are some issues. Check the code and you'll see how I had to hack the photo URLs a bit. I needed to figure out how to get program arguments, the name and location of the program being invoked, some basic string parsing, and how to do 'here doc'. Everything else was pretty natural.

Actually, the hardest thing was figuring out to 'require' a gem. It helps to require 'rubygems' first, and then use require_gem instead of require for a gem. The doc didn't really make that clear.

More later, I'm sure.


Photo 'Ruby Falls Barn' with a nice CC license, by Brent Moore. Found using the Flickr's Create Commons Search.

Thursday, December 21, 2006

data not markup

Mike Champion's blog entry, XML 2006 Observations, ends with some thoughts/questions on JSON. Here are my answers.

'Urban Markup' by Gord Fynes

Will we see JSON substituting for XML in SOAP messages, RSS feeds, etc.?

Kind of, and no. I don't think we'll see a JSON flavored SOAP, but there's already such things as JSON-RPC, so for those SOAP usages that are RPC in nature, the answer is yes. For those SOAP usages that are document-oriented in nature, there are such things as RESTful JSON.

But it's a stretch to imagine taking on the work to enable JSON-flavored [XML-thing]. For those things that XML works well for, follow the old adage: if it ain't broke, don't fix it.

Asking about feeds is telling also. Markup (XML) is fantastic for augmenting text. I have a bias; I've been doing text markup for 20 years (nroff, tex, GML, BookMaster, HTML, XML). Nothing better than to be able to in-line visual or semantic augmentation with your text, because it's sooo inline. Readable. Imagining writing a document as a big JSON object, with text strings littered with objects indicating augmentation is ... horrifying.

But that's just the text. Feeds don't neccessarily carry just text (well, at least in the future they won't). If the feed content is data, then sure, why not JSON. And the feed meta-data itself probably also better lends itself to a data layout than XML.

So, my take is: XML for text, JSON for data. Until the day the computers take over the world, we'll always be needing text, somewhere, and XML is the answer. But I'd rather be specifying my data in a data definition language like JSON, compared to doing it in XML as wonky marked up narratives.

Will people store JSON persistently?

Yes. If folks are storing XML persistently, and that XML is used to describe data in some way, I will argue that you'll save space by converting to JSON. Unless you perhaps take into consideration the fantastic compression you can get on XML, because of the extreme verbosity (what ever happened to anonymous end tags?).

That will require JSON-flavored APIs, schema/"data contract" languages, query/transformation languages, apps, etc.

Sure. Guess what? A schema for JSON in JSON is pretty simple. And ... readable. Query/transformation languages? Yup. But they won't be languages built on JSON. They will be the languages we use to do our jobs; JavaScript, Java, PHP, Python, Ruby, C, C#, etc. Because JSON, like the programming languages we use, has built-in constructs for numbers, strings, arrays, hash tables, etc. With XML, you need to apply some other structure on top of the XML itself to get this level of semantic. And don't get me started on query/transformation languages. XSLT is ... hard. James Governor asked on the #redmonk irc channel the other day if anyone had thoughts on XQuery, and my response was: tried to read the docs once; much like C++, I figured it was too complex, so I decided to ignore it, and hope it will just go away.

I'm sure that lots of us at in the MS Data Programmability team are pondering what we should think and do about JSON.

Excellent. Keep us informed.


Photo 'Urban Markup' with a nice CC license, by Gord Fynes. Found using the Flickr's Create Commons Search.


Update: 2006/12/22: fixed a typo

Raven Rock

Vacation. Holiday. w00t!

Raven Rock State Park

On Wednesday, I took the opportunity to head down to Raven Rock State Park to do some light hiking. Gorgeous morning. Crisp. Empty park, when I got there. I only started getting a bit warm, with my jacket on, right before I got back to my car. Took a few pictures.

I'm always amazed when I tell people in the RTP area about Raven Rock, and so few people have heard about it. It's about an hour from the triangle. A nice park with a few miles of hiking trails, most of which take you down to the Cape Fear river. The main place to go is Raven Rock itself, which is a cliff on the river, which you get to via a long set of steps. There's some rocks to climb on for the kids.

North Carolina has a pretty good state park system, with a functional web site listing the parks by name, location via a map, current park conditions, and nice printable PDFs of the individual parks.

Raven Rock is pretty tame, itself, though I took my walking stick, and was able to (=forced to) put it to good use a few times negotiating steps on the trail, and rocks off the trail. For the more adventurous, Hanging Rock provides a fantastic view with a moderate hike. Stone Mountain is one of my favorites; walking stick required, and the landscape at the top of the mountain is strange and gorgeous. Both of those parks are a few hours from the triangle, but worth the trip.

leave developerworks?

'Firewall' by Lili Vieira de Carvalho

David Shields advises me to:

leave the firewall and use WordPress. It's more fun and more reliable outside the firewall. You'll also learn more from those who will only be able to read your blog because it is in the real world.

I'm not behind the IBM firewall. Developerworks is completely outside of the IBM firewall.

I switched from a blog at blogger to this blog at developerWorks about 3 months ago. Why switch? My new job entails doing some community outreach, so I thought it was appropriate to do some of that, via blogging, at an IBM site. And the price was right.

dWorks is currently using roller, and so I suppose there is some peer pressure involved now, since I occaisonally have a beer or coffee with "the Roller guy", Dave Johnson. But seriously, I do like roller, generally. Better than blogger, when I was using it.

There are some downsides with the current blogging situation:

  1. Our roller is set up to use Velocity as it's templating language.
  2. It supports tags, but can't automatically generate feeds based on the tags. Though you can hack that. My understanding is that this is resolved in a later (or future) release.
  3. I don't feel as 'free' to post purely personal stuff at the IBM site.

I also had a blog inside the firewall, and I will concur with Dave on all his points w/r/t those types of blogs. I don't have time to blog here the way I'd like to; managing another blog isn't very practical. Likewise, per one of the points above, I'd been thinking about setting up a separate personal blog, for those times when I wanted to get personal. But like an inside the firewall blog, it's another resource to manage, so I'm not going that route now.

I'm not sure that there are limitations on any IBMers creating blogs at developerWorks, so if any IBMers out there want a blog here, let me know, and I'll pass the info along to you. I just asked for one, and got it in two days. I asked for a wiki at the same time, and got that in one day (we use Confluence for our wiki software, which is fantastic).


Photo 'Firewall' with a nice CC license, by Lili Vieira de Carvalho. Found using the Flickr's Create Commons Search.

can't teach an old dog new tricks?

'Change Priorities' by Christine

On JSON, recently:

Dave Winer: IT'S NOT EVEN XML!

James Robertson: Yeah, I really want another parser in my application ...

I'm reminded of the 'debate' between evolution and intelligent design.


Photo 'Change Priorities' with a nice CC license, by Christine. Found using the Flickr's Create Commons Search.

Tuesday, December 19, 2006

Five things

Bill tagged me.

Five things you didn't know about me:

  1. That device I'm staring at while on my afternoon walks is not a Blackberry, I'm not reading email. It's a Palm Pilot, I'm reading Planet Intertwingly.
  2. I was a garbage man at my dorm, freshman year in college.
  3. My first computer was a PCjr.
  4. I was asked to leave St. Peter's Basilica in Vatican City, because I kept putting my hat on.
  5. I own a couple of pairs of pants.

Tag: John, Nick, Dave, Rick and Robert.