Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

David Crawshaw

David Crawshaw
How I program with LLMs How I program with LLMs 2025-01-06 This document is a summary of my personal experiences using...
a month ago
4
a month ago
How I program with LLMs 2025-01-06 This document is a summary of my personal experiences using generative models while programming over the past year. It has not been a passive process. I have intentionally sought ways to use LLMs while programming to learn about them. The result...
David Crawshaw
Software I’m thankful for Software I’m thankful for 2021-11-25 A few of the things that come to mind, this thanksgiving. Most...
over a year ago
4
over a year ago
Software I’m thankful for 2021-11-25 A few of the things that come to mind, this thanksgiving. Most Unix-ish APIs, from files to sockets are a bit of a mess today. Endless poorly documented sockopts, unexpected changes in write semantics across FSs and OSes, good luck trying to...
David Crawshaw
log4j: between a rock and a hard place log4j: between a rock and a hard place 2021-12-11 What does backwards compatibility mean to...
over a year ago
4
over a year ago
log4j: between a rock and a hard place 2021-12-11 What does backwards compatibility mean to me? Backwards compatibility should not have forced log4j to keep LDAP/JNDI URLs The other side of compatibility: being cautious adding features There is more than enough written on the...
David Crawshaw
jsonfile: a quick hack for tinkering jsonfile: a quick hack for tinkering Consider your requirements! A reference implementation A final...
a year ago
4
a year ago
jsonfile: a quick hack for tinkering Consider your requirements! A reference implementation A final thought 2024-02-06 The year is 2024. I am on vacation and dream up a couple of toy programs I would like to build. It has been a few years since I built a standalone toy, I have...
David Crawshaw
new year, same plan new year, same plan 2022-12-31 Some months ago, the bill from GCE for hosting this blog jumped from...
over a year ago
4
over a year ago
new year, same plan 2022-12-31 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. I could have figured out why my current provider hiked the price....
David Crawshaw
Go and SQLite: when database/sql chafes Go and SQLite: when database/sql chafes 2018-04-02, David Crawshaw The Go standard library...
over a year ago
3
over a year ago
Go and SQLite: when database/sql chafes 2018-04-02, David Crawshaw The Go standard library includes , a generic SQL interface. It does a good job of doing exactly what it says it does, providing a generic interface to various SQL database servers. Sometimes that is what you want....
David Crawshaw
Experimentation Adrift Experimentation Adrift 2018-03-30 You can learn numerous lessons from failure, almost all of them...
over a year ago
3
over a year ago
Experimentation Adrift 2018-03-30 You can learn numerous lessons from failure, almost all of them bogus. This one I have thought about enough over the years that I think it is worth writing down. I started working on Google+ a few weeks before it publicly launched, and was there...
David Crawshaw
Everyone a writer "The irresistible proliferation of graphomania shows me that everyone without exception bears a...
over a year ago
3
over a year ago
"The irresistible proliferation of graphomania shows me that everyone without exception bears a potential writer within him, so that the entire human species has good reason to go down into the streets and shout: we are all writers! For everyone is pained by the thought of...
David Crawshaw
2015-07-14
over a year ago
David Crawshaw
Remembering the LAN Remembering the LAN How it was How it is A dream: How it will be 2020-01-28 A memory and a dream. I...
over a year ago
3
over a year ago
Remembering the LAN How it was How it is A dream: How it will be 2020-01-28 A memory and a dream. I started programming in the 1990s living above my parent's medical practice. We had 15 PCs for the business, and one for me. The standard OS was MS-DOS. The network started off...
David Crawshaw
Go 1.13: xerrors Go 1.13: xerrors 2019-04-28 Part of the Go 2 series of language changes is a new .error inspection...
over a year ago
3
over a year ago
Go 1.13: xerrors 2019-04-28 Part of the Go 2 series of language changes is a new .error inspection proposal The error inspection proposal adds several features to errors that have been tried elsewhere (in packages such as ), with some new implementation tricks. The proposal has...
David Crawshaw
Searching the Creative Internet Searching the Creative Internet I had of late been lamenting the loss of the internet of the...
over a year ago
3
over a year ago
Searching the Creative Internet 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...
David Crawshaw
2015-07-15 www.youtube.com/watch?v=NGFhc8R_uO4
over a year ago
David Crawshaw
2015-05-08 docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub
over a year ago
David Crawshaw
BBR queue.acm.org/detail.cfm?id=3022184
over a year ago
David Crawshaw
Compiler Bomb main[-1u]={1}; codegolf.stackexchange.com/questions/69189/build-a-compiler-bomb/69193#69193
over a year ago
David Crawshaw
2016-01-15 "The Unexotic Underclass" "Let’s pretend, for a moment, that you are a 22-year-old college student...
over a year ago
3
over a year ago
"The Unexotic Underclass" "Let’s pretend, for a moment, that you are a 22-year-old college student in Kampala, Uganda. You’re sitting in class and discreetly scrolling through Facebook on your phone. You see that there has been another mass shooting in America, this time in a...
David Crawshaw
2016-01-09 beagleboard.org/x15
over a year ago
David Crawshaw
2016-01-07 "Surely I spoke of things I did not understand, things too wonderful for me to know."
over a year ago
David Crawshaw
2016-01-05 www.planetary.org/blogs/emily-lakdawalla/2015/12311322-planetary-exploration-timelines.html
over a year ago
3
over a year ago
www.planetary.org/blogs/emily-lakdawalla/2015/12311322-planetary-exploration-timelines.html
David Crawshaw
2015-07-27 "Finally we decided to design the processor ourselves, because only in this way, we thought, could...
over a year ago
3
over a year ago
"Finally we decided to design the processor ourselves, because only in this way, we thought, could we obtain a truly complete display processor. We approached the task by starting with a simple scheme and adding commands and features that we felt would enhance the power of the...
David Crawshaw
2015-07-07 "I hated types, I admit it. And when I hate something, I study it. So I went to the vatican of types...
over a year ago
3
over a year ago
"I hated types, I admit it. And when I hate something, I study it. So I went to the vatican of types and when I came back, my hate was deeper and more nuanced."
David Crawshaw
2014-06-13 articles.manugarg.com/aboutelfauxiliaryvectors.html
over a year ago
David Crawshaw
Fast compilers for fast programs Fast compilers for fast programs Compiler author incentives Aside: languages get caught in the...
over a year ago
3
over a year ago
Fast compilers for fast programs Compiler author incentives Aside: languages get caught in the middle The "medium-sized project" moment 2019-04-14 Compiler authors face a tradeoff between compiler speed and executable speed. Take longer to build a binary and you can build a...
David Crawshaw
UTF-7: a ghost from the time before UTF-8 UTF-7: a ghost from the time before UTF-8 2018-10-31 On Halloween this year I learned two scary...
over a year ago
3
over a year ago
UTF-7: a ghost from the time before UTF-8 2018-10-31 On Halloween this year I learned two scary things. The first is that a young toddler can go trick-or-treating in your apartment building and acquire a huge amount of candy. When they are this young they have no interest in the...
David Crawshaw
Sharp-Edged Finalizers in Go Sharp-Edged Finalizers in Go 2018-04-05, David Crawshaw For background, see my last post on why in...
over a year ago
3
over a year ago
Sharp-Edged Finalizers in Go 2018-04-05, David Crawshaw For background, see my last post on why in general .finalizers do not work We cannot use an object finalizer for resource management, because finalizers are called at some unpredictable distant time long after resources need...
David Crawshaw
The Tragedy of Finalizers The Tragedy of Finalizers 2018-04-04, David Crawshaw Like many garbage collected languages, ...
over a year ago
3
over a year ago
The Tragedy of Finalizers 2018-04-04, David Crawshaw Like many garbage collected languages, lets you register a on an object. The finalizer is a function that the language runtime calls when the object is garbage collected.Gofinalizer Finalizers are deeply unsatisfying. They...
David Crawshaw
Leaving Google Leaving Google 2018-03-27 Today is my last day at Google. It has been a wonderful place to work...
over a year ago
3
over a year ago
Leaving Google 2018-03-27 Today is my last day at Google. It has been a wonderful place to work filled with excellent coworkers. I am sad to be leaving Fuchsia before 1.0. As an operating system it gets so many things right. No doubt I will get a chance to be a user. For the...
David Crawshaw
On recieving the News "HEISENBERG: Well that's not quite right. I would say that I was absolutely convinced of the...
over a year ago
3
over a year ago
"HEISENBERG: Well that's not quite right. I would say that I was absolutely convinced of the possibility of our making a uranium engine but I never thought that we would make a bomb and at the bottom of my heart I was really glad that it was to be an engine and not a bomb. I must...
David Crawshaw
Smaller Go 1.7 binaries blog.golang.org/go1.7-binary-size
over a year ago
David Crawshaw
2016-06-29 "moving the font engine out of the kernel in Windows (which Microsoft has done starting with Windows...
over a year ago
3
over a year ago
"moving the font engine out of the kernel in Windows (which Microsoft has done starting with Windows 10)." googleprojectzero.blogspot.com/2016/06/a-year-of-windows-kernel-font-fuzzing-1_27.html
David Crawshaw
Transaction oriented collector golang.org/s/gctoc
over a year ago
David Crawshaw
COPY Relocations "put the address of symbol X inside symbol Y at offset O" $ cat symY.c void x(); void y()...
over a year ago
3
over a year ago
"put the address of symbol X inside symbol Y at offset O" $ cat symY.c void x(); void y() { x(); } $ cc -c symY.c $ readelf -r symY.o Relocation section '.rela.text' at offset 0x518 contains 1 entries: Offset Info Type Sym. Value Sym. Name +...
David Crawshaw
Atom Feed
over a year ago
David Crawshaw
2016-02-10 "Well, Mr. Frankel, who started this program, began to suffer from the computer disease that anybody...
over a year ago
3
over a year ago
"Well, Mr. Frankel, who started this program, began to suffer from the computer disease that anybody who works with computers now knows about. It's a very serious disease and it interferes completely with the work. The trouble with computers is you play with them. They are so...
David Crawshaw
2016-01-23 "Unless you’re a plow driver or a parka-clad elected official trying to look essential, one doesn’t...
over a year ago
3
over a year ago
"Unless you’re a plow driver or a parka-clad elected official trying to look essential, one doesn’t pretend to do battle against a blizzard. You submit. Surrender. Hunker down. A snowstorm rewards indolence and punishes the go-getters, which is only one of the many reasons it’s...
David Crawshaw
2016-01-04 typedef int (*WTF[1])[x = x * 77]; twitter.com/whitequark/status/683692712374190081
over a year ago
David Crawshaw
2016-01-02 "The Refragmentation" "Nations and Nationalism Since 1780"
over a year ago
David Crawshaw
2015-12-29 "One of Heraclitus’ best lines turns on a pun. In the archaic dialect of Greek that Homer used the...
over a year ago
3
over a year ago
"One of Heraclitus’ best lines turns on a pun. In the archaic dialect of Greek that Homer used the word for an archer’s bow is bios (βιός). The Greek word for ‘life’ is spelled the same way (βίος). Heraclitus’ line runs:βιός τῷ τόξῳ ὄνομα βίος ἔργον δὲ θάνατοςThe name of the bow...
David Crawshaw
2015-12-27 www.insidemetaladditivemanufacturing.com/blog/design-for-slm-topology-optimisation-of-metallic-struc...
over a year ago
3
over a year ago
www.insidemetaladditivemanufacturing.com/blog/design-for-slm-topology-optimisation-of-metallic-structural-nodes-in-architecture-applications
David Crawshaw
2015-11-16 "Where the jury actually comes out on Go may take years to determine. There are no clear formal...
over a year ago
3
over a year ago
"Where the jury actually comes out on Go may take years to determine. There are no clear formal methods of measurement for how 'good' a language is, so it mostly happens by default as popular systems thrive and unpopular ones wither and...
David Crawshaw
2015-10-13 "So OpenSSL has optional code to reject attempts to use weak DES keys. It, sanely, is not enabled...
over a year ago
3
over a year ago
"So OpenSSL has optional code to reject attempts to use weak DES keys. It, sanely, is not enabled by default; if you want it you have to compile with DEVP_CHECK_DES_KEY.Last Thursday it was reported to the openssl-dev mailing list by Ben Kaduk that there was a defect in this...
David Crawshaw
2015-07-17 books.google.com/googlebooks/error.html
over a year ago
David Crawshaw
2015-06-22 imgur.com/a/ErrVN
over a year ago
David Crawshaw
2015-03-10 golang.org/s/go15gcpacing
over a year ago
David Crawshaw
2015-03-01 gothamist.com/2012/03/08/the_1960_plan_to_put_a_dome_over_mi.php
over a year ago
David Crawshaw
2015-01-11 while (1) { A0.set(); A0.reset(); } www.espruino.com/Performance
over a year ago
David Crawshaw
2014-07-28
over a year ago
David Crawshaw
2014-05-14 ti.arc.nasa.gov/news/ladee-sband-evolved-antenna/
over a year ago
David Crawshaw
2014-05-06 "No space for poem" twitter.com/rob_pike/status/463859025361125377
over a year ago
David Crawshaw
2014-03-08 www.azarask.in/blog/post/the-wrong-problem
over a year ago
David Crawshaw
Zero Trust Networks Zero Trust Networks 2019-09-10 I am leery of jargon. I am as guilty of using it as the next...
over a year ago
3
over a year ago
Zero Trust Networks 2019-09-10 I am leery of jargon. I am as guilty of using it as the next engineer, but there comes a point where there are just too many precise, narrowly-understood terms polluting your vocabulary. The circle of people you can talk to shrinks until going to...
David Crawshaw
One process programming notes (with Go and SQLite) One process programming notes (with Go and SQLite) 2018 July 30 Blog-ified version of a talk I gave...
over a year ago
3
over a year ago
One process programming notes (with Go and SQLite) 2018 July 30 Blog-ified version of a talk I gave at .Go Northwest This content covers my recent exploration of writing internet services, iOS apps, and macOS programs as an indie developer. There are several topics here that...
David Crawshaw
Reasoning with Regret Reasoning with Regret 2018-07-16 I avoid looking to biographies for advice, most of all for anyone...
over a year ago
3
over a year ago
Reasoning with Regret 2018-07-16 I avoid looking to biographies for advice, most of all for anyone in the business world who is focused on spinning an origin story. There is one however which I read by accident years ago that I keep returning to: … From the .Princeton 2010...
David Crawshaw
Service Throughput Tradeoffs Service Throughput Tradeoffs 2018-04-13, David Crawshaw I am currently writing a service that lets...
over a year ago
3
over a year ago
Service Throughput Tradeoffs 2018-04-13, David Crawshaw I am currently writing a service that lets users upload files. The typical file size is about 25KB, the maximum is 100MB, with file sizes following a power-law distribution. The nature of the service is that I need to buffer...
David Crawshaw
Less cgo overhead in Go 1.8 name old time/op new time/op delta CgoNoop-8 146ns ± 1% 56ns ± 6% -61.57% (p=0.000...
over a year ago
3
over a year ago
name old time/op new time/op delta CgoNoop-8 146ns ± 1% 56ns ± 6% -61.57% (p=0.000 n=25+30) golang.org/cl/30080
David Crawshaw
2016-01-18 docs.pipelinedb.com/continuous-views.html
over a year ago
David Crawshaw
2016-01-03 "As if this were somehow a morally inferior form of megadeath to lobbing a couple thousand half...
over a year ago
3
over a year ago
"As if this were somehow a morally inferior form of megadeath to lobbing a couple thousand half megaton nuclear missile warheads at your least favorite country. Apparently this is how civilized countries who do not possess enemies with a plurality of coastal cities exterminate...
David Crawshaw
2016-01-01 "It’s a Cortex M4F MCU with extraordinarily-low current consumption. How low? They’re quoting 34...
over a year ago
3
over a year ago
"It’s a Cortex M4F MCU with extraordinarily-low current consumption. How low? They’re quoting 34 uA/MHz running from flash." www.embedded.com/electronics-blogs/break-points/4441091/Subthreshold-transistors-and-MCUs
David Crawshaw
2015-12-26 news.berkeley.edu/2015/12/23/electronic-photonic-microprocessor-chip/
over a year ago
David Crawshaw
2015-12-04 www.unofficialgoogledatascience.com/2015/12/replacing-sawzall-case-study-in-domain.html
over a year ago
David Crawshaw
2015-11-18 arstechnica.com/apple/2015/11/ipad-pro-review-mac-like-speed-with-all-the-virtues-and-limitations-of...
over a year ago
3
over a year ago
arstechnica.com/apple/2015/11/ipad-pro-review-mac-like-speed-with-all-the-virtues-and-limitations-of-ios/4/
David Crawshaw
2015-08-07 "The sinkhole attack is is used to drop a rootkit into SMRAM. Rootkit now invisible to the OS, ring...
over a year ago
3
over a year ago
"The sinkhole attack is is used to drop a rootkit into SMRAM. Rootkit now invisible to the OS, ring 0, hypervisor, AV, and everything else." "A forgotten patch to fix a forgotten problem on a tiny number of legacy systems 20 years ago… That opens up an incredible vulnerability on...
David Crawshaw
2015-06-01 "Two URL objects are equal if they have the same protocol, reference equivalent hosts, have the same...
over a year ago
3
over a year ago
"Two URL objects are equal if they have the same protocol, reference equivalent hosts, have the same port number on the host, and the same file and fragment of the file. Two hosts are considered equivalent if both host names can be resolved into the same IP...
David Crawshaw
2014-12-11 shop.evilmadscientist.com/productsmenu/652
over a year ago
David Crawshaw
2014-04-18 www.youtube.com/watch?v=vOvQCPLkPt4
over a year ago
David Crawshaw
Buried by the media "No one else would follow; even the minister failed to show. Shaking his head ever so slightly,...
over a year ago
3
over a year ago
"No one else would follow; even the minister failed to show. Shaking his head ever so slightly, Jerry Flemmons of the Fort Worth Star-Telegram turned to me and said, 'Cochran, if we're gonna write a story about the burial of Lee Harvey Oswald, we're gonna have to bury the son of...
David Crawshaw
Good business "Bill and I were actually talking about what kind of investments GV was looking to make. He stressed...
over a year ago
3
over a year ago
"Bill and I were actually talking about what kind of investments GV was looking to make. He stressed that GV was looking to invest in businesses that were actually good businesses. As a counterexample, he brought up Twitter, which at the time he considered to be a 'good...
David Crawshaw
Machining under a microscope "The average width of such a channel is 0.002 inch. For this kind of work, the shop often uses...
over a year ago
3
over a year ago
"The average width of such a channel is 0.002 inch. For this kind of work, the shop often uses spade-type end mills as small as 0.001 inch wide, although even smaller tools have been used occasionally." www.mmsonline.com/articles/cutting-with-a-0001-inch-end-mill
David Crawshaw
Limits of Superintelligence research.google.com/pubs/pub40565.html
over a year ago
David Crawshaw
2015-06-26 "While the Union survived the civil war, the Constitution did not. In its place arose a new, more...
over a year ago
3
over a year ago
"While the Union survived the civil war, the Constitution did not. In its place arose a new, more promising basis for justice and equality, the 14th Amendment, ensuring protection of the life, liberty, and property of all persons against deprivations without due process, and...
David Crawshaw
2015-05-07
over a year ago
David Crawshaw
2015-04-02 "- Picture two conversations sharing a congested gateway as two separate train tracks with one...
over a year ago
3
over a year ago
"- Picture two conversations sharing a congested gateway as two separate train tracks with one common section.- When a blue train waits for red trains to go through the shared section, the blue trains behind it catch up (get more clumped)- If the merge rules are efficient...
David Crawshaw
2015-03-09 lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
over a year ago
David Crawshaw
2015-01-10 what-if.xkcd.com/124/
over a year ago
David Crawshaw
2014-01-17 "pogo oscillation occurs when a surge in engine pressure increases back pressure against the fuel...
over a year ago
3
over a year ago
"pogo oscillation occurs when a surge in engine pressure increases back pressure against the fuel coming into the engine, reducing engine pressure, causing more fuel to come in and increasing engine pressure again." en.wikipedia.org/wiki/Pogo_oscillation
David Crawshaw
The asymmetry of Internet identity The asymmetry of Internet identity 2019-09-29 Identity on the internet is messy. The result is some...
over a year ago
2
over a year ago
The asymmetry of Internet identity 2019-09-29 Identity on the internet is messy. The result is some things that should be easy are hard. This is an attempt to document how we define on the modern Internet. It is analogous to an for identity.a personOSI model The story so far:...
David Crawshaw
Under the heel of the spirit "Everybody thought Kennedy and Johnson and Nixon were spending four-and-a-half percent of the...
over a year ago
2
over a year ago
"Everybody thought Kennedy and Johnson and Nixon were spending four-and-a-half percent of the federal budget each year to prove that America owned Science. This was all a fiction. The Apollo Program was an elaborate demonstration of how even the blandest among us are under the...
David Crawshaw
2015-12-20 www.gnu.org/software/libc/manual/html_node/Implementing-a-Shell.html#Implementing-a-Shell
over a year ago
David Crawshaw
2015-12-15
over a year ago
David Crawshaw
2015-06-24 "Cherokee is the first Unicode language in which lower case runes have smaller values than upper...
over a year ago
2
over a year ago
"Cherokee is the first Unicode language in which lower case runes have smaller values than upper case runes." golang.org/cl/11286
David Crawshaw
2015-08-04 www.nasa.gov/feature/goddard/lunar-icecube-to-take-on-big-mission-from-small-package
over a year ago