department of hack
1087 stories

a better internet

1 Share

Annalee Newitz:

What would “internet realists” want from their media streams? The opposite of what we have now. Today, platforms like Facebook and Twitter are designed to make users easy to contact. That was the novelty of social media — we could get in touch with people in new and previously unimaginable ways.

It also meant, by default, that any government or advertiser could do the same. Mr. [John] Scalzi thinks we should turn the whole system on its head with “an intense emphasis on the value of curation.” It would be up to you to curate what you want to see. Your online profiles would begin with everything and everyone blocked by default.

Where I come from we call that an “RSS client.”

Read the whole story
4 days ago
Boulder, CO
Share this story

When a Brand Ruins Your Faves

1 Share

Today in Tedium: There’s an ad campaign currently on national TV that really bothers me. Like, a lot. Starting a couple of months ago, Facebook started using The Muppets to promote its Portal product, a device that is seen as so problematic that upon its release it received nearly universal do-not-buy recommendations from tech reviewers. And I friggin’ love The Muppets, to the point that I was absolutely giddy about them as a kid. But despite The Muppets’ roots in advertising, it feels wrong—like having Mister Rogers promoting Exxon after an oil spill. Today’s Tedium is about advertisers who put a happy face on problematic products. — Ernie @ Tedium

Thanks to Anil Dash for the idea. Also, Today’s Tedium is sponsored by Lemonade. More from them in a second.

“It all ends in one of two ways: either someone gets eaten or something blows up.”

— Jim Henson, describing the controlled chaos of The Muppets, his concept for bringing puppetry to television starting in the 1950s. For the most part, Henson didn’t particularly care how the explosion or digestion took place, just that it happened, which is good, because it meant that he was flexible with how the brand first appeared.

1203 muppets

Step away from the webcam, Fozzie! It’s tracking your every move!

Why Facebook’s co-opting of The Muppets to sell webcams is so problematic

The Muppets are a major influence on me, I think I can say. So much so that my third issue, published when I maybe had about 500 subscribers, was about them. And when I got a chance to check out a museum exhibit featuring Henson earlier this year, it brought me a level of joy few other things have.

But as much as I loved The Muppets when they Took Manhattan, I find myself really challenged by their current sponsorship deal with Facebook Portal.

The campaign is, on a surface level, well-done. Evoking the classic films, where the various characters are often split apart before coming together at the end of the film, the Portal is shown as a way to bring the characters into the same room once again, or as Kermit puts it: “I sent everyone a Portal so we can be together no matter where we are!”

In one sense, you can argue that this is an example of Jim Henson’s creation returning to its original context. Henson was never overly protective of The Muppets when it came to advertising, in part because it was initially one of the few contexts in which it could live peacefully before it became a successful concept on its own. He got his start in advertising, and one of his key goals was simply to get his foam and fabric figures out there. It took multiple tries and many false starts (most infamously, a hated stint on the first season of Saturday Night Live) to get his creations in the right context.

And the right context happened in a roundabout, indirect way. The Muppet Show, when first created in 1976, was a British production that aired in first-run syndication in the U.S. because the networks didn’t want it. But it became a phenomenon despite them, as well as a valuable asset, one that successfully hits pretty much every age group.

Decades later, it’s clear why The Muppets were picked for Facebook’s campaign, though: The franchise was on a bit of a downswing after the failure of a single-season sitcom on ABC a few years back that messed with the classic formula by attempting to modernize it and target it toward a more adult audience. That meant that Kermit and company were in need for a round of image rehab—something that put them in their original context.

You can say that the Portal ads certainly do that—despite the use of technology, the ads hit all of the cues of the 1970s variety show and the original film series.

The problem is that the device that they’re using is widely seen as a privacy nightmare, despite Facebook’s best efforts to sell it as anything but. Its reputation was so damaged out of the gate that it needs image rehab even more so than The Muppets do. On paper, it’s a combination that should make sense.

But there’s just one problem: Facebook Portal is an irredeemable product. It will not win because it is associated with Facebook, a company whose crises are myriad to the point it makes it untrustworthy. In fact, the Portal makes those image problems worse.

“They have privacy issues they need to address and having a device that could invade your home is a problem,” noted well-known tech journalist Kara Swisher upon Portal’s release.

Lemonade #3

Get renters insurance starting at $5/month

  • Protect your laptop, phone, and other stuff wherever you go

  • Sign up and make claims in seconds

  • Insurance written in plain English

  • Don’t end up making claims? Awesome! That money will go to a charity of your choice

Check Your Prices with Lemonade

1203 shell

The energy company Shell, which recently ran a “greenwashing” campaign on YouTube. (Marc Rentschler/Unsplash)

The Muppets’ Facebook gig feels like the Silicon Valley version of greenwashing

Making Fozzie Bear and Animal do brand rehab just feels like an enormous slap in the face—a clear example of something with a good reputation trying to sell something really bad.

It’s Facebook’s version of “greenwashing,” the well-known phenomenon in which companies with inherent environmental problems use eco-friendly language to promote their products or improve their track records.

It’s not a new idea (the concept really kicked off in earnest while Mark Zuckerberg was still in grade school), but there is a pretty recent example that’s worth bringing up. Earlier this year, the energy company Shell launched a YouTube series that leaned on the backs of a sitcom star and a number of high-profile online personalities.

The series, called “The Great Travel Hack,” shares a similar conceit to the Facebook Portal commercials, in that it uses positive imagery to help put a shine on something with a somewhat dark underbelly. The host, Kaley Cuoco of The Big Bang Theory, officiated a competition in which two teams of fresh-faced influencers (on one team, YouTube power couple Sara Dietschy and John Hill; on the other, popular travel vloggers Damon and Jo) traveled across the country using the minimum level of carbon dioxide possible.

It’s understandable why they did the series: Shell probably paid everyone a lot of money. But for those familiar with the nature of greenwashing, it felt like bad news.

“Shell making a promo on reducing CO2 emissions is like McDonald’s making a promo about reducing obesity,” one YouTube commenter stated.

Despite the negative comments and online criticism, that hasn’t stopped Shell, which made a second season targeting the European market.

Disney, which owns the Muppets brand, has allowed Facebook to commit the technology equivalent of greenwashing with some of the 20th century’s most beloved television icons. And if not careful, the company could cause long-term damage to an important brand.


The year that Disney finally purchased the Muppets franchise, a successful attempt that came about 15 years after the first time the company tried to do so in 1989. The deal fell through at the time in part due to Henson’s untimely death, but Disney in 1991 took a distribution role with The Jim Henson Company, and after that company was purchased back from a German media company in the early 2000s, the characters featured in The Muppet Show were sold to Disney in 2004—while Henson’s namesake company and some of its other franchises (Labyrinth, Fraggle Rock) continue to be owned by the independent studio, and Sesame Street has completely different owners entirely. (Which means, despite some surface similarities, the Facebook campaign has no corporate ties to Sesame Street’s promotion of Farmers Insurance.) Got all that?

1203 walmart

Walmart’s labor practices were widely criticized in the ’90s—but it wasn’t Walmart that took the brunt of the blame. (Clean Walmart/Flickr)

Can brands damage celebrities as much as celebrities damage brands? Yes, sometimes

In some ways, the use of The Muppets in a Facebook commercial flips the script on the nature of celebrity endorsements gone awry. Generally, it’s the celebrity that’s costing the bigger brand credibility when something goes wrong.

One particularly famous example of this: Before O.J. Simpson became the poster child of low-speed car chases, he was the poster child of car rentals, as he endorsed Hertz. There were signs of trouble as early as 1989, as some of Simpson’s personal troubles went public, but the brand waited them out.

“There was still some concern and we watched it carefully … but after the press didn’t make a big deal about it, and the slap-on-the-hand outcome … we elected to keep going with O.J,” said Brian Kennedy, a Hertz executive vice president of marketing and sales, in a 1994 Washington Post article. (An article, incidentally, also written by Kara Swisher!)

Because O.J. spent so long as their sponsor, it was hard to disconnect Hertz’s image from the guy who was running away from the police in a Ford Bronco.

When a brand has a breakdown, the celebrity is more often than not the one who causes the breakdown. Think Lance Armstrong, Chris Brown, or Madonna—three celebrities who, for different reasons, saw major brand endorsement deals go south because of things they did.

But there are some examples where a brand association actually harms the celebrity. I have two in particular I want to bring light to: One that happened many decades ago, and another that’s much more recent.

The more recent example that comes to mind is Theranos, the failed startup that misled its investors regarding what its technology could actually do. So where do the celebrity endorsements come in? On its board—where major politicians, including former presidential cabinet members Henry Kissinger, James Mattis, and George Schultz, lent some of their authority to a high-flying startup. When information about Theranos’ processes came under scrutiny thanks to dogged reporters, the board was quickly torn apart.

1203 gifford

Kathie Lee Gifford, shown right, was publicly defended by her late husband Frank Gifford after a scandal involving her clothing line emerged—a scandal that emerged after activists publicly called her out. (John Matthew Smith/Wikimedia Commons)

The older example is more interesting, though. TV host Kathie Lee Gifford found her name dragged through the mud in the mid-1990s because of something she didn’t actually personally do, but was merely associated with indirectly.

The brand that did her wrong? Walmart, which sold a line of clothing with the talk show host’s name on the packaging. Charles Kernaghan, a labor activist whose organization, the National Labor Committee in Support of Human and Worker Rights (now known as the Institute for Global Labour and Human Rights), was a leading voice against the use of sweatshops, publicly spoke out against Gifford, personally blaming her for the labor practices associated with the products that bore her name.

Kernaghan’s attack proved incredibly effective, so much that it caused years of problems for Gifford. As a New York Times piece put the saga:

Overnight, the effervescent co-host of “Live With Regis and Kathie Lee,” was branded a pariah after Charles Kernaghan, executive director of the National Labor Committee Education Fund in Support of Worker and Human Rights in Central America, told Congress on April 29 that her clothing line was being made by 13- and 14-year-olds working 20-hour days in factories in Honduras.

Never mind that Wal-Mart was responsible for producing the Kathie Lee Gifford clothing line. Never mind that Michael Jordan and Jaclyn Smith have come under criticism for endorsing products made in sweatshops. Never mind that Mr. Kernaghan recently apologized, saying he and his organization “never intended to hurt anyone personally and are truly sorry for any pain caused to Kathie Lee Gifford.” The fact remains that the Kathie Lee name has become associated in the popular mind with the word “sweatshop.”

Gifford had never dealt with a controversy anywhere near this level in her career. Her whole brand was built on being innocuous and friendly. But Walmart was only just starting to gain its negative reputation with consumers as a company that will go long lengths to help facilitate its low prices, and Kernaghan decided that Gifford was the one who deserved the attack dogs brought on her.

The result created widespread changes in labor practices, but at the cost of Gifford’s reputation. Kernaghan made Kathie Lee cry, and promoted that fact for years.

“The Kathie Lee Gifford thing literally changed the way people do business,” Kernaghan said in 2005.

The reality is that Gifford, like many other celebrities, was not aware of what the corporation was doing under the guise of the endorsement deal. She noted that she had a clause in her contract that specifically forbade the use of illegal labor practices—but that Walmart produced the clothes in poor conditions anyway. (The mistake she made was failing to actually audit this claim, which is understandable because it’s not generally an issue celebrities have to worry about with endorsements.)

Kernaghan could have just as easily targeted any other major celebrity of the era who had an endorsement deal at a big-box retailer—say, model Kathy Ireland’s long association with Kmart—and gotten similar results.

Gifford, for her part, understood the gravity of the situation and used her celebrity to help further attention on the issue, even working with the Clinton administration to draw attention to the problem. Even so, her critics continued to needle at her—in 2000, upon her departure from Live With Regis & Kathie Lee, lawyer and labor activist Jonathan D. Rosenblum—who admitted not even knowing who she was before the controversy started—called her a “sweatshop queen” and a “hypocrite” in a column that did not blame Walmart once for the fact that it was their supply chain issues that were to blame for the saga.

I understand the challenges of getting the public to care about issues of labor activism and sweatshops, but one could make the case that the targeting of Gifford at the same time that other celebrities of the era, such as Michael Jordan, could have credibly been targeted for the same thing to a possibly more dramatic effect, reeks of sexism and let the actual bad guys—the ones running the supply chains, a.k.a. Walmart, Nike, and whomever else—off the hook.

Kathie Lee was a patsy in the anti-sweatshop movement, and Walmart let her take the fall.

Can The Muppets outlive this association with Facebook Portal? God, I hope so, but it also reflects a longer-term issue that has surfaced with the brand—one that is particularly surprising, given that it’s owned by a company that now owns a lot of artistic franchises that people really care about.

Simply put, the fact that Disney rented out The Muppets to Facebook is a huge warning sign that they don’t know what to do with these icons of filling the frame, an issue cited by critics such as Slashfilm’s Josh Spiegel as far back as 2017. At the time, he took Disney to task for seemingly only putting them on YouTube and failing to transition in the creative personalities behind the scenes.

“Kermit the Frog, Miss Piggy, Fozzie Bear, and the Great Gonzo (among many others) are iconic, family-friendly faces, each able to represent a blend of hope and comic anarchy,” Spiegel wrote. “But now, we get 30-second bits where they deliver a couple brief one-liners, and that’s that. It’s easy to get a bit ruffled about who’s performing as these characters, with Frank Oz having retired and Henson having passed.”

In other words, Disney was already having brand management problems for years before they let Facebook do their bidding—which is particularly confusing given how successful it has been managing other brands it now owns, such as Marvel and Star Wars.

It does not bode well for other major franchises that will likely carry something of a secondary role under the Disney umbrella—such as, for example, The Simpsons, a relatively new acquisition for the company, and one that is already suffering from obvious blunders of creative management on Disney+.

Promoting The Muppets seems like something that Disney could so easily get right. But they keep getting it wrong. And now, this beloved franchise is, potentially, forever tainted by its association with one of the worst things Silicon Valley has ever created.

It didn’t have to be this way.


Find this one a thought-provoking read? Share it with a pal! And thanks to Lemonade for sponsoring.

Read the whole story
4 days ago
Boulder, CO
Share this story

Take action to save .org and prosecute those who sold out the internet


As many of you have no doubt heard, control of the .org registry has been sold to private interests. There have been attempts to call them to reason, like Save .ORG, but let’s be realistic: they knew what they’re doing is wrong, the whole time. If they were a commercial entity, our appeals would fall on deaf ears and that would be the end of it. But, they’re not a commercial entity - so our appeals may fall on deaf ears, but that doesn’t have to be the end of it.

The level of corruption on display by the three organizations involved in this scam: ICANN (Internet Corporation for Assigned Names and Numbers), ISOC (The Internet Society), and PIR (Public Interest Registry), is astounding and very illegal. If you are not familiar with the matter, click this to read a summary:

Summary of the corrupt privatization of .org

The governance of names on the internet is kind of complicated. ISOC oversees a lot of activities in internet standards and governance, but their role in this mess is as the parent company of PIR. PIR is responsible for the .org registry, which oversees the governance of .org directly and collects fees for every sale of a .org domain. ICANN is the broader authority which oversees all domain allocation on the internet, and also collects a fee for every domain sold. There's a complex web of documents and procedures which govern these three organizations, and the name system as a whole, and all three of them were involved in this process. Each of these organizations is a non-profit, except for PIR, which in the course of this deal is trying to convert to a B corp.

ICANN can set price limits on the sale of .org domains. In March of 2019, they proposed removing these price caps entirely. During the period for public comment, they received 3,300 comments against, and 6 in favor. On May 13, they removed these price caps anyway.

In November 2019, ISOC announced that they had approved the sale of PIR, the organization responsible for .org, to Ethos Capital, for an unspecified amount. According to the minutes, the decision to approve this sale was unanimously voted on by the board. Additionally, it seems that Goldman Sachs had been involved in the sale to some degree.

Fadi Chehadé became the CEO of ICANN in 2012. In 2016, he leaves his position before it expires to start a consulting company, and he later joins Abry Partners. One of the 3 partners is Erik Brooks. They later acquire Donuts, a private company managing domains. Donuts co-founder Jon Nevett becomes the CEO of PIR in December 2018. On May 7th, Chehadé registers, and on May 13th ICANN decided to remove the price caps despite 0.2% support from the public. On May 14th, the following day, Ethos Capital was incorporated, with Brooks as the CEO. In November 2019, ISOC approved the acquisition of PIR by Ethos Capital, a for-profit company.

These are the names of the criminals who sold the internet. If you want to read more, Private Internet Access has a good write-up.

Okay, now let's talk about what you can do about it.

If you are familiar with the .org heist, then like me, you’re probably pissed off. Here’s how you can take action: all of these organizations are 501c3 non-profits. The sale of a non-profit to a for-profit entity like this is illegal without very specific conditions being met. Additionally, this kind of behavior is not the sort the IRS likes to see in a tax-exempt organization. Therefore, we can take the following steps to put a stop to this:

  1. Write to the CA and VA attorney general offices encouraging them to investigate the misbehavior of these three non-profits, which are incorporated in their respective states.
  2. File form 13909 with the IRS, encouraging them to review the organization’s non-profit status.

This kind of behavior is illegal. The sale of a non-profit requires a letter from the Attorneys General in both California (ICANN) and Virginia (ISOC, PIR). Additionally, much of this behavior qualifies as “self-dealing”, or leveraging one’s power within an organization for their own benefit, rather than the benefit of the organization. To report this, I’ve prepared a letter to the CA and VA Attorney’s General offices, which you can read here:

I encourage you to consider writing a letter of your own, but I would not recommend copying and pasting this letter. However, this kind of behavior is also illegal in the eyes of the IRS, and a form is provided for this purpose. Form 13909 is the appropriate means for reporting this behavior. You can download a pre-filled form here, and I do encourage you to submit one this yourself:

This only includes complaints for ICANN and ISOC, as PIR is seeking to lose its non-profit status anyway. You can print out the PDF, fill in your details on both pages, and mail it to the address printed on the form; or you can download the ODG, open it up with LibreOffice Draw, and fill in the remaining details digitally, then email it to the address shown on the page.1

Happy Thanksgiving! Funny how this all happened right when the American public would be distracted…

  1. Crash course in LibreOffice Draw: press F2, then click and drag to make a new textbox. Select text and use Ctrl+[ to reduce the font size to something reasonable. The red button on the toolbar along the top will export the result as a PDF. 

Read the whole story
7 days ago
Boulder, CO
9 days ago
Washington, DC
Share this story

PHP 7.4.0 released

1 Share
Version 7.4.0 of the PHP language has been released. New features include typed properties, arrow functions, weak references, and more; see the release announcement and migration guide for more information.
Read the whole story
7 days ago
Boulder, CO
Share this story

Challenge: Write a bouncy window manager


Hello! I’m writing a short series of programming challenges with Julian, and this is the first one!

the challenge


The goal here is to make a very silly Linux window manager that bounces its windows around the screen, like in the gif above.


The window manager doesn’t need to do anything else! It doesn’t need to support:

  • moving or resizing windows
  • switching between windows
  • minimizing windows
  • literally any of the other things you might normally expect a window manager to do

It turns out implementing this kind of toy window manager is surprisingly approachable!

the setup: start with tinywm

All the instructions here only work on Linux (since this is about writing a Linux window manager).

starter kit: tinywm

Writing a window manager from scratch seems intimidating (at first I didn’t even know how to start!). But then I found tinywm, which is a tiny window manager written in only 50 lines of C. This is a GREAT starting point and there’s an annotated version of the source code which explains a lot of the details. There’s a Python version of tinywm too, but I wasn’t able to get it to work.

I did this challenge by modifying tinywm and it worked really well.


  • Xephyr lets you embed an X session in a window in your regular desktop, so that you can develop your toy window manager without breaking your usual desktop. I ran it like this: Xephyr -ac -screen 1280x1024 -br -reset -terminate 2> /dev/null :1 &
  • You can start an xterm in the Xephyr desktop with xterm -display :1
  • I compiled my window manager with gcc bouncewm.c -g -o bouncewm -lX11 and ran it with env DISPLAY=:1 ./bouncewm
  • xtrace lets you trace all requests to the X windows system that your window manager is making. I found it really helpful when debugging. (run it like xtrace ./bouncewm)


Some useful references:

If you’re not comfortable writing C, there are also libraries that let you work with X in other languages. I personally found C easier to use because a lot of the window manager documentation and examples I found were for the Xlib C library.

my experience: 5 hours, 50 lines of code

To give you a very rough idea of the difficulty of this exercise: I did this in 4 or 5 hours this morning and last night, producing the window manager you see in the gif at the top of the blog post (which is 50 lines of code). I’d never looked at the source code for a window manager before yesterday.

As usual when working with a new library I spent most of that time being confused about various basic things about how X works. (and as a result I learned several new things about X!)

For me this challenge was a fun way to:

  • learn some basics about the X window system protocol (I’ve been using window managers for 15 years, today I got to write one!)
  • research an unfamiliar library (“ooh, what does this function do?”)
  • use a C library, since I don’t usually write C

send me your solution if you do this!

I’ll post the solution I came up in a week. If you think this window manager challenge sounds fun and end up doing it, I’d love it if you sent me your solution (to!

I’d be delighted to post any solutions you send me in the solutions blog post.

Read the whole story
8 days ago
Boulder, CO
Share this story

Software developers should avoid traumatic changes

1 Share

A lot of software has gone through changes which, in retrospect, I would describe as “traumatic” to their communities. I recognize these sorts of changes by their effect: we might have pulled through in the end, but only after a lot of heartbreak, struggle, and hours of wasted hacking; but the change left a scar on the community.

There are two common cases in which a change risks introducing this kind of trauma:

  1. It requires everyone in the community, or nearly everyone, to overhaul their code to get it working again
  2. It requires everyone in the community, or nearly everyone, to overhaul their code to get it idiomatic again

Let’s call these cases, respectively, strong and weak trauma. While these are both traumatic changes, the kind of trauma they inflict on the community is different. The first kind is more severe, but the latter is a bad idea, too. We can examine these through two case-studies in Python: the (in)famous transition to Python 3, and the less notorious introduction of asyncio.

In less than one month, Python 2 will reach its end of life, and even as a staunch advocate of Python 3, I too have some software which is not going to make it to the finish line in time1. There’s no doubt that Python 3 is much, much better than Python 2. However, the transition was poorly handled, and upgrading can be no small task for some projects. The result has been hugely divisive and intimately familiar to anyone who works with Python, creating massive rifts in the community and wasting millions of hours of engineer time addressing. This kind of “strong” trauma is fairly easy to spot in advance.

The weaker kind of traumatic change is more subtle, and less talked about. It’s a slow burn, and it takes a long time for its issues to manifest. Consider the case of asyncio: clearly it’s an improvement for Python, whose previous attempts at concurrency have fallen completely flat. The introduction of async/await and coroutines throughout the software ecosystem is something I’m generally very pleased about. You’ll see me reach for threads to solve a problem when hell freezes over, and no earlier, so I’m quite fond of first-class coroutines.

Unfortunately, this has a chilling effect on existing Python code. The introduction of asyncio has made large amounts of code idiomatically obsolete. Requests, the darling of the Python world, is effectively useless in a theoretical idiomatic post-asyncio world. The same is true of Flask, SQLAlchemy, and many, many other projects. Just about anything that does I/O is unidiomatic now.

Since nothing has actually broken with this change, the effects are more subtle than with strong traumatic changes. The effect of asyncio has been to hasten the onset of code rot. Almost all of SourceHut’s code pre-dates asyncio, for example, and I’m starting to feel the limitations of the pre-asyncio model. The opportunity to solve this problem by rewriting with asyncio in mind, however, also presents me a chance to rewrite in anything else, and reevaluate my choice of Python for the project entirely. It’s a tough decision to think about — the mature and diverse ecosystem of libraries that help to make a case for Python is dramatically reduced when asyncio support is a consideration.

It may take years for the trauma to fully manifest, but the rift is still there and can only grow. Large amounts of code is rotting and will have to be thrown away for the brave new asyncio world. The introduction of asyncio has made another clear “before” and “after” in the Python ecosystem. The years in between will be rough, because all new Python code will either leverage the rotting pre-asyncio ecosystem or suffer through an immature post-asyncio ecosystem. It’ll likely turn out for the better — years from now.

And sometimes these changes are for the better, but they should be carefully thought out, and designed to minimize the potential impact. In practical terms, it’s for this reason that I urge caution with ideas like adding generics to Go. In a post-generics world, a large amount of the Go ecosystem will suddenly become unidiomatic, and breaking changes will required to bring it up to spec. Let’s think carefully about it, eh?

  1. Eh, kind of. I’m theoretically behind the effort to drop Python 2 from Alpine Linux, but the overhaul is tons of work and the time I can put into the effort isn’t going to be enough to finish before 2020. 

Read the whole story
12 days ago
Boulder, CO
Share this story
Next Page of Stories