Hi! My name is Cédric Bozzi, I make websites and iOS apps, and this is my blog about technology (mostly a Twitter archive, really).

1 April 2007


This is pretty cool. I’ve always been fascinated by these round holes (apparently, they’re called “grommet holes,” and it’s the first time I ever read that word) — they’re made to run cables through, but I’ve never found them to be convenient at all. Well, now there’s an interesting use for those: just transform them into USB hubs and iPod docks. That’s very nice design.


The first Apple Store of continental Europe just opened in Rome. Bastardi.


Vilcus plug dactyloadapter [via]. All the other writeups on the web are littered with warnings about using that product — thank God for Russia.


CrunchGear [via]. Ah, good old CSS fun that you don’t see if you don’t click through from your aggregator (and that I could do, too, if my layouts were 100% CSS).

2 April

Damn, my MacBook is slow now that I use to run NetNewsWire, and I can’t afford the 1GB RAM stick right now.


I can’t believe this wasn’t an April Fools joke: the EMI catalog goes DRM-free on the iTunes Store. Well, actually, it’s going DRM-free on every online store — and for a premium, which shouldn’t really be deserved just for the lack of DRM, but is acceptable considering the tracks will also be bumped to 256kbps instead of 128.

The one important question left unanswered now (because I couldn’t care less of whenever the Beatles will finally be available) is, how about all the little publishers who had been asking for their songs to be sold DRM-free on the iTunes Store for a while now? I don’t find it particularly unacceptable that Apple would have refused for so long to make an exception for those small labels, but would implement a premium system when the first major publisher gets a clue (especially considering the separation isn’t just warranted by the presence of DRM or not, but also the bitrate), but they better allow their other, smaller partners to join the fray without delay.


I love Jobs’s answer when asked if Disney videos will go DRM-free, though: it’s not the same, because movies have never really been available without DRM anyway (even videotapes have been protected for ages). Right. Nevermind that you can get a TV guide appointment to record them on DVD from a digital cable or satellite feed (I’m not mentioning Tivo because that isn’t quite unprotected); the point that DRM doesn’t matter in itself, it’s just that consumers aren’t used to it for music, is ludicrous, and I’m impressed (but not that surprised) Jobs could say that and keep a straight face after the whole piece he blogged.

3 April

Adium 1.02 doesn’t seem to reconnect on wakeup anymore

Mr. Clean’s Really Magic Erasers


Ever heard about the MacBook’s palm rests’ propensity to absorb grit and fat and whatnot? For some reason, my MacBook stains pink — it might be that my wrists pick up my cheap desk’s varnish, or maybe the laptop just absorbs my blood through my skin, but in any case the keyboard was beginning to get ugly on both sides of the trackpad and on the Cmd keys.

Ever heard, also, that Mr. Clean’s Magic Erasers were an amazingly effective, almost magical remedy for MacBook stains? Well, they actually are.

It’s hard to make a good picture of a pale stain on white plastic (especially in semi-artificial light) but what you’re looking at is a big roundish pink stain whose left half has been erased (because I’m a leftie).

Here’s how it works: buy a box of Magic Erasers (not the variety that includes detergent), turn off your MacBook (you might even want to unplug it and remove the battery, but it’s not like you’re going to use huge amounts of water), dampen the “eraser” very slightly (I simply used a mineral water spray), rub. There you go, clean MacBook!

I have no idea what the magic actually is, but the scary part is on the box: “If you use the Magic Eraser on dishes, make sure to abundantly rinse with water.” Wonder what this thing is made of.


Thanks to Procellus for having a Monoprix that sells them.

5 April


Replace your notebook’s drive with two CompactFlash cards. Ooh. Not very useful as long as the OS and/or the case design don’t take advantage of it (especially considering that intensive usage will reportedly kill current flash memory cards way too fast), but it’s so sexy. Just for the heck of it.


Yum yum. Imagine a 30-inch Cinema Display surrounded by two vertical 23-inchers on VESA mounts. You need an extra video card on your Mac Pro for that, don’t you? [via]


An UMPC bag that doubles as an external keyboard [via]. That’s quite clever — it’s a pity nobody cares for UMPCs in real life. If Apple ever releases a small MacTablet, that will be the ultimate companion.


Twitter-based contests. Heh, nice. (It’s easy for Iconfactory, as every Twitterific user subscribes to that feed.)


Bubble Guru [via] lets you record a message with your webcam and display it in a bubble over your web page — a welcome message, or a quick tip or… an advertisment, that pops up, plays and disappears.

You could certainly do it yourself for free (the service will be free during beta plus the first three months after launch), but it would be more complicated. Or you could most definitely do without it, too. I’m not sure professionals should want to sign up for this (if you really want to have videos on your site, you should produce them yourself, integrate them into your layout, and have ‘play’ and ‘rewind’ buttons), and individuals will not want to pay for that novelty, but as long as it’s free it’s just a perfect fit for your MySpace profile.

Ah, wait — it’s JavaScript, so it wouldn’t work on MySpace, would it? There goes the only potential market.

8 April


I should keep more up to date on Apple TV hacks: Back Row can be extended with plugins [via]. Wow. The plugins don’t seem to be able to do much for now, but now that the door is even more widely open than I imagined, enterprising minds will find interesting applications — for starters, automatically detecting DivX movies in remote libraries and generating the necessary QuickTime reference files (as long as they are still necessary despite the existence of plugins).

10 April

Jaiku is nice http://garoo.jaiku.com/ but it doesn’t have Twitterific. Or even a Dashboard widget.

11 April

Search and Replace in MySQL / phpMyAdmin


Live to learn. I just managed to fix an import mistake I made in WordPress with a simple SQL search and replace (I skipped the SQL classes in school, always hated that crap):

UPDATE tablename SET fieldname = REPLACE(fieldname, “searchstring”, “replacestring”);

I wonder how much time I’ve wasted in my past developments by not knowing about this.

12 April



TVShows [via] subscribes to torrent feeds and automatically launches your BitTorrent client to download new TV show episodes as soon as they are available (it’s an OS X alternative to the cross-platform, but windowsy, ted).

It’s got a simple, convenient interface (just type the title of a show you’re interested in, select in and click “subscribe,” then choose whether you want to start downloading an episode from the list or just wait until a new one is released — clever) and one of the most puzzling designs I’ve ever seen in such a simple app: even though there’s a green bubble saying “Enabled” in the status bar, you’ve got to quit the application in order for the daemon to start working and downloading stuff. I only realized that after 24 hours.

Reminder: management recommends Transmission as a companion BitTorrent client.

How scalable is Ruby on Rails?


5 questions to one of the Twitter developers [via]:

Running on Rails has forced us to deal with scaling issues —

issues that any growing site eventually contends with — far sooner

than I think we would on another framework. […]

All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise. Once you hit a certain threshold of traffic, either you need to strip out all the costly neat stuff that Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move the slow parts of your application out of Rails, or both. [There] shouldn’t be doubt in anybody’s mind at this point that Ruby itself is slow.

I can’t remember who I had a conversation with, a few days ago, regarding the scalability of a high-level framework like Ruby on Rails versus coding and optimizing the exact features you need yourself. And I think we both used Twitter as an example — that you could make a huge Rails website, and that it would be a resource hog.

Or was it an argument I had with a podcast I was listening to? In either case, I’m vindicated. (But, in the latter, I’m also psychotic.)

13 April

Leopard in October


The official announcement lays the blame so plainly on the iPhone you might be tempted to think it’s written by a disgruntled employee who wishes they were still working at Apple Computer, Inc.

There you have it:

I guess this gives credence to the theory that the iPhone trumps everything else for Apple right now.

Who laughed when I wrote that I was scared for the Mac because of how much Steve was in love with his new baby? And who’s crying now? (No, not me, since I expected it.)



Lifehacker has an interesting writeup of Tumblr, the tumblelog equivalent to Blogger that I’ve known for a while — it inspired my personal blog’s latest redesign (because I’ve been blogging for so long now, I don’t have it in me to write long articles about my life anymore, and the tumblelog format is a perfect fit for burned-out bloggers).

I knew what a Tumblr page looks like, but I never registered and had no idea how the interface worked; I like the screenshots. And next time I want to push someone to create a blog I’ll just point them to Tumblr instead: it’s true, the way it’s structured puts much less pressure on you, and it also has more of a sense of purpose (since it’s essentially coming back to the original, etymological meaning of web-log, which you can interest people in by saying: Hey, every time you’ve got something to share or show off or that you find remotely interesting, you should post it there for all your friends and acquaintances and soon-to-be fans to see!).

“I don’t have the time to keep it up.”

“I don’t have that much to say that often.”

These are the reasons most people abandon their personal weblog or never start one. But we all come across interesting tidbits online every day that we want to remember and share — links, photos, videos, even that side-splitting IM session you had with your co-worker. A new blog format, called a “tumblelog,” is a no-hassle, no-writing-required way to share those bits and maintain a personal site with the least possible commitment.

The only limitation I think isn’t quite right is the absence of comments — I think by now any publication system needs comments (and that also includes Twitter).

Screenshots from Leopard 9A410 [update]


Speaking of Leopard annoucements, MacRumors links to a bunch of new screenshots, which will probably have vanished by the time you get there: in short, they look just like “Uno shade,” only with sq… uh, sq… nah, I can’t say it. You know, the window corners, at the top? Well, they’re (almost) not rounded.

Past the initial shock, though, and assuming the screenshots are legit (which I’m willing to believe), that means two things: first, brushed metal is definitely out the window (at last); second, they’re still extensively working on the new Aqua theme — because there’s no chance in hell it’s going to stay that way. No. Chance. Hear me, Apple? I have no idea why one of your programmers would spend some time coding this new look, but it is not staying.


If you’re keeping score, it also looks like Leopard finally auto-generates thumbnail icons for document and image files.


[+8h] Another bunch of screenshots [via] has been posted afterwards, and they don’t have square corners (go figure — apparently making a Shift-4 screenshot of a window somehow unrounds the corners).

Interestingly, it appears that (as of this version at least) all windows are styled the same way: they get the UNO shade look when they’re active, and normal unified (or even paler than that) when they’re in the background. If it stays (and I hope it does), it’ll take a bit of time to get used to, but it’s a huge improvement on two growing flaws of the Aqua interface: the confusion as to which window is active (the distinction got ever more blurry since they removed 10.0’s title bar transparency), and the unjustifiable different looks of different apps.

The Mail capsules look ridiculous on the dark background, though, but I figure they’ve got to know that, and they’ll change them. Especially if the current trend in Apple design is to finally make all apps look similar again — could it be they’re on the right track? (Could it be they’re free to fix OS X inconsistencies because Steve is busy somewhere else?)

20 April

Offline Google Talk


I completely missed that one — why didn’t anybody tell me? Google Talk has been able to store messages to offline contacts since last November (it only works if chat history is enabled in your Gmail account — which I think it is by default).

Would everyone please, please abandon all those crappy IM networks and switch to Gmail now?

Of full-text RSS feeds



Out of, say, 1,000 people who are on the Internet, only a small percentage read a lot of feeds. Let’s say it’s 10%. That means only 100 out of any 1,000 people will read feeds and of those 100 people only a small fraction will bother with [partial text] feeds.

The thing that partial texters are forgetting is that the other 900 people will find out about you from an influencer. Someone who will tell them. So, your traffic growth will be far slower if you only offer partial text feeds. Many of my friends who are journalists or bloggers just won’t deal with partial text feeds anymore.

That’s a very good point: with full-text feeds, you lose a very small portion of your advertising revenue (even smaller considering RSS users are more tech-savvy and less likely to click ads); with partial feeds, you risk losing the most important category of blog readers.

23 April

Coda 1.0


I haven’t tested the demo, because I don’t like to install demos and betas of programs that I might like but won’t be able to buy right away, so I don’t know how it manages ISO-8859-1 files (the editor is based on SubEthaEdit, which seems to handle them — I’ve never liked SubEthaEdit, but I’m willing to admit that the engine is worthy if Panic chose it), but there’s just one reason Coda is probably not for me:

What is Coda? The easiest way to sum it up is this: One Window Web Development.

That’s exactly what I don’t want.

First, I make extensive use of the spatial Finder. That was one of the Mac’s biggest strengths from the start, and Apple was rightly pressured into reinstating it in OS X. All my web development folders are in single-window tree view; the most important subfolders open out of the tree into separate windows, and so on — while image folders use thumbnails icons, of course.

Why would I want to go back to a single, fixed list? With no thumbnails and no labels, as far as I can see?

Second, I like Exposé a lot. I don’t get people’s obsession with tabs — it’s not what works best on the Mac. Okay, it makes sense in Safari (especially with the option to open bookmark folders in a set of tabs) or NetNewsWire (where I routinely have thirty pages open at once, that I intend to read when I get the time), but I don’t see the point of generalizing them to every app. I don’t use tabs in Adium; I do in iTerm, but only because I like its bookmark functionality, and I don’t think there’s an easy way to deactivate tabs.

The Mac is all about separate windows; why would you want to restrict yourself to tabs and view splitters when you could arrange windows freely and see them all at a glance in Exposé? Remember when you used to laugh at Windows’ MDI (Multiple Document Interface) windows, before someone invented tabs to alleviate that system’s flaws.


I can’t find the quote where either Cabel or Stevenf (yeah, I realize Stevenf isn’t his name) says that Coda is aimed at web developers who use a text editor plus Transmit.

But that’s the point. Between AppleScript and the BSD core, OS X has the great advantage over Windows of being able to implement the Unix philosophy: you can be most efficient by tailoring your own workflow from separate, specialized apps.

All I have to do is hit a hotkey in TextWrangler and Transmit starts uploading in the background the file I was editing. Then I can use Exposé to locate Safari and hit Cmd-R. That might be one or two mouse presses more than with Coda (although I’m not sure it is), but using a one-window environment would mean losing too much functionality.

Plus, if I wanted to, I could modify my AppleScript to automatically switch to Safari and refresh the frontmost window when upload is complete.

I could have two separate shortcuts — one that only uploads, one that uploads and refreshes Safari once the Transmit queue is empty.

Hmm, I have to look into that.

And that’s the power of OS X. (And, yes, a great deal of it is thanks to Panic’s Transmit.)

25 April

Does Coda have a way to handle those goddamn .htaccess files?

Handling files with AppleScript is such a headache.

Open Htaccess Here


The single big disadvantage of using OS X to develop websites is that it’s based on Unix and, as such, considers the same files hidden as your production webserver does. If you’re editing local copies of your websites and then uploading them (which you should be doing, as I’ve already written several times), then you’ve got a problem: you need to edit .htaccess files, but the Finder hides them.

There are several solutions, but none of them is satisfactory: You could configure your Apache server to look for htaccess.txt files instead of .htaccess — but that requires control over your web host, and it also means you have to change all your existing sites. You could use some tweaking software to set the Finder’s hidden preference to show hidden files — but then your whole OS X system will look like a complete mess, starting with the desktop. You could use Path Finder instead of the Finder to manage your local development files, which I did for a while — but Path Finder is bloated crap and I hate it. You could use your FTP client to navigate your folders and display hidden files — but, for all its flaws, the Finder has great functionality and using an FTP client instead just sucks. Ideally, you could instruct Transmit to automatically rename local htaccess.txt to .htaccess when they’re uploaded, but… there’s no such option.

Just as I was wondering whether Panic had thought of that problem when designing Coda (I only realized later that was irrelevant, since Coda has its own file browser), I figured: there’s got to be a way to solve this in AppleScript or Automator! And today, after a good night’s sleep, I bring you an Automator miracle: Open Htaccess Here.workflow.


How to use it, in a nutshell: download it, open it, use Automator’s “Save As Plug-in” option to create a Finder contextual menu item; now you can right-click any file or folder and select the item you just created from the Automator submenu to open an .htaccess file in TextEdit (if you’ve got a favorite text editor, look for “TextEdit” at the very end of the AppleScript action and substitute it with your choice). If there’s no .htaccess file at this location yet, it will be created.


If you want more details, here’s what the workflow looks like (yes, it’s pretty simple — once you make sense of all the idiosyncracies of working with Finder items in AppleScript):

And here’s the AppleScript (I’m not posting code often, so I don’t have CSS rules for it, sorry):

on run {input, parameters}


    if input is {} then tell application “Finder” to set input to the target of Finder window 1 as alias

    set input to input as alias

    set thePath to POSIX path of input



    set {folder:isFolder} to (info for input)

    if not (isFolder) then


        set AppleScript’s text item delimiters to “/”

        set itemCount to (count text items of thePath)

        set lastItem to the last text item of thePath

        if lastItem = “” then

            set itemCount to itemCount - 2


            set itemCount to itemCount - 1

        end if

        set thePath to text 1 thru text item itemCount of thePath & “/”

    end if


    set thePath to thePath & “.htaccess”

    do shell script “touch "” & thePath & “"”

    do shell script “open -a TextEdit "” & thePath & “"”


    return thePath


end run

27 April


Bill Crow, Program Manager for Microsoft’s HD Photo format, is on This Week In Media #51, and he’s almost managed to convince me that HD Photo is an interesting format, and a selfless endeavor beneficial to everyone.

It’s worth a listen if you can handle a two-hour podcast by and for graphics geeks.

28 April

Upload Using Transmit


While I’m giving workflow optimization tricks for webmasters, I guess I might as well explain the most important one of all: editing a local copy of my website in TextWrangler, and uploading it to the remote server by pressing just a single keyboard shortcut.

I already alluded to it a couple of times, but I wanted to wait until I had a camcorder or decent webcam to do a screencast plus video and show how efficient it is; I just realized I could just describe it to you now, and make that video whenever.

So, here’s how it goes: I open a file in, say, ~/WWW/ff00aa, modify it, and press Cmd-& (that’s Cmd-1 on an azerty keyboard); voilà, the file is saved and uploaded and all I have to do now is Cmd-Tab to Safari and hit Cmd-R to reload.


First step: the keyboard shortcut. Open TextWrangler; go to the Scripts menu (that’s the little scroll icon) and choose “Open Scripts Folder.” That’s where you have to put the “Upload Using Transmit” script — you can just download and unzip it, or create it yourself with these contents:

set fileName to “”


tell application “TextWrangler”

    save document 1 of window 1

    set fileName to (file of document 1 of window 1)

end tell


ignoring application responses

    tell application “Transmit”

        open fileName

    end tell

end ignoring

Now, go to Window / Palettes / Scripts and use the palette to set a hotkey for your script. Make it simple — you’re going to use it a lot.

(If you’re using BBEdit, the setup is exactly the same but you have to modify the script to say “BBEdit” instead of “TextWrangler.” If you’re using TextMate, open the Bundle Editor and use this screenshot as a reference — the command is open -a Transmit $TM FILEPATH.)


Now, onto the real cool part (I feel like I’ve described that before, but can’t find anything in my archives — weird): how is Transmit going to know what to do with the file you just edited? That’s terribly simple.

Here’s what the definition of my #FF00AA favorite looks like in Transmit (there’s no password because I use FTP over ssh with a passphrase-less key — I finally ramped up security when I opened a wifi access point for my MacBook — but that’s irrelevant):

The magic comes from the “Use DockSend” checkbox, and matching “Local Path” (where the local copy of your website resides) with “Remote Path” (where the files are on your server). Now, whenever you drag a local file to the Transmit icon in the dock (or in the Applications folder — or if you run Transmit on a file, as we do in the AppleScript above), it looks for a favorite whose local path matches that of your file.

Let’s say I’m sending ~/WWW/ff00aa/WWW/_php/_.php to Transmit (by pressing Cmd-& in TextWrangler after modifying it); Transmit will look through its favorites, find that the #FF00AA favorite has ~/WWW/ff00aa/WWW as a local path and /home/ff00aa/www as a remote path, and automatically upload the file to its rightful place of /home/ff00aa/www/_php/_.php. All of which, just by pressing a hotkey — and it also works by dragging and dropping files and folders (the images you just exported from Photoshop, for instance) onto Transmit’s icon.

Just make sure you have Growl installed, and maybe enable the Transmit confirmation sound, so that you know when your file is done uploading without having to switch to the progress window.


And… that’s why I love the Mac. (For the record, I worked the same way in Windows. Only I had to program my own FTP mini-client for that. You can try it, it works — but configuration is done by editing two XML files, and the FTP library I used displays an error message every so often.)

My iMac just turned itself off without warning.

30 April


Tim O’Reilly: We’d Love To Hear Your S3 Stories…And Numbers. Wow. I had even no idea Amazon EC2 existed. Exciting.


Transmit to handle Amazon S3: “We just threw the file up on Amazon S3 (possibly using a certain development build of a certain file transfer client).” Not as good as a directly mountable filesystem, but still huge.


2001 01 02 03 04 05 06 07 08 09 10 11 12

2002 01 02 03 04 05 06 07 08 09 10 11 12

2003 01 02 03 04 05 06 07 08 09 10 11 12

2004 01 02 03 04 05 06 07 08 09 10 11 12

2005 01 02 03 04 05 06 07 08 09 10 11 12

2006 01 02 03 04 05 06 07 08 09 10 11 12

2007 01 02 03 04 05 06 07 08 09 10 11 12

2008 01 02 03 04 05 06 07 08 09 10 11 12

2009 01 02 03 04 05 06 07 08 09 10 11 12

2010 01 02 03 04 05 06 07 08 09 10 11 12

2011 01 02 03 04 05 06 07 08 09 10 11 12

2012 01 02 03 04 05 06 07 08 09 10 11 12

2013 01 02 03 04 05 06 07 08 09 10 11 12

2014 01 02 03 04 05 06 07 08 09 10 11 12

2015 01 02 03 04 05 06 07 08 09 10 11 12

2016 01 02 03 04 05 06 07 08 09 10 11 12

2017 01 02 03 04 05 06 07 08 09 10 11 12

2018 01 02 03 04 05 06 07 08 09 10 11 12

2019 01 02 03 04 05 06 07 08 09 10 11 12