←2020-08-26 2020-08-27 2020-08-28→ ↑2020 ↑all
00:08:51 -!- xelxebar has quit (Remote host closed the connection).
00:09:19 -!- xelxebar has joined.
01:24:08 -!- t20kdc has quit (Remote host closed the connection).
01:28:26 -!- rain1 has quit (Ping timeout: 258 seconds).
01:42:40 -!- rain1 has joined.
02:19:52 -!- aaaaaa has joined.
03:20:05 -!- rain1 has quit (Ping timeout: 240 seconds).
03:34:41 -!- rain1 has joined.
03:42:09 -!- adu has joined.
04:14:45 <adu> hi
04:16:36 <adu> how do you canonicalize code?
04:22:16 <zzo38> To canonicalize what code?
04:31:46 -!- xelxebar_ has joined.
04:32:18 -!- xelxebar_ has quit (Remote host closed the connection).
04:32:43 -!- xelxebar has quit (Ping timeout: 240 seconds).
04:32:45 -!- xelxebar_ has joined.
04:39:53 -!- Lord_of_Life_ has joined.
04:40:18 <adu> zzo38: all code
04:41:45 -!- Lord_of_Life has quit (Ping timeout: 256 seconds).
04:41:45 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
04:50:56 -!- aaaaaa has quit (Quit: leaving).
04:55:38 <Cale> What's your favourite solution to the halting problem?
05:22:21 <myname> twoducks
05:39:42 <Cale> Might be possible to write a lambda calculus canonicaliser in that
05:43:13 -!- Palaver has joined.
05:43:37 -!- Palaver has changed nick to mookil.
06:07:44 -!- mookil has quit (Remote host closed the connection).
06:34:44 -!- tromp has joined.
06:58:42 -!- Sgeo has quit (Read error: Connection reset by peer).
07:10:22 -!- atslash has joined.
07:12:37 -!- tromp has quit (Remote host closed the connection).
07:19:22 -!- tromp has joined.
07:26:51 -!- adu has quit (Quit: adu).
07:53:23 -!- atslash has quit (Read error: Connection reset by peer).
07:53:36 -!- atslash has joined.
08:09:01 -!- craigo_ has quit (Ping timeout: 258 seconds).
08:12:23 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:12:34 <rain1> https://www.quantamagazine.org/can-computers-solve-the-collatz-conjecture-20200826/
08:17:09 -!- cpressey has joined.
08:19:01 <spruit11> Not sure how you would put something recursive into something which checks finite statespaces?
08:20:26 <rain1> that's why these are impossibility results
08:20:39 <rain1> you only need to show its impossible for some finite n then you're done forever
08:20:58 <rain1> so i guess they are trying to find a loop in collatz ???
08:23:43 <shachaf> Can you solve the Collatz conjecture with a halting oracle?
08:23:49 <shachaf> What program would you give it?
08:24:32 <rain1> can i only invoke the oracle once?
08:26:29 <rain1> i suppose there is a generic construction that makes invoking a halting oracle once equivalent to invoking it arbitrarily many times
08:27:03 <cpressey> There's a program that finds the Collatz sequence for every natural number. Give it that?
08:27:32 <cpressey> Not quite, I guess.
08:27:41 <rain1> but that takes n as input. i was thinking of we could loop over every n -- but i need to invoke the oracle many times
08:27:41 <cpressey> Good morning
08:27:45 <rain1> morning!
08:27:53 <shachaf> You can't invoke the oracle nestedly.
08:28:27 <cpressey> I meant, give the oracle the single program that runs the Collatz sequence repeatedely, for every n
08:28:37 <cpressey> But of course that doesn't halt even if Collatz halts for all of them
08:30:03 <shachaf> I was replying to the rain.
08:30:12 <cpressey> So was I
08:30:25 <shachaf> Oh no.
08:32:16 <Taneb> So, there's two failure cases for collatz conjecture: either there's a loop, or an unbounded increase
08:32:31 <Taneb> I think you can find the first failure case with an oracle, but I don't think you can find the second
08:33:15 <shachaf> Yes, the second case is the harder one.
08:33:26 <rain1> this is so interesting
08:33:55 <cpressey> Ehm, wouldn't a halting oracle just tell us that it halted or not?
08:35:07 <esowiki> [[User:Abyxlrz]] https://esolangs.org/w/index.php?diff=76934&oldid=76924 * Abyxlrz * (-17)
08:35:36 <cpressey> Maybe Taneb has some other kind of oracle in mind, otherwise I am completely confused about why there would be a distinction there.
08:35:36 <rain1> but can't i run infinitely many programs all at once and ask if that halts?
08:36:09 <Taneb> cpressey: the program I want to put into the oracle is "Try each number until we find one that cycles, then halt"
08:39:50 <shachaf> Yes, that.
08:39:56 -!- sprocklem has quit (Ping timeout: 240 seconds).
08:39:57 <cpressey> OK
08:40:55 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76935&oldid=76931 * Abyxlrz * (+90)
08:41:49 <cpressey> <rain1> i suppose there is a generic construction that makes invoking a halting oracle once equivalent to invoking it arbitrarily many times <-- I think there actually isn't, and that this is why there's a hierarchy of uncomputable problems, actually
08:42:47 -!- imode has quit (Ping timeout: 265 seconds).
08:45:17 <cpressey> e.g. the uniform halting problem (does this TM halt on every input) is higher up than the halting problem (does this inputless TM halt). Collatz is like the uniform halting problem.
08:45:36 <cpressey> That is my fuzzy morning take anyway
09:08:09 -!- craigo has joined.
09:08:57 -!- xelxebar_ has quit (Quit: ZNC 1.7.2+deb3 - https://znc.in).
09:09:14 -!- xelxebar has joined.
09:24:23 -!- b_jonas has quit (Quit: leaving).
09:38:54 -!- aaaaaa has joined.
09:45:27 <rain1> how did i never hear about this before!
09:45:30 <rain1> this is cool
09:49:51 -!- sftp has quit (Ping timeout: 272 seconds).
09:50:59 -!- sftp has joined.
09:52:40 <rain1> i really hope these guys solve collatz
09:52:56 <rain1> it's so cool that they have an appraoch they are working on
09:55:29 <rain1> https://imgur.com/a/9Rgv3lU i had never seen this string rewrite version of collatz before
10:08:43 -!- arseniiv has joined.
10:19:41 <esowiki> [[Special:Log/newusers]] create * MINIPRIME * New user account
11:10:58 -!- wib_jonas has joined.
11:14:44 <wib_jonas> in windows, it's very annoying how when certain drivers are loaded, sound that I'm listening to on my headphones can be temporarily redirected to the laptop speakers for a few seconds. this happens when I start a virtual machine with Virtualbox (even though I disabled audio for that machine), and even when starting the VPN software (which is
11:14:44 <wib_jonas> admittedly annoying and badly written in other ways, adds two fictitious IP addresses as DNS resolvers slowing down all DNS queries, and thinks it's supposed to be an antivirus, not only a VPN tunnel.
11:15:33 <wib_jonas> I mean I could understand if the sound was temporarily muted for a few seconds when an audio driver is installed, but no, it has to go to the loudspeaker for all the room to hear.
11:15:53 -!- kspalaiologos has joined.
11:16:43 <wib_jonas> I wonder if I should use a hardware workaround for this, as in plug in a dummy headphone plug into the laptop headphone socket to make it mute the built-in speaker.
11:17:18 <wib_jonas> but that would just lead to too much debugging when I do want to use the laptop speaker
11:55:13 <arseniiv> wib_jonas: doesn’t disabling the speakers work? Or you don’t want to disable them in case they are needed other time?
11:56:05 <arseniiv> ah, they aren’t their own device, I get it now
11:56:50 <arseniiv> though maybe they can be muted in the settings of their corresponding audio device
11:56:51 <wib_jonas> arseniiv: I do sometimes want the speakers, especially when doing an online phone call to a remote co-worker such that a third person is next to me on my side and needs to listen. and yes, it's a work laptop, not owned by me, so no I won't try to deliberately permanently harm it.
11:57:17 <arseniiv> okay
11:57:34 -!- cpressey has quit (Quit: WeeChat 1.9.1).
11:57:43 <wib_jonas> They can be muted, but it seems (I haven't done enough experiments) that that doesn't work, maybe the volume setting gets carried over from the headphones when it switches over or something.
11:58:45 <wib_jonas> I forgot to mention that the headphones are connected to the audio jack port in the docking station.
12:00:10 <wib_jonas> There's another audio jack port on the notebook. Both of these are technically headset ports, so they can carry a headset with headphones and microphone together. I think that is impractical on the docker, since it means you can't plug in an external microphone through analog audio port, but makes sense on the laptop chasis itself where space for
12:00:10 <wib_jonas> ports is constrained.
12:00:46 <wib_jonas> This docking stations provides very few ports in general.
12:01:42 <wib_jonas> There's only an HDMI port on it, no DVI, (this may be deliberate conspiracy by hardware manufacturers to sell the expensive HDMI cables or converters).
12:02:43 <wib_jonas> There's also a third audio device, namely the monitor's built-in speaker connected through HDMI, but the speaker in this cheap monitor has such bad audio quality that I don't use it at all.
12:05:37 <fizzie> Heh, I wonder if the headphone sensing works such that you could actually make a mute switch from a 3.5mm plug and a switch. I imagine they're all based on electronics, not some microswitch in the hole or anything like that.
12:09:02 <fizzie> My work laptop (Debian, PulseAudio) has a pretty unintuitive behavior with headphones and volume. If I turn the volume down with no headphones plugged in (because I don't want the laptop speaker going "bong" every now and then), it'll retain that volume level if I plug in headphones (so I can't hear anyone on the video call). Then, if I turn up the volume temporarily for the call, and then unplug the
12:09:08 <fizzie> headphones, it actually resets the volume back to the low level it used to be. But when I plug headphones back in, it remains low, and I miss the first few seconds of the next meeting trying to fiddle with the volume controls again.
12:10:31 <fizzie> So it's clearly got some sort of separate notion of volume levels for the different configurations (since it resets the volume back when unplugging the headset), but that somehow doesn't extend to remembering what I wanted the volume to be *with* the headset plugged in.
12:12:21 <int-e> That's odd. I do see the effect of having two separate settings with and without headphones but it manages to switch on both relevant events.
12:12:29 <int-e> On a PC though.
12:12:52 <int-e> Laptopts may be harder... they tend to sleep a lot.
12:13:16 <int-e> `? topt
12:13:18 <HackEso> topt? ¯\(°​_o)/¯
12:14:58 -!- hendursaga has joined.
12:15:52 -!- aaaaaa has quit (Quit: leaving).
12:18:53 <fizzie> The output device selection also feels slightly nondeterministic. Usually it does the reasonable thing, but sometimes it ends up using the HDMI output (of the monitor with no speakers).
12:21:04 <fizzie> It's also got three display-related outputs ("HDMI1/DP1", "HDMI2/DP2" and "HDMI3/DP3"), and I have no idea what those map to. There *are* three connected monitors (the built-in panel, and two external, both connected through a single USB-C cable doing the DP Alt Mode + MST thing), but that might be purely a coincidence.
12:21:20 <fizzie> Two of them say they're "plugged in" and one is "unplugged".
12:21:32 <fizzie> But none of these things are actually capable of making any noise, so.
12:21:34 <wib_jonas> fizzie: it more or less has to be nondeterministic, or at least appear nondeterministic to a casual observer, since you can just plug in audio devices through USB or wifi at runtime, or have them plugged in from boot, and it doesn't seem like you could make a canonical ordering of them that's obvious to humans.
12:22:11 <fizzie> Not a canonical ordering, but I feel like it maintains some sort of preference list or a mapping between apps and devices somewhere.
12:22:20 <int-e> If the HDMI/DP things is sensible then it should map to fixed connectors :-/
12:22:33 <fizzie> There aren't that many holes in the thing. :)
12:22:57 <int-e> (Smiley because often things are not sensible.)
12:23:06 <wib_jonas> fizzie: that's also why we can't just use the simple old ways to select hard disk as boot device or mount source, /dev/sda could mean a hard disk connected anywhere, not only on the first of two physical ATA ports on your motherboard.
12:23:06 <fizzie> And that would mean you couldn't stream audio over to the monitor connected over DP chaining ("MST").
12:24:22 <wib_jonas> "that many holes" => again, USB and bluetooth audio devices
12:24:53 <wib_jonas> USB can have passive hubs, at which point the hardware can't even tell which hole on the hub you plugged a device into
12:25:06 <fizzie> Yes, but I mean, it can't be mapping three "HDMIn/DPn" outputs to three "fixed connectors" because of that.
12:25:59 <wib_jonas> I have in fact used both USB and bluetooth audio devices on a work laptop, though I think not on this work laptop, and bluetooth is often not very reliable
12:26:22 <fizzie> In any case, after you've selected a particular sink for a particular app, it feels like it remembers those associations (up to switching to the USB DAC when I turn that on, if I previously "preferred" that), except that sometimes it just doesn't.
12:31:28 -!- craigo has quit (Quit: Leaving).
12:31:38 -!- t20kdc has joined.
12:39:57 -!- kspalaiologos has quit (Quit: Leaving).
12:42:31 <wib_jonas> "sink" because the ports are not specialized, you can connect anything including the kitchen sink through USB3
12:42:37 -!- Oakley has joined.
12:43:15 <Oakley> Hey, i found a duplicate site. Either a catphisher or something: https://techne.zem.fi/wiki/Main_Page
12:43:59 <int-e> Oakley: compare the IP addresses :P
12:44:07 <Oakley> one sec
12:44:21 <Oakley> yo lmao
12:44:41 <Oakley> why are there two domains registered to the IP tho?
12:44:52 <myname> why not?
12:45:06 <wib_jonas> Oakley: anyone can point their domain to an IP address, they don't need permission by the IP address
12:45:13 <Oakley> oh, huh
12:45:52 <wib_jonas> and zem.fi is one of our regular's domain, so they can point a subdomain to the wiki
12:46:25 <Oakley> weird, huh. I didn't know you could do that
12:47:09 <Oakley> seems like there's a chance that could be used for malicious purposes with odmains
12:49:18 -!- Oakley has quit (Remote host closed the connection).
12:50:48 <wib_jonas> note though that (1) the HTTP client sends the hostname to the server in a request header, and on many servers, the webserver actually looks at that and serves different pages for different domains, though this can be problematic because it can make it harder to access a webpage if the DNS server is down even if you know the IP address,
12:51:10 <wib_jonas> and (2) SSL/TSL certificates are restricted by domains, so you usually can't access a HTTPS website through just any random domain name pointed to it.
12:52:05 <int-e> Oakley left.
12:52:12 <wib_jonas> however, malicious webservers do sometimes show a lookalike website on a domain and server that they control, for phishing purposes, such as a website that look like your bank's website
12:52:15 <wib_jonas> meh, we have a log
12:55:03 <myname> i don't see much potential for malicious purposes in pointing different domains to the same address, though
12:55:19 <int-e> Isn't the main reason that control over esolangs.org was (maybe still is, I forgot what happened at last renewal time) unclear for a while? So it should be accessible by bare IP address, and that makes namevirtualhost shenanigans less attractive.
12:55:28 <myname> i guess i could kinda pretend to have a page i really don't, but where's the use in that
12:55:39 <int-e> myname: you could serve subtly different contents :P
12:55:54 <myname> int-e: if you own the server behind the ip address, yes
12:56:13 <fizzie> Really, the main reason is pure laziness, AIUI nginx has to select *some* site to serve, and there's just one configured, so that's the one it serves no matter what the host is.
12:56:16 <int-e> myname: All I'm saying is that there's evil beyond phishing :P
12:56:40 <myname> but the way i interpreted it was that he saw potential for malicious purposes by pointing a domain to an address that doesn't belong to you
12:56:44 <myname> and i don't see how
12:56:47 <fizzie> It would've taken extra work to not serve the wiki for non-esolangs.org host headers, and I'm averse to work.
12:56:49 <wib_jonas> there are like a dozen websites living from serving a reformatted mirror of en.Wikipedia, often with ads, yes
12:57:18 <wib_jonas> fizzie: I recommend that you do serve it from other host headers too
12:57:26 <int-e> myname: They thought it was a clone hosted by a different party.
12:57:34 <myname> wib_jonas: well yeah, but you can't do that by just pointing a domain somewhere
12:57:52 <int-e> myname: Which is why I mentioned the IP addresses :P
12:57:55 <fizzie> wib_jonas: I'll probably keep it the default. But I might maybe *not* serve it at some specific domain names, including techne.zem.fi.
12:58:02 <wib_jonas> sure
12:58:09 <wib_jonas> that works
12:58:15 <myname> also, there are loads of auto-translated stackoverflows and i hate them
12:58:41 <wib_jonas> auto-translated stackoverflows? I don't recall having ran into them, but I don't search for non-english websites too often
12:58:57 <wib_jonas> how do you even auto-translate programming content?
12:59:12 <wib_jonas> is there good translator software for that?
13:00:39 <myname> well, deepl i guess
13:00:46 <myname> i never said they were good
13:01:33 <wib_jonas> for what language(s) have you seen that?
13:02:22 <myname> german and some asian languages
13:05:40 -!- Arcorann_ has joined.
13:07:14 <wib_jonas> I guess it makes sense. StackOverflow is popular, and large, but not too large, not as large as en.Wikipedia, you can serve it from just one hard disk
13:08:04 <wib_jonas> Hmm, I should check the numbers
13:08:45 -!- Arcorann has quit (Ping timeout: 240 seconds).
13:09:29 <myname> i wouldn't bet on it even mirroring it
13:09:43 <myname> there's really no need to not just translate on the fly
13:10:22 <wib_jonas> hmm no, you can actually serve all of en.Wikipedia's text, not counting images and other media, from a single hard disk.
13:10:33 <wib_jonas> a mirror I mean
13:10:58 <myname> yeah but why, just make an iframe for it
13:11:14 <myname> but those may be bad for seo
13:12:12 -!- cpressey has joined.
13:14:25 <wib_jonas> It actually looks like en.Wikipedia is not that much larger than Stackoverflow now, at least if you only count posts, not media.
13:14:36 <wib_jonas> That's crazy, I didn't know that
13:16:14 <wib_jonas> Wikidata is somewhat larger, and just the metadata content of Commons is smaller, but of course the media content of Commons is HUGE compared to any of that
13:18:54 <wib_jonas> Commons has 256 terabytes of media right now, of which 225 terabytes are images, and it's growing fast.
13:19:58 <wib_jonas> All the other sites mentioned are dwarfed compared to it (though of course Google's and archive.org's databanks are larger still)
13:20:44 <wib_jonas> 256 terabytes is still in the order that a dedicated IT geek can have at home in actively connected storage.
13:23:32 <int-e> hmm, but mirroring that would not be fun
13:23:53 <wib_jonas> it wouldn't be, but some geeks store that amount of some other data
13:28:34 <t20kdc> ...look if you had that much storage wouldn't you use it for prime numbers? /s
13:29:19 <wib_jonas> no, you don't need much storage for prime numbers, you need parallel computation power for them
13:32:23 <t20kdc> ...then what other data
13:32:40 <myname> i wonder where they store that much data
13:33:09 <myname> i am looking for a reasonably priced solution to store about 10 tb and that's rough enough already
13:33:16 <wib_jonas> t20kdc: raw (but compressed) videos mostly, for people who produce videos for money
13:33:36 <wib_jonas> it can also be raw photos, but those pile up a bit slower
13:34:02 <wib_jonas> 10 terabytes fit on a single hard disk or two these days
13:34:39 <wib_jonas> though you may still want more than two disks for redundancy or speed
13:35:39 <wib_jonas> for a home user who doesn't want to store the data, the redundancy for backups can be more of a limiting factor than the total data capacity
13:35:58 <wib_jonas> which is good, that only started like a decade ago
13:36:32 <wib_jonas> I'm glad we no longer have to live with slow computers with tiny amounts of RAM and small disks anymore
13:36:54 <myname> wib_jonas: fitting on a hard disk doesn't help much if you want to access it through the internet
13:37:51 <wib_jonas> well that's different, yes, for that you also need an internet connection with high bandwidth upload, and ideally static IP
13:38:51 <myname> i don't have either of those
13:39:00 <myname> therefore, i want cloud storage
13:39:23 <wib_jonas> cloud storage is that plus part of a server
13:39:29 <wib_jonas> it can work too
13:40:01 <myname> yeah, but you rarely have the option to attach 10 tb to a server at a reasonable price
13:40:09 <wib_jonas> sure
13:40:37 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76936&oldid=76935 * Abyxlrz * (+87)
13:40:39 <wib_jonas> do you have access to cheaper microsoft office licences through work? that is often the cheapest way to get remote storage.
13:42:32 <myname> office 365 licences aren't that expensive, but those don't have that much storage
13:43:06 <wib_jonas> they don't? I thought they came with a lot of storage. ok. also how fast bandwidth and stable do you need this to be? can a home internet connection not work?
13:44:22 <myname> well, i want to kinda back up data i have online and uploading 10 tb of data in case of a needed recovery is horribly slow
13:45:00 <myname> like, my current upload speed is about 100 kb/s
13:45:56 <myname> i would need about 3.5 years to recover
13:47:02 <wib_jonas> why do you need the backup to be online? are remote backups in a different builing where you physically carry the data on hard disks not enough?
13:47:28 <wib_jonas> with possibly a smaller amount of more quickly changing data backed up online in addition
13:48:02 <wib_jonas> eg. if you're writing a thesis, do back it up online every hour, but that's much smaller size
13:48:17 <wib_jonas> and also back it up locally of course
15:06:14 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76937&oldid=76936 * Abyxlrz * (+9)
15:24:03 -!- tromp has quit (Remote host closed the connection).
15:29:47 -!- Sgeo has joined.
15:39:35 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76938&oldid=76937 * Abyxlrz * (+1131)
15:59:06 -!- tromp has joined.
15:59:11 -!- cpressey has quit (Quit: WeeChat 1.9.1).
16:03:58 -!- tromp has quit (Ping timeout: 258 seconds).
16:14:26 -!- wib_jonas has quit (Quit: Connection closed).
16:16:13 -!- Arcorann_ has quit (Read error: Connection reset by peer).
16:30:04 -!- trn has quit (Remote host closed the connection).
16:37:50 -!- tromp has joined.
16:41:55 -!- tromp has quit (Ping timeout: 240 seconds).
16:42:25 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
16:42:31 -!- Lord_of_Life_ has joined.
16:43:45 -!- trn has joined.
16:43:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
16:54:12 -!- t20kdc has quit (Remote host closed the connection).
16:58:03 -!- t20kdc has joined.
16:58:59 -!- tromp has joined.
17:20:02 -!- imode has joined.
17:37:23 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76939&oldid=76938 * Abyxlrz * (+7)
17:43:01 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76940&oldid=76939 * Abyxlrz * (+305)
17:43:21 -!- tromp has quit (Remote host closed the connection).
17:52:56 -!- b_jonas has joined.
17:56:18 <b_jonas> I notified a webpage maintainer about an error on their page. They replied to me that they'll fix the error "immediately". That was 23 hours ago. Any guesses for how long it will take for them to actually fix it?
18:09:03 -!- tromp has joined.
18:11:45 -!- sprocklem has joined.
18:14:59 <esowiki> [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=76941&oldid=76817 * Masldobehere * (+37) added STBF code
18:19:48 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76942&oldid=76929 * Abyxlrz * (-31)
18:31:32 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76943&oldid=76940 * Abyxlrz * (+2)
18:50:04 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76944&oldid=76943 * Abyxlrz * (+7)
19:01:03 -!- hendursaga has quit (Quit: hendursaga).
19:01:44 -!- hendursaga has joined.
19:02:49 -!- xelxebar has quit (Remote host closed the connection).
19:03:35 -!- xelxebar has joined.
19:06:32 <fizzie> Today's discovery: C's arrow operators in the wild: https://github.com/tcltk/tcl/blob/master/generic/tclCompile.c#L3561
19:14:43 <b_jonas> fizzie: ah you mean the --> operator, not the ordinary arrow -> operator
19:15:22 -!- mmmattyx has joined.
19:16:10 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76945&oldid=76944 * Abyxlrz * (+6)
19:18:13 <fizzie> Yep.
19:18:21 <spruit11> Neat, you all had me fooled for a moment.
19:18:42 <fizzie> Found a bunch without any whitespace, as in `while (i-->0)` and so on, but the real honest `i --> 0` seems pretty rare.
19:24:09 <b_jonas> I don't use this, as I generally write counter loops like that as for loops in C++ and C
19:26:19 <myname> i do think "i --> 0" is pretty ugly in the sense that it disguises its real meaning to the reader
19:27:55 <b_jonas> myname: how about if it's written the same but spaced properly, as `i-- > 0` ?
19:28:14 <myname> that's fine by me
19:28:46 <b_jonas> I also almost never use the > or >= operator in C or C++, always use < and <= instead
19:30:14 <myname> well, i probably wouldn't write 0 < i--
19:30:35 <myname> i tend to put the "comparison value" to the right
19:30:36 <b_jonas> (obviously I use the > token as punctuation for templates, but then it's not the > operator)
19:32:04 <b_jonas> for a == or != comparison, I usually put the more constant value on the left, so it's `0 == x` rather than `x == 0`, and `x == y` if x is changed in the outer loop and y in the inner loop or x is the expected value and y is the observed value, though there are edge cases when it's not obvious which one should be first;
19:32:24 <myname> i am not a fan of yoda conditions
19:33:00 <b_jonas> but I don't use this rule for < and <= comparisons, and for scalar values I usually prefer < or <= over == or != comparisons when there's no difference in meaning
19:37:21 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76946&oldid=76945 * Abyxlrz * (+134)
19:42:33 -!- tromp has quit (Remote host closed the connection).
19:58:49 -!- iscordian[m] has joined.
20:07:03 <shachaf> If C's dereference operator was postfix, it wouldn't need the -> operator.
20:12:23 <esowiki> [[Talk:Modulous]] https://esolangs.org/w/index.php?diff=76947&oldid=76942 * Abyxlrz * (+18)
20:13:21 <myname> so you don't know whether x*y is a multiplication or a reference to a struct value?
20:15:26 -!- arseniiv has quit (Ping timeout: 258 seconds).
20:15:28 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76948&oldid=76946 * Abyxlrz * (+5)
20:15:55 -!- tromp has joined.
20:20:57 -!- tromp has quit (Ping timeout: 260 seconds).
20:21:01 <esowiki> [[Modulous]] https://esolangs.org/w/index.php?diff=76949&oldid=76948 * Abyxlrz * (+63)
20:21:49 <rain1> when you put it that way
20:21:54 <b_jonas> myname: no, it would be written as x*.y
20:22:00 <rain1> It makes me wonder why they didn't do it like that
20:22:04 <b_jonas> or x^.y if ^ is used as the dereference operator
20:22:33 <b_jonas> but the problem is, then you'd need a space to write an indirect assignment like x* = y
20:22:48 <b_jonas> or parenthesis obviously (x*)=y
20:26:12 <shachaf> If it was a postfix operator it should hopefully not also be an infix operator.
20:26:17 <shachaf> So maybe something other than *.
20:26:54 <b_jonas> in cryptography, there is such a thing as https://en.wikipedia.org/wiki/Trusted_timestamping , which means that you send a fingerprint to a trusted third party, and they append a timestamp and sign it with public key cryptography, then you can use that signature to prove to anyone that you knew the digest at the given time. (instead of a trusted third party, a collectively trusted distributed set of
20:27:00 <b_jonas> users could be used, but that's not relevant to what I'm about to ask.)
20:27:32 <b_jonas> shachaf: well sure, but it's hard to find new *short* operator spellings, and you want concise syntax for this in C
20:28:02 <shachaf> Well, you could use ^ and then use something else for xor.
20:28:04 <myname> b_jonas: what's the reason to keep the dot
20:28:23 <myname> ah nvmd
20:28:43 <b_jonas> what they could do instead is to make not only dereferencing a prefix, but also make subscripting and dotted member access and function call prefixes
20:29:16 <b_jonas> or maybe not function call, only the others -- that would result in some extra parenthesis with function calls, but not too often
20:29:18 <shachaf> That would also work, but it'd be a bigger change.
20:29:38 <b_jonas> that of course would have put Stroustrup in a tight place, because now you can't have method calls with the current syntax
20:31:58 <b_jonas> So back to cryptography, is there a sort of reversed version of trusted timestamping, where the trusted authority generates a fresh random token, append a timestamp, and sign it, and then you can use the signature to prove that the key is random and there was no way for anyone to predict anything about it before that timestamp.
20:33:50 <b_jonas> This could be made even more useful if they released such keys regularly with a small enough period, and stored them for at least a week, so you could get a token for any exact timestamp chosen in advance, and they'd also guarantee that they only generate one token for any given timestamp.
20:36:13 <b_jonas> You could use such a service to perform an experiment or zero-knowledge proof that needs randomness, such as for sampling inputs because trying all inputs would be inefficient, publish the exact protocol and timestamp in advance, and you could prove to anyone, even to someone learning about this later, that you used a truly random seed, not a random seed that you chose to get the outcome you want, and
20:36:19 <b_jonas> that you couldn't even retry the experiment with multiple random seeds and selectively publish the results.
20:36:51 <b_jonas> (Technically you'd use a trusted timestamp with earlier timestamp and a trusted reverse timestamp with later timestamp in combination for this.)
20:44:25 -!- orbitaldecay has quit (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in).
20:44:58 -!- orbitaldecay has joined.
20:53:29 <b_jonas> does this make sense, or should I give an example?
21:02:21 -!- adu has joined.
21:39:48 -!- atslash has quit (Quit: This computer has gone to sleep).
21:47:21 -!- atslash has joined.
22:16:48 -!- tromp has joined.
22:21:37 -!- tromp has quit (Ping timeout: 272 seconds).
22:25:10 -!- mmmattyx has quit (Quit: Connection closed for inactivity).
22:41:13 -!- tromp has joined.
22:56:27 -!- tromp has quit (Remote host closed the connection).
23:14:27 -!- t20kdc has quit (Remote host closed the connection).
23:47:15 -!- Arcorann_ has joined.
←2020-08-26 2020-08-27 2020-08-28→ ↑2020 ↑all