On effective user invitation design: https://blog.sentry.io/2020/02/12/how-we-grew-sentrys-monthly-active-users-by-rethinking-invitations
miniblog.
I never know whether to write bool or boolean. I try to avoid excessive abbreviations, but bool is so snappy and very common.
Why 'holy wars' in technology arise, and where to expect them: https://www.gwern.net/Holy-wars
An optimistic take on neural networks for programming: https://medium.com/@karpathy/software-2-0-a64152b37c35
It makes some good points about predictable runtime performance, ability to trade CPU for accuracy, and the ease of hardware acceleration.
Using machine learning to decide what structure to use for your neural net: https://arxiv.org/pdf/1703.01041.pdf
It's pretty meta, but ML is often good at trading computation for results.
I've always written dumb lisp parsers in the past: a list is just "(" EXPR* ")". Checking came later.
I'm trying something different in my current project, pushing special forms into the parsing logic.
This means that e.g. (if) is a parse error. It has a different vibe.
I'm developing a theory that IRC bots are a petri dish of chat tool ideas. Most bots have poor discoverability and limited value, but it's so easy to try new ideas that some real innovation crops up.
Emacs package of the day: amx.
https://github.com/DarwinAwardWinner/amx
This makes your M-x better, by prioritising recently used commands, hiding irrelevant commands, and showing shortcuts!
(Shown with the excellent counsel package here.)
One cute property of the typescript/javascript relationship is that you can toggle whether (and when) you want static types.
At ~500 LOC I realised I had an error handler I'd refactored but missed an argument at a call site. Time to try some typescript!
Discussion of how to add features written in Rust to the Linux kernel! https://lkml.org/lkml/2020/7/10/1261
How much content belongs in a website header menu?
I'm playing with blog layouts, and wondering if all the navigation would be better suited to a footer. I'm hoping it prioritises content.
Libreoffice and trying to build sustainable OSS business models: https://lwn.net/SubscriberLink/825598/21fb7c2a3f9358e7/
Several security vulnerability types are due to misusing strings: command injection, SQL injection, cross-site scripting.
How far could you go with a language that didn't have strings? You might need a Prose type that's a list of Unicode chars, but only use it for printing.
I keep thinking about the parallels between type checkers and abstract interpretation.
E.g. abstract interpretation saying "this is one of two values, but I don't know which" feels very much like type checking a boolean.
Have any tools taken advantage of this?
Compiling Linux so it can fit on a floppy and boot on a 486!
I'm really impressed you can still make it small enough.
https://www.insentricity.com/a.cl/283
`npm outdated` is a useful command that colour-codes output based on semantic versioning compatibility.
I wonder if time information would help too? If I'm on 1.0.1 and 1.0.5 is the latest, but 1.0.1 came out in 2010, that's useful knowledge.
Using stack traces to explain type inference: https://sophiebits.com/2018/05/21/type-errors-with-inference-need-stacks.html
physical-cpu-count is a lovely example of small packages on npm doing one thing well. It's a cross-platform solution with clearly discussed limitations and design decisions regarding hyperthreading.
https://www.npmjs.com/package/physical-cpu-count
I'm really enjoying using Parcel for my web build needs. Everything just works out of the box, without configuration.
Hardening Android, including a neat jemalloc alternative that can mitigate memory corruption bugs: https://security.googleblog.com/2020/06/system-hardening-in-android-11.html
Showing 1,401-1,420 of 7,508 posts