2026/03/29

Newest at the top

2026-03-29 11:17:21 +0200Tuplanolla(~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) Tuplanolla
2026-03-29 11:16:59 +0200m2(~travltux@user/travltux) travltux
2026-03-29 11:16:05 +0200m2(~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-03-29 11:14:43 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 264 seconds)
2026-03-29 11:14:28 +0200wickedjargon(~user@2605:8d80:5430:307b:7709:a52d:ec9a:4662) wickedjargon
2026-03-29 11:14:18 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-03-29 11:14:05 +0200werneta(~werneta@71.83.160.242) werneta
2026-03-29 11:13:33 +0200hiecaq(~hiecaq@user/hiecaq) hiecaq
2026-03-29 11:10:47 +0200werneta_(~werneta@71.83.160.242) (Read error: Connection reset by peer)
2026-03-29 11:07:33 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) koala_man
2026-03-29 11:07:12 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-29 11:06:46 +0200m2(~travltux@user/travltux) travltux
2026-03-29 11:06:29 +0200m2(~travltux@user/travltux) (Quit: WeeChat 4.7.2)
2026-03-29 11:03:45 +0200Guest62(~Guest62@p200300ca8f23fa006ed0063bd1d9f371.dip0.t-ipconnect.de) (Quit: Client closed)
2026-03-29 11:00:49 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2026-03-29 10:58:43 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 268 seconds)
2026-03-29 10:57:29 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-03-29 10:57:21 +0200m2(~travltux@user/travltux) travltux
2026-03-29 10:57:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-03-29 10:55:50 +0200 <gentauro> xD
2026-03-29 10:55:46 +0200 <gentauro> and getting paid for your those (scoping is SO important). However, birds-eye-view is as important as well. If you can spot (early) something that is essential for the project to a succeed and somehow get that in (and other stuff out) you are a God among people
2026-03-29 10:53:50 +0200arandombit(~arandombi@user/arandombit) arandombit
2026-03-29 10:53:50 +0200arandombit(~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01) (Changing host)
2026-03-29 10:53:50 +0200arandombit(~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01)
2026-03-29 10:52:59 +0200 <[exa]> extracting the needs without the taint of wishes and assumptions, the holy grail of customer relations :D
2026-03-29 10:52:59 +0200 <gentauro> people always asked why I was doing it. Didn't I like code more. My answer was always: "Do you prefer that we bid on projects with the snake-oil sales reps?"
2026-03-29 10:52:19 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-03-29 10:52:18 +0200 <gentauro> all the consultancies I worked for, I was tech-sales dude
2026-03-29 10:51:48 +0200 <[exa]> yeah
2026-03-29 10:51:31 +0200 <gentauro> [exa]: the most diff thing to do is to actually show customers what they NEED and not what they want ;)
2026-03-29 10:51:14 +0200 <[exa]> tomsmeding: oh let me quickly fix this loop here......whoops now there's two of them
2026-03-29 10:50:50 +0200 <gentauro> once high-level is in place, we can begin to add attributes. Lets say for Person. We can also translate Person to a sumtype (Adult | Child and so)
2026-03-29 10:50:21 +0200 <[exa]> anyway the whole point was that the customers were not very computer friendly and they knew much better about what they did _not_ want, instead of the actual form of stuff that they wanted.
2026-03-29 10:49:18 +0200 <gentauro> it's always easier to tell customers: "Your suggestions is not sound" by showing that having to argue for ages
2026-03-29 10:49:17 +0200 <[exa]> yeah the point is that 99% of the usual programming job was the inconsistencies :D
2026-03-29 10:48:50 +0200 <gentauro> I normally sit in emacs (terminal ofc). Left part of screen is module for defining domain and right part is GHCi. We start basic and then CTRL+L (evaluate to GHCi). If there are any inconsistencies, Haskell WILL tell you
2026-03-29 10:48:25 +0200 <[exa]> gentauro: so the sotware kinda looked like a minimal set of actors (I was calling them "robots"), the robots ahd constraints ("must know this", "remembers this", "must not know this" because of security etc, "listens to requests from these guys"), and the "actions" were written usually as pre-conditions and post-conditions to avoid folks from starting to think about programs
2026-03-29 10:47:26 +0200 <gentauro> [exa]: «(they often imagined it wrong)» this comes to mind -> https://www.youtube.com/watch?v=BKorP55Aqvg
2026-03-29 10:45:35 +0200koala_man(~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 245 seconds)
2026-03-29 10:45:30 +0200 <[exa]> gentauro: anyway. :D back in the time when I was dealing with actual customers we didn't have much haskell (nor customer understanding for functional programming). So we did a roughly similar thing but with constraints and as little "concrete objects" as possible because customers tended to have opinions about anything they could imagine as materializable (they often imagined it wrong)
2026-03-29 10:44:37 +0200 <tomsmeding> I think you're just an infinite loop
2026-03-29 10:43:59 +0200 <[exa]> perhaps I'm undefined the whole time guys, you never know until you force it
2026-03-29 10:43:45 +0200tomsmedingblames [exa]
2026-03-29 10:43:35 +0200[exa]feels boxed
2026-03-29 10:43:01 +0200 <gentauro> xD
2026-03-29 10:42:57 +0200 <tomsmeding> lol
2026-03-29 10:42:48 +0200 <gentauro> [exa]: [exa]ctly !!!
2026-03-29 10:42:34 +0200xff0x(~xff0x@2405:6580:b080:900:fe0d:cc74:768c:fa68) (Ping timeout: 256 seconds)
2026-03-29 10:41:27 +0200arandombit(~arandombi@user/arandombit) (Ping timeout: 246 seconds)
2026-03-29 10:41:23 +0200merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)