Google Glass and Super Humans

I am disappointed by the news of Google Glass‘ demise. While trying Glass only briefly, the future it promised intrigued me. It’s the future of super humans.

I’ve read many comments and opinions on why it didn’t work out. Most commentators blame Glass for being too socially problematic and offering too little value for everyday use. And then it has hit me. What some people see as unacceptable is the future I hoped for.

I had hoped for automatic facial recognition of everyone I meet. With Glass offering their bio, information on common connections and interests without even needing to ask. Possibly looking up our last conversation. And suggesting interesting topics for discussion. I have a bad memory for faces and even worse for the stories behind the faces. Glass could fix that.

Benjamin Franklin Wearing a Fur Hat and Glasses by Charles-Nicolas Cochin II

I had hoped for an ability to file my conversations after they happen, into my personal archive. Imagine seeing something amazing or participating in an important event and only minutes later realizing it’s worth preserving. “Glass save the last 10 minutes of what I’ve just seen”.

Could such functions create unexpected social challenges? Absolutely. Would they deeply change they way we behave? Probably. For sure there would be many problematic uses – which every technology has.  But eventually we’d create new social norms and behavior patterns – similar to how we weaved mobile phones and into the fabric of our daily life.

You can also look at these technologies as a perfect peer-to-peer panopticon. But total surveillance is already here. Everything mentioned above is routinely done today by a few privileged organizations. Big corporations mine our data on one side and government surveillance agencies record our every word and follow our every step. Glass would just restore some balance by giving such capabilities to ordinary people.

You could look at these technologies as giving super-human powers to everyone. We have already become super humans many times. Ubiquitous connectedness and search engines give us access to the most of human knowledge at any given time from almost any given point of this blue sphere. To someone from a century ago this would qualify us as super humans.

So, what super powers will humans a century hence posses?

Related articles

Taking risks: Going with Go!

At Zemanta we recently embarked upon rebuilding an important part of our infrastructure. Our old real-time bidder became too cumbersome to support. It was based on a codebase that had a very different initial purpose.

Real time bidder is a system that in a very short time (sub 100ms) responds to requests for bids. For a user looking at a certain page it decides if there is an appropriate content ad in Zemanta’s system and how much to bid for the possible impression. How bidder takes the decisions gets really complicated really fast, but that’s a story for some other post.

Since we were starting fresh we could objectively look at main technical requirements: low latencies, high throughput, reliable, fast to develop, easy to deploy.

Mostly due to high throughput requirements bidders have been historically written in C++. Close enough to the bare metal and still allowing for some high level language niceties. Quickly we decided that we want something where we won’t be spending most of our time in debugger fixing buffer overruns and race conditions. Coming from Python background it seems C++ would slow us down unreasonably, even when using framework libraries such as OpenRTB Kit.

A Scene at an Oxford Book Auction by William Green Junior

Next on was Java and other JVM based languages such as Scala. This would be a safe path. You can’t go wrong with Java, right? But it would bring into our development environment the whole Java stack which until now we were mostly able to avoid. Engineering team felt that Java or Scala could do the job fine, but there was a certain lack of enthusiasm for it.

And then there was Go, a young language that Google released only 5 years ago. Go is still not mature, but it is gaining traction in specific niches. It’s not a system language (like C). It’s an application language that puts lots of emphasis on concurrency, code safety, programmer friendliness and at the same time stays close enough to the metal that you can optimize when needed. Pointers, but no pointer arithmetic. Multithreaded, but default constructs are channels (queues) and coroutines, not mutexes. Interfaces, but no classes or operator overloading. Strict static typing, but having advanced type discovery. And Go is opinionated, which is a trait that I liked in Python (until 3.0 that is :). Go’s compiler even has code re-styling included.

In the final engineering meeting on the topic an important non-technical, non-business question got asked: Which choice would get us excited as engineers? As Tomaž had succinctly put it “If I were starting a new start-up I’d use Go“. And so we went with it.

If Go isn’t completely and utterly wrong for the task, then the fact that it excites engineers will make a much bigger difference than hiccups we’ll surely encounter due to its youth. Technological decisions always have to factor in the human element. The only condition I’ve put in was that the new language is the only new thing we introduce in the first stage of development. Changing the main database at the same time would be a bit too much even for me.

How did it work out in the end? Ask us in a year or two.

Oh and we established a Go Lang meet-up in Ljubljana.

A story of a red piglet and Slovenian endings

I wanted to see if there’s any Slovenian language content available for Kindle. I am happy to buy and read a few such books just to support the authors in their transition to the digital world.

The first item I’ve found was children’s book “Story of a red piglet“. The marketing was right – the piggy longs for freedom and runs away into the woods, there adventure happens. Maybe a book about growing up? Illustrated story for 6.49$ sounded like a good deal.


A Berkshire Pig by William Shiels

Story nicely builds up the tension. After running away from the farm, the situation for the piglet is more and more dire – he is hurt and starving. When it looks like all has been lost, he discovers the power within and he uses tools he got during all the hardship to defeat the wolf-villain. The piglet becomes a hero that all animals admire.

Now the author faces a problem. What does the piggy do after he becomes the hero of the woods? Does he go to fight injustice in different woods? Takes off into sunset? Meets miss piggy and starts a family? Or maybe leisurely lives ever after as the protector of the woods?

No. Unfortunately the author takes a page out of Martin Krpan.

At the top of the world our hero piggy decides he is home sick and that he needs his old master. He returns to his old pig stables and doesn’t even tell his heroic story to his brothers. Because they wouldn’t believe him anyway.


Enhanced by Zemanta

Books were a business!

I went for an engineering degree, so my education in humanities and liberal arts stopped at the end of high school – and I managed to skip many mandatory readings even then.


Last Judgment Triptych (detail) by Hieronymus Bosch

Still getting older brings new perspectives on things. After recently reading Crime and punishment I realized that I’ve been deceived in my education.

When we’ve studied novels in high school we did lots of analysis of what the author was saying, how, how it has fit into time and place of writing, etc.

But I hadn’t been told at the time that novels were also a business. That they were not (only) read as works of high art, but as cultural works made for (mass) consumption. That (most) novels didn’t only seek to put author’s ideas forward, but also to please the audience and find a market.

Looking back, I think that my understanding of the literary works studied could have been better if we have also looked at the number of copies sold compared to their contemporaries, studied initial critical reception and discussed their marketing campaigns.

Related articles

Enhanced by Zemanta

AppEngine and Django

I did my first Google AppEngine app this past weekend.

I wanted to see if AppEngine is something we could use at Zemanta. We’re developing primarily in Python and Django, so I am interested in running those on SaaS and PaaS platforms. I succeeded, but it was an underwhelming experience.

The largest problem is stale documentation. Over time there have been at least three different ways of running Django. Disparate parts of documentation are not clear about which approach they are referring to. Some docs haven’t been updated since 2010.

DACS; (c) DACS; Supplied by The Public Catalogue Foundation

La guitare by Marie Laurencin

You can have Django-without-ORM, Django-nonrel or Django-with-CloudSQL. I first wanted to use Django-nonrel, but I couldn’t get it working. I couldn’t even figure out if it is still maintained as the docs point to a dead blog from 2011. With a lot of help from StackOverflow I got Django-with-CloudSQL working.

The second problem was local vs. cloud environment. While Google provides SDK with all the libraries, it is just an emulation and often it happens that SDK doesn’t match the real thing. Again documentation isn’t always accurate either.

The third problem is that Google is trying to prevent certain types of usage. AppEngine mangles User Agent strings of all outgoing requests – maybe they are trying to prevent people from writing proper crawlers? Kind of ironic considering Google’s roots.

There are also some things done extremely well – for example request log is very helpful for debugging. Naturally scalability should be one of the strongest points, but I didn’t have time to test that.

All in all, I think Django isn’t getting much love from AppEngine’s engineers. Even just putting some technical writers on the task would be a big step forward.

Enhanced by Zemanta

What’s in a name? Silicon Gardens

When we announced Silicon Gardens Fund journalists asked many clever questions.  But no one asked about the name.

Slovenians have a pastime of “small-scale gardening” (vrtičkanje). As far as I know it developed as a practice of partial self-subsistence in communistic times.

Miss Jekyll's Gardening Boots by Sir William Nicholson

Miss Jekyll’s Gardening Boots by Sir William Nicholson

One of the senses of the word “vrtičkanje” is also pejorative. It means people inside an already small piece of land put up fences between themselves and each one cultivates their garden independently. Everyone is left alone by others and grows their own thing in peace and isolation. So the result is that no one joins forces together and big things can’t get accomplished.

Pattern of such behavior is unfortunately too frequent. Organizations and people who should be cooperating are fighting each other over minute differences. Or they don’t even know about the existence of each other. In a country of two million people I am not sure which is worse.

So how do we get rid of this behavior? I believe words are important. They shape our thoughts. So it can’t hurt if along with helping start-ups we also subvert a word or two. Hopefully we can fill the word ‘vrtičkanje’ with a new meaning.

Enhanced by Zemanta

Editing is everything, editing is hell

A list of facts and thoughts that got edited out of the yesterday’s post about Martin Krpan:

Black and White Scissors with Green

Black and White Scissors with Green

  • that Slovenia was part of the Habsburg empire and that is why Krpan defended it
  • that Martin Krpan was a smuggler of a specific type of salt – English salt
  • that there existed a theory that “English salt” could have meant saltpeter, but it got refuted
  • that martin Krpan’s “bat-mobile” is a seemingly weak mare which is in reality extremely strong
  • that post-heroic withdrawal is also a trait of another Slovenian superhero Peter Klepec
  • that Martin Krpan was probably modeled on Peter Klepec
  • that Miha Mazzini wrote about Krpan, Klepec and Kralj Matjaž, pointing out their preference for inaction. And that he also finds the same pattern in Slovenian script writers
  • that full Slovenian version of Martin Krpan text is available at WikiSource
  • that I couldn’t find a translated English version
  • that you can read more about Martin Krpan here and here

The flow of the final post would be much worse if all of the above stayed in. During my time working for television I got drilled in removing everything that isn’t the core of the message. But it is still always painful to cut things. Similar attitude is needed with software products, but that’s a story for some other post.


Enhanced by Zemanta