Segregatie in Netherland

society, segregation

Ha! Some proof for one of the first observations I did when I went to university: why doesn’t anyone know any non-students? My own high school friends all went to university, and this seemed to be true for nearly everyone else. I recall asking a (heterosexual male) friend, doing maths, how we could possibly get into contact with, for instance, policewomen, and break out our social circle a little. Nobody seemed interested in that idea, and nobody in my acquaintance circle has shown much interest in the observation since. It always seemed limiting to me. I’ve since married another national, lived abroad, so have some experience breaking through (I’ve been that immigrant, I observed the same in France). Now speaking with some former study mates, they seem very Dutch, and seem not to know anyone outside of largely the same circle as where they were 15 years ago, while I of course have been contaminated with all sorts of foreign habits, although still people I met through university and thus in the same ‘class’.


Fiddleware and QA

matrix, quality assurance

Last week a very familiar experience made it to the HN frontpage: The Matrix Trashfire. When I was looking into alternatives for Slack for the Arbor community, I ran basically into the same things. At the time, I just wanted to derive the quickest path to success so I could share it with my team mates. I wanted it to work after all, because, on paper, Matrix just seems like such a good idea. Somewhere in the comments a person describes Matrix as fiddleware, which I really like. We all ran into missing keys and non-working backups on Matrix I think!

The post puts the experience in a different perspective though, and indeed, it’s great that the Matrix people are in contact with the author to smooth out some of the experience. I guess I do QA a lot without calling it that: trialling some new tool comes down to the same, and I even frequently make notes about the most important gotchas. So, I’ll use this term now to describe some of my qualities and requests. We all know and use systems that could do with a similar write-up.


Hugo

site, code

Hurray, this website has endured and survived another change in backend! This time, I’ve switched from Gostatic to Hugo. Initially a piece of PHP which I’ve forgotten the name of, later Wordpress, then Nanoc, Gostatic, Jekyll, Gostatic again and now Hugo. The hardest part is always my archive page, which lists all pages and tags and pages in each of those tags. For some reason most blog software wants to generate separate pages for tags… Yuk.

It was relatively simple, since there was no changed in templating language, but there was some getting acquinted with Hugo-isms. Why did I do this? I like Gostatic because it is quite simple and compact, and I’ve even submitted a PR in the past. I switched because I’m writing a new website and since I’m not very good at that, I like to steal themes to save some time. Tools with larger userbases tend to have large numbers of themes, tooling, examples, etc., and Hugo seems to have gotten quite big in the past few years. On Jamstack they’re number 1 (I wanted to stick to a tool written in Go or Python) and for that other website I could find a theme of my liking for Hugo. Setting that up was rather pleasant, so I thought I’d switch too!

In technical terms Hugo seems to be quite flexible and has every feature I wanted (and more). Also: available on pip, and therefore executable on Macos where admins have locked app exercution to notarized executables (Apple’s python obviously is greenlighted).

Another interesting thing I’ve discovered is that Netlify, the place I host my websites, now has drag’n’drop deploy. Wait! That sounds terrible, but it isn’t! You can just drop a single zip file of your website on the browser, and have it ‘deployed’. I only every used their git integration (which is still there) because I don’t want to use their own CLI. It’s nice to be able to generate a site locally and still be able to deploy without any special tools or complicated procedures. Executing Hugo, creating the zip can be scripted, and a nonexpert can be instructed to doubleclick that script and drag and drop the zip if they have updated something. Much better than going through git.

So, as of this post, this website is coming to you through a zipball!


De Bieb

library, history, personal

Drie jaar geleden publiceerde het CBS een artikeltje over de gemiddelde afstand tot de bibliotheek. Nu eens geen kritische blik op de methodologie, maar een brainwave over wat de bieb is geweest voor mij.

Allereerst kwamen als eerste herinneringen over waar de bieb is geweest. Het is een gebouw met daarin boeken, waar je af en toe heen gaat. In mijn studietijd zat ik vooral in de universiteitsbieb, daarna ben ik er eigenlijk nooit meer geweest. Die e-boeken ook… Nouja, ik koop nu veel vaker boeken dan toen, maar wel eigenlijk altijd via internet. Naar de bieb om het lekkere lezen, dat is dus iets van voor mijn studie, mijn kindertijd. Mijn ouders, en ik denk mijn vader, hebben ons altijd regelmatig (elke drie weken) naar de bieb gebracht, en ik las heel wat af. In mijn herinneringen nam ik elke drie weken zeker 10 boeken mee. Series maken dat makkelijk: eerst heel Kameleon, Wolf, later alle Star Wars, en vanalles wat ik vergeten ben. Ook nog wel strips toen ik eind basisschool was geloof ik. Ik vergeef het mijn vader nooit dat hij zijn oude Eppo’s, die ik nog heb gelezen, daarna weg heeft gegooid. Was leuk geweest voor mijn kinderen, de derde generatie die er van had kunnen genieten 😀.

Waar was die bieb dus? Aan die van Halfweg heb ik geen actieve herinnering. Uitgeest ook maar vaagjes (de speelgoedwinkel, die weet ik nog wel voor de geest te halen). Het best en misschien dus het meest ben ik in de bibliotheken van de Zaanstreek geweest, die nog steeds de prachtige domeinnaam debieb.nl hebben. Assendelft had er geen (of ging dicht rondom de tijd dat wij er kwamen, net zoals het zwembad). Nou, dat zeg ik nu, Assendelft is inmiddels 4x zo groot als toen, wie weet staat er een nieuwe in de VINEX wijk. In elk geval, naar Krommenie gingen wij, volgens mij eerst nog aan de andere kant van de Rosariumlaan dan nu. Over wat toen nog het eerste zonnepanelenpad van de wereld moest worden.

De bieb heeft zich ook altijd verplaatst, nu ik erover nadenk. Want hij heeft ook aan een derde kant van de rotonde gezeten. Maar wacht, we zijn er nog niet. Een tijd lang moesten we naar Zaandam; hij was helemaal dicht in Krommenie. Ik herinner me een enorme afstand, en als ik nu op de kaart kijk moet het bij de bowlingbaan aan de Vermiljoenweg zijn geweest. Dat was een echte katedraal, al geld dat voor bijna alle bovenstaande locaties als ik ze voor de geest probeer te halen. Hier heb ik eens een boek over Age of Kings geleend, wat wij toen allemaal zeer serieus speelden.

Bijzonder, maar toch vertrouwd vond ik het toch elke keer weer, een bezoek aan de bieb. Niet dat ik er verder heel diep over nadacht, ik zocht meestal naar een nieuw deel Star Wars ofzo, maar het was echt een third place. Een waar we regelmatig, maar niet elke week heen gingen.

Zo met die kaart (OSM natuurlijk) open, speur ik eens rond over de gebieden waar ik geweest ben. Eerste rijles, dat parkeerterrein. Een fietstocht met school naar het Twiske. Over het Guispad naar school. Uit in Zaandam. Het toneel daar met mijn ouders. De busbaan die een gewone weg werd. Het onderzoek dat ik met een klasgenoot deed naar lantaarns die in elke straat anders waren. Hoe ik in sommige wijkjes nog nooit geweest ben, maar wel weet hoe het eruit ziet vanuit de trein. Hoe we opa en oma eens ophaalden op een station dat niet meer bestaat (vooruit, het is een kilometer verschoven). Hoe de woonmall kwam en ging. M’n krantenwijk in het Wijver, waarme ik een 160GB schijf kocht.

Volgens mij word ik oud.


Python packaging 2

python, code

Despite me having published Definitive Guide to Python packaging back in 2016 (a fact I’ve forgotten myself as far back as 2019, because since then I’ve been using cx_Freeze for par2deep), a better resource for Python packaging came across my screen today: “Why not tell people to “simply” use pyenv, poetry or anaconda”.

There is great wisdom in this post, and I recognize much of it, having worked with tinkerers before. I used to tinker much more than I do now, because tinkering costs time that I don’t have, something that is basically equivalent to the author’s observation that most are far too busy checking out your new toy. Today even more than before I work in a ‘hostile’ environment, where the sysadmin is very much not your ally, and you’re going to work around limitations and therefore appreciate solutions that keep their list of requirements short. No brew for me, no conda, no installing anything outside of pip, and not even that (topic for another post). Failure modes cascade: indeed! For Arbor and my personal packages we decided to stick to solutions that require the least from the user, and I fought tooth and nail for wide Python-version support, neatly in line with the post, and worked hard to provide binary wheels. As any non-dev-dev knows: having to compile things is a recipe for quickly escalating problems.

I just wanted to add a few things: