death to JSON::PP::Boolean

Dear Lazyweb, how do I get either Data::Dumper or Data::Printer to print JSON booleans sanely in my debug output?

    use Data::Dumper;
    use Data::Printer;
    use JSON::Any;

    my $foo = JSON::Any->new->jsonToObj('{"a":true, "b":false, "c":true}');
    print Dumper ($foo), "\n";
    print np ($foo), "\n";

That prints this unreadable garbage:

    $VAR1 = {
              'b' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
              'a' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
              'c' => $VAR1->{'a'}

    \ {
        a  JSON::PP::Boolean  {
            public methods (0)
            private methods (1) : __ANON__
            internals: 1
        b  JSON::PP::Boolean  {
            public methods (0)
            private methods (1) : __ANON__
            internals: 0
        c  var{a}

When I just want to see:

      'a' => 1,
      'b' => 0,
      'c' => 1

None of this works:

    $JSON::PP::true = 1;
    $JSON::PP::false = 0;

    sub JSON::PP::true { return 1 };
    sub JSON::PP::false { return 0 };

    $JSON::Any::true = 1;
    $JSON::Any::false = 0;

    sub JSON::Any::true { return 1 };
    sub JSON::Any::false { return 0 };

This almost works:

    sub JSON::PP::Boolean::_data_printer {
      return ($_[0] eq JSON::PP::true ? "1" : "0") }

But this is still stupid:

    \ {
        a  0,
        b  1,
        c  var{a}
Tags: , ,

Iä! Iä!

Nobody got that I was dressed as Ronald Reagan.

Tags: , , , , , , ,

You have to get out of here. Your nails are haunted.


Previously, previously, previously, previously.

Tags: , , ,

Butch Locsin

I assume these are all photos from a bank heist in Gotham.

Tags: , , , , , ,

Mimi Choi

Previously, previously, previously, previously, previously.

Tags: , , , ,


Dear Lazyweb, what's the deal with security of iCloud-synched Notes on iOS 10?

In previous versions of iOS, Notes were synched via IMAP. This means that to store them in iCloud, you had to have iCloud email configured. I didn't, and don't, so I only had the option of storing my notes on my own IMAP server, not on iCloud. Which sounds fine, except that it was unreliable: if I edited the same note from more than one device, I would end up with duplicate copies of the note due to merge conflicts like half of the time. I never figured out how to reproduce this, but it was a constant hassle.

But with iOS 10 I see that I now have the ability to sync my Notes through iCloud without having iCloud email set up. This suggests to me that Notes are now synched to iCloud through some mechanism that is not IMAP, and that might therefore work more reliably, so I'm giving that a try to see how that works out.

My question is, do any of you know what that new mechanism is, and what kind of crypto is involved? Specifically, does this give apple the ability to read my Notes?

I am not asking "do they promise not to", I'm asking "do they have the ability to do so, e.g., in response to a subpoena." For example, I think the current belief is the Apple cannot intercept and decode the content of your iMessages, unless you are using iCloud to back up your phone instead of backing up to your Mac, in which case they can, because they can decode the copy of those messages that ends up in the iCloud backup. I am asking whether Notes fall under the "iMessage" crypto regime (private keys exist on the device, public keys on the server) or the "backup" crypto regime (Apple holds the private keys).

(If the answer is "Yes, Apple can read your Notes", that won't necessarily stop me from using iCloud for Notes sync, but I'd like to know.)

(Some of you are dying to tell me about some third party app that you like more than Notes. I am happy for you but please don't.)


Tags: , , , ,

He is lying! an eagle cries.


Darkness had carved its spires into the soil and I was carried into them. The flames had delivered my state into her arms. From there the path was clear, yet, I am uncertain. How can one ascertain the way, even with clear guidance, when the timelime is shrouded. My reasoning lies with the continuous ticking of the clock, though the course is clearly shown, it is ever changing until the instance that it breaks untimely. The sun moves, surely this is known, in a single day and still its methods are unknown to me. I place my future in your hands, please I beg you show me the way. The perception of the vibrations has left me. The Goddess is spiteful. The pain will only amplify from now on if I continue on this path. I must ask for forgiveness, but how does one make an appeal to the Goddess? Please tell me what I must do to please her so that she may forgive me!

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

Tags: , , , , ,

SFMTA removes guerrilla bicycling safety improvements, parks in bike lane while doing so.

SFMTA removed safety infrastructure on Folsom St. and they need an email from you!

Within hours of our work being featured on the front page of the Chronicle, the SFMTA removed posts on Folsom at Division that protected cyclists at a busy intersection for weeks. To add insult to injury, the SFMTA worker blocked the bike lane with his truck while removing our posts.

Over the past few weeks, SFMTA has prioritized removing our safety infrastructure over adding new infrastructure. They've removed safety features on Crossover, Geary, Valencia, Scott, and now Folsom. Sadly, just yesterday a cyclist was hit in the Valencia bike lane and was hospitalized. It is clear that the organization in charge of San Francisco street safety doesn't take the welfare of our cyclists and pedestrians seriously.

Please email the city leaders we've listed below. Feel free to use our template or write your own message. We want the city to know that (1) the posts on Folsom made you more safe (2) you want those posts to be replaced with something as good or better, and (3) that you demand immediate safety improvements while long term street transformations are developed.

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

Tags: , , ,

They Live and the secret history of the Mozilla logo

I'm going to draw a line through 1930s agitprop, Ronald Reagan, methane-breathing zombie space aliens, the Mozilla logo, Barack Obama and the International Commiunist Conspiracy. It's a long walk, so please stick with me.

Let's start with They Live.

I've talked to a number of people recently who haven't seen They Live, and that's a real tragedy, because even though it is technically a sci-fi / horror movie, it is also the best documentary about the Reagan Administration you're likely to see.

If you haven't seen it, it is a 1988 film by John Carpenter whose premise is this: an out-of-work construction worker finds a box of special sunglasses near his homeless encampment. These glasses let you see the world as it really is: the Earth has been invaded, and all of the "one percenters" and most of the cops are actually skinless space zombie free-enterprisers.

"Earth is being acclimatized. They are turning our atmosphere into their atmosphere. Deplete the planet. Move on to another. They want benign indifference. We could be pets. We could be food, But all we really are is livestock."

And most importantly for our story, the glasses also let you see that all advertisements are actually black text on a white background with simple exhortations such as "OBEY", "CONSUME", "MARRY AND REPRODUCE".

It is not necessarily a great movie: it is extremely low budget, and somewhat slow-paced. As a horror movie, perhaps it hasn't aged well. But as a political statement, it is still absolutely fantastic and relevant.

Though, a friend tells me that some of his friends in their 20s watched it recently and thought it was very dated: it was "too 2011". It was entirely too "Occupy Wall Street".

Last week I was bicycling through The Mission and absentmindedly beginning to compose this story in my head. I glanced to my left and said aloud, "You have got to be fucking kidding me," because this is what I saw on a building across the street:

Apparently our local muralists find it to be still relevant as well.

And speaking of graffiti...

There's an artist you may have heard of, Shepard Fairey. He did the Obama "Hope" poster in 2008. But long before that, in the early 90s he had this semi-anonymous graffiti campaign, "Andre the Giant Has a Posse". It was everywhere. Stickers, stencils, wheat-paste posters, I saw them in every city I ever visited. It was a global propaganda campaign whose goals and meaning, if any, were completely obscure. I loved the mindfuckery of it, a campaign with no purpose, for which he had somehow managed to mobilize a worldwide army of helpers, primarly by intentionally giving up control of it and allowing it to take on its own life.

In the mid 90s, his Andre the Giant has a Posse campaign morphed into OBEY GIANT. Andre glowers out at you from under his enormous brow in a style referencing the Big Brother posters from the 1956 film of 1984 as well as the Futurist propaganda art of the 1930s and 40s.

Since then, the OBEY brand has grown tremendously, nearly outstripping even Hot Topic in our suburban malls. It has become the go-to fashion statement for backwards-baseball-cap-wearing bros across the nation. But let us not forget! It is a direct reference to They Live.

So why am I telling you about this odd series of un-ad campaigns? Well.

I was one of the founders of this company called Netscape. You might not have heard of it, because it was a while ago. We built the world's first web browser that mattered. The first one that normal, everyday people could use. It was the browser that your parents used. We did a pretty excellent job of it, too, and our success ushered in the first "tech bubble".

I'm sorry about that part.

Well, in the fullness of time, 1998 to be precise, the company began its process of self-destruction. And through a long series of bizarre events, it turns out that some things I had written about free software led my bosses to decide that we should give away the source code to the web browser. This sort of thing was utterly unheard of at the time.

So we created

Though the world knew the web browser as, alternately, "Mosaic Netscape", "Netscape Navigator" or just "Netscape", we had always known it internally by the name "Mozilla", a name that I came up with. (These days, you know it as "Firefox".)

Mozilla had a cartoon dinosaur as a logo and mascot. In the early years of Netscape, this little guy was plastered all over our web site, in banners at the top of every page, and scattered throughout. The artist was Dave Titus, and he went for a very "cute" look with the art. But some time in 1994, before Dave's vision of Mozilla came to be, I threw together a version to hang on the wall above our cubicle farm, pictured to the right. It's about 4' tall. The original source was a 2" high picture of Godzilla from a newspaper ad for a local toy store. I blew this up on the company photocopier one late night, zooming and zooming and zooming. I spent a lot of late nights slaving over photocopier-based art projects back then, while waiting for things to compile. Every now and then we'd get email from facilities asking why we seemed to burn through so much toner.

I wasn't able to find a contemporary photo of that protozilla, but fortunately, my strict data retention policy applies also to grainy black and white pieces of paper, so I was able to dig the original out of a very old cardboard box that I haven't opened since, I'm guessing, 1996.

When Dave started working on the mascot, I remember that one of the references I passed along as a suggestion was this manga called Gon, a dialogue-less story about a baby tyranosaur just trying to make his way in the world. I'm not sure if he used that as inspiration, but I hope so.

There were many illustrations of our little lizard in various thematic poses. That lasted until, of course, at some point the marketing department decided that for our (already fantastically successful, publically traded) company to appear to be "professional", any trace of fun or whimsy, no matter how harmless, must be scraped away. As they do. Because they are terrible people.

Also, at one point we were threatened with a trademark infringement lawsuit by Toho, the Japanese company who own the Gozilla franchise! They contested our trademark on "Mozilla". They were in the habit of attacking anyone with "zilla" in their name, but our legal staff reached a settlement with them when Toho realized that our t-shirt sales were literally beneath their notice.

For the purposes of this story, here's a glamour shot of Mozilla wearing sunglasses. You know, just the sort of sunglasses that allow one to pull the veil of lies from the face of the world:

With the launch of, I felt we needed to distance ourselves to some degree from Netscape itself, and that meant that, beloved though our little lizard was, we needed a new look. What we were trying to accomplish here was something of a radical idea, so I wanted artwork with a revolutionary feel...

So I called up Shepard.

I didn't know the guy, but I was a fan, so I figured I might as well give it a try.

I remember giving him a brief explanation of what "free software" was all about, how it was based on the principle that when people work on the things they personally care about, but share their work with others, then everyone benefits. That sharing is not inimical to competition and so on. He said, "That's interesting, because that's kind of how 'Andre the Giant Has a Posse' took off," and I said, "I know! I thought you'd get it, which is part of why I thought of you!"

He asked if I had seen his more recent work, and I said, "Yeah, in fact, right now I'm looking at a poster on my wall that you did for Crash Worship, Circus Maxiumus." He said, "Wait, what? How did you get that?" I said, "I bought it at the show." He said, "Oh, well you probably bought it from me, then, because I think I only printed like 50 of those!"

I like to think that the Crash Worship bonding sealed the deal.

So he designed our new mascot:

A much more imposing lizard, rising above the industry that spawned it.

So that was the time that I somehow convinced a multi-billion dollar corporation to give away the source code to their flagship product and re-brand it using propaganda art by the world's most notorious graffiti artist.

At the time that this was happening, the "free software" world had not yet been rebranded as "open source" -- in fact, I attended the meetings of the Secret Cabal where that decision was made, though it was a lot less Eyes Wide Shut than you might expect -- and so, much of the rest of the software industry didn't know what to make of what we were doing. Even though the internet had been built on free software, part of our job was convincing Capitalists, Libertarians and methane-breathing space zombies that giving away the source code to your products and allowing outsiders to participate in your development process actually made sense from an economic point of view, that it was compatible with unfettered free market capitalism, red in tooth and claw. We had to convince them that these "open source" people weren't just a bunch of hippies and Communists.

To that end, the branding strategy I chose for our project was based on propaganda-themed art in a Constructivist / Futurist style highly reminiscent of Soviet propaganda posters.

And then when people complained about that, I explained in detail that Futurism was a popular style of propaganda art on all sides of the early 20th century conflicts; it was not used only by the Soviets and the Chinese, but also by US in their own propaganda, particularly in recruitment posters and just about everything the WPA did, and even by the Red Cross. So if you looked at our branding and it made you think of Communism, well, I'm sorry, but that's just a deep misunderstanding of Modern Art history: this is merely what poster art looked like in the 1930s, regardless of ideology!

That was complete bullshit, of course. Yes, I absolutely branded that way for the subtext of "these free software people are all a bunch of commies." I was trolling.

I trolled them so hard.

I had to field these denials pretty regularly on the Mozilla discussion groups; there was one guy in particular who posted long screeds every couple of weeks accusing us of being Nazis because of the logo. I'm not sure he really understood World War II, but hey.

I'm not sure how much more explicit I could have made the gag than the t-shirts we gave away at our launch party that said PARTY MEMBER!

So that was all pretty fun, but back to They Live.

If you've ever been to DNA Lounge, at this point you might be thinking, "Oh, hey, there's all that weird shit on your ATMs. That's all just another reference to They Live, isn't it?"

Yes. Yes it is.

And finally, to wrap it all up, here's a photo of me in (one of) my Halloween costumes for 2016 (since we have three different parties at DNA Lounge this year!)

And as the rat's milk returns to the sewer, the cycle of life is complete.

The hat is, of course, a reference to Donald Trump's 2016 presidential campaign slogan. For truly, the monsters of the 1980s are still with us, perhaps now more than ever.

And do you see that poster over my shoulder there? That's a poster for Alamo Drafthouse's 2011 revival of They Live... this poster created by Shepard Fairey, specifically for that event. Shepard said at the time, "They Live was the basis for my use of the word 'obey,' The movie has a very strong message about the power of commercialism and the way that people are manipulated by advertising. [...] One of my main concepts with the Obey campaign as a whole was that obedience is the most valuable currency. People rarely consider how much power they sacrifice by blindly following a self-serving corporation's marketing agenda, and how their spending habits reflect the direction in which they choose to transfer power."

In this upcoming presidential election, please vote against the methane-breathing zombie space alien.

Because we're all out of bubblegum.

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

Tags: , , , , , , , , , , , , , , ,


(Someone brought a duck!)

Tags: , , ,

  • Previously