Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,877 events total
2021-07-30 04:15:44 <monochrom> Humans take the path of least resistance. Programmers take it to the next level, path of least understanding.
2021-07-30 04:16:11 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-30 04:17:17 × roboguy_ quits (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Remote host closed the connection)
2021-07-30 04:17:27 <lechner> dsal: ZeroMQ won this evaluation at CERN ten years ago http://ais-grid-2011.jinr.ru/docs/MW-in-Controls-DUBNA-Oct2011.pptx
2021-07-30 04:17:49 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 04:18:05 <dsal> monochrom: I assume it's bad practice to try to lean on the GC to clean up file descriptors.
2021-07-30 04:19:25 <dsal> lechner: I remember hearing about it a while back, but just never had a chance to use it. I don't have a pptx viewer handy.
2021-07-30 04:19:46 <lechner> dsal: http://zeromq.wdfiles.com/local--files/intro%3Aread-the-manual/Middleware%20Trends%20and%20Market%20Leaders%202011.pdf
2021-07-30 04:21:26 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-07-30 04:23:04 <dsal> Looks neat. Work is all protobuf all the time. Home is mostly mqtt. I'm not sure where zmq fits in to anything. What are you using it for?
2021-07-30 04:23:41 <lechner> protobuf will go over it. that's a different layer isn't it?
2021-07-30 04:24:57 <lechner> i use it to produce the data for lintian.debian.org. some other parts of debian use rabbitmq but they will come around
2021-07-30 04:25:49 × roboguy_ quits (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 268 seconds)
2021-07-30 04:26:26 <lechner> do use protbuf with haskell?
2021-07-30 04:26:30 <lechner> you
2021-07-30 04:27:01 <Axman6> Facebook have released a tool for doing protobuf stuff with Haskell I believe, they uise it internally in Sigma
2021-07-30 04:27:15 <Axman6> hmm, maybe it wasn't protobuff..
2021-07-30 04:27:30 <Axman6> it was thrift
2021-07-30 04:29:24 <lechner> marlow works there?
2021-07-30 04:30:35 Izem parts (~Izem@bras-base-london1483w-grc-42-65-95-172-41.dsl.bell.ca) (Good Bye)
2021-07-30 04:30:41 <Axman6> yeah
2021-07-30 04:31:20 <Axman6> Facebook are probably the world's biggest user of GHC.s concurrency stuff, and he implemented most of it
2021-07-30 04:31:59 <lechner> i only saw a talk by a lady about some spam filtering some time ago
2021-07-30 04:34:19 <Axman6> If by "some spam filtering" you mean, all spam filtering at over 2m requests per second, then yes, that's Sigma
2021-07-30 04:35:24 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-07-30 04:35:56 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
2021-07-30 04:36:32 <ext0l> what's the easiest way to play back some music files and allow seeking, play/pause, etc? a la a music player
2021-07-30 04:36:38 <ext0l> other than using mpd
2021-07-30 04:36:52 × jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-30 04:37:08 <Axman6> probably using some native gui widget, but then you need a gui
2021-07-30 04:37:22 <lechner> Axman6: i may have seen an early talk...
2021-07-30 04:37:29 <ext0l> i mean, to actually do the "shove audio to output" bits
2021-07-30 04:37:56 <sm> Axman6: wow. Could we have one of those for #haskell ?
2021-07-30 04:38:11 <Axman6> writeFile "/dev/audio" musicWav
2021-07-30 04:38:23 <Axman6> one of what?
2021-07-30 04:38:32 <lechner> spam filters
2021-07-30 04:38:35 <Axman6> (probably musicPCM)
2021-07-30 04:38:48 <Axman6> we could... but we don't actually get much spam here.
2021-07-30 04:40:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-07-30 04:42:07 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 04:43:36 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-30 04:45:57 jmorris joins (uid433911@id-433911.stonehaven.irccloud.com)
2021-07-30 04:47:45 <ext0l> hm, doesn't look look like there's a lot of decoder support. so i'd wind up having to just make ffi bindings myself
2021-07-30 04:48:01 × pgib quits (~textual@173.38.117.81) (Ping timeout: 268 seconds)
2021-07-30 04:49:17 <sm> still. No harm being overpowered
2021-07-30 04:50:58 <sm> spammers beware! We will ban your ass 2m times/s!
2021-07-30 04:51:36 mthvedt joins (uid501949@id-501949.stonehaven.irccloud.com)
2021-07-30 04:51:39 <lechner> dsal: this 'either' does not work here, even with some extra brackets https://www.irccloud.com/pastebin/HvYTa6jj/thing.hs
2021-07-30 04:52:25 <lechner> shouldn't the branches be partially applied functions?
2021-07-30 04:53:02 <dsal> Yeah, a function that receives left and then one that receives right.
2021-07-30 04:53:17 <dsal> That was a rough sketch. I didn't try actually building anything.
2021-07-30 04:54:05 <lechner> i like the idea. should i try 'reverse' to change tha argument order?
2021-07-30 04:55:06 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)
2021-07-30 04:55:07 <dsal> You mean flip?
2021-07-30 04:55:37 <sm> lechner: you can't use $ in a partially applied function, liftIO . printf .... would be better
2021-07-30 04:55:38 <dsal> You can always start with a lambda then decide whether something could be simplified if you don't e it.
2021-07-30 04:56:06 pe200012_ joins (~pe200012@183.236.83.77)
2021-07-30 04:56:10 <sm> also, I don't think you can partially apply printf at all, it's speical
2021-07-30 04:57:31 <sm> (I have often wanted to, but the types defeat me)
2021-07-30 05:00:59 <lechner> dsal: yes the lambda! i am getting it, slowly
2021-07-30 05:01:22 <dsal> I'm trying to remember how to TH. heh.
2021-07-30 05:01:25 × cjb quits (~cjb@user/cjb) (Read error: Connection reset by peer)
2021-07-30 05:02:10 <lechner> sm: thanks! folks here are helping me get off of printf. it's hard to say bye to an old friend
2021-07-30 05:03:56 × roboguy_ quits (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215) (Ping timeout: 256 seconds)
2021-07-30 05:04:56 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-30 05:06:20 Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-30 05:06:47 <dsal> I've never used printf in haskell.
2021-07-30 05:09:31 <Axman6> printf is only acceptable if it's a type safe version of it. If you're not writing printf @"format %s string %d" you're doing it wrong
2021-07-30 05:10:55 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
2021-07-30 05:12:02 ukari joins (~ukari@user/ukari)
2021-07-30 05:15:15 <ext0l> i haven't written haskell in ages. are lenses the recommended approach to avoid record field name collisions?
2021-07-30 05:15:25 matthias1 joins (~igloo@4.15.245.90)
2021-07-30 05:15:53 <Axman6> We have an extension which allows overlapping field names, but lenses are also pretty useful
2021-07-30 05:16:42 × matthias1 quits (~igloo@4.15.245.90) (Remote host closed the connection)
2021-07-30 05:16:51 <ext0l> aha
2021-07-30 05:17:06 <ext0l> yeah i remember lenses also being useful for updates and the like
2021-07-30 05:18:34 × Null_A quits (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-30 05:18:41 <Axman6> I'm not sure that the overloaded field name problem is a completely solved issue, but things are improving. I'm not sure what the state of the art is at the moment
2021-07-30 05:19:14 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-07-30 05:19:28 jneira joins (~jneira@212.8.115.226)
2021-07-30 05:25:56 <ext0l> nod nod
2021-07-30 05:26:09 <ext0l> i'm glad this language/the community is still around
2021-07-30 05:27:12 MQ-17J joins (~MQ-17J@8.6.144.192)
2021-07-30 05:27:21 <c_wraith> records are *almost* solved now. GHC 9.2 will have the last piece. I'm a bit surprised it hasn't been released yet
2021-07-30 05:27:33 <Axman6> what's coming in 9.2?
2021-07-30 05:27:40 <c_wraith> -XNoFieldSelectors
2021-07-30 05:27:55 <Axman6> Haven't heard of that one
2021-07-30 05:28:12 <c_wraith> It means records don't create top-level accessor functions
2021-07-30 05:28:20 <ext0l> https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0282-record-dot-syntax.rst
2021-07-30 05:28:21 <c_wraith> so there's no global namespace pollution
2021-07-30 05:28:23 <ext0l> also this
2021-07-30 05:28:36 <Axman6> ah nice, so you can set fieldzs by name, but you don't get the accessor functions?
2021-07-30 05:28:42 <c_wraith> yes
2021-07-30 05:28:51 <Axman6> Yeah we use record dot syntax all the time in DAML, it's pretty nice
2021-07-30 05:28:54 <c_wraith> record dot syntax is solving the problem of "making things comfortable for OO programmers", not the problem of "making records good"
2021-07-30 05:30:46 <c_wraith> https://www.reddit.com/r/haskell/comments/mhzf9l/announce_ghc_921alpha1_now_available/gt3lexp/ the current state of the art in pleasant records
2021-07-30 05:30:52 <justsomeguy> Here is a link I found to a pretty exhaustive list of different approaches... https://gitlab.haskell.org/ghc/ghc/-/wikis/records
2021-07-30 05:31:54 justsomeguy is only a noob, so he doesn't know which of these makes sense, and just generally tries to avoid records (and also tuples, because they are weird).
2021-07-30 05:33:03 qbt joins (~edun@user/edun)
2021-07-30 05:37:27 roboguy_ joins (~roboguy_@2605:a601:afe7:9f00:b4cc:f31a:f38e:2215)

All times are in UTC.