# Load local environment file. # Since we want to not surprise the user, generate equivalent Make code that # sets each variable only if not already set via CLI envfile = build/make/env_from_file.make $(shell mkdir -p $(dir $(envfile)) && <.local/environment sed -nEe 's!([= ]+)=(.*)$$!export \1 ?= \2!p' > build/make/env_from_file.make) include $(envfile)
Notes
Why make websites simple ?
Cool Android stuff
A list of things i want to do in the long term
DNS resolution chain from my local system
Write libnotify notifications to file
TODO: Fork and write a proper build script for this https://github.com/erickloeckner/dbus-notifyd
The case for biparted project structure ( build/src )
I always structure my projects in two main directories: build and src. Build contains "dynamic", temporary, possibily auto-generated stuff. Src contains human-made stuff.
This policy is quite rigid, with very few carefully considered exceptions.
Why ?
Let’s say you want to take the lazy route and put everithing together without much regard.
Blogpost idea: dealing with bad containers
keyw::[blogpost]
Talk about: - containers that do not allow to mount config in a volume-friendly way examples: windmill, element-web
-
bad docker-compose practices: i.e. direct bind mounts
About OOP and theoretical technical righteousness
See Stroustup OOP. Because one influential person says something condivisible, it is that "right" ?
Models are just models
Standards are so only if they get largely accepted
Distinction among exobrain and blog
The Exobrain is a weakly structured blog without constraints on content.
The Blog is the place for curated essay-like documents. A blog post should be at least three paragraphs long. Paragraphs should be dense, about 10 periods. Incorporates a lot of qualities typical of essays.
A small glossary for the Web2.x platform
There is a lot of confusion among my peers about the web platform. What sources are authoritative to define e.g. microservices?
Installing programs trough the OS package manager is an anti-pattern
Custom UID mappings for rootless containers
Adding CoW capabilities to SQLite
-
Using BTRFS snapshots ?
-
Adds dependency on host system. May be necessary using a bundled BTRFS image. Is BTRFS-on-VFS supported ?
-
Apparently no, and for good reason:
link:https://btrfs.readthedocs.io/en/latest/Hardware.html#storage-model
With such configuration many assumptions BTRFS makes on storage will be broken. Data corruption guaranteed on the long term.
-
-
Someone built a SQLite-like DBMS with builtin CoW capabilities. Interesting, but not stable and thus not trustable.
Loading local environment files in a make process
Nix ecosystem criticalities
keyw:[nix, nixos]
Nix is a very interesting project that aims to solve fundamental issues of traditional package management systems. However itself presents some issues that makes its adoption difficult.
Graphite pencil’s hardness grades explained
Data from this web page.
La durezza di una matita è data dal tipo di mina, la sua anima in grafite, che ne influenza lo spessore e il colore del tratto. Una matita con mina più dura presenterà un tratto più chiaro e sottile, ma anche più difficile da cancellare, mentre una mina più tenera offrirà un tratto spesso e scuro, più facile da cancellare, ma si consumerà anche più in fretta. Esistono 2 tipi di scale per misurare la durezza di una matita, la scala britannica che utilizza le lettere e quella statunitense che utilizza invece i numeri. Nella tabella qui sotto si possono trovare entrambe le scale con alcune indicazioni sugli utilizzi più idonei.
Grado durezza |
Caratteristiche |
Utilizzo |
|
Britannico |
Statunitense |
||
9B |
Molto morbide, tratto nero |
Lavori artistici quali schizzi e bozze |
|
8B |
|||
7B |
|||
6B |
|||
5B |
|||
4B |
Abbastanza morbide, tratto nero |
Adatte al disegno a mano libera |
|
3B |
|||
2B |
#0 |
||
B |
#1 |
||
HB |
#2 |
Durezza media, tratto scuro |
Piuttosto versatili, adatte alla scrittura |
F |
#21/2 |
||
H |
#3 |
Mina dura, tratto grigio |
Indicate per il disegno tecnico |
2H |
#4 |
||
3H |
Piuttosto dure, tratto chiaro |
Idonea per progettazioni tecniche o grafiche a livelli avanzati |
|
4H |
|||
5H |
|||
6H |
Molto dure e con tratto molto chiaro |
Utilizzate per lavori di litografia, cartografia e xilografia |
|
7H |
8H |
La lettera H indica le mine più dure (hard) mentre la lettera B indica quelle più morbide (black, ad indicare il tratto più scuro). La lettera F (fine point) invece indica una via di mezzo, né troppo dura né troppo morbida, che, insieme alla HB, via di mezzo leggermente più morbida, è quella più indicata per l’utilizzo nelle scuole.
My gripes with NixOS
keyw:[nixos, package management, rant]
NixOS is a linux distribution based on Nix, a revolutionary package manager that fixes many fundamental issues of previous generation package managers such as APT and pacman.
While i myself am entusiastic about it, it has several issues that hinder its adoption, reducing it essentially to "Gentoo with extra steps":
-
nix cli utilities are badly designed
-
Too hard to downgrade packages
-
Not actually reproducible
-
Addressed by flakes?
-
Line wrapping
Hard wrapping is a must for every file to be processed by line-oriented software, like most unix tools or compiler.
Some files do not play well with hard wrapping (e.g git COMMIT_EDITMSG) or is not useful (ADOC files). [1]