Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.