The Messina’ contraption is a rare occurrence in today’s ProTools-oriented production world. Rather than record an instrument or voice into a computer and manipulate the audio file in post-production, Vernon and Messina have figured out a way to split a melody into several harmonies on the fly, giving the player the ability to change the chords and arrangement in real time. The Messina is all over 22, A Million, but its abilities are heard most distinctly in the mind-bending saxophone spinout on “45,” the second-to-last track on the album. Michael Lewis’s free-form sax lines bend and slip in and out of time as Vernon arranges them into gospel chord changes, and it sounds like Lewis’s playing is a ribbon that Vernon is picking up and zig-zagging through the air.
And then me and Lewis, the instrument we were playing was only possible to play as two people, and it was just us making music as freely as humanly possible.
Pinker talks for an hour about how humans use language. Fascinating.
Introduced in 1984. Superseded the jeep.
Main job: people and supply carrier.
Specifications. Drive on- and off-road. Carry large loads. Survive indirect fire better than the jeep. Climb a 60% incline. Traverse a 40% incline. Electronics waterproofed against driving through 2.5 feet of water.
Weight: 2-3 tonnes.
Speed: up to 70 mph.
During the Iraq war, the role of the US army changed from fighting the Iraqi army to suppressing guerrilla insurgents. This meant Humvees had to withstand IEDs more often. To adapt to this, the US manufactured and added armour kits for the vehicles. These made them heavier and less manoeuvrable. When they withstood an explosion, the doors tended to jam, trapping soldiers inside. To adapt to this, hooks were added to the outside of the doors so another vehicle could yank them off.
Indirect fire is artillery that doesn’t require a line of sight between the weapon and target. E.g. a mortar.
Traversing means driving along, rather than up or down.
Travelling through the pack ice in a ship:
And then without warning and reason, as far as we could see, it would open out again, and broad black leads and lakes would appear where there had been only white snow and ice before, and we would make just a few more miles.
Clean Code, Robert C. Martin
Lots of applicable advice.
The Software Craftsman, Sandro Mancuso
Apprenticeship Patterns, Dave Hoover and Adewale Oshineye
Practical Object Oriented Programming in Ruby, Sandi Metz
Describes a useful toolkit for writing OO programs.
Infinite Loop, Michael Malone
I wanted this to be more about design and less about business.
How Children Fail, John Holt
Lucid accounts of the practicalities of helping children learn. Gold dust.
Make it Stick, Peter C. Brown, Henry L. Roediger and Mark A. McDaniel
Techniques for how to learn topics well enough to apply them.
Going Solo, Roald Dahl
A very interesting account of when Dahl was a fighter pilot in WW2.
Reinventing Organizations, Frederic Laloux
The Design of Everyday Things, Donald Norman
Half of it is about systems for formally analysing designs. Half of it is examples. Pretty good.
Envisioning Information, Edward Tufte
Many examples of visualisations, with analysis and evaluation. I wanted this to include a system to use when designing visualisations.
Sapiens, Yuval Noah Harari
Loved the parts about anthropology. Didn’t like the whirlwind tour of societies.
Do No Harm, Henry Marsh
The essay about an operation to repair an aneurysm is very interesting and exciting. Most of the rest of the book is boring reflections on foolish hospital practices.
Dealers of Lightning, Michael A. Hiltzik
A good overview of XEROX PARC. I wanted more about the technology and less about the personalities.
Spelunky, Derek Yu
Eloquent Ruby, Russ Olsen
A Fine Balance, Rohinton Mistry
Blew my mind. The first novel I’ve enjoyed in many years. So restrained and careful.
The Process of Education, Jerome Bruner
Amazing ideas about intuition, spiraling, and how all learning should be about getting to the structural truth of a topic. I adored his idea that children who are studying a topic should be doing the same activities as an expert researcher. Little physicists in white coats and safety goggles.
I saw this in my week off work before Christmas. It’s 3D, and made me feel awe.
There’s incredible footage of the surface of the sun that looks like a volcano.
And there’s a scene where astronauts arrive at the International Space Station. They come inside through a hatch and greet the astronauts who are already there. It feels like they’ve come to visit family, but they’ve journeyed through space to get there.
See this excerpt of Pinocchio for an example of both horizontal and vertical movement.
Saw this with Lauren and Govind at the Wallace Collection.
My sister, niece and nephew are staying with us tonight. They made us gingerbread men. Those are gardening gloves.
A video demo Subtext, a programming environment that works like an instantly and executing and directly editable AST.
I had walked into that high school class prepared to help them in any way that I could. But instead of the school learning from my experience, I learned from them. They showed how computer science education should be done. Start everyone early, and offer those who are passionate about the subject limitless room to grow.
School boards fight to keep CS out of schools, since every minute spent on CS is one less minute spent on core subjects like English and math. The students’ test scores in these core subjects determine next year’s funding, so CS is a threat.
Teachers often refuse to teach real CS because more often than not they don’t understand it. Instead, they end up teaching word processing and website construction, while calling it CS.
Parents often oppose CS classes since the grade has no direct benefit on their child’s academic prospects. This is compounded by a lack of understanding of the difference between their child playing video games and their child writing video games.
Students intentionally tune out of CS class since there are few things worse in American high school than being labelled a nerd.
But Wittgenstein was “interested in everything,” and he engaged his students in a sort of “project-based learning” that wouldn’t be out of place in the best elementary classrooms today. They designed steam engines and buildings together, and built models of them; dissected animals; examined things with a microscope Wittgenstein brought from Vienna; read literature; learned constellations lying under the night sky; and took trips to Vienna, where they stayed at a school run by his sister Hermine. Just to get to the train required a twelve-mile hike through the mountainous forest around Trattenbach; on the return trip, the students made this hike after midnight. On the way, Wittgenstein would ask them the names they’d learned of the plants in the forest. In Vienna they would discuss the architectural styles of the buildings they visited and look for examples of the machines they had modelled.
Chris Ford shows how to make music using functional composition. He starts with the basic building block of sound, the sine wave, and gradually accumulates abstractions. His talk builds to a Bach canon.
I was twenty-five. But, already, I was beginning to get a little set in my ways; perhaps, I reflected in my rare moments of introspection, even a little smug. There were those pin-striped suits from Scholte; those blue and white shirts from Beale and Inman with their starched collars; those neat, well-cleaned shoes from Lobb; the dark red carnation that came every morning from the florist in the Faubourg Saint Honoré. After breakfast a brief walk under the trees in the Champs Elysées. Or sometimes a ride among the leafy avenues of the Bois. Then the daily, not disagreeable task of drafting telegrams and dispatches, on thick, blue laid paper, in a style and a handwriting which, I flattered myself, both discreetly reflected a classical education. Occasional telephone calls. Occasional visits to the Quai d'Orsay; the smell of bees-wax in the passages; the rather fusty smell of the cluttered, steam-heated offices; comment allez-vous, cher collègue? Luncheon at a restaurant or at somebody’s house: politics and people. Afterwards, a pleasant feeling of repletion. Then, more telegrams, more dispatches, more telephone calls till dinner time. A bath. A drink. And then all the different lights and colours and smells and noises of Paris at night. Big official dinner parties, with white ties and decorations. Small private dinner parties with black ties and that particular type of general conversation at which the French excel. The best-dressed women, the best food, the best wine, the best brandy in the world. Parties in restaurants. Parties in night clubs. The Théâtre De Dix Heures, the chansonniers: jokes about politics and sex. The Bal Tabarin: the rattle and bang of the can-can; the plump thighs of the dancers in their long black silk stockings. Week after week; month after month. An agreeable existence, but one that, if prolonged unduly, seemed bound to lead to chronic liver trouble, if to nothing worse.
How to redesign UIs to help users do the things that are important to them.
(Leonardo and Fra Filippo Lippi.)
They find a fun mechanic, like jumping, or hoovering, and then use it for every interaction the player has with the world. The story, character and world design follow from the mechanic.
A diagnostic level score was assigned to subjects’ [debugging] behaviors.
At the lowest level (level 0), subjects randomly choose circuit elements or program lines to test.
At the next level (level 1), subjects used a systematic forward or backward pattern. For example, a subject using a systematic forward movement might start in the upper left hand corner of the circuit and test elements to the right. A systematic backward movement would start at one of the elements connected to a place where the expected and actual outputs did not match. Then the subject would test each element backward until no error in output is found.
At level 2, subjects targeted certain areas of the circuit or program to test first. For example, if a subject noticed that the expected and actual outputs do not match for the top circuit element but they do match for the bottom circuit element, then a subject using a targeting strategy would test each element connected only to the top circuit element and not to the bottom one.
Finally, the highest level strategy (level 3), reasoning from output characteristics, not only targeted a certain area but also used process-outcome pairings. By process-outcome pairing, we mean that a subject would examine the expected and actual output and notice the difference between the outputs. Then, the subject would identify those circuit elements or program statements that could cause the difference.
Saw this at the Abstract Expressionism exhibition at the RA this weekend.
I sometimes break down my experience of a piece art into two parts: the feelings I have when I interact with it, and the thoughts I have when I think about it later. The same is true for video games. My favorite games are both enjoyable to interact with, and interesting to think about.
Fascinating accounts of fighter combat in World War II.
A fascinating documentary, full of detail about De Palma’s approach to directing.
For the first interview of the day, I’ve started including a really, really easy programming problem. I had to start doing this during the dotcom boom when a lot of people who thought HTML was “programming” started showing up for interviews, and I needed a way to avoid wasting too much time with them. It’s the kind of problem that any programmer working today should be able to solve in about one minute. Some examples:
Write a function that determines if a string starts with an upper-case letter A-Z.
Write a function that determines the area of a circle given the radius.
Add up all the values in an array.
These softball questions seem too easy, so when I first started asking them, I had to admit that I really expected everyone to sail right through them. What I discovered was that everybody solved the problem, but there was a lot of variation in how long it took them to solve.
That reminded me of why I couldn’t trade bonds for a living.
Jared is a bond trader. He is always telling me about interesting deals that he did. There’s this thing called an option, and there are puts, and calls, and the market steepens, so you put on steepeners, and it’s all very confusing, but the weird thing is that I know what all the words mean, I know exactly what a put is (the right, but not the responsibility, to sell something at a certain price) and in only three minutes I can figure out what should happen if you own a put and the market goes up, but I need the full three minutes to figure it out, and when he’s telling me a more complicated story, where the puts are just the first bit, there are lots of other bits to the story, I lose track very quickly, because I’m lost in thought (“let’s see, market goes up, that mean interest rates go down, and now, a put is the right to sell something…”) until he gets out the graph paper and starts walking me through it, and my eyes glazeth over and it’s very sad. Even though I understand all the little bits, I can’t understand them fast enough to get the big picture.
And the same thing happens in programming. If the basic concepts aren’t so easy that you don’t even have to think about them, you’re not going to get the big concepts.
Serge Lang, a math professor at Yale, used to give his Calculus students a fairly simple algebra problem on the first day of classes, one which almost everyone could solve, but some of them solved it as quickly as they could write while others took a while, and Professor Lang claimed that all of the students who solved the problem as quickly as they could write would get an A in the Calculus course, and all the others wouldn’t. The speed with which they solved a simple algebra problem was as good a predictor of the final grade in Calculus as a whole semester of homework, tests, midterms, and a final.
Lauren, Matthew, Ruth and I went here last weekend with Ruth’s brother and his son. It was so cool.
There is a big, rocky slope with pumps. Children can dam the rocks to make conduits for the water.
And there’s a colossal tree house made of interconnected rope and wood bridges, netting and tree towers. There is an element of danger, but the risk is minimised by the soft ground and webbed rope. Lots of brave children clambered around, and a brave Mary and Lauren, too.
I’ll hire anybody who has ten years’ professional illustration experience. No computer experience required. I can’t teach anybody how to spend a lifetime drawing, but I can teach people to use a computer.
Cheng’s company, Klei, made Mark of the Ninja and Invisible Inc. This interview has some great stuff about how the company designs games.
Cheng: “[Don’t Starve] is about intrinsic rewards. We’re not going to do extrinsic rewards. We need to really double down on that. And what does that mean? So it was all systemic. We would never tell them what their goal is.”
Interviewer: “Kevin talked about how, at one point, there was a tutorial with five things to do. And the players would do the five things and they would just stop. That’s the thing with games - you have to commit to some extreme paths. If you don’t do [extrinsic motivation], that’s fine but you shouldn’t do it at all.”
I love this as an example of extrinsic motivation killing intrinsic motivation. It focuses on the idea that the death comes not from a corruption of character, but from a misguiding of expectations.
Cheng: “That’s what the game was back then. You need to play the game for five hours and then you understand it. But that’s way too much.”
Interviewer: “How did you change that? Did you take stuff away? Did you make it simpler?”
Cheng: “It’s a lot of feedback. Why did I lose here? What could I do?”
Interviewer: “How did you communicate the alternatives?”
Cheng: “A thousand little things. Like, if I go up diagonally beside a person, I can’t take them out, but I can right behind them. So I pop up the take out button and when you hover over it says you can’t do it diagonally.”
Cheng: “How do we get good at design?”
Interviewer: “It’s simple to say, but what does that mean exactly?”
Cheng: “It’s a good question. I don’t really know. This is a thing you have to care about. That meant people coming in every week and playing your game, even though it sucks. That meant trying to break down design and think about the whole experience, instead of little bits. That meant reading the shitty reviews, and instead of being defensive about it, trying to understand what it really means underneath.”
Interviewer: “That to me is the key to separating out who’s going to be a good designer. Being able to read that stuff and do something with it, instead of being hurt. And it’s super hard.”
Cheng: “Even now, it’s like, I’m going to read your feedback, and then I’ll get mad and go and cool down for while, and then I’ll come back and ask you some more questions.”
I saw this a couple of years ago at the DOC NYC film festival. It’s a documentary about Noam Chomsky. Three things stuck with me.
Chomsky talked about his wife. Chomsky and his wife married at nineteen and were married until she died in 2008. He said that they had a few friends, but were mostly just interested in spending time alone. The documentary is partly animated. When Chomsky talked about his wife’s death, his animated figure opened a hole in a bed and climbed through into nighttime sky.
Chomsky talked about how humans parse ambiguous sentences. He said that the brain resolves the ambiguity by finding the simplest parse tree.
Chomsky talked about the how humans identify something as discrete and having an identity. He said it’s nothing to do with appearance. He gave the example of a fairytale prince who is turned into a stone. He said even a child sees the prince and stone as the same object, because of the continuity between the prince being a man and the prince becoming a stone.