David Siegel@dvdsgl

Posts tagged “engineering

Designing for Developers

"Chamfered edge" is an exquisite phrase. It sounds like design. It feels like design. But it doesn't explain why some edges are better designed than others.

Most writing about design has this problem—it's easy to write words that feel designey but don't actually explain how design works. As a designer who intends to explain design, please don't let me pull the chamfered wool over your eyes.

Read more →

A Trello Monad in the Dark

We are ceaselessly reminded of life's fragility as we watch every cell, body, and star expire, disintegrate, and fade. An unending confusion attends our senses as they helplessly seek agency in a senseless void. And the brevity of this nasty brutishness is its cruelest irony. We must conclude that life is a fragile, confusing, and brief glimpse of an incomprehensibly beautiful yet ultimately indifferent universe.

The universe contains one countervailing force, however, that can fortify fragility, blow back the fog of confusion, and buy us at least one more sunset with a lover, one more bedtime story with our children, one more proud moment with a venerated elder.

Read more →

Shallow: Cloning a Hook-up App in F#

"F# is great for data science, but can you build real UIs with it?" I kept hearing this question. So I built a Tinder clone to prove that F# is actually awesome for creating slick, interactive interfaces—and to show that functional programmers aren't just demented wizards muttering about functors.

Read more →

You Are Not a Gadget: A Manifesto

The people who built your social network were poor philosophers. They encoded assumptions about friendship, identity, and relationships into rigid systems—and now those assumptions are shaping how you see the world.

In You Are Not a Gadget, Silicon Valley pioneer Jaron Lanier argues that today's Internet ethos undervalues the individual, placing emphasis on the "hive mind"—the crowd dynamic that powers Facebook, Twitter, and Wikipedia.

Read more →

A Case for Open Voting Systems

Introduction

Elections in the United States have a surprisingly sordid past; vote buying, ballot fraud, voter intimidation, and bald-faced cheating appear to be the rule rather than exception to anyone acquainted with the history of American elections. If anything has changed about US elections in recent times, it is that elections have become more complicated. Electronic voting systems are being introduced to address many election difficulties, most notably in response to the millions of ballots disqualified in the 2000 presidential election due in large part to voter error. Unfortunately, at this moment, electronic voting systems present numerous challenges—in fact, electronic voting systems sometimes introduce more difficulties and offer less control than the systems they replace. The aspect of electronic voting I will focus on is whether electronic voting systems should be open or closed; whether scholars, experts, and your average voter should be allowed to scrutinize the underlying details of the systems being used, or whether these details should be kept secret by the companies that build, own, and operate these systems. I will begin by discussing the 2000 presidential election and the flaws in traditional voting systems uncovered by that election. I will go on to discuss Congress's response to the 2000 election debacle—a bill funding the nation-wide implementation of electronic voting systems. I will provide details about two electronic voting systems, one which is open and one which is closed. After that, I will discuss Lawrence Lessig's distinction between open and closed code, and his argument for why code should be open in certain, critical contexts. Finally, I will touch upon the issues of commerce and intellectual property that cause some to be concerned about the idea of open voting systems. My conclusion is that our societal interests of democratic government, fairness, honesty, and transparent regulation overwhelmingly favor open voting systems.

Read more →