I went to day two of Mashup Camp today -- the "Unconference" for the "Uncomputer" -- held at the Computer History Museum in Mountain View.
During a phonebank rally today, I hacked together an IUI / iPhone-based "Mobile California Proposition Guide."
As you stand on line on Election Day, please take a few seconds and skim through the propositions which matter most to you!
What are the Grand Challenges in (Info)Vis? was the topic for a panel earlier this week, feat. Georges Grinstein, Tamara Munzer, and Daniel Keim.
I won't resummarize here, but Tamara made a call for a vision of "total political transparency" as a problem that is infovis-complete, but many of us agreed we're far far away from that. Sure, we have the Sunlight Foundation and other efforts, but we're still drowning in a sea of data, full of schema borne in different oceans.
From a Grand Challenge perspective, InfoVis panelists often cited scalability and data integration as large concerns, but didn't unpack scalability in any way at all. I think from my perspective, we're at a point now where it's not that the number of data dimensions (dimensionality) is growing without bound, but rather that the number and size of heterogenous data sets is growing faster than our ability to make sense of them.
Traditional InfoVis or even Vis assumes you have a data set that may grow and get larger, rather than envisioning a world in which you have an ecology of data producers and consumers, schemas and lack thereof, bad data and missing data and the like.
Alon Halevy made mention over the summer of OpenII, an Open Source Information Integration suite, and there are efforts such as Freebase which try to collabo/crowd organize the world's data, but I think even for the space of Vernacular Visualizations, of spatial mapping and timelines, of health / finance and politics, we're far from a world where we can explore the world's heterogenous data space to make sense of it, and communicate subset views of the space to others.
Ah well, time to get to work :)
InfoVis 2008 wrapped up yesterday, here in Columbus OH, and I have to say that the conference slightly restored my faith in InfoVis, the field and more specifically the research community that breathes the field alive.
``the use of computer-supported, interactive, visual representations of data to amplify cognition'' (p. 7, Table 1.1)
I noticed that I've been training with my Polar F11 for exactly 90 days now.
Timespan: 90 days
# Workouts Tracked: 50ish
Total Length: 60+ hrs
Total Calories burned: 23,692.
(Originally posted on 30-AUG-2008 as a Facebook note.)
I got up today and hiked the whole U-loop of the dish barefoot.
:)
I was going to ping some folks to see if they wanted to come with, but alas my phone was out of juice and my charger was elsewheres.
I think I'm going to have that culminate my summer of barefootery, as the journey was a bit rough and the ground hot from the noonday sun, and hill sprints barefoot may have proved to be as ouch-inducing as track sprints unshod (but, worth noting, no blistering at all this whole time).
Folks along the way would ask me if my feet were hot, funny that they ask that as it was actually the roughness of the path that eventually got to me half way through (tho I kept on until the end). The path was pretty hot, but if you walk quickly and accept the mild pain it's not so bad. The gravel on the other hand... it stung a lil.
Volume-wise, a dish hike barefoot isn't that long, comparable to walking back and forth to lab barefoot as I have done a few times, and the hill grading is no SF nor Seattle. My HR did spike to 159 on the initial ascent, but after that it stayed at a calmer pace.
People also asked if I was training for anything, and I would say either "not really" or if they asked if I was training for something I'd say "a lil". Maybe I should have said I was training for life :)
I have a few reasons to cross-train barefoot.
One is sensory/nerve training. As that random Chinese lady says in ChiRunning, cushy shoes make your feet dumb. Do you spend all your days wearing boxing gloves? I hope not, and yet we do the same to our feet.
Another is form. According to Brooks Johnson (Olympic sprint coach, author of the Winning Edge, and former Stanford track&field head), the way you run barefoot (in terms of footstrike and so on) is essentially the optimal form for sprinting, shod or unshod.
(Apparently this is why Brooks Johnson and Vin Lananna, both track coaches at Stanford over the last some decades, have had their athletes occasionally run barefoot on grass.)
Third is function. While it takes some time to build up volume, "it takes time to develop the strength in the foot to use our natural arch fully", and even though barefoot-grass-running can cost a few percent less oxygen, it incorporates "more training for the small muscles in the foot and lower leg".
In contrast, when you wear expensive running shoes, you tend to apply more force, some studies show, and your muscles weaken since they don't have to work as hard. Interestingly, a study of n=180 (plus skeletons) demonstrated that "prior to the invention of shoes, people had healthier feet". (Of course, running injuries have yet to decrease, in spite of the "advances" of the last couple decades.)
Then again, this is generation that is expected to have a shorter life expectancy than their parents (gee willikers), in a world that has enough units of food to feed the world (we don't though...), that now has more overweight peeps than underweight, more suffering from overnutrition than undernutrition, more city-dwellers than not.
So, that's the way I see the median person in the world today, living in a city, eating too much of non-slow food, wearing muffs that make their feet sicker, weaker, more stupid. Anyway, I digress :)
That's it for now (mainly I wanted to chronicle my physical and intellectual journey re: shoes, and aggregate all the pointers I collected along the way).
If you do go barefoot on campus sometime, do check out the pebbling in front of the law school--my current fav. place to touch feet to earth!
Time to go get ingredients and prep for Monday, as a youth delegate for the Slow Food Eat-In in Dolores Park :D
My next goal will be to learn to DL (deadlift--lemme know if you'd like to lift with me :). In combination with Kettlebell swings and snatches (workshop next weekend), Pistols and jump rope, hill hikes and Miracle balls, I hope to be in decent shape come September.
I decided to install Pavel OS recently, in hopes that it will prove to be an upgrade from the piecemeal Slackware OS that I have been running off and on since high school.
What is Pavel OS? I'm glad we asked! Well, as you might know, humans tend to model the brain using whatever the latest advance in technology happens to be. These days it has been the brain as Computer, before that, brain as Engine, then brain as merely Organ bits.
It in the fitness biz, it has become chic to think of the whole body in that way too, that is, as a computer. Gray Cook, Pavel Tsatsouline, and now Marty Gallagher do it, talking about how our bodies are made of hardware and software, firmware and wetware. We may have been born to certain genotypes, and under certain stars, but how we use what god has given us is another question.
How are you'all managing your body-as-a temple?
Pavel OS is the latest new but not new Operating System for your body. Why does your body need an OS? Well, how did you learn to walk? Probably by falling forward, first uncontrollably, then later in a controlled fashion (one would happen to hope). Your brain then prunes its neural interlinks, soaking up patterns it perceives in the larger world. It does the same with the body--breaking down movements and desired actions into patterns, protocols if you will for physical action & reaction.
`
In that spirit, Pavel OS teaches you to move from a strengthened core, and to balance max-strength with strength-endurance.
But how does one install Pavel OS? I'm glad we asked, comrade! First, pick up a copy of ETK--Enter the Kettlebell, published by Dragon Door--and your very own first KB--Kettlebell. You can purchase Kettlebells online, Russian Reds if on a budget, and Made in China Apollo imitations if you're a fund-limited student like me.
You start with KB swings--here is Olympic hopeful Mark O. Madsen demonstrating some beginning as well as advanced Kettlebell action, at an extremely high level and weight class!
Take a look at him go! And cheer for him at the upcoming Olympics as he competes in Greco-Roman wrestling!
Of course, there's more to Pavel OS than that, but that's the way to start. Add a jump rope and a Polar HRM next if you like, inspired by MartyG's PurposefulP / Gray Cook / Bruce Lee, then read Cook's Athletic Body in Balance.
Ditching your expensive running shoes is a good start--transition using Nike Frees to some barefoot work if you'd like to have Iron Feet as an optional upgrade...
Yesterday, I wrote elsewhere that I sprinted barefoot on the hot summer track, for 100m sprints and 40y dashes, and then got on my bike, barefoot, to do more HR interval work.
Today, to celebrate my installation of Pavel OS, as well as the upgrade of modules imported from MartyG's PurposefulP(rimitive), I went for a 6am hike up these nearby foothills. I half-jogged, half-walked, half-ran, for about an hour, some five miles, some five hundred Kcalories. Phew!
I did so in the morning to optimize the burn, to make my body feed off fat instead of food-stored-as-fuel. Will it work? We shall see! Now in the mean time, for meal one of some seven (Parillo-styling here I come)!
I just got back from RubyFringe [Toronto], quite possibly the best tech conference I've been to thus far in life.
I've been to a number of tech events, from LAN parties in SoHo to IEEE vision conferences in France, from GOOG developer days to ACM CHI, BarCamps to WebExpos, and RubyFringe--subtitled "Deep nerd tech with punk rock spirit"--had the best food and music of them all. And you know, cool peeps too, even if _why, defunkt, and ezra didn't make the show :)
Toronto
This year's RubyFringe (will there ever be another?) was held in Toronto, Canada, cityland of great diversity. I grew up not far from NYC, another such cityland, and now live some 60 clicks away from SF, and yet there's this way in which *-Americans tend to assimilate, as if bowed to the pressure of some greater cultural force. In contrast, residents of Toronto seem to retain more of their heritage in some way that seems difficult to explain. Perhaps it's mainly a matter of language and sheer numbers of pop. distribution?
Whatever the root, folks who move to Seattle seem to somehow lose (give up) more of their past than folks who move to SF, who may lose (give up?) more than those who move to NYC, and then the same for Toronto.
a day in modern RubyLand
That in mind, perhaps it's fitting that RubyFringe took place in Toronto rather than SF or Seattle, as the Ruby programming language itself is a sort of eclectic combination of PL design. And as much as I love Ruby, I sort of have had more love for the larger Ruby community and its eclectic (as in "Greek eklektikos, from eklegein to select, from ex- out") slashslightly eccentric nature, from _why to zed to matz. And I don't have strong arguments as to why Ruby is "greater-equal to" Python, except to say that (I feel) Python tends to attract Physicists whereas Ruby tends to attract Musicians / Artists.
That said, I would say that Ruby, or rather the larger Ruby "community", if you grant that such a ragtag thing exists at all, has been innovating muchlyso in the last four/five years, from the Win of Rails (Ruby on, which has since influenced newer PHP, Python, and Java web frameworks), to whytheluckystuff such as Hpricot, or well anything redhanded, from Mongrel also~use of Ragel to modern explorations in web microframework land (Merb / Sinatra), from the improv acts of Haml (markup haiku) to the newly released gist.github.com.
From the perspective of this apprenticing academic, there's nothing new in RubyLand, nothing new under the sun, as Ruby the-programming-language merely combines notable language features from Smalltalk and Perl, Lisp and the like, and yet to me matz succeeded in "trying to make Ruby natural, not simple". As an academic, one might often cite Ousterhout on Scripting, or even BAM on Natural Programming, but it seems hard to do (academic design) research in the space wherein Ruby, Rails, and jQuery have succeeded. John Resig's jQuery gets The Design Right and The Right Design and some might say the same for Ruby and/or Rails, but these claims are hard to falsify, and thus to publish academic research about (which is why I blog here'bout it rather than study modern Rubyland for my academic research :)
I hope that gives those of you (apprenticing) academics, hackers, observers some insight into some recent high-order bits in RubyLand. That said, some conference details to follow!
Day Zero
I missed the RubyFringe commencement--was out of it after some 31 hours of traveling from SJC--but caught bits of stories from FailCamp, which reminded me of my days at The Frugal Empire (AMZN dot com). People got up, AA-style, and said "My name is X, and I have failed", then telling their story of Fail.
What is "Fail" anyway? Epic fail? Many of you have seen lolcats, and perhaps or perhapsnot Fail is an offshoot of that genre of ridiculousness, where an oops-i-? image is post imprinted with an Impact-typeface screed of FAIL -- this generation's America's Funniest Home Videos, in screenshot, Internet meme form.
But beyond this, I think what matters about FAIL is less about the fail itself than our culturally embedded notion of failure, specifically how we can FAIL and get up again, rather than being marked off as a failure. Guy Kawasaki has written about how, in Silicon Valley culture, you can FAIL and get up again without being A failure (as was the case in older, more risk-averse societies), and what I take out of FailCamp and RubyFringe in a larger sense is that FAIL is okay, is funny, is something to be sometimes laughed off and moved past. In the 3P's of things, FAIL is not Permanent, not Pervasive, not Pervasive. Just fail! ...so that we might learn to pick ourselves up again.
Day One
Day One began with breakfast and registration, where I volunteered and helped to get folks signed up.
- Jay Phillips presented his work on Adhearsion, an open source Ruby-based DSL (domain-specific language) that expressively represents, and then generates config for the open source Asterisk PBX / Telephony Platform. That is, if you'd like to configure a telephone exchange for your business / office using open source VoIP technology, Adhearsion allows you to do so in a compact, domain-specific language (above Ruby core), that can easily integrate with your employee databases. [I sat near Jay at a pay-by-the-pound Veg restaurant that didn't seem to offer much quinoa or tempeh, and Jay seems to be doing well by making Adhearsion consulting his business.]
- Dan Grigsby of unpossible.com was going to talk about Ruby deployments, but ended up talking about Sink's metaphor of Barrel Research. You could think of this as a spin on the Long Tail, in physical / volumetric form. Operating Systems, Office Suites, Browsers are the big rocks in the market if-it-were-a-barrel, but between the space of those rocks, you can fill in hundreds of little gems, and between those gems you have your grains of sand. He then talked about how we as hackers have skills enough to "hack the market", by exploiting inefficiencies in the market, whether by looking at diffs of Freedom-of-Information-Act dumps or by being inspired by cults, game design, Reefer Madness. Memorable quote? "You're not fringe if you work for the Man!"
- Tobias Lütke talked about Rockstar Memcaching and Yehuda Katz talked of "Living on the [Ruby] Edge"--Thor, a "full-stack package for writing robust binaries" that tries to go beyond optparse and Rake/Sake; DataMapper, an attempt to move beyond ActiveRecord-type ORMs to object-data mappings (i.e. REST or whatnot), or even just trying to support the Complexities of modern relational schemas; YARD, which tries to add microsemantics to Rdoc; finally, Johnson, which "wraps JavaScript in a loving Ruby embrace". Dueling Garbage Collectors, ai-yah! I'm still not sure what to make of Johnson, but as fas as I can tell, most people aren't either :) You'all figure it out!
- Lots of people liked Luke Francl's talk on "Testing is Overrated". The most interesting slide data-bit for me was the one that argued that in terms of # of defects found, unit tests are okay, code reviews do better, more formal code inspections even better (having a facilitator and a process help that, or so I learned in a class I attended with Mr. McConnell as the teach'), and prototyping kicked all their butts. Nice. d.mix anyone?
- Nick [JRuby] Sieger talked about Jazz -- see his blog article on Jazzers and Programmers for the scoop -- and I rather liked this talk and the musical accompaniment.
I'm still not sure what to think here, and I suppose we generally ought to accept that we live in a Capitalistic state, but how much should that drive who we are and how we live? I suppose I'm still a half-young, half-hippie, half-idealist at heart that feels and feels out that kind of dirt.
That said, I do think marketing is important, as are sales, and yet, where do we draw the boundaries? What do we, have we lost along the way?
I'll end here, then talking of PORN. Zed Shaw gave a presentation titled "THERE WILL BE PORN: 10 Dangerous Ideas Nobody Should Implement". I missed the first some minutes, but he talked of combining a TODO list with Pornography and Dangerous Ideas like that. I talked with him later and, given his interest in the social impact of tech, pointed him towards Melvin Kranzberg (for example, see Kranzberg's laws of technology). Zed might like that kind of work, and Kranzberg's writings, but perhaps not.
Zed also talked, offline, about just watching Charles Moore as he programs, getting that record of his technique on tape. It is weird that we don't get to see programmers actually program, just perhaps pass them one-dimensional or two-dimensional foodstuffs below their locked doors (thx you Microserfs), and get binaries and/or source on the other end. That's a sad state of affairs, as perhaps we improve as coders soveryslowly, if at all. Would you pay to see Zed, or Charles Moore, Knuth (and his unexpected aspect ratio :), or Guy Steele hack? I do think that the HCI community has a history of watching people as they work, whether Lucy Suchman back in the day or one of BAM's PhD students as they see how programmers Actually Work, and yet we probably do know so little of how the masters do it. We see the end result, but not the struggles, the techniques and tricks, prototypes and shell commands, commits and rollbacks
along the way.
Arguably, Susan Lammers' Programmers at Work takes us part of the way there and Founders at Work sketches out modern startupLand, but there's a delta between startups and programmers back in the day, and programmers as described second-hand versus programmers as they Actually Work. That said, I hope Zed actually does this, and records the workings of some great Hackers before they pass away.
As for Zed's talk itself, well, what can I say, Zed is still a bad-ass. He has a long-ass entry on his blog, which I have yet to read through, but he did post the multi-track songs he recorded in phase-shifted real-time, as it were, using a Dr. Beat, a travelin' guitar, harmonica, and a software hack he calls Inculcator.
Inculcator? "To implant by repeated statement or admonition". Or rather, "a small project to help record live music sequences for dynamic playing and looping with a minimum of interface friction." It uses Ecasound and a probably ugly PyGame/Pgu interfaces. Now world, where's the Shoes ver? :)
Day Two
Day Two, to follow in another entry :)
But before I sign out, props to Pete Forde! to unspace & Meghatron, the other volunteers, attendees, and double You you.
Long time no blog. Have been training as an artisan (bread and occasional bagel) baker and playing some hereandthere high-level Ultimate.
Here's part of an email I just sent to the mouseHole scripters list.
Alas, I haven't had time to work on the mouseHole of late -- I spent some time instead exploring the possibilities of the curious Firefox extension POW, which I got to half-work as a pseudo proxy.
I'm not sure how much POW has progressed since I last looked at it, but I think in the long term, building on something akin to POW might be the way forward, even if Ruby isn't yet directly supported in most browsers. I described some of these concepts here in "Remixing the Web":
http://graphics.stanford.edu/~lwu2/ (third paper link)
essentially trying to replicate a mouseHole-like programmable proxy within Firefox itself, driven by jQuery and JavaScript, which at least reduces the programming burden if you've read jResig's JS book and feel comfortable enough in that tongue with jQuery at your side.
Since that work, I have also heard about Jaxer but not read much about it. It might be what some of us are half looking for?
On the one hand, there's something _why elegant about the tight combination of mouseHole, Hpricot and Mongrel, but on the flipside, Firefox's core can support SSL, is HTML/DOM compatible with itself, and can make use of extensions such as POW, GreaseMonkey, and the like.
To reiterate, it's a common reductionist pattern to think of the alternatives as being either the browser as the point of modification (extensions) xor programmable proxies as the point of remix (for example, see Bolin's MIT thesis where he makes this exact bifurcation), but we're at a point now where we can have our programmable proxy cake and eat the browser kiddies too.
Does that help? Googling for "jaxer programmable-proxy" doesn't seem to show any hits right now, and while I've seen discussion of doing mouseHole-like programmable-proxy ish things in POW, I don't know if anyone else has followed up on that vector of attack, beyond the proof of concept we built for "re:mix", but to me it seems like the Right Enough way forward as we try to democratize these tools of production and ICT.
~L
In other news, the Stanford University visualization research group now has a new web presence at graphics.stanford.edu/vis, and my most recent collabo project, called Vispedia, also has a new project-page-home on the web at graphics.stanford.edu/projects/vispedia.
Finally, in putting together a brief list of my recent work as a CS PhD student here at TheFarm, I realized that four of my recent projects and my current "Sniff and Scratch" work all have the theme I briefly mentioned in my mouseHole mail, that of "democratizing the tools of production and ICT".
And while there is great work in the larger space of using technology in the journey towards social justice, and in reducing digital divides, I am sort of more interested in looking at technology with a social justice and democratizing lens, and beyond the analytics that are common in the history of science and technology, I think it's important to try to have time-flow-positive impact in the coming years and decades, in a constructive here-it-is way, in contrast to the retrospective here's how it was fifty 2 a hundred years ago.
Kay, in the spirit of my flexitarian with a vegan offset foodie philosophy of late, I'm going to make some food for lunch. Chow, ciao.