An increasing number of command-line software programs output text with ANSI color escape codes by default. While some developers and users obviously prefer seeing these colors, many users don’t. Unfortunately, every new piece of software seems to have a different way of disabling colored text output and some software has no way at all. — NO_COLOR
2020-09-02: Just playing with Amethyst again. It looks like there’s been some improvements since the last time I tested it.
2020-09-02: cmus is a small, fast and powerful console music player for Unix-like operating systems.
2020-09-03: Having so much fun with Kitty and Amethyst! (But see my recent post.)
2020-09-03: Unix Wars.
2020-09-04: Render is a unified platform to build and run all your apps and websites with free SSL, a global CDN, private networks and auto deploys from Git.Get started. It looks like a nice and free alternative to Webfaction.
In reply to this criticism one is normally reminded that Unix was invented for a PDP7, which had about as much memory as an earthworm and CPU power to match. That is, the user interface was designed to minimize the time required to decode a command. That meant short, fixed-case, commands, and no minimum matching. But 1969 is a long time ago, and both memory and speed have improved a thousandfold since then. — A Requiem for a Dying Operating SystemStill, I like short command names like
2020-09-05: On the various C standard drafts: https://news.ycombinator.com/item?id=24361469.
2020-09-05: Massacring C Pointers. You may also like Geoff Wozniak’s Gopher-like blog.
2020-09-05: What’s the emacs.d?.
Mood of the day.
2020-09-06: How funny that Apple’s (now hidden for such a long time)
~/Library folder keep archiving old attachments from the Messages app. It’s actually 2.5 Go large while I systematically delete most of the attached media once they’re saved on my HD! I know it’s good practice to keep a shallow copy of everything for the casual user — in case things get deleted by mistake, you know, but while isn’t there an option to delete old stuff like this in macOS preferences?
2020-09-06: Compiling a Lisp: Primitive unary functions.
2020-09-06: PDP 11/70 Emulator.
2020-09-06: trivial-gamekit: This framework is intended for users who wish to start with game development in Common Lisp as soon as possible without much configuration hassle.
2020-09-07: I’ve been using Element on Firefox for two or three weeks now. No need to launch textual or Circe in Emacs: I get the best of both worlds (Matrix and IRC), with Desktop notifications and the history!
2020-09-07: Two new TV series started this month: The Leftovers (with my son), and Fargo (when I’m alone). Still on Apple TV.
2020-09-07: My thoughts about editors in 2020. That’s an interesting take on text editors in the 21st century. I remain a strong Emacs believer, although I tried and loved (Evil) modal editing. Work in progress.> However, the Vi philosophy is probably too obscure for me at the moment. It has been going on for at least 10 years so I have little hope that it will ever change. While I like some ideas we found in modal editing, I cannot embrace them all. Emacs, 15 years later
(…) what I am trying to recover most is differentiated time. Some days should be different than others. I’ll replace Twitter with something else for a little while, and hopefully that’ll seem different. — Recently
Take defensive measures. To future-proof your content, rather than reference the general web, its far more reliable to link to an archive. — Why I Link to WayBackMachine Instead of Original Site
2020-09-08: How to speed up the Rust compiler one last time.
2020-09-08: Nextflow, for Data-driven computational pipelines, looks great. Apparently it also works with OpenJDK 14 on macOS.
2020-09-08: Writing More Idiomatic and Pythonic Code.
2020-09-10: Gary Peacock, Jack DeJohnette & Keith Jarrett, My Foolish Heart.
Only write necessary tests — specifically, tests whose estimated value is greater than their estimated cost. This is a hard judgement call, of course, but it does mean that at least some of the time you should be saying “it’s not worth it”. — Test smarter, not harder
We all know it’s tricky to have a rational discussion about a religion. Non-Lispers will be able to read this without getting their feathers ruffled. Some Lispers aren’t too far gone, so let’s assume we’re talking to them, and take a look at some of Lisp’s problems that make it flat-out unacceptable. At least for LISP, you know, the idealized one. — Lisp is Not an Acceptable Lisp
2020-09-10: OMG! My Doom startup time just has just been reduced from 4s to less than 1.5s after I removed the only
require instruction I add in my various Elisp files.
Doom loaded 298 packages across 55 modules in 1.492s.
2020-09-10: Advanced Techniques for Reducing Emacs Startup Time.
2020-09-10: Asynchronously Opening and Closing Files in Asyncio.
2020-09-10: Modify and aggregate dataframes in Chez Scheme.
2020-09-12: TIL that Helm development is now stalled (via Bastien Guerry). I’m using Ivy from a while ago now, but my heart goes out to helm’s advanced users, like Manuel Uberti.
2020-09-12: From Rust to TypeScript.
2020-09-12: fastmac: Get a MacOS or Linux shell, for free, in around 2 minutes.
Longer functions contain more code, and the more code developers write the more mistakes they are likely to make.
But wait, the evidence shows that most reported faults occur in short functions.
This is true, at least in Java. It is also true that most of a Java program’s code appears in short methods (in C 50% of the code is contained in functions containing 114 or fewer lines, while in Java 50% of code is contained in methods containing 4 or fewer lines). It is to be expected that most reported faults appear in short functions. — Impact of function size on number of reported faults
There exists however one common trait for virtually all of text editors: they are written by and for developers. Consequently, design is generally not the primary concern and the final product does not usually enforce best recommendations in terms of appearance, interface design or even user interaction. The most striking example is certainly the syntax colorization that seems to go against every good de- sign principles in a majority of text editors and the motto guiding design could be summarized by “Let’s add more colors” (using regex). — On the design of text editors
2020-09-14: As I was looking for an old blog post by Vincent Zoonekynd, I noticed he’s back to blogging after a 7 year hiatus.
2020-09-14: Going back to Stack Overflow after several years off. I only edited/fixed a dozen posts or so and I’m already exhausted.
2020-09-14: Learning about Haskell typing mechanism, talking about Lisp interface to Python. But this is just an excuse to post a screenshot of this lovely Amethyst window manager.
2020-09-14: Code Review from the Command Line.
2020-09-14: Get Things Done with Emacs.
2020-09-14: Git Magic is really great, especially chapters 7 and 8.
2020-09-14: Haskell Fan Site.
2020-09-14: Hlint is such a killer feature for writing Haskell in Vim or Emacs!
2020-09-14: M-x doom tip of the day:
avy-goto-char-timer) as a quick Vim
easy-motion replacement. See also
Helping people online is difficult. We expect technical questions and discussions, but everyone involved are just people, so it doesn’t always go smoothly. There’s no way to guarantee a good outcome, but there are things we as helpers can do to improve the interactions. — How to be helpful online
One of the delightful and surprising things about Emacs, as you get to know it better, is the depth of customisation which is available. Emacs can be a completely different editor for different people and for different purposes. — Advising Emacs
2020-09-15: Comby is a tool for searching and changing code structure.
2020-09-15: Exploratory data analysis in Chez Scheme.
2020-09-15: The Conjugate Gradient method: A geometrical explanation.
2020-09-16: A guide on disabling/enabling lsp-mode features.
2020-09-16: slimhtml is an Emacs org-mode export backend. It is a set of transcoders for common org elements which outputs minimal HTML.
Most of the time, when you hear that a free software project is struggling, it is too late. E.g. both pdf-tools and helm don’t have a maintainer since a few days: did you see this coming?
Org is doing quite well, but I feel we are at a turning point: either we attract more contributors and we can afford to fix more bugs and deliver new releases, or we might get overwhelmed by user requests and lose both our energy and our motivation to continue. — Org 9.4 is out. Can you help?
2020-09-18: I already said in one of my recent posts on the main blog that I rarely use Stata these days. Yet I continue reading the Stata blog, and I was happy to see Chuck Huber taking the lead on the most recent posts. At the time of this writing, this is all about Python integration, which I find nice after all. I have a somewhat outdated version of Stata since I’m no longer a Stata trainer for public and private companies, but I remain interested in how Stata is evolving.
2020-09-18: Not sure what data-oriented programming is but I bookmarked two posts the other day and I thought I could share them:- Data-oriented Programming in Python- An introduction to Data Oriented Design with Rust
2020-09-18: Yesterday I watched Alabama Monroe (The Broken Circle Breakdown). What an emotional bombshell!
2020-09-18: Introspective Emacs.
2020-09-18: The many Flavours of Missing Values. The eternal problem with NA values…
First, new features just keep being added, because how else would you justify releases? VS Code releases every month with new stuff! They are well past the point of shipping the essentials (and have been for a couple of years now), but releases are still been shipped. Because they have a team, that team has a huge budget to spare, and there’s no power stopping them from shipping anything, no matter important or not. There’s no filter. — The most important feature of Sublime Text
We all know that a languages like Ruby or Python are designed explicitly to hide this sort of complexity from us and let us get on with the dirty business of munging data blobs or serving web requests or solving sudokus or whatever, and thank goodness for that, but wow that is quite a lot, isn’t it? — Hello “Hello world!"
The underlying issue is the non-collapsibility of ORs and HRs. Non-collapsibility means that the conditional ratio is different from the marginal (unadjusted) ratio even in the complete absence of confounding (as in our example dataset below). By the way, don’t make the mistake of concluding that non-collapsibility is undesirable. Any measure that has the potential for summarizing a treatment effect with one constant for all types of patients will be non-collapsible when the outcome is categorical or represents time to event1. Collapsible measures such as absolute risk reduction and relative risk reduction must vary over risk factors (creating mathematical but not subject-matter-relevant interactions), otherwise probabilities will arise that are outside the allowable range of [0,1]. Log odds and log hazard ratios have an unlimited ranges and can possibly apply to everyone. This makes them good bases for studying heterogeneity of treatment effect. — Unadjusted Odds Ratios are Conditional.
2020-09-22: TIL about aoristic analysis (via Andrew P. Wheeler).
2020-09-22: Elfeed Rules!.
2020-09-22: Ubuntu VM on macOS with libvirt + QEMU.
2020-09-23: Nice review of old and new text editors: The Era of Visual Studio Code.> BBEdit, Emacs, and Vim are all great text editors in their own right, but they all have idiosyncrasies that (while beloved by people like me) prevent them from ever being the most popular text editor.
2020-09-23: Debugging R in VSCode.
2020-09-23: Panic’s Nova text editor (a review) (via Irreal).
2020-09-23: The Raspberry Pi 4B as a shiny server.
2020-09-24: Using Emacs and Org Mode. I still happen to find some interesting stuff in there.