Second page 4 - Dave's Blog

Search
My timeline on Mastodon

Chumby will be cool, despite its name

2008 Feb 19, 1:51

Bedside ChumbyI signed up for the pre-release beta and purchased a Chumby last year. Chumby looks like a cousin to a GPS unit. Its similar in size with a touch screen, but has WiFi, accelerometers, and is pillow like on the sides that aren't a screen. In practice its like an Internet alarm clock that shows you photos and videos off the Web. Its hackable in that Chumby Industries tells you about the various ways to run your own stuff on the Chumby, modifying the boot sequence (it runs Linux), turning on sshd, etc, etc. The Chumby forum too has lots of info from folks who have found interesting hacks for the device.

When you turn on the Chumby it downloads and runs the latest version of the Chumby software which lets you set alarms, play music, and display Flash widgets. The Chumby website lets anyone upload their own Flash widgets to share with the community. I tried my hand at creating one using Adobe's free Flash creation SDK but I don't know Flash and didn't have the patience to learn.

Currently my Chumby is set to wake me up at 8am on weekdays with music from ShoutCast and then displays traffic and weather. At 10am everyday it switches to showing me a slide-show of LolCats. At 11pm it switches to night mode where it displays the time in dark grey text on a black background at a reduced light level so as not to disturb me while I sleep.

I like the Chumby but I have two complaints. The first is that it forces me to learn flash in order to create anything cool rather than having a built-in Web browser or depending on a more Web friendly technology. The second complaint is about its name. At first I thought the name was stupid in a kind of silly way, but now that I'm used to the name it sounds vaguely dirty.

PermalinkCommentschumby review flash linux

Johnny Chung Lee - Projects - Wii

2007 Dec 17, 9:25Johnny Lee has a couple of projects involving the Wii remote. In the first he uses his fingers as his pointers Minority Report style and in the second he uses an LED pen and a projector to create a whiteboard system.PermalinkCommentsblog bluetooth wii wiimote remote free hardware hack ui howto interactive johnny-lee

Date Time Formats

2007 Sep 27, 2:17Starting on a new simple project I wanted to get the history of my Delicious links. Delicious has an export tool available via the settings section so I thought I'd try that. However, the links aren't exported in XML not even in XHTML but rather in HTML. Shocking. An example:
"Don't Tase Me, Bro!" (UF Student Tasered Remix)
Remix of the 'Don't tase me, bro!' guy getting tasered.At this point I'm already not going to use this file because its in HTML but I'm even more disgusted by those date time values. Raymond Chen of the Old New Thing posted about recognizing timestamps and timestamp sentinel values. From the first blog post and with the use of a calculator for base conversion one can tell that those are UNIX style timestamps counting the number of seconds since 1970.

It reminds me of my hatred for the MIME date time format I developed working on my webpage's server side parsing of atom and RSS. Atom is of course my favorite as Atom uses the Internet date time format described in the following documents. Here's an example of one 2007-09-27T020:50:00.000-08:00 On the other hand the evil and villainous RSS uses the MIME date time format now described in the more recent IETF MIME standard. Here's an example Thu, 27 Sep 2007 20:50:00 -0800
The Internet date time format has the advantage of being so easy to sort. An alphabetic sort with normal C-style collation rules of strings containing Internet date times will also sort them chronologically. This is not the case for the MIME date time due to the preceding day of the week and the spelled out month name. This also means that when producing these you have to figure out the day of the week and when parsing them you have to match month names rather than just parsing out numbers. Anyway now days if I see mention of a date time in a new proposed standard or spec I be sure to point out the numerous advantages of the Internet date time format.
PermalinkCommentsdate xml html feed time technical date-time code atom rss

Extensible Markup Language (XML) 1.1 (Second Edition)

2007 Sep 13, 6:27XML StandardPermalinkCommentsxml quickreference reference development specification w3c documentation

Namespaces in XML 1.0 (Second Edition)

2007 Sep 11, 1:46The XML spec. Info on setting the default namespace including how to remove a default namespace once its been set.PermalinkCommentsspecification reference w3c xml namespace

Dancing Yellow Robot

2007 Aug 17, 6:33New Scientist had an initial article on Keepon this cute yellow dancing robot and now they've got another article featuring a more traditional music video staring Keepon. (first video link) (second video link)
PermalinkCommentskeepon youtube video personal cute robot nontechnical

Moved

2007 Aug 6, 4:07I've moved from my previous apartment in Redmond into Sarah's condo in Kirkland. Over the past week I'd been coming home from work and packing and sorting all of my belongings. Everything had a few destination options: I donated two carts of computer related junk (two CRTs, two desktops, six laptops, untold number of cables, piles of network and sound cards, etc) to RE-PC and six garbage bags of clothing that I either never wear or into which I have worn holes into friendly looking clothing donation bins. Of course I still need to find some place to get rid of my 15 inch CRT TV, VCR, DVD player, and X-Box. I finally emptied my bags of coins that had been collecting for about seven years (one of the bags was from my college orientation) through Coinstar and got ~$160. Some items seemed to fit very well at work like my satirical RIAA propaganda poster and my Darth Vader Nutcracker. This past weekend I had movers come and actually move my furniture. Most of its now in storage except for my living room which is moved into Sarah's second bedroom. Now all I have to do is unpack...PermalinkCommentsmove personal repc recycle nontechnical

Second Life Translator

2007 Jul 4, 10:58Hackdiary
I really enjoy reading Matt Biddulph's blog hackdiary. An entry some time ago talked about his Second Life flickr screen which is a screen in Second Life that displays images from flickr.com based on viewers suggested tags. I'm a novice to the Second Life scripting API and so it was from this blog post I became aware of the llHTTPRequest. This is like the XMLHttpRequest for Second Life code in that it lets you make HTTP requests. I decided that I too could do something cool with this.

Translator
I decided to make a translator object that a Second Life user would wear that would translate anything said near them. The details aren't too surprising: The translator object keeps an owner modifiable list of translation instructions each consisting of who to listen to, the language they speak, who to tell the translation to, and into what language to translate. When the translator hears someone, it runs through its list of translation instructions and when it finds a match for the speaker uses the llHTTPRequest to send off what was said to Google translate. When the result comes back the translator simply says the response.

Issues
Unfortunately, the llHTTPRequest limits the response size to 2K and no translation site I can find has the translated text in the first 2K. There's a flag HTTP_BODY_MAXLENGTH provided but it defaults to 2K and you can't change its value. So I decided to setup a PHP script on my site to act as a translating proxy and parse the translated text out of the HTML response from Google translate. Through experimentation I found that their site can take parameters text and langpair queries in the query like so: http://translate.google.com/translate_t?text=car%20moi%20m%C3%AAme%20j%27en%20rit&langpair=fr|en. On the topic of non US-ASCII characters (which is important for a translator) I found that llHTTPRequest encodes non US-ASCII characters as percent-encoded UTF-8 when constructing the request URI. However, when Google translate takes parameters off the URI it only seems to interpret it as percent-encoded UTF-8 when the user-agent is IE's. So after changing my PHP script to use IE7's user-agent non US-ASCII character input worked.

In Use
Actually using it in practice is rather difficult. Between typos, slang, abbreviations, and the current state of the free online translators its very difficult to carry on a conversation. Additionally, I don't really like talking to random people on Second Life anyway. So... not too useful.PermalinkCommentspersonal translate second-life technical translator sl code google php llhttprequest

NMC Campus Observer - When SL RL

2007 Jun 22, 10:16A video of RL as SL. That is, what second life would look like in real life.PermalinkCommentsvideo humor secondlife

BBQ x 2

2007 Jun 11, 3:36This past weekend I was invited to two BBQs. Consequently, the weather took a break from the heat to drizzle.

The first was a lunch BBQ in celebration of Sarah's mom getting her Masters degree. Sarah and I went to her sister's house on the East-side where we had traditional foods you might associate with a BBQ including some enjoyable sausage. There was a bit of Wii to be had and Sarah's mom killed at bowling. Sarah seemed a bit dismayed at this. I guess Sarah didn't expect it since she's had more experience compared to her mom who was playing for the first time.

For dinner we drove over to Seattle to have a BBQ at Jeannie's house. Jeannie's family and my family became friends through our church when I was born and Jeannie even babysat me. The second bit about the babysitting is how Jeannie would introduce me at the BBQ. I met her boyfriend who seems like a cool guy. He works for Microsoft as a consultant and has traveled to various countries for his job. Guests had been instructed to bring side dishes and so there was quite a spread which was eclectic as well. We brought red potatoes, humus, and pita bread. As it turns out, one of the other guests had produced humus in bulk as a supplier and apparently had a grudge against the big humus chains. We played it cool and she didn't say anything so we can only assume she didn't know it was us. Jeannie was a great hostess and I had a fun time.PermalinkCommentsbbq washington personal nontechnical

New XSLT - IE7 XML Source View Upgrade Part 2

2007 May 11, 8:55Last time, I had written some resource tools to allow me to view and modify Windows module resources in my ultimate and noble quest to implement the XML content-type fragment in IE7. Using the resource tools I found that MSXML3.DLL isn't signed and that I can replace the XSLT embedded resource with my own, which is great news and means I could continue in my endevour. In the following I discuss how I came up with this replacement for IE7's XML source view.

At first I thought I could just modify the existing XSLT but it turns out that it isn't exactly an XSLT, rather its an IE5 XSL. I tried using the XSL to XSLT converter linked to on MSDN, however the resulting document still requires manual modification. But I didn't want to muck about in their weird language and I figured I could write my own XSLT faster than I could figure out how theirs worked.

I began work on the new XSLT and found it relatively easy to produce. First I got indenting working with all the XML nodes represented appropriately and different CSS classes attached to them to make it easy to do syntax highlighting. Next I added in some javascript to allow for closing and opening of elements. At this point my XSLT had the same features as the original XSL.

Next was the XML mimetype fragment which uses XPointer, a framework around various different schemes for naming parts of an XML document. I focused on the XPointer scheme which is an extended version of XPath. So I named my first task as getting XPaths working. Thankfully javascript running in the HTML document produced by running my XSLT on an XML document has access to the original XML document object via the document.XMLDocument property. From this this I can execute XPaths, however there's no builtin way to map from the XML nodes selected by the XPath to the HTML elements that I produced to represent them. So I created a recursive javascript function and XSLT named-template that both produce the same unique strings based on an XML node's position in the document. For instance 'a3-e2-e' is the name produced for the 3rd attribute of the second element of the root element of the XML document. When producing the HTML for an XML node, I add an 'id' attribute to the HTML with the unique string of the XML node. Then in javascript when I execute an XPath I can discover the unique string of each node in the selected set and map each of them to their corresponding positions in the HTML.

With the hard part out of the way I changed the onload to get the fragment of the URI of the current document, interpret it as an XPath and highlight and navigate to the selected nodes. I also added an interactive floating bar from which you can enter your own XPaths and do the same. On a related note, I found that when accessing XML files via the file URI scheme the fragment is stripped off and not available to the javascript.

The next steps are of course to actually implement XPointer framework parsing as well as the limited number of schemes that the XPointer framework specifies.PermalinkCommentsxml xpointer msxml res xpath xslt resource ie7 technical browser ie xsl

Roommate Wedding

2007 May 5, 10:05Carissa, Elijah, and KristenCarissa and Elijah are married! Sarah and I flew to Oakland the Friday of two weeks previous (April 27th) into the Oakland Airport. We were on the same flight as Jon which was fun but we weren't seated with him. Instead I was seated between Sarah and a middle aged lady who enjoyed talking to herself. It seemed a bonus if others such as myself listened but not a prerequisite for her speaking.

Church Front Sarah and I rented a car and we drove Jon first to Hayward where he was staying then we drove to our hotel in Dublin. The car we got turned out to be a PT Cruiser which was a surprise of course but actually wasn't that bad. The power windows are controlled by the center console rather than by a switch near the windows themselves which led to several embarrassing seconds when we later tried to pay the toll for the Bay Bridge.

Carissa & Elijah's Reception HallThe next day we went to Carissa's wedding which was lovely. In a small church with white roses Carissa's mom married Carissa and Elijah. Afterward we went to the reception at the Senior Center. "Senior Center" may conjure up images of rolley charis that smell like old people but it wasn't like that at all. It appears to be a community center funded by the Senior Condos next door so it was very nice.

Carissa is the first of the college roommates to get married! I guess I'm just having trouble imagining any of us getting married...PermalinkCommentswedding friend personal california nontechnical

feltron vii

2007 Apr 13, 3:06A personal annual report. This makes me want to spend time recording data about each day so that I can see how may times I ate out, phone calls made, etc, etc. On second thought that sounds tedious.PermalinkCommentsart chart data design humor information personal portfolio report statistics visualization

XML Schema Part 2: Datatypes Second Edition

2007 Apr 12, 12:35XML schema describes ISO 8601 date time formats including duractions.PermalinkCommentsdate time xml schema w3c syntax reference standard

hackdiary

2007 Apr 2, 11:52The blog of Matt BiddulphPermalinkCommentsmatt-biddulph blog code second-life hack flickr delicious music homepage monthly

Java Language Specification, Second Edition

2006 Mar 21, 7:29PermalinkCommentsdevelopment java software specification programming reference sun

Post-School Plans

2004 Apr 22, 3:52I actually have something to say which I thought would be appropriate for the LiveJournal format. Why I haven't posted to the LiveJournal for such a great length of time can be saved for later. I spent Easter weekend and the Monday following, in Washington, the state. Microsoft paid for me to fly up and stay in Washington so I could do the technical portion of the interview with them. I hung out with my friend Jeannie and she showed me all around Seattle on Saturday and Sunday. Each night we had somewhat expensive dinners, all paid for by Microsoft. It was cool. On Sunday I stayed at a nice hotel in Redmond and the next morning I spent just short of eight hours being interviewed by five different people from different groups within Microsoft. Each sub interview consisted of two portions. First there was the general portion where they would ask me why I wanted to work there, ask about my previous experience, and those sort of non technical questions. The second portion would take the majority of the time and it would be me trying to solve some technical problem they'd present. By the end of the interview my hands were gray with dry erase marker ink because apparently everybody's got a whiteboard and they all want me to write code on them. I have to go to class soon and I might post some more stories related to this trip, but mostly I wanted to say that last week I received a great offer from them and I'll probably be moving up to Washington sometime (weeks or months?) after graduation. Also, I've changed my AIM name from SequelGuy to SequelDave. My email address will also have to change soon, but I don't know to what it will change.PermalinkComments
Older EntriesNewer Entries Creative Commons License Some rights reserved.