-
"One [memory] always stuck with me was him showing a moody, uplit black-and-white press portrait of Richard Meier in the cliché black-turtleneck and severe glasses in front of venetian blinds – eyes directed up and away in search of the future – very fountainhead. Kaplicky rumbled: “This is not design”. He pointed at me to click the slide carousel forward. An image of a carpark full of Boeing employees, from design engineers to HR to office cleaners in 777 project t-shirts waving at the camera. Kaplicky, now beaming, crookedly: “This. This is design.”" Sounds about right to me.
-
"Multiplayer Design Lead Tyson Green checked a week ago in with a lengthy explanation of the melee system in Halo 3, how it’s different from Halo 2’s what worked about both versions, what didn’t work and how it’s being addressed by the auto update. here's a reminder of what he explained." Via Offworld, this frankly excellent explanation of a Halo 3 patch from early 2008, explaining the problems latency brough to melee combat, and why Bungie implemented their solutions as they did. Clear, educational, and it feels like the right answer. More writing like this, please, games industry!
-
Playground for Google's Ajax APIs. Well implemented, and very useful.
-
"Isla Lyddle End lies on the far east of the British Archipelago. It is the largest of the eastern islands in what was once the continuous land mass known as Hornbyshire. Isla Lyddle End celebrates the Golden Jubilee of The Grand Iman of Britain HH Patel bin Windsor with a minaret clock tower, constructed of hard-pack, molded synthetic carbon nodules in full compliance with the Rock and Soil Conservation Act of 2038." Julian's Lyddle End 2050 entry is excellent.
-
"Reputation with various factions are being rebalanced. The gradated reputation scale was erroneously being overwritten by the binary For Us/ Against Us flag." Entertaining explanation of the changes in the White House in the style of World of Warcraft patch notes. No, really.
-
"News Knitter converts information gathered from the daily political news into clothing. Live news feed from the Internet that is broadcasted within 24 hours or a particular period is analyzed, filtered and converted into a unique visual pattern for a knitted sweater. The system consists of two different types of software: whereas one receives the content from live feeds the other converts it into visual patterns, and a fully computerized flat knitting machine produces the final output. Each product, sweater of News Knitter is an evidence/result of a specific day or period."
-
"Drop7 combines the easy fun of casual drop-and-break games with the smart, brain-stretching enjoyment of simple number puzzles." Chain Factor as-was hits the iPhone. It's very, very good. It's also $0.99 or 59p right now, so you should buy it.
Learning to Think Like A Programmer
22 January 2009
Charles Arthur recently wrote that if [he] had one piece of advice to a journalist starting out now, it would be: learn to code.
I understand the point he’s making, but I think there’s a further degree of subtlety to the argument. After all, learning to code is hard. Learning to glue together bits of scripts, and later bash your way into scripting langauges really is useful, but even that isn’t easy. It requires you to learn to translate intent into code, to know what’s possible, to know what’s easy and what’s hard, and to know what to do when third-party things you’re glueing together don’t work.
In short: it’s really easy to make a mess, and a mess that was difficult and stressful at that.
So my advice would be somewhat different, and apply to both those journalists who find code easy, and those who find it impossible:
Learn to think like a programmer.
What’s really important is to not understand how to do magical things with code, but to learn what magical things are possible, what the necessary inputs for that magic are, and who to ask to do it.
Identify the repetitive tasks that computers are good at. Yes, they’re good at find-and-replace, but tools like regular expressions are even handier, and I’m amazed how few people understand that find-and-replace is the beginning, not the end, of text processing. (And yes, I’m aware that regex are a quick way to give yourself two problems.)
Computers are really good at processing regular data, and they are really, really good at repetitive tasks. Every time I watched someone in an office doing a repetitive, regular task I despaired, because that’s exactly the kind of thing we have computers for.
You shouldn’t try to build the program that magically automates everything. But you should learn to smell the tasks where computers could help; learn to sniff out the angles on a story that a computer would be a useful tool for.
So that means when you find a table, or a regular data source, you don’t just take a print-out; ask for an Excel file, to convert to CSV, or maybe even a database dump. Even if you can’t do something with it, somebody else can. So the important thing to remember is what a progammer might want to receive.
When you’re gathering data, regularity is important. If you’re using Excel, keep it really simple, and one-column-per-thing, so that later a programmer can do something with the CSV. If you’re gathering textual information, put it in a plain text file, rather than Word; it’ll save you time in the long run.
Also: there are lots of useful tools that are halfway between being a programmer and not, and these are the most interesting spaces for the journalist right now. Simon linked to a bunch of these at the Guardian Hack Day, and it amazed me how many great tools there are for the non-programmer to do programmer-like tasks.
Excel, for starters, is a great environment (if a little limited and esoteric) for starting to explore datasets in a relatively visual way – structured data formats aren’t as immediate to more visual thinkers. Obvious examples include the frankly remarkable DabbleDB and, even though it’s never as useful as I hope it might be, Yahoo Pipes.
These let you exercise programmer-like thinking without needing to be a programmer. And then, when you’ve discovered what it is you want to do, even with the vaguest of prototypes, handing all your information and ideas over to a coder is much easier.
Why? Because you’ve already been thinking like a programmer. You’re handing them thoughts and data in the format they like.
So how do you learn this?
Partly, you have to try a bit of code yourself, but I’d make sure you’re always on the right side of the “understanding what I’m doing” vs “doing neat stuff” seesaw; understanding should be your goal.
Partly, it’s getting handy with a shell. One of the best places to explore what you can do with data is the command line; as well as the true scripting languages, there are tools like grep
, sed
and awk
which can be remarkably powerful. Not entirely user-friendly, I’ll give you, but easier than breaking out a full program.
And partly, it’s relaxing a little and stepping away from the Office suite. Putting your data in formats like CSV, XML, JSON, and plain text doesn’t just make the data more useful to coders; it’ll be more useful for you, when you want to move it around.
I remain convinced there’s an interesting book on “doing smart stuff with computers that isn’t quite programming but isn’t far off”, because let’s face it, most people deal with data all the time now, and have the ideal tool for working with it on their desks. Now they just need to work with it a little.
So whilst this isn’t quite the “learning to code” that Charles speaks of, it’s not far off. And indeed, I think he hits the nail on the head much better in his conclusion:
…nowadays, computers are a sort of primary source too. You’ve got to learn to interrogate them effectively – and quote them meaningfully – too.
That feels about right. You don’t need to be a coder, but you need to be able to interrogate computers meaningfully. Do that how you will.
(As for me? Well, I wanted to be a journalist, but fate didn’t turn that way (although I’ve worked in the media and had a small amount of writing published). I did, however, seem to take to the coding malarkey a little better. I still maintain I’m not really a programmer, and certainly not in the sense that my real-programmer friends are, but evidence sometimes disproves that).
-
"Slowly, over time, a page typeset in 1771 might start to get a whole new life, thanks to the growing authority we grant it through that elemental gesture of making a link." And this is why we need to empower the socialised book, not just through Google Books, but through the physical things themselves.
-
Official Poken site.
-
"Simply pull out your Poken and ‘high five’ it with your new best friend’s. Clever RF technology then zaps the info between the devices, so next time you log on to your favourite site, your profiles are linked. Genius!" Physical exchange of details, dead cheap, integrated through a web intermediate. Lovely.
-
"We don't provide the 'easy to program for' console that [developers] want, because 'easy to program for' means that anybody will be able to take advantage of pretty much what the hardware can do, so then the question is what do you do for the rest of the nine-and-a-half years?" It's good to see that Sony can still afford their weekly supply of crazy pills. Locking up potential inside a monkeypuzzle is a _good_ thing? "Official" leadership? What the hell, Kaz?
-
"When it’s just you, the rooftops and Faith’s slim repertoire of jumps, shimmies, slides and rolls, it’s something like the urban Tarzan game we all hoped Mirror’s Edge would be. Time Trial mode rewards practice and it rewards perseverance, and it’s the only reason to buy Mirror’s Edge." An interesting take on Mirror's Edge, which has a lot of truth in it.
-
"Thank you to everyone who emailed asking about a World of Goo Soundtrack. This is probably as close to an "official" soundtrack I'll ever make for the game World of Goo. I'm making it available here on my personal portfolio for free." No, thank you, Kyle.
-
A useful guide, although perhaps more detailed than you'd normally need. Still, clear instructions for handling reverting changes in git.
-
"Afterwards, we came to refer to certain types of accomplishments as “black triangles.” These are important accomplishments that take a lot of effort to achieve, but upon completion you don’t have much to show for it – only that more work can now proceed. It takes someone who really knows the guts of what you are doing to appreciate a black triangle."
-
112 different games1 It's amazing to think that "Moving Shields" and "Zigzagging Laser Bombs" could be counted as different game-types, though, and presumably that number comes from all possible combinations. The videogame industry's obsession with bullet-points on the box is deep-rooted, it seems. (From Simon Parkin's lovely "Box Art" blog).
-
"Mr Aygun once said: "I thought how much easier it would be if they could take their food with them." The first of the new snacks was served on March 2, 1971, at Hasir, his restaurant in Berlin. It was called a doner kebab after the Turkish word "dondurmek" which means a rotating roast." So now you know.
-
Olly Moss has now moved from movies to videogames, pastiching classic Penguin covers; the Goldeneye one is superb.
-
"It's just 4 names, on a t-shirt. Buy it now because you know whats coming and by then, it'll be too late. Good luck." Want, so bad. And the kerning's not a million miles out.
-
"MagiCal is a FREE menu-based clock and calendar. It features a huge range of configuration options for how the time and date are displayed, and can operate either in conjunction with, or as a replacement for the built in system menu clock." Quite pretty, and makes a nice companion for FuzzyClock.
-
"The microprinter is an experiment in physical activity streams and notification, using a repurposed receipt printer connected to the web. I use it for things like reminders, notifications, and my day at-a-glance, but anything that can be injected from the web and suits text only, short format messaging, will work." Tom writes up his printer in more detail.
-
"We’ve recently switched a number of projects to ThinkingSphinx here at Hashrocket. These projects were originally using SOLR or UltraSphinx. Today, we’ll explore the differences between UltraSphinx and ThinkingSphinx and why we chose to switch." Detailed explanation of the advantages of ThinkingSphinx over UltraSphinx or other alternatives.
-
"Last night I laser-etched the top of my Eee PC with the complete level maps of Super Mario Land ( on the Game Boy)." Just beautiful. (Thanks, Offworld!)
-
"Compared to a standard web (un)conference where everyone knows their space, expertise and opinions, here lots (most?) of us were exploring stuff outside of our day job and business-as-usual. It was passionate and interesting and I felt completely out of my depth, which was was great. So in 2009, less of the comfort zone stuff please, and more like this." I can get behind that.
-
"Morph was sometimes supposed to copy Hart's own artistic work, but not perfectly. In this way nervous children were reassured that even their endearing hero Morph could get it wrong, which made them determined to pick up their pens and pencils and other objects and do better… He believed that most of the things he did could be done only [on television]: "I hope that by example, and by humour, children will start to make pictures for themselves. Show them, don't tell them!"" I was terrible at art, and most forms of drawing, but I could watch his hands work all day.
-
The New Frontiersman is on Flickr. The paperverse is collapsing. (Although: "taken on August 10, 2008" breaks the illusion a little).
-
Leslie roughly captures a few thoughts I've had and some reasonably opinions. In a nutshell: the social value of tagging is broad, fuzzy, and a second-order effect. As a loose, freeform taxonomy for personal use, they're superb, and delicious captures that excellently. I tag for me; if it's useful for you, that's a nice side effect.
-
"Yesterday was the inaugural papercamp in London, alongside its big sister bookcamp. I presented a half bookish half paperish presentation about travel guides. What I forgot to mention or make explicit: how there are totally different stages and needs for guide books – especially pre-booking, pre-travel, during travel, during holiday. So here is, from memory, what I talked about, with a few additions:" This was jolly good, an a neat branching point between the Paper and the Books.
-
Lots of corrections. addenda, and general props from John Romero (who has a sweet personal domain) about the Game Developer article from 1994 linked to recently. Some interesting stuff, including commentary on the NeXTStep screengrab, some of the internal toolchain, and a few clarifications about the id/Apogee/Softdisk relationship.
-
"We aim to re-start production of analog INTEGRAL FILM for vintage Polaroid cameras in 2010. We have acquired Polaroid's old equipment, factory and seek your support." They're serious. Wow.
-
"A Ruby library that wraps the Viapost SOAP API, providing an easy way of sending post (you know, real letter box post) from your applications."
-
"Then came a brief interlude with teenage drinking (not recommended), and a short attempt at "being cool". That didn't last at all so the next army I got into was Orks." My love for Gerard Way knows few bounds.
-
Gosh, this is beautiful. I watched it, and the world stopped for a moment.
-
"Teams from around the globe have analyzed figures and come up with a secret formula for App Store success. I share these findings today, ABSOLUTELY FREE. Success is made up of: a FLASHLIGHT…. and DIRTY WET FART SOUNDS!!! Tweetie is the only app that bundles together these two incredible features FOR THE VERY FIRST TIME." Amazing. I must get this!
-
You'll need to sign up for Issuu to download it, but basically: it's a zine, it's aimed at men, so it's a men's zine, I guess. Some nice spreads, a consistent tone, and a hand-drawn map. Not ironic, just full of things.
-
"I mentioned I’ve learned some rules of how database apps change over time, now that I’ve done a few dozen. They are:" Some interesting thoughts on how cruft builds up over time in database-backed web apps; I can't say I disagree entirely.
-
"Imagine it: instead of text adventures and MUDs being designed to entertain MIT students and 23-year old computer engineers, they fall into the hands of bored housewives and teenage girls… This time there are romantic text adventures, digital doll's houses, dating games. Card deck games where you collect friends, or Versace. The trend continues and the licences that get picked up are not action movies, but those of popular soap operas: Not just hot teenage stuff like 90210, but Guiding Light, Days Of Our Lives, and One Life To Live. This is a games industry completely different to our own, and yet somehow… plausible." Jim Rossignol on the soap-as-game.
-
Leonard Richardson's talk from QCon, about REST, his work on Canonical's Launchpad and its web service, and some useful history for anyone wanting to contextualise web services as part of the web.
Chekhov’s Centaur
16 January 2009
If you put the main characters in a vehicle, at some point the player character will have to drive aforementioned vehicle.
Gears of War 2 is unusual: it’s put us all in this tank, and rather than giving me the Horrible Vehicle Sequence straight up, I’ve been sent on a variety of errands first first. I’ll no doubt get my reward soon.
(Other than bracing for the impact of an HVS, it’s a very guilty pleasure, and despite some misfires, a very good game).