Menu Close

Tag: software development

This website was archived on July 20, 2019. It is frozen in time on that date.
Exolymph creator Sonya Mann's active website is Sonya, Supposedly.

Unsolved Appearance of a Virus

Photo by Steve Jurvetson.

Photo by Steve Jurvetson.

In the beginning there was the Word, and the Word was mainly “database”. Okay, fine, “backup” came into play quite soon, but “database” was key from the start.

After the beginning, there were a lot of other words, but you wouldn’t understand them. Those words were transmitted to the computer in a language that you’re not familiar with, at least not yet. The meaning was understandable to the machine even though most of its administrators had forgotten its subtleties. They didn’t care, since the behemoth did what it was supposed to.

The admin team — five engineers and ten remote devs who supported them — was bound together by stress. Crunch time and emergency restorations smoothed over their differences (while simultaneously magnifying other differences). When you maintain a computer the size of a house, the project consumes all of you. Really, the computer was a house. All the onsite engineers lived there, in the bowels of the machine. Its metal and silicon body occupied the tall column of emptiness that had been retrofitted into the building’s structure.

Sam used to enjoy repeating that cliche: “The bowels of the machine!” It was a joke until he committed suicide. His corpse became part of the computer’s intestinal ecosystem. (No, no, management ordered that it be removed.)

The machine was not sentient. No one ever thought that — Silicon Valley had given up on true artificial intelligence decades ago. Rather, the provocation uploaded through Sam’s brainlink was sabotage. Someone had been monkeying around with the firmware, and then the layer on top of that, and then even the UI. It was silly to mess with the interface — who cared about that part, right? This was an enterprise API endeavor, not a goddam web app.

Of course there were UI designers, and they were pissed off, but they didn’t live with the machine and their concerns were not particularly compelling. Frank and his underlings complained intermittently about clients’ reactions to broken buttons and such, but none of the database folks worried. Frontend could sort it out. (And they did, though it was no small effort.)

The database team did worry about what had happened to Sam. In the kitchen, making tea, Flora said to Gene and Melanie, “The malware had to come from the inside, right? One of us. It could be you two! I don’t fucking know!” She was holding a mug of tea and biting her lip and staring at her fingers as they clenched around the ceramic handle. Flora had done the original forensic trace of Sam’s last actions and cried furiously when she couldn’t find enough information to explain anything.

Of course, despite Flora’s outburst, the culprit was not Gene or Melanie. And it wasn’t the computer either — as I said, this machine wasn’t sentient.


Followup dispatch here: “Whence Came the Intruder?”

Software Meets Capitalism: Interview with Steve Klabnik

Old woman working at a loom. Photo by silas8six.

Old woman working at a loom. Photo by silas8six.

I interviewed Steve Klabnik via email. If you’re part of the open-source world, you might recognize his name. Otherwise I’ll let him introduce himself. We discussed economics, technological unemployment, and software.

Exolymph: The initial reason I reached out is that you’re a technologist who tweets about labor exploitation and other class issues. I’m currently fascinated by how tech and society influence each other, and I’m particularly interested in the power jockeying within open-source communities. You seem uniquely situated to comment on these issues.

Originally I planned to launch right into questions in this email, but then I start opening your blog posts in new tabs, and now I need a little more time still. But! Here’s a softball one for starters: How would you introduce yourself to an oddball group of futurists (which is my readership)?

Steve Klabnik: It’s funny that you describe this one as a softball, because it should be, yet I think it’s actually really tough. I find it really difficult to sum up a person in a few words; there’s just so much you miss out on. Identity is a precarious and complex topic.

I generally see myself as someone who’s fundamentally interdisciplinary. I’m more about the in-betweens than I am about any specific thing. The discipline that I’m most trained in is software; it’s something I’ve done for virtually my entire life, and I have a degree in it. But software by itself is not that interesting to me. It’s the stuff that you can do with software, the impact that it has on our world, questions of ethics, of social interaction. This draws a connection to my second favorite thing: philosophy. I’m an amateur here, unfortunately. I almost got a higher degree in this stuff, but life has a way of happening. More specifically, I’m deeply enthralled with the family of philosophy that is colloquially referred to as “continental” philosophy, though I’m not sure I find that distinction useful. My favorites in this realm are Spinoza, Nietzsche, Marx, and Deleuze. I find that their philosophical ideas can have deep implications for software, its place in the world, and society at large.

Since we live under capitalism, “who are you” is often conflated with “what do you do for work”. As far as that goes, I work for Mozilla, the company that makes Firefox. More specifically, I write documentation for Rust, a programming language that we and a broader community have developed. I literally wrote the book on it 🙂 Mozilla has a strong open-source ethic, and that’s one of the reasons I’ve ended up working there; I do a lot of open-source work. On GitHub, a place where open-source developers share their code, this metric says that I’m the twenty-ninth most active contributor, with 4,362 contributions in the last 365 days. Before Rust, I was heavily involved with the Ruby on Rails community, and the broader Ruby community at large. I still maintain a few packages in Ruby.

Exolymph: To be fair, I described it as a softball question precisely because of the capitalist shortcut you mentioned, although I’m not sure I would have articulated it like that. Darn predictable social conditioning.

What appeals to you about open source? What frustrates you about open source?

Steve Klabnik: I love the idea of working towards a commons. I’d prefer to write software that helps as many people as possible.

What frustrates me is how many people can’t be paid to do this kind of work. I’ve been lucky to been able to feed myself while working on open source. Very, very lucky. But for most, it’s doing your job without pay. If we truly want a commons, we have to figure out how to fund it.

Exolymph: I’ve been reading a bunch of your blog posts. I’m curious about how you feel about working in an industry — and perhaps doing work personally — that obviates older jobs that people used to count on.

Steve Klabnik: It is something that I think about a lot. This is something that’s a fundamental aspect of capitalism, and has always haunted it: see the Luddites, for example. This problem is very complex, but here’s one aspect of it: workers don’t get to capture the benefits of increased productivity, at least not directly. Let’s dig into an example to make this more clear.

Let’s say that I’m a textile worker, like the Luddite. Let’s make up some numbers to make the math easy: I can make one yard of fabric per hour with my loom. But here’s the catch: I’m paid by the hour, not by the amount of fabric I make. This is because I don’t own the loom; I just work here. So, over the course of a ten hour day, I make ten yards of fabric, and am paid a dollar for this work.

Next week, when I come to work, a new Loom++ has been installed in my workstation. I do the same amount of work, but can produce two yards of fabric now. At the end of my ten hour day, I’ve made twenty yards of fabric: a 2x increase! But I’m still only being paid my dollar. In other words, the owner of the factory gets twice as much fabric for the same price, but I haven’t seen any gain here.

(Sidebar: There’s some complexity in this that does matter, but this is an interview, not a book 🙂 So for example, yes, the capitalist had to pay for the Loom++ in the first place. This is a concept Marx calls “fixed versus variable capital”, and this is a long enough answer already, so I’ll just leave it at that.)

Now, the idea here is that the other factories will also install Loom++s as well, and at least one of the people who’s selling the cloth will decide that 1.75x as much profit is better, so they’ll undercut the others, and eventually, the price of cloth will fall in half, to match the new productivity level. Now, as a worker, I have access to cheaper cloth. But until that happens, I’m not seeing a benefit, yet the capitalist is collecting theirs. Until they invest in a Loom2DX, with double the productivity of the Loom++, and the cycle starts anew.

Yet we, as workers, haven’t actually seen the benefits work out the way they should. There’s nothing that guarantees that it will, other than the religion of economists. And the working class has seen their wages stagnate, while productivity soars, especially recently. Here is a study that gets cited a lot, in articles like this one.

“From 1973 to 2013, hourly compensation of a typical (production/nonsupervisory) worker rose just 9 percent while productivity increased 74 percent. This breakdown of pay growth has been especially evident in the last decade, affecting both college- and non-college-educated workers as well as blue- and white-collar workers. This means that workers have been producing far more than they receive in their paychecks and benefit packages from their employers.”

We haven’t been really getting our side of the deal.

Anyway.

So, this is a futurist blog, yet I’ve just been talking about looms. Why? Well, two reasons: First, technologists are the R&D department that takes the loom, looks at it, and makes the Loom++. It’s important to understand this, and to know in our heart of hearts that under capitalism, yes, our role is to automate people out of jobs. Understanding a problem is the first step towards solving it. But second, it’s to emphasize that this isn’t something that’s specific to computing or anything. It’s the fundamental role of technology. We like to focus on the immediate benefit (“We have Loom++es now!!!”) and skip over the societal effects (“Some people are going to make piles of money from this and others may lose their jobs”). Technologists need to start taking the societal effects more seriously. After all, we’re workers too.

I’m at a technology conference in Europe right now, and on the way here, I watched a movie, The Intern. The idea of the movie is basically, “Anne Hathaway runs Etsy (called About the Fit in the movie), and starts an internship program for senior citizens. Robert De Niro signs up because he’s bored with retirement, and surprise! Culture clash.” It was an okay movie. But one small bit of backstory of De Niro’s character really struck me. It’s revealed that before he retired, he used to work in literally the same building as About the Fit is in now. He worked for a phone book company. It’s pretty obvious why he had to retire. The movie is basically a tale of what we’re talking about here.

Exolymph: I’m also curious about what you’d propose to help society through the Computing Revolution (if you will) and its effect on “gainful employment” opportunities.

Steve Klabnik: Okay, so, I’m not saying that we need to keep phone books around so that De Niro can keep his job. I’m also not saying that we need to smash the looms. What I am saying is that in a society which is built around the idea that you have to work to live, and that also rapidly makes people’s jobs obsolete, is a society in which a lot of people are going to be in a lot of pain. We could be taking those productivity benefits and using them to invest back in people. It might be leisure time, it might be re-training; it could be a number of things. But it’s not something that’s going to go away. It’s a question that we as society have to deal with.

I don’t think the pursuit of profits over people is the answer.


Go follow Steve on Twitter and check out his website.

Andi McClure Chat, Full Transcript

Andi McClure is an artist whose main medium is code. She uses proverbial `1`s and `0`s to make games and game-like creations, a programming language called Emily, and digital sigils. Andi and I chatted on Skype recently about these various projects and her artistic practice(s).

This is the full transcript, which is messy like most IM conversations. I sent a collection of quotes to the newsletter subscribers. Read more

Like Slack But For VR

“The artists opt to break the artificial world apart instead, and they take their destruction seriously.” — Miles Klee on glitch art

Glitch artwork by Antonio Roberts.

Artwork by Antonio Roberts.

Julia pulled on her gloves carefully, making sure that the razor blades mounted on the palms were attached firmly. This was a simulation, naturally — what wasn’t a simulation? But it was a deeper sim than the ones you could buy per minute at shopping malls (next to the candy machines and phalanxes of massage chairs). This method wasn’t cutting edge, per se, because presumably all the best tech was sequestered in experimental military installs. However, it was better than the dreck on the enterprise market.

Harvey had done a year of painstaking work to build this tool for her, using open-source code to cobble together a neuro interpretation engine and the corresponding interface. Their collective’s main investor had gotten very impatient with Harvey’s pace of progress, and Julia still resented that the project lead hadn’t tried harder to shield them.

Back in October, after a tense meeting with the money men, Anthony had yelled at Harvey, “You’re the operations team! Your job is to make things go fast!”

“No,” Harvey had replied, calmly. “That’s what product does. We make things go smoothly.” Of course, the product engineers weren’t outputting as quickly as Anthony wanted either. They didn’t finish the enviro until a few weeks before Harvey sent his own code to QA. Julia had insisted on a QA phase.

During that October confrontation, Julia had screamed that Anthony didn’t care about quality or safety and the discussion devolved from there. Now she slightly regretted her own part in that conflict, but Julia was the one risking her life by using a tool that Anthony ultimately shipped because of deadline pressure. She trusted Harvey implicitly — they couldn’t collaborate if that weren’t the case — but Julia was still nervous.

She flexed her hands in the razor gloves. They were a bit ridiculous, but Harvey thought they’d suit her personality. The sim wasn’t complete, so Julia didn’t feel grey neoprene moving against her real skin, but her brain was convinced by the image. She took a couple of steps forward, waving her hands in front of her. The lines of light hooked on the palm blades and pulled away, revealing an under-layer of… more light. Hmm. At least the enviro had accepted her. Julia imagined seeing the data split to flow around her body, rippling digits, but it was actually more like navigating an REM dreamscape than that old movie, The Matrix. Moving didn’t feel normal, like physical life — maybe the gravity settings should be tweaked — but it didn’t feel totally faked either.

Julia was supposed to monitor her mental reactions, watching out for signs that her brain was reacting badly to immersion. She kept walking toward the bright tunnel. This is cool, she thought, but pretty fucking inefficient. The sim should drop me right in front of the intel station. It would get so annoying when you have to work but they send you through this pretty-for-nothing tunnel.

The posters on the walls of the tunnel all read “ONBOARDING TIPS HERE” but the product team was waiting to hear Julia’s evaluation before they decided what to write. She emerged from the tunnel’s mouth and looked at the intel station. It was obvious where she was supposed to stand because footprint shapes glowed on the ground. “I still think this looks like a dance arcade knockoff from the 2000s,” she said out loud, knowing that the eng team was watching her on 3D screens in the office. This is what happens when you let game designers make professional tools, Julia thought, exasperated again.

Open-Source Squabbling

Nadia Eghbal wrote an interesting overview of the history of software development — the nuts and bolts of how the future is being iterated — with a focus on open-source programming. In the 1980s:

“Sequoia Capital funded Oracle to make database software. IBM hired Microsoft to write MS-DOS, an operating system for their PC.

Suddenly, the idea of free software seemed insane. Software was a commodity; if you could make millions of dollars charging for it, why wouldn’t you?

Writing free software became a political act of defiance, and a strong counterculture rose around it. If you wrote open source, you weren’t like Oracle or Microsoft. People who wrote free software believed in its potential as a platform, not a product.”

Now open-source software is a significant part of the status quo — every single computer-based company uses it, and the startup ecosystem would flounder without it — but the idealistic pull of OSS remains strong. People join because they want a communal project as much as they simply want to build something. However, trying to generate consensus is incredibly frustrating and the effort is often fruitless. Eventually, project maintainers must make and enforce decisions.

Currently there’s a big hubbub among contributors to the programming language Ruby about whether to adopt a code of conduct. It seems silly to me — the human race invented rules for a reason — but people are very distressed. The worry is that controversial developers will be attacked unfairly, that they’ll fall prey to petty “SJW” vendettas. On the other hand, proponents of codes of conduct point out that articulating anti-abuse norms is powerful.

Ideologically, I tend to side with codes of conduct, but I also believe in self-determination. If the majority of the Ruby community doesn’t want one, and open-source initiatives are specifically meant to be defined by participants… what’s the fair solution? Should a project maintainer decide one way or the other, as I indicated above?

© 2019 Exolymph. All rights reserved.

Theme by Anders Norén.