This feed omits posts by rms. Just 'cause.

Trying something new here on Ye Olde Blogge: animated GIFs are now served as MP4s in a VIDEO tag. That saves a vast of bandwidth since GIF is literally the worst of all possible video formats. Like, 830MB of images drops to 72MB. Twitter and Giphy and whatnot have been doing this for a while now (though Twitter, since they are dicks, make it impossible to download the original unconverted GIF data, even via the API).

It's actually pretty tricky to convert a GIF to an MP4 in the general case, since GIFs have variable frame rate (really, an arbitrary delay after each frame, which can be different for each one), plus they can be transparent, which MP4s cannot be. You'd think that ImageMagick or ffmpeg would just do the right thing on this common task that lots of people want these days, but no, that's crazy talk. I'm converting them using the all-singing all-dancing image-and-video resizer that I wrote,, which uses ImageMagick to extract each frame as a PNG then constructs an incredibly hairy ffmpeg command to put it all back together with the proper frame timing.

(Seriously, it's insane, it looks like this, and this is for just 6 frames: -vf zoompan=d=0+'24*eq(in,0)'+'24*eq(in,1)'+'24*eq(in,2)'+'24*eq(in,3)'+'24*eq(in,4)'+'24*eq(in,5)',scale=600:92)

Then after that, part of my WordPress theme sees IMG tags with GIFs in them and converts those to VIDEO tags. (I had to go through and indicate the old GIFs that are not animations to make that work. Did you know that people used to use GIFs for things that were not animations? I know! So weird!)

People say that you should be able to do

      <SOURCE SRC="xxx.mp4" TYPE="video/mp4" />
      <IMG SRC="xxx.gif">

and that should degrade kind of like <NOSCRIPT> does, using the SOURCE in browsers that understand VIDEO and falling back to the IMG in older browsers... but from watching the network, I could see that Safari was loading the video, and then loading the GIF as well! So that kind of defeats the entire purpose, so I'm omitting the IMG. If your browser doesn't support VIDEO I guess it sucks to be you. That does make it harder to copy images, though, and that's annoying and dumb.

Let me know if you see any problems.

If things are escaping their boxes or otherwise the wrong size, try emptying your cache and shift-reloading. I ticked the cachebuster number on my CSS but browser caches have been an incomprehensible disaster since 1994, so who the hell knows what they are doing.

I've noticed a couple of weird things. In Chrome, I had to add overflow:hidden to ".widget_jwz_previously a". This wasn't necessary in Safari, but in Chrome it also has the effect of clipping off the border on the left and right sides, which sucks.

I've also noticed that sometimes the AUTOPLAY does not autoplay. Or maybe it's that LOOP stops? No idea why that is. It's doing something inexplicable on desktop Safari and something doubly and differently inexplicable on iOS.

Actually I'm finding that "no autoplay" thing super annoying, and if I can't figure out what's going on there I may just go back to GIFs, even though they are more than 10× larger. Sigh.

Update: I think I see what's going on with Safari: if a VIDEO tag is either above or below the fold at the time that you load the page, it will never autoplay, even after it scrolls into view. I can make videos in the comments here and in the "Previously" sidebar either play or not depending on where the scrollbar happened to be when I hit reload. That's fucked up.

Previously, previously, previously, previously.

Posted Fri Oct 13 11:58:56 2017 Tags:
"I am Elmer J. Fudd, Millionaire. I own a mansion and a yacht."
The interior secretary's special flag offers clues.

At the Interior Department's headquarters in downtown Washington, Secretary Ryan Zinke has revived an arcane military ritual that no one can remember ever happening in the federal government.

A security staffer takes the elevator to the seventh floor, climbs the stairs to the roof and hoists a special secretarial flag whenever Zinke enters the building. When the secretary goes home for the day or travels, the flag -- a blue banner emblazoned with the agency's bison seal flanked by seven white stars representing the Interior bureaus -- comes down.

In Zinke's absence, the ritual is repeated to raise an equally obscure flag for Deputy Secretary David Bernhardt.

Responding this week to questions from The Washington Post, a spokeswoman for Zinke, a former Navy SEAL commander, defended the Navy flag-flying tradition as "a major sign of transparency." [...]

Zinke, a Stetson-wearing former Montana congressman who has cultivated an image as a rugged outdoorsman, has come under a harsh spotlight in recent weeks for behavior criticized as extravagant for a public official. The agency's inspector general opened an investigation after he ran up bills for travel on chartered jets and mixed business with political appearances, sometimes accompanied by his wife, Lola. It's one of five probes underway of Cabinet secretaries' travel. [...]

Zinke rode to work on horseback on his first day in office and displays animal heads on his wood-paneled office walls. For a while, he kept a glass-case display of hunting knives but was asked to remove them because of security risks, according to people familiar with the decision.

He has commissioned commemorative coins with his name on them to give to staff and visitors, but the cost to taxpayers is unclear. Zinke's predecessors and some other Cabinet secretaries have coins bearing agency seals, but not personalized ones.

The flag ritual is unique in President Trump's administration. The White House does not raise the presidential flag when Trump alights at 1600 Pennsylvania Ave. There is no Defense secretary's flag atop the Pentagon.


Previously, previously, previously, previously, previously, previously, previously, previously, previously.

Posted Fri Oct 13 08:49:43 2017 Tags:

, literacy, and democracy. Via Mary Meeker at Presumably subject to some pretty fuzzy definitions ("democracy"), but I think it's fairly honest.

Posted Fri Oct 13 03:44:40 2017 Tags:

, if you have highly motivated, engaged, efficient people with not too many deadlines, you don't have to solve this explicitly: just let people do what they think is "important" and it'll work out. In small companies, probably like early-day Google, this informal system works out great. Once you have formal systems, you have incentives, and once you have incentives, you have to have high-level people (who are further from the actual problems being solved) make decisions about what to incent and disincent. Unsurprisingly, those decisions end up being mostly about "strategic direction" and not about day-to-day manageability, because executives don't have to do any day-to-day management. Instead, they just see the technical debt slowly build up and the teams slow down, but nobody can quite tell how it happened.

Posted Fri Oct 13 03:44:40 2017 Tags:

, but it's pretty great. As usual he comes across as a bit unrealistic about what's possible in the short term, but he still tells a pretty compelling story. I especially like the idea of underground car tunnels vs flying cars. ("I sure hope the people up there have kept up with their hubcap maintenance" was a pretty funny understatement.)

Posted Fri Oct 13 03:44:40 2017 Tags:

I've been thinking a lot about "overnight success" lately. Check out how long it's been taking for Tesla to achieve theirs! [Data collected by combining various public data sources. I might have screwed it up, but I think I'm mostly right.]

Of interest:

  • Wow, they really didn't sell very many Roadsters.

  • Recent increase in units/employee, probably due to better factory automation

  • Miles driven since the last (reported) autopilot fatality is more than 2x as many as before; they're either getting luckier or the software is getting better.

Posted Fri Oct 13 03:44:40 2017 Tags:

. Well that's not what I expected."

Posted Fri Oct 13 03:44:40 2017 Tags:

, such as "What is this?" when the meeting invite has no detailed description :)

Posted Fri Oct 13 03:44:40 2017 Tags:

keep posting about. But my deep dark secret is... I mostly got it from reading books in the first place.

Posted Fri Oct 13 03:44:40 2017 Tags:

, around the time GFiber started (2011-2012) to last year. The right strategy for an ISP certainly does change over time. (From Mary Meeker at It's filled with awesome.)

Posted Fri Oct 13 03:44:40 2017 Tags:

, I measure time in units of Bachelor's degrees. For most impressive results, I simultaneously measure life experience in units of Bachelor's degrees.

Happy 1.5 billion seconds, everyone :)

Posted Fri Oct 13 03:44:40 2017 Tags:

, Apple frittered away its dominance of the music industry. Perhaps this is old news to everyone but me, but the story is something like this:

  • "Nobody" wants to buy music anymore. It's all streaming.

  • In case you do download music, everyone long ago gave up on DRM and switched to watermarking. So you can carry your music away from whatever store you downloaded it from (including iTunes) and even switch platforms easily.

  • Even Apple wants you to switch to streaming: Apple Music. Perhaps because streaming is still DRMed.

  • Streaming apps (at least some of them) now work great with "offline mode." You can just pick entire albums and mark them offline, which downloads them to local storage, straight from the Internet.

  • That means you don't need iTunes to load music on your iPhone anymore.

  • Because you already bought a monthly subscription to the streaming service, you aren't making an "in-app purchase" when you do this, thus you bypass Apple's 30% cash grab on in-app purchases.

  • Most streaming apps are cross-platform (iOS, Android, Windows, Mac) so there is no vendor lock-in. And they store all your settings in the cloud, so you can switch devices seamlessly. (Incidentally there's not much vendor lock-in to particular streaming services either. With a few exceptions, they all basically have all the music.)

  • Spotify has ~2x as many users as Apple Music.

  • Tidal is smaller than Apple Music, but has better sound quality.

Goodness, how quickly things change. It wasn't so long ago that Apple was shutting down devices which tried to fake their way into auto-syncing music from iTunes. I wonder if they're actually worried about all this, or just don't care that much about the music market at this point. (It looks like the whole business is about $4B/year[1], and most of that presumably goes to the record companies. Not sure if that's US-only though.)

They still have the power to make things miserable for all these other music services, but they're not using that power.


Posted Fri Oct 13 03:44:40 2017 Tags:
Posted Thu Oct 12 07:27:49 2017 Tags:
The video webcast is down again. This time, it is because Youtube has put us on Double Secret Probation for some unknown reason. (The audio archives are fine, it's the video stream that is down.)

Their belligerent robots have this to say:

Proceed with the appeal of the Community Guidelines warning strike for the following videos
    DNA Lounge Live Stream
The YouTube team will review our decision and reinstate your video if appropriate. It is possible that the strike may be removed but your video will remain down.

Elsewhere it says, "Live stream restrictions last for 90 days or until the associated issue(s) are resolved." But since they won't actually come out and tell you what the "issues" are, good luck with that.

Why did it happen? Who knows. All they will tell you is, "It was probably one of the hundreds of possible vague reasons in this FAQ entry". Could it be that some band's backing video triggered a pattern match against a video? Maybe? Could it be that some disgruntled customer "reported" us for something, and all it takes is one griefer to take your stream offline for three months? Maybe? Who can tell! Only the robot know and they aren't talking.

Anyway, it's fair to assume that we can't use Youtube any more.

Youtube was always a flaky, halfassed solution anyway: for the last three years, we've been webcasting silent video through Youtube while simulcasting the audio from our own server, and having your web browser press play on both streams at the same time. Which is awful because it means audio and video can never, ever be in sync. But if we ever allow Youtube to hear our audio, their robots completely freak out and shut us down because they have no mechanism to understand that, as a nightclub, we are, in fact, fully licensed to play Other People's Music.

So. Do you watch our webcast? Would you like to continue doing so? Then help me figure out how to solve this problem without spending any money.

Here are some possibilities, unlikely though they are:

  1. Befriend someone inside Youtube who can make this go away. (Right.)

  2. Find me some service who will rebroadcast my video stream for free, 24/7. They need to support video ingestion via RTMP, not a custom app, or I probably can't make it work.

  3. Show me instructions for installing free software on a CentOS 6.9 system that will let me run my own RTMP-based video rebroadcaster. Bonus points if you have actually done this successfully yourself. Going this route will probably require massively throttling the number of simultaneous viewers.

  4. You pay for it! Set up an EC2 or DO server running the aforementioned RTMP server, let me broadcast through, and and let's just put the bandwidth bill on your credit card instead of mine, ok?

Long shots, I know. But absent something like that, I guess the plug on the video has finally been pulled.

Meanwhile, please enjoy this month's mixtape 188.

That first video is by Lucy In Disguise + Tonebox who are performing here this Friday at Turbo Drive.

Posted Wed Oct 11 02:01:34 2017 Tags:
A cursory glance didn't reveal an option for "Never allow anyone to send me a file ever", so I've uninstalled it again. The only thing I use it for is 1Password, but the last time I tried to make that work without Dropbox, I found that their "wifi sync" option was way too flaky. But now they can sync the vault through iCloud instead, so I'll give that a try.

Previously, previously, previously.

Posted Wed Oct 11 00:59:10 2017 Tags:

Please enjoy jwz mixtape 188.

(And come see Lucy In Disguise + Tonebox at DNA Lounge this Friday!)

Posted Tue Oct 10 21:54:24 2017 Tags:
The Covefe Response.

It's a question that pops up pretty much every time that Donald Trump deletes a tweet: Is he violating the Presidential Records Act?

In a court filing Friday, not only do attorneys at the Justice Department say that courts can't review this, but they also argue that when it comes to laws pertaining to government record-keeping, judicial review would be inappropriate even if Trump deleted secret recordings with administration officials or even if his staff purged phone records because they expected to be subpoenaed in connection with various investigations. [...]

In particular, CREW nodded to news reports that White House staffers were using Signal to send encrypted, disappearing messages as well as resorting to the secret chat app Confide to duck any record preservation. Also mentioning Trump's famous tweet implying a taped conversation with former FBI Director James Comey and the president's repeated deletion of social media messages, the plaintiff is asking for injunctive relief compelling Trump and his staff to comply with duties under the Presidential Records Act. [...]

Trump is most concerned with allegations directed at the use of disappearing messages and the consolidation of power to evade disclosure, but does tackle the other stuff in a footnote. This appears to be the first time that the Trump Administration has addressed whether deleting tweets is a violation of law.

Previously, previously, previously, previously, previously, previously.

Posted Tue Oct 10 20:36:33 2017 Tags:
Zuckerberg Slammed for Tone-Deaf Virtual-Reality Tour of Devastated Puerto Rico

In a move that rivaled the president tossing rolls of paper towels, free-throw style, into a crowd of hurricane survivors, Mark Zuckerberg created his own completely avoidable public-relations disaster Monday when he chose to demonstrate Facebook's new Facebook Spaces app -- which lets users explore real destinations as Wii-like cartoon avatars -- in hurricane-ravaged Puerto Rico. [...]

"We're in a 360 video in Puerto Rico... we're on a bridge here, it's flooded," grinning cartoon Zuckerberg said in the Facebook Live video. "You can get a sense of some of the damage here that the hurricanes have done, and one of the things that's really magical about virtual reality is you can get the feeling that you're really in a place." [...]

Evidently, Zuckerberg didn't anticipate that his Puerto Rican tour might add fuel to the flames. "This street is just completely flooded," he said. "Can you see this behind me? I mean, this is what it looks like down here." Franklin responded: "It's crazy to feel like you're in the middle of it." "Yeah," Zuckerberg said. "You want to go teleport to somewhere else?" They then took off for the surface of the moon.

Zuckerberg Exploited Disaster with Puerto Rico Virtual Reality Stunt

Zuckerberg drew criticism from some Facebook users after appearing to forget the name of Hurricane Maria, the Category 4 storm that devastated the island in September, while simultaneously describing how VR is "magical" in its ability to virtually teleport people to disaster zones. [...]

Zuckerberg then went on to give Franklin a virtual high five while their cartoon avatars stood in front of a virtual street of flooded homes.

In demonstrating new virtual reality tech, Facebook's mastermind showed that the future will be tone-deaf, apparently.

Even when Zuckerberg and Franklin's Disney-fied avatars aren't pulling an Al Roker in front of Puerto Rico disaster porn, they still sound eerily like Fred Armisen and Carrie Brownstein doing a Portlandia sketch. From their time "on" the moon:

Franklin: "Do you wanna take a selfie?"

Zuckerberg: [silently staring off into the cosmic middle distance for way too long] "Yeah, sure."

Previously, previously, previously, previously, previously.

Posted Tue Oct 10 18:02:46 2017 Tags: