February 17th, 2014
I bookmarked Mike Hoye's Citation Needed weeks ago but never got round to posting a link here. Unfortunately I've forgotten where I came across the link to this piece in the first place, but I can't let that stop me. If this is the sort of thing you like, you'll enjoy this a lot:
"Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration." – Stan Kelly-Bootle
Sometimes somebody says something to me, like a whisper of a hint of an echo of something half-forgotten, and it lands on me like an invocation. The mania sets in, and it isn't enough to believe; I have to know.
I've spent far more effort than is sensible this month crawling down a rabbit hole disguised, as they often are, as a straightforward question: why do programmers start counting at zero?
Now: stop right there. By now your peripheral vision should have convinced you that this is a long article, and I'm not here to waste your time. But if you're gearing up to tell me about efficient pointer arithmetic or binary addition or something, you're wrong. You don't think you're wrong and that's part of a much larger problem, but you're still wrong. [...]
February 5th, 2014
It's sad to think that something like Kitestring is necessary, but if such a thing is needed then it might as well be as straightforward as this:
Taking a walk?
Walking solo at night can be unsafe. But when you must go out alone, let us know your ETA.
Check in with us
We'll send you a text message when your trip is over. Just reply to let us know you made it.
If you don't reply, we'll send your emergency contacts a customizable alert message.
[Via One Thing Well]
January 19th, 2014
From the bash.org Quote Database:
<Aoi-chan> everyone's first vi session.
[Via Ivan Fyodorovich, commenting at MetaFilter]
December 26th, 2013
I'm always interested to read about the reasoning behind the decisions software developers make:
It took more than a year and three distinct attempts to get Google Docs in Basecamp … and still, the damn thing almost didn't get built. Why was it so hard?
We knew we needed it. Integration with Google Docs was a super-popular feature request, and usage in general is on the rise. Since Basecamp is a repository for everything project-related, it made sense to show the same love to Google Docs we show to any other type of file you can store in a Basecamp project.
Problem was, we don't really use Google Docs ourselves. [...]
December 2nd, 2013
Quantified Breakup applies a little data analysis to the aftermath of the end of a relationship. Like these infographics about the Public Display of Emotions:
Every day we function within parameters. We do our jobs. We do our chores. We chit chat with the person who sells us groceries. We function very admirably.
But when something disruptive happens in our lives – a breakup or maybe even a serious family emergency – we sometimes can't help but let it all out. And I don't just mean at home. Sometimes, you kinda have to stop functioning and ball your eyes out in public. [...]
Commiserations with other people about breakups seemed to reveal that I was not alone in expressing emotions like this! I've had women shrieking with joy as they told me about the therapeutic effects of crying publicly.
Here's a quick breakdown of public crying I recall from emails, texts and conversations (I started jotting down data for this in mid-October. Data does not include domestic crying):
Even as we read this, a software developer somewhere who has seen that post is working on a project called BreakupBuddy, an app designed to pull all this data together in a single place. Grabbing your location and the details of what you're listening to is the easy bit: the trickier part is providing a slick but flexible user interface so you can tag parts of the day according to your mood and behaviour. An in-app purchase buys the GetHappy module, which reacts to your mood changes by suggesting a cheery soundtrack, accompanied by pictures from your photostream of happier times. (If the facial recognition/tagging allows it to identify and avoid pictures of That Cheating Bastard, so much the better!) And of course, every status update gets posted to the social network of your choice, because like the lady said, public displays of emotion can be cathartic.
[Via Flowing Data]
December 1st, 2013
Jonas Lund's Gallery Analytics brings WiFi-based tracking to the cultural sector:
Lund's Gallery Analytics project is a site-specific installation for exhibitions that's able to generate data about behavior of visitors and present this data in a Google Analytics-like environment. By setting up a mesh Wi-Fi network and combining it with custom-made software, Gallery Analytics is able to track every Wi-Fi-enabled device (such as a smartphone) moving around in the area in real-time. [...]
I can see how with a long-term exhibit you might want to tinker with the layout if analysis reveals that visitors are tending to overlook a particular piece, or perhaps even to swap out a piece that people aren't paying attention to for something that might attract more interest, but if you have a short-term exhibit will you accumulate enough data to draw firm conclusions about what is and isn't working before it moves on? Also, if you're a museum that hosts visits by groups you might find that a group of students being led through on a tour of your exhibits will end up distorting your stats a bit. What you really need is a real-life equivalent of the Referrer field to help you distinguish between a group being led around and individual, self-directed visitors.
All in all, this could be a heck of a tool for museum and gallery operators, so long as they don't go nuts and start assuming that the data is the whole story.
Now, for extra credit, consider your local shopping mall or town centre doing all of the above. Is that better, or worse, or no different? Please justify your answer.
[Via Extenuating Circumstances]
November 17th, 2013
15 Sorting Algorithms in 6 Minutes. Be sure to turn the sound up – it's half the fun of watching how each algorithm works.
November 9th, 2013
This history of the browser user-agent string evokes times past, when life on the World Wide Web was simpler, yet user-agent strings got more and more complicated.
The pity of it is that my favourite web browser ever never got popular enough for anyone else to want to pretend to be it.
[Via The Tao Of Mac]
October 13th, 2013
I'm guessing that Charlie Stross has just lost a day's work to Microsoft Word:
I hate Microsoft Word. I want Microsoft Word to die. I hate Microsoft Word with a burning, fiery passion. I hate Microsoft Word the way Winston Smith hated Big Brother. Our reasons are, alarmingly, not dissimilar …
Microsoft Word is a tyrant of the imagination, a petty, unimaginative, inconsistent dictator that is ill-suited to any creative writer's use. Worse: it is a near-monopolist, dominating the word processing field. Its pervasive near-monopoly status has brainwashed software developers to such an extent that few can imagine a word processing tool that exists as anything other than as a shallow imitation of the Redmond Behemoth. [...]
He's right, of course. The trouble is, Word's file format is holding hostages, in the form of uncounted millions of documents across hundreds of thousands of companies large and small across Europe and North America and much of the rest of the world. Yes, you could install LibreOffice, or switch to another word processor and access your old files by using file viewers that are more-or-less capable of interpreting both the content and formatting of your old Word documents, but if you've already paid for Microsoft Office licenses and been able to rely upon most staff being able to get along with Word without the need for any training then that's a hard sell. Good luck persuading everyone to learn MarkDown.
On the other hand, some of the things people use Word for are so fundamentally wrong that anything, not excluding reverting to pen-and-paper, would be preferable.
September 7th, 2013
explainshell.com lets you view all the documentation for Unix/Linux command line arguments in one go, without needing to go near a manpage. Nifty.
Try ssh(1) -i keyfile -f -N -L 1234:www.google.com:80 host to get an idea of how this works in practice.
August 26th, 2013
The WildHelp App is a really nice idea:
Every day, people encounter wild animals in need of help. Animals are found sick, injured, displaced, trapped, entangled, and in serious trouble, but, the task of finding help can be arduous.
Too often, finders must make multiple phone calls, using critical minutes, even hours, in search of the right person or organization that can help.
Delays in finding qualified help is one of the greatest, most pervasive issues faced by wildlife casualties and the people who find them.
There is a missing link. WildHelp is the missing link.
The WildHelp mobile application will streamline the reporting process, expediting aid to wild animals in need and the people who find them, helping save thousands of lives every year!
[Via Chuq Von Rospach]
August 1st, 2013
Faced with an email from Facebook inviting him to complete a survey about the Facebook Platform Ian Bogost decided to be frank:
The first survey question asked "Why would you or would you not recommend developing on the Facebook Platform?" I breathed deep and unloaded:
The Facebook Platform is a shape-shifting, chimeric shadow of suffering and despair, a cruel joke perpetrated upon honest men and women at the brutish whim of bloodthirsty sociopaths sick with bilious greed and absent mercy or decency. Developing for the Facebook Platform is picking out the wallpaper for one's own death row holding cell, the cleaver for one's own blood sacrifice.
Like the catcall of "whore" or "crook," the Facebook Platform passes judgement before you even signed up for it. The Facebook Platform is the relief promised under the pressure of thumbscrews. If you were innocent, why did you start using the Facebook Platform in the first place?
Developing for the Facebook Platform is punishing oneself for the corporeal scars of abuse. Maybe it's me, maybe it's me, Facebook devs whisper quietly, alone, every Tuesday, before heaving the deep, lumbering sighs of resignation beyond sorrow. [...]
The full post sees him elaborate on those themes in detail. Well worth a read.
[Via Extenuating Circumstances]
July 17th, 2013
Editorial for iPad looks very interesting:
At its core, it's a Markdown editor for iPad, but you can also think of it as a Pythonista spinoff, or a workflow automation tool, not unlike Automator.
I'd rather Apple would just port Applescript over to iOS, but as that isn't likely to happen Editorial looks like the next best bet.
[Via Tao of Mac]
July 11th, 2013
Terms And Conditions May Apply:
6) In Exchange for These Services
a. In exchange for visiting this website, you have agreed to publish a post stating that you have visited this website on Facebook. Failure to do so may result in legal action.
b. Furthermore, and with the same applicable penalties, you have also agreed to watch the film "Terms and Conditions May Apply", in any or all of the following mediums: Theatrical, VOD, SVOD, DVD, airplane, cruise ship, hotel, or building wall.
Clause 6a. will in future be known as the Jay-Z clause.
June 25th, 2013
I really wish I'd known about this hint for Mac OS X users about five years ago: I shudder to think now much time I've wasted over the years backing out of accidentally triggered trips to Mission Control.
[Anyone ...] who uses Hot Corners (which OS X refers to interchangeably as Active Screen Corners) triggers those mouse-controlled shortcuts accidentally sometimes. The solution is this: When you're choosing a Hot Corner setting from one of the drop-down menus, hold down your preferred modifier key or keys. You'll see the options change from, say, Mission Control to Option Mission Control" instead.
From then on, your corner will only work when you're also holding down the modifier key(s) you specified. Now, trips to the Apple menu won't trigger your Hot Corner shortcut – unless you're pressing your selected modifier key, too.
April 18th, 2013
If the folks behind Leviathan: Warships are as good at writing turn-based strategy games as they are at making trailers for said games then I may have to seriously consider buying Leviathan: Warships when it comes out:
[Via Pop Loser]
April 1st, 2013
Jakob Nielsen's Alertbox: April 1, 2013 Mobile Usability for Cats: Essential Design Principles for Felines…
- Rapid double and triple taps are common among felines, especially kittens; any response from a multi-tap should be even faster/louder/blinkier than from a single tap.
- Swiping is expected to work from any and every direction, so ensure that your targets are extra responsive and include corresponding sounds.
- Animation is especially important, including blinking. In fact, if your site or app doesn't animate, it's pretty much useless.
- This is a revolutionary finding, considering that blinking has been contraindicated in web design ever since it was #3 on the list of top-10 design mistakes of 1996.
- A sensory-activated "pause mode" is highly suggested, as nearly half the cats randomly stopped what they were doing to lie down on their devices and stretch, nap, or self-groom for extended periods before resuming their tasks.
March 19th, 2013
Wiener Apps – 1Keyboard:
1Keyboard to rule them all!
1Keyboard is a virtual bluetooth keyboard application for OS X.
Turn your Mac into a Bluetooth keyboard that works with all of your devices, comfortably type on your iPhone, iPad, Apple TV or game console.
I've only been playing with this for 5 minutes and I'm sold. There's a two day free trial, so I'm going to give this an extended try-out tomorrow evening and then I think I'll be sending Wiener Apps some money.
[Via One Thing Well]
February 10th, 2013
David Byrne's account of a recent visit to the Museum of Old and New Art in Tasmania included an interesting account of the way the museum supplies information about the collection to visitors:
There are no wall labels. None. One is provided with an iPod touch on entry that, via a kind of Mona GPS, can tell where you are. You then tap on a thumbnail of a piece if you want to know more about the art in front of you. "Know more" is divided into various subcategories. Ideas is a sentence or two about the work beyond who made it. Artwank, is, as you might expect, some scholarly essay on the piece or the artist – the symbol for this category is a cock and balls. The Gonzo button usually led to a more personal reaction to the piece from [NOMA founder David Walsh] or Elizabeth Mead, who helped in collecting a lot of the stuff. It might be a poem, an amusing anecdote or something that seems almost completely off topic – like trouble with a boyfriend. Lastly there is Media, which often consists of a casual audio interview with the artist, but sometimes could be something else entirely. [...] If you offer up your email address, the thing will track your visit via GPS and then send you a link to a website showing you what you saw. Here's mine:
You can also find out from this site what you missed – I think I saw most of it.
I think that if I'd travelled all the way back to the UK only to be told by MONA's web site/app that I'd missed out on some exhibit that would have made my visit then I'd be less than thrilled. Best not use that feature unless you're in a position to make a quick return visit, I think.
Other than that, it sounds like a neat app.
February 9th, 2013
I read not one but two pretty good pieces today on the practicalities of developing software. I'm not a software developer by any stretch of the imagination but I have just enough of a programmer's mindset to appreciate the amount of effort it takes to think through all the little bits and pieces that make a bit of software usable as well as functional:
- Hilton Lipschitz has made multiple posts exploring the decisions he made in designing his app TimeToCall. He covers the whole process, from his having the idea to write an app to help users arrange telephone conferences across time zones, right up to the point of polishing minor but important user interface details about translating the phrases used in the Japanese language localisation of the app without breaking his user interface.
- Mark Bernstein posted a piece describing the amount of thought that had to be put into adding a tab bar to Tinderbox. This is more focussed on a single user interface element than the Lipschitz piece: multiply the number of design considerations Bernstein describes for his one feature by the number of steps in the project Lipschitz recounts and you start to realise just how many decisions go into the making of even a comparatively simple application.
Neither article is aimed solely at programmers by any means – Lipschitz and Bernstein both explain in plain English the problems they're trying to resolve and the pros and cons of the different approaches they considered, so I think even people who've never written a line of code in their life will have no problem following either post.
One more, unrelated thing (courtesy of Hilton Lipschitz's Twitter feed). If you have access to a command line, go to it right now and type either tracert 184.108.40.206 (if you're running Windows) or traceroute 220.127.116.11 (for the rest of us.) Then watch and wait…
[Hilton Lipschitz posts via Brett Terpstra. I'm afraid I can't remember where I saw a link to Mark Bernstein's post.]