Monday, 11 February 2013

Why Humility is Essential for Every New Hire


When interviewing product managers at Google, we ranked candidates on four metrics: technical ability, communication skills, intellect and Googliness. A Googley person embodies the values of the company - a willingness to help others, an upbeat attitude, a passion for the company, and the most important, humility.
In the past week, I asked two heads of engineering to identify the most important characteristic in new hires. Both responded, "humility". For one startup ascertaining humility is so important, it is the first filter in the interview process.
Disruptive companies reinvent. They don't copy and execute someone else's playbook. To be disruptive, a startup's team must cast aside preconceived notions and assumptions about doing things the "right way" and start inventing new ways.
The more time I spend in venture capital working with startups, the better I understand that there are no templates or stencils or best practices. Each startup team faces a unique market opportunity with distinct market dynamics, sales processes, competitive forces, assets and challenges.
In such circumstances, the best expeditionary force keeps open minds about the way forward. They learn from each other and the market. The first step to learning is accepting we don't know everything.


Microsoft’s 128GB Surface Pro Sells Out At MS Online Store Just Hours After Launch

surfaceproleft


Microsoft’s $999 128GB Surface Pro has sold out in the online Microsoft Store in the U.S. (viaWinBeta), just a few hours after going on sale today, February 9. The 64GB version is still available as of this writing, and the Surface Pro is still likely in stock at physical retail locations like Best Buy, where it also went on sale today, although checking the stock levels via their online tool reports the Surface Pro as “Unavailable” across the board.
The Surface Pro is Microsoft’s more powerful, Intel-powered Windows 8 tablet, which runs the full version of Windows 8 unlike the Surface RT and can handle full-fledged Windows desktop applications. In the TC review, John Biggs said that the Pro was a much more compelling device than the RT, in part because of its ability to run software that enterprise IT departments depend upon from legacy windows installations.
The Surface RT sold out of the $500 32GB model within one day, but the Pro’s more expensive model has sold out even faster. That could indicate that users are placing a higher value on storage with the Pro, which is marketed as a device much more suited to getting serious work done than the Surface RT. The 64GB model remains in stock for now, and given that there’s only a $100 price difference to trade up to double the storage capacity with the 128GB version, that’s not surprising.
Storage was recently the subject of a number of back-and-forth reports regarding the Surface, with some claiming Microsoft left little room on-device for personal files once you accounted for the Windows 8 OS install. Ed Bott reported earlier today on the actual storage numbers, which beat the original estimates by a fair amount, but the free space on the 64GB version still represents a 200 percent increase from the actual usable space on the base Surface Pro model.
The 128GB Surface Pro is still available to order from the Microsoft Store online in Canada as of this publication date, and you may still be able to grab one by visiting a physical retail location.


Sunday, 10 February 2013

Vegas makes me want to give away stuff.


I’ve been getting a lot of questions regarding signings and if I’ll have the paperback for HOPELESS.  I have a few of the self-published versions that I’ve set aside for Orlando in February and Boston in March and should have the published versions at signings after that.  But for the rest of you who either aren’t coming to the signings or don’t want to spend $15 for the books there, I have great news!  Atria’s paperback version of HOPELESS will be out in a little over two months, but it’s available for pre-order now.
And the even better news is that it’s on sale for $8.61 from $15 right now.  And if you order it now, you’ll receive it on the day of release.  So go get your copy today here.
And the even better, better news is that I’m not spending too much money here in Vegas so I have just enough left for an e-reader giveaway.  Just share the link for this blog and comment with where you shared it and I’ll pick a winner on Monday, along with the five winners of signed books from comments on this blog post.  
Okay, back to the casino.  ;)

2012 DA14 Asteroid to make closest flyby in history



Talk about too close for comfort. In a rare cosmic encounter, an asteroid will buzz Earth next week, missing our planet by a mere 17,200 miles (27,700 kilometers). Designated 2012 DA14, the space rock is approximately 150 feet (45 meters) across, and astronomers are certain it will zip harmlessly past our planet on February 15—but not before making history. It will pass within the orbits of many communications satellites, making it the closest flyby on record. “This is indeed a remarkably close approach for an asteroid this size,” said Paul Chodas, a research scientist at NASA’s Jet Propulsion Laboratory Near Earth Object (NEO) program office in Pasadena, California. “We estimate that an asteroid of this size passes this close to the Earth only once every few decades.” The giant rock—half a football field wide—was first spotted by observers at the La Sagra Observatory in southern Spain a year ago, soon after it had just finished making a much more distant pass of the Earth at 2.6 million miles (4.3 million kilometers) away. This time around however, on February 15 at 2:24 p.m. EST, the asteroid will be passing uncomfortably close—ten times closer than the orbit of the moon—flying over the eastern Indian Ocean near Sumatra. Chodas and his team have been keeping a close eye on the cosmic intruder, and orbital calculations of its trajectory show that there is no chance for impact. But the researchers have not yet ruled out future chances of a collision. This is because asteroids of this size are too faint to be detected until they come quite close to the Earth, said Chodas. The flyby of asteroid 2012 DA14 on Feb. 15, 2013, will be the closest known approach to Earth for an object its size. “There is still a tiny chance that it might hit us on some future passage by the Earth; for example there is [a] 1-in-200,000 chance that it could hit us in the year 2080,” he said. “But even that tiny chance will probably go away within the week, as the asteroid’s orbit gets tracked with greater and greater accuracy and we can eliminate that possibility.” Earth collision with an object of this size is expected to occur every 1,200 years on average, said Donald Yeomans, NEO program manager, at a NASA news conference this week. DA14 has been getting closer and closer to Earth for quite a while—but this is the asteroid’s closest approach in the past hundred years. And it probably won’t get this close again for at least another century, added Yeomans. While no Earth impact is possible next week, DA14 will pass 5,000 miles inside the ring of orbiting geosynchronous weather and communications satellites; so all eyes are watching the space rock’s exact trajectory.






Why there is no Hitchhiker’s Guide to Mathematics for Programmers


Do you really want to get better at mathematics?


Remember when you first learned how to program? I do. I spent two years experimenting with Java programs on my own in high school. Those two years collectively contain the worst and most embarrassing code I have ever written. My programs absolutely reeked of programming no-nos. Hundred-line functions and even thousand-line classes, magic numbers, unreachable blocks of code, ridiculous code comments, a complete disregard for sensible object orientation, negligence of nearly all logic, and type-coercion that would make your skin crawl. I committed every naive mistake in the book, and for all my obvious shortcomings I considered myself a hot-shot programmer! At least st I was learning a lot, and I was a hot-shot programmer in a crowd of high-school students interested in game programming.
Even after my first exposure and my commitment to get a programming degree in college, it was another year before I knew what a stack frame or a register was, two more before I was anywhere near competent with a terminal, three more before I fully appreciated functional programming, and to this day I still have an irrational fear of networking and systems programming (the first time I manually edited the call stack I couldn't stop shivering with apprehension and disgust at what I was doing).


In a class on C++ programming I was programming a Checkers game, and my task at the moment was to generate a list of all possible jump-moves that could be made on a given board. This naturally involved a depth-first search and a couple of recursive function calls, and once I had something I was pleased with, I compiled it and ran it on my first non-trivial example. Low and behold (even having followed test-driven development!), I was hit hard in the face by a segmentation fault. It took hundreds of test cases and more than twenty hours of confusion before I found the error: I was passing a reference when I should have been passing a pointer. In particular (and this is the aggravating part, as most programmers know), the fix required the change of about 4 characters. Twenty hours of work for four characters! Once I begrudgingly verified it worked (of course it worked, it was so obvious in hindsight), I promptly took the rest of the day off to play Starcraft.
Of course, as every code-savvy reader will agree, all of this drama is part of the process of becoming and strong programmer. One must study the topics incrementally, make plentiful mistakes and learn from them, and spend uncountably many hours in a state of stuporous befuddlement before one can be considered an experienced coder. This gives rise to all sorts of programmer culture, unix jokes, and reverence for the masters of C that make the programming community so lovely to be a part of. It’s like a secret club where you know all the handshakes. And should you forget one, a crafty use of awk and sed will suffice.

Now imagine someone comes along and says,
“I’m really interested in learning to code, but I don’t plan to write any programs and I absolutely abhor tracing program execution. I just want to use applications that others have written, like Chrome and iTunes.”

You would laugh at them! And the first thing that would pass through your mind is either, “This person would give up programming after the first twenty minutes,” or “I would be doing the world a favor by preventing this person from ever writing a program. This person belongs in some other profession.” This lies in stark opposition to the common chorus that everyone should learn programming. After all, it’s a constructive way to think about problem solving and a highly employable skill. In today’s increasingly technological world, it literally pays to know your your computer better than a web browser. (Ironically, I’m writing this on my Chromebook, but in my defense it has a terminal with ssh. Perhaps more ironically, all of my real work is done with paper and pencil.)
Unfortunately this sentiment is mirrored among most programmers who claim to be interested in mathematics. Mathematics is fascinating and useful and doing it makes you smarter and better at problem solving. But a lot of programmers think they want to do mathematics, and they either don’t know what “doing mathematics” means, or they don’t really mean they want to do mathematics. The appropriate translation of the above quote for mathematics is:
“Mathematics is useful and I want to be better at it, but I won’t write any original proofs and I absolutely abhor reading other people’s proofs. I just want to use the theorems others have proved, like Fermat’s Last Theorem and the undecidability of the Halting Problem.”
Of course no non-mathematician is really going to understand the current proof of Fermat’s Last Theorem, just as no fledgling programmer is going to attempt to write a (quality) web browser. The point is that the sentiment is in the wrong place. Mathematics is cousin to programming in terms of the learning curve, obscure culture, and the amount of time one spends confused. And mathematics is as much about writing proofs as software development is about writing programs (it’s noteverything, but without it you can’t do anything). Honestly, it sounds ridiculously obvious to say it directly like this, but the fact remains that people feel like they can understand the content of mathematics without being able to write or read proofs.
I want to devote the rest of this post to exploring some of the reasons why this misconception exists. My main argument is that the reasons have to do more with the culture of mathematics than the actual difficulty of the subject. Unfortunately as of the time of this writing I don’t have a proposed “solution.” And all I can claim is a problem is that programmers can have mistaken views of what mathematics involves. I don’t propose a way to make mathematics easier for programmers, although I do try to make the content on my blog as clear as possible (within reason). I honestly do believe that the struggle and confusion builds mathematical character, just as the arduous bug-hunt builds programming character. If you want to be good at mathematics, there is no other way.
All I want to do with this article is to detail why mathematics can be so hard for beginners, to explain a few of the secret handshakes, and hopefully to bring an outsider a step closer to becoming an insider. So read on, and welcome to the community.