-
"How does it work? Just put your image size after our URL and you'll get a placeholder." Nifty!
-
"…let's not kid ourselves. If you sell a game that's a first-person shooter, then no matter how many RPG elements you shoe-horn into the game, the shadow that hangs over every character interaction that you have, no matter who they are, is the question in the player's mind of "What happens if I shoot this person?" And that's our own fault! We've sold the player that; we've made a contract with the player that says it's okay to kill people. Why would we then chastise them for exploring that?" Patrick Redding is brilliant. This interview, with Chris Remo on Gamasutra, is great – Remo asks some smart questions, and Redding gives some really smart answers.
-
"The game insists that I focus, even for mundane activities like carrying groceries, on carefully following directions delivered to me visually on-screen. The simple act of carrying groceries is subsumed by the mechanical procedure of executing a series of prompts _for no apparent reason_. This, for me, is the primary disconnect in Heavy Rain. My mechanical game-directed actions don't amplify or add meaning to the in-game behaviors they execute. They don't pull me in; they keep me out. " Hmn. I've been thinking about something similar recently. Time to fire up the blogpostmatron…
-
Lovely, lovely article explaining just how the PeepCode Blog works. The blog itself features unique layouts for every post. There's no CMS, no database, but what's going on under the hood is at least as clever – and the flexibility makes the beautiful and clear pages much easier to build.
-
"…for reasons that baffle me, my TV can only receive the four terrestrial channels, plus a grainy feed from the building’s security cameras. Easy choice."
-
"All yeahs in a baby are always the same height." Crazy markup preprocessor of the day, with suitably entertaining documentation.
-
"It seems to me that Transgaming have done more to hurt the Mac gaming world than anyone else. The idea that you can turn your product into a Mac game OVERNIGHT, without employing ANYONE WHO SEEMS TO CARE ABOUT THE PLATFORM is an absurd thing to peddle."
-
"Tig provides a simple command-line yet visual interface to Git." An explanation of what Tig does, and why you might find it useful.
-
"Tig is a git repository browser that additionally can act as a pager for output from various git commands."
-
Marvellous – case study of all the packaging concepts for the bonkers House Of The Dead: Overkill. Lots of gnarly, grindhouse-inspired graphic design going on here, and many things that are as good as the final version.
-
Jolly good – easy to configure and get going, nice templating, and fast, because it's based on a databased index. Also, it looks like it's very actively maintained. Now added to this blog!
-
"Are all these industries in such terminal decline that they’re grasping around for any revenue stream or way out? Or is this the converged future, where business and culture are one and the same? Not only can’t I tell whether things are real or marketing vehicles any more, I can’t even determine what’s being marketed." Chris has a point.
-
Which is the sensible way to do things, and this feels about right.
-
The title says it all. Proper good, especially the sheer volume of A Lot Of Guys With Drums, and the way the brass replace some of the keyboard and bass parts.
-
"One Amish-man told me that the problem with phones, pagers, and PDAs (yes he knew about them) was that "you got messages rather than conversations." That's about as an accurate summation of our times as any." A wonderful quotation in the midst of this dense, fascinating article.
-
"Red dot fever enforces a precision into your design that the rest must meet to feel coherent. There’s no room for the hereish, nowish, thenish and soonish. The ‘good enough’." Dingdingding. +5 points to Taylor, as usual. Place, not location.
-
"TinkerKit is an Arduino-compatible physical computing prototyping toolkit aimed at design professionals. The interest in physical computing as an area in development within the creative industries has been increasing rapidly. In response to this Tinker.it! is developing the TinkerKit to introduce fast iterative physical computing methodologies to newcomers, and particularly design professionals." Standardised modules, standardised connectors, Arduino-compatible. I remember Massimo showing me his keyboard-emulating board ages ago. Nice to see Tinker productising the platform, too.
-
"The buttons are designed to look very similar to basic HTML input buttons. But they can handle multiple interactions with one basic design. The buttons we’re using are imageless, and they’re created entirely using HTML and CSS, plus some JavaScript to manage the behavior." Dark, dark voodoo, but very impressive – and excellently explained by Doug Bowman. It's nice to see Doug blogging again.
-
"If 2009 is going to see the emergence of high-quality browser-based games, then 2009 is going to be the year of Unity. It has: lots of powerful features; iPhone support; Wii publishing; a developing community; quality developers using it; and an upcoming upcoming PC version. In short, it is about to make a major splash. I feel compelled to jump in with it — the indie license is cheaper than the Flash IDE."
-
"bash completion support for core Git." Ooh. This looks really, really nice.
-
"Whiskey Media provides fully structured data APIs for the following: Giant Bomb (games) Comic Vine (comics) Anime Vice (anime/manga)". This is a really good page for both explaining what you can and can't do, and explaining what the damn thing is. Wonder how good the data is?
-
"Have you ever wanted to sink your hooks into a gaming database full of release dates, artwork, games, platforms, and other sorts of related data? I'm going to guess that, for the bulk of you, the answer's probably no. But if you're out there wondering what to do next with your developer-savvy smarts, you've got another big source to pull data from. The Giant Bomb API is now available for non-commercial use." Giant Bomb really are doing some pretty interesting stuff, alongside their more traditional content.
-
"Customers seem to respond better to the Sims than all the adventure games ever made combined together. Then there are Bejeweled and Peggle and other game games. Who needs a stink’n story? I prefer making interactive stories." The writer of "Dangerous High School Girls in Trouble", interviewed on RPS, drops an interesting one.
-
"The baseline grid. Oh yes, the baseline grid. Let's be honest this is the sort of thing you know you need to know about. And you do know about, you know, sort of. But. Do you really know about it? Of course you do if you work on a magazine or a newspaper, but when was the last time you used one? I almost re-taught myself how to use a baseline grid. I certainly re-read all about it and it pretty much saved my life." Ben, on the details of The Paper. Good stuff in here.
-
"This is by no means an exhaustive list, just a start. In each of these you’ll find other resources to help you dig deeper." Which, right now, is what I need. For a former front-end-dev, I'm a bit behind the curve.
-
"So we’ve progressed now from having just a Registry key entry, to having an executable, to having a randomly-named executable, to having an executable which is shuffled around a little bit on each machine, to one that’s encrypted– really more just obfuscated– to an executable that doesn’t even run as an executable. It runs merely as a series of threads." Fascinating interview with a smart guy, who at one point in his life, did some bad (if not entirely unethical) work.
-
"I do think that during the coming years we will continue to try to bridge the gap between simulated musicianship and real musicianship. That said, the path there is not obvious: As the interactivity moves closer to real instrumental performance, the complexity/difficulty explodes rapidly. The challenge is to move along this axis in sufficiently tiny increments, so that the experience remains accessible and compelling for many millions of people. It’s a hard, hard problem. But that’s part of what makes it fun to work on." There is loads in this interview that is awesome; it was hard to choose a quotation. Rigopulos is super-smart.
-
"On June 17th, every year, the family goes through a private ritual: we photograph ourselves to stop, for a fleeting moment, the arrow of time passing by." Perfectly executed.
-
"The Bop It commands are called out in different tones. These tones differ from version to version as well. In Bop It Blast, distinct tones are employed by both male and female speakers." I did not know that.
-
"A couple of other examples of this kind of thing we like, are the bookish experimentations of B.S. Johnson, whose second novel Alberto Angelo contains both stream-of-conciousness marginalia, and cut-through pages enabling the reader to see ahead – possibly the most radical act I know in experimental books." Yes! And which I bang on about interminably. I love this stuff.
-
"AlterEgo is a Ruby implementation of the State pattern as described by the Gang of Four. It differs from other Ruby state machine libraries in that it focuses on providing polymorphic behavior based on object state. In effect, it makes it easy to give an object different “personalities” depending on the state it is in." Oh, that could be really handy.
-
Oh gosh this is brilliant.
-
"Simply stick your finger in the hole and a virtual representation appears on the screen. Then you can use your virtual finger to play all kinds of cool mini games… from swinging a panda to having a karate fight with a tiny little man." Um, wow. Although I'm always afraid of putting appendages in boxes I can't see inside, though.
-
I think they're wrong, you know. It's not theatre; it's protocol. Maybe people aren't used to the protocol; if yours is the first app they encounter, they'll think that it's OK to show what passwords are – and perhaps that it's OK to write them down elsewhere in plaintext. Applications have a degree of responsibility for users' interactions across the internet, and quirky and cute as this may be, it's just not the place to demonstrate your shining personality.
-
The Brian Dettmer is beautiful. Also: didn't realise the heart/cube cogs were paper, not wood.
-
"…it's another little example of the way the ipod/iphone is such an attention-demanding device. It doesn't orient to you, it orients to itself." Yes. This is a problem.
-
"The US auto industry is on the verge of imploding. People are losing their homes to foreclosure. And, on the off chance that you had the nerve to try to buy something, credit is almost impossible to come by. It is against that backdrop that I would like to talk about working for free. Why? Because I think it is one of the fastest ways to make yourself a better photographer, whether you are a pro or an amateur."
-
"To the extent that the web is becoming truly ubiquitous, and involves increasingly multimodal paradigms of interaction, it seems appropriate to define a Web standard for representing emotion-related states, which can provide the required functionality." No, it does not seem appropriate. It seems bonkers.
-
Hey, I've been in that relationship too! These made me laugh a lot.
-
"bill. francis. louis – look here. help." Ah, the fun of the farm. It's all coming back to me now.
-
"These concepts are not complicated by Cern standards. We are entering a zone which is weaponised to boggle."
-
Simple, straightforward, pretty much correct.
-
Yes, this is going to come in handy.
-
"This javascript function can then read in the current content of the text area, format it using a trimmed down version of textile, and then set the content of a DIV with the resulting HTML. The end result of all this is live comment preview, with textile formatting." Live textile preview functionality.
-
"Trying to over-explain the cause of a disaster often detracts from its more tangible impact. … Instead, Faliszek says, it is more effective to create resonant gameplay experiences that players will remember, particularly if the setting in question, such as a zombie invasion (or a tornado outbreak, for that matter) is already familiar." Why games don't always need tangible villains.
-
A nice approach to doing some of the typical monitoring you'd want to do with Google Analytics, eg monitoring PDF downloads. I'm not totally convinced by some of his syntax, but the functionality is good, and the regex trick is nice.
-
"It's just an Nintendo in a toaster, but I like it."
I’ve just had my first patch accepted on an open source project. Quite chuffed with that! As of this weekend, the Rails calendar_helper
plugin is now at version 0.21. My changes are very minimal, and only really to do with the markup.
Firstly, the default table markup’s had an overhaul. The date now goes into a %lt;caption>
tag, outside the <thead>
, as is appropriate. The <th>
‘s in the thead
now have scope="col"
applied to them, again, as is appropriate.
The only other change is optional. If you pass in an option of :accessible => true
, any dates in the grid which fall outside the current month will have <span> class="hidden"> monthName</span>
appended to them. It could be reasonably inferred that plain numbers are dates that relate to the caption of the table, but the numbers outside the current month should probably be clarified.
You can come up with your own method of hiding content marked as .hidden
; at NPG, we use the following:
.hidden {
position:absolute;
left:0px;
top:-500px;
width:1px;
height:1px;
overflow:hidden;
}
but really, use whatever you’re most comfortable with.
You can get the plugin from Geoffrey Grosenbach’s subversion:
http://topfunky.net/svn/plugins/calendar_helper/
via the usual Rails plugin installation method.
The CSS Redundancy Checker
06 July 2007
There comes a point in every developer’s life when your realise the problem isn’t your work, but the tools you’ve got to hand. Toolsmithery is an important part of the job, and so I spent a few hours yesterday crafting a tool useful to any front-end developer.
The result is the CSS Redundancy Checker.
When you’re writing HTML, over time, your CSS files begin to fill up a lot. If you’re working on a large project, you might even end up with several people contributing to the CSS file, not to mention refactoring each other’s work. The result is a directory full of HTML files, and a very large CSS file.
What tends to happen is that not ever selector in the CSS file actually applies to your HTML; many are rendered redundant by refactoring, or by changes in HTML. But when you’ve got a 70k+ CSS file, it’s not easy to check precisely which selectors aren’t in use any more.
Enter the CSS Redundancy Checker. It’s a very simple tool, really. You pass in a single css file, and either a directory of HTML files, or a .txt file listing URLs (one to a line). It then proceeds to look at each file in turn, and at the end, list all the selectors in your css file that aren’t used by any of the HTML files.
That’s it. I’m pretty sure it’s accurate, and it should work with most CSS files. Most of the magic isn’t down to me, but down to _why the lucky stiff‘s marvelous Hpricot HTML parser. The script itself is about 50 lines of reasonably tidy Ruby. You’ll need Ruby, and Hpricot, in order to run it. There’s more full documentation over at the Google Code site where I’m hosting it. Please add any issues there, or get in touch if you want to contribute.
Things it doesn’t do: listing line numbers of where the selectors are. I wrote that functionality on the train this morning, but I can’t find a way to make it 100% accurate, so thought it best to leave it out – inaccurate line numbers are of no use to anyone. If you can come up with a way that works, let me know. Also, at some point I might turn it into a Textmate command. All in good time, though.
The need for the tool came out of a large project we’re working on at NPG, but I felt it would be useful to pretty much any HTML developer. So I’ve released it to the world. Let me know what you think, and do spread the word. You can get it via svn checkout, for now:
svn checkout http://css-redundancy-checker.googlecode.com/svn/trunk/ css-redundancy-checker