Logs: freenode/#haskell
| 2021-04-06 15:02:31 | <tdammers> | 90% of all problems in "haskell in industry" code are the fault of acid-state. or servant. |
| 2021-04-06 15:02:35 | tdammers | runs away |
| 2021-04-06 15:02:44 | <merijn> | tdammers: Probably true |
| 2021-04-06 15:03:16 | <maerwald> | most of the engineering hours went into either debugging performance issues or buying more ram or into solving problems that don't exist in actual database systems |
| 2021-04-06 15:03:43 | <merijn> | Most people excited about acid-state should really just want SQLite |
| 2021-04-06 15:03:47 | <maerwald> | because someone in the beginning thought: hey, it might be cool if we... |
| 2021-04-06 15:04:11 | × | haskellstudent quits (~quassel@213-225-9-45.nat.highway.a1.net) (Ping timeout: 240 seconds) |
| 2021-04-06 15:04:28 | <maerwald> | and like always... the guy didn't stay long enough to see all of the fallout of their decisions :) |
| 2021-04-06 15:04:38 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-04-06 15:04:56 | <_d0t> | ohai! I'm getting HLS to segfault on my project. How do I even begin with debugging it? 0_o |
| 2021-04-06 15:04:59 | <tdammers> | merijn: IMO, anyone who isn't using postgresql and cannot explain in under 100 words why not should be using postgresql |
| 2021-04-06 15:05:24 | <merijn> | tdammers: "managing a server is a hassle" :p |
| 2021-04-06 15:05:28 | <maerwald> | tdammers: "event sourcing is cooler"? |
| 2021-04-06 15:05:43 | <maerwald> | (tbf, you can bolt it onto a postgresql database anyway) |
| 2021-04-06 15:05:45 | <shapr> | _d0t: did you install from ghcup? |
| 2021-04-06 15:05:47 | <tdammers> | apt install postgres; createdb whatever; psql whatever # there, you just "managed a server" |
| 2021-04-06 15:05:55 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 2021-04-06 15:06:00 | <_d0t> | shapr: nope. I tried both nixos version and the last git build. |
| 2021-04-06 15:06:03 | <merijn> | tdammers: That requires me to have a machine |
| 2021-04-06 15:06:06 | <shapr> | _d0t: also, you could ask on the #haskell-language-server IRC channel, sometimes it's more active |
| 2021-04-06 15:06:11 | × | malumore quits (~malumore@151.62.116.133) (Ping timeout: 268 seconds) |
| 2021-04-06 15:06:14 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-04-06 15:06:21 | <_d0t> | ah didn't know it was a thing |
| 2021-04-06 15:06:22 | <merijn> | tdammers: I can run SQLite anywere :p |
| 2021-04-06 15:06:23 | <shapr> | _d0t: you get the same segfault from both? that sounds like a bug to me |
| 2021-04-06 15:06:36 | <_d0t> | shapr: dunno about the "same", but both do segfault |
| 2021-04-06 15:06:47 | <tdammers> | merijn: "I have to run on a machine where I can't install anything" would be a valid excuse, I guess |
| 2021-04-06 15:07:02 | <shapr> | _d0t: do you get a segfault from any project? |
| 2021-04-06 15:07:13 | <_d0t> | shapr: doesn't seem so |
| 2021-04-06 15:07:23 | <_d0t> | shapr: but it seems restricted to only ghc 8.6.5 |
| 2021-04-06 15:07:25 | <merijn> | tdammers: How about: "I wanna treat my database as an application file format" and "I want to easily archive, share, and distribute my database"? :p |
| 2021-04-06 15:07:45 | <shapr> | _d0t: are you able to try a later version? perhaps 8.10.4 ? |
| 2021-04-06 15:07:58 | <tdammers> | merijn: those would work too. |
| 2021-04-06 15:08:01 | <_d0t> | shapr: not with this project. But I tried with another one and it worked. |
| 2021-04-06 15:08:08 | <shapr> | I don't remember whether HLS 1.0 supports 8.6.5 |
| 2021-04-06 15:08:10 | <tdammers> | though one could arguably share psql-dumps |
| 2021-04-06 15:08:11 | × | tomboy64 quits (~tomboy64@unaffiliated/tomboy64) (Ping timeout: 240 seconds) |
| 2021-04-06 15:08:16 | <_d0t> | shapr: it does |
| 2021-04-06 15:08:19 | <shapr> | oh good |
| 2021-04-06 15:08:34 | <_d0t> | in fact, it's the oldest supported version rn |
| 2021-04-06 15:08:35 | <tdammers> | but yeah, if you want to use it as an application file format, then that's smack in the middle of sqlite's design space |
| 2021-04-06 15:09:02 | <infinisil> | Is there a good `Arbitrary Value` somewhere? Where Value is from aeson |
| 2021-04-06 15:09:05 | <shapr> | _d0t: did you generate your own hie.yaml ? |
| 2021-04-06 15:09:13 | <merijn> | tdammers: My flowchart is usually: "I need a database" -> 'Will SQLite work? If yes, then SQLite. If no, then are you sure?' -> "Yes, I'm sure" -> 'Ok, use postgres' :p |
| 2021-04-06 15:09:25 | <_d0t> | shapr: yup |
| 2021-04-06 15:09:47 | <shapr> | _d0t: if you're using hls 1.0 does it work without a generated hie.yaml ? |
| 2021-04-06 15:10:04 | <_d0t> | shapr: lemme check |
| 2021-04-06 15:10:04 | <shapr> | that is, does the implicit cradle succeed? |
| 2021-04-06 15:10:06 | <maerwald> | merijn: I had to migrate at least once from sqlite to postgresql, so I start with postgresql too |
| 2021-04-06 15:10:15 | <tdammers> | merijn: same for me, except the other way around. |
| 2021-04-06 15:10:23 | <maerwald> | even if it's not the optimal decision, it's not a problem |
| 2021-04-06 15:10:42 | <tdammers> | maerwald: the key is to realize that you need to up your game early, when switching DBMS isn't too painful yet |
| 2021-04-06 15:10:47 | <merijn> | maerwald, tdammers: Maybe I would too in a company setting where we had servers anyway |
| 2021-04-06 15:11:08 | <tdammers> | and yeah, if "having a server" is an issue, then I can totally understand your choice |
| 2021-04-06 15:11:14 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
| 2021-04-06 15:11:17 | <merijn> | But for my personal code that's generally "application running on one machine, not networked" SQLite is a much more sensible default |
| 2021-04-06 15:11:18 | <tdammers> | for me, "database is locked" is more of a show stopper |
| 2021-04-06 15:11:38 | <tdammers> | most of my stuff is networked in some way anyway |
| 2021-04-06 15:11:49 | <merijn> | And the ability to just SCP a file from my laptop to a remote server/etc. is a feature |
| 2021-04-06 15:12:40 | <infinisil> | Oh, found the answer myself, there's an Arbitrary Value in aeson itself: https://github.com/haskell/aeson/blob/master/tests/Instances.hs#L170 |
| 2021-04-06 15:12:50 | → | Deide joins (~Deide@217.155.19.23) |
| 2021-04-06 15:12:57 | <maerwald> | I could see using sqlite in desktop apps or other tools. It's cheap, why store config etc in files? |
| 2021-04-06 15:13:08 | <maerwald> | but for backend I don't find it too appealing |
| 2021-04-06 15:13:14 | <merijn> | maerwald: Right, that's the sorta thing I'm thinking |
| 2021-04-06 15:13:34 | <merijn> | maerwald: But even for backend stuff it'd be better than acid-state :p |
| 2021-04-06 15:14:03 | → | barthandelous joins (~calebbrze@2600:1007:b0a1:3aa7:b579:e4ea:b055:38a9) |
| 2021-04-06 15:14:30 | <shapr> | _d0t: my hope is that the hie.yaml is confusing hls, but it still shouldn't segfault |
| 2021-04-06 15:14:31 | → | LKoen joins (~LKoen@65.250.88.92.rev.sfr.net) |
| 2021-04-06 15:14:32 | <_d0t> | shapr: it started, but then it began running the build via cabal+nix, and I'm not gonna wait for that |
| 2021-04-06 15:14:42 | <shapr> | _d0t: you may have to |
| 2021-04-06 15:14:51 | <shapr> | I mean |
| 2021-04-06 15:15:02 | <shapr> | If you haven't already built the project, hls will do that for you |
| 2021-04-06 15:15:05 | <_d0t> | shapr: not sure it's a good idea. It's gonna take quite a while. Is it possible to force hls to use stack? |
| 2021-04-06 15:15:18 | <shapr> | I don't know, sorry |
| 2021-04-06 15:15:37 | <shapr> | At work we use stack without nix for building, hls is okay with that |
| 2021-04-06 15:15:46 | <shapr> | at home I use cabal+nix |
| 2021-04-06 15:15:57 | <_d0t> | shapr: yeah, I do this to. But here without hie.yaml hls reverts to cabal. |
| 2021-04-06 15:16:09 | <shapr> | that's surprising |
| 2021-04-06 15:16:26 | <shapr> | oh wait, at work I've always generated my own hie.yaml |
| 2021-04-06 15:16:36 | <_d0t> | and now it tries to build ghc from source |
| 2021-04-06 15:16:41 | <_d0t> | nope, definitely not going this way |
| 2021-04-06 15:16:42 | <shapr> | and at home I never do, and I always use cabal+nix at home |
| 2021-04-06 15:16:45 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 2021-04-06 15:16:46 | <shapr> | _d0t: ok that's bad |
| 2021-04-06 15:17:11 | <shapr> | _d0t: I'd suggest reporting a bug on github or joining #haskell-language-server and asking one of the devs |
| 2021-04-06 15:17:15 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds) |
| 2021-04-06 15:17:16 | <_d0t> | ok |
| 2021-04-06 15:17:20 | <shapr> | I'm just an excited user :-) |
| 2021-04-06 15:17:21 | <_d0t> | thanks! |
| 2021-04-06 15:18:04 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-04-06 15:18:04 | <tdammers> | merijn: re scp, if you can have postgresql databases on both ends, with unix auth, then it's almost as easy: psql-dump thedatabase | ssh theserver psql thedatabase |
| 2021-04-06 15:18:25 | <merijn> | tdammers: Now I have to manage *double* the number of servers! |
| 2021-04-06 15:18:37 | × | barthandelous quits (~calebbrze@2600:1007:b0a1:3aa7:b579:e4ea:b055:38a9) (Ping timeout: 252 seconds) |
| 2021-04-06 15:19:08 | <tdammers> | well, all my computers basically have postgres clusters running on them anyway, so the overhead is absolutely minimal |
| 2021-04-06 15:19:18 | <maerwald> | merijn: hire a nix engineer, they'll do it for you |
| 2021-04-06 15:19:42 | <tdammers> | but my use cases are different. I need multiple concurrent connections pretty much from day 1 in most projects |
| 2021-04-06 15:21:07 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 2021-04-06 15:21:19 | × | raym quits (~ray@115.187.32.14) (Quit: leaving) |
| 2021-04-06 15:22:22 | <merijn> | maerwald: I can't even afford to work on my own stuff, let alone pay someone for it :p |
| 2021-04-06 15:22:42 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
All times are in UTC.