00:25:13 -!- boily has quit (Quit: ANIMATED CHICKEN).
00:28:39 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:34:17 <esowiki> [[Surtic]] M https://esolangs.org/w/index.php?diff=57243&oldid=57242 * Galaxtone * (-59) Boop.
00:35:54 -!- S_Gautam has quit (Quit: Connection closed for inactivity).
00:37:00 -!- Sgeo_ has joined.
00:38:26 -!- Sgeo has quit (Ping timeout: 244 seconds).
00:54:54 -!- Selavi8 has joined.
00:55:44 -!- Selavi8 has quit (Killed (Sigyn (Spam is off topic on freenode.))).
01:07:40 -!- NightMonkey5 has joined.
01:13:29 -!- NightMonkey5 has quit (Ping timeout: 260 seconds).
01:19:00 -!- imode has quit (Quit: WeeChat 2.2).
01:32:56 -!- moei has quit (Quit: Leaving...).
01:35:57 -!- copumpkin has quit (Read error: Connection reset by peer).
01:38:40 -!- copumpkin has joined.
01:47:07 -!- oerjan has joined.
01:51:05 <oerjan> @tell wob_jonas it doesn't count as a balcony because it's not protruding.
01:52:51 <oerjan> also i stopped gnawing my toes some time during childhood. never completely managed to stop gnawing on my fingers, alas.
01:54:07 -!- OGF14 has joined.
01:54:40 -!- Shibe8 has joined.
01:56:11 -!- OGF14 has quit (Remote host closed the connection).
02:00:35 -!- Shibe8 has quit (Ping timeout: 240 seconds).
02:51:32 -!- imode has joined.
03:12:24 -!- urdh8 has joined.
03:12:36 -!- urdh8 has quit (K-Lined).
03:13:31 -!- ZexaronS has joined.
03:18:35 -!- ZexaronS has quit (Ping timeout: 240 seconds).
04:12:23 -!- moondoggy8 has joined.
04:16:09 <esowiki> [[Turing machine]] https://esolangs.org/w/index.php?diff=57244&oldid=50650 * A * (+72) Don't forget that there's an online simulator.
04:16:37 -!- moondoggy8 has quit (Remote host closed the connection).
04:16:44 <zzo38> How to determine with Xlib if a window was created using this client?
04:24:46 -!- niko22 has joined.
04:26:08 -!- niko22 has quit (Remote host closed the connection).
04:40:36 -!- tromp has quit (Remote host closed the connection).
04:44:42 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=57245&oldid=57218 * A * (+433)
04:45:44 <esowiki> [[User:A]] https://esolangs.org/w/index.php?diff=57246&oldid=57245 * A * (+0) Spelling..
05:05:24 <esowiki> [[Metafractran]] N https://esolangs.org/w/index.php?oldid=57247 * Challenger5 * (+839) Created page with "'''Metafractran''' is a derivative of [[Fractran]] created by [[User:Challenger5]] in which all program files are irrelevant. Rather than being specified by a program file, co..."
05:07:31 <esowiki> [[User:Challenger5]] https://esolangs.org/w/index.php?diff=57248&oldid=54233 * Challenger5 * (+128)
05:08:40 <esowiki> [[Metafractran]] https://esolangs.org/w/index.php?diff=57249&oldid=57247 * Challenger5 * (+42)
05:16:27 -!- codex2064 has joined.
05:17:55 -!- codex2064 has quit (Remote host closed the connection).
05:27:33 -!- bitch2 has joined.
05:28:17 -!- mist8 has joined.
05:28:34 -!- mist8 has quit (Read error: Connection reset by peer).
05:30:19 -!- moei has joined.
05:31:10 -!- tromp has joined.
05:33:22 -!- bitch2 has quit (Ping timeout: 264 seconds).
05:35:35 -!- tromp has quit (Ping timeout: 240 seconds).
05:44:15 -!- hsiktas12 has joined.
05:49:26 -!- hsiktas12 has quit (Ping timeout: 256 seconds).
05:59:56 -!- hipp has joined.
06:01:09 -!- hipp has quit (Remote host closed the connection).
06:17:23 -!- SerpentSpeech has joined.
06:19:09 -!- SerpentSpeech has quit (Remote host closed the connection).
06:24:25 -!- yaewa has joined.
06:24:27 -!- tromp has joined.
06:24:56 -!- yaewa has quit (Remote host closed the connection).
06:25:42 -!- moei has quit (Ping timeout: 256 seconds).
06:27:09 -!- phoe4 has joined.
06:28:41 -!- phoe4 has quit (Remote host closed the connection).
06:29:23 -!- tromp has quit (Ping timeout: 268 seconds).
06:36:37 -!- nlsun has joined.
06:36:41 -!- nlsun has changed nick to Guest4636.
06:36:52 -!- tromp has joined.
06:42:10 -!- Guest4636 has quit (Ping timeout: 244 seconds).
06:57:35 -!- oerjan has quit (Quit: Nite).
06:58:47 -!- moei has joined.
07:00:14 <zzo38> Now I made up a SQLite extension for displaying pictures on a X server.
07:06:51 -!- ReimuHakurei3 has joined.
07:08:50 -!- ReimuHakurei3 has quit (Remote host closed the connection).
07:16:11 -!- xkapastel has quit (Quit: Connection closed for inactivity).
07:17:28 <esowiki> [[Surtic]] M https://esolangs.org/w/index.php?diff=57250&oldid=57243 * Galaxtone * (-72) /* Instruction Syntax */ Fixed a little error.
07:25:51 -!- pppingme27 has joined.
07:27:43 -!- pppingme27 has quit (Remote host closed the connection).
07:37:20 -!- Phantom_Hoover has joined.
07:37:20 -!- Phantom_Hoover has quit (Changing host).
07:37:20 -!- Phantom_Hoover has joined.
07:43:20 -!- sn0wmonster10 has joined.
07:49:34 -!- sn0wmonster10 has quit (Ping timeout: 260 seconds).
07:50:03 -!- Phantom_Hoover has quit (Remote host closed the connection).
07:55:38 -!- kasa has joined.
08:00:54 -!- kasa has quit (Ping timeout: 256 seconds).
08:01:23 <esowiki> [[Surtic]] https://esolangs.org/w/index.php?diff=57251&oldid=57250 * Galaxtone * (+0) /* S */ Update to String Get to match String Put.
08:09:01 -!- Lumpi27 has joined.
08:12:27 -!- Lumpi27 has quit (Remote host closed the connection).
08:23:29 -!- pinPoint12 has joined.
08:24:00 -!- pinPoint12 has quit (Remote host closed the connection).
08:25:47 -!- Thanks has joined.
08:27:16 -!- Thanks has quit (Remote host closed the connection).
08:28:48 -!- cwre has joined.
08:29:23 -!- cwre has quit (Remote host closed the connection).
08:54:21 <zzo38> Are you going to write the specification of Von Neumann's 29-state cellular automaton in esolang wiki?
09:00:13 -!- nfd has joined.
09:03:33 -!- nfd9001 has quit (Ping timeout: 268 seconds).
09:06:21 -!- manish23 has joined.
09:07:12 <esowiki> [[ZZT-Flip]] https://esolangs.org/w/index.php?diff=57252&oldid=57061 * Zzo38 * (+32)
09:07:14 -!- manish23 has quit (Killed (Sigyn (Spam is off topic on freenode.))).
09:11:14 -!- r3m26 has joined.
09:12:56 -!- r3m26 has quit (Remote host closed the connection).
09:20:05 -!- imode has quit (Ping timeout: 240 seconds).
09:21:29 -!- SlashLife1 has joined.
09:22:45 -!- SlashLife1 has quit (Remote host closed the connection).
09:31:11 -!- nfd9001 has joined.
09:33:40 -!- nfd has quit (Ping timeout: 265 seconds).
09:51:05 -!- K0HAX13 has joined.
09:56:35 -!- K0HAX13 has quit (Ping timeout: 240 seconds).
09:59:39 <esowiki> [[Turing-machine]] https://esolangs.org/w/index.php?diff=57253&oldid=56631 * A * (+188) My attempt of interpreting a 3-state Busy-Beaver(on wikipedia)(maybe that will prove it Turing-complete?)
10:00:14 <esowiki> [[Turing-machine]] https://esolangs.org/w/index.php?diff=57254&oldid=57253 * A * (-32)
10:02:52 -!- nfd has joined.
10:06:27 -!- nfd9001 has quit (Ping timeout: 268 seconds).
10:07:29 -!- nfd has quit (Ping timeout: 248 seconds).
10:08:12 <int-e> Hrm, what's this... a 3 state TM over a binary alphabet?
10:11:10 * int-e is not happy with states being called "conditions".
10:13:12 <esowiki> [[Turing-machine]] https://esolangs.org/w/index.php?diff=57255&oldid=57254 * A * (+1)
10:13:49 <Taneb> int-e: I think it is appropriate to say that A is in a condition of willful ignorance
10:13:54 <Taneb> (or perhaps a state)
10:16:56 <int-e> http://int-e.eu/~bf3/tmp/utm.png seems relevant
10:19:10 <int-e> (but I have not checked they count states)
10:19:18 <int-e> err, *how* they count states
10:23:51 -!- boily has joined.
10:38:55 -!- Lymia has quit (Quit: Hugs~ <3).
10:45:25 -!- trobotham4 has joined.
10:46:06 -!- trobotham4 has quit (Remote host closed the connection).
10:51:02 -!- Lymia has joined.
10:54:26 -!- boily has quit (Quit: PLEASE CHICKEN).
11:18:57 -!- SopaXorzTaker has joined.
12:07:18 -!- cottongin10 has joined.
12:08:54 -!- cottongin10 has quit (Remote host closed the connection).
12:11:27 <esowiki> [[Talk:Turing-machine]] N https://esolangs.org/w/index.php?oldid=57256 * Int-e * (+397) Created page with "== Computational class == According to [https://arxiv.org/abs/1110.2230 T. Neary and D. Woods], it was shown by L. Pavlotskaya that the halting problem is decidable for all Tu..."
12:18:50 -!- FrozenFox18 has joined.
12:20:42 -!- FrozenFox18 has quit (Remote host closed the connection).
12:44:34 -!- ollien23 has joined.
12:45:21 -!- ollien23 has quit (Remote host closed the connection).
12:58:41 -!- xkapastel has joined.
13:06:58 -!- hggdh1 has joined.
13:07:19 -!- hggdh1 has quit (Remote host closed the connection).
13:29:51 -!- radiofree29 has joined.
13:29:55 -!- radiofree29 has quit (Remote host closed the connection).
13:33:54 -!- Patrick28 has joined.
13:37:46 -!- Guest43996 has joined.
13:38:11 -!- Guest43996 has quit (K-Lined).
13:38:57 -!- Patrick28 has quit (Ping timeout: 240 seconds).
13:57:43 -!- sleepnap has joined.
14:26:33 -!- shikhin has quit (Ping timeout: 240 seconds).
14:26:34 -!- Yurume_______ has quit (Ping timeout: 240 seconds).
14:26:43 -!- Gregor has quit (Ping timeout: 240 seconds).
14:27:33 -!- shikhin has joined.
14:28:01 -!- wob_jonas has joined.
14:28:14 -!- Gregor` has joined.
14:29:00 -!- Yurume_______ has joined.
14:30:27 -!- danieljabailey has quit (Ping timeout: 240 seconds).
14:31:37 -!- danieljabailey has joined.
14:37:29 -!- AnotherTest has joined.
14:41:14 -!- Cale has quit (Ping timeout: 260 seconds).
14:51:03 -!- tromp has quit (Remote host closed the connection).
14:54:27 -!- Cale has joined.
14:58:13 -!- arseniiv has joined.
15:12:53 -!- ravioli14 has joined.
15:18:25 -!- ravioli14 has quit (Ping timeout: 248 seconds).
15:19:19 -!- AnotherTest has quit (Ping timeout: 260 seconds).
15:20:25 -!- tromp has joined.
15:23:48 -!- Shanmugamp715 has joined.
15:24:35 -!- Shanmugamp715 has quit (Remote host closed the connection).
15:25:02 -!- tromp has quit (Ping timeout: 244 seconds).
15:33:49 -!- Sgeo_ has quit (Ping timeout: 244 seconds).
15:38:59 -!- AnotherTest has joined.
15:46:31 <wob_jonas> Apparently "does" is another of those English words like "are", which both have a really common meaning and a rare one, so the rare one is completely impossible to search, because in an English you don't even have any hope to automatically parse the sentence and guess whether it's a noun or verb.
15:50:10 -!- arooni17 has joined.
15:50:49 -!- tromp has joined.
15:51:54 -!- arooni17 has quit (Remote host closed the connection).
15:52:56 <Taneb> As in, plural of "doe"?
15:55:13 -!- tromp has quit (Ping timeout: 248 seconds).
15:56:51 -!- Looking20 has joined.
15:57:35 -!- Looking20 has quit (Remote host closed the connection).
15:58:16 <wob_jonas> Taneb: yes. but you can check a dictionary.
15:58:56 <Taneb> I'm also a native speaker, which affords some advantages
15:59:10 <wob_jonas> (and don't tell me you don't have one. I said a rare word, not a whatever rarity is below mythic rare word that you only find in the OED.)
15:59:31 <wob_jonas> (there are free English dictionaries on the internet.)
15:59:34 <Taneb> (I genuinely don't have a physical dictionary)
16:00:01 <Taneb> (although I did know both the noun definition of "does" and "are", the latter I learnt only yesterday)
16:00:02 <wob_jonas> Taneb: yes, but you have an internet connection, and you don't need the OED, you only need one of those dictionaries you can access freely
16:00:39 <wob_jonas> rare words are in most of those, mythic rare words are in the best of those. there's a rarity below that, but I almost never meet such words, and if I saw one, I'd think it's an error.
16:01:51 <wob_jonas> Taneb: there's also a verb definition for "art", and it's a form of "be", which also causes some problems in searching, but in this case the noun is more common than the verb
16:02:23 <wob_jonas> and then there's "Ares" and "ares", which are two different words, the latter is the plural of the noun "are"
16:11:55 <zzo38> I do have a dictionary, and I know those stuff
16:21:05 -!- erkin has joined.
16:24:22 <zzo38> Do you know if there is a better way of making working interrupting downloads in my "sqlext_curl" SQLite extension?
16:26:17 -!- ptx018 has joined.
16:27:09 -!- ptx018 has quit (Remote host closed the connection).
16:27:33 <wob_jonas> once you count words so rare that you only find them in the OED, it gets stupid, because there's at least one super-mythic rare meaning for any reasonable combination of letters you care for, and possibly several super-mythic rare meanings for any very common word.
16:28:29 <wob_jonas> do you have a documentation of your extension somewhere, or something?
16:29:05 <wob_jonas> and are you asking about the curl side, the sqlite interface side, or both?
16:30:02 <zzo38> A list of my SQLite extensions are at http://zzo38computer.org/sql/sqlite.txt and sqlext.zip in the same directory contains the source codes and further documentation. I am asking about the SQLite side, although there may be stuff in libcurl too.
16:31:04 <zzo38> What I am currently doing is to prepare the statement "WITH X AS (SELECT 0 UNION ALL SELECT * FROM X) SELECT * FROM X;" and then pass it as the first argument to the progress callback, which then does: return sqlite3_step(usr)!=SQLITE_ROW;
16:31:27 <zzo38> However, that looks like klugy to me.
16:34:15 <wob_jonas> zzo38: Sorry, I have to leave for a few hours now, but may read that later.
16:34:17 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:34:56 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
16:36:45 -!- AnotherTest has joined.
16:38:21 -!- xkapastel has quit (Quit: Connection closed for inactivity).
16:47:42 -!- aloril_ has quit (Ping timeout: 244 seconds).
16:56:42 -!- Contessa has joined.
16:56:43 -!- fireworks10 has joined.
16:59:41 -!- aloril has joined.
17:00:16 -!- sprocklem has quit (Ping timeout: 265 seconds).
17:01:21 -!- fireworks10 has quit (Ping timeout: 248 seconds).
17:01:24 -!- sprocklem has joined.
17:01:35 -!- Contessa has quit (Ping timeout: 240 seconds).
17:09:31 -!- Cronus15 has joined.
17:15:57 -!- Cronus15 has quit (Ping timeout: 264 seconds).
17:25:59 -!- imode has joined.
17:29:40 -!- Phantom_Hoover has joined.
17:29:40 -!- Phantom_Hoover has quit (Changing host).
17:29:40 -!- Phantom_Hoover has joined.
17:35:25 -!- tromp has joined.
17:40:02 -!- tromp has quit (Ping timeout: 256 seconds).
17:47:03 <esowiki> [[Surtic]] M https://esolangs.org/w/index.php?diff=57257&oldid=57251 * Galaxtone * (-1) /* If Statements */ \_()_/
18:02:09 -!- aloril has quit (Ping timeout: 248 seconds).
18:04:34 -!- aloril has joined.
18:12:03 -!- cods6 has joined.
18:12:43 -!- cods6 has quit (Remote host closed the connection).
18:26:55 -!- sleepnap has quit (Ping timeout: 245 seconds).
18:29:26 -!- tromp has joined.
18:32:17 <zzo38> Will Pope Francis I do Vatican III?
18:33:24 -!- SopaXorzTaker has quit (Remote host closed the connection).
18:34:27 -!- SopaXorzTaker has joined.
18:34:57 -!- tromp has quit (Ping timeout: 240 seconds).
18:35:28 -!- SopaXorzTaker has quit (Remote host closed the connection).
18:39:49 -!- ais523 has joined.
18:41:44 -!- ais523 has quit (Remote host closed the connection).
18:41:58 -!- ais523 has joined.
18:42:46 -!- sleepnap has joined.
18:45:41 <zzo38> Will Pope Francis M do Vatican III?
18:49:24 <zzo38> Actually, what is the highest number that any pope has had? Probably not as high as M, I should think?
18:49:48 <shachaf> Isn't M the mobile version?
18:50:18 <zzo38> M is the roman numbers for one thousand
18:54:20 -!- S_Gautam has joined.
18:55:25 -!- Cajs10 has joined.
18:56:06 -!- Cajs10 has quit (Remote host closed the connection).
19:00:23 -!- x49F8 has joined.
19:06:49 -!- x49F8 has quit (Ping timeout: 260 seconds).
19:38:05 <arseniiv> btw hexadecimal roman: i ii iv v vi vii viv vv vvi vvii vviv (≡ivx) vx vxi vxii vxiv (≡ix) x xi xii xiv xv … xlvxiv (≡il) l … (i = 1, v = 4, x = 16, l = 64, c = 256 etc)
19:39:14 <arseniiv> unparenthesized variants correspond to usual quatenary numeric system with digits 0, 1, 2, 3, and parenthesized ones correspond to the one with digits −1, 0, 1, 2
19:40:59 <arseniiv> it could be prefixed or postfixed e. g. by H as in some asms to distinguish from the usual romans
19:41:36 <arseniiv> also this pre/postfixation allows one to represent zero: H in the last case
19:43:03 -!- xkapastel has joined.
19:46:41 -!- MDude has quit (Ping timeout: 248 seconds).
19:49:48 -!- MDude has joined.
19:51:42 -!- tromp has joined.
19:52:40 <zzo38> Someone said tabs should appear in your history when you closed them, not when you opened them. But my opinion is you should be allowed to define your own SQL queries for the history menus.
19:56:36 -!- tromp has quit (Ping timeout: 256 seconds).
19:58:54 -!- wob_jonas has joined.
19:59:35 -!- ATMunn has quit (Ping timeout: 265 seconds).
20:02:44 -!- ATMunn has joined.
20:03:10 <wob_jonas> arseniiv: look, I'd like a new representation of hexadecimal numbers, but I hate roman numbers so please don't base this on them. please invent something that is at least sort of positional and can represent large numbers too.
20:04:10 <wob_jonas> And ideally, one that can represent hexadecimal floating point numbers, so there's a way to mark the sign and the exponent and the exponent of the sign, though the exponent itself can be in decimal, describe the full syntax.
20:04:28 <ais523> wob_jonas: wouldn't it not be hexadecimal if you changed it to anything but place-value notation?
20:04:29 <wob_jonas> oh, and a decimal point. I forgot that part.
20:04:51 <zzo38> I did see something else where the digits 7 to 1 are written upside down to make the stuff after 8, was someone's idea too I think
20:05:20 <zzo38> (This was on a clock; hexadecimal timekeeping was invented by many people independently, some from before computer machines were invented.)
20:05:20 <ais523> also it isn't a decimal point unless you're using decimal
20:06:07 <wob_jonas> ais523: mostly, but if you, say, optionally insert a cat's scratch mark between every four digits, then I'm willing to still call that hexadecimal
20:07:26 <wob_jonas> and perhaps if there are two separate sets of glyphs for digits, either used alternately, or one set used when you want non-grid digits like when you'd use old style numerals in decimal, that's still fine.
20:07:39 <wob_jonas> But it's hard enough to find *one* good set of digits that doesn't clash with something else.
20:07:57 <wob_jonas> obviously it depends on what you want to use it for
20:08:27 <wob_jonas> I'd like one that's human-readable and human-writable and machine-readable and machine-writable
20:09:53 <wob_jonas> And reasonably easy to learn, not requiring months of training in the basics of arabic or eastern calligraphy, and then differences in stroke order of one digit depending on whether it's in chinese or japanese text.
20:10:28 <wob_jonas> That reminds me, I have a question.
20:11:27 <zzo38> Did you read what I wrote before you were off a while ago today?
20:11:32 <wob_jonas> Where can I find, ideally for free on the internet, a description with detailed illustrations on how to handwrite Russian,
20:12:20 <wob_jonas> not in one of those fancy archaic ways that people used three decades ago or would use on a diploma a dentist puts on his wall, but in a way that I can quickly use for jotting down a few names for reference,
20:12:37 <zzo38> I don't know, but I might would try looking in Wikipedia first to see if they have any
20:13:10 <wob_jonas> and it should include the entire modern Russian alphabet in both upper and lower case, and all variants required if I want to write entire words in lower case, and ideally stress accents and basic punctuation too.
20:14:20 <wob_jonas> zzo38: I did look. I found only an image showing what looks like older fancy handwriting, with like a single sample for each letter or perhaps two sets of samples, each isolated rather than connected despite that it looks like these are letters designed for connecting the lowercase ones.
20:15:49 <wob_jonas> One possibility is that I should just pay a private Russian language tutor that I visit in person for a short course or something. But that might cost a ton of money.
20:16:27 <zzo38> If you do then you can write a book.
20:16:28 <wob_jonas> zzo: oh, I'll get back to that in a moment, thanks for reminding
20:17:03 <wob_jonas> zzo38: or at least a short few-page guide. not a full-length book from what I learn.
20:17:30 -!- tromp has joined.
20:17:37 <wob_jonas> it would cost a ton because it would probably be one-on-one lessons, and those cost a lot, because a language teacher can realistically ask for 17000 HUF per 45 minutes or even more
20:18:12 <wob_jonas> and this would take more than 90 minutes, I think.
20:19:00 <wob_jonas> My current workaround is to write the ISO 9 transcripted equivalent, because I know how to handwrite latin letters with diacritics
20:27:26 <wob_jonas> But before I forget, another question.
20:27:35 <arseniiv> wob_jonas: And ideally, one that can represent hexadecimal floating point numbers, so there's a way to mark the sign and the exponent and the exponent of the sign, though the exponent itself can be in decimal, describe the full syntax. => in that case, what’s wrong with the usual hexadecimal? :P
20:28:41 <wob_jonas> Oh, for bonus, I'd also like a pronunciation for the hexadecimal numbers, although there are already at least two reasonable systems for that. And if possible, also a long pronunciation system, for noisy environments.
20:31:03 <ais523> hmm, I wonder what the two most differentiable sounds are? you could use them to spell out the nybbles in binary
20:31:29 <wob_jonas> arseniiv: there are multiple things wrong. some of them can't be fixed by another standard: nobody can agree if the digits A-Z should be uppercase or lowercase, some programs only accept uppercase (TeX and bc and dc; and you definitely can't change those), but many programs emit lowercase (including some /proc interfaces in the kernel), and I think
20:31:29 <wob_jonas> I've even seen programs that only accept lowercase.
20:32:18 <ais523> wob_jonas: I believe that uppercase is standard; the issue is that in many libraries it's customizable
20:32:32 <ais523> e.g. C *printf uses %X or %x for hex according to the case of letters you want
20:32:46 <wob_jonas> ais523: that would be hard for the mind of both the listener and the speaker, and also the most differentiable ones are very long and varied, to make sure it works for different background noises and loud noises blotting out different moments entirely.
20:32:50 <ais523> the problem there is that most printf specifiers are lowercase
20:32:55 <ais523> so people tend to use %x out of consistency
20:33:12 <wob_jonas> ais523: you want pronouncable ones, right? if not, probably a fucking loud air raid siren and silence.
20:33:29 <ais523> hmm, I guess they need to be self-delimiting too
20:33:48 <ais523> "upwards chirp" and "downwards chirp" might work, it's very rare to misinterpret one as the other
20:33:55 <ais523> you might be unsure which you've heard but then you can ask for a resend
20:33:55 <shachaf> What is a C struct/union type?
20:34:00 <wob_jonas> or perhaps a jet engine and silence, because I'm not sure air raid siren sounds are actually well designed for some hard-on-hearing people who only hear low frequency sounds
20:34:10 <ais523> shachaf: what level of abstraction are you asking at?
20:34:18 <shachaf> It seems to involve a bunch of different properties.
20:34:50 <shachaf> I guess what it includes is, at least: A sizeof; a namespace of members; for each member, an offset.
20:34:57 <wob_jonas> ais523: there are solutions for sounds that aren't self-delimiting if the two sounds are of equal length: what serial lines does works
20:35:20 <shachaf> But also something like a calling convention which lets you pass a struct type in registers etc.
20:35:22 <ais523> in very early versions of C, members weren't namespaced, and were just constants describing the offset
20:35:23 <wob_jonas> as in, wrapping them so they're now delimited
20:35:34 <ais523> but that's changed since
20:35:46 <zzo38> TeX uses lowercase hex for ^^ and uppercase hex for "
20:36:12 <ais523> I'm not sure if the calling convention is part of the struct type itself, normally ABIs will have a clause about "here's how you give a structure that's six bytes long as a parameter", or the like
20:36:21 <shachaf> It's not strictly the calling convention.
20:36:25 <ais523> that said, more complex ABIs may care about whether the struct contains ints or floats…
20:36:33 <shachaf> What I mean is that it says "if you specify a value for each member, you've specified the entire struct"
20:36:44 <shachaf> Even if there's some extra memory for alignment or something.
20:36:49 <wob_jonas> shachaf: no no, the calling conventions are all defined on each architecture deterministically from the definition of the C struct, which contains the order and type and name (and field width if you're masochistic) of each member plus the alignas specifier and attributes on the struct itself.
20:37:03 <wob_jonas> shachaf: and the sizeof is part of the calling conventions
20:37:07 <shachaf> Yes, the struct itself doesn't include the calling convention, but you see what I'm getting at.
20:37:30 <ais523> I don't think == works on structs, does it?
20:37:31 <shachaf> A struct isn't just a thing in memory with offsets, it can have different representations.
20:37:42 <ais523> and I don't think memcmp does either because it compares padding bytes
20:38:28 <arseniiv> wob_jonas: Where can I find, ideally for free on the internet, a description with detailed illustrations on how to handwrite Russian, // not in one of those fancy archaic ways that people used three decades ago or would use on a diploma a dentist puts on his wall, but in a way that I can quickly use for jotting down a few names for reference => oh neat one! I am native and I didn’t search too much, but after that little search I think
20:38:28 <arseniiv> it’s still described in full only in paper textbooks for children :\
20:38:29 <arseniiv> AFAIR letter connections are fairly simple, only several letters have two forms (в, о, ю, ь, ъ — all because of circles at the right, but I can’t remember about ф in this regard). If there wouldn’t be any better findings, I’ll try to fix something (I don’t use this style in my handwritting, it’s a mishmash of styles, but this one is too slow to use consistently
20:38:58 <shachaf> If you pass a struct with two members to a function, it's permitted to just pass the two values in registers, without passing the padding in, right?
20:38:59 <wob_jonas> shachaf: do you want to know the rules of calling conventions for C and C++ structs on linux-x86_32 and linux-x86_64 and win32-x86_32 and win32-x86_64? I have link to both the ELF specs defining the linux C special case, and Agner's writeup which describes them in a readable way.
20:39:31 <shachaf> wob_jonas: I'm not so much asking about any particular architecture but about what the language construct is.
20:40:04 <wob_jonas> you can also look up in a C/C++ compiler source code, or a debugger source code, or even most of the C calling conventions in a haskell compiler or rust compiler source code, although a few crazy pieces like bitfields and atomics may be missing from the latter
20:40:07 <shachaf> Is struct assignment with = required to copy padding? I would imagine not?
20:40:33 <wob_jonas> shachaf: oh, do you mean the semantics of structs guaranteed by the language for all architecture?
20:41:02 <shachaf> I'm not really thinking about C here, I'm trying to figure out how you might define structs in another language.
20:41:09 <wob_jonas> that's a bit complicated. I can point you to the respective standards, but it's likely better to ask on the ##c and ##c++ channels on freenode
20:41:10 <shachaf> Can you make structs/unions a user-defined thing?
20:41:36 <shachaf> If so what information would they need?
20:41:52 <wob_jonas> shachaf: do you mean you want to know about structs in rust or D or some other specific language?
20:41:52 <arseniiv> wob_jonas: Oh, for bonus, I'd also like a pronunciation for the hexadecimal numbers, although there are already at least two reasonable systems for that. And if possible, also a long pronunciation system, for noisy environments. => I pass then :D
20:42:04 <shachaf> wob_jonas: No, a hypothetical language.
20:42:33 <ais523> shachaf: IIRC parameter passing is defined as initialisation, which wouldn't copy padding as it's conceptually field-by-field
20:42:39 <wob_jonas> shachaf: a hypothetical language can define its rules however you want, but you might want to find out about the rules in existing similar languages first
20:43:10 <shachaf> wob_jonas: OK, is there any language that supports something like user-defined struct data types?
20:43:34 <wob_jonas> but I think there's some magic in the standard that actually lets it overwrite the padding bits and bytes if the compiler chooses to, because in practice that's often faster
20:43:38 <ais523> wob_jonas: yes, we're talking about C
20:43:52 <ais523> I don't think initialisation puts any requirement on what the padding bits are
20:44:03 <ais523> so a memcpy would be allowed by the as-if rule
20:44:34 <wob_jonas> shachaf: C, C++, rust, D, probably more but I don't really know any by heart
20:44:48 <wob_jonas> ais523: I'm saying because the C++ rules are much more complicated
20:44:55 <shachaf> wob_jonas: I mean user-defined as in "struct isn't a fundamental notion in the language"
20:45:20 <shachaf> But instead you define a type and say that this is the sizeof and there are values at these offsets and so on.
20:45:36 <ais523> wob_jonas: oh, sometimes I feel better if I pretend C++ doesn't exist
20:45:48 <wob_jonas> shachaf: are algebraic types, ML-like, or rust enums, a fundamental concept?
20:45:57 <ais523> it's something like three languages at this point
20:46:07 <shachaf> In Go, the "namespace" aspect is a bit more explicit: You can write "type A struct { x int; y int; }; type B struct { A; ... }", and then refer to "b.x"
20:46:08 <wob_jonas> shachaf: oh, you want one where you define the memory representation and perhaps even the calling convention?
20:46:13 <arseniiv> ais523: hmm, I wonder what the two most differentiable sounds are? you could use them to spell out the nybbles in binary => maybe something noisy, a fricative like [ʃ] or [ç] or something, and something sonorant like a vowel, maybe a closed one like [i] or [u] or [y] will do better (IDK)
20:46:19 <wob_jonas> shachaf: I think some assemblers let you define structs like that
20:46:45 <wob_jonas> but then you have to write all the code that reads and write the struct, you can only refer to the offset values conveniently
20:46:57 <wob_jonas> since, you know, that's the whole point of assemblers
20:46:57 <shachaf> wob_jonas: I don't know about defining the calling convention explicitly so much as specifying the information in the struct to the point that the compiler can figure out a convention.
20:47:00 <ais523> that's a common extension to C
20:47:09 <zzo38> shachaf: It is possible in some C compilers as well
20:47:21 <ais523> in the OCaml method you have to give namespaces explicitly for struct field access
20:47:30 <ais523> i.e. say which struct it belongs to
20:47:33 <arseniiv> ah, self-delimited fails for thoswe
20:48:06 <wob_jonas> shachaf: you can usually just do that by adding specific dummy fields so there's no automatically inserted padding, plus an alignas marking for the struct, and making all fields the right type
20:48:13 <shachaf> I think something like (in C++) "struct B { A base; using namespace base; ... };" could be nice.
20:48:35 <wob_jonas> but if you want something exotic like overlapping fields, then you're out of luck unless perhaps you can do it in fortran
20:48:41 <wob_jonas> I mean, partially overlapping fields
20:48:42 <shachaf> Unions are "just" structs where all the members have offset 0.
20:49:07 <wob_jonas> no, I mean, two fields where the upper part of one overlaps the lower part of the other
20:49:12 <shachaf> Kind of? I guess the calling convention can get tricky.
20:49:24 <zzo38> Yes, you can use unions, and with GNU C you can also have zero length arrays
20:49:30 <shachaf> I don't care about overlapping fields very much, I think in a case like that you might be better off doing it manually.
20:49:52 <wob_jonas> although I think you can do even that with unnamed unions, which C and rust now have, and unions in C++ at the cost of it being slightly more difficult to reference the fields
20:49:58 <shachaf> zzo38: C99 has something similar to zero-length arrays.
20:50:25 <zzo38> Yes, the GCC documentation mentions that, but it isn't as good as real zero-length arrays, I think
20:50:33 <wob_jonas> C++ and rust both have improved support for unions now, although rust's isn't perfect yet, but people always want to improve everything in rust, so duh
20:51:12 <ais523> Rust has tagged unions, I expect?
20:51:19 <ais523> the untagged kind is rather ridiculously unsafe
20:51:23 <wob_jonas> zzo38: oh, you want zero-length arrays? then write it with rust structs and rust unions, each #[repr(C)] and possibly whatever the new syntax of alignof is
20:51:42 <wob_jonas> zzo38: rust fully supports zero-length anything, and even has special language rules to make them work really well
20:52:12 <wob_jonas> only problem is, no anonymous inner structs/unions yet, but there's a proposal, and it will go through because it's needed for wrapping some C interfaces
20:52:25 <ais523> gcc supports zero-length arrays, which is annoying when you're trying to cause an error during type checking
20:52:36 <zzo38> You can use negative lengths to cause an error during type checking.
20:52:39 <wob_jonas> and yes, the untagged is unsafe, but sometimes you want that to control representation exactly
20:52:44 <ais523> my static_assert implementation has to use a negative-sized array, right
20:53:06 <shachaf> In addition to C structs/unions I want to figure out whether C++-style (non-virtual) methods are a good idea or not. They're also an odd mix of several things.
20:53:12 <ais523> a tagged union is really a cross between an enum and a union
20:53:21 <wob_jonas> and #[repr(C)] enum even have a definite representation now, or will soon have iirc
20:53:38 <wob_jonas> as in, a representation promised by the language in all future compilers
20:53:53 <ais523> that's kind-of weird, C compilers aren't stable as to how to represent enums
20:53:57 <zzo38> (I have also seen using a enum with a division by zero to cause conditional compiler errors)
20:53:59 <wob_jonas> although I think only if you add a #[repr(u32)] or similar to tell what type the tag is
20:54:01 <shachaf> They give you namespacing, so you can write "v.push(x)" instead of "vector_push(v, x)"
20:54:13 <shachaf> The namespacing is nice because you don't have to type the type name everywhere.
20:54:33 <shachaf> But they also give you an implicit "this" argument, which seems kind of pointless?
20:54:44 <ais523> shachaf: some languages use "unified call syntax" where a.f(b) and f(a,b) are syntactic sugar for each other
20:54:58 <shachaf> ais523: I guess that can work if you have overloaded functions.
20:55:06 <shachaf> But it's kind of ugly to put f in global namespace.
20:55:08 <wob_jonas> ais523: in rust, if you add #[repr(C)] #[repr(u32)] or similar for almost any integer type, then the repr is defined, at least in not too old versions, as a struct whose first element is the tag and the second is a union of the variants or of structs of the variants or something.
20:55:15 <ais523> yes, it presumably only makes sense with overloading
20:55:31 <ais523> although, I can envisage a language where the options are a.f(b) and n.f(a,b) where n is a namespace
20:55:34 <shachaf> I think the idea of methods is, an object is a "dynamic" namespace which is created at runtime.
20:55:35 <ais523> i.e. a has a "default" namespace
20:55:40 <wob_jonas> ais523: in most other cases, it's implementation-defined, because the compiler does some optimizations on the representation that they don't want to promise to be the same in the future, and are a bit long to describe,
20:56:13 <ais523> wob_jonas: like Option<Box<T>> using a null pointer for the Nothing case?
20:56:28 <ais523> and thus not needing a separate tag at all?
20:56:45 <wob_jonas> ais523: yes, although it's more general than that, and complicated
20:57:02 <wob_jonas> ais523: I don't know the full rules, and don't want to know
20:57:33 <ais523> right, I was just giving an example of the sort of optimisation you'd expect
20:58:07 * ais523 vaguely wonders if, in the case that you have an enum where all the payloads are pointers with alignment > 1, it's efficient to put the tag in the low-order bits of the pointers
20:58:08 <wob_jonas> basically, usually you let the compiler do its thing, but if you want a specific representation for either passing to or from non-rust code or optimization, then you use structs and unions and enums with specific #[repr] tags to achieve exactly the representation you want, like you can do in C too
20:59:20 <wob_jonas> ais523: it depends on what you want to optimize for, low memory usage like in the heap of a prolog or scheme compiler, or fast computation like in a struct you just filled and pass to a function?
20:59:25 <shachaf> wob_jonas: That also seems like something I'd rather specify in user code instead of as a compiler rule.
20:59:59 <wob_jonas> this is why the compiler has to be conservative with what optimizations it will do, at least when it has to fix the representation for external crates, rather than when it can get away with anything by the as-if rule
21:00:14 <shachaf> If you have enum<T> { One, Two, Three(Box<T>) }, will it use two invalid pointer values (e.g. 0 and 1) for the first two tags?
21:00:34 <ais523> wob_jonas: right, I was mostly just curious as to what the performance was like speed-wise (the memory savings are obvious)
21:00:57 <ais523> 1 is not an invalid pointer value on all platforms; in fact, 0 is not invalid on all platforms either
21:01:09 <ais523> a pointer to 0 might be fairly useful on the 6502
21:01:27 <ais523> (this sort of thing is why C gives flexibility for NULL to be something other than all-bits-zero)
21:01:31 <wob_jonas> ais523: but besides the optimization for when you tell the compiler that the contents of one branch is a nonzero pointer or integer (wrapped in any abstractions) and there's only two branches, there is an optimization for nested enums, and for enums with only one branch where the arm type isn't void, and I think more
21:01:38 <shachaf> But surely on most platforms there are some pointer values that can be considered invalid.
21:01:49 <wob_jonas> ais523: one thing that's not obvious is when you want to put the tag at the start and when at the end
21:01:52 <ais523> at the time there would normally be unmapped bytes in the middle of the memory space, maybe 0xA000 would make for a good NULL
21:01:59 <shachaf> C++ null pointers-to-members are often represented as -1, because 0 is a reasonable offset.
21:02:27 <ais523> what is a pointer-to-member? is it effectively a "function pointer for a getter" but optimised?
21:02:56 <shachaf> It's an offset into a struct, more or less.
21:03:07 <ais523> wob_jonas: well, if this is "repr(C)" you'd put the tag at the start, because of the guarantees C gives about struct layout
21:03:28 <wob_jonas> ais523: some people say that future rust compilers should reorder fields in structs if that avoids padding fields. it is clear that the current docs allow rust to do this, at least for structs without a #[repr(...)] that excludes that, but I for one don't think it's a good idea to actually do that ever
21:03:39 <shachaf> struct A { int x, y; }; A a; int A::*p = &A::y;
21:04:03 <shachaf> In this case you can use a.*p to get the y from an A
21:04:29 <ais523> wob_jonas: if all the fields in a struct are power-of-2 size they should be stored in reverse size order; perhaps that should be done in the source, though, rather than by the compiler
21:04:48 -!- Guest89349 has joined.
21:04:55 -!- Guest89349 has quit (Remote host closed the connection).
21:06:37 <wob_jonas> ais523: yes, and there's actually another guaranteed representation case: a "C-like enum" with #[repr(i32)] or almost any other integer type, which is basically one with all arms empty, what get from #[repr(i32)] enum { X, Y, Z } or from #[repr(i32)] enum { X=2, Y=4, Z=3 }
21:07:47 <wob_jonas> I have a totally different OT question, I want to ask it before I forget
21:08:54 <wob_jonas> today's bonus comic https://www.smbc-comics.com/comic/laws-and-sausages says that Zach (the creator of SMBC) is launching a new popularized nonfiction webcomic. He teams up with an expert in the nonfiction topic the webcomic popularizes, and with an "artist".
21:09:24 <wob_jonas> My question is, who draws the comics and what does the "artist" do and what the heck Zach does if the artist draws the comics and the expert gives the content?
21:09:48 <ais523> some comics work by assembly from components
21:09:57 <ais523> like, they'll have stock images of their characters, locations, etc.
21:10:07 <ais523> and then to make the comic someone will copy-and-paste the images and add words
21:10:17 <ais523> that tends to be a good way to save time if you have a lot of recurring characters
21:10:21 <wob_jonas> And why do they need an artist if Zach could handle all the art just fine so far.
21:10:25 <ais523> normally you'll have some new art in a comic (but not always!)
21:10:43 -!- aphel has joined.
21:11:29 -!- aphel has quit (Remote host closed the connection).
21:11:47 <wob_jonas> ais523: I had heard of a separate letterer or a separate colorist or a separate writer. separate writer might be a good guess for Zach actually, in which case the artist would do all the drawing.
21:12:27 -!- AnotherTest has quit (Ping timeout: 240 seconds).
21:12:52 <wob_jonas> oh. http://lawsandsausagescomic.com/about says "Laws and Sausages is co-written by brothers Greg Weiner and Zach Weinersmith, and drawn by Dennis Culver."
21:13:14 <wob_jonas> so both the expert and zach writes, or so they claim, and the artist draws.
21:15:14 <arseniiv> wob_jonas: on cursive: this https://www.reddit.com/r/russian/comments/69mcom/пиши_русские_буквы_правильно shows some connections (maybe not all form variations but it’s a good start nonetheless); as one can guess, in a connection the letter to the right decides form of the left letter, and it’s a simple rule: whether the right letter starts from down or up. On stroke order I’d approve https://i.pinimg.com/
21:15:14 <arseniiv> originals/9f/9d/4a/9f9d4aa8e31eadcd2f4dfc44d23dd9f6.jpg
21:15:20 -!- AnotherTest has joined.
21:15:34 <arseniiv> oh the link should concatenate to https://i.pinimg.com/originals/9f/9d/4a/9f9d4aa8e31eadcd2f4dfc44d23dd9f6.jpg
21:17:15 <arseniiv> also I could make a screencast on writing various things. Can’t say it would be 100% canonical, but all the same, people write differently
21:18:02 <arseniiv> and it would be mouse-writing with all the consequences :D
21:19:54 -!- AnotherTest has quit (Ping timeout: 256 seconds).
21:20:01 <wob_jonas> How is the left stroke of the en written? is that one you're supposed to write after the entire word, like accents and t's stroke, according to teachers, although I never do that?
21:20:23 <wob_jonas> Or is the whole en written in one long unbroken line?
21:21:14 <wob_jonas> Oh, this looks like a version that's designed for writing almost everything in one unbroken line, except the j
21:22:02 <wob_jonas> or perhaps not, because the o with a low connection after looks hard that way
21:24:10 <wob_jonas> and similarly to the en, I wonder how you write the left side of the ju
21:25:54 <arseniiv> wob_jonas: Or is the whole en written in one long unbroken line? => this one. I’ll show tomorrow I swear
21:26:27 <wob_jonas> I can try to practice based on this. I'd probably have to write much slower than I usually write latin letter text for myself, but the latin letter text is barely readable (even for me) then
21:27:08 <wob_jonas> arseniiv: well, now I have to remind you. and if you do it, please publish it to somewhere that anyone can watch, like youtube.
21:27:36 <arseniiv> yeah if I write quite fast, the result is a mess. I was doing that at uni
21:27:41 <wob_jonas> and make sure you aren't writing so fast that the video doesn't actually show all the details of the stroke order
21:27:52 <wob_jonas> sure, the uni is where I learned too
21:28:19 <wob_jonas> also some math notation besides latin letter text, and lots of abbreviations
21:28:37 <wob_jonas> in the first few years of university that is
21:28:49 <wob_jonas> it gets less heavy on writing later
21:29:09 <wob_jonas> except on a few exams and competitions
21:29:18 <arseniiv> hm I don’t know if there a difference in math beside digits in cursive
21:29:57 <arseniiv> and punctuation, but I’m unsure about quote marks
21:30:21 <wob_jonas> there was an oral exam where I wrote ten pages, then the teacher, who thought I was good at that subject, told me that if I write even one more line he'll kick me out, but then I placated him by saying that the first five pages are actually not even needed for the part I'm supposed to say so he can just ignore those
21:30:44 <wob_jonas> arseniiv: I won't write math in russian
21:31:10 <wob_jonas> arseniiv: you can still do it for other people if you want, but I already know how to write math in Hungarian or English, and don't need it in russian
21:31:35 -!- johnpark_pj has joined.
21:31:56 <arseniiv> yeah then just digits. The rest is no doubt the same
21:33:21 -!- johnpark_pj has quit (Remote host closed the connection).
21:37:04 <zzo38> Did you see my SQLite extensions by now?
21:38:29 -!- arseniiv has quit (Ping timeout: 260 seconds).
21:39:48 -!- tromp has quit (Remote host closed the connection).
21:52:58 -!- Shinobi has joined.
21:52:59 -!- Shinobi has quit (K-Lined).
22:01:14 -!- sleepnap has quit (Ping timeout: 276 seconds).
22:12:55 -!- khronosschoty17 has joined.
22:14:07 -!- khronosschoty17 has quit (Remote host closed the connection).
22:14:47 -!- sleepnap has joined.
22:17:30 -!- tromp has joined.
22:22:33 -!- tromp has quit (Ping timeout: 264 seconds).
22:23:52 -!- Sgeo has joined.
22:25:58 -!- Sgeo_ has joined.
22:28:27 -!- Sgeo has quit (Ping timeout: 240 seconds).
22:31:50 <wob_jonas> zzo38: sorry, I won't be able to look at it this evening, it's too late and I found more interesting things
22:31:53 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
22:36:39 -!- shikhin has quit (Changing host).
22:36:39 -!- shikhin has joined.
22:36:45 -!- XorSwap has joined.
22:45:00 -!- tharkun28 has joined.
22:49:54 -!- tharkun28 has quit (Read error: Connection reset by peer).
22:49:55 -!- joast has quit (Quit: Leaving.).
23:03:15 -!- joast has joined.
23:06:30 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...).
23:09:59 -!- Dominian27 has joined.
23:11:21 -!- joast has quit (Quit: Leaving.).
23:11:47 -!- Dominian27 has quit (Read error: Connection reset by peer).
23:17:28 -!- joast has joined.
23:18:45 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:22:38 -!- tromp has joined.
23:27:24 -!- tromp has quit (Ping timeout: 256 seconds).
23:28:50 -!- prettymuchbryce6 has joined.
23:29:23 -!- prettymuchbryce6 has quit (Remote host closed the connection).
23:47:09 -!- GuntherDW20 has joined.
23:52:27 -!- GuntherDW20 has quit (Ping timeout: 240 seconds).
23:57:40 -!- imode1 has joined.