Newest at the top
| 2026-03-29 11:14:28 +0200 | wickedjargon | (~user@2605:8d80:5430:307b:7709:a52d:ec9a:4662) wickedjargon |
| 2026-03-29 11:14:18 +0200 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-03-29 11:14:05 +0200 | werneta | (~werneta@71.83.160.242) werneta |
| 2026-03-29 11:13:33 +0200 | hiecaq | (~hiecaq@user/hiecaq) hiecaq |
| 2026-03-29 11:10:47 +0200 | werneta_ | (~werneta@71.83.160.242) (Read error: Connection reset by peer) |
| 2026-03-29 11:07:33 +0200 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) koala_man |
| 2026-03-29 11:07:12 +0200 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-03-29 11:06:46 +0200 | m2 | (~travltux@user/travltux) travltux |
| 2026-03-29 11:06:29 +0200 | m2 | (~travltux@user/travltux) (Quit: WeeChat 4.7.2) |
| 2026-03-29 11:03:45 +0200 | Guest62 | (~Guest62@p200300ca8f23fa006ed0063bd1d9f371.dip0.t-ipconnect.de) (Quit: Client closed) |
| 2026-03-29 11:00:49 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-03-29 10:58:43 +0200 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 2026-03-29 10:57:29 +0200 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-03-29 10:57:21 +0200 | m2 | (~travltux@user/travltux) travltux |
| 2026-03-29 10:57:19 +0200 | Lord_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 +0200 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-03-29 10:53:50 +0200 | arandombit | (~arandombi@2a02:2455:8656:7100:4dba:7f3:232c:4f01) (Changing host) |
| 2026-03-29 10:53:50 +0200 | arandombit | (~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 +0200 | merijn | (~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 +0200 | koala_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 +0200 | tomsmeding | blames [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 +0200 | xff0x | (~xff0x@2405:6580:b080:900:fe0d:cc74:768c:fa68) (Ping timeout: 256 seconds) |
| 2026-03-29 10:41:27 +0200 | arandombit | (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 2026-03-29 10:41:23 +0200 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-03-29 10:41:22 +0200 | <[exa]> | gentauro: so basically you agree with customers on the highlevel-ish types of all operations? |
| 2026-03-29 10:40:42 +0200 | <gentauro> | there is no implementation details, however, it's "very easy" to define the systems domain like that (Haskell enforce corretness and provides you with a nice AST you can then use to generate "boiler plate stuff") |
| 2026-03-29 10:40:35 +0200 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) koala_man |
| 2026-03-29 10:39:30 +0200 | <gentauro> | have any of you used this approach for domain-driven design (DDD) doing "real-time" defs with customers? https://paste.tomsmeding.com/cPSF7ANV |