41554 blogs · [ { "id": "01a07df2-874a-73b3-aca3-4b068aa17f6d", "title": "Pop quiz: what time was it?", "url": "https://dave.cheney.net/2025/12/18/pop-quiz-what-time-was-it", "published_at": "2025-12-18T00:38:52+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068b94c41f", "title": "Pointer pop quiz", "url": "https://dave.cheney.net/2025/11/27/pointer-pop-quiz", "published_at": "2025-11-27T11:18:55+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068c7cf150", "title": "Microblog: TestMain can cause one to question reality", "url": "https://dave.cheney.net/2024/02/22/microblog-testmain-can-cause-one-to-question-reality", "published_at": "2024-02-21T21:04:26+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068d10717c", "title": "A few bytes here, a few there, pretty soon you’re talking real memory", "url": "https://dave.cheney.net/2021/01/05/a-few-bytes-here-a-few-there-pretty-soon-youre-talking-real-memory", "published_at": "2021-01-05T12:39:20+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068df67162", "title": "The story of the one line fix", "url": "https://dave.cheney.net/2020/12/15/the-story-of-the-one-line-fix", "published_at": "2020-12-15T04:45:54+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068edd31ca", "title": "How to dump the GOSSAFUNC graph for a method", "url": "https://dave.cheney.net/2020/06/19/how-to-dump-the-gossafunc-graph-for-a-method", "published_at": "2020-06-19T03:36:57+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068f7724c0", "title": "Diamond interface composition in Go 1.14", "url": "https://dave.cheney.net/2020/05/24/diamond-interface-composition-in-go-1-14", "published_at": "2020-05-24T08:49:01+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b068fb00b9d", "title": "Fatih’s question", "url": "https://dave.cheney.net/2020/05/16/fatihs-question", "published_at": "2020-05-16T11:31:37+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0690746816", "title": "Ensmallening Go binaries by prohibiting comparisons", "url": "https://dave.cheney.net/2020/05/09/ensmallening-go-binaries-by-prohibiting-comparisons", "published_at": "2020-05-09T10:23:17+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0690809b16", "title": "Mid-stack inlining in Go", "url": "https://dave.cheney.net/2020/05/02/mid-stack-inlining-in-go", "published_at": "2020-05-02T05:09:15+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b069118844e", "title": "Inlining optimisations in Go", "url": "https://dave.cheney.net/2020/04/25/inlining-optimisations-in-go", "published_at": "2020-04-25T06:38:17+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0691c32d99", "title": "go test -v streaming output", "url": "https://dave.cheney.net/2020/03/10/go-test-v-streaming-output", "published_at": "2020-03-10T07:03:03+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b069225961a", "title": "Are large slices more expensive than smaller ones?", "url": "https://dave.cheney.net/2020/03/01/are-large-slices-more-expensive-than-smaller-ones", "published_at": "2020-03-01T05:35:26+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0692ebca14", "title": "The Zen of Go", "url": "https://dave.cheney.net/2020/02/23/the-zen-of-go", "published_at": "2020-02-23T06:46:10+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0693189c25", "title": "Dynamically scoped variables in Go", "url": "https://dave.cheney.net/2019/12/08/dynamically-scoped-variables-in-go", "published_at": "2019-12-08T01:36:27+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0693625d54", "title": "Internets of Interest #15: The Queen of the Skies", "url": "https://dave.cheney.net/2019/12/05/internets-of-interest-15-the-queen-of-the-skies", "published_at": "2019-12-05T06:49:41+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b0693f35688", "title": "Complementary engineering indicators", "url": "https://dave.cheney.net/2019/12/04/complementary-engineering-indicators", "published_at": "2019-12-04T09:46:26+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b06948a96b8", "title": "Internets of interest #14: UNIX v0", "url": "https://dave.cheney.net/2019/11/18/internets-of-interest-14-unix-v0", "published_at": "2019-11-17T16:04:20+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b06952bfd79", "title": "Internets of interest: Warner Losh on the first ten years of UNIX", "url": "https://dave.cheney.net/2019/11/16/internets-of-interest-warner-losh-on-the-first-ten-years-of-unix", "published_at": "2019-11-16T11:21:46+00:00" }, { "id": "01a07df2-874a-73b3-aca3-4b06957f897f", "title": "Use internal packages to reduce your public API surface", "url": "https://dave.cheney.net/2019/10/06/use-internal-packages-to-reduce-your-public-api-surface", "published_at": "2019-10-06T04:43:54+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d032e6b24", "title": "Be wary of functions which take several parameters of the same type", "url": "https://dave.cheney.net/2019/09/24/be-wary-of-functions-which-take-several-parameters-of-the-same-type", "published_at": "2019-09-24T10:20:22+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d03a73359", "title": "Don’t force allocations on the callers of your API", "url": "https://dave.cheney.net/2019/09/05/dont-force-allocations-on-the-callers-of-your-api", "published_at": "2019-09-05T10:44:32+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0473f804", "title": "Go compiler intrinsics", "url": "https://dave.cheney.net/2019/08/20/go-compiler-intrinsics", "published_at": "2019-08-20T10:50:18+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d05315f90", "title": "Clear is better than clever", "url": "https://dave.cheney.net/2019/07/09/clear-is-better-than-clever", "published_at": "2019-07-08T13:11:46+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d056025fc", "title": "Sydney High Performance Go workshop", "url": "https://dave.cheney.net/2019/07/05/sydney-high-performance-go-workshop", "published_at": "2019-07-05T12:29:57+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0563fde4", "title": "Constant Time", "url": "https://dave.cheney.net/2019/06/10/constant-time", "published_at": "2019-06-10T10:15:47+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d05ef3c49", "title": "The three Rs of remote work", "url": "https://dave.cheney.net/2019/05/19/the-three-rs-of-remote-work", "published_at": "2019-05-18T21:55:26+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d06aa3c51", "title": "Why bother writing tests at all?", "url": "https://dave.cheney.net/2019/05/14/why-bother-writing-tests-at-all", "published_at": "2019-05-14T08:36:09+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d07655a2a", "title": "Prefer table driven tests", "url": "https://dave.cheney.net/2019/05/07/prefer-table-driven-tests", "published_at": "2019-05-07T10:36:47+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d084096e6", "title": "Absolute Unit (test)", "url": "https://dave.cheney.net/2019/04/03/absolute-unit-test", "published_at": "2019-04-03T08:23:01+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d092f949f", "title": "Internets of Interest #12: Testing Michael Feathers’ Patience", "url": "https://dave.cheney.net/2019/02/20/internets-of-interest-12-testing-michael-feathers-patience", "published_at": "2019-02-20T02:30:11+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d09707d5f", "title": "Talk, then code", "url": "https://dave.cheney.net/2019/02/18/talk-then-code", "published_at": "2019-02-17T23:23:17+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0a50c969", "title": "You shouldn’t name your variables after their types for the same reason you wouldn’t name your pets “dog” or “cat”", "url": "https://dave.cheney.net/2019/01/29/you-shouldnt-name-your-variables-after-their-types-for-the-same-reason-you-wouldnt-name-your-pets-dog-or-cat", "published_at": "2019-01-29T09:08:20+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0a6635d5", "title": "Eliminate error handling by eliminating errors", "url": "https://dave.cheney.net/2019/01/27/eliminate-error-handling-by-eliminating-errors", "published_at": "2019-01-27T09:24:47+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0a91e358", "title": "Avoid package names like base, util, or common", "url": "https://dave.cheney.net/2019/01/08/avoid-package-names-like-base-util-or-common", "published_at": "2019-01-08T09:14:24+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0b0a83e0", "title": "Internets of Interest #11: Yesterday’s Computer of Tomorrow: The Xerox Alto", "url": "https://dave.cheney.net/2018/12/30/internets-of-interest-11-yesterdays-computer-of-tomorrow-the-xerox-alto", "published_at": "2018-12-30T00:24:46+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0b67a7ea", "title": "The office coffee model of concurrent garbage collection", "url": "https://dave.cheney.net/2018/12/28/the-office-coffee-model-of-concurrent-garbage-collection", "published_at": "2018-12-27T22:47:32+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0b71eba6", "title": "Internets of Interest #10: Mike Harrison on the Eidophor", "url": "https://dave.cheney.net/2018/11/15/internets-of-interest-10-mike-harrison-on-the-eidophor", "published_at": "2018-11-15T00:36:53+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0c3e8d34", "title": "Internets of Interest #9: Jason Scott on the Copyright Fury Road", "url": "https://dave.cheney.net/2018/11/11/internets-of-interest-9-jason-scott-on-the-copyright-fury-road", "published_at": "2018-11-11T03:29:43+00:00" }, { "id": "01a0c506-46a6-727e-adb0-3e4d0d003574", "title": "Internets of Interest #8: Todd Fernandez on the manufacturing of modern semiconductors", "url": "https://dave.cheney.net/2018/11/03/internets-of-interest-8-todd-fernandez-on-the-manufacturing-of-modern-semiconductors", "published_at": "2018-11-03T00:28:37+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b0c2f983", "title": "Internets of Interest #7: Ian Cooper on Test Driven Development", "url": "https://dave.cheney.net/2018/10/15/internets-of-interest-7-ian-cooper-on-test-driven-development", "published_at": "2018-10-15T10:15:44+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b114b63c", "title": "Internets of Interest #6: Dave Cutler on Dave Cutler", "url": "https://dave.cheney.net/2018/10/06/internets-of-interest-6-dave-cutler-on-dave-cutler", "published_at": "2018-10-06T09:44:58+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b1a2e34c", "title": "Internets of Interest #5: Kate Gregory on Simplicity", "url": "https://dave.cheney.net/2018/09/28/internets-of-interest-5-kate-gregory-on-simplicity", "published_at": "2018-09-28T08:15:39+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b29900f0", "title": "Internets of Interest #4: Niall Murphy’s Polemic Against On-Call", "url": "https://dave.cheney.net/2018/09/26/internets-of-interest-4-niall-murphys-polemic-against-on-call", "published_at": "2018-09-26T03:25:10+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b3466e20", "title": "Internets of interest #3: Adam Fletcher on Life of an Airline Flight", "url": "https://dave.cheney.net/2018/09/23/internets-of-interest-3-adam-fletcher-on-life-of-an-airline-flight", "published_at": "2018-09-23T11:09:42+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b3811c2d", "title": "Internets of interest #2: John Ousterhout discusses a Philosophy of Software Design", "url": "https://dave.cheney.net/2018/09/16/internets-of-interest-2-john-ousterhout-discusses-a-philosophy-of-software-design", "published_at": "2018-09-16T00:40:03+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b3b071a9", "title": "Internets of interest #1: Brian Kernighan on the Elements of Programming Style", "url": "https://dave.cheney.net/2018/09/15/internets-of-interest-1-brian-kernighan-on-the-elements-of-programming-style", "published_at": "2018-09-15T09:57:00+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b432a522", "title": "Maybe adding generics to Go IS about syntax after all", "url": "https://dave.cheney.net/2018/09/03/maybe-adding-generics-to-go-is-about-syntax-after-all", "published_at": "2018-09-03T05:58:47+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b43abffd", "title": "Internets of interest #0: The future of Microprocessors", "url": "https://dave.cheney.net/2018/08/19/internets-of-interest-0-the-future-of-microprocessors", "published_at": "2018-08-19T10:13:09+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b44ca079", "title": "Using Go modules with Travis CI", "url": "https://dave.cheney.net/2018/07/16/using-go-modules-with-travis-ci", "published_at": "2018-07-16T11:32:03+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b492bf8c", "title": "Taking Go modules for a spin", "url": "https://dave.cheney.net/2018/07/14/taking-go-modules-for-a-spin", "published_at": "2018-07-14T08:25:57+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b5109124", "title": "Slices from the ground up", "url": "https://dave.cheney.net/2018/07/12/slices-from-the-ground-up", "published_at": "2018-07-12T12:00:37+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b60f4734", "title": "How the Go runtime implements maps efficiently (without generics)", "url": "https://dave.cheney.net/2018/05/29/how-the-go-runtime-implements-maps-efficiently-without-generics", "published_at": "2018-05-29T09:20:43+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b6e24ae8", "title": "Containers versus Operating Systems", "url": "https://dave.cheney.net/2018/01/16/containers-versus-operating-systems", "published_at": "2018-01-16T11:58:15+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b77530c5", "title": "Go’s hidden #pragmas", "url": "https://dave.cheney.net/2018/01/08/gos-hidden-pragmas", "published_at": "2018-01-08T12:01:39+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b833b2b1", "title": "If aligned memory writes are atomic, why do we need the sync/atomic package?", "url": "https://dave.cheney.net/2018/01/06/if-aligned-memory-writes-are-atomic-why-do-we-need-the-sync-atomic-package", "published_at": "2018-01-06T10:20:49+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b8ac6d0c", "title": "What Have We Learned from the PDP-11?", "url": "https://dave.cheney.net/2017/12/04/what-have-we-learned-from-the-pdp-11", "published_at": "2017-12-04T11:14:00+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b8ea8854", "title": "Never edit a method, always rewrite it", "url": "https://dave.cheney.net/2017/11/30/never-edit-a-method-always-rewrite-it", "published_at": "2017-11-30T10:15:34+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b9e396b2", "title": "Please, vote Yes for marriage equality in Australia", "url": "https://dave.cheney.net/2017/09/19/please-vote-yes-for-marriage-equality-in-australia", "published_at": "2017-09-19T08:43:18+00:00" }, { "id": "01a0c517-ae94-7273-a120-bad1b9fd897a", "title": "Why I joined Heptio", "url": "https://dave.cheney.net/2017/09/06/why-i-joined-heptio", "published_at": "2017-09-06T12:50:17+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add626bf8270", "title": "I’m talking about Go at DevFest Siberia 2017", "url": "https://dave.cheney.net/2017/08/23/im-talking-about-go-at-devfest-siberia-2017", "published_at": "2017-08-23T10:48:43+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add626bfb152", "title": "The HERE IS key", "url": "https://dave.cheney.net/2017/08/21/the-here-is-key", "published_at": "2017-08-21T11:42:09+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add6275ef347", "title": "Context isn’t for cancellation", "url": "https://dave.cheney.net/2017/08/20/context-isnt-for-cancellation", "published_at": "2017-08-20T07:28:17+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62846823c", "title": "Typed nils in Go 2", "url": "https://dave.cheney.net/2017/08/09/typed-nils-in-go-2", "published_at": "2017-08-09T10:27:28+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add6289848ae", "title": "Should Go 2.0 support generics?", "url": "https://dave.cheney.net/2017/07/22/should-go-2-0-support-generics", "published_at": "2017-07-22T07:42:09+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add628a80019", "title": "How to find out which Go version built your binary", "url": "https://dave.cheney.net/2017/06/20/how-to-find-out-which-go-version-built-your-binary", "published_at": "2017-06-20T09:13:18+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add6290b3935", "title": "Simplicity Debt Redux", "url": "https://dave.cheney.net/2017/06/18/simplicity-debt-redux", "published_at": "2017-06-18T08:36:04+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add629a46fdc", "title": "Simplicity Debt", "url": "https://dave.cheney.net/2017/06/15/simplicity-debt", "published_at": "2017-06-14T21:38:59+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62a2ffd70", "title": "Go, without package scoped variables", "url": "https://dave.cheney.net/2017/06/11/go-without-package-scoped-variables", "published_at": "2017-06-11T03:53:21+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62a9b418c", "title": "If a map isn’t a reference variable, what is it?", "url": "https://dave.cheney.net/2017/04/30/if-a-map-isnt-a-reference-variable-what-is-it", "published_at": "2017-04-30T09:26:24+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62b02ed29", "title": "There is no pass-by-reference in Go", "url": "https://dave.cheney.net/2017/04/29/there-is-no-pass-by-reference-in-go", "published_at": "2017-04-29T06:28:13+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62ba82d3f", "title": "Understand Go pointers in less than 800 words or your money back", "url": "https://dave.cheney.net/2017/04/26/understand-go-pointers-in-less-than-800-words-or-your-money-back", "published_at": "2017-04-26T09:49:27+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62bb17f40", "title": "Why Slack is inappropriate for open source communications", "url": "https://dave.cheney.net/2017/04/11/why-slack-is-inappropriate-for-open-source-communications", "published_at": "2017-04-11T03:11:01+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62c3c753d", "title": "RC2017/4: Introducing Arudino6502", "url": "https://dave.cheney.net/2017/04/09/rc20174-introducing-arudino6502", "published_at": "2017-04-09T11:59:06+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62cf03869", "title": "Retrochallenge 2017/04: 6502 on Arduino", "url": "https://dave.cheney.net/2017/04/05/retrochallenge-201704-6502-on-arduino", "published_at": "2017-04-05T01:52:59+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62d02d073", "title": "Why Go?", "url": "https://dave.cheney.net/2017/03/20/why-go", "published_at": "2017-03-20T09:19:04+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62d21dfc1", "title": "How to write a successful conference proposal", "url": "https://dave.cheney.net/2017/02/12/how-to-write-a-successful-conference-proposal", "published_at": "2017-02-12T03:28:49+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62d382035", "title": "I’m speaking at GopherChina and GopherCon Singapore", "url": "https://dave.cheney.net/2017/02/09/im-speaking-at-gopherchina-and-gophercon-singapore", "published_at": "2017-02-09T10:03:46+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62dc490ec", "title": "Context is for cancelation", "url": "https://dave.cheney.net/2017/01/26/context-is-for-cancelation", "published_at": "2017-01-25T23:13:20+00:00" }, { "id": "01a0c522-ae1f-71d5-96bb-add62dfe97f3", "title": "The package level logger anti pattern", "url": "https://dave.cheney.net/2017/01/23/the-package-level-logger-anti-pattern", "published_at": "2017-01-23T00:06:34+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c9735ecf5bb9", "title": "Never start a goroutine without knowing how it will stop", "url": "https://dave.cheney.net/2016/12/22/never-start-a-goroutine-without-knowing-how-it-will-stop", "published_at": "2016-12-22T11:32:04+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c9735efa0749", "title": "Thinking about $GOPATH", "url": "https://dave.cheney.net/2016/12/20/thinking-about-gopath", "published_at": "2016-12-20T08:14:28+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c9735fbc7d5e", "title": "Declaration scopes in Go", "url": "https://dave.cheney.net/2016/12/15/declaration-scopes-in-go", "published_at": "2016-12-15T11:03:06+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97360768a8d", "title": "Simulating minicomputers on microcontrollers", "url": "https://dave.cheney.net/2016/12/03/simulating-minicomputers-on-microcontrollers", "published_at": "2016-12-03T12:39:51+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c973610f4f5d", "title": "Go 1.8 toolchain improvements", "url": "https://dave.cheney.net/2016/11/19/go-1-8-toolchain-improvements", "published_at": "2016-11-19T12:43:18+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97361175ef2", "title": "Do not fear first class functions", "url": "https://dave.cheney.net/2016/11/13/do-not-fear-first-class-functions", "published_at": "2016-11-12T23:39:47+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97361775393", "title": "Introducing Go 2.0", "url": "https://dave.cheney.net/2016/10/25/introducing-go-2-0", "published_at": "2016-10-24T13:23:37+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97361d342b0", "title": "IoT p0wnership", "url": "https://dave.cheney.net/2016/09/30/iot-p0wnership", "published_at": "2016-09-30T02:58:55+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97362407387", "title": "Go 1.8 performance improvements, one month in", "url": "https://dave.cheney.net/2016/09/18/go-1-8-performance-improvements-one-month-in", "published_at": "2016-09-17T23:01:52+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97362c300c6", "title": "SOLID Go Design", "url": "https://dave.cheney.net/2016/08/20/solid-go-design", "published_at": "2016-08-20T06:05:36+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c973630fd532", "title": "Transistor logic fundamentals", "url": "https://dave.cheney.net/2016/06/30/transistor-logic-fundamentals", "published_at": "2016-06-30T01:35:20+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c973636f5174", "title": "Automatically fetch your project’s dependencies with gb", "url": "https://dave.cheney.net/2016/06/26/automatically-fetch-your-projects-dependencies-with-gb", "published_at": "2016-06-26T10:33:03+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97363dc4aad", "title": "Gophers, please tag your releases", "url": "https://dave.cheney.net/2016/06/24/gophers-please-tag-your-releases", "published_at": "2016-06-24T04:13:27+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c973640f2246", "title": "Automatically run your package’s tests with inotifywait", "url": "https://dave.cheney.net/2016/06/21/automatically-run-your-packages-tests-with-inotifywait", "published_at": "2016-06-21T01:08:16+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97364c85c64", "title": "Stack traces and the errors package", "url": "https://dave.cheney.net/2016/06/12/stack-traces-and-the-errors-package", "published_at": "2016-06-12T03:10:26+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c9736598879c", "title": "Test fixtures in Go", "url": "https://dave.cheney.net/2016/05/10/test-fixtures-in-go", "published_at": "2016-05-10T01:19:59+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c973665d7892", "title": "Don’t just check errors, handle them gracefully", "url": "https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully", "published_at": "2016-04-26T21:37:13+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97366d04b54", "title": "The value of TDD", "url": "https://dave.cheney.net/2016/04/11/the-value-of-tdd", "published_at": "2016-04-11T05:53:39+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97366e5c570", "title": "Constant errors", "url": "https://dave.cheney.net/2016/04/07/constant-errors", "published_at": "2016-04-07T11:00:21+00:00" }, { "id": "01a0c52e-35bc-7255-a8d2-c97367b2a77c", "title": "Go 1.7 toolchain improvements", "url": "https://dave.cheney.net/2016/04/02/go-1-7-toolchain-improvements", "published_at": "2016-04-02T09:24:12+00:00" } ] posts Claim your blog
Back to Dave Cheney
Blog · corpus.blog/blogs/dave.cheney.net/posts

Dave Cheney

dave.cheney.net

2025

2024

2021

2020

2019

2018

2017

2016