Blank Nintendo DS Cartridges Banned
That’s stupid. “The mere fact that the device can be used for a non-infringing purpose is not a defence [sic]“—everything could, potentially, be part of a criminal activity. This ruling is stupid. Stupid.
That’s stupid. “The mere fact that the device can be used for a non-infringing purpose is not a defence [sic]“—everything could, potentially, be part of a criminal activity. This ruling is stupid. Stupid.
Following an exquisite interview by Dan Benjamin, Merlin discusses how he got to know Mr. Lisagor, and basically what an all-around awesome guy he is.
YES YES YES YES FUCKING YES
Hot on the heels of the earlier announcement that the DRM-protecting DMCA can be broken as long as you don’t break copyright in doing so, the Electronic Frontier Foundation have managed to get a ruling in favour of basic protection of Fair Use in cases where it is blocked by DRM.
It’s been a good day in copyright law.
My guess: they’re going to do an iMovie ‘08 on another one of the apps—maybe GarageBand, maybe iPhoto, most likely iDVD—and strip it down to nothing, and reinvent it with a better user interface but half the features.
Oh I so disagree.
I aim for minimalism in almost all design. Japanese companies, on the other hand, seem to rejoice in decorating their websites with needless elements.
OK, OK, sensitive issue. One second.
I have nothing against Christianity or religion in general (heck, I’m in a church choir), but this is stupid.
Protesting against people because they like to read comics? Get a life. Go and protest about something more serious, like ending world poverty or the war in the Middle East.
Times sure have changed. I checked into one hotel during my recent trip to Scotland, and found that they have iPod/iPhone chargers and speakers next to every bed. Not USB ports. Not standard–audio-jack speakers. A 30-pin connector which will charge and play music from your Apple device.
You’d be hard-pressed to find anything looking remotely like this on the market today. Not just the cassette deck, but the overall æsthetic is so dated. Most things would come in a minimalist, pristine white or piano black plastic now—not the matt silvery-black this comes in.
Another item of note, which kind of ties this excuse for a link post together, is the Apple PowerCD, part of Apple’s ill-fated first (mid-90’s) attempt to move into the consumer electronics market.
Booyah.
An enjoyable article, but ruined by that idiot Bruno Maag. And my inference that he thinks Univers is modernist but Helvetica is not was spot on.
I had not seen that BBC News has redesigned, either. I really like it.
I’m going to Young Rewired State 2010, a hacking event for young programmers to create fun applications with government data. I mostly hope to waste the time of whoever is mentoring and start from scratch on the same project every day, but who knows, I might actually get something useful made.
(I think I’ll be in the running for the ‘project most likely to get someone fired’ award.)
Incredible. Apple is appreciating its own history, for once.
I second votes for the Finder, HyperCard and ResEdit.
This is it, then. A total redesign—that thing I had insisted I would never do.
My motivation? Basically, I’ve spent about nine months trying to get justified text to look good on the Web (mainly by adjusting the word-spacing, line-height and sometimes letter-spacing properties) and I have totally failed. As the old layout was basically designed around the single column of justified text, my only real option was a total redesign—the old site looked completely wrong with left-aligned type.
The other motivation was this new Internet thing called HTML5. While the old design had already been updated to use the new semantic elements, the HTML5 Outliner may as well have looked at me and said, “David, you are a complete idiot for even taking such a stupidly simplistic view of semantication. Go and sit in a hole.” Needless to say I took far too simple a view of how HTML5’s semantic elements work: they are incredibly complex but make a fantastic way for machines to determine the structure of a webpage. Finally, I think I’m almost there with a fully-semantic website—though there are clearly still areas where I am bound to my old XHTML1/Transitional ways of working.
The change to Helvetica was a no-brainer. It’s one of my favourite all-time fonts, obviously, (as is Gill Sans) but I was dissatisfied with Gill Sans because the bold weight included with OS X is way, way too heavy for my tastes. Gill Sans MT included with Windows doesn’t seem to have this problem, which is weird. No doubt I’ll one day load up this site on a Windows box, retch at Arial and decide to switch to something else.
The other interesting font choice is the new monospaced font, Inconsolata, recommended to me by Dan Benjamin. I wanted to roughly match the x-height of my body font with the monospaced font. My favourite programming font is Monaco, [I use Monaco 10 to write almost everything.
] which only really works well without anti-aliasing. Taking Monaco past 10pt to achieve a matching x-height ruined its look altogether. Inconsolata is designed for this sort of thing, so I linked it with an @font-face declaration and was done with it.
x + y selector lets me properly indent paragraphs automatically, without applying indentation to the first paragraphs immediately following headers.code blocks. (probably with JavaScript)HTML5 provides a new input type for selecting colour values, which, as yet, is unimplemented by any browser. The specification says that colours must be provided in the standard HTML hex-triplet format of a hash followed by six hexadecimal characters. Due to the obvious usability problem associated with asking people to input a cryptic sequence of characters representing a colour, not many people have yet started to use the type="color" attribute, unlike input-types such as search which can apply to all search fields on a site, and make hardly any difference at all.
However, a little back-end chicanery allows us to implement a user-friendly version of the color selector right away, which both allows users to type in the names of colours such as ‘light eggplant,’ ‘tea,’ and ‘booger,’ while also accepting hex-triplet (as required by the spec) and RGB(A) triplet/quadruplet format (for smart-arsed users).
Using a table of colours called rgb.txt (I recommend this one by Randall Munroe, as the colours were chosen by mass consensus rather than arbitrarily) which converts names to hex-triplets, and a smart piece of regular expression magic to liberally match triplets and quadruplets, I came out with this code, which returns an array(int red, int green, int blue, int alpha)—you can convert it back to a hex triplet easily enough with the built-in dechex function.
Here’s the code:
function colormatch($color) {
$rgbtxt = explode("\n", file_get_contents('rgb.txt'));
$colornames = array();
foreach ($rgbtxt as $pair) {
$pair = explode("\t", $pair);
$colornames[$pair[0]] = $pair[1];
}
if (isset($colornames[strtolower($color)])) {
$color = $colornames[strtolower($color)]; // the hex triplet will be converted to RGB dec values later.
}
if (preg_match("/^(rgb(a)?)?\(?([0-9]{1,3}), ?([0-9]{1,3}), ?([0-9]{1,3})(, ?[0-9]{1,3})?\)?$/i", $color, $matches)) {
$red = ($matches[3] > 255 ? 255 : $matches[3]);
$green = ($matches[4] > 255 ? 255 : $matches[4]);
$blue = ($matches[5] > 255 ? 255 : $matches[5]);
$alpha = ($matches[7] ? ($matches[7] > 255 ? 255 : $matches[7]) : 0 ); // alpha is optional
return array($red, $green, $blue, $alpha);
} elseif (preg_match("/^#?(([0-9a-f])([0-9a-f])([0-9a-f]))(([0-9a-f])([0-9a-f])([0-9a-f]))?$/i", $color, $matches)) { // colors from rgb.txt are converted to (r, g, b) here.
if ($matches[5]) { // not the short form
$red = $matches[2].$matches[3];
$green = $matches[4].$matches[6];
$blue = $matches[7].$matches[8];
} else { // short form triplet
$red = $matches[2].$matches[2];
$green = $matches[3].$matches[3];
$blue = $matches[4].$matches[4];
}
return array(hexdec($red), hexdec($green), hexdec($blue), 0); // 0 for alpha--not set by hex triplet
} else {
return 0; // 0 == error, unmatchable. try and avoid this.
}
}
This code, as far as I can tell, will match every single one of the following values correctly (with the rgb.txt I linked to above):
red
green
indigo
dark red
Red
Green
Indigo
Dark Red
78, 92, 156
78, 92, 156, 0
(67, 154, 243)
(67, 154, 243, 127)
rgb(67, 154, 243)
rgba(67, 154, 243, 127)
78,92,156
78,92,156,0
(67,154,243)
(67,154,243,127)
rgb(67,154,243)
rgba(67,154,243,127)
#f8ed56
#23f
f8ed56
23f
#F8ED56
#23F
F8ED56
23F
I’ve made a small demo and a test script that takes a file with each line populated by a possible colour match.
Sadly, WebKit’s color input-type doesn’t seem to be able to handle spaces in an input right now, which is likely intentional given the spec’s requirement for a hex triplet. I’d advise sticking with text if you’re going to use this script to allow users to specify colours.
Hilarious.
Back in May, I published a script to enable links to be posted directly from NetNewsWire to Chyrp. Earlier today, I discovered a method by which AppleScript can always open links in the default Web browser (which is surprisingly obscure—a tell application "Default Browser" to openURL ... would be more memorable, Apple) and have updated the script accordingly—there’s no longer any need to update the script for your particular browser. It will also work with browsers that are not scriptable—my cup runneth over.
If you’re using this script already and want to update, just drag the old script from your Scripts folder to the Script Editor icon and make the small change at the end of the script.
/Applications/Utilities/ to /usr/bin/share/applescript/edit/user/gui/utils/.New discretionary ligatures etc. for such elegant typefaces as Comic Sans and Trebuchet.