←2025-07-05 2025-07-06 2025-07-07→ ↑2025 ↑all
00:10:06 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
00:41:07 <esolangs> [[User:Cycwin/sandbox]] https://esolangs.org/w/index.php?diff=160909&oldid=158106 * Cycwin * (+74)
00:45:18 <esolangs> [[User:Cycwin/sandbox]] https://esolangs.org/w/index.php?diff=160910&oldid=160909 * Cycwin * (+131) /* Idea of a highlevel lang what can compile to whatlang a little easily? */
00:52:06 <esolangs> [[User:Cycwin/sandbox]] https://esolangs.org/w/index.php?diff=160911&oldid=160910 * Cycwin * (+122) /* Idea of a highlevel lang what can compile to whatlang a little easily? */
00:57:18 <esolangs> [[User:Cycwin/sandbox]] https://esolangs.org/w/index.php?diff=160912&oldid=160911 * Cycwin * (+123) /* Idea of a highlevel lang what can compile to whatlang a little easily? */
01:02:58 <esolangs> [[Quint]] https://esolangs.org/w/index.php?diff=160913&oldid=160870 * Stkptr * (+95)
01:05:04 <esolangs> [[DPM]] https://esolangs.org/w/index.php?diff=160914&oldid=160830 * Stkptr * (+79)
01:11:07 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160915&oldid=160091 * BestCoder * (+22)
01:13:32 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160916&oldid=160900 * Stkptr * (+40)
01:14:34 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160917&oldid=160915 * BestCoder * (+32)
01:14:51 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160918&oldid=160917 * BestCoder * (+1) /* Print */
01:15:30 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160919&oldid=160918 * BestCoder * (+9)
01:15:48 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160920&oldid=160919 * BestCoder * (+0)
01:16:16 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160921&oldid=160920 * BestCoder * (-2)
01:16:39 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160922&oldid=160921 * BestCoder * (+0)
02:05:02 -!- op_4 has quit (Remote host closed the connection).
02:05:31 -!- op_4 has joined.
02:22:18 -!- tromp has joined.
02:27:39 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
03:07:29 <esolangs> [[Obython]] https://esolangs.org/w/index.php?diff=160923&oldid=160922 * Stkptr * (+47)
04:06:30 <esolangs> [[Dig straight down like an idiot]] https://esolangs.org/w/index.php?diff=160924&oldid=151303 * Somebody142857 * (+159)
05:09:50 -!- tromp has joined.
06:13:56 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
06:27:50 <esolangs> [[StormScript]] https://esolangs.org/w/index.php?diff=160925&oldid=155698 * I am islptng * (-2010) Replaced content with "{{Distinguish/Confusion|StormLang}} {{WIP}} In development."
07:03:50 -!- chiselfuse has quit (Ping timeout: 244 seconds).
09:10:37 -!- tromp has joined.
09:45:38 -!- Sgeo has quit (Read error: Connection reset by peer).
09:48:54 <esolangs> [[Special:Log/newusers]] create * Kq4wlc * New user account
09:51:08 -!- ais523 has joined.
09:53:34 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=160926&oldid=160901 * Kq4wlc * (+265)
09:56:09 <esolangs> [[User:Kq4wlc]] N https://esolangs.org/w/index.php?oldid=160927 * Kq4wlc * (+202) Created page with "i'm kq4wlc, or icosa, or hedr.n. so uh, yeah. you'll see it at https://vertigolang.space. so, yeah, uh, enjoy. (it's truly garbage, please don't seriously use this unless you are just as insane as I am)"
10:06:16 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=160928&oldid=160880 * PrySigneToFry * (+99)
10:06:38 <esolangs> [[User:Hotcrystal0/Chess piece strength]] https://esolangs.org/w/index.php?diff=160929&oldid=160875 * PrySigneToFry * (+11)
10:32:02 <esolangs> [[User:Pifrited/Simple2DMachine]] https://esolangs.org/w/index.php?diff=160930&oldid=160887 * Pifrited * (+643) /* Commands */
10:34:09 <esolangs> [[User:Pifrited/Simple2DMachine]] M https://esolangs.org/w/index.php?diff=160931&oldid=160930 * Pifrited * (-99)
10:35:07 -!- Lord_of_Life_ has joined.
10:35:23 -!- Lord_of_Life has quit (Ping timeout: 245 seconds).
10:36:30 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
10:47:53 <esolangs> [[User:Pifrited/Simple2DMachine]] https://esolangs.org/w/index.php?diff=160932&oldid=160931 * Pifrited * (+325)
10:49:30 <esolangs> [[User talk:Pifrited/Simple2DMachine]] N https://esolangs.org/w/index.php?oldid=160933 * Pifrited * (+182) Help me pleaze
10:52:51 <esolangs> [[User:Pifrited/Simple2DMachine]] https://esolangs.org/w/index.php?diff=160934&oldid=160932 * Pifrited * (+162) /* Commands */
10:56:49 <APic> Hi
10:59:01 <esolangs> [[User:Pifrited/Simple2DMachine]] M https://esolangs.org/w/index.php?diff=160935&oldid=160934 * Pifrited * (+29) /* Examples */
11:00:34 <esolangs> [[User:I am islptng/Sandbox]] https://esolangs.org/w/index.php?diff=160936&oldid=160402 * I am islptng * (+1449)
11:03:04 -!- j4cbo has quit (Ping timeout: 265 seconds).
11:03:18 -!- yuu has quit (Ping timeout: 245 seconds).
11:03:54 -!- j4cbo has joined.
11:03:59 <esolangs> [[Special:Log/upload]] upload * I am islptng * uploaded "[[File:StormScriptLogo.png]]": logo for StormScript.
11:04:53 <esolangs> [[File:StormScriptLogo.png]] https://esolangs.org/w/index.php?diff=160938&oldid=160937 * I am islptng * (+1539)
11:05:52 -!- yuu has joined.
11:07:56 <esolangs> [[StormScript]] https://esolangs.org/w/index.php?diff=160939&oldid=160925 * I am islptng * (+268)
11:20:35 -!- chiselfuse has joined.
11:38:35 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160940&oldid=160916 * Bebebe * (+99) /* Examples */
11:39:28 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160941&oldid=160940 * Bebebe * (+4) /* Random number from 1 to 10 */
11:39:48 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160942&oldid=160941 * Bebebe * (-2) /* Random number from 1 to 10 */
11:54:13 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160943&oldid=160942 * Bebebe * (-10) /* Random number from 1 to 10 */
11:59:40 <esolangs> [[Talk:Symbolmathing]] https://esolangs.org/w/index.php?diff=160944&oldid=160898 * Bebebe * (+178)
12:00:23 -!- FreeFull has joined.
12:01:15 <esolangs> [[Talk:Symbolmathing]] https://esolangs.org/w/index.php?diff=160945&oldid=160944 * Bebebe * (+8)
12:07:04 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:23:15 <esolangs> [[DragonLang/Document]] N https://esolangs.org/w/index.php?oldid=160946 * PrySigneToFry * (+4958) Created page with "{{Back|DragonLang}} = Basics = == Data types == === Basic data type === * Numbers, all valid real numbers, with no upper and lower limit and supports 2 to 36 base. * Complexs, formed by a bi. * Documents, simply a string in Python/CangjieLang, except
12:25:04 <esolangs> [[DragonLang]] https://esolangs.org/w/index.php?diff=160947&oldid=160223 * PrySigneToFry * (+21)
12:45:10 <esolangs> [[Talk:DragonLang]] N https://esolangs.org/w/index.php?oldid=160948 * Cycwin * (+68) Created page with "And let you feel so hard to write an interpreter(w --[[User:Cycwin]]"
12:47:11 <esolangs> [[Special:Log/newusers]] create * Creepy * New user account
12:54:00 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=160949&oldid=160763 * Cycwin * (+236) /* Any interests on joining our Esolang Tencent QQ group? */
13:14:00 -!- amby has joined.
14:16:10 -!- tromp has joined.
14:39:54 <esolangs> [[User talk:XP2PHOENIX]] https://esolangs.org/w/index.php?diff=160950&oldid=160907 * XP2PHOENIX * (+121) /* Exseq */
14:40:05 <esolangs> [[User:Hotcrystal0/Sandbox/OotT ideas]] https://esolangs.org/w/index.php?diff=160951&oldid=160906 * XP2PHOENIX * (+30) /* IoM 3 storyboard WIP */
14:54:05 <esolangs> [[User:Bebebe]] N https://esolangs.org/w/index.php?oldid=160952 * Bebebe * (+1) Created page with "H"
14:54:17 <esolangs> [[Special:Log/upload]] overwrite * I am islptng * uploaded a new version of "[[File:StormScriptLogo.png]]": remove crispEdges
14:54:51 <esolangs> [[File:StormScriptLogo.png]] https://esolangs.org/w/index.php?diff=160954&oldid=160953 * I am islptng * (-5)
14:59:34 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160955&oldid=160943 * Bebebe * (+24) /* Python Interpreter */
14:59:37 <esolangs> [[StormScript]] https://esolangs.org/w/index.php?diff=160956&oldid=160939 * I am islptng * (+68) categorize
15:00:22 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160957&oldid=160955 * Bebebe * (+41) /* JS interpreter */
15:01:15 <esolangs> [[Talk:DragonLang]] https://esolangs.org/w/index.php?diff=160958&oldid=160948 * I am islptng * (+701)
15:22:10 <esolangs> [[Thisthat]] N https://esolangs.org/w/index.php?oldid=160959 * Aadenboy * (+4734) Created page with "<includeonly>style="font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;{{#if:{{{1|}}}|background-color: #f8f9fa; color: #000; border: 1px solid #eaecf0; padding: 1em; white-space: pre; overflow-x: hidden; word-wrap: break-word; o
15:23:30 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=160960&oldid=160852 * Aadenboy * (+15) /* T */ add [[thisthat]]
15:24:00 <esolangs> [[This=That]] https://esolangs.org/w/index.php?diff=160961&oldid=96898 * Aadenboy * (+35) distinguish
15:24:17 <esolangs> [[Thisthat]] https://esolangs.org/w/index.php?diff=160962&oldid=160959 * Aadenboy * (+34) distinguish
15:24:26 <esolangs> [[Thisthat]] M https://esolangs.org/w/index.php?diff=160963&oldid=160962 * Aadenboy * (+2)
15:27:37 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=160964&oldid=160863 * Aadenboy * (+394) add [[thisthat]]
15:50:20 <esolangs> [[Special:Log/upload]] upload * Bebebe * uploaded "[[File:Symbolmathing.png]]": vertical mirrored +^+ in circle is a Symbolmathing logo
15:53:33 -!- Lord_of_Life has quit (Excess Flood).
15:56:56 -!- Lord_of_Life has joined.
16:14:49 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160966&oldid=160957 * Bebebe * (+222)
16:18:12 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160967&oldid=160966 * Bebebe * (+41)
16:20:18 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160968&oldid=160967 * Bebebe * (+5) /* Logo */
16:21:04 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160969&oldid=160968 * Bebebe * (+4) /* Logo */
16:29:57 -!- zzo38 has quit (Ping timeout: 244 seconds).
16:52:55 <esolangs> [[User:RetroPain]] https://esolangs.org/w/index.php?diff=160970&oldid=155598 * RetroPain * (-46)
16:54:07 <esolangs> [[Pain]] https://esolangs.org/w/index.php?diff=160971&oldid=120458 * RetroPain * (+69)
17:16:18 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160972&oldid=160969 * Bebebe * (+140) /* Logo */
17:16:43 <APic> cu
17:19:21 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160973&oldid=160972 * Bebebe * (+15)
17:48:26 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160974&oldid=160973 * Bebebe * (+62) /* Links */
19:02:32 -!- zzo38 has joined.
19:05:37 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160975&oldid=160974 * Bebebe * (+1440)
19:11:19 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:19:15 -!- Sgeo has joined.
19:21:30 <esolangs> [[Thisthat]] https://esolangs.org/w/index.php?diff=160976&oldid=160963 * Aadenboy * (+311) /* Nodes */
19:29:37 -!- tromp has joined.
19:30:42 <esolangs> [[Thisthat]] https://esolangs.org/w/index.php?diff=160977&oldid=160976 * Aadenboy * (+177) /* Nodes */
19:33:17 <ais523> @help
19:33:17 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
19:33:20 <ais523> @help list
19:33:20 <lambdabot> list [module|command]. Show commands for [module] or the module providing [command].
19:33:24 <ais523> @list
19:33:24 <lambdabot> What module? Try @listmodules for some ideas.
19:33:26 <ais523> @listmodules
19:33:26 <lambdabot> activity base bf check compose dice dict djinn dummy elite eval filter free fresh haddock help hoogle instances irc karma localtime metar more oeis offlineRC pl pointful poll pretty quote search
19:33:26 <lambdabot> seen slap source spell system tell ticker todo topic type undo unlambda unmtl version where
19:33:41 <ais523> @help hoogle
19:33:41 <lambdabot> hoogle <expr>. Haskell API Search for either names, or types.
19:33:46 <ais523> @hoogle Comonad
19:33:46 <lambdabot> module Control.Comonad
19:33:46 <lambdabot> Control.Comonad class Functor w => Comonad w
19:33:46 <lambdabot> module Rebase.Control.Comonad
19:34:02 <ais523> @source Comonad
19:34:02 <lambdabot> Unknown command, try @list
19:34:21 <ais523> @list source
19:34:21 <lambdabot> source provides: src
19:34:24 <ais523> @src Comonad
19:34:24 <lambdabot> Source not found. Sorry.
19:34:34 <ais523> @src Control.Comonad.Comonad
19:34:34 <lambdabot> Source not found.
19:35:16 <int-e> Comonad is way too modern for this.
19:35:16 <esolangs> [[Thisthat]] https://esolangs.org/w/index.php?diff=160978&oldid=160977 * Aadenboy * (+137)
19:35:27 <esolangs> [[Thisthat]] M https://esolangs.org/w/index.php?diff=160979&oldid=160978 * Aadenboy * (-6) /* Nodes */
19:36:09 <int-e> (@src uses a text file that comes with lambdabot. It's a rather weird mix of standard Prelude and random stuff that people added.)
19:36:12 <int-e> @src Bytestring
19:36:12 <lambdabot> Source not found. My mind is going. I can feel it.
19:36:18 <int-e> @src ByteString
19:36:18 <lambdabot> Source not found. You speak an infinite deal of nothing.
19:36:31 <int-e> eh, I thought that was in there, maybe I misremember
19:37:29 <int-e> :t Control.Comonad.extract
19:37:30 <lambdabot> Control.Comonad.Comonad w => w a -> a
19:37:34 <int-e> :t Control.Comonad.duplicate
19:37:35 <lambdabot> Control.Comonad.Comonad w => w a -> w (w a)
19:38:59 <ais523> @hoogle Cofunctor
19:38:59 <lambdabot> package cofunctor
19:38:59 <lambdabot> package acme-cofunctor
19:39:49 <esolangs> [[Thisthat]] M https://esolangs.org/w/index.php?diff=160980&oldid=160979 * Aadenboy * (-96) /* Nodes */
19:40:00 <ais523> OK, this isn't what I want either
19:40:38 <ais523> a functor F lets me take a function from a to b, and convert it into a function from F a to F b
19:41:01 <ais523> and I'm trying to find the opposite in the following sense: if you have a function from F a to F b, you can convert that into a function from a to b
19:42:39 <int-e> mmm that's a weird one
19:43:21 <int-e> well, assuming you still want to preserve composition
19:43:31 <ais523> yep
19:43:51 <ais523> this might be a dead end
19:44:00 <FireFly> hm
19:44:42 <ais523> (this is yet another case of "things that frustratingly resemble monads but don't seem to actually be monads")
19:46:16 <ais523> the context is that I'm considering a programming language in which some types are supposed to not be copied, but you can illegally copy them anyway, and if you do, some operations don't work correctly on the illegally copied values
19:47:07 <ais523> but many of the operations do, and this commutes in the sense that f(illegal copy of X) = illegal copy of f(X), assuming that f doesn't try to do anything that doesn't work on illegal copies
19:47:51 <ais523> so it's a bit like a functor except you can do fewer things inside it, rather than more
19:49:45 <esolangs> [[Thisthat]] https://esolangs.org/w/index.php?diff=160981&oldid=160980 * Aadenboy * (+961) /* Examples */ secured examples and a [[BCT]] implementation
19:50:34 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=160982&oldid=160964 * Aadenboy * (+602) /* ESOLANGS */
19:54:45 <ais523> actually, linear logic probably has an operation for this somewhere, it has lots of operations like that
20:02:01 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160983&oldid=160975 * Bebebe * (+131)
20:03:24 <korvo> There is a concept of inverse functor, but it trivializes to the equivalent concept in set theory: https://ncatlab.org/nlab/show/inverse+functor
20:10:15 <ais523> and an inverse functor is still a functor, whereas the thing I'm dealing with isn't a functor
20:18:50 <zzo38> Do you have a example of what types are supposed to not be copied?
20:28:46 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:31:00 -!- tromp has joined.
20:35:14 <ais523> zzo38: assumptions that you have exclusive access to a particular resource (if you copy the assumption, it becomes risky to rely on because someone else might be relying on the copy)
20:45:08 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:49:46 <b_jonas> I was wondering about something that is sort of esoteric. I'll start with the use case: you are running a service on the internet that's used by lots of third parties, and can store potentially sensitive data about those third parties. Your goal is to protect the third party data from government subponea as much as possible. More precisely, if the government decides that they're interested in the data
20:49:52 <b_jonas> that you're storing, and demand that you give them all your data, you can give them as little as possible. This can happen only once, assume you shut down the service immediately when the government sends you the first request, but you aren't allowed to delete or modify any data at that time.
20:50:31 <b_jonas> The easy parts of this is to not store any data that needn't be stored, and to overwrite any data on the disk as soon as it's no longer needed. This part isn't hard, you can just use ordinary database software.
20:51:51 <b_jonas> But the problem is that even if you do the easy part carefully, the database can contain a little bit of information about the history of database updates, leaked in what order the data is allocated and possibly the structure of the tree or linked lists or hash tables etc.
20:54:02 <b_jonas> Now I think in theory it's possible to make a database software that specifically avoids all those leaks. That is, the data stored on disk contains only exponentially small amount of extra information about the history of the database (over the information that the current rows tell), at least as much as you can extract with feasable computation in the cryptographical sense. And you can do that while
20:54:03 <ais523> avoiding that seems difficult because there are lots of desirable properties of databases (e.g. working in concurrent scenarios) that may be hard or impossible to implement with a truly normalized storage format
20:54:08 <b_jonas> still keeping the storage space and the time of updates and lookups having reasonable bounds.
20:54:32 <b_jonas> But it's quite hard to optimize this to make the storage space and runtime small in practice, not just like have nice asymptotics.
20:55:15 <b_jonas> I'm assuming no concurrence here for simplicity.
20:55:29 <ais523> oh, that makes a big difference
20:55:39 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160984&oldid=160983 * Bebebe * (+53)
20:56:52 -!- tromp has joined.
20:57:05 <ais523> so hash tables almost get this right – if there are no collisions and the hash table is fairly full, you can just store everything at a known address based no its hash
20:57:12 <b_jonas> For the allocations, if you use fixed-sized blocks then you can keep them in a uniform random order: if you want to allocate a block then you append the block then swap it with a random block in the database (but you have to make sure to update all the pointers, which may require a bit more complicated code). If you want different block sizes you probably need multiple levels of this, to allocate small
20:57:17 <ais523> but "there are no collisions and the hash table is fairly full" is a probabilistic contradiction
20:57:18 <b_jonas> blocks inside big blocks.
20:57:55 <ais523> different block sizes shouldn't be a problem, just put them on different storage devices
20:58:33 <b_jonas> For the key-value lookup or ordered storage, there are hash-table based solutions which are probably better in practice. But I personally prefer a treap: if you choose a random weight for every node when it's created, and build a treap from them, then the shape of the tree and location of nodes is independent of the history.
20:59:10 <ais523> well, as long as the weights aren't tied
20:59:13 <b_jonas> "just put them on different storage devices" => yes, that works as long as you can predict how much space you want to allocate
20:59:21 <ais523> I guess you can reroll a weight if it's tied
20:59:44 <ais523> or, no, that introduces bias?
21:00:10 <esolangs> [[User:Bebebe]] https://esolangs.org/w/index.php?diff=160985&oldid=160952 * Bebebe * (+92)
21:00:12 <ais523> or, I'm not sure – currently leaning towards thinking it doesn't but am not convinced
21:00:50 <b_jonas> the simplest solution would be to use weights that are so large that they can't be tied (256 or 192 bits). I think if you use a biased distribution that makes weights farther from the roots exponentially more likely then you can get away with fewer bits, but I'm not certain.
21:01:37 <b_jonas> you don't need to explicitly store the whole weight, because you can generate the weights deterministically from the key of the data using a cryptographic checksum
21:01:55 <ais523> oh! so what you can do is to use a hash table, and use a treap for collisions
21:02:13 <b_jonas> so I'd recommend a 256-bit weight, but store some of it for speed
21:02:53 <ais523> like, if two or more entries collide, the hash table entry stores a treap that stores all the entries
21:03:17 <b_jonas> as in a 256-bit weight generated from the primary key using a cryptographic digest, and store a (nonlinear) 32 bits of it on disk for efficiency
21:04:18 <b_jonas> ais523: that kind of seems overcomplicated, you could just store the colliding elements in a linked list as long as you keep their orders either random or sorted by a weight. if the hash function is good and the hash table isn't too large then there won't be large sets of collisions.
21:04:30 <ais523> randomizing linked lists is awkward
21:04:57 <b_jonas> ais523: no, you can insert into a random position whenever you insert, and keep the order when you delete
21:05:04 <ais523> in any case, I think there's some sort of hashdos-like attack available where someone forces worst-case performance by submitting lots of entries whose hashes sort the same way their values do
21:05:35 <ais523> you'd have to use a randomized hashing function to avoid that
21:05:36 <b_jonas> (of course since this is user-supplied data, you have to use a cryptographic digest with a secret seed for the hash function to ensure that the users cannot manipulate collisions)
21:05:45 <b_jonas> (but that's already true for a normal database that uses a hash table)
21:06:41 <b_jonas> yes, I think ordinary real-world databases that use hash tables already solved that problem, it's not directly related to this history-hiding
21:09:09 <b_jonas> It's just that you have to make sure to store the nodes of linked lists or trees in a way that also doesn't leak history. And the same for any variable-sized data in the rows. So for this you need something like the random allocations, even if the hash table itself is in a fixed position.
21:09:49 <b_jonas> And I wouldn't recommend this for most databases because it comes with an overhead in storage size or update time.
21:10:10 <b_jonas> So this would just be some special-purpose type of database, not your default database.
21:21:12 <esolangs> [[Symbolmathing]] https://esolangs.org/w/index.php?diff=160986&oldid=160984 * Bebebe * (+206)
21:52:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:58:43 -!- ais523 has quit (Quit: quit).
22:00:03 -!- FreeFull has quit.
22:27:50 <esolangs> [[Triolang]] https://esolangs.org/w/index.php?diff=160987&oldid=160015 * BestCoder * (+22)
22:30:20 <esolangs> [[Schrodinger's fish]] https://esolangs.org/w/index.php?diff=160988&oldid=133406 * BestCoder * (+0) /* test programs */
←2025-07-05 2025-07-06 2025-07-07→ ↑2025 ↑all