!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

126 Members
https://milano.nix.pizza/10 Servers

Load older messages


SenderMessageTime
8 Jun 2026
@telegram_73824637:t2bot.ioAndrea CiceriPerò ha senso splittare08:47:42
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌domanda off-topic, purtroppo non strettamente su nix (chiedo qui perché se non erro qualcuno fa il cloud architect o comunque bazzica molto nel mondo dei servizi cloud) avete libri, risorse, persone, canali, video, etc da consigliare sulle architetture cloud? in particolare, le domande che ho sono piuttosto concrete. non tanto "quali strategie esistono per fare deployment di nuove versioni del software?", ma più "qual è il ciclo di vita del database in un a/b deployment?"15:22:19
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌non so se ho reso l'idea15:22:29
@telegram_524811522:t2bot.ioTonio GelaHo una risposta sulla domanda specifica, ma non saprei consigliarti una risorsa in generale. In generale un mix di cazziatoni dai senior, cazzate fatte e subite, pianti in reperibilità alle 02:00 di notte, googlamenti delle parole urlate da SRE incazzati insegna molto, ma ci vogliono tempo e soldi. Secondo me la soluzione è approcciare un problema alla volta, tipo il ciclo di vita del db in un deployment e non dimenticarsi i motivi per cui si è adottata quella soluzione. Anche assumere più senior e/o farsi assumere in un'azienda piena di senior aiuta.15:47:26
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌ok grazie, comunque utile!16:08:23
@telegram_524811522:t2bot.ioTonio GelaSul 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, ma puoi andare a leggerti il capitolo che ti interessa16:43:22
@telegram_524811522:t2bot.ioTonio Gela* 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 interessa17:14:23
9 Jun 2026
@telegram_524811522:t2bot.ioTonio Gela* 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 interessa06:38:58
@telegram_98204228:t2bot.ioAlessandro 🤔➖☀️🖌Top, grazie!07:45:47
10 Jun 2026
@telegram_7189191315:t2bot.iogeckoHo 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
@telegram_521866002:t2bot.ioGiacomo Debidda 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
@telegram_32436951:t2bot.ioDavidsi esatto. e io non so cosa è statao toccato nel bootloader ma mi si è bruciato grub, l'unica cosa che non posso revertare in un minuto06:47:51
@telegram_32436951:t2bot.ioDavidimage.jpeg
Download image.jpeg
06:48:36
@telegram_176121111:t2bot.ioFrancescoieri ho fatto l'aggiornamento anch'io ma non ho ancora fatto il reboot, spero che non si spacchi nulla...06:56:00
@telegram_176121111:t2bot.ioFrancescoin altre news ho visto che Firefox finalmente supporta mettere la cartella di configurazione in $XDG_CONFIG_HOME06:56:35
13 Jun 2026
@telegram_7189191315:t2bot.iogecko 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
@telegram_7189191315:t2bot.iogecko * 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
@telegram_176121111:t2bot.ioFrancescohmm 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 cache16:19:26
@telegram_176121111:t2bot.ioFrancescoe se andassi a fetcharti il codice di libtwo come src della derivation di libone?16:20:04
@telegram_176121111:t2bot.ioFrancesco 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
@telegram_176121111:t2bot.ioFrancesco* 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 cache16:33:55
@telegram_7189191315:t2bot.iogecko 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
@telegram_176121111:t2bot.ioFrancescoAh ok capito16:57:24
@telegram_7189191315:t2bot.iogeckoPotrei 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
@telegram_165995843:t2bot.ioNonno FeliceDi base è come se stessi ricreando uno /usr/lib in X giusto?08:04:09
15 Jun 2026
@telegram_7189191315:t2bot.iogecko 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
@telegram_5487741145:t2bot.ioLuca 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
@telegram_5487741145:t2bot.ioLuca Penso che configuri il servizio su nixos o darwin etc (ccache.enable più il resto tipo la directory della cache e i permessi) e poi
libone = pkgs.libone.override { stdenv = pkgs.ccacheStdenv; };
libtwo = pkgs.libtwo.override { stdenv = pkgs.ccacheStdenv; };
Se ha funzionato puoi fare ccache --show-stats
Come 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
@telegram_5487741145:t2bot.ioLuca 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
@telegram_5487741145:t2bot.ioLuca 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

Show newer messages


Back to Room ListRoom Version: 10