More on this book
Community
Kindle Notes & Highlights
by
Ken Kocienda
Read between
December 26, 2019 - January 3, 2020
Like the movie, demos should be specifically choreographed, so it’s clear what must be includ...
This highlight has been truncated due to consecutive passage length restrictions.
Those things that aren’t the main focus of a demo, but are required to create the proper setting, must be realized at the correct level of detail so they contribute to ...
This highlight has been truncated due to consecutive passage length restrictions.
When I make a demo, I think about the intended audience, and I make a specific decision about what features to include. I draw a conceptual ring around those key details, and I use a thick imaginary marker to do it.
The demo points inside the ring are the focus, and like the lamppost in the movie scene, I depict them with the highest fidelity. I leave outside the ring other less important details that will eventually have to be addressed, but not immediately. I pay them as little attention as possible. Like the inside of the hat shop, I omit them from the demo if I can get away with it.
I take extra care at the...
This highlight has been truncated due to consecutive passage length restrictions.
Some elements are right on the thick imaginary line, details that need some attention, since they help to set the scene and get my...
This highlight has been truncated due to consecutive passage length restrictions.
I want my demo audience to think they’re looking at something real, even though they aren’t.
I know the demo isn’t an actual product, and my audience knows it too, but creating the illusion of an actual product is essential during the development process to maintain the vision of what we’re actually trying to achieve,
one final characteristic shared between backlot scenes and software demos—both
both are elements in larger narratives.
Each advances it...
This highlight has been truncated due to consecutive passage length restrictions.
Look for ways to make quick progress. Watch for project stalls that might indicate a lack of potential. Cut corners to skip unnecessary effort. Remove distractions to focus attention where it needs to be. Start approximating your end goal as soon as possible. Maximize the impact of your most difficult effort. Combine inspiration, decisiveness, and craft to make demos.
Adapting the code written for one operating system so that it works on another is common enough that programmers have a word to describe the task:
porting.
The Mozilla project leaders had designed a system they hoped would turn their software into components they could snap together like LEGOs.
However, this scheme required reams of extra boilerplate code—programmers had to do something like filling out a pile of forms to register new code with this reuse system—and this buried their browser in red tape.
Now that we saw the implications of this engineering decision and the resulting 10:1 ratio of Mozilla code to Konqueror code, it seemed obvious that their com...
This highlight has been truncated due to consecutive passage length restrictions.
Mozilla was bloated, unwieldy, and...
This highlight has been truncated due to consecutive passage length restrictions.
The Konqueror team had taken the opposite tack. Their code ...
This highlight has been truncated due to consecutive passage length restrictions.
They prized b...
This highlight has been truncated due to consecutive passage length restrictions.
a little knowledge of software development jargon.
When I want a computer to perform a job, I type out my precise instructions using a programming language, like C++,
computer programs are much like cookbook recipes.
Both offer specific directions to accomplish a task.
Computers speak a binary language of 0s and 1s, so to get a computer to perform my job, I have to convert my C++ code into a computer-consumable binary form using a program called a
compiler.
This conversion process of human-readable to machine-...
This highlight has been truncated due to consecutive passage length restrictions.
compilation or b...
This highlight has been truncated due to consecutive passage length restrictions.
This translation procedure also explains why lines of code written in a program...
This highlight has been truncated due to consecutive passage length restrictions.
source...
This highlight has been truncated due to consecutive passage length restrictions.
They’re the source material a compiler builds into (i.e., translates into) binary code...
This highlight has been truncated due to consecutive passage length restrictions.
programmers break down all those lines into separate source code files.
Doing this helps programmers organize and structure the separate subtasks.
include directive,
Include directives in software exist for the same reason as page cross-references in cookbooks. Such directives help programmers to stay organized and to have only one copy of a set of instructions for each specific task.
This system isn’t perfect, since this cross-reference scheme introduces the possibility of mistakes.
Mistakes like this happen all the time in programming. People are fallible and computers are unforgiving.
Many things can go wrong when writing programs, like making an error in programming language syntax (akin to a spelling error in a cookbook) or referring to an incorrect file in an include directive (like looking on the wrong page for the Hollandaise sauce recipe).
What’s more, compilers don’t have any capacity to understand what you mean if you do...
This highlight has been truncated due to consecutive passage length restrictions.
Like trying to perfect a recipe in the kitchen, getting a program to build and run correctly takes a large number of tries—rewriting
Apple didn’t separate research and development from software implementation.
We were responsible for coming up with the ideas for our web browser and writing the shipping code that went out to customers too.
one per cent inspiration and ninety-nine per cent perspiration.”
For Edison, it was more important to build on promising ideas and keep working and working until an invention was made real.
We want to believe geniuses like Edison can conjure world-changing inventions out of thin air. Easy explanations are alluring, and Edison-like inspiration seems magical.
Perspiration, we know, involves drudgery.
Ideas are nothing without the hard work to make them real.
Hard work is hard. Inspiration does not pay off without diligence.
We collaborated to get through the drudgery.
The focus would be on one thing: