Euphemism Generator
Posted on | July 18, 2010 | No Comments
A quick spot of fun whipped up over the weekend, the euphemism generator was a tiny project mainly intended as an excuse to fiddle around with JQuery – something I should have done a long time ago. The result is pretty basic, but it’s amusing enough (at least to me) to warrant it’s own little place on the web.
I dropped in a fairly primitive tweet this function which uses the ?status= querystring approach. It’s crude, but it does the trick. I also threw in a rather nifty social networking widget from www.addthis.com which seems to work quite nicely.
Check it out at www.notaeuphemism.com.
The idea for the generator itself was shamelessly lifted from these funny dudes.
Waiter, there’s a soup in my iPad
Posted on | June 14, 2010 | 1 Comment
I’ve long harbored a desire to have a meal at Pearl, a house of noms widely regarded as being a bit of alright by those who ought to know. It certainly looks like the kind of place i like – creative, contemporary cooking which draws from a variety of styles in a schwanky, but not wanky, setting.
But my enthusiasm dropped several notches last week when I read that proprietor Chris Lucas intends to supplement printed menus with Apple’s new plaything, the iPad*. In an article in The Australian, Lucas enthuses about a specially written app which will allow diners to read about each dish in his restaurant, plus the wine list, and delve into great detail about specific aspects – presumably cooking styles, ingredients and their origin or some such thing. The app will also recommend wine matches and provide tasting notes on all things drinkable.
What I want to say to Chris, if he is reading this, is: Do not be a dick.
I can think of at least a dozen places where I would happily use an iPad in the place of a book, a tv, a laptop, newpapers, a music player…well, you get the idea. But the thought of sitting around the table at a relatively classy restaurant while my dining companions tap, swipe, pinch and scroll their way through a detailed multimedia glossary of the meal they are about to enjoy does not appeal. Not at all.
Restaurant dining is a social activity. Sure, the food is at the center, but the the real joy comes from the company you share it with, from the atmosphere of the room, and from the interaction with the staff on the floor. Unfortunately, screens have an inherently detrimental effect on interaction between people, especially screens which are fundamentally designed for a single user.
Lucas says it’s all about catering to his diner’s desire to know more about what they are eating. “It doesn’t matter whether it’s ingredients, origins of produce or wine, and particularly Old World wine, this platform can provide as little, or as much, information as each customer wants.”
No thanks. As far as I’m concerned, at a restaurant the caliber of Pearl that’s the job of your waiters and sommeliers. I’ll fiddle around on Wikipedia when I get home if I want to read about a history of beef carpaccio, but when I’m in your restaurant I’d prefer to speak to real people. Especially the ones I’m sharing a table with.
I know, i know. It’s just for the ordering part of the night. People stop and read their menus anyway. It allows interested diners to learn more about the food they are paying so much money to eat. Blah-di-fucking-blah.
Sorry, but it’s not like a menu at all. A fine menu is an art, it should tantalise and excite, it should intrugue. It should create a sense of anticipation and expectation. It should leave room for surprise so that the moment when the dish is presented is ever so slightly magical. And, critically, it should stimulate discussion – not kill it stone dead.
To my mind, some of the magic is lost if, by the time the dish has arrived, you have seen photos of the finished product, watched a video of it being prepared, read about the farm from where then main ingredient was sourced, and learned that carpaccio was invented in Venice in 1950. And who’s talking to anyone while they play with all that on a shiny touch screen gizmo?
Here’s an idea – take the iPad and release it for download. People who are interested can play to their hearts content before they come to dine, or use it afterwards to relieve the great meal and learn more about its origins, history and craft. But please, keep the screens off the dining table.
*you may not have heard of the iPad. The media, blogosphere, twitter, and other popular sources of news and gossip have barely bothered to even acknowledge the existence of this funny little gadget, let alone disucss it any great detail. So far as I can tell from what scant information exists, an iPad basically a sketch book with a waffle iron attached**.
**apologies to Grampa Simpson
Hype
Posted on | May 25, 2010 | No Comments
Joshua Davis and Branden Hall have released a fantastic ActionScript 3 library for visual programming. Not be be confused with a tween engine, Hype is a collection of tools which greatly simplify the task of programming and combining complex visual effects and behaviors.
I’ve only had the briefest of fiddles, barely scratching the surface, but so far i’m really impressed by the ease of use, the range of tools available, and the overall performance of the engine. I’ve posted a couple of samples to whet your appetite here (non-interactive) and here (wiggle your mouse for some action).
For the full enchilada, check out the official site http://www.hypeframework.org.
Tags: branden hall > coding > hype > joshua davis > Programming
Modern Ideas Are Bullshit
Posted on | April 25, 2010 | 3 Comments
Idea #17: Crowdsourcing
There’s this thing all the kids at work are talking about. It’s called crowdsourcing, and apparently it’s the absolute fucking business. In the tradition Lady Midler’s finest, crowdsourcing provides unparalleled opportunity for the unwashed interwebby masses to offer up the substantive wind of content beneath one’s bloggy wings.
Let’s say that again, shall we? The substantive wind of content. Yes, it’s that great.
In a nutshell, the crowdsourcing premise is simple. Publishers ask audience for content. Audience supplies content to publishers. Publishers publish audience-supplied content back to the same audience. Audience consumes content supplied by itself, now repackaged with advertising. Copywriters go back to waiting tables, where they belong.
I don’t know about you – hell I don’t even know about me – but the thought of this, a kind of publisher’s perpetual motion device, is enough to make some of the more mercenary types in my business go a little misty eyed. However, the question remains: does it work? In the spirit of scientific enquiry, a test was required.
So I raised the digital conch to my lips, inhaled a lungful of Melbourne’s best, and gave breath to a distress call for my fellow twitter citizens of the interpipes: “I have a mind to write something. Give me a topic for a blog post. Anything will do.”
In response, the internet literally came alive* with a number of replies so vast that I can only describe it as “four”.
Four.
Ok. So the actual quantity of replies was kinda sub-par. But quality counts for something, right? Well then, let’s review the interweb’s finest thought-starters in the order in which they were received:
- makin a sandwhich
Not a bad idea, this one. Now that Master Chef is back, the mood is doubtless ripe amongst the visor-wearing hipster community for an instructional spray on the intricacies of assembling a deconstructed BLT with a bacon foam, lettuce sorbet and tomato jelly, served on croutons with aioli dust sprinkled around the rim. But this is not a food blog, and sandwich was spelled incorrectly, so no dice. - hand models
This was a good callback to an earlier Zoolander quotefest i was drawn into, but basically just an in-joke and not much use as a topic for mass consumption. Besides which, I’m a face and body model, mama, and those finger jockeys are a different breed. - anal leakage
’nuff said. - do something sensible about anzac day and boat people.
Tempting, but I think far too much copy has been flung about on those topics already. And aiming to write something sensible on the subject would seem to fly in the face of current blog thinking to such an extent that i wonder if it’s actually legal.
In short, crowdsourcing has failed me. There is probably some neat aphorism buried in all this – put not your faith in the people, lest the people prove to be something something** – but frankly, I can’t be bothered digging it out. In the spirit of crowdsourcing, find it yourself and then tell me via the usual channels.
That is all.
*Not in the Terminator/Skynet sense of the word. More in the ‘people got enthusiastic’ sense of the word. Only not so much, because bugger all even responded. So, by literally, i actually mean not literally.
**fucking useless, for example.
Tags: crowdsourcing > networking > social media > social newworks > twitter
Stay out of my phone
Posted on | March 10, 2010 | 1 Comment
Sorry. This one’s a rant. I’ve had the flu, so think of the following as a kind of therapeutic blowing off of steam. You have been warned.
I don’t like getting unsolicited junk mail from people, no matter whether it’s delivered to my real world letterbox, one of my email in-boxes or to any of the various accounts I hold online in this brave new 2.0 world. What’s more, I don’t care if it comes from somebody I’ve purchased things from in the past. Unless I have specifically given you my details for the purpose of trying to sell me more of your shit, I don’t want to hear from you about your big sale, hot new product, or cool new upgrade.
I’m sure this a common sentiment.
But one method of contact more than any other makes my blood boil. Mr, Mrs and Ms Marketer, listen up. Let me tell you now plainly and simply: If you ever ring my phone or send me an SMS with any kind of sales message, you and I will never do business. Ever. I don’t care if I’ve bought from you in the past. I don’t care if I’ve been your loyal customer for 10 years. I NEVER give out my phone number to any business or individual and tick the little contact me by phone with special awsome offers box.
But why is the phone such a sensitive spot for me? To be honest I’m not entirely sure that I can say.
Maybe it’s because it seems somehow more personal, an intrusion into my very local space. The internet, well that’s out in the void somewhere. Sure my email is sucked down the magic pipes right into my computers at work and home and, yes, even onto my phone, but it still feels remote and distant. I will give my email address to a stranger far more readily than my phone number for just this reason, even though it makes no real sense these days. And stuffing things in my letterbox doesn’t really phase me other than it’s a pointless waste of good trees when we clearly have a “no junk mail” sign on the fence.
But the phone gets me every time. It gets me in just the same way as that time when somebody snuck a catalog under my door. They walked past the street-accessible letterbox, opened my gate, walked onto my property, and put a fucking imitation tupperware catalog right under my door to lie on my hallway floor INSIDE MY HOUSE. Irrationally, this felt to me like a total invasion and i feel the same every time somebody SMS’s 140 characters of crap into my pants like a kind of reverse pickpocket.
Short of speaking in person, my phone is the most intimate way i have to communicate. It’s connected to my personal space in a way that email or even the slot of my letterbox simply is not. The vast majority of people I speak to on the phone are friends and family. And while most of the others are from my work, even then it’s colleagues that I see daily. These are people I know, and know well. When my phone rings or blurps an sms blurp, I know that it’s either somebody who matters to me personally or who is connected to my work and wouldn’t be calling me unless it was important. So when it turns out to be some dick tyying to sell me something i don’t want, that dick relinquishes all chance of seeing my cash.
Which brings me to today. Today I received an SMS from Marshall (you know, the car battery guys). They had my mobile number because about 12 months ago I needed my battery replaced. I was stranded and so i did what the ads said, and I hollered*. I gave them my number at the time because no doubt they needed a contact phone in case their mobile driver had trouble finding me.
Now, a year later, I get an SMS advertising their services and telling me the number I can call if I’m ever stuck with a flat battery. I read it, annoyed as always by the intrusion into my phone of an ad, and think “well yes, I know your number and what you do because I AM A FUCKING CUSTOMER,” and wondering why they would bother to piss off a previously satisfied client. And then, half an hour later, they send me the same message again. Which was probably just a database error or glitch or something, but came across as pushy, needy and stupid.
So: Fuck you, Marshall. You just converted a satisfied customer who would no doubt have used you again into a pissed off dude who will look at any and every other option first before turning to you.
This rant is over.
*Totally excellent brand positioning, by the way. I remembered that little ripper from way back into my youth and it still made them top of mind in my hour of need. But that’s another topic.
Talkin’ about Shoes
Posted on | March 6, 2010 | No Comments
For reasons both complex and stupid, I recently composed a few paragraphs for the ever charming legal-eagle @gabfran on the subject of footwear. Check it out at http://lawandshoes.wordpress.com/2010/03/05/guest-shoe-blog-post-by-gilfer-the-wedding-shoes/.
My humble thanks also to the anonymous twitter friend who found some very kind words to say about me by way of an introduction. You know who you are.
Flash CS5 Will Be Able to Create iPhone Apps
Posted on | March 6, 2010 | No Comments
’nuff said, really.
With Flash CS5, ActionScript programmers will be able to create native iPhone applications and sell them on Apple iStore.
I got chills.
OSX Terminal – Drag and Drop
Posted on | March 6, 2010 | No Comments
This is one of those things that gets all my geeky bits tingling. Apple, in defiance of the age old* command-line-vs-gui debate, have snuck in this wonderfully elegant point of integration between the two worlds. Because really, why should you have to be one or the other when you have the best of both?
Here’s the thing: When using the terminal in OSX, you don’t need to type in the full path to a file you want to manipulate. You can drag the file into the terminal window from the finder, and OSX will insert the full path for you.
Stop. Breathe in, and then out. Think about it. Think about how many hours you have spent finding the path to a file. Typing it in. Getting it wrong. Swearing like a sailor at your screen. Typing it again. You will never have to do this again.
Wow, right?
This is rad, but it gets radder: you can cmd-select multiple files and do the same thing. Want to change read-write permission on two dozen files spread across multiple directories? Easy-fucking-peasy! cmd-select to your heart’s content, drag them into your terminal window and you’re done.
Try and tell me that’s not awesome. Go on. I dare you.
And yes, this is probably an old old old feature. But it’s new to me on account of how i’m pretty much a terminal rookie.
*well, as old as the first gui anyway. which isn’t very old. don’t even get me started on the even age older command-line-vs-punch-card debate.
XML Node Name – AS3 Gotcha
Posted on | March 4, 2010 | No Comments
Just a quickie, but one that stumped me for about 20 minutes (admittedly because I didn’t RTFM properly).
It turns out that the name() method of the XML class in AS3 returns an object not, as I was assuming, a String. I have a simple switch statement which was taking specific action depending on the name of the XML node it encountered. In psuedo-code it looks like this:
for each (var child:XML in myXMLList) {
switch (child.name()) {
case "node-a":
trace("my name is node-a")
break;
case "node-b":
trace("my name is node-b")
break;
default:
trace("I am an unrecognised node called " + child.name())
break;
}
}
The above will always end up in the default case, and return “I am an unrecgonised [etc]” because the result of the name() method call is an Object and not, as i had assumed, a String.
It took me a while to figure this out because the name() method will evaluate to a String in the trace function through an automatic call to the toString() function, and you will see the localName property of the returned object. Since this is most likely what you are expecting to see, it looks as though nothing is wrong and the Object returned by name() is effectively hidden.
Anyway, the fix is easy and a reminder to read the documentation once in a while. Use either xml.localName() method or xml.name().localName (the latter will return the localName property of the name Object.
Easy when you know how.
Zen Coding
Posted on | February 3, 2010 | No Comments
I linked to the Zen Coding plugins from my Twitter account a couple of weeks ago. Since then I’ve become so completely enamored with them that I wanted to rave on in a bit more detail.
The Zen Coding plugins are a collection of macro commands which take some of the grunt work out of setting up HTML and CSS files on new projects. I’ve only played with the HTML set so far but I am well and truly sold on the time they can save and, frankly, how much fun they are to use.
The idea behind the HTML plugin is to outline your basic page structure with a simple shorthand syntax resembling CSS selectors and then, with a single keystroke, let the macro expand your pseudocode into neatly formatted HTML.
Let’s say you want a basic structure consisting of an outer container wrapping three key content divs, one each for header, content and navigation. Overall, you want your html hierarchy to look like this:
-->body
--->container-div
--->header-div
--->maincontent-div
---> footer-div
With the Zen Coding plugin installed, here’s what you type — directly into your html document, between the body tags — to get things started:
div#main>div#header+div#content+div#footer
That’s all. HTML tags are specified in plain text, and are immediately followed by #id_name to specify an id, or (you guessed it) .class_name to specify a class name. Children are indicated with a > and siblings with a +.
Once you have entered your shorthand, hit ctrl-, and the plugin instantly replaces your line of text with complete, neatly indented HTML.
So:
div#main>div#header+div#content+div#footer
is instantly turned into:
<div id="main">
<div id="header"></div>
<div id="content"></div>
<div id="footer"></div>
</div>
Now come on. That’s pretty damn cool, right? Obviously the structure here is pretty simple for purposes of an example but even on so basic a hierarchy, and assuming some reasonably effective auto-completion in your code editor of choice, the plugins are reducing your keystrokes by at least 50%.
Ok, so what about the tedious business of wrapping some HTML around content? You know the drill — you’ve got ten items you need to turn into an unordered list of links for a navigation menu. Easy! Put them down on your page, just the plain text, each item on it’s own line:
home
about
faq
help
join
contact
Highlight the text and and hit ctrl-h to bring up the Expand with abbreviation dialogue Box and tell the Zen Coding plugin how to convert your plain bits of text into HTML. Enter the following shorthand ul#navigation>li*>a and your text will be formatted just the way we want it:
<ul id="navigation">
<li><a href="">home</a></li>
<li><a href="">about</a></li>
<li><a href="">faq</a></li>
<li><a href="">help</a></li>
<li><a href="">join</a></li>
<li><a href="">contact</a></li>
</ul>
You can see again that the command syntax here is straightforward, and it should feel familiar to anyone with some basic CSS experience. And you’re significantly reducing keystrokes.
So it’s easy to get started, and you’re going to save some time. Over a few weeks, I’d suggest you’re going to save quite a lot of time.
But there’s something else happening here as well: Working with the Zen Coding plugins feels like a more interesting way to put your core HTML together. More satisfying. More fun.
Instead of suffering the repetition of wrapping tags over content in a robotic fashion, you’re describing the structure of what you want, considering the pattern, and then letting the computer to the repetition. Your brain stays in a more analytical mode and the computer does the robotic bit.
The examples above barely scratch the surface of what you can do with Zen Coding plugins. Like all the best “power tools” and productivity plugins, Zen Coding is deceptively simple on the surface but enormously satisfying to use. It will quickly become a transparent part of your workflow and, once in the habit, a natural complement to your programming tools.
You can download the Zen Coding plugins for your development tool of choice from http://code.google.com/p/zen-coding/
keep looking »

