miniblog.

Malicious ads discussion on TV Tropes https://tvtropes.org/pmwiki/posts.php?discussion=13223684920A10189100 discusses the importance of antivirus software. I suspect that having an up-to-date browser is more important these days? It's probably the most attacked software by far.
I'd love to see a package repository where libraries had permissions like Android apps. It would simplify trusting obscure new libraries if I could see e.g. libfoo never accesses the network.
I definitely think there's some truth in the idea of needing a killer app to make a successful PL. An alternative mindset is that *successful PLs are designed for their environment*. If you can tailor the language for its domain, you can build a better overall solution.
Excellent post on dependent types, why parametric polymorphism is good, and building inscrutable type checkers: https://ucsd-progsys.github.io/liquidhaskell-blog/2020/04/12/polymorphic-perplexion.lhs/
Extending ripgrep to PDF, docx, and other formats: https://phiresky.github.io/blog/2019/rga--ripgrep-for-zip-targz-docx-odt-epub-jpg/
Valve has forked and packaged up Wine to help Linux users play games: https://github.com/ValveSoftware/Proton This is FOSS working as intended: freedom to try other things, but contributing upstream!
Valve exploring a custom shader compiler on Linux that leads to significantly higher frame rates than native code on Windows: https://www.forbes.com/sites/jasonevangelho/2019/07/11/valves-latest-linux-gaming-work-is-boosting-amd-vulkan-performance-by-up-to-44-percent/ (Shader compilers run during the game, so compilation time can make a big difference.)
Computer hardware has become more powerful, but it's not always obvious how we've used the extra compute. It's obvious for monitors though. Newer monitors are consistently more pixels, requiring more work per redraw.
My shiny new Arch install uses grub2, so you don't need a separate /boot partition! It can read the kernel straight out of an LVM partition. grub2 is a little bit bigger though, so I had to repartition give it 2MiB at the beginning of the disk. Everything gets bigger over time.
Excellent post reflecting on the design and success of the Ninja build tool, from its original author: https://neugierig.org/software/blog/2020/05/ninja.html
Apparently there's a separate linux kernel flavour (beyond the usual vanilla, LTS, hardened) just for personal computers! https://liquorix.net/ Looks like it's developed on GitHub and tuned for interactive usage.
Turns out that a fresh Arch Linux install is significantly easier than letting a 2-year-old system install 3.6GiB of packages and hoping.
I really appreciate tools that handle both `$ foo --help` and `$ foo help` gracefully. You can never assume what argument format a new command will take.
It's weird: I'd always been interested in experiencing a 100% remote tech company. I don't feel like I've achieved that yet, despite the quarantine. Normally you'd still have normal routines outside of work. Premeditated remote work has a different flavour I suspect.
Suppose you set up a repository that accepts any PR that passes CI. You forbid CI changes, but the rest of the codebase is fair game. What sort of testing, linting etc would you configure for CI?
I do most of my computing on a desktop I built for gaming in 2011, with minimal upgrades since. Looking at components now, it's striking how comparable parts get better performance but still put out less heat!
Fabulous paper on the history of Emacs Lisp and its design: https://www.iro.umontreal.ca/~monnier/hopl-4-emacs-lisp.pdf
Apple is designing laptops/desktops around their ARM chips! https://arstechnica.com/gadgets/2020/04/report-apple-will-begin-selling-macs-with-its-own-processors-in-2021/ Apple likes integration, but I wonder what the top-end performance will be like. Benchmarks of PowerPC vs Intel were often hard to compare.
I'm comfortable with git, and recently learned mercurial, and I've concluded: commits are the wrong abstraction. Work-in-progress and finished work are different concepts. Rebases and even branches are for WIP. Signing is for finished work. Timestamps and authors change for WIP.
Sending patches/PRs to projects creates asymmetric work. The maintainer needs to think about the future work it might create. Fortunately CI running tests, checking formatting, even enforcing commit message style helps! Reducing the amount of work needed to accept a PR matters.
Showing 241-260 of 378 posts