Simon Willison’s Weblog

Subscribe
Atom feed

Quotations

Filters: Sorted by date

I’m still a novice to the healthcare space, but if I walked away with a single insight, it’s that the problems of the US healthcare system are very tractable. The high cost and mixed results are unique to our system. There are incumbents fighting fiercely to maintain the status quo, but no more so than in other industries that technology has overturned. The regulatory environment is complex, but again not uniquely so. There are industries where one has to dig to find the problems that technology is well suited to solve, but US healthcare, an industry that communicates via fax, is not one of them.

Kellan Elliott-McCrea

# 10th March 2018, 1:11 am / kellan-elliott-mccrea, healthcare

Code is like a poem; it's not just something we write to reach some practical result. Sometimes people that are far from the Redis philosophy suggest using other code written by other authors (frequently in other languages) in order to implement something Redis currently lacks. But to us this is like if Shakespeare decided to end Enrico IV using the Paradiso from the Divina Commedia. Is using any external code a bad idea? Not at all. Like in "One Thousand and One Nights" smaller self contained stories are embedded in a bigger story, we'll be happy to use beautiful self contained libraries when needed. At the same time, when writing the Redis story we're trying to write smaller stories that will fit in to other code.

The Redis Manifesto

# 2nd March 2018, 7:11 pm / programming, redis

The key to using Wagtail effectively is to recognise that there are multiple roles involved in creating a website: the content author, site administrator, developer and designer. These may well be different people, but they don’t have to be - if you’re using Wagtail to build your personal blog, you’ll probably find yourself hopping between those different roles. Either way, it’s important to be aware of which of those hats you’re wearing at any moment, and to use the right tools for that job. A content author or site administrator will do the bulk of their work through the Wagtail admin interface; a developer or designer will spend most of their time writing Python, HTML or CSS code. This is a good thing: Wagtail isn’t designed to replace the job of programming. Maybe one day someone will come up with a drag-and-drop UI for building websites that’s as powerful as writing code, but Wagtail is not that tool, and does not try to be.

The Zen of Wagtail

# 1st March 2018, 4:10 pm / django, wagtail, cms

By far the most important lesson I took out of this game is that whenever there's behavior that needs to be repeated around to multiple types of entities, it's better to default to copypasting it than to abstracting/generalizing it too early.

This is a very very hard thing to do in practice. As programmers we're sort of wired to see repetition and want to get rid of it as fast as possible, but I've found that that impulse generally creates more problems than it solves. The main problem it creates is that early generalizations are often wrong, and when a generalization is wrong it ossifies the structure of the code around it in a way that is harder to fix and change than if it wasn't there in the first place.

SSYGEN

# 26th February 2018, 5:23 am / programming

Publishing history has various examples of advertising-only business models. But they are very much the exception. They mainly exist when there are near monopoly barriers to entry into the market which allow publishers to command and defend robust ad rates.

Josh Marshall

# 25th February 2018, 4:03 pm / advertising

I am pleased to inform all of you that there is a notorious black market maple syrup seller and he looks exactly like the image you get in your head when someone first says the phrase “a notorious black market maple syrup seller” to you.

Brian Grubb

# 23rd February 2018, 3:56 pm / crime, brian-grubb

The whole story is basically that Facebook gets so much traffic that they started convincing publishers to post things on Facebook. For a long time, that was fine. People posted things on Facebook, then you would click those links and go to their websites. But then, gradually, Facebook started exerting more and more control of what was being seen, to the point that they, not our website, essentially became the main publishers of everyone’s content. Today, there’s no reason to go to a comedy website that has a video if that video is just right on Facebook. And that would be fine if Facebook compensated those companies for the ad revenue that was generated from those videos, but because Facebook does not pay publishers, there quickly became no money in making high-quality content for the internet.

Matt Klinman

# 7th February 2018, 3:51 pm / facebook

Imagine a Simon Says style game where I present an article found on the web on a projector. Students research for two to three minutes, then respond by standing or staying seated to signal if they believe the article is true or fake. My students absolutely loved the game. Some refused to go to recess until I gave them another chance to figure out the next article I had queued.

Scott Bedley

# 3rd February 2018, 1:29 pm / teaching

Just switched to {window.localStorage.getItem('debug') && <pre>{JSON.stringify(this.state, null, 2)}</pre>} - now I can ship to production and turn on debugging in my console with localStorage.setItem('debug', 1)

@simonw

# 3rd February 2018, 5:23 am / debugging, react

What we need to do is come up with a way to help people understand that there are ways to never be lost again, and to listen to any music you want, and to video chat with someone on the other side of the world, without them having to feel disquieted about it. That it's not OK that you're made to feel weirded out. That it's possible for there to be alternatives. That having to feel someone rooting around in your life is not a price you should have to pay.

Stuart Langridge

# 1st February 2018, 2:03 pm / stuart-langridge, privacy

[On SQLite] The JSON interface is like, "we save the text and when you retrieve it we parse the JSON at several hundred MB/s and let you do path queries against it please stop overthinking it, this is filing cabinet."

Paul Ford

# 29th January 2018, 4:29 pm / sqlite, json, paul-ford

If I tweeted a throwaway comment in appreciation for McDonald’s apple pies and some other randos on Twitter happened to also tweet similar thoughts over the last few months, it doesn’t mean by extrapolation that ‘Millennials Can’t Get Enough Of McDonald’s Apple Pies’.  The Twitter search box is not a polling agency and Twitter doesn’t include everybody’s thoughts on everything. Just some people’s thoughts on some things.

Nick Walker

# 28th January 2018, 4:18 pm / twitter, journalism

I spent more time on my iPhone X review than anything I’ve written in years, and it went to paper twice. (Here’s a scan of my second printed draft, with handwritten revisions.) My thing is that I don’t use my favorite pen — which, of course, has black ink — but instead a pen with red ink. Editing is an angry, bloody act and therefore must be done in red.

John Gruber

# 25th January 2018, 1:43 pm / john-gruber, writing

The biggest bottleneck in web performance today is CPU. Compared to seven years ago, there’s 5x more JavaScript downloaded on the top 1000 websites over the last seven years, and 3x more CSS. Half of web activity comes from mobile devices with a smaller CPU and limited battery power.

Steve Souders

# 18th January 2018, 2:39 pm / web-performance, steve-souders

[On Meltdown's impact on hosting costs] The reality is that we have been living with borrowed performance. The new reality is that security is too important and can not be exchanged for speed. Time to profile, tune and optimize.

Miguel de Icaza‏

# 8th January 2018, 7:35 pm / miguel-de-icaza, security

Most infosec bugs are really boring after a while. But processor ones are always crazy and fascinating because processors are basically a hornet's nest of witchcraft and mayhem stacked on top of each other all the way down.

Matt Tait

# 2nd January 2018, 9:54 am / security

First King Tut went to the British Museum in 1972, where over 1.7 million people went to see him. Then in June 1974, with the threat of Watergate and impeachment hanging over him, Richard Nixon signed a bilateral trade agreement that Henry Kissinger had negotiated with President Sadat of Egypt. One of its terms: that King Tut would come to America. Two years later, with Nixon gone under the darkest of clouds, he did.

Chris Michaels

# 26th December 2017, 9:08 am / museums

Indexes are models: a B-Tree-Index can be seen as a model to map a key to the position of a record within a sorted array [...] Our initial results show, that by using neural nets we are able to outperform cache-optimized B-Trees by up to 70% in speed while saving an order-of-magnitude in memory over several real-world data sets.

The Case for Learned Index Structures

# 11th December 2017, 6:25 am / machine-learning

Maybe the solution to the Fermi paradox is that significantly advanced civilizations discover crypto currencies and then furiously burn through all available energy sources until they go extinct

Me

# 6th December 2017, 2:44 am

Significant advances shipped by the tech industry in the last 20 years include putting the majority of human knowledge in the hands of 40%++ of the world's population, available on-demand, for "coffee money" not "university money."

Patrick McKenzie

# 2nd December 2017, 3:17 pm / patrick-mckenzie

For most books, the review is a bell-shaped curve of star ratings; this one has a peak at 1, a peak at 5, and very little in between. How could this be? I think it is because SICP is a very personal message that works only if the reader is at heart a computer scientist (or willing to become one).

Peter Norvig

# 28th November 2017, 6:38 pm / computer-science, peter-norvig

“Just” makes me feel like an idiot. “Just” presumes I come from a specific background, studied certain courses in university, am fluent in certain technologies, and have read all the right books, articles, and resources. “Just” is a dangerous word.

Brad Frost

# 24th November 2017, 5:07 pm / language

If you’re a public data provider—and many large NGOs, government organizations, cultural organizations, historical archives, media organizations, medical orgs, and academic institutions are exactly that—you can publish gigabytes of data, and make it available as an API, and make it easy to browse on the web, too, with extremely low effort. Put it into SQLite, point this little guy at it, and you’ve just radically increased the accessibility and utility of your data. Because messing around in SQL from a web browser is orders of magnitude more immediately useful than downloading a CSV, processing it, and figuring out what comes next.

Paul Ford

# 17th November 2017, 1:10 am / datasette, sqlite, paul-ford

We are actively developing cross datacenter replication (internally we are calling it "cross cluster replication" so you will likely see it referred to this in the future but of course this is subject to change). I can not give a timeframe, but it is one of the top features on the Elasticsearch roadmap.

Jason Tedor

# 14th November 2017, 10:40 pm / elasticsearch

Anyone that has me on too high of a pedestal should see me fumbling around with git.

John Carmack

# 12th November 2017, 3:50 pm / git, john-carmack

Any engineer who observes a bias in a system and chooses not to pro-actively correct for it is either a bad engineer or they stand to benefit from the bias. So much of engineering is about compensating, trimming, and equalizing imperfections out of real systems: wrap a feedback loop around it, and force the error function to zero.

Bunnie Huang

# 12th November 2017, 3:48 pm / bunnie-huang

I’ve seen two different start-ups now, who hold personal data about customers in their “immutable log”. “How are you planning to handle GDPR requirements and removal of data?” – turns out the answer is often “Er – we haven’t thought about that.” Cue a sad face when I tell them that if they don’t modify their immutable log they’re automatically out of compliance.

Alex Hudson

# 11th November 2017, 8:57 pm / logs

[On a startup using machine learning to encourage people to get addicted to apps] This technology is so unethical it needs to be criminalized globally, before it evolves into a Fermi Paradox solution... and I generally DON'T think banning technologies is a good idea. But this is like a neuroscience homebrew dirty nuke.

Charlie Stross

# 9th November 2017, 10:50 pm / charlie-stross

When you’ve written the same code 3 times, write a function. When you’ve given the same in-person advice 3 times, write a blog post.

David Robinson

# 9th November 2017, 7:10 am / blogging

For Redis 4.2 I'm moving Disque as a Redis module. To do this, Redis modules are getting a fully featured Cluster API. This means that it will be possible, for instance, to write a Redis module that orchestrates N Redis masters, using Raft or any other consensus algorithm, as a single distributed system. This will allow to also model strong guarantees easily.

Salvatore Sanfilippo

# 8th November 2017, 10:51 pm / redis, salvatore-sanfilippo