There is so much to experience, and the Information Superhighway has brought it all right into our eyeballs.  Why leave your seat?  Why go out?  You can be amazed, touched, thrilled, angered, and so much more.  It’s like TV, but .. more. MORE! I can’t wait for VR food!  It’ll be like that scene in Brazil, but even better, cause it will be virtual!
Yeah I sound old.  I jest, but well I suppose I am, considering I was born BEFORE ubiquitous internet changed our world.  What must THAT have been like, oh elder netizen?  We had modems and Usenet and Gopher and BBS’s and..  well we listened to music, just like you do today, although it didn’t have as much video.  MTV had this and that, but it didn’t have this:
or this
but it might have had a wee bit of something like this
but nowhere as awesome.
Enjoy the videos.
(This was moved/copied from http://alienoverlord.com/mvl)
I should say from the start that this post is NOT about Star Wars. Sorry.
This is a new blog mini-site for a new direction. After years of working for Apple, I’m back to working on my own — at least for now. Part of that means not really working at all, since I had been doing too much work and not taking enough time for myself and my family. I want to let life find a natural flow again, and let that inform my path. I *am* working on some iphone and ipad apps, albeit slowly… ;-) Sometimes it’s hard to get excited about it, when you’ve seen the ugly underbelly… but Alienoverlord has long been a seed idea, and I’d like to do some interesting things with it.
I am doing other things as well.. lots of reading for one. I joined a dojo and started doing martial arts again, something I’ve always enjoyed but rarely found the time for between commuting and long work schedules. I’m playing more music — for a while I was playing in a celtic pub band, but the other members decided to give it up for now. I’m working on some Bach pieces — on the mandolin. I’m sleeping more, and have fallen into “musician’s hours†again (wake up around noon, or later, sleep around 3AM, or later).
I would like to do more coding. Since I was laid off, I took a bit of a break from it so as to decompress. But I’m thinking I’d like to get involved in an open-source project. I’ve been doing development on the mac for the last 10 years or more, so that’s my main skill area, although I’m open to other platforms. I like Python as well. Anyone has any suggestions or interesting projects (or if you have interesting employment opportunities in the California Central Coast area), let me know. Bye.
I have not written anything in a while. Â Too busy I suppose.
In those two sentences are encoded all sorts of information. Â We as humans understand each other through words, through sounds, through our own experiences, shared or otherwise. Â So much information is encoded in our various forms of communication — it’s actually an incredible form of compression (probably lossy!) Â A picture is worth a thousand words, but words can represent pictures, smells, feelings, etc. too.
As a programmer, I deal with encoding all the time.  Some forms are implicit — such as a UI element that initiates an action.  The user knows  (if I’ve done my job well) that clicking a button called “Start” will do something in the context of the application.  Other forms are more explicit — such as using bit fields in a struct to encode info about a network request.  But there are layers and layers of encoding going on — it’s one of the fundamental features of how computers work, and indeed how we work as humans.
This came up yesterday as my son (he’s 6) and I were taking apart an old mouse. Â He’s been watching Make TV video podcasts lately, as he’s fascinated by how things work. Â In one recent video, someone takes apart a mouse to get at the “rotary encoder” in the scroll wheel mechanism. Â We found an old IBM mouse from @1990 that has the roller ball inside (as opposed to the newer laser mice). Â The way these worked was pretty cool — there’s an LED facing a photosensor with a small wheel in between the two. The wheel contains a series of small slits around the circumference, and this is turned when the ball rolls. Â This lets the light go through at intervals as the ball rolls. Â There are two of these, one for the Y axis, one for the Y. Â Here, let me encode this in a link, which should take you to a picture of what I’m babbling about:
http://en.wikipedia.org/wiki/File:Basic-Rotary.jpg
So we were trying to figure this out and if we could use it for something else, and I used the word “decode”, which prompted him to ask “what is a decoder?”. Â Â So we talked about morse code, and how letters encode sounds, and morse code encodes letters, and so on. Something like this:
Say I wanted to send a secret message to someone, and only we knew Morse Code (ha!). Â I might wish to say:
“Hello”
Which translated into Morse Code would be:
. . . . Â . Â . _ . . Â . _ . . Â _ _ _
These dots and dashes are then encoded in sounds — short blips for dots, longer beeps for dashes. Specific amounts of space/silence to indicate letter and word boundaries.
The receiver of this encoded message would want to decode it, resulting in the message “Hello”. He’d know the code which would obviously enable him to do so.
However, what if “Hello” was code for “Begin the revolution”? Â More encoding. Â And on and on it goes.
This probably gets a little tedious, but it did get me thinking about machines and the human system. Â Take for example music. Â As a musician, I suppose I’m able to encode feelings and ideas into a musical form (if I’m doing it well, that is). Â Some ideas are probably easier to encode — such as anger or sillyness. Â Others are more complicated.
So back to work… I’ve been working on a framework for easily transmitting data (generally images, video or sound files) and metadata about those media.  Something that hides all the tricky stuff.  The previously mentioned bitfields are part of a message header that users of this framework can use to specify what kind of message is being sent, request, reply, error, etc.  Encoding this in a bit field makes it small, so the header can be transmitted quickly over potentially slow wireless networks.  Basic stuff really.  Another part of this is authentication and security.  Security and encryption gets at the very soul of encoding (or at least it’s evil conscience!) — it gets quite complicated.  A message contains a header and optionally a payload (e.g. it’s data).  That payload may have metadata as well as some media, which in turn may be compressed or not, and so on.  Then there’s the structure of the framework itself — there are classes for a ‘server object’ and a ‘client object’, a ‘message’ and a ‘message hub’.  Part of the point of object-oriented programming is to encapsulate functionality into an object so that as humans we can deal with the inherent complexity in easier to grok pieces (objects).  Without all this encoding, it would be a big mess.
Conclusion? Â Errr… uh… I guess we’re complicated entities in a complicated system and capable of great beauty or great ugliness, or infinite variations thereof?
I guess that’s enough for now.
Tonight just after 8pm there was a 5.6 earthquake, and it occured while I was driving home.  On a very high, very long, curvy freeway cloverleaf type junction ramp, going from I-280 to Hwy 101 in South SanJose, going south.  Right here.