Ph: 20050101

Tantek's Thoughts

Posts

Human vs. ISO8601 dates problem solved

created
20050126T0100
categories
content

One aspect of hCalendar has been bothering me and a few other microformats developers for a little while now: the fact that dates are encoded and displayed in ISO8601 format, e.g. 2005-01-25 or just 20050125. This may be perfectly readable to programmers and other folks familiar with numbers and modern date formats, but it is certainly not the easiest thing for most other humans to read and understand. People are much more familiar with dates like: January 25 or 1/25 or 25-1.

My first instinct was to try the <object> tag, since it has a nice mechanism for providing data within its 'data' attribute, and fallback plain text inside the element itself, e.g. (simplified for sake of discussion):

<object data="20050125">January 25</object>

This worked great in typical modern browsers, except for one: Safari (v1.2.1). Unfortunately, to put it mildly, Safari's <object> support sucks. It doesn't handle <object> fallbacks, it doesn't know when not to handle <object> mime types that it doesn't support, it doesn't support display:inline on <object>, and it doesn't do proper intrinsic sizing of <object> replaced elements. These are all trivial to reproduce bugs. If anyone working on Safari is reading and needs test cases, I'll gladly provide them, or heck, just check out the draft W3C HTML4.01 Test Suite which includes several <object> tests which even the nearly five year old IE5/Mac handles without difficulty, natch. So back to the drawing board, since a solution to this problem should work in every modern browser.

Ironically, one of the root causes of the problem pointed directly at the logical solution which seemed obvious as soon as it occured to me.

Humans don't think of dates and times in terms of fully qualified year, month, date, hour, minute, second, time-zone values. Humans think of dates and times in terms of only that which is necessary. The day, or the day and the month, or perhaps just the hour. What do all these have in common? They are all abbreviations for a fully qualified date and time.

Lucky for us, XHTML has an element for abbreviations: <abbr>.

Thus, the ISO8601 date 20050125 should be marked up as:

<abbr title="20050125">January 25th</abbr>

I've updated both the hCalendar specification, and my Events roll at the right accordingly. View source to see more examples.

In the future one could imagine a CSS rule and perhaps a CSS property or two that would automatically transform and present such ISO8601 dates from 'title' attributes of <abbr> elements into whatever datetime format the user preferred (e.g. for their locale, American vs. European etc.), rather than the default human readable abbreviation provided by the author.

Comments and other blogs commenting on this post

iBook restored, microformats dinner tonight

created
20050119T0351
categories
content

My iBook is all fixed and working just fine. Data restored and it is fully operational. With any luck, this motherboard will last me through SXSW this year :) But more to the point, I should be able to catch back up with regular posting.

And in that regards, Adam Rifkin and I are co-hosting an informal microformats dinner this Wednesday night (I suppose that is tonight isn't it?) from 7-9pm at Crepes on Cole (located at the intersection of Carl and Cole in the Cole Valley district of San Francsico, nearest transit is MUNI N-Judah).

Are you a Web implementer that is interested in solving real problems quickly, rather than theoretical problems eventually? We'd like to encourage frank discussions between coders and web designers alike, in order to design and create standards that work for both. Data that can be efficiently parsed and elegantly presented.

And besides, Crepes on Cole has delicious San Francisco style crepes.

Comments and other blogs commenting on this post

Technorati Tags!

created
20050114T0308
categories
content

I told you we'd been coding on even more cool new features. Introducing Technorati Tags. All your tagged stuff (blog posts, photos, links) in one convenient place. See details of how it works. In short, to tag your posts, just create links from your post to the respective Technorati Tag page(s), and add rel='tag' to those hyperlinks to indicate to Technorati that you intend those links to express a tagging relationship between your post and the respective tag(s). E.g.


<a href="http://technorati.com/tag/code"
   rel="tag">code</a>

Comments and other blogs commenting on this post

Technorati Quick-Claiming and Searchlets!

created
20050113T1608
categories
content

Recently we built two really cool new features, but we've been so busy (coding even more new features), that we haven't even had time to blog about them!

The first is Technorati Quick-Claiming, specially built for users of Tucows' Blogware blogging tool.

In short, if your blog software supports RSD (Really Simple Discoverability) and one of many popular blog tool APIs, you can claim you blog on Technorati by simply entering your blogging tool login info. Joey deVilla has done a great job of explaining Quick-Claiming Your Blogware Blog in Technorati. He's also provided a more technical treatment on The Farm, Tucows' Developers' Hangout.

Second, you might have noticed me experimenting with little search boxes at the top of the next column over in my blog since sometime this past September. Notice the new one at the top. This past November, when Technorati shipped a completely rewritten keyword search functionality, I also wrote a similar search box for Technorati (which I promptly coined the searchlet, and someone entered into wikipedia mere weeks later).

The Searchlet presents the option of searching "this blog" (meaning your blog), or "all blogs", for either keywords or URLs automatically. In addition the Searchlet does something that no other search box can do: It returns the most recent, comprehensive, thorough, and freshest results from blogs and feeds, no matter what the format (XHTML, RSS, Atom, etc.).

The Searchlet went through several iterations in the weeks since, and finally got good enough to privately (or not as the case would be) test it out with a few folks like, Robert Scoble, and Doc Searls. It spread quickly from there. We made a few tweaks, and now any Technorati member can easily add a Technorati Searchlet to their blogs. The Technorati Searchlet page will automatically generate the custom XHTML 1.0 Strict code for your claimed blogs, and Searchlet previews so you can even play with before copying and pasting the code into your blog template(s).

Comments and other blogs commenting on this post

iBook broke (again), MacWorld madness

created
20050112T2013
categories
content

Monday morning my iBook broke, again. I spent most of the rest of day diagnosing it (bad video hardware), and then copying off the essentials (target disk mode still worked), and prepping the machine with simple admin account for turning in for repairs.

The next morning I went to the San Francisco Apple Store, signed in at the "genius bar", and patiently waited my turn. After demonstrating the problem and clearly stating the diagnostic steps I took, the genius bar person graciously took my iBook, handed me a printout and sent me on my way. I decided to check my email before leaving, and they started changing the show at the auditorium for some recent announcements from the keynote at MacWorld Expo just blocks away. Moments later a huge mob showed up at the store, grabbbed square green iPod shuffle boxes as fast as the store workers could hand them out, and bumrushed the cash registers. Sheer madness.

Hmm... 1GB seems too small to be useful for a music collection. Now, the Mac mini, that's an interesting little box. Reminds me a lot of Mac Cube (which I actually thought was a nice little box), but a lot less expensive. I wonder if it is quiet enough to put in an entertainment center as a dedicated music server with storage?

Comments and other blogs commenting on this post

Technorati Developers Contest Winners

created
20050107T2007
categories
work
content

Congratulations to the winners of the Technorati Developers Contest!

Well done, contestants.

Comments and other blogs commenting on this post

Technorati launches keyword watchlists

created
20050105T0053
categories
work blog
content

The Technorati crew has been working very hard, even during the recent winter vacation, to bring you keyword watchlists.

In short, use Technorati to search for any keyword, and then create a watchlist feed for that keyword to find out whenever any blogger mentions that keyword.

But wait, there's more! You can also do Boolean searches for keywords and have those results turned into an RSS watchlist.

See David Sifry's announcement for details and a timely example, and Boingboing's coverage as well.

We're very proud of the new keyword watchlist feature. It's one of these things which we almost had ready to launch several times over the past month or so, but kept holding back until we had banged on it and got enough little details right to have something we thought was sufficiently deserving of end users' attention. There is something to be said for making sure a product or service is sufficiently polished before launching it, and I hope you find this to be true with Technorati's keyword watchlists.

Update: see David Sifry's followup on watchlists and answers to Roland Tanglao's questions.

Comments and other blogs commenting on this post

Geek dinner and after-party redux

created
20050103T0103
categories
friends
content

Last thursday Robert Scoble hung out with us at Technorati, and arranged a geek dinner at Chaat Cafe (dinner followup). Afterwards Matt Mullenweg hosted an after-party (post-party cleanup, party followup). Nicole Lee took photos.

Thomas Hawk summed up the dinner venue:

The dinner venue was actually pretty perfect. There was some concern earlier about the cost of Lulu's being prohibitive and this was the second choice apparently. The cost was reasonable and I thought the food was pretty good as well. The restaurant was definitely scalable and it seemed more efficient with such a large group for everyone to order at a counter and then have their food brought out for them.

Enough said.

Scoble posted an XFN Friendly followup, wherein he took some liberty with XFN values. Michael Eakes noted a possible danger of losing context, and Phil McCluskey followed up with The Semantic Context of XFN. There really isn't any danger nor chance of corruption; these issues were all considered in the design of XFN 1.1. The answer is a few things. For comments, simply disallow commenter setting of 'rel' attributes. For spiders/engines such as RubHub, follow the spec, which, for the rel="me" value, says Required symmetric, which means that in the general case, there must be a "me" relation from source to destination and back to the source in order for the semantic to be implied. One way to present this in the user interface is to only show bidirectional "me" relations, or perhaps group all such sites as part of an identity consolidation at the top of the results page for the particular URL, rather than listing them intermixed with other relations.

More posts about the dinner and afterparty: Steve Sloan writeup 2 3. Christopher Carfi writeup. Michael Eakes writeup. Renee Blodgett writeup and social commentary.

All in all, a great time was had by all. Thanks again to Scoble and Photomatt for an excellent evening of hanging out with friends and colleagues.

Comments and other blogs commenting on this post

Curry spice may fight Alzheimer's

created
20050103T0050
categories
health news
content

A UCLA-Veterans Affairs study finds that curry spice may help fight Alzheimer's (at least in genetically altered mice). Good enough for me. Bring on the koorma curry and yellow curry with vegetables!

Comments and other blogs commenting on this post

Cognitive overload

created
20050102T2232
categories
anthro tech
content

Via Jason Kottke. Seattle Times: Plugged into it all, we're stressed to distraction. Much of this article rings true for me. Here are a few things I've done to cope:

Prioritize email.

I not only have a white list but various shades of gray lists as well, which filter into various inbox subfolders, which then help to significantly reduce email interruptions. I do my best to only treat white list emails as priority interrupts.

Throttle IM invitations.

At Microsoft, MSN Messenger was a fairly useful productivity tool. People seemed to generally understand the cost of interrupting someone else with an invitation to chat, and therefore hesitated to do so unless it was necessary. You knew when you got a chat invite that they really needed to ask you something right there and then, rather than something which could wait for email.

Then I started using iChat/AIM once I started running MacOSX 10.3, and found out that way more people I knew were available on AIM than on MSN Messenger. Quite double-edged though, as many more people found me available as well. Not only that, but the AIM usage I experienced seemed, shall we say, less conscious of the interruption costs asked of those being invited.

So now if I am deep in thought or in the middle of a task requiring a higher than usual level of concentration, I throttle back my response time to IM invites. I wait longer to accept invites, depending on who from, how important it seems (e.g. are they just sociably saying "hello", or do they actually need help?), and how "available" I feel I am at the time.

Cell phone profiles.

Cell phones have become a necessary evil in our just-in-time, always-reachable modern technological culture, and just like AIM, few people seem to actually understand the interruption costs they are asking of those they call, or perhaps worse, they think they are so important that it is their right to cause such costs to those they call.

I have set up several profiles ("Vacation", "Weekend", "Work", "Meeting", "Normal") on my cell phone which, depending on the profile, ring for only particular sets of people (via caller ID). These profiles are similar to the shades of gray lists that I mentioned for email. Such lists are iterative, adaptive efforts. Some people know how to respectfully use cell phones, and some people don't. Sometimes they learn over time. Sometimes they can be taught by varying the response time to their inevitable voicemails/invites etc.

Reduce stimulant consumption.

Last but not least, as I mentioned last month, stopping drinking coffee significantly reduced the emotional sense of urgency to respond instantly to every email/phonecall/IMinvite as soon as it happened, thus enabling a more deliberate and efficient prioritization and processing of such events.

What techniques have you developed to reduce cognitive overload and context switching costs?

Comments and other blogs commenting on this post

Dan Gillmor goes independent

created
20050102T1917
categories
news freedom
content

Dan Gillmor has a new role.

Comments and other blogs commenting on this post

Atom feed

created
20050102T0412
categories
blog
content

Speaking of progress on resolutions, I've hacked up an Atom feed of my posts. Try it with your feed aggregator of choice and let me know if you have any problems.

Comments and other blogs commenting on this post

Progress on previous resolutions

created
20050101T2237
categories
personal
content

Last year's resolutions and results:

Finish more than I start. As I said in my previous post, this certainly didn't happen last year. But neither did I expect to get so involved in such a high growth area. Spend less time handling papers. This was definitely accomplished. The big gains here came from simply reviewing "payables" statements, e.g. bills, such as credit cards, and only entering transactions for checking/savings accounts, rather than trying to enter and reconcile each and every receipt for all bills etc. Recycle more paper than I file. This too was achieved. I managed to pick up a decent shredder that handles all manner of paper, and fed it all sorts of things. Cook dinner at least once a week. Though I started and ended the year with quite a bit of cooking, once a week didn't quite happen. One thing that might help is planning for a set of consecutive meals or at least days, and purchasing groceries accordingly. Take monthly breaks. I did reasonably well at this one, and every month that I took such a break, even if brief, it was considerably worth it. The beginning of the year is always the most challenging, this year being no exception.

It's somewhat interesting to look at a couple of the resolutions I wrote the year before as well:

Reduce coffee and sugar soda intake by 50%. Still off the coffee, and I've nearly eliminated my consumption of corn syrup sweetened sodas, drinks in general. Change my company or change my job. Done.

Some completions, much progress, and plenty for the year ahead.

Comments and other blogs commenting on this post
Technorati claim © 1996-2005,
Tantek Çelik
, All Rights Reserved. Valid:


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser