00:41:32 -!- 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).
01:24:26 <salpynx> b_jonas: "as far as I know they're low-level" I feel wWwwW's qn makes sense, and I was interpreting it as looking for a language which was: fun, simple, fundamentaly low-level in that it is intuitive enough to grasp and *do* some limited things with immediately style of 'eso'-lang, and doesn't involve understanding too many abstract concepts at once. 'Here's 3 commands, now form a band' DIY style.
01:24:43 <salpynx> The fact that for one of my examples I mixed up a number of real 'normal' (and quite different from each other), and hypothetical concept languages that have been attempted by many people over time and exist only in parts in many places, but nothing concrete that fully meets this brief, is telling... sometimes esolangs just work better "in theory".
01:34:48 <esolangs> [[Jumpy]] M https://esolangs.org/w/index.php?diff=143577&oldid=143575 * PythonshellDebugwindow * (+114) Categories
01:57:15 -!- salpynx has quit (Quit: Leaving).
02:20:36 <esolangs> [[Brainyay]] https://esolangs.org/w/index.php?diff=143578&oldid=143088 * PhiPhiPHIpHi * (+60)
02:36:59 <b_jonas> salpynx: to be clear by high-level I mostly mean it should be memory-safe and type-safe.
02:37:36 <b_jonas> at least for some basic version of typesafe
03:28:10 <b_jonas> I have some questions about libtom. (1) in "libtommath-1.0.1/bn_mp_to_unsigned_bin.c", is this really using an algorithm that takes time quadratic in the length of the input because it's shifting the whole big integer after each digit exported, and why?
03:30:13 <b_jonas> (2) in "libtomfloat-0.02/mpf_div_d.c", why does that function never use mp_div_d the single-digit divison function? I understand that it can't always do that, because this function wants to accept any long as the divisor, so that can be bigger than a single digit, but why does it never seem to fall back at least in the common case of small divisors?
03:38:19 <b_jonas> and for (1) it looks like the version in "tomsfastmath-0.13.1/src/bin/fp_to_unsigned_bin.c" does that too
04:03:09 <esolangs> [[User talk:Superstitionfreeblog]] N https://esolangs.org/w/index.php?oldid=143579 * ZCX islptng * (+1280) uhhhhhhhh
04:04:34 <esolangs> [[User talk:Superstitionfreeblog]] M https://esolangs.org/w/index.php?diff=143580&oldid=143579 * ZCX islptng * (+144)
04:27:06 -!- salpynx has joined.
04:31:44 <salpynx> fizzie: Is the zem.fi hill git repo publicly clonable (read-only)? I can't figure out a .git URL. Apologies for any silly log noise I have caused trying to guess one :)
04:34:22 <salpynx> I wanted to scrape all the warriors to explore source size vs. score (and also how commented source relates to good performance), I was going to scrape the web interface, but using git seems most direct
04:36:12 -!- wWwwW has joined.
04:43:17 <esolangs> [[User talk:PrySigneToFry]] M https://esolangs.org/w/index.php?diff=143581&oldid=143438 * ZCX islptng * (+251)
04:43:32 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=143582&oldid=143581 * ZCX islptng * (+1)
04:48:55 <salpynx> fizzie: found the answer on the bfjoust esowiki page: http://zem.fi/bfjoust/hill.git .. it wasn't obvious from GitWeb, which seems a common problem :)
05:02:41 <salpynx> hi wWwwW, I tried to answer your 'good esolang to learn' question earlier, that'll be in the logs from yesterday
05:04:15 <wWwwW> i saw your message
05:04:22 <wWwwW> but whats the actual esolajng?
05:06:08 <salpynx> brainf*** , and _probably_ Thue (the current featured language)
05:07:24 <salpynx> ... the third suggestion I had doesn't actually exist like I imagined it... which is unfortunate
05:11:11 <salpynx> oh, and writing in Deadfish enough to have installed one of the eso-interpreters and got it working enough to run your code (non-trivial for many of them, and some are likely buggy) could be a good way to get some practical eso-experience
05:16:53 -!- craigo has joined.
05:30:03 -!- Sgeo has quit (Read error: Connection reset by peer).
05:43:36 -!- tromp has joined.
06:07:33 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
06:30:26 -!- salpynx has quit (Quit: Leaving).
06:31:34 -!- tromp has joined.
07:20:06 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
07:34:19 -!- tromp has joined.
07:37:06 -!- Lord_of_Life has quit (Ping timeout: 252 seconds).
07:39:06 -!- Lord_of_Life has joined.
07:41:16 <esolangs> [[Special:Log/move]] move * Ractangle * moved [[All in one]] to [[What comes after letter "R"]]
07:41:16 <esolangs> [[Special:Log/move]] move * Ractangle * moved [[Talk:All in one]] to [[Talk:What comes after letter "R"]]
07:41:59 <esolangs> [[SML]] https://esolangs.org/w/index.php?diff=143587&oldid=143514 * Froginstarch * (+66) /* Instructions */
07:43:24 <esolangs> [[What comes after letter "R"]] https://esolangs.org/w/index.php?diff=143588&oldid=143583 * Ractangle * (-32)
08:18:39 -!- X-Scale has joined.
08:23:21 -!- X-Scale has quit (Ping timeout: 256 seconds).
08:58:02 -!- iddi01 has joined.
09:04:55 <iddi01> !zjoust XspeedX (>)*8(>[+[+[--[-[-[(-)*128[+.]]]]]]])*4(>[+[+[--[-[-[(-)*125[-.]]]]]]])*18
09:04:55 <zemhill> iddi01.XspeedX: points -1.95, score 17.94, rank 24/47
09:11:27 -!- __monty__ has joined.
09:13:40 <iddi01> I noticed from the logs that BF joust has got some attention (good news), but i think the reason that BF joust went dead in the past few years is that the hill is filled with powerful programs such that making a high-ranking program is hard, and people will quit after a few attempts.
10:32:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
11:14:31 <fizzie> salpynx: Yeah, for the esolangs.org rebranding I was planning of using cgit as the frontend, it puts the clone URL(s) right on the summary page.
11:20:16 <fizzie> There's been a few proposals to alleviate that, like offering a set of hills with fixed programs at different difficulty levels (beginner, intermediate, advanced), or a set of fixed programs on the existing hill that don't partake in the actual rankings, so that you could still get a sense of progress. Not sure how much that would help though.
11:46:52 -!- salpynx has joined.
11:48:31 <salpynx> !ztest unstable_atom >>---(>)*5(>>[(+)*7[-]+>+])*10>[-]>[--][--+]
11:48:32 <zemhill> salpynx.unstable_atom: points 2.55, score 23.18, rank 16/47
11:49:08 <salpynx> !zjoust unstable_atom >>---(>)*5(>>[(+)*7[-]+>+])*10>[-]>[--][--+]
11:49:09 <zemhill> salpynx.unstable_atom: points 2.55, score 23.18, rank 16/47
11:52:09 <salpynx> that is a remix of david_werecat.atom, which was the highest score-per-symbol warrior on the hill
11:57:56 <iddi01> Is remixing existing programs by other people considered cheating? (that's the second time salpynx did it)
12:00:30 <esolangs> [[Translated SLet]] N https://esolangs.org/w/index.php?oldid=143589 * PrySigneToFry * (+684) Created page with "Translated SLet is designed by PSTF. It is [[SLet]] but horribly translated by Baidu. 1. Take the Ge Liheng Number Generator: <pre> list let g lv 5 3 3 loop d 1 while is d less than 64 do list let g lv lv 0 g 1 3 3 let d lv 0 d 1 all print number g all </p
12:01:24 <esolangs> [[Joke language list]] https://esolangs.org/w/index.php?diff=143590&oldid=143536 * PrySigneToFry * (+64)
12:02:06 -!- iddi01 has quit (Quit: Client closed).
12:03:26 <esolangs> [[]] M https://esolangs.org/w/index.php?diff=143591&oldid=143519 * PrySigneToFry * (-43)
12:04:28 <salpynx> I'm exploring techniques, and locating ones that work in short programs. I named this latest one 'unstable' because I think it might move down very rapidly based on the 3 loops at the end which I think were over-optimised
12:05:59 -!- iddi01 has joined.
12:06:02 <salpynx> I wasn't intending to 'cheat', but I'd be interested what others think, I was analysing progam performance vs. length and trying to extract what works
12:06:16 -!- wib_jonas has joined.
12:07:26 <wib_jonas> fizzie: to be clear what I proposed is neither of those, I proposed a set of fixed programs that do participate in the scoring and ranking of the variable programs, but aren't rotated out of the hill even if they're worse than other programs.
12:13:36 <salpynx> while exploring this, I had an idea of length classes, behemoths that try and cover every strategy in one class, and lightweight algorithms that try to do well with as few commands as possible in another. Size doesn't seem to be a big predictor of score though. There seems to be a moderate size required for being smart, and I think there's a limit on how well very short programs can possibly do
12:16:56 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=143592&oldid=143582 * None1 * (+329) /* Make Translated ORK/Mihai Again10 Mor ary! */ I've translated your code
12:17:09 <esolangs> [[User talk:PrySigneToFry]] https://esolangs.org/w/index.php?diff=143593&oldid=143592 * None1 * (+235) /* Make Translated ORK/Mihai Again10 Mor ary! */
12:17:34 <esolangs> [[User talk:PrySigneToFry]] M https://esolangs.org/w/index.php?diff=143594&oldid=143593 * None1 * (+0) /* Make Translated ORK/Mihai Again10 Mor ary! */
12:18:35 <salpynx> re. remixing, the performance ended up being substantially different from the originals that I thought it was worth submitting, if it only jumped a couple of places I agree that would be annoying. my first got 20 place better than its original, and this latest jumped 9 places, which was harder to do further up the list
12:20:25 -!- salpynx has quit (Quit: Leaving).
12:31:27 <esolangs> [[Translated ORK/None1 again8]] N https://esolangs.org/w/index.php?oldid=143595 * None1 * (+720) Created page with "1. [[Translated ORK/Mihai Again12|]] <pre>smb://foo.example.com Required virtual size does not fit available size: requested=(%d, %d), min=(%d, %d), max=(%d, %d) xo ching xwo:n it diL ymeertdings nurse. Alive? Use page cache The man ate bread.</pre> 2.
12:31:46 -!- Everything has quit (Quit: leaving).
12:32:18 <esolangs> [[Translated ORK/Mihai Again12]] https://esolangs.org/w/index.php?diff=143596&oldid=143533 * None1 * (+70)
12:38:28 <esolangs> [[Template:Username display restrictions since when]] https://esolangs.org/w/index.php?diff=143597&oldid=143499 * None1 * (-22) There's no point trying to violate the rules
12:40:08 <esolangs> [[Execode]] M https://esolangs.org/w/index.php?diff=143598&oldid=143500 * None1 * (-58)
12:44:38 -!- tromp has joined.
12:50:20 <esolangs> [[Talk:Basilisk]] https://esolangs.org/w/index.php?diff=143599&oldid=143537 * None1 * (+290) /* Slitherfangs */
13:17:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:17:52 -!- Birb has joined.
13:20:01 -!- Birb has quit (Client Quit).
13:20:54 -!- CanisCorvus has joined.
13:30:46 -!- iddi01 has quit (Quit: Client closed).
13:53:55 <esolangs> [[Tic Tac Toe(Program Form)]] N https://esolangs.org/w/index.php?oldid=143600 * PrySigneToFry * (+5659) Created page with "{{Distinguish/Confusion|Tic Tac Toe}} Tic-tac-toe is a three-in-a-row game invented by the Germans that requires players to take turns to draw crosses or circles on a nine-grid square board, and whoever first arranges three identical marks into h
13:54:46 <esolangs> [[Tic Tac Toe(Program Form)]] https://esolangs.org/w/index.php?diff=143601&oldid=143600 * PrySigneToFry * (+47)
13:55:35 <esolangs> [[Tic Tac Toe(Program Form)]] https://esolangs.org/w/index.php?diff=143602&oldid=143601 * PrySigneToFry * (-3)
14:05:59 -!- tromp has joined.
14:36:00 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=143603&oldid=143521 * None1 * (+220) /* Languages that I know how to write */
14:36:46 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=143604&oldid=143603 * None1 * (+1) /* Natural Languages */
14:37:42 -!- wib_jonas has quit (Quit: Client closed).
14:43:30 -!- wib_jonas has joined.
14:46:00 -!- Everything has joined.
14:51:51 <esolangs> [[Talk:Tic Tac Toe(Program Form)]] N https://esolangs.org/w/index.php?oldid=143605 * None1 * (+714) Created page with "In fact, there is a very simple strategy to not lose in Tic Tac Toe when you play first. Pick the square in the middle, then split the chessboard into 4 parts, like this: 112 4X2 433 Then, you always pick the other square in the part the opponent
14:53:38 <esolangs> [[Talk:Tic Tac Toe(Program Form)]] M https://esolangs.org/w/index.php?diff=143606&oldid=143605 * None1 * (-1)
15:24:41 <wib_jonas> Ok, I have a silly idea. Consider a language that is memory-safe, dynamically typed, and allows you manage user-defined composite types only by reference, like perl/python/ruby or scheme. Except imagine it insists on the by reference part even more, so there are no string value types, only mutable string buffer reference types. So far so good.
15:24:45 -!- Everything has quit (Quit: leaving).
15:26:48 <wib_jonas> Now change this to an esolang by not allowing destructors, whether built-in or user-defined. If you are holding a reference to heap, you'll have to explicitly call a freeing (or reference count decreasing) function on it. For a type that holds a unique reference, that freeing function will clear the reference too for memory safety; if there are
15:26:49 <wib_jonas> reference-counted allocations then you may need something slightly more complicated.
15:27:29 <wib_jonas> Why? I don't know, I don't think this has any advantage, it just occurs to me that this part of the language space could theoretically exist but it seems underexplored.
15:27:48 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:28:10 <wib_jonas> If you fail to call the destructor explicitly, the resources owned will just get leaked forever.
15:31:43 <esolangs> [[User talk:Superstitionfreeblog]] https://esolangs.org/w/index.php?diff=143607&oldid=143580 * Superstitionfreeblog * (+300)
15:32:43 <esolangs> [[List of ideas]] https://esolangs.org/w/index.php?diff=143608&oldid=141617 * B jonas * (+148) /* General Ideas */
15:33:35 <wib_jonas> This would be easier to design and implement than some other unusual combinations of properties by the way.
15:39:36 <korvo> wib_jonas: This occurs in e.g. RPython, when allocating buffers for FFI calls. The pattern is technically RAII or context management, but it feels like writing a callback.
15:40:11 <korvo> Like, here's my record for nested RAII in RPython; it's only five deep: https://github.com/monte-language/typhon/blob/master/typhon/rsodium.py
15:41:21 <korvo> This is sugar for nasty explicit alloc and free with exception-handling, mostly.
15:42:32 <wib_jonas> korvo: I'm not sure if that counts as five deep, since the five memory blocks that you allocate don't depend on each other, so you could write it as just one with statement.
15:44:09 <esolangs> [[Filename "xxx" doesn't seem to be a valid filename. Please check if the filename your trying to execute is written correctly]] https://esolangs.org/w/index.php?diff=143609&oldid=138455 * Ractangle * (+64) /* See also */
15:44:22 <korvo> Yeah, that's fair. I don't know if that actually works in RPython, but it should.
15:44:25 <esolangs> [[Filename "xxx" doesn't seem to be a valid filename. Please check if the filename your trying to execute is written correctly]] https://esolangs.org/w/index.php?diff=143610&oldid=143609 * Ractangle * (-64) /* See also */
15:45:04 <wib_jonas> but also interesting, thanks for showing that code
15:50:27 -!- amby has joined.
15:56:23 -!- tromp has joined.
16:13:14 -!- ais523 has joined.
16:18:53 <wib_jonas> unrelated topic, this blog seems interesting, it talks mostly about printing and scanning machine binary floating point numbers as decimal and why both are difficult: https://www.exploringbinary.com/
16:20:41 <ais523> several years ago there a couple of decimal float constants were making the Internet programming news because programming languages that were expected to be mature had issues parsing them
16:20:52 <ais523> either returning the wrong value or even entering an infinite loop
16:22:26 <wib_jonas> I sort of knew that these were hard problems, but that blog convinced me that they are even harder than I thought
16:22:38 <ais523> ah, it's actually discussed on the blog you linked
16:22:47 <ais523> e.g. https://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/
16:27:01 -!- Everything has joined.
16:27:38 <wib_jonas> my claim to fame here is that I found that sqlite3 had a bug where it sometimes incorrectly compared a double to an uint64_t, which can lead to a corrupted index for a table indexed on a column that has both floating point and integer values. usually you don't want to deliberately have both values mixed, but it can easily happen by accident because
16:27:39 <wib_jonas> some sqlite3 expressions convert a string to a number in a way that whether the result is integer or double depends on the value of the string, or you can get a similar problem if you insert into an sqlite3 table from another language that does the same, such as perl or lua.
16:31:46 <wib_jonas> perl actually also has the same comparison bug (or used to have it last I looked), which means sort {$a<=>$b} might give a result that's not sorted if you pass it strings, but it's less clear if it counts as a bug there, because sort {$a<=>$b} can also give a result that's not sorted if you pass it floats some of which are NaN, and that's probably
16:31:46 <wib_jonas> by design. maybe I should report it as a bug to perl, but I don't really have the guts to report bugs to perl anymore.
16:32:00 -!- wib_jonas has quit (Quit: Client closed).
16:34:45 <ais523> there was an analysis (that ended up informing decisions made by the Rust standard library) of what sorting algorithms did if given a comparison function that wasn't a total order – some of them ended up duplicating elements, entering an infinite loop, or crashing
16:35:42 <ais523> apparently, at one time, this prevented Android phones from making emergency calls in some situations – they were trying to sort a list to determine the best program/function to use to make the call, but broke ties arbitrarily using hashcode
16:36:56 <ais523> which seems fine, except that the tiebreak comparison was implemented as (x.hashCode() - y.hashCode()) without guarding against integer overflow, so if there were three tied elements in the list, they could be cyclically greater than each other (according to the comparison) if one or two of the comparisons overflowed on the subtraction and the others didn't
16:37:08 <ais523> and apparently this was enough to send the sort algorithm into an infinite loop
16:37:52 <ais523> Rust now has a requirement for sorting algorithms in its standard library that, no matter how badly behaved the comparison function, they always either return a permutation of their inputs or panic
16:38:14 <ais523> (and they're encouraged to panic if they notice that the comparison function isn't transitive, although of course a non-transitive function won't always be detected as that would involve extra comparisons)
16:38:54 <korvo> There's a Dave Ackley paper about that, too. Not the Movable Feast Machine, but about bubble sort and robustness under errors.
16:40:33 -!- wWwwW71 has joined.
16:40:34 <korvo> ...I think it might be this one? But I could have sworn it was a little longer and directly challenged the reader more. https://www.cs.unm.edu/~ackley/papers/ftxs2014-accepted.pdf
16:42:52 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143611&oldid=143573 * Ractangle * (+370) /* Syntax */
16:43:43 -!- wWwwW has quit (Ping timeout: 256 seconds).
16:45:20 <korvo> wWwwW71: What's up?
16:45:44 -!- wWwwW71 has quit (Quit: Ping timeout (120 seconds)).
16:47:24 <ais523> now I'm trying to work out who or what manually wrote that ping timeout message
16:47:28 <ais523> it isn't one of Libera's
16:52:55 <esolangs> [[Olus2000]] https://esolangs.org/w/index.php?diff=143612&oldid=143317 * DolphyWind * (+2771)
16:54:47 <esolangs> [[User:Dolphy]] https://esolangs.org/w/index.php?diff=143613&oldid=143197 * DolphyWind * (-34) Redirected page to [[User:DolphyWind]]
16:56:47 -!- wWwwW has joined.
16:56:48 <wWwwW> so what it is is ou have unicode chars and you do topological transfomation opne them
16:59:33 <ais523> doesn't that depend on the font?
16:59:46 <wWwwW> jusdt predefine a font
17:00:08 <ais523> I think one of cpressey's languages is based on the topological genus of the characters used in the program
17:02:53 <ais523> https://esolangs.org/wiki/Wunnel
17:03:14 <ais523> although it only cares whether there's a hole in the character or not, and doesn't specifically define the font
17:08:57 <ais523> hmm… I think one technique for designing esolangs is to start with an idea and build a language that works with the idea, and work out what effect the idea has on the rest of the language – but sometimes the answer is "there isn't much of an effect", and then the idea works better as something to mix into another language to spice it up a bit rather than something that makes a language on its own
17:09:24 <ais523> lots of people dislike LOLCODE because the although programs look funny, it's just a strange syntax for a fairly normal language
17:10:20 <ais523> (although the way in which it achieves TCness is weird – the specification sets a limit on integer sizes but not on string lengths, so the only actual means of infinite storage is forming large strings via concatenation, and the only way to retrieve it is to compare those strings to each other)
17:10:39 <ais523> int-e: I think that was the first BF syntax substitution? or at least the first widely known one
17:10:52 <ais523> and that's an interesting idea, once
17:10:55 -!- Everything has quit (Quit: leaving).
17:10:58 <ais523> but has been really done to death and beyond in the years since
17:11:13 <int-e> Plus the next esolang by DMM was Piet
17:12:38 <ais523> even then, Piet is mostly just an interesting syntax on a fairly basic 2D imperative language
17:12:56 <ais523> the way it does conditionals is less interesting than I expected/remembered
17:13:54 <int-e> I think it still did something that hadn't been done
17:14:40 <ais523> also, for some reason in our article on Piet, the computational class section is at the start, before the specification
17:15:11 <int-e> . o O ( The next ω Brainfuck substitutions. )
17:15:12 <ais523> and it's bothering me a bit but I'm not sure whether it's worth fixing (and might even be a form of meta-commentary – the article is upside-down, and there's a discussion of upside-down Piet paintings later on)
17:15:30 <ais523> the thing about ω is that even after those occur, there will still be an ω+1
17:16:22 <ais523> I was working on an esolang that had transfinite loops, but gave up that approach when I realised that it could solve the halting problem and therefore I probably wouldn't be able to implement it
17:16:54 <int-e> ais523: the specification part is newer, https://esolangs.org/w/index.php?title=Piet&oldid=73573 vs. https://esolangs.org/w/index.php?title=Piet&oldid=73620
17:17:48 <esolangs> [[Olus2000]] https://esolangs.org/w/index.php?diff=143614&oldid=143612 * DolphyWind * (+42)
17:18:23 <ais523> https://esolangs.org/w/index.php?title=Piet&oldid=73573&diff=73620
17:18:37 <ais523> just looks like the spec was added in the wrong plce?
17:23:22 <esolangs> [[Olus2000]] M https://esolangs.org/w/index.php?diff=143615&oldid=143614 * DolphyWind * (+35) I just realized my grammar is wrong, oops
17:23:45 <wWwwW> ugh i have no ideas for esolangs
17:23:52 <wWwwW> everything has been done or is impossible
17:29:00 <esolangs> [[Olus2000]] M https://esolangs.org/w/index.php?diff=143616&oldid=143615 * DolphyWind * (+0) Fix grammar again
17:29:52 <ais523> there is a reason I tend to take a while between making esolangs
17:30:10 <ais523> I have been mentally working on the BF Joust derivative I was talking about recently
17:30:12 <wWwwW> its my only activity
17:30:13 <korvo> wWwwW: Why would you put such expectations on yourself? Historically, linguists don't construct languages until they're twice your age.
17:30:48 <korvo> Even Gauss and Euler were not inventing new branches of maths at that age.
17:31:14 <ais523> my plan is for it to effectively be a state machine, + 1 counter, + 1 pointer to the tape (which can only be set by updating it to your own current location): conditionals can test the current cell value (time-consuming, like in BF Joust), or the counter, distance from the pointer, or distance from your own flag (non-time-consuming)
17:31:16 <wWwwW> but i hate just scrollin yt shorts
17:31:36 <ais523> I think what you need is a large project you can work on
17:31:51 <ais523> when I was your age I was writing terrible RPG clones in Microsoft Excel
17:31:58 <wWwwW> i do have my conlang but like idk what t work on
17:32:16 <wWwwW> also i (not to brag) is too fast with everything
17:32:20 <wWwwW> like i make music in one day
17:33:07 <ais523> actually, this is part of what lead me to eventually give up on Microsoft software – I was basically pushing the tools I was working on to the limit of what they could do, then it would break in the next version
17:34:03 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:35:12 <wWwwW> hey korvo kan you link me to MENACE?
17:35:33 <ais523> Excel might seem like a horrible choice, but it's a marginally workable programming language (Visual Basic) combined with a persistent storage mechanism (the spreadsheet cells), combined with a mechanism that's just-about capable of creating a UI
17:35:59 <ais523> because you can resize the cells to be square and have the language change the background colors
17:36:41 <ais523> I think very few programming platforms provide this combination of features in an easily accessible way – but it's a pretty good combination for experimenting children
17:37:04 <wWwwW> also i can do nothing cuz
17:37:06 <ais523> two out of three isn't hard
17:37:11 <wWwwW> im danish and have a 12 yr old high serria
17:38:43 <ais523> I would encourage you to write programs, though, using whatever technology you have available – even if (maybe especially if!) it's terrible
17:38:59 <wWwwW> its not that its bad
17:39:08 -!- tromp has joined.
17:41:24 <ais523> when I was somewhat older, I tried to learn Python using the bots in this channel
17:41:42 <ais523> which meant writing Python programs all on one line, which didn't do much for the readability
17:41:58 <ais523> I was using exec("") and putting spaces and newlines into the string, using single-space indentation
17:45:43 <korvo> wWwwW: https://www.youtube.com/watch?v=R9c-_neaxeU
17:54:37 -!- CanisCorvus has quit (Quit: Client closed).
17:55:12 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143617&oldid=143611 * Ractangle * (+31) /* How to get Snakel */
17:58:15 <b_jonas> ais523: re sorting functions, the sorting function in old versions of perl had a similar problem, in particular it could access array out of bounds or something bad like that when the sort function was giving wrong results
18:00:11 <b_jonas> ais523: also in the rust standard library, the sorted search trees like BTreeMap have somewhat fewer guarantees, in particular those are allowed to go to an infinite loop from an incorrect Ord according to the documentation
18:00:19 <esolangs> [[Torth]] N https://esolangs.org/w/index.php?oldid=143618 * DolphyWind * (+7367) Created page with "{{infobox proglang |name=Torth |paradigms=Concatenative |author=[[User:DolphyWind]] |year=[[:Category:2024|2024]] |memsys=[[:Category:Stack-based|Stack-based]] |class=[[:Category:Turing complete|Turing complete]] |majorimpl=[https://github.com/DolphyWind/esoteric/tree/
18:02:14 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143619&oldid=143617 * Ractangle * (+290) /* How to get Snakel */
18:02:54 <b_jonas> I'd prefer somewhat stronger guarantees, as in I'd like a sort function that guarantees that it always returns a permutation of the input (doesn't go to an infinite loop or panic unless the comparison function that it calls does), and further, if you can partition the inputs such that any item in an earlier partition always compares less than any item in a later partition (but within a partition the
18:03:00 <b_jonas> comparison can return anything) then the items in earlier partitions always occurr earlier in the output slice
18:04:03 <b_jonas> and I'd like similar guarantees to the trees, only in that case I'm not sure I know what exact guarantees I'd want
18:05:49 <ais523> hmm, I wonder if those guarantees can be upheld in O(n log n) time
18:06:42 <ais523> I think mergesort does it? each of the lists being merged will always be sorted by partition, and the merge will merge in partition order
18:08:53 <b_jonas> they can be upheld in O(n log n) time, but I don't know if they can be upheld without too much slowdown in practical cases
18:09:53 <b_jonas> so maybe you need different implementations for this and a sort with more relaxed guarantees
18:10:34 <ais523> at some point, designing a sort algorithm is like designing a compression algorithm – anything you do to increase performance in some cases will reduce it in others, so the aim is to find optimisations that help in common cases, and either hurt only cases that are unlikely to happen, or hurt all the not-very-common cases by an equal insignificant amount
18:10:55 <ais523> come to think of it, that's surprisingly similar to BF Joust
18:16:19 <int-e> any parsimonious sorting algorithm will do the trick, because it necessarily establishes x_1 <= x_2 <= ... <= x_n for its output, and that forces partitions to be separated with the smaller partition coming first (no larger element can immediately precede a smaller one)
18:16:22 <b_jonas> sure. and for sort (or the search trees like in the sqlite3 index), compression, or floating point scanning or printing in decimal, you need worst case guarantees because you will often run them on adversarial input.
18:17:57 <int-e> not sure what the tree constraint was supposed to be
18:18:46 <b_jonas> int-e: I don't think so. that would be true for a sorting network, but a sorting algorithm can do conditionals (or even array indexing) interactively that depends on previous results from the comparison function, and when you prove that it establishes those inequalities you might use the condition that the comparison function returns consistent results and is transitive
18:18:59 <int-e> anyway, that should allow merge sort, some implementations of heap sort, and quite a few quadratic time algorithms
18:19:45 <int-e> b_jonas: if you haven't compared two elements that are adjacent in the result then they could be swapped
18:20:01 <b_jonas> quadratic time is somewhat easier because it can try every comparison at least once
18:20:34 -!- CanisCorvus has joined.
18:20:47 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143620&oldid=143619 * Ractangle * (+462) /* Truth-machine */
18:20:50 <int-e> the point of involving parsimony is that it means that the comparisons you've seen are actually consistent with a partial order.
18:21:19 <b_jonas> int-e: yes, but I don't think that refutes what I'm saying. I'll have to think more about this though, maybe there aren't bad sorting algorithms of the kind I'm imagining
18:21:30 <ais523> b_jonas: ooh, I think the correct requirement is that we want the output to be a valid tsort of the input, where x is considered greater than y in the tsort if the comparison algorithm can report that x is greater than y, and vice versa
18:21:38 <ais523> or, well, with less rather than greater
18:21:45 <ais523> this might be equivalent to your partition condition
18:21:53 <ais523> (here, a cycle in the tsort can appear in arbitrary order)
18:22:06 <int-e> b_jonas: if you haven't compared x_1 and x_2 then you can't tell which order they should be in in the result
18:22:15 <int-e> same for x_2 and x_3 and so on.
18:23:05 * int-e is thinking of this as learning a total order by doing comparisons, starting with the discrete partial order on the inputs
18:23:33 <b_jonas> int-e: in particular, suppose I want to sort just three values, and for this I use an algorithm that does all three comparisons and then looks up the three results in a pre-filled 27 element lookup table, where each element tells me the permutation that I should apply. if I assumed that the comparison function is proper then I might have put garbage in the elements of the lookup table for a cyclic
18:23:39 <b_jonas> ordering a<b<c<a and so the sort might segfault when it gets that result
18:24:01 <int-e> b_jonas: that's not parsimonious in all cases
18:24:23 <int-e> parsimony means that if you have established a < b and b < c, you're no longer allowed to compare a and c.
18:24:41 <b_jonas> int-e: oh, but that excludes a lot of practical sorting algorithms
18:24:49 <int-e> but it does include merge sort
18:25:10 <b_jonas> yeah, at least some merge sorts can satisfy it, so it's not like an impossible requirement
18:25:59 <ais523> quicksort also complies with that (but isn't always O(n log n))
18:25:59 <int-e> basically I was substantiating <ais523> I think mergesort does it?
18:26:34 <b_jonas> ais523: not all versions of quicksort do, but sure
18:27:09 <ais523> b_jonas: I'm thinking of a traditional recursive in-plce quicksort
18:27:23 -!- wWwwW has quit (Quit: Client closed).
18:27:32 <int-e> yeah, any pivot selection will kill it of course
18:27:37 <ais523> where you pick a pivot, swap everything lower to the left and everything higher to the right (with the pivot ending up in between), then recursively sort the lists below and above the pivot
18:28:03 <int-e> *any* - like picking the median of start, end, and central elements
18:28:03 <b_jonas> ais523: I think I've seen a version of quicksort that, for large enough arrays, takes three elements, finds their median, and then partitions the large array to two around that median. I think that one isn't parsimon... what's that word?
18:29:25 <b_jonas> if a sorting algorithm had parsley in it that'd me suspicous of that algorithm a bit
18:29:44 <ais523> b_jonas: I think there's an O(n log n) quicksort based on median-of-medians to guaranteed pick a pivot that isn't too low or too high, although it's exceptionally complicated and almost certainly worse than the alternatives
18:30:33 <b_jonas> ais523: oh yeah, but that's not what I was thinking of, this one is simpler. I don't remember if it picks the three candidates randomized or not.
18:30:35 <int-e> hmm, actually... if you do the median selection parsimoniously and seed the partitions based off that (so never comparing those 3 elements again) it should still be parsimonious.
18:31:19 <int-e> but it really depends on how exactly you implement your quicksort, including potential clever tricks for terminating the partitioning loop
18:31:20 <ais523> I have a feeling that it might sort-of degenerate to mergesort if you do enough median comparisons to make it O(n log n)
18:31:23 <b_jonas> of course any non-randomized quicksort would be right out for something like rust's sort functions, because the can take quadratic time on adversarial input that's not even hard to find
18:32:13 <ais523> I remember seeing a "maximally perverse comparison function" which would compare things transitively, but only decided on their relative ordering when it was actually called, and chose it (based on the elements it was given) to try to force sorting algorithms into worst cases
18:32:32 <int-e> ais523: heh that reminds me of the observation that a top-down merge sort, implemented with lists and evaluated lazily, becomes a whacky heap sort dynamically
18:32:34 <ais523> I think, but am not sure, that there was a claim that it could make any sorting algorithm hit its worst case, possibly under certain assumptions
18:33:25 <b_jonas> ais523: right, but you don't even need that, if you have the source code of the quicksort function then you can probably feed it an array of small integers on which it performs badly and it's not too expensive to find such an array
18:33:50 <ais523> b_jonas: yes but it's much more interesting if you don't have the source code
18:34:35 <b_jonas> maybe in theory, but relying on an adversary not knowing the source code is usually a bad idea
18:35:54 <ais523> well, the attack is more interesting – the defence may not be
18:36:44 <esolangs> [[Special:Log/newusers]] create * Pin * New user account
18:38:19 <b_jonas> ais523: there is kind of a difference in defense, because with a well-behaved comparison function but adversarial elements in the slice, you can in theory defend with a randomized quicksort, but I don't think randomized quicksort is actually worth as a defense from adversarial attacks, some other sorting algorithm is usually better as defense
18:38:47 <b_jonas> with an adversarial sort function, randomized quicksort isn't enough
18:39:04 <ais523> yes, randomising doesn't help against the adversarial comparison function
18:42:46 <b_jonas> https://www.youtube.com/watch?v=zDsqJTD5LL0 => GeoGuessr with two people betting the stake that the loser has to travel to the location for which they gave the most wrong (most distant) answer. am I the only one thinking that's a really stupid bet, because it creates the perverse incentive to throw by deliberately guessing very far from a location that is easy to travel to?
18:43:53 <ais523> I suspect that there are probably hidden rules involved that are not stated (in the video, and possibly not even between the participants)
18:44:10 <ais523> unless it's Agorans playing it, in which case it would be expected behaviour
18:47:37 <ais523> even with the perverse incentive, the game still works, because you are aiming not to throw by as much as possible, but simply throw by more than the maximum distance you'll get it wrong on your other answers, so that you can avoid travelling at all if you are better at GeoGuessr than your opponent and they use the same strategy
18:51:18 <b_jonas> ais523: maybe. it depends on how much you'd like to travel. in my case I wouldn't like to travel outside of Europe, and here the first location was clearly European France, which I'm fine with traveling to, so I'd probably throw to the antipode in that round
18:52:40 <b_jonas> ais523: also they're both beginners in GeoGuessr (which makes the bet strange in first place) so I'm not sure if either of them can confidently know that they're better than the other in GeoGuessr
18:53:16 <ais523> now I'm wondering what other Frances there are
18:53:30 <b_jonas> and to be clear, they did recognize France (they live in the UK so it's not too surprising)
18:54:22 <b_jonas> ais523: there are a few bits in Africa, especially Madagacar and Réunion, a bit or two in Central-America or South-America, and ... maybe there's something in Asia too? I can't remember
18:54:37 <b_jonas> not Madagascar, sorry, what's the other one in Africa?
18:55:53 <b_jonas> I don't remember the specifics, I just remember there are bits of France very spread out around the world with various statuses spread out well in the range of part of france to independent ex-colony of france
18:56:18 <ais523> I've watched expert Geoguessr players play, they can figure out what sort of equipment has been used to take the pictures by looking at its shadow, and that immediately narrows down the range of different countries because they had different camera equipment available in different countries
18:56:31 <b_jonas> and also that in GeoGuessr the natural geography and especially plants in the non-European parts looks very different from European France, but the man-made stuff, especially bollards and phone numbers, look very much like France
18:56:43 <ais523> (obviously the camera doesn't take a picture of itself unless it happens to look in a mirror, which is rare – but it often takes a picture of its own shadow)
18:58:19 <b_jonas> ais523: I have watched a lot of geoguessr plays. whether they qualify as "experts" is a matter of definition, but at least they're good enough that I can learn from them, and a few of them even aim to teach Geoguessr.
19:01:05 <b_jonas> (obviously because there's so many bits of France outside Europe, what I said might not apply to all bits of them)
19:05:15 <b_jonas> hehe, the sixth location in that video is funny, because it starts by looking at a vehicle with “Tromsø taxi" written on it
19:06:33 <b_jonas> and then later a building that says “Tromsø” in big letters on its front
19:18:10 -!- craigo has quit (Quit: Leaving).
19:20:28 -!- wWwwW has joined.
19:21:19 <wWwwW> hey korvo on menace i have to questions
19:21:27 <wWwwW> first could you make it text based and a program
19:21:48 <wWwwW> seocnd of all if you dot have error handeling what would happen if you inputted some random shit?
19:24:47 <korvo> wWwwW: Yes, it can be implemented as a program. The matchboxes and beads are just a very slow abacus-like computer.
19:25:26 <korvo> And, interestingly, random inputs still can allow learning the correct behavior at a decent rate. The trick is to enforce the *rules* of tic-tac-toe.
19:25:59 <wWwwW> now his makes no sense but:
19:26:05 <wWwwW> if you make it print the learning progress
19:26:14 <korvo> This is how the "Alpha" series from DeepMind works when playing Go or Chess; it plays random legal moves and slowly learns what moves are good from what rules are allowed.
19:26:15 <wWwwW> then feed it back into menace for it to learn
19:26:28 <wWwwW> how to play its learning process
19:26:30 <esolangs> [[Ekativ]] https://esolangs.org/w/index.php?diff=143621&oldid=143558 * She.the.people * (-258)
19:27:07 <korvo> Sure. This was the "Zero" series from DeepMind; they learned by playing against themselves. Really, this was *two* learning processes at the same time.
19:27:59 <wWwwW> but the actual input of this text based menace is just copy pasted from an uotput describing the larning process
19:29:42 <korvo> wWwwW: Ah, no. "describing" means that you're thinking of a document for humans. But MENACE is only a pile of matchboxes.
19:30:15 <wWwwW> yea but if you format it
19:30:23 <wWwwW> like what would happen?
19:30:32 <wWwwW> in a format that works ofc
19:30:51 <korvo> The question makes no sense, sorry.
19:31:11 <korvo> It's like asking what happens if I play Mozart for a plant.
19:31:38 <korvo> Of course the Mozart, being audio waves, will vibrate the plant. But it won't be meaningful to the plant; it won't be water, nitrates, etc.
19:32:16 <korvo> Similarly, of course you can take a human-readable document and encode it as a series of tic-tac-toe moves. But MENACE only cares about one meaning of tic-tac-toe: what move is least likely to lose.
19:32:16 <ais523> apparently some plants are able to communicate, but they typically do it by releasing chemicals into the soil that other plants are able to detect
19:32:44 <wWwwW> trees do that normally
19:33:24 <wWwwW> which humans cant do lol
19:36:22 <esolangs> [[Ekativ]] https://esolangs.org/w/index.php?diff=143622&oldid=143621 * She.the.people * (+58)
19:38:29 <korvo> wWwwW: Maybe it's worth pointing out that a learning machine doesn't understand what it learns. Its outputs improve over time (perhaps assuming that the inputs are diverse or easy in some way) but it doesn't do that by building some sort of model of its context or problem.
19:38:56 <korvo> MENACE doesn't have any model of tic-tac-toe. It has an annotated graph of the possible moves of tic-tac-toe.
19:40:46 <korvo> Similarly, ChatGPT doesn't have any model of human knowledge. It has a pile of weights which indicate how letters and words are related to each other in a typical piece of human writing.
19:41:19 <korvo> It's not weird at all.
19:42:04 <wWwwW> mathemtically it maikes sense
19:42:34 <wWwwW> but it seems counterintuitive that doing matrix shit on a bunch of word numbers makes chatbot
19:42:56 <korvo> Why? What's the non-weird way to have a chatbot?
19:43:34 <korvo> If you dig into this, you'll find that *every* chatbot is built upon some model of linguistics. Somebody decades ago said that language works a certain way, they wrote a program which simulates their model, and then they put a chat interface on top.
19:43:57 <ais523> actually the weird thing about ELIZA is that even though it rapidly becomes clear that it's basically only just rephrasing what you just told it, forever, quite a few people seemed able to have long conversations with it and thought it was helpful/friendly
19:50:06 <wWwwW> no like for normal people who dont program
19:52:54 <korvo> wWwwW: Sorry, I don't know how to take that point seriously. Yes, people who don't know about computers are going to think that computers are weird and magical.
19:53:16 -!- wWwwW has quit (Quit: Client closed).
19:53:58 <korvo> Clearly I should have just repeated my insistence that they learn how to read and write code~
19:55:27 <ais523> I feel like it's hard to create a good esolang without understanding what programming is and isn't capable of
19:56:20 <ais523> esolanging is a wide hobby, there's a big spectrum all the way from pure science to pure art, and everywhere in between
19:56:30 <b_jonas> hehe, "what programming is and isn't capable of" is a rather big topic
19:56:52 <b_jonas> but sure, you want to know at least the basics of it
19:56:58 <ais523> but the science can be part of the art, whereas someone who doesn't understand programming won't be able to add that aspect into their artistic works
19:57:49 <korvo> I feel like I'm watching a teenager's brain get sucked out one paragraph at a time by OpenAI products and I'm not sure how to show them that those products are merely the latest iteration of a decades-old tradition.
19:58:46 <ais523> I feel like this is affecting more than just teenagers, it may be even worse with adults
19:59:09 <ais523> just because it keeps happening over and over again doesn't mean that people actually learn
19:59:58 <b_jonas> I'm still trying to parse if korvo means "teenager's" or "teenagers'"
20:01:08 <int-e> I assume korvo means wWwwW
20:01:44 <int-e> https://arxiv.org/abs/2410.05229 -- nice to see some research into the obvious
20:02:12 <ais523> occasionally the obvious turns out to be incorrect; and often it turns out to be correct but people don't believe it
20:02:20 <ais523> having research is useful in either case
20:03:53 <ais523> int-e: there's an interesting markup mishap in that abstract
20:04:21 <int-e> tl;dr: modifying the data of highschool text problems makes LLMs worse, and adding irrelevant information to the text problems makes LLMs perform worse. This is with the "chain of thought" mechanic where the network redigests its own output to refine it and mimic a reasoning process
20:05:13 <ais523> the latter part of that tl;dr would not be surprising even if they were capable of doing complex reasoning; the surprising part is that it makes them perform much worse
20:05:32 <ais523> or maybe not that surprising, as it will mostly have been trained on questions where all the givens were relevant
20:05:42 <int-e> Ah it's a missing space in the PDF, "models.Our" instead of "models. Our"
20:06:04 <ais523> yes – I figured that out, but the consequences it had are slightly more interesting than usual
20:06:32 <int-e> looks unassigned, but it could be?
20:06:42 <int-e> (it doesn't sound very marketable)
20:07:08 <ais523> .us is very marketable
20:07:22 <fizzie> .you is a TLD, though .your isn't, not sure if that says anything about .our.
20:07:23 <ais523> I guess the issue is that "our" wants to go at the start of the URL rather than the end
20:07:26 <int-e> but that's not a gTLD
20:08:01 <int-e> or maybe you could call it an accidental gTLD
20:08:15 <ais523> it seems pretty usable for URL hacks, but mostly only in English, and many of the websites doing that will happen to be in the US anyway
20:08:24 <int-e> together with .tv .io and probably more I can't think of right now
20:08:36 <ais523> .tk although that takes a different approach
20:09:04 <int-e> hmm .pl for perl programmers?
20:09:28 <ais523> .ly is commonly used for url hacks, oddly often with words that don't naturally end in "ly" even though it's a common ending
20:09:46 <fizzie> Hmm, .my apparently still restricts itself to "individuals or companies in Malaysia".
20:09:50 <ais523> this has lead to some issues because the Lybian authorities aren't necessarily happy with all the content people might want to put there
20:10:03 <fizzie> (.fi used to, but they went all capitalist free-market eventually.)
20:10:18 <ais523> on a semi-related note, I was really surprised to discover that MySql was named after a person named My, rather than the pronoun
20:10:54 <ais523> I think .uk is still restricted to the appropriate nationality, or possibly just with huge discounts
20:11:10 <fizzie> Little My is a character in the Moomins.
20:13:50 <fizzie> Translated to Finnish as "Pikku Myy" since then it gets pronounced right, but it's a little silly because fi:myy is also indicative-mood, present-tense 3rd-person singular inflection of fi:myydä 'to sell'. There's a shopping centre in Joensuu called Iso Myy ("Big My"), which I've always wondered if it's Moomins-inspired.
20:13:50 <b_jonas> fizzie: domain name registration under .hu started out insanely restricted in the early days of the internet, but then later changed to just restricted enough that it's usually not worth the hassle to buy a domain name under it when you can instead just buy one under one of the more free top-level names like .net
20:15:30 <b_jonas> the old rules were that only organizations could buy domain names and only domain names that is close enough to the name of that organization as registered in a few government registries, as in mostly business companies and media organizations like newspapers and TV channels, and even then only if the domain name wasn't a generic common word.
20:16:04 <ais523> was "generic common word" evaluated in Hungarian or English or both?
20:16:50 <fizzie> Oh, I think for .fi also you originally needed a company or a registered organization. Then FICORA (Finnish Communications Regulatory Authority, a department of the Ministry of Transport and Communications) started selling them directly to individuals (but you still needed to be a resident in Finland), and then when they opened them up worldwide they also made it so that you have to buy through a
20:16:52 <fizzie> reseller, not from them directly.
20:17:13 <ais523> it's interesting to see transport and communications in the same ministry
20:17:13 <b_jonas> I'm not entirely sure about the new rules, but I think they barely restrict what domain name you can buy, slightly restrict who can buy (this part got easier because of EU), and severely restrict how you can buy (I think there's like two weeks of wait or something, I'm not sure, I stopped trying to find out more because I realized other top-level domains are clearly better)
20:17:42 <ais523> there is logic behind it – one transfers people and objects over a distance, the other transfers information
20:18:04 <b_jonas> "buy through a reseller" makes sense for this kind of thing
20:18:33 <fizzie> Yeah, it was kinda weird to transact business directly with FICORA as an individual.
20:19:07 <fizzie> I think they used the same web thing they use for other kinds of licensing matters, which was kind of geared towards businesses and other such.
20:19:55 <fizzie> Although I think it was also marginally cheaper than it is now.
20:23:03 <fizzie> Looks like they've dropped the length requirement down from 3 to 2 characters, and the obvious .fi domain (hi.fi) has been registered.
20:23:10 <b_jonas> ais523: the rule for no generic words kind of made sense in context, because media organizations were the most interested in having domain names, and they often have generic names, you know, like a lot of newspapers called "Times", and, in Hungary in particular, two different TV channels called "TV2" (though officially not both called that at the same time)
20:23:32 <b_jonas> fizzie: do they allow digits only?
20:23:52 <b_jonas> do they allow domain names with digits only?
20:25:22 <ais523> fizzie: there's also wi-fi for domain hacks of that nature, although it's less clear what you'd put there
20:26:06 <fizzie> Looks like wi.fi is registered, but not hosting a website.
20:27:31 <fizzie> "The permitted characters in fi-domain names are letters from a to z, numbers from 0 to 9, hyphen-minus and the following native language characters: áâäåčđǥǧǩŋõöšŧžƷǯ."
20:27:48 <fizzie> Doesn't say whether it could be digits-only or not.
20:28:17 <b_jonas> wait… I can't tell what native languages some of those are for
20:28:26 <fizzie> "åäö" are in the Finnish alphabet, I think the remainder of those are different Sami languages that have some sort of official recognition.
20:28:49 <fizzie> Or possibly that should be Sámi.
20:29:23 <b_jonas> well technically "åäö" is also for swedish language which is relevant enough in finland, but yeah
20:30:06 <fizzie> Swedish is also an official language, yes. It's notably missing the Danish/Norwegian æ and ø, though. Probably because they're not.
20:31:30 <b_jonas> I know "õ" is notably used in estonian and portugese and not much else, so that might be why it's there
20:32:06 <b_jonas> and I think š and ž or something like that are sometimes used to transcribe loanwords or names in Swedish
20:32:11 <fizzie> "In the Skolt Sami language, this letter (õ) is the 25th letter of the alphabet, pronounced as [ɘ]."
20:32:43 <b_jonas> but it's the "ǥǩŋŧƷǯ" that completely puzzle me, I have no idea what those are for
20:32:59 <fizzie> Similar story there, I think.
20:33:53 <fizzie> https://en.wikipedia.org/wiki/Skolt_S%C3%A1mi#Writing_system mentions at least ǥǩŋʒǯ.
20:34:08 <b_jonas> and "ǧ" I thought is a turkish letter, but that doesn't seem to be why it's in that list because the other common turkish letters Ş and Ç aren't there
20:34:25 <fizzie> (And ŧ is apparently part of the Northern Sámi alphabet.)
20:34:57 <fizzie> Our group at the university did some work with Sámi languages, which are all very underresourced when it comes to speech recognition and/or synthesis.
20:35:49 <b_jonas> also that they are for Sámi languages at least explains why that list confuses me
21:11:17 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143623&oldid=143620 * Ractangle * (+675) /* Syntax */
21:12:18 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143624&oldid=143623 * Ractangle * (+39) /* Syntax */
21:12:44 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143625&oldid=143624 * Ractangle * (+7) /* Syntax */
21:13:15 <esolangs> [[Snakel (Ractangle)]] https://esolangs.org/w/index.php?diff=143626&oldid=143625 * Ractangle * (-91) /* Ultium 2.0-Ultium 3.0 Beta */
21:22:36 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:30:31 <esolangs> [[BAL]] https://esolangs.org/w/index.php?diff=143627&oldid=143231 * Ractangle * (-219) /* Commands */
21:30:41 <esolangs> [[BAL]] https://esolangs.org/w/index.php?diff=143628&oldid=143627 * Ractangle * (-25) /* Hello, world! */
21:32:55 <esolangs> [[Empty Program]] https://esolangs.org/w/index.php?diff=143629&oldid=141352 * Ractangle * (-138)
21:43:16 <HackEso> olist <https://www.giantitp.com/comics/oots1312.html>: shachaf oerjan Sgeo boily nortti b_jonas Noisytoot
22:01:57 -!- molson_ has joined.
22:04:08 -!- molson has quit (Ping timeout: 245 seconds).
22:14:28 -!- Sgeo has joined.
22:22:17 <b_jonas> if I'm making a tetris game, in each of these areas, how much of a virtue or vice is it to invent my own rather than copy an existing good tetris game? decoration graphics outside the game field; gameplay graphics in the game field; scoring; leveling (when does the game speed up); piece sequence random generation; starting position and orientation of the piece; game over rule (when do you count as
22:22:23 <b_jonas> topped out); lock down rule (when you lose control over the piece and get the next piece, eg. can you stall forever); gameplay timing (eg. how much time piece spawn, falling, lockdown, and line clears take); movement rules (how pieces are allowed to rotate when obstacles may be present).
22:58:51 <ais523> IIRC the Tetris Company has official rules for some of those things – on the other hand, they also tend to sue people who call their game "Tetris", and may object to being derivative in other ways, so it may make sense to intentionally deviate
22:59:33 <ais523> levelling does seem to be broadly consistent across Tetris and its clones, even though many of those other things aren't
23:00:14 <ais523> one innovation that may be worth copying (unless it's patented, which wouldn't surprise me) is called a "sonic drop" – it drops the piece to the lowest position it will fit in with its current orientation, but does not lock it immediately and you can still move and rotate it
23:00:39 <ais523> (some of the most difficult Tetris games spawn pieces with a sonic drop, at the highest difficulty levels)
23:02:31 -!- __monty__ has quit (Quit: leaving).
23:13:18 <esolangs> [[Tic Tac Toe(Program Form)]] https://esolangs.org/w/index.php?diff=143630&oldid=143602 * None1 * (-136) syntaxhighlight is not supported on esolangs wiki
23:36:18 <zzo38> It is also possible to have some options which can make some of these things similar and different than the other Tetris game, too.
23:36:21 <korvo> b_jonas: Yeah, let's reframe to make something distributable in the USA and EU: if you're making a *falling block game* with a mode where the pieces are *tetrominoes*...
23:37:18 <korvo> And then the answer is that you get to come up with fun non-infringing names for modes which happen to have the same timing, drop, scoring, leveling, bags, etc. as Tetris. Like, uh, "memories of Russia".
23:38:04 <korvo> Or, uh, "Japanese jellies" for Puyo, or "dinosaur treats" for Yoshi's Cookie, etc.
23:41:11 <korvo> TBH the right rules for falling block games are the ones that feel good when you're in a flow state. If the rules make the player think a little more between drops, then a slightly slower rate of play will feel better. No substitute for testing.
23:44:18 <ais523> pentominoes are a fun thing to base that sort of game around, it still seems to be playable and takes more thought