2024/09/30

2024-09-30 00:01:03 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-30 00:01:10 +0200 <andrewboltachev> dolio: well, Set^3 is a category of triplets like (a, a', a'')
2024-09-30 00:01:45 +0200 <dolio> A functor.
2024-09-30 00:02:26 +0200 <andrewboltachev> ok F is a functor. that's how we make a functor from more than one set to one essentially
2024-09-30 00:03:07 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 00:03:57 +0200 <dolio> Yes. But what you're talking about is assembling many different arities of functors into a single category. So that requires having some way of relating different arities to make any sense.
2024-09-30 00:04:34 +0200 <andrewboltachev> Yes. thanks a lot for the idea! I'll research it
2024-09-30 00:06:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-09-30 00:06:12 +0200 <dolio> Also, depending on what exactly you want to do, you might need not just numbers, but lists indicating whether the argument is covariant or contravariant, and so on.
2024-09-30 00:06:40 +0200 <dolio> But all the examples were covariant functors.
2024-09-30 00:08:09 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-30 00:09:22 +0200 <andrewboltachev> https://app.diagrams.net/#G1lKco0mv66sGjTyMSMU1g-ogSE5PIbdzc#%7B%22pageId%22%3A%22YBh8yTivGdvy1ecIg6Zf%22%7D
2024-09-30 00:09:57 +0200 <andrewboltachev> dolio: Maybe coproduct will give rise for contravariant functors in the idea you've given
2024-09-30 00:10:21 +0200 <dolio> No. Exponentials will.
2024-09-30 00:10:25 +0200 <andrewboltachev> ah
2024-09-30 00:10:30 +0200 <dolio> I.E. functions.
2024-09-30 00:11:20 +0200Eoco(~ian@128.101.131.218) Eoco
2024-09-30 00:13:06 +0200 <andrewboltachev> coproducts (in ADTs) have been a problem (or main point of interest?) for me in this (bigger) idea that I research
2024-09-30 00:13:51 +0200 <andrewboltachev> in, for example "Categorical Databases" by David Spivak et al they talk about a "Database instance" functor C -> Set
2024-09-30 00:14:54 +0200 <andrewboltachev> but I believe it only works for them 'cause single "database table" is like a product of fields: (e.g. first_name, last_name, email, password etc)
2024-09-30 00:15:47 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) machinedgod
2024-09-30 00:16:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-09-30 00:17:13 +0200 <andrewboltachev> if I generalize the idea (which I want) and the "generalized table" has also coproducts, e.g. either "pickup" or "delivery" (for a web store like Amazon perhaps) then how do they map coproduct onto Set
2024-09-30 00:18:55 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 00:22:00 +0200 <hololeap> andrewboltachev: https://www.parsonsmatt.org/2019/03/19/sum_types_in_sql.html ?
2024-09-30 00:23:42 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-09-30 00:24:13 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!)
2024-09-30 00:24:30 +0200 <andrewboltachev> hololeap: well, this is for SQL, but I rather mention "Categorical Databases" :-)
2024-09-30 00:24:35 +0200Eoco(~ian@128.101.131.218) (Quit: WeeChat 4.1.1)
2024-09-30 00:25:06 +0200Eoco(~ian@128.101.131.218) Eoco
2024-09-30 00:25:12 +0200 <hololeap> ok
2024-09-30 00:25:16 +0200Eoco(~ian@128.101.131.218) (Client Quit)
2024-09-30 00:25:55 +0200Eoco(~ian@128.101.131.218) Eoco
2024-09-30 00:26:03 +0200 <andrewboltachev> hololeap: also, some ppl say that having extra constraints in SQL will make db perform slower. (some even say that Foreign keys make it slow)
2024-09-30 00:26:08 +0200Eoco(~ian@128.101.131.218) (Client Quit)
2024-09-30 00:26:40 +0200 <andrewboltachev> so one approach is to have e.g. "type" column and then several nullable columns, where each subset is for particular type etc etc
2024-09-30 00:27:06 +0200 <geekosaur> depends on the db, really. sqlite will be bad, postgresql should be reasonable
2024-09-30 00:27:29 +0200 <geekosaur> mariadb is poor
2024-09-30 00:28:25 +0200 <hololeap> the article mentions three different approaches, including nullable columns
2024-09-30 00:28:26 +0200 <andrewboltachev> yes I worked with ppl who denied fks in Postgres in "pursuit" for performance
2024-09-30 00:29:13 +0200 <geekosaur> postgres has this thing where it's slower than simpler dbs for small tables, but scales far better than other databases as they get larger and more joins are involved
2024-09-30 00:29:14 +0200 <andrewboltachev> hololeap: thanks. sorry
2024-09-30 00:30:20 +0200 <hololeap> it's cool I just threw it out because at first glance it seemed vaguely relevant to the backlog I bothered to read
2024-09-30 00:30:31 +0200 <hololeap> lol
2024-09-30 00:30:47 +0200alp(~alp@2001:861:e3d6:8f80:9956:3934:6a0b:7b98)
2024-09-30 00:30:50 +0200acidjnk(~acidjnk@p200300d6e72cfb46757e16ffb08be72b.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-09-30 00:30:59 +0200alp(~alp@2001:861:e3d6:8f80:9956:3934:6a0b:7b98) (Changing host)
2024-09-30 00:30:59 +0200alp(~alp@user/alp) alp
2024-09-30 00:31:03 +0200 <andrewboltachev> geekosaur: I believe there's a lot of science happening under the hood of Postgres :-)
2024-09-30 00:31:18 +0200 <monochrom> Why is sqlite bad with foreign keys? If I create an index for the foreign key column, will it be much better?
2024-09-30 00:31:23 +0200Eoco(~ian@128.101.131.218) Eoco
2024-09-30 00:31:37 +0200 <geekosaur> sqlite's just bad at jpining; it works best with single flat tables
2024-09-30 00:31:47 +0200 <geekosaur> this is the price of being small and simple
2024-09-30 00:31:50 +0200 <andrewboltachev> (didn't learn how to read output of EXPLAIN yet)
2024-09-30 00:32:50 +0200 <geekosaur> basically it has no clue about query optimization, so where postgresql and even mariadb will optimize joins to at leats some extent, sqlite will keep brute-forcing them
2024-09-30 00:33:26 +0200 <geekosaur> (for example it doesn't know how to use relative table sizes to determine when it's better to do the join from the other direction)
2024-09-30 00:34:04 +0200 <geekosaur> and keeps no key statistics so it can't use those to similarly optimize how to do joins
2024-09-30 00:34:41 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 00:34:43 +0200 <geekosaur> this kind of stuff means postgresql has higher overhead, but that overhead is fairly fixed so it becomes a smaller part of the cost as tables/indexes get larger
2024-09-30 00:34:44 +0200 <__monty__> I'm skeptical working around the lack of foreign keys would usually be more performant than letting the DB engine do its thing.
2024-09-30 00:35:29 +0200 <geekosaur> sounds like second generation nosql to me
2024-09-30 00:35:42 +0200 <andrewboltachev> yes that team used JSONB
2024-09-30 00:36:03 +0200 <andrewboltachev> i.e. two column tables — uuid and data (jsonb)
2024-09-30 00:36:04 +0200 <geekosaur> unsurprisingly, nosql dbs are terrible at sqlish things
2024-09-30 00:36:19 +0200alp(~alp@user/alp) (Remote host closed the connection)
2024-09-30 00:36:37 +0200 <andrewboltachev> but PostgreSQL is good at nosql (if you want it). Or is it?
2024-09-30 00:37:12 +0200 <geekosaur> the higher overhead means it's usually not that great at them. tbh I'd use sqlite at that point
2024-09-30 00:37:34 +0200 <andrewboltachev> ah
2024-09-30 00:37:48 +0200Eoco(~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
2024-09-30 00:37:52 +0200 <geekosaur> it's doing a lot of bookkeeping to optimize sql-style queries, if you do nosql with it that's all wasted
2024-09-30 00:38:47 +0200 <geekosaur> (sorry, my inner db wonk is showing 🙂 )
2024-09-30 00:38:56 +0200Eoco(~ian@128.101.131.218) Eoco
2024-09-30 00:39:02 +0200 <andrewboltachev> geekosaur: I sometimes optimize ORM calls :D (e.g. call 1 time instead of N)
2024-09-30 00:39:42 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-30 00:41:14 +0200 <andrewboltachev> geekosaur: do you use esqueleto or sth?
2024-09-30 00:43:01 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 248 seconds)
2024-09-30 00:43:02 +0200 <andrewboltachev> geekosaur: and have you seen "Categorical databases"? And if yes, do you think it brings anything useful
2024-09-30 00:44:17 +0200 <geekosaur> I don't actually do databases any more (since 1996)
2024-09-30 00:44:51 +0200 <andrewboltachev> wow
2024-09-30 00:44:55 +0200 <geekosaur> but that was around when the open source community picked up postgres, ripped out the research-quality QUEL engine, and started building a production-quality SQL engine to replace it
2024-09-30 00:45:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 00:46:38 +0200xsarnik(xsarnik@lounge.fi.muni.cz) (The Lounge - https://thelounge.chat)
2024-09-30 00:50:24 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-30 00:54:12 +0200troojg(~troojg@user/troojg) (Ping timeout: 276 seconds)
2024-09-30 01:00:46 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 01:01:28 +0200deepfire(~user@80.92.100.69) (Remote host closed the connection)
2024-09-30 01:06:03 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 01:10:53 +0200Typedfern(~Typedfern@2a02:9130:9c34:14e4:99e7:1e2d:3a90:e394) (Ping timeout: 265 seconds)
2024-09-30 01:16:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 01:19:24 +0200andrewboltachev(~andrey@178.141.123.3) (Quit: Leaving.)
2024-09-30 01:20:07 +0200 <geekosaur> (also, re "Categorical Databases", I'm a programmer/sysadmin who's picked up a very little bit of abstract mathematics from hanging out in here; I expect that paper would be gobbledygook to me)
2024-09-30 01:20:13 +0200 <geekosaur> whoops, missed
2024-09-30 01:21:31 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 01:27:10 +0200Typedfern(~Typedfern@2a02:9130:9c34:14e4:d11e:8149:a19f:6793)
2024-09-30 01:29:33 +0200dyniec(~dyniec@dybiec.info) dyniec
2024-09-30 01:32:22 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 01:37:25 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-30 01:41:18 +0200 <monochrom> :)
2024-09-30 01:41:47 +0200 <monochrom> There is a chance David Spivak's writing can made sense to practical people. Afterall, he wrote like "CT for engineers".
2024-09-30 01:48:10 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 01:53:25 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 02:03:55 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 02:04:15 +0200pavonia(~user@user/siracusa) siracusa
2024-09-30 02:06:53 +0200polyphem(~rod@p3ee3f695.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-09-30 02:07:20 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-09-30 02:08:53 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 02:09:06 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-09-30 02:09:32 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2024-09-30 02:12:39 +0200bh34e5(~bh34e5@user/bh34e5) bh34e5
2024-09-30 02:19:43 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 02:22:09 +0200xff0x(~xff0x@2405:6580:b080:900:2db7:1968:c949:1e07) (Ping timeout: 260 seconds)
2024-09-30 02:24:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-30 02:34:51 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-09-30 02:35:31 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 02:40:47 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 02:40:48 +0200synchromesh(~john@2406:5a00:241a:5600:e176:3a40:8bde:547a) (Read error: Connection reset by peer)
2024-09-30 02:41:15 +0200synchromesh(~john@2406:5a00:241a:5600:e176:3a40:8bde:547a) synchromesh
2024-09-30 02:45:44 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-09-30 02:46:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 02:46:03 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-09-30 02:49:06 +0200 <Inst> why does it need to make sense to practical people?
2024-09-30 02:50:07 +0200 <geekosaur> context is someone asked me about it on finding I have practical/internals database experience
2024-09-30 02:52:32 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-09-30 02:53:54 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-30 03:01:26 +0200 <Inst> ehhh
2024-09-30 03:01:26 +0200 <Inst> https://www.categoricaldata.net/cql/Broad_SoftEng.pdf
2024-09-30 03:04:55 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 03:10:16 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 03:11:19 +0200 <JuanDaugherty> when a thing not worth doing is done nicely
2024-09-30 03:14:39 +0200troojg(~troojg@user/troojg) troojg
2024-09-30 03:17:53 +0200xff0x(~xff0x@182.169.73.28)
2024-09-30 03:20:07 +0200athan(~athan@syn-098-153-145-140.biz.spectrum.com) athan
2024-09-30 03:20:32 +0200 <Inst> it looks like CQL is a thing, which is probably relevant to you geekosaur
2024-09-30 03:20:44 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 03:21:12 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-09-30 03:22:34 +0200troojg(~troojg@user/troojg) (Remote host closed the connection)
2024-09-30 03:22:55 +0200troojg(~troojg@user/troojg) troojg
2024-09-30 03:23:25 +0200misterfish(~misterfis@87.215.131.102) (Ping timeout: 244 seconds)
2024-09-30 03:25:41 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-09-30 03:29:50 +0200zero(~z@user/zero) (Ping timeout: 252 seconds)
2024-09-30 03:32:28 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 03:34:07 +0200zero(~z@user/zero) zero
2024-09-30 03:38:00 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-09-30 03:39:35 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-09-30 03:40:53 +0200 <Inst> was this why hoogle went down?
2024-09-30 03:40:57 +0200 <Inst> https://blog.haskell.org/haskell-foundation-and-committee-merger/
2024-09-30 03:42:07 +0200 <geekosaur> no? hoogle's been unstable for a while now, I think it just got too big (hoogle v5 has some fairly strict database size limits)
2024-09-30 03:45:24 +0200 <Inst> it was the first time i saw hoogle go down
2024-09-30 03:46:10 +0200 <geekosaur> it's been over a month. I'm certain because I've reported it to #haskell-infrastructure multiple times
2024-09-30 03:47:44 +0200troojg(~troojg@user/troojg) (Ping timeout: 260 seconds)
2024-09-30 03:48:15 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 03:56:13 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-09-30 03:56:45 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-09-30 03:58:07 +0200Typedfern(~Typedfern@2a02:9130:9c34:14e4:d11e:8149:a19f:6793) (Ping timeout: 265 seconds)
2024-09-30 03:58:59 +0200identity(~identity@user/ZharMeny) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4))
2024-09-30 03:59:55 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-09-30 04:01:19 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-09-30 04:02:52 +0200caconym(~caconym@user/caconym) caconym
2024-09-30 04:03:10 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-09-30 04:04:14 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-09-30 04:07:48 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 04:12:49 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-09-30 04:16:16 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds)
2024-09-30 04:16:38 +0200chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-09-30 04:23:04 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-09-30 04:23:37 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-09-30 04:25:09 +0200Inst(~Inst@user/Inst) (Remote host closed the connection)
2024-09-30 04:25:34 +0200Inst(~Inst@user/Inst) Inst
2024-09-30 04:26:47 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-09-30 04:28:34 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-09-30 04:31:20 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)