David Crawshaw

https://crawshaw.io/ (RSS)
visit blog
How I program with LLMs
6 Jan 2025 | original ↗

2025-01-06

jsonfile: a quick hack for tinkering
6 Feb 2024 | original ↗

2024-02-06

new year, same plan
31 Dec 2022 | original ↗

Some months ago, the bill from GCE for hosting this blog jumped from nearly nothing to far too much for what it is, so I moved provider and needed to write a blog post to test it all.

log4j: between a rock and a hard place
11 Dec 2021 | original ↗

There is more than enough written on the mechanics of and mitigations for the recent severe RCE in log4j. On prevention, this is the most interesting widely-reshared insight I have seen:

Software I’m thankful for
25 Nov 2021 | original ↗

2021-11-25

Remembering the LAN
28 Jan 2020 | original ↗

2020-01-28

The asymmetry of Internet identity
29 Sept 2019 | original ↗

2019-09-29

Zero Trust Networks
10 Sept 2019 | original ↗

2019-09-10

Go 1.13: xerrors
28 Apr 2019 | original ↗

2019-04-28

Fast compilers for fast programs
14 Apr 2019 | original ↗

2019-04-14

UTF-7: a ghost from the time before UTF-8
31 Oct 2018 | original ↗

2018-10-31

One process programming notes (with Go and SQLite)
30 Jul 2018 | original ↗

2018 July 30

Reasoning with Regret
16 Jul 2018 | original ↗

2018-07-16

Searching the Creative Internet
18 May 2018 | original ↗

I had of late been lamenting the loss of the internet of the 1990s. A place where everything was obscure or new. If you saw something mainstream like a Disney princess, it was because someone had taken the time to handcraft an ASCII art portrait. Today if you type [disney] into the ubiquitous search engine, every link on the page is either crafted by the Disney corporation or is the product of a major news outlet.

Service Throughput Tradeoffs
13 Apr 2018 | original ↗

2018-04-13, David Crawshaw

Sharp-Edged Finalizers in Go
5 Apr 2018 | original ↗

2018-04-05, David Crawshaw

The Tragedy of Finalizers
4 Apr 2018 | original ↗

2018-04-04, David Crawshaw

Go and SQLite: when database/sql chafes
2 Apr 2018 | original ↗

2018-04-02, David Crawshaw

Experimentation Adrift
30 Mar 2018 | original ↗

2018-03-30

Leaving Google
27 Mar 2018 | original ↗

2018-03-27

Less cgo overhead in Go 1.8
15 Feb 2017 | original ↗

2017-02-15

BBR
7 Jan 2017 | original ↗

The linked paper describes a new TCP congestion control algorithm. The key insight is an old assumption about networks is no longer true. It used to be the case that networks only dropped packets when they were unusable or when they were congested. Thus TCP stacks could work out how rapidly to send packets by ramping up until they saw packet loss.

Compiler Bomb
14 Oct 2016 | original ↗

2016-10-14

On recieving the News
24 Sept 2016 | original ↗

2016-09-24

Buried by the media
5 Sept 2016 | original ↗

2016-09-05

Smaller Go 1.7 binaries
19 Aug 2016 | original ↗

2016-08-19

Good business
27 Jul 2016 | original ↗

2016-07-27

Everyone a writer
8 Jul 2016 | original ↗

Graphomania (an obsession with writing books) takes on the proportions of a mass epidemic whenever a society develops to the point where it can provide three basic conditions: 1. A high degree of general well-being to enable people to devote their energies to useless activities; 2. An advanced state of social atomization and the resultant general feeling of the isolation of the individual; 3. A radical absence of significant social change in the internal development of the nation.

2016-06-29
29 Jun 2016 | original ↗

2016-06-29

Transaction oriented collector
24 Jun 2016 | original ↗

Rick and Austin just published their design doc for their new Go garbage collector. It is an attempt to get the advantages of isolated heaps via lightweight dynamic analysis, without making the programming model harder to use.

Machining under a microscope
20 Jun 2016 | original ↗

2016-06-20

Limits of Superintelligence
7 May 2016 | original ↗

In 2012 Dean et al. published a paper on unsupervised learning using 16000 CPU cores. Seeing machine learning successfully scaled across a modern data center convinced me that human-equivalent and better-than-human AIs were coming soon. In the past few months I've revised my estimates of what soon means, from years to decades. This is quick attempt to jot down my reasoning.

COPY Relocations
17 Apr 2016 | original ↗

2016-04-17

Atom Feed
16 Apr 2016 | original ↗

2016-04-16

2016-02-10
10 Feb 2016 | original ↗

2016-02-10

2016-01-23
23 Jan 2016 | original ↗

… And, gloriously if briefly, it hides everything else — the plastic grocery bags and mini-marts and dog poop and salt-grimed Toyotas and sundry disorder of modernity. Watching the quotidian American crudscape transform into a fairy-tale kingdom is a legitimate wonder. Name another disaster that leaves the afflicted region more attractive in its wake."

2016-01-18
18 Jan 2016 | original ↗

SQL as a stream processing language.

2016-01-15
15 Jan 2016 | original ↗

2016-01-15

2016-01-09
9 Jan 2016 | original ↗

While I hear a lot more talk about the Raspberry Pi and Arduino, these BeagleBoard products are what I want to use for any embedded or small hardware development (in my case, a custom scientific instrument).

2016-01-07
7 Jan 2016 | original ↗

2016-01-07

2016-01-05
5 Jan 2016 | original ↗

2016-01-05

2016-01-04
4 Jan 2016 | original ↗

2016-01-04

2016-01-03
3 Jan 2016 | original ↗

2016-01-03

2016-01-02
2 Jan 2016 | original ↗

2016-01-02

2016-01-01
1 Jan 2016 | original ↗

2016-01-01

2015-12-29
29 Dec 2015 | original ↗

βιός τῷ τόξῳ ὄνομα βίος ἔργον δὲ θάνατος

Under the heel of the spirit
28 Dec 2015 | original ↗

2015-12-28

2015-12-27
27 Dec 2015 | original ↗

2015-12-27

2015-12-26
26 Dec 2015 | original ↗

2015-12-26

2015-12-20
20 Dec 2015 | original ↗

2015-12-20

2015-12-15
15 Dec 2015 | original ↗

64-bit DLLs are installed in C:\Windows\System32.32-bit DLLs are installed in C:\Windows\SysWOW64.

2015-12-04
4 Dec 2015 | original ↗

2015-12-04

2015-11-18
18 Nov 2015 | original ↗

2015-11-18

2015-11-16
16 Nov 2015 | original ↗

2015-11-16

2015-10-13
13 Oct 2015 | original ↗

Last Thursday it was reported to the openssl-dev mailing list by Ben Kaduk that there was a defect in this optional code: it had a syntax error and didn't even compile. It had a typo of '!!' instead of '||':

2015-08-07
7 Aug 2015 | original ↗

2015-08-07

2015-08-04
4 Aug 2015 | original ↗

2015-08-04

2015-07-27
27 Jul 2015 | original ↗

2015-07-27

2015-07-17
17 Jul 2015 | original ↗

2015-07-17

2015-07-15
15 Jul 2015 | original ↗

2015-07-15

2015-07-14
14 Jul 2015 | original ↗

2015-07-14

2015-07-07
7 Jul 2015 | original ↗

2015-07-07

2015-06-26
26 Jun 2015 | original ↗

2015-06-26

2015-06-24
24 Jun 2015 | original ↗

Index github.com/crawshaw twitter.com/davidcrawshaw [email protected]

2015-06-22
22 Jun 2015 | original ↗

2015-06-22

2015-06-01
1 Jun 2015 | original ↗

2015-06-01

2015-05-08
8 May 2015 | original ↗

2015-05-08

2015-05-07
7 May 2015 | original ↗

When my programs were stored in CVS I learned to backup draft work regularly by writing diff output to scratch files. It is an odd workflow. I got good at extracting hunks of unified diffs, and even editing them in place.

2015-04-02
2 Apr 2015 | original ↗

2015-04-02

2015-03-10
10 Mar 2015 | original ↗

Index github.com/crawshaw twitter.com/davidcrawshaw [email protected]

2015-03-09
9 Mar 2015 | original ↗

2015-03-09

2015-03-01
1 Mar 2015 | original ↗

Index github.com/crawshaw twitter.com/davidcrawshaw [email protected]

2015-01-11
11 Jan 2015 | original ↗

2015-01-11

2015-01-10
10 Jan 2015 | original ↗

2015-01-10

2014-12-11
11 Dec 2014 | original ↗

2014-12-11

2014-07-28
28 Jul 2014 | original ↗

2014-07-28

2014-06-13
13 Jun 2014 | original ↗

2014-06-13

2014-05-14
14 May 2014 | original ↗

2014-05-14

2014-05-06
6 May 2014 | original ↗

2014-05-06

2014-04-18
18 Apr 2014 | original ↗

2014-04-18

2014-03-08
8 Mar 2014 | original ↗

2014-03-08

2014-01-17
17 Jan 2014 | original ↗

2014-01-17

↑ These items are from RSS. Visit the blog itself at https://crawshaw.io/ to find everything else and to appreciate author's digital home.