Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Illustrators
Jaime G. Wong
Pasquale D'Silva
Printer
MagCloud
Published by
Netizens Media
46, Taylor Road,
11600 Penang,
Malaysia.
4 How to Bootstrap
By Spencer Fry
PROGRAMMING SPECIAL
10 New Programming Jargon 18 If Mario Was Designed in 2010
By joey Devilla By zack hiwiller
3
FEATURES
How to Bootstrap
By Spencer Fry
4 FEATURES
“Leave the ad revenue and crazy
business model revenue streams
to the startups with venture
funding.”
on the company. But the advantage sophomore year in college; that's on it full-time. During those first
here is that after a few months off true of 37signals' Basecamp, true of 18 months, we were taking on lots
the ground you'll have a clear sense Anthony's Hype Machine and lots of of client work to pay our bills. The
of how soon that day can come. other companies. great thing about consulting through
Another advantage of a bootstrapped the early months is that you can
company on the SaaS model is that The good thing about bootstrap- take on fewer and fewer jobs as your
it's really easy to calculate your cash ping is that you don't need to spend revenue builds up. For example, you
flow. a single penny outside of server may need a dozen large projects
It goes without saying that the costs and you can even do most during the first year and only two or
people you work with should have things locally before having to pay three during the second year. That
complementary skills to your own, any money on a server. Your biggest was the case for us.
but the bootstrapper's "slow but expense is time, and that's why off I know of other successful
steady" mindset is just as important hours are so important. bootstrapped companies that during
to the health of your company. the first year would take on a single
You'll find a lot of people may not Consult on the Side client project for a month or two,
be comfortable with this approach. The way we started Carbonmade, charging an appropriate amount, and
Weed those people out as co-found- the way 37signals started, the way that would give them just enough
ers when you're bootstrapping a Harvest started, and many other leeway to work on their startup for
company. A one and done approach startups too, was by first running a two or three months. Then they'd
won't work here. consulting shop. We ran a design con- rinse and repeat. They did this
sulting company called nterface that for the first year and a half before
Off Hours Carbonmade grew out of. It's great, making enough money to work on
Almost every bootstrapped company because the money you're bringing their startup full-time.
begins as an off-hours tinkering in through client work tides you over
project. That's true of Carbonmade, while you're waiting for your startup There's No Need to Rush
which Dave built for himself first; to grow. When you're bootstrapping there's
that's true of TypeFrag, which I built Carbonmade was live for nearly 18 no rush to get things out the door,
over the course of a week during my months before we started working even though that's all you hear these
5
“Ifquickly,
you're too worried about getting off the ground
then you're bound to make a mistake.”
days. I know people talk about iterat- more broad: the masses of creative podcast that it may even make sense
ing quickly, and that's all well and people who don't have a build-it- for your bootstrapped company to
good, but when you're bootstrapping yourself skill set. We would have take investment after you've gotten
and not meeting anyone's deadlines limited Carbonmade to a smaller off the ground. I completely agree,
but your own you can take your time group of people and never have as long as you know exactly how
to better perfect your product before gotten as big as we are today. you're going to put that money to
every release. In my opinion, you use. Furthermore, the outcome you
should strive to be more Apple-like Making That First Dollar anticipate you'll get from taking
and really think things through. Bootstrapping is all about making money needs to be well beyond what
If you don't take money from an that first dollar. When I launched you anticipate doing without it.
investor who will demand quick new TypeFrag we didn't get any sign-ups My advice: Consult with a select
product releases, you can take the for the first week and this got us very few people you really trust who
time it needs to perfect things. worried — my partner and I almost aren't tied too closely to your com-
The first few iterations of your threw in the towel — but about pany and see what they have to say.
product are everything, and boot- five days into it we got our first bite. Try and find someone who has raised
strapping through this beginning Then another. Then three the next money before and had a successful
phase can allow you to take your day. And more and more. Sign-ups outcome or two. Share everything
time and think through everything. began to pile up well beyond what with them and see if taking that $2.5
If you're too worried about getting we had anticipated. at a $10m valuation makes sense.
off the ground quickly, then you're All this money coming in meant Can you put that $2.5m to use to
bound to make a mistake. we could begin to lay out our plans. make your company worth at least
If no money had come in, we would 10x more than it's worth today in
Building Organically have had to drastically change direc- three to five years? n
Bootstrapping a company allows tions. Revenue validated our idea,
you to grow it organically. We at and as every dollar came in we got Spencer Fry is the co-founder and CEO
Carbonmade always refer to this a better sense of our cash flow and of Carbonmade, handling day-to-day
as incubating your project. We like could plan the future development operations, accounting, legal matters,
to release something, let it sit, feel of TypeFrag more accurately. We customer service, marketing, advertising,
and gauge the reaction, and then were able to quickly figure out that and “everything else” that’s not design or
move on from there. You don't have people wanted PayPal, so we add code. Carbonmade is the easiest way to
this kind of freedom when you're that and saw even more money come display and manage your portfolio online,
not bootstrapping, because you're in. Your first dollar validates your with over 225,000 members.
desperately trying to ramp up as product, your business model, and
quickly as possible. everything else.
I've heard stories of companies
acting too quickly on initial feedback When Investors Come A Calling
only to undermine themselves going As soon as you make that first dollar,
forward because the feedback was investors are going to start making
from the wrong user group. For inquiries. That's a good sign! It
example, if only web designers had means you're doing something right.
given us feedback in the early days They're not scary guys and most of
of Carbonmade, demanding more them are really nice and great people
precise tools for editing the look and to meet with! Even Jason Fried, the
feel for their site, we would have man who is well known for scorning
never realized that our market is far investors, says in 37signals' 13th
6 FEATURES
The Secret Lives of
Professors
By Matt Welsh
8 FEATURES
I came to Harvard 7 years ago
with a fairly romantic notion
of what it meant to be a pro-
fessor — I imagined unstruc-
tured days spent mentoring students
over long cups of coffee, strolling
through the verdant campus, writing
code, pondering the infinite. I never
the wheels turning. To do systems
research you need a lot of fund-
ing — at my peak I’ve had 8 Ph.D.
students, 2 postdocs, and a small
army of undergrads all working in
my group. Here at Harvard, I don’t
have any colleagues working directly
in my area, so I haven’t been able to
no time to do any hacking anymore,
which is sad considering this is
why I became a computer scientist.
When I do have some free time in
my office it is often spent catching
up on email, paper reviews, random
paperwork that piles up when you’re
not looking. I have to delegate all the
really considered doing anything else. spread the fundraising load around fun and interesting problems to my
At Berkeley, the reigning belief was very much. (Though huge props students. They don’t know how good
that the best and brightest students to Rob and Gu for getting us that they have it!
went on to be professors, and the rest $10M for RoboBees!) These days,
went to industry — and I wanted funding rates are abysmal: less than Students are the coin of the realm.
to be one of those elite. Now that 10% for some NSF programs, and David Patterson once said this and
I have students that harbor their the decision on a proposal is often I now know it to be true. The main
own rosy dreams of academic life, I arbitrary. And personally, I stink at reason to be an academic is not to
thought it would be useful to reflect writing proposals. I’ve had around crank out papers or to raise a ton of
on what being a professor is really 25 NSF proposals declined and only money but to train the next genera-
like. It is certainly not for everybody. about 6 funded. My batting average tion. I love working with students
It remains to be seen if it is even for for papers is much, much better. So, and this is absolutely the best part of
me. I can’t let any potential source of my job. Getting in front of a class-
To be sure, there are some funding slip past me. room of 80 students and explaining
great things about this job. To first how virtual memory works never
approximation you are your own Must... work... harder. ceases to be thrilling. I have tried to
boss, and even when it comes to Another lesson is that a prof’s job mentor my grad students, though
teaching you typically have a tre- is never done. It’s hard to ever call in reality I have learned more from
mendous amount of freedom. It has it a day and enjoy your “free time,” them than they will ever learn from
often been said that being a prof is since you can always be working on me. My favorite thing is getting
like running your own startup — you another paper, another proposal, sit- undergrads involved in research,
have to hire the staff (the students), ting on another program committee, which is how I got started on this
raise the money (grant proposals), whatever. For years I would leave the path as a sophomore at Cornell,
and of course come up with the big office in the evening and sit down at when Dan Huttenlocher took a
ideas and execute on them. But you my laptop to keep working as soon chance on this long-haired crazy kid
also have to do a lot of marketing as I got home. I’ve heard a lot of who skipped his class a lot. So I try
(writing papers and giving talks), and advice on setting limits, but the big- to give back.
sit on a gazillion stupid committees gest predictor of success as a junior Of course, my approach to being a
that eat up your time. This post is faculty member is how much of your prof is probably not typical. I know
mostly for grad students who think life you are willing to sacrifice. I have faculty who spend a lot more time
they want to be profs one day. A few never worked harder than I have in in the lab and a lot less time doing
surprises and lessons from my time the last 7 years. The sad thing is that management than I do. So there
in the job... so much of the work is for naught — are lots of ways to approach the
I can’t count how many hours I’ve job — but it certainly was not what
Show me the money. sunk into meetings with companies I expected when I came out of grad
The biggest surprise is how much that led nowhere, or writing propos- school. n
time I have to spend getting funding als that never got funded. The idea
for my research. Although it varies a that you get tenure and sit back and Matt Welsh is a professor of Computer
lot, I guess that I spent about 40% of relax is not quite accurate — most Science at Harvard University. His
my time chasing after funding, either of the tenured faculty I know here research interests include OS, network,
directly (writing grant proposals) work even harder than I do, and they and programming language support for
or indirectly (visiting companies, spend more of their time on stuff complex, large-scale systems, including
giving talks, building relationships). that has little to do with research. wireless sensor networks and cloud
It is a huge investment of time that computing services. He is the author of
does not always contribute directly Your time is not your own. “Running Linux” and blogs at
to your research agenda — just Most of my days are spent in an end- http://matt-welsh.blogspot.com.
something you have to do to keep less string of meetings. I find almost
9
PROGRAMMING
DOCTYPE Decoration
When web designers add a proper
DOCTYPE declaration at the
beginning of an HTML document,
but then don’t bother to write valid
markup for the rest of it.
10 PROGRAMMING
Hocus Focus Problem
Unexpected behavior caused by
changes in focus, or incorrect setting
of focus. Could also be used to
describe an app stealing your focus.
IRQed
Annoyed by interruptions.
Pronounced like and has a similar
meaning to “irked”.
Jimmy
A generalized name for the clueless/
new developer. The submitter at
Stack Overflow writes:
We found as we were developing a
Duck turned to the artist and said, "That
framework component that required
A feature added for no other reason looks great. Just one thing – get rid
minimal knowledge of how it worked
than to draw management attention of the duck."
for the other developers. We would
and be removed, thus avoiding
always phrase our questions as:
unnecessary changes in other aspects Fear-Driven Development "What if Jimmy forgets to update the
of the product. When project management adds
attribute?"
This started as a piece of Interplay more pressure, such as by firing a
This led to the term "Jimmy-proof"
corporate lore. It was well known member of the team.
when referring to well designed
that producers (a game industry
framework code.
position, roughly equivalent to PMs)
had to make a change to everything It’s probably best not to use this
that was done. The assumption was term around IronRuby developer
that subconsciously they felt that Jimmy Schementi.
if they didn’t, they weren’t adding
value. Loch Ness Monster Bug
The artist working on the queen A bug that isn’t reproducible and has
animations for Battle Chess was been sighted by only one person. See
aware of this tendency, and came Bugfoot.
up with an innovative solution. He
did the animations for the queen Megamoth
the way that he felt would be best, MEGA MOnolithic meTHod.
Ghetto Code
with one addition: he gave the queen Usually stretches over two screens in
A particularly inelegant and obvi-
a pet duck. He animated this duck height and often contained inside a
ously suboptimal section of code that
through all of the queen’s anima- God Object (an object that knows or
still meets the requirements. [Joey’s
tions, had it flapping around the does too much).
note: I’ve written ghetto code before,
corners. He also took great care to
but that’s because I’m street, yo!]
make sure that it never overlapped .NET Sandwich
the "actual" animation. When .NET code called native code
Eventually, it came time for the
Hindenbug which calls other .NET code and
A catastrophic data-destroying bug.
producer to review the animation makes the poorly designed applica-
Oh, the humanity!
set for the queen. The producer sat tion crash.
down and watched all of the anima-
tions. When they were done, he
11
n-gleton things (badly named constants, converting it to a more suitable
A class that only allows a fixed incorrect types, etc.) in their code internal representation (e.g. parse
number of instances of itself. from infecting your code. it and create an enum, then you
have strong typing throughout the
NOPping Shrug Report rest of your codebase)
Not napping, but simply zoning out. A bug report with no error message
• Message passing without using
Comes from the assembly language or “how to reproduce” steps and only
typed messages etc.
instruction NOP, for No OPeration, a vague description of the problem.
which does nothing. Usually contains the phrase "doesn’t Excessively stringly typed code
work." is usually a pain to understand and
Pokemon Exception Handling detonates at runtime with errors that
For when you just gotta catch ’em Smug Report the compiler would normally find.
all! A bug report submitted by a user
who thinks he knows a lot more Unicorny
about the system’s design than he An adjective to describe a feature
really does. Filled with irrelevant that’s so early in the planning stages
technical details and one or more that it might as well be imaginary.
suggestions (always wrong) about This one comes from Rails Core
what he thinks is causing the prob- Team member Yehuda Katz, who
lem and how we should fix it. used it in his closing keynote at last
year’s Windy City Rails to describe
some of Rails’ upcoming features.
Yoda Conditions
The act of using
if (constant == variable)
Reality 101 Failure
The program (or more likely feature
instead of
of a program) does exactly what was
asked for, but when it’s deployed
if (variable == constant)
it turns out that the problem was
misunderstood and the program is
Stringly-Typed It’s like saying “If blue is the sky”.n
basically useless.
A riff on strongly-typed. Used to
describe an implementation that Joey deVilla is Microsoft Canada's unlikely
Refuctoring needlessly relies on strings when Developer Evangelist. Prior to working
The process of taking a well-designed
programmer- and refactor-friendly for "The Empire", he worked on open
piece of code and, through a series
options are available. source software at a number of startups,
of small, reversible changes, making
Examples: developed multimedia CD-ROMs, worked
it completely unmaintainable by
the street as an accordion busker and
anyone except yourself. It’s job • Method parameters that take
even had a stint as an accordion-playing
security! strings when other more appropri-
go-go dancer at a Toronto nightclub. You'll
ate types should be used
often find him hanging out at Toronto's
The Sheath • On the occasion that a string is hackerspace HacklabTO.
The isolating interface between your
required in a method call (e.g.
team’s (good) code, and the brain-
network service), the string is then
dead code contributed by some other
passed and used throughout the
group. The sheath prevents horrible
rest of the call graph without first
Reprinted with permission of the original author. First appeared in http://www.globalnerdy.com/2010/05/09/new-programming-jargon/.
12 PROGRAMMING
Scooping the Loop Snooper
A proof that the Halting Problem is undecidable
By Geoffrey K. Pullum
No general procedure for bug checks succeeds. If P's answer is ‘Bad!’, Q will suddenly stop.
Now, I won't just assert that, I'll show where it leads: But otherwise, Q will go back to the top,
I will prove that although you might work till you drop, and start off again, looping endlessly back,
you cannot tell if computation will stop. till the universe dies and turns frozen and black.
For imagine we have a procedure called P And this program called Q wouldn't stay on the shelf;
that for specified input permits you to see I would ask it to forecast its run on itself.
whether specified source code, with all of its faults, When it reads its own source code, just what will it do?
defines a routine that eventually halts. What's the looping behavior of Q run on Q?
You feed in your program, with suitable data, If P warns of infinite loops, Q will quit;
and P gets to work, and a little while later yet P is supposed to speak truly of it!
(in finite compute time) correctly infers And if Q's going to quit, then P should say ‘Good.’
whether infinite looping behavior occurs. Which makes Q start to loop! (P denied that it would.)
If there will be no looping, then P prints out ‘Good.’ No matter how P might perform, Q will scoop it:
That means work on this input will halt, as it should. Q uses P's output to make P look stupid.
But if it detects an unstoppable loop, Whatever P says, it cannot predict Q:
then P reports ‘Bad!’ — which means you're in the soup. P is right when it's wrong, and is false when it's true!
Well, the truth is that P cannot possibly be, I've created a paradox, neat as can be —
because if you wrote it and gave it to me, and simply by using your putative P.
I could use it to set up a logical bind When you posited P you stepped into a snare;
that would shatter your reason and scramble your mind. Your assumption has led you right into my lair.
Here's the trick that I'll use — and it's simple to do. So where can this argument possibly go?
I'll define a procedure, which I will call Q, I don't have to tell you; I'm sure you must know.
that will use P's predictions of halting success By reductio, there cannot possibly be
to stir up a terrible logical mess. a procedure that acts like the mythical P.
For a specified program, say A, one supplies, You can never find general mechanical means
the first step of this program called Q I devise for predicting the acts of computing machines.
is to find out from P what's the right thing to say It's something that cannot be done. So we users
of the looping behavior of A run on A. must find our own bugs. Our computers are losers!
Geoffrey K. Pullum is a linguist, currently teaching at the University of Edinburgh. Formerly he was at the University of California,
Santa Cruz. His main research interests for some time have been in the grammar of Standard English and the formalization of
syntactic theories, and his recreational interest in theoretical computer science arises out of the latter.
Reprinted with permission of the original author. First appeared in http://ling.ed.ac.uk/~gpullum/loopsnoop.html. An earlier version was published in Mathematics Magazine (73).
13
Programming Books
The C Programming
By MIke Taylor
14 PROGRAMMING
:
Language
and double, escape sequences, and • Chapter 4. Functions and And finally, there’s just time for
comments. (This program is hard if Program Structure a characteristically comprehensive
you do it in full generality.) • Chapter 5. Pointers and Arrays index before the book comes to a
[this, by the way, on page 93] close.
And, as tough as that may seem
• Chapter 6. Structures
after only 30 pages, they really have
• Chapter 7. Input and Output In praise of small
given you all the tools you need to
• Chapter 8. The UNIX System Kernighan and Ritchie’s much-
do the exercise by this point.
Interface quoted preface explains the philoso-
phy behind the book’s characteristi-
Say what you mean, simply and That’s it for the chapters. So
cally dense structure:
directly they’ve got you doing systems
Apologies if you’re getting bored of programming by page 169; from We have tried to retain the brevity
reading this Kernighan-and-Plauger page 185 to the end of the chapter, of the first edition. C is not a big
epigram every time you return to they show you how to implement language, and it is not well served
this blog, but I really don’t think it malloc(). These guys are not mess- by a big book. [...] Appendix A,
can be over-emphasised. Although ing about. the reference manual, is not the
this advice’s appearance in The And then it’s on to the appendices, standard, but our attempt to convey
Elements of Programming Style is which rival those of The Return of the essentials of the standard in
of course in the context of writing the King for comprehensiveness a smaller space. [...] As we said
programs, Kernighan also follows his (though thankfully without the notes in the preface to the first edition,
own advice when it comes to writing on the differences between Eldar and C “wears well as one’s experience
prose. No words are wasted; neither Númenorean calendars). with it grows.” With a decade more
is your time. Yet somehow the book experience, we still feel that way.
• Appendix A. Reference Manual
avoids feeling rushed despite packing
[because all the chapters are And it’s true that the book is only
so much into so little space.
tutorial] able to be as short as it is because the
After the tutorial introduction, the
• Appendix B. Standard Library language that it describes is as small
remaining chapters cover:
[yes, all of it, in 18 pages] as it is. I have the second edition of
• Chapter 2. Types, Operators, • Appendix C. Summary of Stroustrup’s The C++ Programming
and Expressions Changes [since the 1st edition] Language, which clearly models itself
• Chapter 3. Control Flow on K&R and is about as terse as such
15
Kernighan, left, railing against innumeracy; Ritchie, right, auditioning for the role of Saruman.
a book can be, but its 691 pages the text rather than fighting against written for laughs the way that, say,
make it fully two and half times the it. Programming Perl is. It’s exhilarating
size of the original. This, mind you, how the book takes you somewhere
is the second edition of Stroustrup, If I could analyse it, I’d do it myself worth getting to, and does it so
published in 1991 only three years Finally, we come to the aspect of quickly. It treats you like a grown-
after the K&R second edition, when The C Programming Language that up; it is not “For Dummies”, but its
C++ was still relatively well under is hardest to explain — and hardest intelligent approach is not the elitist
control. to do. kind that seems to want to make
There is much, much more that I The bottom line here is that the reader feel inferior, but a warm
could say about the smallness of C, writing is an art. You can hack your intelligence that lifts you up to its
but rather that go against everything way through to producing tolerable level. In short, it’s a book that wants
I’ve just been saying by bloating this text without being an artist, just as to make you a better programmer.
review up into a monster, I am going an uninspired programmer can bash The best way I can express it is to
to save that for a separate article. his way through to wiring together say that at the end of each section
an uninspired web application. But and subsection, you want to read
Do it yourself just as it takes a Ken Thompson on and find out what’s next. That
It’s also characteristic of K&R that to invent and write UNIX, and a stands in stark contrast to too many
they have this statement on the Dennis Ritchie to invent C and other technical books, where I find
copyright page: write the initial compiler, so it takes myself peeking ahead to find out
a Brian Kernighan to write The C how much more of the current
This book was typeset
Programming Language. chapter there is to plough through
(pic|tbl|eqn|troff -ms) in Times
If all it took to write a truly great before I can stop reading.
Roman and Courier by the
technical book was to write down I wish I knew how they did it. But
authors, using an Autologic APS-5
everything there is to say about a I’m glad that they did. Kernighan
phototypesetter and a DEC VAX
subject and then ruthlessly distill it and Ritchie, we salute you! n
8550 running the 9th Edition of the
to its essence, then great technical
UNIX(R) operating system.
books would be much less rare Mike Taylor is a computer programmer
That they did their own typeset- than they are. That, I think, is a by day and a dinosaur palaeontologist by
ting is not just a cute touch, but an prerequsite; but it’s Necessary But night, twin obsessions reflected in his two
insight on the completeness of their Not Sufficient. There is a graceful blogs, http://reprog.wordpress.com/ and
mastery of what they were doing, quality about the writing in K&R, http://svpow.wordpress.com/. He started
and the care they took over it. The even when it is brutally technical; it programming in 1980, on a Commodore
book is not what you would call draws you on and in; it’s just pleasant PET 2001 and a Video Genie, and has
beautiful to look at, but the typeset- to read. It is, on occasion, gently hardly stopped since.
ting is wholly functional, at one with humorous, though certainly not
16 PROGRAMMING
SPECIAL
18 SPECIAL
Author’s Note
While this post is meant to be humorous, it isn’t meant Zack Hiwiller is a game designer currently living in New York City.
to be humorous at the expense of my fellow designers. He’s worked on games on eleven platforms from the lowly Game
I know we all try to do what is best for our games and Boy Advance to the chugging heat-expelling behemoth called
Lord knows I am just as guilty as everyone else, so the Playstation 3. He writes about games and the game industry
don’t take offense guys! It’s just me pining for a simpler on his blog at http://www.hiwiller.com.
time…n
19
Worst-Case Thinking
By Bruce Schneier
A t a security conference
recently, the moderator
asked the panel of dis-
tinguished cybersecurity
leaders what their nightmare scenario was.
The answers were the predictable array of
large-scale attacks: against our communications
infrastructure, against the power grid, against
Third, it can be used to support any position
or its opposite. If we build a nuclear power
plant, it could melt down. If we don't build
it, we will run short of power and society will
collapse into anarchy. If we allow flights near
Iceland's volcanic ash, planes will crash and
people will die. If we don't, organs won’t arrive
in time for transplant operations and people
the financial system, in combination with a will die. If we don't invade Iraq, Saddam Hus-
physical attack. sein might use the nuclear weapons he might
I didn't get to give my answer until the have. If we do, we might destabilize the Middle
afternoon, which was: "My nightmare scenario East, leading to widespread violence and death.
is that people keep talking about their night- Of course, not all fears are equal. Those that
mare scenarios." we tend to exaggerate are more easily justified
There's a certain blindness that comes by worst-case thinking. So terrorism fears
from worst-case thinking. An extension of the trump privacy fears, and almost everything
precautionary principle, it involves imagining else; technology is hard to understand and
the worst possible outcome and then acting as therefore scary; nuclear weapons are worse
if it were a certainty. It substitutes imagination than conventional weapons; our children need
for thinking, speculation for risk analysis, and to be protected at all costs; and annihilating
fear for reason. It fosters powerlessness and the planet is bad. Basically, any fear that would
vulnerability and magnifies social paralysis. And make a good movie plot is amenable to worst-
it makes us more vulnerable to the effects of case thinking.
terrorism. Fourth and finally, worst-case thinking
Worst-case thinking means generally bad validates ignorance. Instead of focusing on
decision making for several reasons. First, what we know, it focuses on what we don't
it's only half of the cost-benefit equation. know — and what we can imagine.
Every decision has costs and benefits, risks Remember Defense Secretary Rumsfeld's
and rewards. By speculating about what can quote? "Reports that say that something hasn't
possibly go wrong, and then acting as if that is happened are always interesting to me, because
likely to happen, worst-case thinking focuses as we know, there are known knowns; there
only on the extreme but improbable risks and are things we know we know. We also know
does a poor job at assessing outcomes. there are known unknowns; that is to say we
Second, it's based on flawed logic. It begs the know there are some things we do not know.
question by assuming that a proponent of an But there are also unknown unknowns — the
action must prove that the nightmare scenario ones we don't know we don't know." And
is impossible. this: "the absence of evidence is not evidence
20 SPECIAL
of absence." Ignorance isn't a cause for doubt; Frank Furedi, a sociology professor at
when you can fill that ignorance with imagina- the University of Kent, writes: "Worst-case
tion, it can be a call to action. thinking encourages society to adopt fear as
Even worse, it can lead to hasty and danger- one of the dominant principles around which
ous acts. You can't wait for a smoking gun, so the public, the government and institutions
you act as if the gun is about to go off. Rather should organize their life. It institutionalizes
than making us safer, worst-case thinking has insecurity and fosters a mood of confusion and
the potential to cause dangerous escalation. powerlessness. Through popularizing the belief
The new undercurrent in this is that our that worst cases are normal, it incites people to
society no longer has the ability to calculate feel defenseless and vulnerable to a wide range
probabilities. Risk assessment is devalued. of future threats."
Probabilistic thinking is repudiated in favor of Even worse, it plays directly into the hands
"possibilistic thinking": Since we can't know of terrorists, creating a population that is easily
what's likely to go wrong, let's speculate about terrorized — even by failed terrorist attacks
what can possibly go wrong. like the Christmas Day underwear bomber and
Worst-case thinking leads to bad decisions, the Times Square SUV bomber.
bad systems design, and bad security. And When someone is proposing a change, the
we all have direct experience with its effects: onus should be on them to justify it over the
airline security and the TSA, which we make status quo. But worst-case thinking is a way of
fun of when we're not appalled that they're looking at the world that exaggerates the rare
harassing 93-year-old women or keeping first and unusual and gives the rare much more
graders off airplanes. You can't be too careful! credence than it deserves.
Actually, you can. You can refuse to fly It isn't really a principle; it's a cheap trick to
because of the possibility of plane crashes. You justify what you already believe. It lets lazy or
can lock your children in the house because biased people make what seem to be cogent
of the possibility of child predators. You can arguments without understanding the whole
eschew all contact with people because of issue. And when people don't need to refute
the possibility of hurt. Steven Hawking wants counterarguments, there's no point in listening
to avoid trying to communicate with aliens to them. n
because they might be hostile; does he want to
turn off all the planet's television broadcasts Internationally renowned security expert Bruce
because they're radiating into space? It isn't Schneier has authored nine books — including Sch-
hard to parody worst-case thinking, and at its neier on Security and Beyond Fear — and hundreds
extreme it's a psychological condition. of articles and academic papers. Schneier regularly
appears on television and radio, has testified before
Congress, and is a frequent writer and lecturer on
issues surrounding security and privacy.
21
9 Years of Sleep
By Dominic Szablewski
22 SPECIAL
High-quality programming screencasts
30% off coupon: HNFTW
23
iPad Usability:
First Findings From
User Testing
By Jakob Nielsen
I t looks like
24 SPECIAL
frequently-used word has been • The Elements (physics Worse, there are often no per-
"busy." In contrast, the first impres- courseware) ceived affordances for how various
sion of many iPad apps is "beautiful." • Endless.com screen elements respond when
The change to a more soothing user • Epicurious touched. The prevailing aesthetic is
experience is certainly welcome, • ESPN Score Center very much that of flat images that
especially for a device that may turn • ESPN.com fill the screen as if they were etched.
out to be more of a leisure computer • Gap There's no lighting model or pseudo-
than a business computer. Still, • Gilt dimensionality to indicate raised or
beauty shouldn't come at the cost of • GQ magazine lowered visual elements that call out
being able to actually use the apps • GWR Lite (Guinness World to be activated.
to derive real benefits from their Records) In contrast, long-standing GUI
features and content. • iBook design guidelines for desktop user
• IMDb (Internet Movie designs dictate that buttons look
“Anything
First Studies Database) raised (and thus pressable) and that
We conducted scrollbars and other
our initial
usability studies you can show and interactive elements
are visually distinct
25
“Awhether
strategic issue for iPad user experience design is
to emphasize user empowerment or
author authority.”
• Nothing happens iPad UIs suffer under a triple In electronic media, the linear
threat that causes significant user concept of "next article" makes little
• Enlarging the picture
confusion: sense. People would rather choose
• Hyperlinking to a more detailed for themselves where to go, selecting
• Low discoverability: The UI is
page about that item from a menu of related offerings.
mostly hidden within the etched-
A strategic issue for iPad user
• Flipping the image to reveal glass aesthetic without perceived
experience design is whether to
additional pictures in the same affordances.
emphasize user empowerment or
place (metaphorically, these new
• Low memorability: Gestures author authority. Early designs err
pictures are "on the back side" of
are inherently ephemeral and on the side of being too restrictive.
the original picture)
difficult to learn when they're not Using the Web has given people
• Popping up a set of navigation employed consistently across apps; an appreciation for freedom and
choices wider reliance on generic com- control, and they're unlikely to
mands would help. happily revert to a linear experience.
The latter design was used by USA
Publishers hope that users will
Today: Touching the newspaper's • Accidental activation: This occurs
perceive content as more valuable
logo brought up a navigation menu when users touch things by
if each publication is a stand-alone
listing the various sections. This mistake or make a gesture that
environment. Similarly, they hope for
was probably the most unexpected unexpectedly initiates a feature.
higher value-add if users spend more
interaction we tested, and not one
When you combine these three time with fewer publications rather
user discovered it.
usability problems, the resulting user than flit among a huge range of sites
Similarly, to continue reading once
experience is frequently one of not like they do on the Web.
you hit the bottom of the screen
knowing what happened or how to Using the desktop Web, a user
might require any of 3 different
replicate a certain action to achieve can easily visit 100 sites in a week,
gestures:
the same result again. Worse yet, viewing only 1–3 pages on most of
• Scrolling down within a text field, people don't know how to revert to them. (For example, for one task
while staying within the same page the previous state because there's no in which B2B users visited 15 sites,
consistent undo feature to provide they spent an average of 29 seconds
• For this gesture to work, you have
an escape hatch like the Web's Back per pageview.) Most sites are visited
to touch within the text field.
button. once-only, because users dredge
However, text fields aren't demar-
them up in a search or stumble upon
cated on the screen, so you have to
Crushing Print Metaphor links from other sites or social media
guess what text is scrollable.
Swiping for the next article is postings. Without real customer
• Swiping left (which can some- derived from a strong print metaphor relationships, content sites have no
times take you to the next article in many content apps. In fact, this value and 90% of the money cre-
instead of showing more of the metaphor is so strong that you can't ated by users spending time online
current article) even tap a headline on the "cover" accrues to search engines.
page to jump to the corresponding The current design strategy of
»»This gesture doesn't work,
article. The iPad offers no homep- iPad apps definitely aims to create
however, if you happen to swipe
ages, even though users strongly more immersive experiences, in the
within an area covered by an
desired homepage-like features in hope of inspiring deeper attachments
advertisement in The New York
our testing. (They also often wanted to individual information sources.
Times app
search, which was typically not This cuts against the lesson of the
• Swiping up provided.) Web, where diversity is strength and
no site can hope to capture users'
26 SPECIAL
“
Better to use consistent interaction techniques
that empower users to focus on your content in-
stead of wondering how to get it.”
sole attention. Frequent user move- apps try to create a fixed layout for Although our full report offers
ments among websites has driven the pretty screen. additional detailed advice, we obvi-
the imperative to conform with There's no real reason we can't ously haven't yet developed a full list
interface conventions and to create have both design models: cards on of design guidelines.
designs that people can use without the iPad and scrolls on the desktop One big question will remain
any learning (or even much looking (and phones somewhere in the unanswered for a year or so until we
around). The iPad could be different middle). But it's also possible that see how daily use of the iPad evolves:
if people end up getting just a few we'll see more convergence and that Will people use the iPad mainly for
apps and sticking with them. the Web's interaction style will prove more immersive experiences than
so powerful that users will demand it the desktop and mobile Webs? In
Card Sharks vs. Holy Scrollers on the iPad as well. other words, will people primarily
UI pioneer Jef Raskin once used the settle on a few sources and dig into
terms card sharks vs. holy scrollers to Toward a Better iPad User them intensively, rather than move
distinguish between two fundamen- Experience rapidly between many sources and
tally different hypertext models: Even our limited initial user studies give each cursory attention?
provide directions for making iPad Maybe people will begin to use
• Cards have a fixed-size presenta-
designs more usable: the desktop Web for more goal-
tion canvas. You can position your
driven activities, such as researching
information within this two- • Add dimensionality and better
new issues or performing directed
dimensional space to your heart's define individual interactive areas
tasks like shopping and managing
content (allowing for beautiful to increase discoverability through
their investments. And they might
layouts), but you can't make it perceived affordances of what
use the iPad for more leisurely activi-
any bigger. Users have to jump to users can do where.
ties, such as keeping up with the
a new card to get more info than
• To achieve these interactive news (whether "real" news or social
will fit on a single card. HyperCard
benefits, loosen up the etched-glass network updates) and consuming
was the most famous example of
aesthetic. Going beyond the flat- entertainment-oriented content. We
this model.
land of iPad's first-generation apps don't know yet. The answer to this
• Scrolls provide room for as much might create slightly less attractive question will determine how far iPad
information as you want because screens, but designers can retain UIs have to move from their current
the canvas can extend as far down most of the good looks by making wacky style. n
as you please. Users have to jump the GUI cues more subtle than the
less, but at the cost of less-fancy heavy-handed visuals used in the Jakob Nielsen, PhD, is principal of Nielsen
layout because the designer can't Macintosh-to-Windows-7 progres- Norman Group (www.nngroup.com), a
control what users are seeing at sion of GUI styles. user -research firm specializing in Web
any given time. usability. He is the author or editor of 12
• Abandon the hope of value-add
books, including the recent Eyetracking
The Web is firmly in holy-scroller through weirdness. Better to use
Web Usability (New Riders Press). Dr.
camp, particularly these days: users consistent interaction techniques
Nielsen writes a bi-weekly newsletter, The
scroll a fair amount and sometimes that empower users to focus on
Alertbox, with a quarter-million readers,
view information far down long your content instead of wondering
at www.useit.com.
pages. Even mobile-phone apps often how to get it.
rely on scrolling to present more
• Support standard navigation,
than will fit on their tiny screens.
including a Back feature, search,
In contrast, card sharks dominate
clickable headlines, and a homep-
the early iPad designs. There's a bit
age for most apps.
of scrolling here and there, but most
Reprinted with permission of the original author. First appeared in http://www.useit.com/alertbox/ipad.html.
27
HACKER COMMENTS
On “Humans prefer cockiness to expertise” Answer to “What text On “Fake Steve Jobs: Why
*http://bit.ly/c4UR3b editor do you use?” I'm Switching to Android”
*http://bit.ly/aOA6qK
From Jonathan Tang (nostrademons) From Joe Cooper (SwellJoe)
Sounds crazy but I've do the research to make vim or emacs: pick one and From Ed Weissman (edw519)
used this in action. How sure you're not wrong. If get back to work. Editing 1980: CPM on your choice
do you think I got such you screw up everything, text is a solved problem. of hardware or lock into
high karma here? ;-) you'll probably get Apple hardware & software
Thing is - it works. Both another chance simply by On “Online advertising at a higher price.
online and in-person. I'd virtue of confidence (look is now dead” 1990: DOS on your choice
much rather be honest at John Meriweather, who *http://bit.ly/d9UK2e of hardware or lock into
about how little I know nearly brought down the Apple hardware & software
From Thomas Ptacek
(and often am when I'm global financial system at a higher price.
(tptacek)
working long-term with three times and is still 2000: Windows on your
The other day, Dave Winer
someone), but I've found managing money), but choice of hardware or lock
broke his Cuisinart coffee
it's a losing strategy in if you appear timid and into Apple hardware &
machine and was, within
most situations. If you do then screw up, people are software at a higher price.
5 minutes, able to replace
know your stuff, you'll all like "I knew he didn't 2010: Android on your
it on Amazon. Therefore,
just get shouted down by really know what he was choice of hardware or lock
online advertising is now
idiots. Better to shout the talking about..." into Apple hardware &
dead.
idiots down first and then software at a higher price.
29
STARTUPS
On Working
Remotely
By Jeff Atwood
“Always
standards. All the same, I was wor- That situation rectified itself soon sweeter. I eventually expanded the
ried that I'd go stir-crazy team in the same way by
with no division between
my work life and my home have a buddy, adding another old coding
buddy, Geoff, who lives
30 STARTUPS
that they were top pro- you know I'm not shy about saying grow
grammers by any metric no, either. We were able to build the
you'd care to measure. exactly what we wanted, exactly company, and I'd like
That's why they were able to work how we wanted. to grow it in distributed
remotely. Newbie programmers, or Bottom line, we were on a mission fashion, by hiring other amazing
competent programmers who are from God. And we still are. developers from around the world,
phoning it in, are absolutely not So, there are a few basic ground many of whom I have met through
going to have the moxie necessary to rules for remote development, at Stack Overflow itself.
get things done remotely — at least, least as I've seen it work: But how do you scale remote
not without a pointy haired manager, development? Joel had some deep
• The minimum remote team size is
or grumpy old team lead, breathing seated concerns about this, so I
two. Always have a buddy, even if
down their neck. Don't even think tapped one of my heroes, Miguel de
your buddy is on another conti-
about working remotely with anyone Icaza — who I'm proud to note is on
nent halfway across the world.
who doesn't freakin' bleed ones and our all-star board of advisors — and
zeros, and has a proven track record • Only grizzled veterans who he was generous enough to give us
of getting things done. absolutely love to code need apply some personal advice based on his
While Joel certainly had a lot of for remote development positions. experience running the Mono proj-
high level input into what Stack Mentoring of newbies or casual ect, which has dozens of developers
Overflow eventually became, I only programmers simply doesn't work distributed all over the world.
talked to him once a week, at best at all remotely. At the risk of summarizing merci-
(these calls were the genesis of lessly (and perhaps too much), I'll
• To be effective, remote teams need
our weekly podcast series). I had a boil down Miguel's advice the best
full autonomy and a leader (PM, if
strong, clear vision of what I wanted I can. There are three tools you'll
you will) who has a strong vision
Stack Overflow to be, and how I need in place if you plan to grow a
and the power to fully execute on
wanted it to work. Whenever there large-ish and still functional remote
that vision.
was a question about functionality or team:
implementation, my team was able This is all well and good when
to rally around me and collectively
make decisions we liked, and that I
personally felt were in tune with this
you have a remote team size of
three, as we did for the bulk of Stack
Overflow development. And all in
➊ Real time chat
When your team member lives
in Brazil, you can't exactly walk by
vision. And if you know me at all, the same country. Now we need to his desk to ask him a quick question,
31
“Chat is the most essential and omnipresent form
of communication you have when working
remotely.”
or bug him about something in his
recent checkin. Nope. You need a
way to casually ping your fellow
"whenever I have time to read that
stuff", noise engine, or distraction
from work … you've let someone cry
N and
obody hates meetings
process claptrap more than I
do, but there is a certain amount of
remote team members and get a wolf too much, and ruined it. So be process you'll need to keep a bunch
response back quickly. This should very careful. Noisy, argumentative, or of loosely connected remote teams
be low friction and available to all useless things posted to the mailing and developers in sync.
remote developers at all times. IM, list should be punishable by death.
IRC, some web based tool, laser
beams, smoke signals, carrier pigeon,
Or noogies.
32 STARTUPS
need to know every little detail, just mostly thought-stuff — will be like awesome — programmers. I wish
the big picture stuff: who was there? in ten, twenty, even thirty years … I could hire each and every one of
What topics were discussed? What don't you think it will look a lot you. OK, maybe I'm a little biased.
decisions were made? What are the like what happens every day right But to me, that's how awesome the
next steps? now on Stack Overflow? That is, Stack Overflow community is.
a programmer in Brazil helping a I believe remote development
33
Increase Conversion Rate
by Making Your Site Ugly
By Zack Linford
O many
ver the years
have contemplated the
counter-intuitive ability
of “ugly” sites to win huge market
share – think eBay.com, Amazon.
“ We trust things more when they look like
they were done for the love of it rather
than the sheer commercial value of it.”
com, DrudgeReport.com,
PlentyofFish.com, CraigsList.org, - Robert Scoble
MySpace.com, or usability expert
Jakob Nielsen’s Useit.com.
In our adventures in website optimization
➌ Accessibility
cycles back.
– Build for technology two
34 STARTUPS
Zero Zero
does beat a static beautiful website.
A website that’s easy to change, update, and
experiment on is better than one that relies
heavily on advanced CSS, Flash, images etc
that you can’t change quickly. By Rafael Corrales
I
want to be as your priority.
When you’re running a commercial website
’ve been thinking about something
just by virtue of having arrived, a user is a
that we always did junior year
qualified visitor ready for you to close.
when I was on my high school
So get the !@%$!@% out of their way and let
soccer team.
them transact!
When we’d score a goal, we realized
that it’s when a team is at its most vul-
Keep it simple nerable. I saw it first hand when many
• Make sure your homepage is crystal clear earlier teams I had been on would get
to let a user determine if your website will scored on right after our goal. It negates
fulfill their need. the whole point of working so hard for
that score.
• Let users get where they need to go in as
So that year, after a goal, we would
few clicks as possible.
pause and celebrate for just a few
Any design element that detracts from your seconds. And as we ran back to our side
focus – will lose the user – one of my favorite of the field, we always had one guy
examples of this is from a Marketing Experi- stop and yell at the top of his lungs,
ments study on email: “WHAT’S THE SCORE?” and we’d yell
back “ZERO-ZERO!”
That scared our competitors, but
more importantly it got us results.
That year we outscored the teams we
played something like 48 goals for and
6 against. We beat some of the best
teams in the southeast and some really
big schools.
My varsity team was barely 15 guys
from a 200 person school. We had a
high concentration of really talented
people, but the big part of our success
wasn’t our talent. Our success was
Of the three emails above B outperforms the actually the result of our mentality. And
other two design-element laden tests by 62%! that’s the broader point: don’t let your
It’s no surprise that the winning test lacks success turn into complacency. Because
over-blown design elements & complexity, right after a small success is when you
keeping it simple collects the sale. are the most vulnerable to complacency
We’ve battled designers and CMO’s and bad results. n
day in and day out for nearly a decade but
overwhelmingly following the 5-rules laid out Rafael Corrales is co-founder and CEO of
above drive results that simply win. n LearnBoost, a VC and angel backed education
startup offering free gradebook software. He
Zack Linford is the co-founder of graduated from Georgia Tech and holds an
ConversionVoodoo.com – a company dedicated to MBA from Harvard Business School.
increasing website conversion rates.
35
Mistakes I’ve Made & What
By Jaques Mattheij
36 STARTUPS
You Might Learn From Them
I either delegate too much or I’m a loner I have a lot of energy, but not
too little When it comes to doing things, I everybody is like that
This is probably one of my can do way too much. Electron- Another one of those ‘expecta-
biggest shortcomings, when ics, basic engineering, software, tion’ issues, I can work on stuff
delegating stuff I either hand metalworking, woodworking and with tremendous energy, but
it off and don’t look back until so on. If there is a technical skill that’s a rarity, and most people go
I’m presented with some kind of I’ve probably tried my hand at it, about life at a more relaxed pace.
disaster, or I’m so on top of it that and can do a reasonably job of it. I’m always doing something,
whoever is doing the job feels Not perfect, but good enough for I really can’t sit still for more
like the dragon is breathing down government work. That means than 3 minutes without having
their neck all the time. The sweet that I’m pretty self sufficient and to get up and doing something
spot is somewhere in the middle, there are only a few fields where (unless I’m watching a movie or
but I haven’t found it yet. I know that I absolutely suck. On reading a book, but that’s still
Over the years this has made top of that I’m a voracious reader doing something). Subconsciously
life harder for employees, with an extremely wide interest, I I expect other people to be like
partners and customers, I could remember most of what I’ve read. that too, and I’m often quite
have done a much better job here. Higher mathematics and design surprised when they’re tired or
Trust but verify is something would be two of the fields that I zoned out in front of the TV or
that I heard about way too late, really suck at, as well as managing simply doing nothing.
it also applies to some extent to people. The result of that is that I So I tend to burn people out,
‘1’ above. The mistakes I made was pretty happy running my one they try to keep up and give up
because of this are along the line man company and completely not after a while. I should try to slow
of letting people run a subsidiary prepared to deal with the reality down a bit to a more moderate
company for over 3 months of growing it, more people. pace and keep the ‘energy bursts’
without checking the books I wished that the ‘school of life’ to myself.
(and finding out much too late up to that point had forced me
that they’d gone off and spent more often to work together with
3 months worth of turn over people in a real team setting, first
in the local casino!), or riding as a team member, and then as a
shotgun on a new developer and team leader, so that I would have
disagreeing with just about every been better prepared to deal with
thing he did only to find out that. It definitely didn’t help in
many years later that there are my relations with the employees
multiple equally valid solutions to of the company when it grew. I
a problem. This is probably one was just a ‘techie’, never planning
of the hardest things for me to to be in charge of a company that
do, to ‘let go’ and to accept that size and I grew in to the job very
someone else will do something reluctantly.
different from the way I would Now I’m back to ‘square 1’,
do it, but will still do a good alone (or, more precisely with one
enough job of it. business partner) and much more
happy because of that, still not
sure if I’ve learned these lessons
well enough to be able to grow
again. Maybe.
37
“ When I see stuff I do not agree with I am very
outspoken, diplomacy is definitely not my
strong suit.”
I have a short attention span I’m pretty harsh I take full responsibility for
It is difficult for me to stay When I see stuff I do not agree each and every mistake I’ve ever
focused on the same thing for with I am very outspoken, diplo- made, no matter whether or not
a long time. This started when macy is definitely not my strong other people were involved, if
I was a kid, if I got some new suit. Not everybody can deal with there was something that I could
toy I would play with it for its this and even though I try very have done better then I regret
intended purpose for about 10 hard to moderate the force I find not having done that. In the
minutes, then rip it apart to see it very difficult, especially when long term though, I hope I can
how it worked. It took a long I think people are not nice to improve these aspects and that by
time before I had skills enough to other people. That can bring out learning from my past mistakes
put stuff back together again. a force 7 gale in no time at all. which taught me about these
I still have this, I learn pretty Even though the emotion driving traits, and I hope that I can avoid
quickly, but once I understand that is pure I could do a lot better future repetitions.
how something works the by tempering my feelings and I also hope that by reading
mystery has gone out of it and I coming up with constructive about this you may be able to
am likely to move on. But give criticism instead of full blown avoid some of my past mistakes.n
me a puzzle that is ‘unsolvable’ confrontation. This has soured
and I’ll probably spend a lifetime my relationships with people Jacques Mattheij is the inventor of the
on it. on more than one occasion, live streaming webcam, founder of
The only exceptions here were and some of those people were camarades.com / ww.com and a small
Lego (I played with it over and important players in or around time investor. He also collects insight-
over again), Electronics (taking my business. ful comments from Hacker News.
stuff apart was both a source of
parts and a way to learn) and
programming.
I have to work really very hard
to overcome this tendency and
I’m pretty sure that it has cost me
over the years to find little or no
interest in doing the ‘grunt’ work
of running a business.
38 STARTUPS
Reach the hackers and
startup founders who are
building tomorrow's web.
39
Hacker Monthly is an independent project by Netizens Media and not affiliated with Y Combinator in any way.