Ten Grand is Buried Here

I'm not a Microsoft hater, on the contrary. Though I'm a Mac user, I have profound respect for the accomplishments of Microsoft's developers and other staff. However, it also seems obvious to me that the blazing incompetence, arrogance and hostility of MS' management and marketing departments make it very hard to maintain a certain level of goodwill and objectivity towards the company I still consider one of the core innovators on this planet.
Case in point, the IE 8 marketing campaign which does away with the subtle grassroots technique of the Bing marketing effort, in favor of a more "direct" approach. Here's the deal: ditch your current browser and get the chance to win $10,000. And it's every bit as sleazy and stupid as it sounds, but hey, I'm giving you free buzz anyway, Microsoft Australia (not that you needed it).
The boilerplate text probably speaks for itself: "Tell your friends. It's not as stupid as it sounds. With all the stuff you have on, you won't be able to keep an eye out for all the clues 24/7. So team up with your friends to catch all the clues on Twitter. Share the clues and share the big prize."
I'm not even annoyed that it tells me "We've buried $10,000 somewhere on the Internet and if you're the first one to find it, you get to keep it. But you'll never find it using old Firefox. So get rid of it, or get lost." where I'm apparently prompted to wipe OS X from my machine just to have an infinitesimal chance of winning that money - but only if I was an Australian citizen who'd have to dedicate the next two weeks to hunting down ridiculous clues while resisting the increasing temptation to kill myself.
No, what really gets me is that the team who put out the slowest, most horrible browser on earth considers it a greater priority to run a hostile and no doubt stupidly costly campaign, instead of fixing the abomination that is the Internet Explorer's CSS code or, say, rewriting the slowest and most awkward ECMA implementation known to humankind.
Those ten grand were buried there, indeed.
Mac Neophyte Tips: Using .TOD Files with iMovie or Final Cut
I hadn't used my JVC camcorder in ages, now I reconnected it and discovered that I can't use the camera's raw video files (which have a .TOD filename extension) on the Mac. Uselessly, JVC has included an import filter on the driver CD, but all it's good for seems to be viewing the files in QuickTime. Now, there are several reports on the net about this and people seem to have experienced different outcomes, probably based on the actual camera model. Whatever you do, don't listen to the people who are trying to sell you shady converter software. Here's how you can make it work:
If that doesn't work, try giving the video file the extension .MPEG or .MPG instead of .TOD - that might work since .TOD is technically an MPEG-2 transport stream container. Then again, it might not.
In order to convert your uncooperative .TOD files, you have to open the Terminal and go to the directory where the file is located. ffmpeg can support a large number of different formats, try this one first and type
Now, for me that didn't quite work so well, even though it's the preferred option. If you can make it work, you should use it, because in this mode your actual video is not re-encoded but instead re-packaged, which has clear benefits when it comes to quality and speed. But if you're getting a lot of "buffer underrun"-type error messages and a zombie MPEG file at the end, it's time to actually transcode this .TOD abomination into submission:
Now a word on JVC marketing. Maybe your camera, like mine, has a 1080p sticker on its case, meaning that it should be able to record non-interlaced 1080 HD video, otherwise known as Full HD. Yet, when you open the resulting files on the cam's disk, you'll notice that the video "inexplicably" has interlacing going on. Those scanlines should be removed from the video before you do anything with it since iMovie or Final Cut will take the choppy lines and make them even worse. To remove the lines, add the option "-deinterlace" to the ffmpeg command line:
Good luck. We're counting on you ;-)
Try this before anything else
So here is a list of things you should try in order before you actually use the solution below. First, try to install the QuickTime component on the JVC driver CD, it's called something like "QuickTime Component for Everio.pkg". In some cases that seems to enable iMovie support (though I can't for the life of me see how since iMovie wouldn't recognize the .TOD extension even if it would know how to interpret the content).If that doesn't work, try giving the video file the extension .MPEG or .MPG instead of .TOD - that might work since .TOD is technically an MPEG-2 transport stream container. Then again, it might not.
Forcing it
OK if the previous measures did as much for you as they did for me (=nothing), there is an open source command line tool that will rescue you, it's called ffmpeg and it will transform pretty much any video file for you. ffmpeg is only distributed in source code, which means you have to compile it yourself, instructions on how to do so can be found on the ffmpeg website. But if you do, it is very important that you enable fAAC support during compilation. This is a major hassle as you have to get the AAC library separately and then pray that it compiles. You can also get a decent ffmpeg binary from within the shareware tool ffmpegX. Whatever you do, once ffmpeg is installed, you can start converting your .TOD files.In order to convert your uncooperative .TOD files, you have to open the Terminal and go to the directory where the file is located. ffmpeg can support a large number of different formats, try this one first and type
ffmpeg -i MOV001.TOD -acodec copy -vcodec copy MOV001.mpegThis will transform a file MOV001.TOD (replace with whatever name yours has) into a standard MPEG file that has the same name.
Now, for me that didn't quite work so well, even though it's the preferred option. If you can make it work, you should use it, because in this mode your actual video is not re-encoded but instead re-packaged, which has clear benefits when it comes to quality and speed. But if you're getting a lot of "buffer underrun"-type error messages and a zombie MPEG file at the end, it's time to actually transcode this .TOD abomination into submission:
ffmpeg -i MOV001.TOD -sameq -vcodec mpeg4 -acodec aac MOV001.mp4This will create an MPEG 4 file iMovie can actually understand, but it has to use AAC for its audio encoding.
Now a word on JVC marketing. Maybe your camera, like mine, has a 1080p sticker on its case, meaning that it should be able to record non-interlaced 1080 HD video, otherwise known as Full HD. Yet, when you open the resulting files on the cam's disk, you'll notice that the video "inexplicably" has interlacing going on. Those scanlines should be removed from the video before you do anything with it since iMovie or Final Cut will take the choppy lines and make them even worse. To remove the lines, add the option "-deinterlace" to the ffmpeg command line:
ffmpeg -i MOV001.TOD -sameq -vcodec mpeg4 -acodec aac -deinterlace MOV001.mp4And yes, this was the part where you just discovered that your camera actually has half the resolution as advertised. But hey, at least it's better than SD. Speaking of which, if you can't get ffmpeg to work with AAC or you don't care about preserving high definition in your iMovie project, you can create a .DV file out of your .TOD like this
ffmpeg -i MOV001.TOD -sameq -target dv MOV001.dvAnyway, once you have figured out what works best for you, Folder Actions are your friend, because now you can automate this process and finally forget this whole nightmare of how you got here in the first place.
Good luck. We're counting on you ;-)
Twitw.at shortens URLs only when necessary
Many people have argued about the evilness of URL shorteners. Among the many points of concern was the general practice that URLs get compressed even if there are enough characters left in your Tweet to display it fully and uncorrupted.Twitw.at is a Twitter-based URL tool that takes this to heart: if you still got room in your 140 characters, twitw.at will insert the full, original URL instead of the shortened one. Twitw.at also does a lot of other things, because it allows users to publish content pages under the short URLs it creates and people can even have a discussion on these pages!
Germany moves to outlaw paintball. Yes. Paintball.
The promising young populist totalitarians who constitute the German government (and that of many other countries) move unanimously to outlaw the past time of paintball, ostensibly because it's only a sport for psychopaths where they can learn to kill people.
You have to know something special about German culture here to get the full picture. In Germany, gun clubs are hugely popular, especially among arch-conservative (to put it mildly) people. Germany has a huge corps of "hunters" that is seemingly necessary to keep the extremely dangerous local wildlife populations in check (hint: they're really just thugs who love to kill things mostly). But neither of these activities gets to be officially related to psychopathic killers. On the other hand, paintball, laser tag and computer games are perceived as barbaric and bloody activities by an increasingly clueless and reactionary public. And I can guarantee you that LARPers will be targeted next (they are people who play out LotR-style adventure games in remote locations with plastic swords and hand-crafted costumes).
What happened here is pretty simple, actually. You see, shooting things with real guns is something that respectable Germans do, so nobody is going to say anything against that. Laser tag and paint ball on the other hand is for geeks and misfits, it definitely has no political cost associated with it when it's forbidden by our increasingly authoritarian regime. Because geeks don't have clout, especially not in Germany.
On a final note, I dare you to visit the government news agency Tagesschau's website, they have an article on the subject, it's in German of course. But one thing you'll notice is the usage of imagery designed to look scary to respectable Germans, especially the first one where they show a black skinned paintball player who's in the process of looking menacing and psychopathic.
You have to know something special about German culture here to get the full picture. In Germany, gun clubs are hugely popular, especially among arch-conservative (to put it mildly) people. Germany has a huge corps of "hunters" that is seemingly necessary to keep the extremely dangerous local wildlife populations in check (hint: they're really just thugs who love to kill things mostly). But neither of these activities gets to be officially related to psychopathic killers. On the other hand, paintball, laser tag and computer games are perceived as barbaric and bloody activities by an increasingly clueless and reactionary public. And I can guarantee you that LARPers will be targeted next (they are people who play out LotR-style adventure games in remote locations with plastic swords and hand-crafted costumes).
What happened here is pretty simple, actually. You see, shooting things with real guns is something that respectable Germans do, so nobody is going to say anything against that. Laser tag and paint ball on the other hand is for geeks and misfits, it definitely has no political cost associated with it when it's forbidden by our increasingly authoritarian regime. Because geeks don't have clout, especially not in Germany.
On a final note, I dare you to visit the government news agency Tagesschau's website, they have an article on the subject, it's in German of course. But one thing you'll notice is the usage of imagery designed to look scary to respectable Germans, especially the first one where they show a black skinned paintball player who's in the process of looking menacing and psychopathic.
Goodbye Foxmarks, Hello Weave
I've been using Foxmarks since the dawn of time, and for quite a while it's been a very useful service. Foxmarks is a plugin that synchronizes your bookmarks across different browsers and computers. One day they announced, they'd be calling themselves XMarks and they said there were radical improvements in the service. Announcements like this always make me nervous, and it turns out I was right again this time. Soon after installing the "upgrade", little XMarks icons started popping up all over the place. XMarks not only modified pages like search results and cluttered the addressbar with useless self-promoting icons, it was also quite clearly monitoring my internet use.
Enter Mozilla Labs' Weave project. It's been around for about two years at this point, but practically nobody has heard of it. It essentially does the same job, namely syncing your browser settings in a secure environment.
What really caught my attention is the fact that they're working on incorporating OpenID-like identity authentication into the framework which is going to be excessively cool. Both as a user and as a developer I've been frustrated by OpenID's complexity and disruptive user experience, I'm really stoked to see how Weave turns out in this regard!
Enter Mozilla Labs' Weave project. It's been around for about two years at this point, but practically nobody has heard of it. It essentially does the same job, namely syncing your browser settings in a secure environment.
What really caught my attention is the fact that they're working on incorporating OpenID-like identity authentication into the framework which is going to be excessively cool. Both as a user and as a developer I've been frustrated by OpenID's complexity and disruptive user experience, I'm really stoked to see how Weave turns out in this regard!
How to *make* add-ons compatible with your favorite Firefox version
Here's the thing: for good reason, the Firefox team forced every plugin specify the exact version it is compatible with. So, for example, say FireFTP claims compatibility with Firefox versions 3.0 through to 3.5b2 (or whatever). Now, following this example, once you install Firefox 3.5b3, it's over. Firefox will disable the plugin and you'll have to wait until the developer of the plugin brings out an update that makes it work again.
The screwed-up mechanism here is in Firefox' add-on manager which refuses to let your plugin run, even if you really really want it to. For your own protection, of course. You're not allowed to override this decision, even if you're using an add-on that is no longer being maintained by its developer. I can only assume this fine piece of UI philosophy is - like so many bad ideas in the world - somehow inspired by Java, or possibly by one of its even more authoritarian frameworks, but I digress.
Anyway, here's how you can fix it yourself. But first consider yourself warned: your plugin may very well not work or if it does, there may be some hidden malfunction just waiting for the right moment to erase your hard drive, melt down your computer into a puddle of toxic waste and then implode the entire internet which could make you liable for billions of dollars in damages. Having said that, let's move on:
Finding the "extensions" directory
On OS X, Firefox add-ons are kept in your user directory, the path would be something along these lines:
Here you'll find a file called "extensions.rdf", open it with a text editor and keep it open for later. Inside the same folder you'll find another folder called "extensions", open it.
Find the appropriate add-on
You have now reached the stage where the fun really starts. See, most plugins don't use a human-readable folder name, but instead are called something ridiculous like
Cracking the version barrier
You should now be inside the extension's folder. There is a file in there called
The screwed-up mechanism here is in Firefox' add-on manager which refuses to let your plugin run, even if you really really want it to. For your own protection, of course. You're not allowed to override this decision, even if you're using an add-on that is no longer being maintained by its developer. I can only assume this fine piece of UI philosophy is - like so many bad ideas in the world - somehow inspired by Java, or possibly by one of its even more authoritarian frameworks, but I digress.
Anyway, here's how you can fix it yourself. But first consider yourself warned: your plugin may very well not work or if it does, there may be some hidden malfunction just waiting for the right moment to erase your hard drive, melt down your computer into a puddle of toxic waste and then implode the entire internet which could make you liable for billions of dollars in damages. Having said that, let's move on:
Finding the "extensions" directory
On OS X, Firefox add-ons are kept in your user directory, the path would be something along these lines:
/Users/(your username)/Application Support/Firefox/Profiles/Now, in this folder, you'll see a cryptic folder that's called something like "3245hjg.default". Open it.
Here you'll find a file called "extensions.rdf", open it with a text editor and keep it open for later. Inside the same folder you'll find another folder called "extensions", open it.
Find the appropriate add-on
You have now reached the stage where the fun really starts. See, most plugins don't use a human-readable folder name, but instead are called something ridiculous like
{a7c6cf7f-112c-4500-a7ea-39801a327e5f}That's called a GUID, or globally unique identifier; if you're interested in this number, ask your local COM or Java developer for a more in-depth, undoubtedly fascinating diatribe, but let's move on for now. To see what GUID your favorite add-on has, go to the text editor window containing the "extensions.rdf" file from the previous paragraph. Do a text search for the name of your plugin. You should find something like this:<RDF:Description RDF:about="urn:mozilla:item:{a7c6cf7f-112c-4500-a7ea-39801a327e5f}"
NS1:installLocation="app-profile"
NS1:version="1.0.4"
NS1:optionsURL="chrome://fireftp/content/preferences.xul"
NS1:iconURL="chrome://fireftp/skin/icons/logo32.png"
NS1:name="FireFTP"I have marked the GUID associated with FireFTP in bold here, you'll just do a search on your own and find your add-on's GUID. Now go to the Finder window with the "extensions" folder and navigate to the directory of the same name as the GUID you found. Open it.Cracking the version barrier
You should now be inside the extension's folder. There is a file in there called
install.rdfOpen it. Inside you'll find a passage that looks like this:
<em:minVersion>3.0</em:minVersion>Change the value of maxVersion to (or beyond) your current Firefox version. Save the file, restart the Fox. You should now be able to open the add-on manager and re-enable the plugin.
<em:maxVersion>3.5b2</em:maxVersion>
How anonymizing routers actually work
I cannot go to bed yet, because someone on the internet is wrong. :-P
Even among Slashdot readers, there is still a tremendous amount of confusion as to what anonymizing onion-type P2P routers are actually doing (and not doing) to protect you. So here's a very short introduction to the technicalities of anonymized internet traffic, explained as non-technical as possible:
1) The usual way
When you (and your ISP) are not using any special software, data comes from the internet to your browser like this:

Pros:
2) The SSL way
SSL adds another layer to the whole process:

Pros:
3) Anonymizing P2P networks
P2P networks form a mesh of nodes that route encrypted traffic through several stations before (most of the time) exiting to the public internet:

Pros:
Even among Slashdot readers, there is still a tremendous amount of confusion as to what anonymizing onion-type P2P routers are actually doing (and not doing) to protect you. So here's a very short introduction to the technicalities of anonymized internet traffic, explained as non-technical as possible:
1) The usual way
When you (and your ISP) are not using any special software, data comes from the internet to your browser like this:
- you click on a link
- your browser creates a piece of data specifying the target address you are contacting as well as some additional context information
- your browser sends the piece of data to a router/gateway
- the router analyzes the piece of data and passes it along
- repeat the previous step, until the packet arrives at the target server
- server analyzes request, sends piece of data back along the chain of routers
- back to your browser

Pros:
- it's really fast
- any node on the way can read (and manipulate) any piece of the data stream
- censorship software at the ISP level can block your access to certain sites by refusing to pass the packets along
2) The SSL way
SSL adds another layer to the whole process:
- you click on an SSL link
- your browser creates an encrypted piece of data that is completely opaque except for the target address
- routers pass the data along to the server but cannot read the content
- server passes encrypted data back to you the same way

Pros:
- nobody can read or manipulate your data stream
- censorship software still works (because the destination address of both ends of this exchange is still readable)
- any node on the way can still see who you are contacting
3) Anonymizing P2P networks
P2P networks form a mesh of nodes that route encrypted traffic through several stations before (most of the time) exiting to the public internet:
- browser forms request
- local P2P software encrypts request, sends it to a P2P partner node
- P2P anonymizing node has no idea what data it is routing, but it passes it along to another P2P node
- repeat the above step several times, for good measure
- data reaches a P2P exit node, which decrypts the request
- P2P exit node makes the request to the destination server
- at which point the rest of the transmission either goes like 1) or 2) as described above

Pros:
- you can now circumvent censoring measures since your ISP only "sees" the connection to the first P2P node
- nobody knows where you are going (except the operator of the exit node)
- the webserver operator has no way of knowing where you actually are
- if you're not using SSL, the traffic between the exit node and the server is still unprotected from the dangers as stated in the first paragraph, including the possibility of encountering a rogue exit node that protocols your entire data stream for nefarious purposes (e.g. to sniff your passwords)
- it's slow
Mac Neophyte Tips: XCode crashes on startup
If this looks familiar to you, here are some suggestions:Have you installed Safari 4 (Beta) recently?
If so, that's probably what blew XCode's tiny little mind. Go to the Apple Dev website and download the latest XCode release (if in doubt, use the link I provided, because the "normal" way of getting to the package through the developer portal is almost always broken).
Have you sync'ed your hard drive from another Mac?
If so, this might be a permissions problem. Go to Disk Utility and run "Repair Permissions" or open a Terminal session and enter
diskutil repairPermissions /to restore normal file permissions. That also works when other programs are not starting up.
Have you tried turning it off and on again?
Kinda silly, try re-installing the package. Clear out your user's Library/Application Support/Xcode/ directory and any other places where faulty configuration data may be stored. I know it sucks, but if the previous options didn't work out for you, it means your install is somehow hosed. In that case, let me close with some solid instructions from the Google Maps team:
> Turn left on Comstock.
> When you feel the blood chill in your veins, stop the van and get out. Stand very still. Exits are north, south, and east, but are blocked by a Spectral Wolf.
> The Spectral Wolf fears only fire. The Google Maps team can no longer help you, but if you master the Wolf, he will guide you. Godspeed.
The Caprica Pilot

Time to beef up my geek street cred: I've finally watched the Caprica pilot! It's out on DVD first, before it will be aired leading the rest of the series in 2010. By the way, don't watch the "Exclusive Clip" on Amazon, somehow they managed to find the most boring 3 minutes of the film and put it out there as promo material.
The Good
Despite its slow, deliberate pacing the movie was compelling. The actors, cinematography, dialogue - everything was done very nicely and competently. Caprica takes place about 60 years before the extinction of humankind, and we finally get a peek into the larger history that lead up to the holocaust. Apart from the fact that we get another set of tales from the BSG universe, Caprica interestingly also depicts a society very much like our own and offers a glimpse at some of the problems we may face in the next few decades. Wrapped inside a SciFi opera we witness the birth of the first true AI, which is always cool.
The Not-So-Good
I loved the fact that Caprican society is technologically pretty much like ours (maybe 10 years ahead at most and except for the space travel thing) and as such we get to see many familiar gadgets in a slightly different format. However, at times the producers and set designers took the easy way out. I know, it's so geeky of me, but: was it really necessary to have them use actual USB ports and other gadgets that are so specific to Earth? That was just not believable.
Another point: Some of the special effects were really bad, for example the robot fight at the end looked like it was screen-captured off an outdated FPS with very unconvincing graphics.
Downright Ugly
It annoys me that people in the movies never back up their hard drives. It's a dramatic plot device, but it's also really unrealistic that computer systems of the future can somehow just move and not copy data. In Caprica, it doesn't occur to Greystone to make a frakking backup of the hard drive where his dead daughter's brain is stored! It's like he's doing it to squeeze some drama out of the very predictable event when the only copy gets destroyed during an experiment ;-) Yawn. Not good.
Next: The religious angle has already been annoying me to no end in BSG, and the finale made it worse because it first verified the Cylons' absurd belief system, and then hammered it into the viewers' brains with a blunt instrument, just to make sure. Somehow they took it to a whole new level of badness in Caprica, because pretty much everything the characters do is somehow connected to religion. From the traditional hell-like V-Club at the opening (very American: sex, drugs and violence are apparently all the same thing), to the extremist suicide bombing at the center of the story, down to the very end when Adama and Greystone have their tired discussion about the divinity of the human soul. Like BSG, Caprica fails to acknowledge the existence of any kind of morality independent of a very literal concept of God(s). Double Yawn.
Now, buy it
Despite all that, I enjoyed Caprica. It's captivating and nicely paced, with at times stunning imagery. With the imminent cancellation of Dollhouse and Terminator SCC, I look forward to a new series about artificial intelligence and trans-humanism.
Related posts:
Battlestar Galactica goes out with a whimper AND a bang
Awesome: 3D comes to the browser (Canvas3D)
Go ahead and grab the latest Firefox Beta (at least 3.5b3) and install the Canvas3D add-on which is hopefully going to be part of Firefox /trunk very soon.There are already some pretty awesome demos out there, and there is no doubt in mind mind that we're going to see a lot of cool browser-based gaming content in the very near future. Between Canvas3D and other advances in JavaScript graphics, I hope Flash and Silverlight die the painful deaths they so richly deserve - rather sooner than later.





