Archive
Ask not for whom the app logs-in, it logs-in as thee …
With this installment’s title I must extend apologies to John Donne, though had he lived today I’m sure the great metaphysical poet would have been concerned with more inevitable eventualities than death … like the inevitable need to go online and once there, to login to something.
Logging in and getting a personalized experience with our apps is a universal expectation, not to mention in lots of cases a logical requirement. Back in the day we’d blithely enter our email address yet again, and use the same ‘ol password, just to register with a site we’ll probably use only 1 time in our lives. Well, those days are gone. Not only are users weary of all these separate logins, I as a developer want to minimize the effort I spend on basic stuff, so I can save it for the specific features of my app. So what I decided to do is use OAuth, the standard that allows sites to cooperate on user-identity. In vastly-condensed summary: OAuth allows different applications to share identity information based on shared keys. When you got to a site and see “Login with Facebook”, and click that, here’s what happens:
- The site formats a link to the identity provide – in this case Facebook – that includes a signature. The signature is a long string of data created by processing some input with a secret key.
- The user’s browser is sent to page hosted by Facebook. Behind the scenes Facebook checks the signature, using its own copy of the secret key. Then it asks you, “App such-and-such wants access t your email address, etc. You good with that?”
- Assuming you click “Yes”, Facebook re-directs back top the original site, including its own signed and encrypted data. because that data was created, once again, with the same secret key, the app can read it and find your user-name, along with whatever other things you may have approved.
That’s the theory. Now in practice I want to have such a “Login with Facebook:” button on my site. To do that I do what most developers do: Google “rails facebook oauth login”. As expected the 1st page of results had 3-4 tutorials on how to do just that.
What’s the next step? if I was at work I’d most likely read through the candidate articles, pick the best one, then write out the requirements and steps in a new document, then do that. At home, well, I can only say I have a more carefree attitude. I started following the steps of one tutorial that was based on Omniauth and React-Rails (more on React later) but decided after a hour or so that was too much UX work than I wanted to do just now. So I stopped that path and started a different route using Devise, a Rails-based framework that is a largely pre-made authentication system.
Then the hackery began. I removed the original routes I had added with the 1st version, then used the Devise utilities to generate new ones. if you’re not familiar with Rails, its ‘generator’ facility is used all the time to create config files, stub files, and much more. For example:
rails generate device:install
will create a complete devise configuration, prompting you for settings along the way. Alas, I couldn’t do that all-in-1 step because of the 1st attempt stuff I had in place, so I set out doing it piecemeal.
In the end it all worked, but the process wasn’t pretty. I did have to spend about an hour trying to resolve an error, where I had only this log text to go on:
F, [6 #8279] FATAL — : [c6e010f3-c1b9-4675-90d6-9bdaeb42c1b5] ArgumentError (wrong number of arguments (given 0, expected 1)):
F, [7 #8279] FATAL — : [c6e010f3-c1b9-4675-90d6-9bdaeb42c1b5] app/models/user.rb:19:in `from_omniauth'[
This was one of those that looks specific to the problem – line 19 in file user.rb is messed up, right? – but actually did not explain anything. I tried different things, to no avail. Finally I brute force rescued the exception and printed the “real” stack trace, which was:
F, [5 #8280] ERROR — : [7120f455-99a1-4427-922c-053742c6194d] wrong number of arguments (given 0, expected 1)
F, [6 #8280] ERROR — : [7120f455-99a1-4427-922c-053742c6194d] /app/vendor/bundle/ruby/2.5.0/gems/devise-4.5.0/lib/devise/models/database_authenticatable.rb:166:in `password_digest’/
So the crash wasn’t in my code, it was in the Devise framework. The problem turned out to be this: I created my original user-model to use a Rails option has_secure_password. This requires a database column and model-attribute password_digest. However the Devise framework adds its *own* method named password_digest that takes 1 argument. The fix: remove has_secure_password and the password_digest column.
So there it is. If you’re of a mind you can Try the FB Login Demo here.
My closing thought … software frameworks, like cars, are things that people build and because of that you’d think we know everything about them. Well, we don’t. The picture below captures this thought:
Next time: SM Geeking takes on user-interface. Systems architect that I am, comedy is guaranteed. Don’t miss it!
Saturday Morning Geeking: And So It Begins
Been quite some time I posted anything here. Anyway I’ve started work on a personal coding project and it occurred to me might be useful / fun / get-something-out-of-my-yearly-Wordpress-subscription to write about how the project progresses. Finally, there’s the (probably vain) hope that starting a thread about the project will induce me to keep working the project. And hope is a fundamental aspect of programming, as anyone who has ever deployed to production can tell you, so here goes …
What is the project about? 2 things: My wife Kim (String-Or-Nothing) is an expert in textile arts like embroidery and knitting. Way, way back in the day I did a site for her, wiseneedle.com, that was a searchable catalog of yarn reviews. The data for that site is long-since sold, but we’ve often chatted about doing another textiles-related project. The second part comes from me recently taking a seminar at Google Cambridge where Google folks presented their latest cloud services and APIs. The machine-learning stuff got me thinking, and looping back to the textile-arts thing, I thought maybe there’s a fun learning opportunity here. So the overall goal of the project is to use Google Cloud and their APIs to make a site for some textile thing, that also uses machine-learning. I know you all thought that was were this was going from the start, right?
What do you need to start such a thing? past few years I’ve been doing a lot of Ruby on Rails, so that’s going to be my main framework. And I said I wanted to use Google Cloud Platform; you get an account with $300 credit and access to bags ‘o APIs. However, while tis all well and good to ordain yours tools and your platform, getting the twain to meet is another matter. Google has lots of ways to deploy and run stuff: App Engine, Kubernetes, and Compute Engine; here’s an overview for using these with Rails.
Scanning through the options, I wasn’t super-enthused by any of them. Well, as most coders will tell you, you Google enough you’ll find an answer. the answer I found is called Nanobox. Billed as “PaaS V2” it struck me as not unlike Heroku, a PaaS I was familiar with from my last job. This tutorial, on using Nanobox to deploy a Rails app to Google Cloud I was able to read in about 3 mins. In my experience that means I could probably complete and verify the actual steps in about 3 hours. Anyway what Nanobox does is it layers on Google Compute Engine (an IaaS service similar to AWS EC2) a deployment model that allows you – or , me – to de isolated from details of what VMs, what storage, what load-balancers, etc. are needed for your app. Well, I am all about isolation, so at about 10:30 I started in …
Long story short – it worked! The only hitch was, while I created a role for Nanobox to use that had all needed Compute Engine permissions (it had to create a lot of stuff on my behalf), I hadn’t enabled the Compute Engine API in my account. It in fact took a little digging to determine that was the root cause of stuff not working. Well, after fixing that Nanobox deployed “all the things” as we say and my Hello world app was running.
Next time … the wonders of Facebook plus OmniAuth. Booyah!
Looking into the Sun
I shared some info on this on Facebook. Last year Kim and I decided we wanted to do solar photovoltaic on our home. We knew we had a nice, south-facing open roof, it seemed big enough, and we all see fairly frequently articles on how cost of solar is dropping, so we took the plunge and started looking at options.
In our town there are many people with solar; I can see 1 such home from my back porch, and SF writer acquaintance of mine Jeff Carver also has a solar system. Asking about online I saw that there were two active solar installers used by people in Arlington, one of which is Sunbug Solar. Anyway I contacted Sunbug, the other outfit, and yet a 3rd, state-wide installer I found online. The other outfit never got back to me, and bachelor #3 seemed technically not very savvy, so I went with Sunbug.
What do I mean by “technically not very savvy”? I’m no expert in solar systems, but I can use Google, and I know that there are different grades of panel with different efficiencies, and that there are different ways of gathering the DC output of the panels and turning it into AC, which is what your house needs. The non-savvy solar people could not answer a single question, they had a set system they were pitching me, take it or leave it. Meanwhile the folks at Sunbug seemed to like talking about this stuff – were excited, even – and that made the decision to go with them very easy.
The system I arrived at with Sunbug has 24 SunPower 327W panels. This means that under ideal conditions the system can deliver 7.85 kW of power. Of course conditions are never perfect, and the sun don’t shine 24 x 7. Here’s what production looks like on a day of typical sun:
Power generation reaches close to peak at about 10 am and stays there 3:30 pm or so, then drops. The highest output I yet have achieved is 7 kW.
Anyway the system makes more electricity than I use – thus my negative electric bill for last 3 months. I may not stay negative all through the summer – in the hot months I run dehumidifiers in my basement and they draw considerable power.
Of course all this is not free. The system, fully installed, cost just under $39,000. But right off the bat you get a Massachusetts rebate of $1,250, and a federal tax credit (not deduction) of 30% of your costs, plus a $1,000 Mass State tax credit. All this put the upfront cost at about $25k. But there’s more! Massachusetts supports SRECs or Solar Renewable Energy Credits. In brief outline, SRECs work this way: Different states want to encourage use of solar. They therefore require utilities to show a proportion of their output comes from solar. Utilities can do the generation on their own and meet the regulatory requirement that way, or they can buy from me the right to put forth my solar generation as credit towards their obligations. SRECs are traded in a market like commodities and their prices will fluctuate based on plain ‘ol supply and demand. Essentially utilities pay me to generate my own electricity by solar.
Bottom-line: Even with the minimum forecast prices for SRECs, my capital costs for the solar system will be recouped in 6 years. For the 24 forecast years of system life after that, it is free electricity, no electric bills, and maybe even a small surplus.
Certainly this won’t be for everyone. 6 years seems like a short time to me but it may be an eternity to you. And as fun as is is to gloat over a $0 electricity bill, you may have other more pressing needs for your money. Finally be aware there’s other ways to get into solar than owning the whole show, like leasing the system.
In the end, panels or no, we all need sunshine, sometime. I’ll leave you with The Soggy Bottom Boys, till next time …
You keep using that word …
And, what is the word? No, not inconceivable – the word I have in mind is strategy.
Working in software products of course I have heard “strategy” in one context or another on a daily basis 20 years of more, and now as a product manager I hear it even more, if such a thing is possible. However what the vast majority of self-styled strategists are really talking about is just features, like “Our strategy is to have web-based something-or-other”, or “Our strategy is to use middleware to achieve this-or-that”. These kinds of statements are not strategy, they are just features or architectures.
What is strategy? Among the things that stuck with me from my time in B-school at Babson was a statement from a professor (a former partner at Bain & Co.) answering that very question. He said:
Strategy is: Where do you play? and How do you win?
“Where you play” is your target segment. If you are not targeting some specific thing, you already don’t have a strategy. Certainly the very biggest players in some industries can address really big and wide markets, but even the obvious examples – like Apple – use some targeting. If asked about the target market for Apple I bet a lot of people would answer, “Everybody”. Not true. Apple targets higher-income consumers, and adapts for sub-markets in that group, like convenience-oriented multi-tasking men age 25-55, or family-oriented women age 20-40 who use technology to stay connected with friends and family. I think segmenting is in fact even more important in the business software world. I often hear vendors – my own employer included – saying things like “We sell to the biggest enterprises” or “We aim at the mid-market”. These are probably true statements but they’re not helpful. All business have specific problems inherent to their place in their market – they need to sell faster, or need to communicate with more customers, or need higher manufacturing efficiency, things of that nature. If the benefit you provide is too generic and doesn’t address a clear problem and pressing problem, then you are a nice-to-have, not a must-have … and, nice-to-haves finish last.
“How do you win?” is a bigger question than most people think. Many people believe winning is solely about better features: my light bulb lasts longer than the competition, my body-spray smells better, my car goes faster, my collaboration is more collaborative, stuff like that. But think – Why are there so many examples of outwardly inferior products dominating their markets? In my own industry I think the most telling example is Microsoft Sharepoint. Now I can’t say Sharepoint is especially inferior; the product has a 12 year history after all and has seen a lot of improvement in its time. But when Sharepoint came out it was not especially innovative and even today is criticized for having lousy administration, being slow and unwieldy, and for promoting “document graveyard” styles of collaboration. For all that, Sharepoint apparently drives $2B of revenue a year for Microsoft. How can something so bad be so successful?
Lots of reasons, actually. A big one is network effects. Lots of people have Windows, lots of people use Windows Server, lots of people develop for Microsoft systems … all of this creates an ecosystem where technology buyers are likely to know about Sharepoint or know someone who knows. From this they get confidence that the Sharepoint bet is a good one.
Next is ease of acquisition. Sharepoint is easy to buy – just an option in your per-user Windows licensing – and easy to deploy – it’s a standard Windows server like all Windows services. This short time to value goes a long way towards easing concerns the customer might have about not getting the ideal solution, from a features perspective.
Finally think about Sharepoint’s feature-gaps – real or imagined – as opportunities and not liabilities. Enabled by the network-effect and Sharepoint’s ease of acquisition/deployment, there is a large after-market of ISVs who offer products and services to augment Sharepoint or address its shortcomings. Microsoft claims over 700,00 developers write for Sharepoint. That number is probably too high, but there’s no question there are 1000s of Sharepoint partner vendors and 100s of solutions for the platform.
Network effects; Ease of acquisition; Developer ecosystem .. almost like they planned this, right?
Anyway my point is not that Sharepoint is some great thing. In fact I see it as just sitting there waiting to get bumped off, the way Wordstar was bumped off by WordPerfect, and WordPerfect was bumped off by Word. The point is, Sharepoint actually has a strategy and features are only one part of it.
Anyway, happy to talk to you about strategy. Just be aware before you come by there’s a 2-question quiz: Where do you play? and How do you win? If you don’t pass the quiz I may send you to this master for remedial training:
Another Opening, Another Show
In my job as a Product Manager I find myself doing a lot more travel than when I was in engineering. Been to three trade shows already this year, IBM’s ConnectED in January, Team Polycom in February, and just this past week, Enterprise Connect. All three were in Orlando, FL. If you don’t know it, in addition to being the promised land for lovers of all-things Disney, Orlando hosts 100s of conferences and trade-shows each year, ranging from the tech-oriented shows that I attend, to shows like Snaxpo, “The world’s largest, most comprehensive trade show devoted exclusively to the international snack food industry”, where you can attends sessions like : The State of Snacking: Finding an Identity in a Rapidly-Changing World; and shows like the International Fly Tackle Dealer Show, “the largest international gathering of fly fishing manufacturers, retailers, sales reps, media and fly fishing organizations in the world”. I’ll leave it to the reader to imagine the result if only these two shows could join forces.
Back to Enterprise Connect. This show is about unified communications in all its forms. In the past the main topics at EC Shows have been the core technology – how do things work – and to some extent, interoperability – for example, how does video from company A talk to video from company B? This year’s show had a distinct collaboration focus, however, with a strong emphasis on solutions that are easy to use, highly mobile, and lead to fast, straight-forward benefits. Taking their cue from “over the top” applications like WhatsApp and #Slack, UC leaders Cisco and Unify introduced their Spark and Circuit offerings respectively – both being team-oriented chat, meeting and content-sharing apps, all with a social flavor. So one of the big takeaways was, it’s not about ‘speeds and feeds” anymore, it’s about putting tools in the hands of users that they control and can use to get work done quickly and easily. For my own product, IBM Sametime, this is a pretty timely message – hopefully we can bring together some of the concepts we’ve been brewing to not only equal these first-movers but to surpass them.
Of course one of the charms – such as they are – of trade shows is swag. Tramping the exhibitor hall you will see stalwarts carrying show-bags loaded down with everything from pens to stress-balls to lightsabers. But the best time to go swag hunting is when the exhibitors’ hall closes down, because everyone want to pack up and ship back as little as possible. Using this strategy my friend and colleague Karl scored some cool loot from Logitech, including a BCC950 Conference Cam:
Tradeshow season is winding down, till things start up again in early Fall. Hopefully by then I’ll have some product news of my own to pitch – assuming of course I can pass up that innovative snack foods-fly fishing tie in …
Winter Streaming
Way back in ‘06 I setup a home DVR based on BeyondTV, a pretty nicely done Windows DVR app. That was long, long ago, but frankly we had no reason to change, so we just kept on time-shifting by doing recordings through a tuner card and our ancient Comcast cable box.
But for all things there is a time and for the old DVR, that time has come. I wanted to do streaming, and I wanted to cut my costs with Comcast, so I set out to build a new rig to replace the old. A few hours on trusty newegg.com and I had the right list of components:
- MSI A78M-E35 Motherboard
- AMD A8-5500 Trinity Quad-Core 3.2GHz FM2 65W Desktop APU with DirectX 11 Graphics
- SILVERSTONE Black Aluminum / Steel ML04B Micro ATX Media Center / HTPC Case
- SILVERSTONE Strider Plus ST50F-P 500W ATX PS
- Scythe SCSK-1100 100mm Shuriken Rev. B 3 Heat Pipes CPU Cooler
- Rosewill RHRC-11002 Windows 7 Certified MCE IR Remote Controller
- Seagate Hybrid Drive ST1000DX001 1TB MLC/8GB 64MB Cache SATA 6.0Gb/s
- ASUS Black Blu-ray Drive SATA Model BC-12B1ST
- SiliconDust HDHR3-CC HDHomeRun PRIME digital tuner
Neat things … first of all these AMD combined CPU/GPU chips seem cool to me, literally and figuratively. No graphics card needed, the CPU has one built in. With 65W power, the whole thing draws little power. The Scythe Shuriken cooler is a low-profile unit, fits just right in the case and is extremely quiet. The Seagate drive … 1 TB and close to SSD speeds, for $80; what’s not to like?
Case and power supply are from Silverstone. I wanted to get a fairly small case to fit in my TV stand and the Silverstone fits that bill. The inside setup is tight, though, so make sure you get a PS as small as the Strider.
The thing that makes it all work is the HDHomeRun PRIME from SiliconDust. It was with some trepidation I took my 2 old Comcast cable boxes and headed for their service center. Expecting an interrogation, instead in 5 mins and with no hassle I had traded in the boxes for a cable card, a way to get authenticated content from your cable provider. Back at home, plugged the HDHomeRun onto my home network, plugged the cable card into the HDHomeRun and, after a few short calls to Comcast activation, voila! I now have 3 – count ‘em, 3! – digital TV tuners on my network.
The DVR app is Windows Media Center, which is a “free” part of Win 7 Ultimate. This of course is what put BeyondTV out of the personal DVR business. Still doing the setup to WMC, like making our recording rules. And while I can watch all our old shows in WMC, the UI for searching through them frankly sucks. One thing that was built in to BeyondTV was compression and commercial-skips. Now with WMC I need an add on like DVRMSToolbox.
Lastly, with this new box I finally have a Blu-ray player. First disk to get: Blade Runner 30th Anniversary Collectors Edition. DVRs: Like any other machine, either a benefit, or a hazard …
2014 in Technology
2014 is nearly gone and while the champagne is chilling (Champagne Aubry this year) I thought I’d look back on the year-that-was, tech-wise …
This story broke in 2013, but has only deepened in 2014 as new documents have been released. We found that the NSA has active efforts in place to hack cell networks worldwide, can read a lot of SSL/TLS traffic, and most recently is able to listen in on any Skype call. President Obama proposed reforms for the NSA, that Snowden assessed as “incomplete”.
The discussion on amnesty for Snowden has already begun. For my part I hope that happens in 2015.
Privacy & Security
One unsettling thing about the Snowden revelations is that we always knew, at some level, that the NSA was doing lots of stuff, but we chose to ignore it. Movies like Enemy of the State and The Simpsons Movie showed NSA capabilities in futuristic and/or tongue in cheek ways, so the actual (and mostly unintended) warnings in these films were easy to dismiss.
In the private sphere we had no such excuses. In August, nude photos of Jennifer Lawrence were published online, together with photos of 24 other celebrities. Apparently this was accomplished with a simple brute force password attack, combined with an Apple “find my phone” bug. Of course we faceless masses have some safety, in that the return – in money or in prestige – in attacking a single one of us is much less than the return in attacking a public figure. But it is only a matter of time before peoples’ online bank accounts and other financial resources get targeted in a systematic way.
If you don’t know by now, your password is not secure. It hardly matters how clever you are in devising multi-word mnemonics, tools like WordHound will crack it. The main method I use for passwords I care about is the Schneier Scheme, by worldwide security alpha-dog Bruce Schneier. Better still are 2-factor authentication systems, like RSA SecurID – if your online financial institution supports them, get it fast as you can.
While it may be that, on the internet no one knows you’re a dog, Gamergate showed us how many of these dog-indeterminate creatures are totally determinant jerks. It all started with some painfully obvious observations about sexism in gaming – I mean we have sexism in politics, in entertainment, and in business, why not in gaming? But, it turns out these sexist gamers have Reddit accounts and they’re not afraid to use them. The backlash against women game developers and culture critics went beyond typical trollish/crude commentary to include threats of violence. Amazingly there are those who contend this was a real debate about ethics in the gaming industry.
I feel this sad episode achieved resonance because it is the application of attack politics to an everyday thing. Even if the US Supreme Court rules that violent threats on Facebook are are criminal offenses, I’m afraid that is just the start of the civility journey for 2015.
Satya Nadella & Microsoft Reborn
In February Microsoft got a new CEO when Satya Nadella replaced monkey-boy Steve Ballmer. Since then Microsoft stock, long a moribund performer, has gone up about 26%, compared to increases of 15% and 9% for NASDAQ and the Dow, respectively. How did this happen?
One factor is that Microsoft’s cloud business, started under Ballmer, is growing extremely fast, doubling in the past year to a total of $4.4B. Next, despite rumors of selling the XBox business, that segment also did very well, selling double the number of units in fiscal 2014. Finally the company made shrewd moves that unite the consumer and enterprise spaces, like offering a free version of Office for tablets, and announcing Skype for Business which unites the enterprise Lync business with the consumer-oriented Skype business.
Unifying all this is a vision Nadella articulated in a memo to employees:
At our core, Microsoft is the productivity and platform company for the mobile-first and cloud-first world. We will reinvent productivity to empower every person and every organization on the planet to do more and achieve more.
Nadella talks a lot about the “dual user”, someone who uses technology for work but also for their personal life. A simple observation, but a powerful one. There is probably no company better positioned than Microsoft to surf this wave.
Apple & iPhone 6
Apple’s market-cap hit $700B in November, making it far and away the most valuable company in the world. Despite the doom and gloom of Tim Cook’s early days as CEO, today there is little doubt CEO Cook is a worthy and effective successor to Steve Jobs. The iPhone 6 launch in September was a huge success, with Apple selling over 10 million units of the new models in the first 3 days of availability. Cook has also diversified the product line with items like the iPad Mini and iPhone 5c, cheaper ways for customers to get into the Apple fold.
On the strategy front, Cook has spent some long-hoarded cash on acquisitions, like Beats Music & Electronics, and mobile podcast streaming app Swell. In fact since acquiring the Cue personal productivity app in Oct. 2013, Apple has acquired 13 companies, all over the tech and consumer space. In a ground breaking move, Cook closed a deal with China Mobile to sell the iPhone in the biggest market in the world. Finally on the enterprise front, Apple created a partnership with IBM to bring a full spectrum of “made for business” apps to the #1 consumer platform in the world.
All is not perfect in the Apple universe. Reports persist of supply-chain partners exploiting workers. The long-anticipated Apple Watch is not a runaway hit. Apple Pay is a solution in search of a problem. And, the company does not have the advantages of a content-based part of its business like a Facebook or a Microsoft; Apple is a platform where you access non-Apple content.
Lots of people have bet against Apple and lost. I expect those people will still be losing in 2015.
Energy
Energy prices dropped like crazy in 2014. Oil is $59 a barrel, down from the $100 price that persisted since around 2010, and well down from the $140 peak price in 2008. The cost of solar is plummeting even faster, with the cost of panels now less than the average cost of retail electricity. Here at the Salazar household we are in the midst of putting in a 7.85 kW system that on many days, I expect, will completely cover our power needs.
This energy glut is certainly an old-fashioned economic shot in the arm, but more importantly I think it will catalyze massive innovation in storage, monitoring and optimization. Bill Gates is investing in liquid metal battery technology, that enables storage of power close to the consumers, new SaaS solutions are emerging that allow building operators to optimize energy use, while the internet of things – broadly-realized telemetry of any device – will enable energy management of just about anything.
This is economically counter-intuitive – usually when the price of something drops the incentive to manage and conserve that thing also drops. I think everyone is acting on future expectations that energy prices, and the costs of “externalities” like pollution and global warming, will all go up.
Uber, the “sharing economy” & Big Data
Transportation-booking app Uber seemed to live by the rule that any publicity is good publicity. Some of the items in the Uber-feed: An Uber exec threatened to “dox” a journalist who wrote a negative article; Uber drivers across the globe have been implicated in rapes; taxi drivers worldwide have protested against it; and, the company is reputed to have booked thousands of fake rides on rival service Lyft. Yet, the valuation of the company is an astonishing $40B – for a company with assets that are almost entirely intangible, that is extra-amazing. I guess that is good publicity, people figure this app must be worth using, since they company does at least $10M per week revenue in just its top 5 USA cities.
Uber, like room-renting service AirBNB, came up on the notion of the “sharing economy” – a business model where through coordination services that enable anyone to be a service provider, we all benefit. I have an extra room, why shouldn’t I rent it? I have time (goodness knows how) to give people rides, why shouldn’t I get paid for it? What makes this possible is born on the web big-data technologies like MongoDB, Python, Node.js and others – with these, any team of 5-6 reasonably talented developers can build a perfectly good Uber. Now, Uber has 550 employees. My guess is the vast majority are customer service or other logistics roles. There are probably no more than 50 people in all engineering and technical operations for the company – 50 engineers for a $40B company.
I believe (and hope) that these disproportionate valuations and expectations will level out in 2015. Uber is a good idea. However this year I used similar services in Singapore, Kuala Lumpur and Beijing that were every bit as nice, and got me rides in accredited taxis, not with a “sharer” of unknown skills and motivations.
Silicon Valley – Let’s Not Go There, It Is A Silly Place
Uber is an example of 21st century Silicon Valley, where there’s an app for everything and business models rule. “Disruption” is the must-have word in every pitch – if you are not disrupting something, why bother? I think it is hard to see something like Uber as anything but exploitative – the “disruption” doesn’t create anything new, it just shifts it from the current owners to the disrupters. But isn’t this innovation the engine that drives our economy and makes our lives better?
No, it makes the VC’s lives better, as Andrew Leonard writing in Salon points out. A key paragraph:
The reality of our current situation is that the rich are getting richer while the rest of us flounder. Some of the “sharing” economy companies that Andreessen invests in offer a perfect demonstration of this thesis. The founders and investors in Airbnb and Lyft stand to become millionaires while the consumers of these services stretch their dollars by giving each other rides or renting out their spare rooms. That’s a business mode that not only perpetuates growing inequality but actually profits from the desperation of people having a harder and harder time making ends meet.
Ok, they are in business and the need/urge to make a buck is understandable. But some of these guys are just plain wacky. Look at Bitcoin. Tons of Silicon Valley insiders are buying in to the “cryptocurrency”, apparently unaware that logically speaking Bitcoin as a currency is worse even than gold.
The real thing about Bitcoin and why the Valley-types love it is the Libertarian connection. As a synthetic currency Bitcoin is not tied to any government or physical place. This is exactly what you need if you plan to move yourself to a government-less Libertarian artificial island.
Finally, I came across a great article in the latest issue of Harpers: Come With Us If You Want To Live (Among the apocalyptic libertarians of Silicon Valley), by Sam Frank. (paywall link). I can’t give you the whole thing, suffice to say if you read it you will come across vegans and Crossfit-ers arguing about hedons vs. utilons, debating the pros & cons of DAOs (distributed autonomous organizations) and still others doing Bayesian optimizations of their personal thought processes. One such visionary informs us about the imminent cataclysms faced by our society:
“There are all of these different countdowns going on … There’s the countdown to the broad postmodern memeplex undermining our civilization and causing everything to break down, there’s the countdown to the broad modernist memeplex destroying our environment or killing everyone in a nuclear war, and there’s the countdown to the modernist civilization learning to critique itself fully and creating an artificial intelligence it can’t control. There are so many different … ways in which the self-modifying intelligent processes that we are embedded in undermine themselves.”
Note to self: Great idea for an app, “MemeplexID”, a single photo taken by cell-phone identifies for you which destructive memeplex you are confronted with.
And that’s it.
All I can think of right now about 2014. Soon will be moot anyway, as 2015 will soon be here with its own new memes, streams and themes. Here’s hoping they all play nice, in the real world as well as in the memeplex. Peace.
The Long Tail of the Personal Brand
Lately it seems we are surrounded – sometimes aggressively so – by advice that we must build our “personal brand”. Like pretty much anyone in my business I have accounts (mostly unpaid) on sites like The Ladders and of course LinkedIn. The regular emails I get from these sites constantly exhort me to promote the new-and-improved Salazar through my own brand. The Ladders tells me:
Besides a marriage proposal, your value in the job market is probably the most important product you’ll ever sell. … Your brand is what you’re known for and what you’re known for knowing. Use that to your advantage in making a career transition.
Great work-life-balance point they make there about marriage, which apparently in the eyes of The Ladders is also about selling. Meanwhile the folks at LinkedIn offer this #1 tip on building a personal brand:
#1: Be authentic. The best personal brands are genuine and honest both in person and online. It can be tricky to showcase your personality on the web (you might love puns, but those don’t go over well on a professional profile), but it’s possible with a bit of effort.
Or, as Oliver Stone wrote in Nixon, “Nothing sells like sincerity.”
What occasions these observations is an article in the Times, The Self-Promotion Backlash. The article is itself an observation on a new book, “Invisibles: The Power of Anonymous Work in an Age of Relentless Self-Promotion,” by David Zweig. Just got this for my Kindle, and after only a few pages of the intro its thesis is crystal clear: Vastly more economic output is generated by “invisible” non-self-promoters than by all the glad-handing, like-me-on-Facebooking, personal-branding addicts that seem to be surging ahead everywhere we look. One of the first examples Zweig talks about are fact-checkers, in his case at the CIA: pretty obviously essential, and pretty obviously invisible.
In the high-tech industry, because we make the tools that allow all this personal branding in the first place, we’re expected to use them and to do so loudly and often. How bizarre that software engineers, one of the most introverted, invisible occupations you’re likely to find, get marked down because they are insufficiently “visible”. This is sales culture run amuck. Look, sales and sales-people – love ‘em, need ‘em, all that – but the cultural needs of engineering are vastly different from sales. Back in the day, the men and women I most respected hardly ever spoke. They were valued for their knowledge and their ability to show and tell novices, as I was, what to do to turn out good code.
I’m afraid nostalgia is an inevitable product of age, and for that I apologize. But, if we did a 1 week ban on self-promotion, what would happen? Quality go up? Output go up? An impractical experiment of course … still, can’t help but wonder.
I’ll leave you all with this, the most influential drum-line is all the history of rock and roll, Led Zeppelin’s When the Levee Breaks. It wasn’t created by drummer John Bonham, or Zeppelin lead guitarist and producer Jimmy Page, but by a recording engineer – and an invisible – named Andy Johns. Enjoy.
And the winner is …
Afraid further pic-posts from our London trip will have to wait, as I am later today off to the US for our yearly Collaboration-Services Conference, IBM Connect 2014. There among the things I will do is present an hour-long session in video-panel format, with 10 developers from my worldwide team answering questions and sharing insights about IBM Sametime. Though I have no fears about the software holding up, networking at these events is always tricky, so wish me luck.
But before I go I wanted to award a Mighty Marvel No-Prize to my good friend Tom, who correctly identified the location of the crowd-shot in my last post as The Rosetta Stone. The shot above is closest I could get and was taken 1-handed with camera aloft. I guess seeing as this is an artifact at the British Museum that virtually everyone has heard of, it’s not surprising people would cluster round. But for those of us who read neither hieroglyphics, nor demotic, nor ancient Greek (the three languages used on the stone) I can only say it is a nice stone indeed, of impressive heft and neatly done carving, and one that would be a great conversation starter if displayed in the family den.
Now, back to a few hours of work, including some rehearsal for my talk, and then at 6:30 pm my time I embark to Mumbai to begin the journey towards Orlando and all things Collaborative and Mousey. I should land in Florida around 6 pm Saturday local time, for an elapsed travel time of about 35 hours. Such are the joys of international business life.
Book Review: The Circle
I really wanted David Eggers The Circle to be the dystopian novel of our time. It isn’t – it is all at once too approachable, too light-handed, too inclusive and, oddly, too believable to be truly menacing.
And that’s a shame, because the subject of The Circle is an insidious one, a true and deadly threat, and worthy of a dystopic classic.
Here’s a spoiler-free summary of the book: In a future fairly near to now, a company named “The Circle” – a combination of Facebook, PayPal, Twitter, Google and others – dominates the worldwide internet. The core of the company’s success is an authentication service called “TruYou”. TruYou can be used by any third party application, much like Facebook’s OAuth-based service does today. However TruYou purports to allow unique, real-world people only – no invented IDs allowed; when you login with TruYou, you can only operate as your actual self. The great benefit of TruYou is supposed to be the greater transparency (get used to hearing that word if you read this book) and authenticity it promotes. No longer can trolls, scam-artists, sexual predators and the like hide behind IDs like “rockrDude882”.
Into the world of The Circle enters Mae Holland, the every-person protagonist required by a dystopian story. Mae is in her mid-20s, in a job at an old-school company she finds unsatisfying. To the rescue comes Annie, Mae’s college roommate, who in the four years since she’s last seen Mae has had a meteoric rise in the management ranks of The Circle. Annie gets Mae a job at The Circle, something incredibly hard to do as an outsider. Annie does want to do a favor for her pal, but mainly she wants allies; even from the first few pages you see The Circle has a cruel corporate culture, though of course officially performance-minded and caring. Mae’s job is in “customer experience”, essentially a customer-service phone rep, as was explained to Mae by her trainer:
"Okay, as you know, for now you are just doing straight-up customer maintenance for the smaller advertisers. They send a message to Customer Experience, and it gets routed to one of us … When you figure out the answer, you write them back…
“Now, that doesn’t mean you just paste the answer in and send it back. You should make each response personal, specific. You’re a person and they’re a person, and you shouldn’t treat them like robots … you should always be sure to inject humanity into the process.
Humanity, however, is the last thing the Circle is about, as Mae finds when the trainer explains the rating system:
“Now let’s say you’ve answered a client’s question … that’s when you send them the survey and they fill it out. It’s a set of quick questions about your service, their overall experience, and at the end they’re asked to rate it. The rating pops up here.”
He pointed to the corner of the screen, where there was a large number 99, and below, a grid of other numbers.
Mae’s first day of work is all about her struggles and triumphs with her score. In the end she achieves a 98. This news – the highest-ever score by a first-day person – is “zinged” (The Circle’s equivalent of Twitter) to over 10,000 people and leads to 187 follow-up comments.
You may be thinking: So what? This already happens at countless companies today, and I don’t see the world coming to an end. Well, 99% of what happens in The Circle is happening today – it just is not happening under the auspices of a single entity. The Circle aggregates everything and is the one thing that has a total view, which it uses to promote its capitalistic growth and raw power. Another example: In the course of the story, The Circle launches “transparent democracy”, a 100% public life-log for elected officials. A fictitious Congresswoman describes the benefits:
“That’s right, Tom. I’m as concerned as you are about the needs for citizens to know what their elected leaders are doing. I mean, it is your right, is it not? Who they are meeting with. Who they are talking to. What they’ve been doing on the taxpayer’s dime. Until now, it’s been an ad hoc system of accountability … But still we wonder, why are they meeting with their former-senator-turned-lobbyist? And how did that congressman get that $150,000 the FBI found in his fridge?
“So I intend to follow Stewart on his path of illumination. And along the way,I intend to show how democracy can and should be: entirely open, entirely transparent. Starting today, I will be wearing the same device that Stewart wears. My every meeting, movement, my every word, will be available to all my constituents and to the world.”
In the story, “transparent democracy” becomes an unstoppable force, driven by the insidious view that, if someone protests, they must be hiding something. The persistent holdouts all find themselves forced from office, victims of sudden discoveries of past poor judgment, ambiguous financial dealings, or questionable tastes in pornography.
I hope no one doubts the fundamental plausibility of this. We live in a world where a significant portion of the US population believes Barack Obama was born in Kenya, all based on publically retrievable information. Given enough money and media control, anyone can be ruined just by “facts” – no need to concoct anything. In the world of The Circle, The Circle has all information, all media, and everyone’s identity. That “closing of the circle” is the danger.
Here’s a scenario to ponder. One of the links in this post is to the Goodreads page for The Circle. I am a member of Goodreads, having linked my Facebook ID. Like a lot of people I have rated some books. Now, imagine if I listed and rated every book I have read. In there would be works like The Occupy Handbook, The Price of Inequality and The Myth of the Rational Market. Looking at these and other books I have read it would not be hard to infer my political leanings. Now, let’s say I want to get a job. Hiring today is done more and more through a small number of online providers, and has a heavy component of online analytics, looking at public internet data about you, like what keg-party pictures you publicly post on Facebook.
Finally, imagine that the online company that does hiring is the same company as Goodreads, as Amazon, as Facebook, and more. They know everything you read, everything you buy, everything you search for on the web. What do you think about the hiring process now?
Maybe that scares you, maybe it doesn’t. This is one of the ironic truths of The Circle. It correctly captures the reality that people aren’t frightened by this, that while (for example) they maniacally protest that affordable health care for fellow citizens is somehow destroying their liberty, they happily surrender liberty by telling everything about themselves to Facebook, to Walmart, to Twitter, and just about anything online with a nice looking web page, all for the sake of a few “Likes” on a cat picture.
The arc of the story in The Circle is embodied in Mae, who goes from angsty CE newbie to one of the 20-most followed people on the planet. Like so many of us, Mae never notices what happens, every step on the path seems innocuous. Things happen to people – which I won’t spoil for anyone – and much of the book’s message is in Mae’s reactions to it all. The lobster/sea turtle scene made me squirm.
I said The Circle is not the cautionary story of our time. I think its great weakness as dystopian fiction is it never really personalizes the threat, the danger. Everything happens on the internet, as it were, and that makes it distant. Again, that is part of the message: when your experience of destroying an enemy is not shooting him face to face, but through a drone attack you view by remote video, it’s a lot easier to follow through and just kill him. But there’s a catch-22 here (another dystopian idea for which we should be thankful) that by showing the reality of how this threat works, Eggers weakens the message about the threat.
The most powerful thing in the book is the slogan of the Circle, articulated by Mae as she starts her rise to power:
SECRETS ARE LIES
SHARING IS CARING
PRIVACY IS THEFT
Because of these three lines, if for no other reason, we have to contrast The Circle with 1984, which made famous three lines of its own:
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
1984 is still the more powerful work by far. In a way, the quest of Winston Smith and Julia, the lovers of 1984, is the problem of The Circle: How to be private, how to be alone with one another. Yet, nothing in The Circle comes close to the visceral, personal experience of Winston in The Ministry of Love, Orwell’s vision of the KGB-like future intelligence/torture agency that enforces political correctness and combats “thoughtcrime”. Here a fellow prisoner loses all control at the thought of torture in the dreaded “Room 101”:
’Comrade! Officer!’ he cried. ’You don’t have to take me to that place!
Haven’t I told you everything already? What else is it you want to know?
There’s nothing I wouldn’t confess, nothing! Just tell me what it is and I’ll
confess straight off. Write it down and I’ll sign it — anything! Not room 101!’
’Room 101,’ said the officer.
The man’s face, already very pale, turned a colour Winston would not have
believed possible. It was definitely, unmistakably, a shade of green.
’Do anything to me!’ he yelled. ’You’ve been starving me for weeks. Finish
it off and let me die. Shoot me. Hang me. Sentence me to twenty-five years. Is
there somebody else you want me to give away? Just say who it is and I’ll tell
you anything you want. I don’t care who it is or what you do to them. I’ve got
a wife and three children. The biggest of them isn’t six years old. You can take
the whole lot of them and cut their throats in front of my eyes, and I’ll stand
by and watch it. But not Room 101!’
’Room 101,’ said the officer.
Orwell was able to pull out the fear that is in all of us and place it in the light where it can be seen for itself: cold, cowering, heartless, and dreadful. The Circle verges on showing us ourselves but, at the last instant, it steps back and grants us too much absolution.
I did “like” The Circle, though you won’t see me reviewing it on Goodreads <g>. It is a fast read, though the somewhat nerdy sex-scenes might make you wince, especially the one where one of Mae’s lamer liaisons asks for a 1-100 rating so he can post it on his blog. (SPOILER: As women have done through the ages, Mae gives him a 100.) But that I think was part of the atmosphere Eggers was trying to capture. One side-aspect I really liked was the way it captured the faux-inventiveness of Silicon Valley, and the heartless nature of big corporate existence, though I think these are aspects that won’t be apparent to a reader unless they have experienced some of that first hand. I will say I disliked the character of Annie at the start, only to really feel for her at the end.
My final thoughts? I think it is part of human nature to care, to share, and to do the right thing. But only part. We are often worse in the aggregate than we are on our own.
Thinking on the title of this book, this came to me, something I haven’t heard in many years:
Like the hymn says, there is a circle that connects us. As long as we find ways to make that come alive, not with packets and posts, but with flesh and blood, I expect we’ll do alright. But if we don’t, we could be looking at a future that makes the brutality of Room 101 look like a merciful finality.