news
Programming Leftovers
-
Alexandru Nedelcu ☛ Scala's Gamble with Direct Style
Yet, Scala 3, the language, does not move in the direction of more monadic IO, but rather in the direction of “direct style”, preferring continuations to monads, but without providing support for continuations out of the box. There are some attempts to fill that gap: [...]
-
Robin Schroer ☛ jj is the better Git CLI
Out of all the different Git interfaces out there I have used so far,1 the best one has been Magit. Where Magit excels for me is the staging interface and the ability to rewrite commits more easily. The former is not needed if there is no staging area. For the latter, Magit has a number of handy shortcuts based on interactive rebases, which is slightly quicker than the manual equivalents, but still quite brittle. I am a stickler for clean history, but even I find it difficult to convince folks to jump through the necessary hoops.
-
Ruben Schade ☛ Sysadmin work and design shouldn’t be so difficult
People get so hung up on using the latest and greatest that they never stop to consider (a) what it is they’re hoping to achieve with that approach, and (2) what they’re trading off for that additional complexity. Because it doesn’t need to be that hard.
-
R / R-Script
-
Rlang ☛ How to import Zotero files and convert the data into a bibliographic class
I got this question from a reader: How to import an RIS or bib-export file from Zotero (Reference Manager) and convert the data into a bibliographic class. Zotero is open access and its export cannot be read as easy as a Clavariate-bib export file. Some fields are missing, such as ID (Key in Zotero export) or CI for citations. Zotero does not extract this information and I do not need it.
-
-
Python
-
[Old] Python ☛ Happy 20th birthday Django!
On July 13th 2005, Jacob Kaplan-Moss made the first commit to the public repository that would become Django. Twenty years and 400+ releases later, here we are – Happy 20th birthday Django! 🎉
-
University of Toronto ☛ Argparse will let you have multiple long (and short) options for one thing
Argparse is the standard Python module for handling (Unix style) command line options, in the expected way (which not all languages follow). Or at least more or less the expected way; people are periodically surprised that by default argparse allows you to abbreviate long options (although you can safely turn that off if you assume Python 3.8 or later and you remember this corner case).
-
-
Golang
-
Redowan Delowar ☛ Lifecycle management in Go tests
Go gives you enough hooks to handle this with less ceremony. But it can still be tricky to figure out the right conventions for setup and teardown that don’t look odd to other Gophers, especially if you haven’t written Go for a while. This text explores some common ways to do lifecycle management in your Go tests.
Before we cover multiple testing scenarios, it’s useful to understand how Go’s test harness actually runs your tests.
-