Sunday, March 26, 2023

A Stadium Full Of Ancestors

You are sitting in the centre field-level front-row seat of a large football stadium. On your right is your mom, and beside her, your grandfather. You know them well, you say hi. But beside him is his mom, and her father, and his father, and his mother, and her mother, and her mother, and her father, and his father, and on, and on, and on - an uninterrupted line of your ancestors snaking their way all around first row, then the second row, then the third row, and on and on until they fill the entire stadium. 

You don't know these people, but at first they look very familiar, except they wear funny clothes. They're obviously conscious and intelligent and deserving of legal personhood just like you. But you look a few rows up and they start to look off, kinda weird. Whether Neanderthal or Denisovan, they're not quite like you any more. The further up you look, the less humanlike they look, until you look at the top row and see your great^100,000-grandmother Lucy. She's bipedal, but not human anymore. If you saw her in a zoo rather than at the top of the stadium, you would never think that she is conscious, or deserves the same legal rights as you.

So where in this stadium did intelligence and consciousness arise? Is there a single ancestor you could plausibly point to and say, "This person deserves legal personhood, she's conscious, but her mom, no she is not a person". It's impossible, the boundaries of intelligence are too fuzzy. The best you can do is point to some rather large group and say that somewhere in there, the rate of change added up enough to make some kind of difference.

As we wonder whether an AI is "alive", when they will become conscious or intelligent enough to deserve legal protection, it's useful to remember that the answer will probably be at least as hard. A definitive answer may well be impossible, it will be fuzzy and we'll reach broad consensus slowly.

Monday, September 28, 2015

How Cheap Can Autonomous Cars Get?

Autonomous cars are coming and everybody thinks they'll be a pretty big deal, but it's impossible to predict what their impact would be exactly. Today they are billed simultaneously as the saviour of our congested, car-dependent cities, and a job-killing, life-destroying tool of the global technocapitalist class.

To help us think about their impact, let's consider how cheap self driving cars could be. We'll use the simple metric of money per kilometre and make the following assumptions:

  • The year is 2039 and full Autonomous Cars (ACs) have been shipping for over a decade.
  • All new ACs are electric, with an efficiency of MPGe (5km/kWh).
  • The autonomous drive systems have been around for a while and are commoditized, like ABS or Traction Control systems are today. They add $ to a vehicle.
  • Electricity costs $/kWh
  • Our car costs $, comes with a km range, and the 100kWh battery pack has charge/discharge cycles.
  • Insurance costs $/year and maintenance is $/year. The life of the car is
  • The residual value after end of life is $

Given the above, our battery usable life is:

1000cycles * 500km = 500000km

The running costs of the car are:

5 years * ( + ) + 500000km / 5km/kWh * $5/kWh = $xxxx

So the total cost of this car is:

$xxxx + $ + $ - $ = $

Which gives us a total of:

$ * 100 / km = cents per kilometre.

Feel free to play around with the assumptions. After playing around a bit, we can see that the biggest impact, apart from the price of the car itself, comes from the quality of the battery - a larger battery with a longer life (recharge cycles) is more important than cheap electricity or a marginal improvement in efficiency (milage). This makes sense, as a car with 50 more recharge cycles will give you significantly more milage for the same buck.

Using the default assumptions, we get a price of 14 cents per km if you ride in this non-luxury, mid-size car 100,000km/year. Assuming this car is part of a taxi service and we add some profit, we can expect to pay $2 for 10km, which is quite significant as it is even cheaper than most public transit systems today.

Thursday, February 7, 2013

What Comes After Services? Interpretation

I've been reading the book Regenesis by George M. Church, which provides a great overview of where the biotech industry is heading by an author with ample academic and entrepreneurial experience.

In one section, Church describes the evolution of genetic research over the last several decades - how scientists went from doing everything manually to using machines and how much more productive they became. He ends with:
So in summary, the descent of man (the devolution of research persons) went like this: (1) DIY. (2) Buy parts. (3) Buy kits. (4) Buy machines. (5) Buy services. (6) Buy interpretation. 
This immediately struck me, not only because of its resemblance to the evolution of the computer and many other technologies, but also to a very important aspect of startups: how to make money by offering customers value.

Generally speaking, your profits will be proportional to the value you offer your customers and you'll pull ahead of your competitors by offering more value. At the same time the commoditizing nature of technology means that what's valuable and profitable today will become ordinary and cheap tomorrow. The challenge for startups then is to move up this value chain, disrupt competitors stuck on the lower rungs of the ladder and reap the profits.

Here at Kytephone, we make an app to turn an ordinary Android into a kids phone with parental controls. This lets us give parents peace of mind by offering them a service that lets them locate their child, see who they've been talking to, which apps they've been using etc. While parents certainly appreciate our service, what they really want is someone to tell them specific, important information - did my child get to school safely? Are they being harassed by someone? Are they spending too much time on Facebook? In other words, parents want an interpretation of their child's data to assuage their fears and worries.

Our challenge then is to give parents timely, important information about their children without them having to do anything. And bonus points for not asking for things back, like "Where does your child go to school?" While it is very hard for computers answer such questions, we are surely heading that way. We can see this not only in the Machine Learning boom, but also high-profile effort like Google Now or IBM Watson.

Tuesday, November 27, 2012

The Efficiency Index

I've always loved the idea of indexes - a collection of securities that make it on and off a list based on a well-defined set of rules. As I tried to image what a hypothetical "Drashkov Index" would look like, I quickly realized that all the companies I would put on there had one thing in common - if successful they would make the world a far more efficient place.

I believe that for the foreseeable future (the next two decades at least), the world will not see any form of cheap energy. Consequently, we won't experience anything resembling the cheap-oil fueled growth of the post WWII era. Today Americans make up about 5% of the world's population, yet consume about 25% of its resources. With billions of people striving for a Western standard of living, demand for energy will be insatiable. At the same time, the increasingly obvious effects of climate change will make more people receptive to treating and pricing carbon as the pollutant it is.

If we accept a world of high energy prices, the only way to grow and develop is to make our world a far more efficient place and in a way that is much different from merely optimizing our existing products and processes. To illustrate the difference, consider a few examples:

  • Marc Andreessen famously said that "Software is Eating the World". By its very nature, doing tasks in software is far more efficient than doing them in hardware. Writing an article on a laptop and publishing it online is far more efficient than using a typewriter, the post office and getting it printed on a pile of dead trees.
  • The mechanical parts and motors in electric cars are efficient in a way ICE engines and drive trains can never be. Tesla's Model S - a large, heavy luxury sedan - is considerably more fuel efficient than any econobox on the market today.
  • 3D printing / Additive Manufacturing is inherently a much more efficient way of building objects than the wasteful processes of today's manufacturing, which mostly involves starting with large blocks of matter and getting rid of lots of material.
  • Lab grown and artificial meat requires far less biomass and energy to make a pound of meat protein. While many people choose a vegetarian or vegan lifestyle, the majority of people in the world would like to enjoy the same meat and protein-heavy diet as westerners enjoy today. The only plausible way this will happen is through something as radically new and efficient as lab grown and artificial meat.

I hope that one day we'll see a cheap green-energy fueled economic boom, but for the forceable future, I think we'll be living in a world of expensive energy. The Efficiency Index - a collection of companies whose raison d'ĂȘtre is to make the world more efficient seems like a great investment. So, what companies would you put on the Efficiency Index?

Saturday, February 18, 2012

How To Make the 23" Android MegaPad

A few months ago I published a video showing me using my home-made 23" Android tablet, which got a bit of attention and made people wonder how it was made. A lot people made plausible guesses - that it was a staged video, that it ran android-x86, etc, but few made the right guess so I wanted to publish a how-to so anyone that's interested can make their own.

The core of the MegaPad is the TI PandaBoard - a $200 ARM development board which contains what are essentially the guts of any modern smartphone - a dual-core 1GHz CPU, 1GB RAM, GPU, WiFi and a host of connectors. The great folks at TI provide both Ubuntu and Android releases for the PandaBoard and it's fairly straightfoward to get one of the releases up and running. For the touch input and video output, I went with the Acer T230H, which was made for Windows 7 and uses optical-touch to provide 2 touch points with acceptable performance. This monitor has been discontinued by Acer, so I found it in Kijiji, but as we'll see, you can substitute with another suitable touch monitor.

The bit that makes it all work is this: pandaboard releases are made to work with a keyboard and mouse and will not recognize the Acer touchscreen if you merely plug it in. Luckily, Linux developers have written a touchscreen driver that works with the Acer monitor, so all we have to do is recompile the kernel with the right drivers and voila! We got ourselves a megapad. There a few more details. The touch driver that comes with the Gingerbread pandaboard release supports only one touch point, so in order to get dual-touch working as in the video, we'll have to patch the driver.

There are a number of improvements one could make to the MegaPad. The lagginess you see in the video is due to the fact that Gingerbread was never made to support 1080 at reasonable frame rates, however the folks at Linaro have been busy making an ICS release for the pandaboard, which you can check out here. I suspect ICS will run far smoother than Gingerbread. Moreover, one can use any size touchscreen, as long as linux drivers are available. I went with the T230H simply because it didn't require the big investment larger screens do. Now, without further ado:


  1. First, get a PandaBoard from DigiKey, Mouser or any other retailer. I also recommend a Serial-To-USB connector, since you'll need to use the PandaBoard's serial connection as well as a very fast SD Card.
  2. Get an Acer T230H or any other touch monitor which has working linux drivers.
  3. install minicom or similar serial terminal on your laptop. The pandaboard does not how to boot itself, so you'll need to connect to the serial port and paste some bootargs to tell the bootloader where to find the kernel.
  4. Get everything working with a keyboard and mouse: You can follow the instructions here on how to download and put the binaries onto the sdcard. Essentially, the SDCard will be formatted with 3 partitions: bootfs where you put the boot loader and linux kernel, rootfs where you put Android and data where you can store media files. To boot up the board, put the card in, connect the power and start the serial console. When you see the fastboot countdown on the console, interrupt it by pressing enter so you can get a prompt, then paste in the bootargs found here.
  5. Once you have Android up and running on the pandaboard using a keyboard and mouse, we can recompile the kernel to get our touchscreen working.
  6. Set up your computer and get the tools you'll need to download and compile the kernel by following these instructions. Next, follow the instructions here to download and compile the kernel without any modifications.
  7. Once you have everything set up (and patched, as per the instructions), try compiling the kernel and loading Android on the Pandaboard with it. The compilation, which should take 10 mins or less, will produce a file called "uImage", which is the entire linux kernel. Take that file and copy it into the bootfs partition on your sdcard and start the pandaboard as before.
  8. If everything is working fine and you can compile and load your own kernel, we're ready for the modifications to get the touchscreen working
  9. In your kernel dir, go to arch/arm/configs/panda_defconfig and search for "#CONFIG_HID_QUANTA is not set", which should be commented out. Change the line to "CONFIG_HID_QUANTA=y".
  10. Recompile the kernel, load it on the SD card and connect the USB touch port from the touchscreen into the pandaboard and disconnect the keyboard and mouse. Once the boot is complete you should have a fully operable, albeit single-touch, megapad!
  11. To get dual-touch working, patch the quanta driver using this patch. You can find the driver under drivers/hid/hid-quanta.c. Once again, recompile and reload. You should now have dual-touch fully working.
  • The pandaboard may appear slow, which may be due to Android's inability to write to the /data directory. Put the SDCard in your computer, go to the rootfs (Android) partition and do "chmod -R 777 /data". I found that this made performance on my pandaboard acceptable.
  • The pandaboard needs a weird 5V @ 20A power supply and most 5V supplies won't work. I suggest merely plugging in the miniUSB port into your computer and power it the way you would recharge any phone or tablet.
  • Getting adb working is much the same as any other device. Add the following (SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d102", MODE="0666") to your udev rules, restart udev and adb and you're good to go

If you have any questions and comments, you can check me out on Google+ here:

Happy Hacking

Wednesday, September 21, 2011

Android MegaPad - 23" Android Tablet for $600

I'd like to introduce to you a project I've been hacking on for the last few weeks - a prototype of a product I think will become a mainstream computing device in the next few years. As we all know, Apple brought touch computing to the mainstream in 2007 and showed us its potential. In 2010, they introduced the iPad and showed us that different screen sizes open up new possibilities but also demand different apps.

The Android MegaPad is then the next logical step - a modern touch-based computing device with with a screen size that will enable a whole different set of experiences. Unlike tablets, devices like this will make simultaneous use by two users a practicality and will let users more fully immerse themselves in apps and games. In the demo video below, you can see two apps that, while written for phones and tablets, nevertheless demonstrate the usefulness of such a device.

What makes this rather unique is that it was build using off-the-shelf components in my kitchen for less than $600, though it is not portable. On top of this commodity hardware, Android was used because its openness and flexibility make it the only modern touch-based OS that is able to be adapted for uses beyond what's currently available in the market. Stay tuned for technical details.

How To Save RIM

Last week was brutal for RIM . After announcing dismal quarterly results - profit down nearly 60%, revenues down 10% and PlayBook sales less than half of what was expected - the markets decided to punish them with a 20% drop in stock price.

RIM is going through a tough time right now. Like many other tech companies (for example, Apple in the 90s), years of neglect and complacency have led the technical foundations of the company to stagnate, ultimately affecting their ability to put out great products. Fortunately, it is still too early to write RIM off completely. Despite their troubles, they are still profitable, they have recognized their weaknesses and have acquired QNX and TAT to try and address them and perhaps most importantly, they command huge mind- and market share amongst young people. Should they be successful through this transition, they'll be one of the few companies competing in the mobile computing and communications market - a market which is likely to encompass nearly every person on the planet by the end of this decade.

One weakness they have not addressed however, is the lack of leadership at the top. Although it's understandable that RIM (like nearly everyone else) was caught off-guard by the iPhone's introduction in 2007, their inability to correctly asses the threat and create a competitive product over the last 4 years isn't. What they need then is someone with a wealth of experience in the consumer market and a keen eye for both hardware and software design - Jon Rubinstein.

Jon Rubinstein has one of the most impressive resumes in the tech world. After working with Steve Jobs at NeXT building their workstations, he was asked by Jobs to join him at Apple in 1997 and take over hardware engineering. Under Jobs' direction, Rubinstein was tasked with creating the iPod, which he did on an extremely tight schedule. After 10 years of numerous successes at Apple, Rubinstein left to become CEO of Palm.

In 2007, Palm was bleeding money, market share and talent and everyone expected them to go into bankruptcy soon. Nevertheless, Rubinstein managed to introduce the new Pre and WebOS - one of the most innovative and well-designed operating systems out there. Despite lacking the scale to become a major player, WebOS heavily influenced both Android Honeycomb and the PlayBook's OS.

I can't imagine Jon doing very well these days though. After HP acquired Palm with the intent of becoming a major player in the consumer space, a scandal and a change of CEOs led to a radical change of direction towards HP being an enterprise cloud provider with no interest in the consumer market. The cancellation of the TouchPad, Pre and the uncertain future of webOS imply that Jon has little, if any, future with HP.

This then, is a match made in heaven - RIM's still-solid position combined with Rubinstein's wealth of experience will increase RIM's chances of making through this transition and remaining a major player.  How likely is this to happen? Given the entrenched positions of both RIM CEOs, I think things will have to get much worse before major shareholders try and replace them. A shame then, given the current possibilities.