Memo to self: bash
profile is in /etc/profile
. Not anywhere else, they don’t work. No idea why. But next time you need to alter your $PATH
– it’s there.
Memo to self
19 March 2006
- Coping with Scoping — or: namespaces for numpties. Because whilst I can tell that PHPs "all functions in one big namespace" is wrong, I don’t know why. This helps.
Tagged as: namespaces perl programming - How to use SQLite with Ruby On Rails — For all those times when a real database is overkill
Tagged as: database development programming rails ruby rubyonrails sqlite
Find-and-replace through directories with Rio
17 March 2006
So I’ve been fiddling with Rio recently. I’m trying to write a little script to find and replace throughout a directory – and all its subdirectories, recursively. Given the end result of this might end up being an application based upon Rails, it seemed best to write this in Ruby. And I remembered someone (Tiest, I think) mentioning Rio at one of the LRUG meetings. So I gave it a shot.
Rio is, in short, lovely. It acts as a convenience wrapper around a whole host of modules – including Kernel
, File
, Dir
, and others – and basically makes reading and writing files a doddle. It’s also quite powerful, and makes batch operations across directories really easy, once you’ve figured it out.
So my global find/replace script comes down to this:
rio('dirname').all.files.skip(/^\./).do |eachfile|
eachfile < eachfile.contents.gsub("search", "replace")
end
And that's it. Obviously, this being gsub
, "search
" can be replaced with any regular expression of your choosing. I'm sure I could do it faster in sed/awk/grep, but I'm not as familiar with them as many - and this way around, I can patch this snippet into a larger Ruby application. The skip
clause forces Rio to ignore files beginning with a dot, as .DS_Store
and friends cause it problems (it seems).
Anyhow, I'm very impressed with Rio - saves a lot of faffing with read and write modes - and can highly recommend it if you need to faff with the file system in Ruby.
- under odysseus — A weblog being kept during the Odyssey. Funny.
Tagged as: blog funny homer literature - Vitaly Friedman | Blog: 25 Best License-Free Quality Fonts — Not only tasteful, but also (by and large) in a selection of different weights.
Tagged as: design fonts free typography
- Avant Game — Jane McGonigal’s weblog – Jane guided us through a few games of Werewolf on Tuesday night at Etech. Much fun was had, and many innocent villagers slaughtered…
Tagged as: blog games gaming play - KartMatch — Ning-powered app for finding other Mario Kart friendcodes. Fun!
Tagged as: ds mariokart ning nintendo socialsoftware - Phonogram — Kieron Gillen goes to work on what looks like a cross between Quadrophenia, Hellblazer, and the best of Plan B. Can’t wait.
Tagged as: comic music pop
Time to leave
12 March 2006
Well, that was America. Thanks to the very generous Dan Heaf, I’m sitting in the Virgin Atlantic Lounge at LAX, sipping free drinks and catching up the world online. The presentation went down well, it seems; I’ve had some interesting emails as a result and some kind words. The PDF isn’t up online yet, but the most indepthwrite-up – featuring pictures of yours truly + slides – is over at Near Near Future. Given Regine was in the front row, hammering away at her notes, there are obviously some gaps but the basic premise is there. I’d argue it’s less a “consumer” perspective and more just a perspective on the gaming industry (rather than academic/research perspectives), but it’s still great to see it out there, and to a huge audience. Thanks very much for the write-up, Regine!
And so I’m about to board a plane and hop back to the UK. I’ve had a great time at Etech – it all began sinking in late on Thursday (and especially very late on Thursday, when I had a fantastic night, thanks to danah, Matt, Alex, and many others).
Many thanks must also go to the organisers of the conference, O’Reilly and especially to all those (friends and new acquaintances) in the British contingent who put up with me, nerves and all, and steered me through safely. It’s slowly sinking in just how wonderful an experience it was. My further thoughts from the conference – and there are, as ever, several, will follow in due course.
- HQ9 – Wikipedia, the free encyclopedia — Cal told me about this. I think I could be good at it.
Tagged as: absurd funny language programming
- The 3 steps — A talk by Matt Webb from Reboot7 – he referenced it in his playsh talk, and it’s very much worth going over again.
Tagged as: computerscience objects physics programming - Moderation Strategies | Main / HomePage — Clay Shirky’s wiki for discussion pattern languages of moderation.
Tagged as: community discussion language moderation online - Coherence Engine: May 2003 —
Tagged as: objectorientation programming software
Feedback loops
08 March 2006
(this may change at some point in the future; I’m still revising this stuff but thought I may as well put it out there).
Etech06 is going really, really well for me (so far): lots of things emerging in my head, at the least. One thing that’s coming out of quite a bit is a discussion of feedback loops.
Feedback loops are really, really important. Amy Jo Kim touched on feedback as an essential part of ludic design – without feedback, play isn’t satisfying (and play is what all early adopters are doing all the time). Feeedback is what generates challenge/reward structures in games. Feedback loops are how communities emerge – I do something, you do something back; it’s the implicit social structures Amy Jo mentioned. Derek Powazek is currently talking about the “new community” – and mentions MeasureMap.
And, of course, MeasureMap is all about feedback – I can see when I made posts, and when comments came; I can track popularity. I’m no longer sending blindly into the ether; I’m sending and tracking response.
And once you track response, you can write so much better; you can design so much better; you can act on the feedback and you get a loop. And that loop’s really important – it’s what keep things going. If there’s not a feedback loop, things tail off, fall away.
That’s why Google bought MeasureMap: they had Blogger already. People can post to the web; they can broadcast into the ether. Once you give them MeasureMap, they become successful, effective publishers. When people say “what’s the point of blogging?”, they say it as an outsider – they just think it’s publishing. They don’t know about the stat-tracking, the refining. Once you have a feedback loop – once you can see the influence (or lack of it) that you have… that’s when it all clicks. That’s when you get placed into a significance grid – your posts get located in space, time, relevance, authority, etcetera.
Play is about feedback; games are about feedback; publishing is about feedback. A lot of the stuff this morning about attention: it’s all about invisible, natural feedback – tracking eyes-on-screens. We can track hits; now we need to track attention. And when we can measure it, we can value it, and we can price it.
That’s the attention economy. Placing everything into this feedback loop of value.
If you’re a business guy, you see how you can price, monetize, and securitize that feedback. If you’re a player or a hacker, you see what loops you can join together in a mash-up, or where you can generate new feedback, what new variables you can track. And that’s the “connective tissue” that Derek’s talking about.
- Bruce Sterling. The Wonderful Power of Storytelling — Must read this – games and storytelling. Bruce is currently blowing me away at Etech06
Tagged as: design games narrative narratology storytelling text writing - Kelly Dobson: Blendie — Voice-controlled blender. Lovely.
Tagged as: fun hardware interactiondesign ixda