People don’t make better decisions when given more data, so why do we assume A.I. will?

Image Source: koya79 via Getty Images

On a warm day in 2008, Silicon Valley’s titans-in-the-making found themselves packed around a bulky, blond-wood conference room table. Although they are big names today, the success of their businesses was hardly assured at the time. Jeff Bezos’s Amazon operated on extremely tight margins and was not profitable. They had just launched the cloud computing side business that would become Amazon’s cash cow, but they didn’t know it yet. Sean Parker had been forced out of Facebook, retreating to a role as managing partner of Peter Thiel’s Founders Fund. He was a few years away from a critical investment in…


Programming in logic can help you produce better optimized, more secure, bug-free code … if only you knew how to do it.

woman holding a giant lego, attempting to build a structure out of giant legos
woman holding a giant lego, attempting to build a structure out of giant legos
Image created by stories

It took me about two years to write my first program in Z3. I had done some tutorials, wrote code to solve other people’s example puzzles, but I couldn’t really figure out how to cross over from very abstract “toy” use cases to applications that had actual relevance.

Z3 is a Satisfiability modulo theories (SMT) solver, a cousin to the satisfiability (SAT) solvers I’ve written about before. Whereas SAT solvers require encoding everything in to a set of…


Silicon Valley’s ethics via opt-out isn’t going to work anymore

Image created by freepik

Last week I wrote a piece for the popular military theory blog, War on the Rocks, about what Silicon Valley has learned about the impact of automation on complex systems and how that should shape the military’s goals.

Discussing the military use case for technology with other technologists is often awkward. Many believe that it is possible to instill new technologies like A.I. with ethical and safety principles purely from the comfortable environments of ivory academic towers or plush FAANG collaborative spaces. One need not go where the technology might have its deadliest and most critical impacts. …


If I’ve seemed quiet lately, it’s because I’ve been working on guest pieces for other publications (and the second series of my exploration into program language design, Marianne Writes a Programming Language). This year I’ll be doing a small series for BuiltIn on abstractions and architecture. The first installment on platformization and what abstractions qualify as part of a platform is online right now

The key is generalization. Platformization is dividing out parts of the system that can be generalized enough to operate as a black box. It’s not that the system is simpler, because more abstractions invariably mean greater…


The more software eats the world, the more critical safety is … but what exactly does that mean?

Hacker image by catalyststuff

Software engineers are bad at safety because software engineers are not used to the idea that software can injure. All around the industry, the mantel of technical leadership has been passed to people about my age, perhaps a few years older. We grew up when computers weren’t so powerful, when their use was an optimization rather than a necessity, when their first commercial successes were in toys. …


Why are organizations committed to positive ideals so often shitty to their employees?

Image created by pch.vector

I have a checklist of things I talk to new hires joining my team about during our first 1:1. Top of that list is the word boundaries double underlined. By the end of that first conversation I want to have covered the importance of three different categories of boundaries I consider absolutely essential to doing any kind of social impact based work.

Internal boundaries: How you treat yourself. Getting enough sleep, eating right, getting regular exercise, etc. Everybody’s different here and what I want from my employees…


Why do some programming languages feel neat and orderly and others seem loaded with inconsistencies?

Technology vector created by artmonkey

When I first started trying to write my own programming language I was surprised by how difficult it seemed to be to find best practices on language design. In an industry filled with opinions, where people will fight to the death over tabs -vs- spaces, there isn’t much guidance for would-be program language designers.

Eventually I came to my own conclusions: the pathway to success with program language design is to think of programming paradigms as logical groupings of abstractions and be as intentional about…


Hand vector created by stories

I’m very excited about this. A few months ago I decided to start keeping an audio diary of my experience trying to learn how to design a programming language. In a few weeks I’m inviting you to start this strange journey with me through parsers, grammars, data structures, and the like. Along the way, I’ll interview researchers and engineers who are active in the this space and go deep on areas of programming not typically discussed. Episode 1 drops on November 18th.

I don’t want to overwhelm my regular readers with a long series on the ins and outs…


Maybe magic markers really *are* a best in class data access control tool.

illustration by freepik

When I was asked to start the Identity team at Rebellion Defense my first thought was “do we need a whole team to do that?” After all, we weren’t going to build our own sign-on system when there were so many companies that focus on identity as their core product. It seemed like all that needed to be done was to select the appropriate tool, set it up and make sure it was maintained. That should be simple.

But to paraphrase the military theorist Carl von Clausewitz…


Before ‘cyber’ was a prefix for everything internet and computers, it was how mathematicians were going to conquer the world.

Technology vector created by upklyak

I first encountered the word cybernetics while reading Benjamin Peters’s account of the Soviet Union’s attempts to invent the internet, How Not to Network a Nation (still a little disappointed that MIT didn’t spell it Nyetwork, come on!) At the time my reaction to it was “Ew gross” — anything with the prefix cyber- feels cheesy and passé — followed by confusion. The dates seemed impossible. Cybernetics actually predated both the internet and the rise of the computing industry by…

Marianne Bellotti

Author of Kill It with Fire Manage Aging Computer Systems (and Future Proof Modern Ones)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store