I wish I had a good solution to link rot on my blog posts.
Sometimes I think about saving all the external pages like Google's cache does. I worry about authors who don't want their content copied though.
miniblog.
On developer relations versus developer evangelists, choosing communication platforms, and supporting your external community:
https://open.spotify.com/episode/57gbJ9n9XuNdOZxjB8jVt1
A patch to Chromium reduced global root DNS requests by 40%!
https://www.theregister.com/2021/02/04/chromium_dns_traffic_drop/
It's also impressive how quickly users updated such that the global services saw a difference.
Best practices with property based testing:
https://blog.auxon.io/2021/02/01/effective-property-based-testing/
Avoiding the Maybe/option type to make intent clearer:
https://rpeszek.github.io/posts/2021-01-17-maybe-overuse.html
The design of Emacs' transient-mark-mode, and why power users might want to try disabling it: https://spwhitton.name/blog/entry/transient-mark-mode/
Adding a macro system to a compiled lisp seems really tricky. It's a ton easier when you have an interpreter that you can throw the macro definitions at.
The more I learn about register allocators, the less I want to write programs in assembly. It's really nice having a compiler minimise spills.
GitHub actions is really polished: it groups outputs by command, has good support for build matrices, and a growing ecosystem.
It's a big feature that lets GitHub avoid being a simple git storage service. Issues are nice, but much more easily migrated.
I still associate gdb with "issue that will be tricky to debug", but I used it today with Rust. Everything just worked.
I was investigating some stack overflows and all the metadata was correct and readable. I was pleasantly surprised :)
This resonated with me: a quality set of de-duplicated bug reports is valuable, and automatically closed issues can prevent that.
https://blog.benwinding.com/github-stale-bots/
Normally I don't like segfaults: they usually mean something low in the stack is broken and it'll be a pain to debug.
Writing assembly, segfaults are a good thing! They're a well-defined error state, whilst there are a whole range of messy failure states that are worse.
I like the lisp convention of 'defvar' (define a variable), 'defmacro' (define a macro). 'defun' feels a little weird though -- shouldn't it have been 'deffun'?
Why don't browsers use history or Alexa rank to highlight trustworthy sites? Gmail already warns me if I haven't emailed a person/domain before.
This seems like a viable heuristic against phishing sites.
This announcement of VisualAge 1.0 for Java (released 1997) is cute. How could Java be revolutionary without a "new killer op-code or do-loop"?
I particularly like how the free edition limits you to creating 100 classes.
https://www.tug.ca/articles/Volume13/V13N1/V13N1_Jenkins_VisualAge-for-Java.html
strace is an incredibly handy tool when you need it.
$ strace ./hello
execve("./hello", ["./hello"], 0x7ffc64e063b0 /* 52 vars */) = 0
write(0, "\177", 1) = 1
In other news, writing to stdin is a definite sign of a bug.
Functions can have pre/postconditions specifying assumptions and legal ranges for inputs. What's the equivalent for pretrained ML models?
https://gradio.app/blog/missing-contracts
It seems crazy to me that the definitive x86-64 resource is a PDF. It's a good reference, but having a canonical, linkable HTML resource would be really handy.
One thing I've learnt from writing a toy compiler is that this instruction usually means you have a bug:
add %al,(%rax)
This is the instruction encoding of all zeroes. It means you've jumped to the wrong place, or screwed up the size of an operand.
Some scary observations from the cURL maintainer about URL interoperability: https://github.com/bagder/docs/blob/master/URL-interop.md
(apparently browsers will happily convert http:\\ to http:// !)
Showing 1,181-1,200 of 7,508 posts