2025/05/16

Newest at the top

2025-05-16 21:10:30 +0200 <Rembane> Vendoring? Few dependencies?
2025-05-16 21:10:08 +0200 <__monty__> Just with a big batteries included stdlib I assume.
2025-05-16 21:10:07 +0200natto17(~natto@129.154.243.159) natto
2025-05-16 21:09:50 +0200sprotte24_(~sprotte24@p200300d16f1bca002ca617d70fcb63bb.dip0.t-ipconnect.de)
2025-05-16 21:09:37 +0200 <EvanR> a lot of libraries are embedded in its git repo?
2025-05-16 21:09:24 +0200 <EvanR> wait how goes go solve it?
2025-05-16 21:09:11 +0200 <wbrawner> yeah I agree that it's a tooling problem, it's just nice that go solves this out of the box so I don't need to go hunting for solutions
2025-05-16 21:08:32 +0200natto17(~natto@129.154.243.159) (Ping timeout: 244 seconds)
2025-05-16 21:07:40 +0200tromp(~textual@2001:1c00:3487:1b00:a44a:50e6:3df5:3b66) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-05-16 21:06:32 +0200 <monochrom> If you're interviewing augustuss (yeah fat chance, I know), be sure to up the game with "write a haskell compiler now. on the whiteboard." >:)
2025-05-16 21:06:06 +0200 <EvanR> space = punctuation = roguelike nethacks
2025-05-16 21:05:05 +0200 <EvanR> and wasn't just me
2025-05-16 21:05:01 +0200 <EvanR> ok so that one wasn't because they needed an editor to be written as part of the job
2025-05-16 21:04:50 +0200 <Rembane> __monty__: Imagine whitespace, but with punctuation instead.
2025-05-16 21:04:49 +0200epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2025-05-16 21:04:31 +0200 <monochrom> I mean we heard enough rumours about "write an editor now. on the whiteboard." so why not a CSV library too. :)
2025-05-16 21:04:15 +0200 <__monty__> "In whatever pseudo code you want, but I *will* complain about missing ;'s."
2025-05-16 21:03:59 +0200 <EvanR> that sounds to real
2025-05-16 21:03:41 +0200 <monochrom> It could be worse. Consider an in-person job interview in which "write aeson now. on the whiteboard."
2025-05-16 21:03:32 +0200 <EvanR> but I was hoping it didn't boil down to "would rather not reuse reusable code" which is often the case in C
2025-05-16 21:03:20 +0200remexre(~remexre@user/remexre) (Remote host closed the connection)
2025-05-16 21:02:31 +0200 <EvanR> not having the data limit or throughput or battery is an issue, but the fix for that is not to stop and rewrite aeson on the plane
2025-05-16 21:02:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-05-16 21:02:15 +0200 <__monty__> Versus a couple dependencies that are hundreds of thousands of lines each?
2025-05-16 21:02:13 +0200 <monochrom> Oh, stack and cabal cache what they can. Especially downloads.
2025-05-16 21:02:05 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-05-16 21:01:19 +0200 <monochrom> __monty__: It could be worse. Consider a million dependencies and for each you only use one line of code.
2025-05-16 21:01:14 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-05-16 21:01:09 +0200 <__monty__> Like, those are tooling problems not transitive dependency problems.
2025-05-16 21:00:55 +0200 <__monty__> wbrawner: Pnpm solves that though.
2025-05-16 21:00:44 +0200 <EvanR> stack!
2025-05-16 21:00:41 +0200caconym7(~caconym@user/caconym) caconym
2025-05-16 21:00:32 +0200 <wbrawner> does stack cache dependencies outside of the project dir then? e.g. node stores them all in node_modules within the project dir, so if I build one node project and then try to build another project offline that shares the exact same dependencies, it'll fail because it can't pull them
2025-05-16 21:00:31 +0200 <__monty__> monochrom: Monolithic dependencies that you only use a fraction of sound worse when bandwidth is limited.
2025-05-16 21:00:17 +0200 <monochrom> (Try depending on aeson when you're on an airplane. >:) )
2025-05-16 21:00:03 +0200caconym7(~caconym@user/caconym) (Quit: bye)
2025-05-16 20:59:51 +0200 <monochrom> If you're travelling, you drain both your data plan and your laptop battery. >:)
2025-05-16 20:59:20 +0200 <EvanR> using
2025-05-16 20:59:12 +0200 <monochrom> Oh we're the worst of both worlds. We pull source code and build.
2025-05-16 20:59:10 +0200 <EvanR> so I'm not pulling a git repo for each library I'm suring
2025-05-16 20:59:05 +0200 <__monty__> From source or not doesn't actually make a difference. Transitive does mean non-direct dependencies to me, yeah.
2025-05-16 20:58:52 +0200 <EvanR> it builds them all from source for me, but only the first time. And it's automated
2025-05-16 20:58:45 +0200 <wbrawner> I was under the impression haskell did the same
2025-05-16 20:58:39 +0200 <wbrawner> e.g. when i run `go build` it will build all of my dependencies (so the transitive dependencies too) and then build my code last
2025-05-16 20:57:43 +0200 <wbrawner> haskell doesn't pull binaries for dependencies does it?
2025-05-16 20:57:30 +0200 <wbrawner> go builds from source afaict, just like cargo and I thought haskell too
2025-05-16 20:57:26 +0200j1n37-(~j1n37@user/j1n37) (Quit: Ich bin der Welt abhanden gekommen)
2025-05-16 20:57:15 +0200 <EvanR> that can't be right
2025-05-16 20:57:12 +0200 <wbrawner> transitive dependencies meaning dependencies of my dependencies, right?
2025-05-16 20:57:02 +0200 <EvanR> in go you download transitive dependencies manually?