Tuesday, October 27, 2009

Field for MacOS X

A couple of sources mentioned Field, today.  It's mostly an interactive art development environment.  And it's mostly python and java.  But it seems to really be about "improvisational coding" if that makes sense.  You know, like when you're playing with some fun code and you keep frotzing knobs and tweaking codes and tuning multipliers ... except that Field purports to keep running your code live while you play, rather than interrupting your groove to hit "compile and run" after every single change.

The IDE itself has the sort of futuristic look you'd expect from Media Lab freaks.  And it interconnects will all sorts of sweet stuff.  As a nod to the pioneers, it supports any Processing library you might like to borrow.  It uses Apple's Core Image framework, so output is all OpenGL (or PDF) and pretty.  It connects to Max/MSP if you desire, and supports OpenSound Control for getting audio, instruments and gestures in and out of your creations.  As a bonus, it understands the new OpenCL bits in Snow Leopard.  (It even juliennes!)

I've been trying to find time to really pay attention to my Processing books, but now I'm torn.  Perhaps I'll skim them for information theory, and give Field some of my practice.

Monday, October 26, 2009


Yep. That's what a handful of Dual Shock controllers looks like.  Bet I'd lose my grip if they all rumbled, though.


Scanning through a copy of h+, there's an interview with Andrew Newberg.  He mentions that part of many spiritual experiences involves the parietal lobes of your brain, which are responsible for distinguishing between self and other.  So if you messed with that section of the brain enough, your mind might have no choice *but* to conclude that you are one with everything.  Zen mind, short circuited mind? ;)

Wednesday, October 21, 2009

Facebook Scaling Talk by Rothschild

I watched a presentation by Jeff Rothschild about how they scaled Facebook up to its current preposterous size.  There's a lot of interesting stuff about optimizing things in here and it was definitely worth putting on in the background when I was rotating passwords the other day.  I stopped it right as we was about to take Q & A, at the middle of the video.  Here are the things that were interesting enough that I jotted something down:
  • They optimized image requests from involving 10 disk IOs to just 1.
  • Scribe sounds interesting, a fault-tolerant read-write system. (used to handle syslog flood)
  • You need to "operate in RAM speeds" for most internet interactions today.
  • They have neato memcache tricks.  "It really is the core of the site."
  • The "multiget hole" is an interesting problem.  Backup and listen when he gets to it.
  • "Avoid shared architectures when possible."
  • "Don't put data in a central database."
  • Move fast; don't be afraid.
The "hackathon" is a really neat idea.  Apparently you get to think up some project that can't be anything that's been assigned to you.  If you donut have something in mind, you can help other teams.  Their last one was three days long, and from his description, some of the best features of the facebook site are the result of hackathon projects.  I could totally go for some of that, here.

Friend Experiment: Progress Report

Having friends is such a pain in the ass. They always want your attention, or they want you to join them somewhere, or they want to tell you about what they're doing. As if texts and IMs and email weren't annoying enough, then they make you read their damned notes they leave on your stupid desk.

Monday, October 19, 2009

Re-prioritizing, in layers

After about three weeks, my big to-do list on the whiteboard (blurred in this photo, because it's seekrit) isn't so useful. Mostly it's because I know which parts of it I'm trying to ignore every time I glance at it.  Humans are really good at ignoring unwanted visual queues.

So I rebuild it.  I snap a picture of everything, then I erase it all and transcribe it back in a different form that makes sense at the time.  Some times you group by application type, other times it's customer groups, other times it's products that group things.  This lets me organize the constellations, and it also reminds me of the things I've been avoiding.  Plus, it lets me cross off things that are in the nice-idea-never-gonna-happen category.

Next, I go through all my scraps of jotted notes (textedit files, reminders emailed to myself, and stickies files) and assign tickets to myself.  Anything that stays "jotted" for more than a couple weeks is in danger of neglect ... so a ticket means I think it's important enough that it should get done.

Then, I sweep through and re-prioritize all my tickets to reflect the current state of customer-panic and looming deadlines.  And finally I take my current ticket list and make sure that there's a reference to each task on my big whiteboard to-do list.

If you're keeping count, that's actually two lists with a lot of overlap, between the whiteboard and the ticket queue.  It seems like duplicated work, but it's necessary for my workflow.  You see, when I "wanna" do some new task, I tend to look at the whiteboard to see what jumps out.  But when I "hafta" do things, I look at the ticket queue and the top priority gets worked on next.

You always hear productivity people say "make a list" but I don't think I've ever heard one say "make two overlapping lists."  Odd.

Tuesday, October 6, 2009

Personal Branding

Magically, our netapp sales rep managed to perfectly match her outfit to her Starbucks beverage. Look closely to see her bracelet, which is the same color as the green straw in the drink. Now *that's* personal identification with a brand.

Monday, October 5, 2009

Semantic MediaWiki

Like so many places, our company wiki has pages describing the owner/admin of various systems and databases and filer mounts and whatnot.  But try to get a list of all the systems that someone admins, and you have to wade through all the (often unrelated and unmaintained) pages that a MediaWiki search returns.  And that's just one f'r'instance.

So I'm more than a little interested in Semantic MediaWiki extensions.  Skeptical, but interested.  And skeptical.  But interested.

The dream I'm shooting for is a wiki markup language that lets me do simple key-value lookups (and write updates, in version 2) on a federated data source.  For instance, why do I have to keep updating the "volume sizes" column on a page about storage, when an SNMP oid can tell me what the size is right this second?

If the computer is so darned smart, why can't it tell me who currently admins a particular system?  It's right there in puppet!  You go look it up -- I'll show you how.