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.   ExifTool is a cmd-line tool, so you need to be comfortable with the cmd-line.   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 tmp.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 copy the metadate CreateDate to the FileSystem I used this command:

> exiftool "-CreateDate>FileModifyDate" tmp.mp4

And of course to modify multiple files you can use wild-cards on the filename, like *.mp4


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

> exiftool "-DateTimeOriginal>FileModifyDate" tmp.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.

Better voting than "Winner Takes All"

It's time for national elections in the US, and many citizens feel like they can't get good representation, no matter how they vote.  Much of the problem is our "Winner Take All" system of voting — it's easy to explain but has *huge* flaws.  Here is a series of 5 videos (total 28 minutes) that talks about the problems, and some much better (but slightly more complicated) alternatives.

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?  Continue reading "A computer built out of dominoes?"