Category: Technical

  • Why decentralized social networking never makes it — ever heard of Crossing the Chasm?

    Every now and then, the “why hasn’t decentralized social networking succeeded” discussion pops back up. And inevitably, that motivates somebody who thinks they can do better. They proceed to design a new set of decentralized networking protocols, write lots of code, and get early adopters to enthusiastically adopt the New Thing. Which then, inevitably, never […]

  • Why smart contracts are not for you (or me)

    A friend asked: “So you don’t think smart contracts are ever going to be … secure and useful?” Here’s my response: “Ever” is a long time, but … let me tell a quick story: When I raised venture capital during the dot-com bubble, if memory serves, the combined legal bill for my company’s Series A […]

  • My updated shell prompt

    Updated and fixed 04/13: I had been missing escapes, so command scrollback would get screwed for long lines. Phil Windley asked, so here you are: this is the code in my .bashrc that causes my shell prompt to have different colors dependending on whether the previous command succeeded or failed. It also shows Git branch […]

  • Automated Testing for the Indie Web?

    (This post is mostly for Indie Web geeks. Feel free to ignore) The problem We spend too much time debugging why things didn’t work as expected Not so much Gen 1 people running their own, custom-developed software, but later-gen people who try to, say, make WordPress work with a previously unseen combination of plugins and […]

  • Reverse-engineering the ESPRESSObin’s GPIO pins

    The ESPRESSObin is a nice single-board computer with, unusually, 3 Ethernet ports and a SATA port. We have some plans for it (which I’ll talk about later) and which necessitated interacting with its GPIO pins. But unfortunately, Globalscale’s documentation seems at odds with what the board actually does. So here are the results of some […]