Should all locks have keys? Phones, Castles, Encryption, and You.

Passing a law that requires companies to build devices with digital keyholes which only good-guys can use, is the same as passing a law that says the value of π (pi) must be exactly 3.

Here's an excellent short video about the literal impossibility of such laws, and the enormous risks of going ahead anyway.  Because unlike real-world keyholes where the bad-guy must be physically present at each keyhole they want to break through, in the digital world each bad-guy can simultaneously attack millions of digital keyholes from the other side of the world.  The end of the video says it best: "Anyone who says otherwise [that digital keyholes can be built which allow only angel good-guys while blocking demon bad-guys] is either ignorant of the mathematics, or less of an angel then they appear."

There's no math in the video, just really good explanation.

Using ExifTool to make .mp4 video file dates match contents

I had a bunch of .mp4 and .3gpp video files whose file "create" and "last modified" filesystem dates did not match the meta data inside of the file, and this was causing problems because many apps use the filesystem dates when sorting video files (rather than using the metadata inside the video files).

I found ExifTool could fix this.  Using the ExifToolGUI I could fix them one at a time.  By using the ExifTool cmd-line tool I was able to change them all at once.   The biggest challenge was that most of the documentation was on how to modify the internal meta data, but I wanted to "copy" from the meta data to the filesystem timestamps.

The first trick is to figure out what the "tags" are for the internal metadata and the file system.   I found the ExifTool FAQ #24 which shows how to query for the times:

> exiftool -time:all -a -G0:1 -s MyVideo.mp4

[File:System]   FileModifyDate   : 2014:09:07 19:35:32-06:00
[File:System]   FileAccessDate   : 2015:10:24 22:55:22-06:00
[File:System]   FileCreateDate   : 2015:10:24 22:55:22-06:00
[QuickTime]     CreateDate       : 2013:09:14 00:52:38
[QuickTime]     ModifyDate       : 2013:09:14 00:52:38

From the above the CreateDate & ModifyDate are the internal meta data, and the FileModifyDate etc are the filesystem.

So to update the filesystem date to match the metadata CreateDate I used this command:

> exiftool "-CreateDate>FileModifyDate" MyVideo.mp4

To modify multiple files I used wild-cards on the filename, like *.mp4 to update all mp4 files in the current directory.


Related, to update the file system time for image files to match the meta data:

> exiftool "-DateTimeOriginal>FileModifyDate" MyPicture.jpg

Note that most apps know how to look into image metadata, so setting the filesystem dates is not as important as for video files.

A computer built out of dominoes?

In the video below, a team built two computers out of dominoes.  The first was capable of adding any two numbers between 0 (zero) and 7 (seven).  The second computer they built was capable of adding any two numbers between 0 (zero) and 15 (fifteen).

The computer you are using right now, deep under the covers, does everything in terms of binary addition.  What about the other operations you ask?  Read More …

A clever (but slow) way to "see" wifi signals.

This project explores the invisible terrain of WiFi networks in urban spaces by light painting signal strength in long-exposure photographs.

A four-metre long measuring rod with 80 points of light reveals cross-sections through WiFi networks using a photographic technique called light-painting.

Eli Pariser: Beware online "filter bubbles"

Google, Facebook, and others are trying to be helpful, and show content that is customized just for you. But this can trap you in a "filter bubble". Information used to be filtered by mass-media gatekeepers like newspapers & television, and was also filtered by where you lived. Is the automatic personalization and customization by Google, Facebook, and others any better than the old filtering?

Real-time ray tracing

The ever more realistic graphics in game consoles and PC's are based on approximations.  Over the years, graphics card makers have improved the approximations, but there are still lot's of short-cuts.

Ray tracing, on the other hand, is the way to accurately render computer graphics.  The process "traces" simulated rays of light as the bounce around a scene.  Unfortunately, ray tracing uses so much CPU that it's only used for still-frames, or else as the final phase of movie making.  An individual image (or frame in a film) takes from several seconds up to several minutes to render.

Caustic Graphics recently announced they plan to ship specialized hardware in mid 2010 that can ray trace scenes 200 times faster then the best current solutions.  If they actually deliver on their promises, and it's not too expensive, this could lead to real-time ray traced graphics on game consoles and PCs equipped with their hardware.

Animated banner ads cause global warming?

If you need another reason to hate annoying animated banner ads, a paper published on Monday shows that that the worst sites require your computer to use an additional 11 watts of power handling the animated ads.  So these banner ads contribute to global warming!

The study was not exactly rigorous, but the animated banner ads, based on technologies like Flash, clearly use an additional amount of power.

The study went on to try popular ad-blocking technologies like Adblock Plus and NoScript, and found that these reduced the power consumption to the same level as if the ads didn't exist.  Scare-mongering advertisers claim ad-blocking will will cause the Internet to fail.  But now you can reply that you're using ad-blocking to save the planet.

[via The Register]