00:00:03 yeah 00:00:17 so we use rules of thumb and generous margins 00:00:22 b_jonas: that, and partial cable breaks (which also have locally higher resistance) 00:01:43 * int-e is reminded of the ingenuity of halogen light bulbs. 00:02:04 oh? 00:03:02 int-e: I love those, despite all the problems they cause 00:03:11 > For these reasons, the USB-IF has established USB Type-C™ Authentication (C-AUTH)—a means for authenticating devices and thereby protecting against data tampering and illicit use. The USB PD standard implements C-AUTH through use of a public key infrastructure (PKI) which is a time-proven approach in the Internet world. We will not go into details of PKI implementation here; we will simply note that 00:03:14 :1:18: error: parse error on input ‘,’ 00:03:17 C-AUTH starts when an initiator (laptops, tablets, etc.) reads out a certificate chain from a responder (cable, AC adapter, etc.). Notice that the process can cover the cables as well as the sources and sinks, allowing for systems to be configured at a high level of safety. 00:03:21 so that does sound pretty proprietary 00:03:29 it's 2019 and your power cables are performing cryptographic authentication 00:03:29 they burn out more easily than traditional bulbs if the lamp is shaking, and use a higher temperature so you have to be careful with what socket you put them into 00:03:53 (Light bulbs are, of course, little wires, which are uneven. So they have a pretty awful feedback loop: as they get hotter, the metal evaprates, making the wire thinner, hence hotter.) In halogen bulbs, the wire is covered with a compound of tungsten and some halogen, that breaks down when it gets too hot, depositing metal on the wire, fixing it (for a while)... 00:04:10 so they can operate reliably at higher temperatures than ordinary lightbulbs. 00:04:35 nice 00:04:38 (Don't necessarily trust me on the details, I'm working from memory here.) 00:04:40 yeah thermal runaway is a problem 00:04:47 it also occurs in bipolar junction transistors 00:06:25 int-e: right, that's why the wire is made of tungsten in traditional bulbs, because it keeps well in high temperatures 00:07:29 Isn't that the one where they managed to pull in fucking ASN.1? 00:07:46 i.e. in the search for security they have, I am confident, guaranteed more vulnerabilities. 00:08:39 I'm curious as to why people hate ASN.1 so much 00:08:45 is it the concept, or just the details? 00:09:10 (I'm reminded of me complaining about Language Server Protocol a while back; I love the idea and hate at least most of the details) 00:09:11 It's the details. 00:09:47 It's more-or-less protobuf, except defined in the 80s by telecom engineers. 00:10:56 It also isn't a single serialization format, it's _several_. 00:11:12 also because implementations are notoriously bad 00:11:32 Yeah, but then, the formats are pretty tricky to implement 00:11:40 right 00:11:42 Wasn't protocol buffers that awful thing where you can supply data fields in an arbitrary order, and even several times? This is just begging to be used to exfiltrate data... 00:11:47 speaking of impossible to implement protocols 00:11:57 my new phone seems to be at least *better* at bluetooth 00:12:08 in that it can play to my speaker without skipping 00:12:52 The main criticism about ASN.1 that I've heard is that it's, apparently, awfully complex. I have never really delved into it. 00:13:29 pikhq: hikhq 00:13:39 int-e: It is awfully complex. 00:13:43 `? portello 00:13:44 portello? ¯\(°​_o)/¯ 00:14:17 It's designed by telecom engineers, and the assumption is there would be a very small handful of vetted implementations everything would use. 00:15:20 presumably this predates the current explosion of programming languages? 00:15:33 1984, so yes. 00:16:04 In practice, ASN.1 seems to get people doing hack implementations of the subset of whatever encoding format their particular application absolutely forces them to implement. 00:16:05 hmm, I think there were still quite a few languages around at that time 00:16:36 How many of them were used by telecoms people? 00:17:24 I have no idea, I can't think of /any/ offhand 00:17:41 Hmm 1984 is too early for Erlang 00:17:45 when does Erlang date from? it would have been appropriate if it existed at the time 00:17:52 1986 00:18:02 (I just looked that up) 00:18:05 so did I 00:18:54 apparently the first Erlang implementation was written by a telecom company in Prolog 00:19:04 so at least one telecom company was presumably using Prolog in 1984 00:19:18 (they subsequently had to abandon that impl because it was too slow; if they were using a general Prolog, I'm not surprised) 00:19:21 https://en.wikipedia.org/wiki/PLEX_(programming_language) is a thing 00:19:25 (Also Ericson. Funny.) 00:19:25 https://www.youtube.com/watch?v=xrIjfIjssLE 00:19:28 Erlang: The Movie 00:19:37 *Ericsson 00:19:48 RIP Joe Armstrong :( 00:23:44 is **bolded text** in Markdown semantically or ? does it need some way to indicate both tags? 00:25:09 hmm, MDN's description of when to use over doesn't convince me, I would use in those cases 00:25:57 fwiw, *italic text* in Markdown is nearly always used for not 00:27:01 (the semantic difference between and is fairly easy to understand once you know it: is audible when spoken, isn't) 00:27:12 interesting 00:29:12 so you use for things like foreign words, terms you're defining, and the like; and to indicate words which are stressed more than their position in the sentence would normally imply 00:29:42 there are CSS attributes for spoken pages, right? 00:29:46 yes 00:31:10 "terms you're defining" -- I think I *would* stress them when reading definitions out loud. 00:31:42 hmm, maybe is correct for those then 00:32:12 Also sometimes you may be using a program without CSS to view, and some don't include any CSS attributes for speech even if they are for otherwise. 00:33:23 I also think someone mentioned CSS has commands to check if it is interlace or progressive video, but such thing does not seem to me it would belong for CSS; but the command to check for mono or colour seem like useful. 00:34:18 that's an interesting one 00:34:26 perhaps there are some animations that would not look right with interlacing 00:34:30 or perhaps it's just for completeness sake 00:34:35 can you detect the display refresh rate? 00:35:10 kmc: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/update-frequency 00:35:14 apparently only qualitatively 00:35:15 how about the color depth 00:35:55 ais523: that's cool 00:36:10 kmc: you have a choice there: bits-per-channel, color gamut, or absolute number of colors 00:36:19 (the latter's for paletted devices) 00:36:30 is CSS always sRGB 00:37:44 it supports "rgb", "rgba", "hsl", "hsla", it doesn't appear to list a color space? 00:37:49 I hate it so much when programs do that 00:38:03 I even wrote a blog post about it: http://nethack4.org/blog/gamma.html 00:38:05 https://developer.mozilla.org/en-US/docs/Web/CSS/@media/light-level ... wow 00:38:25 For videos, it seem to me that whether it is interlace or progressive, and refresh rate, and so on, would be part of the video selection and not relevant for CSS, I should think. 00:38:41 Is there a command in CSS to select a colour by index number rather than by RGB? 00:38:48 that's interesting int-e 00:38:51 most phone can sense that 00:38:53 i wonder if they use it 00:39:00 "This code will likely not work on any devices (device compatablility is low)." 00:39:03 lol 00:39:09 I was about to quote that too :-) 00:39:13 also I guess it's a draft 00:39:35 (for indexed colour displays, it would be useful to ensure the colours are different from each other, since otherwise it might use the same colour for many things since it is the closest colour) 00:40:13 Also, can any web browser have option to pretend to have a slower update frequency than it actually does? 00:40:57 it would be easy enough to implement that 00:41:06 I don't think many people would use it, except possibly for testing 00:41:35 for the ambient light thing it actually suggests that browsers should have controls to set it manually 00:41:38 for accessibility 00:43:05 Looks like modern CSS allows you to explicitly specify a colorspace for color values, but it's with a special uncommonly used syntax. 00:43:34 If you don't use that, and instead use the "rgb", "rgba", "hsl", and "hsla" color things, it's interpreted as an sRGB value. 00:43:57 Also, it says that Media Queries 4 deprecated some media queries, some of that I think may be useful to have. (I think you probably can use "screen" instead of "tv", "projection", and "handheld", but "tty" and "braille" seems like useful to have separately, I think.) 00:44:02 kmc: it's an interesting thought nontheless. 00:44:20 media type: stone tablet 00:44:39 media type: tattoo 00:44:40 But e.g. color(rec2020 1 1 1); is white in Rec.2020. 00:45:06 -!- Sgeo__ has joined. 00:45:07 You can also import an ICC value with it, and use the colorspace defined there. 00:45:34 is css esoteric 00:45:46 that's bizarre, why would you need a complex colorspace when /encoding/ a color for CSS? 00:46:16 Not a clue. 00:46:23 the complexity should normally be on the decode side, because that's what knows the properties of the screen or other display device 00:46:39 the only thing I can think of is cases where you need more than three color channels 00:46:40 This is in addition to letting you explicitly state a color in Lab. 00:47:01 but can I explicitly state an emission spectrum 00:47:10 Well, no. 00:47:22 stating an emission spectrum would probably be incorrect, you're encoding to be seen by humans 00:47:30 For tattoo, I suppose you could use "print", maybe. 00:47:41 so what you really want to be able to state is the subjective experience of colour you want people to be able to perceive when they look at your colour 00:48:13 ais523: 4 channels to accomodate red-green color blindness? 00:48:42 what about tetrachromats! 00:48:56 -!- Sgeo_ has quit (Ping timeout: 272 seconds). 00:48:59 Specifying an emission spectrum has a certain charm. Of course, most hardware just won't accomodate that. 00:49:07 What I want to be able to specify is a colour by index number. (If not supported, the other colour specification would be used.) 00:49:10 there are some printers that use six colours of ink 00:49:14 we should be able to specify subjective colors for different species 00:49:15 oh also 00:49:20 some animals can detect polarization of light 00:49:23 such as cephalopods 00:49:24 And what if your website is supposed to attract bees :) 00:49:35 kmc: even humans, if wearing sunglasses 00:49:40 this is true 00:49:41 and different angles of view, and differnt tinted glasses, yes 00:49:43 and a little bit if not? 00:49:44 (I was thinking ultraviolet, but polarization is a great idea as well.) 00:49:51 also different lighting if it's printed media 00:49:55 My character Ziveruskex can see five colours rather than three, but they don't have a computer machine so it is not a problem 00:50:10 being able to produce circularly polarised output would be useful in showing 3D images 00:50:12 also there should be support for making regions of the screen reflective 00:50:20 b_jonas: oh yes, we can finally distinguish between transparent and reflective windows then 00:50:24 kmc: that's just black 00:50:29 zzo38: don't they at least have illustrations drawn on paper in ink? 00:50:44 most screens are naturally somewhat reflective due to being made of glass, and the reflections are more visible if you don't show anything behind them 00:50:46 devices which do not support turning parts of the screen into mirrors can emulate it using the front-facing camera 00:50:47 ais523: Yes, I suppose so. Maybe there could be the "3d" command for such purpose? 00:50:55 ais523: have you seen the "magic mirror" projects? 00:51:02 no 00:51:04 b_jonas: Perhaps, but it is just a fictional character anyways. 00:51:09 it's a computer screen mounted behind a half-silvered mirror 00:51:11 (That's echoing old joke... somebody was saying that they don't see the point in transparent windows. But they would like to have reflective windows so that they could see what's going on behind them.) 00:51:23 https://www.makeuseof.com/tag/6-best-raspberry-pi-smart-mirror-projects-weve-seen-far/ 00:51:44 so it looks like a regular mirror but you can draw stuff on top (light-colored only, I guess) 00:51:50 looks pretty damn futurey 00:51:54 oh wow, I'm rereading this blog post I wrote and got reminded of ODA 00:52:01 One thing that it seem that only Mozilla has so far is, to select default foreground/background colours by CSS codes. That way you could have reverse video without having to override the user's background/foreground colour settings 00:52:33 CSS isn't eso mostly because it's too widely used 00:52:38 zzo38: that's mozilla only, really? 00:52:45 ODA, on the other hand, seems absolutely insane to a modern audience 00:52:57 b_jonas: I think so, but I don't know 00:53:08 ais523: C++ is also widely used, yet it's definitely eso 00:53:11 ODA, hmm 00:53:22 ais523: it's not widely used because you get a small selection of colors. you don't get extra colors for, like, error messages or anything, and you can't just make them red because that could clash with the default colors. so the safest method is to set the color of everything. 00:53:34 what's ODA? 00:53:46 you get the foreground, background, link, visited link, and a few more stuff like colors in controls 00:54:11 kmc: suppose you're trying to work on a common format for word processors to share information, you have identical goals to HTML 00:54:18 b_jonas: That is why I want to have the ability to specify the index numbers for colours rather than RGB. 00:54:31 (If index numbers are used, then they won't clash) 00:54:31 but HTML hasn't been invented yet (nor have SGML/XML), nor has the Internet (so you're thinking mostly in terms of editing printed documents) 00:54:39 https://en.wikipedia.org/wiki/Open_Document_Architecture? 00:54:41 so instead, you attempt to generalise VT100 control codes 00:54:44 that's ODA 00:55:05 the project started in 1985 but wasn't finished until 1999, by which point it was completely out of date and nobody used it 00:55:58 outdone by mosaic 00:56:12 ais523: wouldn't everyone just use wordstar format? 00:56:33 b_jonas: there was a format explosion at the time, ODA was an attempt to fix the problem 00:56:39 it'd probably have worked if it had been written a bit faster 00:57:03 or, hmm, Wikipedia thinks it was doomed to failure anyway 00:57:11 Now why am I thinking of jigsaw in this context? Is there a connection or is it just misfiring synapses? 00:57:25 because the idea was imposed top-down in Europe and the American word processor manufacturers liked their lock-in 00:57:56 Is ODA less messy than HTML and CSS? 00:58:11 ais523: it's not just about lock-in. hardware was less capable, and it was harder to write good software back then. 00:58:17 zzo38: I don't think so 00:58:22 "generalize VT100 control codes" sounds like a recipe for making a horrible mess. 00:58:29 indeed 00:58:35 I ended up having to read part of the ODA standard because it was referenced by a different standard 00:58:38 it's also very not-declarative 00:58:52 it's a weird little machine for updating a terminal state in-place 00:59:19 kmc: does it at least only go from top to bottom so it can be printed easily? 00:59:33 I guess my horror at ODA is that you've got this huge complex document format, and when it gets right down to the lowest level, bold text is still represented as ESC [ 1 m 00:59:35 Probably feels like more like driving an old dot matrix printer (which is something I've actually done) :) 00:59:40 so you need like only one line of buffer? 01:00:02 b_jonas: even Ecma-48 is pretty out-of-order capable 01:00:30 I like DVI printing format 01:00:33 . o O ( switch to this mode, then we submit some data, then we switch out and to another mode, print some more data, and all hell will break loose if the output terminal is 132 instead of 80 characters wide ) 01:00:35 and suggests codes for a sort of meta-editing where you edit the codes that get sent to the lower level which actually produces the output (and is capable of moving around within that) 01:00:57 there's an old computer monitor next to me at the moment 01:01:08 it /still/ has a guide to control codes for a particular model of printer taped to it 01:01:38 underlined was ESC - l, apparently 01:01:47 (these don't seem to be standardised codes, at least they're different from VT100) 01:02:02 oh, it's probably a 1 rather than an l 01:02:03 I was going to have #esoteric logged to a dot matrix printer with a tractor feed once, for æsthetic reasons. 01:02:09 they're not very different in the font used for the guide 01:02:24 The printer codes are ESC/P which is different from the VT100 codes for the display 01:03:10 Oh good old times. Consumer hardware that came with manuals that actually told you how to program it. (And those were not 100s of pages.) 01:03:59 I think the printer manual I got the codes from was probably hundreds of pages 01:04:26 (Incidentally, there's something faintly mind-blowing about there having been around 14 years of effort spent on attempting to implement HTML using terminal control codes.) 01:04:44 It might have been, because it was also printed in several languages, now that I think of it. 01:05:57 s/effort/bickering/ 01:05:58 I bet 01:06:39 hmm, ODA seems like it's definitely the most appropriate thing to use for INTERCAL manuals 01:06:59 int-e: not int he same volume, I think. at least the manual that I had for the epson matrix printer was only in Hungarian. it even had a few typos in control sequences exactly of the kind you expect from a translated book before digital typography, when the typesetter doesn't quite understand what the book is about 01:07:02 int-e: It is how I intend to design computer, that the manual does describe all of the programming. 01:07:07 complying with standards that nobody else complies with is more or less the most modern-INTERCAL thing possible 01:07:14 ais523: t(?)roff isn't obscure enough? 01:07:16 like an occasional 1 instead of l or backwards and similar 01:07:34 int-e: not really 01:07:38 NetHack still uses it seriously 01:07:45 and it's still the backend for man(1) 01:08:04 b_jonas: that's not necessarily a lack of subject matter knowledge 01:08:22 these are completely arbitrary codes, you often can't guess whether l or 1 is correct if you don't already know even if you know all the context and are an expert on the subject 01:08:35 ais523: sure you can guess. how else would I have recognized the typoes? 01:08:40 there may be more that I didn't recognizer 01:08:53 well, I guessed 1 in this case just because the "end underline" code used a 0 in that position 01:08:58 admittedly it has _fewer_ such typoes than the Hungarian translation of the K&R book 01:09:02 that one is much more terrible 01:09:29 I think at one point they mixed up whether you need a \000 or a 0 for a boolean 01:09:39 Ecma-48 is a bit better in this respect, it has a very clear grammar to allow you to ignore unknown codes correctly 01:10:02 like, they show both ascii and hex of the bytes in the control sequence, and the ascii shows 0 and the hex shows 00 01:10:02 and 1 and l are in completely different lexical classes, so using one rather than the other will nearly always make the code grammatically incorrect 01:10:12 although now it occurs to me that maybe only the lowest bit matters 01:10:48 are you talking about printer codes? I guess you must be because C didn't have booleans at the time 01:10:54 printer codes 01:11:03 they take booleans like you mention 01:11:17 unlike the ecma-like codes which use "h" and "l" 01:11:30 or, for attributes, just different numbers 01:11:39 20 higher to turn off the attribute or something 01:12:46 saying "h" and "l" is wrong, I think; Ecma-48 gives the byte sequences to send purely using hexadecimal, there's not much suggestion that it should correspond to anything in ASCII 01:13:16 the only reason ASCII /might/ be the correct way to interpret characters after ESC is the suspicious coincidence that numbers are sent in decimal using 0x30…0x39 as decimal digits 01:13:28 the K&R translation has a typo related to the \000 character too by the way: the reference implementation source of the fgets function wants '\n' at the end of the string rather than 0 01:14:35 ais523: well ok, but it's intermixed with ordinary character data, and sometimes, when a program parses the more complicated escape sequences wrong, the bytes of an escape sequence can end up interpreted as ordinary characters 01:14:53 that more often happens at the receiving end, for a program parsing keyboard input that a terminal gives to it 01:14:57 but it can happen either way 01:15:33 "and sometimes, when a program parses the more complicated escape sequences wrong, the bytes of an escape sequence can end up interpreted as ordinary characters" ← Ecma-48 is really well-designed so that that absolutely cannot happen, the only time you see it is when terminal developers completely ignore the standard's information on what the grammar of terminal codes is 01:16:20 I get the feeling that most terminal developers don't even realise that, say, = is a digit in Ecma-48 (because it's in the 0x3? range) 01:16:41 ais523: it happens often for keyboard input with terminfo+ncurses programs, because it basically only tries to match literal sequences to the escape codes representing the keyboard input (except maybe some rules with the mouse) 01:17:01 and happens with other programs too with generic terminal input handling (not ecma-specific in theory) 01:17:31 I do realize that, I know my ascii table 01:18:19 I also think that any CSS media type you should also be allowed to specify continuous or paged media. For example, you might have a presentation that is screen but also paged, or if you use continuous paper then it will be print but also continuous. 01:18:23 parsing a terminal code in Ecma-48 is completely trivial and most of the people who don't check the standard probably have more complex code to do it than the code the standard actually wants 01:18:24 ais523: also, a few of the control characters are interpreted the same when they're inside an escape sequence and when they're not, which also shows that they're supposed to be the same character space 01:18:31 at least, for codes starting CSI 01:18:51 zzo38: that's a very good point 01:19:07 ais523: yes, but the problem is that terminfo and many other programs don't even try to parse ecma-48 codes, they try to work with arbitrary terminals, even non-ecma based ones 01:19:31 b_jonas: there's actually two layers, a decoding layer that goes bytes → codepoints and then Ecma-48 below that which mostly operates on the codepoints (but the decoding layer leaves, e.g., CSI-sequences the same so that they stay untouched) 01:19:46 the decoding layer is in an entirely separate standard, and that explains why some things work consistently regardless of context 01:20:04 the decoding layer is widely disrespected nowadays, though, because it is inconsistent with most encodings in widespread use 01:20:09 in particular, termbot had joe compiled to DOS, with some mild changes by me, and that one parses DOS keycodes, not ecma, but knows nothing about either, just has the literal sequences in the config file 01:20:15 e.g. it isn't compatible with Windows-1252 nor with UTF-8 01:20:57 so I ended up having to work out my own standard for mixing it with modern encodings when I wrote the bytes → codepoints layer for asciinema 01:21:59 hmm, does anyone actually use UTF-1? it's the traditional-terminal-decoding-layer-compatible Unicode encoding 01:22:07 hm? 01:22:13 what's UTF-1? 01:22:51 https://en.wikipedia.org/wiki/UTF-1 01:23:08 I know about UTF-7, which is an encoding of unicode chars with only low bytes, and is used in MIME headers and mobile phone contact list export formats 01:23:22 it's a multibyte encoding system that's sort-of ASCII compatible (ASCII characters encode to themselves but encodings of other characters can contain embedded ASCII) and avoids both the C0 and C1 ranges 01:23:55 trying to make terminal standards work with modern encodings is hard because they both try to use C1 for different purposes 01:24:34 so in practice, what happened is that there are fallback codes specified for 7-bit connections that let you encode all the C1 codes using C0 codes, and terminals support /only/ those so that the C1 range can be used for things like UTF-8 01:25:14 yeah, but didn't those fallback codes basically always exist, because terminal io was sometimes sent through 7-bit serial/modem connections? 01:25:16 let's use UTF-20.1 or whatever it is 01:25:43 kmc: it goes from 0x0 to 0x10ffff (21 bits would be 0x1fffff) 01:25:50 so yes, 20 and a bit 01:25:51 having those C0 and C1 codes in the bottom 256 codepoints is such a waste of space :( 01:26:30 ais523: but subtract 2048 values for surrogate pairs 01:26:32 I'm not convinced, many of those codes are pretty important 01:26:35 which are not valid Unicode codepoints 01:26:35 OTOH, many of them aren't 01:26:39 most of them aren't 01:27:05 which C0 points are widely used 01:27:15 `perl-e print 0x10ffff 01:27:16 1114111 01:27:24 `perl-e print 0x10ffff - 2048 01:27:25 1112063 01:27:39 I don't want to subtract 2048, 1114111 is a much prettier number 01:27:42 00 (NULL), 07 through 0D (the ones with C escapes), and 1B (escape) 01:27:49 that is a pretty number 01:27:54 also there are a few other miscellaneous invalid codes, like the byte-reversed byte order mark 01:27:55 kmc: no, that's not what's the waste. it's having very rare scripts in the low 2048 codepoints is what's a waste. though ais told me that was a historical accident, because the code points were assigned before utf-8 was invented. 01:28:08 b_jonas: it's all historical accidents 01:28:09 but yes 01:28:14 well sure 01:28:18 they at one point naïvely thought they could encode everything in 16 bits 01:28:20 even ASCII 01:28:37 let's go back to baudot 01:28:44 baudot is still used sometimes in ham radio 01:28:54 it doesn't scale very well to adding new characters 01:29:14 https://www.sigidwiki.com/wiki/Radio_Teletype_(RTTY) 01:29:20 this is still fairly popular 01:29:26 one day I picked up a Japanese RTTY contest from my house 01:29:29 tons of RTTY traffic 01:29:51 I think Unicode is messy. (I partially wrote (and altered) a document of Universal Terminal Character Coding, which is better for use with fix pitch displays without semantic character coding for displayed characters. Some of the characters are in Unicode, some have a ambiguous conversion to Unicode, some have a ambiguous conversion from Unicode, and some are not in Unicode at all.) 01:29:59 `fetch http://nethack4.org/esolangs/7/7.pl 01:30:00 2019-07-20 01:30:00 URL:http://nethack4.org/esolangs/7/7.pl [23458/23458] -> "7.pl" [1] 01:30:08 `ls 01:30:12 7.pl \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom 01:30:21 `mkdir interps/7 01:30:22 No output. 01:30:29 `mv 7.pl interps/7 01:30:29 mv: missing destination file operand after '7.pl interps/7' \ Try 'mv --help' for more information. 01:30:33 `` mv 7.pl interps/7 01:30:35 No output. 01:31:11 (And, some characters, if you convert to Unicode you need multiple Unicode characters to represent it.) 01:31:27 `` printf '#!/bin/sh\necho "$1" | interps/7/7.pl /dev/stdin' > ibin/7 01:31:29 No output. 01:31:35 `` chmod a+x ibin/7 01:31:37 No output. 01:31:44 `` chmod a+x interps/7/7.pl 01:31:45 No output. 01:32:03 `! 7 5325101303040432004513151401430134321027403 01:32:07 Hello, World! 01:32:18 (I got the program off TIO, thus the weird capitalisation) 01:32:19 ais523: shouldn't that have an exec in it? 01:32:31 b_jonas: I guess it would be marginally more efficient? 01:32:38 i don't think there's a correctness difference 01:32:43 hmm 01:32:53 also, the fact that I'm using an anonymous pipe here might confuse things 01:33:06 because the echo and the 7.pl may have to run in parallel 01:33:18 I think it would make the exit code correct even if the interpreter dies to a signal 01:33:28 but yeah, that probably doesn't matter 01:34:25 kmc: try translating 32 51 01 30 30 40 43 20 04 51 31 51 40 14 30 13 43 21 02 from base 6 into binary, you'll get hello world in Baudot 01:34:34 -!- Sgeo_ has joined. 01:34:51 so there is some use being made of it nowadays, admittedly in esolangs 01:34:57 what lang? 01:35:00 7 01:35:03 https://esolangs.org/wiki/7 01:35:41 when Donald Knuth wrote an INTERCAL program, he used three-letter names for line labels via baudot-encoding them into 15-bit numbers 01:35:59 kmc: it's ais's underload-like that, instead of using parenthesis, uses levels of escaping values to such functions that output that value, or something strange like that 01:36:22 b_jonas: the original aim was "Underload but you could generate /any/ string even if its brackets weren't matched" 01:36:26 then it got a little out of control 01:36:42 the escaping part somewhat reminds me to Endo DNA 01:36:45 ais523: interesting 01:37:00 well, my original aim for Consumer Society wasn't what it eventually turned to 01:37:18 but it somehow converged into a language with very simple definition but interesting properties, which is why it survived 01:37:31 I have other ideas that I haven't managed to turn to interesting esolangs 01:37:46 -!- Sgeo__ has quit (Ping timeout: 246 seconds). 01:38:10 it tends to do well on CG&CC when it's outputting constant strings, because it's pretty good at it (Baudot's a pretty dense encoding) and it lets you do some pretty complex explanations of string literals sometimes 01:38:43 here's a good example: https://codegolf.stackexchange.com/questions/183248/output-the-%c5%8bar%c3%a2%c3%be-cr%c3%ae%c3%be-alphabet-song-without-using-many-letters 01:42:18 what happens if I plug a USB A-to-C cable into my C charger and then plug the male A into my laptop 01:42:34 -!- Sgeo has joined. 01:44:04 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 01:44:11 Then, there would be a disaster. 01:44:53 (I'm guessing probably it's safe. That sentence just popped to my mind. It's a quote from a book.) 01:45:47 I see 01:45:48 which book 01:46:42 Look to Windward, by Iain M. Banks. It's not really related contextually, and the quotation was slightly edited. 01:46:50 alright 01:47:51 Context: http://ix.io/1OX1 01:48:00 god, it must be such a nightmare to make all these different USB standards work together 01:48:10 including the proprietary USB2 quick charge protocols 01:48:14 `! 7 23723 01:48:15 23723 01:48:17 the Pixel 3a seems to support at least some of those 01:48:28 7 is very good at writing quines of varying levels of cheatiness 01:48:29 because I can plug it into a USB-A port and get more than 0.5A 01:48:36 `! 7 23 01:48:37 23 01:48:39 `! 7 3 01:48:40 3 01:48:53 and I think this A charger port does not do actual USB-PD, although I have heard that can be done in theory 01:49:00 `! 7 223 01:49:01 2237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237223722372237 01:49:09 `! 7 2233 01:49:10 223372233 01:49:15 how about 323? 01:49:18 There's that BC thing as well, right? 01:49:28 `! 7 323 01:49:29 323'copy' command run with no bar in the frame at interps/7/7.pl line 607, <> chunk 1. 01:49:34 `! 7 5252 01:49:36 ​'copy' command run with no bar in the frame at interps/7/7.pl line 607, <> chunk 1. 01:49:49 oh right, the stack underflow happens at the wrong moment 01:49:58 3 exits the program on stack overflow but nothing else does 01:50:02 * stack underflow 01:50:12 other than the end of the program 01:50:19 so you need to time the stack underflow so that it hits in a 3 command 01:50:21 ("that BC thing" = USB Battery Charging Revision 1.2.) 01:50:33 fizzie: I don't know anything about that 01:50:40 `! 7 223372233 01:50:40 223372233 01:50:43 I don't know about the different USB2 fast charge things 01:50:50 223372233 is uncontroversially a valid quine 01:50:51 just that they are complicated hacks 01:50:55 or, maybe not? 01:51:01 "To recognize Battery Charging, a dedicated charging port places a resistance not exceeding 200 Ω across the D+ and D− terminals." That doesn't sound too complicated. 01:51:06 no, it isn't, the second 2233 is using itself to print both halves 01:51:19 fizzie: there are more complicated ones 01:51:30 you'd need the second half to read the /first/ half twice 01:51:35 `! 7 1322337132233 01:51:36 1322337132233 01:51:38 there we go 01:51:52 fizzie: https://en.wikipedia.org/wiki/Quick_Charge 01:51:59 that one's an uncontroversially valid quine 01:52:18 fizzie: ah, this is what I read about it http://blog.deconinck.info/post/2017/08/09/Turning-a-Quick-Charge-3.0-charger-into-a-variable-voltage-power-supply 01:53:35 I guess the problem with USB BC 1.2 is that it only goes up to 1.5A at 5V, which isn't really all that much. 01:54:08 there's a nice state machine that looks like a butterfly 01:54:19 fizzie: yeah 01:54:40 you need more than 5V to fast charge anything laptop/tablet-ish 01:55:18 my laptop charges at 20V, whether from USB-C or the dedicated brick 01:55:36 I guess that also simplifies the power circuitry, although if it's going into a buck converter, probably doesn't matter that much 01:56:14 I'm glad I got this USB3 meter. it is fun 01:57:47 you can buy a soldering iron that runs from USB3 01:57:53 https://www.amazon.com/UY-CHAN-Programmable-Pocket-size-Soldering/dp/B07G71CKC4 01:58:06 s/USB3/USB-PD/ 01:59:58 the Pixel 3a battery life is not as good as my Moto G5+, which was really exceptionally good 02:01:10 oh well 02:02:41 `perl-e print 0x10ffff - 2048 - 66 02:02:42 1111997 02:02:49 that's not too bad-looking a number 02:03:04 (in addition to the 2048 surrogates, there are 66 codepoints in range that are invalid for other reasons) 02:03:16 oh? 02:04:08 FDD0 to FDEF were reserved for programs to use internally, knowing that they'd never clash with any valid codepoint 02:04:20 also, any codepoint ending …FFFF or …FFFE is invalid 02:04:56 (0xFFFE being the most famous, because it's a byte-swapped 0xFFEF, and if a byte-swapped byte-order-mark could appear at the start of a file that'd be /really/ bad) 02:07:22 oh, interesting 02:08:16 In some programs 0 will not be valid either. 02:08:35 such as in XML? 02:08:43 they've started to do some weird things with combining characters 02:08:49 take a drink for “modified UTF-8” 02:08:52 Yes, XML and RDF. 02:08:54 such as https://emojipedia.org/transgender-flag/ 02:08:58 I like the UTF-8 fake NUL character 02:09:00 . o O ( r/aell/yb da ) 02:09:17 is this "Emoji 13.0" spec part of Unicode? 02:09:54 there should probably be a proper, official name for the encoding that's UTF-8 except that NUL is encoded as C0 80 rather than 00 02:10:11 It is simply a overlong encoding for NUL 02:10:26 ais523: JNI calls it modified UTF-8 02:10:29 wait no 02:10:31 ("modified UTF-8" has the problem that it encodes astral plane characters by splitting them into surrogates and UTF-8ing the surrogates separately…) 02:10:38 JNI does that too yeah 02:10:54 I’ve never heard of something that uses overlong null but doesn’t do the surrogate thing? 02:10:57 WHITE FLAG followed by "MALE WITH STROKE AND MALE AND FEMALE SIGN" (:rolleyes:) 02:11:07 there's also WTF-8 02:11:15 https://simonsapin.github.io/wtf-8/ 02:11:17 is that the same? 02:11:22 j4cbo: nor have I, but that doesn't mean it's a bad idea 02:11:47 WTF-8 is just another use of UTF-8, that supports encoding lone surrogates. 02:11:49 -!- xkapastel has joined. 02:12:07 (WTF-8 is useful if you want to convert UTF-16 to UTF-8.) 02:12:20 soooooo muuuuuch damage was done in the brief period when “Unicode” meant what we now call “UCS-2” and 64k codepoints ought to be enough for anyone 02:12:24 so much :( 02:12:55 the windows API, NTFS, USB, Java, wchar_t, ... 02:13:02 I think a perfect encoding would be more radically different from Unicode, so maybe the current astral plane mess is beneficial in that it provides more incentive for a fix 02:13:35 I've been thinking for a while about a format I call "Duocode", which represents each character as a pair: one element is the visual appearance of the character, the other the language/script/similar context 02:13:59 so, e.g., Cyrillic a and Latin a have the same appearance, Latin a and Latin b have the same script 02:14:13 this fixes a number of problems more or less automatically 02:14:39 I think different kind of character codings can be used for different purposes. But, yes that "Duocode" could work if you want both display and semantics without having to worry about both in programs that don't use it. 02:15:04 for example, suppose you're reading some printed Japanese text that you want to type into a computer 02:15:11 and find a lone thing in the text that looks like an "a" 02:15:19 out of context 02:15:32 in Unicode, you have to guess which script it's in to use the appropriate context 02:15:48 in Duocode, you'd be able to say "unknown script" (or perhaps even "Japanese") 02:15:57 *to use the appropriate character 02:16:07 really, Unicode's a big mess of mixing appearance and semantic 02:16:09 *semantics 02:16:18 My own "Universal Terminal Character Coding" also avoids that problem too (but it doesn't have semantics) 02:16:55 * kmc tries to create an emoji for a family with 5 parents and 3 children 02:16:56 is that like TeX, in which the font and low 8 bit of the character code uniqely determines the dimensions of the character, the upper 8 bits of the character code can't change it? 02:17:13 b_jonas: a bit 02:17:31 although in this case I think the dimensions might change for different scripts, even the appearance to a small extent 02:17:45 b_jonas: That is a feature of the .TFM format, which is used in TeX (which itself does not support characters longer than 8-bits at all), but may be usable with other programs too. 02:18:06 it selects as a single character, but that might be the usual behavior of anything combined with ZWJ 02:18:10 ais523: anyway, that doesn't sound like a particular good idea to me. now you're just picking two random properties of the character and want to put it in the code. but there are other properties that programs can be interested in, not just those, and you can look them up from tables, so I don't see why your particular format would be the best. 02:18:12 it renders the same as a few nuclear families 02:18:24 (I once wrote a program that had to write to a file containing UTF-16 text, with the source file being ASCII. In the parts where the text was exported to the file, it supports any UTF-8, including improper UTF-8 such as Modified UTF-8, CESU-8, etc; and overlong encodings can be used to escape trailing spaces and line breaks, too.) 02:18:27 (binary families? whatever) 02:18:42 zzo38: ok 02:19:14 I think Duocode would probably use the same appearance for б and 6 (the first is a Cyrillic lowercase b, the latter an Arabic numeral) 02:19:26 but you'd want to render them differently based on the script code 02:19:35 b_jonas: I don't consider them random properties: 02:20:05 a) they should be a perfect key, in the sense that one script can't meaningfully have two characters that look the same, so the pair should uniquely define the character 02:20:07 (The reason it does this is just due to the output file being UTF-16 and the input file being ASCII; otherwise, it probably won't do such thing, and would use the same encoding as the output file if it is compatible with ASCII.) 02:20:51 b) it removes any incentive to merge characters that are almost identical but not quite into identical codepoints, which has caused some controversy in the past (e.g. merging Chinese and Japanese characters that look the same even though they need to be rendered slightly differently) 02:21:36 ais523: but then you'll just have to set the "script" artificially in such a way that it matches your property (a) 02:21:37 c) appearance isn't a random property at all, it's what people use when actually reading a document 02:21:55 Yes, then a font that only supports one character and not the other one, will still be able to approximate it. 02:21:56 b_jonas: I don't think there's much artificial about it? either you know or you don't 02:22:03 if you know then it's not artificial 02:22:25 if you don't know, Duocode will let you say that you don't know, rather than having to try to find a character that looks similar but might mean something totally different 02:22:42 it's really easy to, say, mix up Ⓒ and © 02:23:02 when you're using Unicode 02:23:07 ais523: sure, but in what sense is that "script", rather than just an arbitrary selector among similar looking characters? 02:23:23 b_jonas: it's basically the context in which the character appears 02:23:32 like, the language you're writing in 02:23:42 ah, you mean language! 02:23:42 often it'll be the same for an entire document 02:23:44 that's a bit better 02:23:57 we currently encode that in metadata 02:24:11 well, it's a different word because there's a technical distinction, e.g. Russian is a language but Cyrillic is a script 02:24:33 perhaps going as far as just making it the language would be better though 02:24:40 How many bits will be used for each part (visual and script)? 02:24:47 it depends on whether different Cyrillic-using languages always want to render it the same way 02:25:25 zzo38: 16 should be enough for the script half, it'd be pretty tight on the visual half though so that might need to be larger to be on the safe side 02:25:25 ais523: no of course not. there are either two or three different incompatible appearances for the same cyrillic letters, depending on who you believe 02:26:07 oh, the other advantage of recording the language separately is that it lets you know whether two different-looking characters are supposed to be semantically equal or not 02:26:15 ö and oe are semantically equal in German but not in English 02:26:19 you probably need at least two different ones for latin too 02:26:37 or more likely three, one specifically for turkish only 02:26:47 yes, there are, e.g., two different ways to write lowercase a in English 02:27:07 one has a curve above the main body, touching it at the right hand side, curving over, and stopping without touching at the left hand side 02:27:16 the other has a taller body and a little curve at the bottom-right corner 02:27:59 https://en.wikipedia.org/wiki/File:LowercaseA.svg 02:28:10 For typesetting, I think what the .TFM format does is good (except that it is limited to 256 metrics, which is not always enough, and some languages and uses may need a few additional specifications that the .TFM format does not support) 02:28:44 I think I'd give them separate codes because there are probably cases where the distinction matters (also, this would basically force the use of a normalization library, which is probably a good thing) 02:30:12 anyway, this is all idle/eso speculation, unseating Unicode is almost certainly impossible at this point 02:30:49 In modern English orthography, the letter ⟨a⟩ represents at least seven different vowel sounds ← that sounds about right for English 02:30:53 at least until they run out of code points for emoji 02:31:56 int-e: they won't, they're already using crazy standardized code point combinations for emoji that work randomly differently for different emoji characters 02:32:29 combining stuff that is randomly valid or not valid depending on which brand of mobile phone first added the particular emoji and in what year 02:32:38 b_jonas: that's done for backwards-compatibility, I think 02:33:10 for example, you can zwj gender markers onto emojis representing particular jobs to get a gendered emoji for the job, but if the client doesn't have one it can just render them separately 02:33:35 that's how the family emojis work too 02:33:50 man + zwj + man + zwj + girl 02:34:04 hence me trying to figure out if i can make poly family emojis 02:34:24 ah, and the trans flag is the same way 02:34:47 zwj got kind-of more and more out of control as time went on, I think 02:34:50 I think it is messy, but so is the rest of Unicode 02:34:59 WAVING WHITE FLAG + ZERO-WIDTH JOINER + MALE WITH STROKE AND MALE AND FEMALE SIGN 02:35:35 hmm… perhaps you should be able to zwj absolutely anything onto a flag 02:35:41 a lowercase a flag would be fun 02:36:24 🏳‍a 02:36:48 strangely, Gnome renders it differently without the ZWJ but the a doesn't go onto the flag in either case 02:37:13 ais523: how about a CIRCLED LATIN CAPITAL LETTER A flag 02:37:19 just look at how the country flags are encoded 02:37:26 how about a CYRILLIC MULTIOCULAR O flag 02:37:34 b_jonas: they have a special copy of the latin alphabet, right? 02:37:38 or putting regulr emoji on flags: 🏳‍😀 02:37:38 and a pair of those gives an ISO country code? 02:37:54 kmc: actually, the whole flag thing was done to avoid having to specify which countries existed 02:37:58 my chrome does not seem to do the trans flag thing yet 02:38:11 which can be very controversial 02:38:29 (I guess there may also be cases where the existence of the country is uncontroversial but which flag to use is controversial?) 02:38:37 so yes, they use pairs of what are, effectively, flag surrogates 02:38:38 * int-e wonders whether unicode has the dancing men alphabet (Sherlock Holmes) somewhere. 02:38:40 ais523: exactly. but the problem is that some of those two-level country codes have been reused already 02:38:53 https://blog.emojipedia.org/fun-emoji-hacks/ 02:39:02 they should have used the three-letter country codes to avoid a flag randomly appearing as the flag of an unrelated country ten years later 02:39:45 int-e: I think that's just a different font for the latin letters. also we don't even know all of it, some letters are missing. 02:39:50 https://blog.emojipedia.org/ninja-cat-the-windows-only-emoji/ 02:40:01 Then add a date to the flag 02:40:09 "🇪 🇺" without the space produces "🇪🇺", so it's not /just/ countries 02:40:27 (that's "EU" in regional indicators, for people whose client can't render it) 02:40:37 int-e: I could just as well ask for the strange futhark rune that Jules Verne uses for the letter "G" but that was probably never used to that meaning anywhere 02:40:43 "UN" also seems to work: 🇺🇳 02:41:19 apparently some people got butthurt at some point because you can put a "NO" circle-slash over the rainbow flag 02:41:31 but you can put it over a frog emoji too so let's call it even 02:41:33 is there anything you can't put it over? 02:41:37 right 02:41:45 b_jonas: it's almost like the choices of what's put into Unicode are arbitrary... 02:41:47 IIRC it's a combining character 02:41:50 ;) 02:41:57 kmc: we'll fix that in Newspeak 02:42:02 hmm… does this mean you can do things like flag-acute and flag-umlaut? 02:42:07 probably 02:42:46 🇬🇧̈ 02:42:59 emojis are very political, on twitter putting them in your display name is like badges of which causes you support 02:43:03 it's hard to keep up 02:43:04 Firefox doesn't put the umlaut on top :-( 02:43:10 Konversation does, but it can't render the flag 02:43:42 the avocado has become the "YIMBY" pro-housing emoji 02:44:23 and the rose is a socialist / Labour Party thing 02:44:28 and frog is alt-right due to pepe 02:44:48 and there's a bunch more 02:44:57 but the avocado is the most amusing one 02:45:07 also the tastiest of those 02:45:25 i ate frog once, do not recommend 02:45:37 the rose is the Labour Party's logo in the UK (and has been for decades, predating the emoji), so that one is fairly easy to explain 02:45:50 yep 02:46:40 The rose was popular in socialist countries (at least the GDR) as well. 02:47:27 oh wow I didn't realize they had different hair styles in addition to skin tones 02:47:31 the UK Labour Party tend to oscillate wildly relating how socialist they are, so they're not an ideal reference to use 02:47:58 they're unusually socialist at the moment, but were to the right of the Conservatives not all that long ago 02:48:09 so they might not be the greatest reference for defining an emoji 02:48:13 yeah parties are funny like that 02:48:26 DSA also uses a rose 02:49:12 https://emojipedia.org/female-singer/ 02:49:26 I like that several systems use pink/purple hair to identify a singer :P 02:49:43 once I flew to the UK with some friends, all of us happened to have brightly colored dyed hair 02:49:58 and people assumed you were a pop group? 02:49:58 and the customs agent asked "Are you in a band or something?" 02:50:00 yep 02:50:39 two of my friends likewise had brightly colored hair and were touring rural china on a geology trip and 02:50:45 were stopped /constantly/ by locals wanting a photo 02:50:57 seeing westerners was weird enough by itself, let alone ones with bright green hair 02:51:22 also some random stranger asked my friend where to buy LSD on the basis that said friend had bright red hair 02:51:50 in my first passport photo I had green hair 02:51:54 and looked really good 02:52:05 second one was also good, but really masculine 02:52:11 third (current) is crappy but recognizably female 02:52:20 as is my driver's license photo 02:52:36 what really pisses me off is I need to get the DL renewed on my birthday next February, even though I got the new one (w/ updated gender marker) this year 02:52:40 it didn't reset the expiration date 02:52:43 . o O ( identity transformation ) 02:52:49 hehe 02:53:26 they don't have "pregnant man" emojis yet 02:53:49 that's going to become a problem at some point 02:54:39 i'm disappointed that you can't ZWJ the bride/groom emojis 02:54:54 at least on my system 02:55:57 merperson... now this is just silly. they should have a combining character so you can join MAN + FISH 02:56:04 then we can do all the other animal combinations 02:56:25 is this the point at which someone links the XKCD about the vomiting rocket emoji? 02:57:04 hmm… at some point you'd assume that correct emoji rendering would become AI-hard (like AI-complete, but harder because you need knowledge of the world too) 02:57:30 "The Kiss: Woman, Woman emoji is a sequence of the 👩 Woman, ❤ Heavy Black Heart, 💋 Kiss Mark and 👩 Woman emojis." 02:57:33 this is pretty elaborate 02:57:54 ais523: haha 02:57:57 I hadn't seen that one 02:58:06 "Vomiting Dove" makes sense because that's how they feed their young 02:58:08 sort of 02:58:16 it's also part of the mating ritual 02:58:25 ais523: https://xkcd.com/1857/ is better than the vomiting rocket one. 02:58:51 slightly less ontopic, though 02:59:02 always a critic 02:59:17 the unicorn's horn should also be a modifier 02:59:24 there was a followup which actually reviewed the emoji movie, I think that's better than either (but even less ontopic) 03:00:09 https://www.xkcd.com/1870/ 03:00:26 (for anyone who hasn't found it yet, the original xkcd we were discussing is https://www.xkcd.com/1813/) 03:01:30 Patrick Stewart voicing the poo emoji is probably the worst example I can think of of an actor taking a role way beneath him 03:01:42 maybe he owed the mob a bunch of money or something 03:02:11 i have read that if you're already famous, voice acting work is absurdly lucritive for very little work 03:02:17 the title-text comment about real-world usage of the upside-down smiley face emoji is one of those things that's really thought-provoking 03:03:41 TJ Miller rage-quitting Silicon Valley to star in that piece of shit is also pretty pathetic 03:03:43 (-: 03:03:55 he's a real treat https://en.wikipedia.org/wiki/T.J._Miller#Legal_issues_and_controversies 03:04:04 ais523: yeah 03:04:14 What I can find, U+1F93F is diving mask, not for vomiting. 03:04:21 I don't know how to explain what upside down face, or face with no mouth means 03:04:24 but I think I can use them 03:05:41 kmc: I'm not sure if I can use them but I sort-of get the meaning in other people's usage 03:05:48 presumably you've seen them more than me 03:06:34 the great thing about this is that it acts as a disproof of the Sapir-Whorf Hypothesis that can actually be communicated to other people, because it's a sort of shared disproof rather than being specific to one person's thoughts 03:06:57 (I've thought several disproofs in the past, but they have the fundamental problem that I have no way to easily communicate them to other people) 03:08:32 hmm… now I'm thinking about that moment several years ago when I had to ask someone what Kappa meant (in the common colloqual usage) as I didn't figure it out exactly based on examples 03:09:32 (I got close, but not close enough) 03:16:11 hmm… I wonder if it makes sense to use strings like "" as BOM-equivalents to show the encoding of text that escapes Unicode into ASCII rather than using more normal encodings 03:19:59 how does it disprove S-W? 03:20:33 ais523: you mean that if a file starts with the ASCII literal string "" then the decoder should assume it's ASCII, w/ Unicode escapes of that form? 03:22:19 kmc: right 03:22:37 hmm 03:22:40 is that useful? 03:23:14 it's not obviously useless; say you want to send an HTML file over a 7-bit connection but need it to round-trip perfectly 03:23:47 the result would be way more readable (also more likely to be interpreted correctly by a random computer program) than UTF-7 03:24:20 you could just use no BOM but then people would be uncertain about whether the input contained the actual characters or the escaped version 03:27:41 yeah 03:27:51 but the escapes will already have that meaning no matter what 03:27:58 so it's just a hint that there will be no non-ASCII characters 03:28:48 well, the difference is that if the original text contained characters in both escaped and unescaped form 03:28:58 the version after encoding will contain them in double-escaped and escaped form 03:29:03 allowing you to roundtrip 03:29:22 (whereas if you tried to escape into valid HTML directly, the distinction would be lost because double-escaped would just echo) 03:33:45 -!- FreeFull has quit. 03:51:21 ah I see 03:51:32 interesting 03:51:46 TIL that in Japan, it is considered lucky to dream of an eggplant on the first night of the new year 03:53:07 you can learn a lot about asian culture by reading about emojis :P 03:54:02 (eggplants, hawks, and Mt. Fuji) 03:56:20 how many specific, singular things are represented by Emoji? 03:58:13 Japan, Mt. Fuji, the Earth (in several variations), the Statue of Liberty, the Tokyo Tower, the Kaaba, Sol, Luna (both in several variations) 03:58:23 hmm, maybe compose keys should use RFC 1345, it's /way/ more comprehensive than any other compose key implementation I've seen 04:00:47 huh, it even has control codes 04:01:03 …it even has /C1/ control codes 04:01:26 Compose C I for CSI, for example 04:01:40 huh 04:01:53 that said, some of the characters in Brachylog's character set don't appear even in RFC 1345 04:27:16 [[User talk:A]] https://esolangs.org/w/index.php?diff=64584&oldid=64558 * A * (+4528) /* Sandbox */ new section 04:28:11 [[User talk:A]] M https://esolangs.org/w/index.php?diff=64585&oldid=64584 * A * (-101) /* Sandbox */ 04:28:45 [[User talk:A]] M https://esolangs.org/w/index.php?diff=64586&oldid=64585 * A * (-4427) 04:39:13 -!- xkapastel has quit (Quit: Connection closed for inactivity). 05:44:39 shachaf: should I get some kind of magsafe nonsense thing for my USB-C charging 05:48:07 -!- Sgeo_ has joined. 05:48:47 -!- ais523 has quit (Quit: quit). 05:51:17 -!- Sgeo has quit (Ping timeout: 245 seconds). 06:02:53 wow, there are all kinds of fun things i can do 06:03:13 like my phone came with this USB-C-male to USB-A-female adapter 06:03:23 which i guess is like an OTG adapter 06:03:34 but I can also use it to turn a USB-C charger into a legacy USB charger 06:03:44 which means one less thing to carry 06:03:44 :3 06:07:35 Oh it's a charger with a USB-C port, and a USB-C plug-plug cable? 06:07:42 I mean, your usual charger setup 06:08:18 my phone came with a "regular"/legacy USB-A charger but with the relevant fast-charging capabilities, and an A-male - C-male cable, for charging it 06:10:28 I see 06:10:39 right, mine came with a brick that has a USB-C port on it 06:12:34 and then I got another brick that also has USB-C on it, but this one is a bit larger and can charge my laptop too 06:13:08 so i will carry that in my everyday bag, instead of a separate phone and laptop charger 06:14:15 along with a C-to-C cable and an A-to-C cable 06:14:22 and if I need to charge both I can charge the laptop from USB-C and the phone from its USB-A port 06:14:55 and the phone can charge fast enough from my A-only powerbank so I'm keeping that 06:15:36 FireFly: so I wonder if your legacy brick supports USB-PD on its type-A port 06:15:50 or if it only supports the legacy, quasi-standard quick charge thingies 06:15:55 it is so complicated now 06:16:54 Most likely not USB-PD (as in, the standard "fast charge" thing), because phone uses the other quickcharge thing common in the industry 06:17:26 the Nintendo Switch does USB PD IIRC, but its charger just comes with a physical cable attached to the wallwart (and USB-C male at the end of the cable) 06:18:29 My understanding is that the legacy, quasi-standard quick charge thingie was to adopt USB PD as a required thing to support in the next version of it 06:18:41 so hopefully that mess will go away/unify over the next few years? maybe 06:19:23 IIRC phone cos went and did their own thing because the standard PD thing was taking its merry time, and they didn't want to wait around? or something 06:19:28 which I guess I could also see 06:19:42 annoying as the fragmentation is 06:29:38 -!- sprocklem has quit (Ping timeout: 245 seconds). 06:35:07 -!- Camto[m] has quit (Quit: Idle kick: User has been idle for 30 days.). 06:41:50 -!- sprocklem has joined. 07:03:20 yeah 07:03:46 i mean, as messy as the details are, it's working pretty well for me the consumer 07:03:59 if I plug a "fast charging" device into a "fast charging" charger then it usually "fast charges" in some way or another 07:06:04 I don't think it's the case between the Switch and the phone (which are the two USB-C-charging devices I have so far), but ah well 07:06:27 or well, I mean.. it *charges* either way, but charges quicker when I use the "right" charger rather than the "wrong" one 07:06:38 mm 07:06:47 (but fortunately most of the time I'm not that much in a hurry anyway) 07:06:59 so I just use whatever is closest/already plugged in because lazy 07:07:21 yeah 07:07:37 fast charging will wear out your battery faster won't it 07:07:46 I think so, and that's a fair point 07:08:03 I know that's a thing for electric vehicles 07:08:19 I don't know if it matters for a phone that will probably be replaced within 5 years anyway 07:08:26 * kmc has a drawer of old smartphones 07:08:34 Maybe devices ought to ask you when you plug it in at what rate you want to charge it (and use that to decide whether to negotiate for faster power or not) 07:08:41 mm 07:08:50 I tend to not be very consumer-y when it comes to smartphones :p 07:09:01 I did get a new one last year, but that was replacing the aging Jolla1 phone from 2013 07:09:41 before that I had the E7 briefly which I got as a replacement when the N900 died, and before that, said N900 which was the first 'smart' phone I had 07:10:10 so I do value not wearing the battery too much :p 07:10:57 The J1 had a very worn out battery, and very worn out USB connector.. those were not insignificant in deciding to get a new phone 07:11:28 mm 07:11:31 I just got a new Pixel 3a 07:11:40 because I had cracked the shit out of the screen on my Moto G5+ 07:11:49 and it was looking not too easy to repair / replace 07:11:55 ah 07:11:56 it was a good phone, though 07:12:16 pro tip, don't store your phone in a purse with a heavy metal object 07:12:29 :| 07:12:41 heavy (metal object), or (heavy metal) object? 07:12:58 the former... I hope 07:13:02 I think it's stainless steel 07:13:16 *nod* 07:15:38 this Anker brick has one USB-C-PD and one USB-A with "PowerIQ 2.0" 07:15:41 whatever the hell that is 07:15:41 I do keep my phone and keys in separate pockets for a reason :p 07:15:50 no idea 07:16:17 it seems to be their proprietary name for an implementation of various different devices' quick charging specs 07:16:19 I don't know 07:16:38 normally I do keep my phone in a pocket by itself, but in this case I was wearing a dress and did not have pockets 07:16:42 I think/thought https://en.wikipedia.org/wiki/Quick_Charge was the main competitor to USB-PD (and ah, it looks like 4 and 4+ also do USB-PD stuffs) 07:17:13 and was distracted while leaving a party so did not consider the hazards 07:17:21 mm 07:17:59 I also dropped that phone on concrete on many occasions 07:22:57 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 07:23:59 -!- Lord_of_Life has joined. 08:20:08 -!- AnotherTest has joined. 08:57:53 " the great thing about this is that it acts as a disproof of the Sapir-Whorf Hypothesis" => huh? what is a disproof? 08:58:30 -!- haavard has quit (Remote host closed the connection). 09:00:02 " I had to ask someone what Kappa meant" => that's one of the Twitch chat specific emoticons. Yeah, it's not trivial to figure out what the commonly used ones mean from examples. I don't think I understand them either. I think Kappa marks a certain kind of humour where you act as better than others or something. 09:00:07 -!- haavard has joined. 09:02:50 " it's not obviously useless; say you want to send an HTML file over a 7-bit connection but need it to round-trip perfectly" => then gzip and mime base64 encode or uuencode it. ampersane-escapes aren't enough, because you won't know which stuff were escapes in the original HTML. (XML can also have CDATA or non-ASCII characters in tag or attribute names.) 09:03:38 " the version after encoding will contain them in double-escaped and escaped form" => uh 09:05:54 I don't think you can assume from just a  that it's such of a double escaped file. That could be there just by accident when someone accidentally escaped some characters in a file starting with an UTF-8 BOM. 09:36:08 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:36:34 -!- Sgeo_ has joined. 10:28:50 -!- atslash has joined. 10:31:35 -!- atslash has quit (Client Quit). 10:52:51 -!- AnotherTest has quit (Ping timeout: 264 seconds). 11:49:38 -!- Sgeo_ has quit (Read error: Connection reset by peer). 11:50:02 -!- Sgeo_ has joined. 11:54:35 -!- Melvar has quit (Quit: WeeChat 2.4). 12:04:49 -!- arseniiv has joined. 12:25:19 -!- Melvar has joined. 13:00:55 -!- atslash has joined. 13:13:36 -!- atslash has quit (Quit: This computer has gone to sleep). 14:08:06 -!- Sgeo__ has joined. 14:11:44 -!- Sgeo_ has quit (Ping timeout: 258 seconds). 14:58:36 -!- Sgeo_ has joined. 14:59:12 -!- b_jonas has quit (Quit: leaving). 15:02:05 -!- Sgeo__ has quit (Ping timeout: 268 seconds). 15:13:25 -!- jalumar has quit (Ping timeout: 252 seconds). 15:18:50 -!- Sgeo has joined. 15:21:49 -!- Sgeo_ has quit (Ping timeout: 268 seconds). 15:24:49 -!- Sgeo has quit (Ping timeout: 246 seconds). 16:08:25 -!- Sgeo has joined. 16:25:34 -!- Melvar has quit (Quit: WeeChat 2.4). 16:35:38 re: charging 16:35:51 the thing that is really bad for batteries is leaving them at 100% 16:36:10 but it is basically totally impossible to not do that with any phone or laptop 16:36:23 why is that bad for them 16:37:31 I don’t know the materials science behind it but it results in faster capacity loss 16:37:43 [[Dbondb]] https://esolangs.org/w/index.php?diff=64587&oldid=64581 * Sideshowbob * (+127) /* Commands */ 16:39:02 I’ve charged my car to 100% like five times ever and only *immediately* before a road trip 16:39:18 I charge my phone to 100% and let it sit that way for hours every night 16:42:16 [[Dbondb]] https://esolangs.org/w/index.php?diff=64588&oldid=64587 * Sideshowbob * (-3) Undo revision 64587 by [[Special:Contributions/Sideshowbob|Sideshowbob]] ([[User talk:Sideshowbob|talk]]) 16:47:18 yeah where *is* the phone setting that says "stop charging at 85%"? 16:47:32 I don't know 16:47:36 Thinkpads have that setting 16:47:57 and you can also set a maximum point to *start* charging 16:48:04 thus giving some hysteresis between them 16:48:19 so if you plug in, charge to 96%, run down to 94%, plug back in, it might not necessarily start charging again 16:48:21 Hmm sounds nice. 16:48:42 this is good to avoid excess charge cycles in the usual case where you're unplugging your laptop for brief periods of time 16:48:57 though I've noticed, the battery life on my X270 is good enough that I'm using it more like a phone, just plugging it in overnight 16:49:05 Also, if charging to 100% is so harmful, maybe you should spec the batteries at lower capacity... 16:49:11 It is OK to use "#ifndef MSG_MORE" and "#define MSG_MORE 0"? Will that cause any problems with the program if it does that? 16:49:14 ...so I suppose marketing is a major factor here. 16:49:23 it has an internal battery and an external, high-capacity battery 16:49:29 this also means the external battery is hot swappable 16:50:59 (Phones sell on reviews of early models, and battery lifetime is a major selling point. So any charging schedule that results in higher capacity and does not visibly destroy the battery in the first week is an advantage? Sigh.) 16:51:28 Maybe a month or two for people who wait for social media experience reports. 16:52:21 And then there's the planned obsolescence angle. 16:53:16 'If you find the mail in your spam, it’s because of your internet ISP.' -- yeah it couldn't possibly be because it *is* spam. 16:53:41 (I like reading opening lines of spam mails for some reason.) 16:57:10 I use /etc/aliases to avoid receiving spam 17:05:05 (It works OK, if you use a separate email address for each purpose.) 17:10:46 -!- atslash has joined. 17:12:44 -!- lldd_ has joined. 17:16:22 -!- FreeFull has joined. 17:28:06 -!- Sgeo_ has joined. 17:31:39 -!- Sgeo has quit (Ping timeout: 244 seconds). 17:33:14 [[Esolang talk:Categorization]] https://esolangs.org/w/index.php?diff=64589&oldid=64571 * Areallycoolusername * (-4) /* Proposed Categories: Arch-based and Bootstrapped */ 17:33:47 -!- zzo38 has quit (Ping timeout: 245 seconds). 18:17:09 -!- Melvar has joined. 18:20:39 -!- Sgeo has joined. 18:22:26 -!- Sgeo_ has quit (Ping timeout: 248 seconds). 18:47:28 -!- zzo38 has joined. 18:58:46 I think bystand may be so far the only NNTP client program with a feature specific to Unusenet (the UNUSENET_SERVER_NAME() SQL function; which may be used in the PostTo option) 19:07:13 -!- AnotherTest has joined. 19:15:56 -!- lldd_ has quit (Quit: Leaving). 19:20:55 -!- Lord_of_Life_ has joined. 19:23:52 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 19:23:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 19:49:28 -!- lldd_ has joined. 20:11:32 -!- moei has joined. 20:17:58 -!- Phantom_Hoover has joined. 20:39:00 -!- user24 has joined. 20:45:47 just passed a car with the vanity plate U1F47E 20:48:41 -!- b_jonas has joined. 20:52:30 -!- lldd_ has quit (Quit: Leaving). 20:52:37 kmc, idgi 20:57:26 https://www.compart.com/en/unicode/U+1F47E 20:57:50 that is very bay area 20:57:54 yeah, wow 20:57:57 lol 20:58:10 where's that diagram of the bay area memespace kmc 20:58:17 the one i remember you linking to and hating years ago 20:58:40 that character is sponsored by RubberRhino Games 20:58:46 https://www.unicode.org/consortium/adopted-characters.html 20:58:51 wonder if that's related to the car 20:58:57 Phantom_Hoover: I have no idea what you're talking about, sorry 20:59:16 wow you must be getting old 20:59:21 your shitposting memory is fading 21:02:26 what kind of car was it? looks like rubberrhino makes truck/car racing games 21:03:02 this character sponsorship is some sort of dismal late capitalist performance art 21:03:23 BURNIN R shows up on some of the images I can find 21:05:12 kmc: hmm interesting that the same character can be adopted several times 21:06:16 at bronze level yes 21:06:23 Phantom_Hoover: you know how much dope I smoke 21:06:28 I can barely remember what I ate for lunch yesterday 21:06:39 i don't know how much dope you smoke 21:06:43 "a lot" 21:06:50 actually not that much these days but for the sake of the joke 21:06:54 fuck you i want hard numbers 21:06:57 kmc: and this channel should celebrate the bronze sponsor of the multiocular O. 21:07:09 `quote prose 21:07:10 1132) A Swede who was in #esoteric / Thought his rhymes were a little generic. / "I might use, in my prose, / ꙮs, / But my poetry's alphanumeric." 21:07:22 Phantom_Hoover: I dunno, Unicode Consortium is a nonprofit whose mission is vital to enabling people around the world to use the internet through a free open standard 21:07:23 best artistic achievement this channel has ever produced 21:07:26 so 21:07:34 I think it's pretty not-dystopian-capitalism as these things go 21:07:44 int-e: of course. 21:07:48 yes, which makes it pretty dismal that it needs to sell corporate advertising 21:09:36 well, true 21:09:42 fair point 21:09:48 I think Unicode is very messy 21:10:09 There are better character encodings, and different one are good for different use. 21:10:12 did you make a zzocode? 21:10:57 I partially made up a "Universal Terminal Character Coding", which is designed for grid displays with no complex scripts or other stuff like that 21:12:50 The width of a text made up of printable characters only (without control characters) is equal to the number of bytes with value less than 0xC0. Both single-cell characters and double-cell characters are included, although some implementations might support only single-cell characters. 21:17:28 It also includes a lot of stuff that isn't in Unicode. (Some of the characters in some terminals are not in Unicode, but this code does include them. You can use them for font mapping in a terminal emulator when a character set including them is specified by the escape codes.) 21:42:18 -!- MDude has quit (Ping timeout: 272 seconds). 21:45:45 Phantom_Hoover: why? I think it's a win for everyone. the advertisments don't buy anything. they don't put ugly animated banners on their homepage telling about their sponsors. It's pure sponsorship donations. I don't think it's dismal. 21:46:04 -!- user24 has quit (Quit: Leaving). 21:47:39 I think the name of the sponsors can't even be queried as character properties from unicode libraries. 21:47:45 So it's totally without any effect. 21:48:58 It's not even just optimized away. 21:57:01 -!- AnotherTest has quit (Ping timeout: 276 seconds). 22:11:04 -!- adu has joined. 22:12:57 -!- ais523 has joined. 22:13:14 b_jonas: if someone accidentally escaped a BOM, then isn't it likely that they also accidentally escaped the rest of the file the same way? 22:13:46 or is the assumption that they escaped all non-ASCI characters but left & the same? 22:13:50 *non-ASCII 22:15:35 ais523: no. I'd assume they'd escape only text, not double-escape HTML 22:15:45 as in, they don't escape the entire HTML, just build an HTML from parts 22:16:21 yeah, you can't be sure in that, because you can find all sorts of crazy messed up HTML-like things on the internet, but I still wouldn't guess that they just escaped an HTML 22:16:21 if they're building it from parts, how did they find a part with a BOM before the opening ? 22:16:53 ais523: yeah... I don't know, but I don't think your alternative is very likely either 22:17:41 it would be if you did it intentionally 22:17:43 this at least if the escaped BOM is at the start 22:18:08 if it's in an XML inside an element that isn't likely to be part of the HTML, then yes, then I'd think they escaped an HTML inside an XML 22:18:15 hmm: https://duckduckgo.com/?q=%EF%BB%BF&ia=web 22:18:24 no results, but yet it pulls up a relevant Wikipedia page anyway 22:18:39 well 22:18:43 I can't believe there are no byte order marks anywhere on the Internet, so maybe DDG just don't index them 22:18:44 I guess you should scan a bit after the BOM 22:19:09 but yes, I meant an escaped BOM right at the start of the document (which is the only place they should appear) 22:19:13 if you see  then it's not double-escaped; if you see < then it is probably double-escaped, 22:19:24 oh, I see, clever 22:19:46 -!- arseniiv has quit (Ping timeout: 248 seconds). 22:20:08 especially if you see <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"<>HTML< 22:20:59 I've at least seen HTML parts escaped in JSON 22:20:59 you got the gts and lts backwards near the end, but yes 22:21:13 oh yeah, french style, not german style, yeah 22:21:27 I shouldn't have messed that up 22:32:45 smoke html erryday 23:26:55 [[Talk:Kepler]] https://esolangs.org/w/index.php?diff=64590&oldid=64441 * Areallycoolusername * (+947) 23:34:12 -!- ais523 has quit (Remote host closed the connection). 23:35:24 -!- ais523 has joined. 23:48:27 -!- Sgeo_ has joined. 23:51:30 -!- Sgeo has quit (Ping timeout: 272 seconds). 23:57:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).