November 04, 2009

litl: there's a server component too

It's been quite a while since my last post, mostly due to all the work being put into litl's first product launch. We has come a long way and the team has definitely put together something special. As with most hardware product launches, people want to about the technical details of the software. They can range from architectural decisions at the start to interesting problems we've attempted to tackle along the way. The litl webbook has been given a lot of attention from it's unique hardware design and formfactor, but the software's use of the cloud has even larger implications. The litl's use of online photo services introduced a number of problems and challenges that I'd like to talk about.
designing for new photo services:
We needed to design our software to support multiple photo services. The litl currently tracks all of your photos stored in flickr and Shutterfly, but this is far from a complete list. Not requiring a client software update for every new service was key. Whenever a photo query is needed, send it off and let GAE do all the heavy lifting. The async nature of taskqueues allowed us to chop up and perform pretty large requests rather sanely. Having well-behaved OAuth and REST APIs made a huge difference.



the media wall:
Looking for that picture from last Thanksgiving? You don't need to remember which album it was filed in, or if you used this program or that photo service. Not only does the litl webbook display your photos stored in online services, it even aggregates all of them into a single timeline view, regardless of account.
Got new baby pictures that you want to send to your family and friends? Share a photo channel with them once, and have all subsequent uploads be included as well. Since the photos are already on the cloud, it's even easier to share. The huge amount of information required and tasks related to performing these searches forced us to change the way approached this problem several times.

This has been a very thought-provoking and challenging road. But one great thing about attempting to do something exciting and different is that the number of opportunities to learn and grow. It seems like this shift in focus to leveraging existing web services to handle and share our information with our friends and family instead of building larger machines to store everything locally is uncovering new types of problems to solve every day. Let's get cracking!

September 22, 2009

one big continuous clap

when you go to a u2 concert, and bono tries to get everyone to clap in unison, you end up thinking about acoustic properties of the stadium and sound deterioration as a function of distance and volume, right?

premise:
they begin to play "bloody sunday" and bono makes the whole "everyone clap like me" motions. as usual, most fans aren't really that coordinated, coupled with the confusion of seeing him clap at one rate, hearing him clap at another interval, and everyone else around you smelling like beer, it takes quite a bit of time for the group to settle into a groove.
while the relative chaos ensues, i begin to wonder if i can, similar to focusing on someone speak whispering sweet nothings at a loud bar, tune everything else out and zero-in on clapping patterns that aren't made intentionally. with enough tries, i can hear even subdivisions, but not much else.
by the time i try to hear triplets the clapping is now reaching me more or less in unison, with a little fuzziness before and after when i perceive the clap to occur, sort of like
f(x) = | sin(x) |

then i noticed that as my neighbors clapped louder my task became much much harder, which made me switch my alter my train of thought (and this is all during the intro of the song mind you, because rachel gave me a, "please tell me you've heard of this song your face looks so lost" kind of look)

i began wondering given the appropriate acoustics, how many people would you need to arrange so that if they all clapped once at the same time (perhaps on a global countdown or coordinated via electric shock or something) that i would be able to hear continuous, same-volume sound for n seconds.

things to think about:
  • what kind of volume deterioration are you going to get out of the clap or sound? ie what kind of rate do sounds lose volume as they travel in the air?
  • this is probably impacted by altitude (let's to go denver! think john elway vortex football)
  • how loud are the people in the back going to need to be, how soft are the people right next to me going to be?
  • do i need to pack people in to try to get a close to continuous function of clapping? or can i just sparsely arrange people?
  • does the formation of the clappers matter? straight line (doppler effect) or should they spiral out away from me?
  • will i need to account for sound waves interfering with each other?
  • should i be using a different sound like an "aaah" or "beeep" or an explosion?
  • am i going to need to have problems achieving the volume necessary at larger distances?
  • how do we convince that many people to participate in this study/event?

[edit: people at work began to tear this train of thought down claiming
  • the clap is too noisy to really be that good of a sample sound to try and repeat
  • you wouldn't really be able to get much continuous sound at gillette stadium (roughly only 1/5s given sufficiently loud clapping at the far ends)]
  • you'd need another U2 concert to test out my theory
further thoughts for achieving 1s of continuous sound:
  • you can obviously do the calculation using the speed of sound to determine that you'd need someone roughly 1100ft away. so that's a problem already
  • to be sufficiently loud that you're the same volume at 3 football fields away as the person standing next to me is going to be pretty tough
  • directional vs non-directional sound and volume over distance?
  • i think U2 won't do another concert here for a while

August 17, 2009

is anything really possible?

so my club ultimate team just won our leagues end of season tournament, and there was a recurring theme in our huddles/prep-talks and such: this whole concept of "giving 110%"

now my inner geek compelled me to incite some friendly discussion, constantly stating that 110% is impossible, which normally got the response, "anything's possiblllleee!"

orly?

it seems like there are really a few ways that you can achieve the fabled 110%
  • there being a competition in which you give N% and your competitor is at (N-110)% so that your relative effort is 110%
  • have your reference point be fairly conservative, like running 110% faster than mikey or being 110% uglier than your mom.
  • being kevin garnett
  • slacking off during the calibration phase of your experiment so "100%" is easy to achieve.
  • pretty much as long as you frame your phrase with enough qualifiers that give people a frame of reference w/which to measure percentage, you should be good.
  • however the 110% absolute percent is still not possible.
another interpretation (it's all in the semantics) is possibly just giving someone 110% of the desired amount
  • think about gratuity at a restaurant
  • too much attention (stalker, much?)

July 27, 2009

no, there wasn't a "mr inner geek moment"

for some reason in that epic car ride back from wildwood the dvorak keyboard came up.
rein's deli ->
rachel's grandmother being an amazing jewish baker ->
her also being a typist in a typing farm back in her day ->
typing words per minute ->
is that even possible with old typewriters ->
QWERTY vs DVORAK.
this whole trace led me to think about a quote from arunas, one of the instructors at the YSP. if you were to look back far enough, the young scholar's program at uofc was one of the most influential forces in my life. in terms of a) nurturing my inner geek, b) introducing me to ultimate frisbee, c) made me decide to go to chicago for undergrad. and honestly most of my IGMs are a reference or anecdote to my time there.

one summer in 9-10, arunas is talking about the chinese remainder theorem and deadpan-ly credits it to "mr chinese remainder." it's really subtle and only a few people actually pick up on the joke. he's poking fun at how lots of theorems in math are just named after the person who discovered it (or made the conclusion famous.) think about people like fermat's last theorem, euler's theorem, stuff like that.

either way, when QWERTY and DVORAK came up, people wondered if maybe the dvorak keyboard was named because the top six letters were actually d-v-o-r-a-k or not. i was convinced that it was in fact mr dvorak.

to go a step further than one would normally in their right mind, i am starting to wonder how many other things that are now common place items are actually just the name of the person that invented or popularized them.
i'm having trouble finding others, but imagine if there was a "mr douchebag" that actually caused the term, or if bacon was because of mr bacon!

so how do you correctly boil an IGM?

spent the weekend on the jersey shore playing ultimate. had a great time at the tournament, very laid back, great weather, close to the ocean. not much more you could ask for, except a shorter drive maybe. although the drive was great, highlighted with us throwing a donut into another car at ~65mph. on our drive home (which takes ~7hours or so + stops) i remembered a whole section from the 'scientific visualization' class i took at chicago.

an ancient proverb or something asks the question "what is the correct way to boil a frog," knowing that if you put the frog into already boiling water, it would just jump out. barring clever usage of a lid or something, you want to put the frog into luke warm water, and then proceed to boil the water. the thinking is that the rate of change of the water's temperature is low enough that the frog doesn't notice that it's in a pot of boiling water. presto!

that assertion is the basis of this IGM. it had to do with rate of change thresholds of our senses at which they register as a noticeable change. this thought process was triggered by driving from the mid-afternoon, through dusk and into night. anyone else that has done that also probably experiences this phenomena when it 'feels' like it's still pretty light outside and then it's quickly night time and you wonder how the hell that happened.

a quick googling has failed to give me the actual numbers, but i remember some hand-waved number that our mind doesn't really register a change in light brightness that are < 10% over some period of time. your eyes detect the change, that's not the problem, but your mind doesn't go 'oh man where the hell did all the brightness go!' what that happens. instead that happens when you finally ~reset your mental light brightness gauge and then look back at the sky.

anyone know of any other similar sensory/non-sensory rate of change threshold type of scenarios? the other one that i recalled was in the IGM laden movie Sneakers. the motion detector ignored anything that moved slower than like 2in/s or something ridiculous like that. temperature is also an obvious one, if anyone has taken a bath and the water suddenly becomes really cold, not noticing that it has been cooling off the whole time.

a possible opposite is "what things have slow enough sampling rates that you can sneak in a whole bunch of change and not fire quickly enough to save you?" i'm thinking about someone that stuffs themselves really quickly with food before their belly hits the stretch/fullness threshold and tells them that they should stop eating.

July 08, 2009

drafting a draft about drafting

so i have been watching a lot of tour de france, and the thing that really amazes me is the reported 30% energy savings for a rider that is drafting. i totally can understand the physics behind this. i remember the vortex/drafting concept from my animal locomotion class at chicago. what i begin to wonder, is what non-sport related activities do people draft in? i guess to find the correct analogy, when do we take advantage of the wake left behind our "competitors?"

other "real world" opportunities to draft:
  • settlers of catan - you always want to be second place, have everyone gang up on the other dude and then slyly steal longest road and win!
  • having pregnant/married siblings or cousins - way to dodge that parental pressure
  • getting through crowded areas - a la Die Hard 3 (w/the ambulance and taxicab) or walking through a state fair or something.
any more?

July 07, 2009

a call for moments

hey there everyone.

i apologize for my lack of moments this past month or so, work and sports have ramped up quite a bit. this has a) reduced the number of environments in which i have the opportunity to have an inner geek moment, b) tired me out so that i have less energy to catalog and write out such moments, c) made me think about whether or not the ambitious goals that i had when originally starting this blog were realistic.

so i think that this might be an appropriate juncture to ask anyone else that feels like they have inner geek moments. i know people (hey julia!) started to allude to IGMs in other fields/topics/genres as well as being interested in contributing/sharing your own ideas here.

let me know if you are interested and i can set you up as an author on the blog, or just send me the text via email/carrier pidgeon (only those two methods of delivery accepted!) and i'll put it up!