2019/10/08

Why I'm No Longer On The Facebook

I've had a Facebook account for a few years, largely because other people were on it and were organizing useful communities there.  I stuck with it (not using it for private information) even while I grew increasingly concerned about Facebook's inability to be trustworthy guardians of private information.  The recent slap on the wrist from the FTC for Facebook violating the terms of its prior consent agreement made it clear that there wasn't going to be any penalty for Facebook for continuing to violate court orders.

Mark Zuckerberg claimed he had made a mistake in 2016 by ridiculing the idea of election interference on his platform, apologized, and claimed he was turning over a new leaf:
“After the election, I made a comment that I thought the idea misinformation on Facebook changed the outcome of the election was a crazy idea. Calling that crazy was dismissive and I regret it.  This is too important an issue to be dismissive.”
It turns out, though, that was just Zuck lying to "dumb fucks", as he terms people who trusts him.  Last week, after Zuckerberg had a private meeting with Donald Trump, I discovered that Zuckerberg has decided to not just passively enable, but actively aid and abet, the spread of disinformation on his platformThis week, it turns out that that this is actually happening, and Facebook is perfectly OK with it.

I'm done.  When someone shows you who they are, believe them.  I believe Zuckerberg is exactly who he has shown himself to be, and that as long as he's in charge of decision making at his company, that extends to the company as well.

Goodbye, Facebook.  I can't say it's been fun, but it has been educational.

Addendum:  Just to be clear, this also, obviously, applies to working for Facebook.  I recently got this email from a recruiter, so here's my answer.
Hi John,
I hope you are doing well! I was hoping you'd be open to an “exploratory” conversation about potential opportunities. I recruit specifically for our Software Engineering teams and believe you could be a strong match for Facebook.
Per the above, I do not think I would be a good match for Facebook. 
As cliché as it may sound, we truly do seek innovative engineers who will come up with the next great idea for Facebook to help us connect the world.
Here are some ideas, which you can have for free:  Be responsible custodians of user data, be up front and honest with your users, and if you're going to accept paid ads, apply the same standards for political ads that you do for ads for laundry soap.
By design, we run very small teams. On average, there is about 1 engineer for every 1.25 million customers on Facebook. The company is growing rapidly, and our positions offer explosive growth opportunities.
 You might want to avoid "explosive" in your recruitment emails right now.
What does “exploratory” mean? Well, I’d like to talk to you about where you are in your career, what type of growth opportunities you are hoping for, and the type of development you're most passionate about.
I'm fairly happy in my career, passionate about working on things that help people, but especially passionate about not working on things that actively harm people.  Thus, I don't think I'd be a good match for Facebook right now.
Please let me know if you would have a few minutes to chat sometime this week or next.
Be sure to check out this Forbes article:
http://bit.ly/2cJ3wPe
http://newsroom.fb.com/news/
Best,
[REDACTED]


2019/08/21

Shadowgate: The Lost D&D Campaign

Recently unearthed in a cache of my 1980s-era papers: Shadowgate, totally original Dungeons & Dragons campaign.  Published here for the very first time.  Enjoy!

"Situation: Shadowgate is the name of an ancient fort situated in the foothills of the mountains which mark the kingdom of Quild's northern boundary.  It was constructed long ago, by the magis and artisans of the First Kingdom, to protect the land from the attacks of creatures from beyond the walls of the world.  The central part of the keep was built around a gate which the creatures used to reach the lands of men.  The keep was built to keep safe the magical wards which locked the gate.  The physical keystone of those wards was a large, multifaceted crystal.  With it in place, the shadow creatures could never break through..."
Of course, it would not be a D&D adventure without a map.  The map looks like I spent a lot of time on mountains.









And yes, naturally, there is an evil priesthood:



Troll swords?  Boy, have we got awesome troll swords:



We're gonna need an encounter table:




And if you're lucky, it's gonna just be a pack of 5-10 feral wolves you encounter.  If you're unlucky, you might get  any of a variety of demons, or if the DM is really feeling cranky, a "Greater demon":



I almost forgot about the Shadow Beasts:



And that's just to get to the town.  That's when the mystery really begins... WHO stole that keystone, and WHERE is it now?  And how can we get rid of these freaking Shadow Beasts that keep appearing?

Maybe the warrior monks of the Order of the Gate can help out.  Or maybe they're the ones releasing the Shadow Beasts!



It turns out this adventure is actually a whodunnit.  (No spoilers, but you can read the whole thing online here.)

(I actually have next to no memory of writing this.  It's probably one of a whole set of things I wrote when I was 11 or 12 but this is the only one that survived.  I don't think I ever ran a campaign using it.)

2019/04/01

Goodbye G+!

As I prepare to help shut down public G+ tomorrow, I realize how much I rely on it for long form postings and how much history there is.  I'm frequently on twitter these days, so I'm putting my G+ shutdown playlist there:

https://twitter.com/jpanzer/status/1112831788659798017

I'll likely move back here for long form posts where Twitter is less than optimal.  In that spirit, here's my final goodbye on G+ (which will disappear like tears in the rain tomorrow):

Goodbye, G+!  I've worked, off and on, building and maintaining G+ for mumble years now.  I'm currently working feverishly on winding down the public G+ product and bringing things in for a landing.
All kinds of feels for this.  Even now, with people leaving, the feed I have here is amazingly good and the social network isn't replicated anywhere else.  Thank you all for using my[1] code.  Thanks for being here.
[1] I had a small part, give all credit to the many talented engineers who have poured their skill into this, and accept all blame for post embed bugs.

(I may re-publish other things that seem particularly useful or relevant as I retrieve them from my G+ archive.)

2018/06/04

This kind of reaction from a Secretary of State is garbage

This kind of reaction from a Secretary of State in charge of elections is absolutely incorrect, wrong, and deeply disturbing:

'Democrats are launching a manufactured crisis,” Kemp spokeswoman Candice Broce said. “They would love nothing more than for us to flout Georgia law and use paper ballots so they can challenge the results when they lose, but we will not cater to such childish antics.”'

(http://www.myajc.com/news/state--regional-govt--politics/georgia-democratic-leader-demands-details-voter-data-breach/syAe6Hw5TGKAqfohOqEItM/)

Voter verifiable paper audit trails ("paper ballots") are the consensus recommendation of ALL security experts who have looked at this issue, for the past decade or more:

https://en.wikipedia.org/wiki/Voter-verified_paper_audit_trail#cite_note-5

This is NOT a partisan issue. Kemp can legitimately push back on technical critiques of his state's systems, but to pretend that paper ballots are less secure than the systems Georgia is using (based on obsolete software on top of obsolete Windows operating systems, using registration data apparently vulnerable at least to retrieval and possibly to modification) is frankly laughable.

To then try to turn this into a partisan issue and accuse Democrats of being "childish" for demanding accurate and verifiable voting systems is the height of hubris. And, I'm sorry Mr. Kemp, it's deeply suspicious too.

[Originally published Jun 4, 2018 on https://plus.google.com/115608553892438743738/posts/1VqagcDTtKy]

2018/01/05

My faxed letter to both my Senators this morning


My faxed letter to both my Senators this morning.

Senators Grassley and Graham, this morning, engaged in an obvious act of witness intimidation. They leaked a letter to the Justice Department referring criminal prosecution against Mr. Steele for alleged but unspecified false statements to, apparently, the FBI.

This is on the heels of Senator Grassley refusing to release the testimony of Fusion GPS, refusing to allow the public to evaluate the claims of Simpson vs. selective and apparently inaccurate leaks of said information from the Republican members of the committee.

This is outrageous.

It is unacceptable. It is un-American. These Senators are trying to achieve in then court of public opinion what they have no chance of doing in a real court. They are themselves engaging in witness intimidation & obstruction of justice.

I call on you to denounce this desperate and illegal act by your colleagues and to introduce a motion to censure these two sitting Senators who have demeaned their oath of office. I call on you to support the rule of laws and not men.

Thank you.

[Originally published Jan 4, 2018 at https://plus.google.com/115608553892438743738/posts/Y4oqQ7xLASh]

2017/10/02

What exactly hosts the mail on ijkfamily.com?

So what exactly hosts the mail on ijkfamily.com?

To sum up: Right now, it appears to be just the Trump organization email servers, which does not inspire confidence in their security.

Best as I can tell, as of 8pm Pacific time, it appears that it's hosted by the same servers running Trump org email, possibly hosted by "BBH Solutions" Here's what I did:

1) dig ijkfamily.com MX
yields:
;; ANSWER SECTION:
ijkfamily.com. 3055 IN MX 0 ijkpph01.ijkfamily.com.
ijkfamily.com. 3055 IN MX 0 ijkpph02.ijkfamily.com.

2) dig ijkpph01.ijkfamily.com
yields:
ijkpph01.ijkfamily.com. 3600 IN A 144.121.114.12

3) OK, let's try to telnet to port 25 and see what happens:

telnet 144.121.114.12 25
Trying 144.121.114.12...
Connected to 144.121.114.12.
Escape character is '^]'.
220 MAILHOST01.TRUMPORG.COM ESMTP Mon, 2 Oct 2017 23:03:16 -0400

4) TRUMPORG.COM? Well a server can be configured to say anything here, but, that's interesting. Let's do a sanity check here starting from the "trumporg.com" domain:
dig trumporg.com MX
-->trumporg.com. 3600 IN MX 0 mailhost01.trumporg.com.
dig mailhost01.trumporg.com
-->mailhost01.trumporg.com. 3600 IN A 144.121.114.12

Yup, same IP address as for ijkfamily.com, and therefore, same mail server. Presumably, it's whoever runs the Trump org IT, which is not in fact a commercial mail provider as far as i know. Various researchers in 2016 pointed out Trump org email servers were "horribly insecure" (https://thehackernews.com/2016/10/donald-trump-email-server.html, for example).

None of this inspires confidence.

5) Addendum: Going to http://whois.urih.com and plugging in the 144.121.114.12 address (to see who's hosting the actual servers, or at least proxying them) yields:

http://www.bbhsolutions.com/about-us/
BBH Solutions
2131 Jericho Tpke
Garden City, NY 11040

I don't know of any connection here but the DNS entries seem pretty conclusive -- this isn't being run by a commercial mail provider, but by Trump org internal IT (or vendor(s)).

[Originally published Oct 2, 2017 at https://plus.google.com/115608553892438743738/posts/Fj7vkKssvND]

2017/07/07

The problem with creation date metadata in PDF documents

Last night Rachel Maddow talked about an apparently fake NSA document "leaked" to her organization.  There's a lot of info there, I suggest you listen to the whole thing:

http://www.msnbc.com/rachel-maddow/watch/maddow-to-news-orgs-heads-up-for-hoaxes-985491523709

There's a lot to unpack there but it looks like somebody tried to fool MSNBC into running with a fake accusation based on faked NSA documents, apparently based on cloning the document the Intercept published back on 6/5/2017, which to all appearances was itself a real NSA document in PDF form.

I think the main thrust of this story is chilling and really important to get straight -- some person or persons unknown is sending forged PDFs to news organization(s), apparently trying to get them to run stories based on forged documents.  And I completely agree with Maddow that she was right to send up a "signal flare" to all the news organizations to look out for forgeries.  Really, really, really important stuff.

This post, though, is going to talk about a detail that Maddow may have gotten wrong, why it may be wrong, and how this bears on the possibility that the Intercept was somehow involved vs. any of the millions of people who downloaded the Intercept's published PDF file.

First, let's start with the assumption that the PDF Maddow has is a cloned-and-modified copy of https://assets.documentcloud.org/documents/3766950/NSA-Report-on-Russia-Spearphishing.pdf which is what the Intercept published.

Maddow looked at a bunch of things including the data and metadata of the document.  One of the key pieces of metadata was the "creation timestamp" of the PDF file.  To be clear, this is just a sequence of bytes in a file and could easily be faked if anybody cared to fake it, something that Maddow made clear too.  But if you assume that (A) the document is a clone-with-modifications of the Intercept's PDF and (B) the "creation timestamp" embedded in the PDF wasn't faked, there appeared to be an interesting factoid:  The "creation timestamp" reported by Maddow for her PDF is 3 hours before the actual publication of the PDF, but of course the PDF would necessarily have been created before it was put up on the web server and 3 hours doesn't seem unusual.

But the Intercept took umbrage at the suggestion that this was suspicious, saying:
If you look at the time stamp on the metadata on the document that The Intercept published, it reads “June 5, 12:17:15 p.m.” — exactly the same time and date, to the second, as the one on the document received by Maddow:
And they include a screenshot of the output of "exiftool" which indeed reports (in human readable form) a "Create Date" of "2017:06:05 12:17:15" (with no timezone).

The Intercept then goes on to add:
It’s also possible that simple time zones explain the discrepancy: that whoever forged the document was in a time zone several hours behind East Coast time, and June 5, 12:17 p.m., in that time zone is after The Intercept’s publication, not before.
(The time zone theory doesn't make a lot of sense, because it implies that somebody created a totally new PDF document in a time zone somewhere after publication, but just happened to make the minutes and second match exactly the ones in the original creation timestamp; but at least this is something that's actually testable on a technical level.)

And with this statement, I jump into the fray, because I'm a software engineer and have had to deal with this kind of technical ambiguity in timestamps way too many times and there might in fact be a way to answer at least this one small question absolutely with no ambiguity at all.

It is possible for a PDF file to contain timezone information (see  http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf, page 160).  But sometimes software is stupid, and doesn't record what timezone it's talking about, which is horrible because it leads to confusion.  Did the Intercept's file contain a timezone?  

So I looked at the actual bytes of the Intercept's PDF.  No, it doesn't include timezone info:


Even though my local tool claims it's PDT; this is a lie:



Most likely, somebody downloaded the PDF file from the Intercept after publication, and modified it, leaving the original creation timestamp alone.  The way to tell if the two PDFs have the same or a different timestamp are to open up each one in a binary editor and search for "/CreationDate" and just compare the strings byte for byte, because timestamp formats are horrible and you can't trust the tools to get it 100% right.

So here's what you do, Rachel Maddow:  Open both PDFs in a binary editor ("vi" works on a Mac).  Search for the string "CreationDate".  See if the "D:##########" string matches in each of them.  If it matches, the files have the same creation timestamp, for whatever that is worth.

More broadly, everybody writing software: Just Say No to writing ambiguous timestamps!  And if you read one, DO NOT just slap the local timezone on the end like my local properties viewer does.  And if it's really, really important, check the bytes by hand.


Suspended by the Baby Boss at Twitter

Well!  I'm now suspended from Twitter for stating that Elon's jet was in London recently.  (It was flying in the air to Qatar at the...