Weeklog for Week 4: January 24 to January 30
Progress
Did quite a lot of work and some extra things.
Python function arguments
Did you know that Python has keyword-only parameters and position-only parameters.
The first, keyword-only parameters, mean that a parameter must be specified with its name in a function call, it cannot be positional. They exist since 2006 in Python 3.0 and are defined in PEP-3102.
The latter, position-only parameters, can not be specified with their name in a function call, they must be specified through their position. These exist only since 2018 in Python 3.8 and were defined in PEP-0570.What's in the name?: Using / as a separator was initially proposed by Guido van Rossum in 2012 (8): "Alternative proposal: how about using '/' ? It's kind of the opposite of '*' which means "keyword argument", and '/' is not a new character."
Syntax is this:
* kw-only: def something(a, b, c, *, named="only")
* position-only: def something(must, be, positional, /, named="ok")
* combined def combined(pos_only, /, standard, *, kwd_only):
How to install a PyPy kernel in a Jupyter server
apt update
apt install python3-dev pypy3-dev
apt install pypy3
apt install --no-install-recommends python-pip-whl python3-pip
pypy3 -m venv pypy3
source pypy3/bin/activate
pypy3 -m pip install --force-reinstall pip pep517
pypy3 -m pip install ipykernel
ipython kernel install --user --name=PyPy3
PlantEd
No progress.
NTS
We had planned to do an implementation of The Algorithm but had to postpone to next week. I'm confident it'll work.
Articles
- It’s alive: The groundbreaking research on the microbes in wildfire smoke -- Grist: Surprisingly, smoke is not sterile. The human-interest story surrounding this isn't that interesting.
- The Evolution of Trust: A great interactive visualization of and playground for strategies on the prisoner's dilemma.
- The secrets behind the life (and death) of Titanic’s propeller guy – vfxblog
- Nintendo Switch game cartridges taste offensively bad, trust us (update) - Polygon: Alright, so Switch cartridges are coated with Denatonium Benzoate, which should keep children from swallowing them. It is so nice that they thought of that angle and then actually spent money on it -- without ever telling anyone.
- Lights at sea: A super-accurate map on lighthouses in Europe.
- A beer can pinhole camera captures 8-year's worth of sunrises and sunsets - DIY Photography
- How Much did a Tunic Cost in the Roman Empire? – Book and Sword
- Crows may soon be Sweden's newest litter pickers - The Local: I want to do something like that when the house is done.
- Becoming A Whorelord: The Overly Analytical Guide To Escorting – Knowingless
- Short Fiction: Quantum Roulette - by Mark Newheiser: Tricking the world by using the many-worlds hypothesis. I like the story, but I'm quite sure the underlying assumption is wrong. In my imagination, the many worlds hypothesis does not mean that one can choose which world exists by destroying other worlds. What it means to me is that these other worlds potentially exist, and the waveform collapse means the other potential worlds cease to exist and only the one world exists. This means that you cannot select the outcome, because there is only one outcome. It's like saying you've won the lottery because potentially when the numbers are drawn tomorrow, you might win. Once the numbers have been drawn, you'll see what they collapsed into.
- Short Fiction: The Library of Eristat - by Mark Newheiser: I'd like to read the rest of this, please.
- People don't work as much as you think
- Why doesn't the Falcon-9 first stage use three legs to land? - Space Exploration Stack Exchange
- Counter-intuitive results in OR - Operations Research Stack Exchange
- John Locke’s recipe for Pancakes -- Cooking in the Archives: cookin' like it's 1685!
- ImportYeti: Find out about supply chains of american companies.
Libraries, programming, etc
- PanWriter: another markdown editor
- Terraforming Mars with Python. Bring dead worlds to life with… -- by Adam Symington -- Jan, 2022 -- Towards Data Science: Playing with maps is always nice, and I'd love to learn how to do that better. Even though, in the end it seems to come down to "here is a huge numpy array of numbers we've got from somewhere".
- jOOQ/sakila: The Sakila Database: I'm always looking for good example databases, and this definitely is one.
- What’s the Meaning of Single and Double Underscores In Python? -- by Ahmed Besbes -- Jan, 2022 -- Towards Data Science
- Procrastinate: PostgreSQL-based Task Queue for Python — procrastinate documentation: This might be nice for small-ish django projects.
Books
- Necronomnomnom, I did get my copy. It's gorgeous, even if slightly impractical.
- The Fourth Bear by Jasper Fforde: another very fantastical book filled with loads of puns and great humor. It is sometimes a bit hard to follow without having grown up with all of English children's literature, but very enjoyable nonetheless. The resolution at the end is also very satisfying. One of the things that Mr Fforde does is that the starts adding traces of characters and events into the narrative a few chapters before they appearYes, yes, all good authors do this and it's called "foreshadowing". This gives the reader a nice little recognition moment and the thought of "why didn't I notice it'd go this way". I like that!
Also, I've immediately put The Constant Rabbit on my reading list.
And finally, I noticed that the successor to Shades of GreyNo, not that shades of grey, the good Shades of Grey has a publishing date = August 2022. Hooray!
Games
- Nurose: it's a neat little experiment, where you build your weapons with a graphical code language. I like the direction this is taking it, even though there is still a long way to go.
- Total Annihilation: TITANS with Dominik: The game itself is deep and hectic and complicated, just like an RTS must be. It's a bit weirdly balanced with the planet-buster weapons that make a huge impact and cannot be stopped, which ended both games we played. Or maybe we are just figuring it out? Anyway, it's possible to recover from such a shock by playing harder, which is kind-of nice.
- Golf Club Wasteland: What a strange game! You play golf through a post-apocalyptic wasteland, while a radio channel tells you stories of life on Mars and plays "contemporary" music. What a strange game!
Backlog
- Cloudpunk, from waitlist
- The Forgotten City, from waitlist
- Mafia, from Humble Choice
- Between the Stars, from Humble Choice
- Rustler, from Humble Choice
- Snowrunner, from Waitlist
Recipes
- Lasagna Cupcakes, this is an idea I wanted to try for a long time, and now I finally did. They are amazing and I'll have to make them again. Which is also quite unfortunate, since they were a lot of work. Here's a recipe.