A discussion of interning inside rustc, and its relationship with 'library-ifying' the codebase: https://rust-lang.github.io/compiler-team/minutes/design-meeting/2020-03-12-shared-library-for-types/
miniblog.
Factoring libraries out of rustc, so rust-analyzer can share logic! Includes a discussion of batch versus interactive code analysis: https://rust-lang.github.io/rfcs/2912-rust-analyzer.html
My toy programming language has a pluggable frontend, so you can change syntax easily.
The first syntax I built was lispy. I've gradually been adding statement oriented C-ish syntax.
I think it would awkward to write a statement oriented lispy syntax. Do any such PLs exist?
It's amazing that merging work at all.
It's a dumb textual transform that provides no guarantees that the code is even syntactically valid, let alone correct. The problem feels AI-complete.
I've seen bad resolutions of merge conflicts way more than bad automatic merges though.
Rust RFCs have this interesting approach where you can register blocking concerns with their rfcbot!
Seems like a great way of tracking outstanding issues. E.g. https://github.com/rust-lang/rust/pull/74430#issuecomment-664693080
Apparently mounting a 51% attack on a blockchain can sometimes net more money than the compute cost! https://blog.bitquery.io/attacker-stole-807k-etc-in-ethereum-classic-51-attack
I'm impressed with the amount of automation on the typescript type declaration repository. In my first PR, there's a welcome message, pings to the maintainers, some static analysis, and even an automatic performance test!
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/47293
The economics of 0days: how many are detected, how many exist, and which platforms have better detection? https://googleprojectzero.blogspot.com/2020/07/detection-deficit-year-in-review-of-0.html
Implementing a formal verification tool for Rust, supporting the same API as property testing libraries!
https://alastairreid.github.io/why-not-both/
Requires a remarkable amount of glue code, so this doesn't feel like a mature domain yet.
Systematically tracking and fixing compile time issues in LLVM: https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html
Symptoms, diagnosis, and the recommended treatments of bad code from modern compilers:
https://quuxplusone.github.io/blog/2020/09/02/wparentheses/
Job descriptions are often a good way of learning about a company's tech stack. "Experience with SQL databases, Postgres preferred" shows exactly what DB they use.
It's much rarer to see a dev blog, but I find this is often sufficient for my curiosity.
Fun paper quantifying the effect of not following a project's style: you're less like to get your pull request accepted, and you may see more comments! https://vhellendoorn.github.io/PDF/msr2015.pdf
Turns out that writing quines in your new toy language is a great way of finding string escaping bugs!
Discussing blockers for writing Linux kernel drivers in Rust, including some experimental compiler tools! Apparently there are even a few folks exploring a GCC frontend for Rust.
https://lwn.net/SubscriberLink/829858/281103f9c6fd0dc2/
Perhaps we should consider package managers to be more foundational than programming languages.
npm: Javascript, Typescript, CSS
distro packages: C, C++
maven: Java, Clojure (to some extent)
NuGet: C#, F#
opam: OCaml, Coq
I've seen some programming languages claim to be purely functional, but Coq has taken it to another level.
This hello world tutorial *installs a third party library* so you can do IO! https://coq-blog.clarus.me/tutorial-a-hello-world-in-coq.html
Really cute project using NFC stickers and a desktop app that runs scripts when an HTTP request is received.
Touch your phone to a sticker to make your machine do something!
https://tyler.io/shelley/
Sometimes, the best way to harden a service is to outsource it.
I've dabbled with running my own CI service for PRs. Running *arbitrary* third party patches is scary. Malware! Crypto miners!
It's really nice not having to worry about that.
I've heard of gamers who compete to see who can beat a game with the fewest keypresses.
We should do the same for hello world in programming languages! For example, Rust does well here with 20 keystrokes:
$ cargo init;cargo run
Showing 101-120 of 378 posts