tantek.com

t

  1. @umairh, if you know more than pop economists, Buffet, et al, what exemplary company are you building for a 21c economy?

  2. OH last night: "If we have another baby in 3 more years, we're going to have to get TWO bunk beds!" - nephew 1.0

  3. welcome niece Aylin! 7lb 20" a good start. just met you this past Saturday; happy you, mom, dad, brothers are doing well

  4. fortunate to work with so many good folks at OWF, Creative Commons, microformats, W3C, a secret project, and find my camera at Mission Cliffs somehow hiding nearly invisible on a beam underneath a bench.

  5. Just an average crappy day: was a bad communicator, then lost my Canon SD1100is camera at Mission Cliffs. Will look for it and some better people skills tomorrow.

  6. Let there be links. See tantek.com/cassis.js function auto_link for key (nice to have for http://twitter.com) fixes: works with or w/o http or www, trims trailing sentence/clause punctuation. Also: CASSIS auto_link is idempotent and works on both plain text or typical (non-evil) markup. Apache 2.0 licensed.

  7. hanging out with my sisters, watching Olympics, Leverage, and absorbing the most arcane of syntaxes: regex #multitasking

  8. Thanks @laboulange for a free open-face salmon sandwich yesterday! Hating ATT for 3hrs wasted on tethering support - considering non-ATT options for SXSW, and more drastic measures longer-term. In the future, no one will use phones.

  9. @timbray @dfltr you know who browses sans javascript? Googlebot, many accessibility #a11y tools, my BlackBerry. Why? Same reason I use Click-to-Flash to block Flash: performance and reliability. In other words, until your (site author's) javascript is #1 small enough to not hog bandwidth, #2 fast enough to not slow down my browsing experience, and #3 efficient enough to not peg my CPU(s), it doesn't deserve to load/run in my (nor anyone else's) browser. e.g. if your AJAX interactions take longer than a full page load (many top sites do), drop your AJAX; if your pages ever rainbow beachball, drop your javascript.

  10. Wanna be neighbors? Downstairs from me is on sale, open house *today* from 2-4pm. Come on by Port Zero; ping me for further details (or if you don't know where Port Zero is).

  11. conceptualizing #DiSo 2.0: #1 personal site+shortlink domains. #2 algorithmic URL shortener. #3 hAtom store (no DBA tax - easier to maintain/backup than MySQL). #4 hAtom activity stream (DRY). #5 update notifications to PubSubHubbub (PuSH). #6 your own PuSH hub. #7 content-type-specific syndication to specific sites (e.g. text notes to Twitter, geo checkins to Foursquare, photos to Flickr, events to Upcoming, etc.). #8 reverse syndication of comments+tags+notes from said specific sites. #9 edit/comment authorization via RelMeAuth (OAuth + rel-me). #10 personal OAuth endpoint.

  12. thanks @singpolyma for suggesting negative integer support in NewBase60 CASSIS lib. submitted patch had a few minor bugs: $n*-1 is slightly less optimal than 0-$n; .= is not supported in CASSIS (which must run in javascript as well as PHP), use strcat() instead; finally numtosxg() works by prepend constructing the sexagesimal return value and thus the minus sign needs to be prepended afterwards. for completeness I added negative sexagesimal support to sxgtonum() as well. updated: http://tantek.com/cassis.js

  13. defining a phrase since @singpolyma asked: "epoch days" - the number of days since Unix epoch start 1970-001. quite useful for simple personal post datestamps. 3 sexagesimal +NewBase60 digits worth of epoch days represents over 591 years, plenty overengineered for a human lifetime of activities.

  14. summary of inventions+conventions I had to create+build (so far) to start tweeting from my own site: #1 multi-content-type permalink URL design; #2 algorithmic URL shortener #Whistle; #3 print-safe +NewBase60 encoding; #4 ISO8601 ordinal date (+NewCalendar) functions; #5 CASSIS JS/PHP hybrid coding model+library; #6 HTML5+hAtom storage system; #7 "smart" ellipsing; #8 syndication discoverable permashortlinks; #9 item time sequential nav (Flickr inspired buttons, FB inspired arrow-key shortcuts); #10 item shortlink/permalink copy/re-use fields (YouTube inspired).

  15. that's right @progrium, RelMeAuth (nice suggestion) works for any #OAuth + rel-me site, and enables auto-fallback with use of alternate identities for authentication: 1 user enters their site URL; 2 iterate through their outbound rel-me links; 3 if a rel-me destination is up, and rel-me links back to user's site, and has OAuth endpoint, then do OAuth authentication. Thus user links to their RelMeAuth profiles in preference order, and authentication code tries them in order. e.g. Twitter, Identi.ca, ... etc. No more OpenID server/delegate single point of failure, nor need to learn yet another XML format.

  16. modest proposal for "good enough" authentication via your own URL: OAuth + Twitter (AKA TwitterAuth) + rel-me bidirectional identity consolidation. works for all users who enter their site in their Twitter "More Info URL" setting, and put a rel="me" hyperlink from their site to their Twitter - easier than having to write/maintain two invisible link rel="openid.*" tags to their OpenID server/delegate URLs (and having to learn what those mean/are).

  17. contrast easy Twitter/PuSH/#OAuth APIs + examples with huge/complex #OpenID PHP libraries (cc: @chrismessina) - over a dozen classes with dozens of methods total in http://openidenabled.com/php-openid/. that's the 1.x libs (nevermind 2.x) and samples just for consuming OpenIDs. I have a lot more sympathy now for those who give up on or deprioritize OpenID support. The barrier to entry for OpenID support is far too high for independent developers.

  18. documenting bits of tweeting from my own site. thanks @leyink for the favicon, and Twitter + PubSubHubbub (PuSH) for simple APIs easily implemented with a few lines of PHP.

  19. Heading to Palo Alto for the 1st f2f mtg of the elected Open Web Foundation (OWF) board. What can OWF do for you?

  20. no multitasking, needs a "real" computer for appdev. iPad 2010? No, Mac 1984 (Lisa for appdev). history. repeats.

  21. The iPad will replace the "more open" MacOS, just as the Mac replaced the "more open" Apple //. history. repeats.

  22. Most iPad critics were not self-aware when the Macintosh launched. iPad 2010 is more open + usable than Mac 1984.

  23. @erans it's *syndicated* (not just duplicated) with a permashortlink cite. @pornelski @tayfunsen an ellipsis means there's more to read at the source. The utility of the ttk.me permashortlinks is that they provide a citable link to the original content, no matter where it's (re)syndicated to (e.g. currently Twitter, FriendFeed, Tumblr, Facebook, and anything listening to Pubsubhubbub notifications for my site.)

  24. In the past few days, 1+ thieves broke/snuck into my garage, made a mess, took only my bicycle, katana, wakazashi.

  25. I had no idea how wasteful Atom/XML is compared to hAtom until I looked at the code I wrote to output both side by side.

  26. PHP tidy thinks <wbr> is an HTML tag, but PHP DOMDocument loadHTML does not. replace all wbr tags with &shy;.

  27. sometimes it's the little things, like getting S5 incrementals to fade-in in WebKit with -webkit-transition and opacity.

  28. it seems I have to finally learn XPath. at least it re-uses some aspects of CSS selectors.

  29. PHP DOMDocument is the most sensible path to process the model in a forward CASSIS-compatible manner.

  30. new CSS filters for BlackBerry browser: @import "bbpass.css" <!--;--> @media screen\, , handheld {/* BB rules */}