The Daily Parker

Politics, Weather, Photography, and the Dog

The Beast is Here

The new computer has arrived, and I am now setting it up.

This used to be a total pain in the ass. Copy files, install from disks, copy more files, find passwords... And by "used to" I mean in 2012.

Today my working files are all in OneDrive, my frequently-used, unimportant Web passwords* are in Chrome, and my apps are all in the cloud. This pretty much means the only things I have to do are (a) log into my Microsoft account, (b) download Chrome, and (c) copy a portable hard disk onto my local. So much less babysitting.

And then there's this:

I mean, 40 GB. I feel like the first time I used a computer with 32 MB of RAM. I haven't even taken it out for a spin yet; that's after I install Lightroom, Visual Studio, and SQL Server.

Speaking of, I do have to install my development environment and make sure I can compile and deploy the important things. But I don't have to do that this second.

34,359,738,368 bytes

This little box here contains 32 gigabytes of RAM, and cost me $1 per 162,842,362 bytes. As I mentioned Thursday, this is considerably more RAM for considerably less money than the RAM I bought in January 1993 to upgrade my 4 MB ZEOS computer to an 8 MB computer. Those 4 megabytes cost about the same as these 32 gigabytes in total. But back then, I got only 20,972 bytes per dollar.

Put it another way: this RAM is approximately 8,000 times less expensive than the RAM I bought in 1993. It's also somewhere around 2,000 times faster, but that's a different metric. Oh, and it's more than 1,600 times more memory capacity than the total hard drive space on the first computer I owned that came with a hard drive.

I love living in the future.

Did Reddit get an NSA letter?

Reddit recently published their 2015 Transparency Report, in which they tell how many times they received official requests for user information. However, NSA letters often require that the companies receiving them keep the letters themselves secret. So how to let the world know you've received one? Kill a canary:

At the bottom of its 2014 transparency report, the company wrote: "As of January 29, 2015, reddit has never received a National Security Letter, an order under the Foreign Intelligence Surveillance Act, or any other classified request for user information. If we ever receive such a request, we would seek to let the public know it existed."

That language was conspicuously missing from the 2015 transparency report that was published Thursday morning.

Warrant canaries work like this: a company publishes anotice saying that a warrant has not been served as of a particular date. Should that notice be taken down, users are to surmise that the company has indeed been served with one. The theory is that while a court can compel someone to not speak (a gag order), it cannot compel someone to lie. The only problem is that warrant canaries have yet to be fully tested in court.

When users wondered if this meant the site had been subjected to a secret court order in the /announcements/ subreddit, CEO Steve Huffman, known on the site as "spez," wrote: "I've been advised not to say anything one way or the other."

Secret warrants are totalitarian instruments that have no place in an open democracy. We need to end the practice. I hope someone with the balls and bucks challenges one soon.

Coming soon to a World Headquarters near you

For a big reason that I'll announce tomorrow afternoon, I've just ordered what may turn out to be the last desktop computer I'll ever buy. I think this may be true because (a) I've ordered a box that kicks proportionately more ass than any computer I've bought before; (b) each of my last three computers was in use for more than two years (though the one I bought in 2009 would probably have lived longer had I not dumped a bowl of chicken soup on it); and (c) each of the previous 2-year-old computers was replaced by an incrementally-better one, not a hugely-better one.

The new computer will have a 6-core Xeon E5-2620 2.4 GHz processor, 40 GB (!!!) of 2133 MHz ECC RAM, a 512-GB SSD boot drive and a 2-TB data drive, and an nVidia Quadro K620 video card. It replaces a laptop running a Core i7 2.4 GHz processor with 12 GB of RAM and a single 512-GB SSD augmented by a portable 2-TB data drive that runs through a USB 3.0 port. And whatever onboard video Dell stuck in there.

I'm going to disclose the total cost of this machine because I've just calculated the costs of several other boxes I've bought over the years against the consumer price index. It's a crude measurement, and probably overstates inflation when applied to technology, but it does give you an idea of how things changed over time. Here, then, are a few of my older computers—just the ones I used as my principal, daily machines, not servers:

Bought Config, Processor, Ram, HDD $ then $ now
Mar 2016 Desktop, Xeon 6C 2.4 GHz, 40 GB, 512 GB SSD + 2TB Data $3406 $3406
Dec 2013 Laptop, Core i7 2.4, 12 GB, 512 GB SSD $1706 $1737
Nov 2011 Laptop, Core i5 2.2 GHz, 8 GB, 256 GB SSD $795 $833
Nov 2009 Laptop, Core 2 Duo 2.66 GHz, 4 GB, 250 GB $923 $1012
Oct 2008 Desktop, Xeon 4C 2.0 GHz, 8 GB, 146 GB $1926 $2109
Feb 2007 Laptop, Centrino 2.0 GHz, 2 GB, 160 GB $2098 $2445
Jun 2005 Laptop, Pentium M 2.8 GHz, 2 GB, 60 GB $1680 $2048
Oct 2003 Laptop, Pentium M 1.4 GHz, 1 GB, 60 GB $1828 $2343
Oct 2002 Laptop, Pentium 4 1.7 GHz, 512 MB, 40 GB $2041 $2669
Mar 1999 Desktop, Pentium 3 500 MHz, 256 MB, 20 GB $2397 $3445
May 1995 Desktop, Nx 586 90 MHz, 32 MB, 850 MB $2206 $3437
Oct 1991 Desktop, 80386 33 MHz, 4 MB, 240 MB $2689 $4640

Obviously cost alone doesn't line up with value. Even in the last 5 years the computers have gotten better, despite the flattening-out of Moore's Law. I mean, the software development environment I work in would barely function in 4 gigabytes of RAM, and yet that's what I was using as recently as October 2011. Going farther down the list to the first computer I ever bought, in October 1991, yes it really did have 4 megabytes of RAM (1,024 times less), but that was just fine for Windows 3.1 back then.

Is the new computer going to change my life? Not a lot, though it will significantly cut compile-and-run times while I'm coding (and slightly increase my electric bill). And yet in 10 years I probably won't even have a desktop computer anymore, because I'll be doing my job on some other kind of device. I mean, when I got the Pentium 4 laptop in 2002 for $2,700 in today's dollars, I could hardly have predicted that 10 years later l would get about the same power and storage space in a mobile phone for 20% of the cost.

There are two other computers on the list whose prices I don't really know, because they were gifts, but they're worth mentioning. In 1986 I got a hand-me-down IBM PC with a 1 MHz 8088 processor, 640 kB of RAM, and two 5.25-inch floppy drives. I believe that computer originally cost about $9,000, which would be about $22,000 today. Then, in 1988, I got a hand-me-down Toshiba T3100 "laptop" that weighed about 7 kg and came with a 12 MHz 80286 processor, still 640 kB of RAM, and had a huge 20 MB hard drive. That one cost (I believe) about $2,500 new, or $5,100 today. And that 20 MB drive? That's 1/2,048th the storage space of the working RAM that my new box will have.

Still, every time I've bought a computer, I've outgrown it in less than three years. This time I hope I'm getting enough computer to make it four.

Quiet implementations of Moore's Law

Jeff Atwood uses a complaint about how computers have ruined chess forever to make an important point about security:

What's not clear in this table [of exponentially decreasing dollars per gigaflop] is that after 2007, all the big advances in FLOPS came from gaming video cards designed for high speed real time 3D rendering, and as an incredibly beneficial side effect, they also turn out to be crazily fast at machine learning tasks.

Let's consider a related case of highly parallel computation. How much faster is a GPU at password hashing?

Only 155 times faster right out of the gate. No big deal. On top of that, CPU performance has largely stalled in the last decade.

I'd like to emphasize how much it sucks to be an 8 character password in today's world. If your password is only 8 characters, that's perilously close to no password at all. That's also why why your password is (probably) too damn short. In fact, we just raised the minimum allowed password length on Discourse to 10 characters, because annoying password complexity rules are much less effective in reality than simply requiring longer passwords.

Talk about burying the lede. But Atwood is correct; unless you're in the habit (as I am) of using a strong, unique password for every single website, use a set of strong passphrases instead. (The Ars Technica article Atwood cited is pretty good.)

Also, I'm looking for a really good video card now...

Sad day for AIs everywhere

Microsoft launched and then quickly shut down an AI customer service bot this week after the Internet taught it bad habits:

The aim was to “experiment with and conduct research on conversational understanding,” with Tay able to learn from her conversations and get progressively “smarter.” But Tay proved a smash hit with racists, trolls, and online troublemakers, who persuaded Tay to blithely use racial slurs, defend white-supremacist propaganda, and even outright call for genocide.

Microsoft has now taken Tay offline for “upgrades,” and it is deleting some of the worst tweets—though many still remain. It's important to note that Tay's racism is not a product of Microsoft or of Tay itself. Tay is simply a piece of software that is trying to learn how humans talk in a conversation. Tay doesn't even know it exists or what racism is. The reason it spouted garbage is because racist humans on Twitter quickly spotted a vulnerability—that Tay didn't understand what it was talking about—and exploited it.

What interests me here is that no one at Microsoft had the imagination (or, frankly, real-world junior high school experience) that might have led to the rudimentary testing to predict this outcome.

I can't wait to see what the "upgrades" do. At least we can rest assured that Skynet is still a long way off.

Articles to read while waiting for my next online meeting

Hillary Clinton and Donald Trump won their respective Illinois primary elections yesterday. And in other news:

Time to write some documentation. Whee.

Apple refuses order to cripple its products

U.S. Magistrate Judge Sheri Pym yesterday ordered Apple, Inc., to bypass security on the iPhone 5c owned by the San Bernadino shooters. Apple said no:

In his statement, [Apple CEO Tim] Cook called the court order an “unprecedented step” by the federal government. “We oppose this order, which has implications far beyond the legal case at hand,” he wrote.

“The F.B.I. may use different words to describe this tool, but make no mistake: Building a version of iOS that bypasses security in this way would undeniably create a back door,” Mr. Cook wrote. “And while the government may argue that its use would be limited to this case, there is no way to guarantee such control.”

The Electronic Frontier Foundation, a nonprofit organization that defends digital rights, said it was siding with Apple.

“The government is asking Apple to create a master key so that it can open a single phone,” it said Tuesday evening. “And once that master key is created, we’re certain that our government will ask for it again and again, for other phones, and turn this power against any software or device that has the audacity to offer strong security.”

This reminds me of the incremental logic of Joss Whedon's Dollhouse, where every choice the characters make along the way seems like the right thing to do at the time, if you skip the inconvenient implications of it.

Maybe Raspberry Pi to start?

On Friday I mused about which new technology (or technologies) I should learn in the next few weeks. As if they're reading my mind (or blog) up in Redmond, just this morning Microsoft's Brady Gaster blogged about a little Raspberry Pi project he did:

I broke out my Raspberry Pi and my Azure SDK 2.8.2-enabled Visual Studio 2015 Community Edition and worked up a quick-and-dirty application that can send sensor data to an API App running in Azure App Service. This post walks through the creation of this sample, the code for which is stored in this GitHub repository.

The code that will run on the Raspberry Pi is also extremely simple, deliberately so that you can use your own imagination and add functionality however you want. Here’s a picture of my Raspberry Pi running in our team room, on the big screen. As you can see the app is quite basic – it consists solely of a toggle button, when clicked, kicks off a timer. Each time the timer fires, a request is made to the App Service I just deployed.

Since Gaster is the Azure SDK & Tools Program Manager, his post is really about Azure. But hey, for $50, why not whip up a little toy?

One of the companies I work with recently used Raspberry Pi devices with motion sensors to publicize when conference rooms were free. Maybe I can resurrect the Parker Cam with a motion sensor?

What new tech should I learn?

I'm debating what new area I should explore, assuming I have the time:

I'm thinking about a few side projects, obviously. And this article on new "universal remote" apps in today's Times got me thinking about home automation, too. But that's less a skill to learn than a set of toys to play with.