Nix Milan | 126 Members | |
| https://milano.nix.pizza/ | 10 Servers |
| Sender | Message | Time |
|---|---|---|
| 8 Jun 2026 | ||
| * Sul topic specifico ti direi di dare un'occhiata a Designing Data Intensive Applications di Martin Kleppmann. È parecchio teorico, arriva a spiegarti come funzionano i page file sulle macchine su cui mysql scrive i binary log (o come funzionano le code, pacos, raft, tutto insomma), ma puoi andare a leggerti il capitolo che ti interessa | 17:14:23 | |
| 9 Jun 2026 | ||
| * Sul topic specifico ti direi di dare un'occhiata a Designing Data Intensive Applications di Martin Kleppmann. È parecchio teorico, arriva a spiegarti come funzionano i page file sulle macchine su cui mysql scrive i binary log (o come funzionano le code, paxos, raft, tutto insomma), ma puoi andare a leggerti il capitolo che ti interessa | 06:38:58 | |
| Top, grazie! | 07:45:47 | |
| 10 Jun 2026 | ||
| Ho bumpato a 26.06, mi ha minacciato di smettere di usare un initrd senza systemd che in 26.11 lo tolgono 😭 | 21:50:05 | |
| 11 Jun 2026 | ||
| Si questi argomenti prova a dare un'occhiata ai corsi su dbt e dlt. Tipo questi: https://learn.getdbt.com/courses/advanced-deployment https://dlthub.com/docs/general-usage/schema-evolution https://dlthub.com/docs/general-usage/schema-contracts | 06:09:34 | |
| si esatto. e io non so cosa è statao toccato nel bootloader ma mi si è bruciato grub, l'unica cosa che non posso revertare in un minuto | 06:47:51 | |
Download image.jpeg | 06:48:36 | |
| ieri ho fatto l'aggiornamento anch'io ma non ho ancora fatto il reboot, spero che non si spacchi nulla... | 06:56:00 | |
| in altre news ho visto che Firefox finalmente supporta mettere la cartella di configurazione in $XDG_CONFIG_HOME | 06:56:35 | |
| 13 Jun 2026 | ||
Ciao amici, sto facendo un flake per buildare libone che dipende da libtwo.libone e libtwo sono in due repo separati.Di base nessun problema, buildo e son contento. Ad una certa, voglio fare build incrementali per libtwo (per svilupparci sopra). Bellissimo, nix develop .#libtwo e son contento.Ora, il problema sorge se voglio build incrementali *sia* su libtwo che su libone.Ho pensato la cosa seguente: 1. Io mi buildo libone con nix develop e lo installo in una directory X (non in /nix/store).2. Poi, nel buildare libtwo, uso nix develop, però nella configurePhase faccio in modo che se è stata esportata una variabile d'ambiente OVERRIDE_libone_PATH allora invece che dipendere da libone nello store, dipendo da X.Tipo cmake -DLIBONE_PATH=$OVERRIDE_libone_PATH invece che -DLIBONE_PATH=${self.....libone}.Ha senso 'sta roba? Sto reinventando la ruota? Vorrie adottare la cosa per un progetto complesso che ha molto più di due repo. | 15:54:03 | |
* Ciao amici, sto facendo un flake per buildare libone che dipende da libtwo.libone e libtwo sono in due repo separati.Di base nessun problema, buildo e son contento. Ad una certa, voglio fare build incrementali per libtwo (per svilupparci sopra). Bellissimo, nix develop .#libtwo e son contento.Ora, il problema sorge se voglio build incrementali *sia* su libtwo che su libone.Ho pensato la cosa seguente: 1. Io mi buildo libone con nix develop e lo installo in una directory X (non in /nix/store).2. Poi, nel buildare libtwo, uso nix develop, però nella configurePhase faccio in modo che se è stata esportata una variabile d'ambiente OVERRIDE_libone_PATH allora invece che dipendere da libone nello store, dipendo da X.Tipo cmake -DLIBONE_PATH=$OVERRIDE_libone_PATH invece che -DLIBONE_PATH=${self.....libone}.Ha senso 'sta roba? Sto reinventando la ruota? Vorrei adottare la cosa per un progetto complesso che ha molto più di due repo. | 15:54:42 | |
| hmm cioè tu vorresti fare in modo che mentre ci stai lavorando sopra, cmake possa direttamente compilare libtwo in modo che quando vai a fare qualche cambiamento su libtwo hai già gli artifact intermedi della build incrementale in cache | 16:19:26 | |
| e se andassi a fetcharti il codice di libtwo come src della derivation di libone? | 16:20:04 | |
magari puoi usare srcs e in base ad un flag negli argomenti del package ci appendi libtwo https://nixos.org/manual/nixpkgs/stable/#variables-controlling-the-unpack-phase | 16:22:22 | |
| * hmm cioè tu vorresti fare in modo che mentre stai lavorando su libone, cmake possa direttamente compilare anche libtwo in modo che quando vai a fare qualche cambiamento su libtwo hai già gli artifact intermedi della build incrementale in cache | 16:33:55 | |
No, io vorrei che me le compilo separatamente ma libone invece che installarla nello store la installo in path nella mia home che poi uso come dipendenza quando buildo libtwo. | 16:56:34 | |
| Ah ok capito | 16:57:24 | |
| Potrei fare una mega derivazione unica, ma è sbatti. Se tengo le derivazioni separate come suggerivo, gli use case "build normale di nix" e "build incrementali a manina" rimangono molto simili (eccetto gli override sostanzialmente). | 16:57:28 | |
| 14 Jun 2026 | ||
| Di base è come se stessi ricreando uno /usr/lib in X giusto? | 08:04:09 | |
| 15 Jun 2026 | ||
Mmmmh, più /usr. È il prefix di installazione della build di libone. Ma non è un prefix globale (nel senso che X è solo per libone, non anche per libtwo). | 02:00:02 | |
| Hai provato a guardare https://nixos.wiki/wiki/CCache. Puoi fare override di stdenv per quelle due derivation e gli artefatti andranno in un punto comune di cui puoi anche monitorare lo stato e le statistiche | 06:18:14 | |
Penso che configuri il servizio su nixos o darwin etc (ccache.enable più il resto tipo la directory della cache e i permessi) e poiSe ha funzionato puoi fare ccache --show-statsCome bonus lo puoi usare anche per la configurazione, tipo per packages unfree non presenti nei substituter che devi sempre compilare oppure quando applichi patch con gli overlay | 06:24:01 | |
Gli hash sono gestiti separati. Nix ha il suo hash della derivazione intera (file sorgente + compilatore + ...), mentre ccache ha gli hash dei singoli file sorgente quindi li riusa se non cambi i file di libone | 06:28:57 | |
| Se non ti funziona la cache per qualche file leggi https://ccache.dev/manual/4.7.4.html#:~:text=sloppiness Tipo se hai usato __DATE__ nel codice allora l'hash di quell'artefatto cambierà ogni giorno, e ccache lo può evitare usando sempre lo stesso seed | 06:37:06 | |
| Ultima cosa: mozilla ha anche https://github.com/mozilla/sccache per avere cache distribuite su network | 06:42:57 | |
| CCache approaccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 07:38:13 | |
| Also, funziona solo con C/C | 07:38:40 | |
| * Also, funziona solo con C/C++, non funziona con progetti Python/TypeScript ad esempio | 07:38:54 | |
| * CCache approccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 08:06:06 | |
| Già già | 10:19:23 | |