2019-02-01: 00:08:00 have you tried rotating it 4 times in 24 hours hth 00:13:19 b_jonas: It's just https://twitter.com/fungot 00:13:19 fizzie: he fnord unable, and in any event the government were more often the man, and understandably, brexit. 00:13:24 Last tweet from 2012. 00:18:42 I see 00:20:08 -!- oerjan has quit (Quit: Nite). 00:20:27 Error while checkign syntax automatically: (irony-server-error "irony-server is broken! Cannot open load file: No such file or directory, lisp-mnt") 00:20:40 Nothing ever works right if you don't keep using it. :/ 00:53:10 Welp. Now there are no logs. :/ 00:54:03 My deploy.sh is based on building at home and rsync'ing the binaries to the server. Turns out there's too much version shift between the systems now for that to work: 00:54:10 /home/esowiki/esologs: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/esowiki/esologs) 00:55:01 Well, at least I found this out by trying to restart the server component, so *collecting* logs should keep working. 00:55:20 I guess I can just build it on the server it needs to go to then. 00:56:15 -!- b_jonas has quit (Quit: leaving). 00:56:49 (Of course it doesn't have any of the necessary dependencies for building things.) 01:21:54 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:38:37 ...and of course the GCC 6.x available on the server's Debian version is too old to support ... 01:50:12 it might be 02:53:21 -!- salpynx has joined. 02:53:47 Oh, so it is. 02:54:05 Also managed to work around it by producing a statically linked binary. 02:54:27 It has the usual "Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking" warnings, but seems like it was good enough. 02:56:41 Maybe by the next time this becomes an issue, buster has become the new stable. 02:58:44 (Also, there's no , so...) 03:21:00 -!- dauie_ has quit (Remote host closed the connection). 03:38:19 -!- salpynx has quit (Quit: Page closed). 05:14:57 -!- atslash has joined. 05:33:46 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59662&oldid=59497 * Salpynx * (+2398) answering my own question 05:49:29 -!- FreeFull has quit. 05:51:55 [[Talk:EsoScript]] N https://esolangs.org/w/index.php?oldid=59663 * Cortex * (+130) Created page with "== ... == This is literally just MediaWiki syntax. ~~~~" 06:26:20 -!- nfd9001 has joined. 06:31:23 -!- nfd9001 has quit (Ping timeout: 246 seconds). 06:31:35 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59664&oldid=59662 * Salpynx * (+534) /* Computational class / -completeness */ 08:14:47 -!- arseniiv has joined. 09:00:40 -!- sebbu has quit (Read error: Connection reset by peer). 09:01:11 -!- sebbu has joined. 09:04:56 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 09:09:57 -!- Lord_of_Life has joined. 09:20:26 -!- heroux has quit (Ping timeout: 250 seconds). 09:21:28 -!- heroux has joined. 09:38:56 -!- AnotherTest has joined. 10:22:00 -!- wob_jonas has joined. 10:22:10 fizzie: are you trying to install something to the server that runs HackEso? 11:09:11 I was trying to update the bit that runs esolangs.org/logs, though it's the same server, sure. 11:12:35 I see 11:12:45 so it at least doesn't have to run inside the hackeso sandbox 11:13:28 Yes. Although that does share userland with... well, the intermediate layer of sandboxing. 11:16:18 sure, a large part of the file system is shared read only 11:17:28 HackEso really goes at least three levels deep -- there's the (I think KVM-based) Bytemark VPS, which runs a systemd-nspawn namespace-container-style "chroot on steroids" thing, which then has HackEso's UML kernel. 11:18:24 ah 11:18:32 right, that's why it said 11:18:51 ``` cat /proc/cpuinfo 11:18:52 processor: 0 \ vendor_id: User Mode Linux \ model name: UML \ mode: skas \ host: Linux dysnomia.zem.fi 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 \ bogomips: 5134.74 11:19:01 it doesn't even tell what instruction set it supports anywhere 11:19:21 mind you, you can still find that out the intel way 11:19:27 it's just funny how sparse that cpuinfo is 11:19:37 I mean instruction set extensions 11:19:45 it does say x86_64 as the base cpu arch 11:20:45 Yeah. The middle level shares a kernel with the top level, while the bottom level shares the userland. Although those are both just Debian stable installations, so they're more or less identical. 11:22:21 s/shares the userland/& with the middle level/ 11:22:42 That's also why it says "dysnomia.zem.fi" -- that's the hostname in the container, though it has no presence in the public DNS since it's not directly reachable. The VPS itself is called something else. 11:22:52 isn't the top level also running on a virtual machine by a hosting provider? 11:22:56 Yes. 11:23:04 so it's like four level deep at leat 11:23:04 Top level from my perspective, I guess. 11:23:24 at what level does the chat log script and chat http server run? 11:23:36 and the irc client 11:23:57 and the fetch HTTP client 11:25:02 is the network of the middle layer already restricted by namespaces, with holes only to tunnel the irc connection, the http interface for the version control contents, and fetch? 11:25:22 The "esobot" (the IRC client and log-writer) and "esologs" (the esolangs.org/logs web server) binaries both run on the top level together with MediaWiki, though not for any particular reason. 11:25:49 I see 11:25:53 HackEso's own machinery (so multibot, hackbot, the `fetch command and so) run on the middle one, and the `commands on the bottom one. 11:26:29 I see 11:27:50 And yes, the container networking is namespaced. Outgoing, it allows TCP to ports 80, 443 and 6665 to any host (for `fetch and the IRC connection) and UDP 53 to the VPS provider's DNS servers. 11:28:03 oh! 11:28:13 so they're not tunneled, those are just passed through 11:28:27 I thought they were connected to an external fetch server 11:28:50 and an external http server for the version control interface 11:29:17 and then the hg repository lives in the middle level? 11:31:24 There's a virtual ethernet interface that's a point-to-point link between interfaces 'host0' in the container, and 've-dysnomia' in the top level, and there's iptables NAT rules. So not really tunneled, no. 11:31:58 There's no networking out of the UML, but historically on HackEgo (when it was still working) that was based on a tunnel to a proxy server. 11:33:09 And yeah, the hg repository is on the middle level (and mounted read-only to the bottom), although the filesystem hierarchy of the middle level is accessible from the top. 11:33:24 yeah, so you can back it up from the top 11:33:33 [[2/9 of an esolang]] https://esolangs.org/w/index.php?diff=59665&oldid=59526 * Cortex * (+1) 11:33:40 how much of this was inherited from hackego? 11:34:20 In fact, I think I might have the hgweb server running on the top level directly, though that's also for no special reason. 11:35:41 HackEgo was broadly similar, but in place of the container setup it just had a conventional chroot. 11:36:00 I see 11:36:56 `? pcb 11:36:57 pcb? ¯\(°​_o)/¯ 11:40:45 -!- Lord_of_Life_ has joined. 11:42:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 11:43:05 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 11:48:57 `datei 11:48:58 2019-02-01 11:48:58.062828658 +0000 UTC February 1 Friday 2019-W05-5 12:34:03 -!- PaddyF has joined. 13:10:13 -!- PaddyF has left ("bbl"). 13:34:09 -!- john_metcalf has joined. 13:39:41 -!- xkapastel has joined. 14:03:27 -!- atslash has quit (Ping timeout: 240 seconds). 14:07:30 -!- atslash has joined. 14:13:53 -!- atslash has quit (Ping timeout: 268 seconds). 14:14:22 -!- atslash has joined. 14:49:59 -!- Essadon has joined. 15:02:16 `? viking 15:02:17 viking? ¯\(°​_o)/¯ 15:20:07 -!- Sgeo_ has joined. 15:23:02 -!- Sgeo has quit (Ping timeout: 246 seconds). 15:40:59 -!- sleepnap has joined. 16:15:42 -!- mniip has quit (Ping timeout: 604 seconds). 16:35:24 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:45:22 -!- dre has joined. 17:46:06 -!- dre has quit (Read error: Connection reset by peer). 18:42:25 -!- b_jonas has joined. 18:43:44 -!- b_jonas has set topic: Welcome to the international cloning factory for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf. 18:50:29 It's a shame other languages don't really have a Hoogle/Hayoo-like thing, at least as far as I know. Maybe it wouldn't work so well, but in Go I'm not so familiar with the standard(/quasistandard) libs and could easily look up some functions by type signature. 18:51:30 how much "deployment" do we really do? 18:54:34 b_jonas: well fungot is arguably a "deployed" befunge progam 18:54:35 orin: we are in the process of what i suppose the minister can, preferably, the termination, of his now even more counterproductive fiscal rule, but 18:55:06 -!- oerjan has joined. 19:01:51 b_jonas: Not much. Back when the cloud at cost system was still running, I was considering using it as a staging server for MediaWiki upgrades. 19:05:58 Other than that, I have a homegrown configuration pusher I use for all my systems (a git repo for configs, plus a bunch of Python to SSH in, verify that the live file matches the last-pushed revision and replace that with the latest) that also takes care of updating all the config files on both the top and middle levels. It's got a special case to use machinectl/nsenter to inject itself into the 19:06:04 container, so the container doesn't need to be SSH-reachable. 19:06:21 (The mounts are visible outside, but the UID/GID lookup is easier inside the container.) 19:07:56 It basically runs "ssh ... sudo [nsenter ...] python3 -" and feeds in a program that contains both the config file payload and the logic to insert it in place. 19:10:11 For code changes to esologs/esobot, there's just a shell script to do "bazel build -c opt //esologs //esobot" + rsync to put the binaries and the static files (.css, .js) in the right place. Didn't feel right putting those in the config pusher. 19:11:24 -!- mniip has joined. 19:11:28 I think that's about it. I'm always a little bit nervous when it comes time to update MediaWiki (it probably actually is way past time) because even though it's backed up, I haven't really ran any disaster recovery tests, and don't have a test environment to try on. 19:12:50 At least for the esologs/esobot binaries I can run them locally. There's actually a dozen lines of code in the esologs web server that if it's built without NDEBUG, it can serve the CSS/JS files for local testing. Normally that's done by nginx and it answers only for the dynamic parts. 19:22:28 orin: yeah 19:23:43 fizzie: I see 19:27:23 b_jonas: has IOCCC ended, since you removed it from the topic? 19:35:28 oh darn 19:35:31 no, it hasn't ended 19:35:32 someone should ask doctor rakethorn why he keeps not wearing shirts - although my obvious guess is that he's got orders to try to seduce agatha, but he could be a bit more subtle about it especially if he wants others not to interfere 19:35:41 -!- b_jonas has set topic: 2019 IOCCC ends March 15th -- http://www.ioccc.org/2019/rules.txt | Welcome to the international cloning factory for esoteric programming language discussion, design, development and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf. 19:35:48 thanks 19:35:59 -!- Phantom_Hoover has joined. 19:35:59 -!- Phantom_Hoover has quit (Changing host). 19:36:00 -!- Phantom_Hoover has joined. 19:48:32 well, "guess", i think his conversation with wooster pretty much implied it. 19:55:47 `? liver 19:55:48 liver? ¯\(°​_o)/¯ 19:55:49 `? livery 19:55:50 livery? ¯\(°​_o)/¯ 19:57:23 -!- LKoen has joined. 20:27:25 -!- leonheart has quit (Ping timeout: 256 seconds). 20:34:23 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59666&oldid=59664 * Oerjan * (+416) Not that simple 20:57:36 -!- Phantom_Hoover has quit (Remote host closed the connection). 20:59:33 -!- leonheart has joined. 21:02:17 -!- Phantom_Hoover has joined. 21:02:17 -!- Phantom_Hoover has quit (Changing host). 21:02:17 -!- Phantom_Hoover has joined. 21:03:23 -!- FreeFull has joined. 21:03:59 -!- LKoen has quit (Remote host closed the connection). 21:08:35 -!- FreeFull has quit (Quit: kernel update). 21:09:26 -!- FreeFull has joined. 21:10:11 -!- LKoen has joined. 21:17:57 @metar ENVA 21:17:59 ENVA 012050Z 09009KT CAVOK M04/M10 Q1013 RMK WIND 670FT 12009KT 21:32:01 -!- leonheart has quit (Ping timeout: 256 seconds). 21:37:29 -!- leonheart has joined. 21:47:19 -!- leonheart has quit (Ping timeout: 256 seconds). 21:51:27 -!- arseniiv has quit (Read error: Connection reset by peer). 21:51:27 -!- arseniiv has joined. 21:59:28 @metar EGLL 21:59:28 EGLL 012150Z AUTO 36007KT 320V030 5000 -RASN BKN010 OVC029 02/01 Q0995 21:59:31 Wet. 22:01:43 @metar KOAK 22:01:43 KOAK 012153Z 14016KT 10SM SCT046 BKN055 OVC100 15/09 A2978 RMK AO2 RAB2058E19 SLP084 P0000 T01500089 22:03:58 ...I can't claim much better on that :P 22:04:05 wong wrindow 22:26:59 -!- b_jonas has quit (Quit: leaving). 22:39:51 wish i was cool enough to be able to read metar 22:42:31 which of these numbers means 'fucking cold' 22:43:30 The temperature (in celsius) is the first half of the M04/M10, 02/01, 15/09 pair. 22:44:21 so it's 2°C at EGLL and 15°C at KOAK? 22:44:42 Yes. And -4°C at ENVA. 22:44:50 ah, M = minus 22:44:55 got it 22:45:05 what's the second number? 22:45:16 That's the dew point. 22:45:25 When it's M00/M00, that's called "cow temperatures". 22:45:31 Because that's how a cow goes. 22:45:48 (Not official METAR jargon.) 22:45:53 or swims, in that case 22:46:29 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:46:36 actually, more like gets stuck in ice, i guess 22:46:58 The 012153Z part is a partial timestamp in DDHHMMZ format, so the report was 21:53 UTC on the 1st day of some unspecified month. 22:48:34 And the 14016KT is wind direction 140°, 16 knots. Sometimes it has extra stuff, like "...10G20KT" is 10 knots, gusts of 20, or "VRB" in place of a direction. 22:52:08 10SM and 5000 are visibilities, in statute miles and metres respectively. SCT046, BKN055 OVC100 are cloud covers (scattered, broken, overcast) with heights in 100s of feet. A2987 and Q0995 are the air pressure in some units (mmHg and hPa?), and that's pretty much all I remember. 22:52:10 -!- leonheart has joined. 22:52:40 Oh, and precipitation is various codes, so -RASN is weak (-) rain (RA) and snow (SN). 22:53:53 I think I've only seen DZ, RA, SN, GR, BR, FG and HZ (drizzle, rain, snow, hail, mist, fog, haze), but there's a lot more. 22:56:27 -!- AnotherTest has quit (Ping timeout: 264 seconds). 23:01:10 what about FU 23:01:23 definitely had that one here tdnh 23:05:43 Smoke, apparently. Haven't seen that here. 23:05:47 Also no code for drones. 23:07:58 They might have to add one soon 23:08:24 how else would UK airports report the condition at the runway accurately... 23:08:43 @metar EGPH 23:08:43 EGPH 012250Z VRB02KT 9999 FEW022 BKN038 01/00 Q1002 23:08:58 not even freezing 23:09:57 Does the "PH" there mean Phantom_Hoover? Is it your own airport? 23:10:03 -!- leonheart has quit (Ping timeout: 256 seconds). 23:10:15 literally yes 23:10:18 it's edinburgh airport 23:15:32 `icao EGPH 23:15:33 Edinburgh (EDI, EGPH) 23:16:46 i don't actually live in edinburgh any more but i don't know the icao for glasgow airport 23:16:56 or... anywhere except edinburgh really 23:16:57 `airport glasgow 23:16:58 Glasgow (GLA, EGPF) \ Wokal Field Glasgow International Airport (GGW, KGGW) \ Glasgow Railway Station (?, ?) \ Glasgow Buchanan Bus Station (?, ?) \ Glasgow City Heliport (?, EGEG) \ Glasgow Industrial (?, 07MT) 23:17:04 khaf and ksfo i suppose 23:17:08 Very close, lexicographically. 23:17:15 @metar egeg 23:17:15 No result. 23:17:20 damn 23:17:25 @metar egpf 23:17:26 EGPF 012250Z AUTO 28007KT 9999 NCD 01/M03 Q1004 23:18:03 @metar EGLC 23:18:03 EGLC 012250Z AUTO 34005KT 280V010 8000 -RA SCT010 BKN018 OVC024 02/01 Q0995 23:18:16 I flew from that place the other day for the first time. 23:18:24 -!- leonheart has joined. 23:18:32 -!- leonheart has quit (Client Quit). 23:19:01 `icao eglc 23:19:01 City (LCY, EGLC) 23:19:12 just city lol 23:22:08 `fetch share/airports.dat https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports-extended.dat 23:22:09 2019-02-01 23:22:09 URL:https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports-extended.dat [1632638/1632638] -> "share/airports.dat" [1] 23:22:14 `icao eglc 23:22:15 London City Airport (LCY, EGLC) 23:22:18 That's bette. 23:22:24 ...r. 23:22:54 (airports-extended.dat is the one with also train stations and ferry terminals, so maybe the plain airports.dat would've been better.) 23:38:25 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:41:36 -!- Lord_of_Life_ has joined. 23:42:58 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 23:43:02 `icao ksfo 23:43:03 San Francisco International Airport (SFO, KSFO) 23:43:28 usa gets the best icao codes cause we're the best 23:43:41 that's also why our phone country code is 1 23:43:57 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:44:41 Canada has the same deal when it comes to ICAO codes, it's just XXX <-> CXXX. 23:45:20 And aren't they in the +1 area too? 23:45:23 yeah 23:45:28 but their 3 letter codes are gibberish 23:45:30 YYZ, give me a break 23:48:26 -!- arseniiv has quit (Ping timeout: 246 seconds). 23:49:02 `icao CYYZ 23:49:03 Lester B. Pearson International Airport (YYZ, CYYZ) 23:49:33 Maybe that should print the city as well. 23:49:44 When it's not a substring of the airport name, say. 23:50:05 `` grep CYYZ share/airports.dat 23:50:07 193,"Lester B. Pearson International Airport","Toronto","Canada","YYZ","CYYZ",43.6772003174,-79.63059997559999,569,-5,"A","America/Toronto","airport","OurAirports" 23:51:23 it has train stations too? how does that work? 23:51:53 That's just what they said on the download page. 23:52:16 `` grep Euston.Railway share/airports.dat 23:52:17 7393,"London Euston Railway Station","London","United Kingdom",\N,\N,51.5284,-0.1331,0,0,"U","Europe/London","station","User" 23:52:36 Nulls (with the \N CSV encoding) on the ICAO and IATA columns, I guess. 23:53:16 (I don't think it has more than a small fraction of railway stations.) 23:53:23 some US train stations have codes 23:53:27 `icao kzfv 23:53:28 No output. 23:53:36 `iata zfv 23:53:36 Philadelphia 30th St Station (ZFV, ?) 23:54:07 `iata zep 23:54:08 No output. 23:54:40 `iata zyp 23:54:41 Penn Station (ZYP, ?) 23:54:58 `iata LON 23:54:59 All Airports (LON, ?) 23:55:04 Best name. 23:55:28 The internet alleges that there's actually an ICAO code ("EGGO") for the London Metropolitan Area. 23:56:35 some airlines in the US will sell you a ticket which includes a rail connection 2019-02-02: 00:36:01 -!- copumpkin has quit (Ping timeout: 244 seconds). 00:51:10 -!- oerjan has quit (Quit: Nite). 01:01:04 `iata nyc 01:01:05 All Airports (NYC, ?) 01:32:02 -!- sleepnap has left. 02:01:30 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:18:26 -!- Essadon has quit (Quit: Qutting). 02:30:32 -!- moei has joined. 02:31:46 -!- yaewa has quit (Ping timeout: 250 seconds). 02:56:59 -!- imode has joined. 03:41:51 -!- FreeFull has quit. 05:48:34 -!- user24 has joined. 05:54:06 -!- yaewa has joined. 05:56:09 -!- moei has quit (Ping timeout: 268 seconds). 06:04:07 -!- sebbu has quit (Ping timeout: 246 seconds). 06:58:55 -!- sebbu has joined. 08:42:02 -!- sleffy has joined. 08:42:11 -!- sleffy has quit (Read error: Connection reset by peer). 09:23:14 [[Golfuck]] N https://esolangs.org/w/index.php?oldid=59667 * A * (+1332) Created page with "{{lowercase}} [[golfuck]] is an extension of [[brainfuck]]. It is created in order to write short programs. In addition to brainfuck, golfuck adds a stack. =Commands added= [[Golfuck]] https://esolangs.org/w/index.php?diff=59668&oldid=59667 * A * (+263) 09:32:07 [[Golfuck]] https://esolangs.org/w/index.php?diff=59669&oldid=59668 * A * (+26) 09:32:53 [[Golfuck]] https://esolangs.org/w/index.php?diff=59670&oldid=59669 * A * (+1) /* Quine(Directly translated from Golfscript) */ 09:38:04 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:38:28 -!- Sgeo_ has joined. 09:39:39 [[Golfuck]] https://esolangs.org/w/index.php?diff=59671&oldid=59670 * A * (+650) 09:40:46 [[Golfuck]] https://esolangs.org/w/index.php?diff=59672&oldid=59671 * A * (+8) /* Implementation in C++ */ 09:44:52 [[Golfuck]] https://esolangs.org/w/index.php?diff=59673&oldid=59672 * A * (-2) /* Partial implementation in C++ */ 09:45:34 [[Golfuck]] https://esolangs.org/w/index.php?diff=59674&oldid=59673 * A * (-8) /* Commands added */ 09:45:52 [[Golfuck]] https://esolangs.org/w/index.php?diff=59675&oldid=59674 * A * (-38) /* Commands added(still extending) */ 09:46:22 [[Golfuck]] https://esolangs.org/w/index.php?diff=59676&oldid=59675 * A * (-6) /* Cat program(string version, hexdump) */ 09:48:08 -!- moei has joined. 09:49:07 -!- yaewa has quit (Ping timeout: 240 seconds). 09:51:11 [[Golfuck]] https://esolangs.org/w/index.php?diff=59677&oldid=59676 * A * (+72) 09:53:16 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59678&oldid=59630 * A * (+24) /* GolfScript */ 09:53:37 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59679&oldid=59678 * A * (+1) whoops 09:55:06 [[List of quines]] https://esolangs.org/w/index.php?diff=59680&oldid=59592 * A * (+26) /* Glass */ 09:56:52 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59681&oldid=59577 * A * (+32) /* Goldfish */ 09:58:34 [[Golfuck]] https://esolangs.org/w/index.php?diff=59682&oldid=59677 * A * (-862) Too lazy to write an interpreter 09:59:33 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59683&oldid=59666 * Salpynx * (+2805) /* Computational class / -completeness */ my mistake on input matching, but open-node identity preserving is not that restrictive 09:59:38 [[Golfuck]] https://esolangs.org/w/index.php?diff=59684&oldid=59682 * A * (+862) Undo revision 59682 by [[Special:Contributions/A|A]] ([[User talk:A|talk]]) 10:04:10 -!- imode has quit (Ping timeout: 250 seconds). 10:05:08 [[Golfuck]] https://esolangs.org/w/index.php?diff=59685&oldid=59684 * A * (+0) fix a problem 10:19:57 -!- arseniiv has joined. 10:32:01 -!- AnotherTest has joined. 10:48:04 -!- user24 has quit (Quit: Leaving). 10:56:53 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59686&oldid=59683 * Salpynx * (+948) /* Computational class / -completeness */ stating my argument for the Eodermdrome command superset calculation 11:41:14 -!- Lord_of_Life_ has joined. 11:43:56 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 11:44:00 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 11:49:30 `" 11:49:31 268) I use LiGNUXFCE+apps That's pronounced by saying "Linux" and then vomiting, btw. \ 48) both of you, quit it with the f-bombs. kaelis: what's the matter? something censoring stuff you're interested in? 11:55:57 [[Golfuck]] https://esolangs.org/w/index.php?diff=59687&oldid=59685 * A * (+281) /* Partial implementation in C */ 12:04:14 [[Golfuck]] https://esolangs.org/w/index.php?diff=59688&oldid=59687 * A * (+70) /* Partial implementation in C++ */ 12:06:47 [[Golfuck]] https://esolangs.org/w/index.php?diff=59689&oldid=59688 * A * (+113) /* Commands added(still extending) */ 12:07:14 [[Golfuck]] https://esolangs.org/w/index.php?diff=59690&oldid=59689 * A * (-85) /* Commands added(still extending) */ 12:07:45 [[Golfuck]] https://esolangs.org/w/index.php?diff=59691&oldid=59690 * A * (-7) /* Commands added(still extending) */ 12:16:21 [[Golfuck]] https://esolangs.org/w/index.php?diff=59692&oldid=59691 * A * (-39) /* Commands added(still extending) */ 12:18:01 [[Golfuck]] https://esolangs.org/w/index.php?diff=59693&oldid=59692 * A * (+2) /* Commands added(still extending) */ 12:19:56 -!- AnotherTest has quit (Ping timeout: 240 seconds). 12:20:42 [[Golfuck]] https://esolangs.org/w/index.php?diff=59694&oldid=59693 * A * (+226) /* Partial implementation in C++ */ 12:22:05 -!- Sgeo_ has quit (Read error: Connection reset by peer). 12:22:31 -!- Sgeo_ has joined. 12:31:32 [[Golfuck]] https://esolangs.org/w/index.php?diff=59695&oldid=59694 * A * (-25) /* Cat program(string version, hexdump) */ 12:31:52 [[Golfuck]] https://esolangs.org/w/index.php?diff=59696&oldid=59695 * A * (+5) /* Computational class */ 12:35:27 -!- Essadon has joined. 12:36:40 -!- Essadon has quit (Max SendQ exceeded). 12:39:56 -!- b_jonas has joined. 13:14:15 Is a comedian the same as a median? 13:29:58 [[Golfuck]] https://esolangs.org/w/index.php?diff=59697&oldid=59696 * A * (+193) /* Partial implementation in C++ */ 13:32:49 [[Golfuck]] https://esolangs.org/w/index.php?diff=59698&oldid=59697 * A * (+46) Fix nested parenthases 13:37:25 -!- ais523 has joined. 13:38:25 @messages? 13:38:25 Sorry, no messages today. 13:39:01 @metar egbb 13:39:03 EGBB 021320Z 35013KT 9999 FEW024 04/M02 Q1010 13:40:46 fizzie: in object-oriented languages, it's often hard to know what's a method versus a function versus a builder 13:40:55 so a hoogle-alike would either have to check all possibilities or require the user to do so 13:41:04 (also the problem is often working out what object to use, not what method to use) 13:41:38 meanwhile, in languages like C, there often aren't /enough/ types to narrow the results down, and very few higher-order functions anyway (which is where hoogle works best) 13:42:23 b_jonas: re esolang deployment, I'd say TIO is probably the leader in that at the moment 13:51:56 @oeis 24184 25008 2720 13:51:57 Sequence not found. 13:52:04 why does OEIS not find this? 13:52:21 strange 13:52:57 ais523: that seems likely. is TIO associated with freenode/#esoteric in some way? 13:53:58 `? TIO 13:53:59 TIO? ¯\(°​_o)/¯ 13:54:11 b_jonas: it has a chat room on chat.stackexchange.com 13:54:55 `learn TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 13:54:57 Learned 'tio': TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 13:55:05 @oeis 1 2 1 3 1 2 1 4 1 2 1 3 1 2 1 5 13:55:11 https://oeis.org/A001511 The ruler function: 2^a(n) divides 2n. Or, a(n) = 2... 13:55:12 [1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,6,1,2,1,3,1,2... 13:56:48 perlbot used to have an oeis search primitive built in too, but it's bitrotten since 14:01:10 how do you accent “abacaba”? I seem to gravitate to the third syllable 14:02:41 > fix((1:).(>>=(:[1]).succ)) 14:02:43 [1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1,6,1,2,1,3,1,2... 14:04:07 ,aba'caba 14:06:21 I guess the pattern continues like this: ,aba'caba,aba"daba,aba'caba 14:07:01 (or maybe the next step is a short pause... ,aba'caba,aba daba,aba'caba) 14:14:58 -!- FreeFull has joined. 14:15:22 int-e: there’s something wrong, no two adjacent letters should be the same 14:18:13 [ 1 i.#:}:i.2^8 14:18:14 b_jonas: 1 1 1 1 1 1 1 1 14:18:14 b_jonas: 1 1 1 1 1 1 1 0 14:18:14 b_jonas: 1 1 1 1 1 1 0 1 14:18:14 b_jonas: 1 1 1 1 1 1 0 0 14:18:14 b_jonas: 1 1 1 1 1 0 1 1 14:18:14 b_jonas: 1 1 1 1 1 0 1 0 14:18:14 b_jonas: 1 1 1 1 1 0 0 1 14:18:15 b_jonas: 1 1 1 1 1 0 0 0 14:18:15 b_jonas: ... 14:18:16 no! 14:18:18 sorry 14:21:05 arseniiv: yeah I realized that a minute later but didn't bother to fix it. 14:21:44 [ 1 i.~"1|."1 #:}.i.2^8 14:21:45 b_jonas: 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 6 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 7 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 5 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 6 ... 14:22:00 [ a.{~97+1 i.~"1|."1 #:}.i.2^8 14:22:01 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacaba 14:22:53 > fix(('a':).(>>=(:['a']).succ)) 14:22:55 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:23:02 jabba] 14:23:38 yay I have a shorter nick so I get two extra characters for golfing ;-) 14:24:02 throw in a (var) to remove the double quote :-) 14:24:03 > fix$('a':).(>>=(:['a']).succ) 14:24:05 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:24:13 or does var not work for infinite strings? 14:24:44 according to oerjan, `var` works for infinite strings whereas `text` does not. 14:25:03 it does 14:25:09 > fix$('a':).(>>=(:"a").succ) 14:25:11 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 14:25:12 @run var (cycle "long string ") 14:25:14 long string long string long string long string long string long string long... 14:25:32 also, it turns out that lambdabot gives a much longer result in private message 14:26:11 Yes, you only have yourself to blame if it spams you privately... 14:26:23 :D 14:27:44 [ a.{~97+([:,0,"0>:)^:9]0 14:27:44 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 14:28:57 or, if you want to golf, 14:28:59 [ u:97+,@(0,.>:)^:9]0 14:28:59 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 14:29:27 J doesn't handle infinite expressions, so this output is only 512 bytes long 14:29:32 um 14:29:36 I mean infinite lists 14:34:33 oh no 14:34:50 now we should invent an esolang with infinite expressions 14:35:10 (as if it wasn’t invented yet… I bet it was) 14:35:42 many programming languages already have an interactive repl, which can evaluate partial programs up to the first top-level semicolon or similar 14:35:55 some esolangs have such a thing too 14:36:06 . o O ( hm, could I golf abacaba in C# in a reasonable amount of code ) 14:37:26 even among esolangs that aren't brainfuck-alikes 14:54:11 > fromEnum 'a' 14:54:13 97 15:00:09 > fromEnum 'j' 15:00:12 106 15:00:47 okay I’m not a golfer at all, so the result is this long: 15:00:50 class A{static void Main(){B(106);}static void B(int c){if(c>96){B(c-1);System.Console.Write((char)c);B(c-1);}}} 15:01:14 > length "class A{static void Main(){B(106);}static void B(int c){if(c>96){B(c-1);System.Console.Write((char)c);B(c-1);}}}" 15:01:16 112 15:02:12 oh, sorry, TIO shows the length in plain sight 15:06:37 looks nice 15:07:12 hmm, would that be shorter in J than the one I showed above? let me see 15:10:08 [ (],,)/a.{~105-i.9 15:10:09 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:10:20 [ (],,)/u:105-i.9 15:10:21 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:10:25 yeah, it's shorter 15:10:35 [ u:97+,@(0,.>:)^:9]0 15:10:36 b_jonas: abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabah... 15:11:30 arseniiv: you're right, writing it that way is shorter if you don't have infinite lists 15:11:44 although 15:11:51 infinite lists might not be the discriminator 15:12:15 I wonder how long a Haskell this would translate to. 15:12:31 it would be some fold or another 15:15:21 > foldl(\x y->x++y:x)[]['a'..'j'] 15:15:23 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:15:26 > foldr(ap(++).(:))[]"jihgfedcba" 15:15:29 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:16:15 > foldl(\x y->x++y:x)[]['a'..'j'] 15:16:17 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:16:28 yeah, that 15:17:52 > foldl(\x y->x++y:x)[]['a'..] -- probably too slow 15:17:59 mueval-core: Time limit exceeded 15:18:07 @pl \x y->x++y:x 15:18:07 liftM2 (.) (++) (flip (:)) 15:18:11 @pl \y x->x++y:x 15:18:12 ap (++) . (:) 15:18:32 int-e: "too slow" heh 15:18:50 > length ['a'..] 15:18:53 1114015 15:19:06 it's a finite list, just a pretty long one. 15:19:10 > foldr(ap(++).(:))[]"gfedcba" 15:19:12 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:19:24 ah 15:19:48 so the fold would be two to that power long, which is greater than 2**256 so it never terminates 15:20:09 well... theoretically I disagree :) 15:21:29 In practice it will run out of memory in a reasonable amount of time. 15:21:59 sorry, I'm thinking about cryptography heuristics, like how attacks can use up to about 2**128 bits of memory and about 2**128 runtime and 2**256 total computation 15:22:10 (it will also print a few million characters because of laziness) 15:23:09 yeah both these numbers seem to be reasonably safe upper bounds. :) 15:23:54 int-e: we need reasonably safe because we want to add some luck, eg. we don't want to design cryptosystems for which the strongest attack works with exactly 1/2 probability 15:24:16 we want the crypto to be unbreakable even if Eve is somewhat lucky 15:24:26 sure 15:27:18 so we use 512-bit keys if we're certain that the trap function has no vulnerability but you can do a square root speed and fourth root memory attack, such as for digests where we don't want collisions even if the attacker can choose a plaintext, and 256 bit keys when the trap function has no vulnerability and we're certain that no such square root attack is feasable with only cube root memory, 15:27:52 and the heuristic gets harder for public key crypto because we can't use just trap functions to implement them 15:28:27 b_jonas: I’m glad my long code helped you shorten the J one :) 15:28:41 arseniiv: it's not long. it fits in an irc line. 15:28:45 comfortably. 15:29:25 it'd still fit in an irc line if you translated it to java. 15:30:05 :D 15:30:28 but I thought it should be as small as possible 15:31:12 I even tried to write some cleverness like "using C = System.Console", but it proved to be longer 15:31:46 yeah, that doesn't help if you only have one reference to System.Console in the code 15:31:53 s/as small as possible/smaller than I think it’s really possible 15:32:33 b_jonas: exactly 15:34:04 `? ASAP 15:34:06 ASAP? ¯\(°​_o)/¯ 15:35:40 Hmm maybe not millions... it was up to 24GB after printing 451 characters. 15:35:52 `learn ASAP, in code golf, means as small as possible 15:35:54 Learned 'asap': ASAP, in code golf, means as small as possible 15:36:20 I have no good mental model for how this should grow over time. 15:39:43 > foldl(\x y->x.(y:).x)id['a'..][] 15:39:46 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:47:56 > map(\x->chr$97+popCount(x.&.(-x)-1))[1..] 15:47:58 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 15:48:06 ^ how do you golf this one? 15:49:25 and do the libraries that lambdabot import have a count trailing zeroes function somewhere, so that we don't have to write it in terms of popcount? 15:51:28 @pl map(\x->chr$97+popCount(x.&.(-x)-1))[1..] 15:51:28 map (chr . (97 +) . popCount . subtract 1 . ap (.&.) negate) [1..] 15:57:27 @pl map(\x->chr$97+popCount(-1-(-x.|.x)))[1..] 15:57:27 map (chr . (97 +) . popCount . negate . (-) 1 . negate . join (.|.)) [1..] 15:57:48 what? 15:58:03 @pl \x-> -1-x 15:58:03 (line 1, column 6): 15:58:03 unexpected "-" 15:58:03 expecting lambda abstraction or expression 15:58:10 @pl -1-x 15:58:11 (line 1, column 1): 15:58:11 unexpected "-" 15:58:11 expecting white space, "()", natural, identifier, lambda abstraction or expression 15:59:08 > (-1-5) 15:59:10 -6 15:59:11 @pl (-1-5) 15:59:11 4 15:59:18 is this a bug? 16:03:20 > map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..] 16:03:22 "abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadaba... 16:03:24 @pl map(\x->chr$97+popCount((-1)-(-x.|.x)))[1..] 16:03:25 map (chr . (97 +) . popCount . (-) -1 . negate . join (.|.)) [1..] 16:03:27 workaround 16:03:52 huh? 16:04:15 that still doesn't quite look right 16:04:49 oh, it is 16:06:53 > (- 1-5) 16:06:56 -6 16:07:19 oh well, @pl being buggy is not exactly a new thing. 16:08:18 @pl (- 1-5) 16:08:19 4 16:08:40 I wasn't thinking clearly or I would not even have tried that. 16:08:48 > -(1-5) 16:08:51 4 16:10:36 meh, with haskell you never know 16:11:04 I think in ruby the spaces can matter in some expression involving unary negation 16:13:09 yeah, (f -2) is a method call (f(-2)), but (f-2) is a subtraction (f.-2) 16:14:02 and that's just the simplest case 16:14:06 ruby syntax is complicated 16:14:48 also (f - 2) and (f- 2) are also subtraction 16:16:05 and by the way, (-x) desugars to the method call (x.-@) 16:16:25 @pl div 4 5 16:16:25 0 16:16:38 @pl (-1`mod`2) 16:16:38 -1 16:16:45 > -1`mod`2 16:16:48 -1 16:16:52 hrm 16:17:07 um 16:17:25 try with different numbers, for (-(1`mod`2)) and ((-1)`mod`2) are equal 16:17:32 no they are not 16:17:41 > (-1)`mod`2 16:17:43 1 16:17:52 > (-1)`rem`2 16:17:55 -1 16:18:00 oh, maybe that's one of the other mod operations 16:18:25 there's like seven or so of them, even if you don't count the behavior for overflow or division by zero 16:18:34 @pl -1==2 16:18:34 (line 1, column 1): 16:18:34 unexpected "-" 16:18:34 expecting white space, "()", natural, identifier, lambda abstraction or expression 16:18:58 @pl (-1)==2 16:18:58 False 16:19:35 @pl (-1==2) 16:19:36 negate False 16:19:46 > -1==2 16:19:48 False 16:19:50 > (-1==2) 16:19:53 False 16:19:55 > negate False 16:19:57 error: 16:19:57 • No instance for (Num Bool) arising from a use of ‘negate’ 16:19:57 • In the expression: negate False 16:23:01 Basically, to parse unary - correctly one needs to be aware of the precedence level of nearby infix oerators... and @pl's parser is not. So things are broken, and it's not obvious how to do it correctly on top of http://hackage.haskell.org/package/parsec-3.1.13.0/docs/Text-ParserCombinators-Parsec-Expr.html. 16:23:14 (which the @pl parser is using) 16:23:28 Arguably it should use haskell-src-exts instead. 16:24:55 hmm 16:26:55 -- TODO, use Language.Haskell 16:27:43 -!- arseniiv has quit (Read error: Connection reset by peer). 16:28:00 -!- arseniiv has joined. 16:30:32 -!- probablymoony has joined. 16:30:40 -!- moony has quit (Quit: Bye!). 16:54:52 wow, strange. apparently Knuth uses the notation "sec" in chapter 7.1.3, and doesn't define it anywhere, not even in appendix B. he's using it in a context where it's possible to reverse engineer what he means, but still, it's strange. 16:56:20 @pl \x y z -> ((x z) (y z)) 16:56:21 ap 17:07:47 b_jonas: well that narrows it down to 69 pages. 17:08:37 int-e: vol 4A page 168 17:10:06 Yeah I see. So it is the standard trigonometric function. 17:10:20 int-e: "standard" 17:13:56 Nah, I think they are standard. Programming languages make a bad measuring stick for what constitutes a standard function in mathematics. 17:20:23 first it’s a secant, and then there are haversines all over the place 17:25:37 -!- sleepnap has joined. 17:31:27 `? hoversine 17:31:28 hoversine? ¯\(°​_o)/¯ 17:31:31 `? hovercraft 17:31:32 a-é-ro-g-liss-e-ur. If you mention eels, you'll get smacked with one of them in a most unappropriate manner. 17:31:47 `? havercraft 17:31:48 havercraft? ¯\(°​_o)/¯ 17:31:50 `? haversine 17:31:51 haversine? ¯\(°​_o)/¯ 17:33:28 int-e: yeah, I have to admit, Abramowitz & Stegun defines it on http://www.convertit.com/Go/ConvertIt/Reference/AMS55.asp?Res=150&Page=72 , which is close to making it a standard notation 17:34:18 (and that's carried on to https://dlmf.nist.gov/4.14 ) 17:35:56 are there definitions for ver-hyperbolic functions? 17:42:30 and is there any relation to were-creatures? 18:08:11 -!- xkapastel has joined. 18:22:14 -!- sleepnap has quit (Ping timeout: 268 seconds). 18:42:04 versinh doesn't make much sense because sinh isn't bounded 18:42:46 there isn't a vertan for the same reason 18:43:42 ais523: there's an extan, but sure 18:43:58 no wait 18:44:02 there's only an exsec 18:44:10 hmm 18:45:25 I don't know, I usually just use sin, cos, tan, sinh, cosh, tanh for formulas, or exp(i*x). I don't know how the other stuff work. 18:48:07 == 18:48:18 I'm skeptical of defining too many special-case names. 18:48:43 Maybe it made sense back in the day when people had tables of all these functions. 18:48:44 -!- imode has joined. 19:04:26 shachaf: do you think sin or cos is more fundamental? 19:04:42 i think cos but i forgot why 19:04:47 some stuff with fourier series comes out nicer? 19:11:01 shachaf: the main reason to use versine is because of rounding errors, if you happen to need (1 - cos x) and the resulting value is near 0 you can't calculate that from cos x, because values near 1 have far fewer significant figures 19:11:49 but modern computers can calculate it as 2((sin(x/2))²) without losing much accuracy, so having it as a separate primitive is less important 19:13:06 shachaf: do you know the thing about RF mixing and trig identities and nonlinear devices and taylor series? 19:13:13 which basically describes how all modern radios work 19:13:33 not very 19:13:41 ok i will tell you whether you like it or not! 19:13:53 because it is some Cool Math 19:15:23 suppose you have a radio which can tune frequencies over a wide range 19:16:07 for various engineering reasons, you often want to shift the signals of interest into a fixed frequency range 19:17:01 (one is that it's easier to build circuits which perform well on a fixed range; another is that you might want to sample the signal digitally and it's easier when you reduce the frequency first) 19:17:54 to do this you use a local oscillator to generate a frequency near the frequencies of interest 19:17:58 the main reason is that high-frequency circuitry is a pain to design and shield correctly, all sorts of weird things happen at high frequencies 19:18:17 and then multiply that time-varying signal by the RF input to generate an "intermediate frequency" (IF) signal 19:18:20 so you want to reduce the input to intermediate frequency as quickly as possible 19:19:00 if the RF signal has frequency w_0 and the LO has frequency w_1 then you get IF at w_0 - w_1, plus another at w_0 + w_1 which is ignored 19:19:20 cos(w_0 * t) * cos(w_1 * t) = (cos((w_0 + w_1) *t) + cos((w_0 - w_1)*t))/2 19:19:24 that's a trig identity 19:19:30 well, it's not so much ignored as filtered out 19:19:46 sure 19:19:52 the sum frequency is so high that your IF circuitry likely can't transmit it at all, and even if it could you'd just stick a low-pass filter on it 19:20:08 and if you're sampling then you always need to LPF an ADC input or else you get aliasing 19:20:11 anyway 19:20:16 filtering out RF (the sum frequency) from IF (the difference frequency) is trivial 19:20:18 shachaf: with me so far? 19:21:45 Maybe? 19:22:45 the next question is how to multiply two analog signals, and this seemed mysterious to me for a long time 19:22:59 but you can actually use any nonlinear component 19:23:03 for example a diode 19:23:26 a diode has an exponential current vs. voltage response 19:23:37 so it has an x^2 term in its taylor series 19:23:48 and of course (a + b)^2 = a^2 + b^2 + 2ab 19:24:09 oh wow 19:25:53 shachaf: the last thing is, by shifting the spectrum around w_1 down to be centered at 0, you now have both positive and negative frequencies in your IF signal 19:26:03 and of course cos(x) = cos(-x) so those will alias 19:26:10 the solution is "quadrature sampling" 19:26:46 you mix the signal with cos(w_1 * t), and a separate copy with sin(w_1*t) (or cos(w_1*t + pi/2) if you prefer) 19:27:02 this is called I/Q sampling (in-phase vs. quadrature) 19:27:19 and those values are conveniently represented as complex numbers 19:27:44 so, while the RF signal is real-valued, the IF signal is complex-valued 19:28:08 and of course you can fourier transform complex-valued signal just fine 19:28:27 anyway that's how a superheterodyne radio works, and the stuff about digital sampling describes how a software-defined radio works 19:28:39 and i was mostly talking in terms of receiving there but the same idea applies in reverse for transmission 19:30:58 -!- ais523 has quit (Quit: quit). 19:31:55 p. fancy 19:31:55 -!- AnotherTest has joined. 19:32:45 :) 19:32:46 glad you like 19:39:33 kmc: all that sounds like it both needs a lot of simple electronic components, and that it's probably impossible to actually implement from components that exist in the real world rather then theoretical idealized components 19:39:56 but in practice we know that it's not so, because people have built radios and televisions when electronics was primitive 19:40:03 ...this is how most modern radios work 19:40:05 so it's not impossible 19:40:11 of course there are a ton of details in going from theory to practice 19:40:35 kmc: modern radios can use modern electronics, which have a lot of components in a single chip, so that's sort of different 19:40:47 old radios did not work this way 19:40:53 but the superhet was invented in 1918 19:41:03 like I said, all you need for a mixer is a diode 19:41:10 and all you need for filters is inductors and capacitors 19:41:36 and all you need for an amplifier or a local oscillator is a few vacuum tubes and some other simpler components 19:41:47 of course radios back then were not doing digital sampling 19:41:54 they were doing analog demodulation of AM or FM 19:41:58 but that's also not too hard 19:41:59 especially AM 19:43:03 crystal radios seem to be god damn magic to people. 19:43:19 you can build an AM radio with passives and a single diode 19:43:28 and no external power besides the incoming signal 19:43:58 there's been old radios built from just vacuum tubes, with no semiconductor 19:43:58 and solid state diodes existed long before the modern semiconductor era 19:44:45 you can make a diode with a small wire contacting a lead sulfide crystal, or a graphite contact on a specially treated razor blade 19:45:00 look up foxhole radios 19:45:02 kmc: no external power? isn't that only possible with near field, which is limited to a few ten meters from an AM antenna? 19:45:16 these are semiconductors, but not in the modern fabricated doped silicon sense 19:45:28 they exhibit semiconducting physics but are made out of simple readily available materials 19:45:38 b_jonas: no, any EM wave has power by definition 19:45:50 b_jonas: no, you can pick up AM signals pretty far away provided you have a reasonable antenna. 19:46:07 a far field AM broadcast doesn't have much power but it has enough to power high-impedance earpiece 19:46:10 (faintly) 19:46:14 I had a crystal set kit as a kid 19:46:15 it's fun 19:46:39 hmm, can you clarify what "pretty far away" and "reasonable antenna" mean? 19:46:50 reasonable antenna = few meters long wire 19:47:26 oh and the placement matters 19:47:29 the near field for AM radios extends to about a kilometer, so "few ten meters" was an underestimate 19:47:30 preferably above any obstructions 19:47:30 positioned at a reasonably high elevation or in the path of a broadcast, which usually means "be in the giant bubble of reception". 19:48:19 AM stations put out tens of thousands of watts 19:48:23 in fact it's a problem for us hams 19:48:39 because they create interference on other nearby bands 19:48:53 also it requires an extremely small amount of power to make audible noise in a headphone stuck into your ear 19:49:17 I have a passive filter on my SDR which blocks AM broadcast band before it goes into the other circuitry (which could create intermodulation products) 19:49:21 kmc: yeah, but there aren't many such bands. I think there's only one AM radio station remaining that's broadcast from Hungary. 19:49:35 what? there's AM radio all over the USA 19:49:39 that one is here to stay probably, at 540 kHz, to serve stuff abroad 19:49:42 oh hey j4cbo fancy seeing you here 19:49:47 b_jonas: are you thinking of longwave specifically? 19:49:49 kmc: it is *all over* Hungary and more 19:49:54 sup 19:50:06 kmc: I don't think so. I think it's called middle wave 19:50:10 540 is the very bottom of the MW (normal broadcast AM) range 19:50:12 540 kHz frequency 19:50:14 that, yes 19:50:27 longwave is older 19:50:36 I'd believe that hungary only has one station b/c it's a small country 19:50:44 kmc: it used to have more 19:50:54 two about a decade ago, and more before 19:51:30 they got rid of them because FM radio, digital television, satellite, and internet superceded it 19:52:32 I think terrestrial analog television broadcasts in Hungary used AM sound, and lived slightly longer than any but that one AM radio station 19:52:57 but I'm not really sure, I think most of them actually used FM sound 19:53:01 I don't really know how that works 19:53:36 there used to be multiple television bands, and one of them used FM sound between the two FM radio frequency ranges, but I'm not sure if that was the most common analog television band 19:54:51 there are still hundreds of AM stations in the USA though 19:55:09 the 540 kHz radio broadcast is kept mostly because it serves neighboring countries where it may be difficult to buy FM radio bands 19:55:15 they are mostly sports, religious, and talk radio (predominantly right wing assholes) 19:55:32 kmc: in what frequency range are those hundreds? 19:55:35 also traffic alerts and the like 19:55:46 oh yeah there are low power local stations when you like approach a bridge or w/e 19:55:49 kmc: and at most how many are there receivable in any one location? 19:56:17 b_jonas: 540-1600 19:56:28 b_jonas: depends on location obviously, in a big city maybe 10 19:56:33 in the middle o' nowhere one or two 19:56:51 most of the music's on FM of course 19:57:04 hmm 19:57:16 b_jonas: hungary uses DVB-T so audio and video are digital 19:57:20 actually the internet says that there are more than one active AM radio stations in Hungary 19:57:21 I assume the legacy analog TV was PAL 19:57:25 I guess the others are less powerful 19:57:54 kmc: yes, they stopped the analog television broadcasts several days ago, to free up frequencies especially for digital television 19:58:24 analog radio is still used, but it's mostly on the western FM frequencies 19:58:47 e.g. http://www.theradiosource.com/images/fas6000-icon2018.png 19:59:01 google is failing me but I'm guessing PAL sound is FM on a subcarrier, like NTSC 19:59:06 my car doesn't even have an AM radio 19:59:33 kmc: I think it's tricky, they modulate the mono sound and the stereo term differently 19:59:43 yes, the same is done for FM broadcast audio 19:59:45 but I'm not sure 19:59:53 you send the sum of the channels, and then the difference on a subcarrier 19:59:57 so a mono receiver gets the sum 20:00:02 a lot of AM/FM radios can also tune TV audio 20:00:03 btw 20:00:07 nobody's mentioned shortwave yet! 20:00:10 shortwave isn't dead! 20:00:16 I've received all kinds of fun stuff at my house 20:00:25 including cuban numbers stations from the other side of the continent 20:00:32 kmc: how long ago? 20:00:39 also public broadcast programs from asia 20:00:46 b_jonas: pretty much every time i've tried in the past year 20:00:57 I am using a cheap SDR setup? 20:00:59 I am using a cheap SDR setup 20:01:03 received is certainly true, I've received radio on short wave and long wave within my life 20:01:10 using consumer radio equipment 20:01:30 I am licensed to transmit 1,500 watts on the nearby ham HF frequencies 20:01:31 :D 20:01:41 and analog television too 20:02:22 hams transmit TV sometimes, but you can only do full motion tV on the higher frequncy bands due to bandwidth limits 20:02:32 so it's mostly "slow scan TV" which is really sending still images, slowly 20:03:43 as for single diode, there are anecdotes that there have been messed up metal amalgam tooth fillings or braces or something that accidentally worked as a near field AM radio if the wearer went close enough to the high powered 540 kHz radio tower near Solt, but I don't know if this is true 20:04:53 hahaha 20:04:54 kmc: yes, and some hobby quadcopter people send analog television from a camera on their small flying machines to the ground 20:04:55 I believe it 20:05:05 b_jonas: yeah! FPV quadcopter 20:05:07 sounds super fun 20:05:13 that's usually on 2.4 or 5 GHz 20:05:16 range is limited 20:06:22 this works because you can get pretty close to the Solt radio tower on a paved road 20:06:59 and it has a very high broadcast power, especially in the day 20:06:59 I do not have any shortwave bands radio but do have AM and FM. I sometimes listen to the CBC radio (including today), on 690 kHz AM radio. 20:07:01 still 20:07:12 I think they decreased it some years ago, but it's still relatively high 20:07:23 zzo38: I see 20:08:11 I used to listen to the 540 kHz Kossuth back long ago, but these days it has better FM broadcasts so it's no longer necessary unless you're receiving from outside Hungary 20:08:35 (you can also listen to it on internet, but that doesn't make the AM broadcast redundant) 20:09:41 poland for a long time operated a longwave station for the polish community abroad 20:10:24 the warsaw radio mast was the tallest structure in the world 1974 - 1991 20:10:25 yeah, https://www.ahrt.hu/hu/100-mhz-es-kozephullam confirms that there are multiple AM broadcasts done by Antenna Hungária alone. AH doesn't handle all FM broadcasts, so there might be more, but there probably aren't. 20:10:27 then it collapsed :( 20:10:48 shortwave can reach further than longwave, but not reliably as it's dependent on ionospheric conditions 20:11:03 apparently they also have digital radio broadcasts, but I've never seen a digital radio receiver that wasn't built into a television 20:11:22 there is an 11 year sunspot cycle which affects that, and is currently at a minimum 20:11:31 so right now long distance ham stuff is harder than it will be in a few years 20:11:37 b_jonas: my car receives digital radio 20:11:44 they have multiple broadcasts per ferquency 20:11:48 and muchbetter quality 20:11:52 apparently the digital radio broadcast is still sort of experimental 20:11:56 you can easily hear when it switches from analog to digital 20:11:58 interesting 20:12:21 btw. if you wanna see something really weird, it is possible to build a diode and even a triode using FIRE http://www.sparkbangbuzz.com/flame-amp/flameamp.htm 20:12:30 basically it's like a vacuum tube, without the vacuum or the tube 20:13:09 FM radio is very well spread because these days they put it in many mobile phones 20:13:37 mhm 20:13:37 which they can do because you need only a very small antenna and a small chip 20:13:42 im' not sure how many people use that 20:13:49 I do use it 20:13:49 I think they typically use the headphone cable as an antenna? 20:13:57 yes, usually, but not exclusively 20:14:19 it's still possible without a headphone, but most mobile phones don't support that 20:14:22 or so it seems 20:14:42 and it works with any headphone cable, no need for any fancy addition in it 20:14:48 so third party headphones work too 20:14:56 wired ones obviously 20:15:00 not bluetooth ones 20:15:20 ok 20:15:20 cool 20:15:27 you wouldn't need any different headphone cable though 20:15:27 I sometimes use it because I always carry a mobile phone anyway, so this lets me receive radio easily 20:15:37 it's just a wire 20:15:46 well it's a few wires wired together, but you can deal with that easily enough 20:15:52 i've never used it tho 20:15:56 maybe i should install the app 20:15:58 for emergencies 20:16:05 I wish my portable ham radio could receive FM broadcast :( 20:16:13 my old one did, but the new one is better in a lot of ways, but can't do that :( 20:16:31 -!- oerjan has joined. 20:16:36 it can receive weather radio tho 20:16:39 kmc: you can also buy a separate tiny FM radio that doesn't include a mobile phone 20:16:44 for cheaper than a mobile phone 20:17:07 they don't use much battery either 20:17:16 I used those before they put them in mobile phones 20:17:43 I would want a portable radio that can receive AM too, not only FM. And preferably also other bands 20:17:56 zzo38: AM is harder because it needs a larger antenna 20:18:09 b_jonas: yeah but i carry the ham radio every day and don't want to carry another radio 20:18:15 wife's parents are here, bbl 20:18:26 kmc: how tiny is your ham radio? 20:18:47 it's a yaesu ft-60r 20:18:49 b_jonas: Yes, with the lower frequency it would, I suppose, but you can have a antenna that you can extend when needed and collapse when it is not in use. 20:18:50 normal walkie talkie size 20:19:15 kmc: right, and FM radios are significantly smaller than that, so you could attach the two and get a device that does both 20:20:41 are they? 20:21:04 zzo38: I'm not sure, but I think you need a wire coil over a decimeter in diameter with both ends connected to the radio to get an AM antenna: that fit easily in old portable radios, but you can't really fit them in a mobile phone 20:21:34 kmc: yes, if you allow for the headphone wire as an antenna as with a mobile phone 20:21:42 That is fine; I don't have a mobile phone 20:21:53 b_jonas: link? 20:22:14 hmm, let me try to find one on ebay 20:22:31 I used to own one before ebay existed, but I can't link to that 20:24:35 apparently these days they're built together with music players that play from either a micro-SD card or a soldered-on solid state memory, and they have a small battery charged by USB 20:25:33 I'm trying to find one that includes a clear picture to show its size 20:25:51 Is a comedian the same as a median? <-- hm yes it would appear so 20:29:54 kmc: https://www.ebay.com/itm/121963260758 at least includes a picture clearly showing the USB A port connector on it 20:31:05 that one is not ideal, because it probably has a rather short battery life, but ones with a non-rechargable button battery and a longer life used to exist 20:36:37 https://www.ebay.com/itm/173405038518 is battery-powered, is of size 0.09x0.04, and does AM middle wave too, which sort of proves me wrong about the large coil 20:36:43 zzo38: ^ 20:36:54 portable radio that receives AM 20:37:00 OK 20:37:03 uses headphone, doesn't include speaker 20:37:36 so it's a bit larger if you include the size of a headphone and cable 20:45:17 https://www.ebay.com/itm/170850268747 is a rather small FM one that can be powered from non-rechargable batteries 20:45:39 I don't see how to find one with a small non-rechargable battery though 20:45:44 even though I think those used to exist 20:49:10 zzo38: https://www.ebay.com/itm/263754834261 is a smaller AM/FM one 20:49:17 but it's more expensive 20:51:48 https://www.ebay.com/itm/183264250655 is an AM/FM one that's both small and cheap 20:53:21 there probably exist one somewhere that doesn't include a built-in battery or battery holder but takes only external power, which is what you'd want for combining in an existing HAM radio, and it's possible that you can get one from one of the consumer ones sold on ebay by forcibly cutting off the battery compartment 20:53:47 or possibly by cutting off the battery compartment and attaching an antenna 20:54:12 not necessarily the ones I linked above, there are more variations of these on ebay 21:06:38 -!- arseniiv has quit (Ping timeout: 246 seconds). 21:12:26 I thought of some variant of rule of Scrabble. One is that the next letter to be drawn is exposed to both players (even if it is not your turn), but if you have to draw more than one letter still only one is exposed. 21:23:05 zzo38: hmm. IIRC that works differently from M:tG, because in M:tG if there's a static effect that reveals the top of a library, and its owner draws multiple cards from it, then each of them will be revealed on the library 21:27:02 this doesn't come up often, because those static effects don't occurr on common cards, and there are very few uncommons that use it 21:27:51 `card-by-name Goblin Spy 21:27:52 Goblin Spy \ R \ Creature -- Goblin Rogue \ 1/1 \ Play with the top card of your library revealed. \ IN-U \ \ Goblin Spymaster \ 2R \ Creature -- Goblin Rogue \ 2/1 \ First strike \ At the beginning of each opponent's end step, that player creates a 1/1 red Goblin creature token with "Creatures you control attack each combat if able." \ C16-R 21:28:05 `card-by-name Lantern of Insight 21:28:06 Lantern of Insight \ 1 \ Artifact \ Players play with the top card of their libraries revealed. \ {T}, Sacrifice Lantern of Insight: Target player shuffles their library. \ 5DN-U 21:31:10 and I don't think there's any simple effect that makes just your opponent play with the top card of their library revealed 21:32:25 hmm 21:35:27 I wonder what an enchantment with just "Opponents play with their hand and the top card of their library revealed." would cost. It would probably cost something between U and 1UUU, but I don't know how much. 21:49:15 -!- Cale has quit (Ping timeout: 250 seconds). 21:59:44 -!- Bob has quit (Read error: Connection reset by peer). 22:00:54 -!- bobby has joined. 22:02:18 -!- Cale has joined. 22:03:53 -!- bobby has quit (Excess Flood). 22:04:22 -!- bobby has joined. 22:15:54 -!- wumpus1 has joined. 23:12:56 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:44:13 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 23:45:16 -!- Lord_of_Life has joined. 2019-02-03: 00:10:26 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59699&oldid=59686 * Oerjan * (+471) /* Computational class / -completeness */ Talking past each other? 00:12:45 [[Talk:Eodermdrome]] M https://esolangs.org/w/index.php?diff=59700&oldid=59699 * Oerjan * (+3) sub- 00:19:47 https://www.perlmonks.com/?node_id=1008395 the game of life perl code is probably the obfuscated code I'm the most proud of 00:20:56 it's not clear, there are a few other good ones I wrote 00:20:58 but it's close 00:25:52 others include https://www.perlmonks.com/?node_id=813859 catalan numbers with regexen, https://www.perlmonks.com/?node_id=863110 GF(128) 00:28:09 hehe, this one is evil. I barely remembered it. https://www.perlmonks.com/?node_id=1032776 00:40:11 -!- b_jonas has quit (Quit: leaving). 00:58:03 -!- wumpus1 has quit (Quit: wumpus1). 01:19:29 -!- MDead has joined. 01:20:07 -!- MDude has quit (Ping timeout: 240 seconds). 01:20:14 -!- MDead has changed nick to MDude. 01:22:04 -!- oerjan has quit (Quit: Nite). 02:27:51 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:32:44 kmc: sin has the property that sin(x) ~ x for small x, which is pg 02:39:14 Also it doesn't have a "co" in front of its name, is more evidence that it's the fundamental one. 02:39:28 Which one is more fundamental, products or coproducts? 02:46:36 who the f decided the “kilogram” was a base unit 02:46:45 it has a prefix! 02:47:36 What, you'd prefer to use the millikilogram? 02:53:28 you used to see micromicrofarads on schematics 02:54:50 Since mass = energy = distance = time, what unit should we use to measure all of them? 02:56:29 Planck units 02:57:01 I guess. 03:13:41 -!- xkapastel has joined. 03:27:09 [[User:Cortex/test1]] N https://esolangs.org/w/index.php?oldid=59701 * Cortex * (+31) Redirected page to [[User:Cortex/test2]] 03:27:30 [[User:Cortex/test2]] N https://esolangs.org/w/index.php?oldid=59702 * Cortex * (+31) Redirected page to [[User:Cortex/test1]] 03:39:19 [[Golfuck]] https://esolangs.org/w/index.php?diff=59703&oldid=59698 * A * (+321) 03:40:21 shachaf: c = 1 03:40:42 ? 03:41:44 https://en.wikipedia.org/wiki/Natural_units 03:42:01 Right, that's why you get one unit for all of those. 03:42:04 The question is which one. 03:42:16 But I guess Planck length or whatever is as good as anything. 03:47:02 [[Golfuck]] https://esolangs.org/w/index.php?diff=59704&oldid=59703 * A * (-13) /* 99 bottles of beer program, where CR stands for the carriage return character */ 03:49:09 [[Golfuck]] https://esolangs.org/w/index.php?diff=59705&oldid=59704 * A * (+189) /* Commands added(still extending) */ 03:49:41 [[Golfuck]] https://esolangs.org/w/index.php?diff=59706&oldid=59705 * A * (-51) /* 99 bottles of beer program, where CR stands for the carriage return character */ 03:53:07 [[Golfuck]] https://esolangs.org/w/index.php?diff=59707&oldid=59706 * A * (+64) 04:22:08 -!- FreeFull has quit (Ping timeout: 245 seconds). 04:25:28 -!- MDude has quit (Ping timeout: 245 seconds). 07:44:07 -!- imode has quit (Ping timeout: 240 seconds). 09:02:27 -!- xkapastel has quit (Quit: Connection closed for inactivity). 10:26:01 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 11:05:36 hey 11:05:49 about data compression 11:06:05 most compression formats are designed to compress data reasonably well and do it efficiently 11:06:49 I was wondering if there's a (non lossy) compression technique which you can basically leave it arbitrarily long and it will compress better and better (of course this will have diminishing returns) 11:17:20 -!- arseniiv has joined. 11:41:08 -!- ais523 has joined. 11:41:24 rain1: you need to distinguish between compression /formats/ and compression /encoders/ 11:42:00 any format will have some maximally dense representation of the input, but for suffiiciently complex formats (and sufficiently complex is not very complex), typical encoders won't be able to find it 11:42:16 . o O ( Kolmogorov complexity ) 11:42:18 so what you're looking for is an encoder that puts in extra effort looking for particularly short representations of the input, but can be stopped at any time 11:43:28 the extreme is when the compression format is TC, in which case it'll be within a linear transformation of any other format in efficiency (and within a constant-sized offset if it can read literals encoded using the entire alphabet of the character set with no escaping) 11:43:45 that's what Kolmogorov complexity measures, i.e. the shortest possible program that generates the output you want 11:43:55 but finding /that/ is likely to be impossible in the general case 11:44:24 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 11:44:25 Hmm "likely"? 11:45:52 if the Church-Turing thesis turns out to be false, it could be possible 11:45:58 Rice's theorem should give you an impossibility result... 11:46:08 Oh I didn't consider that angle. True. 11:46:12 -!- Lord_of_Life has joined. 11:49:01 -!- b_jonas has joined. 11:50:37 But the TC encoding gives you something recursively enumerable (the program+data that you provide is supposed to terminate with the decompressed data as output) so it does fit into rain1's description... you can enumerate basically forever, finding better and better encodings along the way, until eventually you reach a best one. You never know when to stop, of course. 11:51:18 And yes, it's completely infeasible. 11:51:54 yeah, but you don't really need anything near TC to meet the distinction. Even when you're compressing large real world images to PNG, you have a choice to compress slower but get a smaller file, or compress faster but get a larger file. I've experienced that all too much at my previous job, when working with images. 11:52:24 -!- ais523 has quit (Remote host closed the connection). 11:53:01 Oh yes, brotli was a good demonstration of that phenomenon. 11:53:05 The same happens when you're compressing stuff with a sane modern compressor like 7z -- not really when you're compressing with the ancient gzip format, we have encoders that are good and as fast as you go with gzip. 11:53:59 you use 7z a -mx=3 foo.7z to compress fast, or 7z a -mx=5 foo.7z to compress normally (-mx=5 is actually the default for 7z output), or 7z a -mx=0 to not compress at all. 11:54:06 (Hmm, or which was the zlib compatible compressor that traded compression speed for size? I may be mixing those up.) 11:54:30 ok, admittedly with gzip you still have an option to not compress at all, and that is faster 11:54:50 int-e: nope, you get 7z which compresses gzip both slightly better and slightly faster 11:55:17 zopfli is it 11:55:17 int-e: the problem with gzip is that it's really old, the tradeoff built into it is that you could compress worse if you have very little RAM, but these days nobody has that little RAM 11:55:35 (the other Swiss bakery product) 11:56:29 "Under default settings, the output of Zopfli is typically 3–8% smaller than zlib's maximum compression, but takes around 80 times longer." 11:57:50 (I believe PNG was the main target, as you basically wrote.) 11:59:05 Ah I had not heard of Guetzli. 12:00:57 Hmm. What does "little RAM" mean nowadays... a 256MB VPS? 12:01:56 (up from, I guess, less than 64kb when zlib was developed) 12:08:06 I've found 128MB VPS offers, and talk about 64MB VPS offers but no live specimens... 12:12:44 int-e: PNG is a bit more complicated, it has both a zlib layer, and a transformation layer before it, but suret 12:16:46 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 12:20:39 -!- Lord_of_Life has joined. 13:07:11 -!- atslash has quit (Read error: Connection reset by peer). 13:07:19 -!- atslash has joined. 13:08:38 -!- FreeFull has joined. 13:08:54 -!- FreeFull has quit (Client Quit). 13:08:54 -!- FreeFull_ has joined. 13:08:57 -!- FreeFull_ has quit (Client Quit). 13:09:18 -!- FreeFull has joined. 13:54:31 `learn The password of the month is eigthy-three characters long but contains no special characters except for a hyphen. 13:54:33 Relearned 'password': The password of the month is eigthy-three characters long but contains no special characters except for a hyphen. 14:05:47 [ 83{.'eigthy-three characters long but contains no special characters except for a hyphen.0123456789' 14:05:48 b_jonas: eigthy-three characters long but contains no special characters except for a hyphen 14:06:29 Well done 14:13:27 oh right 14:13:32 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190203.html 14:13:33 bobadventureslist http://bobadventures.comicgenesis.com/d/20190203.html: b_jonas 14:29:27 -!- atslash has quit (Ping timeout: 240 seconds). 14:30:06 -!- atslash has joined. 14:32:38 -!- xkapastel has joined. 14:34:45 -!- atslash has quit (Ping timeout: 245 seconds). 14:35:11 -!- atslash has joined. 14:52:02 -!- MDude has joined. 15:31:42 -!- b_jonas has quit (Quit: leaving). 15:42:31 what would you consider an integral part of df-likes 16:09:10 -!- AnotherTest has joined. 16:16:31 -!- Mediphira has joined. 16:16:37 -!- Mediphira has left. 16:24:27 df = swarf fortress? 16:24:46 s/s/d/ 16:25:11 ` df / 16:25:12 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: : not found 16:25:21 `df / 16:25:21 Filesystem 1K-blocks Used Available Use% Mounted on \ - 0 0 0 - / 16:28:44 int-e: yeah 16:29:24 what comes to my mind is high level of simulation and a macro-managing spectator 16:29:34 but i do find that pretty vague 16:29:51 whereas i do have quite some points for roguelikes 17:46:44 -!- imode has joined. 17:53:16 -!- ais523 has joined. 18:02:55 Heh, that's a little odd. 18:03:20 Per df, on HackEso there's nothing mounted at /, just in specific subdirectories. 18:03:56 Which probably just follows from /proc/mounts. But it's still a bit odd. 18:04:24 `` echo $(cut -d\ -f2 /proc/mounts) 18:04:25 ​/bin /usr /dev /lib /sbin /lib64 /hackenv /hackenv/.hg /etc/alternatives /srv/hackeso-code/multibot_cmds/lib /tmp /proc /sys 18:04:49 `` df /bin 18:04:50 Filesystem 1K-blocks Used Available Use% Mounted on \ none 24733776 10662056 12802216 46% /bin 18:05:25 That's reflecting the filesystem where it's actually coming from. 18:05:37 `` ls / 18:05:38 bin \ dev \ etc \ hackenv \ lib \ lib64 \ proc \ sbin \ srv \ sys \ tmp \ usr 18:05:43 he I didn't expect /etc/alternatives 18:05:57 I didn't expect it to be a /mount point/ 18:06:00 We call umlbox with --base-mounts --mount lib --translate-write /hackenv ... --translate /hackenv/.hg ... --cwd /hackenv. 18:06:06 but presumably that makes it writable when most of /etc is read-only? 18:06:13 No, it's read-only still. 18:06:23 don't mount points have to be over existent directories, anyway? 18:06:26 if so you'd need /something/ at / 18:06:26 I think it's mounted because some commands in /usr go through symlink in /etc/alternatives. 18:06:31 ais523: yes. that's what I meant. but it makes sense if you aim to borrow as much as possible from a surrounding system 18:06:32 or can you mount on top of a nonexistent directory? 18:06:46 `` update-alternatives --config editor 18:06:47 update-alternatives: error: no alternatives for editor 18:07:15 HackEso has no installed editors? 18:07:17 Full conents of etc: https://hack.esolangs.org/tmp/paste/paste.24182 18:08:39 As for mounts, yes, it needs to be into an existing directory, umlbox creates the target directory (recursively) when it mounts somthing. 18:08:50 There is a root file system, apparently it's just too special to show up in /proc/mounts. 18:09:18 (It's an initrd read from a cpio archive on kernel boot.) 18:09:47 Well, it makes some sense, it's not like there's really a device node for that. 18:09:52 ais523: it's a bit weird... if you have a chroot like container, / may not be a mount point according to /proc/mounts. 18:10:11 oh, because the root filesystem is /below/ / 18:10:14 and thus you can't see the mount point 18:10:37 This is different, though: the command isn't running in a chroot. 18:10:49 but it's a container? 18:11:00 No, I mean, the program is running under the UML kernel. 18:11:10 From that perspective, there are no containers involved, there's nothing below /. 18:11:19 now I'm reminded of when you have a shell running in a directory all of whose names have been deleted 18:11:22 the shell can get rather confused 18:11:51 (actually, simply deleting the name for the directory that the shell knows could be enough) 18:12:00 So UML is lying about its root file system. Yay :) 18:12:02 The whole VFS abstraction is that of the UML kernel, and it starts from / which is an initrd, on top of which have been mounted stuff from the host system under the special "hostfs" thing. 18:12:35 I don't know if that's how initrd always works. On normal systems / usually gets pivoted into some real filesystem on a block device. 18:13:54 So you rarely get to actually experience the initrd environment. 18:15:20 I had that experience recently... but no working keyboard, so I didn't get the chance to actually explore... 18:16:41 (I later realized that I do still have a PS/2 keyboard which would have worked... but by then I had resolved my problem, which was udev not initializing the host controller or something similarly desastrous.) 18:17:11 (no host controller -> no USB, no SATA, no root device... no system boot.) 18:18:21 -!- copumpkin has joined. 18:21:10 On the container (using systemd-nspawn) where the UML kernel runs, seems like there's an entry in /proc/mounts that says /dev/vda2 is mounted as /, even though that's really just the /var/lib/machines/dysnomia directory of that filesystem. But it's a separate mount namespace, which I think is a little different from a chroot. 18:21:34 mount namespaces are more thorough than chroots 19:34:37 -!- b_jonas has joined. 19:51:50 -!- LKoen has joined. 19:54:19 [[Special:Log/newusers]] create * Sollyucko * New user account 20:22:27 -!- ais523 has quit (Quit: quit). 20:40:20 can anyone recommend an OSS project I might enjoy contributing to that has a predominantly non-US user/contributor/maintainerbase? 20:40:39 -!- oerjan has joined. 20:44:20 who the f decided the “kilogram” was a base unit <-- iirc it was done because if you use the gram, a lot of the derived units get very inconvenient size scales - so it was either adding a kilo- to that one, or other prefixes to a lot of others. 20:44:54 Or using the centimeter as a base unit. 20:45:13 right, there was that 20:45:47 Though honestly many of those derived units were inconvenient. 20:45:53 they could have given a new name to the kilogram. like, call it a "ton" or a "pound" or an "ounce" or something. 20:46:17 or a "euro", that word was still free back then, they'd have priority 20:46:17 cgs! 20:46:23 we used cgs in undergrad E&M 20:46:28 it's a little wacky 20:46:39 obviously then we'd end up having to have a currency with a bad name, like "european union kilogram" or something 20:46:44 the units don't directly correspond to SI because the physical constants are folded in differently 20:46:51 Bit tricky though, since the derived units only started getting used much by the time the kilogram was already well-established. 20:46:54 kilogrexit 20:47:05 bring back micromicrofarads 20:47:55 kmc: yeah, I know. they have units with square root of meter times square root of second in them 20:48:15 there's an important measure in EE which is like dB / sqrt(Hz) 20:48:31 or is it V / sqrt(Hz) 20:48:34 for noise 20:49:29 “ohms per square” is a good one 20:51:56 but CGS is internally consistent, so it's at least better than measuring blood pressure in micrometers of mercury, car speed in kilometers per hour, electricity bill in kilowatt hour, airplane height in feet, airplane distance in miles, 20:52:17 *nautical miles 20:52:35 ah 20:53:05 sometimes aviation uses statute miles 20:53:35 and sometimes it uses feet 20:53:39 because reasons 20:54:02 and sometimes meters or kilometers 20:55:21 blood hormone levels are measured in units like pg/mL and ng/dL 20:55:21 and then we have food energy in kilocalories, astronomical distances within the solar system in astronomical units, outside the solar system in light years, 20:55:49 i used to think kWh was stupid, and especially kWh/day, but they are very convenient in practice 20:55:55 same with Wh vs J 20:56:35 oh, and the phone bill counts call lengths in minutes 20:56:38 kWh/day is nice because it implies that it’s an average instead of instantaneous 20:57:20 kmc: I don't know what kind of project you would enjoy to contributing to. And by non-US what country you may mean? Some projects (such as my own) currently have only myself as contribution/maintenance and I am Canadian. But I don't know if that is what you want or not. Nor am I sure how to find out. 20:57:33 i'm thinking larger projects 20:57:35 j4cbo: yeah 20:58:44 I don't know much of larger projects about if it is predominantly non-US or not. (Unless you can read/write in languages other than English, in which case you might more easily find some) 21:00:27 Words "ton", "pound", "ounce" mean different units than kilogram. However, there is another word for kilogram is "grave" 21:01:10 but a metric ton is the same as a Mg 21:01:32 kmc: Yes, although I don't like the term "metric ton" or "tonne". I prefer to call that a "megagram" 21:01:41 you know what unit's really annoying? "mil" i.e. 1/1000 in 21:01:53 it's used in electronics and locksmithing and some other fields 21:02:02 but i prefer "thou" to avoid confusiong with mm 21:03:16 yeah that’s a weird one 21:03:39 6 mil trace, 6 mil plastic sheeting, 6 thou tolerance 21:04:12 also “tenth” apparently means 0.0001in 21:04:22 (It should be obvious to know what "megagram" means even if you have not seen it before. I used "megagram" before I have seen it used, too. This is contrary to "tonne" which I don't like.) 21:04:53 which i guess puts it in the same group as “fifth” and “eighth” of fractional words that have a specific meaning c.c 21:05:14 Why do you care if the OSS project is predominantly non-US? 21:05:35 long story 21:05:41 so never mind that 21:05:43 OK 21:49:30 cellular automata are not a good model for general turing complete computation because they require infinite space. network automata/communicating automata are, however, because they only require unbounded queues. 21:51:08 kmc: yeah, I've heard of those US units. 21:52:04 imode: what's the important difference? you can easily emulate a TM with an unbounded queue 21:52:07 (or two stacks, but not one) 21:52:25 at any point in time only a finite number of TM / CA cells are non-blank 21:52:31 just as only a finite number of elements exist in the queue 21:52:50 how do network automata work 21:55:01 You could have a rule that would set all CA cells to something non-blank. But it'd still be a finite amount of information. 21:56:56 kmc: that's my point. imagine you were to simulate a cellular automata with infinite space. you'd need to start at the "top left" of the world (assuming a 2D CA), and you'd need to traverse to the "bottom right", but in order for you to encode a turing machine within a CA, it needs to have the ability to propagate to the bottom-right, right? 21:57:21 well, blank cells have the potential to become non-blank cells, which means we need to traverse every cell naively. 21:57:42 so that means a single update, again naively, of a CA with infinite space... never completes. 21:58:03 i mean that's the most naive algorithm 21:58:14 There's no top left of an infinite grid, so you can't start there 21:58:26 but you can easily keep track of a bound on the non-blank region of each timestep 21:58:35 and expand it by the window size on each iteration 21:58:46 If you make it infinite only in one direction then there can be one top left 21:58:50 shachaf: I take the turing machine model. turing originally specified that his tape was left-bounded, right-unbounded. 21:58:59 same applies to a theoretical turing-complete CA 21:59:14 Maybe I missed the first half of the conversation 21:59:23 kmc: right. you could totally do that. but that implies some extra information than _just_ the things you need to simulate the CA. 21:59:45 well if you're saying that queue automata are slightly easier to implement than TMs / CAs 21:59:48 then I guess I agree 21:59:51 but it doesn't seem very important 21:59:54 now you need to keep track of how much of that space you realistically need to cover. 22:00:10 shachaf: were you trying to explain HashLife sometime? 22:00:22 i forgot how it works 22:00:32 Probably? Hashlife is TG 22:00:34 . o O ( he made a hash out of it ) 22:01:02 network automata are essentially CAs (if you see CAs as networks of finite state machines that can read neighboring people's states), but the difference is each cell has a queue (or a pair of queues) sitting between it and its neighboring cells. 22:01:03 *-out 22:01:15 smoke hashlife erryday 22:01:23 I won't explain it on this scow phone keyboard, though 22:01:28 we can say that the distance (or queue length) needs to be unbounded to simulate a TM, so we can make due with a finite amount of cells. 22:03:07 network automata as informally defined above represent a generalization of both queue automata and cellular automata: you can imagine two sliders for queue length and number/topology of cells, and depending on the slider position (say, queue length 1, lattice topology, infinite cells) you either get CAs, or regular queue automata (unbounded queue, single queue, single node). 22:04:03 regular queue automata with just a single queue and a single "processing node"/FSM/cell/whatever hooked up to it are an extreme case. FSMs linked in a lattice or some other topology, i.e a CA, represent another extreme case. 22:05:59 -!- Remavas has joined. 22:06:57 -!- Remavas has quit (Remote host closed the connection). 22:07:24 -!- Remavas has joined. 22:08:01 -!- Remavas has quit (Remote host closed the connection). 22:09:34 -!- Remavas has joined. 22:17:37 -!- Remavas has quit (Read error: Connection reset by peer). 22:18:01 -!- Remavas has joined. 22:31:18 -!- AnotherTest has quit (Ping timeout: 245 seconds). 22:33:25 -!- moei has quit (Quit: Leaving...). 22:39:14 -!- Phantom_Hoover has joined. 22:39:14 -!- Phantom_Hoover has quit (Changing host). 22:39:14 -!- Phantom_Hoover has joined. 22:46:53 kmc: Hashlife is easier to understand with a 1D automaton, I think. 22:48:20 -!- Remavas has quit (Quit: Leaving). 22:48:39 [ 64-2*28 22:48:39 b_jonas: 8 22:49:58 hmm 22:58:12 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:59:37 `? password 22:59:38 The password of the month is eigthy-three characters long but contains no special characters except for a hyphen. 22:59:43 *twitch* 22:59:45 shachaf: oh? 23:11:00 that wasn't me this time, I swear 23:11:13 I set last month's password, not this month's 23:18:58 [ 1{::p. 1 0 _1 _1 23:18:59 b_jonas: _0.877439j0.744862 _0.877439j_0.744862 0.754878 23:22:21 [ 1{::p. _1 _1 0 1 23:22:21 -!- b_jonas has quit (Quit: Reconnecting). 23:22:22 b_jonas: 1.32472 _0.662359j0.56228 _0.662359j_0.56228 23:22:28 -!- b_jonas_ has joined. 23:23:04 -!- b_jonas_ has changed nick to b_jonas. 23:23:09 [ 1{::p. _1 _1 0 1 23:23:10 b_jonas: 1.32472 _0.662359j0.56228 _0.662359j_0.56228 23:25:23 -!- arseniiv_ has joined. 23:25:40 -!- arseniiv has quit (Read error: Connection reset by peer). 23:27:42 kmc: So say you have a 1D automaton, where every tick, every cell updates based on its state and its two neighbors. 23:28:37 You can store a chunk of size 2^n as a complete binary tree, where the left and right children point to chunks of size 2^(n-1) 23:28:52 And you just have 1 and 0 cells for the 2^0 case. 23:30:31 Hashlife calls that a "macro cell". 23:31:17 These things are immutable, so you can make it a graph instead of a tree with sharing. That's the "hash" in "hashlife". 23:32:12 It's called a "macro cell" because it's a bit like a big cell. In particular, it has two neighbors, and its state after one tick depends only on its own state and the state of its two neighbors. 23:33:56 But the nice thing about macro cells is that after a small number of ticks, most of the internal cells don't depend on the state of the neighboring cells, because information can only propagate at the "speed of light". 23:34:10 `? trillion 23:34:11 trillion? ¯\(°​_o)/¯ 23:34:49 So you can compute part of the future of a macro cell in isolation, regardless of its environment. (This is useful because macro cells are shared, so they might exist in multiple environments.) 23:35:08 Does that part make sense? 23:39:03 `? organ 23:39:04 organ? ¯\(°​_o)/¯ 23:39:17 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:42:40 oerjan: uh-oh. 23:43:47 `dowg password 23:43:49 11708:2019-02-03 learn The password of the month is eigthy-three characters long but contains no special characters except for a hyphen. \ 11684:2019-01-01 learn The password of the month is "overreachtorridbittenmandible". \ 11653:2018-12-01 learn The password of the month is "SCALNATUAS". \ 11646:2018-11-01 learn The password of the month is most forgettable. \ 11622:2018-10-02 learn The password of th 23:45:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 23:48:08 int-e: *you should be scared* 23:48:31 (although i fear you haven't even noticed why) 23:48:42 -!- Lord_of_Life has joined. 23:48:52 I haven't noticed why either. 23:48:57 The "." isn't part of the password, is it? 23:49:03 shachaf: ah so it's hash as in hash consing 23:49:08 Yes. 23:49:13 and lazy eval 23:49:30 Well, there's no laziness so far. 23:49:31 at least the idea of in place updates for data that is potentially shared 23:49:34 hm 23:49:48 hmmm 23:49:50 Some more possible variant for Scrabble can be alternate geometry, such as hex or cylinder. Some more possibilities include other kind of multipliers on squares. In addition to letter multipliers and word multipliers, can also have turn multipliers. Also, the multipliers could also be negative and/or fractions. A variation I recommend is memoryless wildcards. 23:49:50 well, go on 23:50:07 Do you like memoryless wildcards variant? 23:50:16 So you can compute some extra data for these nodes and easily compute it for the entire graph. 23:50:28 For example you can put a count on each node which is the sum of the counts of the left and right nodes. 23:50:41 And even if you have 2^100 cells or something you can compute it pretty quickly. 23:50:53 shachaf: well the . isn't what i'm twitching at, anyway 23:51:19 Oh, I see it. 23:51:22 Is it the eigthy? 23:51:42 yep 23:51:55 Maybe that's a clever trick to mitigate against dictionary attacks. 23:52:04 MAYBE 23:52:11 shachaf: count of what? 23:52:21 shachaf: is there a good pseudocode of this algorithm? 23:52:31 kmc: The number of active cells, sorry. 23:52:37 ok 23:52:40 and why does that help? 23:53:02 I guess count doesn't help but the point is that you can annotate these things with extra data based on their children. 23:53:14 zzo38: and another variation is that wildcards can be reclaimed if you spend a turn to replace it with the same letter tile from your hand. plus there's a scrabble-like game that requires a different hardware, 23:53:22 Not sure about pseudocode. I think it's best explained by drawing. 23:53:58 where you can stack a tile over another tile, only the letters written on the top tile on each square must valid words in every segment, and the scoring is changed. 23:54:03 int-e: next month make one of these hth https://news.ycombinator.com/item?id=19003644 23:54:17 b_jonas: Yes, I have read about the variation with reclaiming. You can even combine that with memoryless wildcards 23:54:57 kmc: So if you have a macro-cell, say of size 8, [abcdefgh] 23:54:59 anyone here played bananagrams? 23:55:04 I have hth 23:55:08 it's like scrabble but with no board and also not very much like scrabble 23:55:16 I think writing an AI for it would be pretty hard. I've thought about it some 23:55:30 You can think of uncertainty coming in from the sides tick by tick: 23:55:43 abcdefgh 23:55:47 ?bcdefg? 23:55:48 Unknown command, try @list 23:55:51 ??cdef?? 23:55:53 zzo38: wait, which kind of memoryless wildcard? the one where you can count the wildcard tile as any letter of your choice after each move you make, or the one where in addition you can make it count as different letters horizontally and vertically? 23:55:53 And so on. 23:56:13 zzo38: but yes, reclaiming the joker works better with memoryless joker 23:57:39 b_jonas: The rule I was thinking of (I made up, although others may have made it up independently) is: It has to represent the same letter horizontally and vertically, but you can change what letter it is during your turn as long as it still forms a valid word. If you extend the word, the same letter must be valid in both the old and new words. 23:59:55 zzo38: oh, that's even more restricted than what I thought of 2019-02-04: 00:00:27 OK. What are the exact rules of what you thought? 00:01:09 I thought you'd choose the new letter each wildcard represents simultaneously with placing letters on the board, and valid words are only checked after the whole thing is done 00:01:55 each wildcard on the board that is 00:03:11 O, I forgot to mention, with my rule, you can still change both wildcards simultaneously (so you do not need to remember what letter was originally assigned, which is the point of this rule). 00:03:45 sure 00:12:05 oerjan: I had not noticed... it's definitely not intentional. 00:13:10 huh 00:13:17 shachaf: cute, but not overly impressive 00:13:35 int-e: wait, he hasn't gotten to the end yet 00:13:53 int-e: Sure, there's not too much you can do. 00:14:07 i,i http://bada55.cr.yp.to/ 00:16:39 oerjan: so... is it okay to update the potm to fix a typo? 00:17:50 pooch of the month?! 00:22:48 phase of the moon 00:51:30 int-e: it may have been done previously 00:51:44 `hurl wisdom/password 00:51:45 https://hack.esolangs.org/repo/log/tip/wisdom/password 00:54:40 there have been corrections, although i'm not sure any of them count as typos in the password itself... 00:54:50 -!- arseniiv_ has changed nick to arseniiv. 00:55:42 hm the "more" button no longer works for me 00:55:55 *link 00:56:04 i suppose it's neither 01:31:44 -!- oerjan has quit (Quit: Nite). 01:37:44 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:43:40 -!- b_jonas has quit (Quit: leaving). 01:51:25 -!- sleffy has joined. 01:51:39 -!- sleffy has quit (Remote host closed the connection). 04:00:53 -!- zzo38 has quit (Ping timeout: 245 seconds). 04:59:23 -!- arseniiv has quit (Ping timeout: 246 seconds). 05:19:00 -!- FreeFull has quit. 06:36:44 a queue's no-op operation is not immediately obvious unless your queue automata supports no-op transitions. 07:18:02 -!- Vorpal has joined. 07:18:03 -!- Vorpal has quit (Changing host). 07:18:03 -!- Vorpal has joined. 07:52:54 -!- john_metcalf has quit (Quit: http://corewar.co.uk). 08:12:16 -!- xkapastel has joined. 08:25:40 -!- imode has quit (Ping timeout: 246 seconds). 08:59:53 -!- AnotherTest has joined. 09:17:50 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:18:15 -!- Sgeo_ has joined. 10:20:46 -!- xkapastel has quit (Quit: Connection closed for inactivity). 10:53:26 -!- xkapastel has joined. 11:09:50 -!- Sgeo_ has quit (Read error: Connection reset by peer). 11:10:16 -!- Sgeo_ has joined. 11:44:31 -!- Lord_of_Life_ has joined. 11:47:08 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 11:47:11 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:14:20 -!- Sgeo_ has quit (Read error: Connection reset by peer). 12:14:47 -!- Sgeo_ has joined. 14:43:08 -!- xkapastel has quit (Quit: Connection closed for inactivity). 14:48:47 -!- MDude has quit (Ping timeout: 240 seconds). 15:10:13 -!- MDude has joined. 15:18:41 -!- arseniiv has joined. 15:23:19 -!- oerjan has joined. 15:27:49 -!- Essadon has joined. 15:28:05 -!- Essadon has quit (Max SendQ exceeded). 15:29:27 `slwd password//s=...-=hty-= 15:29:28 password//The password of the month is eighty-three characters long but contains no special characters except for a hyphen. 15:29:57 -!- sleepnap has joined. 15:48:39 -!- sleepnap has quit (Ping timeout: 250 seconds). 16:04:00 -!- sleepnap has joined. 16:04:23 -!- danieljabailey has joined. 16:24:02 -!- b_jonas has joined. 16:24:49 -!- imode has joined. 16:43:23 -!- oerjan has quit (Quit: Later). 17:24:51 [[Special:Log/newusers]] create * FLeckami * New user account 17:30:21 it looks like, in the absence of a 'keep' operation for queue automata, you need to expand the alphabet or 'simulated' alphabet by at least one symbol, one that indicates a 'useless' or 'marker' symbol that you seek to. 18:03:45 -!- xkapastel has joined. 18:40:36 -!- Phantom_Hoover has joined. 18:47:06 suppose that `ary' is an operator that changes the arity of the given function 18:47:31 e.g. `ary 2 f x y' applies f to x and y 18:49:08 can `ary' replace parentheses in all cases? 18:52:13 further, what default behaviours might be useful with this syntax 18:55:14 is f just the standard arithmetic functions? actually how does that work with division then? 19:09:22 -!- arseniiv_ has joined. 19:09:26 -!- arseniiv has quit (Ping timeout: 240 seconds). 19:11:24 -!- sleepnap has quit (Ping timeout: 250 seconds). 19:25:01 -!- sleepnap has joined. 19:56:34 orin: you could probably do that with one of these crazy haskell syntax hacks, but I don't think it's a good idea because it sort of abuses the existing syntax, in the same way as the almost BASIC interpreter where you put the almost BASIC code directly as haskell code with some prelude does 20:02:51 b_jonas: I was more envisioning it as a lisp hack 20:03:10 taking the parentheses out of lisp 20:03:32 replacing them essentially with Hollerith-Expressions 20:13:27 -!- xkapastel has quit (Quit: Connection closed for inactivity). 20:19:44 stupid english i mean it's got a fucking "qu" at the start can we at least pronounce that in a consistent manner? NO APPARENLY NOT, it is pronounces "kyoo" 20:22:07 -!- aloril has quit (Ping timeout: 240 seconds). 20:35:45 orin: "deque" is even worse 21:15:30 . o O ( did you ever run out of memory when playing with a full deque... ) 21:17:13 a few cards short of a full deque 21:23:59 kmc: did you know visual c++'s deque implementation uses 16-byte chunks? 21:24:16 -!- Cale_ has joined. 21:27:58 no 21:28:00 why? cache shit? 21:31:32 -!- b_jonas has quit (Quit: leaving). 21:31:59 -!- FreeFull has joined. 21:37:35 who knows 21:37:58 also did you know p. much all of the c++ stl is scow 21:41:51 yes 21:41:53 I did know that 21:42:23 C++ has a lot of properties (especially exceptions) which make it necessary to heap-allocate when you might not think you should need to 21:42:46 making an exception safe sum type class template is really hard :/ 21:42:51 without allocating 21:43:19 did you know that std::vector resize has to call the copy constructor on every element, then the destructor on every old element 21:43:28 (or if there's a noexcept move constructor it can use that) 21:43:36 in rust the resize is just a memcpy 21:45:14 std::variant went through a LOT of iteration around that 21:46:30 -!- Cale_ has quit (Remote host closed the connection). 21:54:51 Did you know unordered_map/set more or less specifies that hash tables have to use linked lists instead of open addressing? 21:55:24 exceptions are scow, i'm p. sure 21:55:37 and maybe destructors are scow too?? 21:55:43 yeah 21:55:47 re exceptions 21:55:53 destructors are necessary for RAII, which is great 21:55:59 so I think they're a necessary evil 21:56:00 I'm not sure RAII is great. 21:56:05 well you're wrong 21:56:08 change_my_mind.jpg 21:56:14 I mean, I think RAII might be the wrong thing. 21:56:31 A thing that runs some code at the end of a scope is great. But that doesn't mean it needs to be associated with an object. 21:56:33 RAII is defiitely the right thing for a systems language 21:56:43 no it doesn't have to be, but it works out very nicely when it is 21:56:57 it's a variation on "make invalid states impossible to represent" 21:57:10 and often the RAII guards have some value level content 21:57:20 in Rust, the only way to access the contents of a mutex is through a raii lock object 21:57:29 I used to be more pro-RAII than I am now. I'm not sure about it. 21:57:30 plus which, you can use raii with non lexical scope just as well 21:58:16 Also destructors are scow with arenas (?) 21:58:28 And arenas should be used more. But they're kind of scow in Rust. 22:02:08 I'm not sure the objects-with-destructors-composed-of-smaller-objects-with-destructors thing is great anyway 22:02:18 I don't even know how to write good software 22:02:40 Maybe you gotta statically allocate everything 22:06:49 kmc: You know the C++ bug where instead ofe "{ WithLock unused_nam(lock); ... }" you write "{ WithLock(lock); ... }"? 22:06:58 That's a good bug. 22:07:31 yeah 22:07:50 same happens in rust 22:07:59 with either "x.lock();" or "let _ = x.lock();" 22:08:05 but "let _foo = x.lock();" is fine 22:08:15 I believe the compiler will error on the first two 22:08:17 or warn 22:09:01 The RAII lock object is not a real object, it's a control structure. 22:09:17 why shouldn't i think of it as a real object? 22:09:22 it has methods, it has capabilities 22:09:30 whether it has extent in memory is an implementation detail 22:09:45 in rust it's a smart pointer, and smart pointers are definitely objects 22:09:48 I mean, that's the OO thing, thinking about everything as a real object. 22:10:25 What are its methods? 22:10:33 -!- aloril has joined. 22:10:47 In Python you'd write "with lock: ..." or something and it would be pretty clear what's going on, with no object. 22:11:40 Or you'd write "with foo() as x: ..." if you need an object inside the scope to do things with it. 22:13:32 meh, i don't want to talk about this any further at the moment 22:14:26 plausible 22:15:05 I've been trying to figure out better things for a while, it's not just criticism. 22:29:40 -!- xkapastel has joined. 22:31:24 -!- arseniiv_ has changed nick to arseniiv. 22:41:39 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:44:38 -!- AnotherTest has quit (Ping timeout: 246 seconds). 23:47:26 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 23:48:20 -!- Lord_of_Life has joined. 2019-02-05: 00:43:20 -!- sleepnap has left. 01:03:28 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:51:07 -!- arseniiv has quit (Ping timeout: 246 seconds). 02:43:14 * imode thinks.. 02:43:45 (a rare occurrence.) 03:02:34 if your queue automata have states formatted like this: (state, symbol) -> (new state, [enqueue symbol/dequeue]) 03:03:08 without 'keep', you have to add new symbols to your alphabet or new states in order to encode 'keep'. 03:04:12 because you can enqueue a throwaway symbol, swap to a state that seeks to that throwaway symbol, dequeue it and swap to a new state after the desired 'keep' operation. 03:06:21 states for your queue automata still have to be a 5-tuple, too. 03:08:03 (state, symbol, new state, new symbol, enqueue/dequeue). 03:12:36 unless you encode them as seperate instructions... (state, symbol, new state, [enqueue 0/enqueue 1/dequeue]) 03:12:55 that's pretty standard. 03:13:44 how does the automaton find out the result from dequeue 03:13:52 so you'd have (state, symbol, new state, [enqueue 0/enqueue 1/enqueue blank/dequeue]). 03:13:56 hm? 03:14:23 is it the 'new symbol' field 03:14:39 dequeue just throws away the top item in the queue. you already know what the item is because in order to execute the dequeue, you have to look at the top of the queue and your current state. 03:14:49 oh 03:14:57 right 03:16:56 encoding a 'no-op' wouldn't be too terrible either. just roll the queue until you recognize the sequence, enqueue a blank, then seek to the blank, dequeue, and you're back where you were in a new state. 03:17:07 * imode thinks... 03:22:59 -!- FreeFull has quit. 03:25:17 https://ptpb.pw/ON3X/text something like this. 03:26:09 whup, line 11 is wrong. that first lone `1` should be replaced with a B. 04:20:08 * imode thinks... 04:24:07 I'm still pre-occupied with the idea of the most aesthetically pleasing model of computation. I've been oscillating between queue automata and stock turing machines. 04:25:08 both are essentially labeled transition systems with finite states. 04:25:24 and thus can be composed and stitched together fairly easily. 05:15:51 [[Brainfuck implementations]] https://esolangs.org/w/index.php?diff=59708&oldid=58023 * A * (+13) Simplified my implementation 07:54:06 [[Special:Log/upload]] overwrite * Sifoobar * uploaded a new version of "[[File:Snigl logo.png]]" 07:54:55 [[Snigl]] https://esolangs.org/w/index.php?diff=59710&oldid=58475 * Sifoobar * (-48) 09:09:32 -!- imode has quit (Ping timeout: 246 seconds). 09:57:12 oh dear. i am reading a flight booking confirmation and stumble across this diamond: "Special Services: OXYGEN" 09:58:12 myname: as much as possible I like to make sure when I fly I have oxygen 09:59:09 there also is "AIRLINE SUPPLIED OXYGEN - pending" 10:28:13 -!- AnotherTest has joined. 11:05:29 -!- pikhq_ has quit (Ping timeout: 245 seconds). 11:05:39 -!- pikhq has joined. 11:39:07 -!- arseniiv has joined. 11:46:47 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 11:49:36 -!- Lord_of_Life has joined. 12:06:14 "Recommend extensions as you browse"... WTF, Firefox? 12:06:58 This is getting too close to "display relevant ads as you browse". 12:13:01 -!- sebbu2 has joined. 12:16:13 i hate it when software tries to become too smart 12:16:14 -!- sebbu has quit (Ping timeout: 250 seconds). 12:16:50 like, MUAs tend to scan your mails for mentions of attachments and warns you if you don't have any 12:22:46 i used to like that, but then i got to work on debuggers, and warning for 'attach' became much less useful 12:25:14 i hate that almost as much as i hate messengers that make sent code unreadable by automatically converting text into emojis 12:25:43 I've been saved by the attachment feature often enough that I don't particularly mind it. 12:25:56 But it is a borderline case. 12:27:29 you could just re-send it if it really matters 12:27:47 One thing in favor of this feature is that it's not really smart (it's just looking for a fixed set of keywords) and it's not trying to get me to download or buy anything. 12:28:52 that particular symptom is not that bad, yeah, but somehow it ended up being my goto example 12:29:36 i also hate spell checkers 12:29:48 stupid pieces of shit 12:30:11 Maybe more fundamentally, I don't have the impression that it's trying to make decisions on my behalf. This is in stark contrast to... suggesting extensions... ads... search suggestions... etc. 12:57:22 -!- Essadon has joined. 12:57:38 -!- Essadon has quit (Max SendQ exceeded). 13:43:56 -!- LKoen has joined. 13:54:53 [[Analogia]] N https://esolangs.org/w/index.php?oldid=59711 * Ais523 non-admin * (+4983) about time I defined this and put it onto the wiki 13:55:11 [[User:Ais523]] https://esolangs.org/w/index.php?diff=59712&oldid=59359 * Ais523 non-admin * (+14) +[[Analogia]] 13:55:28 [[Language list]] https://esolangs.org/w/index.php?diff=59713&oldid=59525 * Ais523 non-admin * (+15) /* A */ +[[Analogia]] 14:16:07 -!- oerjan has joined. 14:23:10 [[David Madore]] https://esolangs.org/w/index.php?diff=59714&oldid=57645 * B jonas * (+120) 14:52:49 I hate how Slack isn't plaintext 14:53:39 a messenging system designed for real work shouldn't require ``` ``` around code 14:55:15 I've tried discord, slack, and hipchat, and all of them are inferior to IRC 15:01:04 i thought about writing an irssi-like libpurple client to better work with slack 15:05:47 like, i need some meta-tabs, man 15:06:23 i'd love to use slack more often, but i absolutely cannot let it flood me with like a dozen channels per group 15:08:13 or even, why not have a toggle switch between "send this message plaintext" and "replace :pizza: with a picture of the ninja turtles or some shit" 15:10:38 i am more okay with that way of replacing than the way msn/icq/skype/whatever other bastards do that 15:11:31 like, you cannot write i<8 without having an ice cream cone on the receiving end which might yield to something completely different than <8 if he copy&pastes it 15:11:50 slack replaces <3 with heart 15:13:54 then when you copypaste that, you get :heart: 15:14:27 rather than the actual heart emoji 15:19:35 -!- xkapastel has joined. 15:23:49 [[SORTA]] https://esolangs.org/w/index.php?diff=59715&oldid=8568 * B jonas * (+98) 15:28:44 -!- wob_jonas has joined. 15:30:00 orin: oh nice, I haven't seen that yet. I've seen :p and :D getting replaced by smilies, and anything with an @ sign in it getting replaced by (e-mail address obscured for your protection), both of which are great to mess up code. the first one is from mibbit web-irc, the second is from gnu.org's mailing list archives web interface. 15:31:31 oh, and there was that web-based form thing that evaluates a line of J on the server for you, but if the line has a less than sign followed by a letter anywhere, then it gives an error complaining something about how it stopped a cross-site html injectino or something 15:47:00 `? dry 15:47:02 dry? ¯\(°​_o)/¯ 16:19:36 -!- Essadon has joined. 16:26:59 I hate C++ queue::pop 16:27:24 it should be named "drop", since it doesn't return the removed element 16:28:04 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 16:29:16 orin: there's a reason why it doesn't return the removed element, a C++-specific one; and it shouldn't be called drop, pop is fine because it pops just the one topmost element, just like how std::deque::pop_front and std::deque::pop_back pops just the one front or back element resp. 16:29:50 drop would do something with the whole stack, probably drop it to the floor so the elements end up getting all mixed up and you can't reconstruct the original order, like in that IOCCC submission 16:30:38 http://www.ioccc.org/years.html#2001_westley that is 16:31:05 but it doesn't "pop" anything 16:31:11 it drops the removed element 16:31:27 you have to return it for it to be a "pop" 16:31:39 no 16:31:48 it's pop because the top element is removed from the stack 16:32:19 a toaster that ejects the toast with such velocity that you can't catch it still counts as popping the toast, even if you don't get your toast nicely on your plate, but landing on the floor instead 16:32:39 (those toasters might only exist in cartoons, but still) 16:33:14 heck, even with a deck of cards a magician might pop the deck by making the top card fly away to the floor, and not catch it on a sword if that's not required for the trick 16:33:17 it's still popping 16:33:29 C++'s usage of the word "pop" is inconsistent with every other language's native "pop" methods 16:33:54 orin: what every other language, and how many of those methods even existed before early forms of C++ containers? 16:34:54 I use pop in the sense of discarding the top element at https://esolangs.org/wiki/Blindfolded_Arithmetic , but let me try to find a more independent source 16:35:11 well for starters Lisp 16:35:21 where does lisp have a pop method? 16:35:55 http://jtra.cz/stuff/lisp/sclr/pop.html 16:36:00 it has a car function to return the top element, and a cdr function for non-destructively discard the top element 16:36:29 pop works on a cell 16:37:40 ok, that macro in the HUGE cltl library https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node149.html is admittedly possibly older than C++ containers 16:38:00 let me look up TAOCP ch. 2 for how it uses pop 16:39:25 I mean forth uses DROP to mean, remove an element from the stack and discard it 16:39:37 forth is definitely older than C++ 16:39:53 and? it doesn't use "pop" in a different sense, does it? 16:40:01 wob_jonas: the PDP-6 in 1964 had PUSH and POP instructions 16:40:17 where POP specifically transfers a value to a register 16:40:17 j4cbo: ok, now that's a better example 16:40:30 so does 8086 admittedly 16:40:35 and ARM 16:41:00 6502 gets closed but I think the pop instructions are called PL, where does that come from incidentally? 16:41:03 the mnemonic 16:41:20 PULL? 16:41:33 yeah probaby pull 16:42:19 pull? wow 16:42:56 can't be having a four-character instruction name lol 16:42:59 (I'm not sure about the ARM by the way, I don't recall its mnemonics) 16:43:08 orin: sure, but it could be PP or PO or something instead 16:43:19 PH is good enough for push 16:45:51 Actually what they could have done to avoid the entire issue with copy cost and stuff is 16:45:54 Knuth 2.2 is inconclusive, from a quick glance 16:46:21 have queue::pop() be remove an element 16:46:47 and have queue::pop(&x) be remove and store it into x 16:47:12 rather than return 16:48:23 this would be totally consistent with assembly language usage of pop 16:48:54 and also exception safe 16:50:27 orin: http://www.ioccc.org/1991/brnstnd.hint DJB's entry implements a stack-based esolang, the description says "d: drop (pop) top of i stack", as in the command "d" discards the top element 16:50:54 so at least some respectable people use "pop" that way too 16:51:11 respectable people other than whoever made that part of the C++ stdlib that is 16:52:04 the description at https://esolangs.org/wiki/GolfScript also describes a command as "Pop, discard" 16:52:36 [[Analogia]] M https://esolangs.org/w/index.php?diff=59716&oldid=59711 * Oerjan * (+5) Surprisingly not policy 16:53:01 I think "pop" is just used both ways 16:58:43 -!- moei has joined. 17:04:38 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:19:53 The Befunge-93 spec uses "pop" as the name of the $ "discard topmost element of stack" instruction. 17:19:57 So you're in good company. 17:20:06 Granted, personally I've always called that instruction "drop". 17:21:05 (Funge-98 as well.) 17:21:16 (Where "as well" means pop.) 17:22:06 -!- oerjan has quit (Quit: Once you pop, you can't stop). 17:40:20 [[Analogia]] https://esolangs.org/w/index.php?diff=59717&oldid=59716 * Ais523 * (+180) we can have circularity of the term being integrated, but not the term it's integrated with respect to (at least, as long as we want the language to stay deterministic and avoid values that never change because they have no reason to) 17:40:51 -!- imode has joined. 17:44:19 Oh, and many x87 FPU instructions have a "...P" variants that say they "pop" the register stack, meaning discarding the top element. 18:08:36 [[ElemScript]] https://esolangs.org/w/index.php?diff=59718&oldid=59498 * Areallycoolusername * (+357) 18:09:19 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:17:42 -!- b_jonas has joined. 18:29:05 -!- xkapastel has joined. 18:34:38 . o O ( programming is understanding negations. :P ) 18:37:51 -!- Sgeo_ has quit (Read error: Connection reset by peer). 18:38:19 -!- Sgeo_ has joined. 19:10:09 [[Talk:Analogia]] N https://esolangs.org/w/index.php?oldid=59719 * Ais523 * (+583) /* Did I use the right derivative symbol? */ new section 21:04:32 -!- Phantom_Hoover has joined. 21:04:32 -!- Phantom_Hoover has quit (Changing host). 21:04:32 -!- Phantom_Hoover has joined. 21:04:54 [[A1]] https://esolangs.org/w/index.php?diff=59720&oldid=51758 * Orby * (+0) 21:41:25 oh, there's something I could ask here 21:41:58 apparently google is finally starting a site in Hungary with developers. there were plans for this like ten years ago already, but eventually they cancelled it. 21:42:23 fizzie: there are some people on this channel who work in google. can you comment on this thing? 21:43:14 -!- sebbu2 has changed nick to sebbu. 21:43:14 I suspect fizzie cannot comment on this thing. 21:44:20 shachaf: maybe someone else on the channel can 21:44:38 there are, I think, three or four people working at google here, I just don't recall who exactly 21:45:14 I mean, I suspect that people working at Google cannot comment on that kind of thing publicly. 21:45:25 hmm 21:45:37 we'll see 21:51:26 I used to work at google 21:51:43 commenting on things was generally a big no-no 21:51:49 j4cbo: I see 21:51:57 except for the team whose job it is to do so 21:52:16 (commenting on things publicly, that is) 21:53:30 i,i the team whose job it is to do the big no-nos 21:53:47 and that team is the marketing team? 21:55:32 I assume it's teams with names like communications or public relations or investor relations or something. And I guess also marketing, but I doubt they'd talk about offices. 21:56:04 "investor relations"? I'm not an investor, but sure 21:56:07 press, also 21:56:13 I also used to work at Google but I don't really know any specifics about these things other than that they exist. 21:56:26 that's a lot of divisions by the way 21:56:49 I recall being told many times that a reporter asks you to talk about anything, decline to comment and direct them to press@google.com 21:57:00 I see 21:57:02 (I know you’re not a reporter either, but) 22:00:25 b_jonas: You could be an investor if you wanted to. 22:00:58 I have some small amount of exposure to GOOG, I guess, though I don't own any directly. 22:01:49 oh, that's true, I could be an investor indirectly by buying funds backed by the stock market 22:08:41 I think I wouldn't be supposed to comment, if I knew anything, which I don't. 22:08:58 I see 22:09:05 so since you don't know anything, you can comment? 22:09:20 Not knowing anything is in fact a comment. 22:09:27 ok 22:09:43 I guess it's a bit of a comment. 22:10:03 I was probably supposed to say that I can neither confirm nor deny, which would be equally true. 22:10:40 i,i I can neither confirm nor deny, nor not confirm nor deny. 22:11:13 At least one reason why I shouldn't comment is that it would be material nonpublic information, and telling it to anyone could constitute tipping. (I had the occasion to read our insider trading policy recently.) 22:11:36 Hmm, insider trading laws in Europe are pretty different from in the US. 22:11:43 I guess you're probably bound by both. 22:12:21 I've no clue how insider trading laws work at all, anywhere 22:12:37 You gotta read Money Stuff 22:12:39 Probably. The existence of an Insider Trading Policy is public, by the way -- it's section 3 of https://abc.xyz/investor/other/google-code-of-conduct/ 22:13:05 Here are some laws for insider trading: https://www.bloomberg.com/opinion/articles/2018-08-12/the-10-laws-of-insider-trading 22:13:34 Law #1, don't do it, is probably the most important one to know, but the others are pretty relevant too. 22:14:09 "If you didn’t insider trade, don’t forget and accidentally confess to insider trading." 22:14:17 Pretty reasonable. 22:14:25 best thing about leaving google: no more blackout windows 22:15:22 (the existence of which is also public, buried in the above insider trading policy) 22:15:48 Blackout windows are useful when you want to sleep during the daytime. 22:16:06 j4cbo: presumably those can be seen from public streets 22:16:21 wait 22:16:23 The lack of them was the #1 complaint from university visitors in the summertime in Finland. 22:16:25 what does a blackout window mean? 22:16:31 b_jonas: (A blackout window is a time period that you're not allowed to trade Google stock during.) 22:16:44 That is an awkward sentence. 22:16:45 oh 22:16:49 that's different 22:17:06 I guess I mean Alphabet. 22:17:09 in that case they probably can't be seen from public streets, despite that other windows usually can 22:17:34 it’s not a google (or alphabet) specific term 22:20:26 (and other blackouts usually can) 22:39:48 -!- AnotherTest has quit (Ping timeout: 252 seconds). 22:58:33 I was sad about sourcereal going down so I'm rehosting it at http://sour-cereal.com/ 23:01:38 -!- moei has quit (Quit: Leaving...). 23:04:45 shachaf: great! 23:05:10 I should download more valuable websites to potentially be able to do this -- not necessarily host them, but also give the backup to someone else who hosts it 23:05:23 currently I have too few downloaded, and most of them are out of date too 23:05:28 [[User:BradensEsolangs]] https://esolangs.org/w/index.php?diff=59721&oldid=58697 * BradensEsolangs * (+33) 23:05:33 and lots of candidates for what to download 23:05:36 Yes. 23:05:47 I also have a few that I should download and reformat and host or distribute in a saner format 23:06:04 I downloaded someone's website recently after he died. :-( 23:06:14 I'm keeping a copy just in case, because it's full of interesting things. 23:06:26 So far it's still up. 23:17:20 -!- Essadon has quit (Quit: Qutting). 23:32:42 -!- oerjan has joined. 23:42:49 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:47:34 -!- Lord_of_Life_ has joined. 23:49:20 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 23:49:49 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 2019-02-06: 00:05:33 -!- FreeFull has joined. 00:06:42 . o O ( putting a hyphen in sourcereal is a bit scow, but i guess better than nonexistence. ) 00:22:31 oerjan: Yes. 00:22:40 I feel like this is better than going with a .org or something. 00:22:57 If you have a better domain I can use that instead. 00:58:57 -!- b_jonas has quit (Quit: leaving). 01:19:18 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:15:16 -!- nfd9001 has joined. 02:47:19 [[A1]] https://esolangs.org/w/index.php?diff=59722&oldid=59720 * Orby * (+0) /* Examples */ 02:48:32 [[A1]] https://esolangs.org/w/index.php?diff=59723&oldid=59722 * Orby * (-1) /* Examples */ 03:00:12 [[A1]] https://esolangs.org/w/index.php?diff=59724&oldid=59723 * Orby * (+0) /* Instructions */ 03:24:43 kmc: https://www.reddit.com/r/QuantumComputing/comments/anawy4/alpha_testers_needed_for_quantum_computing_for/ 03:25:42 [[A1]] https://esolangs.org/w/index.php?diff=59725&oldid=59724 * Orby * (+131) 03:26:51 [[A1]] https://esolangs.org/w/index.php?diff=59726&oldid=59725 * Orby * (-3) /* See Also */ 03:27:06 [[A1]] https://esolangs.org/w/index.php?diff=59727&oldid=59726 * Orby * (+0) /* See Also */ 03:27:57 [[A1]] https://esolangs.org/w/index.php?diff=59728&oldid=59727 * Orby * (-41) /* See Also */ 03:52:16 skeptical of this so far 03:53:28 `wisdom quantum 03:53:29 That's not wise. 03:53:34 what! 03:54:15 `le/rn quantum leap//A quantum leap is a very small leap. See dragons. 03:54:17 Learned 'quantum leap': A quantum leap is a very small leap. See dragons. 03:56:18 sam has a point 04:02:58 -!- nfd9001 has quit (Ping timeout: 268 seconds). 04:23:13 -!- oerjan has quit (Quit: Nite). 04:31:48 -!- nfd9001 has joined. 04:42:58 -!- nfd9001 has quit (Ping timeout: 245 seconds). 04:46:58 -!- nfd9001 has joined. 05:31:56 [[Talk:Eodermdrome]] https://esolangs.org/w/index.php?diff=59729&oldid=59700 * Salpynx * (+963) /* Computational class / -completeness */ oops, I now see what you mean, thanks for clarifying! 05:58:00 -!- arseniiv has quit (Quit: gone completely :o). 06:34:36 [[Deadfish]] https://esolangs.org/w/index.php?diff=59730&oldid=59585 * A * (+272) /* TeXnicard */ 06:36:15 [[Deadfish]] https://esolangs.org/w/index.php?diff=59731&oldid=59730 * A * (+8) /* This=That */ 06:41:41 -!- moei has joined. 07:07:40 the more edits i see from that A, the more i wish he needed to be here at least once 07:08:01 `wisdom dragons 07:08:02 That's not wise. 07:08:15 i am disappointed 08:59:49 [[Print Function Deluxe]] N https://esolangs.org/w/index.php?oldid=59732 * Cortex * (+1496) Created page with "'''Print Function Deluxe''' is an esolang made by [[User:Cortex|]] designed to have very small code and many useful commands, but the only way to see what it actually did thro..." 09:02:05 -!- imode has quit (Ping timeout: 246 seconds). 09:02:45 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59733&oldid=59679 * Cortex * (+65) 09:12:01 [[Language list]] https://esolangs.org/w/index.php?diff=59734&oldid=59713 * Salpynx * (+22) /* Non-alphabetic */ (Rna) 09:35:18 -!- AnotherTest has joined. 10:07:35 [[]] https://esolangs.org/w/index.php?diff=59735&oldid=59022 * Salpynx * (+216) /* Commands */ fill in missing commands (based on Buslubn, istil formula code) 10:15:41 [[]] https://esolangs.org/w/index.php?diff=59736&oldid=59735 * Salpynx * (+25) /* Commands */ 10:25:53 -!- nfd9001 has quit (Ping timeout: 245 seconds). 11:10:39 -!- wob_jonas has joined. 11:12:40 Taneb invented the fulgurator, an explosive with such destructive power that any military who knew its secret could single-handedly rule the world. Taneb tried to sell the super-weapon to several governments, but the representatives all said no. They called Taneb mad, they laughed at him. 11:13:45 But Taneb would show them, he'd show them all. Even if he had to sell the weapon to the shadiest criminal through the underground, the fulgurator would be produced and its dominance over traditional weapons would rule the world. The government representatives won't be laughing then! 11:14:10 -!- Essadon has joined. 11:14:31 -!- Essadon has quit (Max SendQ exceeded). 11:15:12 myname: meh, A1 one is at least more interesting and partially specified to a higher degree than some of A's other languages. I mean, come on, he's even wrote a page about a brainfuck derivative. 11:15:53 I'm speaking relatively here, mind you. 11:16:15 i didn't mean A1 in particular 11:16:44 ah ok 11:16:58 indeed you didn't specifically mention A1 11:17:15 it just looks like he makes trivial substitutes of anything obscure he can find 11:20:50 certainly, but his edits don't seem significantly different than that of the boring newcomers that the wiki sometimes gets, A just edits in a higher quantity 11:23:41 yeah, he certainly does not lack motivation, but imho he could do much better if he'd get direct feedback from here 11:26:50 `? fulgurator 11:26:51 fulgurator? ¯\(°​_o)/¯ 11:27:21 ``` grep -REi "fu[lr]?gu[rl]" wisdom 11:27:23 No output. 11:27:32 ``` grep -REi "fu[lr]?gu" wisdom 11:27:33 No output. 11:27:35 ``` grep -REi "fu[lr]?g" wisdom 11:27:36 wisdom/fugal:Fugals are fictitious flower parts. \ wisdom/fug:Fug is the opposite of Unfug (german: un-fug). 11:27:55 i like the fug one 11:28:13 if is true, though 11:28:17 *it 11:30:49 my hon. and learned friend fungot, has Taneb invented the fulgurator? 11:30:50 wob_jonas: what is the minister going to the press, and to be in, the hospital in copeland, that the conservatives. he slightly missed to give us the best possible support, compared to a national average of just 1.5 prosecutions per council. 11:31:04 copeland? 11:31:22 1.5 prosecutions per council? 11:31:47 ``` grep -REi "fung" wisdom 11:31:48 wisdom/marmite:Marmite is a hive mind of fungal microorganisms spreading throughout the supermarkets of the Commonwealth. \ wisdom/deewiant:Deewiant is the world expert on Befunge conformance testing. \ wisdom/children:Children are a fungible commodity. \ wisdom/mycology:mycology is a Befunge-98 (also -93 to some extent) testsuite that can be found at https://deewiant.iki.fi/projects/mycology/ \ wisdom/füngöt:Füngöt is the German pronunciation of fungo 11:32:13 ``` grep -REi "fung" wisdom | tail -n+5 11:32:14 wisdom/füngöt:Füngöt is the German pronunciation of fungot. \ wisdom/zzo38:zzo38 is not actually the next version of fungot, much as it may seem. \ wisdom/pietbot:Pietbot is the only thing that can defeat fungot. \ wisdom/prefixes:Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . \ wisdom/fnordcore:Fnordcore is fungot's favorite music genre. \ wisdom/fungot:fungot is our beloved ch 11:32:33 ``` grep -REi "fung" wisdom | tail -n+10 11:32:34 wisdom/fungot:fungot is our beloved channel mascot and voice of reason. \ wisdom/befunge:In the Beginning was Befunge. And Befunge begot Fungot. And Fungot got Taneb. And Taneb tanebvented All the Things. Fnord. \ wisdom/page:The smallest floating-point number is known as pages. Fungot discovered it. \ wisdom/word salad detector:Our only word salad detectors before fungot proposed bright full speed under the mediterranean guadalope a light sauce impertinen 11:33:00 ``` grep -REi "fung" wisdom | tail -n+13 11:33:02 wisdom/word salad detector:Our only word salad detectors before fungot proposed bright full speed under the mediterranean guadalope a light sauce impertinent used the best brains of codeine fragments emerge from the red arrow shark-repellant housewife a smattering and yes I said yes I will Yes. 11:49:33 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 11:51:36 -!- Lord_of_Life has joined. 11:51:44 -!- ais523 has joined. 11:56:45 -!- ais523 has quit (Remote host closed the connection). 11:57:57 -!- ais523 has joined. 11:59:08 hi ais523 12:00:35 ais523: I know very little of ordinary differential equations, probably less than what was required to get the passing grade on the mandatory course on them back lots of years ago. those fundamental theorems about existance and uniqueness and smoothness of ODE solutions, what do they say about the system you can write in Analogia? 12:01:30 also, how are the input and output functions supposed to work? 12:03:04 the way how Analogia allows you to put any variable on the right hand side of the differential operator makes this system real strange, I don't think I can even define what they're supposed to mean 12:03:30 (plus they look incorrect without a parenthesis around those sums, but that's a different matter) 12:08:42 I mean, if they always said dt, that would be nice and simpler 12:15:15 being able to put anything on the RHS is the main advantage that mechanical analog computers have 12:15:29 it's not too hard to understand if you think about it in terms of rates of change 12:15:58 for a given integrator, the sum tells you how fast the value of the integrator changes in response to a change in the differential variable 12:16:32 I don't know how mechanical analog computers worked, and I don't even really like the idea of mechanical analog computers. computers should be electronical. 12:16:38 a mechanical integrator is basically a varying-ratio gear, there's a gear-like system set up between the differential variable and the integrator's value, and the value being integrated sets the ratio 12:17:33 I think viewing Analogia as a differential equation is a bit of a red herring, it's much easier to understand using integrals than derivatives 12:17:48 yeah, but there's the problem that the stuff after the dee can turn back (have a zero derivative) in which case the simple implementation runs into a division by zero 12:18:09 (incidentally, electronic analog computers require dt in all their integrators, but I think you lose a lot of computational power doing that and have to add it back using extra primitives; however, electronic analog computers can easily implement derivatives, which mechanical analog computers can't) 12:18:45 wob_jonas: nah, while the thing after the d isn't changing, the value of the integrator doesn't change either, and when it's running backwards, the integrator runs backwards 12:19:40 hmm 12:19:43 think of it like a definite integral, integral(0 to 2)(y dx) is basically saying "x changes from 0 to 2"; so if x changes from 0 to 2 and back to 0 there's no real conceptual problem, you'll end up back where you started unless y also changes in an asymmetrical way 12:27:10 but you have a whole system of multiple equations that influence each other 12:27:14 in crazy ways 12:27:27 but it's all continuous, this is the whole reason analog computers work 12:28:19 changing the value of an integrator never affect anything /right now/ apart from integrators that it's the differential of (which is why Analogia requires no cycles in the differential term) 12:28:25 that is... what you hope. maybe it is, but I don't know those theorems properly. 12:28:28 all it does is change the rate of change, which is something that only affects the future, not the present 12:29:14 so I guess you can think of Analogia as a really complex machine for changing its own future evolution 12:29:20 they guarantee that they work in an open environment of 0 for certain conditions. I don't know what the conditions are, there's like a dozen different versions of the theorem 12:29:22 but any given present state is easy to understand 12:29:53 if you stop thinking about it as a system of differential equations the language is much simpler (although solving the differential equations is probably the easiest way to bring a program into "closed form") 12:30:50 I don't need a closed form, and certainly those usually don't exist except for some very special programs 12:31:19 well, an optimizer would likely try to closed-form as much as possible 12:31:57 e.g. integrating x+x dx means that the output of the integrator will be the square of the input of the integrator, you'd want to optimize that into just using x² directly 12:32:03 sure, and a programmer will write interesting programs, not simple linear ones where all the dee variables are t 12:33:02 hmm 12:33:23 maybe the functions can't even turn back, at least for 0 uhm 12:34:43 has anyone seen elliott in the past few years? 12:41:57 heh, https://hackage.haskell.org/package/prettyprinter-1.2.0.1/docs/Data-Text-Prettyprint-Doc.html#t:Pretty has a cute law. 12:47:03 I'm amused at the instance for Pretty Void 12:47:38 which I think only exists so that empty containers of Voids are treated as having an appropriate type to be prettified 12:48:17 oh it says that it's pretty absurd. 12:48:43 (ignoring special characters: 'instance Pretty Void where pretty = absurd') 12:49:11 I did wonder why there's no instance Pretty Doc. 12:50:08 (I had an auxiliary function of type Pretty p => [p] -> Doc and tried feeding it a list of Docs) 12:50:09 hmm, how useful are Void-producing monad actions? 12:50:44 they may still have an effect in a monad transformer 12:51:05 (ignoring laziness that means that Void values actually exist) 12:55:01 So perhaps not so useful in Haskell; you can document the intent that subsequent actions will never be performed, but it's not enforced. 12:55:22 :t System.Exit.exitSuccess 12:55:23 IO a 12:55:30 ... right. 12:56:03 (you can think of that as having "absurd" already built in) 13:06:03 oh, so it's similar to ! in Rust, which makes sense 13:06:22 monads give sequencing so "nothing ever happens after this in sequence" is a useful thing to be able to say 13:20:09 [[Csub]] N https://esolangs.org/w/index.php?oldid=59737 * A * (+210) Created page with "[[Csub]] is a "subset" of C. ==Syntax== ==Implementation== [https://github.com/Btup/C-Subset Official compiler to C] ==Turing-completeness== [[Category:Turing-complete]] Cat..." 13:22:45 [[Csub]] https://esolangs.org/w/index.php?diff=59738&oldid=59737 * A * (+250) 13:23:15 [[Csub]] https://esolangs.org/w/index.php?diff=59739&oldid=59738 * A * (+640) 13:24:41 [[Csub]] https://esolangs.org/w/index.php?diff=59740&oldid=59739 * A * (+100) /* Syntax */ 13:25:16 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 13:28:54 [[Csub]] https://esolangs.org/w/index.php?diff=59741&oldid=59740 * A * (+167) /* Turing-completeness */ 13:29:07 [[Csub]] https://esolangs.org/w/index.php?diff=59742&oldid=59741 * A * (+0) /* Hello, world! Program */ 13:30:22 [[Csub]] https://esolangs.org/w/index.php?diff=59743&oldid=59742 * A * (+25) 13:31:44 [[Csub]] https://esolangs.org/w/index.php?diff=59744&oldid=59743 * A * (+73) 13:38:16 -!- wob_jonas has joined. 13:44:06 wait, is that the github profile of A or does he just link to other peoples languages? 14:08:43 [[Csub]] https://esolangs.org/w/index.php?diff=59745&oldid=59744 * A * (-336) 14:09:47 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 15:19:26 -!- ais523 has quit (Ping timeout: 240 seconds). 15:51:47 -!- xkapastel has joined. 16:01:29 [[Special:Log/newusers]] create * Superiumentarius * New user account 16:21:20 -!- arseniiv has joined. 16:33:04 I should really learn how to properly touchtype 16:35:25 https://upload.wikimedia.org/wikipedia/commons/b/bb/First_Image_from_Mariner_4_-_GPN-2003-00060.jpg 16:35:53 ^ employee of Nasa hand-decoding image from Mars 17:34:12 `" 17:34:13 246) * Received a CTCP VERSION from nyuszika7h * VERSION Microsoft IRC# 2011 64-bit (Windows 8 Beta, x64, 2GB RAM) Gregor: Windows 8 Beta? o_O A small benefit of my brief time as an intern at MS. \ 114) Oh I get it you guys just use this space to do nothing ? 17:46:56 -!- LKoen has joined. 17:51:52 -!- LKoen has quit (Remote host closed the connection). 18:01:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:12:27 -!- xkapastel has joined. 18:23:41 -!- Phantom_Hoover has joined. 18:23:41 -!- Phantom_Hoover has quit (Changing host). 18:23:41 -!- Phantom_Hoover has joined. 18:50:42 -!- LKoen has joined. 19:32:47 -!- LKoen has quit (Remote host closed the connection). 19:52:50 -!- imode has joined. 20:21:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 20:26:23 -!- xkapastel has joined. 21:03:25 -!- b_jonas has joined. 21:06:23 [[User:BradensEsolangs]] https://esolangs.org/w/index.php?diff=59746&oldid=59721 * BradensEsolangs * (+107) 22:00:21 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59747&oldid=59524 * Cortex * (+28) /* Languages I made */ 22:01:25 [[Language list]] https://esolangs.org/w/index.php?diff=59748&oldid=59734 * Cortex * (+28) 22:06:08 Is there a language that makes generating code the primary thing, rather than a special case like a preprocessor? 22:06:23 It seems like quite a lot of code would be better generated than handwritten, if a language made it convenient. 22:06:52 Also most metaprogramming mechanisms people use, like CPP and C++ templates and so on, are quite bad. 22:07:28 C++ templates are ridiculously bad for what people use them for. 22:08:37 (Except for the relatively limited original use. Maybe.) 22:11:57 lisp? 22:12:19 everyone knows C++ is a hot mess 22:14:23 shachaf: anyway metaprogramming is bad, fexprs are the future 22:14:24 right? 22:15:48 Maybe? 22:15:56 Lisp doesn't really have a notion of compile-time 22:16:17 Or does it? I don't know. I want a language for C-level things. 22:16:27 fexprs is one of those awful things i never understand why people care bout, like shen and wisp 22:17:02 -!- john_metcalf has joined. 22:17:30 i think they're neat and wrote a long blog post about them http://mainisusuallyafunction.blogspot.com/2012/04/scheme-without-special-forms.html 22:17:36 but they probably aren't practical 22:17:58 Most metaprogramming schemes are victims of the esolang disease. 22:18:14 Someone adds some feature, like C++ templates or Haskell type classes, or whatever, for a pretty limited purpose. 22:18:35 Then people start using them for other purposes, because metaprogramming is TG, even though the particular mechanism is a pretty bad one. 22:18:57 So then language designers see people use the mechanism for these things, and extend it in all sorts of ways that make it moderately easier to do things. 22:19:09 shachaf: the problem is that it's hard to design a good one 22:19:13 But it's all quite a bad system for achieving the end goal, compared to a regular programming language. 22:19:18 the rust guys are still trying, but still 22:19:25 it's just hard to make it work well 22:19:31 i used to have so much fun writing scheme 22:19:48 It can be a lot of fun writing in these accidental esolangs. 22:19:52 But it's not actually good. 22:20:01 (I mean, Scheme is less in this category than a lot of other things, probably.) 22:20:22 I was also considering trying to make an esolang that's just meta-programming all the way down, as in, the main effect your program does is make another program of the same language but at a lower level, and all the levels are equivalent and there's one for every rational number or something 22:20:28 but I couldn't yet figure out how to do it well 22:20:43 I have ideas but they don't really work 22:20:51 oh wow that code is really elegant, i like qoppa quite a lot 22:22:16 what if it's not eso but actually useful though 22:22:18 thanks rain1 22:22:21 offtopic? 22:22:54 it is fun how the bootstrap code is like an evolution from qoppa to scheme 22:23:38 maybe it should have an esolangs wiki page 22:24:47 kmc: Hmm, maybe this operative thing is similar to the block thing I've been trying to figure out. 22:25:17 block thing? 22:25:42 [[Special:Log/newusers]] create * Kmc * New user account 22:25:54 I think I'll make one 22:27:34 maybe it's not quite an esolang but i think it's in the same general spirit 22:27:37 it is a tarpit of sorts 22:28:06 is "lambda tarpit" a thing 22:28:11 I declare it to be a thing 22:29:26 haha 22:29:32 unlambda is the king there then 22:29:42 and maybe combinator ones too 22:29:44 and blc 22:29:44 b_jonas: I think I discussed it before. 22:29:48 theres a few that fit in that set 22:30:02 shachaf: probably. this channel had a lot of things going on. 22:30:04 Something like, what should a {} block be, as a pseudo-first-class thing. 22:30:21 The "argument" to if/for/etc. 22:30:24 uh, that really depends on the language 22:30:35 One answer is that those things are just macros. 22:30:43 But I thought there would be a nicer answer. 22:30:55 I know what a block is in underload and consumer society, and what it is in postscript, 22:31:23 in some languages (like perl) they're more or less anonymous closure bodies 22:31:45 which is how you define functions in perl that take a block, although they don't quite work the same as the built-in stuff that takes a block, but still 22:31:53 you can define a control structure like if 22:31:55 This is for a language with, let's say, no runtime notion of closure. 22:32:01 and if you take the condition in a block, you can also define a while 22:32:05 It's supposed to compile to efficient code. 22:32:28 Also the primary use was supposed to be things that take "the rest of the block" as an argument, which I think I've discussed here before. 22:32:34 shachaf: they still work if they're closures that are only allowed to capture the stack frame as a reference 22:32:37 and can't be leaked 22:32:39 shachaf: did you know there are multiple implementations of qoppa https://github.com/timfel/qoppy 22:32:44 those compile to efficient code 22:32:49 well, more efficient than normal anyway 22:33:06 smalltalk and ruby take the closure thing even further than perl of course 22:33:10 b_jonas: Yes, but I want it to compile to efficient code, not things with indirect jumps and whatever. 22:33:46 Also I don't know many languages that have closures implemented in terms of a stack frame pointer. 22:33:49 Only D. 22:33:49 shachaf: there are no indirect jumps in this. there might be dereferences though, which is bad. 22:33:55 wow, it ended up in an ACM published paper?? https://www.researchgate.net/publication/306013530_Multi-level_Debugging_for_Interpreter_Developers 22:33:58 rofl 22:34:01 life is funny 22:34:05 no indirect jumps because the closure type is known exactly 22:34:13 What do you mean? 22:34:21 Is while/if/whatever inlined? 22:34:36 um... when or where? 22:34:47 you mean like in smalltalk or ruby? 22:35:01 Wherever you said there are no indirect jumps. 22:35:04 perl and ruby actually has built-in if and while statements that don't actually work with a closure 22:35:15 shachaf: oh, that's always true if you put this in a strongly typed compiled language 22:35:24 Because "if" etc. is inlined? 22:35:26 Or what? 22:35:43 oh, you mean the if function itself 22:35:46 yes, that would have to be inlined 22:35:59 but it would be because I assume a strongly typed language, and if would be a generic 22:36:03 like a C++ template or rust generic 22:36:12 so it must be instantiated for the specific closure type 22:36:19 in which case it will certainly be inlined 22:36:21 The other thing is that you might have a thing take a block as an argument and change its scope. 22:36:52 If you have something like "using namespace foo { ... }", things inside the block would implicitly have name resolution in foo::. 22:36:59 That's certainly a compile-time thing, not a closure. 22:37:08 yeah, perl does that 22:37:43 when it compiles code, each part of the code that needs it remembers the active package, the enabled warnings, and certain pragmas, from compile time 22:38:03 the relevant values either modify compilation, or are tracked somewhere in the compiled code so that the runtime can access it 22:38:18 the active package is needed when you access a global variable or sub by name without qualification 22:38:41 so if $foo isn't a local and you reference $foo, then it will mean $foo in the active package, which is fixed at compile time for any mention of $foo 22:41:20 I don't think Perl's separation between compiletime and runtime is as clear as I'd like, though maybe I can still get some ideas from it. 22:41:29 it's definitely not clear 22:41:40 you can run any runtime code at compile time, or compile anything at runtime 22:41:46 nested to any number of levels 22:41:53 -!- LKoen has joined. 22:45:01 -!- AnotherTest has quit (Ping timeout: 250 seconds). 22:55:24 -!- oerjan has joined. 22:56:26 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59749&oldid=59501 * Kmc * (+187) 22:56:36 [[Qoppa]] N https://esolangs.org/w/index.php?oldid=59750 * Kmc * (+1121) Create page 23:09:47 namspace template 23:10:12 I do think templated namespaces would be reasonable in C++ 23:10:21 template namespace N { ... } 23:10:21 declared like namespace foo { .... 23:10:39 or something 23:11:37 shachaf: they would be useful in my current project since I need to be able to easily compile the same stuff with two different backends 23:12:06 use cpp hth 23:12:19 yeah I'm using a #define but still 23:12:46 wouldn't it be more ceeplusplussy to use templates? 23:13:15 but more ceeplusplussy is more badder 23:17:49 oh 23:21:35 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:29:27 shachaf's wrong 23:29:30 templates all the way 23:29:50 it depends on the details of course 23:30:44 SFINAE all the way 23:30:51 i,i sfinmk 23:48:04 hahaha 23:48:39 -!- Lord_of_Life_ has joined. 23:51:17 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 23:51:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:51:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 2019-02-07: 00:08:41 -!- b_jonas has quit (Quit: leaving). 00:23:38 -!- xkapastel has joined. 00:44:48 -!- oerjan has quit (Quit: Oh for... tmux is broken again). 00:45:34 -!- oerjan has joined. 00:50:53 `slwd quantum leap//s,dragons,dragon, 00:50:55 quantum leap//A quantum leap is a very small leap. See dragon. 00:51:02 myname: try again hth 00:51:33 maybe `wisdom should strip plural endings, although it feels a bridge too far. 00:52:01 `? dragon 00:52:04 Dragons are fractal creatures of magic, capable of shrinking or expanding to any size. Taneb invented them to live inside his string diagrams, but they prefer to hover around pinheads and feed on angels. 00:52:22 I thought spiders live inside string diagrams. 01:02:10 i guess they jumped into the open niche left by the dragons, then 01:02:58 https://pbs.twimg.com/media/DqGpNl9X4AAZaSR.jpg:large 01:13:21 -!- Cullran has joined. 01:13:22 -!- Cullran has left. 02:11:31 deques are just rebadged tapes. 02:32:28 [[Deadfish]] https://esolangs.org/w/index.php?diff=59751&oldid=59731 * Oerjan * (+71) /* This=That */ Fix fatal bug 02:43:03 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 03:08:24 -!- ingrens has joined. 03:08:25 -!- ingrens has left. 03:11:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:20:55 -!- arseniiv_ has joined. 03:24:22 -!- arseniiv has quit (Ping timeout: 246 seconds). 03:24:45 -!- arseniiv has joined. 03:24:45 -!- arseniiv_ has quit (Read error: Connection reset by peer). 03:35:54 -!- FreeFull has quit. 03:39:26 -!- ghalnuls has joined. 03:39:27 -!- ghalnuls has left. 03:41:49 -!- oerjan has quit (Quit: Nite). 03:46:26 -!- yaewa has joined. 03:47:33 -!- moei has quit (Ping timeout: 245 seconds). 04:19:49 "(before you freak out, monadic here is of the Mathematics definition, and not the Haskell variant ) 04:19:49 " 04:23:21 hi Sgeo_ 04:23:28 Hi kmc 04:23:32 Reading an APL tutorial 04:23:59 ah, so they mean arity 1 04:29:39 I tried to learn J a few times, I think most of the knowledge left my head. But apparently APL doesn't support J's pointfree stuff? 04:31:43 hi 04:31:50 i should learn APL 05:14:53 Sgeo_: just read https://code.jsoftware.com/wiki/Essays/Incunabulum hth 05:19:00 Instead of reading APL stuff, I am now reading J stuff again 05:48:00 -!- imode has quit (Ping timeout: 272 seconds). 05:59:26 -!- imode has joined. 06:14:26 -!- Sgeo_ has quit (Read error: Connection reset by peer). 06:14:52 -!- Sgeo_ has joined. 06:21:05 Sgeo_: I think Dyalog supports a lot of the tacit/pointsfree things 06:22:28 but historially APL hasn't (I think IPSA's APL introduced them in the 90s, and it carried over into J 06:48:25 Hmm, http://terralang.org/ might be similar to the kind of thing I was talking about. 06:49:26 Though not really the same 07:10:29 -!- Essadon has joined. 07:13:42 -!- john_metcalf has quit (Quit: http://corewar.co.uk). 07:35:01 -!- imode has quit (Ping timeout: 268 seconds). 07:44:13 -!- arseniiv has quit (Ping timeout: 245 seconds). 08:10:19 -!- sftp has quit (Ping timeout: 250 seconds). 08:37:08 -!- tromp has joined. 08:49:25 -!- AnotherTest has joined. 08:53:51 -!- sftp has joined. 09:13:09 I remember when I tried to learn APL 09:13:29 I find a tutorial that began "Plug in your telephone to your typewriter and dial the number for your computer" 09:13:44 Decided I should maybe try something a little more modern 09:23:44 aww 09:24:25 I like that AVX512 introduced some opcodes on bits that distinctly remind me of 60s APL 09:25:33 I couldn't figure out how to plug in my smartphone into my mechanical typewriter 09:27:29 that would be an insanely awesome piece of tech for someone to hack up, though 09:27:33 -!- LKoen has joined. 09:29:34 A tad above my ability :( 09:36:11 -!- tromp has quit (Remote host closed the connection). 09:49:56 -!- tromp has joined. 10:07:09 -!- wob_jonas has joined. 10:07:36 `pbflist https://pbfcomics.com/comics/scorchy/ 10:07:37 pbflist https://pbfcomics.com/comics/scorchy/: shachaf Sgeo quintopia ion b_jonas Cale 10:10:33 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190206.html 10:10:34 bobadventureslist http://bobadventures.comicgenesis.com/d/20190206.html: b_jonas 10:11:46 also, either that comic is unrealistic or I grew up with a lie. I told that when a ladder breaks, you get two ten-foot poles. 10:12:10 If it breaks badly you get two five-foot ladders 10:13:31 yeah, that's the problem here 11:48:30 -!- Lord_of_Life_ has joined. 11:51:33 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 11:51:33 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:20:56 -!- AnotherTest has quit (Ping timeout: 240 seconds). 12:27:44 this is what happens when you use a ladder as a bridge 12:39:55 `learn A ladder is just a vertical bridge. 12:39:57 Learned 'ladder': A ladder is just a vertical bridge. 12:47:59 fizzie: it's a bit more complicated than that. a ladder is a bridge that goes *up*. if it goes down, then we call it a snake instead of a ladder. 12:50:52 `? snake 12:50:53 snake? ¯\(°​_o)/¯ 12:50:54 `? bridge 12:50:56 bridge? ¯\(°​_o)/¯ 12:50:56 `? sneak 12:50:57 sneak? ¯\(°​_o)/¯ 12:51:07 `? serpent 12:51:08 serpent? ¯\(°​_o)/¯ 12:55:32 -!- xkapastel has joined. 13:01:12 -!- danieljabailey has quit (Ping timeout: 272 seconds). 13:06:31 `slwd ladder//s/vertical bridge/directed & in the positive orientation/ 13:06:33 ladder//A ladder is just a directed vertical bridge in the positive orientation. 13:41:06 [[Csub]] https://esolangs.org/w/index.php?diff=59752&oldid=59745 * A * (+178) 13:51:00 [[Csub]] https://esolangs.org/w/index.php?diff=59753&oldid=59752 * A * (+1380) /* Example programs */ 14:03:42 [[Csub]] https://esolangs.org/w/index.php?diff=59754&oldid=59753 * A * (+346) /* DIV(division) function */ 14:11:36 [[Csub]] https://esolangs.org/w/index.php?diff=59755&oldid=59754 * A * (+446) /* Example programs */ 14:11:46 [[Csub]] https://esolangs.org/w/index.php?diff=59756&oldid=59755 * A * (+1) /* =Fibonacci sequence */ 14:21:09 [[Csub]] https://esolangs.org/w/index.php?diff=59757&oldid=59756 * A * (+840) /* Fibonacci sequence */ 14:24:57 [[Csub]] https://esolangs.org/w/index.php?diff=59758&oldid=59757 * A * (+289) /* 99 bottles of beer */ 15:22:23 -!- oerjan has joined. 15:25:14 "(before you freak out, monadic here is of the Mathematics definition, and not the Haskell variant ) <-- how amortized 15:25:29 * oerjan couldn't think of the actual word he wanted hth hth 15:25:44 but something about poor deluded fools 15:25:49 argh 15:25:50 oerjan: did you turn off the thing that means you need to say hth twice to say it once 15:26:02 no, but i forget it doesn't trigger on /me 15:26:19 *forgot 15:26:27 I see 15:26:33 tdh 15:26:45 oerjan: J has a lot of unique terminology, different from earlier APLs. the normal term is "unary". 15:27:06 IJ went out of his way to find obscure words 15:27:41 RH may have taken some part, but I think it was mostly KI 15:27:44 s/IJ/KI 15:27:45 wob_jonas: I thought APL used the monadic/dyadic thing? 15:27:52 Taneb: I don't know 15:27:52 As in, those names 15:28:11 I know that APL calls "operators" what J calls "verbs" 15:28:20 let me check some other APL manuals 15:28:22 Although I guess KI was around for APL too 15:28:52 KI invented APL and J 15:30:36 hmm, you may be right 15:32:02 you're right 15:32:13 APL has been using "monadic" and "dyadic" for a long time 15:32:16 I was plain wrong 15:32:30 that's not one of the terms KI has invented specifically for J 15:32:54 also I think the correct initials are KEI 15:37:07 and I'm wrong about "operator" too. APL calls "functions" what J calls "verbs" 16:05:26 fizzie: i don't think wob_jonas was entirely serious about the snakes hth 16:05:43 oerjan: it's a log entry 16:05:45 um 16:05:46 wisdom entry 16:05:47 sorry 16:05:53 I have qwertyal aphasia 16:06:58 are you suggesting wisdom entries are not supposed to be accurate tdnh 16:07:52 also i'm pretty sure it's possible to descend ladders, at least if you don't look down first. 16:07:55 accurate doesn't have to do with this. we're talking about serious vs frivolous (whatever that latter one is spelleD)\ 16:08:21 remarkably, i think that spelling's correct 16:27:20 APL also uses monad/dyad terminolgy 16:28:07 the terms that are new in J are mainly the linguistically inspired ones I think 16:29:08 and if he went for that originally, the *-adic terms might've been valency (univalent etc) instead, I think 16:29:32 Univalent foundations to J theory 16:29:47 yeah: https://en.m.wikipedia.org/wiki/Valency_(linguistics) 16:34:42 the modern common terminolgy is a bit of a mix of origins anyway: you typically say unary, but also variadic 16:34:51 at least in programming.. 16:40:27 -!- arseniiv has joined. 16:44:39 -!- xkapastel has quit (Quit: Connection closed for inactivity). 16:50:35 -!- AnotherTest has joined. 16:53:11 -!- imode has joined. 16:56:06 -!- sebbu has quit (Ping timeout: 250 seconds). 16:59:43 -!- sebbu has joined. 17:10:26 -!- tromp has quit (Remote host closed the connection). 17:20:35 -!- tromp has joined. 17:32:28 -!- oerjan has quit (Quit: Later). 17:33:41 but what about a möbius ladder twh 17:33:50 Wait, I was scrolled up 17:47:56 shachaf: you mean from that Escher picture with the ants? 17:50:52 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 18:13:31 -!- LKoen has quit (Remote host closed the connection). 18:24:11 deque automata are really just turing machines under a different projection. it looks like you can map the operations of a turing machine _directly_ onto that of a deque automaton. 18:25:49 my reasoning: a regular queue automaton is just a right-moving circular TM tape. a deque automaton is thus a queue automaton that can move in either direction with a circular tape. 18:26:30 Taneb: how offline are you right now? 18:27:19 -!- xkapastel has joined. 18:28:52 izabera: not so 18:54:18 -!- LKoen has joined. 19:18:17 -!- b_jonas has joined. 19:19:41 wtf, the xkcd Randal published another book? what's this with every webcomic author publishing books other than comic books? (qwantz and smbc are previous examples) 19:20:34 yeah, authors publishing books, bleh, what an idea 19:20:48 -!- FreeFull has joined. 19:22:42 more strangely, https://xkcd.com/how-to/ uses a bad map projection 20:10:40 what's with it is $$$ 20:10:48 besides, the comic has sucked for a long time 20:11:13 i used to be very much a member of the xkcd haters club 20:11:21 but now it's not everywhere all the time so i just don't care either way 20:11:41 sounds like you're more a member of the xkcd fan club haters club 20:11:48 well i guess 20:11:53 the fandom is always worse than the work 20:12:02 i'm p. sympathetic to that, it's a scow fan club 20:12:07 whether it's xkcd, rick and morty, nietzsche, jesus 20:12:45 tho i don't think R&M is that good of a show either 20:12:53 you know the kind of person who always links to xkcd every time someone talks about sql injection or whatever 20:12:56 but maybe if I would watch more I would like it 20:13:05 that is a scow behavior 20:13:10 yeah 20:13:44 I liked rick and morty way less after watching venture bros 20:14:43 shachaf: I do keep linking to webcomics, but not about SQL injection in particular 20:15:17 I mean, linking to webcomics is fine. 20:15:27 how about linking to SMSM? 20:15:42 or to Ozy and Millie? 20:15:44 I don't know SMSM 20:15:59 Which reminds me 20:16:00 I sometimes do that, but not always, because I don't have a transcript for either of them, and it's hard to find the right strip 20:16:07 https://stickman.qntm.org/index.php 20:16:12 `smlist 493 20:16:13 smlist 493: shachaf monqy elliott mnoqy Cale 20:16:33 it's just people who always try to tie any possible topic to xkcd just because it was brought up once that's annoying 20:16:46 `smlist 492 20:16:47 smlist 492: shachaf monqy elliott mnoqy Cale 20:16:56 shachaf: I see 21:14:55 -!- danieljabailey has joined. 21:29:14 -!- arseniiv has quit (Read error: Connection reset by peer). 21:29:32 -!- arseniiv has joined. 21:59:04 -!- ^vandall^ has joined. 22:00:15 -!- ^vandall^ has left. 22:07:37 -!- ^vandall^1 has joined. 22:07:53 -!- ^vandall^1 has left. 22:11:42 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:57:00 -!- Sgeo__ has joined. 22:59:56 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 23:08:44 -!- ^vandall^1 has joined. 23:09:21 -!- ^vandall^1 has left. 23:10:21 -!- ^vandall^ has joined. 23:13:18 -!- ^vandall^ has left. 23:20:26 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:24:29 -!- b_jonas has quit (Quit: leaving). 23:32:38 -!- MDude has quit (Ping timeout: 272 seconds). 23:41:40 -!- MDude has joined. 23:43:48 -!- Essadon has quit (Quit: Qutting). 23:48:25 -!- Lord_of_Life_ has joined. 23:51:12 -!- MDude has quit (Ping timeout: 268 seconds). 23:51:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 23:51:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 2019-02-08: 00:02:25 -!- oerjan has joined. 00:03:02 -!- MDude has joined. 00:48:19 `5 w 00:48:22 1/2:flabberghast//Flabberghast is the recurring hunting one gets after too indulgent feast where one partook too liberaly \ chicken//Chicken have capital words. boily leaves them. \ rainbow//Rainbows are spectral creatures said to be powered by the Daystar. \ degenerate//Degenerate things are those that have been featured on the Ellen DeGeneres Show. The subjects of this sui degeneris program include spaghoti sauce, talking spheres of zero volume, 00:48:23 `n 00:48:23 2/2:and watches without mustard. \ amiga//Amiga is Spanish for a female friend. 00:58:28 `slwd chicken//s;leaves them;used to leave them, then he left; 00:58:30 chicken//Chicken have capital words. boily used to leave them, then he left. 00:59:15 `dowg flabberghast 00:59:17 10050:2016-12-31 learn Flabberghast is the recurring hunting one gets after too indulgent feast where one partook too liberaly 00:59:39 is this a reference i don't get 01:02:47 `learn The flabberghast is the most confusing type of undead. 01:02:49 Relearned 'flabberghast': The flabberghast is the most confusing type of undead. 01:08:32 @tell imode A deque automaton viewed that way is more efficient than a turing machine: it can easily insert new cells between cells. 01:08:33 Consider it noted. 01:10:09 @tell imode (or delete) 01:10:10 Consider it noted. 01:12:17 the fandom is always worse than the work <-- . o O ( there has to be an exception to that somewhere. ) 01:12:48 . o O ( that thought bubble was a bit redundant ) 01:14:29 perhaps very obscure works with very tiny fandoms 01:18:45 perhaps sourcereal 01:21:53 . o O ( . o O ( are we thinking thoughts? ) ) 01:22:36 are thought bubbles a monad? 01:22:52 in the mathematical sense, not the APL sense hth 01:24:15 thinking of thinking a thought is not the same as thinking a thought 01:24:29 hth 01:24:34 also simpsons did it 01:24:35 a list of lists of things is not the same as a list of things hth 01:24:47 what about dreams? can you collapse nested dreams? 01:25:19 unicode has both THOUGHT BUBBLEs and a THOUGHT BALLOON 01:25:45 do you ever have imaginary conversation with people 01:26:07 if so, do you sometimes inform those people that they aren't the real person but only the imaginary person create for the purposes of conversation 01:26:10 i do hth 01:27:18 a) yes but b) no 01:27:21 maybe I should 01:27:24 how do they usually react? 01:27:33 depends on the person 01:27:39 how would i react? 01:27:41 [[Brainfuck minus -]] https://esolangs.org/w/index.php?diff=59759&oldid=57020 * Oerjan * (+32) Add See also to similar language 01:27:43 it can be difficult to keep the simulation running in the face of absurdity 01:28:06 I think if I told you, you'd pretty much shrug it off 01:28:23 Because I wouldn't believe you? 01:28:35 Because I'm just an offshrugger in general? 01:28:40 the latter 01:29:07 i mean it doesn't actually give you any information even if i'm telling the truth 01:29:11 because what is being real, etc 01:29:21 it might tip you off that the simulation is of poor quality 01:29:25 [[Brainfuck--]] https://esolangs.org/w/index.php?diff=59760&oldid=54922 * Oerjan * (+22) Add See also to Brainfuck minus - and fix sections case 01:30:01 I mean, I might not have a coherent definition of real but I still have a sense for it. 01:30:15 "i know it when i see it" 01:30:31 shachaf: it fells more like a modality than a functor to me... so the question is whether it's transitive (◇◇P ⟹ ◇P, usually written ◻P ⟹ ◻◻P) 01:30:39 *feels* 01:30:50 Are modalities not monadic? 01:31:01 shachaf: I used to have a problem where I would often argue with people in my head, and they'd be more of a jerk in my head than in actuality, and then i'd be mad at that person for absolutely no actual reason 01:31:02 I mean, it might be a functor in some sense, but not in an internal sense. 01:31:07 i don't think it happens much anymore? 01:31:18 kmc: https://www.youtube.com/watch?v=Cs2y6O6N9Ks 01:31:44 shachaf: I'm not someone to shoehorn everything into a categorical setting. 01:32:00 it is a categorical imperative 01:32:27 ouch 01:32:35 shachaf: that show is tg 01:32:46 yes 01:32:49 have you watched it all 01:33:00 I may have been in some Places of late, because how you meant that is not how I read it. 01:33:00 i don't think so 01:33:14 Weren't you asking for shows to watch the other day? 01:33:21 probably 01:33:24 imo start with the known-tg ones 01:33:24 i didn't think of this one tho 01:33:27 but now i have :) 01:33:59 pikhq: hikhq 01:34:14 hichaf 01:34:31 in addition to nested dreams i have also had nested sex fantasies 01:34:48 the effort required to maintain that makes it somewhat hard to enjoy 01:34:55 sounds a little wholesome 01:35:00 yeah 01:35:46 Quite. 01:37:31 https://pdfs.semanticscholar.org/24f1/b508d93c7b06f2af713b14078c8b25b90586.pdf is ontopic for both modal logic and wholesomeness 01:37:45 ("A non-judgmental reconstruction of drunken logic") 01:39:29 that reminds me, I clicked "Random page" a few times on the esolang wiki and came across https://esolangs.org/wiki/PUBERTY 01:39:40 which is definitely wholesome 01:40:30 shachaf: sounds like a SIGBOVIK paper 01:40:42 ah yes 01:40:55 Yep. 01:41:00 "As Bovik has famously noted in [2], nowhere outside of undergraduate lectures are scholars are more prone to sweeping generalizations than at the bar." 01:41:29 has a SIGBOVIK paper ever been cited by a "serious" paper? 01:42:34 I think so, though I don't remember the specific case. 01:42:42 Maybe an NP-completeness proof or something? 01:58:22 [[Csub]] https://esolangs.org/w/index.php?diff=59761&oldid=59758 * A * (+672) /* Implementing other operators */ 01:59:02 [[Csub]] https://esolangs.org/w/index.php?diff=59762&oldid=59761 * A * (+59) /* Syntax */ 02:22:29 [[Csub]] https://esolangs.org/w/index.php?diff=59763&oldid=59762 * A * (+1) /* =continue */ 02:23:42 [[Csub]] https://esolangs.org/w/index.php?diff=59764&oldid=59763 * A * (+111) /* Syntax */ 02:33:00 that 256 core brainfuck machine has me thinking. 02:34:40 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:35:00 oerjan: just got your message... that's interesting, actually. making me think. 02:37:09 a deque automata is equivalent, at that point, to a TM with an "insert" operation to create new tape cells. 02:37:22 -!- FreeFull has quit. 03:30:36 [[Csub]] https://esolangs.org/w/index.php?diff=59765&oldid=59764 * A * (+33) /* continue */ 03:50:14 [[Csub]] https://esolangs.org/w/index.php?diff=59766&oldid=59765 * A * (-5) /* Syntax */ 03:51:17 [[Csub]] https://esolangs.org/w/index.php?diff=59767&oldid=59766 * A * (+0) /* Example programs */ 03:54:18 [[Csub]] https://esolangs.org/w/index.php?diff=59768&oldid=59767 * A * (+1) /* Implementing other operators */ 04:05:17 [[Csub]] https://esolangs.org/w/index.php?diff=59769&oldid=59768 * A * (-18) 04:05:33 [[Csub]] https://esolangs.org/w/index.php?diff=59770&oldid=59769 * A * (-84) /* Syntax */ 04:14:50 [[WII2D]] N https://esolangs.org/w/index.php?oldid=59771 * Cortex * (+1331) Created page with "'''WII2D''' is a 2D esolang created by [[User:Cortex|]]. Its name stands for "'''W'''hy '''I'''s '''I'''t '''2D'''?" It was clearly inspired by [[Befunge]]. It is probably eve..." 04:15:00 [[WII2D]] https://esolangs.org/w/index.php?diff=59772&oldid=59771 * Cortex * (-6) /* Hello, World! */ 04:24:19 [[Csub]] https://esolangs.org/w/index.php?diff=59773&oldid=59770 * A * (+13) /* Syntax */ 04:24:32 [[Csub]] https://esolangs.org/w/index.php?diff=59774&oldid=59773 * A * (+4) /* 99 bottles of beer */ 04:24:44 [[Csub]] https://esolangs.org/w/index.php?diff=59775&oldid=59774 * A * (+3) /* NOT function */ 04:25:42 [[Csub]] https://esolangs.org/w/index.php?diff=59776&oldid=59775 * A * (+3) /* Turing-completeness */ 05:16:59 -!- Sgeo_ has joined. 05:20:03 -!- Sgeo__ has quit (Ping timeout: 245 seconds). 05:25:21 -!- oerjan has quit (Quit: Nite). 05:47:50 -!- moei has joined. 05:49:07 -!- yaewa has quit (Ping timeout: 240 seconds). 07:28:09 -!- tromp has quit (Remote host closed the connection). 07:36:37 -!- arseniiv has quit (Ping timeout: 246 seconds). 08:02:30 -!- tromp has joined. 08:06:01 -!- xkapastel has joined. 08:06:58 -!- tromp has quit (Ping timeout: 250 seconds). 08:08:16 -!- imode has quit (Ping timeout: 250 seconds). 08:11:37 -!- atslash has quit (Quit: This computer has gone to sleep). 08:17:40 -!- atslash has joined. 08:43:45 -!- nfd9001 has joined. 08:44:59 -!- tromp has joined. 08:49:08 -!- tromp has quit (Ping timeout: 244 seconds). 09:34:46 -!- AnotherTest has joined. 09:54:21 -!- tromp has joined. 09:58:48 -!- tromp has quit (Ping timeout: 245 seconds). 10:25:42 -!- xkapastel has quit (Quit: Connection closed for inactivity). 10:38:18 -!- Essadon has joined. 10:38:55 -!- Essadon has quit (Max SendQ exceeded). 11:11:08 -!- Essadon has joined. 11:23:21 -!- tromp has joined. 11:27:45 -!- tromp has quit (Ping timeout: 244 seconds). 11:52:05 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 11:53:46 -!- Lord_of_Life has joined. 12:00:40 -!- tromp has joined. 13:32:52 -!- john_metcalf has joined. 14:48:46 -!- tromp has quit (Remote host closed the connection). 14:50:56 -!- tromp has joined. 14:52:04 -!- john_metcalf has quit (Quit: http://corewar.co.uk). 15:28:18 -!- wob_jonas has joined. 15:34:10 http://shinh.skr.jp/elvm/8cc.js.html 15:52:19 -!- oerjan has joined. 16:42:05 -!- atslash has quit (Quit: This computer has gone to sleep). 16:51:57 -!- xkapastel has joined. 16:53:27 -!- arseniiv has joined. 17:09:46 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:14:07 -!- imode has joined. 17:25:45 -!- oerjan has quit (Quit: Later). 17:56:10 [[Special:Log/newusers]] create * Amcgregor * New user account 18:10:40 -!- b_jonas has joined. 18:25:54 [[User:BradensEsolangs]] https://esolangs.org/w/index.php?diff=59777&oldid=59746 * BradensEsolangs * (-14) Tested and fixed code 18:28:52 [[User:BradensEsolangs]] https://esolangs.org/w/index.php?diff=59778&oldid=59777 * BradensEsolangs * (-9) 18:34:35 whoever mentioned the idea of a space that you couldn't encode TC computations in, thanks. that idea about circular tapes and not being able to go "back" led me to some interesting results about ring networks. 18:40:51 [[Talk:Silly Emplosions]] https://esolangs.org/w/index.php?diff=59779&oldid=45843 * BradensEsolangs * (+149) 18:48:17 -!- FreeFull has joined. 19:01:32 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:38:37 imode: go on? 19:42:21 kmc: just about how ring networks are really nice when dealing with network partitions because they represent the simplest case. the 256-core brainfuck chip used an on-chip ring network. 19:43:46 if a single node in a network faults, you don't end up with a partition, you end up with a smaller ring. if your faults then just occur on the edges of that ring, your ring just shrinks. partitions, however, result in multiple sub-rings and can "mesh" together again when the links between those sub-rings are restored. 19:52:46 can you define "ring network"? 19:53:03 sure, a network of nodes arranged in a ring topology. 20:08:32 if one node faults 20:08:37 wouldn't you have a line and not a smaller ring? 20:08:41 is it a self healing ring 20:08:51 i'm confused 20:09:01 yeah, a self-healing ring. 20:09:14 because between two nodes, there's a bidirectional communication link. 20:09:40 so instead of a node forwarding communications to its successive neighbors, it just echoes it back to the neighbor it can reach. 21:43:46 -!- atslash has joined. 21:53:30 -!- atslash has quit (Quit: This computer has gone to sleep). 22:04:59 -!- Remavas has joined. 22:11:26 `? macron 22:11:27 ​Ā macron is what you put ōver ā long vowel in order to mark it as ā long vowel. Macrons will bēcome mandatory in English on Octōber 14, 2016. 22:11:28 `? brevis 22:11:29 brevis? ¯\(°​_o)/¯ 22:11:30 `? breve 22:11:31 breve? ¯\(°​_o)/¯ 22:13:39 ``` perl -pi -e "s/will\b/have/;print STDERR $_" wisdom/macron 22:13:40 bash 22:13:47 huh 22:13:50 `? macron 22:13:51 ​Ā macron is what you put ōver ā long vowel in order to mark it as ā long vowel. Macrons have bēcome mandatory in English on Octōber 14, 2016. 22:14:11 oh right, double quote, not single quote 22:14:15 duh 22:23:57 . o O ( 1̅4̅ ) 22:24:21 the macrons seem to be in the wrong places in that sentence though 22:24:51 int-e: nah, on digits you put overbars, meaning negation or complement or something, not macrons 22:24:54 totally different thing 22:25:58 b_jonas: I was thinking about claiming that the '1' is pronounced 'teen' :P 22:37:51 uh 23:11:26 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:40:31 -!- oerjan has joined. 23:48:36 @metar ENVA 23:48:38 ENVA 082320Z 12009KT CAVOK M01/M03 Q0988 RMK WIND 670FT 11012KT 23:48:50 how reasonable. 23:49:42 -!- Lord_of_Life_ has joined. 23:52:56 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 23:52:56 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 2019-02-09: 00:19:13 -!- arseniiv has quit (Ping timeout: 245 seconds). 00:22:25 -!- tromp has quit (Remote host closed the connection). 00:56:49 -!- tromp has joined. 01:03:41 -!- tromp has quit (Ping timeout: 246 seconds). 01:09:19 -!- b_jonas has quit (Quit: leaving). 01:17:34 -!- Remavas has quit (Remote host closed the connection). 01:24:00 -!- Essadon has quit (Quit: Qutting). 01:42:34 -!- Sgeo__ has joined. 01:45:36 -!- Sgeo_ has quit (Ping timeout: 250 seconds). 01:51:42 -!- tromp has joined. 01:56:18 -!- tromp has quit (Ping timeout: 268 seconds). 02:19:49 on-chip ring networks of processors could actually be really, really nice. if you use a space-filling curve, you could compact a bunch of nodes in a very small space. 02:20:44 you'd need one that loops, though. 02:20:50 maybe a moore curve. 02:41:54 -!- zzo38 has joined. 02:45:59 -!- tromp has joined. 02:46:11 -!- Remavas has joined. 02:51:04 -!- tromp has quit (Ping timeout: 272 seconds). 03:11:58 -!- zzo38 has quit (Ping timeout: 272 seconds). 03:31:46 -!- zzo38 has joined. 03:36:04 -!- zzo38 has quit (Ping timeout: 246 seconds). 03:39:50 -!- tromp has joined. 03:44:50 -!- tromp has quit (Ping timeout: 268 seconds). 03:51:03 -!- Remavas has quit (Quit: Leaving). 04:00:05 -!- FreeFull has quit (Quit: rebooting). 04:00:53 -!- FreeFull has joined. 04:01:02 -!- nfd9001 has quit (Read error: Connection reset by peer). 04:41:57 -!- zzo38 has joined. 04:42:14 -!- FreeFull has quit. 04:48:26 -!- zzo38 has quit (Ping timeout: 240 seconds). 04:56:17 [[Vague]] N https://esolangs.org/w/index.php?oldid=59780 * Cortex * (+596) Created page with "'''Vague''' is an esolang. == Commands == {| class="wikitable" |- ! Character !! What it does |- | + || Add |- | - || Decrement |- | !..." 04:56:37 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59781&oldid=59747 * Cortex * (+12) 04:57:53 [[Joke language list]] https://esolangs.org/w/index.php?diff=59782&oldid=59459 * Cortex * (+28) 05:28:02 -!- tromp has joined. 05:32:16 -!- tromp has quit (Ping timeout: 246 seconds). 05:43:32 -!- arseniiv has joined. 05:47:23 -!- zzo38 has joined. 05:59:47 -!- oerjan has quit (Quit: Nite). 06:44:18 [[Thue-Mirr]] N https://esolangs.org/w/index.php?oldid=59783 * Zzo38 * (+545) Created page with "[[Category:Languages]][[Category:2019]] Thue-Mirr is a 2D programming language with the following commands: * \ / - Mirrors * x - Output X coordinate of til..." 06:58:08 [[Thue-Mirr]] https://esolangs.org/w/index.php?diff=59784&oldid=59783 * Zzo38 * (+57) 07:16:10 -!- tromp has joined. 07:20:27 -!- tromp has quit (Ping timeout: 240 seconds). 07:44:43 -!- imode has quit (Ping timeout: 268 seconds). 08:07:04 -!- tromp has joined. 08:21:53 -!- nfd9001 has joined. 11:18:57 -!- AnotherTest has joined. 11:25:17 Maybe the sequel of XYZABCDE.ZZT game can be made as a text adventure game instead; I don't know? 11:25:36 I haven't tried XYZABCDE 11:26:06 http://zzo38computer.org/ZZT/xyzabcde.zip 11:26:49 Yes, that one. If you have ZZT in your computer then you can try to play game. 11:28:17 And maybe also a sequel may be a different operetta too (I think someone on this IRC suggested something like that, maybe) 11:53:26 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 11:54:19 -!- Lord_of_Life has joined. 11:57:26 -!- xkapastel has joined. 12:11:37 -!- AnotherTest has quit (Ping timeout: 244 seconds). 12:37:51 -!- atslash has joined. 12:56:07 -!- b_jonas has joined. 13:50:37 I'd like a book like Warren's Hacker's Delight, only updated to more modern to tell about how to do things well on actual modern cpus and the kind of vector instructions they have 13:51:20 Knuth doesn't fill that hole, probably because the specifics are moving too quickly and may have to be rewritten every eight years. 14:03:03 -!- FreeFull has joined. 14:07:10 -!- xkapastel has quit (Quit: Connection closed for inactivity). 14:57:17 -!- atslash has quit (Quit: Leaving). 15:45:38 -!- Essadon has joined. 17:34:08 -!- feeb has joined. 17:38:20 How to do best might depend what kind of instruction set; x86 is difference from ARM, and ARM is difference from RISC-V, and so on. 17:38:29 -!- AnotherTest has joined. 18:10:30 b_jonas: yeah, that's a cool book 18:19:40 -!- zzo38 has quit (Ping timeout: 250 seconds). 18:21:18 zzo38: [who left] indeed 18:21:26 that's a good reason to use compiler intrinsics for bitops 18:21:43 it will either have some arch-specific trick, or a pretty good generic impl 18:21:53 x86 and ARM have some fancy bit ops 18:22:01 whereas RISC-V is very simple 18:22:49 kmc: the mill is where it's at hth 18:22:55 you should watch the mill videos 18:23:05 it has xor, or, and, logical and arithmetic shifts 18:23:07 and that's about it 18:23:32 no negation (I suppose you xor with 0xFFFF...FFFF) 18:24:38 RISC-V also has no condition flags. there are instructions to branch on the contents of a register, and comparisons which set a register to 0/1 18:24:55 i suppose this makes out of order execution easier. no need to track the flags register as another implicit dependency 18:31:04 -!- zzo38 has joined. 18:34:11 zzo38: it certainly depends a bit, but we still need good books on it 18:34:32 I mean, different instruction sets applies to the actual Warren book and Knuth too, but they're still very useful 18:40:17 zzo38: Do you like the multiple OR and multiple XOR instructions? 18:40:56 shachaf: I think the MOR and MXOR instructions in MMIX is good. 18:43:47 (Although MOR seems to be generally more useful than MXOR, but MXOR can be useful too sometimes.) 18:47:42 Such as you can swap endian (including PDP-endian). 18:55:47 how do those work? 18:57:13 -!- imode has joined. 18:58:10 kmc: http://mmix.cs.hm.edu/doc/instructions-en.html#MOR 19:05:31 -!- zzo38 has quit (Ping timeout: 268 seconds). 19:12:11 -!- zzo38 has joined. 19:28:07 [[Bitwise Trance]] N https://esolangs.org/w/index.php?oldid=59785 * Hakerh400 * (+6077) Added Bitwise Trance 19:28:59 anybody an idea for a good thesis topic about zkp? 19:30:24 [[Language list]] https://esolangs.org/w/index.php?diff=59786&oldid=59748 * Hakerh400 * (+21) Added "Bitwise Trance" to the language list 19:38:26 -!- arseniiv has quit (Ping timeout: 246 seconds). 19:38:55 [[Bitwise Trance]] M https://esolangs.org/w/index.php?diff=59787&oldid=59785 * Hakerh400 * (+0) /* First example */ 19:39:49 [[Bitwise Trance]] M https://esolangs.org/w/index.php?diff=59788&oldid=59787 * Hakerh400 * (+6) /* First example */ 20:23:02 -!- xkapastel has joined. 20:41:06 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 21:35:35 -!- Cale has quit (Ping timeout: 250 seconds). 21:48:45 -!- Cale has joined. 21:59:09 how often do spaceships occur at random in game of life 22:03:33 -!- Remavas has joined. 22:10:59 Starting from an empty board, 0% of the time 22:11:02 I don't know. Did you try implementing it to see how often (approximately)? 22:12:04 I didn't implement it 22:25:39 -!- Remavas has changed nick to Remavas[AFK]. 22:27:55 -!- Remavas[AFK] has changed nick to Remavas. 22:28:19 -!- Remavas has quit (Read error: Connection reset by peer). 22:29:29 -!- Remavas has joined. 22:42:19 -!- Remavas has quit (Read error: Connection reset by peer). 22:43:13 -!- Remavas has joined. 22:44:07 -!- Remavas has changed nick to Remavas[AFK]. 22:52:26 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:42:37 is a turing machine without states still turing complete? i.e instead of (state, symbol, newstate, newsymbol, direction), you have (symbol, newsymbol, direction)? doesn't seem like it would be. 23:53:54 I would call that a single state TM. And as you suspect, those are not TC; the halting problem is decidable for single state TMs. 23:59:30 -!- tromp has quit (Remote host closed the connection). 2019-02-10: 00:01:07 figured as much. iirc two states with some fenangling makes you TC. 00:01:27 thaaaaanks~ 00:01:37 yeah, two states and sufficiently many symbols... hmm 00:01:39 right, but see ais523's language https://esolangs.org/wiki/StackFlow for when you have multiple tapes, and you choose which one to read from in the next step in each step 00:02:05 huh. that's interesting. 00:02:37 * imode wonders if a two-tape one-state TM could be TC... 00:02:41 -!- xkapastel has quit (Quit: Connection closed for inactivity). 00:02:55 ais523 is involved in https://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine :P 00:03:10 naively you could store your current state in that alternate tape. 00:03:24 wait really? lmao. 00:03:31 imode: in that case you can certainly use one tape to store the state of an ordinary TM. 00:03:41 `? ais523 00:03:42 Agent “Iä” Smith is an alien with a strange allergy to avian body covering, which he is trying to retroactively prevent from ever evolving. On the 3rd of March, he's lawful good. 00:03:52 useful information. 00:04:09 it's more useful than you may think... the "Smith" is accurate. 00:05:12 that two-tape one-state idea has me thinking about rewrite languages and CAs now.. 00:05:43 I can think of a good reason to have two active stacks for coroutines/asynchronous code. Is there ever a reason to have more than two? 00:06:12 hmm... define "active" 00:06:41 I mean something like, you pass two stack pointers to procedures in two registers, and it's part of the calling convention or something. 00:06:51 It's not really a precise word. 00:07:00 you could use one tape as a buffer to hold the CA state along with markers around the start end end of the state... and you could swap between them based on whether or not you read the marker. 00:07:16 if you have coroutines more than two of those may be involved in any particular computation and they may each want to do their own recursive stuff 00:07:41 Right, that's the kind of thing I was trying to avoid with the vague word "active". 00:08:13 It seems like the compiler/calling only ever has to know about two stacks, and the switching between them would be done in user code or something. 00:08:14 generator ( | transducer )* | consumer 00:08:39 "If you read X from tape A, write Y to tape B, move head A right.", "If you read X from tape B, write Y to tape A, move head B right." 00:08:46 Also does anyone actually implement coroutines using two stacks? 00:09:09 I tend to prefer cooperative multitasking and use state machines. 00:09:33 I'm talking about cooperative multitasking, and about ways of expressing these state machines nicely. 00:09:51 Well, they're not finite state machines, because there's a stack. But you could bound the size of the stack and prohibit recursion. 00:10:02 shachaf: why *two*? 00:10:33 Well, the usual implementation technique for coroutines involves only one stack. Right? 00:10:34 each coroutine should have its own stack, in principle... 00:10:42 And then the context switch switches to a new stack. 00:11:01 I don't know why you want to use two. 00:11:16 But then various things are stored in the coroutine stack that could just go on the main stack because they never yield. 00:11:42 Which means you get a lot of unnecessary cache misses, and also the stacks need to be bigger for no real reason. 00:12:30 You also get things like https://marcan.st/2017/12/debugging-an-evil-go-runtime-bug/ 00:12:49 Well if you like, Haskell does that... the "main" stack is almost exclusively for FFI; all the coroutine stacks are managed on the heap. 00:13:10 Yes, but if you're using Haskell you've already given up on performance. 00:13:51 No, not really. I've given up a factor of 3-10, depending on what I'm doing. Less when working with big integers. 00:14:15 If you think about the "optimal" way of writing an asynchronous task, it probably involves giving the task some fixed-size block of memory, and doing regular computation in the regular stack. 00:14:57 I want to approach something like that but with nicer code. 00:15:21 I've been trying to work on a small-scale network of automata that can communicate. 00:16:00 cooperative multitasking with round-robin scheduling is pretty much my go-to. instead of trying to cram code into an automata framework, I'd rather just use automata. 00:16:33 Automata can be awkward to write. 00:16:51 true, but so can assembly. 00:17:10 the difference is that automata are composable. state tables can be arbitrarily wired up. 00:17:33 That's why I want something which is neither automata nor assembly. 00:17:44 you can build simple machines from smaller state tables. 00:17:51 and then more complex machines from those simple machines. 00:18:32 So compile to state machines. I suspect that this is something people actually do in this context (for tightly coupled coroutines. not threads.) 00:18:58 exactly my thought. I'm planning on not breaking that thread of modeling, though. LSL from Second Life does some similar stuff. 00:19:19 meaning, every script is a state machine with some internal stuff. you have to model things in terms of states. 00:20:59 shachaf: I actually think that the principle of the Haskell analogy is sound, that is, to manage a coroutine local stack on a heap, possibly as a linked list. In many cases where you care about performance this will degenerate into doing a single allocation of a block that stores all the state for the whole lifetime of the coroutine invocation. 00:22:25 Sure, the thing GHC does is more or less reasonable at a high level. 00:22:27 To my mind the stack switching approach is mainly attractive because it doesn't require much (if any) compiler support. 00:22:44 If you had compiler support and also cared about performance, what would you do? 00:23:18 I think the answer would look a lot like having two stacks. Though maybe you should care about performance even more, prohibit recursion, and statically bound the size of the stack. 00:25:23 https://www.youtube.com/watch?v=j9tlJAqMV7U was inspiring in this context. 00:25:46 That's the new C++ thing? 00:26:09 yes, but it's more about the power of static analysis 00:26:20 I think that might be in the right direction though I haven't looked at the details. 00:26:42 LLVM has a coroutine thing that looked reasonable at a high level though the details might've been a bit weird. I don't remember anymore. 00:33:13 -!- tromp has joined. 00:34:44 Oh he gives a lot of talks. https://www.youtube.com/watch?v=_fu0gx-xseY may be the one that I actually watched? I don't recall precisely. 00:35:25 I can't watch a talk right now but I'll look later. 00:35:36 Is there a spoiler for why the overhead is negative? 00:37:28 -!- tromp has quit (Ping timeout: 246 seconds). 00:37:41 My vague idea was that the compiler gets more information from statically analysing the coroutines than it did from analysing a hand-written state machine. And it did its own state-machine, while preserving the improved static analysis information. 00:39:07 And I didn't think that the talk fully explained it. It does make for an amazing punchline though. ("We wrote high-level code, and the compiled result was better than our hand-optimized low-level (but still C++) code.") 00:40:46 As far as I recall, this falls into the category where the coroutines are tightly coupled, and only need finite state. 00:42:49 I was kind of wondering whether this kind of thing can be implemented well as a pretty straightforward macro, but I think the answer is no, you want compiler support to do it well. 00:43:57 In this one collection of language ideas I've been trying to figure out, stack memory allocation for variables is explicit, alloca-style. 00:44:06 shachaf: yeah, just "a pretty straightforward macro" is where all the downwards spirals to crazy preprocessing magic starts with 00:44:28 b_jonas: well, that's not straightforward anymore, is it hth 00:44:35 . o O ( just a simple recursively defined template ) 00:44:58 Something like "x := Var(int)", where x is a (const) pointer to a stack-allocated memory location. 00:45:11 Or "x := Var(0)" or whatever 00:46:45 But a thing like that isn't enough. 00:48:03 -!- oerjan has joined. 00:49:21 http://www.afjarvis.staff.shef.ac.uk/sudoku/sudoku2.cc features a template static inline void search(); 00:50:02 Which inspired the "just a simple recursively defined template" thought. 00:50:12 2005, so long ago... 00:50:30 I wish C++ had a way to pass an argument either at compile-time or at runtime. 00:51:19 For some reason C++ people love to do complicated recursive things with templates. 00:51:25 Rather than just, y'know, a for loop 00:52:43 -!- tromp has joined. 00:53:20 Well that particular thing generates up to 81 nested for loops. 00:53:53 But I'm not sure I would do it quite that way anymore. Probably not :) 00:54:37 i,i,i for (int i = 0; i < 81; i++) { printf("for (int i%d = 0; i%d < k; i%d++) {\n", i, i, i); } 00:54:56 right. 00:56:20 What language is good at doing things like that? Plus isn't lisp. 00:56:45 I'd happily use Haskell to generate C code. 00:56:58 I mean something slightly nicer than string generation. 00:57:10 More like quasiquoting, I guess? 00:57:20 quasiquoting but not lisp? i don't know any 00:57:23 But statically typed with a reasonable idea of eventually generating a compiled program. 00:57:33 i suppose metaocaml 00:57:38 -!- tromp has quit (Ping timeout: 268 seconds). 00:59:37 http://hackage.haskell.org/package/inline-c maybe? 01:00:01 Also it's the same language as the language you're generating code for. 01:00:35 -!- xkapastel has joined. 01:01:48 Template Haskell isn't all that bad. But it would defeat the purpose of generating nested loops for sudoku enumeration in the first place, which was performance. :P 01:02:10 counterpoint: template haskell is all that bad 01:02:18 http://hackage.haskell.org/package/haskell-src-meta 01:02:22 even ignoring performance 01:03:14 whatever 01:03:53 -!- Essadon has quit (Quit: Qutting). 01:04:01 true 01:04:40 Have you used the fancy variadic templates in C++11? 01:33:04 I guess more widespread coroutines might be useful for other uses. 01:33:28 Possibly nicer than using callbacks for a lot of things? 01:33:45 Say, a function that wants to request more memory from the caller mid-execution. Do people do things like that? 01:36:21 -!- Remavas[AFK] has changed nick to Remavas. 01:48:13 -!- Remavas has quit (Quit: Leaving). 01:51:14 shachaf: either it just returns an error telling how much memory it needs, like snprintf, or it calls an allocator callback 01:51:40 oh, you're asking about coroutine 01:51:44 um 01:52:11 -!- b_jonas has quit (Quit: leaving). 02:23:26 -!- tromp has joined. 02:27:33 -!- tromp has quit (Ping timeout: 245 seconds). 03:10:18 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:13:04 -!- tromp has joined. 03:15:38 a generalized version of finite automata would have transitions labeled with try/assett statements. 03:15:59 s/assett/assert 03:16:17 that sounds like a kind of scow generalization tdnh 03:16:32 scow? :P 03:16:42 ..boat? 03:17:17 -!- tromp has quit (Ping timeout: 246 seconds). 03:18:32 lemme elaborate: any given entry for a state table would look like `in if then and go to ` 03:18:59 I actually think someone's come up with that... abstract state machines or something. 03:27:51 -!- biscayne has joined. 03:34:42 -!- biscayne has left. 03:38:23 [[Bitwise Trance]] https://esolangs.org/w/index.php?diff=59789&oldid=59788 * Zzo38 * (-9) 03:49:40 I thought of one chess variant can be Thue-Morse chess, similar to Marseillais chess but you don't always get a extra turn. 03:49:49 (I don't know how well it is work) 03:50:30 Did you play this kind of chess? 04:12:44 [[Deadfish]] https://esolangs.org/w/index.php?diff=59790&oldid=59751 * Zzo38 * (-6) Colon include syntax in glasm 04:23:28 -!- FreeFull has quit. 04:49:11 https://esolangs.org/wiki/Vague <-- i think Cortex may be parodying certain other users... 04:50:15 oerjan: oh man, this is tg 05:00:56 -!- tromp has joined. 05:05:28 -!- tromp has quit (Ping timeout: 245 seconds). 05:09:27 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59791&oldid=59782 * Oerjan * (+0) abcelmrs 05:16:53 [[Hurgusburgus]] M https://esolangs.org/w/index.php?diff=59792&oldid=58667 * BradensEsolangs * (-197) It's really a deque, I will continue tomorrow, don't touch 05:44:44 -!- ashirase_ has joined. 05:49:08 int-e: Watching the video now. Compared to this std::future lambda code, sure, I can see that coroutines would be faster. 05:49:31 Oh, he's writing it as a state machine, never mind. 05:55:43 -!- tromp has joined. 06:00:05 -!- tromp has quit (Ping timeout: 244 seconds). 06:20:08 int-e: I bet if you were comparing to C code rather than C++ code it would go the other way. 06:21:29 -!- oerjan has quit (Quit: Nite). 07:22:14 -!- tromp has joined. 07:26:36 -!- tromp has quit (Ping timeout: 250 seconds). 07:30:38 -!- liuqingyao has joined. 07:36:19 -!- liuqingyao has quit. 08:05:54 -!- tromp has joined. 09:18:24 -!- heroux has quit (Ping timeout: 250 seconds). 09:19:13 -!- heroux has joined. 09:23:01 -!- tromp has quit (Remote host closed the connection). 09:40:50 -!- arseniiv has joined. 09:43:56 -!- tromp has joined. 09:48:34 -!- Arsal has joined. 10:02:05 -!- Arsal1 has joined. 10:04:37 -!- ashirase_ has quit (Ping timeout: 268 seconds). 10:05:28 -!- Arsal has quit (Ping timeout: 245 seconds). 10:13:27 -!- ashirase has joined. 10:23:56 -!- Arsal1 has quit (Quit: Leaving). 10:47:34 -!- AnotherTest has joined. 10:49:42 shachaf: I'll make no bets. What I see is a potential to do better lifetime analysis of variables when starting out with coroutines (if you loop over { A; yield x; B; yield y; } then you know exactly which variables need to be preserved over the course of the first and second yield respectively. A C compiler would have to basically recover the coroutines to do that. That is, given a state... 10:49:48 ...machine, it has to figure out that after the basic block A, it will never reach A again without first reaching B. That's doable in theory, sure, but I doubt it's done. 11:16:36 -!- b_jonas has joined. 11:19:44 -!- imode has quit (Ping timeout: 250 seconds). 11:25:00 zzo38: I still think that any version that adds extra turns without serious limitations to chess probably makes it less interesting. In fact, the creators of chess knew this, yet wanted to speed up the early game, 11:25:38 so they didn't just add unlimited extra turns, but a restricted variant where you can move the same pawn forward twice from the starting position. 11:26:45 The problems include that pieces often attack too much of the board if you can take two moves with them; and that if you have two moves and the opponent then has one, then it's very easy to set up a double attack that the opponent can't defend. 12:47:38 -!- FreeFull has joined. 12:51:58 [[Talk:Bitwise Trance]] N https://esolangs.org/w/index.php?oldid=59793 * Plokmijnuhby * (+709) Created page with "== Turing completeness == I'm not sure this really is a Turing complete language. Sure, it works fine as an FSM, but you run into problems when you start storing data. You wil..." 13:00:57 [[Bitwise Trance]] https://esolangs.org/w/index.php?diff=59794&oldid=59789 * Plokmijnuhby * (+109) /* Empty program */ 13:04:10 -!- Sgeo__ has quit (Read error: Connection reset by peer). 13:04:36 -!- Sgeo__ has joined. 13:12:05 [[Talk:Bitwise Trance]] https://esolangs.org/w/index.php?diff=59795&oldid=59793 * Plokmijnuhby * (+183) /* Turing completeness */ 13:12:42 -!- Lord_of_Life has joined. 13:22:42 -!- Essadon has joined. 14:42:56 -!- xkapastel has joined. 15:11:57 [[Talk:Bitwise Trance]] https://esolangs.org/w/index.php?diff=59796&oldid=59795 * Ais523 * (+1610) bignum arithmetic seems impossible to directly implement; however you could probably get a program to copy itself in memory and expand the addresses in the process, despite not being able to address things much larger than itself 16:03:40 In the scifi future, when people won't have fridges and freezers that cool food, but will instead simply have a stasis box that sends food forwards in time to the next time the door is opened, 16:03:45 will ice cubes in drinks turn from something ordinary that people make at home to something you only have in restaurants and bars? 16:04:36 Or will people once again buy ice (or get it delivered to them in some futuristic way, whatever) and put it into the stasis box so it doesn't melt? 16:22:10 -!- oerjan has joined. 16:33:55 [[Hurgusburgus]] https://esolangs.org/w/index.php?diff=59797&oldid=59792 * BradensEsolangs * (-14) Done 17:07:48 Maybe people buying ice cubes might be less common then but some people might still have a use for it 17:12:41 -!- xkapastel has quit (Quit: Connection closed for inactivity). 17:37:16 You could certainly add restrictions into a chess variant that adds extra turns, and there are different ways to add how many extra turns 17:38:36 maybe extra turns are overpowered in every well-designed multiplayer tabletop game, because if they weren't, then it would have been designed with more moves allowed per turn to make it more fluid 17:44:12 YYes, it may be 17:47:41 * oerjan wanted to use Esolang:Sandbox, and suddenly realizes it is not linked from any menus 17:52:17 You can also just to enter the name directly (or add it to some menu if you prefer that) 18:00:31 I was wondering if I should modify the *list commands to know which strips have been listed, and refuse to list a strip again if it's been listed already 18:01:12 https://twitter.com/CreeepyJoe/status/1094656141173305344 18:01:59 int-e: Compilers already do the thing you're describing, don't they? 18:02:23 Maybe not for coroutines but for regular stack usage. 18:03:08 so I'd change olist to do like echo -n "http://www.giantitp.com/comics/oots$1.html"; if ! test "$1" || ! grep -qxFe "$1" var/list-ids/olist; then echo -n ": "; tail -n+3 "$0" ; else echo " was already listed"; exit 1; fi 18:03:24 except I'd test the shell script and fix all the errors 18:03:39 oh right, it also has to say echo "$1" > var/list-ids/olist somewhere 18:04:09 so it would like save the strip numbers to a file in the version control, and not ping people unless the strip is new 18:04:26 that way I wouldn't have to check the channel logs to tell if a strip has already been listed 18:04:32 this applies not only to olist, but also pbflist 18:04:36 and others 18:04:56 what does my honorable and learned friend fungot think about that idea? 18:04:56 b_jonas: this has not been very good, and i am? with putin! the european union at the time that is not without a cost, and the fact of the matter is of course is the best security that the nation is the party of not planning. may i, in the nicest. 18:07:09 `ls 18:07:10 ​:#,_@ \ a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ 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 18:07:51 I don't like a commit on every list 18:08:07 Except, y'know, `list, where it's unavoidable 18:09:59 Maybe like that but keep the state in unversioned storage. 18:10:23 -!- oerjan has quit (Quit: Later). 18:12:55 I've considered doing that before. 18:14:09 shachaf: it could be on just certain lists 18:14:17 like olists and pbflists 18:14:24 and only on successful ones with an argument 18:14:32 no need to commit for a failed or a no-arg one 18:14:42 that would mean a three-way if but so what 18:15:15 fizzie: hmm 18:15:49 fizzie: how does unversioned state work these days? is it just persistent, but doesn't get reverted when the bot redoes a stateful command? 18:16:08 and lost whenever hackego is migrated to a new owner? 18:16:12 oh, by the way 18:16:44 Other possibility, using Netsubscribe, storing the state by adding objects into a Netsubscribe database; if the object ID is telling what is being notified then you can easily check for duplicates 18:16:49 do we have a list that's triggered whenever the previous host or maintainer of hackego gives up and the next one reincarnates it from a backup with a slightly different name? 18:17:05 zzo38: um, how would you put that in hackeso? 18:18:05 b_jonas: I don't think hackeso has that capability, although it would be possible to use with IRC. 18:18:32 But about hackeso, if you need to copy any unversioned files then I suppose you can do so before moving it 18:18:44 (if you have enough advance notice) 18:18:56 b_jonas: It's just a directory. It doesn't participate in the redo in any special way (so "mv" out from it is unsafe), and will be lost if you have to migrate without access to the previous instance. 18:20:23 -!- imode has joined. 18:24:07 Normally you could maintain independent backups in "wget -m" style (in parallel with cloning https://hack.esolangs.org/repo) but I had to turn off nginx "autoindex" option to avoid an information leak -- there's no way to turn off following symlinks for the generated index page, so it could be used to get sizes of files outside the directory. 18:34:04 fizzie: but wouldn't that mean that if I tried to store this status there, and the *list command is re-ran, then it would falsely assume that the strip has been listed already, and we'd lose pings? 18:34:46 fizzie: in theory, the bot could have a directory that is reverted when a command is redone, but that isn't version-controlled. I don't know if we'd want that though. 18:35:20 we might abuse it, in exactly the ways that the version repo is supposed to prevent 18:35:40 oh, that reminds me 18:36:02 fizzie: if I put a file in hgignore, would it also behave just like a file in /tmp ? 18:38:45 fizzie: also, if someone, uh, "accidentally" moved everything from /hackenv to /tmp in one command, then moved everything back but also set everything to be hgignored in the next command, in order to break version control, how quickly would people notice that? 18:38:58 if, say, someone did that in private message 18:45:33 -!- pikhq has quit (Ping timeout: 252 seconds). 18:46:16 -!- xkapastel has joined. 18:48:14 [[Fractran]] https://esolangs.org/w/index.php?diff=59798&oldid=57538 * Oerjan * (+1324) Something I thought of when pondering [[Echo Tag]]: Squeezing fraction size 18:54:59 b_jonas: In the normal case a *list command wouldn't ever re-run, because the only modifications it would do would be in tmp/, so there would be nothing to commit. There might be some race conditions though; with concurrent commands you might indeed lose some pings. 18:55:05 b_jonas: And .hgignore is read-only now. Or, rather, automatically reverted to its pristine state right before any commit, since it couldn't really be made read-only, since it's not a directory. 18:57:16 (I think I was looking for an option to disable .hgignore and instead configure tmp/ in .hg/hgrc instead, but didn't find one.) 18:58:12 (Also the non-versioned persistent storage is tmp/ aka /hackenv/tmp/, plain /tmp is not persistent across commands.) 18:59:18 -!- pikhq has joined. 19:04:51 fizzie: hmm 19:05:04 it's automatically reverted? nice 19:05:28 oh, hg doesn't have that? doesn't it have a way to, like, tell what the name of that file is? Istr git had some such config 19:06:22 It has a way to set up additional ignore files. 19:06:42 From the documentation, it didn't seem like there was a way to disable the default .hgignore though. 19:06:46 ok 19:06:47 Didn't actually try this. 19:06:58 I don't know hg really 19:07:24 hackeso is where I used it the most, plus I've used it to clone a few other repos from the internet where people distribute some files only that way 19:07:54 Under the [ui] section, there's a config key 'ignore': "A file to read per-user ignore patterns from. This file should be in the same format as a repository-wide .hgignore file. Filenames are relative to the repository root. This option supports hook syntax, so if you want to specify multiple ignore files, you can do so by setting something like ignore.other = ~/.hgignore2." 19:08:13 The "as a repository-wide .hgignore file" sounded like it meant that's always there. 19:08:46 Although it's possible setting ui.ignore in the per-repository .hgrc would actually control that. 19:08:51 fizzie: but does hg at least not allow .hgignore files in any directory? 19:09:00 only at the repo top, right? 19:09:02 one per repo 19:09:47 Yes, only at the repository root. If you want to put a .hgignore in a subdirectory, the documentation recommends "subinclude"ing it in the root .hgignore. 19:09:59 ok 19:10:33 Still, reverting the .hgignore file is a bit messy, it needs to manually remove it first if someone replaces it with a directory tree. 19:10:35 makes sense, I guess. that you can put one anywhere is mostly useful for repos where you often do partial checkouts, eg. in cvs and svn 19:11:31 yeah, recursively (chmod then remove) 19:13:57 I wonder what happened if someone made tmp a symlink to . 19:15:06 (That kind of questions are exactly why we can't have nice things.) 19:15:29 I don't think it would do anything really 19:15:34 hg wouldn't even notice where it points 19:17:48 fizzie: I know, I've ran bots too, but I think me just asking won't make it worse 19:24:47 FWIW, it's still on the TODO list (though not up top) to allow (whitelisted, proxied) HTTP requests out of HackEso. It was possible at HackEgo at some point, though not for the last years. 19:26:38 You may wish to later add other protocols too, although that would also need whitelisted too. 19:29:49 fizzie: is hackeso intended to be a bot strictly for this channel, or is it on the todo list to allow it to join other channels where it's invited? 19:31:21 I don't know. It's pretty channel-agnostic, I know HackEgo was on more than one channel. 19:31:42 Feels like it should be only on channels I'm on, though, just to keep an eye on it. 19:32:00 And of course the repo and such are under the .esolangs.org domain. 19:32:13 So the answer is probably "don't know". 19:32:20 ok 19:32:42 hmm, I guess technically I could just make a proxy bot that forwards between a channel and HackEso private message both ways 19:49:28 At one point I was writing a "z80bot", which was to be a somewhat hackbot-style thing, except using an (emulated) Z80 core, with a system call API to a versioned filesystem (read/write-style, but also to map "ROM" pages from), and internet, and whatever else wouldn't be practical to implement internally. 19:50:18 I think I got that about three-quarters done, with the (homegrown) Z80 emulator, the filesystem bits, and yet another IRC client library done, before abandoing it. 19:51:09 Don't think very many people would've spent time using it though. It's a bit bigger barrier to entry than with hackbot. 19:51:25 that sounds fun 19:51:30 would it run CP/M? 19:52:06 fizzie: hmm, how much RAM? 19:52:26 I guess it might not matter since it has access to a file system 19:52:31 or TI-OS? 19:52:47 I'm sure some porting would be necessary, since it wouldn't have any of the expected hardware by those systems. 19:52:56 the hard part with these bots is always figuring out what it's allowed to do on IRC by users' commands 19:53:46 I think I was intending it to have just the directly addressable 64k of RAM, with the top one quarter (C000..FFFF) mappable as a ROM page from the filesystem. 19:54:09 hmm 19:54:20 z80 has a separate IO address space, right 19:54:53 fizzie: what kind of interface would it use for accessing the filesystem? a "modern" unix/dos2 one with open, close, read, write calls? 19:55:09 b_jonas: Yes, it has a separate I/O space, though only with 8 bits of addressing. 19:55:31 s/dos2/dos3/ 19:56:00 The syscall API had the usual read/write/seek calls, so you could access large files with (relative) ease. 19:56:24 (With both 16- and 32-bit variants for seek/tell.) 19:56:55 no 64-bit variants? 19:57:15 Well, no. I would've had some sort of quota for it. 19:57:16 -!- FreeFull has quit. 19:59:03 that would hit you back ten years later when most of the utilities developed up to that time can only deal with 32-bit files, and there's no sane way to recompile them to handle 64-bit files. like what's happend in unix. 19:59:41 and then again when 2038 is nearing and you still have programs storing expoch second timestamps in int32_t 19:59:47 -!- FreeFull has joined. 20:00:06 no problem 20:00:07 robots will kill us all before then 20:00:12 -!- shikhin has quit (Ping timeout: 250 seconds). 20:00:20 like we need robots for doing that 20:00:43 then the robots using the bot will curse you for having made such a stupid design 20:00:46 -!- shikhin has joined. 20:00:50 What I think I have read is that 64-bit Linux uses 64-bit timestamps, but, the filesystem does not support 64-bit timestamps. 20:01:17 zzo38: yes, that's more or less the current state, but it used to be worse 20:01:35 also we're mostly past the 32 bit file offset problem too 20:01:38 shachaf: I had a quick look at the LLVM optimization passes overview at https://llvm.org/docs/Passes.html and none of that sounds like it would be able to reconstruct the coroutine basic blocks (and their sequencing, which would then enable liveness analysis on that level) from a state machine. 20:01:49 but both of them caused a lot of trouble some time ago 20:02:08 obviously it's never anything as simple as "unix uses ... timestamps" 20:02:17 there are like a hundred different ways things on unix use timestamps 20:02:23 different apis and stuff 20:02:27 How to upgrade the filesystem to one that does support 64-bit timestamps? I do not need it right now, but maybe in eighteen years, will help 20:02:38 ICBMs with nuclear warheads are on the doomsday menu again. 20:02:44 again? 20:02:46 they always were 20:03:04 zzo38: for the file system, I'm more afraid of when the FAT timestamps run out. there still seems to be no plan to fix that, and there's no obvious way to fix it 20:03:10 I personally do not understand how anyone who works on nuclear weapons lives with themself 20:03:12 Oh sure but they were not advertised as such :P 20:03:19 You'd have to ask the chef. 20:03:26 When do the FAT timestamps run out? 20:03:27 mostly because windows 95 OSR2 was so reckless as to use up all bytes in the 32 byte directory entries, so there's no place to extend them now 20:03:36 zzo38: 2028-01-01 I think 20:03:39 in local time 20:03:47 that's the mtime, but nobody cares about the other two timestamps 20:03:49 that goes double for things like Project Pluto which were explicitly designed to kill as many civilians as possible and poison the earth 20:04:32 basically it started as a 7-bit year field within a 16-bit date field, and that 7-bit year field stores the date as an integer giving a two digit year 20:04:47 what about ntfs 20:05:19 Were the FAT timestamps those with the odd (or, rather, even) two-second accuracy? 20:05:39 perhaps we can change all the fs drivers to treat them rolling over, so 0 would get interpreted as 2028 instead of 1900 20:05:54 fizzie: yes, because the time of day is also a 16-bit field 20:06:05 and there's more than 65536 seconds in a day 20:06:23 so they made it 5 bits for the hour, 6 bits for the minute, 5 bits for half of the second 20:07:27 optimized for speed on the 8088 obviously 20:08:54 and I think it might be DOS 2 after all, not DOS 3, that started to have unix-like read/write calls after all 20:35:16 int-e: No, not from a state machine, I mean that optimization already exists for stack allocation in non-coroutine code. 20:35:32 I imagine you can do it by hand if you really cared, though, instead of using a struct. 20:35:43 how did file IO work before that 20:36:48 shachaf: Yes that exists but I'm not interested in that. I'm interested in a mechanism that would help a compiler starting from coroutines compared to a compiler that is facing a manually crafted corresponding state machine. 20:37:01 I think old DOS uses file control blocks for file I/O 20:37:19 Oh, sure. 20:37:52 I mean, I think you can still craft a state machine manually that would be as good. 20:38:15 iopl 20:38:55 Each state could have its own memory layout and you'd do the liveness analysis and so on yourself. Or something. 20:40:10 kmc: DOS1 had inherited the kind of IO from CP/M where (1) there's no close, the file descriptor is a fixed size structure, and more importantly, (2) read and write work in fixed size blocks, you can't choose how many bytes to read and write, (3) file size is tracked by the fs in block granularity, not byte granularity 20:40:43 and that's on a floppy disk, so it's less strange than the tape IO, which has variable sized blocks 20:40:58 well, it depends 20:41:05 it can have fixed sized blocks on tape too 20:41:30 oh, and there were no directories, or rather, only one per drive 20:41:37 mhm 20:42:26 that's why text files in DOS used to have an extra "EOF" byte at the end, so they can be read by very old programs that use the CP/M calls and wouldn't know how many characters there are in the last sector 20:42:33 I had a computer that ran what I think was an old version of DOS, or similar 20:42:37 the TRS-80 Model 100 20:42:43 (which has nothing to do with the other trash-80s) 20:42:48 such a cool machine 20:44:06 `? ^Z 20:44:07 ​^Z? ¯\(°​_o)/¯ 20:45:04 oh, one more difference 20:45:26 a laptop from 1983 that's *actually portable*, all solid state storage, indestructable, instant boot, 16 hours battery life 20:45:55 with the unix-like interface, DOS introduced the unix idea of how programs can use the console device with the same read/write calls as you use for disk files 20:45:59 and printers as well 20:46:16 and a good keyboard 20:46:19 or the serial console 20:46:35 of course, in terms of CPU and RAM it was quite underpowered compared to desktops of the day and the luggables 20:46:46 and you couldn't run real business software 20:46:59 but still very good at certain niches, such as traveling journalists 20:47:16 why would a traveling journalist need a computer? 20:47:43 you could write text with the built in word processor and then send it back to the home office at 300 baud, using an acoustic coupler in your hotel room :P 20:47:50 ah! 20:48:28 yeah, that makes sense 20:49:03 hah "luggable" 20:49:16 . o O ( better bring a cart? :) ) 20:49:19 it had a basic BASIC too, you could do cool things like scripting the terminal program to log you in automatically, etc 20:49:42 also I guess they envisioned it for portable POS use b/c it has a barcode reader, you could make your own POS software in BASIC i suppose 20:50:01 I'm not sure if it had expansion ROMs for other programs 20:50:43 iirc it did have PEEK and POKE, so you could probably have additional native code programs in RAM, and load them from the tape port with a BASIC stub 20:51:04 however the RAM is limited and is also the only built-in 'nonvolatile' storage (via backup battery) 20:51:17 that's why it had instant on, like a graphing calculator 20:51:57 it was already obsolete by the time I was born, but I had a hand-me-down and got many hours of fun out of it 20:52:02 I can still remember how the leather case smelled 20:52:14 funny how smells stay with you for life. 20:52:47 anyway, I loaded / saved programs into the Windows 95 sound recorder program, using the tape cable 20:53:06 heh 20:53:12 that sounds wasteful 20:53:20 but it makes sense 20:53:35 didn't you have a proper casette recorder? 20:53:41 well, less wasteful than a real casette recorder 20:53:47 what? 20:53:47 although that'd be more authentic 20:53:54 i mean, i didn't have to buy tapes :P 20:53:56 how is it less wasteful? 20:54:00 i might have been able to do it on my dad's boombox 20:54:04 it stores the wave forms uncompressed 20:54:08 using a bunch of transistors you have sitting around anyway is not really waste 20:54:09 you can't store much on a disk that way 20:54:11 that is true 20:54:20 however i didn't have that many programs 20:54:20 a few casettes would store more 20:54:24 and each one was < 30 seconds of audio 20:54:27 probably just one 20:54:30 also I bet you could dither them to 8 bits 20:54:32 didn't try tho 20:54:38 anyway even back then I had a 1 GB hard drive 20:54:57 to get the cable, my dad took me to radio shack -- this would have been mid to late 90s -- and they were shocked that someone was there to buy an accessory for a 15 year old computer, and even more shocked that they actually had one in the back room, in decaying packaging 20:54:59 sure, but even with one gigabyte of hard drive 20:55:03 Do you have a program that can convert the sound files to/from a more compact recording of the programs? 20:55:06 . o O ( did it come on a truck? ) 20:55:06 that's not more than a few recordable tapes 20:55:12 zzo38: no, but it would probably be pretty easy to make 20:55:13 I mean, you can only record an hour or two on that 20:55:23 I had more recordable casettes than that when I was a child 20:55:35 oh mid to late 90s... fine 20:56:18 but i did much more BASIC programming on TI calcs 20:56:19 IIRC around that time HDD sizes doubled every two years. 20:56:40 because I could easily take it to school, and mess around in math class while pretending to work on the material I'd already finished :P 20:56:43 int-e: I'd believe it 20:56:51 the TI calculators were also more capable in many ways 20:56:59 kmc: yeah 21:05:47 -!- xkapastel has quit (Quit: Connection closed for inactivity). 21:06:19 -!- xkapastel has joined. 21:35:16 -!- ashirase has quit (Remote host closed the connection). 21:55:26 -!- arseniiv has quit (Ping timeout: 240 seconds). 22:04:33 -!- Remavas has joined. 22:06:08 -!- Remavas has changed nick to Remavas[AFK]. 22:28:33 `perl -eopen$F,">tmp/perm10"; @a=0..9;for$s(1..3628800){ print$F"@a\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; warn "done" 22:28:34 String found where operator expected at -e line 1, near "$F"@a\n"" \ (Missing operator before "@a\n"?) \ File size limit exceeded 22:28:40 `perl -eopen$F,">tmp/perm10"; @a=0..9;for$s(1..3628800){ print$F "@a\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; warn "done" 22:28:41 File size limit exceeded 22:28:45 darn 22:28:55 `perl -eopen$F,">tmp/perm10"; @a=0..9;for$s(1..3628800){ print$F join("",@a),"\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; warn "done" 22:28:57 File size limit exceeded 22:29:15 ``` ulimit -f 22:29:16 10240 22:29:38 is that ten megabytes or five megabytes? 22:29:50 hmm 22:29:56 in any case, it's too small for this 22:29:59 darn 22:30:13 5 I guess 22:31:14 TAOCP 7.2.1 says "No sensible person would want to make a list of the 10! = 3,628,800 permutations of {0,1,2,3,4,5,6,7,8,9} by printing them out on thousands of sheets of paper, nor even by writing them all in a computer file." 22:31:31 that sounds like the sort of thing #esoteric would want to do then 22:31:51 but the 5 megabyte limit makes it impossible 22:31:55 on hackeso that is 22:31:58 if you say so 22:33:31 > length $ permutations [0..9] >>= (++ "\n") . (>>= show) 22:33:38 mueval-core: Time limit exceeded 22:33:45 > length $ permutations [1..9] >>= (++ "\n") . (>>= show) 22:33:48 3628800 22:33:57 `perl -eopen$F,"|wc"; @a=0..9;for$s(1..3628800){ print$F "@a\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; warn "done" 22:34:04 done at -e line 1. \ 3628800 36288000 72576000 22:34:20 `perl -eopen$F,"|wc"; @a=0..9;for$s(1..3628800){ print$F join("",@a),"\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; warn "done" 22:34:24 done at -e line 1. \ 3628800 3628800 39916800 22:35:06 you should also consider the age of TAoCP. 22:35:24 int-e: volume 4 isn't old 22:35:37 and it doesn't say that it can't be done, it says it's not worth 22:36:13 or at least that it's not what you usually want when you're asking for generating all permutations 22:36:17 it does make for a fun compression benchmark 22:36:26 vol 4 handles some pretty big tasks 22:36:32 4A really 22:39:19 gzip -9: 1620145, bzip2 -9: 1150986, xz -9: 48068 ... wow?! 22:39:45 int-e: which order of permutations is that? the one I gave, or the one you gave? 22:39:52 the one you gave 22:40:08 with spaces and newlines 22:40:15 ok 22:40:46 `perl -e@a=0..5;for$s(1..999){ print join("",@a),"\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; 22:40:47 012345 \ 102345 \ 201345 \ 021345 \ 120345 \ 210345 \ 310245 \ 130245 \ 031245 \ 301245 \ 103245 \ 013245 \ 213045 \ 123045 \ 321045 \ 231045 \ 132045 \ 312045 \ 012345 \ 102345 \ 201345 \ 021345 \ 120345 \ 210345 \ 410325 \ 140325 \ 041325 \ 401325 \ 104325 \ 014325 \ 314025 \ 134025 \ 431025 \ 341025 \ 143025 \ 413025 \ 013425 \ 103425 \ 301425 \ 031425 \ 130425 \ 310425 \ 410325 \ 140325 \ 041325 \ 401325 \ 104325 \ 014325 \ 214305 \ 124305 \ 421305 \ 2 22:41:12 `perl -e@a=0..4;for$s(1..120){ print join("",@a),"\n";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; 22:41:13 01234 \ 10234 \ 20134 \ 02134 \ 12034 \ 21034 \ 31024 \ 13024 \ 03124 \ 30124 \ 10324 \ 01324 \ 21304 \ 12304 \ 32104 \ 23104 \ 13204 \ 31204 \ 01234 \ 10234 \ 20134 \ 02134 \ 12034 \ 21034 \ 41032 \ 14032 \ 04132 \ 40132 \ 10432 \ 01432 \ 31402 \ 13402 \ 43102 \ 34102 \ 14302 \ 41302 \ 01342 \ 10342 \ 30142 \ 03142 \ 13042 \ 31042 \ 41032 \ 14032 \ 04132 \ 40132 \ 10432 \ 01432 \ 21430 \ 12430 \ 42130 \ 24130 \ 14230 \ 41230 \ 31240 \ 13240 \ 23140 \ 3214 22:41:28 `perl -e@a=0..4;for$s(1..120){ print join("",@a)," ";$k=$s;$m=2;$k/=$m++until$k%$m;@a[0,$m-1]=@a[$m-1,0]; }; 22:41:29 01234 10234 20134 02134 12034 21034 31024 13024 03124 30124 10324 01324 21304 12304 32104 23104 13204 31204 01234 10234 20134 02134 12034 21034 41032 14032 04132 40132 10432 01432 31402 13402 43102 34102 14302 41302 01342 10342 30142 03142 13042 31042 41032 14032 04132 40132 10432 01432 21430 12430 42130 24130 14230 41230 31240 13240 23140 32140 12340 21340 41320 14320 34120 43120 13420 31420 21430 12430 42130 24130 14230 41230 01234 10234 20134 02134 1203 22:41:46 that's not even all permutations 22:41:49 that has repetitions 22:41:52 you're cheating 22:41:59 or I'm cheating 22:42:36 right I was going to check that... and that does explain the good compression, I guess. 22:44:32 for the Haskell thing (newline, no spaces), gzip -9: 7913058; bzip2 -9: 9620381; xz -9: 1562180. 22:46:30 and with spaces: gzip -9: 9525275; bzip2 -9: 9846341; xz -9: 2242728. 22:46:48 how about with (7z a -mx=9 -sia kts-Ae6seFQj.7z; cat kts-Ae6seFQj.7z) ? 22:47:21 (7z won't compress to a pipe, so I'm using a temporary file here) 22:47:47 oh wait, you're saying gzip -9 rather than gzip -c9 so I don't have to cat it 22:48:11 I'm piping into it. 22:48:34 piping into it is fine, it can take the uncompressed input in a pipe 22:48:46 it just can't put or take the compressed file from a pipie 22:49:05 so for compressing, it can read from a pipe, for decompressing it can write to a pipe 22:49:14 Archive size: 1759018 bytes (1718 KiB) 22:49:33 ha! so it does sometimes win over xz 22:56:34 -!- tromp has quit (Remote host closed the connection). 23:09:14 int-e: I wonder whether there's a test program to run benchmarks with. 23:15:56 -!- AnotherTest has quit (Ping timeout: 240 seconds). 23:27:16 -!- tromp has joined. 23:29:46 -!- Essadon has quit (Quit: Qutting). 23:30:42 I think it's 10 megabytes; bash ulimit -f is in 1024 byte units, except when in Posix mode. 23:30:46 `` ulimit -f; sh -c "ulimit -f" 23:30:47 10240 \ 20480 23:30:53 Checks out. 23:32:01 hmpf 23:32:04 -!- tromp has quit (Ping timeout: 250 seconds). 23:32:40 Actually, what's sh there? 23:32:43 `` ls -l $(which sh) 23:32:43 lrwxrwxrwx 1 0 0 4 Jan 24 2017 /bin/sh -> dash 23:33:19 That Debian thing. 23:35:36 `` cat /bin/sh 23:35:36 ​ELF............>.....7......@.................@.8..@.........@.......@.......@..................................8......8......8......................................................................... ..................!.....!...........>........ ...........h......h!.....h!................................T......T......T......D.......D..............Ptd...f......f......f.........................Q 23:36:04 -!- Remavas[AFK] has quit (Quit: Leaving). 23:36:13 why do you gotta cat that 23:37:59 `? cat 23:38:00 Cats are cool, but should be illegal. 23:38:05 true 23:38:10 `5 w 23:38:11 i disagree 23:38:13 1/2:precision//78.75211317% of the time precision is totally overrated. \ gene ray//Dr Gene Ray is the Greatest Philosopher, and is the Greatest Mathematician. Cubic Harmonics. Only Cubic Harmonics can save humanity. Cubic Harmonics will pacify all religions. 96-hour Cubic Day debunks 1-day unnatural god. 96-hour day willdisprove disunity god. Academians are teaching - pseudocience. Worshipping a Word God will destroy the USA. \ web access//Sorry, Ha 23:38:18 `n 23:38:19 2/2:ckEgo's sandbox currently has no web access. However, see `? `fetch \ type system//type system = kitten \ bugbear//A bugbear is a teddy bear that you can explain your bugs to. 23:38:55 `? `fetch 23:38:56 ​`fetch [] downloads files, and is the only web access currently available in HackEgo. It is a special builtin that cannot be called from other commands. See also `edit. 23:41:11 `` grwp -l HackEgo 23:41:12 ​`! \ `# \ `fetch \ guarantee \ hackego \ hackeso \ `help \ `hoag \ list \ med \ print_args_or_input \ ruddy \ `run \ source \ test \ tmp \ web access \ zarutian 23:41:17 Less than I thought. 23:41:32 fizzie: ah thanks 23:41:47 hmm 23:42:03 `? zarutian 23:42:05 You can trust Zarutian. He fixes, as an electronics technician, banal mistakes of electronics engineers. Rather cy(ph|b)erpunkish in outlook regarding the 'Net. Knows more about ocaps than you can imagine. Possesses an Icelandic unnerver that ejects freezingly hot lava out of its business end. Bears an 'Authentic fakes provider' seal from the guild of Realers. He is also known for making rather long HackEgo wisdom entries. Take for instance this entry. It 23:42:41 . o O ( `pwste zarutian ) 23:42:51 `paste wisdom/zarutian 23:42:52 https://hack.esolangs.org/repo/file/tip/wisdom/zarutian 23:43:00 `2 ? zarutian 23:43:02 2/2: It has a whole subentry just on Icelandic unnerver. Even though the Icelandic unnerver has its own. 23:43:20 I also can't remember the proper repository URL command 23:43:27 It's `url. 23:43:38 I was just wondering if there was a `wrl. 23:44:51 `hwrl zarutian 23:44:52 come on, you can type seven characters 23:45:05 ... useful. 23:45:16 `dowg bin/hwrl 23:45:19 No output. 23:45:23 `doag bin/hwrl 23:45:24 9814:2016-12-02 mkx bin/hwrl//echo \'come on, you can type seven characters\' 23:45:46 what a horrible, opinionated character 23:46:28 Huh? 23:46:30 * int-e also wonders about the difference between `url and `hurl 23:46:37 I don't remember that. Maybe it was an impostor. 23:46:40 Also horrible: there are entirely independent scripts bin/url and bin/hurl, where the only difference is that only the former supports tmp. 23:46:51 `cat bin/hurl 23:46:51 ​#!/usr/bin/env python \ import sys, os.path, re, urllib \ if len(sys.argv) <= 1: \ print "https://hack.esolangs.org/repo/" \ else: \ f = os.path.abspath(sys.argv[1]) \ f = re.sub(r"^/+hackenv/", "", f) \ if re.match(r"/|(?:\.hg|tmp)(?:/|$)",f): \ sys.exit("File is outside web-viewable filesystem repository.") \ else: \ print ("https://hack.esolangs.org/repo/log/tip/" + \ urllib.quote(f)) 23:46:59 `dobg hurl 23:47:00 11469:2018-04-08 sled bin/hurl//s,hackego.esolangs.org/fshg,hack.esolangs.org/repo,g;s,/index\\.cgi,, \ 10395:2017-03-11 sled bin/hurl//s,http,https,g \ 10316:2017-02-18 sled bin/hurl//s,codu.org/projects/hackbot,hackego.esolangs.org, \ 9142:2016-10-02 ` cp bin/{,h}url; sed -i \'11s/file/log/\' bin/hurl 23:47:05 `cblprits hurl 23:47:06 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: cblprits: not found 23:47:09 what! 23:47:19 `culprits bin/hurl 23:47:21 fizzïe oerjän fizzïe oerjän 23:47:31 `culprits bin/url 23:47:32 fizzïe fizzïe oerjän fizzïe oerjän fizzïe fizzïe fizzïe oerjän oerjän oerjän oerjän oerjän oerjän oerjän oerjän fizzïe fizzïe fizzïe fizzïe oerjän oerjän oerjän oerjän oerjän oerjän nitïa 23:47:42 ...yeah, nobody else to blame. 23:47:56 `url bin/url 23:47:57 https://hack.esolangs.org/repo/file/tip/bin/url 23:48:22 Looks like I even fixed the paths in both url and hurl 10 months ago. 23:48:31 So these aren't totally separate, they're almost identical. 23:49:10 I guess you can argue that because of the "h" in "hurl", it should only work for repository contents, while "url" is okay to support tmp as well. 23:49:30 Wait, these aren't independent. 23:49:34 One of them is for the history of a file. 23:49:43 Ohhh. 23:49:58 `mkx hwrl//hurl "wisdom/$1" 23:50:00 hwrl 23:50:06 I guess that makes sense. 23:50:08 `hwrl zarutian 23:50:09 come on, you can type seven characters 23:50:24 `` mv hwrl bin 23:50:25 No output. 23:50:29 `hwrl zarutian 23:50:30 https://hack.esolangs.org/repo/log/tip/wisdom/zarutian 23:50:39 `mkx bin/wrl//url "wisdom/$1" 23:50:41 bin/wrl 23:50:46 `wrl zarutian 23:50:46 https://hack.esolangs.org/repo/file/tip/wisdom/zarutian 23:50:47 I guess hurl can't support tmp. Oh well. 23:51:03 Yes, it makes sense, I just didn't realize what it was for. 23:51:28 Yeah I was puzzled by the 'h' as well. So I learned something... useless. Yay. 23:52:23 If you didn't know what hurl was, why were you hwrling? 23:52:39 because I looked at /bin in the repo browser 23:52:55 Ah. 23:53:01 `url bin 23:53:02 https://hack.esolangs.org/repo/file/tip/bin 23:53:20 Why is bin so full of nonsense? 23:53:36 Because of the people. That is, us. :P 23:53:43 `cat bin/shachaf1sum 23:53:43 ​#!/bin/bash \ sha1sum "$@" | tr a-z n-za-m 23:53:50 `dobg shachaf1sum 23:53:52 2666:2013-04-14 printf \'#!/bin/bash\\nsha1sum "$@" | tr a-z n-za-m\' > bin/shachaf1sum && chmod +x bin/shachaf1sum 23:54:20 kmc: SMILING CAT FACE WITH HEART-SHAPED EYES 23:54:33 `culprits bin/ 23:54:34 oerjän 23:54:38 HackEso: binaries of the people, by the people, for the people. 23:54:40 -!- Lord_of_Life_ has joined. 23:54:49 `cat bin/ 23:54:50 echo Stop taking everything literally! 23:54:59 fizzie: There's still a DNS entry for hackego.esolangs.org 23:54:59 `help 23:55:00 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch [] " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 23:55:07 cute 23:55:07 Which was confusing when I tried to hg pull a little while ago. 23:55:14 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 23:55:41 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:55:57 shachaf: I guess it doesn't look too likely the Cloud at Cost host is coming back... 23:56:00 `? shaventions 23:56:03 Shaventions include: before/now/lastfiles, culprits, hog/{h,d}oag, le//rn, tmp/, mk/mkx, {s,p}led/sedlast, spore/spam/speek/sport/1/4/5, edit. Taneb did not invent them yet. 23:56:13 No one ever uses things like before/now/lastfiles 23:56:51 I think edit is a fizzievention by now 23:57:08 `cat bin/No 23:57:09 ​#!/bin/sh 23:57:25 int-e: I think that's for ruining an error quote. 23:57:43 `dobg No 23:57:44 0:2012-02-16 Initïal import. 23:57:45 Or something along those lines. 23:57:55 `? nitia 23:57:56 nitia is the inventor of all things. The BBC invented her. 23:58:26 ...why the BBC 23:58:43 Probably https://en.wikipedia.org/wiki/BBC_Nitia 23:58:47 o 23:59:25 `cat bin/whoops 23:59:26 OLD="wisdom/$1"; [ -z "$1" ] && OLD="$(lastfiles)"; NEW="${OLD}s"; if [ -f "$NEW" ]; then echo "«${NEW}» already exists"; exit 1; fi; mv "$OLD" "$NEW" && echo "«${OLD}» -> «${NEW}»" 23:59:34 `dobg whoops 23:59:35 9714:2016-11-17 whoop ../bin/whoop \ 9713:2016-11-17 ` mv bin/whoop{s,} \ 9710:2016-11-17 ` mv bin/whoops{s,} \ 9709:2016-11-17 whoops \ 9708:2016-11-17 mkx bin/whoops//OLD="wisdom/$1"; [ -z "$1" ] && OLD="$(lastfiles)"; NEW="${OLD}s"; if [ -f "$NEW" ]; then echo "\xc2\xab${NEW}\xc2\xbb already exists"; exit 1; fi; mv "$OLD" "$NEW" && echo "\xc2\xab${OLD}\xc2\xbb -> \xc2\xab${NEW}\xc2\xbb" \ 5338:2015 23:59:52 oh man, tg 2019-02-11: 00:00:02 -!- danieljabailey has quit (Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in). 00:00:40 `wlcmr int-e 00:00:41 int-e: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 00:01:02 `dobg wlcmr 00:01:03 5184:2014-12-09 ` sed -ir \'s/sed.*/tr -d aeoiu/\' bin/wlcm; cat bin/wlcm \ 5183:2014-12-09 ` sed -ir \'s/.$/g&/\' bin/wlcm; cat bin/wlcm 00:01:27 `wlcm FireFly 00:01:29 FrFly: Wlcm t th ntrntnl hb fr strc prgrmmng lngg dsgn nd dplymnt! Fr mr nfrmtn, chck t r wk: . (Fr th thr knd f strc, try #strc n EFnt r DALnt.) 00:01:37 apologint-e 00:02:21 I ended up checking whether it's colorful... it wasn't. 00:02:32 I thought you'd made it. 00:02:43 I don't remember creating that 00:03:06 But it's only because of the confusing thing in the fshg browser where it shows the last commit message at the top, instead of the message of the last commit that affected the file you clicked on. 00:03:30 wait, -ir ?! 00:03:41 `rm bin/wlcmr 00:03:42 No output. 00:03:54 why wouldn't it be -ir? 00:04:11 why would you make a backup rather than just use -i ? 00:04:30 Oh, I get it. 00:04:33 -r is how GNU sed spells -E 00:04:37 or "use ERE" 00:04:40 FireFly: then use -ri 00:04:42 sed -ir is not sed -i -r hth 00:04:44 ``` rm -v bin/preprocess-mtg # one less now 00:04:46 removed 'bin/preprocess-mtg' 00:04:46 o 00:05:01 whoosp 00:05:10 `` doag | grep 'sed -ir' 00:05:11 ``` rm -v bin/7z bin/7za # I added these, but they never worked 00:05:17 5184:2014-12-09 ` sed -ir \'s/sed.*/tr -d aeoiu/\' bin/wlcm; cat bin/wlcm \ 5183:2014-12-09 ` sed -ir \'s/.$/g&/\' bin/wlcm; cat bin/wlcm 00:05:18 removed 'bin/7z' \ removed 'bin/7za' 00:05:30 but well I didn't even remember creating that to begin with 00:05:39 FireFly: nowadays you'd just use sled hth 00:05:52 -!- oerjan has joined. 00:06:10 FireFly: It's a plausible mistake. It took me a moment to realize why the file was there at all :) 00:06:16 hehe 00:07:54 I created bin/8-ball but then other people modified it in ways I don't approve with, and I would have used the original but now I can't trust it 00:08:19 I apparently created wrlist, just in case the "we are robots" webcomic resurrects 00:08:32 as for the rest, what I can do is use them so there aren't so many unused ones 00:08:47 except for the lists that are for events that haven't happened of course, I won't use them 00:08:50 `? keenlist 00:08:51 keenlist is notification for when Tom Hall acquires the necessary intellectual property rights to create the videogame series Commander Keen: The Universe is Toast 00:09:05 ``` hg log -T "{desc}\0{file_adds}\n" bin/* | perl -ne '/^<[^>]*jonas.*\0(.+)/ and print "$1\n";' | sport 00:09:09 why is this a list 00:09:26 shachaf: because if it happens, I'd like to notice, so it pings me 00:09:29 1/2:bin/bobadventureslist \ bin/starwars \ bin/scheme \ bin/calesyta2016list \ bin/welkom \ bin/velkomin \ bin/velkommen \ bin/välkommen \ bin/hello \ bin/random-card \ bin/card-by-name \ bin/recipe \ bin/lastwisdoms \ bin/keenlist wisdom/keenlist \ bin/ioccclist \ bin/bardsworthlist \ bin/ehlist \ bin/revert \ bin/culprits-ng \ bin/aglist \ bin/listlist \ bin/wrlist \ bin/dateu \ bin/sqli \ bin/datei \ bin/culprits-c \ bin/Welcome \ bin/velcome \ bin/cto 00:09:31 same as with olist 00:09:31 `n 00:09:32 2/2:f \ bin/ftoc \ bin/toroman \ bin/fromroman \ bin/8-ball \ bin/8ball 00:09:33 `cat bin/keenlist 00:09:34 echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit \ b_jonas 00:09:38 `starwars 10 00:09:39 Supreme Leader Snoke \ R2-D2 \ Moff Jerjerrod \ Galen Erso \ Qui-Gon Jinn \ Padmé Amidala \ Cassian Andor \ Ric Olié \ Doctor Cornelius Evazan \ C-3PO 00:09:41 But you're the only one on the list. 00:09:51 shachaf: so far yes, but anyone can echo >> it 00:10:03 I won't just add other people 00:10:18 when you create a list, do you add anyone but yourself? 00:10:45 hmm, the starwars should perhaps be updated to add characters from Solo 00:11:07 or are those already in there? 00:11:43 No, but the main way people learn about lists is from seeing them being listed. 00:11:58 they're not 00:12:05 `scheme 00:12:06 Plots That Span Centuries 00:12:08 `calesyta2016list never happened 00:12:09 calesyta2016list never happened: b_jonas 00:12:14 :P 00:12:47 `lastwisdoms 00:12:49 ​/2019-02-08/ macron // flabberghast // chicken // /2019-02-07/ ladder // quantum leap // /2019-02-04/ password // /2019-02-02/ asap // tio // /2019-01-30/ prefixes // /2019-01-29/ shannon // /2019-01-26/ fnord // /2019-01-01/ this ftp site // /2018-12-29/ standard // /2018-12-22/ ground water // /2018-12-11/ italian // grace period // tanebvention // /2018-12-09/ oren // /2018-12-07/ mꙮnqy // /2018-12-06/ oerjan // /2018-12-01/ `hello // tense formati 00:13:11 `culprits-c wisdom/password 00:13:13 ​ 29 oerjän 14 int-̈e 5 shachäf 1 mroman̈_ 1 mromän 1 gameman̈j 1 boil̈y 1 b_jonäs 00:13:35 huh... what's bin/revert ? 00:13:56 `sqli SELECT 2+4 00:13:57 6 00:13:58 `sqli SELECT 2/0 00:13:59 No output. 00:14:20 `` git log 00:14:21 fatal: Not a git repository (or any parent up to mount point /hackenv) \ Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). 00:15:05 b_jonas: you made it though 00:15:14 int-e: yeah, that's the problem 00:15:23 I listed the entries in bin that I made and that still exist 00:15:26 above 00:15:45 hackego wasn't using git either, right? 00:16:24 let's create a fake bin/revert ! 00:16:35 strange 00:16:37 hackego was using hg and now hackeso is using hs 00:16:43 ``` rm bin/revert 00:16:44 No output. 00:16:47 There was discussion about how `revert is a builtin and not a real command. 00:16:53 sure 00:17:00 but I could have created a real one 00:17:03 `cat bin/run 00:17:04 echo run run run 00:17:04 or maybe not 00:17:07 I dunno 00:17:33 well, not an entirely real one 00:17:35 And whether it would be possible to make an actual non-builtin version of `revert, which sounds like it should be more or less possible. 00:17:57 `cat bin/undo 00:17:57 ​#!/bin/sh \ hg diff -c "$@" | patch -p1 -R 00:18:01 b_jonas: why are you using git commands, HackEgo is mercury / oerjan: it's a fake command, so it doesn't matter, right? / OKAY 00:18:08 and I don't know mercurial 00:18:17 yeah 00:18:17 `before 00:18:19 bin/revert//#!/bin/sh \ exec git checkout HEAD^ . 00:18:20 that might have been me 00:18:31 See? `before is useful! 00:22:15 `after 00:22:15 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: after: not found 00:22:19 `now 00:22:20 bin/revert//cat: bin/revert: No such file or directory 00:22:29 hm 00:22:31 Well, it doesn't do much for deletions. 00:22:56 `random-card 00:22:57 Approach of the Second Sun \ 6W \ Sorcery \ If Approach of the Second Sun was cast from your hand and you've cast another spell named Approach of the Second Sun this game, you win the game. Otherwise, put Approach of the Second Sun into its owner's library seventh from the top and you gain 7 life. \ AKH-R 00:22:57 `random-card flying 00:22:58 Ivory Gargoyle \ 4W \ Creature -- Gargoyle \ 2/2 \ Flying \ When Ivory Gargoyle dies, return it to the battlefield under its owner's control at the beginning of the next end step and you skip your next draw step. \ {4}{W}: Exile Ivory Gargoyle. \ AI-R, ME2-R 00:23:07 `random-card eldrazi 00:23:07 Emrakul, the Promised End \ 13 \ Legendary Creature -- Eldrazi \ 13/13 \ This spell costs {1} less to cast for each card type among cards in your graveyard. \ When you cast this spell, you gain control of target opponent during that player's next turn. After that turn, that player takes an extra turn. \ Flying, trample, protection from instants \ EMN-M 00:23:25 pft. no annihilator? 00:23:41 `random-card joker 00:23:42 No card found. 00:23:48 `random-card spade 00:23:49 No card found. 00:23:51 `random-card annihilator 00:23:53 Hand of Emrakul \ 9 \ Creature -- Eldrazi \ 7/7 \ You may sacrifice four Eldrazi Spawn rather than pay this spell's mana cost. \ Annihilator 1 (Whenever this creature attacks, defending player sacrifices a permanent.) \ ROE-C 00:23:56 `random-card club 00:23:57 Prakhata Club Security \ 3B \ Creature -- Aetherborn Warrior \ 3/4 \ KLD-C 00:24:06 `owrjan 00:24:08 Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty evil grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here for convenience. His ark-nemesis is Noah. He twice punned without noticing it. 00:24:30 `swrjan s/evil/eldrazi/ 00:24:30 `stat bin/slwrjan 00:24:32 stat: cannot stat 'bin/slwrjan': No such file or directory 00:24:33 huh? that's a command? 00:24:33 oerjan//Your omnidryad saddle principal ideal golfing toe-obsessed "Darth Ook" oerjan the shifty eldrazi grinch is a punctual expert in minor compaction. Also a Groadep who minces Roald Dahl. He could never remember the word "amortized" so he put it here for convenience. His ark-nemesis is Noah. He twice punned without noticing it. 00:24:45 ah 00:25:07 `culrpits-c wisdom/oerjan 00:25:08 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: culrpits-c: not found 00:25:14 `culprits-c wisdom/oerjan 00:25:16 ​ 122 shachäf 53 oerjän 11 boil̈y 5 noloveinwaikik̈i 2 Jafët 2 int-̈e 1 nitïa 1 hppavilion[1̈] 00:25:20 uh 00:25:22 ahem 00:25:37 nitia! 00:25:40 `? nitia 00:25:41 nitia is the inventor of all things. The BBC invented her. 00:25:52 `? zzo38 00:25:53 zzo38 is not actually the next version of fungot, much as it may seem. 00:25:57 `? shachaf 00:25:58 Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He doesn't know when to stop asking questions. 00:26:12 all true 00:26:24 I still don't get the bell peppers thing. 00:26:36 I don't like bell peppers. 00:26:39 What's not to get? 00:26:48 I think the other bits are much harder to get, really. 00:27:02 int-e: noloveinwaikiki was one of hagb4rd's nicks, as i recall 00:27:26 int-e: I still don't get some of the wisdom entry about me 00:27:34 `? b_jonas 00:27:35 shachaf: I've never tried to decipher the first sentence, and I know all about the last one ;-) 00:27:35 b_jonas egy nagyon titokzatos személy. Hollétéről egyelőre nem ismertek. 00:28:16 What's going on with the last one? 00:29:24 I'm pretty sure I added that after being subjected to the shachafian inquisition one day. I have to admit that I did forget the topic of that discussion. 00:29:34 b_jonas: 's okay i only get the first three words and the second last. 00:29:47 Me too. 00:29:54 I thought oerjan added that, though. 00:29:55 int-e: i thought i added it... 00:29:57 `dowg shachaf 00:29:58 9872:2016-12-05 slwd shachaf//s/^/Queen / \ 9869:2016-12-05 learn_append shachaf He doesn\'t know when to stop asking questions. \ 9116:2016-09-29 slwd shachaf//s# T.*## \ 8814:2016-07-14 slwd shachaf//s#^shachaf#Shachaf of the Dawn# \ 8553:2016-06-21 ` hg cat -r 8343 wisdom/shachaf > wisdom/shachaf \ 8345:2016-06-05 learn shachaf is a wise little gentleman. \ 8344:2016-06-05 le 00:30:05 hmm 00:30:11 did I at least suggest it? 00:30:20 [[Vague]] https://esolangs.org/w/index.php?diff=59799&oldid=59780 * Cortex * (+142) 00:30:25 I think I asked oerjan too many questions. 00:30:47 Or did I just quote it on one occasion. 00:31:04 My memory is what it used to be. All unreliable and forgetful :) 00:31:07 [[Vague]] https://esolangs.org/w/index.php?diff=59800&oldid=59799 * Cortex * (-27) 00:31:26 My memory is like a functor. 00:31:30 ... 00:31:32 TMI 00:32:06 int-e: maybe it's one of those berenstoin things 00:32:56 faithful, forgetful, adjoint... 00:33:51 `thanks hackeso 00:33:52 Thanks, hackeso. Thackeso. 00:33:53 memory can be especially forgetful after adjoint 00:34:06 * oerjan swats shachaf -----### 00:34:52 @google berenstoin 00:34:53 https://me.me/i/no-normies-allowed-stan-jan-berenstoin-%3Cp%3Ememe-insiders-make-stance-22266978 00:35:34 ... I have regrets. 00:38:04 wtf even is that. 00:38:48 I am not clicking that link. 00:39:00 "Many people incorrectly remember the name of the series as the "Berenstein Bears". This confusion has generated multiple theories to explain the memories, including an unannounced name change, time travel, or parallel universes and has been described as an instance of the Mandela effect." 00:39:19 oerjan: is that what you're alluding to? 00:40:53 Is there a way to do static linking on Linux and also use OpenGL? 00:41:55 I doubt it. 00:42:17 `? this 00:42:18 This is something people on the channel like to talk about. We're often unsure what this is, though. 00:43:25 int-e may or may not be fan 00:44:03 `quote indifference 00:44:04 1320) int-e does not like this [...] shachaf: I experience heightened levels of indifference :P Higher than your usual? who cares? 00:44:13 you can statically link to whatever libraries you want but I don't think you can statically link to a single OpenGL library.. 00:45:16 shachaf: probably not a reasonable way, because part of the graphics driver is a shared library 00:45:41 although you might be able to statically link the software only Mesa renderer 00:46:21 It's a shared library that links against libc which means I have to use libc and everything too, presumably. 00:47:42 -!- tromp has joined. 00:49:36 ``` cat -r 8821 wisdom/tg 00:49:36 cat: invalid option -- 'r' \ Try 'cat --help' for more information. 00:49:40 ``` hg cat -r 8821 wisdom/tg 00:49:41 TG is short for Turing-Gödel, the highest possible level of difficulty for a multiplayer game. At this level, it's undecidable whether you can manage to halt before losing or not. This gizmo talks gibberish too garbled to grasp. 00:51:34 `? @ 00:51:35 ​@ is an OS made out of only the finest vapour. 00:52:37 -!- tromp has quit (Ping timeout: 244 seconds). 00:52:54 That's a blast from the past. 00:56:03 i,i oblast from the past 00:59:04 int-e: yes 01:04:38 -!- b_jonas has quit (Quit: leaving). 01:06:02 . o O ( And your final question for the $1,000,000 prize is: What's the Russian word for "province"? Oh, blast! ) 01:12:32 Is it confusing if I use the number of bytes instead of the number of bits for my numeric types? 01:12:44 So U1/U2/U4/U8 instead of U8/U16/U32/U64 01:13:31 yes, because how many bits to a byte? 01:13:55 8 is conventional, but there are other byte sizes. 01:14:11 But do I care about architectures where bytes aren't octets? 01:15:47 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:20:53 I mean, that's your call. 01:21:06 you also have no way to specify a 4-bit type or a 2-bit type. 01:21:12 or a 7-bit type or something. 01:22:00 Yes. But on the other hand "8" is the same length as "1". 01:22:21 I don't know. Maybe I should stick to bits because everyone else does. 01:22:34 ^ 01:23:04 Also I tried writing code with this style and I kept getting confused and using U8 instead of U1. 01:25:40 `hi j4cbo 01:25:40 Hi j4cbo. Ho. 01:25:52 Hmm. I think maybe that should be adjusted. 01:26:35 If you use 8/16/32/64, you can use 1 for a boolean type. That's what LLVM does. 01:26:56 That's also true. 01:28:39 I don’t know of any non-8-bit-byte architectures that are relevant these days, but bits still seem more fundamental 01:28:57 That's also true. 01:29:24 kmc: is there any meaning to fractional qubits twh 01:30:27 `cat bin/hi 01:30:28 ​#!/usr/bin/perl \ $_ = (join " ", @ARGV) || `words`; s/^\s+|\s+$//g; print "Hi $_. "; if (/[aeiouyAEIOUY]/) { s/^[^aeiouyAEIOUY]*/H/; } else { s/^./H/; } print "$_."; 01:30:51 TI's still making TMS320C55x chips for low-power applications, and their C compiler for those has a CHAR_BIT == 16 setup. 01:31:08 `sled bin/hi//s/OUY/OUY0134/g 01:31:10 bin/hi//#!/usr/bin/perl \ $_ = (join " ", @ARGV) || `words`; s/^\s+|\s+$//g; print "Hi $_. "; if (/[aeiouyAEIOUY0134]/) { s/^[^aeiouyAEIOUY0134]*/H/; } else { s/^./H/; } print "$_."; 01:31:11 `hi j4cbo 01:31:12 Hi j4cbo. H4cbo. 01:31:15 better 01:31:56 TAVERN uses 16-bit memory cells (although if TAVERN32 or TAVERN64 is made, it might use 8-bit cells instead). 01:32:15 what kind of memory cell does TAVERN8 use 01:32:16 `` sled bin/thanks//s/OUY/OUY0134/g # for consistency 01:32:18 bin/thanks//#!/usr/bin/perl -CSDA \ $_ = (join " ", @ARGV) || `words`; s/^\s+|\s+$//g; print "Thanks, $_. "; if (/[aeiouyAEIOUY0134]/) { s/^[^aeiouyAEIOUY0134]*/Th/; } else { s/^./T/; } print "$_."; 01:32:26 `thanks j4cbo 01:32:27 Thanks, j4cbo. Th4cbo. 01:32:28 shachaf: There is no TAVERN8 01:32:39 Maybe I should bug someone else. 01:33:02 `thanks f1zz13 01:33:02 But no one else uses digits that way. 01:33:02 Thanks, f1zz13. Th1zz13. 01:33:17 Oh, wait, you can run this on a name that isn't a nick present in the channel. I forgot. 01:34:16 `` rgrep -l aeiou bin 01:34:17 bin/h! \ bin/?h \ bin/thanks \ bin/hyphenate.fi \ bin/hi \ bin/blessyou \ bin/unh \ bin/?hh \ bin/shmify \ bin/h 01:34:18 By the way, I was thinking of exporting $NICK in the HackEso environment as the person who requested the thing to be done. 01:34:23 `cat bin/blessyou 01:34:24 ​#!/usr/bin/perl \ $_ = (join " ", @ARGV) || `words`; s/^\s+|\s+$//g; print "Bless you, $_. "; if (/[aeiouyAEIOUY]/) { s/^[^aeiouyAEIOUY]*/Bl/; } else { s/^./B/; } print "$_."; 01:34:36 sled bin/blessyou//s/OUY/OUY0134/g 01:34:39 `sled bin/blessyou//s/OUY/OUY0134/g 01:34:41 bin/blessyou//#!/usr/bin/perl \ $_ = (join " ", @ARGV) || `words`; s/^\s+|\s+$//g; print "Bless you, $_. "; if (/[aeiouyAEIOUY0134]/) { s/^[^aeiouyAEIOUY0134]*/Bl/; } else { s/^./B/; } print "$_."; 01:34:46 `blessyou f1zz13 01:34:46 Bless you, f1zz13. Bl1zz13. 01:35:03 `h f1zz13 01:35:04 f1zz13 01:35:11 Eh. That might be going too far. 01:35:42 `wehlcohme fizzie 01:35:44 fihzzie: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: . (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn EhFneht ohr DAhLneht.) 01:41:06 shachaf: there probably is in quantum information theory, which I know nothing about 01:41:50 `` doag | grep 'sed -i[^ ]' 01:41:53 10398:2017-03-11 ` sed -ie "s,\\\\n,\\n," bin/lowercase2 \ 6500:2016-01-03 ` sed -ie \'s/inp[)]$/unicode(inp, locale.getpreferredencoding())).encode(locale.getpreferredencoding())/\' -e \'2s/$/, locale/\' bin/loudly; \ 6484:2016-01-03 ` sed -ie \'s/inp[)]$/unicode(inp, locale.nl_langinfo(locale.CODESET))).encode(locale.nl_langinfo(locale.CODESET))/\' bin/loudly \ 5184:2014-12-09 ` sed -ir \'s/sed.*/tr -d ae 01:41:55 `blessyou keegan 01:41:56 Bless you, keegan. Bleegan. 01:42:22 `cat bin/dog 01:42:23 cat: bin/dog: No such file or directory 01:42:29 I'm a bit surprised `dog doesn't exist. 01:42:38 i,i unless cat is lying to us 01:43:32 `ls bin/lowercase2e 01:43:33 bin/lowercase2e 01:43:38 ha 01:43:51 `doag bin/lowercase2e 01:43:53 10398:2017-03-11 ` sed -ie "s,\\\\n,\\n," bin/lowercase2 01:44:00 `rm bin/lowercase2e 01:44:04 No output. 01:44:28 `doag bin/loudlye 01:44:30 10294:2017-02-16 rm bin/loudlye \ 6500:2016-01-03 ` sed -ie \'s/inp[)]$/unicode(inp, locale.getpreferredencoding())).encode(locale.getpreferredencoding())/\' -e \'2s/$/, locale/\' bin/loudly; \ 6491:2016-01-03 revert 6483 \ 6489:2016-01-03 revert 6486 \ 6488:2016-01-03 revert 6483 \ 6486:2016-01-03 revert \ 6485:2016-01-03 revert \ 6484:2016-01-03 ` sed -ie \'s/inp[)]$/ 01:44:43 `2 doag | grep 'sed -i [^ ]' 01:44:47 2/169:e\'s font https://github.com/fis/rfk86/tree/master/web/font|" wisdom/font \ 11200:2017-09-26 ` sed -i \'$s=sha[c]haf=shach\x0faf=\' quotes > /dev/null \ 11198:2017-09-26 ` sed -i \'$s=shachaf=sha\x0fchaf=\' quotes \ 11150:2017-08-08 ` sed -i -e "s/head.*/grep \'^U+\'/" bin/singlecode \ 11149:2017-08-08 ` sed -i -e \'1i\\#!/bin/bash\' bin/singlecode \ 11148:2017-08-08 ` sed -i -e \'s/multicode/singl 01:44:54 oops 01:44:56 `2 doag | grep 'sed -i[^ ]' 01:45:00 2/6:d aeoiu/\' bin/wlcm; cat bin/wlcm \ 5183:2014-12-09 ` sed -ir \'s/.$/g&/\' bin/wlcm; cat bin/wlcm \ 2257:2013-02-26 sed -i... -e \'s/grep/timeout 25 grep/\' bin/pastelog \ 2196:2013-02-21 sed -ie "s/ shachaf//" bin/list \ 2157:2013-02-17 sed -ie "s/ shachaf//" bin/list \ 1891:2013-01-27 sed -ie \'s,UTF-32,UTF-16LE,\' bin/\\? \ 1890:2013-01-27 sed -ie \'s,UTF-16,UTF-32,\' bin/\\? \ 18 01:46:00 I didn't find any others with for f in bin/*e; do if [ -e "${f%e}" ]; then echo $f; fi; done if that was even right. 01:47:20 (I think it should've been.) 01:48:12 `doag bin/pasteloge 01:48:13 No output. 01:48:19 There's a lot of sed -ie in the lgs, I wonder why none of those files were created. 01:48:22 oh wait 01:48:26 `doag bin/pastelog... 01:48:28 2260:2013-02-26 rm bin/pastelog... \ 2257:2013-02-26 sed -i... -e \'s/grep/timeout 25 grep/\' bin/pastelog 01:49:27 `doag bin/?e 01:49:29 1906:2013-01-30 hg diff -r1891:1871 | patch -p1 \ 1890:2013-01-27 sed -ie \'s,UTF-16,UTF-32,\' bin/\\? \ 1889:2013-01-27 sed -ie \'s, | cat$,;,\' bin/\\? \ 1888:2013-01-27 sed -ie \'s,urandom,urandom | cat,\' bin/\\? \ 1887:2013-01-27 sed -ie \'2 s,$, | tr A-Z a-z | sed "s/ *$//"),\' bin/\\? \ 1886:2013-01-27 revert \ 1885:2013-01-27 revert \ 1884:2013-01-27 revert \ 1883:2013 01:49:49 `cat bin/?e 01:49:49 cat: 'bin/?e': No such file or directory 01:51:02 `3 doag | grep 'sed -i[^ ]' 01:51:10 1/18:10398:2017-03-11 ` sed -ie "s,\\\\n,\\n," bin/lowercase2 \ 6500:2016-01-03 ` sed -ie \'s/inp[)]$/unicode(inp, locale.getpreferredencoding())).encode(locale.getpreferredencoding())/\' -e \'2s/$/, locale/\' bin/loudly; \ 6484:2016-01-03 ` sed -ie \'s/inp[)]$/unicode(inp, locale.nl_langinfo(locale.CODESET))).encode(locale.nl_langinfo(locale.CODESET))/\' bin/loudly \ 5184:2014-12-09 ` sed -ir \'s/sed.*/tr 01:51:12 `cat bin/3 01:51:13 eval "$(shuf -n 1 <<'END' \ \` "$@" |& sport 3 \ cmd="${1-quote}"; \`^ 3 "$cmd" \ END \ )" 01:51:21 oerjan got lucky today 01:51:46 oops 01:52:04 `cwlprits ../bin/3 01:52:06 oerjän 01:52:15 `cat bin/n 01:52:15 line="${1-$(cat /hackenv/tmp/spline)}"; len="$(awk 'END{print NR}' /hackenv/tmp/spout)"; echo -n "$line/$len:"; sed -n "${line}{p;q}" /hackenv/tmp/spout; echo "$((line /hackenv/tmp/spline 01:53:37 `cat bin/2 01:53:38 ​\` "$@" |& sport 2 01:54:15 `cat bin/^ 01:54:16 cat: 'bin/^': No such file or directory 01:54:27 huh i thought that existed 01:54:38 `cat bin/`^ 01:54:39 ​[[ $# == 2 ]] || { echo "Usage: $0 n cmd" >&2; exit 2; }; for ((i=0; i < $1; i++)); do \` "$2"; done | sport 01:56:31 `` doag | grep 'sed -i[^ ]' |& sport 3 01:56:34 3/6:89:2013-01-27 sed -ie \'s, | cat$,;,\' bin/\\? \ 1888:2013-01-27 sed -ie \'s,urandom,urandom | cat,\' bin/\\? \ 1887:2013-01-27 sed -ie \'2 s,$, | tr A-Z a-z | sed "s/ *$//"),\' bin/\\? \ 1882:2013-01-27 sed -ie \'s, | tr.*,,\' bin/\\? \ 1881:2013-01-27 sed -ie \'s,tr -d .*,iconv -f UTF-16 -t UTF-8 -c /dev/urandom | tr -d "\\\\r",\' bin/\\? \ 1878:2013-01-27 sed -ie \'s,-c;,-c | head -c 1000;, 01:58:04 `` doag | grep 'sed -i[^ ]' |& sport 4 01:58:08 4/6:\' bin/\\? \ 1877:2013-01-27 sed -ie \'s,-f UTF-8,-f UTF-16,\' bin/\\? \ 1876:2013-01-27 sed -ie \'s,/dev/urandom,/dev/urandom | iconv -f UTF-8 -t UTF-8 -c,\' bin/\\? \ 1875:2013-01-27 sed -ie \'s,\\[:print:\\],[:print:]\\\\r,\' bin/\\? \ 1874:2013-01-27 sed -ie \'s,cat /dev/urandom,tr -d "[:print:]" sed -ie \'3 s,.*,if ! expr "$id" ">=" 0 "\\&" "$id" "<" $(wc 01:58:32 `` doag | grep 'sed -i[^ ]' |& sport 5 01:58:35 5/6:-l /dev/null; then id=$(expr $RANDOM % $(wc -l sed -ie \'s/ monqy//\' bin/list \ 1865:2013-01-27 sed -ie \'s/$/ monqy/\' bin/list \ 1850:2013-01-26 sed -ie \'s/$/ Sgeo drives the bus./\' wisdom/narutoverse \ 1592:2013-01-22 sed -is \'s/grep/grep -P -i/\' bin/seen \ 1250:2013-01-04 sed -ie \'s#-ne .print uc($_).#-pe \'\\\'\'$_ = uc\'\\\'\'#\' b 01:59:02 `dobg delquote 01:59:03 1906:2013-01-30 hg diff -r1891:1871 | patch -p1 \ 1873:2013-01-27 sed -ie \'3 s,.*,if ! expr "$id" ">=" 0 "\\&" "$id" "<" $(wc -l /dev/null; then id=$(expr $RANDOM % $(wc -l run sed -ie 's/echo "\*poof\*/printf "*poof*%s" "/' bin/delquote \ 0:2012-02-16 Initïal import. 01:59:38 `dowg narutoversee 01:59:40 4210:2013-12-19 rm wisdom/narutoversee \ 1850:2013-01-26 sed -ie \'s/$/ Sgeo drives the bus./\' wisdom/narutoverse 02:00:01 `dobg seens 02:00:06 wtf? 02:00:06 1592:2013-01-22 sed -is \'s/grep/grep -P -i/\' bin/seen 02:00:31 `` doag | grep ' rm.*e$' 02:00:34 11728:2019-02-11 rm bin/lowercase2e \ 10360:2017-03-07 rm lele lele \ 10295:2017-02-16 rm bin/disce \ 10294:2017-02-16 rm bin/loudlye \ 9083:2016-09-26 rm candide \ 8625:2016-06-27 rm quine \ 8540:2016-06-20 rm bin/e \ 8019:2016-05-11 rm wisdom/raspberrie \ 6001:2015-09-16 rm wisdom/toe \ 5813:2015-07-09 rm wisdom/he \ 5753:2015-06-25 rm 02:00:47 `rm bin/seens 02:00:49 No output. 02:01:44 `` doag | grep 'sed -i[^ ]' |& sport 6 02:01:47 6/6:in/WELCOME \ 1212:2012-12-28 sed -ie \'889 s/hard drive/hard drive /\' quotes \ 783:2012-10-06 run sed -ie 's/echo/echo -e/' bin/runc \ 752:2012-10-04 run sed -ie 's/echo "\*poof\*/printf "*poof*%s" "/' bin/delquote \ 744:2012-10-04 run cp bin/addquote bin/addquote_; sed -ie 's/echo/printf "%d) %s"/;s/") / "/' bin/addquote; cat bin/addquote 02:02:15 `dobg WELCOMEe 02:02:16 1282:2013-01-07 rm bin/WELCOMEe \ 1250:2013-01-04 sed -ie \'s#-ne .print uc($_).#-pe \'\\\'\'$_ = uc\'\\\'\'#\' bin/WELCOME 02:02:37 I did that quite a lot. 02:03:18 fortunately we invented sled 02:03:28 (Unfortunately sled still doesn't have a preview option. :-( ) 02:04:21 `` dobg runce; dobg delquotee; dobg addquotee 02:04:24 2111:2013-02-13 rm bin/runce \ 783:2012-10-06 run sed -ie 's/echo/echo -e/' bin/runc \ 1906:2013-01-30 hg diff -r1891:1871 | patch -p1 \ 1873:2013-01-27 sed -ie \'3 s,.*,if ! expr "$id" ">=" 0 "\\&" "$id" "<" $(wc -l /dev/null; then id=$(expr $RANDOM % $(wc -l rm bin/delquotee \ 752:2012-10-04 run sed -ie 's/echo "\*poof\*/printf "*poof 02:05:13 `dobg addquotee 02:05:15 993:2012-12-09 rm bin/addquotee \ 744:2012-10-04 run cp bin/addquote bin/addquote_; sed -ie 's/echo/printf "%d) %s"/;s/") / "/' bin/addquote; cat bin/addquote 02:05:37 `` doag | grep 'sed -i[^ ]' |& sport 7 02:05:40 7/6: 02:05:43 ah 02:06:12 i guess we got most of the *e ones before 02:35:25 -!- tromp has joined. 02:39:27 -!- tromp has quit (Ping timeout: 240 seconds). 02:40:51 -!- FreeFull has quit. 02:53:33 Is there any operetta house near Mornington Crescent? In the XYZABCDE.ZZT game there is, but I don't know if actually there is or if only it is the computer game. 03:30:09 -!- tromp has joined. 03:34:18 -!- tromp has quit (Ping timeout: 250 seconds). 04:00:00 -!- Taneb has quit (Quit: I seem to have stopped.). 04:00:49 -!- danieljabailey has joined. 04:01:28 -!- Taneb has joined. 04:23:51 -!- tromp has joined. 04:28:14 -!- tromp has quit (Ping timeout: 246 seconds). 04:46:40 One idea of Magic: the Gathering is an effect that will double all counters on all objects and players (once). 04:50:39 are there any interesting esolang applications of M:tG? I mean, I know it's TC 04:50:44 but what else can be said / done with it 04:52:22 I'd be interested in an esolang suitable for describing cards in a MtG-style game 04:52:39 It's not obvious at all how to do it well, since the game can be self-modifying in all sorts of subtle ways 04:52:49 is Pokémon card game TC? 04:53:19 iirc, it is much simpler, but i haven't played these things in almost 20 years 04:53:28 . o O ( how did I get so fucking old? ) 05:01:37 shachaf: Yes, I wanted such thing too. I did have some ideas about it though 05:02:06 I don't know if Pokemon card is TC, but, probably there is not enough memory; it has limited memory while Magic: the Gathering has unlimited memory. 05:04:56 because of unbounded counters? 05:05:34 an automaton with 1 unbounded counter (and appropriate operations) is TC, right? because you can Gödel-encode a whole tape 05:05:50 You need two counters, I think. 05:05:56 hmm 05:05:57 Well, I guess it depends on your operations. 05:06:12 If it's incremenet/decrement/etc. you need a scratch counter. 05:06:17 I guess with two counters you can do basically the two-stack-machine thing 05:06:21 mhm 05:07:14 You can encode a stack with two counters, and four counters with two counters 05:07:24 https://en.wikipedia.org/wiki/Counter_machine#Two-counter_machines_are_Turing_equivalent_(with_a_caveat) 05:09:33 ok 05:18:02 -!- tromp has joined. 05:22:07 -!- tromp has quit (Ping timeout: 240 seconds). 05:45:21 -!- oerjan has quit (Quit: Nite). 06:01:28 -!- MDude has quit (Ping timeout: 272 seconds). 06:25:03 what would you need to add to the mcculloch and pitts model of neurons to make it turing complete? an infinite supply of neurons? 06:37:26 I don't know what is mcculloch and pitts model, therefore I don't know 07:05:41 -!- tromp has joined. 07:10:03 -!- tromp has quit (Ping timeout: 245 seconds). 07:16:57 I thought of making the program for cards of Magic: the Gathering using either Lisp-based or RDF-based; an example in the RDF-based format (I mentioned before) is [:counter [:target :spell]] for "counter target spell". 07:21:16 I am not sure about some other kind of effects, but one possibility might be [:edit [:target [:or :spell, :permanent]]; :match [:choice :color]; :replace [:choice :color]] or something like that, for Sleight of Mind 08:01:23 -!- tromp has joined. 08:06:08 -!- tromp has quit (Ping timeout: 268 seconds). 08:21:33 -!- imode has quit (Ping timeout: 268 seconds). 08:35:51 -!- tromp has joined. 08:36:53 -!- tromp has quit (Read error: Connection reset by peer). 08:37:18 -!- tromp has joined. 08:39:03 -!- tromp has quit (Read error: Connection reset by peer). 08:39:38 -!- tromp has joined. 09:23:19 -!- b_jonas has joined. 09:23:49 shachaf: number of bytes instead of the number of bits for numeric types => I don't know, but I did that once in the names of library types in a small C++ library I wrote 09:26:14 I think either the number of bytes or the number of bits is better than some kind of word sequence like "char, short, long, uh... long long?" or "byte, short, int, long" or "byte, word, doubleword, quadword" or "byte, halfword, word, doubleword". even "byte, wyde, tetra, octa" gets stuck once you want to name larger sizes. 09:27:07 the x86 architecture has instructions with "quadruple quadword" in their name 09:27:10 it gets ugly 09:29:38 -!- tromp has quit (Remote host closed the connection). 09:29:53 especially because the letters can collide: "S" in the mnemonic is used for "signed", "single", "scalar" and "string" 09:30:26 "D" is always "double", but it can be the "double" of a doubleword (4 bytes), a double quadword (16 bytes), or a double-precision float (8 bytes) 09:31:00 Isn't it up to octuple quadword with AVX-512? 09:31:33 The Intel convention of calling 16 bit values "words" is very annoying. 09:33:18 shachaf: yes, but they gave up trying to give new names, and the only way such large data are manipulated is when you move a whole register worth of data, so the MOVDQA instruction can move not only 16 byte XMM registers, but also full 32 byte or 64 byte registers 09:33:25 DQ stands for double quadword 09:33:54 and the instruction name in the manual is "Move aligned packed integer values", which doesn't even mention "double quadwords" anymore 09:33:59 they realized it's getting ridiculous 09:36:22 well that, plus there's an unaligned version MOVDQUA and the strange SSE4_1 legacy instruction MOVNTDQA, and those can move 32 and 64 byte too now and in the future respectively 09:40:37 oh, and the MOVNTDQ instruction too 09:41:32 Moven't 09:43:28 "I'd be interested in an esolang suitable for describing cards in a MtG-style game" => zzo38 wants a non-eso lang for that, since using it to model M:tG would be a useful thing and thus make the language non-eso 09:44:10 -!- tromp has joined. 09:44:26 zzo38: as for doubling counters, you know there's a card in Ravnica Allg that doubles counters on one object, right? 09:45:23 zzo38: https://scryfall.com/card/rna/123/biogenic-upgrade 09:45:40 it's not really useful for programming though 09:52:03 -!- AnotherTest has joined. 09:57:34 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190210.html 09:57:35 bobadventureslist http://bobadventures.comicgenesis.com/d/20190210.html: b_jonas 09:57:57 Is is possible to have a sequence of consecutive semiprimes of arbitrary length 09:58:15 (like the sequence 21=3*7, 22=2*11 is a sequence of consecutive semiprimes of length 2) 09:59:26 Taneb: no 09:59:49 Taneb: you can't have one longer than 5 10:01:12 b_jonas: can you explain why not? 10:01:50 Taneb: try to figure it out yourself first 10:02:00 OK 10:02:52 I think I have it 10:03:22 The only way a multiple of 6 can be semiprime is if it's 6 10:03:29 And there's a multiple of 6 every six numbers 10:06:03 I think the longest you can do is of length 3, because that argument works for 4 as well 10:06:22 And I found one of length 3, 33=3*11, 34=2*17, 35=5*7 10:19:49 Taneb: you can say something stronger than that 10:19:57 which multiples of 4 are semiprimes? 10:20:07 ah, you already said that 10:20:20 sorry, didn't read all the way down 10:22:29 -!- b_jonas has quit (Quit: leaving). 11:08:58 -!- arseniiv has joined. 11:46:27 -!- AnotherTest has quit (Ping timeout: 240 seconds). 11:55:12 i am so fascinated by the fact that we know there are infinitely many prime paires with a distance of k, but we don't know k yet 11:55:20 i cannot grasp how to prove that 11:55:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 11:55:58 myname: honestly a lot of what we know about prime distribution just seems magic to me 11:56:16 I should read "Introduction to the theory of numbers" in a little more depth 11:56:26 well yeah, that too 11:56:36 -!- Lord_of_Life has joined. 12:12:27 -!- wob_jonas has joined. 12:12:51 zzo38: for the question about Mornington Crescent, see under https://commons.wikimedia.org/wiki/Category:Opera_houses_in_the_United_Kingdom and https://en.wikipedia.org/wiki/Category:Opera_houses_in_England . 12:17:06 zzo38: or do a category-intersection to find all opera houses in London with https://petscan.wmflabs.org/?language=en&project=wikipedia&depth=6&categories=Opera%20houses%20in%20England%0D%0ATheatres%20in%20London&ns%5B0%5D=1&ns%5B14%5D=1&search_max_results=500&interface_language=en&active_tab=&doit= 12:18:04 then you'll probably need to check the location, whether it still exists, and whether it counts as an operetta house 12:18:55 -!- AnotherTest has joined. 13:51:54 -!- tromp has quit (Remote host closed the connection). 13:59:45 -!- monkeystance has joined. 14:00:56 -!- tromp has joined. 14:02:10 -!- izabera has changed nick to self. 14:02:16 -!- self has changed nick to izabera. 14:03:15 -!- monkeystance has left ("Leaving"). 14:35:29 -!- MDude has joined. 15:35:48 -!- xkapastel has joined. 15:44:59 `olist 1155 15:44:59 olist 1155: shachaf oerjan Sgeo FireFly boily nortti b_jonas 15:59:53 -!- kritixilithos has joined. 16:31:42 -!- AnotherTest has quit (Ping timeout: 250 seconds). 16:58:18 -!- AnotherTest has joined. 17:11:59 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:27:24 [[ElemScript]] https://esolangs.org/w/index.php?diff=59801&oldid=59718 * Areallycoolusername * (+1084) 17:28:31 -!- imode has joined. 17:28:49 [[ElemScript]] https://esolangs.org/w/index.php?diff=59802&oldid=59801 * Areallycoolusername * (+42) /* Hello World Program */ 17:36:43 -!- kritixilithos has quit (Quit: :q). 17:42:12 -!- Essadon has joined. 17:51:20 [[ElemScript]] https://esolangs.org/w/index.php?diff=59803&oldid=59802 * Areallycoolusername * (-42) /* Hello World Program */ 17:57:14 [[ElemScript]] https://esolangs.org/w/index.php?diff=59804&oldid=59803 * Areallycoolusername * (+555) /* Implementations */ 18:04:06 -!- AnotherTest has quit (Ping timeout: 252 seconds). 18:08:46 [[ElemScript]] https://esolangs.org/w/index.php?diff=59805&oldid=59804 * Areallycoolusername * (+26) 18:56:24 -!- b_jonas has joined. 19:21:08 -!- MDude has quit (Ping timeout: 250 seconds). 19:25:05 -!- MDude has joined. 19:45:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:49:47 wob_jonas: Well, anyways the operetta house in XYZABCDE.ZZT game is just called "Operetta House of ZZT", so it isn't an actual operetta house anyways. 19:53:45 -!- xkapastel has joined. 19:59:10 what's the fastest possible invertible float -> string function 19:59:55 (where "string" is a asciz char array) 20:00:47 probably something that offers some kind of lookup table. 20:01:11 hmm, maybe equivalent to "fastest function from an array of bytes that may be zero to a larger array of bytes that are NOT zero" 20:02:08 basically an escaping question 20:02:14 If zeros are rare, escaping them (and the escape character) isn't half bad, though variable-length. 20:03:10 also I don't care how slow reading this back is, just how fast I can dump this to stdout 20:03:59 the main thing is avoiding zero, so that I can use zero to separate things 20:04:37 or escaping zero I guess 20:05:11 yeah, find the least common byte, make it an escape character 20:05:12 Well, you don't need to have a zero in the escape sequence of zero. 20:06:09 can't we do some nice prefix coding instead of zero termination? 20:06:21 int-e: prefix like what 20:06:29 oh including the length? 20:06:37 well... length byte. data. or type tag. data. 20:06:42 riight htat makes more sense 20:07:03 I assumed from the question the context didn't allow for that. 20:07:36 fizzie: well I assumed it was probably slower to dump the length for some reason 20:07:40 fizzie: well yes, but then orin wrote about dumping to stdout and not caring how long it takes to decode... which suggests a larger degree of freedom 20:08:25 it's a debug output where it will be mixed with other output 20:09:34 i think adding the length should not take long at all 20:09:34 I realized it might be faster to do printf("here is the output Oren cares about %d\n",len); then write() ; 20:09:37 for floats 20:09:58 orin: doubtful, the itoa algorithm will take some time 20:10:10 (however, it may beat write() for the unrelated reason of stdio buffering) 20:10:34 I think tag/len/body is the way to go 20:10:43 you can also nest them to log tree-shaped datastructures 20:12:32 I once wrote a library (I'm sure not the first implementation of this idea) where you could do printf-like logging calls, but it would actually just write the arguments in raw form, along with the address of the format string 20:12:58 hmmm... ctully I think it has to be exactly one call to wrtie(), because otherwise ouput from other threads will mix in 20:13:25 and a log viewer which would read the log and the executable used to generate it, and perform the formatting 20:13:35 under the assumption that only string literals are used as format strings 20:13:57 kmc: hmm what about ASLR? 20:14:09 I was just wondering about that :) 20:14:17 (probably a solvable problem, but did you deal with it?) 20:14:22 this was a long time ago, we were on RHEL 4, I don't think there was any ASLR 20:14:27 There are relatively many zeros in popular floats (like 1.0), so if you did want an escape-based solution, it may be best to pick *two* least common bytes (say a, b), and use the mapping {0 -> a, a -> ba, b -> bb, any other x -> x}. 20:14:45 I mean if all else fails you can start your log file by putting in a copy /proc/self/maps 20:14:46 but what I would probably do is just dump the base address of the .data section 20:14:49 mhm 20:15:14 (Assuming Linux, kind of. But other OSs should provide similar facilities.) 20:15:34 extern unsigned char data_section[] __attribute__((section(".data"))); 20:15:36 hmmm does anyone know if write() is atomic 20:16:08 I believe that would create a load time relocation 20:16:27 then you could dump &data_section 20:16:31 or am I just fkd if I want to output anything into a stdout that is shared with other threads all spewing garbage 20:16:36 also I think there are automatically generated symbols for section begin/end 20:16:46 orin: I believe cstdio has locking by default 20:16:50 so fwrite() would be atomic 20:16:56 but I don't recall for sure so look it up 20:17:34 that may be implementation defined 20:17:42 seems likely, as the C spec doesn't even have threads (until C11) 20:17:57 On POSIX for write I think that depends on what you're writing to. For example for a pipe "Write requests of {PIPE_BUF} bytes or less shall not be interleaved with data from other processes doing writes on the same pipe". 20:18:06 "POSIX requires stdio to be thread-safe, which is quite unfortunate since it kills performance and since there's no practical way to operate on the same FILE from multiple threads (data will come out hopelessly interleaved; atomicity is only at the character level)." 20:18:11 hmm 20:18:20 of course you can also implement your own locking. 20:18:47 or send the messages to a single logger thread somehow 20:18:57 (one way would be datagram sockets) 20:20:08 ok I guess I'll just open a new file from MY thread 20:20:23 <3 __attribute__((section())) 20:20:26 I would expect fwrite() to be better overall, unless there are many threads; in the latter case I would think of splitting the log files into one per thread. 20:21:03 Did you see https://github.com/mortehu/xflags ? 20:21:05 well there's a lot of threads writing things, but only one of them writing something I care about 20:21:10 * kmc is not really sure that her particular section() trick works 20:21:54 for constant strings it should be .rodata I suppose 20:22:01 It's a fancy command line flag library that puts the metadata in a section rather than using a bunch of C++ constructors like gflags. 20:23:41 * orin . o O (a library to generate images of flags) 20:24:00 int-e: ah yeah 20:24:13 also you'd be boned if you're using -fdata-sections 20:24:15 idk 20:24:23 it's been a long time since i really thought about these things :/ 20:24:27 I saw "xflags" and assumed it was like part of X11 20:24:34 You can use a linker script to export a start-of-section symbol, and I think something like that might exist by default, but I don't think you can do it with just an extern declaration. 20:24:36 liek xtank and studd 20:24:52 * kmc needs to figure out something to do with her life 20:25:04 orin: I assumed for a long time that pdftk was a gui program using the Tk toolkit 20:25:59 But for the purpose at hand, *any* know .rodata symbol should suffice; it doesn't have to be at the start of the section. 20:26:00 whoa, it's not 20:26:16 *known 20:27:01 int-e: true 20:27:46 $ xflags --blazon "Azure, three fleurs-de-lis Or" 20:28:04 @metar lowi 20:28:06 LOWI 112020Z 06007KT 030V100 9999 -SHSN FEW015 SCT030 BKN050 01/M01 Q1024 R08/29//95 NOSIG 20:30:31 Is ASLR worth the trouble? 20:31:03 questions 20:31:32 in what sense? 20:31:44 isn't it not even that effective 20:31:47 @metar CYYZ 20:31:48 CYYZ 112000Z 09015KT 15SM SCT024 BKN260 M04/M09 A3033 RMK SC4CI2 SLP281 20:32:19 imagine you had to find a needle in a haystack. if the location of the needle was only in a small set of locations, you can find it very easily no matter the haystack you're searching in. 20:32:33 similarly, if the haystack is small, you can just sift through it in a very small amount of time. 20:32:39 Is this an analogy to finding an address in an address space? 20:32:42 yes. 20:32:55 i feel like maybe you can just say "address" and "address space" 20:33:05 people seem to do well with physical analogies. 20:33:28 but i already know what aslr is 20:33:32 shachaf: well, there are ways around it, but they impose other difficulties on attackers 20:33:37 american sign language recognition 20:33:43 lul. 20:33:44 way tougher than speech recognition imo 20:33:49 i don't have a good knowledge of the current landscape on ASLR and ASLR bypass 20:34:03 also, windows ASLR is not as good 20:34:09 or that may have been fixed, but it was true for a long time 20:34:12 if your address space is able to be entirely traversed in a very small amount of time, ASLR won't fix it. 20:34:21 b/c each DLL gets loaded, when possible, at the same address in every process 20:34:23 In my limited understanding, with ASLR, you can't do ROP blindly; you need some information leakage to figure out which addresses to jump to first. 20:34:34 int-e: yeah 20:34:36 or blind guessing 20:34:38 So exploits get quite a bit harder. 20:34:46 but 64 bits gives enough randomization to make blind guessing pretty hard 20:34:59 yup, and that's why it's reasonably effective. 20:35:32 another example is if you're in a tool shop, and you wanna build something, but you're blindfolded and don't know where all the tools are, the shop has to be really small for you to do it in a suitable amount of time, or reasonably well-organized. 20:35:43 (on 32 bit x86 you have less than 20 bits of randomness) 20:35:44 i feel like that analogy isn't physical enough 20:35:49 let's get physical 20:35:51 maybe give me something in terms of electrons and photons 20:36:12 the wavefunction of the addresses you want never collapses. 20:36:15 :P 20:36:22 ∿ 20:36:33 shachaf: https://www.technologyreview.com/s/612887/how-quantum-terrorists-could-bring-down-the-future-internet/ 20:36:42 ∿~- 20:36:50 quantum terrorists 20:36:52 20:36:53 :O 20:36:53 (This has been bugging me since yesterday.) 20:37:12 so there's a finite amount of terrorists, or the terrorists are in a finite amount of states? 20:37:15 int-e: I know you have colors turned off, so I feel obligated to inform you that the above is in rainbow color. 20:37:37 shachaf: much obliged. but please don't do it again. 20:37:42 or do the terrorists have a number of quantized energy levels. 20:38:02 "terrorizing", "kinda tired", "super tired", "sleeping" 20:38:10 int-e: Also that page blocks incognito mode so I'm not going to read it. 20:38:15 But I can appreciate the title. 20:38:44 The thing that has been bugging me most is actually that people are considering to build a quantum internet. Or at least applying for and receiving research grants on that topic. 20:39:12 shachaf: huh, but it works without javascript?! 20:39:24 Yes, apparently it has JavaScript that detects incognito mode and hides the content. 20:39:29 academia can get funding for anything that has buzzwords in it. 20:39:45 that is both a blessing and a curse depending on the intent of people using that funding. 20:39:48 shachaf: so switch off javascript as well :P 20:39:59 (what's the poing of incognito mode if you leave javascript enabled?) 20:40:12 cool black borders. 20:40:54 Hmm, which browser is this anyway. I have "private browsing". 20:41:09 google chrome 20:41:13 shachaf: you could also go to https://arxiv.org/abs/1901.08873 20:41:40 (but I didn't, so I don't know how accessible that paper is) 20:41:55 \rainbow{Quantum Terrorism}: Collective Vulnerability of Global Quantum Systems 20:41:57 int-e: the point is everything is logged out, random sites can't access your facebook account 20:41:57 of course it's on arxiv. 20:42:05 also you can see non-customized results for things 20:42:14 kmc: my what now? 20:42:22 The major imminent investments in quantum technologies will bring concepts like a \rainbow{global quantum Internet} and \rainbow{quantum Internet-of-Things}, closer to reality. 20:42:36 What do these words mean? 20:42:49 kmc: But I know what you're saying. 20:42:51 quantum internet of things. jesus christ. 20:43:06 what does that even mean. 20:43:12 soon your toaster will contain a helium dilution fridge with superconducting chips inside 20:43:17 so that you can quantumly monitor your toastt 20:43:24 function nnfi { nano ` find . -name "$1" ` } 20:43:25 I mean at least it doubles as a fridge. 20:43:43 shachaf: It means that there's smoke from burning VC money. 20:43:47 screw remembering where any of these source files are 20:44:01 shachaf: let's put a billboard on 101 that says "FINALLY, the quantum AI cloud for IoT blockchain" 20:44:02 tagged file system! 20:44:58 @google "finally tagless filesystem" 20:44:59 No Result Found. 20:45:02 :-( 20:45:06 -!- atrapado has joined. 20:45:11 @google "finally tagless file system" 20:45:12 No Result Found. 20:45:15 kmc: How much do 101 billboards cost? 20:45:41 i dunno 20:45:52 i got bored after about 30 seconds trying to figure that out just now 20:46:07 https://www.quora.com/How-much-does-a-billboard-cost-on-101-in-San-Francisco 20:46:10 "Creating a Mobile Application where Billboard Customer and Advertisers can work on booking billboard spaces Will be Approx 12000 - 15,000 USD." 20:46:16 -!- atrapado has quit (Client Quit). 20:46:26 can this person pay me Approx 12000 - 15,000 USD for wasting my time so hard with that answer 20:47:09 it is a shitty answer to the wrong question 20:47:44 "Demand for a billboard along Highway 101 between San Francisco and San Jose, which billboard sellers refer to as the “gold coast,” is so high that some companies are on a six-month waiting list." 20:47:46 the top answer there says you can get something for $500 20:47:54 but that seems low 20:48:04 this is just one of many reasons why 280 is better than 101 20:48:09 no startup billboards 20:48:16 shachaf: maybe it was stuck behind the pillar of a bridge :P 20:48:30 are turing machines mealy machines? I think turing machines are mealy machines. 20:48:31 int-e: I don't get why there's a waiting list instead of an auction. 20:49:08 https://www.sfgate.com/business/article/Billboard-ads-booming-in-Silicon-Valley-5921690.php is what I'm looking at and it quotes a range of $14,000 to $40,000 a month. 20:49:36 kmc: split it? 20:49:53 imo let's just get a billboard in iowa 20:50:55 imode: in the sense that the symbol written may depend on the current tape symbol... yes. 20:51:16 the quantum ai cloud for IoT corn 20:51:26 just hire a graffiti guy on silkroad to spray paint your startup name over teh bilboards 20:51:38 -!- FreeFull has joined. 20:51:44 int-e: right but your machine reacts immediately instead of reacting based on the state that's entered. 20:52:01 can i get my billboard allocation on the \rainbow{blockchain} twh 20:52:10 Why do we care about Mealy and Moore machines? I do recall having to learn this for a computer architecture course but I never saw a motivation (and I can no longer remember which one is which) 20:52:15 == 20:53:17 int-e: it's mainly "how can input affect output". moore machines are typically more stable because their response is based on the current state rather than the current transition, so small "glitches" in input don't accidentally trigger outputs. 20:53:45 but it seems like all automata are mealy machines, not moore ones. 20:55:03 `grWp harvard 20:55:04 No output. 20:55:16 `grWp neumann 20:55:17 No output. 20:55:39 What a great prank this channel is. 20:55:55 We've got people typing strings like "`grWp" non-ironically. 20:56:20 Well, it's UsEfUl. 20:56:46 it's like unix but even more ridiculous 20:57:16 -!- AnotherTest has joined. 20:57:20 (I'm using the word "useful" in a very limited sense here, obviously; the usefulness does not extend beyond #esoteric.) 20:57:33 `? #esoteric 20:57:34 ​#esoteric is the only channel that exists. After monqy left it became slightly off-centër. It's a 7-codimensional hyperenchilada about 30 m (100 ft) across. oerjan seems to be making a lawn in the northern part, but it keeps getting dug up by free ranging moons. Currently located in the Atlantis Exclusion Zone. 20:58:09 Hmm, is the AEZ below water? 20:58:51 kmc: do you understand windows SEH twh 20:58:57 no 20:59:00 imo why are windows things so complicated 20:59:08 why are posix things so complicated 20:59:15 also true 20:59:21 posix is a shit-show 20:59:30 correct 20:59:45 but win32 is quite a mess itself 21:01:09 I feel sorry for the MSFT engineers who had to reimplement all the wacky linux syscalls and flags etc 21:01:16 they seem to have done a really good job 21:01:52 the only thing i tried in WSL that broke was gnu screen 21:01:58 and i'm going to blame screen for that by default 21:02:09 heh does wine work in WSL? :P 21:02:19 because it is an enormous pile of cruft that is probably doing all kinds of terrible things 21:02:28 and POSIX terminal stuff is crazy 21:03:03 int-e: you'd need to add an X server as that's not part of WSL 21:03:20 The Linux system call ABI is much more reasonable than all of POSIX. 21:03:39 I agree 21:03:46 I wonder how many ioctls they implemented 21:03:53 you need some for terminal stuff at least 21:03:59 `? ioctl 21:04:00 ioctl? ¯\(°​_o)/¯ 21:04:18 ioctls are bad 21:04:18 Something with HP Lovecraft, maybe? 21:05:23 "I wish I had a system call for... but I'd have to design a proper API and convince 10 million people... let's put in an ioctl instead." 21:05:30 yeah 21:06:28 The Windows approach of having regular functions for syscall services seems p. reasonable. 21:06:37 Except they do all sorts of odd things. 21:06:45 what do you mean? 21:07:26 The way you make a window in Win32 is you pass it a window callback and it can call it whenever it feels like. 21:07:38 right 21:07:47 Even though you also need to get window events, it can call it outside your event loop. 21:07:55 good times imo 21:10:01 At least a syscall ABI would probably not do things like that. 21:10:07 Except for signals, I guess, so who knows. 21:12:15 yeah 21:12:31 posix signals are bad too 21:12:33 everything is bad 21:12:44 some things are good 21:12:46 everything should be a fd 21:12:47 like cats 21:13:09 signalfd is pg 21:13:21 windows is full of handles IIRC 21:13:25 yep 21:13:40 shachaf: should i learn winapi sometime 21:13:43 why 21:13:51 signals are a mixed bag. some things really need to be so async that they should be handled by signals, so then you use signals. for some things like SIGPIPE the signal is only there for historical compatibility, and you just use the sane interface instead. 21:14:37 for the rest, when you don't need async but there's no specific non-signal interface, like SIGCLD, you use signalfd on linux, or have the signal wake up your event loop otherwise, for which there are event libraries like schmorp's libev. 21:14:41 i'm not convinced signals are the way to go 21:14:48 but perhaps it should be an option, yeah 21:14:50 that's for unix. I don't know about win32 api. 21:14:57 i think signalfd is a nicer way to do signals in many cases 21:15:10 kmc: like I said, sometimes you need them, and sometimes you don't, in any case we can't get rid of signals now 21:15:42 yeah 21:16:14 Windows SEH is the analog of signals, I think? 21:16:29 And it does all sorts of complicated things like stack unwinding. 21:16:53 stack unwinding is complicated 21:16:59 Sometimes SIGPIPE is useful for terminating the process without having to program it yourself (you can tell it to ignore SIGPIPE if you do not want that; custom signal handlers are probably not so useful for SIGPIPE though), but unfortunately you cannot tell which file descriptors to use SIGPIPE and which don't (except for sockets), which can be a problem if writing a library rather than a standalone program. 21:17:06 is the elf stack unwinding bytecode turing complete 21:18:01 (I would think normally you would want SIGPIPE only for file descriptor 1 anyways, but nevertheless it is used for all file descriptors.) 21:19:10 -!- arseniiv has quit (Quit: gone completely :o). 21:19:43 shachaf: did you know that openbsd implements pselect() as a userspace wrapper for select() 21:19:48 thereby defeating the entire purpose 21:19:57 and breaking posix compatibility 21:20:09 at least it was so at one point 21:20:13 no 21:21:34 ^style 21:21:34 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl* youtube 21:21:38 ^style irc 21:21:38 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 21:21:45 fungot: why can't we have nice software? 21:21:45 int-e: today's revenge of the nerds is called? iirc, you're not using emacs. 21:21:54 posix is pretty esoteric 21:21:58 zzo38: I don't think SIGPIPE is too useful even for fd 1, because the programs that want to terminate on SIGPIPE also want to terminate when they get any unexpected error from write, not just EPIPE. 21:22:03 that... worked better than expected 21:22:34 b_jonas: Yes, that is a valid point. 21:23:22 I think EPIPE comes from the times when memory was so tight that some programs didn't include the error handling code that they should have, just to gain a little space 21:25:32 kmc: imo invent a good system call api instead twh 21:26:10 shachaf: well, i've thought about it 21:26:22 there are a few things i think would be important 21:27:03 #1 is a uniform way to refer to kernel objects 21:27:07 like a capability 21:27:30 this would prevent many issues in posix such as the race condition on PIDs, which are just integers and not fds 21:27:48 kmc: don't we already mostly have that, with file descriptor-like objects, fds on unix, and whatever their fancy windows equivalent is called on win32? 21:27:54 some uppercase thing 21:28:05 which has some generic way to get sent to a spawned process too 21:28:08 b_jonas: that is the kind of thing i mean, but they aren't uniformly used in posix 21:28:14 Except lots of things aren't fds. 21:28:20 there are many other ways to refer to kernel objects which have various issues 21:28:35 possibly even designed better on win32 than on unix, though they have the advantage of less historical baggage 21:28:41 such as, you can fork() to create a child process, then the process dies and the PID is reused, now you will be sending signals to some random other process 21:28:45 what if everything was a 64 bit UUID 21:28:49 is fork() even a good api 21:28:52 is it worth the trouble 21:28:56 shachaf: probably not, but it's fun 21:29:02 kmc: yes, that one is a known problem that's still not solved 21:29:08 you can implement a limited form of call/cc with fork 21:29:16 i was p. happy with myself when i got that to work 21:29:23 orin: 64 bits is not v. universal hth 21:29:27 naming processes 21:29:43 shachaf: fork() and exec() should be combined into a single thing 21:29:43 I thought of something too, there is some similarity like Plan9 that you can use files for most stuff, so maybe if it is call Plan10. You can use file descriptors for many object including processes like you mention (although process IDs exist too, which are used to find a running process in the file system). If your program does not define Plan10Main() then the default implementation sets up POSIX compatibility and then calls main() 21:29:45 sadly the namespace is even just 15 bits large, so it gets reused very quickly 21:29:58 (The default implementation of Plan10Main() is added by the C compiler) 21:30:02 and yeah sending fds or equivalent between processes is important 21:30:18 that is one of the good things in posix, even if the API for it is really shitty 21:30:27 creds too 21:30:40 I think creds could be consumed by that sort of fd-as-capability, but i'm not sure 21:30:48 kmc: sure, the sending part is fine, and both unix and win32 has that. the hard part is not sending on unix, again because of really old historical reasons 21:30:49 did you know bitcoin does 2^65 hashes per second 21:30:59 argh 21:31:04 that's a lot 21:31:42 shachaf: that's too many, we need to shut down bitcoin 21:31:52 shachaf: I also think it's important to have a uniform way for userspace and kernelspace to exchange structured data 21:32:06 I also thought of fork(), I thought that sometimes fork() is helpful although another variant that can often be better, which can be called cfork(), which shares all memory and all registers even including the program counter and stack pointer, and suspends the parent process; once the child terminates or executes another program instead then the parent continues from there; exec() returns 0 if successful in this case. 21:32:27 More than pointers to C structs? 21:32:51 This way, you can program many things before calling the other program. 21:33:00 zzo38: Is that just vfork? 21:33:06 which would be a) documented in a machine readable way, with b) autogenerated bindings for popular languages, c) typed, d) fast 21:33:09 shachaf: no, it's slightly different from vfork 21:33:22 (You don't need vfork() anymore, because cfork() is better) 21:33:24 I for one don't see the point to introduce that now, since we do have a working vfork 21:33:27 still 21:33:27 shachaf: well, there are some problems with the ways structs are used in posix 21:33:33 i find them pretty cumbersome 21:33:39 for one, there are so many of them 21:33:47 shachaf: Not quite; it is a bit different. 21:33:52 I mean, at some point it might be good for OSes to be built on something other than raw binary data 21:33:53 I mean, if you designed it all over from the scratch it may have been better, 21:33:57 but I don't see much point 21:34:03 it's not like it would save much resources 21:34:07 I think a typed FS could be very interesting too 21:34:11 strongly typed shell pipelines 21:34:35 kmc: PowerShell does that IIRC 21:34:43 Doesn't PowerShell have typed pipelines? 21:34:51 shachaf: as it happens, Cap'n Proto satisfies all of those criteria, plus it has a capability system, plus compatibility between different protocol versions 21:35:44 another obvious thing to do with a capabilities based OS is to add some cryptography so that capabilities can be signed and serialized and shipped around the world 21:36:01 but windows is still built on top of raw CPU stuff rather than on top of the CLI 21:36:38 Cap'n Proto for system calls? I'm a bit skeptical. 21:36:43 whereas you could have a strongly typed language as the layer below most of the operating system 21:36:48 shachaf: well, it's just an aside 21:37:24 if you can send capabilites then you can also implement sockets that way 21:37:26 which would probably cost some speed but increase safety 21:37:34 opening a connection is done by sending a capability 21:37:51 this will also give you some transport layer security 21:38:04 Sending a capability to whom? 21:38:14 anyway. kernel capabilities and structured/typed data. 21:38:17 kmc: most of those probably needn't involve the kernel, they can be done as a wrapper on user side, with a demon that handles the cryptography stuff 21:38:27 true 21:38:35 I agree about structured data 21:38:38 shachaf: sending it to a process on that machine which handles new connections, i guess 21:38:43 but im not sure about typed data or caps 21:38:44 the main problem with that is the vast amount of software already rlying at some point on the unsafety of the computer it runs on 21:39:10 kmc: speaking of all these things, have you seen the mill yet 21:39:25 >___< 21:39:28 imo watch the first few videos at 2x speed 21:39:31 I think that vfork() does not share registers and does not guarantee sharing memory or suspending the parent process; my proposal changes those things. 21:40:17 shachaf: do you like or dislike the thing where you have c structs which start with a tag and length field 21:40:28 and then you can cast between different types 21:40:32 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59806&oldid=59781 * Cortex * (+12) 21:40:33 zzo38: yes. and I still don't see why what you propose would be so useful it's worth kernel support 21:40:51 What is that thing? 21:41:09 zzo38: vfork suspends the parent process 21:41:30 shachaf: like, you can have different versions of a struct but they all start with the information necessary to determine its type and length 21:41:36 idk, seems like it could be good for api compatibility 21:41:45 I've heard of a version with the length. 21:41:47 you can add fields w/o breaking anything 21:41:51 yeah 21:41:58 Where the same function can accept multiple versions of a struct as long as you increase the length each time. 21:41:58 int-e: yes, but it doesn't _guarantee_ that, on account that Linus said like twenty-five years ago that if people abuse vfork for things that aren't just an optimization over fork, then he'll change it to act as fork 21:42:02 Someone said Windows does that? 21:42:06 I haven't used it. 21:42:14 shachaf: ksplice did some silly things to add fields to structs 21:42:23 sometimes storing it in padding or an unused field 21:42:34 or in a hash table keyed by the struct's address 21:43:32 vfork() isn't very pointful on modern virtual memory machines 21:44:08 kmc: did you know there are some architectures without virtual memory where linux has vfork but not fork 21:44:12 oh are we discussing Linux or POSIX? The manpage says that POSIX deprecated vfork. 21:44:15 kmc: it sure is, if you're like git and spawn a thousand child processes 21:44:28 shachaf: that makes sense 21:44:38 int-e: As b_jonas said, it is not guaranteed. Also, it does not share the program counter with the parent process, and might not share variables that are stored in registers, as far as as I know. 21:46:14 shachaf: do you think it's good to have a syscall like clone() that lets you individually decide which things to share or not share? 21:46:27 why not? 21:46:39 idk 21:46:45 a lot of windows system calls can take a process handle as an argument 21:46:54 so the mmap equivalent can allocate in another process's address space and so on 21:46:59 that's neat 21:47:06 seems much nicer than ptrace for debuggers for instance 21:47:09 I remember UML doing some nasty hacks for that 21:47:16 UML? 21:47:19 user mode linux 21:47:24 Ah. 21:47:24 ` uname -a 21:47:25 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: : not found 21:47:26 `` uname -a 21:47:27 Linux (none) 4.9.82 #6 Sat Apr 7 13:45:01 BST 2018 x86_64 GNU/Linux 21:47:34 aw 21:48:00 I thought that did mention UML at some point. 21:48:10 ``` cat /proc/cpuinfo | sed -n 2p 21:48:11 vendor_id: User Mode Linux 21:48:12 is that the same bot that was here forever ago 21:48:13 int-e: ^ 21:48:29 kmc: it's a reincarnation, the one that was here forever ago was called HackEgo 21:48:35 yeah 21:48:40 same codebase? 21:48:51 the userspace contents was inherited from a backup of HackEgo 21:48:58 I don't know about the codebase, fizzie knows 21:49:03 I know he made some substantial changes 21:49:05 I remember poking at UML for a while trying to find an exploit for the bot 21:49:06 but some of it are probably kept 21:49:14 kmc: I believe so, since Gregor made it public. 21:49:34 (that yes, yes, it's the same codebase) 21:49:37 fizzie is the keeper of the bot now 21:49:49 `? hackeso 21:49:50 HackEso is almost but not quite unlike HackEgo. 21:50:39 isn't that missing a "completely"... 21:51:05 or 'entirely' 21:51:13 But then it would be false. 21:51:20 kmc: maybe you should work on the mill team 21:51:27 get some sweet equity 21:51:35 FireFly: ah yes, it's "entirely". 21:51:43 j-bot is also sort of such a reincarnation. I gave away the code but I no longer support it. 21:51:52 I do use it though 21:52:01 [ |.'lufesu' 21:52:02 b_jonas: useful 21:52:13 is it written in J? 21:52:15 did tangentstorm succeed after you, or was there someone in-between? 21:52:18 kmc: It's essentially the same codebase, I've made a few tweaks but I made those when it was still HackEgo. 21:52:19 no, in ruby 21:52:21 kmc: no, worse. ruby 1.8. 21:52:36 (I don't speak ruby, so I just host it in a mostly-working state) 21:52:56 never got ported to ruby 1.9, and you have to correct syntax errors and then fix some references to String methods to port it over to any ruby that's still supported, which is like 2.1 now 21:53:02 fungot: where's boily? 21:53:02 int-e: i see what you mean? if so, we can use more bits in local loops. it definitely uses _lots_ of tail calls is guaranteed to make venom bleed out of your nose 21:53:05 or 2.3 or something 21:53:09 Well, maybe a few tweaks since then too. But still. 21:53:10 oh I might've done that maybe 21:53:19 hi fizzie 21:53:20 I recall having to do some minor edits to get it running 21:53:40 ruby --version is apparently 2.5.0 21:53:41 it might still have 21:53:49 j-bot source: 21:53:49 b_jonas, jevalbot source is http://www.math.bme.hu/~ambrus/pu/jevalbot.tgz 21:53:50 that command 21:53:52 yeah 21:54:00 that points to where I gave away the code 21:54:46 hm I should put the changes I made locally on https://github.com/FireyFly/jevalbot 21:54:55 and then maybe update that command to point there instead.. 21:54:59 yeah 21:55:03 What would you think of opinion of some interactive fiction VMs such as Z-machine, Glulx, TAVERN, OASYS, etc? (Maybe in future might also be TAVERN32, to make a 32-bit VM to combine good ideas from Glulx with TAVERN.) 21:56:36 kmc: should 64-bit computers use a single address space 21:56:44 idk 21:56:47 what's the advantage? 21:57:21 MMIX has positive (virtual) addresses, and negative (physical) addresses. 21:57:29 one of the mill videos talks about it 21:57:36 no tlb, for one 21:57:52 or at least it's not on a hot path for every l1 access 21:59:44 Tricky... how do you do process isolation, and shared memory? 22:00:28 channels~ 22:00:33 The way the Mill people do it they have protection separate from translation. 22:00:40 (these work against each other but I imagine one would end up with something TLB-like that keeps track of ownership/permissions anyway, and you will have that in the path to L1, or incur the wrath of the spectre.) 22:05:55 b_jonas: oh, and it looks like I didn't declare you admin in the config file--I guess I could change that if you'd like 22:06:05 FireFly: I don't think it matters 22:06:20 FireFly: the admin thingy is not very useful, especially since it goes only by nick 22:06:20 alright, I'll keep it as it is then 22:06:28 oh *nod* 22:06:35 so don't allow anything to admins that you don't want to allow to everyone 22:06:37 I hope it doesn't let an admin do too much 22:06:42 unless you change that code entirely 22:06:51 As mentioned, I don't really speak ruby :p 22:07:02 so my modifications have been minimal 22:07:14 if you want to allow more administration stuff, you probably have to add a local control interface that doesn't go through IRC. it's possible through irc, but not very useful 22:07:50 FireFly: from memory, it allows to quit the entire bot, to join or leave channels, to enable or disable the short invocation on channels, 22:07:55 and to ignore or unignore people 22:07:58 nicks 22:08:16 can you query whether a nick is registered on nickserv? 22:08:20 or i mean 22:08:29 kmc: you can. it's a bit complicated 22:08:35 there's three IRC extensions that you have to use for it 22:08:38 I mean nowadays you can request a capability for it 22:08:38 have it check that the nick being used is registered to the right account 22:08:41 lol 22:09:04 kmc: for this, it's not really worth IMO 22:09:09 it can be worth for other IRC stuff 22:09:15 I can tell the details if you really care 22:09:22 if you want to implement it that is 22:09:55 I figured it out at some point, with the help of #freenode, for potentially the other IRC bot 22:10:01 never really considered it for jevalbot 22:10:13 Maybe you can check for the client's address. 22:10:34 Use the entire address for authentication instead of only the nickname. 22:10:42 zzo38: yes you can, if you want anyone on the wifi behind the NAT to control the bot 22:10:56 I know that's a well-spread security model in some companies, but I don't really like it 22:11:28 Yes, it can be problem if you have Wi-Fi. But even then you could use cloaking; Freenode has that 22:11:53 heck, even the model where you need the login password of one of 20 random people working at the company to access every private data of the company isn't a model I like 22:12:14 zzo38: even without wifi it's a bad idea, most local networks are just not controlled enough 22:13:06 zzo38: and yes, you could use cloaking, that's a bit better, but then you could also use an invite-only channel, or just control the bot locally without going over IRC 22:13:37 O, well, it can work if it is controlled enough. But, yes, invite might also do, if you need to do with IRC. Local administration is probably best though in most cases 22:14:07 you could also send a password with each command in PM 22:14:28 kmc: yes, but if it's a cleartext password, then you need a way to tell that the bot is really what it claims it to be 22:14:33 for which you need a channel 22:14:35 hmm 22:14:37 yeah 22:14:42 it gets uglier than the bot telling who you are 22:14:45 Yes, I thought of that too, but you will need to identify them like b_jonas mention 22:14:53 (a channel or memoserv actually) 22:15:12 you can avoid that by using cryptography 22:16:15 it'd be a little cumbersome to sign every message, but you could have an IRC client do it I suppose 22:16:50 b_jonas: https://github.com/FireyFly/jevalbot/commit/e715b6d0bc1d4a8578d5c7e8d803b0cb069c71f6 the diff is a bit messy, I guess I also removed some trailing whitespace at some point 22:17:18 but apparently with the version check commented out and mostly like.. changing some regexps to use RegExp.new, it seems to work 22:18:25 oh and I guess I didn't care much for the nickserv bits.. 22:18:47 oh, no, I switched to identifying to nickserv account via PASS instead 22:25:27 The Mill also does implement fork using a special kind of translation 22:25:46 I swapped a CDful of randomness with a friend once with the intention of using it for one-time padding our /query. 22:25:51 Never unfortunately happened. 22:27:28 Also fungot's admin privilege is enabled by matching the message prefix to a preset nick!user@host (because it was easier than any wildcarding), which I guess should be as difficult to circumvent as getting an arbitrary cloak on Freenode is. 22:27:28 fizzie: the germanic subset is fnord, even to non-customers: a few people :) and no confirmed time travelers 22:30:41 kmc: Remember that one-time authentication scheme we talked about once? 22:30:57 I don't remember how it worked but it was TG that it was possible 22:32:34 which one 22:33:15 The counterpart of one-time pads for authentication 22:35:05 by the way, it's kind of scow that OTP is so malleable 22:35:11 can you do better twh 22:36:04 sure... add authentication 22:36:14 other than that 22:36:23 it's a feature 22:36:47 some cipher modes are less malleable than others 22:37:13 people don't use stream ciphers for disk encryption for various reasons probably including this one 22:46:14 yeah disk encryption is weird 22:47:35 I mean, not actually this reason but related reasons that also apply to OTP 22:47:39 Yeah... where do you put the MAC :) (I learned that "enterprise" drives support sector sizes a bit over a power of two for that purpose.) 22:49:02 By the way, do you know the trick for using arbitrary memory as a zero-initialized array without explicitly initializing it? 22:49:14 It's not a good trick but it was kind of surprising that it was possible. 22:49:23 s/good/practical/ 22:51:54 -!- arseniiv has joined. 22:52:09 oh? 22:53:00 You also need two extra arrays of the same length. 22:55:32 The trick is, you have three arrays, T data[N], int valid[N], int confirmation[N], and an index, c, where confirmation[0:c] is considered initialized. 22:55:54 valid has indices into confimration, and confirmation has indices into valid 22:56:07 data[i] is valid if valid[i] < c, and confirmation[valid[i]] == i 22:56:14 * int-e knew 22:56:39 And it's useful for sparse arrays if you have tons of memory? 22:57:19 So each time you see an invalid index you add it to confirmation and increment c. 22:57:22 I'll wager there's no practical use for it. 22:57:33 Maybe if T is huge itself. 22:58:51 If you wanted you could have one bit vector indicating which elements of your data array are valid. 22:58:57 I could see uses for that. 22:59:19 Yeah, that sounds more sensible. 22:59:48 I should stop saying "vector" to mean "array" 22:59:50 But from a theoretical perspective this is brilliant :) 23:00:17 i like this trick for the whoa, dude value 23:00:31 do you have any more whoa, dude algorithm tricks for me twh 23:00:35 shachaf: and start using "matrix" to mean "heap"? 23:00:48 Hm? 23:00:53 x += y; y = x - y; x -= y; 23:01:23 vector is a c++ism anyway 23:01:49 i,i https://twitter.com/johnregehr/status/1093948316948168704 23:01:54 (That's the ^ swap trick for rings that don't have characteristic 2.) 23:03:01 Right. 23:03:24 What algorithms should go in my list of clever and simple algorithms? 23:03:58 I have 23:04:00 hashlife 23:04:00 mergesort I guess? 23:04:06 pollard's rho hash collisions 23:04:29 questions. 23:04:31 exhaustive search of compact infinite spaces ("seemingly impossible functional programs") 23:04:52 I mean, mergesort is IMO the simplest efficient sort 23:05:15 I think mergesort is a bit too well known. 23:06:18 hmm, although I'm not actually sure what makes me percieve it as simpler than quicksort 23:06:31 quacksort 23:06:57 I guess because there's no question of arbitrarily picking a pivot 23:07:18 therefore no weird inputs that can screw it up 23:08:06 yeah htat's why mergesort is simpler to implement 23:08:48 shachaf: related to the collisions: rainbow tables 23:08:58 you need heap sort to combine the advantages 23:09:20 That uninitialized memory trick seems very close to the other uninitialized memory trick, https://research.swtch.com/sparse 23:09:34 int-e: Rainbow tables are kind of close to Pollard's Rho, right? 23:09:56 kmc: yeah but heapsort is hard to remember the details of, even more than quicksort 23:11:10 fizzie: Isn't that the same trick? 23:11:19 shachaf: they solve a different problem (preimages) and they have the distinguished subset trick for that. Which also comes in handy when parallelizing the search for hash collisions. 23:11:25 "is-member(i): return sparse[i] < n && dense[sparse[i]] == i" is the thing I said, anyway 23:11:54 shachaf: Your trick had an extra T data[N], this is just a set of integers. But I guess it's essentially the same trick. 23:12:14 They just use void as T, I think. 23:12:41 Assuming sizeof (void data[N]) == 0 23:12:51 Also assuming that's not a syntax error. 23:12:52 Yes. So it's an (allegedly) practical use for the trick, then. 23:13:27 I think that's a syntax error. `sizeof (void[N])` would have been a constraint violation but not a syntax error. 23:13:42 Although on GCC it would've been just N. 23:14:33 (I'm guessing. At least it allows pointer arithmetic on a `void *` assuming an element size of 1. For consistency's sake, you'd expect sizeof (void) == 1.) 23:14:44 ha, consistency 23:14:57 shachaf: so, basically, I think the distinguished subset trick, while related, is worth having its own entry on the list of clever ideas 23:15:00 "In GNU C, addition and subtraction operations are supported on pointers to void and on pointers to functions. This is done by treating the size of a void or of a function as 1. 23:15:03 A consequence of this is that sizeof is also allowed on void and on function types, and returns 1." 23:15:06 See, consistency. 23:15:16 well, ok 23:15:19 fizzie: You could also put a generation ID for each element and increase it by 1 to reset. 23:16:04 (Come to think of it, it might still not allow arrays of void even if void has a size.) 23:16:10 what is the sizeof an uninhabited type 23:16:19 is it -∞ 23:16:20 whoa 23:16:30 Unicode has COMBINING INFINITY᪲ 23:16:34 and no one ever told me 23:16:42 i,i COMBINING SEAGULL BELOW 23:17:23 modular smileys? 23:17:42 combining left-eyed monocle 23:17:52 °͜° 23:18:28 "COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE" (and the same for U) is the longest-named combining character. 23:18:45 With COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE as the runner-up. 23:19:09 COMBINING HORN is the shortest. 23:19:17 COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE matches it 23:19:17 I think it's also a magical artifact? 23:19:27 shachaf: That's "the same for U". 23:19:33 Oh. 23:19:38 You can't expect me to read inside parentheses! 23:19:49 shachaf: disjoint set forests are probably my favorite data structure 23:19:56 int-e: Union-find? 23:19:58 yes 23:20:05 that data structure is tg 23:20:40 I should add to my question that I mean data structures and algorithms that aren't in a typical undergraduate CS curriculum or something. 23:21:54 Why is reading Unicode character names so much fun anyway? I can't stop imagining the warning signs about COMBINING SEAGULL BELOW. 23:22:03 what is the shortest code point name 23:22:14 Looks like U+1F402 OX 23:22:17 Yes. 23:22:29 And ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM is still the longest. 23:23:30 what does the syntax ```namespace {``` mean? 23:23:33 wasn't this channel going to adopt a code point together 23:23:39 orin: It's an unnamed namespace. 23:23:43 orin: unnamed namespace, or unnamespace for short hth 23:23:51 god damn it 23:24:21 the namespace that can be spoken of 23:24:21 orin: You can use it to make symbols externally invisible. 23:24:25 is not the eternal namespace 23:24:29 "Its members have potential scope from their point of declaration to the end of the translation unit, and have internal linkage." 23:24:41 I need them to be externally visible agian god damn it 23:24:45 You should be thankful they didn't use the keyword "static" for it. 23:24:57 static namespace { 23:24:58 "static namespace { ... }" has a nice ring. 23:25:07 Did you hear that one about the hyphenated keywords? 23:25:30 "While one might think such things are too ridiculous to consider, note that we received serious-seeming suggestions during JEP 325 to use `new switch` to describe a switch with different semantics. Presumably to be followed by `new new switch` in ten years." 23:25:34 http://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000945.html 23:25:38 (That was for Java.) 23:26:18 obviously you gotta change the vowel 23:26:27 The tl;dr is a suggestion to allow - and - constructions to be used as keywords. 23:26:28 switch swatch swetch swotch swutch 23:27:14 ok I'm temporarily nameing the previously unnamed namespace as "namespace goddamnit {" 23:27:16 'static namespace' would be p. reasonable 23:27:26 namespace[static 4] 23:27:34 orin: I've usually used "namespace internal {" if I've needed an unnamed namespace that's named. 23:27:58 and then 'using internal;'? 23:28:02 well it only needs to be named until I find the bug 23:28:04 can you use using at file scope? 23:28:16 shachaf: did you know that the Unicode red heart emoji is actually HEAVY BLACK HEART 23:28:19 I only just learned this 23:28:33 quite a change imo 23:28:40 shachaf: yes, I know that trick (of using uninitialized memory), but I think that's one of those things that are almost never practical in the real world 23:28:45 I think you can use "using namespace /name/;" at file scope. 23:29:04 anyway I tried to make a HEAVY BLACK HEART with COMBINING INFINITY but it looks terrible :/ 23:29:13 fizzie: ah, right 23:29:25 "i like this trick for the whoa, dude value" => yeah, that's a good summary 23:29:40 kmc: That one seems to be rendering as a black heart here? 23:30:00 https://emojipedia.org/heavy-black-heart/ 23:30:04 There are a bunch of actual colored hearts. 23:30:19 I guess this is it. 23:30:37 Also my Android keyboard has two different smiley faces that look similar. One of them has a smile that's a little bit wider. 23:30:41 I don't know which one to use. 23:31:00 huh 23:31:09 Is there a way to determine the codepoint numbers of them? 23:31:15 -!- Essadon has quit (Quit: Qutting). 23:31:19 If you can do that then you can figure out which one should be used. 23:31:19 Yes, but I don't feel like bothering. 23:31:29 shachaf: I think the other one is the SLIGHTLY SMILING FACE. 23:31:38 Why is it so complicated to transfer text from my computer to my phone? 23:31:47 fizzie: Ah, that sounds plausible. 23:32:02 I guess if I want a full smile I gotta give up on SLIGHTLY SMILING FACE. 23:32:08 WSL terminal doesn't support emoji and stuff :( 23:32:13 shachaf: (The new Hangouts Chat experience shows the names in the suggestobox when you type a : on the computer.) 23:32:17 shachaf: transfer to your phone for what goal? 23:32:31 fizzie: But Hangouts Chat isn't available for consumers, right? 23:32:35 shachaf: do you have internet access on your phone? can you pastebin the text? 23:32:44 shachaf: I think it's only available to G Suite customers, yes. 23:32:48 Yes, but that's the hassley way. 23:37:47 I usually use a temporary Google Keep note for that. 23:37:59 fizzie: That's also what I do! 23:38:15 And it involves many steps. 23:38:21 Heh. I've been thinking it's not the right way to use Keep, but two people can't be wrong. 23:38:32 -!- zemhill______ has joined. 23:38:35 I should probably have a special-purpose Keep note for it so I can select all. 23:38:35 It does involve that, yes. And the syncing isn't super seamless. 23:38:35 -!- ATMunn_ has joined. 23:38:40 Right now I have other junk in the same note. 23:38:45 zemhill______: You're getting a little ridiculous with the underscores. 23:39:48 (Should finish migrating the BF Joust hill to esolangs.org and the esowiki bot, then I could retire that thing.) 23:44:35 -!- fungot` has joined. 23:45:07 Uh, what's that now. 23:45:22 fungot` 23:45:22 shachaf: i did just now is instead of storing the data in. 23:45:33 ah, that explains it 23:45:42 I guess the other one dropped off. 23:45:48 fungot 23:45:49 shachaf: the only thing that guy knows how to quote " within fnord in forth? all other postscript operator names ( re stack, anyway, try the lot and see what it looks like 23:46:04 (It doesn't actually know what it's own nick is.) 23:46:33 -!- tromp has quit (*.net *.split). 23:46:33 -!- fungot has quit (*.net *.split). 23:46:33 -!- ATMunn has quit (*.net *.split). 23:46:34 -!- dingwat has quit (*.net *.split). 23:46:34 -!- neanias has quit (*.net *.split). 23:46:34 -!- paul2520 has quit (*.net *.split). 23:46:34 -!- zemhill_____ has quit (*.net *.split). 23:47:41 kmc: Now Unicode also has a BLACK HEART which is actually rendered black 23:48:15 ♪ I see a red heart and I want it painted black ♪ 23:48:21 :) 23:49:02 Remember the old Android hearts? They were nonsense. 23:49:08 no 23:49:22 This was YELLOW HEART https://emojipedia.org/google/android-4.4/yellow-heart/ 23:49:32 -!- Vorpal has quit (Ping timeout: 246 seconds). 23:49:33 And https://emojipedia.org/google/android-4.4/green-heart/ and so on 23:51:19 J? 23:51:47 ^^ intended for ctrl-f search, saw a glimpse of "J?" in the scrollup 23:52:21 oh hey! that might be the one rare example when my honorable and learned friend fungot put a space after an open quotation mark correctly 23:52:21 b_jonas: null date, null char, null int, null double, null etc). what good is functional programming" 23:53:17 shachaf: are you sure? isn't it just rendered solid, when normally heart suit and diamond suit would be rendered as an outline? 23:53:42 -!- AnotherTest has quit (Ping timeout: 272 seconds). 23:53:51 -!- Lord_of_Life_ has joined. 23:54:01 Unicode has both BLACK HEART SUIT ♥ and WHITE HEART SUIT ♡ 23:54:24 And HEAVY BLACK HEART ❤ and BLACK HEART 🖤 23:54:39 shachaf: um yes, so I say those are solid and outlined respectively, whereas the original heart suit is ambiguous 23:54:56 you know, like how the ascii minus and ascii hyphen are ambiguous too 23:55:54 -!- Vorpal has joined. 23:56:34 -!- oerjan has joined. 23:56:40 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 23:56:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 23:56:53 b_jonas: but they later biguated them in unicode but kept the ambiguous one too 23:57:39 I don't think there's any "original heart suit", all three of HEAVY BLACK HEART, BLACK HEART SUIT and WHITE HEART SUIT are from Unicode 3.2. 23:58:19 SMILING HEART WITH HEART-SHAPED EYES 23:58:29 SCOWMAN WITHOUT SCOW 23:58:35 i like the cat w/ heart eyes 23:58:47 cats are tg 23:58:59 can #esoteric be the esolang + cat channel 23:59:01 I miss when emojis were tiny inline .gif files 23:59:11 on forums and stuff? 23:59:14 SA had some good ones 23:59:16 yeah 23:59:32 imo why doesn't unicode have combining characters to control animation 23:59:34 and on AIM 23:59:40 orin: "biguated"? what does that mean? 23:59:41 shachaf: In Chat, I keep a catbot window open because it doesn't have any "no chat visible" mode (that I can find) and it feels arbitrary to keep a specific chat window open. 23:59:56 fizzie: Chat being Hangouts Chat? 2019-02-12: 00:00:08 shachaf: Right, the thing you can't have. But still. 00:00:11 fizzie: What's the deal with programs not having a "no chat visible" mode, anyway? So annoying. 00:00:24 b_jonas: biguate: to make something biguous, or less ambiguous 00:00:26 In plain Hangouts I think you could have a "no chat visible" mode. 00:00:39 When I use Slack -- which I try not to -- I keep having to type "C-k sla" to switch to Slackbot, as a semi-neutral thing. 00:00:52 In Pidgin I gave up and I just leave focus on the first tab. 00:01:00 fizzie: there has to be an original heart suit, doesn't there? there's a heart suit character in both cp437 and in windows Symbol font 00:01:18 and those are encodings they've encoded in unicode 00:01:19 It's so annoying. 00:01:25 orin: ah 00:01:56 orin: I thought that's called "disambiguating", or "dambing" for short in Wikipedia jargon 00:02:03 it is 00:02:26 but that "disam" seems like two negative prefixes in a row 00:02:31 b_jonas: That does't mean it needs to have an ambiguous "original heart suit". I think the CP437 heart suit character is just translated to the BLACK HEART SUIT. 00:02:54 fizzie: sure, it's possible that one or more of those characters is the original one 00:02:55 "noninflammable" 00:03:36 one or both of the Commodore PET/64 charsets also have a heart suit 00:03:37 "am" is a negative prefix? 00:04:08 shachaf: no, but "a" is, and taking just one letter off from a word that isn't actually prefixed would be misunderstandible 00:04:18 also "an" is a negative prefix, and "am" is close 00:05:12 Also the Unicode official CP437 table -- https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT -- doesn't actually translate the <' ' characters to their graphical equivalents, but to the corresponding control characters. 00:05:22 https://www.dictionary.com/browse/an- 00:05:34 boo 00:05:40 fizzie: hmm ok 00:05:56 fizzie: how about the translation tables from symbol and petscii? 00:06:08 so many bytes and codepoints wasted on never used ascii control characters :( 00:06:25 kmc: that's why I often go out of my way to use them 00:06:55 kmc: they aren't never used. they were used as control characters in terminal/console keyboard input. 00:07:03 well, the low ascii ones 00:07:10 but they're very rarely used today 00:07:14 the high controls not that much 00:07:14 and C1 control characters even less so 00:07:30 you can send ECMA-48 codes using them, but people mainly use the low escapes instead 00:07:54 kmc: these days we aren't stuck with a font of 128 characters burnt into ram, so there's no such thing as "wasted" characters really 00:08:28 for example, one can avoid many problems by using \37 as your separator in CSV files 00:08:45 b_jonas: you could have shorter UTF-8 strings if some of the two byte characters were representable in one byte 00:08:58 instead those bytes are practically unused 00:09:34 orin: yes, I currently use \x1F as a sort of separator in a text file I write from one program and read from another program, where I have to save text that can in theory contain arbitrary unicode characters, though rarely does 00:09:51 b_jonas: I found the "IBM PC memory-mapped video graphics to Unicode" table -- https://unicode.org/Public/MAPPINGS/VENDORS/MISC/IBMGRAPH.TXT -- and that one maps the 03 to 2665 BLACK HEART SUIT, so that's arguably the original. 00:10:28 I also use \x10 as an escape prefix for certain control characters, plus \x11 to represent a crlf in the original 00:10:45 I don't even have code to read the \x10 escapes by the way, because they've never come up yet 00:10:50 I only have code to write it 00:10:55 Oh, this new emoji people are using is SHOCKED FACE WITH EXPLODING HEAD 🤯 00:10:58 the \x11 comes up, because some of the strings have crlf 00:11:06 um 00:11:26 sorry, I think I actually use \x0B to represent a crlf 00:11:27 not \x11 00:11:38 test _ 00:12:03 oh, \37 is underline in IRC 00:12:19 In any case, HEAVY BLACK HEART clearly hasn't been intended to be related to any of that, it's in the "Punctuation ornaments" subsection of the "Dingbats" with the FLORAL HEART and HEAVY HEART EXCLAMATION MARK ORNAMENT and ROTATED HEAVY BLACK HEART BULLET and suchlike. 00:12:37 (It's very unfortunate that it got co-opted to be the standard red heart on systems.) 00:13:34 yeah, that seems weird to me 00:14:05 I'm guessing nobody was willing to wait for the actual emoji stuff? 00:14:07 (The black and white heart suits are part of Miscellaneous Symbols / Playing card symbols.) 00:22:13 fizzie: The specific use case of a sparse set that needs efficient iteration is a good one, I guess. 00:22:29 Because you'd want something like the dense array anyway. 00:59:01 -!- tromp has joined. 00:59:43 -!- neanias has joined. 00:59:46 -!- dingwat has joined. 01:11:49 Every time I use a C++17 if with an init-statement, I get the feeling I'm actually writing Go instead. 01:12:24 fizzie: Did you know you can declare variables in the middle statement of a for loop? 01:12:27 I learned that today. 01:14:01 I didn't know that. 01:18:08 Have you always been able to do that? Apparently at least from C++11 onwards, and also in the condition part of while and if. 01:19:33 I guess you always have. Or at least from C++03, which is far enough. 01:19:44 Odd. In C you definitely can't. 01:20:35 Huh. Yeah, and it was kinda new you could do it in the first statement of a for loop. 01:20:54 I guess it's not quite as useful as the init-statement if/while, but could still be useful. 01:21:19 The init statement if/while is pretty useful. 01:21:38 Shame it's not C. 01:21:46 I mean, it's as useful as doing it in a while, which I did know C++ allowed. 01:22:04 Well, no, it allows the Go-style init-statement in a while. 01:22:12 I suppose that's not the same. 01:22:19 (no reason it couldn't be in C that I know of, for that matter) 01:26:21 The init statement makes this more useful with iterators. For pointers you could've done `if (auto p = find(x)) use(p);` even before, but now you can also `if (auto it = x.find(y); it != x.end()) use(it);` 01:28:01 did they add statement expressions ever 01:29:46 In my until-end-of-block if statement, you don't need initialization statements as a special feature. 01:30:06 You write "if (x := y; z) { ... }" as "{ x := y; if(z); ... }" 01:35:31 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:43:52 https://web.archive.org/web/20070829102324/http://www.ccs3.lanl.gov/mega-math/infinity.map <3 01:46:29 -!- b_jonas has quit (Quit: leaving). 01:48:25 -!- paul2520 has joined. 01:50:26 -!- arseniiv has quit (Ping timeout: 240 seconds). 01:52:55 -!- arseniiv has joined. 02:06:21 What is the god of snow? 02:11:33 [[User:A]] https://esolangs.org/w/index.php?diff=59807&oldid=59657 * A * (+22) 02:11:57 [[User:A]] https://esolangs.org/w/index.php?diff=59808&oldid=59807 * A * (+56) 02:12:22 [[User:A]] https://esolangs.org/w/index.php?diff=59809&oldid=59808 * A * (+67) 02:13:53 [[User:A]] https://esolangs.org/w/index.php?diff=59810&oldid=59809 * A * (+15) 02:14:12 [[User:A]] https://esolangs.org/w/index.php?diff=59811&oldid=59810 * A * (-17) 02:14:41 [[User:A]] https://esolangs.org/w/index.php?diff=59812&oldid=59811 * A * (+78) /* Custom links */ 02:15:20 [[User talk:A]] https://esolangs.org/w/index.php?diff=59813&oldid=57455 * A * (-4602) Blanked the page 02:15:36 [[User:A]] https://esolangs.org/w/index.php?diff=59814&oldid=59812 * A * (+51) 02:17:48 [[User:A]] https://esolangs.org/w/index.php?diff=59815&oldid=59814 * A * (+25) 02:18:06 [[User:A]] https://esolangs.org/w/index.php?diff=59816&oldid=59815 * A * (+7) /* Custom links */ 02:21:21 [[User:A]] https://esolangs.org/w/index.php?diff=59817&oldid=59816 * A * (+101) /* Custom links */ 02:31:44 [[User:A]] https://esolangs.org/w/index.php?diff=59818&oldid=59817 * A * (+814) 02:32:33 [[User:A]] https://esolangs.org/w/index.php?diff=59819&oldid=59818 * A * (+0) Redirected page to [[User:A]] 02:33:20 -!- arseniiv has quit (Ping timeout: 246 seconds). 02:34:29 [[User:A]] https://esolangs.org/w/index.php?diff=59820&oldid=59819 * A * (-3) 02:35:20 [[User:A]] https://esolangs.org/w/index.php?diff=59821&oldid=59820 * A * (+32) 02:42:33 [[User:A]] https://esolangs.org/w/index.php?diff=59822&oldid=59821 * A * (+456) 02:42:58 [[User:A]] https://esolangs.org/w/index.php?diff=59823&oldid=59822 * A * (+0) /* How to cook your delicious computer */ 02:45:31 [[User:A]] https://esolangs.org/w/index.php?diff=59824&oldid=59823 * A * (+62) /* How to cook your delicious computer */ 02:53:09 [[User:A]] https://esolangs.org/w/index.php?diff=59825&oldid=59824 * A * (-56) /* How to cook your delicious computer */ 02:55:29 [[User:A]] https://esolangs.org/w/index.php?diff=59826&oldid=59825 * A * (+57) 02:58:45 [[User:A]] https://esolangs.org/w/index.php?diff=59827&oldid=59826 * A * (+120) 02:59:32 [[User:A]] https://esolangs.org/w/index.php?diff=59828&oldid=59827 * A * (+29) /* How to cook your delicious computer */ 03:00:29 [[User:A]] https://esolangs.org/w/index.php?diff=59829&oldid=59828 * A * (-79) 03:00:55 [[User:A]] https://esolangs.org/w/index.php?diff=59830&oldid=59829 * A * (+24) 04:42:20 A A A 04:49:57 -!- FreeFull has quit. 05:14:32 -!- rodgort has quit (Quit: Leaving). 05:19:32 [[User:A]] https://esolangs.org/w/index.php?diff=59831&oldid=59830 * A * (+468) 05:20:52 [[User:A]] https://esolangs.org/w/index.php?diff=59832&oldid=59831 * A * (+13) /* Function innovation */ 05:23:55 -!- rodgort has joined. 05:27:33 [[User:A]] https://esolangs.org/w/index.php?diff=59833&oldid=59832 * A * (+6) 05:28:00 [[User:A]] https://esolangs.org/w/index.php?diff=59834&oldid=59833 * A * (-1) /* Impossible to describe function? */ 05:42:46 [[User:A]] https://esolangs.org/w/index.php?diff=59835&oldid=59834 * A * (+299) /* Impossible to describe function? */ 05:44:12 [[User:A]] https://esolangs.org/w/index.php?diff=59836&oldid=59835 * A * (+4) /* Impossible to describe function? */ 05:46:14 [[User:A]] https://esolangs.org/w/index.php?diff=59837&oldid=59836 * A * (+201) /* Impossible to describe function? */ 05:47:00 [[User:A]] https://esolangs.org/w/index.php?diff=59838&oldid=59837 * A * (-14) /* Impossible to describe function? */ 05:47:19 [[User:A]] https://esolangs.org/w/index.php?diff=59839&oldid=59838 * A * (-17) /* Impossible to describe function? */ 05:50:03 [[User:A]] https://esolangs.org/w/index.php?diff=59840&oldid=59839 * A * (-1906) 05:51:26 [[User:A]] https://esolangs.org/w/index.php?diff=59841&oldid=59840 * A * (+49) 05:54:04 [[User:A]] https://esolangs.org/w/index.php?diff=59842&oldid=59841 * A * (+155) 05:55:53 [[User:A]] https://esolangs.org/w/index.php?diff=59843&oldid=59842 * A * (+89) 05:57:24 [[User:A]] https://esolangs.org/w/index.php?diff=59844&oldid=59843 * A * (+14) 05:57:42 [[User:A]] https://esolangs.org/w/index.php?diff=59845&oldid=59844 * A * (+0) 05:58:02 I don't know what he's on about. 05:58:17 he doesn't seem to know much if anything. 05:58:36 he made a two-variable factorial function. 06:04:38 [[User:A]] https://esolangs.org/w/index.php?diff=59846&oldid=59845 * A * (-11) 06:05:07 -!- rodgort has quit (Quit: Leaving). 06:06:28 [[User:A]] https://esolangs.org/w/index.php?diff=59847&oldid=59846 * A * (+62) 06:14:35 -!- rodgort has joined. 06:33:57 -!- oerjan has quit (Quit: Nite). 06:39:44 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 08:49:11 fizzie: hizzie 08:49:22 I download IRC logs with wget -c 08:49:42 I think something about the configuration of the HTTP server makes it so it tries to redownload a fully-downloaded file? 08:50:09 http://esolangs.org/logs/2019-01.txt doesn't have a Content-Length 08:50:48 Maybe these are generated from a database or something instead of being real files. 08:53:20 shachaf: those aren't files; they are generated from a database on the spot 08:53:34 (confirming what you wrote) 08:58:05 How am I supposed to download IRC logs, anyway? 08:58:14 What I do now is make a list of files and wget -ci it 08:58:27 I add newer files at the top 09:06:08 * int-e doesn't know. 09:06:55 -!- tromp has quit (Remote host closed the connection). 09:40:41 -!- tromp has joined. 09:45:03 -!- tromp has quit (Ping timeout: 245 seconds). 09:46:04 -!- tromp has joined. 10:04:42 -!- imode has quit (Ping timeout: 250 seconds). 10:05:43 -!- AnotherTest has joined. 10:06:45 -!- Sgeo__ has quit (Read error: Connection reset by peer). 10:07:11 -!- Sgeo__ has joined. 10:25:52 [[Special:Log/newusers]] create * Luqui * New user account 10:38:03 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59848&oldid=59749 * Luqui * (+190) /* Introductions */ 10:38:16 [[User talk:A]] https://esolangs.org/w/index.php?diff=59849&oldid=59813 * Luqui * (+193) /* Impossible */ new section 10:38:30 [[User talk:A]] https://esolangs.org/w/index.php?diff=59850&oldid=59849 * Luqui * (-17) 10:38:41 [[User talk:A]] https://esolangs.org/w/index.php?diff=59851&oldid=59850 * Luqui * (+1) /* Impossible */ 10:46:37 [[User talk:A]] https://esolangs.org/w/index.php?diff=59852&oldid=59851 * Luqui * (+195) /* Impossible */ 10:47:40 [[User talk:A]] M https://esolangs.org/w/index.php?diff=59853&oldid=59852 * Luqui * (+19) 10:54:17 -!- arseniiv has joined. 10:57:56 -!- arseniiv_ has joined. 10:57:56 -!- arseniiv has quit (Read error: Connection reset by peer). 10:59:11 shachaf: I don't know, it's tricky. The "real" files are essentially the daily -raw.txt ones, except in https://github.com/fis/esolangs/blob/master/esologs/log.proto form and with the past (immutable) days Brotli-compressed. 10:59:29 shachaf: I could easily expose those real files, but maybe you don't want to download them in that form. 11:01:37 shachaf: Supporting Content-Length to the formatted monthly files would involve either scanning all the logs twice, or buffering it all in memory, and that'd be sad to do when not absolutely necessary. 11:08:39 shachaf: I *could* send a Last-Modified header with the files, and support the If-Modified-Since request header, which would at least allow you to use "wget -Ni" to not download the files that haven't changed, although it would still redownload the unmodified prefix that you already had of the most recent month every time. 11:13:47 -!- arseniiv has joined. 11:13:47 -!- arseniiv_ has quit (Read error: Connection reset by peer). 11:16:54 shachaf: I might also consider supporting Range requests, but it would be a bit more work, and for that to be useful you'd need to wget to work in some sort of "append mode" where it just sends "Range: bytes N-" where N is the size of the local file it has. 11:17:07 s/to wget/to convince wget/ 11:17:40 I guess it might be doing that with -c, I don't know. 11:18:35 -!- arseniiv_ has joined. 11:20:03 -!- arseniiv has quit (Ping timeout: 245 seconds). 11:20:03 AFAICT, doing that would still need me to essentially compute Content-Length, because while the Content-Range header can say something like "bytes N-M/*" to indicate the instance length is unknown, it must still provide concrete numbers M and N before streaming the response body. 11:22:09 -!- Sgeo_ has joined. 11:25:29 -!- Sgeo__ has quit (Ping timeout: 244 seconds). 11:33:11 shachaf: ...or maybe you could just make your download script do something like (where $f is the "2019-02.txt" or equivalent): if [[ $(date -r $f +%Y-%m.txt) > $f ]]; then true; else wget https://esolangs.org/logs/$f; fi 11:36:22 shachaf: I think that should only download files one extra time after the titular month is complete. Feel free to use ! in the condition instead of the "then true; else" nonsense, I'm always too afraid of Bash conditional expressions to. 11:46:15 -!- Sgeo__ has joined. 11:49:08 -!- Sgeo_ has quit (Ping timeout: 250 seconds). 11:55:05 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 11:57:51 -!- Lord_of_Life has joined. 12:04:26 -!- wob_jonas has joined. 12:06:36 zzo38: the handy reference chart at http://www.giantitp.com/comics/oots0999.html claims that the god of snow is Hoder. 12:08:03 zzo38: although according to Age of Mythology it's Skadi https://ageofempires.fandom.com/wiki/Skadi 12:50:25 re https://esolangs.org/logs/2019-01.html#l2mb , you know there are these nouns and adjectives associated with operations: "addition, additive" for plus, "subtraction, subtractive" for minus, "multiplication, multiplicative" for times, "conjunction, conjunctive" for and, "disjuction, disjuctive" for or. Is there such a fancy name for xor? Or do we 12:50:25 just called that "exclusive disjuction, exclusive disjunctive"? 12:58:16 -!- Sgeo_ has joined. 13:01:18 -!- Sgeo__ has quit (Ping timeout: 245 seconds). 13:01:46 There's "implication, implicative" for logical le, but the normal term for logical xnor is "equivalence", which doesn't end in "ation" so it dosen't help us. I think there was an obscure synonym "biimplication" though, so for xor we could use the term "inbiimplication, inbiimplicative", only that sounds horrible 13:02:43 hmm, https://en.wikipedia.org/wiki/Logical_connective mentions "bi-implication" and "biconditional". 13:05:37 I think it might just be that "exclusive disjunction". 13:05:52 Although I fully support all efforts to add new obscure terms. 13:19:09 -!- AnotherTest has quit (Ping timeout: 244 seconds). 13:23:40 fizzie: well, "bitwise exclusive disjunctive" is obscure enough I think 13:25:19 how about min and max, are there such terms for those operations too? 13:25:41 "maximization" is already taken for something else 13:26:27 also gcd and lcm :-) 13:27:17 perhaps that would be "greatest common division, greatest common divisive" and "least common multiplication, least common multiplicative" 13:29:58 I'll have to read what Knuth and Iverson use for these, they might give good ideas for words 13:33:07 could we use something like "masonry" and "carpentry" for min and max respectively, given that Iverson associates them with floor and ceiling? are there adjective forms of "mason" and "carpenter"? 13:36:45 or maybe some terms associated with heaven and hell. 13:37:52 or "descension, descensive" and "ascension, ascensive"? 13:38:25 -!- copumpkin has joined. 13:40:15 ah! apparently the term for xor is "exclusion, exclusive" 13:40:21 just like that 13:40:29 Foundation, foundative for "floor"? 13:40:29 no need to mess with "exclusive disjunctive" 13:40:55 Taneb: I'd like a matching pair, naming min and max in a related way 13:43:20 -!- AnotherTest has joined. 13:44:13 I don't think "demonization, demonizative" and "angelization, angelizative" works. 13:44:43 or it could be something about hills and valleys 13:47:42 Biggizing, biggisive; smallizing, smallisive. 13:50:44 there's also "inflation" and "deflation" 13:51:09 economists use lots of fancy jargons, we could ask them what they call something that causes inflation and deflation resp 13:51:37 or doctors for what they call something that causes growth (or welling) and shrinking resp 13:52:08 There's that whole bull/bear/hawk/dove thing that I can never keep straight. 13:52:10 they must have fancy latin terms for these 13:52:20 sorry, I have to go 13:52:27 fizzie: what bull/bear/hawk/dove 13:52:30 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 13:52:37 The markets thing. 13:52:46 https://www.binaryoptions.co.uk/trading-terms for a random up-the-top Google link. 13:52:51 Opinions not endorsed. 13:54:17 Oh, "have to go" as in right now. 13:54:48 @tell wob_jonas https://esolangs.org/logs/2019-02-12.html#lOd 13:54:48 Consider it noted. 13:56:44 "binary options" in the domain? that's not inspiring any confidence. 13:57:14 They have a nice wavy rainbow logo, that has to count for something. 13:58:57 . o O ( "I've bought a binary option at the horse races." ) 13:59:38 -!- Lymia has quit (Read error: Connection reset by peer). 13:59:45 * int-e almost went for a lottery ticket but those tend to have multiple payout options. 14:00:09 ... which makes them non-binary. 14:04:34 -!- arseniiv_ has changed nick to arseniiv. 14:17:27 -!- Lymia has joined. 14:46:48 -!- AnotherTest has quit (Ping timeout: 250 seconds). 15:32:48 "I usually thank the Prime Minister for an advance copy of her statement, but it was handed to me just as I left my office to come down here, so I can only assume she entrusted the Transport Secretrary to deliver it to me." -- Corbyn made a joke :) 16:21:05 -!- xkapastel has joined. 17:05:03 -!- poq has joined. 17:05:28 * poq love ion and elliot 17:05:36 * poq pours out drink for them. 17:05:38 ¯\_(ツ)_/¯ 17:05:47 -!- poq has left. 17:18:57 -!- oerjan has joined. 17:21:55 -!- imode has joined. 17:22:56 -!- b_jonas has joined. 17:24:55 there's "contraction", "extension", and a second sort-of pair "compaction", "expansion" 17:25:15 you can even say "contractive" and "extensive" too if you want adjectives 17:39:47 -!- AnotherTest has joined. 17:43:31 and then there's "position, positive" and "negation, negative" for some reason 17:45:24 stateful automata really do form the backbone of any given model of computation. stitching states together, you can yield any control flow construct you'd like. this differs from things like assembly, where the state structure is implicit and line/address/label-oriented. 17:49:35 we should embrace automata-based programming. 17:50:58 it's inherently visual and textual, lends itself well to composition and algebraic manipulation of code, and the underlying concepts are simple and relatively commonplace. 18:01:49 fizzie: I don't think it's worth putting very much effort in at all. When I wrote that without realizing the whole database situation. 18:03:11 fizzie: The reason I do it by hand is probably that I used to download IRC logs for a channel where they were pretty haphazard, sometimes collected from multiple sources etc., so there were many files with non-canonical names. That's not particularly relevant here. 18:04:15 they're sort of haphazard here too, in the sense that there are two or three different collections of irc logs that you may have to download 18:06:19 The esolangs.org logs are an attempt to merge the existing collections. Though I should really look into redundancy about gaps since it started recording "natively". 18:06:58 int-e: what do you have against binary options twh 18:07:19 fizzie: you mean like collect logs on multiple machines, to cover the time when one machine loses connection to the internet server? 18:07:33 I'm willing to donate server time on imode.tech for that. 18:07:38 and even auto-connect to different halves of the irc network in case of netsplits :-) 18:08:11 sadly right now I don't have a usable server of mine set up, one that's connected to the internet continuously. I should pay for one eventually. 18:08:19 * imode coughs. 18:08:30 Something like that. Not going to be on top of the priority list either, though. 18:08:32 imode.tech is up 24/7. 18:09:24 I think there has been more downtime for freenode reasons than for the current esolangs.org server reasons. 18:09:53 it's just a droplet that's hosting some hobby projects, but it has a public IP and a short domain name. I'm not sure how you handle logs but I wouldn't be remiss at least being a forwarder for redundancy. 18:10:49 fizzie: right, but the servers where I ran stuff so far had more runtime for non-freenode reasons. and the ISP at home here is terrible, it cuts off for hours some nights. 18:11:14 I could have a ruby script sitting idle and scraping this channel from multiple parts of the network, dumping to disk and forwarding on to another server in batches if you guys want. 18:11:34 imode: sorry, the multiple parts of the network was just a joke, don't take it seriously 18:11:42 * imode shrugs. :P 18:11:48 netsplits are reeeeeal. 18:12:02 imode: you can try to collect logs on a disk if you want, and manage the sharing later 18:12:44 Right now the way I handle logs isn't really set up for merging streams. Not that it couldn't be done, just I don't think I'll be attempting to do it in the very near future. 18:13:04 do you store compressed logs? 18:14:02 I store length-delimited https://github.com/fis/esolangs/blob/master/esologs/log.proto messages (without the event_id field, it's implicit) in a "one file per day" scheme with past days Brotli-compressed. 18:14:05 I could set up a system where we have a series of buffers that hold incoming log information from multiple sites, and we do N-way merges based on line count and then store the deltas. 18:14:28 neat! 18:15:42 I think merging multiple streams recorded from different freenode servers needs a little bit of heuristics, because there's no canonical order of messages. 18:16:00 yeah 18:16:02 it's hard 18:16:26 and there was that really infamous netsplit when there was twenty minutes of lag between some servers or something 18:19:16 I'm sure you could get it mostly correct. But I'd definitely archive all the original sequences losslessly, and only use the merged version for serving. Just so it's possible to backfill if things go wrong. Anyway, this is really not in scope right now. 18:19:54 better idea: multiple bots hosted on a single server, each DMing eachother and timing the response times. a single bot is designated as the primary scraper, and the primary scraper is based on response times. if the primary can't communicate to the other bots, a different bot with the smallest average response time to the others is selected as the primary scraper. 18:20:28 imode: the problem is that if they run on a single server, then they'll all cut off when that server loses net connection 18:20:34 or when that server goes down 18:20:50 they need to be on different servers, ideally by very different internet service providers 18:20:51 correct, but that server is monitoring a single channel. 18:21:17 and it's also in a datacenter under monitor. 18:21:36 perhaps in that indefinite future when I host a proper server, I'll make irc logs of my own, and share the ones for publically logged channels 18:21:49 but that indefinite future is always years in the future no matter when you ask 18:21:57 I could do this right now. 18:22:01 * imode thinks. 18:22:04 imode: feel free 18:22:50 ruby makes this pretty easy. let me see what I can do. 18:23:06 -!- FreeFull has joined. 18:23:13 and I should do the stuff that doesn't require an always on server, just downloading stuff and processing 18:23:19 and storing on my disk for later use 18:36:27 -!- ibot0 has joined. 18:36:37 -!- ibot1 has joined. 18:36:45 -!- ibot2 has joined. 18:36:51 -!- ibot1 has quit (Read error: Connection reset by peer). 18:36:51 -!- ibot2 has quit (Read error: Connection reset by peer). 18:36:52 -!- ibot0 has quit (Write error: Connection reset by peer). 18:37:04 well. that was a start. 18:37:44 they all said hi to eachother and all died. 18:40:49 -!- ibot0 has joined. 18:40:50 -!- ibot1 has joined. 18:41:23 I have to wonder how far apart I should space communication between them. 18:43:01 I should have a producer/consumer process for logs: toss a local timestamp + the message to something like RabbitMQ and have something else pick it up. 18:43:29 -!- tromp has quit (Remote host closed the connection). 18:45:17 -!- ibot1 has quit (Ping timeout: 258 seconds). 18:45:32 -!- ibot0 has quit (Ping timeout: 268 seconds). 18:53:10 -!- tromp has joined. 18:56:54 -!- lldd_ has joined. 18:57:10 -!- lldd_ has quit (Client Quit). 18:58:22 imode: #esoteric-blah is for testing bots, by the way. 18:58:26 ...I think. 18:58:31 It was some suffix, anyway. 18:58:39 sorry! I'll keep that in mind. 19:01:25 No, that's fine, it's just that testing can easily get out of hand. :) 19:01:27 -!- nfd has joined. 19:01:54 -!- AnotherTest_ has joined. 19:02:46 -!- zemhill_______ has joined. 19:04:23 -!- Bob- has joined. 19:04:35 -!- zemhill______ has quit (Ping timeout: 240 seconds). 19:04:35 -!- AnotherTest has quit (Ping timeout: 240 seconds). 19:04:35 -!- probablymoony has quit (Ping timeout: 240 seconds). 19:04:35 -!- sftp has quit (Ping timeout: 240 seconds). 19:04:36 -!- APic has quit (Ping timeout: 240 seconds). 19:04:36 -!- rain1 has quit (Ping timeout: 240 seconds). 19:04:37 -!- nfd9001 has quit (Ping timeout: 240 seconds). 19:04:37 -!- bobby has quit (Ping timeout: 240 seconds). 19:04:37 -!- Melvar has quit (Ping timeout: 240 seconds). 19:04:37 -!- AnotherTest_ has changed nick to AnotherTest. 19:05:01 -!- APic has joined. 19:05:07 -!- moony has joined. 19:05:33 -!- Melvar has joined. 19:05:35 -!- sftp has joined. 19:05:53 -!- rain1 has joined. 19:10:35 [[Special:Log/newusers]] create * CubixThree * New user account 19:15:18 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59854&oldid=59848 * CubixThree * (+280) /* Introductions */ 19:40:16 `? #esoteric-blah 19:40:17 ​#esoteric-blah blah blah. Blah blah, blah blah blah blah. Blah blah blah! 19:58:41 -!- arseniiv_ has joined. 19:58:41 -!- arseniiv has quit (Read error: Connection reset by peer). 20:22:05 -!- gurmble has joined. 20:22:27 -!- grumble has quit (Read error: Connection reset by peer). 20:22:43 -!- gurmble has changed nick to grumble. 20:45:59 [[User talk:A]] https://esolangs.org/w/index.php?diff=59855&oldid=59853 * Plokmijnuhby * (+230) 21:03:00 -!- arseniiv has joined. 21:06:10 -!- arseniiv_ has quit (Ping timeout: 240 seconds). 21:31:08 -!- shikhin has quit (Changing host). 21:31:08 -!- shikhin has joined. 21:54:18 -!- moei has quit (Quit: Leaving...). 22:24:41 In Glulx, the "ushiftr" instruction makes an unsigned shift right. The shift amount is treated as unsigned, and anything more than 32 will make the result to be zero (all bits are shifted out). So, to change 0 to 1 and all other numbers to 0, I used shifting right 1 by the input number. 22:27:49 kmc: https://twitter.com/lunasorcery/status/1095446373812658179 22:27:51 isn't that tg 22:28:15 C++ is the best 22:28:37 I guess you should have a compiler warning on non-explicit constructors, unless they're explicitly non-explicit? 22:30:42 that's terrible 22:30:51 C++ is the best 22:31:27 tg = truly ghastly 22:31:54 grotesque? 22:39:37 enum color { Red, Green, Blue }; void f(char* param); f(Red) 22:39:49 compiles in C, maybe C++ too 22:40:00 because Red is 0 is null 22:40:12 j4cbo: that actually depends on the version of C++ 22:40:29 or the version of C, I'm not sure which 22:40:39 so these days it will no longer compile 22:40:52 they restricted the rules for what counts as a null pointer expression 22:41:09 oh good 22:41:23 but mind you, that's the theory 22:41:27 It should work in C, assuming no requirements beyond the standard ones. 22:41:36 gcc actually accepted expressions that even the old rules said shouldn't be allowed 22:41:47 C++ has way too much implicit behavior 22:42:06 "An integer constant expression with the value 0 -- is called a /null pointer constant/." "An /integer constant expression/ shall have itneger type, and shall only have operands that are -- enumeration constants, --" 22:42:13 in particular, gcc used to allow { int x = 8; f(x-x); } because it figured that x-x had the value 0 22:42:21 but the standard never accepted that, because it's not a constant expression 22:42:26 heh 22:42:29 Yes, but enum constant values are integer constant expressions. 22:42:31 the old rule was that any integer-valued constant expression with the value 0 worked 22:42:33 one of the things that pisses me off is that the committee is so unwilling to make changes for fear of breaking existing code 22:42:43 but also, sometimes they break existing code anyway 22:42:54 the new rule basically only allows a simple integer literal, of any type, perhaps with parenthesis too, I'm not sure about the details 22:43:03 I have personally had my code break because of a poorly thought out DR 22:43:10 b_jonas: Then it rejects conforming code. 22:43:24 fizzie: you can actually detect the difference with overloading 22:43:27 I mean, if you're talking about C. 22:43:40 with overloading in C++ that is 22:43:56 fizzie: no, it used to accept non-conforming code 22:44:17 shachaf: isn't it great that there are contexts where "return x;" is fine but "return (x);" is UB? 22:44:18 f(x-x) is non-comforming because x-x is just a plain integer expression, so it can't be implicitly cast to a pointer (in C++) 22:44:33 kmc: WHAT? 22:44:36 b_jonas: Sure, I was talking from the C perspective. 22:44:41 that is my favorite "fuck you" in C++ 22:44:55 kmc: it is tg 22:45:01 b_jonas: it has to do with the rules for decltype(auto) 22:45:13 which are different for an identifier vs. an expression 22:45:22 kmc: what the heck 22:45:29 eh 22:45:34 every programming language is terrible 22:45:39 they all have their crazy quirks 22:46:02 therefore they are literally all equal 22:46:26 might as well write everything in whitespace 22:46:27 shachaf: no, some of them are much worse 22:46:34 https://bugs.llvm.org/show_bug.cgi?id=23812 22:46:39 I was so mad about this 22:46:50 b_jonas: when it's an expression, it tries to make a reference 22:47:21 b_jonas: Looks like (again talking still only about C) GCC has no qualms about using an enum constant as a null pointer constant, but Clang has added a -Wnon-literal-null-conversion flag. 22:47:48 (Which just says "expression which evaluates to zero treated as a null pointer constant".) 22:48:07 kmc: also, I found out that there are some cases when glibc fscanf explicitly works slightly differently from what the standard allows, in how many bytes it consumes when it fails to read certain inputs as a number, and the glibc maintainers know that but claim it's a problem with the standard 22:48:20 there's a bug ticket about it 22:48:31 lol 22:49:14 the real problem is C-style strings, anyway 22:49:23 they are scow 22:49:53 kmc: that doesn't even seem to mention return 22:50:57 b_jonas: https://gcc.godbolt.org/z/rKLxrZ 22:52:01 kmc: ah, it's in a function with the return type given as decltype(auto) 22:52:09 yeah 22:52:39 this pathological example is given in _Effective Modern C++_ by Scott Meyers 22:52:44 that book is tg 22:53:06 kmc: what? but isn't that book older than decltype(auto) as function return type? 22:53:13 the contents are very good and also the bird on the cover is top notch 22:53:21 bird 22:53:23 b_jonas: it covers C++14 22:53:23 `? bird 22:53:24 bird? ¯\(°​_o)/¯ 22:53:38 kmc: hmm. I thought it was older. 22:53:51 or deduced function return type newer 22:53:52 one of those 22:53:56 [[Glutton]] N https://esolangs.org/w/index.php?oldid=59856 * CubixThree * (+4373) Created page with "Glutton is an object-based stack-based language created by [[User:CubixThree|CubixThree]]. In it, you prepare dishes made with ingredients, similar to [[Chef]], however with o..." 22:54:16 often it presents the C++11 way, explains the drawbacks and then how C++14 improves it 22:54:39 because 14 is more about fixing awkward stuff in 11, as opposed to a conceptual overhaul like 03 -> 11 22:55:16 In what case is fscanf working differently? 22:56:54 zzo38: I'm not sure of the exact example, but it's one of those cases when you need a bit of lookahead, like when with format "%g" you try to scan "3.00E-scow", or with format "%i" you try to scan "0xscow" 22:57:36 OK 22:57:36 oh yeah, those are actually cases when the read of the number succeeds... I dunno 22:57:40 it was something related to that 23:00:46 shachaf: did you know that C++14 has polymorphic lambdas 23:00:48 pretty fancy 23:01:40 zzo38: https://sourceware.org/bugzilla/show_bug.cgi?id=12701 I think this is it 23:02:11 finally 23:02:17 lack of fanciness is the reason i wasn't using c++ 23:04:26 kmc: oh man, i just indexed into "counts[256]" with a char which turned out to be signed 23:04:29 your favorite bug 23:04:43 i like that one 23:04:47 what were you doing? 23:05:05 trying to look for strings matching a particular pattern 23:05:09 -!- AnotherTest has quit (Ping timeout: 252 seconds). 23:05:12 in c for some reason 23:05:47 I have avoided those problem by always using a & operator if a char value is used in that way, such as x&255 or some other number 23:06:19 That is avoiding the problem by thinking about the problem. 23:06:31 I think there should be part of the C spec which specifies stronger guarantees on things where the only reason for crazy behavior is compatibility with ancient machines 23:06:34 My problem was that I didn't think about it. If I had I'd've taken care of it. 23:06:54 and then compilers can support this as a language variant 23:07:19 gcc at least warns on indexing w/ signed char 23:07:39 Why are you trying to write a program without thinking of the program? 23:07:42 Mine didn't. 23:07:58 I guess I should've used -Wall for this 20-line throwaway program. 23:08:05 -Wall always 23:08:10 I was thinking of the program, just not of this particular edge case with char. 23:08:43 -Weffc++ 23:08:50 can i add -Weffc++ when compiling in c mode 23:09:02 just to make it clear why i'm compiling in c mode 23:09:35 gcc -Whatthe -fuck 23:10:02 gcc -funroll-me-harder 23:10:40 #esoteric-wholesome 23:12:26 kmc: I used to think the thing about C++ being an esolang was a joke, but now I think it's a perfectly reasonable thing to say. 23:12:39 Not the entire language but a pretty large part of it. 23:12:53 yeah 23:12:59 i mean it is a joke 23:13:03 it's funny because it's true 23:13:21 C++ is a hot mess 23:13:35 writing fancy template code appeals to the same twisted part of your mind that writing esolang code appeals to 23:13:37 -!- tromp has quit (Remote host closed the connection). 23:14:03 yes 23:14:31 esolang skills have actual uses 23:14:50 i have often described writing exploits as weaponized esoprogramming 23:14:52 i mean, rop is also an esolang, but that's a legitimate reason 23:14:54 at least sometimes 23:14:55 right 23:15:11 weird machines 23:15:27 But if you're a non-eso language designer, requiring your users to esolang seems like a scow move. 23:15:45 yeah 23:16:01 well templates are the quintessential feature that grew far beyond its original purpose 23:16:41 and more specifically, SFINAE 23:16:54 sfinok 23:17:07 sfinmk 23:17:43 What does "SFINAE" means? 23:17:55 zzo38: "Substitution Failure Is Not An Error" 23:18:26 substituion failure is naughty and exciting 23:18:28 zzo38: it means, if C++ tries to instantiate a template function and there is some error (type mismatch, missing method etc) then it will go on to the next overload rather than aborting compilation 23:19:12 OK 23:19:13 this was intended simply so that unrelated template functions of the same name would not interfere 23:19:24 but it turns out to add a lot of power to template metaprogramming 23:19:55 there should be a version of gcc where substitution failure deletes your source file 23:19:59 that'll teach people 23:20:30 for example it makes type traits and conditional overloads possible 23:20:31 https://shaharmike.com/cpp/sfinae/ 23:20:46 maybe the go people had the right idea 23:20:49 just codegen everything 23:20:52 sgtm 23:22:01 I think this substitution failure is not error is make sense, if there is a next overload (otherwise all of the accumulated errors should be displayed, since presumably it is unable to continue in such a case, if there isn't any to continue) 23:22:05 shachaf: there is so much complexity in C++ from the fact that references aren't first class :( 23:22:17 zzo38: yeah 23:22:19 kmc: do you think a language without lvalues makes sense 23:22:23 where you only have pointers 23:22:30 imo maybe 23:22:30 idk 23:22:35 what are the advantages 23:22:51 lvalues and pointers are almost the same thing but different 23:23:15 -!- tromp has joined. 23:23:24 all sorts of complexity from that, which c++ tries to address with references? 23:23:38 I think BLISS does not use lvalues like C and BASIC, but rather it is the pointer, and to read it you must add the operator to read it. (Forth also needs explicit operators for read or write, although Forth is more flexible so you can make it possible to hide if you want to do.) 23:23:42 Templates are kinda fascinating. In that they were _designed_ for very simple use cases, but to make them fit in they managed to make them far more complex and general than is needed. 23:23:44 even in a language like c, there's a distinction between a value and a memory location that contains that value 23:23:55 c muddles it up a lot but it's there 23:24:09 pikhq: yep 23:24:27 did you know, the "memory read" operation in c is the implicit coercion from lvalue to rvalue 23:24:30 not * or whatever 23:25:06 zzo38: Yes, BLISS does that. 23:25:09 Also ALGOL 68. 23:25:10 With that view in mind (and I don't think it's a bad one), what's * anyways? 23:25:13 A type conversion? 23:25:29 converts a pointer rvalue to a lvalue, I suppose 23:25:31 * takes an rvalue-of-pointer-to-T to lvalue-of-T 23:25:49 A pointer is a location of a thing in memory. An lvalue is a thing that has a location in memory. 23:26:12 So yeah, it kinda is a type conversion. 23:26:17 See also http://slbkbs.org/ski-mercury.txt 23:26:21 Though with an rvalue to lvalue conversion in there too. 23:26:55 Also, given "struct A { int x, y; };", "e.y" has a different meaning depending on whether e is an lvalue or an rvalue. 23:27:09 sfinaeimk 23:27:12 It's a shame the TGCEEC contest died out. 23:27:49 shachaf: It's funny people act as though C is a low-level language in some absolute sense, isn't it? 23:27:59 sfimkinae 23:28:11 (or for that matter, that "low vs. high level" has any absolute meaning) 23:28:17 The incomplete round had a one-shot entry (-fmax-errors=1) of <= 256 bytes of source that generated 1.5 gigabytes of error. 23:28:17 C is a lower-level language than most languages people use? 23:28:31 It is, but that's a relative statement. 23:29:01 fizzie: Pft, with 256 bytes I want at least Ackermann levels of error. 23:30:03 A high-level assembler is higher level than raw machine code, yet lower than C. 23:30:29 OK, but "high-level" and "low-level" aren't really precise terms anyway. 23:30:59 sfinmkimk 23:31:26 There is also different kind of assembly language for different computers (and VMs), and also different assemblers have different features for macros and so on. 23:31:55 zzo38: which assemblers do you like? 23:32:06 shachaf: Fair 23:32:34 zzo38: also, do you prefer Intel or AT&T syntax? 23:32:51 kmc: I have used MMIXAL, and otherwise mainly assemblers I either wrote myself (e.g. the MIXPC assembler, and Glasm) or modified for my use (e.g. MagicKit) 23:33:17 plan 9 syntax, obviously, hth 23:33:18 fizzie: got a link to that? I'm gonna be AFK but I'd love to see it. 23:33:32 kmc: Knowing zzo38, the answer is "neither" whenever you present two common choices. 23:34:24 If you had a single-use halting oracle, what would you ask it? 23:35:34 I wonder if there is a way to use a single-use halting oracle to get a more general solution. 23:35:54 Yes, that was my first idea too 23:35:56 imode: https://tgceec.tumblr.com/ was the site. 23:39:19 -!- tromp has quit (Remote host closed the connection). 23:46:39 -!- tromp has joined. 23:47:03 Do you have opinion of XYZABCDE.ZZT game and possibly the sequel (and possibly sequel of the sequel)? At the end of the first one the main character's wing is fixed, but the operetta house has been destroyed by Giant Who Hate Liberty Bell March. The sequel might not be ZZT; in that case, perhaps any magic diamonds you have had by the end of the first one, are now worthless 23:49:00 kmc: I would recommend yasm if you want an assembler for x86 23:49:31 yes'm 23:50:00 I have not used modern x86 assembly language 23:50:28 zzo38: Do you like the Mill? 23:50:52 I have been unable to find much information about Mill last time I checked 23:51:27 Unfortunately most information is in videos. 23:52:54 have you ever seen an electrocardiograph machine that had a built-in CRT display? 23:53:07 I like MMIX 23:55:30 -!- Lord_of_Life_ has joined. 23:57:37 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 23:57:47 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 2019-02-13: 00:05:43 * oerjan forgot to log out hm 00:09:59 -!- tromp has quit (Remote host closed the connection). 00:12:11 * oerjan considered just reading the backscroll but figured the logs are more convenient when this long 00:19:29 -!- Zexxo has joined. 00:25:40 -!- tromp has joined. 00:30:37 -!- Zexxo has changed nick to Guest52555. 00:30:40 -!- tromp has quit (Ping timeout: 259 seconds). 00:49:04 -!- arseniiv has quit (Ping timeout: 258 seconds). 00:58:40 -!- tromp has joined. 00:59:12 [[WII2D]] https://esolangs.org/w/index.php?diff=59857&oldid=59772 * Cortex * (+15) 01:02:51 -!- tromp has quit (Ping timeout: 244 seconds). 01:15:34 -!- olsner has quit (Ping timeout: 250 seconds). 01:53:19 -!- Guest52555 has quit (Quit: Page closed). 02:01:06 [[User talk:A]] M https://esolangs.org/w/index.php?diff=59858&oldid=59855 * Oerjan * (+47) Unsigned 02:43:01 -!- tromp has joined. 02:47:08 -!- tromp has quit (Ping timeout: 245 seconds). 03:09:57 -!- b_jonas has quit (Quit: leaving). 03:46:27 -!- sebbu has quit (Ping timeout: 240 seconds). 03:59:30 -!- sebbu has joined. 04:03:29 -!- tromp has joined. 04:05:24 -!- FreeFull has quit. 04:07:44 -!- tromp has quit (Ping timeout: 246 seconds). 04:15:09 In Glulx, 0 is also a valid lvalue, meaning don't write the value. (Other numbers are not a valid lvalue though) 04:36:02 -!- FoxyBoxes has joined. 05:20:40 -!- iconmaster has joined. 05:51:41 -!- tromp has joined. 05:55:53 -!- tromp has quit (Ping timeout: 245 seconds). 06:07:22 -!- oerjan has quit (Quit: Nite). 06:27:33 kmc: Oddly enough, Compose < 3 generates a ♥ BLACK HEART SUIT 07:14:01 -!- nfd has quit (Read error: Connection reset by peer). 07:22:31 -!- tromp has joined. 07:26:43 -!- tromp has quit (Ping timeout: 245 seconds). 07:50:45 -!- xkapastel has quit (Quit: Connection closed for inactivity). 08:12:43 -!- imode has quit (Ping timeout: 244 seconds). 08:34:43 -!- tromp has joined. 08:54:02 -!- rodgort has quit (Quit: Leaving). 08:55:37 -!- lambdabot has quit (Remote host closed the connection). 08:58:04 -!- lambdabot has joined. 08:58:11 -!- rodgort has joined. 09:06:43 -!- rodgort has quit (Quit: Leaving). 09:16:56 -!- rodgort has joined. 09:29:22 -!- tromp has quit (Remote host closed the connection). 09:32:36 -!- AnotherTest has joined. 09:51:15 -!- tromp has joined. 11:56:35 -!- Lord_of_Life_ has joined. 11:58:22 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 11:58:52 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 13:05:48 -!- iconmaster has quit (Ping timeout: 250 seconds). 14:17:20 -!- FoxyBoxes has quit (Remote host closed the connection). 15:18:45 -!- Sgeo has joined. 15:19:11 -!- iconmaster has joined. 15:19:26 -!- iconmaster has quit (Read error: Connection reset by peer). 15:21:07 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 15:42:37 -!- AnotherTest has quit (Ping timeout: 258 seconds). 16:19:47 -!- xkapastel has joined. 16:20:10 -!- AnotherTest has joined. 16:29:09 [[Language list]] https://esolangs.org/w/index.php?diff=59859&oldid=59786 * Areallycoolusername * (+51) /* E */ 16:40:41 -!- imode has joined. 16:44:53 -!- arseniiv has joined. 17:13:47 -!- oerjan has joined. 17:18:10 Did https://www.theregister.co.uk/2019/02/12/current_gps_epoch_ends/ come up here? 17:18:23 -!- arseniiv has quit (Ping timeout: 246 seconds). 17:20:08 That's about 30 bits for "time in seconds from epoch" 17:32:14 ...i don't why you'd need the week to find position, isn't it based on fractions of seconds in difference? 17:32:44 if the device use it to set an actual clock, that'd be a different matter. 17:32:54 *uses 17:33:18 which they probably do, since it's easy. 17:33:32 but still, should not affect navigation. 17:34:28 i suppose it'd think downloaded maps had wrong time stamps from the future. 17:34:44 *+see 17:39:06 [[EZ]] N https://esolangs.org/w/index.php?oldid=59860 * Areallycoolusername * (+1257) Created page with "[[EZ]] is an [[esoteric programming language]] made by [[User: Areallycoolusername|Areallycoolusername]]. It's the easiest language in the world. It's also made for code golf...." 17:42:30 [[EZ]] https://esolangs.org/w/index.php?diff=59861&oldid=59860 * Areallycoolusername * (+57) /* Specifics */ 17:44:35 -!- LKoen has joined. 17:57:34 [[EZ]] https://esolangs.org/w/index.php?diff=59862&oldid=59861 * Areallycoolusername * (+606) /* Implementations */ 17:58:03 [[EZ]] https://esolangs.org/w/index.php?diff=59863&oldid=59862 * Areallycoolusername * (-23) /* Specifics */ 18:00:59 [[EZ]] https://esolangs.org/w/index.php?diff=59864&oldid=59863 * Areallycoolusername * (-17) /* Implementations */ 18:02:00 [[EZ]] https://esolangs.org/w/index.php?diff=59865&oldid=59864 * Areallycoolusername * (+24) 18:21:22 -!- arseniiv has joined. 18:26:28 Will the BIOS and BASIC interpreters from old computers be released as open source? 18:37:37 -!- oerjan has quit (Quit: Later). 18:46:07 -!- j-bot has quit (Ping timeout: 240 seconds). 18:52:37 -!- j-bot has joined. 19:09:29 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:22:28 guess what google calendar uses 32 bit datetimes 19:22:41 so you can't set a reminder for 2060 19:22:58 -!- LKoen has quit (Remote host closed the connection). 19:36:35 :( 19:40:31 I can set an event for 2060. 19:59:34 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 20:00:28 -!- zzo38 has quit (Ping timeout: 245 seconds). 20:02:41 -!- nfd9001 has joined. 20:14:57 -!- xkapastel has joined. 20:31:29 [[Analog Synth]] https://esolangs.org/w/index.php?diff=59866&oldid=58753 * Salpynx * (+72) Interpreter, use strict sigmas for ixqus symbols where possible 20:43:01 -!- zzo38 has joined. 20:57:07 -!- FreeFull has joined. 20:58:14 -!- b_jonas has joined. 20:58:47 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190212.html 20:58:48 bobadventureslist http://bobadventures.comicgenesis.com/d/20190212.html: b_jonas 21:01:45 I bought an indoor-outdoor thermometer for home. Now if the wire doesn't break from it being led out a window, then I'll be able to tell the outdoor temperature without opening a window. 21:01:56 It currently says 4°C outdoor. 21:02:42 . o O ( Just get a nearby airport and use @metar ) 21:02:49 `? metasepia 21:02:50 metasepia knew the weather at your nearest airport, and also something about ducks. 21:04:28 @metar YYZ 21:04:39 @metar CYYZ 21:04:41 CYYZ 132000Z 25026G33KT 5SM R23/4000VP6000FT/U BLSN SCT040 BKN110 BKN250 M04/M08 A2957 RMK CU3AC2CI1 SLP024 21:06:52 @metar CZBB 21:06:52 No result. 21:06:57 int-e: sure, I can already look up the weather in the internet. It says 2°C, which matches, because it's 1 or 2 kelvin warmer in the city measured near the wall of a house than at the airport measured in the way meteorologists like to measure. 21:07:09 Do they still not have METAR? 21:07:25 @metar CYVR 21:07:25 CYVR 132100Z VRB02KT 15SM FEW008 FEW015 FEW070 01/M03 A2967 RMK CU1SC1AC1 SC TR AC TR SLP050 21:07:58 who is they? 21:08:31 @metar LHBP 21:08:32 LHBP 132100Z 22006KT 8000 NSC 02/02 Q1033 NOSIG 21:08:37 that says 2°C too 21:08:55 METAR encoding (and aviation weather in general) is the stupidest thing 21:09:08 j4cbo: why? 21:09:11 what's stupid in it? 21:09:23 all designed back in the telex days to fit as much information as possible into as few characters as possible 21:09:29 the varying units of measure? nobody could get the americans to use it in any other way 21:09:56 winds aloft forecasts encode speeds above 99 by adding 50 to the heading section 21:09:59 j4cbo: eh no, it's not _that_ compressed, and at least this way it's somewhat parseable. my only big complaint is that it doesn't have a full date. 21:10:12 and other crazy stuff like that 21:10:30 I mean I appreciate it in a #esoteric sort of way :P 21:11:09 j4cbo: oh, I didn't know they did that with winds 21:11:46 only in winds/temps aloft forecasts 21:11:54 not in METARs 21:11:56 ah good 21:12:31 not that I'd be able to test that, because winds with speed 100 knots or higher are very rare here 21:12:57 living in a basin with no strong winds and no strong earthquakes has some advantages 21:15:56 looks like they just add a digit for metars 21:16:07 280100G117KT 21:16:51 j4cbo: um... how does that decode? 21:16:59 280 degrees heading, but then what? 21:17:15 100 knots with gusts to 117 21:17:45 ok 21:19:14 @metar KOAK 21:19:14 KOAK 132053Z 14017KT 8SM -RA BKN027 OVC032 14/12 A2955 RMK AO2 SLP007 P0005 60038 T01390117 58024 21:20:11 metar isn't particularly good at either shortness or human-readability, but it's OK for the combination. 21:20:32 Also I sometimes pretend to understand it but mostly I just look at the temperature. 21:21:18 @metar KMSO 21:21:19 KMSO 132118Z 33006KT 1 1/4SM -SN BKN018 OVC041 01/M03 A2944 RMK AO2 P0001 T00061028 21:21:48 mmm remarks 21:21:57 -!- ais523 has joined. 21:22:09 `icao KMSO 21:22:10 Missoula International Airport (MSO, KMSO) 21:22:42 on the subject of airports, EGBB has a big "Hello world" sign above its main entrance 21:22:47 @metar EGBB 21:22:47 EGBB 132050Z 14004KT CAVOK 04/03 Q1030 21:22:49 `? weather 21:22:50 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK PAMR 21:22:59 int-e broke the cycle :'( 21:23:05 lambdabot: @@ @@ (@where weather) CYUL ENVA ESSB KOAK PAMR 21:23:07 CYUL 132100Z CCA 22016G22KT 15SM DRSN FEW040 SCT065 OVC080 M00/M05 A2950 RMK CF1SC3AC5 CF TR SLP993 \ ENVA 132120Z 09008KT 8000 BKN043 01/00 Q1013 RMK WIND 670FT 18009KT \ ESSB 132050Z 31007KT 21:23:07 CAVOK 05/M01 Q1019 \ KOAK 132053Z 14017KT 8SM -RA BKN027 OVC032 14/12 A2955 RMK AO2 SLP007 P0005 60038 T01390117 58024 \ PAMR 132053Z VRB05KT 10SM SCT041 BKN090 M07/M14 A2984 RMK AO2 SLP106 I3001 21:23:07 T10671139 53015 21:23:15 Maybe that was a good idea. 21:23:51 apparently there's a surprising lack of weather in Birmingham at the moment 21:23:57 CAVOK, nice 21:24:31 wreak cavok 21:26:30 when's the last time we had a proper botloop in here? 21:26:40 several years ago, they used to happen pretty much all the time 21:26:52 but then the bot operators got wise and started adding protections against them 21:27:10 isn't "bot loop" redundant hth 21:27:48 what's the redundant part? not the "loop", because bots can do things that aren't loops, so it must be the "bot" 21:27:58 it doesn't seem impossible that the loop could involve a human, though 21:28:09 it's a bad joke about ⊥ 21:29:05 > error "bot" 21:29:07 *Exception: bot 21:29:23 By the way, I've taken to using "nonterminates" as a verb, though it's a bit awkward. 21:29:25 > fix (error . ("loop" ++")) 21:29:26 :1:27: error: 21:29:26 lexical error in string/character literal at end of input 21:29:31 > fix (error . ("loop" ++)) 21:29:32 Is there something else I should say? 21:29:32 "*Exception: loop*Exception: loop*Exception: loop*Exception: loop*Exception:... 21:29:41 Maybe "diverges". 21:29:45 :t error 21:29:45 [Char] -> a 21:30:12 why does the output of fix error end up in quotes? 21:30:16 > error "test" 21:30:17 *Exception: test 21:30:28 The '"' is printed because it's showing a string, before the error thunk is forced. 21:30:31 Haskell has structured bottoms. They probably come from all the sitting around (it's lazy). 21:30:43 > (error "test") : String 21:30:45 error: 21:30:45 • Data constructor not in scope: String :: [a] 21:30:45 • Perhaps you meant one of these: 21:30:53 > (error "test") : [Char] 21:30:55 error: 21:30:55 • Data constructor not in scope: Char 21:30:55 • Perhaps you meant one of these: 21:31:04 > (error "test") :: [Char] 21:31:05 "*Exception: test 21:31:08 there we go 21:31:27 > fix id :: [Char] 21:31:29 "*Exception: <> 21:32:05 the output of «"*Exception: *Exception:» … confused me because I thought it was stringifying the exceptions somehow 21:32:25 but it isn't, it's trying to print a string and then double-faulting repeatedly 21:32:35 This confused me when I first saw it too. 21:32:36 now I wonder why Haskell doesn't have protection against double faults 21:32:54 > undefined :: String 21:32:55 triple faults should reboot the machine lambdabot is on 21:32:56 "*Exception: Prelude.undefined 21:33:20 > undefined :: () 21:33:21 *Exception: Prelude.undefined 21:33:30 shachaf: I need to use that idea next time I write a non-serious non-constrained esolang 21:33:51 > undefined :: Void 21:33:52 *Exception: Prelude.undefined 21:33:56 x86 is a p. serious esolang 21:34:31 Microsoft had a serious competitive advantage for a whlie by being the first people to figure out that intentional triple-faults were useful as a way to get from protected mode back into real mode 21:34:40 Hey, triple faults are useful, they get you out of protected mode! 21:34:50 ... timing 21:35:28 IBM's solution to that problem was pretty esoteric (it sent a command to the keyboard controller to get it to send a reboot input to the motherboard) 21:35:58 I like the way Windows used illegal instructions to switch to kernel mode back in the day. 21:36:05 Do we still have an A20 gate? 21:36:08 `? a20 21:36:10 a20? ¯\(°​_o)/¯ 21:36:59 ais532: yeah, lambdabot is careful, putting some prefix to its message contents often; I can't use jevalbot for a loop because I wrote it so that would be cheating; that leaves fungot and lambdabot, and I don't think it's possible to loop the two of them 21:36:59 b_jonas: can anyone help me with 21:37:15 s/lambdabot is/HackEso is/ 21:37:19 > "fungot" 21:37:19 shachaf: what is the business? how are modifications synchronized between agents? :) 21:37:20 "fungot" 21:37:24 yep 21:37:39 also it's possible that some loops happen entirely in private messages 21:37:55 hmm, let me check if perlbot is willing to private message anyone these days 21:38:25 uh does lambdabot have to ignore fungot as well... 21:38:26 int-e: you could also sell them as " plain svg" instead of forty-two. 21:38:41 hmm no, I think buubot3 doesn't have that anymore 21:38:47 that used to be in buubot1 or buubot2 or something 21:38:55 If the message uses NOTICE then that can also avoid it presumably 21:39:29 zzo38: AFAIUI mirc destroyed NOTICE. 21:39:47 by deciding to produce popups for them. 21:40:15 ais523: you mean in 80286? 21:40:30 even in irssi notices to channels tend to look ugly. 21:40:44 int-e: I looked it up; apparently the A20 gate was part of the motherboard until the 486, at which point it became part of the processor controlled via a processor pin; then with Nehalem, it was changed to a hardware feature that was controlled over a bus rather than via a pin; then with Haswell it was removed entirely 21:40:51 b_jonas: yes, that was for 80286 21:41:00 perhaps DOSbox has an ability to emulate it in software 21:41:31 emulating the A20 gate with paging sounds trivial. 21:42:12 It is not your fault that your users are using a IRC client that does not work properly. 21:42:21 ais523: thanks. I just had not checked on the fate of the A20 gate in the past 5 or so years. 21:42:35 int-e: it is, and back before x86_64, all the programs that emulated real mode programs with the cpu's v86 feature did use paging that way 21:42:40 zzo38: even things that aren't your fault have to be worked around sometimes :-( 21:42:54 x86_64 took away that ability because the speed of emulating real mode no longer matters 21:43:05 zzo38: unfortunately, suffering for the mistakes of others is the norm rather than the exception. 21:43:28 so we just emulate DOS all in software because all the remaining real mode DOS games run fast enough that way, every DOS game that needs more performance switches to protected mode anyway 21:44:37 Some people (including myself) still write real mode DOS programs, although often it is designed so that it can work on DOSBOX anyways (except 8088MPH) 21:44:47 ais523: at least bots tend to be pretty consistent in recognizing prefixes or invocations only at the very start of the line, so the workaround of putting a space or something at the start of your message to escape the potential invocation seem to be a good alternative 21:44:54 like HackEgo does 21:45:32 zzo38: sure, you can do it, it's just that you don't mind if the emulation is slowed down a bit, because if you wanted a high performance program, you wouldn't use real mode anyway 21:46:01 b_jonas: fungot recognises its name anywhere 21:46:01 ais523: i looked at were inadequate. the implementation of the fingerprint handling, all of which have emacs, which i think should appear real soon now 21:46:08 ais523: yeah 21:46:17 b_jonas: it's not obvious that real mode has bad performance 21:46:21 that's why I wondered if it could be looped with a bot 21:46:33 one that generally answers fungot's reply 21:46:34 b_jonas: 11932: holy cow. 21:46:36 like jevalbot 21:46:38 especially in unreal mode (which is where you switch to protected mode to change the memory architecture from segmented to flat, then switch back) 21:47:55 HackEso doesn't respond to its name, and I don't think lambdabot does either 21:48:07 lambdabot: run 3+5 21:48:12 lambdabot: @run 3+6 21:48:14 9 21:48:18 yeah, that way 21:48:27 but it needs the at sign, which you won't get often from fungot 21:48:27 b_jonas: yes, but you should at least have a chunk of memory and gc interfered with the benchmarks 21:48:31 and both are limited to one line of answer 21:48:57 Is there a canonical way to generate some number of characters uniformly from an alphabet given a seed (like the output of a hash function)? 21:49:20 @run var "`echo BBdNkmBhaMAA" 21:49:22 `echo BBdNkmBhaMAA 21:49:28 right, lambdabot puts a space 21:49:36 so only fungot will listen to it 21:49:36 b_jonas: i just hit the damn thing to clear the record for keeping up a stream of the elements 21:50:24 ^ul (0AkSRBa6C9j2) 21:50:43 It's still possible to loop two lambdabots together as far as I know. 21:50:54 ^underload (0QYpVNOItPmd) 21:51:18 how do you ask my learned and honorable friend to evaluate underload? 21:51:36 you probably did it correctly, that progroduces no output though 21:51:44 ^ul (0AkSRBa6C9j2)S 21:51:44 0AkSRBa6C9j2 21:51:48 @run uAKZqUpmXqRl 21:51:50 oh right! 21:51:51 *program produces 21:52:08 ^ul (`echo MkUxrfqr-Kto)S 21:52:08 `echo MkUxrfqr-Kto 21:52:09 MkUxrfqr-Kto 21:52:09 `? fungot 21:52:09 shachaf: write a mode for that in the forked side never returns? 21:52:11 fungot is our beloved channel mascot and voice of reason. 21:52:18 hmm 21:52:40 ^ul ((^ul )SaS(:^)S):^ 21:52:40 ^ul ((^ul )SaS(:^)S):^ 21:52:53 ^ul ((^ul )SaS(:^)S):^ 21:52:54 ^ul ((^ul )SaS(:^)S):^ 21:53:08 ^ul ((`echo ^ul )SaS(:^)S):^ 21:53:08 `echo ^ul ((`echo ^ul )SaS(:^)S):^ 21:53:08 ​^ul ((`echo ^ul )SaS(:^)S):^ 21:53:17 fungot doesn't listen to hackeso, though 21:53:17 ais523: the semantics of a loop return expression are not quite right, since ( iirc), 1.5 ( fnord) 21:53:22 so the loop won't continue 21:53:31 ^ul (`echo ^ul (VFmvbAmpx0T0)S)S 21:53:31 `echo ^ul (VFmvbAmpx0T0)S 21:53:31 ​^ul (VFmvbAmpx0T0)S 21:53:34 hmm 21:53:40 also, that's a surprisingly relevant comment it just made 21:53:40 that's probably because HackEso puts a prefix 21:53:47 ^ul P59gDSMW0n6Y 21:54:10 and my honorable and learned friend, correctly, doesn't listen when there's a prefix before the hat 21:54:36 What is the shortest way to implement the function (x&&y?1:0) in Glulx? 21:54:50 I don't know what Glulx is 21:55:18 ais523: https://www.eblong.com/zarf/glulx/glulx-spec.html 21:56:14 @run var "^ul (89U+Z6Ma7Mvi)" 21:56:16 ^ul (89U+Z6Ma7Mvi) 21:56:28 zzo38: is there any restriction on how large a and b can be? 21:56:46 what other bot we have that we could loop then? 21:56:53 if they're limited to 16 bits, it's probably mul followed by jz 21:57:04 ais523: Up to 32-bits, signed. 21:57:10 if they could use 32 bits, I can't see a shorter way than using two jumps 21:57:34 `? prefixes 21:57:36 Bot prefixes: fungot ^, HackEso `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , j-bot [ . 21:58:25 I do know that (x?0:1) is implemented using "ushiftr 1,x,$" (due to how Glulx bit shifts work, this will always work) 21:58:46 EgoBot is still in there? hmm 21:59:14 `? thutubot 21:59:15 thutubot? ¯\(°​_o)/¯ 21:59:17 `? metasepia 21:59:18 metasepia knew the weather at your nearest airport, and also something about ducks. 22:00:09 hmm 22:00:54 (Fortunately the function (x&&y?1:0) is rarely needed, because it can usually be optimized out when converting from OASYS.) 22:00:56 thutubot had a bug that caused it to repeat everything that lambdabot said 22:01:05 ^ul: (FJrQubL0MUgI)S 22:01:06 so we stopped taking it into this channel when lambdabot got widely used here 22:01:27 ^ul-: (vt2cuUBtOmLi)S 22:01:47 where are you getting those random strings from? they don't look like keyboard mashing 22:02:08 ais523: random generator, base64 but with the two extra characters being + and - 22:03:10 [CTCP] Received CTCP-PING reply from ais523: 27 seconds. 22:03:17 ``` openssl rand -base64 10 | perl -ne 'y,/,-,;/(.{12})/ and print$1' # this basically, but I pipe it to xclip 22:03:18 7oLGxIulnXcU 22:03:57 what does lambdabot listen to? prefix at or question mark or ":t" right? 22:03:59 :t foo 22:04:00 error: 22:04:00 • Variable not in scope: foo 22:04:00 • Perhaps you meant ‘for’ (imported from Data.Traversable) 22:04:12 lambdabot: :t 2 22:04:25 lambdabot: @run 2 22:04:26 :k Monad 22:04:26 2 22:04:27 (* -> *) -> Constraint 22:04:36 b_jonas: I think it's @ or ? or : or > 22:04:50 but not all strings starting with those are valid commands 22:05:00 ais523: but it accepts its name before that 22:05:05 which makes it much easier 22:05:14 because you could perhaps make other bots say its name 22:05:17 or backwards 22:05:23 hmm 22:11:03 and even if I were to use jevalbot, which I shouldn't, I don't think something like [ 10$,:'fungot' would loop 22:11:03 b_jonas: why would that be irrelavent here it is with undefined order. 22:11:59 fungot: ^ul (vhcfvGaClerQ)S 22:11:59 b_jonas: neither one do i learn lambda calculus? i think its hansen though, i don't 22:12:29 my honorable and learned friend won't recognize a hat command with its name before it 22:12:40 FWIW, I've been thinking of reclaiming the ! prefix for esowiki (and maybe renaming it to "esolangs") if I stick the BF Joust commands on it, because conventionally those have started with !. Probably not exclusively, but at least !bfjoust and !bftest (provisional name) and *potentially* !help. Because it isn't likely EgoBot is going to come back, and that thing has somewhat of a semi-official status. 22:13:06 fizzie: sure 22:13:17 Oh, fungot` still has a tick. 22:13:18 fizzie: fnord you're in israel though). :) i second jensa's question, though. i can't currently spout something like... 22:13:26 -!- fungot` has changed nick to fungot. 22:13:33 fizzie: would those control zemhill or egojoust? 22:13:42 fungot: ^ul (gbnc-HivUrYQ)S 22:13:42 b_jonas: ' wuss' is pretty weird :) 22:13:46 even then 22:13:51 he won't work with the prefix 22:13:55 well 22:14:00 he won't run the underload command 22:14:17 lambdabot: @help run 22:14:17 run . You have Haskell, 3 seconds and no IO. Go nuts! 22:14:34 also, bf joust is mostly dead nowadays, I think it's finally gotten close to solved (I've been wrong about this in the past, but that doesn't necessarily mean I'm wrong this time) 22:14:39 triple faults are out, CATERR# is in 22:15:13 ais523: They'd control something I'd put under (probably) https://esolangs.org/bfjoust or https://bfjoust.esolangs.org/ that would get all of the state and history from zemhill (which I would retire). 22:16:13 fizzie: why don't you just call it zemhill then? 22:16:13 !help 22:16:13 ais523: I do !zjoust; see http://zem.fi/bfjoust/ for more information. 22:16:38 And it's fine if it's dead, less pressure for me to finish the migration. I'd just sort of like to stop running "zemhill"; not that it has any maintenance needs to speak of, just for general principles. 22:16:38 or does someone else has that name? 22:17:10 No, it's just called zemhill because it was hosted in a zem.fi URL, if I migrate it to be "officially" under esolangs.org the name no longer fits so much. 22:17:34 ok 22:17:46 I guess if people feel it should still be called zemhill, that's fine. I can retain the zjoust/ztest commands too. Don't really have any preference one way or another. 22:18:07 Also zemhill collects underscores the same way others collect... uh, some collectable thing. 22:18:30 pokemons? 22:18:47 Could be. 22:19:08 now I'm wondering how you IV-optimise underscores for competitive battling 22:19:18 although then it shouldn't have more than six in its nick, it would have to store them in that computer terminal thingy 22:19:19 (It's using the "Cinch" Ruby IRC bot framework, I'm blaming that for the nick behaviour.) 22:23:27 -!- xkapastel has quit (Quit: Connection closed for inactivity). 22:25:42 oh! 22:25:54 lambdabot and perlbot could probably be looped in private message 22:26:26 because perlbot prints anything in private message, and also accepts commands with a preceding space 22:27:47 but it's hard to *start* such a bot loop 22:28:18 you'd need to do it when one of the bots are disconnected, predicting when it will reconnect, taking its nick temporarily, I think 22:29:36 it could be easier if we found a channel they share 22:31:20 lambdabot plus geordi might be doable too. do we know a channel those too share? 22:31:58 no wait 22:32:04 that won't work, geordi cares about the spaces 22:33:02 -!- Sgeo has quit (Read error: Connection reset by peer). 22:34:02 -!- trn has quit (Remote host closed the connection). 22:34:14 -!- trn has joined. 22:42:52 -!- AnotherTest has quit (Ping timeout: 268 seconds). 22:47:07 -!- LKoen has joined. 23:18:51 -!- b_jonas has quit (Quit: leaving). 23:48:30 kmc: do you like how the mill has two instruction pointers, one going forward and one going backward 23:48:41 because they divide the instruction stream into two parts and jump into the middle 23:57:28 -!- Lord_of_Life_ has joined. 23:58:48 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 23:59:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 2019-02-14: 00:10:55 -!- sleepnap has joined. 00:42:32 -!- tromp has quit (Remote host closed the connection). 00:44:17 -!- Sgeo has joined. 00:59:11 -!- sleepnap has left. 01:12:04 -!- ashirase_ has joined. 01:14:06 -!- ais523 has quit (Quit: quit). 01:15:15 shachaf: I didn't know about that so no, I didn't like it, but maybe I do now? 01:53:37 -!- oerjan has joined. 01:54:36 -!- Vilivikhorith has joined. 02:05:09 -!- arseniiv has quit (Ping timeout: 258 seconds). 02:24:51 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 02:26:48 -!- arseniiv has joined. 02:44:47 -!- arseniiv_ has joined. 02:46:26 -!- arseniiv has quit (Ping timeout: 246 seconds). 02:51:52 -!- moonythedwarf has joined. 02:51:55 `unidecode N 02:51:56 ​[U+FF2E FULLWIDTH LATIN CAPITAL LETTER N] 03:03:17 [[User:A]] https://esolangs.org/w/index.php?diff=59867&oldid=59847 * A * (-1292) Blanked the page 03:03:41 [[User talk:A]] https://esolangs.org/w/index.php?diff=59868&oldid=59858 * A * (-668) Blanked the page 03:06:41 [[User:A]] https://esolangs.org/w/index.php?diff=59869&oldid=59867 * A * (+1292) I can use it as an example. 03:08:04 [[User:A]] https://esolangs.org/w/index.php?diff=59870&oldid=59869 * A * (-951) Aha. 03:08:33 [[User talk:A]] https://esolangs.org/w/index.php?diff=59871&oldid=59868 * A * (+668) Revert the edits 03:09:23 [[User talk:A]] https://esolangs.org/w/index.php?diff=59872&oldid=59871 * A * (+94) /* Impossible */ 03:09:31 -!- moonythedwarf has quit (Remote host closed the connection). 03:10:15 shachaf: switching to PuTTY so I can see more Unicode characters 03:10:21 hit me w/ some emoji 03:11:24 💛 03:13:01 [[User:A]] https://esolangs.org/w/index.php?diff=59873&oldid=59870 * A * (+765) 03:14:21 [[User:A]] https://esolangs.org/w/index.php?diff=59874&oldid=59873 * A * (-37) 03:16:27 😻 03:16:59 [[User talk:A]] https://esolangs.org/w/index.php?diff=59875&oldid=59872 * A * (-762) Blanked the page 03:17:16 🥰 03:17:38 fizzie: got any fresh emoji from the latest unicode release 03:45:33 -!- tromp has joined. 03:49:47 -!- tromp has quit (Ping timeout: 240 seconds). 04:30:04 -!- FreeFull has quit. 04:34:16 -!- tromp has joined. 04:38:46 -!- tromp has quit (Ping timeout: 250 seconds). 05:19:30 -!- sebbu has quit (Ping timeout: 250 seconds). 05:22:48 I wrote a program to compile OASYS into Glulx, although there may be a few bugs, and some further optimizations may be possible. How should it be done optimizing a branch based on a AND or OR condition? In OASYS, a AND and OR conditions are not short circuit, and also it is necessary to ensure the stack effect is correct. However, unlike OASYS, in Glulx it is OK to leave junk on the stack when a function returns; it will be discarded automatically 05:28:41 (In OASYS it is not allowed to leave junk on the stack when returning from a function.) 05:28:46 -!- tromp has joined. 05:32:58 -!- tromp has quit (Ping timeout: 245 seconds). 05:34:52 kmc: 🤯 05:35:03 I only found out what that thing is recently. 06:22:20 -!- tromp has joined. 06:22:47 -!- Sgeo_ has joined. 06:26:36 -!- Sgeo has quit (Ping timeout: 268 seconds). 06:26:58 -!- tromp has quit (Ping timeout: 258 seconds). 06:35:05 -!- oerjan has quit (Quit: Nite). 06:45:49 -!- Sgeo__ has joined. 06:49:12 -!- Sgeo_ has quit (Ping timeout: 258 seconds). 07:04:47 -!- fractal has quit (Ping timeout: 240 seconds). 07:07:32 -!- arseniiv_ has changed nick to arseniiv. 07:22:28 -!- tromp has joined. 07:27:02 -!- tromp has quit (Ping timeout: 268 seconds). 07:27:48 -!- Sgeo_ has joined. 07:32:00 -!- Sgeo__ has quit (Ping timeout: 272 seconds). 08:00:53 -!- arseniiv has quit (Ping timeout: 258 seconds). 08:19:05 -!- LKoen has joined. 08:23:45 -!- fractal has joined. 08:33:51 -!- imode has quit (Ping timeout: 258 seconds). 08:36:49 -!- Sgeo__ has joined. 08:37:27 -!- tromp has joined. 08:40:07 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 08:46:55 -!- LKoen_ has joined. 08:50:20 -!- LKoen has quit (Ping timeout: 257 seconds). 09:02:34 -!- LKoen has joined. 09:06:26 -!- LKoen_ has quit (Ping timeout: 258 seconds). 09:11:46 -!- AnotherTest has joined. 09:31:06 -!- LKoen_ has joined. 09:32:19 -!- xkapastel has joined. 09:34:03 -!- LKoen has quit (Ping timeout: 252 seconds). 09:45:30 -!- LKoen has joined. 09:48:36 -!- LKoen_ has quit (Ping timeout: 257 seconds). 10:04:12 -!- ashirase_ has quit (Ping timeout: 250 seconds). 10:09:56 -!- ashirase has joined. 11:03:38 -!- LKoen_ has joined. 11:06:48 -!- LKoen has quit (Ping timeout: 258 seconds). 11:40:07 -!- LKoen has joined. 11:42:45 -!- LKoen_ has quit (Ping timeout: 252 seconds). 11:51:59 -!- xkapastel has quit (Quit: Connection closed for inactivity). 11:57:45 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 12:00:57 -!- Lord_of_Life has joined. 12:07:48 -!- LKoen has quit (Remote host closed the connection). 12:16:02 -!- LKoen has joined. 12:35:25 -!- wob_jonas has joined. 12:46:19 -!- LKoen has quit (Remote host closed the connection). 13:00:26 -!- ashirase has quit (Remote host closed the connection). 13:05:32 -!- LKoen has joined. 13:41:32 -!- xkapastel has joined. 14:15:41 -!- LKoen_ has joined. 14:19:14 -!- LKoen has quit (Ping timeout: 258 seconds). 14:28:23 I found a stupid way to get data out of a multithreaded program 14:28:47 none of the other threads output anything above \177 in practice 14:31:55 thus, void eputsup(char*s){while(*s){*s+=0200;fputc(*s,stderr);s++;}} 14:34:18 then you can use tr to filter out your output and fix it 14:38:34 because at least multithreading can't result in mixing individual bits of output between threads 14:40:24 oron: 14:40:42 orin: couldn't you just write to a separate output file instead? 14:51:43 -!- LKoen has joined. 14:53:47 `? biweekly/the 14:53:48 biweekly/The word "biweekly" is half synonymous with the word --> "bimonthly". 14:54:06 what's with this wisdom entry? 14:54:56 ``` hg log -T "{desc}\n" wisdom/biweekly/the # ah 14:54:57 learn biweekly/The word "biweekly" is half synonymous with the word --> "bimonthly". 14:55:15 -!- LKoen_ has quit (Ping timeout: 252 seconds). 14:55:48 -!- AnotherTest has quit (Ping timeout: 252 seconds). 14:58:55 int-e: is that some kind of deliberate joke, or is that an accidental use of learn instead of slashlearn? 14:59:54 -!- Sgeo__ has quit (Read error: Connection reset by peer). 15:00:18 -!- Sgeo__ has joined. 15:05:15 -!- user24 has joined. 15:06:03 wob_jonas: that looks like an accident 15:08:40 wob_jonas: what Taneb said 15:08:58 in that case, let's fix it 15:09:06 `forget biweekly/the 15:09:08 Forget what? 15:09:25 `slashlearn biweekly//The word "biweekly" is half synonymous with the word --> "bimonthly". 15:09:27 Learned 'biweekly': The word "biweekly" is half synonymous with the word --> "bimonthly". 15:09:31 `? biweekly 15:09:32 The word "biweekly" is half synonymous with the word --> "bimonthly". 15:09:36 `? biweekly/the 15:09:37 biweekly/the? ¯\(°​_o)/¯ 15:09:46 ok, I have to admit 15:10:04 `learning is hard 15:10:07 the horribly complicated extra code in forget that does the rmdir wasn't _entirely_ a waste 15:10:11 (I had to fix that once) 15:11:57 `? bracket 15:11:58 bracket? ¯\[°​_o]/¯ 15:13:00 `? kanada 15:13:01 Your bankers' vain plazas never nutured no one / And your concrete expanses lay fallow in the sun / And your cities all collapsing while your corrupt mayors shrug 15:13:18 Huh, a typo. 15:13:53 `slwd kanada//s/nut/nurt/ 15:13:56 kanada//Your bankers' vain plazas never nurtured no one / And your concrete expanses lay fallow in the sun / And your cities all collapsing while your corrupt mayors shrug 15:19:10 `? @messages-loud 15:19:11 ​@messages-loud @messages-fond / @messages-flood @messages-bond // @messages-lousy @messages-sound / @messages-lost @messages-found // @messages-proud @messages-bold / @messages-good @messages-gold 15:29:57 `? tio 15:29:58 TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 15:30:04 `? rules of wisdom 15:30:07 unless essential for the entry‘s humor, they should: be understandable without the lookup key, be single spaced and end in a newline with no space before that, and use proper capitalization and punctuation 15:30:33 ``` hg -T "{rev}:{date|shortdate}:{desc}\n" rules of wisdom 15:30:34 hg: option -T not recognized \ Mercurial Distributed SCM \ \ basic commands: \ \ add add the specified files on the next commit \ annotate show changeset information by line for each file \ clone make a copy of an existing repository \ commit commit the specified files or all outstanding changes \ diff diff repository (or selected files) \ export dump the header and diffs for one or more changesets \ f 15:30:45 ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" "wisdom/rules of wisdom" 15:30:46 11268:2017-12-13: slwd rules of wisdom//s/should/they &/ \ 10991:2017-06-02: perl -e {$f="wisdom/rules of wisdom";open$i,"<",$f or die;local$/;$s=<$i>;$s=~s/with no space at the end/and end in a newline with no space before that/ or die;$s=~s/\\n\\z// or die;print$s;open$o,">",$f;print$o $s or die;} \ 10982:2017-06-02: undo 10978 \ 10977:2017-05-31: slwd rules of wisdom//s,\',\xe2\x80\x98, \ 10975:2017-05-31: slw 15:31:04 ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" "wisdom/tio" 15:31:05 11706:2019-02-02: learn TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 15:31:55 I'm amazed TIO has Fueue, and uses my interpreter for it to boot 15:32:05 I'd actually lost the source for that 15:34:47 does it have a bancstar interpreter? 15:35:07 is the lack of the period essential for the homor of wisdom/tio ? 15:37:17 wob_jonas: FWIW, you might consider the "standard" commands over raw hg, for two more or less reasonable reasons: they escape the nicknames to avoid extra pings, and they have a built-in blacklist for mass reverts (though that doesn't apply to your example). 15:37:22 `dowg rules of wisdom 15:37:24 11268:2017-12-13 slwd rules of wisdom//s/should/they &/ \ 10991:2017-06-02 perl -e {$f="wisdom/rules of wisdom";open$i,"<",$f or die;local$/;$s=<$i>;$s=~s/with no space at the end/and end in a newline with no space before that/ or die;$s=~s/\\n\\z// or die;print$s;open$o,">",$f;print$o $s or die;} \ 10982:2017-06-02 undo 10978 \ 10978:2017-06-02 whoops \ 10977:2017-05-31 slwd rules of wisdom//s,\', 15:38:10 fizzie: when I want to ask why an entry is written the way it is, then pinging the user who wrote it is the Right Thing 15:38:33 checking "wisdom/rules of wisdom" itself was just stupid 15:40:03 Pinging all the users involved in its entire history may not be the Right Thing, especially if some of them are just people reverting mass breakages. 15:40:48 fizze: sure, though in some of these cases I've ran commands in private message first 15:41:18 but yeah, I should probably show just one revision, with -r 999 explicitly 15:42:10 I wonder if there's some sort of more hg-y way to flag revisions to hide, compared to /hackenv/share/scowrevs. 15:42:32 I don't want them hidden 15:42:36 I know the evolve extension has obsolescence marking, but that's for a very different use case. 15:42:55 fizzie: you could rewrite history, creating a new branch without those revisions perhaps 15:43:12 but with all the file history and descriptions copied over 15:43:28 git has commands to help with that 15:43:31 probably hg too 15:43:33 I guess there's that. Not sure how that would play with people who've cloned the repository though. 15:43:51 you'll have to ask those people I guess 15:46:22 sorry for the spam though 15:47:21 Maybe it's not a big enough problem to worry too much about it. But it might be a reasonable default behavior to have some way to mark specific revisions as "cleanup" and not show them in file history except when a flag is given. 15:47:57 I don't know, those revisions never really bothered me 15:48:09 yeah... the cold never bothered me anyway 15:48:11 `? cold 15:48:12 cold? ¯\(°​_o)/¯ 15:48:16 `? bothered 15:48:17 bothered? ¯\(°​_o)/¯ 15:48:23 It's also useful for repo-wide mass changes like whitespace/formatting fixes, which otherwise break 'blame' completely. 15:48:31 ...not so much in the HackEso context. 15:49:40 fizzie: but this isn't like the repositories I've seen in my job, with large C++ source files that sometimes have crlf and sometimes lf, sometimes spaces and sometimes tabs, and sometimes someone runs an automatic code reformatter which breaks the existing good formatting and adds bad formatting 15:51:19 -!- ProofTechnique has joined. 15:53:35 I also wonder if it's canonically called "annotate" instead of "blame" (still available as an alias) in hg just to promote positive rather than negative feelings. 15:54:15 fizzie: it's a triple alias: blame is the negative, annotate is the neutral, and praise is the positive 15:54:57 http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.blame.html 15:55:35 the official help also says "blame (praise, annotate, ann): Show when each line of a file was last (or next) changed" 15:57:01 although it seems "annotate" is the canon name for cvs 15:57:10 but I haven't checked the histories for how old each of these names are 15:57:57 No "praise" in Mercurial. 15:58:15 Huh, "git annotate" and "git blame" have different output formats. 15:59:03 "The only difference between this command [git-annotate] and git-blame(1) is that they use slightly different output formats, and this command exists only for backward compatibility to support existing scripts, and provide a more familiar command name for people coming from other SCM systems." 15:59:25 wob_jonas: I could output it to a different file but that requires some thought and wisdom 16:00:54 why not "git whowrote" 16:01:12 or who-wrote 16:01:17 -!- xkapastel has quit (Quit: Connection closed for inactivity). 16:02:01 as in git who-wrote ThisClass.cpp -lines 60-83 16:02:47 git whodunit. 16:03:25 (It's like git blame, except for MURDER.) 16:03:58 oh it's -L not --lines 16:07:28 also there should be a way to show the last TWO people to edit a line 16:08:20 because sometimes the last person was just a poopyhead with an auto-indenting macro 16:15:43 "git whodunit" might be some sort of "show recently deleted code blocks" view, since those don't show up in blame/annotate. 16:17:07 orin: What if you need 3 history entries? (I tend to jump backward in time with git annotate -- ^) 16:17:19 where is picked from a previous annotation 16:18:41 (and the -- is there because otherwise git checks whether the file exists in the working directory... which it may not if the file has been moved or renamed) 16:21:50 -!- LKoen has quit (Remote host closed the connection). 16:33:42 -!- xkapastel has joined. 16:34:09 -!- arseniiv has joined. 16:34:33 -!- LKoen has joined. 16:44:30 richard brainlet https://mobile.twitter.com/SciGuySpace/status/1096074205731401728 16:47:49 -!- sebbu has joined. 16:50:49 wob_jonas: Now everyone will be surprised about biweekly because it doesn't read like a b_jonasdom. 16:51:26 shachaf: hmm, true 16:51:32 I could add a comment there] 16:59:52 shachaf: who added kanada 16:59:56 wondering if it was me 17:01:15 ``` hg log -T "{desc}\n" -r 4467 # dunno 17:01:16 printf "Your bankers\' vain plazas never nutured no one / And your concrete expanses lay fallow in the sun / And your cities all collapsing while your corrupt mayors shrug" > wisdom/kanada 17:01:36 -!- AnotherTest has joined. 17:01:38 nice 17:01:56 I wish I remembered the fancy hacke[gs]o things 17:02:03 I've lived a thousand years... 17:13:12 `mkx bin/wiseguys//hlnp -T '{desc}\n' wisdom | cut -d' ' -f1 | sort | uniq -c | sed -e 's/^ *//' | sort -nr | head -n ${1:-10} 17:13:14 bin/wiseguys 17:13:16 `wiseguys 17:13:18 1683 \ 678 \ 300 \ 280 \ 223 \ 158 \ 142 \ 126 \ 98 \ 72 17:13:34 (For the life of me I couldn't figure out a gender-neutral equivalent of "wiseguys". Sorry.) 17:16:03 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:20:38 too bad they aren't performing anymore 17:38:47 `dowg kanada 17:38:49 11732:2019-02-14 slwd kanada//s/nut/nurt/ \ 10538:2017-03-28 ` printf "\\n" >>wisdom/kanada \ 4467:2014-02-19 printf "Your bankers\' vain plazas never nutured no one / And your concrete expanses lay fallow in the sun / And your cities all collapsing while your corrupt mayors shrug" > wisdom/kanada 17:54:28 fizzie: wiseasses :P (wisepeople?) 17:56:18 wiseacres, as well 17:56:55 fizzie: also homo sapiens ;-) 17:57:18 (but what's the proper plural of that?) 17:57:59 b_jonas overtook boily 17:58:05 homines sapientes 17:58:36 (if you include his wob version) 17:59:42 -!- LKoen has quit (Remote host closed the connection). 18:03:10 @metar KSFO 18:03:11 KSFO 141756Z 23011G17KT 3SM -RA SCT019 BKN029 OVC050 12/08 A2951 RMK AO2 SLP991 P0018 60024 T01220083 10167 20111 51024 18:23:32 -!- tromp has quit (Remote host closed the connection). 18:34:02 https://weatherishappening.com/ 18:34:31 -!- tromp has joined. 18:35:31 MTV collaborators have been complaining about the weather lately. 18:35:41 While over here it's been unseasonably nice. 18:35:44 @metar EGLL 18:35:44 EGLL 141820Z AUTO 14007KT 9999 NCD 09/04 Q1030 NOSIG 18:39:56 -!- LKoen has joined. 18:41:15 [[EZ]] https://esolangs.org/w/index.php?diff=59876&oldid=59865 * Areallycoolusername * (-15) /* Specifics */ 18:41:46 [[EZ]] https://esolangs.org/w/index.php?diff=59877&oldid=59876 * Areallycoolusername * (+6) /* Implementations */ 18:43:12 [[]] https://esolangs.org/w/index.php?diff=59878&oldid=58975 * Salpynx * (-72) /* Strengths */ 18:43:23 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:00:39 -!- tromp has quit (Remote host closed the connection). 19:04:29 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 19:04:32 -!- imode has joined. 19:11:57 -!- sleepnap has joined. 19:13:36 -!- tromp has joined. 19:19:19 `5 w 19:19:21 1/2:translater//A translater is one who transes a long time after the fact. \ isomorphism//Isomorphism is isomorphic to Phantom_Hoover up to isomorphism. \ t̵ͦiͭme͡//t̵ͦiͭme͡ S͖̀l̘̿͟o̯ͥwl̀͠y̮ ̥g̅eṱ̉҉ţi͊͡n̅ğ̨̺ ͫw͖ͭor͡s̯ęͣ \ alumni//Alumni is a compromise spelling suggested to solve the aluminum vs aluminium debate that never really caught on, except in a few big colleges. \ esowiki//Esowiki is our resident 19:19:24 `n 19:19:24 2/2:issue tracker. 19:19:48 `dowg translater 19:19:50 5826:2015-07-11 learn A translater is one who transes a long time after the fact. 19:25:45 -!- tromp has quit (Remote host closed the connection). 19:28:23 -!- pikhq has quit (Ping timeout: 245 seconds). 19:30:44 -!- sleepnap has quit (Quit: Leaving.). 19:31:18 Wee there's a wob_wisdom that I like. 19:32:03 Is it the one you wrote? 19:32:51 It's the alumni one. 19:33:26 `dowg alumni 19:33:28 11181:2017-09-02 learn Alumni is a compromise spelling suggested to solve the aluminum vs aluminium debate that never really caught on, except in a few big colleges. 19:33:33 The biweekly one is probably only good twice per month. 19:33:45 Or per week. Who knows. 19:34:40 -!- pikhq has joined. 19:54:50 -!- pikhq has quit (Ping timeout: 250 seconds). 19:58:24 something in this channel has fucked my terminal bad 19:59:13 scrap windows hth 19:59:24 `? t̵ͦiͭme͡ 19:59:25 t̵ͦiͭme͡ S͖̀l̘̿͟o̯ͥwl̀͠y̮ ̥g̅eṱ̉҉ţi͊͡n̅ğ̨̺ ͫw͖ͭor͡s̯ęͣ 19:59:30 I bet it's this :P 19:59:37 `dowg time 19:59:39 No output. 19:59:48 `dowg t̵ͦiͭme͡ 19:59:49 3194:2013-06-20 learn t\xcd\xa6\xcc\xb5i\xcd\xadme\xcd\xa1 S\xcd\x96\xcd\x80l\xcc\xbf\xcc\x98\xcd\x9fo\xcd\xa5\xcc\xafwl\xcc\x80\xcd\xa0y\xcc\xae \xcc\xa5g\xcc\x85et\xcc\x89\xcc\xad\xd2\x89t\xcc\xa7i\xcd\x8a\xcd\xa1n\xcc\x85g\xcc\x86\xcc\xba\xcc\xa8 \xcd\xabw\xcd\xad\xcd\x96or\xcd\xa1s\xcc\xafe\xcd\xa3\xcc\xa8 20:00:00 hm 20:00:04 `doag | grep zalgo 20:00:09 oops 20:00:10 No output. 20:00:13 `` doag | grep zalgo 20:00:16 9087:2016-09-26 ` le/rn brilliant/"`echo \'BRILLIANT is like the BEST word in the universe and it will change your life FOREVER!\' | zalgo | rainwords`" \ 9086:2016-09-26 ` le/rn brilliant/"`echo \'BRILLIANT is like the BEST word in the universe and it will change your life FOREVER!\' | rainwords | zalgo`" \ 8687:2016-07-03 sled bin/zalgo//1c#!/hackenv/bin/shebang_args_or_input python \ 3269:2013-07-03 gccrun F 20:00:27 `? brilliant 20:00:28 ​B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ ̐̇ȉ̲s̉̐ ̸̉ḷ̂i̪̱k͉ͬḛ็ ͓̪t็ͬh̺̊e͜͢ ͏͛B̈ͅE̳̘S̰ͤTͬͧ ̰̕w̺̼o̷̓ŕ͂d̹̠ ͍͑i͚̾n̺̮ ̇͑t͗̍hͧ͌ḙ͕ ̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ ͏̲a̮̺nͣ͟d̝ͨ ̳͗i̟͘ẗ͎ ̼̲ẘ̦i̭ͮl̢̋l̨̉ ̺͌c̑͡h̽̀âͮn̩̈́g̫ͣe͉͒ ͦ̓y̙͕o̔͒u̷ͬr͂͐ ̓͝l͙͐ȉ͕f̹́ẹ̲ ̤̹F̌ͅÒ͗R͚̼Ẽ̠V 20:00:39 -!- tromp has joined. 20:00:50 I like that it gets cut off in the end. 20:01:18 Also, does that count as a brilliant combination, as in chess? 20:05:07 -!- tromp has quit (Ping timeout: 240 seconds). 20:12:39 -!- pikhq has joined. 20:17:16 fuck y'all 20:19:07 no u hth 20:19:11 fix your terminal 20:19:43 huh, I wonder what that would do to a vt420 20:20:19 i assume kmc is using a vt420 20:22:12 -!- FreeFull has joined. 20:38:17 -!- b_jonas has joined. 20:40:34 " b_jonas overtook boily" => that must have been when I deleted a lot of bad b_jonas wisdoms that were in 20:40:46 there's still some remaining, but much less than there used to be 20:44:41 -!- tromp has joined. 20:45:34 I had a vt420 as my under-the-table terminal for quite a while. 20:46:05 It's got a local calculator app thing. 20:46:30 does that mean you fed it leftovers under the table like to a dog? 20:46:58 No, it was just the terminal to use if you were on the floor for some reason. 20:48:08 But you can paste the calculator results as terminal input, it's v. fancy. 20:48:26 (Then the smoke got out.) 20:48:48 -!- tromp has quit (Ping timeout: 245 seconds). 20:49:16 fizzie: so are you going to use this new openai bot as fungot v2 twh 20:49:16 shachaf: hmm... i reckon vhdl is actually a real word, since it doesn't have a battery, but i doubt it. 20:49:44 eww: http://paste.debian.net/1067878/ 20:50:19 fizzie: sure, every terminal can do that. you just flip the switch to copy the terminal output to the paper tape, then do the calculation, then edit the tape with scissors, then feed it back to the card reader to enter it as terminal input 20:51:24 mine is the top-bench terminal (different from the bench-top terminal and the vaxtop terminal) 20:54:08 hmm, never used the vt420's calculator, that looks really useful 20:55:00 [ 420+1 NB. remote calculator 20:55:01 b_jonas: 421 21:10:46 -!- xkapastel has joined. 21:11:51 geordi and clang are down. did someone botloop them with lambdabot after yesterday's discussion? 21:47:05 -!- arseniiv has quit (Read error: Connection reset by peer). 21:47:14 -!- arseniiv has joined. 21:48:10 I am amazed at how many of those modifyer characters my font still doesn't seem to support 21:51:35 juice ssh is handling it better than wsl 21:51:39 still not perfect 21:52:11 I wonder if I can use WSL through the PuTTY terminal 21:52:21 S̰ͤ ňͤ 21:52:40 my font handles one of the e's but not the other why? 21:52:52 `unicode S̰ͤ 21:52:53 U+0053 LATIN CAPITAL LETTER S \ UTF-8: 53 UTF-16BE: 0053 Decimal: S \ S (s) \ Lowercase: U+0073 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0330 COMBINING TILDE BELOW \ UTF-8: cc b0 UTF-16BE: 0330 Decimal: ̰ \ ̰ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Combining: 220 (Below) \ \ U+0364 COMBINING LATIN SMALL LETTER E \ UTF-8: cd a4 UTF-16BE: 0364 Decimal: ͤ \ ͤ \ Category: Mn (Mark, 21:53:05 `unicode ňͤ 21:53:06 U+006E LATIN SMALL LETTER N \ UTF-8: 6e UTF-16BE: 006e Decimal: n \ n (N) \ Uppercase: U+004E \ Category: Ll (Letter, Lowercase) \ Bidi: L (Left-to-Right) \ \ U+030C COMBINING CARON \ UTF-8: cc 8c UTF-16BE: 030c Decimal: ̌ \ ̌ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Combining: 230 (Above) \ \ U+0364 COMBINING LATIN SMALL LETTER E \ UTF-8: cd a4 UTF-16BE: 0364 Decimal: ͤ \ ͤ \ Category: Mn (Mark, Non-Sp 21:54:27 so I guess it's because of the tilde below, if my font doesn't work with a combining mark it will fall back for both that and any later ones 21:55:38 I need to improve my font some more 21:55:58 -!- FreeFull has quit (Quit: rebooting). 21:56:55 -!- FreeFull has joined. 21:57:46 `? ᛨᚳ 21:57:47 ​ᛨᚳ? ¯\(°​_o)/¯ 21:58:01 did that go away, or was it called something else? 21:58:25 ``` hg log -T "{rev}:{files_deleted}\n" wisdom/ᛨᚳ 21:58:27 No output. 21:58:43 ``` grep -REi ᛨ wisdom 21:58:44 No output. 21:58:47 huh 21:59:52 ⸙ᚠᚡᚢᚣᚤᚥᚦᚧᚨᚩᚪᚫᚬᚭᚮᚯᚰᚱᚲᚳᚴᚵᚶᚷᚸᚹᚺᚻᚼᚽᚾᚿ 21:59:55 ᛀᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐᛑᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟ 21:59:58 ᛠᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰᛱᛲᛳᛴᛵᛶᛷᛸ 22:00:04 wait one of those isn't a rune 22:00:35 Taneb: are you coming back to california twh 22:05:28 -!- tromp has joined. 22:20:02 -!- heroux has quit (Remote host closed the connection). 22:20:11 -!- heroux has joined. 22:20:28 `? peace witch 22:20:30 Peace witches do alchemy: they turn mundane building material to gold. They're in the same universe where Bowser turned peaceful citizens of the Mushroom Kingdom to building material. 22:33:47 -!- b_jonas has quit (Quit: leaving). 22:35:22 2034: "President Logan Paul declares national emergency over epidemic of bubonic plague" 22:46:54 -!- Hooloovax has joined. 22:53:31 `? brilliant 22:53:32 ​B҉ͭR̲̞Iͪ͞L̡͠L̝̊I̤ͣA̍҉N̏́T̈͡ ̐̇ȉ̲s̉̐ ̸̉ḷ̂i̪̱k͉ͬḛ็ ͓̪t็ͬh̺̊e͜͢ ͏͛B̈ͅE̳̘S̰ͤTͬͧ ̰̕w̺̼o̷̓ŕ͂d̹̠ ͍͑i͚̾n̺̮ ̇͑t͗̍hͧ͌ḙ͕ ̻͜ű̖ňͤi̴͠v̸̧ḛ͔ř̭s͍͠ẻ̗ ͏̲a̮̺nͣ͟d̝ͨ ̳͗i̟͘ẗ͎ ̼̲ẘ̦i̭ͮl̢̋l̨̉ ̺͌c̑͡h̽̀âͮn̩̈́g̫ͣe͉͒ ͦ̓y̙͕o̔͒u̷ͬr͂͐ ̓͝l͙͐ȉ͕f̹́ẹ̲ ̤̹F̌ͅÒ͗R͚̼Ẽ̠V 22:55:48 c 22:56:48 ok so that really screwed up my vt320 23:00:10 shachaf: Only if it's written in some form of Befunge twh 23:01:07 `? brillant 23:01:08 brillant? ¯\(°​_o)/¯ 23:01:20 don't do it hth 23:01:55 https://thedailywtf.com/articles/The_Brillant_Paula_Bean 23:20:16 So french. 23:20:28 (Also german.) 23:52:16 -!- oerjan has joined. 23:55:23 -!- AnotherTest has quit (Ping timeout: 258 seconds). 23:59:47 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 2019-02-15: 00:00:49 -!- Lord_of_Life has joined. 00:25:51 -!- user24 has quit (Ping timeout: 264 seconds). 00:38:20 -!- user24 has joined. 00:44:44 `? tio 00:44:46 TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 00:44:58 `slwd tio//s,$,., 00:44:59 tio//TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs. 00:45:31 and he even looked at `? rules of wisdom right after 00:47:19 `dowg tio 00:47:21 11734:2019-02-15 slwd tio//s,$,., \ 11706:2019-02-02 learn TIO is Try It Online!, , a web-based interpreter for over 600 languages, including hundreds of esolangs 00:47:56 b_jonas seriously needs to learn `dowg 00:49:05 maybe if dowg had a better name hth 01:19:19 I can now finally remember the doag/dowg/hoag/howg set, though I still don't know where they come from. Presumably the 'd' refers to date, and the 'w' to wisdom, but that's all I've guessed. 01:32:51 `cat bin/hog 01:32:52 hlnp --template "{desc}\n" -- "$@" 01:32:56 hog = hg log, I think? 01:33:16 `cat bin/hoag 01:33:16 hlnp --removed --template "{desc}\n" -- "$@" 01:33:55 hoag = hog but also show revisions where files were removed 01:34:22 I believe it's named after the story by Heinlein, _The Unpleasant Profession of Jonathan Hoag_, though I'm not sure. 01:34:32 `cat bin/doag 01:34:33 hlnp --removed --template "{rev}:{date|shortdate} {desc}\n" -- "$@" 01:34:36 doag = hoag with date 01:35:25 hichaf 01:35:55 himc 01:40:27 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:46:40 `? hoag 01:46:41 ​`[hd]o[aw][gt] [] is a set of commands for querying HackEgo hg logs. `hoag is the basic version. d adds revision numbers and dates, w looks only in wisdom, and t lists oldest first. 01:47:29 i think a stands for "all", but then later we started censoring scow revisions 01:47:41 Oh, that's possible? 02:08:25 -!- user24 has quit (Quit: Leaving). 02:36:51 -!- sleepnap has joined. 02:36:58 -!- sleepnap has left. 02:37:52 `` ls bin/[hd]o[aw][gt] 02:37:53 bin/doag \ bin/doat \ bin/dowg \ bin/dowt \ bin/hoag \ bin/hoat \ bin/howg \ bin/howt 02:38:08 Just wanted to check there's the full set. 02:38:10 here we go 02:38:12 https://github.com/mintty/wsltty 02:38:18 pronounced "weasel titty", I assume 02:39:46 anyway it can handle the runes and zalgo and whatever the fuck you perverts were pasting here earlier 02:40:48 `? kmc 02:40:49 kmc did not run the International Devious Code Contest of 2013. 02:41:03 `? shachaf 02:41:04 Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He doesn't know when to stop asking questions. 02:41:21 those are some words 02:55:00 -!- Vorpal has quit (Ping timeout: 268 seconds). 03:02:49 -!- Vorpal has joined. 03:32:41 freefall's fourth wall seems to be creaking in the seams today 03:33:11 *at 03:55:29 -!- FreeFull has quit. 04:02:36 -!- Vilivikhorith has quit (Quit: Using Circe, the loveliest of all IRC clients). 04:10:03 I thought that every game in the series of XYZABCDE may be a different VM. The first one is ZZT, and then maybe others may be Glulx, Z-machine, MegaZeux, Famicom, TAVERN, TAVERN32, etc. 04:27:55 (At least, that is one possibility.) 04:56:37 -!- shikhin has quit (Quit: Alas.). 04:56:44 -!- shikhin has joined. 04:57:31 -!- shikhin has quit (Changing host). 04:57:31 -!- shikhin has joined. 07:53:09 -!- oerjan has quit (Quit: Nite). 08:04:54 -!- imode has quit (Ping timeout: 258 seconds). 08:35:46 -!- GeekDude has quit (Ping timeout: 250 seconds). 08:37:26 -!- GeekDude has joined. 09:10:27 nice 09:10:42 I messed around with ZZT a bit but i didn't get started on XYZABCDE yet, except just going to the right and dying 09:17:10 Have you made any game with ZZT? 09:17:21 no 09:17:28 OK 09:17:31 I only found about ZZT through you actually 09:19:45 Have you played other ZZT worlds? 09:20:18 not really, just the default set and your other one 09:20:27 i havent completed any yet 09:21:16 XYZABCDE is difficult, although there are cheats if you don't mind to use that. 09:24:28 -!- heroux has quit (Read error: Connection reset by peer). 09:24:45 -!- heroux has joined. 09:26:09 I can also answer questions that you have, in case you have questions about ZZT or about XYZABCDE.ZZT specifically. 09:30:16 ty 09:30:37 im not a very dedicated gamer so i just play around a bit, i probably wont get too far 09:31:11 -!- xkapastel has joined. 10:00:41 OK 10:04:12 -!- arseniiv has quit (Quit: gone completely :o). 10:09:26 -!- AnotherTest has joined. 10:23:26 -!- Sgeo__ has quit (Read error: Connection reset by peer). 10:23:49 -!- user24 has joined. 10:23:51 -!- Sgeo__ has joined. 11:59:08 -!- Lord_of_Life_ has joined. 12:00:50 -!- xkapastel has quit (Quit: Connection closed for inactivity). 12:00:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 12:01:26 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:26:32 -!- wob_jonas has joined. 12:27:53 rain1: melt the wax statuette in the sauna. the statuette itself is worthless, but there's a gemstone inside it. the game gives absolutely no clue that you're supposed to do that. also try taking the bone to the blacklight room and "look" at it there. 12:29:05 and make frequent saves, because it's easy to mess something up, and these days it's quick to make saves and you can have a lot on your disk, it's not like when you had to save to magnetic casette. 12:58:38 Oh, and in the maze of twisty passages, all alike, drop items so you can distinguish rooms, then pick them up after you've figured out the way out. 12:59:10 Or at least drop one item in the starting room of the maze. 12:59:33 Since some of these mazes are designed such that all doors except one in each room lead to the starting room. 15:26:00 -!- sleepnap has joined. 16:14:31 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:45:50 -!- xkapastel has joined. 16:46:28 [[NEGATOR]] https://esolangs.org/w/index.php?diff=59879&oldid=59026 * Areallycoolusername * (+20) 17:00:10 -!- imode has joined. 17:23:17 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=59880&oldid=59013 * Areallycoolusername * (+117) 17:24:38 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=59881&oldid=59880 * Areallycoolusername * (+1) 17:25:08 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=59882&oldid=59881 * Areallycoolusername * (+2) 17:25:15 [[User:Areallycoolusername]] https://esolangs.org/w/index.php?diff=59883&oldid=59882 * Areallycoolusername * (-1) 18:22:40 -!- FreeFull has joined. 19:16:51 [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=59884&oldid=58633 * Gamer * (+1) /* Concept */ 19:18:30 [[TPLHBPTBOTEW]] M https://esolangs.org/w/index.php?diff=59885&oldid=59884 * Gamer * (+13) /* Concept */ 19:44:53 -!- Cale_ has joined. 19:51:37 -!- heroux has quit (Read error: Connection reset by peer). 19:52:08 -!- heroux has joined. 20:23:10 -!- arseniiv has joined. 20:37:27 -!- Vorpal has quit (Ping timeout: 240 seconds). 20:43:34 -!- Vorpal has joined. 20:43:34 -!- Vorpal has quit (Changing host). 20:43:34 -!- Vorpal has joined. 21:08:23 wob_jonas: What game do you mean? 21:13:06 -!- user24 has quit (Remote host closed the connection). 21:39:07 -!- sleffy has joined. 21:39:30 -!- sleffy has quit (Read error: Connection reset by peer). 22:13:41 It occurs to me that the most efficient way to run a Fractran program is probably not "translate it into sed" 22:14:11 Especially as I'm now doing all the maths in unary with regexes 22:15:59 ...this is the first prime number finder I've ever written which ran out of memory before finding 3 22:21:00 is it starting from the end and working backwards 22:21:23 `addquote ...this is the first prime number finder I've ever written which ran out of memory before finding 3 22:21:25 1331) ...this is the first prime number finder I've ever written which ran out of memory before finding 3 22:25:30 -!- xkapastel has quit (Quit: Connection closed for inactivity). 22:32:34 -!- sleepnap has left. 23:10:49 -!- Cale_ has quit (Read error: Connection reset by peer). 23:17:37 -!- arseniiv has quit (Ping timeout: 257 seconds). 23:54:02 -!- AnotherTest has quit (Ping timeout: 258 seconds). 23:59:47 -!- Lord_of_Life has quit (Ping timeout: 268 seconds). 2019-02-16: 00:02:46 -!- Lord_of_Life has joined. 00:06:46 -!- Hooloovax has quit (Quit: Leaving). 00:11:21 -!- xkapastel has joined. 01:43:01 Can anything be made with "Thue-Mirr" esolang? 01:43:10 -!- oerjan has joined. 01:47:26 -!- FreeFull has quit. 02:33:44 -!- Camto has joined. 02:45:25 Hey people would you want to connect this channel with the esolangs discord server? 02:45:59 I know other channels have connected to their respective dicord server. 02:47:52 You should have to ask the channel operators I should think, although maybe that will work I don't know. I would think is needing some bridge but if it is a single client then they come from the same client so will need to specify the name in the message 02:50:10 Do we *have* ops? 02:50:34 I think so, although it is managed by ChanServ rather than being directly. 02:51:04 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:51:05 (Use the CS ACCESS LIST command for the ChanServ managed operators) 02:51:53 just no owner, I see 02:55:01 fuk discord and slack 02:55:12 fuck em 02:55:16 Why? 02:55:24 don't care enough to get into it rn 02:55:41 I don't like Discord and Slack either, so, I don't use them. IRC is much better. 02:55:42 I mean a bridge can't really hurt can it? 02:56:22 I'm anti-bridge. 02:56:30 But I think people already run a Slack bridge here? 02:56:47 ProgrammingLanguages has had great success with theirs. 02:56:56 http://slbkbs.org/dontclick.txt 02:57:02 Yep, Slackbot 02:57:29 no, just me 02:57:41 i'm so resistant to temptation 02:58:07 (maybe there were others) 02:58:32 Anyway the question is what success is. 02:58:50 Certainly maximizing the number of users oughtn't be a goal of any IRC channel, because all the big channels are scow. 02:59:17 getting more on topic chat 02:59:55 It's really just to have more conversation. 03:01:04 `relcome Camto 03:01:06 ​Camto: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 03:01:16 fungot can generate unlimited conversation 03:01:16 shachaf: i write like that how should i do 03:01:37 fungot: just like that. you did good. 03:01:37 shachaf: well oklotalk does not it is at least. on ubuntu and debian o.o fnord :( 03:04:14 Jeez that is so rainbow. 03:04:16 Nice. 03:04:28 that's what the r is for 03:05:19 `cat bin/helcome 03:05:20 cat: bin/helcome: No such file or directory 03:05:21 hm 03:05:30 needs more fire and brimstone 03:06:40 * oerjan sidles away 03:07:06 -!- LyricLy has joined. 03:07:30 -!- LyricLy has quit (Client Quit). 03:26:33 -!- Camto has quit (Quit: Page closed). 04:13:18 What is the best kind of parser for a text adventure game, do you think? 04:20:05 Some people said Discord is better because it has logging (on the server) and IRC doesn't have, but actually such thing is independent of the protocol, and such a thing is possible in IRC too (I know, because once, I modified a IRC server software to implement this) 04:24:50 It's not independent of the protocol because someone who joins a Discord channel sees messages that were sent before they joined. 04:25:13 That feature isn't, but simply that it has logs is independent. 04:46:31 -!- arseniiv has joined. 05:36:17 -!- nfd has joined. 05:36:20 -!- arseniiv_ has joined. 05:36:24 -!- Sgeo_ has joined. 05:38:44 -!- bobby has joined. 05:40:47 -!- int-e_ has joined. 05:40:52 -!- mynery has joined. 05:41:09 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 05:41:09 -!- arseniiv has quit (Ping timeout: 255 seconds). 05:41:18 -!- j-bot has quit (Ping timeout: 246 seconds). 05:41:18 -!- int-e has quit (Ping timeout: 246 seconds). 05:41:18 -!- fractal has quit (Ping timeout: 246 seconds). 05:41:18 -!- myname has quit (Ping timeout: 246 seconds). 05:41:18 -!- relrod has quit (Ping timeout: 246 seconds). 05:41:18 -!- Sgeo__ has quit (Ping timeout: 246 seconds). 05:41:18 -!- nfd9001 has quit (Ping timeout: 246 seconds). 05:41:18 -!- Bob- has quit (Ping timeout: 246 seconds). 05:42:33 -!- relrod has joined. 05:42:36 -!- relrod has quit (Changing host). 05:42:36 -!- relrod has joined. 05:43:50 -!- oerjan has quit (Quit: Nite). 05:46:40 -!- Lord_of_Life has joined. 06:00:11 -!- fractal has joined. 06:29:37 [[]] https://esolangs.org/w/index.php?diff=59886&oldid=59736 * Salpynx * (+5) /* Commands */ correct Younger Futhark/Unicode name of 06:46:38 -!- mynery has changed nick to myname. 08:04:11 shachaf: not any time soon sadly 08:10:16 Taneb: imo why not 08:13:36 Already used up too much paid leave for this year 08:18:33 are you going to that one lecture in cambridge 08:18:45 I think I missed that 08:18:47 oh, maybe it's part of a thing 08:18:58 Unless there's another one lecture in cambridge 08:19:09 http://jdh.hamkins.org/forcing-as-a-computational-process-cambridge-februrary-2019/ 08:19:20 it is... today? 08:19:47 also do you understand forcing 08:21:07 No 08:56:58 -!- imode has quit (Ping timeout: 250 seconds). 09:53:56 i understand forcing! 09:54:41 too short of a notice tho 09:58:44 can you explain forcing twh 10:02:33 -!- AnotherTest has joined. 10:05:47 of course 10:05:49 for instance 10:05:59 "last night my partner forced his way into my throat" 10:06:22 wait wrong kinda forcing 10:16:28 -!- LKoen has joined. 11:14:04 -!- nfd has quit (Ping timeout: 258 seconds). 11:14:20 -!- nfd9001 has joined. 11:15:51 -!- j-bot has joined. 11:17:27 [[Shishkirism]] N https://esolangs.org/w/index.php?oldid=59887 * Kamish * (+3215) Created page with "

Shishkirism


'''Shishkirism''' - esoteric programming language, created as a joke by the [[User:Kamish]]


Commands

Consists of 13 commands: {|..." 11:17:44 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59888&oldid=59887 * Kamish * (-26) 11:19:50 [[Joke language list]] https://esolangs.org/w/index.php?diff=59889&oldid=59791 * Kamish * (+37) /* General languages */ 11:21:18 [[User:Kamish]] https://esolangs.org/w/index.php?diff=59890&oldid=57122 * Kamish * (+20) 11:22:33 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59891&oldid=59888 * Kamish * (-1) 11:25:39 [[Special:Log/upload]] upload * Kamish * uploaded "[[File:Colorpascal.png]]": Pascal color codes 11:32:17 [[Special:Log/upload]] overwrite * Kamish * uploaded a new version of "[[File:Colorpascal.png]]" 11:35:11 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59894&oldid=59891 * Kamish * (+1904) 11:45:53 -!- grumble has quit (Quit: bring black roses for the wicked one). 11:46:08 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 11:51:48 -!- grumble has joined. 11:54:35 -!- FreeFull has joined. 11:58:09 I don't think more on-topic conversation would be amiss, though I'm a little suspicious of bridgey stuffs and how well they integrate with the IRC experience. 11:58:22 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59895&oldid=59894 * Kamish * (-77) 12:00:27 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 12:02:03 -!- Essadon has joined. 12:02:06 -!- Essadon has quit (Max SendQ exceeded). 12:03:17 -!- Lord_of_Life has joined. 12:04:06 there's a esoteric programming discord? 12:52:17 -!- tromp has quit (Remote host closed the connection). 13:01:15 -!- int-e_ has changed nick to int-e. 13:12:56 -!- tromp has joined. 14:21:22 -!- xkapastel has joined. 15:13:39 -!- arseniiv_ has changed nick to arseniiv. 15:14:40 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59896&oldid=59895 * Kamish * (-7) 15:23:25 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59897&oldid=59896 * Kamish * (+90) 16:14:30 -!- imode has joined. 16:25:31 -!- imode has quit (Quit: WeeChat 2.3). 16:25:54 -!- imode has joined. 16:31:06 -!- xkapastel has quit (Quit: Connection closed for inactivity). 16:57:35 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59898&oldid=59897 * Kamish * (+35) 16:58:05 -!- tromp has quit (Remote host closed the connection). 17:04:30 -!- 77FABM7QO has joined. 17:22:20 -!- 77FABM7QO has quit (Remote host closed the connection). 17:35:39 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=59899&oldid=59898 * Kamish * (+6) 17:40:51 -!- arseniiv has quit (Ping timeout: 258 seconds). 17:52:24 -!- tromp has joined. 18:03:17 -!- tromp has quit (Remote host closed the connection). 18:44:04 -!- moei has joined. 19:07:06 -!- tromp has joined. 19:56:41 -!- Sgeo has joined. 19:59:12 -!- Sgeo_ has quit (Ping timeout: 268 seconds). 19:59:59 -!- b_jonas has joined. 20:09:25 -!- Camto has joined. 20:10:33 -!- Camto has quit (Client Quit). 20:12:03 -!- xkapastel has joined. 20:26:03 RIP BRUNO GANZ 21:22:15 -!- Cale has quit (Ping timeout: 264 seconds). 21:35:05 -!- Cale has joined. 22:01:54 -!- b_jonas has quit (Quit: leaving). 22:05:25 -!- Remavas has joined. 22:39:27 -!- moei has quit (Quit: Leaving...). 23:10:41 -!- Remavas has changed nick to Remavas[AFK]. 23:31:47 -!- xkapastel has quit (Quit: Connection closed for inactivity). 23:41:13 -!- tromp has quit (Remote host closed the connection). 23:55:19 -!- oerjan has joined. 23:56:53 -!- tromp has joined. 23:57:39 -!- AnotherTest has quit (Ping timeout: 264 seconds). 2019-02-17: 00:00:12 -!- Lord_of_Life has quit (Read error: Connection reset by peer). 00:01:17 -!- tromp has quit (Ping timeout: 246 seconds). 00:03:06 -!- Lord_of_Life has joined. 00:35:11 -!- tromp has joined. 00:40:18 -!- tromp has quit (Ping timeout: 272 seconds). 00:55:24 [[Vague]] https://esolangs.org/w/index.php?diff=59900&oldid=59800 * Cortex * (-33) 00:59:05 [[Hexomnia]] https://esolangs.org/w/index.php?diff=59901&oldid=59356 * Cortex * (+35) 01:08:19 -!- Remavas-Hex has joined. 01:11:26 -!- Remavas[AFK] has quit (Ping timeout: 244 seconds). 01:29:00 -!- tromp has joined. 01:33:39 -!- tromp has quit (Ping timeout: 244 seconds). 02:01:41 -!- Remavas-Hex has changed nick to Remavas-Hex[AFK]. 02:02:17 -!- Remavas-Hex[AFK] has changed nick to Remavas-. 02:03:43 -!- Remavas- has changed nick to Remavas. 03:07:03 -!- nfd9001 has quit (Read error: Connection reset by peer). 03:13:40 Is there a way to tell Firefox to disable kerning for editable fields? 03:16:23 -!- tromp has joined. 03:20:47 -!- tromp has quit (Ping timeout: 246 seconds). 03:23:51 -!- Remavas has quit (Read error: Connection reset by peer). 03:24:16 -!- Remavas has joined. 03:37:58 -!- Remavas has quit (Quit: Leaving). 04:16:15 the 4-tuple model of a turing machine is the most natural. 04:41:16 how so, and compared to what? 04:42:00 compared to the 5-tuple model. instead of having (current state, old symbol, new symbol, direction, new state), you have (current state, old smbol, command, new state). 04:42:25 the 4-tuple model is generalizable to not even include symbols, but 'conditions', which can be defined as boolean functions. 04:43:05 the general form of an automaton, moving from the 4-tuple model, looks like (current state, condition, next state, command). 04:44:44 yeah 04:46:06 if you were to try to generalize the 5-tuple model to include more actions, the number of states you'd need to accomplish a "no-op" blows up like mad, and in some cases, may not even be possible. 05:04:01 -!- tromp has joined. 05:08:56 -!- tromp has quit (Ping timeout: 258 seconds). 05:30:43 -!- oerjan has quit (Quit: Nite). 05:52:26 -!- FreeFull has quit. 05:57:59 -!- tromp has joined. 06:00:56 I think with the Amycus numbers, length is popcount and head is ctz, isn't it? 06:02:17 -!- tromp has quit (Ping timeout: 255 seconds). 06:30:37 -!- arseniiv has joined. 06:51:25 -!- tromp has joined. 06:55:53 -!- tromp has quit (Ping timeout: 245 seconds). 07:24:15 -!- nfd9001 has joined. 07:36:54 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59902&oldid=59899 * Kamish * (+1814) 08:09:32 -!- arseniiv has quit (Ping timeout: 246 seconds). 08:14:31 `quote Taneb prime memory 3 08:14:32 No output. 08:14:40 `quote before reaching 3 08:14:41 No output. 08:15:10 Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 08:15:21 I've made some changes and now it can reach at least 131 08:16:05 I also have a Fractran -> Sed compiler-ish thing 08:16:23 -!- tromp has joined. 08:16:34 [[RELATIONS]] N https://esolangs.org/w/index.php?oldid=59903 * Kamish * (+718) Created page with "

'''RELATIONS''' is an esoteric programming language created by [[User:Kamish|Kamish]]

This language is absolutely useless and '''has 8 commands:'''

{| class="wik..." 08:16:36 -!- tromp has quit (Remote host closed the connection). 08:16:48 -!- tromp has joined. 08:17:28 [[User:Kamish]] https://esolangs.org/w/index.php?diff=59904&oldid=59890 * Kamish * (+18) 08:18:58 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59905&oldid=59889 * Kamish * (+54) 08:31:48 [[Kate]] N https://esolangs.org/w/index.php?oldid=59906 * Kamish * (+647) Created page with "

'''Kate''' - esoteric programming language created by [[User:Kamish|Kamish]]

The language consists of only one command - Kate

{| class="wikitable" |- ! Command !..." 08:31:51 -!- Sgeo_ has joined. 08:34:50 -!- Sgeo has quit (Ping timeout: 250 seconds). 08:35:27 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59907&oldid=59905 * Kamish * (+34) 08:36:00 [[User:Kamish]] M https://esolangs.org/w/index.php?diff=59908&oldid=59904 * Kamish * (+13) 09:02:32 -!- tromp has quit (Remote host closed the connection). 09:07:59 -!- imode has quit (Ping timeout: 246 seconds). 09:10:50 -!- AnotherTest has joined. 09:14:04 -!- arseniiv has joined. 09:16:23 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:16:51 -!- Sgeo_ has joined. 09:20:22 -!- tromp has joined. 09:33:26 -!- tromp has quit (Remote host closed the connection). 09:38:39 -!- tromp has joined. 09:44:49 awesome Taneb!! 11:13:46 [[Special:Log/newusers]] create * Alikberoff * New user account 11:28:32 -!- Sgeo__ has joined. 11:29:32 -!- b_jonas has joined. 11:31:16 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 11:31:16 zzo38: re Amicus number representation, yes 11:31:36 Taneb: lol 11:31:49 should we quote that? 11:31:51 -!- xkapastel has joined. 11:33:15 `bobadventures http://bobadventures.comicgenesis.com/d/20190216.html 11:33:16 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventures: not found 11:54:39 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=59909&oldid=59854 * Alikberoff * (+115) /* Introductions */ 11:54:51 [[Generic 2D Befunge]] N https://esolangs.org/w/index.php?oldid=59910 * Alikberoff * (+1788) ~~~~ 12:00:32 -!- arseniiv has quit (Ping timeout: 246 seconds). 12:02:01 -!- Lord_of_Life_ has joined. 12:03:10 [[Generic 2D Befunge]] https://esolangs.org/w/index.php?diff=59911&oldid=59910 * Alikberov * (+89) 12:03:11 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:04:19 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:55:51 -!- arseniiv has joined. 14:14:35 -!- Sgeo__ has quit (Ping timeout: 255 seconds). 14:14:45 -!- Sgeo has joined. 14:42:16 -!- aloril has quit (Remote host closed the connection). 14:44:14 `help quote 14:44:16 Quotes are just elements of the quantum dilapidated bogosphere. See qdb. 14:44:17 `help addquote 14:44:18 ​`addquote? ¯\(°​_o)/¯ 14:44:22 `help qdb 14:44:23 qdb is used like: `quote; `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also quoteformat 14:44:24 `help quote format 14:44:25 ​`quote format? ¯\(°​_o)/¯ 14:44:58 `? quoteformat 14:44:59 quoteformat is: message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two. 14:45:24 -!- aloril has joined. 14:45:32 ``` addquote ' Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3?' #https://esolangs.org/logs/2019-02-17.html#lT 14:45:34 1332) Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 15:01:36 wait wait 15:01:44 what the fuck, English 15:03:41 so not only do they have sign /saIn/, signal /"sIgn@l/, but also resign /rI"zaIn/, resignation /rezIg"neIS@n/ 15:03:46 it's crazy 15:03:57 `? sign 15:03:58 sign? ¯\(°​_o)/¯ 15:51:33 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:52:46 -!- FreeFull has joined. 16:00:33 [[Special:Log/newusers]] create * TheJebForge * New user account 16:03:19 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59912&oldid=59909 * TheJebForge * (+234) 16:05:00 [[Glutton]] https://esolangs.org/w/index.php?diff=59913&oldid=59856 * CubixThree * (+561) Made some more progress finishing this up. 16:06:02 [[User:TheJebForge]] N https://esolangs.org/w/index.php?oldid=59914 * TheJebForge * (+212) Created page with "I'm TheJebForge, a hobbyist programmer and I know most of the popular programming languages. Favorite languages are C++ and Lua. Joined this community to showcase a language I..." 16:09:32 [[Language list]] https://esolangs.org/w/index.php?diff=59915&oldid=59859 * TheJebForge * (+13) 16:13:34 [[Minaac]] N https://esolangs.org/w/index.php?oldid=59916 * TheJebForge * (+553) Created page with "== minaac == Minaac (Minaac Is Not An Assembler Clone) is a run-time interpreted programming language capable of recreating Turing Machine making it a turing-complete languag..." 16:19:02 [[Minaac]] https://esolangs.org/w/index.php?diff=59917&oldid=59916 * TheJebForge * (+120) 16:19:26 [[Minaac]] https://esolangs.org/w/index.php?diff=59918&oldid=59917 * TheJebForge * (+21) /* Minaac */ 16:21:50 [[Minaac]] https://esolangs.org/w/index.php?diff=59919&oldid=59918 * TheJebForge * (+49) 16:22:18 [[Minaac]] https://esolangs.org/w/index.php?diff=59920&oldid=59919 * TheJebForge * (+4) /* External resources */ 16:22:54 [[Minaac]] https://esolangs.org/w/index.php?diff=59921&oldid=59920 * TheJebForge * (+23) 16:24:21 -!- TheJebForge has joined. 16:24:27 Hello :D 16:28:13 -!- TheJebForge has quit (Client Quit). 16:31:37 [[Minaac]] https://esolangs.org/w/index.php?diff=59922&oldid=59921 * TheJebForge * (+1) 16:50:45 [ 30*50 16:50:46 b_jonas: 1500 17:24:06 [[Esoteric data structure]] https://esolangs.org/w/index.php?diff=59923&oldid=44362 * Cortex * (+22) 18:02:06 [[$ $]] https://esolangs.org/w/index.php?diff=59924&oldid=59258 * Cortex * (+43) 18:03:21 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59925&oldid=59806 * Cortex * (+21) 18:04:54 [[Pizza Delivery]] N https://esolangs.org/w/index.php?oldid=59926 * Cortex * (+1577) Created page with "Coming soon: Usefulness {{WIP}} '''Pizza Delivery''' is yet another esolang by [[User:Cortex|]] designed to be similar to the logic of other Cortex languages, but more concise..." 18:12:55 http://dmishin.blogspot.com/2013/11/the-single-rotation-rule-remarkably.html 18:34:40 -!- imode has joined. 18:48:17 that's interesting 18:52:43 -!- moei has joined. 18:56:29 [[User:TheJebForge]] https://esolangs.org/w/index.php?diff=59927&oldid=59914 * TheJebForge * (+4) 18:56:56 [[Minaac]] https://esolangs.org/w/index.php?diff=59928&oldid=59922 * TheJebForge * (+2) /* Example code */ 19:05:39 [[Minaac]] https://esolangs.org/w/index.php?diff=59929&oldid=59928 * TheJebForge * (+239) /* Minaac */ 19:05:52 [[Minaac]] https://esolangs.org/w/index.php?diff=59930&oldid=59929 * TheJebForge * (+1) /* Minaac */ 19:30:07 shachaf: thank you! 19:35:17 `? east port 19:35:18 east port? ¯\(°​_o)/¯ 19:50:30 -!- Phantom_Hoover has joined. 19:50:30 -!- Phantom_Hoover has quit (Changing host). 19:50:30 -!- Phantom_Hoover has joined. 20:03:56 `? gray 20:03:58 Gray is e common misspalling of grey. 20:04:16 `cwlprits gray 20:04:18 oerjän 20:04:25 `? grey 20:04:26 grey? ¯\(°​_o)/¯ 20:14:46 . o O ( Let's not make an entry on Grey codes. ) 20:14:54 `? fuchsia 20:14:55 fuchsia? ¯\(°​_o)/¯ 20:15:02 ``` 20:15:03 bash: -c: option requires an argument 20:15:30 ``` for c in sc cs csh sch sh ch; do \? fu"$c"ia; done 20:15:33 fuscia? ¯\(°​_o)/¯ \ fucsia? ¯\(°​_o)/¯ \ fucshia? ¯\(°​_o)/¯ \ fuschia? ¯\(°​_o)/¯ \ fushia? ¯\(°​_o)/¯ \ fuchia? ¯\(°​_o)/¯ 20:15:57 `wrl 20:15:58 https://hack.esolangs.org/repo/file/tip/wisdom 20:16:44 `cwlprits pokemon red 20:16:45 rdocöc 20:18:13 Who was the person who was against cwlprits and dowg and grWp and all those things? 20:18:24 I feel like there was one (other than b_jonas) but now everyone's using them. 20:21:44 I have troulbe with the etymology of things like `doag. 20:22:22 And I have troulbe with spelling, apparently. 20:22:34 shachaf: I'm not specifically against them 20:22:52 I just feel like everyone should be allowed to use whatever tools they want, and judged by their results regardless of their tools 20:23:20 this should apply for programming languages too: if you write useful stuff in java or php, that's fine, it's your problem if you have to wrestle with the language during, not mine as a user 20:23:51 i.e. I prefer Mediawiki over other wikis, even if Mediawiki is the one using php 20:23:55 But if you use javascript and burden me with electron then I will complain. 20:23:57 :P 20:25:34 same for editors and even IDEs 20:32:17 I do think there's a limit to this idea. 20:32:39 Like... given a network facing C program, I expect it to have a 100% chance of having latent undiscovered memory unsafety, of a type that is potentially exploitable 20:33:08 Tools can well be inapproprate in ways the user cares about 20:33:13 -!- ais523 has joined. 20:33:27 @messages? 20:33:27 Sorry, no messages today. 20:34:03 int-e: Do you want to rename these things? 20:34:15 Is there some way to tell the "uuid" program to use a different MAC address? 20:34:25 I think maybe there could be a better system than encoding subsets of behaviors people care about in the command name. 20:34:28 shachaf: no! 20:34:52 shachaf: don't rename these, please 20:35:18 that'll just cause even more confusion 20:35:20 It's been a few years. People are too used to the existing names. 20:36:19 -!- Lymia has quit (Quit: Hugs~ <3). 20:37:11 (I suppose it isn't difficult to just edit the resulting UUID to put in a different MAC address) 20:38:28 -!- callforjudgement has joined. 20:38:30 -!- ais523 has quit (Ping timeout: 250 seconds). 20:38:49 -!- callforjudgement has changed nick to ais523. 20:40:59 hello ais 20:41:48 so I found out that there are like eight M:tG cards, even not counting the silver-bordered ones, that make other players make choices while you're casting a spell 20:43:02 they're old, but have some reprings 20:43:48 ``` card-by-name Arena # is one of them 20:43:49 Arena \ Land \ {3}, {T}: Tap target creature you control and target creature of an opponent's choice they control. Those creatures fight each other. (Each deals damage equal to its power to the other.) \ PROMO-S, TSP-S \ \ Arena Athlete \ 1R \ Creature -- Human \ 2/1 \ Heroic -- Whenever you cast a spell that targets Arena Athlete, target creature an opponent controls can't block this turn. \ THS-U \ \ Arena of the Ancients \ 3 \ Artifact \ Legendary cre 20:44:58 ``` card-by-name Evangelize # is a new one in TSP 20:44:58 Evangelize \ 4W \ Sorcery \ Buyback {2}{W}{W} (You may pay an additional {2}{W}{W} as you cast this spell. If you do, put this card into your hand as it resolves.) \ Gain control of target creature of an opponent's choice they control. \ TSP-R 20:48:13 now I don't know how casting spells work, and have to read the comp rules 20:48:34 I do know how it work; I have read the rules 20:51:26 First modes are chosen, and then targets, and then the cost is determine, and then the mana step if applicable, and then the cost is paid. 20:54:28 -!- Lymia has joined. 20:54:37 zzo38: can the opponent's choice of targets, or any choices by other players during the mana abilities part, change whether the caster can pay the costs of the spell? 20:55:13 And I mean without silver-bordered cards 20:55:28 because with Gleemax that could happen, but let's exclude Gleemax now as it's silver-bordered 20:56:00 I think there are some cards with effects that might do that (even not counting silver bordered) (although I do not quite remember all of the cards) 20:56:17 this doesn't seem any more broken than Selvala 20:56:50 I assume you'd just have to rewrite if an opponent chose a target which meant you couldn't afford to pay the costs of the spell 20:56:54 *rewind 20:57:19 (I think some cards increase the cost for targeting them) 20:57:29 yes 20:57:41 (I do not remember which ones.) 20:58:09 `card-by-name Selvala, Explorer Returned 20:58:10 Selvala, Explorer Returned \ 1GW \ Legendary Creature -- Elf Scout \ 2/4 \ Parley -- {T}: Each player reveals the top card of their library. For each nonland card revealed this way, add {G} and you gain 1 life. Then each player draws a card. \ CNS-R, C16-R, VMA-R 20:58:15 it's tricky, some cards like that counter the spell unless a cost is paid, rather than actually increasing the cost 20:58:26 b_jonas: the great thing is, that's a mana ability 20:58:40 ouch 20:58:57 so you can attempt to use it to pay for a spell, and then discover you don't have enough mana 20:58:59 Yes, it is a mana ability which reveals cards from a library 20:59:10 why don't we have rules managers that can rein Wizards in when they have such ideas? 20:59:11 and you can't rewind because the cards from the library have already been seen 20:59:13 And conditionally adds mana based on that 20:59:26 that can't even work 20:59:44 it clearly doesn't work but the rules managers have been reluctant to change it 21:00:13 isn't there a rule that if something would reveal hidden cards while casting a spell, they're instead revealed only later, after casting the spell? or is that only for _drawing_ cards specifically? 21:00:26 I think only for drawing cards 21:00:43 right, you draw them face down 21:00:50 but that doesn't help with Selvala because they're explicitly revealed 21:00:58 so 21:01:15 they should really just have put "play this ability only any time you could play an instant" on there 21:01:19 http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.7 21:01:24 or at least day-1-errata'd it to that 21:01:28 but for mysterious reasons, they didn't 21:01:32 ais523: Yes, that would help 21:01:46 if a morph of an opponent dies during the mana ability part of casting a spell, you'll just learn what it is immediately, even if casting the spell may have to be rewound? 21:02:10 I assume that can happen, although I can't think of a way to do it offhand 21:02:44 I guess you could have stolen it, and sacrificed it to Phyrexian Altar, but then you'd legally be allowed to look at it so it'd only matter in multiplayer 21:03:25 ais523: just copy a Wild Cantor on it 21:03:34 um 21:03:38 that would be your own morph then 21:03:41 right 21:03:55 Do you like my puzzle? 21:04:10 killing an opponent's creature at mana ability speed is hard because you can't use triggered abilities 21:04:15 yeah 21:04:28 hmm, are there any global toughness boosts in the game? I think there are, right? 21:04:33 ais523: worse still, you can't even use toughness reduction because SBAs won't kick in 21:04:39 oh right, SBAs 21:04:51 so you'd have to kill directly 21:05:30 zzo38: seeing a Panglacial Wurm there worries me 21:05:44 man, this was easier when I could just search for "pool" to find every mana ability 21:06:25 is "add" used in other contexts? 21:06:38 you newfangled youths with your intuitive "dies" and "create [token]" and "add [mana]" phrasing, back when I was young we had to write rules text uphill both ways in the snow 21:06:41 ais523: yes 21:06:51 `random-card \badd\b 21:06:51 Shefet Dunes \ Land -- Desert \ {T}: Add {C}. \ {T}, Pay 1 life: Add {W}. \ {2}{W}{W}, {T}, Sacrifice a Desert: Creatures you control get +1/+1 until end of turn. Activate this ability only any time you could cast a sorcery. \ HOU-U 21:06:56 nope, not that 21:07:09 hmm 21:08:21 ais523: you might be right, maybe it doesn't occur elsewhere 21:08:33 it might even be better than "pool" because "pool" occurs in some card names 21:09:26 If "add" is used in other contexts, they would presumably say where to add it to, and you would be adding something other than mana, anyways 21:11:56 zzo38: with your puzzle, can't you just win by discarding a card to Skirge Familiar and attacking with everything? 21:12:02 AFAICT the opponent can't block and you do 4 damage 21:12:28 ais523: and Simian Spirit Guide makes it very easy to have cases where you start casting a spell without being able to pay its costs but the opponent doesn't know that for sure 21:13:15 ais523: Maybe, although it is not intention. I will look to see if it is or not 21:13:15 I don't think that in general it's possible to always be able for an opponent to know in advance how much mana you can generate 21:13:21 (It can be fixed if necessary) 21:16:23 ais523: I don't think you can win like that? You can do only 3 damage, isn't it? 21:16:48 zzo38: lhurgoyf does one for the discarded instant/sorcery in your graveyard, skirge familiar does 3 21:17:03 anafenza only prevents creature cards going to the graveyard and has no impact on instants and sorceries 21:17:16 or, wait, does lhurgoyf only count creatures? 21:17:35 ah right, only counts creatures 21:17:46 `card-by-name Metalworker 21:17:47 Metalworker \ 3 \ Artifact Creature -- Construct \ 1/2 \ {T}: Reveal any number of artifact cards in your hand. Add {C}{C} for each card revealed this way. \ UD-R 21:18:25 Yes, Lhurgoyf only counts creatures. 21:19:24 I suspect the panglacial wurm is a red herring as none of your cards appear to search, it's probably just there to be an arbitrary creature 21:19:47 hmm, let me look 21:21:48 ais523: would zzo38 really do that in a puzzle? adding such an irrelevant element? 21:22:37 I don't know 21:22:37 maybe he would 21:22:49 different puzzle setters have different styles but I don't know what zzo38's is 21:22:51 yeah, it doesn't look like anything searches there. not even a search land. 21:23:41 -!- arseniiv has quit (Ping timeout: 246 seconds). 21:26:22 I don't think zzo38's puzzle is solvable as you can't get rid of the anafenza or the lab maniac, and can't cast the panglacial wurm even after drawing it, thus you can't get more than 3 power on the field and can't win by any alternate win condition, also there's no way to stop the opponent winning next turn 21:26:25 although I might have missed something 21:27:46 I think once someone found the intended solution but was unsure if it was valid or not, and they are a judge of Magic: the Gathering. 21:29:36 well, chromatic sphere draws a card at mana ability speed, and I'm pretty sure that's part of the solution 21:29:49 Yes 21:30:37 I'm guessing the intended solution is something along the lines of "cast panglacial wurm from your library, but draw it while you're casting it so that it isn't there, and something goes wrong during the rewind" 21:30:50 but I can't see a way to do the first step as none of the cards you have search your library 21:31:35 No, that isn't it 21:32:03 You do not have to rewind. 21:33:10 panglacial wurm isn't castable as it has GG in its cost and you can only generate one green mana 21:33:45 what? 21:33:58 hmm, does the intended solution involve attempting to cast panglacial wurm while casting opt? because that isn't legal 21:33:59 draw it while you're casting it? 21:34:02 how would that even work? 21:34:10 ais523: No, it doesn't involve that 21:34:21 I said it does not involve rewinding 21:34:24 hmm, at what point does a card go to the stack while you're casting it? probably before you pay costs 21:34:34 isn't it on the stack and no longer in your library while you're casting it? 21:34:39 ais523: very early 21:35:20 see rule 601.2a 21:35:46 let's see, my problem here is that you can trivially draw panglacial wurm, but I don't think you can do anything else with it 21:35:58 Putting it on the stack is the first step before deciding modes. 21:36:06 oh, you can discard it into exile, but that doesn't seem to help either 21:36:27 ``` grep '^601\.2a' share/mtg/rules.txt 21:36:27 601.2a To propose the casting of a spell, a player first moves that card (or that copy of a card) from where it is to the stack. It becomes the topmost object on the stack. It has all the characteristics of the card (or the copy of a card) associated with it, and that player becomes its controller. The spell remains on the stack until it's countered, it resolves, or an effect moves it elsewhere. 21:37:09 I'm amused at the way you quoted the . there 21:37:15 I guess it makes the grep run fasteR? 21:37:35 I didn't do it to make gerp run faster 21:37:42 false positives seem unlikely 21:37:56 `` grep ^601.2a share/mtg/rules.txt 21:37:57 601.2a To propose the casting of a spell, a player first moves that card (or that copy of a card) from where it is to the stack. It becomes the topmost object on the stack. It has all the characteristics of the card (or the copy of a card) associated with it, and that player becomes its controller. The spell remains on the stack until it's countered, it resolves, or an effect moves it elsewhere. 21:37:57 the running speed is insignificant because the network lag is bigger 21:38:02 I just find it dirty to not quote it 21:38:31 and I need a caret or it will find an earlier line, so I can't just -F it, and -w or -x doesn't help 21:40:00 I actually have an alias to do a recursive search for a particular string at the start of a line, but it doesn't quote it 21:40:18 (it does some other things, though, like opening the found result in less) 21:40:36 the idea is to quickly jump to a function in code that uses an indentation style which places newlines before function names in their definintions 21:41:34 and it wouldn't be too strange to have an alias in HackEso that displays a particular rule 21:41:41 by number 21:41:50 IIRC the Yawgatog bot has that feature 21:41:56 my most commonly used alias, though, is one called "l" which does ls on directories, ls on . if given no arguments, and less on regular files 21:42:04 the tricky part is that some rules really don't fit in an irc line 21:42:21 what if dwarf fortress w as an anime 21:42:40 Also you should fix so that the cards do not have reminder text. This solves two problems, one is it makes searching better to omit reminder text, and other is that it is less likely to go over the maximum length of the IRC text if the reminder text is omitted. 21:42:43 I'm finding it hard to visualise what an anime dwarf would look like 21:43:17 `card-by-name Elven Fortress 21:43:18 Elven Fortress \ G \ Enchantment \ {1}{G}: Target blocking creature gets +0/+1 until end of turn. \ FE-C 21:44:04 zzo38: I told you already, fix that yourself if you want 21:44:39 b_jonas: O, OK. 21:44:54 `card-by-name duh 21:44:55 Duh \ B \ Instant \ Destroy target creature with reminder text. (Reminder text is any italicized text in parentheses that explains rules you already know.) \ UNH-C 21:45:19 detecting reminder text might be quite hard 21:45:23 I for one like the reminder text, because I can't remember all 136 keyword abilities 21:45:32 perhaps opening paren followed by capital letter is a reliable way to detect it? 21:45:45 ais523: why? are there other parenthesis in the rules text part? 21:45:57 I think so, not sure though 21:46:03 As far as I know the parentheses are not used for anything else other than reminder text 21:46:12 `` cat bin/card-by-name 21:46:13 ​#!/bin/sh \ exec perl -e 'open$I,"<","/hackenv/share/mtg/allsets.txt"or die;$/=""; while(<$I>){/\A(?i)\Q$ARGV[0]/ and print}' "$1" 21:46:33 now that looks ugly 21:46:50 what's \A? start of a line? 21:46:55 ais523: start of the string 21:47:09 which in this case is more than a line 21:47:10 oh right, the while already splits it into lines 21:47:11 it's a whole card 21:47:17 ais523: no, it splits it to paragraphs 21:47:24 and there's one paragraph per card 21:47:26 (ideally) 21:47:34 oh, I missed the override of $/ 21:48:41 `` grep '([a-z]' /hackenv/share/mtg/allsets.txt 21:48:42 3(r/p)(r/p) \ ({(r/p)} can be paid with either {R} or 2 life.) \ When Aether Chaser enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Herder enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Hub enters the battlefield, you get {E} (an energy counter). \ When Aether Inspector enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Meltdown enters the battlefield, you get {E}{E} (two ene 21:48:52 ah! 21:48:57 although that's in a mana cost 21:49:04 you'll have to find one in a rule text 21:49:09 but it's close enough 21:49:17 do we count the energy counter counting text as reminder text? 21:49:23 in the yawgatog allsets dump, it's not even trivial to find which lines are mana costs 21:49:53 `card-by-name graven cairns 21:49:54 Graven Cairns \ Land \ {T}: Add {C}. \ {(b/r)}, {T}: Add {B}{B}, {B}{R}, or {R}{R}. \ FUT-R, SHM-R, EXP-M, IMA-R 21:50:00 there we go 21:50:06 ais523: yes. it's printed with parens in italic on the card, so it's reminder text. 21:50:28 ``` grep '([a-z]' /hackenv/share/mtg/allsets.txt | grep -v energy 21:50:29 3(r/p)(r/p) \ ({(r/p)} can be paid with either {R} or 2 life.) \ 3(w/u) \ Whenever Alesha, Who Smiles at Death attacks, you may pay {(w/b)}{(w/b)}. If you do, return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking. \ Your opponents can't cast spells with the chosen name (as long as this creature is on the battlefield). \ 1(w/p) \ ({(w/p)} can be paid with either {W} or 2 life.) \ Cycling {(u/b)} ({(u/b) 21:50:47 ``` grep '([a-z]' /hackenv/share/mtg/allsets.txt | grep -v energy | grep -v '([a-z]/[a-z])' 21:50:48 Your opponents can't cast spells with the chosen name (as long as this creature is on the battlefield). \ Pursuant to subsection 3.1(4) of Richard's Rules of Order, at the beginning of the upkeep of each participant in this game of the Magic: The Gathering(R) trading card game (hereafter known as "PLAYER"), that PLAYER performs all actions in the sequence of previously added actions (hereafter known as "ACTION QUEUE"), in the order those actions were added 21:50:59 `quote before finding 3 21:50:59 1331) ...this is the first prime number finder I've ever written which ran out of memory before finding 3 21:51:16 `quote before reaching 3 21:51:17 1332) Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 21:51:21 the first hit there is reminder text, the secondd surely has to be an uncard (and isn't reminder text) 21:51:29 oh darn 21:51:35 I'm not sure both of these are necessary 21:51:43 I added the latter one 21:52:08 And shachaf added the first one 21:52:14 `? delquote 21:52:16 delquote? ¯\(°​_o)/¯ 21:52:16 `? rmquote 21:52:17 rmquote? ¯\(°​_o)/¯ 21:52:17 `? quote 21:52:19 Quotes are just elements of the quantum dilapidated bogosphere. See qdb. 21:52:22 `? ddb 21:52:23 ddb? ¯\(°​_o)/¯ 21:52:24 `? qdb 21:52:25 qdb is used like: `quote; `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also quoteformat 21:52:30 `delquote 1332 21:52:32 ​*poof* Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 21:57:03 I had a lot of fun with that dumb idea 21:57:24 Tomorrow I'll try to finish my previous dumb idea, a brainfuck interpreter written in jq 21:59:13 what's jq? 22:01:03 iirc, a command line tool to query json. 22:03:49 is this one of those "accidentally Turing-complete" situations? 22:04:27 -!- Remavas has joined. 22:09:10 hmm. dumb question. if I'm mindslaving my opponent, and I'm casting Evangelize (through Vedalken Orrery), then am I required to choose Standard Bearer as the target for the Evangelize? 22:10:29 601.2c doesn't even mention the case of spells like Arena or Evangelize that I was talking earlier, which make another player than the caster choose targets during casting a spell 22:10:42 I don't think so; you're making decisions for your opponent, and your opponent wouldn't be constrained in making them 22:10:45 but it's an interesting semantic point 22:11:18 `card-by-name Standard Bearer 22:11:18 Standard Bearer \ 1W \ Creature -- Human Flagbearer \ 1/1 \ While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. \ AP-C 22:11:53 no wait 22:12:01 that's not the current oracle text 22:12:10 the current rules text is: While an opponent is choosing targets as part of casting a spell they control or activating an ability they control, that player must choose at least one Flagbearer on the battlefield if able. 22:12:36 oh, so it got oracled to solve the problem 22:12:41 no 22:12:50 I was reading that current oracle text and asked the question after that 22:12:53 it's still a problem 22:13:13 I should have realized I shouldn't ask card-by-name for this, because I knew this got lots of erratas 22:13:23 oh right, evangelize is a spell you control 22:13:44 yes, and the opponent controls the flagbearer in this situation 22:15:56 M:tG's rules probably don't work 22:16:13 but they work well enough when people aren't intentionally setting up ridiculous situations 22:16:17 `card-by-name Dominating Licid 22:16:18 Dominating Licid \ 1UU \ Creature -- Licid \ 1/1 \ {1}{U}{U}, {T}: Dominating Licid loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {U} to end this effect. \ You control enchanted creature. \ EX-R 22:16:46 that card didn't work at all for quite a while (due to layers issues), there was something of a community protest asking for errata or rules changes to make it work again 22:16:50 ais523: not only that, I think you can make houserules that make them work and that are close enough to M:tG rules that the difference won't come up in real games 22:17:04 eventually it happened, before then there were ruling saying that it worked but not explaining why 22:18:01 I still don't understand how linked abilities work, there are several reasonable ways they could be fixed, and I should probably ask the knowledgable people (judges) on scryfall how they work 22:18:58 ais523: jq has enough in it that it's almost certainly TC 22:20:22 And, like, not by half measures 22:20:46 Something Underload-like would probably be easier to implement in it than BF 22:22:12 And now I ought to sleep 22:22:12 just do Cyclic Tag or The Waterfall Model, we have easier languages than BF nowadays :-) 22:23:48 Yeah, but they're harder to show off to people outside this channel 22:23:55 * Taneb away 22:25:23 you want achievements that you can put on your cv? 22:25:30 hmm, and I go to all this trouble writing a tutorial and interactive interpreter and optimizing interpreter for The Waterfall Model precisely so that I can show it off to people outside the channel… 22:33:32 wait 22:33:55 ``` grep -n '^601\.2d' share/mtg/rules.txt 22:33:55 2069:601.2d If the spell requires the player to divide or distribute an effect (such as damage or counters) among one or more targets, the player announces the division. Each of these targets must receive at least one of whatever is being divided. 22:34:53 That's still a rule in un-land? You can't The Ultimate Nightmare half a damage into a creature? 22:36:49 I don't know 22:38:02 mind you, that applies only to spells. afaik there's no such rule for combat damage, a Gorgon can kill blocked creatures with half a damage each 22:56:05 I am not even so sure the Un-cards rules are all as well defined anyways, but I might assume that rule 601.2d still applies with a minimum of 1 (but that unlike normal game you can still do one and a half) 22:56:22 And that, yes for combat damage rule 601.2d is not applicable 23:01:18 -!- AnotherTest has quit (Ping timeout: 245 seconds). 23:04:36 zzo38: the rules for some un-cards are definitely not well-defined. but the un-rule that doesn't require any cards, which allows half-integers as numbers, I think that one is definable, and there are also a lot of un-cards that are easy to support because they don't do anything really rule-breaking 23:05:14 I mean supportable comp-rules-wise obviously, not that they should be allowed in a tournament or make a pleasant game 23:05:31 OK 23:05:36 -!- xkapastel has joined. 23:05:48 well, there are some problems with the half-integer rule too 23:06:09 there are a few places where you're required to round to an integer, and that definitely mustn't be done the way MaRo says it should be done 23:06:14 his un-rules are just bullshit 23:06:23 but he's not the rules manager, he's only the un-rules manager 23:07:34 Yes, I agree with those stuff 23:07:47 You are correct about those stuff 23:08:02 so there has to be a house rule that you round down in those cases 23:09:09 `card-by-name Disciple of the Phenax 23:09:10 No output. 23:09:36 `card-by-name Disciple of Phenax 23:09:37 Disciple of Phenax \ 2BB \ Creature -- Human Cleric \ 1/3 \ When Disciple of Phenax enters the battlefield, target player reveals a number of cards from their hand equal to your devotion to black. You choose one of them. That player discards that card. (Each {B} in the mana costs of permanents you control counts toward your devotion to black.) \ THS-C 23:09:54 Some of my Un-cards won't work for some reason, too. 23:12:03 eg. if you have a Little Girl, you can have a non-integer devotion to white; then if you play Disciple of Phenax with Sleight of Mind to change "black" to "white" in it, you'll have to round that devotion to an integer 23:12:54 there should be a more convincing example somewhere, since Little Girl is silver-bordered, and it's not even clear how devotion is defined 23:13:19 maybe it still counts the symbol for half a mana as one mana symbol 23:13:21 Yes, I know that. But, in that case you have to reveal half of a card 23:13:42 like how a hybrid or phyrexian mana symbol still counts as one 23:14:06 b_jonas: Yes, although those are a full mana of that color, not only half of a mana 23:14:41 `card-by-name Grisly Spectacle 23:14:42 Grisly Spectacle \ 2BB \ Instant \ Destroy target nonartifact creature. Its controller puts a number of cards equal to that creature's power from the top of their library into their graveyard. \ GTC-C, MM3-C, IMA-C, DDM-C 23:15:12 ^ that's a bit better, though we still have to find a way to give a creature non-integer power with the un-rule but without a silver-bordered card 23:15:35 and I'm not sure that's possible 23:17:28 Maybe with X spells it might be? 23:18:08 zzo38: yeah, cast Mind Spring with X set to half 23:18:34 but that's not a nice enough example for some reason 23:19:17 you have to be deliberately doing that, and while there could be good reasons, e.g. because some counterspells care about the cmc of the spell and for an X spell the chosen value of X changes that, it's still a bit artificial 23:20:04 Dealing with a fractional number of cards is difficult, but dealing with a fractional number of counters seems like more possible to implement. 23:20:33 -!- copumpkin has joined. 23:21:07 oh 23:21:17 `cars-by-name Consume Spirit 23:21:17 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: cars-by-name: not found 23:21:20 no wait 23:21:40 `card-by-name Damnable Pact 23:21:41 Damnable Pact \ XBB \ Sorcery \ Target player draws X cards and loses X life. \ DTK-R, C17-R 23:22:20 ^ you may want the opponent lose half a life, since there are other cases when you deal a non-integer amount of damage to them, e.g. when you attack with a deathtouch trample creature 23:22:37 then you have to round down the number of cards they draw 23:23:11 I guess you'd have to spend the other half mana to another X spell 23:23:19 not too likely to come up, but it's convincing enough for me 23:23:41 zzo38: yeah, that's more tricky, you have to think whether you want to allow half a +1/+1 counter or half a poison counter 23:24:05 I think half of a +1/+1 counter or half of a poison counter will work fine if the rules allow it. 23:24:39 especially with infect and wither being out there 23:25:47 oh 23:25:53 `card-by-name swans of bryn argoll 23:25:54 Swans of Bryn Argoll \ 2(w/u)(w/u) \ Creature -- Bird Spirit \ 4/3 \ Flying \ If a source would deal damage to Swans of Bryn Argoll, prevent that damage. The source's controller draws cards equal to the damage prevented this way. \ SHM-R, MM2-R 23:26:03 I shouldn't have forgotten about that one 23:26:10 that's the most obvious way when this can come pu 23:26:24 just have a gorgon deal half a damage to a blocking Swan 23:26:46 the remaining half, after it deals half to a creature that doesn't prevent it, that is 23:27:29 (Some of my Un-cards use numbers other than integers and one half, such as "Math Wizard") 23:28:25 what Math Wizard? 23:28:29 oh, your un-cards 23:28:33 um 23:30:16 well, Infinity Elemental, an un-card from Unstable, also uses a number other than half-integers 23:30:25 and the rules have some trouble supporting that one 23:30:48 I for one don't know how to suppor that consistently, and just chalk it down to an un-card that would never really work with the rules 23:32:02 Yes, some Un-cards won't work so well (and some of mine work even less well than that, although some can work) 23:34:05 Some technically can work, although are unlikely to do much. But, Archaic Tome works as badly like R&D's Secret Lair, I think. 23:36:12 Some of them work differently now (or no longer work) due to rule changes (Homarid Confusion Chamber) or Un-cards rules changes (Death Smith). 23:37:16 -!- Remavas has changed nick to Remavas[AFK]. 23:38:29 Wheel of Hand-cutting works, although the reminder text is wrong (but can be ignored). 23:41:10 even Unhinged, the best un-set, has cards that work just fine with the comp-rules without any modification, they're just un-cards for reasons other than that. examples are Johnny, Combo Player; Mise; Togglodyte; Utabi Kong. Even Rocket-Powered Turbo Slug could work fine if its text was errataed to say what it wants to say. Who would be easy to fix. 23:41:16 drat 23:42:27 Yes, that is true some are work with ordinary rules 23:43:55 the drat was that the bulb in the ceiling lamp burned out. and that realized what I wanted to ask ais 23:44:48 (Irrational Zappers (another of my Un-cards) also uses numbers other than integers and half) 23:46:28 ais523: https://esolangs.org/logs/2019-02.html#l2lb 23:48:31 ais523: basically, last time we talked about words like "divisor" and "quotient" and "factor" and "product", so now I was asking about what words there are like "addition, subtraction, multiplication, division, conjunction, disjunction" 23:48:56 and in particular how you'd call a min or max operation 23:49:59 and tried to come up with possible new terms like "contraction, extension" for min and max, "masonry, carpentry" for floor and ceil. 23:50:28 b_jonas: for min, I sometimes use "cap" / "cap at" / "capping" 23:50:37 as that's what it does if you see it as asymmetrical 23:50:38 ais523: that could work, yes 23:50:54 ... some things called min are assymetrical, yes 23:51:06 I prefer the symmetrical ones, but programming languages and cpus prefer the assymetrical ones 23:51:17 I mean, + and × are being seen as asymmetrical with this terminology 23:51:21 I don't really consider NaN behaviour to be relevant 23:51:27 are there any other asymmetrical cases for min/max? 23:51:44 ais523: no, but you have to be careful what you mean by nan behavior 23:51:53 with min/max, it's not just what nan representation you get as the result 23:52:13 but whether you get the NaN at all or the other operand 23:52:14 it's that in some cases min(nan, 2.0) is 2.0 but min(2.0, nan) is nan 23:52:31 or backwards 23:52:36 the consistent behaviour would be to output the NaN you were given as argument, when you were given exactly one NaN, but that's inefficient 23:52:45 that kind of assymetry is painful, but it's specifically what some of the definitions require or what cpus implement 23:53:19 ais523: well, you could have more than one nice behavior, and one of them is that of the C fmin/fmax functions, which returns the other argument if one of them is a nan 23:53:22 most definitions of min don't take into account the possibility that !(a < b) and !(a > b) don't necessarily together imply a == b 23:53:44 hmm, what does <=> do with NaN? 23:54:07 ais523: yeah, they're assymetric for that too, min(0.0, -0.0) can be different from min(-0.0, 0.0) 23:54:18 and in fact will be different in the cpu operation 23:54:22 because fuck you sse 23:54:42 oh, I forgot about -0 23:54:45 although, -0 == 0 23:54:52 ais523: yes, they are equal 23:54:56 they're just not the /same/, despite being equal 23:54:58 which is why you get an assymetric operation 23:55:05 a non-commutative one that is 23:55:19 hmm, is -(0.0) actually negative zero? or is it positive zero? 23:55:28 ais523: that depends on the programming language actually 23:55:40 iirc in perl it's positive zero, in C it's negative zero, or something like that 23:55:47 I'm not sure I know the full ruels 23:55:54 but that's not the point here 23:56:03 you can get a negative zero in other ways 23:56:14 even without copysign 23:56:15 indeed, I was just complaining at the -0.0 notation :-) 23:56:29 also, copysign is bizarre as a primitive 23:56:42 very few other functions would take a boolean input using the sign bit of a flota 23:56:44 *float 23:56:48 and negative zeroes matter because when you divide one by them, the sign becomes apparent 23:56:54 unless copysign is capable of copying signs other than negative and positive? 23:56:59 ais523: what? that's not true 23:57:22 several x86 vector operations specifically dispatch by the top bit of each part of the register 23:57:26 the ones that do conditional stuff 23:57:29 JavaScript has a Object.is() function to compare negative with positive zero 23:57:35 I don't know what Perl does. 23:57:36 and that top bit is also the sign of the float 23:57:45 zzo38: is it possible to have multiple different positive zeroes in JavaScript? 23:58:01 zzo38: the problem with perl is that it's older than people have figured out that they want ieee floats, so it doesn't really suppor them properly 23:58:09 it's like old programming langugaes 23:58:15 > Object.is(new Number(0), new Number(0)) 23:58:16 ais523: You can have positive zero as a bigint, but other than that I think not. 23:58:17 false 23:58:17 error: 23:58:17 Not in scope: ‘Object.is’ 23:58:17 No module named ‘Object’ is imported. 23:58:32 zzo38: can you have an integer versus a float zero? 23:58:38 ais523: That creates two separate objects representing the number zero, not the number value itself. 23:58:48 actually, my new Number(0) objects don't even compare equal via == 23:58:58 but they do appear to do arithmetic correctly 23:58:59 b_jonas: Yes. An integer zero is 0n, but a float zero is just 0 23:59:19 every time I think I'm beginning to understand JavaScript, it turns out I'm wrong 23:59:25 khehe 23:59:27 ais523: Yes, because you are comparing objects; when comparing objects == checks if it is the same object same like === 23:59:45 ais523: this channel has some other people who think they understand javascript, are they of any help? 2019-02-18: 00:00:02 -!- danieljabailey has quit (Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in). 00:00:12 I am I think I understand JavaScript, I think 00:00:44 b_jonas: I had to learn how JavaScript OO worked to write the The Waterfall Model interpreter 00:00:45 -!- Lord_of_Life_ has joined. 00:00:53 ah 00:01:02 why? 00:01:07 it's much easier to understand when you realise that x.prototype does not, despite appearances, give you access to the prototype of x 00:01:11 couldn't you just avoid the eso parts of javascript when you wrote code? 00:01:18 I wanted to do it properly 00:01:24 ... 00:01:27 and it was the sort of project where OO was helpful anyway 00:01:28 I mean 00:01:37 I was sort of in the same situation about ruby 00:01:41 I gave up trying to understand it now 00:01:50 x.prototype accesses the prototype of new objects constructed using the function x. To get the prototype of x itself, you must use Object.getPrototypeOf(x) instead. 00:01:54 yes 00:02:00 and ruby 1.8 has the advantage that it has a very easy to read only implementation 00:02:09 but that language is crazy 00:02:22 I can't tell if it's crazier than javascript or not, because I know too little about javascript 00:02:25 but it's crazy enough 00:02:43 JavaScript is more hurried than crazy 00:03:04 and it's crazy because of the object model too, the basis it's built over, not just because of something in the library 00:03:04 it was originally written in a ridiculously short space of time to meet a deaddline 00:03:11 For C: "An implementation may give zero -- a sign, or may leave [it] unsigned. Wherever such values are unsigned, any requirements -- to retrieve the sign shall produce an unspecified sign, and any requirement to set the sign shall be ignored." "On implementations that represent a signed zero but do not treat negative zero consistently in arithmetic operations, the `copysign` functions regard the sign of 00:03:17 zero as positive." 00:03:24 JS's object model is unusual but not unforgivable, although it would do with better terminology 00:03:42 -!- Lord_of_Life has quit (Ping timeout: 244 seconds). 00:03:43 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:03:48 I guess copysign has two purposes: to extract a sign, and to set a sign 00:03:48 fizzie: sure, but these days we have ieee floats almost everywhere 00:03:53 and they both got merged into a single function 00:03:58 oh, I wanted to ask 00:04:20 did smalltalk originally call methods "method", or did the "method" name got popularized later, like with java or something? 00:04:39 I was just wondering because of the "subprogram, procedure, subroutine, function, method" synonym thing 00:05:07 oh, I should be able to answer that myself 00:05:22 I have the scanned original smalltalk book on my hard drive 00:05:29 (got it from the internet) 00:05:35 doesn't Smalltallk generally use the word "message"? 00:05:52 I've been learning Smalltalk again recently for work, because I wanted a mathematical model of OO languages 00:06:13 so I've been basically developing a semantics of Smalltalk, because in every case where Java doesn't work like Smalltalk, I wish (for the purpose of proving things about it) it did 00:06:36 I think it might also use the word "method" as well, in the sense that a method is the thing that is activated when an object gets a message. 00:06:48 that said, I still think that merging the program and interpreter was an incredibly bad move and is the reason that Smalltalk never caught on 00:06:59 At least OASYS calls all of the functions "methods", although all of them (other than the init method) must be called on an object, but it doesn't care what class of the object; the same methods are used for all classes. So, it look like unusual that they call it "method" if it is the same for all objects, to me. 00:07:38 Objective-C got the "message" word from Smalltalk, I think. 00:07:42 I also think that having no compile-time type checking is a mistake 00:07:45 fizzie: well, it's the obvious word to use 00:08:01 answer: apparently they're called both "method" and "message", 00:08:07 I think the prototype inheritance in JavaScript is good, even though, some people don't like it 00:08:11 "method" on the side of the class that defines them, "message" when you call them 00:08:22 sort of like how some people use "parameter" vs "argument" 00:08:55 ais523: sure, but my question was more about the history, not what the terminology is now 00:09:13 ais523: wait what? 00:09:23 ais523: but you're not, like, making feather for work, are you? 00:09:31 no, don't worry 00:09:36 good] 00:09:50 fizzie: that's correct, yes 00:09:58 I've put up with the weirdnesses of Java for this long, the points over Smalltalk that make it worse than Feather don't really bother me in comparison 00:10:43 ais523: merging the program and interpreter => do you mean merging the interpreter with the integrated development environment? because APL did that and got popular. admittedly that was in the dark ages. 00:11:10 The C standard uses the parameter/argument words that way, though also has "actual parameter" as a deprecated synonym for "argument", i.e., an "expression in the comma-separated list bounded by the parentheses in a function call expression" (or the equivalent for a function-like macro). 00:11:38 b_jonas: no, in most Smalltalk interpretations, you start with a running interpreter/IDE that's basically set up to be a debugger on itself, and you write the program by editing it in-place 00:11:48 (Likewise, "formal argument" is mentioned as a deprecated synonym for "parameter", the other thing.) 00:11:52 Does C have a word for the K&R style parameter type declarations? 00:12:03 k&r style is tg 00:12:18 ais523: right. but isn't that sort of an optional part of smalltalk, in that you can have a modern implementation that doesn't do that? 00:12:22 in theory, if you stuck to writing things that were clearly separable from the existing interpreter, you coul distinguish them 00:12:37 b_jonas: the designers of Smalltalk apparently don't think so; I hope they are incorrect, though 00:12:49 I mean, if you do want to have an interactive debugger, then it would become part of the program, like it does with perl or lua or ruby, 00:12:59 but still 00:13:18 you should be able to choose to not have an interactive debugger at all 00:13:54 shachaf: The whole set of them is called "a declaration list", though that's obviously meaningful only if you already have a function definition as the context. 00:13:58 I hope that kind of build in APL or smalltalk stopped spreading when the unix philosophy of files and toolboxes took over 00:14:16 there's obviously some inertia, but still 00:14:28 "If the declarator includes an identifier list [i.e., the list of parameters without types], the types of the parameters shall be declared in a following declaration list." 00:15:17 b_jonas: what actually happened, AFAICT, is that Smalltalk continued to be spread like that but ended up dying out as a result 00:15:36 because people rightfully rejected the approach 00:16:08 There's one example in the C99 rationale of a function that can only be defined in the K&R style: `int f(arr, len) size_t len; int arr[len]; { ... }` 00:16:30 ais523: ok, but in that case we have to consider why APL didn't die out, and perhaps also prolog 00:17:15 heck, I think even lisp counts 00:17:17 You can't write `int f(int arr[len], size_t len) { ... }` because `len` isn't in scope for the variable-length array. Or... well, in *that* case it could be declared just as a pointer. So maybe it was `int (*arr)[len]` instead in the example. 00:17:20 most major Prologs nowadays work by having a program that's used to initialise an interactive interpreter with definitions 00:17:23 back then before unix and operating systems, every programming language was like that 00:17:44 and even if you develop a Prolog program within the interpreter rather than outside, you can do a simple `listing.` and get an output showing you the program that you wrote 00:18:01 fizzie: there's a gcc extension that lets you do that, I think 00:18:21 maybe `int f(size_t len; int arr[len], size_t len) { … }` 00:18:26 and it's not because APLs changed: J is still sort of old style in that the interpreter tries to be primarily an intercative development environment, though at least it reads and writes OS files, including scripts from them 00:19:01 Yeah, the example was: `void f(double a[*][*], int n); void f(a, n) int n; double a[n][n]; { /* ... */ }` 00:19:16 heck, matlab and maple and mathematica also primarily want to work that way, and I think mathematica got popular late enough that it can't even use history as an excuse 00:19:34 fizzie: ouch 00:20:00 fizzie: there's actually a gcc extension for that sort of function 00:20:04 or was 00:20:44 "There was considerable debate about whether to maintain the current lexical ordering rules for variable length array parameters in function definitions. -- The possibility of allowing the scope of parameter `n` to extend to the beginning of the parameter-type-list was explored (relaxed lexical ordering), which would allow the size of parameter `a` to be defined in terms of parameter `n`, and could help 00:20:50 convert a Fortran library routine into a C function. Such a change to the lexical ordering rules is not considered to be in the 'Spirit of C,' however. This is an unforeseen side effect of Standard C prototype syntax." 00:21:31 They've uppercased "Spirit" in the original, which makes me think of it as some sort of conscious personification thing. 00:21:31 i,i void f(int a[static 2], int b[a[0]][a[1]]) 00:24:52 whoa, the thing I wrote is valid C 00:25:28 I guess it's valid even without the static. 00:25:55 I forgot you could have arbitrary expressions in there. 00:25:57 Do you mean "accepted by my compiler" valid, or proper valid? Because I don't think it is. 00:25:59 isn't the i,i a syntax error? 00:26:16 Well, maybe it is. 00:26:16 i,i was metasyntax 00:26:22 Wonky, though. 00:26:32 fizzie: It's accepted by a compiler but I also think it's valid. 00:26:42 Why would it not be? 00:26:48 Yes, I didn't think far enough. 00:26:56 ais523: so in that case, are you planning to implement a new OO language that takes the good ideas from smalltalk, but not the ditstribution model? 00:27:11 also, some but not all of the forth interpreters are distributed in that bad way I think 00:27:18 b_jonas: right now I can't do that for the same reason I don't work on ayacc 00:27:19 The `a[0]` part is just documentative, but sure. 00:27:27 You mean the a[1] part? 00:27:37 No, that part's actually meaningful. 00:27:43 ais523: why? can't you just make such a language for work? 00:27:45 Do I have it backwards? 00:27:46 It's equivalent to `int (*b)[a[1]]`. 00:28:18 I mean, you said you learned the semantics of smalltalk for work 00:28:36 (also I can't type "smalltalk". my fingers keep typing "smallk" and then I have to backspace) 00:29:24 if you ever get to do that, I hope it won't turn to ruby 00:29:55 b_jonas: well, it's not something that I've been asked to do, but it's obviously connected, so work would end up owning the copyright to it despite likely not having much use for it 00:30:04 so the resulting languages would be somewhat wasted, probably 00:30:07 I see] 00:30:19 (maybe not directly, I could probably buy the rights for it off them, but it'd be way more bother than it's worth) 00:30:34 fizzie: Oh, right. 00:30:58 fizzie: So all the sizes except the *first* one are used. 00:31:06 interestingly, rust seems to reflect a few of the things that I don't like in ruby, like how the name resolution rules are sometimes really weird just to make the syntax seem a bit nicer for the common cases 00:31:11 For some reason I thought it was the last one. 00:31:12 ruby is much worse though, mind you 00:31:22 b_jonas: didn't Rust change the name resolution rules recently? 00:31:31 although I'm not sure if you dislike the old ones or the new ones or both 00:31:31 ais523: there was a little change, yes 00:31:46 but the remark applies both before and after 00:44:25 -!- oerjan has joined. 00:50:13 `` allquotes | tail -2 00:50:13 1330) I don't care for the bf backend as long as it doesn't make the rest of ayacc harder to sue \ 1331) ...this is the first prime number finder I've ever written which ran out of memory before finding 3 00:50:40 oh it was removed again 00:59:13 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:00:06 `5 w 01:00:13 1/1:stume//A stume cowears and goatears you. That is the main reason why the often look so ackward. \ me//Me is a proud member of the tEaM. \ rum//The Rum Tum Tugger is a Curious Cat \ accusative//Only evil people use the accusative. \ swedish//Swedish is the language of fine cuisine. 01:00:37 `forget rum 01:00:39 Forget what? 01:00:49 HackEso: rum hth 01:05:24 -!- Remavas[AFK] has quit (Read error: Connection reset by peer). 01:05:57 -!- Remavas[AFK] has joined. 01:06:19 oerjan: I removed the quote I added 01:06:38 `5 01:06:40 1/2:422) cigaretes and drunking "lame highs for lame people" yeah if it doesn't make you go crazy and shoot at people, it's not worth it. take it from a norwegian. \ 1109) zzo38 [~zzo38@24-207-49-17.eastlink.ca] has quit [Quit: I need the stats for the small leech, not the big one. So, if you write it on here while I am gone then when I return I will check.] \ 822) my current laptop basically works though it can even play 8 01:06:41 `n 01:06:42 2/2:year old video games as long as it is not raining in the game \ 647) A quick look as WIikipedia ways that Wicca is a specific form of paganism related to witchcraft. That agrees with what I know from that Scoobie Doo movie with the wiccans in it. \ 240) enjoy being locked in your matrix of solidity 01:34:06 oh, I remember this one http://math.bme.hu/~ambrus/pu/ccache.png 01:34:26 that was a fun lesson about computer architecture 01:40:41 Can Prolog or some other logic language express recursion in terms of unification somehow? 01:41:55 shachaf: I tried «A = f(A)» in GNU Prolog, it apparently constructed the resulting infinite term correctly but was unable to print it 01:43:17 ais523: I'm wondering about writing recursive rules without explicit recursion using this kind of trick. 01:43:42 ais523: isn't there a specific library function that can print such things? hmm, let me check 01:44:00 hmm, to do that you'd have to /assert/ such a term, let me try that 01:44:27 apparently attempting to do so sent the Prolog interpreter into an infinite loop 01:45:49 what? 01:45:54 why would you have to assert such a term? 01:46:08 can't you just A = f(A), write_foo(A) 01:46:26 b_jonas: in order to do a recursive calculation 01:46:29 there doesn't seem to be such a library function though 01:46:34 at least in gnu prolog 01:46:42 you can't use a non-recursive predicate to inspect more than a finite number of nesting levels of a term 01:46:58 shachaf's looking for a way to lift the recursive term to a recursive computation 01:47:16 and the only way I could think of to do that was to assert one, but GNU Prolog doesn't seem to like that. 01:47:21 ah, I see 01:47:59 ah, here it is 01:48:44 in SWI prolog, http://www.swi-prolog.org/pldoc/man?section=termrw says that write_term(A, [cycles(true)]) should write it in a finite representation 01:49:27 and that write_term(A, [max_depth(10)]) will print a truncated representation 01:49:58 Is there a simple word for "all except the first", e.g. in the context of iterations of a loop? I guess maybe "subsequent" sort of works. 01:50:47 fizzie: I think "subsequent" during any particular iteration would mean all the rest, but before the first iteration it could be ambiguous. 01:50:50 "subsequent" works if you used "first" earlier 01:51:22 I'm curious about the context of this because I was trying to figure out a style of loop a while ago. 01:52:05 ais523: wait, are you sure in that thing? 01:52:06 hmm 01:52:54 "A = A + 1, B is A." got me a segfault 01:53:08 tg 01:53:10 which I guess isn't particularly surprising 01:53:12 I don't think that should happen 01:53:18 You know you're doing something right when you segfault the interpreter. 01:53:21 oh 01:53:25 I think that is in fact a recursive calculation done entirely using unifications, though 01:53:26 it's just an out of memory 01:53:28 that should be fine 01:53:33 probably a stack overflow 01:53:41 yeah 01:54:32 ais523: but it's possible to translate untyped lambda calculus with just common prolog stuff and copy_term, so can't you use that to write recusion using a Y combinator? 01:54:36 Unbounded recursion should probably be illegal. 01:54:43 I guess that's cheating, though, because 'is' is recursive internally 01:55:13 shachaf: I have one of those range-based for loops, and I needed to do something at the start of all but the first iteration, so I was contemplating doing something like http://ix.io/1Bll/cpp for it. 01:55:15 This is why when I'm emperor I'll ban both Java and recursion So all stack traces will be short 01:55:16 b_jonas: how do you translate \x.x(1)? 01:55:40 fizzie: Are you able to do it at all but the last iteration instead? 01:55:48 fizzie: do you need a special case for when the range has zero elements? for that sort of thing, you normally do 01:55:51 ais523: let me look up the docs of olvashato, that's where I figured out the translation (actually slightly before I made olvashato, but I used it there and documented it) 01:55:53 I guess I should say why I'm asking. 01:56:07 I think there's a very common pattern which is awkward to express in most languages. 01:56:23 Where you're iterating over an array, say, but you want to do something for each index and each element. 01:56:28 ais523: Yes, but the special case is entirely different, so I just have that as an if (thing.empty()) before. 01:56:36 shachaf: the most common place this comes up for me is when you're trying to implement "join" (i.e. join one string using another string) with iterative code 01:56:46 An n-element array has n+1 indices, so it's awkward. 01:56:59 you need to add the separator either before every element but the first, or after every element but the last 01:57:26 Hmm, that's a little different because you don't want to do either the first or the last. But it's related. 01:58:12 Here's a non-array: How would you write code to insert into a prefix tree? 01:58:15 example 01:58:49 normally when working with trees I use recursion 01:59:01 Say you have struct Node { struct Node *next[256]; bool end; };, and you want to write insert: void insert_node(struct Node **n, const unsigned char *s); 01:59:11 Recursion runs into the same-ish issue. 01:59:23 I actually wrote this code for NH4 a while back 01:59:26 It's tail recursion anyway so it's kind of silly. 01:59:45 ais523: (\x.(x 1)) translates to fun(X, R, (copy_term(X, fun(1, R, B)), B)) 01:59:59 here we go: http://nethack4.org/latest/nethack4/libnethack_common/src/trietable.c 02:00:14 ais523: see https://esolangs.org/wiki/Olvashat%C3%B3#Prolog_output 02:00:15 An empty tree is represented as a null pointer, by the way. 02:00:17 there doesn't appear to be any special case 02:00:51 or, hmm, I guess the "if (key == 0)" case is the special case you're thinking of? 02:01:00 Yes, I think so. 02:01:16 If you wrote it iteratively instead of recursively it would be clearer. 02:02:26 void insert_node(struct Node **n, const unsigned char *s) { for (; ; s++) { if (!*n) *n = new_node; if (!*s) break; n = &(*n)->next[*s]; } (*n)->end = true; } 02:03:08 ais523: and http://math.bme.hu/~ambrus/pu/olvashato/t2n.olv compiled to http://math.bme.hu/~ambrus/pu/olvashato/t2n.pl is actually an example that does recursion that way: the implementation of the loop function doesn't name the loop function itself 02:03:17 You want to run the thing before the break n+1 times and the thing after the break n times. 02:03:34 b_jonas: OK, so what you're doing is using a single predicate that holds the implementation of all the lambdas? 02:03:46 ais523: no 02:04:01 ais523: the implementation of the lambda is in the term that represents the lambda itself 02:04:06 you can call it from any predicate 02:04:39 Here's a different example, prefix sum: 02:04:40 vec prefix_sum(vec a) { vec b; int sum = 0; for (auto it = a.begin(); ; ++it) { b.push_back(sum); if (it == a.end()) break; sum += *it; } return b; } 02:04:41 it's a non-ground term 02:04:56 This is a little too awkward for IRC one-liners, I think. 02:05:28 b_jonas: oh, I see, you have unbound variables sitting by themselves in predicate implementations 02:05:35 that's the step that I didn't realise was possible 02:05:42 and I'm still not sure that's possible 02:05:45 ais523: yes, and I never bind them, I only bind copies made with copy_term 02:06:07 A = write(6), A. 02:06:08 6 02:06:10 wow 02:06:27 I guess it's logical that that works, but I didn't expect it to 02:06:38 ais523: I am not quite sure, but I think historical prolog required you to write call(A) instead of A there 02:06:47 but all present prolog implementations seem to allow just A 02:07:04 ais523: try A = write(6), call(A) if you prefer 02:07:17 yes, I'm happy when you include the eval statement 02:07:25 once you have that I'm not surprised that lambda calculus exists 02:07:29 it's this sort of "implicit eval" that bothers me 02:08:02 I'm trying to figure out the general connection between trace(d monoidal categories) and fixed points, is the context of this Prolog thing. 02:08:06 ais523: yeah, but prolog has several other builtins that take code predicates 02:08:57 now I'm wondering if maplist can be implemented without library functions 02:09:08 I'm guessing no, you need at least copy_term (or something else that can be used to simulate it) 02:10:40 eg. (A,B) and (A;B) and (A->B;C) and once(A) and apply(A,L) and \+A and findall(P,A,L) each try to call A at least once 02:11:29 I think ',' is really fundamental, isn't it? 02:11:59 ';' can be implemented using two definitions for the same predicate 02:12:05 ais523: dunno, it might be because of its interaction with !, but without that I think it can be implemented 02:12:22 I mean, you can implement a new function that behaves just like , 02:12:27 hmm, perhaps some sort of continuation passing style would be possible to be able to do without ',', but you'd then need to rewrite every predicate to take a continuation argument 02:12:33 as in begin(A,B) :- A,B. 02:12:41 b_jonas: yes, but that requires using ',' for the implementation 02:12:42 then you can write begin(A,B) instead of (A,B) in programs 02:12:43 Are binary trees every a good idea, anyway? 02:12:53 ais523: you can probably implement it using some other library function 02:12:53 shachaf: I think they can be 02:13:10 it would be an inefficient eso-implementation 02:13:16 and it might break programs with ! 02:13:19 I mean, if you care about performance. 02:13:24 I got halfway through writing a generic tree library in Rust that can be used to implement arbitrary sorts of self-balancing (or not-so-self-balancing) trees 02:13:42 ais523: ooh! I'm interested in that 02:13:47 because I think some such structure is often going to be the best possibility for performance and a generic structure makes it easy to swap them out 02:13:54 b_jonas: in that case, I'll let you know if I finish 02:14:02 I can't even remember why I stopped halfway through 02:14:04 But you almost always want a bigger branching factor than 2, don't you? 02:14:20 and only vaguely remember the original reason, which I think was to write a fast But Is It Art? interpreter 02:14:26 shachaf: yes, 2 is probably too small 02:14:29 ais523: will it have both non-keyed trees, haskell Seq style, and keyed trees, Map style? 02:15:03 -!- Remavas[AFK] has changed nick to Remavas. 02:15:13 b_jonas: there's the notion of an "index" and elements in trees are always stored in index order, but it's possible that when you add a new element, all the existing indexes move to make room for it 02:15:29 for a Map-style tree, the indexes are just the keys 02:15:39 for a Seq-style tree, they could be, e.g., the equivalent of array indexes 02:16:02 I think you need different interfaces for the two cases, although a lot of code can be shared 02:16:10 So comparison sorts may not be that great, because you usually have more information about your data than binary comparisons. 02:16:26 Is binary search similarly not that great? What are the alternatives? 02:17:15 shachaf: things like Newton-Rahpson (I might have misspelled that) 02:18:10 ais523: I want something more general than array indexes, but sure 02:18:11 where you look at a small locality of the data, make a prediction about what function the data represents based on that, and then go directly to the entry that should contain the result if your prediction is correct 02:18:13 that sounds good 02:18:18 b_jonas: yes, more general 02:18:24 Hmm, I meant for discrete, not a function, but that's an interesting analogy. 02:18:42 shachaf: I know, a discrete example would presumably use similar techniques though 02:19:05 I was thinking of things like radix sort, which is a different kind of structure. 02:19:11 ais523: and will this support both trees with in-place mutation, and pure functional trees with cow nodes Haskell style? 02:19:12 of course, your prediction normally isn't 100% correct but the idea is to get closer to your target than a binary search would, and also /realise/ you're closer to the target (so that you don't move massively far away with the next check) 02:19:19 What kind of differentiable structure can you put on typical data? 02:19:32 b_jonas: definitely 02:19:35 good 02:19:36 I mean, there's that "learned index structure" paper. 02:19:38 getting working copy-on-write was part of my motivation for this 02:20:02 ais523: will you be using some Haskell libraries as a reference to get the implementation right? 02:20:06 and that book 02:20:21 b_jonas: no, I'm using some academic papers, and a core structure that's hopefully simple enough that it's obviously correct 02:20:25 the Okasaki book 02:20:42 ais523: the Okasaki book is close enough to an academic paper, but sure 02:20:58 I for one found that it's the one that explained how red-black trees work the best 02:21:12 are fully persistent data structures even good twh 02:21:54 shachaf: for some things, yes. 02:22:06 eg. you might want to store all intermediate states of a computer game 02:22:18 But if you want to store intermediate states you don't need full persistence. 02:22:34 b_jonas: I'm planning to implement it as 2-3-4 rather than red-black because they're equivalent and 2-3-4 fits into the general structure better 02:22:35 You only need it if you want to be able to fork a past state, or something. 02:22:36 you want to store them shared, rather than writing a full copy in each step 02:22:51 it might end up slower, though, despite being identically shaped 02:22:59 you want this if you want to step both backwards and forwards when reviewing the game 02:23:05 if you only want to step forwards, then it's easier 02:23:11 shachaf: for BIIA? I'll presumably be forking a lot 02:23:12 ais523: I expect 2-3-4 trees to be faster than red-black trees? 02:23:32 What is BIIA? 02:23:35 ais523: um, is a 2-3-4 tree like a B tree? 02:23:45 shachaf: https://esolangs.org/wiki/But_Is_It_Art%3F 02:24:04 b_jonas: it's basically a tree where nodes are binary or have 3 or 4 children, nodes can change dynamically 02:24:11 b_jonas: If you just want fast snapshots you don't need to have a fully persistent structure. 02:24:15 oh, so that's why you want this, backtracking for a BIIA implementation 02:24:17 You can just put a timestamp on each thing or something. 02:24:22 though why you want a BIIA implementation is unclear to me 02:24:47 b_jonas: so yes, it's literally a sort of B-tree 02:24:59 also, why /wouldn't/ I want a BIIA? implementation? 02:25:17 I mean, there's an existing one, but it's hard to be confident that it works 02:25:18 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:25:23 ais523: ok, I do more or less understand how B-trees work, though there's quite some freedom in them, they can be implemented in different ways 02:25:44 Red-black trees are a binary encoding of 2-4 B-trees. 02:25:54 The red–black tree is then structurally equivalent to a B-tree of order 4, with a minimum fill factor of 33% of values per cluster with a maximum capacity of 3 values. 02:26:03 Binary trees are scow. You gotta at least fill a cache line. 02:27:08 well, if you have values on the nodes (which you should do, otherwise how else will you know which side of the tree to look in for the comparison), they might fill the cache line if the values are large enough 02:27:31 That's true, though often the values are just pointers. 02:28:50 incidentally, I had a fun realisation: the basic structure of a generalised search tree is that each node contains some number of values for use as comparison pivots, plus some number of pointers to child nodes; and the set of comparison pivots is itself a structure you wish to search in 02:29:16 so this being Rust, with zero-cost abstractions and all, you can simply use the search tree interface you're working on to be generic over how the set of pivots is implemented 02:29:46 ofc it probably wouldn't in practice be another tree, but I see no reason to rule that possibility out; I'm putting the same interface on things like sorted vectors anyway 02:30:09 I had a similar (?) realization recently. 02:30:24 Each level of a B+ tree is an index for searching the next level. 02:30:48 In particular, if you have a sorted array, you can make a B+-style index for the first few levels, which are small. 02:32:43 ais523: do you want a nice testcase for backtracking? https://www.komal.hu/forum?a=to&tid=76&st=50&dr=1&sp=77#17868 on the chessboard, you want to put as few walls, each between two side-adjacent squares, to make it so there's exactly one way to pave the board with four-square L-tetrominos 02:33:08 that problem sounds painful to solve 02:33:10 ais523: easy version is to prove that the solution with the four walls shown on that image is correct, harder version is to find that solution 02:33:22 ais523: it sort of is, yes 02:33:31 I can see how backtracking would help to verify that a potential answer was correct (if perhaps not minimal) 02:33:34 I solved the easy version with prolog once 02:33:58 ugh, I need to remember to not attempt to read Hungarian when I see it 02:34:08 the person who found the solution said he wrote a program to test every four-wall solution 02:34:13 although some of the words there appear to be loanwords so it's not totally fruitless 02:34:40 you can read them, the only spoilers are that (1) there's a four wall solution, which I told you, and (2) the image showing that solution, which is an image 02:34:56 normally I can get an idea of the sense by looking for words that are similar to words I already know 02:34:58 well, there are also some worse solutions earlier, but I don't think they're not spoilers 02:35:17 ais523: that works better in a well-written text than in an informal web forum 02:35:21 b_jonas: no, not because of spoilers, just because Hungarian's vocabulary doesn't have much in common with that of the European languages I know 02:35:53 so trying to read it won't lead to much understanding 02:36:19 whereas if I see text in, say, Spanish or Italian, I can often make a decent guess at what it's saying despite not knowing the languages 02:36:22 he says though that the program ran too slow to test every four-wall solution 02:36:33 but he found a solution among the ones he tested 02:36:51 it's surprising to me that you only need four 02:37:02 yes, it was surprising to us too 02:37:07 but I guess the walls are being brute-forced and backtracking is only being used for the wall placement 02:37:08 well, to me at elast 02:37:14 anyway, this seems like the sort of program on which you use a constraint solver 02:37:21 rather than a backtracking algorithm 02:37:49 that's how we solved Polarium over on tasvideos.org, in the end; simply convert it into a boolean satisfaction problem and run it through a SAT solver 02:38:04 ais523: yes, the walls are brute-forced except you should use the symmetry of the board, and yes, I wrote it using a constraint solver, it seems to help, but it's probably still possible with a clever backtracking solver without constraint 02:38:15 (I had the leading solution before that, based on first proving things about the problem, then using a backtracking algorithm through the possibilities that hadn't been proved impossible) 02:39:28 polarium... that's not the Game Boy puzzle game with the rotating gates and with blocks of various shapes pushed into holes, right? 02:39:37 I'll have to look up what it is 02:39:47 b_jonas: it's a DS puzzle game 02:39:54 ah, that one 02:40:19 the rules are as follows: you have a board made of squares, most are white or black, although there's a grey border around the edges; you may treat grey tiles as white or black, whichever works for your solution 02:40:42 -!- Remavas has quit (Quit: Leaving). 02:40:57 you must draw a path made of squares, starting and ending anywhere on the board, which only moves orthogonally from one square to the next, and which doesn't use the same square twice 02:41:19 and for each horizontal line of squares, the path must either go through all the white squares on that line and no black squares, or else all the black squares on that line and no white squares 02:41:36 hmm 02:43:01 it's getting late though, so good night 02:43:15 -!- b_jonas has quit (Quit: leaving). 02:48:54 -!- ais523 has quit (Quit: quit). 02:58:49 I am playing a roguelike game called "We are Hejickle", for NES/Famicom 03:00:50 There are runes that you cannot step on, but that your opponents can step on. There are also statues that you can see past but that nobody can step on. You cannot move diagonally but other people can. 03:33:02 https://imode.tech/projects/modal.html 03:52:24 fizzie: Callbacks are annoying for several reasons. One of them is that you can't early-exit from them. 03:52:36 I guess I shouldn't fizzie: that, I just saw my tab with the Subsequent code. 03:53:19 I'm still looking for the programming language thing akin to a lambda/block but that can't be stored and supports more operations. 03:53:32 I kind of hope the answer isn't "macro". 04:01:11 -!- danieljabailey has joined. 04:25:08 what do you mean by can't be stored? what sorts of operations? 04:30:31 -!- FreeFull has quit. 04:36:35 kmc: Early exit is the most obvious one. 04:37:01 You could still sort of implement that as setjmp/continuations/exceptions/whatever. 04:37:17 Possibly operations that don't make sense at runtime at all, like changing the things that are in scope for a block. 04:37:46 what do you mean by the last one 04:39:32 The question is something like, if "if"/"while"/etc. were user-defined, such that you'd want them to generate the same code they do in C or whatever, what would the type of their arguments be? 04:39:44 Hmm, something like "using namespace", for instance. 04:40:10 "using(foo) { BODY }", where everything in BODY automatically does lookups in the namespace foo. 04:40:21 Also other things that affect what's in scope. 05:12:13 I would have also want that "if", "while", etc are implemented as macros actually; maybe even something else 05:12:51 Even if not entirely defined as a macros, supporting a block code too somehow 05:43:55 -!- arseniiv has joined. 05:48:23 hm those theorems for that single rotation CA actually do have simple proofs 05:49:22 (it wasn't clear from the page whether e'd proved them logically or just enumerated all possibiliies. well at least the spaceship + single cell one.) 05:51:16 `wisdom fu.*a 05:51:17 That's not wise. 05:51:23 `wisdom fu*a 05:51:23 ​fugal//Fugals are fictitious flower parts. 05:51:36 `wisdom fu*ia 05:51:37 That's not wise. 05:51:49 `wisdom fu*a$ 05:51:50 That's not wise. 05:51:53 oh wait 05:51:57 *sigh* 05:52:23 maybe it should be regex 05:53:17 fizzie: can people send commits to fshg directly instead of using HackEso twh 05:53:32 I mean, it's a little contrary to the spirit of the thing. 06:44:04 -!- oerjan has quit (Quit: Nite). 07:16:59 -!- aloril has quit (Remote host closed the connection). 07:22:17 Some people like to put candles on the cake, but I prefer instead put the candles around it, and not making holes in it. But, many people like to make numbers, either put that many or use shapes of numbers. But, I thought another way can be, even if you have only straight candles, try to use roman numbers (although you might not know which way is forward, then, if placed on top of the cake instead of around) 07:22:26 (you will also need to get it to stand diagonally) 07:22:47 (or horizontally, if it is forty or more) 07:27:43 I thought of some kind of Magic: the Gathering: Counter target spell if it was not cast by an opponent. 07:29:52 what about having 40 cakes 07:30:12 it's my birthday this week 07:30:18 can I have 31 cupcakes 07:32:00 If you have forty small cakes, or enough storage room, then perhaps it might do (especially if not everyone want the same cake, you might have more than one kind) 07:32:47 `? gregor 07:32:48 Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible. 07:32:51 I baked a chocolate cake on Saturday 07:32:56 Do you like "Manifest target spell" and/or "Counter target spell if it was not cast by an opponent"? 07:33:13 actually I think I will eat a bit more right now 07:33:23 what does it mean to manifest a spell 07:33:25 imo can i have some cake twh 07:33:36 wow 07:34:13 kmc: Put it face-down in the battlefield. If it would be a creature when face-up, then it can be used like morph with their mana cost. 07:34:48 shachaf: if you can get to SF before we eat it all 07:35:17 I'm all about baking now 07:36:41 weren't you all about baking before 07:37:20 but now I can do two kinds of baking at the same time 07:37:34 bake not lest ye be baked 07:38:24 Cathy made the frosting on this cake 07:38:29 and Alyssa helped us eat it 07:38:33 so it was a team effort 08:00:53 -!- aloril has joined. 08:03:40 -!- aloril has quit (Remote host closed the connection). 08:11:20 -!- aloril has joined. 08:13:59 -!- AnotherTest has joined. 08:27:16 -!- aloril has quit (Remote host closed the connection). 08:49:57 -!- mniip has quit (Ping timeout: 633 seconds). 09:07:52 -!- aloril has joined. 09:08:32 -!- aloril has quit (Remote host closed the connection). 09:22:20 -!- b_jonas has joined. 09:23:26 zzo38: roman numerals from straight candles => could work, but a drawback is that when you light the candles, the molten wax would definitely drop straight onto the cake. 09:24:28 zzo38: as for that M:tG thing, the card Nix is somewhat close to that 09:27:43 the obvious and standard way to make numbers out of candles is unary 09:28:00 the problem with roman numerals is they aren't rotation invariant 09:28:20 true 09:28:46 you would want a rotation invariant number system, perhaps a core regular polygon in the middle (triangle = 3, square = 4, ..) then some outer attachments 09:29:58 rain1: lottery balls and UNO cards are printed numbers in a rotation-invariant system, where the digit 6 is underlined 09:30:48 it wuold be possible to use polygons as digits in a line, with the point upwards to indicate the direction 09:31:07 so triangle triangle square might mean 334 and it could be done in base 7 09:31:49 or base 5 09:34:49 Maybe if they're nested rather than arrayed in a line 09:46:27 -!- aloril has joined. 09:46:58 -!- aloril has quit (Remote host closed the connection). 09:49:20 b_jonas: I know of Nix, and I also invented Phyrexian Nix. However, what I mentioned above is a bit more general 09:52:47 -!- mniip has joined. 09:54:29 -!- aloril has joined. 09:56:11 -!- aloril has quit (Remote host closed the connection). 10:08:23 -!- aloril has joined. 10:12:31 -!- aloril has quit (Read error: Connection reset by peer). 10:15:09 -!- aloril has joined. 10:16:56 -!- aloril has quit (Remote host closed the connection). 10:39:40 -!- b_jonas has quit (Quit: leaving). 11:02:26 -!- imode has quit (Ping timeout: 255 seconds). 11:45:51 -!- wob_jonas has joined. 11:50:49 "forty" is the only English name for a number whose letters are sorted alphabetically. 12:02:07 -!- Lord_of_Life_ has joined. 12:04:32 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:04:32 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:17:29 -!- aloril has joined. 12:25:17 -!- AnotherTest has quit (Ping timeout: 246 seconds). 12:42:19 -!- xkapastel has joined. 12:46:43 -!- AnotherTest has joined. 13:00:25 wob_jonas: are there other languages with a unique number with the corresponding property? 13:01:57 Taneb: I don't know 13:02:40 Like "deux" in French 13:02:53 But "cinq" is also in alphabetical order 13:03:15 wob_jonas: do you want to be a ghost biopsy adept? 13:03:20 So it's not unique 13:03:47 int-e: no, I don't think that'd be the right profession for me 13:04:15 > map sort ["ghost","biopsy","adept"] -- it felt right though 13:04:16 ["ghost","biopsy","adept"] 13:05:18 German has three, as far as I can see. (eins, acht, elf) 13:05:25 oh, so that's why you used "adept" 13:06:00 . o O ( almost below forty ) 13:08:54 I guess you could be a loopy hippy(sic!). "knotty" is nice too. 13:09:28 > map sort ["clobber", "disappear", "busted", "amylase"] -- let's just check that map sort works 13:09:30 ["bbcelor","aadeipprs","bdestu","aaelmsy"] 13:14:01 a dirty effort 13:14:26 Oh well, that vocabulary doesn't look big enough for writing a novel :) 13:17:53 `` ls /usr/share/dict 13:17:54 No output. 13:23:48 int-e: yeah, you can't use "the" 13:25:50 A billowy abbess bhors my accent 13:29:21 the dictionary says 13:29:23 be am been is an in do for him it not as at by got go his know or 'em all best my no now any first how most begin city lost lot ably act add ago air allow almost art bit boy buy cos cost door foot guy hit low accept bill box cell cry deep effort fill film fit floor fly hi hot loss 13:29:31 An almost empty bin 13:29:38 access adopt ah aah aim below bet blow cent cop copy deny dry egg empty fix flow hill hmm hm host nor TV ad ally beer beg bell belt bent boot boss bow chill chip chop dirt dirty forty ghost hip ill joy 13:29:49 accent annoy ass ay bee beef belly boost chin cow deem deer dim dip dot ego fist fry glory glow hint hop inn knot loop opt ace ant apt aw ax berry buzz cosy defy den eh envy ex flu fort fox hiss 13:30:04 abbey adept ail app beep beet bellow biopsy boo chilly clot coop cot DJ deft deity dent e.g. flop flux gin gloss glossy hippy hoop IQ ivy loot lorry moor mop mow MP oops pry abet abort abs affix aft airy allot alloy amp billow bin blot booty cello chi chimp coo co-opt coy CPU demo dew dill din eel elm err fin fir floppy GI hoot jot moot moss op ow 13:30:04 ox 13:30:25 and those lists aren't truncated, they just look like that because words starting with letters late in the alphabet are very rare in them 13:30:34 No ammo fills my chit 13:30:38 abbot abhor accost ado aegis afoot ammo beefy befit bio biz bop bossy bot boxy cert choppy crux filly fizz floss foxy fuzz gill gilt gist git goo gory hilly hilt HQ imp loo mossy nosy tux abuzz adder aglow alms arty bevy bitty boor Celt chino chintz chow cloy coot dewy dint dis ditty divvy emu knotty loopy lop moo 13:30:46 abbess achy billowy chit choosy clop dory dotty filmy fop goop lox mot mu sty adz beery chippy dippy eff emo gimp gimpy glop guv abbe bey deist dhow ditz finny gloppy bloop blowy 13:33:02 "buy art for low cost now" 13:36:21 should I add the list of such words up to TV to a wisdom? nah, probably no 13:36:21 aegilops 13:36:34 we already have wisdom/ance and wisdom/can't for such lists 13:36:49 "aegilops" would be a good name for an esolang 13:38:21 maybe we should figure out what the best collation order of the English alphabet is to get a nice vocabulary 13:39:29 There's 26! possible orderings 13:39:47 Assuming we want to do this letterwise 13:39:52 > product [1..26] 13:39:54 403291461126605635584000000 13:40:01 That's a fairly sizeable number 13:40:27 Taneb: sure 13:40:30 Although we can immediately rule out any word with a non-consecutibe repeated letter 13:43:23 Taneb: English mostly has short words, so those aren't too common: 13:43:25 were that did hath knowingly known these canning better liking oneness otherness there thinking thought timeless wellness which willful willfully because before downed even evenly giving here lifeless lifelike little lesser manliness meanness needed needless needlessly newness people stillness tellingly through useful usefully usefulness useless wh 13:43:25 ere again against although though always American anything away become became 13:44:04 plus some plurals and other infections 13:44:15 "that" sucks of course 13:45:56 can't even the odds 14:20:00 Make sure to get yclept in there 14:31:05 ProofTechnique: unlikely to happen because 'y' is just too attractive to put near the end of the order. 14:32:12 int-e: that's not that clear. it depends on whether you want to use "you". 14:33:07 but yes, you can't have all three of "they", "you", and "those" 14:33:26 thou shan't 14:52:03 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:06:26 Is there a tetris game for the Game Boy that shows the full 20 rows or more, either by showing more than one row in a tile, or by making you rotate the screen? 15:08:00 8x7 pixel squares should be doable, I think. the graphics would be terrible, but still. 15:39:43 https://github.com/fis/esolangs/blob/master/esologs/writer.cc sockets of SOCK_SEQPACKET type, wow. that's something you don't see often. 15:42:46 [[Bitch]] https://esolangs.org/w/index.php?diff=59931&oldid=59658 * Helen * (+16) /* Bitwise Instructions */ Added stuff about functionality 16:05:50 is the distribution of phonemes in English less zipfy or more zipfy than the distribution of letters? 16:06:35 -!- sleepnap has joined. 16:08:15 I don't think the distribution of letters is particularly Zipfian. 16:08:22 (The distribution of *words* is.) 16:13:11 If I still had my university account, I'd crunch some phoneme frequencies out of one of our English ASR training sets. 16:15:43 -!- tromp has quit (Remote host closed the connection). 16:29:18 -!- AnotherTest has quit (Ping timeout: 250 seconds). 16:39:13 -!- heroux has quit (Ping timeout: 245 seconds). 16:46:54 -!- tromp has joined. 16:51:38 -!- tromp has quit (Ping timeout: 255 seconds). 16:54:16 -!- AnotherTest has joined. 16:57:46 -!- tromp has joined. 17:19:17 -!- tromp has quit (Remote host closed the connection). 17:23:29 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:45:50 -!- Sgeo_ has joined. 17:49:03 -!- Sgeo__ has joined. 17:49:14 -!- Sgeo has quit (Ping timeout: 255 seconds). 17:51:37 -!- Sgeo__ has quit (Read error: Connection reset by peer). 17:52:01 -!- Sgeo__ has joined. 17:52:32 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 17:56:28 -!- tromp has joined. 18:00:56 -!- tromp has quit (Ping timeout: 246 seconds). 18:02:24 -!- Sgeo_ has joined. 18:05:30 -!- Sgeo__ has quit (Ping timeout: 250 seconds). 18:20:36 -!- imode has joined. 18:27:53 -!- arseniiv has quit (Ping timeout: 246 seconds). 18:29:37 -!- sleepnap has quit (Ping timeout: 250 seconds). 18:41:10 -!- tromp has joined. 18:44:00 -!- sleepnap has joined. 18:52:05 -!- FreeFull has joined. 18:57:31 -!- b_jonas has joined. 19:24:53 [[Semordnilap]] N https://esolangs.org/w/index.php?oldid=59932 * Orby * (+2165) Created initial page 19:25:10 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59933&oldid=59932 * Orby * (-1) Removing extraneous whitespace 19:27:34 [[Semordnilap]] https://esolangs.org/w/index.php?diff=59934&oldid=59933 * Orby * (+459) 19:28:33 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59935&oldid=59934 * Orby * (+46) /* See also */ 19:29:06 [[Semordnilap]] https://esolangs.org/w/index.php?diff=59936&oldid=59935 * Orby * (+0) /* Introduction */ 19:31:52 [[User:Orby]] https://esolangs.org/w/index.php?diff=59937&oldid=51743 * Orby * (+152) 19:32:13 [[User:Orby]] M https://esolangs.org/w/index.php?diff=59938&oldid=59937 * Orby * (+11) 19:32:35 [[User:Orby]] https://esolangs.org/w/index.php?diff=59939&oldid=59938 * Orby * (-1) 19:51:33 -!- Phantom_Hoover has joined. 19:55:45 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59940&oldid=59936 * Orby * (+3) 19:57:59 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59941&oldid=59940 * Orby * (-20) /* See also */ 19:59:07 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59942&oldid=59941 * Orby * (-4) /* Branching */ 19:59:35 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59943&oldid=59942 * Orby * (+5) /* Branching */ 20:01:50 -!- xkapastel has joined. 20:05:09 ais523: re 2-3-4 tree, so you are using a low arity because you primarily care about persistant (cow) nodes? that makes sense, but for the non-persistent case a larger arity could be better 20:09:07 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59944&oldid=59907 * Orby * (+18) /* Brainfuck derivatives */ 20:10:45 -!- copumpkin[m] has quit (Quit: removing from IRC because user idle on matrix for 30+ days). 20:14:12 -!- grumble has quit (Quit: fire's). 20:17:27 -!- tromp has quit (Remote host closed the connection). 20:20:49 -!- grumble has joined. 20:28:19 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59945&oldid=59943 * Orby * (+71) 20:28:50 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59946&oldid=59945 * Orby * (+8) /* Specification */ 20:36:18 -!- imode has quit (Ping timeout: 245 seconds). 20:42:09 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59947&oldid=59946 * Orby * (+52) /* Examples */ 20:43:58 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59948&oldid=59947 * Orby * (+106) /* Specification */ 20:45:31 [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=59949&oldid=59926 * Cortex * (+0) 20:46:23 -!- orbitaldecay has joined. 20:46:35 Greetings all! 20:48:16 Is anyone interested in working on a collection of quines in esolangs whose commands are English words (e.g. Ook!) to submit for National Novel Generation Month. The code that generates the book would be the book itself :) I don't think it's been done. 20:49:50 I don't know, but, you can try, I suppose 20:50:22 Yeah, I'm planning on doing it. Just wondering if anyone was interested in collaborating or contributing. 20:51:08 50,000 commands worth of quines is a lot of code for one person to write 20:53:35 fyi most of the novels generated for national novel generation month are nonsensical, so I'm not worried about it actually being readable 20:53:53 50,000 words of readable quines is probably a lifetime project, not a one month project 20:53:54 orbitaldecay: you could write just one quine with a 49000 word long novel as its payload 20:54:39 b_jonas: yeah, that's the cop out I'll do if I don't have time to do more than one quine 20:55:47 But it'd be cool to do a little book of poem / quines 20:56:58 and highlight some different interesting esolangs 20:58:39 orbitaldecay: also, there was a project somewhere repeated once each year for several years that's a special case of NaNoWriMo, where the goal is to write a program that writes an 50000 word novel 20:58:57 yeah NaNoGenMo, national novel generation month 20:59:08 [[Talk:1st-Worst]] N https://esolangs.org/w/index.php?oldid=59950 * Cortex * (+162) /* . */ new section 20:59:08 b_jonas: that's what I plan on submitting it to 20:59:25 ah, good 21:00:11 I'm kind of surprised nobody has done a book of quines in languages whose commands are natural language before for nanogenmo 21:00:39 orbitaldecay: wait, how do you know? there were lots of programs submitted 21:00:50 did you try to run each of them? 21:01:05 I should say, "I'd be surprised" 21:01:39 Someone could have accidentally generated a quine in some language I suppose 21:02:06 but a cursory google search doesn't reveal anything 21:03:24 [ in some languages, it is not too hard to write a quine 21:03:25 b_jonas: in some languages , it is not too hard to write a quine 21:03:48 even our honorable and learned friend fungot could do so 21:03:49 b_jonas: and the look and feel :) and which one doesn't? 21:04:25 b_jonas: that's true, but in the spirit of nanogenmo the output should look something like readable english and not many languages look like readable english 21:04:53 I'm going to start working on an esolangs list of languages whose source code looks like english 21:05:18 as candidate languages for quines 21:05:27 orbitaldecay: it's trickier than that. it's not just "whose source code looks like english" 21:05:37 in some languages, you can write programs that look like english, and ones that don't 21:05:55 there are some obfuscated programs in perl that try to look somewhat like english text 21:05:59 though I don't know of any such quines 21:06:28 and of course there are programs where most of the source code is english, but there's a small decoder around it 21:06:40 such a program can be written in many languages that have easy string literals 21:06:48 multi-line ones 21:07:20 b_jonas: Good point, I hadn't thought of that. I'd like to restrict the characters used to make it more interesting. Like every string of letters should be a word and the only non-letter characters allowed should be common punctuation marks used in plausible ways. 21:07:48 Ook! is perfectly in the spirit of what I mean 21:08:22 orbitaldecay: in perl you can write programs with only letters and spaces. many people have done that, including me. again I don't know of such a quine, but it can probably be done. 21:08:28 I also have been working on a language for the purpose called Semordnilap for the same purpose 21:08:42 b_jonas: a perl quine that is only composed of english words would be mindblowingly amazing 21:09:04 orbitaldecay: I didn't say that 21:09:13 I said only letters and spaces 21:09:26 only english words is much harder, because then you can't use "q" or "qq" or anything of that sort 21:09:28 b_jonas: yes, I gather that using actual words would be another level of challenge 21:09:40 let me point to some such obfus 21:10:53 Cool cool 21:11:32 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59951&oldid=59948 * Orby * (+22) /* Introduction */ 21:12:59 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59952&oldid=59951 * Orby * (-4) /* Branching */ 21:14:35 https://www.perlmonks.com/?node_id=290607 https://www.perlmonks.com/?node_id=338686 https://www.perlmonks.com/?node_id=453519 look in replies too 21:15:21 https://www.perlmonks.com/?node_id=877696 is a steganography one, where I take a nearly arbitrary text, and hide unrelated text in it, plus add a small decoder. this won't lead to a quine since the hidden text is much shorter. 21:15:31 well 21:15:39 it could actually lead to a quine if you only hid the decoder in there 21:15:50 and printed the funged text itself verbatim 21:16:23 This is very cool. Doing a quine in this format seems like it would be quite challenging. 21:16:42 -!- tromp has joined. 21:17:06 There's the non-alphanumeric subset of JavaScript, but I don't think it's doable the other way around. 21:17:17 You could do a Lingua::Romana::Perligata quine maybe? 21:17:42 fizzie: I'm not familiar with that, is that an esolang? 21:17:56 orbitaldecay: the wiki has a page on it 21:17:56 No, it's a Perl module to write code in Latin-ish. 21:17:59 https://metacpan.org/pod/Lingua::Romana::Perligata 21:18:09 https://esolangs.org/wiki/Perligata 21:18:14 ok, it's a stub 21:18:19 -!- heroux has joined. 21:18:42 That is very cool too. Thanks for the link. 21:18:46 [[Lingua::Romana::Perligata]] N https://esolangs.org/w/index.php?oldid=59953 * B jonas * (+23) Redirected page to [[Perligata]] 21:25:57 There's also the https://esolangs.org/wiki/Category:Pseudonatural category, but I doubt it's very complete. 21:26:59 I like ORK, though I doubt I'd manage to participate in anything. 21:30:54 -!- tromp has quit (Remote host closed the connection). 21:31:31 fizzie: Awesome, pseudonatural is exactly what I was looking for. Thanks! ORK indeed looks awesome. 21:34:12 ROFL, best hello world ever http://shakespearelang.sourceforge.net/report/shakespeare/#SECTION00091000000000000000 21:35:38 * kmc looks at the Thesaurus Perligatus 21:35:47 STDIN vestibulo "an entrance" 21:35:47 STDOUT egresso "an exit" 21:35:48 STDERR oraculo "a place where doom is pronounced" 21:35:53 -!- tromp has joined. 21:36:24 [[Semordnilap]] https://esolangs.org/w/index.php?diff=59954&oldid=59952 * Orby * (+58) 21:37:13 kmc: a place where doom is pronounced XD 21:52:57 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59955&oldid=59954 * Orby * (+28) 21:53:26 [[Ook!]] M https://esolangs.org/w/index.php?diff=59956&oldid=41892 * Orby * (+27) 22:06:57 [[German]] M https://esolangs.org/w/index.php?diff=59957&oldid=41722 * Orby * (+28) 22:09:02 [[Farm]] M https://esolangs.org/w/index.php?diff=59958&oldid=34532 * Orby * (+28) 22:11:33 -!- xkapastel has quit (Quit: Connection closed for inactivity). 22:11:42 [[Gorispace]] M https://esolangs.org/w/index.php?diff=59959&oldid=19062 * Orby * (+28) 22:14:18 [[COW]] M https://esolangs.org/w/index.php?diff=59960&oldid=51619 * Orby * (+27) 22:14:54 orbitaldecay: just to be sure, you know Chef the esolang, right? 22:15:10 you already mentioned Shakespeare, right? 22:15:11 b_jonas: nope! checking it out now 22:15:42 [[Chef]] M https://esolangs.org/w/index.php?diff=59961&oldid=58292 * Orby * (+27) 22:16:33 Awesome :) 22:16:53 b_jonas: yep, I'm cataloging some of the better examples under the pseudonatural category 22:17:59 Also because of reasons(tm), you'll need to be logged in for the category page to get updated. 22:18:13 `thanks MediaWiki file cache 22:18:14 Thanks, MediaWiki file cache. ThediaWiki file cache. 22:18:51 [[Semordnilap]] M https://esolangs.org/w/index.php?diff=59962&oldid=59955 * Orby * (+0) /* Examples */ 22:19:04 I wish the bot didn't annouce minor edits... 22:19:08 orbitaldecay: as in http://www.d20srd.org/srd/epic/monsters/pseudonaturalCreature.htm ? 22:19:27 b_jonas: as in https://esolangs.org/wiki/Category:Pseudonatural 22:19:43 like, "resembling natural language" 22:20:02 but nice d&d reference :) 22:20:42 orbitaldecay: Depending on your IRC client you may be able to suppress all mentions of edits (I did it) 22:20:59 zzo38: I don't mind it, I just don't want to spam everyone else 22:21:24 Then everyone else can program such a feature in their IRC client and you do not have to do. 22:21:52 Yeah, I guess that's always an option :) 22:22:54 It puts a "M" in there for minor edits, in case someone's interested in filtering those out specifically. I think generally people don't mind them, though I think some do ignore them. 22:23:28 I don't believe in ignoring minor edits anyway. that attitude just leads to having to debug "but I didn't change anything" problems. 22:23:42 -!- Remavas has joined. 22:24:13 I do not hide minor edits (or any other edits) in the recent changes list in the wiki, only I hide it in the IRC 22:51:39 -!- Remavas has changed nick to Remavas[AFK]. 23:19:55 -!- imode has joined. 23:30:50 ```` quote; wisdom 23:30:50 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ```: not found 23:30:50 ```` quote; wisdom 23:30:51 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ```: not found 23:30:54 ``` quote; wisdom 23:30:54 ``` quote; wisdom 23:30:55 853) There is Haskell program "pandoc" to convert formats, so I make "panchess" which is the similar thing but for chess. \ it'//It's written with an apostrophe. 23:30:55 1073) I AM AN INVADING NECROPOLIS... ALL BOW BEFORE MY... erm... WALLS?... NECROBUILDINGS? \ the question//The The Question is the fundamental mystery of #esoteric, and boily is its master. 23:31:21 ``` wisdom; quote 23:31:22 ​progress//Progress has been made today. It was invented by Taneb. \ 785) my best guess is 4 years ago but possibly also yesterday 23:31:25 ``` quote; quote 23:31:26 594) Just about all females often feel that exactly why all Hollywood stars common maintain its brightness as Tom in spite of frantic operate routine and large operate pressure from the skin. What do you think that they have got sufficient time to observe all attractiveness strategies and tips that his grandmother utilized to abide by? \ 361) adding quotes by yourself is strictly prohibited and will lead to you being banned 23:32:31 ``` starwars 2; scheme; random-card 23:32:32 Finn \ Mace Windu \ I Bask in Your Silent Awe \ Miasmic Mummy \ 1B \ Creature -- Zombie Jackal \ 2/2 \ When Miasmic Mummy enters the battlefield, each player discards a card. \ AKH-C 23:32:56 `recipe 23:32:57 ix the eggs, filling all ingredients. Add the water and nuts, then add the \ water and salt in a large skillet; add the eggs, mix \ well and set aside. Remove the chilline for one out of the apple mashed. \ Sprinkle the parsley and flour and set aside. Fry the chops to a \ boil, and simmer for about 30 minutes, or until the mixture is \ coated and all the beef dispalles are done. \ \ 2. In a large bowl mix beans, and salt in skillet over medium hig 23:33:57 Fry the chops to a boil? hmm. 23:34:05 that is reasonably readable though 23:34:15 it still is obsessed with skillets 23:36:03 -!- b_jonas has quit (Quit: leaving). 2019-02-19: 00:02:37 -!- AnotherTest has quit (Ping timeout: 268 seconds). 00:03:06 -!- Lord_of_Life_ has joined. 00:05:26 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 00:05:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:15:32 [[Bitch]] https://esolangs.org/w/index.php?diff=59963&oldid=59931 * Helen * (+2768) /* Turing-completeness */ Continuation of [[User:A]]'s attempt at proving Turing-completeness 00:18:50 [[Bitch]] https://esolangs.org/w/index.php?diff=59964&oldid=59963 * Helen * (-134) /* Implementation */ Added v4.3 jar 00:41:35 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:25:10 -!- FreeFull has quit (Remote host closed the connection). 01:25:56 -!- FreeFull has joined. 02:28:47 -!- Remavas[AFK] has quit (Quit: Leaving). 03:02:01 In Glulx, the Huffman tree is stored in a inefficient way, which is nine bytes per branch node, two bytes per node to emit a single character, and there are other nodes too 03:23:49 `recipe 03:23:50 ​ is absorbed. Store in a \ high flavors of the meat mixture, and cover with a size of the \ egg mixture. Serve the sugar canned cheese with salt and pepper. Place \ the flour and cornstarch in a large bowl. Stir the \ beef into the center cups. Bake at high heat and stir over soup and replace 3 \ tablespoons of the bowl. Let cool for at least 4 minutes. Sprinkle the beans, then \ stirring frequently. When the meat is dissolved. Store to medium-sid 03:35:10 [[Quine]] https://esolangs.org/w/index.php?diff=59965&oldid=57437 * Orby * (+1665) 03:37:31 Maybe an algorithm for developing quines is obvious, but I just figured it out :) 03:37:41 I learned something today. 03:44:29 [[Quine]] M https://esolangs.org/w/index.php?diff=59966&oldid=59965 * Orby * (+52) 03:46:24 [[Quine]] M https://esolangs.org/w/index.php?diff=59967&oldid=59966 * Orby * (+1) Fixing minor typo 03:55:09 -!- oerjan has joined. 03:57:18 [[Quine]] M https://esolangs.org/w/index.php?diff=59968&oldid=59967 * Orby * (+209) 04:06:10 wob_jonas: are there other languages with a unique number with the corresponding property? <-- hm norwegian seems to be, 1 = "ett" (or "en", "ei" if gendered) is the only one i can find 04:12:00 -!- FreeFull has quit. 04:23:04 `ping 04:23:05 pong 04:25:39 -!- Sgeo_ has quit (Quit: Leaving). 04:25:58 -!- Sgeo has joined. 05:16:24 -!- Sgeo has quit (Quit: Leaving). 05:16:40 -!- Sgeo has joined. 05:32:46 [[Special:Log/newusers]] create * Lovecraftianmadness * New user account 05:35:48 -!- arseniiv has joined. 05:37:10 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=59969&oldid=59912 * Lovecraftianmadness * (+382) /* Introductions */ 05:40:36 [[Talk:Computational class]] M https://esolangs.org/w/index.php?diff=59970&oldid=23616 * Lovecraftianmadness * (+234) 06:23:56 -!- oerjan has quit (Quit: Nite). 07:30:43 -!- hlv has joined. 07:31:27 -!- hlv has changed nick to Hooloovax. 08:11:39 [[Talk:Computational class]] https://esolangs.org/w/index.php?diff=59971&oldid=59970 * Ais523 * (+253) it's a partial preorder 08:12:14 [[Talk:Computational class]] M https://esolangs.org/w/index.php?diff=59972&oldid=59971 * Ais523 * (+21) fix {{unsigned}} 08:13:11 [[Computational class]] https://esolangs.org/w/index.php?diff=59973&oldid=35522 * Ais523 * (+6) partial preorder, not partial order 08:37:32 -!- imode has quit (Ping timeout: 255 seconds). 08:58:52 -!- AnotherTest has joined. 09:07:51 -!- tromp has quit (Remote host closed the connection). 09:23:49 -!- tromp has joined. 09:25:54 -!- Hooloovax has quit (Quit: Leaving). 09:27:09 -!- Lymia has quit (Remote host closed the connection). 09:29:50 -!- danieljabailey has quit (Ping timeout: 246 seconds). 10:00:34 -!- b_jonas has joined. 10:00:43 Taneb: and http://www.omniglot.com/language/numbers/index.htm may be a starting point for finding out more 10:00:52 also pbflist or something 10:01:29 `pbflist https://pbfcomics.com/comics/grandpas-couch-hot-paper-comics/ 10:01:30 pbflist https://pbfcomics.com/comics/grandpas-couch-hot-paper-comics/: shachaf Sgeo quintopia ion b_jonas Cale 10:04:42 -!- b_jonas has quit (Client Quit). 11:50:39 [[Assembly language]] N https://esolangs.org/w/index.php?oldid=59974 * A * (+3001) Created page with "[[Assembly language]] is a minimal Harvard-architectured conputer. It has all the basic features of a modern computer. There is an array with indexes from 00 to FF. Index 00..." 11:50:58 [[Assembly language]] https://esolangs.org/w/index.php?diff=59975&oldid=59974 * A * (+13) /* Commands */ 11:55:10 [[Assembly language]] https://esolangs.org/w/index.php?diff=59976&oldid=59975 * A * (+18) /* Machine code interpreter */ 11:55:55 [[Assembly language]] https://esolangs.org/w/index.php?diff=59977&oldid=59976 * A * (+25) 11:57:44 [[Assembly language]] https://esolangs.org/w/index.php?diff=59978&oldid=59977 * A * (+184) Add specification. 12:04:47 -!- Lord_of_Life_ has joined. 12:06:20 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:06:21 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:08:46 [[Bitch]] https://esolangs.org/w/index.php?diff=59979&oldid=59964 * A * (-82) Not ''close'', some operations are implemented below. 12:17:09 -!- wob_jonas has joined. 12:18:36 [[Bitch]] https://esolangs.org/w/index.php?diff=59980&oldid=59979 * A * (+338) Multiplication/Division idea. I don't know if this can be implemented. 12:22:32 [[User:A]] https://esolangs.org/w/index.php?diff=59981&oldid=59874 * A * (-1069) Blanked the page 12:23:11 [[User:A]] https://esolangs.org/w/index.php?diff=59982&oldid=59981 * A * (+25) Redirected page to [[User talk:A]] 12:23:37 [[User talk:A]] https://esolangs.org/w/index.php?diff=59983&oldid=59875 * A * (+20) Redirected page to [[User:A]] 12:41:53 [[Bitch]] https://esolangs.org/w/index.php?diff=59984&oldid=59980 * A * (-125) /* Attempt by User:A */ 12:56:35 -!- AnotherTest has quit (Ping timeout: 258 seconds). 12:59:12 Celebrate Chaoflux! 13:18:07 -!- AnotherTest has joined. 13:32:30 -!- xkapastel has joined. 13:41:58 [[Assembly language]] https://esolangs.org/w/index.php?diff=59985&oldid=59978 * A * (+180) 13:45:11 [[Assembly language]] https://esolangs.org/w/index.php?diff=59986&oldid=59985 * A * (+5) /* Components (Very trivial) */ 13:45:51 [[Assembly language]] https://esolangs.org/w/index.php?diff=59987&oldid=59986 * A * (+53) 13:46:48 [[Assembly language]] https://esolangs.org/w/index.php?diff=59988&oldid=59987 * A * (-123) /* Machine code interpreter */ 13:54:41 -!- danieljabailey has joined. 14:14:29 [[Assembly language]] https://esolangs.org/w/index.php?diff=59989&oldid=59988 * A * (+302) 14:16:01 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59990&oldid=59681 * A * (+305) /* asdf */ 14:19:10 [[Truth-machine]] https://esolangs.org/w/index.php?diff=59991&oldid=59733 * A * (+154) /* AsciiDots */ 14:41:02 [[Assembly language]] https://esolangs.org/w/index.php?diff=59992&oldid=59989 * A * (+192) /* Examples */ 14:58:16 -!- AnotherTest has quit (Ping timeout: 250 seconds). 15:10:58 -!- Lymia has joined. 15:42:15 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:51:22 [[User talk:A]] https://esolangs.org/w/index.php?diff=59993&oldid=59983 * Ais523 * (-20) rm #REDIRECT from user talk page; the user talk page has a technical status in that it's needed to send people messages, and redirecting it breaks that 15:57:39 `olist 1156 15:57:40 olist 1156: shachaf oerjan Sgeo FireFly boily nortti b_jonas 15:58:05 -!- Sgeo_ has joined. 15:59:26 -!- Sgeo__ has joined. 16:00:47 -!- Sgeo has quit (Ping timeout: 255 seconds). 16:01:11 o! 16:02:53 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 16:03:58 Order of the List 16:07:27 -!- moei has quit (Quit: Leaving...). 16:31:00 [[Special:Log/newusers]] create * Lanmonster * New user account 16:31:27 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 16:36:06 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59994&oldid=59969 * Lanmonster * (+186) /* Introductions */ 16:59:19 [[HQ9+]] https://esolangs.org/w/index.php?diff=59995&oldid=56977 * Lanmonster * (+147) /* Implementation */ 17:08:44 [[Chimera]] https://esolangs.org/w/index.php?diff=59996&oldid=53137 * Lanmonster * (+1) /* Object Expansion */ 17:13:35 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 17:14:14 -!- tromp has quit (Remote host closed the connection). 17:14:38 -!- orbitaldecay has joined. 17:14:39 -!- tromp has joined. 17:18:24 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59997&oldid=59902 * Kamish * (+11599) 17:19:21 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59998&oldid=59997 * Kamish * (+5) 17:19:34 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59999&oldid=59998 * Kamish * (+5) 17:20:28 [[Shishkirism]] M https://esolangs.org/w/index.php?diff=60000&oldid=59999 * Kamish * (-5) 17:21:54 -!- AnotherTest has joined. 17:27:46 -!- b_jonas has joined. 17:35:04 -!- copumpkin has quit (Quit: Textual IRC Client: www.textualapp.com). 17:38:52 -!- xkapastel has joined. 17:50:14 . o O ( Oots! is a Ook! clone designed to annoy 99% of the #esoteric denizens... ) 17:59:59 99%? 18:00:15 There aren't even 100 people in this channel 18:01:37 shachaf: people can read the log file 18:01:55 plus not all denizens are connected all the time 18:02:10 I like Ook! but only for historical nostalgic reasons 18:02:16 it's one of the earlier esolangs I've met 18:02:20 I still hate Brainfuck 18:02:36 and yes, that does cause me a bit of cognitive dissonance 18:08:19 shachaf: 1 down, 81 to go ;-) 18:09:10 And Ook! gave us Piet, in a way. 18:10:09 Brainfuck should also be seen in its historical perspective. Also I think it's the first esoteric programming language I've ever encountered? Or was INTERCAL first? 18:10:27 I don't remember. 18:11:15 shachaf: I expect oerjan to complain about the "a". :) 18:25:40 "a"? 18:29:18 Because it's a consonant, but an vowel. Or how did that rule work again? 18:29:22 -!- tromp has quit (Remote host closed the connection). 18:53:21 -!- tromp has joined. 19:07:04 consonant/vowel sound, rather than letter 19:10:04 I was being rhetorical. Or perhaps facetious. 19:10:43 `? firefly 19:10:44 FireFly was a short-running but well-loved sci-fi TV series released in 2003, starring Nathan Fillion and directed and written by Joss Whedon. 19:10:58 hmm so factual 19:12:30 I forget the fancy command to list contributors to a command, hmm 19:12:41 or a factoid in this case 19:12:50 dowg? cwlprits? 19:12:57 `dowg firefly 19:12:59 2854:2013-05-05 learn FireFly was a short-running but well-loved sci-fi TV series released in 2003, starring Nathan Fillion and directed and written by Joss Whedon. 19:13:02 o 19:13:13 `? Tanea 19:13:14 Tanea plays Minecrafs, Dware Fortresr, and lives in Cambridgd. 19:13:32 `? Tanec 19:13:34 Why would there be a Tanec, that's ridiculous! 19:13:42 `cwlprits Tanec 19:13:44 No output. 19:13:46 `cwlprits tanec 19:13:48 oerjän 19:14:10 `? int-e 19:14:11 int-e är inte svensk. Hen kommer att spränga solen. Hen står för sig själv. Hen gillar inte färger, men han gillar dissonans. Er hat ein Hipster-Spiel gekauft. 19:14:33 o 19:14:49 Please don't blow up the sun 19:15:07 I forgot the context for that. Again. 19:15:17 `hwrl int-e 19:15:18 https://hack.esolangs.org/repo/log/tip/wisdom/int-e 19:16:19 ah, escalation. https://esolangs.org/logs/2016-03-14.html#lgn 19:18:17 Hipster-Spiel 19:18:43 I think that was Braid. 19:18:54 int-e: iirc Tanea was me when someone incremented me 19:18:56 Braid is too good 19:18:57 Or possibly Stephen's Sausage Roll. 19:19:14 I don't think it was Braid because I vaguely recall that conversation, and I don't think it was a game I'd heard of or played :p 19:19:44 SSR it is then. Which is another game I've never finished 19:19:57 oh I'm good at not finishing games 19:20:08 -!- FreeFull has joined. 19:20:12 I've finally completed all tasks in TIS-100. 19:20:23 I never did that.. 19:20:29 I finished most of them 19:20:35 and hyper-optimised a few 19:20:59 I think I'm missing one of the second chunk of them? Was there a second chunk? 19:21:11 Oh, there was, and I didn't really look at those at all 19:21:40 because when the second batch of levels were released, I had kind of gotten past the initial excitement burst 19:21:50 FireFly: there was the TIS-net chunk, yes 19:22:00 hmm, I also need to finish the last bits of Exapunks at some point 19:22:09 and I was missing 4 of those until yesterday 19:22:28 because... at some point it got tedious. 19:24:19 I never bought SHENZHEN I/O though. 19:25:00 Whereas SSR got hard at the point where puzzles became about strategically loosing your fork. 19:25:03 *losing 19:26:44 SHENZHEN I/O also has a second level set... I'm stuck on the clock because apparently the logic does not fit nicely into one or two of the programmable circuits. 19:27:05 -!- imode has joined. 19:28:59 And there's Infinifactory which has 4 level sets, and I thought the tasks in the 4th were just too big. 19:30:31 I didn't even hear about Exapunks, Opus Magnum was the last game I had heard of. 19:31:23 Infinifactory also has quite a different flavour since you're not writing any code. 19:31:41 Exapunks has a pretty neat cyberpunk-esque setting to it 19:32:18 Otoh the Human Resource Machine was easy. I have not bought Opus Magnum, and Exapunks sounds too time intensive (and I'm saying that having sunk days into those other games) 19:32:38 oh yeah 19:32:48 What else was there... SpaceChem. Never got very far. 19:33:15 I got Exapunks last year, but intentionally delayed getting it til I had a two-week vacation, so I could at least spend some of the obligatory intensive addiction/focus on it on the train 19:33:30 yay trains 19:33:35 I never really liked SpaceChem much for whatever reason 19:33:45 Great, a train of thought! 19:33:51 yay trains indeed, that reminds me that I need to order a new interrail pass 19:33:59 TIS-100 went from easy to very hard quickly 19:34:02 spacechem exhibited a nasty lack of symmetry quite soon 19:34:12 trains? 19:34:19 int-e: SSI should finish SSR 19:34:22 It's TG 19:34:28 SSI? 19:34:28 s/SS/ 19:34:34 ah 19:34:34 / 19:35:07 b_jonas: means of transport that works reasonably well in Europe 19:35:23 FireFly: yeah, I live there 19:35:35 I'd like to understand how the cauldrons in Recursed really work. 19:35:36 sure 19:35:36 I even ventured to the parts of Europe where trains work better than here 19:35:52 i,i Er hat ein Hipster-Spiel geschrieben. 19:36:12 int-e: Oh, I remember Recursed. That's Ein Hipster-Spiel 19:36:20 b_jonas: hehe, Sweden's trains aren't the best either 19:36:37 s/E/e/ 19:36:41 I'm just a mess today 19:37:02 Recursed was mostly on the easy/slow side but it had some neat levels. 19:37:04 FireFly: I think I mentioned that that's where I first sat on a two-storey train 19:37:18 . o O ( That's a rare moment of clarity... most of the time, shachaf doesn't notice he's a mess. ) 19:37:34 also they have some kind of a tricky system where there's multiple types of transport trains, with different tickets for them 19:37:42 I didn't really follow how that works 19:37:51 shachaf: Did you play the two DLC level sets and did you get all the diamonds? 19:38:08 I got some of the diamonds and some of the DLC 19:38:08 (and rubies, if you've seen those) 19:38:13 Or maybe all the diamonds? I don't remember. 19:39:26 I do remember the cauldrons being complicated. 19:40:14 I agree that the main Recursed levels are not too hard, though the logistics can get quite tricky. But I do lack a proper mental model for those cauldrons, so I'm kind of lost in the final part of the last DLC set. 19:41:11 here it's simple. we only have three types of passenger trains: normal trains, metro, and HÉV. metro and HÉV are suburban trains that run on tracks separated from normal trains, there's no toilet on them, and if they have multiple carriages then you can't pass between them without getting off, and they're ran by BKV so you have to buy tickets from them. metro, in addition, doesn't have road crossings. 19:41:22 b_jonas: take it to #trains hth 19:41:44 `cat canary 19:41:44 No output. 19:41:59 shachaf: I think it's #openttd on oftc 19:42:11 What is? 19:42:16 the right channel 19:42:18 not #trains 19:42:38 Are you talking about OpenTTD? I thought you were talking about trains. 19:42:54 I was talking about trains 19:43:03 Then why is #trains not the right channel? 19:43:48 -!- Phantom_Hoover has joined. 19:48:06 https://scontent-sjc3-1.xx.fbcdn.net/v/t1.0-9/52326956_808073166219023_5828373343404818432_n.jpg?_nc_cat=1&_nc_ht=scontent-sjc3-1.xx&oh=25f5c7263ac39fa5c8f01aa83b38db63&oe=5CEA6B1C 19:48:11 this seems vaguely #esoteric somehow 19:49:10 duck 🦆 20:00:11 -!- imode has quit (Ping timeout: 268 seconds). 20:03:54 * kmc quacks 20:05:09 int-e: I still haven't beaten most of the cauldron levels 20:05:27 and I'm too proud to look at the guides 20:07:30 int-e: my understanding is that a cauldron forms a link to a room in a spefic state incl objects in it 20:08:10 kmc: "template void ellipsis(Ts......);" 20:08:15 tg, huh 20:08:27 bad 20:08:38 C++ varargs followed by C varargs 20:08:48 imo good...... 20:08:48 -!- galaxie has joined. 20:09:05 agree to disagree 20:09:46 perhaps the problem is that you're viewing c++ as a serious language rather than as a joke hth 20:10:13 a joke that went too far 20:10:39 is there an esolang wiki article about C++ 20:11:47 kmc: no. we try not to start on the slippery slope where we eventually write articles about every non-eso language. 20:11:56 killjoy 20:12:11 what's the slippery slope here 20:12:19 write an article about C++ and then stop 20:12:21 no slope 20:12:22 hth 20:12:38 so we don't write articles about perl, php, ruby, C, C++, fortran, java, C#, javascript, ... 20:12:57 nor about dc 20:13:22 among all those languages only one is C++ 20:14:47 shachaf: also mediawiki doesn't allow us to put pluses in the language name 20:15:06 so C, C++, C# would have to share an article 20:15:25 so of those languages, actually three of them is C++ as far as mediawiki understands 20:15:47 @quote kmc C/C 20:15:47 kmc says: I enjoy it when people write "C/C++" on their resume as if it were one language... so "F#/FORTRAN/Forth", "Perl/Python/Pascal", "Ruby/REBOL/R" 20:26:46 PERL/PHP/PL/I 20:27:02 what is PERL? 20:27:06 PERL/PHP/PL/I//// 20:27:21 How plausible would it be to use genetic algorithms to discover source code in esolangs that follow some specification, like printing digits 1 to 10 or outputting hello world? 20:27:45 PERL is the Practical Extration and Reporting Language 20:28:20 orin: I think it goes Perl/Python/Ruby/PHP, and you shouldn't do all four, but any three is acceptible. PL/I is sort of related, but pretty old. 20:28:39 galaxie: people tried that for malbolge 20:28:48 b_jonas: And the results? 20:28:54 mixed 20:29:01 dunno, find it on the internet 20:29:04 I don't recall the details 20:29:40 honestly awhile ago I took a serious look at PL/I and was annoyed that more languages didn't follow it 20:29:58 I was thinking of a less difficult language to try this with though, so I guess the results would be better if I tried it with some other esolang? 20:30:44 -!- imode has joined. 20:39:11 b_jonas: This looks promising, albeit not necessarily for my idea: http://stoke.stanford.edu/ 20:39:29 I don't understand how so many old languages had a 20:39:52 a what? 20:39:57 DO i = 1 TO length 20:40:08 sure, that's Fortran's influence 20:40:12 statement but C and so on don't 20:40:42 the for( idiom requires you to give the loop variable 3 times 20:42:02 orin: there are macros around that, and in C++ you could even do that with the range-for and a library function range. but people are reluctant to do either of that, mostly because we all remember that our prophets K&R have specifically said that the for (i = 0; i < 10; i++) is the Right Way to write an arithmetic loop. 20:43:51 b_jonas: Here's what I was looking for: https://github.com/primaryobjects/AI-Programmer/ 20:44:30 -!- sleepnap has quit (Ping timeout: 268 seconds). 20:45:44 also C has way too many precedence levels, and languages taking after C inherit them and sometimes add more, 20:46:39 orin: the too many precedence levels is a good thing. the questionable thing is that & has a lower precedence than ==, but at this point it's languages that don't do that, like rust, that confuse me 20:47:02 again because K&R have decreed that & has the lower precedence level 20:48:01 no I think there should be like 5 precedence levels at most 20:48:14 no no no 20:48:16 definitely no 20:48:30 haven't you ever programmed BASIC and had to write redundant parenthesis? 20:48:42 or, and, =, +, * 20:48:44 or even pascal or metafont or whatever 20:48:59 fewer precedence levels is the wrong goal 20:49:11 bitwise | at same level of +, bitwise & at same level as * 20:49:29 because those shouldn't be mixed without parens anyway 20:53:11 like, I think the most complex statement you should make without parens would be something like 20:54:24 if x * 2 + 1 > y and a_flag or b_flag then 20:55:37 in C thie equivalent would be 20:58:07 -!- sleepnap has joined. 20:58:23 if ( R = x * 2 + 1 << 1 > 4 == y & a | b && A || B ) 20:58:45 or something, I'm probably missing a couple levels 20:59:00 -!- galaxie has quit (Quit: ircII EPIC4-2.10.6 -- Are we there yet?). 21:00:40 some languages do away with precedence entirely, I think that's going too far, but I think the number of levels should be far fewer 21:01:52 and you could fix some of the need for parentheses by having a few more operators 21:10:12 I saw a language with horizontal whitespace for precedence 21:10:18 ostensibly non esoteric 21:10:19 for example bitwise ~& and logical nand 21:10:27 so 2+3 * 4 is (2+3)*4 21:10:36 but 2 + 3*4 is 2+(3*4) 21:10:39 lol 21:10:40 orin: that's ruby 21:10:47 um 21:10:51 in Rust, boolean and bitwise negation are both ~ 21:10:51 kmc: that's ruby 21:10:52 er 21:10:54 they're both ! 21:11:07 Rust has strong typing for integers so there is no implicit conversion between bools and ints 21:11:07 2 + 3+4 * 5+6 21:11:15 and ~ was once in use for another since removed language construct 21:11:37 kmc: I've actually done that in my own notes before (whitespace for precedence) 21:12:06 yeah but ruby still has a jillion precedence levels inherited from C 21:12:33 and more 21:12:36 especially for fractions I found it to be a bit handy, since it could reduce noise a bit 21:13:00 A || B and C in ruby is (A || B) and C 21:13:05 reduce fraction friction 21:13:37 `smlist 494 21:13:38 smlist 494: shachaf monqy elliott mnoqy Cale 21:14:55 -!- imode has quit (Ping timeout: 258 seconds). 21:17:59 -!- arseniiv has quit (Ping timeout: 258 seconds). 21:24:03 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 21:37:55 [[Semordnilap]] https://esolangs.org/w/index.php?diff=60001&oldid=59962 * Orby * (+46) Adding output 22:25:08 -!- Remavas has joined. 22:35:14 -!- AnotherTest has quit (Ping timeout: 246 seconds). 22:37:18 -!- Remavas has changed nick to Remavas[AFK]. 22:49:49 -!- Remavas[AFK] has quit (Read error: Connection reset by peer). 22:51:11 -!- Remavas has joined. 22:51:30 shachaf: whoa, did you know Python 3.6 supports Perl-style string interpolation? 22:51:42 dongs = 69; f'{dongs}' 22:51:49 no 22:52:03 WELL NOW YOU DO 22:52:06 :D 22:52:07 no 22:52:26 kmc: but nobody uses python 3 in real life 22:53:09 that's because there's no such thing as real life 22:53:27 kmc wins this one 22:58:37 -!- xkapastel has quit (Quit: Connection closed for inactivity). 23:06:52 i'm sad but I forgot what about :( 23:06:54 this is the worst 23:07:02 better get high and then I'll forget that I'm sad as well 23:07:32 are you sad about josephine the cat 23:07:33 hm 23:07:45 maybe proposing random things for you to be sad about isn't a good strategy 23:08:13 probably not 23:08:19 that cat really sparked joy :( 23:08:49 i like cats 23:08:50 and joy 23:12:36 [[Bitch]] https://esolangs.org/w/index.php?diff=60002&oldid=59984 * Helen * (+175) /* Continuation on the above by User:Helen */ Added implementation of addition algorithm 23:15:43 [[Semordnilap]] https://esolangs.org/w/index.php?diff=60003&oldid=60001 * Orby * (+854) 23:17:29 -!- sleepnap has left. 23:21:29 ode to cats 23:24:18 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60004&oldid=59991 * Helen * (+34) Added bitch 23:42:53 We have a cat wall at the office. 23:43:08 (It's just a wall you can put a picture of your cat(s) on.) 23:44:58 kmc: did you know: glibc memcmp on ARM used to switch into big endian mode 23:45:07 no 23:45:08 lol 23:45:12 why 23:45:19 and why'd they stop 23:45:54 https://github.com/rsaxvc/arm-mem/commit/b836e465c2fd0bb006b428abce99e31607072834 23:46:19 maybe this isn't glibc? whatever 23:46:31 it broke valgrind, for one 23:51:35 ok 23:51:47 does cortex-m support bi-endianness? 23:52:20 apparently it supports either but you can't switch 23:52:23 ok 23:53:28 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:54:11 Are there languages that have different calling conventions per function, specifying which registers need to be saved and so on? 23:56:53 differing according to what 23:57:30 I mean, the compiler can figure it out when it compiles the function 2019-02-20: 00:00:29 oh, well, anything that can't be called outside the compilation unit can be optimized arbitrarily 00:00:50 for example you wouldn't need to save caller-save registers around a call to a function that happens to not use those registers 00:00:58 (that's assuming the function isn't inlined anyway) 00:04:52 -!- Lord_of_Life_ has joined. 00:07:20 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 00:07:20 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:07:23 `ehlist http://eheroes.smackjeeves.com/comics/2750792/how-to-defeat-a-hero/ 00:07:24 ehlist http://eheroes.smackjeeves.com/comics/2750792/how-to-defeat-a-hero/: b_jonas 00:10:03 kmc: I mean putting things like clobbered registers and maximum stack size in the "type" of a function. 00:10:31 Also do C compilers actually change the calling convention for static non-inline functions? 00:10:54 they might 00:11:14 in Rust the calling convettion is part of the type 00:11:23 you can't pass a fn as an extern "C" fn 00:11:36 That makes sense. But there are a few fixed conventions. 00:13:02 how do you mean 00:13:13 are you saying you should be able to define your own conventions? 00:16:51 I'm saying you can have a convention per function depending on how many registers it needs and so on. 00:17:20 -!- b_jonas has quit (Quit: leaving). 00:19:54 These seem like things you can do in general. If you have a DAG of functions it's easy, and if you have a cycle I guess you can just go with the conservative option (unlimited stack, standard calling convention). 00:20:27 [[Farm]] https://esolangs.org/w/index.php?diff=60005&oldid=59958 * BMO * (+4094) 00:20:51 -!- Remavas has quit (Read error: Connection reset by peer). 00:21:36 -!- Remavas has joined. 00:21:39 -!- Remavas has changed nick to Remavas[AFK]. 00:54:03 -!- copumpkin has joined. 01:26:32 -!- orbitaldecay has joined. 02:22:33 -!- sebbu has quit (Ping timeout: 245 seconds). 02:28:14 -!- sebbu has joined. 02:47:33 [[User:Orby]] M https://esolangs.org/w/index.php?diff=60006&oldid=59939 * Orby * (-30) 03:00:28 -!- Remavas has joined. 03:02:33 -!- Remavas[AFK] has quit (Ping timeout: 245 seconds). 03:32:38 -!- oerjan has joined. 03:47:10 `? saneb 03:47:11 Saneb is too normal to invent things, but he likes to watch SV and play Vorld of Varcraft. 03:51:41 -!- FreeFull has quit. 04:01:40 shachaf: also mediawiki doesn't allow us to put pluses in the language name <-- . o O ( i'm starting to worry about b_jonas - this and claiming helium in zeppelin's explode... ) 04:01:47 *-' 04:01:47 -!- Remavas has quit (Ping timeout: 244 seconds). 04:01:54 *+s 04:02:03 also about my own gramar and spling 04:03:23 Hmm, there are definitely pluses in language names on the wiki. 04:08:13 that's why i'm worried hth 04:11:44 tdnh 04:11:47 twacftc 04:42:10 `? twacftc 04:42:11 twacftc? ¯\(°​_o)/¯ 04:57:00 Hmm, I don't remember 04:57:12 maybe "that was actually clear from the context" or something along those lines 05:10:02 ic 05:22:24 -!- arseniiv has joined. 05:50:26 huh they've rewritten the dialogue of the third last girl genius comic. seems like they remembered tarvek had already met the castle fragment 05:55:26 oh there's a comment edit below 06:02:33 -!- tromp has quit (Remote host closed the connection). 06:11:03 the second monster statue from the right looks a bit like the one over mechanicsburg 06:17:51 (http://www.girlgeniusonline.com/comic.php?date=20140611 for that one) 06:37:09 shachaf: should there be more cat emojis in the Unicode, y/y 06:37:57 kmc: will you adopt a cat and/or a cat emoji 06:41:29 -!- tromp has joined. 06:47:17 -!- tromp has quit (Ping timeout: 255 seconds). 07:09:48 -!- AnotherTest has joined. 07:14:25 -!- AnotherTest has quit (Ping timeout: 250 seconds). 07:46:25 -!- oerjan has quit (Quit: Nite). 08:29:02 -!- tromp has joined. 08:31:01 -!- tromp has quit (Remote host closed the connection). 08:31:17 -!- tromp has joined. 08:40:39 I won't be adding anymore emoji to my font since windows refuses to display them in my font 08:41:15 I will hoever, be getting back to adding more characters regularly 08:42:05 .. 08:57:01 also remember how killing pulseaudio was common solution for ubuntu problems a few years ago? 08:57:22 well today I ahve a problem with my mouse freezing up on windows 10 08:57:44 google says the solution is to kill the Realtek Audio Manager 08:58:16 `? pulseaudio 08:58:16 at uni we have an issue with debian where the cursor sometimes is invisible for a few minuts after login 08:58:17 pulseaudio? ¯\(°​_o)/¯ 09:17:49 -!- tromp has quit (Remote host closed the connection). 09:36:48 -!- tromp has joined. 09:37:06 -!- AnotherTest has joined. 09:58:51 -!- orbitaldecay has quit (Ping timeout: 256 seconds). 10:20:59 good to see that bdf2ttf.c is still working 10:21:14 http://orenwatson.be/bdf2ttf.htm 11:04:21 -!- xkapastel has joined. 11:06:21 [[Bitch]] https://esolangs.org/w/index.php?diff=60007&oldid=60002 * Helen * (-257) Updated impossible popular problems entry 11:14:31 [[Bitch]] https://esolangs.org/w/index.php?diff=60008&oldid=60007 * Helen * (+1005) Added a section for common algorithms 11:27:28 -!- MDude has quit (Ping timeout: 246 seconds). 11:32:15 -!- MDude has joined. 11:37:20 ᕫᕬᕭᕮᕯᕰᕱᕲᕳᕴᕵᕶᕷᕸᕹᕺᕻᕼᕽ᷂᷊᷀᷁᷃᷄᷅᷆᷇᷈᷉⨌⨍⨎⨏⨐㌀㌁兩硝硫硬碁碑磨礁礎秀租秩称稚稲稼稽稿穂穏穫突窃窒窟窮窯竜端符筒箇箋箸範篤簿籍籠粋粒粗粘粛粧糧糾紋紛紡索紫累紳紹絞絡継維綱網綻緊緒締緩緯緻縁縄縛縝繁繊繕繭繰罰罵罷羞羨翁翻翼耐耗聘聵肌肖肘肝股肢肩肪肯胆胎胞胴脂脅脇脊脚脱腎 11:38:46 Looks like you're testing a font there 11:39:12 Taneb: yah these are the new characters in the newest version of my font 11:39:42 How's that going? 11:40:10 I got back into it yesterday and have been adding characters again 11:40:14 :) 11:47:37 I refactored my ttf parser 11:48:23 http://orenwatson.be/ttfinvread.htm 11:49:35 a and wrote a program to compare the character inventories of two files 11:49:39 http://orenwatson.be/invcmp.htm 11:51:03 which allowed me to more easily get a list of which characters exist in a new ttf as opposed to the old one 12:05:53 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:11:54 -!- Lord_of_Life has joined. 12:31:08 [[Assembly language]] https://esolangs.org/w/index.php?diff=60009&oldid=59992 * A * (+458) 12:32:01 [[Assembly language]] https://esolangs.org/w/index.php?diff=60010&oldid=60009 * A * (-18) /* Examples */ 12:44:20 [[Bitch]] https://esolangs.org/w/index.php?diff=60011&oldid=60008 * Helen * (+31) /* Continuation on the above by User:Helen */ Corrected myself on my statement about a subtraction algorithm 13:00:10 -!- Meme19 has joined. 13:09:15 -!- Meme19 has quit (Ping timeout: 256 seconds). 13:10:24 [[Assembly language]] https://esolangs.org/w/index.php?diff=60012&oldid=60010 * A * (-63) /* Examples */ 13:10:49 [[Assembly language]] https://esolangs.org/w/index.php?diff=60013&oldid=60012 * A * (+29) /* Machine code interpreter */ 13:15:23 [[Bitch]] https://esolangs.org/w/index.php?diff=60014&oldid=60011 * A * (-96) Division would be unneccesary, since subtraction is not yet implemented. 13:15:50 [[Bitch]] https://esolangs.org/w/index.php?diff=60015&oldid=60014 * A * (-1) /* Continuation on the above by User:Helen */ 13:25:30 -!- danieljabailey has quit (Ping timeout: 250 seconds). 14:37:44 hmm is there an efficient way to verify that there are no characters that look exaclty the same? 14:40:31 if I loaded all chars into memry at same time it would be uhh 14:41:35 Sort them graphically in some way? 14:42:29 hmm yeah 14:42:55 the characters are represented as 18x16 bitmaps 14:43:03 There are definitely sorting algorithms designed so you don't load everything at once 14:43:45 so I could just output those as strigs somehow 14:43:58 Or numbers 14:43:58 then use gnu sort? 14:44:51 18 divides 6 evenly so each pixel row could be 3 base64 digits 14:45:29 does gnu sort use a mergesort on large files? 14:47:38 hmm, never mind the data isn't *that* large, only 2 megabytes 14:47:47 I'll use qsort 14:48:19 > let n = 2 * 2^20 in n * log n 14:48:21 3.052633491611866e7 14:48:58 might take a bit 14:49:42 you can do integer sorting in n * sqrt(log log n) 14:50:15 Ooh, that's right 14:50:24 This is exactly what something like radix sort is good for 14:53:23 -!- AnotherTest has quit (Ping timeout: 245 seconds). 14:53:28 ah yeah. If I keep splitting the dataset based on each bit then when I'm at the last one, I'll have verified whether there are any repeats 14:54:03 > 2 ^ 16*18 14:54:05 1179648 14:54:16 > 2 ^ (16*18) 14:54:18 4973232364097866421553822481468208401004561507973477174404639768931594970125... 14:54:34 Well, there's certainly a lot of possible characters... 14:57:36 yeah but most of those possibilities look like white noise 14:58:15 and one of the goals of my font is to as much as possible keep characters looking distinct from each other 14:58:22 Mmm 14:59:47 so what I'll do is make two buffers 15:00:00 each containing pointers to bitmaps 15:00:24 and in a loop split the buffer by one bit 15:00:54 you could also make a giant hashmap with a reasonable hash function for each character 15:01:24 hmmm or maybe double buffering is overkill 15:02:01 how many recursion levels can tpyical C environment handle 15:02:21 >16*18 15:02:28 > 16 * 18 15:02:30 288 15:03:21 yeah I think I'll do the loop instead even if I have to be clever 15:04:44 * int-e is confused 15:05:02 > length ['\0'..] * 18*2 -- bytes 15:05:04 40108032 15:05:38 > last ['\0'..] 15:05:40 '\1114111' 15:06:24 I'm sure orin has fewer glyphs than that. :) 15:06:35 So sorting them all to find duplicates shouldn't be a big deal, really. 15:06:54 Currently I've got 21130 15:08:57 -!- sleepnap has joined. 15:09:06 Ah, catching up is hard. " I'll use qsort" 15:09:52 int-e: it's fun to overthink things 15:10:20 . o O ( overthinking, what does that even mean? ) 15:10:47 what's more problematic is that there will be duplicates 15:11:26 int-e: that's what I'm trying to find 15:11:40 `unidecode oоο 15:11:41 ​[U+006F LATIN SMALL LETTER O] [U+043E CYRILLIC SMALL LETTER O] [U+03BF GREEK SMALL LETTER OMICRON] 15:11:42 if there are duplicates I want to knwo what they are 15:11:56 int-e: thsoe all look different in my font 15:12:18 that seems awkward. :) 15:12:34 cyrillic о is more squarish and greek ο is shorter 15:13:21 ΕЕE HНΗ 15:13:32 still different. 15:13:47 I'm more worried about the math symbols and such 15:14:53 oh, I know... "   " 15:15:04 all different 15:15:43 em space is shown with little letters saing "EMSP" 15:16:25 although some environments stubbornly refuse to show any glyph for space characters 15:16:26 ⛐⛐⛐ 15:16:44 ok I don't even 15:16:51 `unicode ⛐ 15:16:52 U+26D0 CAR SLIDING \ UTF-8: e2 9b 90 UTF-16BE: 26d0 Decimal: ⛐ \ ⛐ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 15:16:55 lol 15:16:56 ;-) 15:17:05 I didn't draw that one yet 15:17:37 http://orenwatson.be/fontdemo.htm 15:18:44 "⠀ " 15:18:51 what about invisible plus vs invisible minus? 15:19:32 myname: dym times, rather than minus? 15:21:12 I need to update my cjkwidth function, some charactrs are being whown the wrong width 15:22:13 and some of these need to be redrawn becuase they became emoji and thus became wide 15:22:19 e.g. ♋ 15:23:24 hmm or maybe it's better to leave them... I'll think about it 15:24:16 there is a 69 emoji? that will be so misused 15:24:58 myname: it's the Cancer astrological sign lol 15:25:12 what's the difference :D 15:25:29 I agree emojis have become a cancer 15:26:50 -!- AnotherTest has joined. 15:27:09 myname: there are emoji modifiers as well 15:27:54 yeah i've yet to find a terminal, or terminal-oriented program, that handles those things correctly or at all really 15:28:27 `` unidecode $(unicode 1F9B0) 15:28:28 ​[U+1F9B0 - No such unicode character name in database] 15:29:06 Unicode Character 'EMOJI COMPONENT RED HAIR' (U+1F9B0) 15:29:52 I'm secretly waiting for the emoji part of Unicode to become TC. 15:32:54 my font includes some emoji but browsers and even some terminals simply refuse to display them in my font 15:33:06 😓 15:33:34 so I'm focusing on non-emojis 15:34:47 emojis can be handled by some other lunatic, this lunatic is working on pixelating every possible mathematic operator and all the most common kanji 16:24:12 wow google is pushing ahead with crippling ad blockers 16:24:28 Of course they are, ads are their main source of income 16:25:15 they gave a press release that superficially appears to back down but actually doesn't 16:30:40 idiot newspapers are reporting that google won't block ad blockers 16:31:18 "Another clarification is that the webRequest API is not going to be fully removed as part of Manifest V3. In particular, there are currently no planned changes to the observational capabilities of webRequest (i.e., anything that does not modify the request)." 16:32:00 ^ meanwhile, in reality, the post confirms that ublock and other ad blockers will no longer be allowed to use the existing API to filter content 16:32:22 only "observe" it 16:32:36 "would have blocked 10/11 requests" 16:33:00 https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/WcZ42Iqon_M 16:33:12 here's the full post 16:33:28 https://www.theregister.co.uk/2019/02/20/google_nest_secret_microphone/ is nicely written 16:33:41 (unrelated, except it's also about Google) 16:34:01 I'm glad I never switched to chrome in the first place 16:35:04 "Dynamic Rule Support: We agree that this is valuable in creating sophisticated content blocking extensions, and will be adding support for declarative rules that can be added or removed at runtime to the declarativeNetRequest API." ... uh, right, that's not what we mean by dynamic blocking. 16:36:12 hehehehe such weasel. much handwave. wow 16:40:02 -!- Hydra_ has joined. 16:42:46 I mean, they are aware that people can tell whether ads are being blocked? 16:43:24 I don't see how this won't lead to a large exodus of adblock users to other browsers 16:43:26 -!- Hydra_ has quit (Client Quit). 16:44:42 well, as long as they won't sync with your bookmarks and passwords, that may be hard 16:44:57 -!- Erika has joined. 16:45:07 mobile devices 16:45:12 :/ 16:45:41 not only that 16:45:46 multiple devices as well 16:45:49 (though there the trend seems to be not to have a website but a custom app) 16:45:51 int-e: I use firefox on mobile 16:45:58 and google did forbid chromium forks to sync 16:46:00 I don't use any website-apps 16:46:14 mobile browsers all suck 16:46:21 but the duet mode in chrome dev is nice 16:46:26 firefox munges chromium bookmarks 16:46:30 not sure about passwords 16:47:09 of course the timing of these changes is also interesting 16:47:19 how so? 16:47:33 this is happening shortly after MS announced they're discontinuing Edge... https://www.theverge.com/2018/12/4/18125238/microsoft-chrome-browser-windows-10-edge-chromium 16:47:42 if you have a website and an app I always use the website. having so few apps means my phone battery lasts much longer than my dad's 16:48:28 yeah it's sus 16:49:38 that depends on what you do imho 16:52:47 myname: well my dad has all these apps he rarely uses constantly loading new messeges and content whereas my phone only does this when I visit a website 16:52:56 -!- moei has joined. 16:53:32 my phone therefore does less work when I'm not using it 16:53:52 and as a result only needs charging every 4 or 5 days 16:54:06 yeah, that's crap. but there are services where an app does provide additional features 16:54:37 like, i will always take the youtube app over the website 16:54:55 you can't block ads in the youtube app 16:55:01 so it has less features 16:55:22 and wastes data 16:55:43 "you can't block ads in the youtube app" is the main reason for all those apps, I'm afraid 16:56:02 yup. firefox mobile with ublock origin 16:58:27 you can watch youtube on mibile with no ads, and look at another website while it plays 16:58:43 all features that the youtube app deliberately does not have 16:59:19 -!- Erika has quit (Ping timeout: 256 seconds). 16:59:33 billionaires hate him! this 1 cool trick 17:01:56 :/ 17:03:48 orin: maybe _you_ can't 17:04:49 and you can watch a video while doing whatever you want 17:04:50 myname: oh are you paying for redtube, er, youtube red, er, youtube premium? 17:05:16 orin: http://vanced.app 17:05:53 eh, that's an extra app 17:06:11 I don't go for these extra apps 17:06:31 it is not 17:06:54 at least the rooted way just replaces it 17:07:36 just use firefox 17:08:07 nah 17:08:24 watchlist handling is horrible in browser 17:08:54 watchlist? 17:08:57 I guess 17:11:00 you could just hit "request desktop site" if your phone has high DPI 17:12:40 the website lacks features the app has 17:14:33 I don't really go for watchlists as much as super long videos 17:14:44 https://www.youtube.com/watch?v=DX2-yTicXs0 liek this 17:17:54 because I hate the slight lag betweeen longs in playlists 17:17:59 songs 17:19:14 i rarely use youtube for music 17:19:53 I rarely use youtube for anything except music 17:26:45 -!- danieljabailey has joined. 17:59:43 [[BitBounce]] N https://esolangs.org/w/index.php?oldid=60016 * Hakerh400 * (+12154) Publish BitBounce 18:00:45 [[Language list]] https://esolangs.org/w/index.php?diff=60017&oldid=59915 * Hakerh400 * (+16) Add BitBounce to the list 18:29:46 lol nike shoes "bricked" by android app 18:30:00 intenet of shit 18:32:55 -!- Phantom_Hoover has joined. 18:38:50 weird fact: 0x64 == 0144 == 100 18:39:27 this is weird because all of those are squares in decimal 19:03:53 U-FF60 to U-FF9F can augment ascii to form a base-128 system. this has the advantage of looking like the matrix raining code 19:05:55 therefore the computers in the matrix must have used 7-bit groupings 19:18:56 for example, in this version fo base 128, the number イェpK is 57681234 in dec 19:32:27 -!- danieljabailey has quit (Ping timeout: 240 seconds). 20:11:00 -!- b_jonas has joined. 20:29:48 half-width kana? 20:30:14 -!- tswett has joined. 20:30:44 yah 20:31:16 Hey everyone. 20:31:55 I'm starting to get kinda desperate for work. If anyone's got stuff that needs doing, let me know. 20:35:52 -!- FreeFull has joined. 20:43:11 shachaf: gcc allows a little bit of control over function calling conventions, but not as much as you're asking for. https://gcc.gnu.org/onlinedocs/gcc-8.2.0/gcc/x86-Function-Attributes.html#x86-Function-Attributes 20:43:22 (tha's for C and C++) 20:45:25 -!- tswett has quit (Ping timeout: 256 seconds). 20:45:32 hi tswett 20:48:00 b_jonas: I don't think it's very practical in a language like C or C++ 20:48:25 [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=60018&oldid=59949 * Cortex * (+725) 20:59:34 [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=60019&oldid=60018 * Cortex * (+21) 21:21:11 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190219.html 21:21:12 bobadventureslist http://bobadventures.comicgenesis.com/d/20190219.html: b_jonas 22:04:14 -!- Remavas has joined. 22:10:24 ^metar LHBU 22:10:27 ^metar LHBP 22:10:30 @metar LHBP 22:10:31 LHBP 202200Z VRB01KT CAVOK M02/M02 Q1025 NOSIG 22:11:35 -!- arseniiv has quit (Ping timeout: 255 seconds). 22:24:04 -!- xkapastel has quit (Quit: Connection closed for inactivity). 22:25:08 [[BitBounce]] M https://esolangs.org/w/index.php?diff=60020&oldid=60016 * Hakerh400 * (+0) fixed typo 22:25:08 -!- Essadon has joined. 22:25:23 -!- Essadon has quit (Max SendQ exceeded). 22:38:18 -!- xkapastel has joined. 23:20:39 -!- sleepnap has left. 23:33:56 -!- AnotherTest has quit (Ping timeout: 255 seconds). 23:39:26 int-e: imo what if snprintf was a coroutine that you could resume with a new buffer if it runs out of space? 23:40:25 cocoa coated co-cones 23:51:07 -!- Remavas has changed nick to Remavas[AFK]. 23:54:16 -!- tromp has quit. 23:56:09 -!- Remavas[AFK] has changed nick to Remavas. 2019-02-21: 00:04:13 -!- tromp has joined. 00:05:12 -!- tromp has quit (Remote host closed the connection). 00:07:01 -!- Lord_of_Life_ has joined. 00:08:34 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 00:08:34 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:35:06 -!- oerjan has joined. 00:40:47 -!- heroux has quit (Ping timeout: 246 seconds). 00:41:34 -!- heroux has joined. 00:46:23 -!- b_jonas has quit (Quit: leaving). 00:51:29 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:44:05 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:00:11 @tell orin this is weird because all of those are squares in decimal <-- it's not as random as you think, because 100 and 144 are square in _all_ bases. 02:00:11 Consider it noted. 02:00:49 (well, big enough to have them) 02:01:36 hm what about 64 02:01:51 > [6*n+4 | n <- [1..16]] 02:01:53 [10,16,22,28,34,40,46,52,58,64,70,76,82,88,94,100] 02:02:10 that does seem more coincidental 02:03:04 base 2,10,16 only 02:05:09 hm n needs to be even, and then it's 3*(n/2) + 1 02:07:01 the squares of odd numbers * 2 02:07:21 no wait 02:09:11 why isn't that right 02:09:49 oh, it's the square of numbers not divisible by 3, * 2 02:12:03 > [(3*n+i)^2 | n<-[0..], i<-[1,2]] 02:12:05 [1,4,16,25,49,64,100,121,169,196,256,289,361,400,484,529,625,676,784,841,961... 02:12:10 oops 02:12:21 > [(3*n+i)^2*4 | n<-[0..], i<-[1,2]] 02:12:23 [4,16,64,100,196,256,400,484,676,784,1024,1156,1444,1600,1936,2116,2500,2704... 02:32:27 The fact that 100 is square in all bases is pretty obvious 02:32:40 It's literally 1*b² 02:34:18 -!- tromp has joined. 02:35:10 oerjan: 121 will be square in all bases too 02:37:23 -!- FreeFull has quit. 02:38:44 -!- tromp has quit (Ping timeout: 246 seconds). 02:45:54 `? imo 02:45:55 imo? ¯\(°​_o)/¯ 02:52:18 also 169 02:52:32 and others, but then it's too big for base 10 02:53:12 also 1 hth 02:53:18 fancy 02:53:22 and 4 and 9 02:53:26 and 10000 02:53:48 now prove that they all have odd length 02:53:57 ( i think? ) 02:54:21 or disprove, if you disagree 02:55:10 length 2 is pretty obviously impossible 02:57:20 but i'm not sure about the larger even ones, just a hunch 02:58:08 i suppose it can be seen as a polynomial problem 02:59:08 but maybe evens can work even if they cannot be a square of a polynomial 03:03:37 Apparently not. http://www.isibang.ac.in/~sury/polys.pdf Section 3. (via https://math.stackexchange.com/questions/1157780/polynomials-such-that-pk-ql-for-all-integer-k/1157825#1157825) 03:13:30 Though the proof of Lemma 3.2 has a gap, this isn't a direct application of Lemma 3.1... I guess the trick is to use P_1'(x)P_2(x)...P_r(x) in the proof of lemma 3.2, instead of just P_1'(x)? 03:13:42 (when using Bezout) 03:14:43 that last 3.2 should be 3.1 03:21:37 Oh this really is less miraculous than it may seem at first... 100 in base n is 144 in base (n-2), for all n > 6. 03:22:19 But the 64 is still an accident :) 03:48:57 -!- Remavas has quit (Quit: Leaving). 03:54:12 is there any deep reason why 10^0.3 is so close to 2 03:54:25 or is this just a very convenient coïncidence for engineers? 03:56:35 who pretty much assume 3 dB = factor of 2 03:57:15 which also means 2^10 = 30 dB = 1000 03:57:46 which is amusingly the same probably as kB vs KiB 03:57:53 btw I think dB should be used for more things 03:58:29 e.g. probability 03:58:48 then you can bayes rule with only addition 03:58:56 but I'm not sure, whether 0 dB should be 1 or 0.5 or what 04:00:26 0 dB = 1 seems most natural to me, but this lesswrong article uses 0.5 https://www.lesswrong.com/posts/GDLP8MjvyhK3wx6hc/the-quick-bayes-table 04:00:40 and if there's anyone I trust to massively overthink this sort of thing, it's the Rationalists 04:01:32 my friend lives in a Rationalist group house and they have whiteboards all over the walls with prediction markets for various events, ranging from personal to worldwide 04:02:14 -!- tromp has joined. 04:03:32 This seems a touch silly. 04:03:48 the last part? 04:03:59 Yes. 04:04:12 i mean, i agree 04:04:17 i don't think anyone takes it that seriously 04:04:27 and they play for fake points iirc 04:04:56 That actually sounds about right really. 04:05:14 one could say it's practice for honing one's probability estimating skills 04:05:47 rationalism is... interesting 04:05:59 it's not quite a doomsday sex cult, but it's not entirely NOT a doomsday sex cult 04:06:21 Don't get me wrong though, I'm all about a sex cult. :P 04:07:05 -!- tromp has quit (Ping timeout: 255 seconds). 04:08:41 I mean, it would be more appealing if not for various stories I've heard about people behaving badly 04:09:00 Yeaaah, that sort of thing can go wrong pretty easily. 04:09:20 And I'm exactly the sort of person that's easily susceptible to that, so 04:10:37 I'm friends with some self-identified rationalists, and dating one, but I don't have any desire to get closer than that. it enriches my life in small doses 04:10:44 their solstice service was lovely 04:11:45 I went to a few MIRI workshops and I'm going to another one next month. 04:12:00 shachaf: they got you 04:12:08 did they? 04:12:16 shachaf: have you run into edwardk now that he works at MIRI? 04:12:28 Yes, he's been at the workshops. 04:12:32 cool 04:13:25 -!- xkapastel has joined. 04:14:24 Such Bay Area. 04:14:40 hikhq 04:14:45 when are you moving back to the bay are twh 04:14:47 a 04:14:51 . o O ( should MIRI worry about time-travelling Terminators ) 04:15:13 If my current job gives me a 100% raise, I might consider it. 04:15:21 whoa whoa whoa 04:15:24 are you done studenting 04:15:44 Yes, I started as an SRE at a company in Denver last month. 04:15:55 And I have a BS in applied math now. 04:16:54 And lemme tell you, 6 figure income goes a lot further when your rent is under $1k. 04:18:01 my rent when i worked at google was $500 or something 04:18:21 also it was a small windowless room, which i don't think is quite legal 04:18:30 once i was woken up by a burglar in the room 04:18:39 good times 04:18:42 Yeah, this is for a whole apartment 04:18:54 Sure. 04:19:04 And I doubt that room is $500 now. :) 04:19:16 Unless it's out in, like, Gilroy, too. 04:19:23 it was east palo alto 04:19:27 probably not 04:19:55 but have you considered moving to the bay area and also getting a 100% raise 04:20:26 I doubt that getting both is possible, and also I honestly like Colorado. 04:21:05 And for that matter, my current job 04:23:25 yeah, i moved from the Castro to the Sunset to Montana 04:23:55 noooot interested in going back to the bay area 04:24:06 May also help to know Colorado is my _home_, so 04:24:32 home is where your cat is 04:24:52 Da nyaa? 04:34:16 don't move to the bay area 04:34:25 most people i know here want to leave 04:34:35 our most likely plan is to move to the Denver area 04:34:48 sometime within the next year or two 04:34:48 Come to Colorado, we have weather 04:34:49 but it's still very much up in the air 04:34:54 yes 04:34:56 I like Colorado 04:35:16 and it shares one of the main things I love about here (lots of awesome natural areas nearby) 04:35:28 oh and weed 04:36:20 kmc: one time you said that if you moved to sf you'd eat burritos every day 04:36:22 true/false 04:36:35 did I? 04:36:48 I think so? 04:37:15 Our burritos are perhaps inferior, but they are at least quite readily available. 04:37:35 kmc: how come you aren't in any unlogged offtopic channels that i'm in tdnh 04:37:46 shrug 04:38:00 even the one you made 04:38:01 Colorado is probably a better fit for me politically too 04:38:22 Liberal, but not actively disfunctional? 04:38:33 mhm 04:38:46 socially liberal, but with a libertarian streak 04:39:08 sounds like most Montana cities 04:39:34 outside the cities it’s v red :( 04:39:42 yeah but the state level laws for LGBT people (for example) suck in MT 04:40:00 Yeah, that's a bit of a dealbreaker for me. 04:40:01 HRC puts MT in their lowest category and CO in the highest 04:41:09 but yeah the urban vs. rural divide is sharp in almost every state 04:41:16 big cities go blue even in the reddest of states 04:42:10 Not that anywhere in MT counts as a _big_ city. 04:43:29 true 04:44:55 heh yeah 04:45:30 someone asked me what the nearby “big city” was (I’m in Missoula) 04:45:37 I was like... this is it 04:46:24 rofl 04:47:00 even my hometown of Des Moines is substantially bigger than missoula (or billings) 04:47:00 By their definition of "big", pretty sure the "nearby" one would probably be something like Seattle, Salt Lake, or Denver. 04:47:16 None of which are all that close. 04:47:25 yeah, or maybe Spokane (3 hours) 04:47:45 Oh yeah, Spokane. 04:48:05 I go there for Trader Joe’s 04:48:24 Which is also not really a big one, but it'd probably at least register as a city with them. 04:49:26 you drive 3 hours to get to trader joe's? 04:49:42 I mean, TJ's is pretty awesome but that seems excessive 04:50:10 When you live in more rural parts of the country you just get used to much longer travel times. 04:50:20 sure 04:50:39 My mom for a while had a 2 hour *commute*. 04:50:44 this is your brain on carz 04:51:07 like a few times a year 04:51:26 pikhq: my wife has a 3 hour per day commute :( 04:51:30 but she's on a bus with wifi and such 04:51:40 j4cbo: fair enough 04:51:45 pikhq: 2 hours each way? 04:51:47 I visit places 3 hours away at least a few times a year 04:52:24 imo that's a lot of hours 04:52:30 can you draw me a commutative diagram 04:52:46 shachaf: Yes 04:53:34 About... 133 miles. 04:53:53 bay area commutes are really bad cause we can't build dense transit-oriented housing 04:55:08 we love the environment soooooo much that we hold up transit and housing for decades in "environmental review" 04:56:16 so instead people spend hours and hours per day driving 04:56:19 love that environment 04:56:26 Well yeah, gotta consider the risks to the environment from getting rid of cars 04:58:02 https://i.redd.it/gilx3e4wcsh21.jpg 04:59:20 “environment” in California means “impact on nimbys” 05:28:01 [[Semordnilap]] https://esolangs.org/w/index.php?diff=60021&oldid=60003 * Oerjan * (+41) /* Examples */ The language demands this example 05:29:57 i suppose this is the other kind of esoteric 05:42:21 [[Quine]] https://esolangs.org/w/index.php?diff=60022&oldid=59968 * Oerjan * (+73) /* How to write quines */ Add obvious technical requirement (and sweep a bit of prior discussion under the "freely" carpet) 05:48:57 kmc: did you see that paper about a compacting malloc 05:49:12 https://arxiv.org/abs/1902.04738 05:50:39 -!- tromp has joined. 05:55:05 -!- tromp has quit (Ping timeout: 255 seconds). 06:18:33 -!- arseniiv has joined. 06:22:02 -!- xkapastel has quit (Quit: Connection closed for inactivity). 06:42:04 no 07:34:38 -!- tromp has joined. 07:39:24 -!- tromp has quit (Ping timeout: 268 seconds). 07:40:02 -!- arseniiv has quit (Read error: Connection reset by peer). 07:40:19 -!- arseniiv has joined. 07:49:31 -!- xkapastel has joined. 08:03:04 -!- oerjan has quit (Quit: Nite). 08:15:54 -!- AnotherTest has joined. 08:41:41 -!- tromp has joined. 09:26:07 -!- AnotherTest has quit (Ping timeout: 258 seconds). 09:39:50 -!- AnotherTest has joined. 10:02:03 -!- xkapastel has quit (Quit: Connection closed for inactivity). 10:13:31 [[Special:Log/newusers]] create * Dev cat * New user account 10:27:51 -!- tromp has quit (Remote host closed the connection). 10:30:23 -!- imode has joined. 10:42:29 -!- tromp has joined. 11:21:47 -!- AnotherTest has quit (Ping timeout: 255 seconds). 11:33:19 -!- AnotherTest has joined. 12:06:08 -!- Lord_of_Life_ has joined. 12:09:15 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 12:09:15 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:31:21 -!- nfd has joined. 12:33:02 -!- tromp has quit. 12:34:41 -!- nfd9001 has quit (Ping timeout: 255 seconds). 13:00:46 -!- imode has quit (Ping timeout: 250 seconds). 13:08:36 -!- tromp has joined. 14:49:05 -!- TellsTogo has joined. 14:53:27 -!- AnotherTest has quit (Ping timeout: 268 seconds). 14:54:34 -!- Sgeo has joined. 14:57:14 -!- Sgeo__ has quit (Ping timeout: 246 seconds). 15:04:05 -!- Sgeo_ has joined. 15:07:06 -!- Sgeo has quit (Ping timeout: 268 seconds). 15:32:52 -!- xkapastel has joined. 15:34:41 -!- MDead has joined. 15:35:33 -!- Sgeo has joined. 15:37:50 -!- MDude has quit (Ping timeout: 255 seconds). 15:37:56 -!- MDead has changed nick to MDude. 15:38:27 -!- danieljabailey has joined. 15:38:33 -!- Sgeo_ has quit (Ping timeout: 268 seconds). 15:45:03 -!- sleepnap has joined. 16:18:32 -!- sleepnap has left. 16:25:32 -!- MDude has quit (Ping timeout: 255 seconds). 16:35:04 -!- MDude has joined. 17:10:16 -!- AnotherTest has joined. 17:54:14 -!- b_jonas has joined. 18:02:34 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:17:59 -!- TellsTogo has quit (Ping timeout: 256 seconds). 18:18:32 -!- oerjan has joined. 18:19:31 @tell int-e i was too tired to look at the paper you linked yesterday, so i put it aside, and then before i looked back at it i'd found a simpler proof myself. 18:19:31 Consider it noted. 18:20:32 @tell int-e well, beyond the first section that mentioned that you could multiply by n! to get integer coefficients, which is my first step (multiplying by (n!)^k) 18:20:32 Consider it noted. 18:21:07 @tell int-e Second: if P(0) = a^k, replace P(x) by P(x+a) to get 0th coefficient 0. 18:21:07 Consider it noted. 18:26:24 @tell Third: If a_i is the first non-zero coefficient of the polynomial, but i < k, and p is a prime, then p^i divides P(p), thus p^(i+1) | p^k | P(p), thus a_i p^i | p^(i+1) and a_i | p. But p was arbitrary so a_i = 0. 18:26:24 Consider it noted. 18:28:40 @tell int-e Oops, wait, that P(x) to P(x+a) step is wrong isn't it. Darn. 18:28:40 Consider it noted. 18:29:07 or is it. 18:30:47 ...and _now_ my brain is tired again. 18:32:37 -!- oerjan has quit (Quit: Later). 18:42:25 -!- xkapastel has joined. 19:00:08 `? code 19:00:15 ​[11,11,11,15,15,23,12],[5,5,5,3,53,45,16,26,00,20,15,16,22,25,45,91,32,11,15,27,06,01,11,01,47,22,30,13,43,21,11,13,29,61,65,17,19,12,28,17,11,01,23,20,16,20,81,18,32,25,58,22.,1985,10.301350435,1555466973690094680980000956080767,13720946704494913791885940266665466978579582015128512190078... 19:02:10 `forget link 19:02:11 rm: cannot remove 'wisdom/link': No such file or directory 19:02:14 `forget links 19:02:16 Forget what? 19:07:21 -!- imode has joined. 19:07:25 `? e-module 19:07:26 E-modules are modules over a web ring. Uaneb invented them. 19:07:48 `? zomgmodules 19:07:49 ZOMGMODULES is both a small blonde veterinarian and just modules over the ring of ZOMGs. 19:08:21 `? d-module 19:08:22 D-modules are just modules over the ring of differential operators. Taneb invented them. 19:17:51 `?ring 19:17:52 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ?ring: not found 19:17:55 `? ring 19:17:56 Addition, subtraction and multiplication have a certain ring to them. 19:18:15 -!- Essadon has joined. 19:18:17 `last wisdom/links 19:18:18 last: cannot open /var/log/wtmp: No such file or directory 19:18:35 `dontaskdonttelllist 19:18:36 dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ m​y​n​a​m​e​ i​n​t​-​e​ 19:18:43 oerjan: ^^ 19:18:46 -!- Essadon has quit (Max SendQ exceeded). 19:21:09 ``` hg cat -r9527 wisdom/links # int-e: 19:21:10 links is one of the very few HTML renderers that doesn't try to store a full document tree with heavyweight objects for each node just in case javascript wants to modify it later, so it's the only engine that can render those HTMLs that are automatically converted from a PDF and put each letter in a separate element. 19:21:37 I see. 19:21:46 `forget code 19:21:48 Forget what? 19:22:22 (IIRC that was a fungot quote, so devoid of information :P) 19:22:22 int-e: and what of it? i couldn't find anything in the cl way. that's why we need hygienic quasiquote 19:22:45 fungot: sounds exciting, carry on 19:22:45 int-e: make it not heap allocated. i donŽt have any how to do with timing and velocity, basic ai routines, etc 19:23:36 heh 19:25:09 `url 19:25:10 https://hack.esolangs.org/repo/ 19:26:49 `cats # pfft. 19:26:49 ​/usr/bin/tail: option used in invalid context -- 1 19:26:54 `` cats # pfft. 19:26:54 meow meow meow meow 19:27:43 `cbt cbt 19:27:44 cat bin/"$1" 19:30:04 `main HackEso 19:30:06 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: main: not found 19:30:11 `maim HackEso 19:30:12 HackEso just froze off their fingers! 19:30:19 -!- TellsTogo has joined. 19:31:38 `rm bin/satan 19:31:39 No output. 19:33:13 b_jonas: I thought there was a command for that (cat last version of deleted file) but I may be imagining things. (It certainly sounds like a command that we should have.) 19:34:09 `¿ fungot 19:34:09 int-e: well that's stupid :p they'll send invitations soon to the people who ' /quit'? you'd never reach total fnord. oli tosin fnord fnord fnord 19:34:11 ​.nosaer fo eciov dna tocsam lennahc devoleb ruo si tognuf 19:34:19 `before wisdom/links 19:34:21 wisdom/links//links is one of the very few HTML renderers that doesn't try to store a full document tree with heavyweight objects for each node just in case javascript wants to modify it later, so it's the only engine that can render those HTMLs that are automatically converted from a PDF and put each letter in a separate element. 19:34:25 shachaf: ah! 19:34:35 `thanks shachaf 19:34:35 Thanks, shachaf. Thachaf. 19:34:46 `` thanks shachaf | shachaf1sum 19:34:46 6ro3on25ro57osq9s333s90o7r00s78501o4r165 - 19:35:45 int-e: why are you on dadtl 19:37:09 Because 95% of the time highlighting me here will work just fine. 19:42:18 `? dadtl 19:42:19 dadtl? ¯\(°​_o)/¯ 19:42:36 orin: dontaskdonttelllist 19:42:51 (It took me a minute to figure that out, and I had the right context.) 19:43:08 -!- tromp has quit (Remote host closed the connection). 19:43:09 I was tinking dad time line 19:43:53 ... whatever that may be. 19:46:53 -!- imode has quit (Quit: WeeChat 2.4). 19:50:50 `? hmm 19:50:51 hmm? ¯\(°​_o)/¯ 19:50:57 . o O ( "hmm" is one of the most expressive words in the english language, which is very impressive indeed because it has no vowels at all! ) 19:59:29 Heh, one of the few bits of Finnish from fungot's IRC dataset there. 19:59:29 fizzie: that seems to have separated from the srfi set.' 19:59:37 ("oli tosin fnord fnord fnord"). 20:20:23 :t tell . Endo . (:) 20:20:24 MonadWriter (Endo [a]) m => a -> m () 20:26:46 -!- tromp has joined. 20:30:55 -!- tromp has quit (Ping timeout: 246 seconds). 21:01:18 -!- arseniiv has quit (Ping timeout: 245 seconds). 21:10:48 -!- FreeFull has joined. 21:21:24 -!- tromp has joined. 21:26:08 -!- tromp has quit (Ping timeout: 255 seconds). 21:41:34 I should finish my terminal-based font editor so I don't have to use fontforge 21:42:37 AFAICT I built most of it except the save function 21:42:56 which is kind of the most important part of an editor lol 21:43:06 I guess right now it's a font viewer 21:44:52 http://www.orenwatson.be/bdfedit.htm 21:46:06 oh apparently I didn't implement adding new characters either 21:56:19 still, as a challenge I did it without using ncurses 22:20:31 -!- TellsTogo has quit (Ping timeout: 256 seconds). 22:25:33 -!- tromp has joined. 23:02:10 -!- tromp has quit (Remote host closed the connection). 23:14:38 -!- tromp has joined. 23:20:03 -!- AnotherTest has quit (Ping timeout: 245 seconds). 23:53:12 -!- tromp has quit (Remote host closed the connection). 2019-02-22: 00:06:55 -!- Lord_of_Life_ has joined. 00:09:50 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 00:09:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:10:45 -!- b_jonas has quit (Quit: leaving). 00:12:52 what kind of font are you making orin 00:15:22 kmc: I am working on a terminal/pixel font, 16 pixels tall and 9 or 18 pixels wide, supporting lots of unicode characters 00:15:50 kmc: http://orenwatson.be/fontdemo.htm 00:17:10 kmc: currently supports european languages, korean, hebrew, arabic, and devanagari, as well as a lot of japanese but not all 00:17:20 that's a lot of characters 00:18:01 kmc: 21130 so far 00:18:17 and you drew each one? 00:18:34 kmc: I drew all of the non-hangul 00:18:51 kmc: which is 9958 in total 00:19:17 orin: imo why do you have yiddish text there 00:19:17 the hangul I drew the components and wrote a program to combine them 00:19:19 more ligatures? 00:20:24 shachaf: yes iirc. it's been a year since I worked on this 00:21:07 shachaf: ideally I need a sample text with the hebrew dots to demonstrate it supports them 00:21:19 nikkudots? 00:21:45 whoa, a cross-language portmanteau 00:37:41 -!- oerjan has joined. 00:39:34 -!- tromp has joined. 00:39:34 argh 00:40:00 . o O ( He can never remember the dontaskdonttelllist, so he put it here for convenience. ) 00:40:43 int-e: don't you run lambdabot? make your own dontaskdonttelllist hth 00:43:07 shachaf: It sometimes happens that people ask lambabot related questions via @ask/@tell, for example because they are from a channel that I'm not in. So blocking @tells to me on the lambdabot side is not really feasible. 00:43:21 @help auto-reply 00:43:21 auto-reply. Lets lambda-bot auto-reply if someone sends you a message 00:44:08 -!- tromp has quit (Ping timeout: 255 seconds). 00:45:01 It's funny that this help message spells lambdabot with a hyphen. 00:45:32 > git grep lambda-bot 00:45:32 lambdabot-social-plugins/src/Lambdabot/Plugin/Social/Tell.hs: { help = say "auto-reply. Lets lambda-bot auto-reply if someone sends you a message" 00:45:34 error: 00:45:34 • Variable not in scope: git :: t0 -> t1 -> a 00:45:34 • Perhaps you meant one of these: 00:45:41 @botsnack 00:45:41 :) 00:45:45 (oops0 00:45:46 ) 01:07:33 -!- TellsTogo has joined. 01:14:27 -!- digitalcold has quit (Remote host closed the connection). 01:34:14 -!- tromp has joined. 01:38:34 -!- tromp has quit (Ping timeout: 244 seconds). 01:50:03 -!- TellsTogo has quit (Quit: Page closed). 02:32:06 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:12:40 [[Special:Log/newusers]] create * CNatcharian * New user account 03:15:07 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60023&oldid=59994 * CNatcharian * (+204) 03:22:35 -!- tromp has joined. 03:26:43 -!- tromp has quit (Ping timeout: 245 seconds). 03:28:29 ok, save function is now working. need to optimize the BBX line tho 03:30:26 -!- imode has joined. 03:31:51 once that is done, I'll be ready to stop using the bloated fontforge to design my font 04:00:48 -!- arseniiv has joined. 04:17:16 -!- tromp has joined. 04:19:33 [[Special:Log/newusers]] create * Adamthekiwi * New user account 04:23:15 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60024&oldid=60023 * Adamthekiwi * (+260) 04:23:48 -!- imode has quit (Ping timeout: 245 seconds). 04:24:45 -!- adamthekiwi has joined. 04:36:05 [[Letterbox]] N https://esolangs.org/w/index.php?oldid=60025 * CNatcharian * (+5476) Created the page 04:40:40 -!- tromp has quit (Ping timeout: 250 seconds). 04:43:29 [[Language list]] https://esolangs.org/w/index.php?diff=60026&oldid=60017 * CNatcharian * (+16) /* L */ 04:50:22 * oerjan spots a flightless bird in the channel 05:03:25 -!- adamthekiwi has quit (Ping timeout: 256 seconds). 05:08:01 -!- FreeFull has quit. 05:22:18 aha 05:22:32 revelation! 05:22:42 (of what?) 05:22:47 I have figured out how to correctly calculate the bounding box for a glyph in BDF format 05:23:00 and output the coreect hex codes 05:23:55 whcih means soon I can say o revwar to fontforge in favor of bdfedit.c 05:25:22 orin: but did you fix your build system yet twh 05:25:31 no 05:25:55 but none of my font revisions after this one will include fontforge's obnoxious 05:25:58 COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" 05:26:05 in the font file 05:26:35 with reference to sourceforge, the notorious malware site 05:28:09 instead I will be editing my font with a glorious C terminal program 05:39:24 http://orenwatson.be/bdfedit.htm 05:39:32 still need to fully test it 05:42:41 `unicode 其 05:42:43 U+5176 CJK UNIFIED IDEOGRAPH-5176 \ UTF-8: e5 85 b6 UTF-16BE: 5176 Decimal: 其 \ 其 (其) \ Uppercase: U+5176 \ Category: Lo (Letter, Other) \ Bidi: L (Left-to-Right) 05:47:37 https://imgur.com/slDzqqc 05:47:50 ^ character now drawn using bdfedit.c 05:51:36 downloaded the bdf file to verify that it is valid and the character is in fact present 05:56:33 converted to TTF using my bdf2ttf.c and vwala! it shows up in my font! 05:57:37 end to end test is great success! 05:59:23 `unicode .. 05:59:24 U+002E FULL STOP \ UTF-8: 2e UTF-16BE: 002e Decimal: . \ . \ Category: Po (Punctuation, Other) \ Bidi: CS (Common Number Separator) \ \ U+002E FULL STOP \ UTF-8: 2e UTF-16BE: 002e Decimal: . \ . \ Category: Po (Punctuation, Other) \ Bidi: CS (Common Number Separator) 06:06:15 -!- tromp has joined. 06:11:16 -!- tromp has quit (Ping timeout: 272 seconds). 06:16:13 `unicode 😍 06:16:14 U+1F60D SMILING FACE WITH HEART-SHAPED EYES \ UTF-8: f0 9f 98 8d UTF-16BE: d83dde0d Decimal: 😍 \ 😍 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) 06:56:05 -!- adamthekiwi has joined. 06:56:14 howdy 07:03:54 -!- oerjan has quit (Quit: Nite). 07:12:37 -!- adamthekiwi has quit (Ping timeout: 256 seconds). 08:17:07 -!- tromp has joined. 08:31:52 kmc++ 08:47:35 -!- AnotherTest has joined. 08:48:52 -!- b_jonas has joined. 08:48:57 `? fonts 08:48:58 ​#esoteric bitmap fonts include: \oren\'s font http://www.orenwatson.be/fontdemo.htm , lifthrasiir's font https://github.com/lifthrasiir/unison/ , b_jonas's font http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz , fizzie's font https://github.com/fis/rfk86/tree/master/web/font , FireFly's fonts http://xen.firefly.nu/up/fonts/ 08:49:05 kmc: ^ orin's is among there 08:57:51 -!- tromp has quit (Remote host closed the connection). 09:31:26 -!- tromp has joined. 09:42:07 -!- LKoen has joined. 09:51:37 -!- b_jonas has quit (Quit: leaving). 10:02:35 -!- AnotherTest has quit (Ping timeout: 255 seconds). 10:15:05 -!- rodgort has quit (Quit: Leaving). 10:16:33 -!- AnotherTest has joined. 10:22:23 -!- rodgort has joined. 10:26:47 -!- xkapastel has joined. 10:29:52 -!- AnotherTest has quit (Ping timeout: 246 seconds). 10:47:47 -!- danieljabailey has quit (Ping timeout: 244 seconds). 11:08:11 [[]] https://esolangs.org/w/index.php?diff=60027&oldid=59878 * Salpynx * (+114) /* 99 Bottles */ better output 11:10:54 [[]] https://esolangs.org/w/index.php?diff=60028&oldid=60027 * Salpynx * (+22) /* External resources */ TC proof example link update and TC category 11:29:09 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 11:34:34 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60029&oldid=60004 * Salpynx * (+182) /* */ 11:45:38 `unicode א 11:45:39 U+05D0 HEBREW LETTER ALEF \ UTF-8: d7 90 UTF-16BE: 05d0 Decimal: א \ א \ Category: Lo (Letter, Other) \ Bidi: R (Right-to-Left) 11:45:46 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60030&oldid=60029 * Salpynx * (+587) /* The Waterfall Model */ 12:07:15 -!- Lord_of_Life_ has joined. 12:10:50 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:10:50 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:22:33 [[Aheui]] https://esolangs.org/w/index.php?diff=60031&oldid=58459 * Puzzlet Chung * (-85) /* External resources */ 12:43:15 -!- Essadon has joined. 12:43:41 -!- Essadon has quit (Max SendQ exceeded). 12:44:05 -!- Essadon has joined. 13:24:37 -!- AnotherTest has joined. 14:26:29 -!- xkapastel has quit (Quit: Connection closed for inactivity). 14:49:30 -!- danieljabailey has joined. 14:58:06 -!- xkapastel has joined. 15:33:33 -!- sleepnap has joined. 16:10:07 [[Talk:Onov]] N https://esolangs.org/w/index.php?oldid=60032 * AIden * (+146) Created page with "This seems difficult to understand. Maybe you could add a picture? --~~~~" 16:19:03 shachaf: hichaf 16:50:25 -!- bobby has quit (Quit: bye bye). 17:10:30 -!- sleepnap has quit (Ping timeout: 252 seconds). 17:20:26 -!- arseniiv has quit (Ping timeout: 255 seconds). 17:23:13 -!- sleepnap has joined. 18:16:29 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:18:10 -!- CNatch has joined. 18:20:14 \HELP 18:23:03 -!- FreeFull has joined. 18:23:08 `relcome CNatch 18:23:10 ​CNatch: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 18:24:41 -!- CNatch has quit (Ping timeout: 256 seconds). 18:26:31 kmc: higan 18:27:36 hello 18:27:38 wh'ts new 18:28:11 -!- danieljabailey has quit (Ping timeout: 246 seconds). 18:28:14 fungot: new? 18:28:14 int-e: and hr definitely tells you something 18:28:42 int-e: since when do you relcome tdnh 18:29:43 shachaf: I've done that on occasion, when I'm not in the mood for `wElCoMe or `WeLcOmE 18:29:52 `welcom 18:29:52 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: welcom: not found 18:30:02 that's clearly an oversight 18:30:04 `elcome 18:30:09 elcome o he nternational ub or soteric rogramming anguage esign nd eployment! or ore nformation, heck ut ur iki: . (or he ther ind f soterica, ry #soteric n Fnet r ALnet.) 18:30:45 #soteric? 18:30:52 `cbt elcome 18:30:53 welcome "$@" | sed s/\\\<.//g 18:34:29 @google "two time pad" 18:34:30 https://crypto.stackexchange.com/questions/2249/how-does-one-attack-a-two-time-pad-i-e-one-time-pad-with-key-reuse 18:35:21 that sounds unhygienic 18:35:33 :) 18:35:41 and it's also bad crypto 18:36:32 Is there something like OTP but less malleable? 18:38:16 Sure... add a message authentication code. 18:43:06 OK, but some ways of encrypting things are malleable even without MACs. 18:43:44 +less? 18:44:15 Uh, yes. 18:44:33 I mean, xor is pretty much a worst-case scenario. 18:44:42 you can also use your favourite cipher to mix the bits thoroughly before using the OTP 18:45:16 I guess that's true. 18:45:38 Also ciphers are passé. It's all about unkeyed permutations nowadays. 18:46:08 Bascially any nonlinear map, or possibly even a secret linear map (GCM seems to be using such a beast) 18:48:13 https://gimli.cr.yp.to/ 18:49:53 -!- b_jonas has joined. 18:53:32 you attack it by adding them mod whatever 18:53:40 which gives you the modular sum of two plaintexts 18:53:46 which you can attack with frequency analysis or w/e 19:11:22 shachaf: how does that work? is the key part of the plaintexT? 19:12:45 shachaf: xor in itself isn't bad if you use it properly. and these days you don't have to carry long one-time pads either, because we have good methods to generate arbitrarily long crypto secure pseudo-random sequences and xor your things with it. 19:13:20 You still have to make sure never to resuse the same part of the sequence, but that's still true even if you use something more complicated than xor, xor just might be slightly more trivial to attack if you do that than other schemes. 19:13:23 that's just a stream cipher 19:13:25 with a nonce 19:13:32 kmc: yes, exactly 19:14:12 You still have to be careful about following the protocols, and getting the key to the other party securely but never divulging it otherwise, and using proper secure random generators to get a key. 19:14:25 yep 19:16:00 kmc: https://gimli.cr.yp.to/gimli-20170627.pdf 19:16:07 Jules Verne's ''La Jangada'' is an example for what people did back when they didn't have such a nice crypto-secure key-extension scheme, so they just reused the same very short key repeated over and over in the same long message. 19:16:35 shachaf: I don't have time to read a paper rn 19:16:36 That is a bad way to do crypto, and in fact the outcome in the novel is that the crypto is eventually broken. 19:16:44 yeah 19:16:54 Mind you, it wasn't so easy to use good crypto before computers. 19:17:22 b_jonas: I think an electromechanical device like Enigma could be made nearly as secure as modern computer-based ciphers 19:17:30 but the theory to do so did not exist back then 19:17:39 also it might have to be prohibitively expensive / large 19:17:40 I'm not sure 19:17:57 * kmc ponders how to implement Salsa20 with gears and shit 19:17:58 kmc: the Enigma wasn't secure, as history shows, and I don't think it was reasonably possible either back in the 19th century when Verne wrote those books 19:18:17 I also want to try doing it by hand 19:18:36 b_jonas: I know it wasn't secure, due to algorithmic design flaws 19:18:55 but I don't think it's fundamentally impossible to implement a secure cipher that way 19:19:00 I have also not thought about it in detail. 19:19:29 kmc: I don't know if that'd be possible or not. I always think that crypto requires a bit more computation than you can do that way, but I'm not sure. 19:19:40 I mean it wouldn't be particularly fast 19:19:44 but the operations can be simple 19:19:53 for Salsa20 you need 32-bit xor, 32-bit addition, and bitwise rotations 19:20:15 mechanical calculators existed, xor is even easier, rotations are trivial 19:20:27 you could at the very least make a mechanical or electromechanical device that helps working Salsa20 by hand 19:20:33 by implementing the basic ops 19:21:08 well, that book has an unusually long message ciphered, it might be more practical to do something like that for very short messages, and those are still helpful in a war, like the original intent of the Enigma machines was 19:21:19 yeah 19:21:26 they also made many operational mistakes with the enigma 19:22:28 It's so long that I think the novel doesn't even quote the whole multi-page document, only the last paragraph. 19:22:38 -!- grumble has changed nick to `-_-`grumble. 19:23:00 kmc: well, there's the problem that you have to remember the secret key, but it's a war and you might be killed without having time to destroy physical evidence 19:23:06 so that can be a bit tricky 19:23:34 yeah 19:23:41 it could be done if the soldiers using the machines were required to learn like a 160-bit secret key by heart, but it's not trivial 19:24:08 for salsa32 you also need a 512 bit storage 19:24:10 which is not trivial 19:24:33 yeah, if they write temporary values on a sheet of paper, then they need to burn those sheets of papers properly 19:24:53 yeah 19:25:10 * kmc ponders lunch 19:27:57 That's not the only novel of Jules Verne that features cryptography. There are two more. 19:28:55 ''Mahtias Sandorf'' is another: in that one the crypto is broken because someone steals the physical copy of the key by a social engineering attack. 19:31:01 And yes, the first one is ''Voyage au centre de la Terre'', which uses even more insecure crypto than ''La Jangada'' 19:31:48 Though that was admittedly a feature: A. S. wanted the message to be found and read in the future. 19:32:27 He just wanted to hide it a little because the inquisition was burning all his writings. 19:36:10 -!- `-_-`grumble has changed nick to grumble. 20:03:18 hmm 20:04:42 ``` welcome | perl -pe's/[a-z]\b//g' # int-e: let me try that 20:04:43 Welcom t th internationa hu fo esoteri programmin languag desig an deploymen! Fo mor informatio, chec ou ou wik: . (Fo th othe kin o esoteric, tr #esoteri o EFne o DALne.) 20:05:06 huh what... that doesn't seem right 20:05:11 oh I see 20:05:17 it's actually https and esolangs 20:05:27 I was wondering why it didn't remove the p from the http and the g from the esolang 20:12:48 -!- imode has joined. 20:24:17 I'm working on this ChaCha20-by-hand 20:24:55 so far I've made a table for 8 bit addition (with carry-out) 20:25:33 the goal is to have a number of tables and worksheets so that you can do it fairly quickly w/o thinking very much 20:26:29 working on 32 bit words as hex 20:26:32 I think this is p. esoteric 20:26:54 addition you can do with the grade school algorithm + a 4 or 8 bit addition table 20:27:05 xor is easy to do nibble-wise 20:29:42 -!- tromp has quit (Remote host closed the connection). 20:31:22 kmc: I know I can do addition and bitshift and all the other operations by hand, the question is more like how many of them you need for the crypto. 20:31:37 because, you know, I can do an addition by hand, but the computer can do a billion of them 20:31:41 rotation is a bit harder, might need to convert to binary and back. I haven't thought about a clever way to do that 20:31:52 b_jonas: are you knowledgable about the ChaCha20 algorithm? 20:32:01 no 20:32:45 each quarter-round has four additions, four XORs, and four rotations 20:33:03 (and two of the rotations are multiples of 8, which makes things easier) 20:33:20 and sure, usually I do additions and multiplications to only one and a half digit precision, but I know how to do them more precisely if I have to 20:33:28 and there are 20 rounds 20:33:46 -!- tromp has joined. 20:33:51 kmc: four additions of what word length? 20:34:00 32 bits 20:34:07 it's all 32 bit math 20:34:17 kmc: ok 20:36:41 so that's 960 32-bit operations per block, and each block gives you 512 bits 20:37:46 optimistically it could take 3 hours of nonstop work, which... okay, it's a lot 20:38:13 and i don't think it can really be parallelized, but you could have several people take turns 20:38:16 kmc: that could be done, but there's not much point these days, because a small electronic device can do it too 20:38:26 point? this is #esoteric 20:38:35 sure 20:38:49 so do it with a mechanical computer 20:38:54 I might! 20:39:01 if you use baudot code then 512 bits gives you about 100 characters, which is a pretty good size message 20:39:26 -!- xkapastel has joined. 20:39:37 that always reminds me of Mojo Jojo's speech, when he says "not with mechanical machines" and "with my own two hands" 20:39:46 b_jonas: I'm interested in secure communications after an EMP or other catastrophic event which renders most electronics unusable or difficult to find 20:39:52 it's a proof o concept 20:39:56 i'm sure it could be done more efficiently 20:40:11 you could also simply use fewer rounds, if you don't expect a high capability attacker 20:40:39 kmc: but I said *small* electronic device. even after an EMP some of those would survive. an older electronic calculator from the eighties. 20:40:49 sure 20:41:02 or from the nineties 20:41:07 ultimately it is an arbitrary constrained problem for fun 20:41:11 sure 20:41:33 hmm, now I have to rewatch that speech 20:41:47 which? 20:42:36 the one in the Powerpuff Girls episode "Mr. Mojo's Rising", where Mojo Jojo does a strange victory speech on the particular way he's defeated the Powerpuff Girls 20:43:17 heh 20:43:17 https://powerpuffgirls.fandom.com/wiki/Mr._Mojo%27s_Rising/Transcript has a transcript of the episode, the speech starts at "YES!! I have defeated the Powerpuff Girls!" 20:43:28 episode title's a reference to a The Doors song :) 20:43:31 but it's better with the actual audio and video 20:43:37 which you can also find on the internet 20:44:27 RC4 takes only 6ish byte operations per output byte 20:44:31 but RC4 is pretty well broken 20:47:03 and then there's a second, shorter monologue at the end of the episode. Mojo Jojo is good in those. 20:47:56 -!- S_Gautam has joined. 20:48:06 and he actually says "bare hands" rather than "two hands" 20:48:13 ironic because he always wears gloves 20:49:45 -!- tromp has quit (Remote host closed the connection). 20:51:12 -!- aeyxa has joined. 21:05:06 -!- Camto has joined. 21:09:02 -!- aeyxa has quit (Quit: Page closed). 21:14:56 did you ever see this wooden adder? https://hackaday.com/2009/10/13/binary-adder-will-give-you-slivers/ 21:17:24 kmc: that's just a third-part article about Matthias Wandel's adder 21:17:57 http://woodgears.ca/marbleadd/ 21:19:05 -!- S_Gautam has quit. 21:19:16 kmc: I've also seen a water adder with no moving parts other than water and air in the pipes, but I'm not sure if it actually worked. it was exhibited in the Technisches Museum Wien, in a way that it didn't work, and it may have worked but the setup was a suspiciously plausibly deniable one 21:19:31 which really looked like they rigged up to save face after they promised a water adder but couldn't get it work. 21:19:37 I saw water based gates as an old MIT project 21:20:16 I think it's possible to make such a thing work in principle, but they would have needed several more iterations of debugging and glassblowing, and just ran out of time. 21:21:11 It could add zero plus zero reliably though. 21:29:25 -!- tromp has joined. 21:32:15 -!- Camto has quit (Ping timeout: 256 seconds). 21:33:47 -!- tromp has quit (Ping timeout: 255 seconds). 21:41:51 There's the https://en.wikipedia.org/wiki/MONIAC but that's quite different. 21:42:11 The first photo looks really familiar, but they say it's in New Zealand, and I haven't been there. 21:43:02 (I guess they could've had it do a tour in some other museum, though it doesn't look that portable.) 21:43:48 fizzie: no, I don't think it's related 21:44:18 Oh, they've built several. 21:44:18 -!- tromp has joined. 21:44:28 http://collection.sciencemuseum.org.uk/objects/co64127/phillips-economic-computer-analog-computer is in the Science Museum here. 21:44:42 fizzie: http://math.bme.hu/~ambrus/pu/adder 21:45:05 sorry, it's not a very good picture 21:57:00 -!- tromp has quit (Remote host closed the connection). 22:03:40 -!- tromp has joined. 22:33:45 -!- Remavas has joined. 22:34:07 -!- Remavas has changed nick to Remavas[AFK]. 22:35:05 -!- Remavas[AFK] has quit (Client Quit). 22:40:24 -!- Remavas has joined. 22:44:35 -!- Remavas has quit (Remote host closed the connection). 22:45:00 -!- Remavas has joined. 23:13:18 -!- Remavas has changed nick to Remavas[AFK]. 23:15:50 -!- AnotherTest has quit (Ping timeout: 258 seconds). 23:18:48 -!- Remavas[AFK] has changed nick to Remavas. 23:20:13 I have a idea of esolang that you can move a cursor and put black and white Go stones onto a infinite grid; if a stone is already there nothing happens, but otherwise you can attach a event code to the stone added and it is executed when that stone is captured. (I think you can make a tape out of this) 23:20:36 that's cool 23:24:47 -!- b_jonas has quit (Quit: leaving). 23:27:54 [[Aheui]] https://esolangs.org/w/index.php?diff=60033&oldid=60031 * Puzzlet Chung * (+13) /* External resources */ 23:28:01 -!- Camto has joined. 23:35:37 -!- Remavas has changed nick to Remavas[AFK]. 23:39:11 -!- Camto has quit (Ping timeout: 256 seconds). 2019-02-23: 00:07:59 -!- oerjan has joined. 00:08:29 -!- Lord_of_Life_ has joined. 00:11:11 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 00:11:18 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:19:39 -!- tromp has quit (Remote host closed the connection). 00:48:06 -!- Remavas[AFK] has changed nick to Remavas. 00:59:18 -!- tromp has joined. 01:03:47 -!- tromp has quit (Ping timeout: 245 seconds). 01:14:23 -!- aeyxa has joined. 01:15:34 https://twitter.com/x86instructions/status/1099115314766401536 "JTNJ - Jump To Next JTNJ" 01:27:22 -!- imode has quit (Ping timeout: 250 seconds). 01:30:58 -!- Remavas has changed nick to Remavas[AFK]. 01:39:20 `words --opcode 10 01:39:21 VFNMADDUP CLFLUSHF VFMADD132SD VPROL VCMPNE SCATTERNLOGD RDTSC VPCMPLT_OQPS VPXORW VCVTSS 01:41:07 (Unfortunately I uppercased those for æsthetic reasons, which means they can't be meaningfully interpolated with any of the other `words which are all lowercase.) 01:42:06 -!- sprocklem has quit (Ping timeout: 250 seconds). 01:43:44 -!- sprocklem has joined. 01:45:49 `words 01:45:50 elingth 01:47:43 `words --finnish 10 01:47:44 hansaittamassanoittele edustaamille lakseltansa raamme kuvittamallas hattomaa ohjaamaksentä afganisimmiltani korviltani myksemmetenkiehuville 01:47:59 -!- sleepnap has left. 01:48:40 `words --polish 5 01:48:41 zmetyczny nieokładowolutowa radiofalokorpcy eurowuję rozprę 01:49:01 -!- FreeFull has quit. 01:51:19 fizzie: I like --opcode :D 01:51:28 `words --opcode 15 01:51:29 PSUBSB MOVUPS VGATHERDPD VCVTDQ VCMP CMOVQW MOVNZ KSHIFTRW VUNPCKLDQ KSHIFTRW VCMPGE VPSRAVD HINT VRCPPS SHADDB 01:51:47 It's a little too prone to actually generating existing opcodes. 01:51:55 yeah 01:51:58 like movups 01:52:17 or RDTSC before 01:52:18 I took the data from the http://zem.fi/2014-04-05-opquiz thing. 01:52:18 and RDTSC from the previous batch 01:52:52 That one has a 1:1 ratio of existing to nonexisting opcodes, assuming no bugs. 01:53:10 hey, I got an acknowledgement 01:53:30 i don't remember making that suggestion but it sounds like the kind of thing I would say 01:53:45 I didn't remember you had anything to do with it either, but apparently so. 01:53:52 -!- Remavas[AFK] has quit (Quit: Leaving). 01:53:55 -!- tromp has joined. 01:54:37 http://esolangs.org/logs/2014-03-27.html#lAf 01:55:02 VFNMADD231SD is real o_O 01:55:04 smh 01:55:54 They have a bunch of opcodes with variants named 132/213/231 depending on which operand means what. 01:56:03 mm, I was wondering about that 01:56:08 VPCLMULHQLQDQ is quite a mouthful as well 01:57:48 The x86 list is from NASM, https://www.nasm.us/doc/nasmdocb.html -- although I don't think they had such a nice list available before, I pulled it from the code. 01:58:23 -!- tromp has quit (Ping timeout: 255 seconds). 02:09:33 BB0_RESET. 0F3A. N/A. Reset the BLT Buffer 0 pointer to the base. - come again? 02:10:03 ais523: Were you the person who suggested something like, there should be a kind of struct in C that can only exist as an lvalue, not an rvalue? 02:11:43 These Geode things are messy. 02:12:40 `? geode 02:12:41 geode? ¯\(°​_o)/¯ 02:13:08 I'm playing fizzie's quiz and this is the second Geode-only instruction that messes me up. 02:13:31 Oh, that. 02:14:48 Correct: 39/50... third attempt. I don't think I can do much better without an extraordinary amount of luck; I'm guessing about half of the time. 02:15:12 > 0.75*50 02:15:14 37.5 02:17:48 (It's really more than half of the time... for most of the vector instructions I just try to find a plausible reading of the so-called mnemonic.) 02:20:24 https://en.wikipedia.org/wiki/Geode_(processor) - seems it's pretty much dead as well. 02:21:57 Does ARM suffer from this, I wonder? Vendors adding their own instructions to accomodate custom functionality? 02:32:52 -!- moei has quit (Ping timeout: 258 seconds). 02:33:51 -!- moei has joined. 02:34:35 [[Assembly language]] https://esolangs.org/w/index.php?diff=60034&oldid=60013 * A * (-35) /* Machine code interpreter */ 02:41:19 [[Assembly language]] https://esolangs.org/w/index.php?diff=60035&oldid=60034 * A * (+239) /* Examples */ 02:47:25 [[Assembly language]] https://esolangs.org/w/index.php?diff=60036&oldid=60035 * A * (+246) /* Examples */ 02:48:05 [[Assembly language]] https://esolangs.org/w/index.php?diff=60037&oldid=60036 * A * (+37) /* Examples */ 02:53:50 [[Assembly language]] https://esolangs.org/w/index.php?diff=60038&oldid=60037 * A * (+175) /* 99 bottles of beer program */ 03:04:26 -!- Essadon has quit (Quit: Qutting). 03:15:04 [[Assembly language]] https://esolangs.org/w/index.php?diff=60039&oldid=60038 * A * (+23) /* 99 bottles of beer program */ 03:19:08 -!- MDude has quit (Ping timeout: 246 seconds). 03:34:21 -!- aeyxa has quit (Ping timeout: 256 seconds). 03:41:53 -!- tromp has joined. 03:46:17 -!- tromp has quit (Ping timeout: 245 seconds). 04:19:53 [[OwoScript]] N https://esolangs.org/w/index.php?oldid=60040 * Finianb1 * (+5342) Add owoscript 04:23:57 -!- aeyxa has joined. 04:50:18 -!- S_Gautam has joined. 05:03:27 [[Stoned-Go]] N https://esolangs.org/w/index.php?oldid=60041 * Zzo38 * (+2150) Created page with "[[Category:Languages]][[Category:2019]] [[Stoned-Go]] is a esoteric program language involving Go stones on a infinite grid, which is initially empty. In addition to the grid..." 05:03:51 [[Stoned-Go]] https://esolangs.org/w/index.php?diff=60042&oldid=60041 * Zzo38 * (+19) 05:05:25 [[Stoned-Go]] https://esolangs.org/w/index.php?diff=60043&oldid=60042 * Zzo38 * (+255) 05:05:58 Is the new article I added on esolang wiki good yet? 05:09:47 [[list of lists that do not include themselves]] 05:29:50 -!- tromp has joined. 05:34:23 -!- tromp has quit (Ping timeout: 255 seconds). 05:38:27 -!- aeyxa has quit (Ping timeout: 256 seconds). 05:39:09 -!- xkapastel has quit (Quit: Connection closed for inactivity). 05:39:35 -!- aeyxa has joined. 06:00:31 -!- arseniiv has joined. 06:13:12 I think that a tape can easily be made up with [[Stoned-Go]], although making conditions and loops and stuff (other than the loop of the entire program) seem may be a bit more difficult to do (although maybe it is easy too, but I have not thought of it; I only say a tape is easily because I have already thought of it) 06:23:05 [[OwoScript]] https://esolangs.org/w/index.php?diff=60044&oldid=60040 * Oerjan * (+4) reduction to -> reduction from 06:27:00 i think the last time i tried to correct such an error, it was i who got it wrong 06:27:33 try reduction out of hth 06:28:37 if you use a confusing enough preposition no one will know what you mean so they'll just fill in the one that makes sense 06:33:29 i don't know what you're talking between 06:37:05 probably between two walls 06:54:36 definitely like talking notwithstanding the wall 06:59:58 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 07:18:06 -!- tromp has joined. 07:22:42 -!- tromp has quit (Ping timeout: 250 seconds). 07:37:09 -!- gurmble has joined. 07:40:36 -!- nfd has quit (Excess Flood). 07:40:36 -!- copumpkin has quit (Excess Flood). 07:40:36 -!- grumble has quit (Quit: fire's in your eyes, and this chaos, it defies imagination). 07:41:07 -!- gurmble has changed nick to grumble. 07:42:37 -!- copumpkin has joined. 07:44:32 ^scramble grumble 07:44:32 gubelmr 07:51:14 -!- oerjan has quit (Quit: Nite). 08:00:59 -!- aeyxa has quit (Quit: Page closed). 08:23:44 -!- sleffy has joined. 08:23:44 -!- sleffy has quit (Client Quit). 08:44:43 -!- tromp has joined. 09:14:34 -!- tromp has quit (Remote host closed the connection). 09:16:02 -!- tromp has joined. 09:42:08 -!- AnotherTest has joined. 09:45:56 -!- LKoen has joined. 10:04:59 [[Special:Log/newusers]] create * Kantoros1 * New user account 10:50:38 -!- b_jonas has joined. 11:01:27 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60045&oldid=60024 * Kantoros1 * (+317) Introduced myself 11:04:58 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 12:09:09 -!- Lord_of_Life_ has joined. 12:11:14 -!- xkapastel has joined. 12:12:28 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 12:12:28 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:15:33 -!- LKoen has joined. 14:14:00 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 14:20:49 -!- xkapastel has quit (Quit: Connection closed for inactivity). 14:22:54 -!- FreeFull has joined. 14:23:11 -!- xkapastel has joined. 14:23:32 -!- tromp has quit (Remote host closed the connection). 14:33:50 -!- danieljabailey has joined. 14:52:52 -!- lambdabot has quit (Remote host closed the connection). 14:55:40 -!- lambdabot has joined. 15:04:16 -!- tromp has joined. 15:08:47 -!- tromp has quit (Ping timeout: 268 seconds). 15:09:40 -!- tromp has joined. 15:38:32 ^scramble scramble 15:38:32 srmlebac 15:38:38 ^srmlebac srmlebac 15:38:38 smeacblr 15:38:45 I was hoping for that to be consistent. 15:39:30 (I guess it's just an alias.) 15:41:16 ^smeacblr scramble 15:44:38 ^show 15:44:38 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list ping def a thanks tmp2 8ball rreree rerere botsnack bf 15:44:48 ... srmlebac uenlsbcmra scramble unscramble ... 15:46:41 -!- aloril_ has joined. 15:50:20 -!- aloril has quit (Ping timeout: 272 seconds). 15:57:21 -!- Remavas has joined. 16:00:04 -!- Remavas has changed nick to Remavas[AFK]. 16:06:08 -!- aloril__ has joined. 16:09:38 -!- aloril_ has quit (Ping timeout: 250 seconds). 16:12:26 -!- Remavas[AFK] has changed nick to Remavas. 16:17:27 -!- FreeFull has quit (Quit: Kernel update). 16:18:19 -!- FreeFull has joined. 16:30:48 -!- xkapastel has quit (Quit: Connection closed for inactivity). 16:44:37 -!- arseniiv has quit (Ping timeout: 246 seconds). 17:14:10 -!- Remavas has quit (Quit: Leaving). 17:33:22 -!- danieljabailey has quit (Ping timeout: 245 seconds). 18:21:39 -!- xkapastel has joined. 18:27:26 [[Stoned-Go]] https://esolangs.org/w/index.php?diff=60046&oldid=60043 * Zzo38 * (+71) 18:50:17 I have added a command into Glasm for preventing the ROM size from shrinking after a specified phase; sometimes if this is not done then the addresses will not stabilize, and will result in a "too many phases" error. But, is there a better way, or is it inevitable? 19:04:19 -!- MDude has joined. 19:24:07 -!- Phantom_Hoover has joined. 20:01:37 I added copy and paste commands to my font editor 20:02:00 and the ability to shift the bitmap in up down left and right 20:32:23 -!- aeyxa has joined. 20:43:31 [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=60047&oldid=60019 * Cortex * (+434) 20:45:59 OK, that is good, then 20:47:21 What font editor is that? What file format(s) can it use? Can .pcf be used? Can other formats be used? 20:53:15 [[Language list]] https://esolangs.org/w/index.php?diff=60048&oldid=60026 * Cortex * (+21) 20:59:09 [[Pizza Delivery]] https://esolangs.org/w/index.php?diff=60049&oldid=60047 * Cortex * (+48) 21:09:03 -!- Cale has quit (Ping timeout: 264 seconds). 21:18:15 -!- MDead has joined. 21:18:54 -!- tromp has quit (Remote host closed the connection). 21:18:58 -!- xkapastel has quit (Quit: Connection closed for inactivity). 21:20:38 -!- MDude has quit (Ping timeout: 246 seconds). 21:20:40 -!- MDead has changed nick to MDude. 21:21:33 -!- Cale has joined. 21:35:26 -!- danieljabailey has joined. 21:37:23 -!- 7GHAAAWSQ has joined. 22:23:47 -!- danieljabailey has quit (Ping timeout: 245 seconds). 22:55:52 > sort "Hello" 22:55:54 "Hello" 22:56:08 It took me way to long to realise why my sorting algorithm didn't seem to be doing anything 23:01:50 lol 23:02:18 that's what you get for using proper capitalization 23:04:13 haha 23:14:48 -!- bobby has joined. 23:15:20 -!- xkapastel has joined. 23:19:46 > sort "olleH" 23:19:48 "Hello" 23:24:28 I have 410 words in /usr/share/dict/words which are in ASCIIbetical order (after removing capitalized words) 23:25:49 I was just wondering how many words are already sorted 23:26:45 the longest of which is 'billowy' 23:26:51 > sort "ywollib" 23:26:53 "billowy" 23:27:11 I've got a bigger dictionary, and get "aegilops" 23:27:23 i don't know that word 23:27:49 the shortest one is... 'a' 23:27:51 It's a kind of grass 23:28:49 Hmm, I think my bogobogosort implementation is broken, it's too slow 23:35:41 bogobogosort? 23:37:23 http://dangermouse.net/esoteric/bogobogosort.html 23:39:21 https://arin.ga/NFZmWv is my code (in Haskell, for GHC 8.6 with vector and random libraries) 23:40:18 "run overnight, did not finish" 23:56:05 -!- Remavas has joined. 23:56:18 -!- AnotherTest has quit (Ping timeout: 264 seconds). 23:58:55 -!- aeyxa has quit (Ping timeout: 256 seconds). 2019-02-24: 00:04:56 @wn aegilops 00:04:57 *** "aegilops" wn "WordNet (r) 3.0 (2006)" 00:04:57 Aegilops 00:04:58 n 1: goat grass [syn: {Aegilops}, {genus Aegilops}] 00:05:05 Wordnet puts that in uppercase. 00:08:59 -!- Lord_of_Life_ has joined. 00:12:05 Opportunistically combining two topics in one, the longest in-order x86 opcodes are 5 letters; there are several (addps, addss, cmovz, cmpps, cmpss, cmpsw, kmovw, knotw, loopz). 00:12:08 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 00:12:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:14:28 (And in fact it's the same length for all the architectures I had in the opcode quiz, unless you also count MMIX's "16addu".) 00:15:10 opcode quiz? 00:15:27 We were talking about it yesterday, http://zem.fi/2014-04-05-opquiz 00:15:48 oh neat 00:17:07 I'm not good at this 00:17:26 I'm generally not much better than chance. 00:17:51 I'm worse than coin-flips 00:17:56 I'm not sure what this tells me 00:18:19 whoa, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0593r3.html 00:18:30 A lot more things are technically UB in C++ than I thought? 00:18:47 shachaf: oh yeah, basically everything 00:19:17 -!- Remavas has quit (Read error: Connection reset by peer). 00:19:25 -!- Remavas-Hex has joined. 00:20:25 I would've thought that struct T { int a, b; }; T *p = (T *)malloc(sizeof (T)); p->a = 5; ... would be OK. 00:23:21 C++, or as I like to call it, C plus UB 00:23:45 -!- Remavas-Hex has changed nick to Remavas-Hex[AFK]. 00:24:39 what is C++'s deal 00:53:36 -!- 7GHAAAWSQ has quit (Remote host closed the connection). 01:07:29 shachaf: because you didn't check the malloc for null 01:07:47 No, even when malloc succeeds. 01:07:53 shachaf: supposedly malloc is allowed to return null I think 01:08:06 http://wg21.link/p0593 01:10:15 shachaf: wait, so malloc-ing any complex type is UB in C++? I'm glad the g++ dev's aren't stupid enough to take advantage of that UB by removing the entire function when that is done 01:10:27 If you don't placement new it or something, apparently? 01:13:11 augh 01:13:29 maybe i'll just give up on c++ hth 01:13:37 huge amounts of technically undefined C++ code exist in my codebase 01:14:02 don't worry, only its behavior is undefined 01:16:00 because a lot of code relies on being able to mmap arrays of structs and then read them 01:23:03 shachaf: ironically that issue was raised, but apparently not addressed, in 2014... http://open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#1116 ("Additional note, February, 2014") 01:23:38 also... that page is huge. 01:24:49 int-e: so: scrap c++ and go back to c? 01:24:57 or a different language 01:25:00 please advise 01:25:36 try some avr assembly 01:25:59 * int-e could dust off his arduino... hmm... nah. 01:27:02 You can just give up the illusion of ever writing portable C++ code. 01:27:18 how about a language where the compiler+standard don't fight me 01:27:20 twh 01:30:34 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:33:10 -!- tromp has joined. 01:38:08 -!- tromp has quit (Ping timeout: 255 seconds). 01:51:48 -!- tromp has joined. 01:52:15 -!- tromp has quit (Remote host closed the connection). 01:52:30 -!- tromp has joined. 01:53:56 -!- tromp has quit (Remote host closed the connection). 01:55:25 -!- tromp has joined. 01:56:36 -!- tromp has quit (Read error: Connection reset by peer). 01:57:03 -!- tromp has joined. 02:01:17 -!- tromp has quit (Ping timeout: 245 seconds). 02:10:50 -!- oerjan has joined. 02:15:21 -!- salpynx has joined. 02:20:33 You can try other assembly language too 02:20:45 zzo38: I'd like to write moderately portable programs, though. 02:20:54 I mean, I know you don't really need anything except MMIX. 02:21:37 Yes, then you can use C, or you can write a program for a portable VM (Z-machine, Glulx, NES/Famicom emulators, etc) 02:22:22 Oh, right. 02:22:33 I can just write all my programs for NES/Famicom 02:22:41 Do you like this? 02:22:48 -!- Remavas-Hex[AFK] has quit (Quit: Leaving). 02:23:09 Depend on the program. It is especially good for many kind of game programs, at least. 02:23:57 What about the kind of game programs that do 3D rendering at 1920x1080 at 60fps? 02:25:44 -!- danieljabailey has joined. 02:25:49 Then the resolution is too much for NES/Famicom. (Although also many game is having 3D rendering even without 3D game play geometry, which seems an unnecessary use of 3D rendering to me, in most cases) 02:26:17 That's true. 2D games are usually better. 02:26:35 I want a game that has two space dimensions and one time dimension, visualized as a third space dimension. 02:26:38 Do you like this? 02:27:49 You could try to make up some kind of game that does that if you want to do, and then see if it is good or isn't. 02:28:20 Yes. 02:31:53 shachaf: Let's make CDB == "C with Defined Behaviour". just enumerate all types of undefined behaviour in C, and define it 02:32:20 shachaf: I'd love to say that no sane compiler would ever optimize code based on that kind of undefined behavior... but I would have said the same thing about the x + y < x test for overflows (where y is known to be nonnegative) :-( 02:32:21 didn't someone do that 02:32:54 oerjan: gcc, quite infamously 02:33:05 int-e which is why both my company and the linux kernel use -fwrapv option 02:33:08 because the compiler writers didn't back down. 02:33:11 um my response was to orin 02:33:19 oerjan: ah sorry. 02:33:27 int-e: I think undefined signed overflow can be justified in some cases? 02:33:34 Probably not a great default, though. 02:33:37 oerjan: for once I believe this was not inferrable from context :) 02:34:00 shachaf: I mean the original justification was that some old computers used ones complement 02:34:37 There are other justifications. 02:34:40 int-e: it could be inferrable from the fact i don't type that fast hth htht 02:34:44 oopes 02:34:44 shachaf: I imagine it was meant to allow signaling overflows... 02:34:57 Like doing 64-bit arithmetic on a 32-bit integer or something? 02:35:00 Anyway, look, C is a mess. 02:35:04 Just gotta scrap it. 02:35:07 What can I use instead of C? 02:35:14 Maybe LLVM 02:35:24 oerjan: MAYBE 02:35:25 shachaf: fortran 2003? 02:35:40 shachaf: it's object oriented 02:36:08 and gcc supports it 02:36:58 shachaf: Java? 02:36:59 shachaf: also Ada I guess? 02:37:24 orin: object oriented automatically rules it out hth 02:37:29 * int-e runs . o O ( Over The Hills And Far Away ) 02:37:31 LLVM doesn't have macros though; one use of macros is to help writing portable programs, since otherwise the program might not be portable 02:38:05 shachaf: well fortran objects are optional 02:38:08 `wisdom abject 02:38:09 That's not wise. 02:38:15 `quote abject 02:38:16 No output. 02:38:18 hm 02:38:28 @google "abject lesson" 02:38:29 https://owlcation.com/humanities/abject-lesson-vs-object-lesson 02:39:14 ... that was much better than I hoped for. 02:39:40 shachaf: I think fortran is probably the smoothest drop-in replacement for C 02:39:50 `? eggcorn 02:39:51 eggcorn? ¯\(°​_o)/¯ 02:40:24 that was an unusually helpful cookie acceptance menu 02:41:41 shachaf: but fortran has UB too, just not as much 02:41:49 ... didn't enable Javascript. No menu. 02:43:03 [[Assembly language]] https://esolangs.org/w/index.php?diff=60050&oldid=60039 * A * (+30) 02:43:26 I guess there is rust, which prevents alot of runtime errors by creating lots of compile time errors 02:43:43 zzo38: I've tried to create a Truth-machine for Stoned Go (nice concept!): (+1[]?)+2[|+1()]-1()-2[]+2[]+2()-1+1()+0-4[]+0+2 then append [] black for input 0 , () white for input 1. Output to be read from the column below the last stone placed. I'm abusing / misunderstanding the loop | section, but I'm not sure how else to conditionally loop, unless I set up a naturally looping capture configuration, but then I believe there are Go 02:44:37 salpynx: It is meant there is no conditional loop; only the entire program can be looped (although the initialization part only runs the first time) 02:46:47 I was "innovating" and was hoping each code block inside brackets could have an init and loop portion [|] 02:47:06 (There are other esolangs too, where the entire program runs in a loop; it is same here) 02:48:32 `thanks ants 02:48:33 Thanks, ants. Thants. 02:49:25 I'll try to get the same effect another way, but wanted to suggest it in case you thought it was a good idea (code blocks being full programs too) 02:49:52 salpynx: i think your long message got cut off 02:50:01 salpynx: That could be a variant, I suppose 02:50:22 -!- tromp has joined. 02:51:05 * oerjan only knows how to fix that in irssi 02:51:23 oerjan: ah, yes, thanks! "I believe there are Go rules to prevent that." 02:52:17 The rules prohibiting repeated positions do not apply here. 02:52:22 (Perhaps I should mention) 02:52:30 "A stone may not be played so as to recreate a previous board position with the same player to play again". Not that stoned go has multiple players 02:53:12 Probably good to mention, I felt bound by it even though it was not mentioned as a restriction 02:54:40 -!- tromp has quit (Ping timeout: 246 seconds). 02:56:54 I seem to enjoy writing Truth-machines for IO limited esolangs. 02:57:13 [[Stoned-Go]] https://esolangs.org/w/index.php?diff=60051&oldid=60046 * Zzo38 * (+681) 02:59:29 zz038: thanks! Also for the / command. When I wrote my above code it didn't exist and I was using +0 for the same effect 03:02:52 I tried a while ago to write a truth-machine in Thue-Mirr but got frustrated making bigger and bigger layouts that didn't do what I wanted, then losing track of the positions. 03:04:00 I don't know what is even possible with Thue-Mirr; it seems to be chaotic to me 03:04:08 I'd need an interpreter to make more progress, paper and pencil didn't get me anywhere 03:04:58 yeah, I thought just trying semi-random input and see what happens would be a good way to get a feel for what is possible 03:19:00 [[Assembly language]] https://esolangs.org/w/index.php?diff=60052&oldid=60050 * A * (+372) 03:20:05 [[Assembly language]] https://esolangs.org/w/index.php?diff=60053&oldid=60052 * A * (+17) 03:21:30 [[Assembly language]] https://esolangs.org/w/index.php?diff=60054&oldid=60053 * A * (-17) /* Turing-completeness */ 03:21:52 [[Assembly language]] https://esolangs.org/w/index.php?diff=60055&oldid=60054 * A * (+29) 03:25:51 [[Assembly language]] https://esolangs.org/w/index.php?diff=60056&oldid=60055 * A * (-89) /* 99 bottles of beer program (currently incomplete) */ 03:26:07 [[Assembly language]] https://esolangs.org/w/index.php?diff=60057&oldid=60056 * A * (+0) 03:26:21 [[Assembly language]] https://esolangs.org/w/index.php?diff=60058&oldid=60057 * A * (-30) /* 99 bottles of beer program (currently incomplete) */ 03:35:00 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:35:02 [[Assembly language]] https://esolangs.org/w/index.php?diff=60059&oldid=60058 * A * (+261) /* 99 bottles of beer program (currently incomplete) */ 03:41:34 [[Assembly language]] https://esolangs.org/w/index.php?diff=60060&oldid=60059 * A * (+144) /* 99 bottles of beer program (currently incomplete) */ 03:44:58 [[Assembly language]] https://esolangs.org/w/index.php?diff=60061&oldid=60060 * A * (+49) /* 99 bottles of beer program (currently incomplete) */ 03:46:04 [[Assembly language]] https://esolangs.org/w/index.php?diff=60062&oldid=60061 * A * (+24) /* 99 bottles of beer program (currently incomplete) */ 03:53:48 [[Assembly language]] https://esolangs.org/w/index.php?diff=60063&oldid=60062 * A * (+274) 04:00:44 [[Assembly language]] https://esolangs.org/w/index.php?diff=60064&oldid=60063 * A * (+1) /* 99 bottles of beer program (currently incomplete) */ 04:04:14 [[Assembly language]] https://esolangs.org/w/index.php?diff=60065&oldid=60064 * A * (+85) /* 99 bottles of beer program (currently incomplete) */ 04:06:56 [[Assembly language]] https://esolangs.org/w/index.php?diff=60066&oldid=60065 * A * (+76) /* 99 bottles of beer program (currently incomplete) */ 04:07:20 [[Assembly language]] https://esolangs.org/w/index.php?diff=60067&oldid=60066 * A * (+4) /* 99 bottles of beer program (currently incomplete) */ 04:08:50 [[Lenguage]] https://esolangs.org/w/index.php?diff=60068&oldid=40885 * Cortex * (+91) 04:20:53 ^bf ,[.,]!`le/rn philosophical zombie//Philosophical zombies are everyone in this channel except me. 04:20:53 `le/rn philosophical zombie//Philosophical zombies are everyone in this channel except me. 04:20:56 Learned 'philosophical zombie': Philosophical zombies are everyone in this channel except me. 04:22:14 `` hoag | grep '^' 04:22:16 le/rn philosophical zombie//Philosophical zombies are everyone in this channel except me. \ list `list 04:22:40 `` hoag | grep '^' 04:22:42 list \ run echo 'lambdabot: @where hackegoloop' >lambdabotloop 04:23:48 `1 hoag | awk '{print substr($1,2,length($1)-2)}' | sort | uniq -c | sort -rn 04:23:51 1/10: 3359 oerjän \ 1362 shachäf \ 609 ellioẗt \ 426 b_jonäs \ 396 boil̈y \ 357 hppavilion[1̈] \ 335 int-̈e \ 314 fizzïe \ 226 Jafët \ 222 tsweẗt \ 203 ais52̈3 \ 177 GreyKnigḧt \ 175 wob_jonäs \ 165 km̈c \ 162 rdocöc \ 148 Tanëb \ 144 zgrëp \ 138 Rouj̈o \ 113 mromän \ 107 moon̈_ \ 102 mroman̈_ \ 98 Phantom_Hoovër \ 97 Bik̈e \ 04:23:55 10?! 04:23:57 `n 04:23:58 2/10: 92 nortẗi \ 90 noood̈l \ 88 izaber̈a \ 85 FireFl̈y \ 74 coppr̈o \ 71 olsnër \ 68 Sgëo \ 64 mrhmous̈e \ 54 hagb4r̈d \ 52 monq̈y \ 52 Gregör \ 50 c00kiemon5tër \ 49 itidus2̈1 \ 48 Zarutiän \ 48 ThatOtherPersön \ 45 \oren̈\ \ 44 moon_̈_ \ 43 Moon̈_ \ 40 zzo3̈8 \ 38 guestböt \ 37 ran̈c \ 37 iön \ 36 FreeFul̈l \ 04:24:10 `n 04:24:12 3/10: 33 Elronn̈d \ 32 quintopïa \ 31 xfïx \ 30 moonythedwar̈f \ 30 hppavilion̈1 \ 27 mnoq̈y \ 27 Hjull̈e \ 23 __kerbal__̈_ \ 22 orën \ 22 Moon_̈_ \ 22 blottër \ 22 alercäh \ 18 Sgeö_ \ 18 pikḧq \ 17 ZombieChenëy \ 16 Dongër \ 15 Kaynaẗo \ 15 gameman̈j \ 14 oren̈_ \ 13 moon̈y \ 12 zui438̈s \ 12 prooftechniqüe \ 12 04:28:14 `n 10 04:28:14 10/10: 1 a`a`a`a`jo8äs \ 1 a`a`a`a`jo7äs \ 1 a`a`a`a`jo6äs \ 1 a`a`a`a`jo5äs \ 1 a`a`a`a`jo4äs \ 1 a`a`a`a`jo2äs \ 1 a`a`a`a`jo1äs \ 1 a`a`a`̈a \ 1 04:28:22 obviously 04:28:39 `n 7 04:28:40 7/10:ybdën \ 2 tswetẗ_ \ 2 Taneb|Hovercraf̈t \ 2 spiriẗy \ 2 sleff̈y \ 2 singingbanan̈a \ 2 salpyn̈x \ 2 oklopöl \ 2 noog̈a \ 2 mushroöm \ 2 Moon__̈- \ 2 monoton̈e \ 2 lezsakdom̈i \ 2 lexand̈e \ 2 lambdaböt \ 2 hppavilion1̈_ \ 2 greyooz̈e \ 2 fungöt \ 2 fcraẅl \ 2 carad̈o \ 2 a`a`a`a`jo3äs \ 1 Warrigal 04:28:53 yikes, what happened to the encoding there? 04:28:59 `n 7 | xxd 04:29:00 shocking 04:29:00 7 | xxd/10:/bin/sed: -e expression #1, char 3: unknown command: `|' 04:29:03 `` n 7 | xxd 04:29:04 ​/hackenv/bin/`: line 5: xxd: command not found 04:29:25 I guess the obvious thing happened 04:29:55 It got cut off mid-code-unit and so my IRC client interpreted that as ISO-8859-1 or whatever encoding it uses when a thing isn't valid UTF-8 04:30:18 `thanks irc 04:30:19 Thanks, irc. Thirc. 04:30:43 oh right 04:31:00 (mine too) 04:31:19 That is the de facto standard for how IRC encoding works. 04:31:26 `` n 7 | hexdump 04:31:27 0000000 2f37 3031 793a 6462 cc65 6e88 5c20 2020 \ 0000010 2020 2020 3220 7420 7773 7465 cc74 5f88 \ 0000020 5c20 2020 2020 2020 3220 5420 6e61 6265 \ 0000030 487c 766f 7265 7263 6661 88cc 2074 205c \ 0000040 2020 2020 2020 2032 7073 7269 7469 88cc \ 0000050 2079 205c 2020 2020 2020 2032 6c73 6665 \ 0000060 cc66 7988 5c20 2020 2020 2020 3220 7320 \ 0000070 6e69 6967 676e 6162 616e cc6e 6188 5c20 \ 0000080 2020 2020 2020 3220 7320 6c61 7970 cc6e \ 0000090 78 04:31:29 -!- FreeFull has quit. 04:33:17 ...endianness, tdnh 04:33:29 When I'm emperor I'm going to ban big endian. 04:33:35 i vaguely recall handling this is a feature request i've previously refused 04:33:56 are you refusing feature requests on shaventions now 04:33:58 tdh 04:34:11 I guess you rewrote the thing that breaks lines up or something? I don't remember. 04:34:12 yw 04:34:17 yeah 04:34:51 Also on my list of things to ban: Long stack traces. 04:34:53 i made it break more accurately, but it doesn't care about utf-8 sequences 04:35:02 That'll take care of both Java and recursion. 04:35:11 sounds like a plan 04:35:33 fizzie: Can we send commits directly to HackEso instead of doing through IRC? 04:35:41 I'll just rewrite everything in C. It'll be great. 04:35:48 it 04:38:36 -!- tromp has joined. 04:43:12 -!- tromp has quit (Ping timeout: 250 seconds). 04:57:50 -!- arseniiv has joined. 05:16:43 [[Pyhton (sic)]] N https://esolangs.org/w/index.php?oldid=60069 * Something Fawful * (+7346) Added new Esolang that I created recently. 05:24:17 [[Language list]] https://esolangs.org/w/index.php?diff=60070&oldid=60048 * Something Fawful * (+32) /* P */ added Pyhton [sic] to the list. 05:30:54 I think small endian is generally better, but do not intend that big endian will be banned 05:33:27 (Knuth seems to prefer big endian, as far as I can tell) 05:36:29 Why? 05:37:42 Do you mean why Knuth prefer big endian? 05:38:44 Yes. 05:39:07 I don't know why 05:42:54 Glulx is also big endian, and Z-machine is big endian (although version 3 Z-code can be big endian or small endian, but small endian was never used), and OASYS does not define endianness (OAI requires the endianness and int size to match the computer it is running on, although my own implementation of OASYS doesn't care), and TAVERN has no run-time endianness but the story file is small-endian except lump sizes are PDP-endian. 05:45:44 Free Hero Mesh also has no runtime endianness, but binary files in a puzzle set use small endian (except lump sizes in a Hamster archive, which are PDP-endian) 05:46:09 Knuth's MIX seems to have no endianness, although MMIX uses big endian. 06:12:21 Sometimes if aplay is interrupted when the audio is almost finished playing, I get a error message that says: Assertion 'pthread_mutex_destroy(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:81, function pa_mutex_free(). Aborting. 06:19:04 it's a feature hth 06:26:30 -!- tromp has joined. 06:31:05 -!- tromp has quit (Ping timeout: 255 seconds). 07:05:28 -!- oerjan has quit (Quit: Nite). 07:33:52 -!- xkapastel has joined. 07:38:42 -!- tromp has joined. 08:03:10 zzo38: no, I read 7.1.3 as not expecting a clear preference either way between little-endian and big-endian. 08:44:59 oh, an opcode quiz. let me try that. thanks, fizzie. 08:46:48 aeyxa, kmc: https://esolangs.org/logs/2019-02-18.html#ldi for list of words whose letters are sorted alphabetically 08:49:52 ooh, that's hard 09:27:53 -!- AnotherTest has joined. 09:40:26 -!- xkapastel has quit (Quit: Connection closed for inactivity). 09:52:26 -!- salpynx has quit (Quit: Page closed). 10:31:47 -!- Phantom_Hoover has joined. 10:31:48 -!- Phantom_Hoover has quit (Changing host). 10:31:48 -!- Phantom_Hoover has joined. 10:46:56 `? this page 10:46:57 This page is under construction. 10:49:40 There is a mastodon account that posts random screenshots of ZZT games, quite fun to see all sorts of random ones 10:49:57 https://botsin.space/@worldsofzzt 10:51:28 `? manometer 10:51:29 A manometer is a device for testing real men by putting them under pressure. 10:54:12 `learn o is a popular comedy fantasy webcomic. It's about a group called the Order of the Stick, as they go about their adventures with minimal competence, and eventually stumble into a plan by an undead sorcerer to conquer the world, and they're out to stop him and conquer their personal problems at the same time. Hopefully not in that order. 10:54:15 Relearned 'o': o is a popular comedy fantasy webcomic. It's about a group called the Order of the Stick, as they go about their adventures with minimal competence, and eventually stumble into a plan by an undead sorcerer to conquer the world, and they're out to stop him and conquer their personal problems at the same time. Hopefully not in that order. 11:43:34 -!- Essadon has joined. 11:44:10 -!- Essadon has quit (Max SendQ exceeded). 12:07:00 `? h4gb4rd 12:07:02 hagb4rd is one spacey fellow. Spaaaaaaaaaaaaaaace. 12:07:02 `? hagb4rd 12:07:04 hagb4rd is one spacey fellow. Spaaaaaaaaaaaaaaace. 12:07:06 hmm 12:07:42 just how many dups are there? 12:07:56 ``` sha256sum wisdom/* | sort | uniq -D 12:07:57 sha256sum: wisdom/8: Is a directory \ sha256sum: wisdom/le: Is a directory \ sha256sum: 'wisdom/'$'\302\257''\('$'\302\260''_o)': Is a directory \ sha256sum: 'wisdom/'$'\302\257''\('$'\302\260\342\200\213''_o)': Is a directory \ sha256sum: 'wisdom/'$'\302\257''\_('$'\343\203\204'')_': Is a directory 12:08:02 oh gtf 12:09:29 ``` ls -ld wisdom/h?gb?rd 12:09:30 lrwxrwxrwx 1 1000 1000 7 Jul 8 2017 wisdom/h4gb4rd -> hagb4rd \ -rw-r--r-- 1 1000 1000 51 Jul 8 2017 wisdom/hagb4rd 12:09:33 oh, it's a symlink! 12:11:34 -!- Lord_of_Life_ has joined. 12:13:02 ``` set -e; cd wisdom; find -type l -printf "%p -> %l\n" 12:13:03 ​./СССР -> ссср \ ./the usual suspect -> usual suspect \ ./perpetuum mobile -> perpetual motion machine \ ./r.i.p. -> rip \ ./☆ -> * \ ./h4gb4rd -> hagb4rd \ ./issue -> .doorstop \ ./the reals -> real \ ./off by two error -> off by two \ ./wolfram -> stephen wolfram 12:13:05 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:13:35 `? doorstop 12:13:36 doorstop? ¯\(°​_o)/¯ 12:13:38 `? issue 12:13:39 You do not have the clearance necessary to view this entry. 12:13:44 `? .doorstop 12:13:45 You do not have the clearance necessary to view this entry. 12:13:54 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:40:09 shachaf: I'm not sure if that's in the spirit of the thing. 12:45:04 is it "resemblance" or "resemblence"? wisdom/ance is truncated too short, it's not in there 12:45:44 resistance, resilience, 12:46:09 repungance, resemblance. there it is 12:56:14 `? bent-bill knot-hatch 12:56:15 bent-bill knot-hatch? ¯\(°​_o)/¯ 13:15:14 `? associate degree 13:15:15 associate degree? ¯\(°​_o)/¯ 13:15:18 `? ass. phd 13:15:19 ass. phd? ¯\(°​_o)/¯ 13:15:20 hmm 13:18:57 -!- FreeFull has joined. 14:29:08 -!- Essadon has joined. 14:40:11 -!- Phantom_Hoover has quit (Remote host closed the connection). 14:43:05 `? canaima 14:43:07 Canaima is a secret Venezuelan project to overrun #esoteric with incomprehensible people who have no idea why they're here. 14:53:49 -!- Phantom_Hoover has joined. 15:17:31 rain1: It is look like they are not making invisible walls to be invisible. 16:49:59 Huh, how have I missed out on hg histedit for all this time? It's basically the same as git rebase --interactive... and I've been missing that a lot. 17:07:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 17:10:17 -!- Phantom_Hoover has joined. 17:27:44 fizzie: Can you figure out a way to make it in the spirit? 17:32:34 shachaf: I don't know, maybe I could make a built-in command like `fetch, except `patch (to pull in a diff to apply from a URL) or `pull (to pull a commit from a hg repo). I'd like it to have the usual safeguards, like the .hgignore handling and stuff. 17:36:46 you could just download the patch to tmp with a fetch, then apply it with a command. that's two lines, but that's not too big of a problem, right? 17:37:14 uses of fetch usually work like that 17:37:20 because you can't do much with just fetch 17:41:16 -!- xkapastel has joined. 17:41:50 All the uses of `fetch I've seen have basically just updated a single "binary" or a data file. 17:42:19 But it's true that you should be able to apply a patch via fetching to tmp. 17:42:35 what if there was a directory you could edit in real-time 17:43:00 -!- ais523_ has joined. 17:43:31 fizzie: I think I fetched a targz at least once 17:43:36 and I think we have a working xz 17:43:51 ``` xz --help 17:43:52 Usage: xz [OPTION]... [FILE]... \ Compress or decompress FILEs in the .xz format. \ \ -z, --compress force compression \ -d, --decompress force decompression \ -t, --test test compressed file integrity \ -l, --list list information about .xz files \ -k, --keep keep (don't delete) input files \ -f, --force force overwrite of output file and (de)compress links \ -c, --stdout write to standard o 17:43:59 so you could download a tarxz too 17:44:35 admittedly I also fetched single files, like M:tG comp rules texts or yawgatog oracle dumps, for clarity of the commands 17:44:58 I guess you do have to provide your own URL though. It's not as convenient as just pushing a commit. 17:45:47 well, you don't have to use fetch. you can also break up the patch in irc-line long chunks and tunnel it to hackeso 17:45:53 but that's not very convenient, and freenode might ban you 17:46:20 there was also a web interface that let you http upload text I think 17:46:23 you could use that 17:46:49 if there also a mail interface where you send commands and you receive the response? 17:46:53 Other way to do would be listen to one port on the server that you can write a filename and then upload all of the data and then close the connection, and then on the IRC you can move the file from the temporary "incoming" directory to where you want it and give it the filename you want. 17:50:41 https://twitter.com/x86instructions/status/1099115314766401536 "JTNJ - Jump To Next JTNJ" ← that's basically an ASM version of literate programming, isn't it? having a "toggle comment" marker is pretty much the hallmark of a literate programming language, and that's pretty much what JTNJ does in practice 17:51:42 ais523_: I think that if the instruction is encoded then, you might not know what is another instruction or just some other data, unless it is defined as a macro. 17:53:27 To be even marginally useful, the instruction should jump to the instruction *following* the next JTNJ. 17:54:40 ais523_: I don't think it's the hallmark of a literate programming language. C has a toggle comment, /*/ , and I don't think that makes it literate programming. 17:54:50 ais523: Were you the person who suggested something like, there should be a kind of struct in C that can only exist as an lvalue, not an rvalue? ← I don't remember saying that, but it's the sort of thing I'm interested in so maybe I did 17:55:13 b_jonas: hmm, that might be an interesting style for writing a C program in 17:55:28 really, a language being literate isn't a property of the language, but of how it's used 17:55:32 . o O ( "fault on first non-X-mapped page beyone RIP" ) 17:55:40 *beyond 17:56:03 does RIP here mean "64-bit instruction pointer" or "rest in peace"? 17:56:13 yes. 17:56:25 (the former was the intended meaning) 17:58:36 Is the new article I added on esolang wiki good yet? ← you've defined the two possible current directions as "vertical" and "horizontal", then you have commands for moving in the current direction or the opposite of the current direction, but it matters whether the current direction is left or right, or up or down, due to the tiebreak for when a large group is captured 17:59:33 also, the syntax for the inner loop variant is just weird, as | affects the whole block that contains it but the location of the | within the block doesn't seem to matter 18:00:35 `? sober space 18:00:36 Sober spaces are the dual of Stoned spaces. Taneb invented them. 18:00:38 `? stoned space 18:00:39 stoned space? ¯\(°​_o)/¯ 18:00:41 `? stone space 18:00:42 ais523_: Ah, yes, but, negative numbers are the top left (perhaps should mention) for if multiple trigger programs are executed. Also, the | in the inner loop variant is supposed to still have the initialization part and loop part, although maybe it is not clear 18:00:42 Stone spaces were invented by P. T. Barnum as a hoax. 18:01:12 ais523_: Or maybe just some some structs shouldn't be assignable by value or something. 18:01:39 oh right, I was definitely suggesting something that played around in that space 18:01:42 Anyway I think I thought it was kind of silly but now I'm more sympathetic to it. 18:02:41 shachaf: rust has structs that aren't assignable by value these days, non-Sized ones 18:03:46 you also notionally have them in C, where you technically can copy the struct, but it's not really meaningful, because it's not the full struct, just a struct describing the header, and you can only meaningfully manipulate it through passing a pointer to it to library functions 18:03:50 I think I wanted a very clear difference between things which act like value types but are immutable, things that are mutable but persist and can't easily be copied or deallocated, and temporaries which are mutable but can't be used as anything but local variables and fields of other temporaries 18:03:55 FILE is like that already 18:04:30 b_jonas: non-Sized things aren't copiable by value only because Rust doesn't have enough information to generate the code that copies them, though, I think 18:04:38 I said this the other day: "People talk about const a lot, but the const/non-const distinction seems less important to me than the distinction between values and memory locations (in C terms, rvalues and lvalues). Most languages really muddle this distinction (although even C does make it)." 18:04:45 it's not a philosophical objection to the by-value copy, that's what !Clone is for 18:05:26 ais523_: it's not really "only". you use structs that are neither sized nor unsized if you don't want rust to move them. 18:05:32 shachaf: I see this the opposite way round (which may be the contrapositive of your point of view?): if something is immutable, the distinction between value and memory location doesn't actually /matter/, and that's one of the big gains of immutability 18:05:43 that could be because they're ones that have a pointer to themselves, or for other reasons 18:05:49 whereas if something is mutable, it has an identity, and keeping track of that is very important 18:06:03 b_jonas: isn't that what Pin is for? 18:06:22 ais523_: Pin can help too... hmm 18:06:45 really I don't quite understand how Pin works 18:07:01 nor do I 18:07:13 @quote Ooooh! 18:07:14 cjs says: I have to explain this shit to people. I mean, I start out right, "Hey, you know how you always have these bugs because what you thought was in the variable is not there?" And I get all of 18:07:14 these nods of agreement. "Well, I've found a new language that solves that problem." Audience: "Ooooh! How?" Me: "There's no variables!" And then they all start moving away from me slowly.... 18:07:41 (no lvalues! bliss!) 18:07:49 un... 18:08:11 is "variable" there being used in the sense of "assignable variable" / "lvalue", or in the more general sense that also includes things like lambda bindings? 18:08:44 It's the assignable thing. 18:08:53 right 18:09:03 maybe intermediate, so that global constants are still allowed? 18:09:03 Ah mutable is the word. 18:09:10 ais523_: Well, "const T *x" in C doesn't even say that *x is immutable 18:09:23 b_jonas: their are defined, not assigned 18:09:27 ... they 18:09:48 I work in a CS department, "variable" has the second meaning by default here, so "assignable variable" is the phrase we came up with to unambiguously describe the sort of variable that most programmers mean 18:09:58 Anyway I'd still quite like a language that doesn't have lvalues at all, only pointers. 18:10:32 and then there's assign-once variables 18:10:34 (other hazards of terminology include "while" being considered to be tail-recursion) 18:10:35 It's really pretty odd that even pseudocode algorithms confuse a value with a memory location. 18:10:56 There's the implicit operation of "the value stored in this location at this time" and people don't even notice it 18:11:16 b_jonas: In the pure Haskell setting that's not part of the semantics; it's an implementation detail of lazy evaluation. 18:11:21 I was very impressed by Algol 68, which gets the terminology right for the distinction (and then, unfortunately, went and invented a shorthand that caught on and caused all the terminological problems) 18:11:34 int-e: I'm more thinking of the prolog version of assign-once variables 18:11:49 ais523_: I was also impressed by some parts of Algol 68 18:11:53 What's the shorthand? 18:11:59 the C code "int x; x = 6;" translates to Algol 68 "ref int x = loc x; x := 6;" 18:12:09 the shorthand for that would be "int x := that 18:12:19 **"ref int x = loc int; x := 6;" 18:12:29 Oh, that. Right. 18:12:33 there was shorthand like "ref int x := 6" 18:12:38 something like that 18:12:42 I think a shorthand is OK? 18:12:59 also the Algol 68 is still wrong, I added a trailing semicolon by mistake (semicolon in algol is a separator, not a terminator) 18:13:21 the shorthand's useful, at least 18:13:46 but I really liked the concept of "variables are never named, only constants have names" 18:14:13 I think I was going to have a thing like "x := var(6)" 18:14:20 whereas in Forte, constants are never named, because the constants are variable too 18:14:29 (for people reading this who don't already know, "ref int x = loc int" creates a new constant x which is the name of a stack slot, you can mutate the value within the stack slot) 18:14:48 b_jonas: well, Forte is a joke, but it's a thought-provoking joke 18:14:50 Where var is an alloca-style thing that allocates memory for the rest of the block and also assigns a value to that memory. 18:15:06 -!- ais523_ has quit (Quit: brb). 18:15:13 ais523_: right. it's thought provoking because the variable line numbers behave like a computed come from 18:16:15 ais523_: The thing I don't like is all the automatic coercions they needed to add to make code readable. It seems to make things very ambiguous. 18:17:47 what does often lead to interesting design is that if you have a resource that can be named, then you should also allow to allocate instances of it that aren't named but only referenced indirectly 18:27:04 but of course it can also lead to insane overuse and bad coding 18:27:30 -!- ais523_ has joined. 18:27:44 back 18:28:12 shachaf: I also think the coercions were a mistake 18:29:17 in my thesis I worked with Idealized Algol, which has no implicit coercions (it allows ! as an explicit ref x → x coercion, and is call by name so no explicit proc x → x coercion is needed) 18:29:39 actually, forcing a thunk in Idealized Algol is really difficult 18:30:03 you can force an integer by assigning it to a variable, and force a boolean using an if or while statement, and that's about it; most other types can't be forced at all 18:31:07 ais523_: is that like haskell without seq, where you can force an algebraic data using case, or force an integer using <, or force a function by calling it? 18:32:04 ais523_: But code without the coercions seems to have way too much dereferencing. 18:32:10 To the point of being hard to read. 18:33:21 fizzie: the opcode quiz gave me "FS" and I wasn't sure what to say because I was unclear about the definition of an opcode; "FS:" is a segment override prefix, but a) does the colon matter, b) do prefixes count as opcodes? it could do with some clarification 18:33:31 b_jonas: yes 18:33:54 shachaf: in Idealized Algol, incrementing an integer-holding variable x is "x := !x + 1" 18:34:04 Yes, that's simple enough. 18:34:07 it takes a bit of getting used to but it's not too bad to write in (and OCaml does it the same way) 18:34:18 https://en.wikipedia.org/wiki/BLISS does this too 18:34:28 ais523_: is that where SML got the names for the operators for mutable cell? 18:34:34 at least in the subset I implemented for my thesis, the only dereferencable things were integer-holding variables 18:34:39 But slightly more complicated code has a lot more dereferencing. 18:34:46 b_jonas: I have no idea who borrowed from who 18:34:57 I always thought it strange that ! is a reader in SML but a writer in forth 18:35:05 Say the array indexing operator, which presumably returns a pointer rather than a value (so it's morel ike + in C), right? 18:35:14 (we're implementing this in hardware, thus any assignable referenceable thing is a set of bits in memory somewhere, thus is an integer by definition) 18:35:58 shachaf: the newarray statement in Idealized Algol produces a function from integers to variables 18:36:07 eh, just because it's in hardware doesn't really make it an integer. except perhaps as much as it only has finitely many values. 18:36:36 I'm talking about the design of a language for programming computers, though. 18:36:41 Well, it is a sequence of bits which can be interpreted as and manipulated as a integer. 18:36:47 so writing an array element would be, e.g., a(6) := 7, reading an array element would be, e.g., !(a(6)), which can be written !a(6) due to careful choice of operator precedence 18:37:06 (the choice is harmless because (!a)(6) would necessarily be a type error, given that in the subset we were using, ! always returns an integer) 18:37:40 ais523_: hmm, and can you write multi-axis arrays? 18:38:11 b_jonas: there isn't a builtin for them, but you can create them using a curried wrapper function that linearizes the index 18:38:20 hmm 18:38:31 arr[!i, !j] = min(!arr[!i, !j-1], !arr[!i-1, !j], !arr[!i-1, !j-1]) + 1 18:38:51 It seems like worrying about where to dereference is a big part of the work of writing that line 18:39:02 something like let a = newarray a0(25) in \x.\y.a0(x+y*5) would work 18:39:45 ok 18:39:50 shachaf: it's fairly easy, every use of a variable name is dereferenced with either ! or := 18:40:01 the first use of arr is dereferenced with :=, thus you need ! everywhere else 18:40:27 I'm not saying it's conceptually difficult, only distracting 18:40:47 Switching between a.x and a->x in C is already annoying. 18:41:26 shachaf: come to the rust side. we have implicit dereferencing, and lots of other false exaggerations about how perfect the language is. 18:41:56 Rust just has lvalues and rvalues, like C 18:42:11 ais523_: Yes, it's a little unclear. The opcode list is from NASM, which allows "FS" as a standalone instruction, and as a rep-style prefix, in addition to the typical fs:... operand form: http://ix.io/1BWX 18:42:26 shachaf: oh, is this still about not wanting lvalues? come to rust or scheme then. 18:42:29 um 18:42:33 s/rust or/ruby or/ 18:42:35 fizzie: well, it considered IIRC it considered FS to be fake 18:42:57 but it's a surprisingly philosophical question for what you'd expect to be an objective quiz 18:42:59 b_jonas: This is about wanting a language to replace C. 18:43:22 shachaf: fwiw, my thoughts on lvalues and rvalues were more about wanting a language to replace Java than to replace C 18:43:56 C-like languages have a number of considerations of their own, e.g. abstracting away low-level details is not always desirable 18:44:22 I guess ALGOL 68 is garbage-collected. 18:44:36 But I don't think that has much to do with any of these features. 18:46:12 Oh. Right, the exact definition for "opcode" I've used there is really a NASM implementation detail, it's everything in the nasm_insn_names[] array. Apparently prefixes (even if they can be used as a standalone statement) are handled separately. 18:46:14 I think Algol 68 is GCed because people weren't sure there were alternative schemes to stack allocation and a GCed heap at the time 18:46:27 refcounting would have been considered a form of GC, but a broken one 18:47:04 hmm, this reminds me of the problem I'm stuck on at work 18:47:20 The alternative scheme of manual memory management was presumably known? 18:48:34 I'm trying to prove a GC algorithm correct; however, the way it deals with reference cycles is by delegating cases with suspected reference cyclesto a second GC algorithm, which means I need to somehow prove "this GC algorithm is correct given an oracle for breaking cycles" 18:49:05 shachaf: I'm not sure, manual deallocation feels like a more modern feature than GC/automatic deallocation 18:49:24 probably because memory leaks have become more survivable over time 18:49:45 (Rust does not consider memory leaks a correctness issue, for example) 18:49:59 maybe it was GCed because they wanted to compile it to a web scripting language that would be ran on client side in browsers, and they didn't want webpages to leak memory in the browser 18:50:05 hmm wait, did you say 68 18:50:31 they didn't want telex messages to leak memory in the receiving post office 18:50:42 ais523_: What, you're saying garbage collection predated malloc/free? 18:51:08 I'm not sure, but it wouldn't surprise me, at least in languages higher-level than assembly 18:51:21 Lisp is GC'ed, and a very old language 18:51:24 ais523_: it does feel more modern, yes, because lisp was traditionally garbage collected 18:51:28 exactly 18:51:33 and isn't smalltalk too? 18:51:34 and other languages of a comparable age were typically statically allocated 18:51:41 b_jonas: yes, Smalltalk is GC'ed 18:52:23 whereas some other languages just don't allow pointers, so everything is singly owned 18:52:49 But cons cells -- which I assumed were reference-counted in the original LISP for some reason, though I never checked -- are a much more specific thing than general GC 18:53:18 or every variable is allocated once in the program and never freed, like in BASIC or FORTRAN 18:53:37 shachaf: sure, the memory allocation and deallocation gets much simpler if every block is of the same size 18:53:41 the gc sweep itself not much 18:53:49 but the memory management does get much simpler 18:53:56 so it's easier to implement on small machines 18:55:07 I'm reading the paper which is the first description of garbage collection (1959); it also talks about stack allocation as though it were a new/interesting innovation for the paper (maybe it was) 18:55:44 apparently it used mark-and-sweep 18:55:56 (stop-the-world mark-and-sweep, that is) 18:56:21 ais523_: if I understand correctly, it was sort of a new thing to store local variables on a stack to implement lexical scoped variables (without closures), which makes sense because you don't need that if you don't have recursive structs 18:56:26 it does sort-of imply that malloc/free came earlier, or at least was considered to be obvious to people reading the paper 18:56:39 b_jonas: it was to implement recursive functions 18:56:40 if you only have non-recursive structs, then you can give every local variable a static address 18:57:05 but stack allocation is often more efficient than static allocation even in the absence of recursion 18:57:20 because it lets more variables share with each other and thus uses less memory 18:57:41 ais523_: exactly. I mean, look at the Knuth books, they don't take recursive functions granted, recursive functions are introduced in the future (not yet released) parts of vol 4, even though the normal MMIX calling convention puts locals on a stack 18:57:47 in most programs that don't use recursion, there's no execution which would end up with every function running at the same time in one big long call chain 18:58:03 unless the program is very simple 18:58:17 it does technically mention recursive functions earlier, but doesn't go (sorry) deep into them 18:58:27 hmm, now I'm starting to have an esolang idea 18:58:38 * ais523_ thinks about a language where all the functions being in one big call chain is an essential part of the design 18:58:45 presumably you do flow control by rearranging the call chain 18:59:06 ais523_: not really. if your call graph is known statically and acyclic (which is the most common case when you know there'll be no recursion) then you can maximally overlap variables so it's as efficient as a stack 18:59:17 overlap them with a static address that is 18:59:19 yes 18:59:28 or, hmm, I'm not sure 18:59:33 is the set of overlaps always solvable? 18:59:48 sure, just go either from inside to out, or from outside to in, in the graph 18:59:51 or in any partial order really 18:59:59 and assign variables to the lowest addres slot that wasn't used yet 19:00:10 stacks ware awful, they make it impossible to put the value of a variable into the immediate operand of an instruction ;-) 19:00:28 say you have three functions, a, b, c, a(false) calls b(true), b(false) calls c(true), c(false) calls a(true) 19:00:36 ais523_: no 19:00:51 ais523_: I said the call graph, as in, the graph of possible calls, is known at compile time, and is acyclic 19:00:58 as in, each function can only call functions defined earlier in the code 19:01:11 if you do have three functions like that, then yes, you can't allocate the variables statically 19:01:16 oh, a(false) calls b(true), a(false) calls c(true), b(false) calls c(true) 19:01:18 that's acyclic 19:01:58 but it's still more efficient with a stack, because b's locals and c's locals need to share when called from a, but not when b is called directly 19:03:26 I think the difference here is that a→b→c is approximately a possible call chain but the full chain never actually happens in practice, thus you can implement it with only two functions' worth of stack space 19:03:33 but the static analysis thinks it needs three 19:03:38 right 19:04:05 and that's the kind of design that ends up with deadlocks in the kernel between the file system driver and two other modules 19:04:10 we love it 19:04:53 fizzie: Also about the opcode quiz: "TETRA" is a assembler directive in MMIX, but is not itself a instruction. Other things can apply to other instruction sets (although sometimes, it depend what assembler is in use). Also with 6502, which instruction are possible can also depend what variant of 6502, such as NMOS or CMOS or whatever. 19:05:35 In Glulx, it is necessary to define the maximum amount of stack space needed, although the stack is not addressable in Glulx. 19:05:42 I kind-of assumed it wouldn't be using the unofficial instructions 19:05:56 though on the other hand, if a calls b and b calls c and c calls d, and b and d have 4 bytes of stack frame, and a and c have 8 bytes of stack frame that must be aligned to an 8 byte boundary, then you end up using 28 bytes of stack or 24 bytes of statically allocated variables 19:05:56 which don't even have consistent names 19:06:01 (I do not really know how to estimate though) 19:06:06 or even functionalities, in some case 19:06:28 ais523_: Even if you do not use unofficial instructions, still some instruction are difference from NMOS or CMOS 6502. 19:06:45 we could also have separate versions of the x86 quiz for the intel notation and the at&t notation 19:06:46 (there are stable instructions like LAX, and unstable instructions which are deterministic on some 6502s, deterministic with diferent behaviour on other 6502s, and nondeterministic on still other 6502s; their behaviour often doesn't make much sense even when it's stable) 19:06:49 -!- galaxie has joined. 19:07:30 Hi! My mind is blanking, I feel like I was on the esolang wiki or maybe WikiPedia but I think I remember another visual-based esolang that wasn't Piet or Piet++. Anyone have any idea what that might be? 19:07:35 With LAX, there is actually a bug (even the bugs have bugs in 6502) with immediate operands 19:07:39 but of course the x86 quiz is tricky because you would have to update it with new instruction names every year 19:07:48 galaxie: No, but you can try looking in the categories in esolang wiki 19:08:13 galaxie: do you mean https://esolangs.org/wiki/Piet%2B%2B 19:08:17 oh 19:08:20 you mean it wasn't Piet++ 19:08:31 yeah, what zzo38 says then, try https://esolangs.org/wiki/Category:Non-textual 19:08:35 galaxie: there are quite a few image-based esolangs; the massive polyglot on Stack Exchange implements many of them at once 19:09:19 hmm, the Turing Tumble is listed in that category 19:09:54 I'm suspicious of the claims that it's TC, given that a) it doesn't have infinite memory and b) the most obvious means of giving it infinite memory (putting an infinite number of identical boards side by side) isn't obviously TC; it might be subtly TC though 19:09:56 ais523_: that category isn't only for image-based esolangs of course. it contains object-based ones like https://esolangs.org/wiki/Efghij 19:10:07 yes, and music-based languages like Fugue 19:10:15 Non-texual, what didn't I see that.. 19:10:28 ugh, now my Fugue hello world has got stuck in my head again 19:10:31 aren't music-based in a different listing? 19:10:48 it's surprisingly catchy for generated music; perhaps being based on a specific BF program gives it a sort of structure that generated code normally lacks 19:10:51 (most of which are garbage incidentally, but then, which esolang category isn't) 19:11:28 I'm tempted to say "Category:Shameful", which is arguably supposed to be entirely garbage, but I have a soft spot for ESME 19:11:34 Braincopter, that was it! Thanks! 19:11:50 glad to help 19:11:54 lol 19:11:58 fwiw, my first thought was Brainloller 19:12:32 it's hard to define ESME as a terrible language because it's more performance art than language 19:12:55 it's like if TURKEY BOMB was defined by example rather than specification (I rather like TURKEY BOMB too) 19:13:01 *were defined by example 19:13:17 ais523_: the trick is that the first esolang with any schtick is often great, but it gets boring when a dozen other articles on the wiki copy it 19:13:37 eg. Ook! has a place in my heart, but it wouldn't if it were invented now 19:14:04 it is probably better than brainfuck for most of the things brainfuck is good at, except for code golf and the things where the two languages are identical 19:14:17 the language benefits from having an entirely meaningless syntax 19:14:58 I think there have been some uses of it in education, to help people understand what is and isn't important in a language 19:16:37 hmm... showing that the syntax isn't important? dunno, grown up to meet both the original and the horrible Hungarian syntax versions of LOGO and Excel sort of shows that syntax in theory isn't important, but bad syntax can make you really hate the language 19:17:13 there's a hungarian notation version of LOGO? 19:17:16 I'll keep the English FD BK LT RT PU PD thank you 19:17:45 b_jonas: Not only with x86 there will eventually adding new instructions, although you could perhaps specify a version number (does it even have version numbers?). Glulx has version numbers, although Glulx also has "push" and "pull" which are not themself opcodes but are abbreviations for other opcodes. There are also some extensions which are not part of the core specification. 19:17:53 fwiw, I wrote The Waterfall Model Online in Hungarian notation because JavaScript is untyped, and it helped me catch at least one error 19:18:06 but in general it's pointless doing it when the compiler does it for you 19:18:07 ais523_: I'm not sure how much ... there's definitely a library of function definitions that give hungarian abbreviation synonyms to common commands 19:18:18 oh, Hungarian the language, not the naming style 19:19:00 yes, the language. not the lpszFoo thing. 19:19:44 And then, Z-machine is even more difficult. There are two sets of names for instructions (Infocom and Inform), and then different instructions per version (ZIP, EZIP, XZIP, YZIP), features which are Inform extensions, and features which are precluded by Inform extensions. 19:20:04 "lpsz" seems broken as a type system, anyway; the zero-terminated string /is/ a pointer, under standard C conventions, thus a long pointer to it would be a char**, not a char* 19:20:35 Is it Microsoft who used "lpsz" for this purpose? 19:20:37 zzo38: and x86 instructions that existed in certain old AMD cpus but are no longer in the latest ones 19:20:43 because the intel extensions won out 19:20:46 zzo38: I'm not sure they invented it but they're the most famous users of it 19:20:48 b_jonas: OK, that too 19:21:01 zzo38: Microsoft is just the most popular ones who use it, they're not the first ones 19:21:16 b_jonas: haven't even some Intel instructions died out? 19:21:19 like into 19:21:48 ais523_: I think only some really strange ones that were never intended to be used in mainstream programs, but only to debug the processor or something 19:22:09 ais523_: there are a lot that are not allowed in 64-bit mode, but still allowed in 32-bit code 19:22:20 that's mostly done to free up some of the one-bit opcode space 19:22:31 I think x86 also has different instructions for 64-bits and 32-bits, and maybe also 16-bits I don't know 19:22:33 this reminds me, there was a bit of a row in some minor processor semi-recently (last several years), because it had an instruction to switch the processor into a mode with an entirely different set of opcodes 19:22:54 ais523_: Doesn't ARM do that? 19:22:56 and it used a different security model, which in practice meant the feature was usable as a hardware backdoor even though that doesn't appear to have been the original intention 19:23:37 zzo38: yes, ARM has like three different opcode modes, plus like two or three different vector extensions ... but then, x86 also has three vector extensions now 19:24:00 ais523_: also some instructions "died out" in the sense that the cpu still supports them but there isn't a good reason to use them 19:24:27 b_jonas: more interestingly, there are some duplicate instructions which fit into different naming schemes and have different encodings 19:24:43 the processor treats them identically, but you're supposed to use one for ints and one for floats in case future processors care about the distinction 19:24:45 ais523_: yes, but MMIX does that to an extreme 19:24:59 ais523_: oh yes, that was the vector instructions, that mattered for performance for a while 19:25:36 basically they had pseudo-register that were closer to integer vector execution units and ones that were closer to float vector execution units, and the cpu had to transfer between them if you used the wrong bitwise vector instrs 19:25:39 Yes, MMIX has separate instructions for signed or unsigned 64-bit load/store, even though the function is same. 19:25:53 also aligned and unaligned instructions that don't differ on new cpus unless you turn on some compatibility flag 19:25:57 or something 19:25:59 on wait 19:26:13 maybe they differ, but the unaligned ones no longer have a penalty, so you can always write them even for aligned operands 19:26:21 movaps versus movups really does matter, IIRC 19:26:40 ais523_: not in the latest cpu iirc, but let me look it up in the opt'n manuals 19:27:53 actually, let me look it up in Agner's manuals, that's simpler 19:28:09 some searches imply that movups is as fast as movaps at moving the data as of Nehalem if the data happens to be aligned 19:28:16 (I suppose one possible reason using LDO and LDOU even though is same is for profiling; I have used unofficial 6502 opcodes with same meaning as official ones for profiling in NES/Famicom emulators, before.) 19:28:20 but that the instruction decoder is apparently faster at decoding a movaps instruction 19:29:22 zzo38: did you use the duplicate NOPs, or are there duplicate instructions that have an actual effect? 19:30:19 ais523_: There are both. Mostly it is the duplicate NOPs I used, although the others can also be used. 19:30:47 (Although I have also used unofficial instructions that do not duplicate any official instructions, in places where those unofficial instructions are seeming like useful.) 19:31:34 LAX seems like it would be useful quite frequently; many of the others are rather specific but (if stable) would still help in places where their functionality happens to be needed 19:32:21 I only use the stable ones 19:32:24 chapter 13.9 of https://www.agner.org/optimize/optimizing_assembly.pdf seems to imply that on modern cpus the movdqa have no advantage over the movdqu anymore 19:32:50 ais523_: hmm wait, you ask about the single float load instructions instead? hmm 19:33:15 if the difference really is in the instruction decoder, I could believe that movdqa equals movdqu but movaps decodes faster than movups 19:33:29 because even instructions that are equivalent in effect will decode in different ways 19:33:29 I'm not sure then, maybe this is only for some instructions 19:34:02 ais523_: yes, they're really not the same, because movups is for four bytes, whereas movdqa is for a full 16 or 32 byte register 19:34:22 no, movups is the whole register I think 19:34:25 that's what the p means 19:35:00 oh 19:35:01 right 19:35:01 sorry 19:35:02 the difference in instruction naming is that movups is effectively treating the register as an array of scalars, whereas movdqu is treating it as one big number 19:35:05 they're full register 19:35:08 but for a copy that doesn't matter 19:35:19 ais523_: no, I think the difference is that integer vs float like above 19:35:35 they used to differ in older cpus, and you use the one that mathes the next instructions on that regiseter 19:35:56 if you do float ops then you use the movups, if you do integer ops next then you use movdqu 19:36:21 really, x86 is just a huge mess :-D 19:36:42 this is not really the messy part 19:36:47 Yes, especially the modern x86. The original 8088 was not so messy as the modern one. 19:36:53 There's a performance difference in some Core microarchitectures if you mix "domains" for SSE, the domains being integers vs. floats. 19:36:58 it would be considered messy, if not for the fact that it has the rest of x86 to compete with 19:37:23 oh, did you know that to compile 3 byte or longer nops for padding, you want to know which of the first eight integer registers have not been written for a while, because those nops have a false dependency? 19:37:31 so the compiler has to think even to just insert a fucking padding 19:37:54 You *can* use movdqa to move floats around, and movaps to move integers, but you should be using whatever matches the operations you're going to do with them next. 19:37:56 is that on Intel or AMD or both? 19:38:08 ais523_: intel, and possibly only some intel cpus 19:38:09 IIRC AMD's advice for long NOPs is to just keep stacking operand size modifiers on a NOP 19:38:24 so it goes NOP, WORD PTR NOP, WORD PTR WORD PTR NOP, etc. 19:38:25 ais523_: yes, that's also a sad part, you need different nop instructions for the different cpus 19:38:29 that is at least easy to remember 19:38:35 Intel's advice is a lot more complex 19:38:37 ais523_: amd's decoder handles that well, intel's decoder is slow in that 19:38:39 I did not know that, but yes it is a messy thing in x86, and x86 is also extremely messy in too many ways 19:38:44 MMIX is better. 19:38:49 b_jonas: presumably this is why AMD advises it :-D 19:38:56 yes, possibly 19:39:18 this is intel optimization manual chapter 3.5.1.10 19:39:31 6502 has an unofficial two-byte NOP which is basically just NOP with an immediate argument 19:39:46 And the "mixing SIMD data types" is right after, in 3.5.1.11. 19:39:47 is there a NOP version with a two-byte argument, making an unofficial three-byte NOP? 19:40:18 ais523_: Yes, and it is faster than just one byte NOP twice. There is NOP with two byte argument, although it isn't actually no operation; it reads from the specified address and then does nothing with the result. 19:40:40 oh, OK, so that might actually do something with some mappers 19:40:46 as they'll be able to observe the read even though the read value isn't used 19:40:54 ais523_: intel recommends LEA with a mod-m/r byte and a one-byte displacement 19:41:08 (Which might be used if some addresses have side effects for reading, such as some PPU registers, and some mappers) 19:41:16 the NES has some registers which have side effects when read 19:41:19 it's strange, because there _is_ a nop with a two-byte opcode and one byte of mod-m/r 19:41:23 b_jonas: where is the address being loaded? 19:41:24 but apparently that's slower or something 19:41:36 ais523_: back in the same register 19:41:50 ais523_: like, loads the address 0[EAX] to EAX 19:41:54 I'm not even conviced that's a /false/ dependency at this point 19:41:58 or 0[ESI] to ESI 19:42:07 in C, I wouldn't expect "x = x;" to be a NOP 19:42:19 like, I wouldn't be surprised if it did nothing, but I also wouldn't be surprised if it did something 19:42:34 ais523_: yes, but this isn't C, and the optimization manual explicitly says that it's a true nop 19:42:36 especially if x was being changed concurrently in another thread 19:42:51 but I guess that as we're talking about a register here, it can't be shared with anything 19:42:59 "The other NOPs have no special hardware support. Their input and output registers are interpreted by the hardware. Therefore, a code generator should arrange to use the register containing the oldest value as input, so that the NOP will dispatch and release RS resources at the earliest possible opportunity." 19:43:17 in this case I believe the optimization manual knows what it's talking about. I know it has typos, I've reported at least one, but usually it's right. 19:43:18 ("Other" meaning anything else than the "xchg eax, eax" one-byte NOP.) 19:43:37 do the other cases of xchg even have their same meanings? 19:43:57 ais523_: what do you mean "their same meanings"? 19:44:17 b_jonas: well, the code of xchg eax, eax was repurposed for nop 19:44:18 the statement talks about other nop instructions they recommend, not about other cases of xchg 19:44:24 as on a 32-bit processor it's a true nop and was commonly used for that purpose 19:44:41 but on a 64-bit processor, an actual xchg eax, eax instruction would clear the top 32 bits of rax 19:44:54 so xchg eax, eax would have had to be given a different encoding 19:45:19 I'm wondering if the xchg r, r instructions with different registers than eax twice still have the same encoding as on 32-bit x86, or whether those were also moved 19:45:34 the linux kernel has a header with n-byte nops for various n 19:45:40 on various microarchitectures 19:46:32 ais523_: hmm 19:46:33 -!- tromp has quit (Remote host closed the connection). 19:46:34 ais523_: The one-byte instruction has an implicit EAX as one operand. 19:46:40 ais523_: Yes, NES has some registers that have side effects when read. Some mappers also have, such as my Famizork mapper, where the bankswitching register doesn't care about read/write. It does care the value in the data bus though; the bankswitching register is mapped in many addresses including some over the mirrors of the console's RAM, so it switches to the bank specified by the value in RAM. 19:46:53 ais523_: It's 90+rd for "XCHG EAX, r32" (for the 32-bit size). 19:47:05 fizzie: so instructions like xchg eax, ebx still keep their encodings? 19:47:14 now I wonder what the canoncial way to clear the top 32 bits of rax are 19:47:33 movzx eax, rax, possibly 19:47:52 (I don't know of any other mapper that maps stuff over stuff internal to the console, except that MMC5 spies on some of the PPU registers.) 19:47:57 Yes, they use 87 /r for XCHG r/m32, r32. 19:48:23 ais523_: that is a good question, now I'm confused. lookging up how this works in the manual. you know by the way that XCHG EAX with a register has a special one-byte shortcut encoding, and that's the one byte nop, right? 19:48:41 yes 19:48:44 whereas eg. XCHG EDX, EDX is a different encoding with a normal mod-r/m byte 19:48:47 but that doesn't invalidate your question 19:50:14 sadly this is the kind of info that is really hard to find in the intel manual 19:50:46 (Famizork also uses the smallest bank size than all other mappers: A bank is only a single byte long.) 19:51:27 I assume "xchg eax, eax" encoded the long way (87 C0) would actually clear the top 32 bits, but I doubt that's the "canonical" way. 19:52:17 Fun fact: ndisasm decodes 90 to "nop" and 87 C0 to "xchg eax, eax", but assembles "xchg eax, eax" into a nop: http://ix.io/1BXb 19:52:25 reading around this subject, I discovered that apparently "xor r10d, r10d" is a more efficient way to zero r10 than "xor r10, r10" is, even though you need a rex prefix either way 19:53:08 because some processors only recognise the zero-extended 32-bit version as a special case (this is the case that matters for the first eight registers as those don't need the prefix) 19:54:24 what a mess 19:54:33 fizzie: Why does it do tat? 19:55:07 zzo38: I would guess they haven't specifically considered that case, and it just falls out of how it got implemented. 19:56:47 GNU as, on the other hand, assembles "xchg %eax, %eax" into 87 C0. 19:57:07 incidentally, one processor architecture idea I had was to make the registers one bit wider than the memory that's intended to be read/written with them 19:57:19 and then remove the flags, conditionals instead look at the values in a register 19:57:23 (...in 64-bit code. In 32-bit code it assembles it to a 90-nop.) 19:57:40 so, e.g., jump-if-carry would jump if the top bit of a register were set 19:57:41 So I guess for proper comparison I should've said bits 64 to nasm too. 19:57:51 fizzie: which makes a difference 19:57:58 Yes, it does. 19:58:03 Well, that's reasonable enough. 19:58:17 -!- arseniiv has quit (Ping timeout: 246 seconds). 19:58:28 ais523_: the AMD manual says that the 0x90 opcode, if it would exchange EAX with EAX (that isn't always the case because of REX prefix), has special handling to preserve the upper dword of RAX 19:59:03 that's a reasonable way to define the behaviour (although I think defining it as NOP would be even more reasonable!) 19:59:32 ais523_: it does say it's treated as a NOP 19:59:45 ais523_: also the intel manual also says that at the XCHG instruction's description 19:59:49 it's just harder to fine 19:59:51 find 19:59:55 Nevertheless that is strange 20:00:20 ais523_: the AMD manual actually uses the phrase "true NOP" 20:00:27 zzo38: NOP-e. 20:01:12 whereas the intel uses the phrase "alias for NOP" (as in, there's a set of NOP instructions documented separately) 20:01:47 They'd have to invent a new one byte nop otherwise. And one byte opcodes are a very scarce resource. 20:02:23 ais523_: as for zeroing the register, I think that also depends on the cpu and you'd best check what the optimization manual for the right processor series says or what agner's manual says 20:03:04 b_jonas: zeroing an entire register, the consensus is that if you don't care about the flags, 32-bit xor is the best option regardless of the register 20:03:18 Still it look like strange if 0x90 opcode does not normally do that, then why it should do then? 20:03:26 ais523_: yes, I also thought of putting the carry on top of the register in such a way that only a few instructions access it, the others that write the register write an unspecified value in that bit, and the ones that read the register usually ignore that bit, except for special ones that read the carry 20:03:32 What is strange in Glulx is the "copys" and "copyb" instructions, which work differently from all other instructions. 20:03:40 I'm more interested in partial zeroes of the high byes (e.g. rax %= 256) 20:03:47 -!- grumble has quit (Quit: grumble). 20:03:50 b_jonas: What happens if you put in a REX prefix that doesn't have REX.W set in front of 90? 20:04:15 -!- grumble has joined. 20:04:26 ais523_: I'm quite sure the opt manual says things about that, both for index registers and vector registers 20:04:36 (ndisasm -b 64 decodes both "40 90" and "42 90" as plain nop, but not sure if I'd trust that.) 20:05:03 anyway, I had better go home, I think 20:05:14 bye everyone (I typoed that as "byte", maybe I should have left it?) 20:05:31 -!- ais523_ has quit (Quit: quit). 20:08:24 fizzie: IIUC if you make it exchange EAX with R8L or R8L with R8L then it will clear the bits above bit 32 of all registers involved, but check the manuals before you want to depend on that 20:09:37 Sure, I was just wondering what happens if you still make it "XCHG EAX, EAX" but just put in REX prefix, either just plain 40 or with the SIB index register extension bit (which doesn't affect anything) set. 20:12:59 ais523: hmm, interesting. the intel opt'n manual does talk about zeroing reigsters, but doesn't seem to say that to clear one of the high eight index reigsters with XOR or SUB, you should use 32-bit instead of 64-bit operands 20:13:34 (or I'm looking at the wrong place) 20:14:42 fizzie: if you use the one-byte shortcut XCHG EAX,EAX with a REX prefix that does nothing, that will still be a nop 20:15:12 I'm not sure if you use the normal non-shortcut encoding that has the mod-r/m byte 20:15:40 -!- tromp has joined. 20:15:42 I think with the mod-r/m byte it will clear the top half of the registersso won't be a nop 20:16:21 b_jonas: the question is whether the REX prefix does something in this case... namely turn the nop into a "proper" xchg eax,eax. 20:18:29 (I guess it could also raise a #UD, wouldn't that be fun :) ) 20:19:57 int-e: no, I told you it doesn't 20:20:05 even with the REX prefix, it would be a NOP 20:20:09 or so I read the manual 20:20:23 it might be a less efficient NOP of course, but still a NOP 20:32:32 -!- tromp has quit (Remote host closed the connection). 20:33:13 experimentally you're right 20:44:50 -!- tromp has joined. 20:46:51 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0xC69B455dd809C270; asm(".byte 0x90" /* one-byte NOP */: "+a"(x)); printf("x=%016lX,\n", x); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 20:46:52 x=C69B455DD809C270, 20:46:55 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0xC69B455dd809C270; asm(".byte 0x87, 0xC0" /* ordinary XCHG EAX, EAX */: "+a"(x)); printf("x=%016lX,\n", x); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 20:46:56 x=00000000D809C270, 20:47:41 0x40 0x90 is what we were discussing 20:48:43 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0xC69B455dd809C270; asm(".byte 0x40, 0x90" /* shortcut NOP with redundant REX prefix */: "+a"(x)); printf("x=%016lX,\n", x); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 20:48:44 x=C69B455DD809C270, 20:48:49 int-e: yep 20:51:10 how do I request specifically the R8 register in a gcc extended asm statement? 21:04:35 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0x0912A80D0A994D81; uint64_t y = 0xC8162E5AEE063460; asm("mov %1, %%r8\n\t.byte 0x45, 0x87, 0xC0\n\tmov %%r8, %1" /* XCHG R8D, R8D */: "+a"(x),"+r"(y):: "cc","r8"); printf("x=%016lX, y=%016lX,\n", x, y); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 21:04:36 x=0912A80D0A994D81, y=00000000EE063460, 21:04:40 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0x0912A80D0A994D81; uint64_t y = 0xC8162E5AEE063460; asm("mov %1, %%r8\n\t.byte 0x41, 0x90\n\tmov %%r8, %1" /* shortcut XCHG EAX, R8D */: "+a"(x),"+r"(y):: "cc","r8"); printf("x=%016lX, y=%016lX,\n", x, y); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 21:04:41 x=00000000EE063460, y=000000000A994D81, 21:33:05 ``` set -e; cd tmp; >a.c echo $'#include \n#include \n''int main() { uint64_t x = 0x0912A80D0A994D81, z; register uint64_t y asm("%r8") = 0xC8162E5AEE063460; asm(".byte 0x41, 0x90" /* shortcut XCHG RAX, R8D */: "+a"(x),"+r"(y):: "cc"); z = y; printf("x=%016lX, y=%016lX,\n", x, z); return 0; }'; gcc -fdiagnostics-color=never -Wall -O a.c; ./a.out 21:33:07 x=00000000EE063460, y=000000000A994D81, 21:33:33 ^ that's the official answer for how to get the value to the R8 register for the asm statement, per https://gcc.gnu.org/onlinedocs/gcc-8.3.0/gcc/Local-Register-Variables.html#Local-Register-Variables 21:44:16 the required syntax is strange 21:51:03 -!- xkapastel has quit (Quit: Connection closed for inactivity). 21:57:13 [[Pyhton (sic)]] M https://esolangs.org/w/index.php?diff=60071&oldid=60069 * Something Fawful * (+2) /* Hello World */ fixed a typo in the second program that made it output "Hhllo World!" instead of "Hello World!" 21:58:29 I didn't know you could include the % in a local register variable, I've only seen it as `register uint64_t y asm("r8")`. 21:58:33 Both seem to work. 22:01:44 fizzie: the docs aren't specifically clear about this. I include the percent sign and hope that if I shouldn't include the percent then I'll get a warning or error. 22:03:22 the inline asm expects at&t notation, so I expect I should name registers the way at&t notation names them 22:05:01 That's reasonable, although so is the argument that % is just the sigil for a register in an assembly statement and not part of the register name. 22:05:32 You do get an error for invalid names, so since both %r8 and r8 don't error out, I'm guessing they're treated the same. 22:08:38 fizzie: I don't know any sense in which it's not part of the register name, unless you're using intel syntax, which we clearly aren't using. the rust people argue that the name of the macro is `print` rather than `print!` and the `!` is a sigil to _invoke_ the macro, which makes sense because if you want to _define_ a macro, you don't use the bang. 22:08:56 I don't know a context where you refer to the register without the percent sign 22:09:10 in C/C++ code with gcc or assembly code 22:12:41 Well, in a 'register' variable you can. :) 22:13:48 More seriously, the GNU as manual says "AT&T register operands are preceded by ‘%’", which you can definitely read as saying the % part is not part of the register, but part of the syntax for referring to a register. 22:14:25 you can do intel syntax inline asm these days 22:14:49 Also, the canonical excample at https://gcc.gnu.org/onlinedocs/gcc-8.3.0/gcc/Extended-Asm.html#Extended-Asm puts "rdx" in the clobber list without a % prefix. 22:15:23 (Look for "rdtsc" on the page.) 22:15:39 [[Pyhton (sic)]] M https://esolangs.org/w/index.php?diff=60072&oldid=60071 * Something Fawful * (+1) /* Truth Machine */ Fixed some errors in the code here too. I probably shouldn't have tried to copy the code directly from another computer. 22:16:00 (I don't know what an "excample" is.) 22:16:03 fizzie: hmm 22:16:15 kmc: sure, by assembling with yasm 22:16:32 You can use Intel syntax with GCC as well. 22:16:48 fizzie: ok, good point about that example in the manual 22:17:11 By switching with -masm=intel globally, or by adding the right ".intel_syntax noprefix" directives around an inline asm segment. 22:17:49 (Though I don't think there is a "resume whatever the previous syntax was" directive, so you can't make an inline asm segment that works both with -masm=intel and not.) 22:17:52 mhm 22:18:29 (They should have a .pop_syntax.) 22:18:38 yeah 22:18:50 or like scoped to labels 22:19:05 .intel_syntax noprefix 1f; ... 1: 22:19:08 the numbered relative labels are tg 22:19:22 oh, there's popsection too 22:19:24 fizzie: youv'e seen the metadata table tricks that Linux does? 22:19:38 Probably not? 22:20:35 -!- MDude has quit (Ping timeout: 255 seconds). 22:21:13 here's an example https://github.com/torvalds/linux/blob/v4.20/arch/arm/include/asm/assembler.h#L246-L251 22:21:48 that macro inserts an instruction sequence x, and also writes an entry into a special section __ex_table. the linker is told with "a" to append all of these into that section 22:22:00 and the entry refers to the address of the instruction sequence 22:22:10 which is handled in object code using relocations in the usual way 22:22:16 Linux uses this trick for many things 22:22:31 this particular example, the goal is to annotate instructions which read from userspace memory 22:22:44 so that if they fault, the kernel can return -EFAULT or whatever, instead of panicing as with a usual kernel-mode fault 22:22:46 kmc: Linux used to have many dirty tricks back when gcc didn't have all the features they needed. these days less and less of them are needed. 22:23:03 they also use it for various sorts of self modifying code 22:23:16 for example, the kernel has a table of every single LOCK prefix in the code 22:23:27 what? 22:23:32 if a SMP-capable kernel is booted on single-core machine, it can overwrite those LOCKs with NOPs 22:23:44 there are many forms of smc in the linux kernel 22:23:47 wow that's scary 22:23:59 in order to do tracing, debugging, and to reoptimize the same binary kernel for different CPUs at boot time 22:24:02 b_jonas: what's even better 22:24:05 if you hot(un)plug a CPU 22:24:10 it will rewrite them /at runtime/ 22:24:13 -!- MDude has joined. 22:24:13 yeah, there was probably an intermediate time betweenm the time when everyone had non-SMP machines and when everyone had SMP machines 22:24:26 mhm 22:24:27 kmc: wait, seriously? 22:24:38 I know debian shipped a separate -smp kernel at one point, which would avoid the need for this 22:24:47 but it's useful in general to have a single kernel binary that works well on as many machines as possible 22:24:50 b_jonas: I believe so 22:24:50 there are machines with hotplugged cpus but only one core in a cpu? 22:24:54 I guess? 22:25:00 kmc: sure, the separate smp makes sense because there are differences other than lock prefixes 22:25:06 yeah 22:25:18 but that was back in x86_32 22:25:21 and of course ksplice uses self modifying code too 22:25:26 which is how I know about thi sstuff 22:25:33 because it also has to play nice with the OTHER forms of smc 22:25:44 most x86_64 cpus have more than one core, so the non-smp kernels became irrelevant 22:25:54 well 22:25:55 not quite 22:26:04 you might still want them in a virtualized environment 22:26:07 smc tricks use stop_machine() which essentially gives one kernel thread full control of the machine (ignoring SMM and the other stuff that goes on below the OS layer) 22:26:17 b_jonas: I think that's part of the justification, yeah 22:26:50 and some people do run linux on underpowered arm machines 22:26:55 those may still be single-cored 22:26:55 fun fact: the PowerBook Duo had a hot-plug FPU 22:27:02 in the dock 22:27:14 these things are scary 22:27:23 you could use it as a graphics workstation at your desk, then take it portable and run the same code, albeit slower, with soft FPU 22:27:27 really neat imo 22:27:37 I guess the modern version is having a GPU on Thunderbolt or something 22:27:42 features that are only ever used in servers in banking industry that have to be super-reliable 22:27:47 yeah 22:28:01 do they have a hot-plug motherboard too? 22:28:06 I don't know how that would work 22:28:32 the powerbook? 22:28:37 FPUs as discrete chips were common back then 22:28:50 you would need to run some bus lines from the internal mobo to the doct through the dock connector 22:28:56 but you'd probably need that for other things, anyway 22:29:19 "run the same code, albeit slower, with soft FPU" => that was done a lot without hotplug too, on machines with optional cpus, such as the 386 and 486, where programs overwrite float operations at load time 22:29:21 I think Lenovo has switched to Thunderbolt-based docks, and some of those do have external GPUs, like the https://www.lenovo.com/gb/en/accessories-and-monitors/docking/universal-cable-docks-thunderbolt/Thunderbolt3-Graphics-DockUK/p/G0A10170UK 22:29:21 the dock is a thing you slide the whole laptop into, like it's a huge tape cartridge or something :D 22:29:26 b_jonas: right 22:29:51 b_jonas: I think that was common on OS Classic because, even aside from this weird PowerBook, most macs didn't ship with a FPU, but many people would add one 22:29:52 so that the first one and half bytes of the operation were either WAIT; ESC or INT 22:30:29 unfortunately the 68LC040 has a hardware erratum which prevents kernel mode FPU emulation from working correctly :/ 22:30:39 it needn't even be a discrete chip or anything, as long as the same binary is distributed to clients with different machines 22:31:02 as I discovered when trying to install Debian on a LC 475 back... gosh, almost 20 years ago 22:31:09 smh, i'm old now 22:31:15 in fact I'm older than I've ever been 22:31:18 and now I'm older still 22:31:26 oh, and it needn't even overwrite the individual calls in load time, so it doesn't need a symbol table, it can just have the emulation routines overwrite their caller 22:32:29 the 68k mac linux bootloader is an ordinary OS Classic program which kexecs linux 22:32:52 it relies on macos to set up some of the hardware 22:33:03 and besides which the actual boot rom is only equipped to boot mac os 22:33:11 (and maaaaybe A/UX) 22:34:18 -!- SomethingFawful has joined. 22:34:36 The PPC Mac Linux I was using ran the kernel hosted on the Mach microkernel. 22:34:39 https://en.wikipedia.org/wiki/MkLinux 22:35:40 I think the bootloader was slightly odd too. 22:35:42 yeah 22:35:46 I tried that as well 22:36:20 kmc: I have no problem with that unless it slows down the boot process too much. doesn't windows do something like that too these days? 22:36:29 hm? 22:36:43 you know, I've noticed that every bootloader eventually grows to be an OS, which needs its own bootloader 22:36:56 as in, sometimes I suspect that it pre-loads some parts of the default windows during the boot menu, at least the parts it can safely discard if you choose to boot a different OS 22:37:00 (I think on the iBook I could run a more regular Linux? MkLinux was just on the Performa some-number-or-another.) 22:37:01 maybe 22:37:05 the windows bootloader that is 22:37:15 fizzie: yeah, the G3+ OpenFirmware macs are easier to do linux 22:37:21 I ran stock Debian on a toilet-seat iBook among others 22:37:32 OFW can load an ELF (or whatever) image kernel easily 22:37:38 Right, yes, they did the OpenFirmware thing. 22:37:43 "toilet-seat iBook"? what's that? 22:37:47 b_jonas: google it 22:37:56 [[Pyhton (sic)]] https://esolangs.org/w/index.php?diff=60073&oldid=60072 * Something Fawful * (+14) lowercased the title. 22:38:10 I don't know much about older apple hw, because they weren't too popular here 22:38:34 the modern apple are more popular these days 22:38:48 still not as popular as in the US, I believe 22:38:55 OpenFirmware has a Forth shell, it's the greatest thing. 22:40:04 yep 22:40:28 a friend of mine spent a while writing a QR code decoder in OFW forth, for OLPC 22:41:13 they have a supported way to root the machines, but they ship locked down in order to deter theft. the idea is that you get the lock key out of band. and the easiest / cheapest way would be a qr code 22:41:22 but I think in the end it didn't work :/ 22:41:34 I used loadlin on DOS to load linux. DOS is less of an operating system than the stuff they cram into boot loaders these days. 22:42:00 me too 22:42:07 or BIOSes 22:42:45 you could use loadlin and then you could use other hacks to run your Linux root filesystem on FAT16 so they could coexist without partitioning 22:42:54 okay uh, question, if I have a Python interpreter for the esolang I have recently made, would I be wanting to upload it on an external server somewhere or would I be uploading it to esolangs.org directly. 22:43:10 C:\LINUX 22:44:04 kmc: when i give up on all software should i write in c or should i make a new language first 22:44:06 twh 22:44:08 int-e: yes, those too 22:44:28 When I was making sure my SS5 was still at least somewhat working (before giving it away), it turned out the EEPROM chip had given up, and the only way I could make it boot was to say "1 0 mkp real-machine-type 1 mkp 8 2 mkp 0 3 mkp 20 4 mkp 87 5 mkp cc 6 mkp 1d 7 mkp c0 c mkp ff d mkp ee e mkp 0 f 0 do i idprom@ xor loop f mkp" in the OpenBoot prompt on every restart. 22:44:35 how large is grub2 these days? 22:44:49 I hope it still fits a floppy at least 22:44:54 hmm 22:44:57 that's quite a mouthful 22:45:07 b_jonas: probably not including every single module 22:45:15 but for a minimal boot yeah 22:45:15 cna loadlin append-load a kernel that's stored on more than one floppy disk? 22:45:20 heh 22:45:27 good question 22:45:33 because these days kernels don't fit floppies either 22:46:26 SomethingFawful: If it's of non-trivial size, it's probably a better bet to pick one of the code hosting sites (github, gitlab, bitbucket) and link to that. Or https://github.com/graue/esofiles if graue is actually still accepting pull requests. 22:46:43 kmc: huh, I never tried to have linux and dos coexist without partitioning, except in as much as storing the kernel on the DOS partition 22:47:04 I do know that you can use umsdos or whatever that thing is called to do that, but I don't think it's a particularly good idea 22:47:22 hey wait 22:47:27 someone came in with an on-topic question 22:47:37 yes, yes I did. 22:48:15 I want to say at less than 5 KiB it's size is currently qualifiable as Trivial, but we'll see when I get those last 2 functions done. 22:48:57 SomethingFawful: if the interpreter isn't too large and you can and want to allow distributing it without license constraints per https://esolangs.org/wiki/Esolang:Copyrights , then you can put it on the wiki 22:49:12 you can link from an externally hosted copy no matter what 22:49:34 okay thanks 22:50:42 I think somewhere between two and ten screenfuls of text is the boundary what's still reasonable to embed in a wiki article. 22:51:00 I don't know what you can do as a file upload, I think the existing ones are almost exclusively pictures. 22:51:38 To run DOS program and Linux on same computer I just use Linux, and then use a emulator to run the DOS programs. (There is still the use with DOS; it boots much faster than Linux or Windows, and if you use only DOS programs then it may work much better than other operating systems. Or if you want a sufficiently small operating system for some simple thing, DOS will do.) 22:51:39 Apparently not "almost" but "entirely", per https://esolangs.org/wiki/Special:MediaStatistics 22:52:29 zzo38: well sure, that is the reasonable thing to do _now_, when we have machines with tons of memory 22:52:31 (Why does Bitz hello world2.jpg have application/photoshop as its MIME type, and no links?) 22:52:39 and a powerful video card 22:53:23 fizzie: we're in esoteric-land. you could upload a polyglot that's both an image and an interpreter. 22:53:26 Yes, but still if you have a machine with less memory or other video card, is another thing you might use DOS for, perhaps. 22:53:55 b_jonas: In this case, looks like someone has uploaded a .psd file with a .jpg extension. 22:54:00 zzo38: yes, that's why back when I only had such machines, I dual-booted rather than used an emulator 22:54:08 also the emulator software was more buggy back then 22:54:40 psd? what's that? 22:54:51 Photoshop's native file format. 22:54:52 photoshop document 22:55:00 ah 22:55:09 (Gimp can open it, that's why I know what's inside.) 23:04:38 -!- xkapastel has joined. 23:28:15 [[Pyhton (sic)]] https://esolangs.org/w/index.php?diff=60074&oldid=60073 * Something Fawful * (+108) added a link to the offical implementation. 23:32:29 -!- AnotherTest has quit (Ping timeout: 246 seconds). 23:47:51 -!- oerjan has joined. 23:52:15 -!- Essadon has quit (Quit: Qutting). 2019-02-25: 00:00:03 -!- danieljabailey has quit (Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in). 00:11:44 -!- Lord_of_Life_ has joined. 00:13:48 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:13:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:23:02 Does DOS even have a "do not fragment" flag? Otherwise is it even possible to boot from a non-DOS kernel stored there, since the bootloader for the other operating system might not undertsand the DOS file system? 00:32:00 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:37:29 I don't think it does. IIRC, the SYS command specifically ensures that the two files *DOS* needs to boot (MSDOS.SYS + IO.SYS) are stored contiguously and at the start of the data area. At least on some versions. 00:38:17 ...I don't think it does have a "do not fragment" flag for files, that is. A lot of bootloaders know how to understand FAT, though. 00:48:06 -!- FreeFull has quit (Quit: kernel update). 00:49:17 -!- FreeFull has joined. 00:55:06 zzo38: it would be possible with something like LOADLIN which runs as a DOS program 00:55:11 or the LILO approach 00:55:21 LILO, iirc can boot a kernel off ext2 which is not contiguous 00:55:34 it stashes the fragment addresses somewhere (MBR?) 01:03:08 I think the sector map is in a file (/boot/map). Not sure how it finds that file though. 01:06:46 fizzie: most likely its own sector address is in the MBR 01:06:52 and it's small enough to be guaranteed to be one chunk 01:06:54 but I'm not sure 01:07:10 * kmc tries to remember why /boot was traditionally separate anyway 01:11:40 @metar ENVA 01:11:42 ENVA 250050Z 27021KT 9999 -SHRA SCT032 OVC047 07/02 Q1030 RMK WIND 670FT 28020G31KT 01:15:44 kmc: Problems with accessing all the sectors of large disks via BIOS functions was at least one reason. 01:15:56 ah yeah 01:16:09 these days one has an EFI partition instead 01:16:32 I'm pretty salty that they went with EFI rather than OpenFirmware for modern PC hardware 01:16:49 I've never tried coding for EFI, although I know it's not that difficult and you can even target it with Rust 01:17:00 uses PE executables, and there's a large set of system calls available 01:17:08 I really think you could write nontrivial application software to run in EFI 01:17:18 although I'm not sure if you have access to multiple cores or other fanciness 01:37:29 MULTIOCULAR CAT FACE WITH HEART-SHAPED EYES 01:37:42 SMILING SPIDER FACE WITH HEART-SHAPED EYES 01:38:28 whoa whoa whoa 01:38:36 No one has adopted MAN IN BUSINESS SUIT LEVITATING? 01:40:09 zzo38: re do not fragment flag, if I understand correctly, the S attribute on files is or was interpreted by defragmenters as a sign to not move the file, as in, keep all clusters where it currently resides, and this was relied on by past bootloaders that are like lilo in that they load the system files from fixed locations, 01:40:21 BULLET WITH BUTTERFLY WINGS 01:41:28 but the boot loader of current versions of DOS actually parse the root directory and the FAT enough that this is no longer necessary, except possibly on ancient disks with sectors smaller than 512 bytes. 01:41:57 * kmc implemented FAT12 once for a course project 01:41:59 it's really not hard 01:42:21 kmc: sure, but you also have to implement fat16 to boot from a hard disk 01:42:26 true 01:42:51 otoh you only have to implement the part that reads, not the part that writes, and you don't need to descend into directories, because the files needed at boot are in the root directory 01:43:55 DOS can also boot from a compressed filesystem, in which case I believe the three system files will be marked such that they aren't compressed, but I don't know the details of this, because I never tried to set that up, I only made file systems other than the boot fs compressed 01:44:20 there is also at least one third-party software that makes DOS support a custom file system and lets it boot from it 01:46:44 oh, which one? 01:46:57 kmc: a separate /boot is practical for various reasons. I use a separate boot because I use grub-l, which doesn't understand ext4, but my root file system is ext4. one could use a separate /boot so that the boot loader doesn't have to understand RAID, or EFI partition tables, or even access the boot disk on hardware level at, or to boot from hard disk but use an nfs mount for most of the file system, etc 01:47:32 yeah 01:47:33 or to boot using loadlin, which uses the underlying DOS to read the kernel (and initrd), and DOS only reads FAT-12 and FAT-16 01:47:45 for RAID servers, I like to put the bootloader on a USB stick 01:48:24 I had a server with full disk encryption, and the USB stick had both the bootloader and the encryption key. so it was capable of unattended boot, but I could take the USB stick out and ship the rest of it cross-country without worrying about my data being read 01:48:58 heck, at one point I even booted windows 95 from a floppy disk, to avoid having to set up and maintain a bootloader that can choose between booting DOS and Win95 and Linux on the same machine and hard disk. 01:49:24 mm 01:49:41 BITD i used loadlin and my 'bootloader' menu was in AUTOEXEC.BAT 01:49:45 for Win98/Linux 01:49:57 windows 98 was tg 01:50:04 later on I triple booted Win98/Win2k/Linux and used NTLDR as my first bootloader 01:50:12 but like you said above, boot loaders these days contain a whole operating system, so there are few things for which you'd need a separate /boot if you're willing to trust the boot loader 01:50:16 🎿👢🥾 01:50:23 triple boot 01:50:35 it was surprisingly easy. you'd install LILO/GRUB into the non-master boot record, dd those 512 bytes onto the NT drive and you're ready 01:51:06 kmc: just Win98/Linux is fine. that's what all the Linux distributions were geared to support, to get people into Linux. I did triple boot among DOS, Linux, and Win95OSR2, and I didn't quite trust the Win95 enough, so its boot went on the floppy 01:51:31 * kmc tries to remember if she had any other weird boot setups 01:51:53 I've written my own MBR programs 01:51:55 not bootloaders though 01:51:56 remember when you used windows nt as your kernel with linux userspace 01:51:56 demos 01:51:57 kmc: oh! Win98/Win2k/Linux triple book. nice. 01:52:07 shachaf: if by "when" you mean "now"? 01:52:10 yes 01:52:19 i'm literally talking to you through mosh in WSL 01:52:21 on Win10 01:52:28 i am aware 01:52:30 good 01:52:38 kmc: I tried too. I wrote one that just wrote a message on the screen. 01:53:00 I switched back to Windows last year after 15 years as a die-hard Linux user 01:53:09 this shocked my friends much more than me changing gender 01:53:30 kmc: if you had a single-use halting oracle what would you ask it twh 01:53:57 how can entropy be reversed 01:54:32 0 01:54:50 The grub-l setup is hopelessly obsolete. I'd have to get rid of it if I used a boot hard disk larger than two terabytes, but that might not happen soon: even if I buy larger hard disks, the boot disk will probably be one of the two I have now. 01:54:58 what's grub-l 01:55:12 kmc: it's the collective name for the grub versions with major version number 0 01:55:19 any grub that isn't grub2 or grub4dos 01:55:37 grub with 1 in its version number counts as grub2 before it was released 01:55:38 ok 01:55:47 so it's just old grub 01:55:52 yes 01:56:31 I'll probably want to switch to grub2 for my next computer even if grub-l could technically work though, as a way to introduce redundancy so that I can boot quickly if the boot hard disk dies. 01:57:30 `addquote ugh, now my Fugue hello world has got stuck in my head again 01:57:32 1332) ugh, now my Fugue hello world has got stuck in my head again 01:58:15 `? module 01:58:16 A module is like a vector space, except with a ring instead of a field. 01:58:32 `cwlprits module 01:58:33 oerjän 01:58:43 oerjan: what's the joke twh 01:59:00 `dowg module 01:59:01 6169:2015-11-02 learn A module is like a vector space, except with a ring instead of a field. 01:59:47 `? vector space 01:59:48 A vector space is just a module over a field. 01:59:49 aha 02:02:08 `? lie bracket 02:02:11 Politicians try to stay within the lie bracket: Not so many lies that voters cannot stand it, but not so few that they think you have nothing to give them. 02:02:21 `dowg lie bracket 02:02:22 6174:2015-11-02 le/rn lie bracket/Politicians try to stay within the lie bracket: Not so many lies that voters cannot stand it, but not so few that they think you have nothing to give them. 02:02:30 is this entry outdated twh 02:04:25 shachaf: we could amend it s/Poli/Most poli/ 02:04:43 it wasn't completely true in the past either, there were always some exceptions 02:05:00 Who pinged me? 02:05:11 -!- SomethingFawful has quit (Ping timeout: 256 seconds). 02:05:39 When? 02:05:48 There was an olist and a pbflist 02:06:04 how can entropy be reversed <-- i think shachaf is subtly hinting that the oracle only gives one bit of answer. 02:06:06 We were talking about Ada, maybe you have a highlight on that? 02:07:47 shachaf: the olist was almost a week ago 02:08:10 oerjan: what's the joke twh <-- hm i guess there isn't one. 02:09:02 kmc: Let's be honest, OS choice is _clearly_ more significant and invariant than gender, anyways 02:09:24 kmc: I'm not surprised on anyone switching back to windows. windows has changed a lot, and hardware too. 02:09:34 and there are people who dual-boot gender 02:09:36 oerjan: There as one, see below. 02:09:39 b_jonas: indeed 02:09:41 a lot of computer environment things changed. 02:09:46 b_jonas: and linux has changed too, and not for the better 02:09:48 s y s t e m d 02:09:50 w 02:09:54 although I'm still not free, because WSL runs systemd :( 02:10:04 I'm not changing to windows, but I can at least understand it better 02:10:06 another advantage of windos is that more of the weird ham radio software runs in windows 02:10:16 it was an easier switch than I thought 02:10:19 all operating systems are bad 02:10:19 it was a slippery slope 02:10:23 as a result of being software 02:10:28 got a new laptop, thought "hm I'll poke around Win10 while I decide which distro to install" 02:10:32 "might as well get chrome" 02:10:41 I was required to do a lot of things on windows for work, in my current job and my previous job too 02:10:43 "hey this is actually usable. what, there's a tiling WM built in?" 02:10:54 kmc: you could still use both windows and linux 02:10:56 "wow it boots fast and the battery life is incredible" 02:11:03 oerjan: There as one, see below. <-- i'm not convinced i considered it a joke when writing it. or now. 02:11:05 "let's try out this WSL thing" 02:11:05 it's not like computers or disks are so expensive that you can't have both 02:11:08 sure 02:11:15 but I have literally only needed actual Linux one time 02:11:17 and I used a VM 02:11:24 I didn't even really need it then 02:11:32 it was just easier than figuring out how to install adb in Windows 02:11:44 oerjan: Well, they were added within two minutes of each other. 02:11:57 [[User:Cortex/draft]] https://esolangs.org/w/index.php?diff=60075&oldid=58971 * Cortex * (-811) Blanked the page 02:12:21 `? d-module 02:12:22 D-modules are just modules over the ring of differential operators. Taneb invented them. 02:13:08 ``` set -e; cd wisdom; find -type l -printf "%p -> %l\n" # should all of these symlinks in wisdom exist? 02:13:08 ​./СССР -> ссср \ ./the usual suspect -> usual suspect \ ./perpetuum mobile -> perpetual motion machine \ ./r.i.p. -> rip \ ./☆ -> * \ ./h4gb4rd -> hagb4rd \ ./issue -> .doorstop \ ./the reals -> real \ ./off by two error -> off by two \ ./wolfram -> stephen wolfram 02:13:18 Why not? 02:13:59 `? * 02:14:00 Twinkle, twinkle, little star! 02:14:58 shachaf: um, neither is a joke. a vector space really _is_ just a module over a field. 02:15:28 Neither is a joke individually, the joke is the two definitions taken together. 02:15:36 Circular definitions. Is the joke. 02:15:54 [[Pyhton (sic)]] https://esolangs.org/w/index.php?diff=60076&oldid=60074 * Something Fawful * (+95) aded categories 02:16:30 `? applicative functor 02:16:31 Applicative functors are just monoids in the category of endofunctors. 02:17:29 shachaf: actually the module one is sort of a joke. just not a very good one. 02:17:30 OKAY 02:18:37 oerjan: your jokes are good and you should feel good hth 02:18:50 better than mine at least 02:18:57 `5 02:18:59 1/2:1005) LIST OF ACRONYMS: List Integrating Some Terminology Of Fine Authentic Credibility Relating to Our New Year Media System \ 505) Isn't "strip nomic" just another word for all dating, though? \ 481) game where you flip a coin but it's really really big \ 856) i like the idea that if you name your country a Soviet Republic you automatically get the right to call up Lenin on the telephone and complain about bathroom pranks 02:19:14 `n 02:19:15 2/2: \ 195) hey speaking of young, some kinds asked me to buy some tobacco for them and i did, and then they were all likd "wow that guy's coool" when i told them i don't need their money 02:19:24 I'm not sure if I even have a good joke somewhere in there. maybe the vacuum tube one isn't good either. 02:19:29 fizzie I like your remark 02:23:09 Use Windows or Linux if you want (since many programs can run on both anyways), or dual-boot if you want, but I find Linux is mostly much better than Windows (although there is also stuff that both Linux and Windows do badly, as well as stuff that work better with Windows, but mostly Linux is much better). 02:23:32 there's a hungarian notation version of LOGO? <-- now i'm wondering what prefixes it uses. iirc Logo itself already uses : as a sigil 02:23:41 One thing I've found is that running Linux on a laptop is just hell. 02:23:53 -!- simeon28 has joined. 02:24:17 -!- simeon28 has quit (Client Quit). 02:24:25 You might also prefer to purchase a computer with Linux already installed. (I purchased the computer I am using now it came with Linux already installed. Although, it is not a laptop computer, but they also sell laptop computers with Linux, too) 02:25:13 -!- Sgeo_ has joined. 02:27:30 -!- Sgeo has quit (Ping timeout: 264 seconds). 02:27:53 `cat bin/hlnp 02:27:54 scowrevs="$(/usr/bin/paste -sd'|' /hackenv/share/scowrevs)"; hg log -r "tip:0 & ! ($scowrevs)" "$@" | sed 's/\(\(^\| \)[ oerjan: ouch yeah, Excel can also use decimal comma instead of decimal dot, in which case three punctuation characters change, and this can be changed separately from the language 02:33:21 * oerjan is making a pun on hungarian notation in case b_jonas missed it 02:33:55 or, not even a pun, just a more common meaning 02:34:31 oerjan: https://esolangs.org/logs/2019-02-24.html#lkj 02:35:05 um, i literally quoted that 02:35:06 oerjan: also it gets boring after a while. try the "Hungry" pun, in case I haven't heard that. 02:35:44 or maybe something about reverse polish notation 02:36:04 -!- b_jonas has quit (Quit: leaving). 02:36:11 i think you meant to link to a later comment that i hadn't yet got to. or should have. 02:42:23 `? hungry 02:42:24 hungry? ¯\(°​_o)/¯ 02:42:30 -!- galaxie has left. 02:42:41 `? ostrich 02:42:42 Ostrich used to be a large middle European empire in frequent conflict with Turkey. After a famine it sort of split into Ostrich/Hungry. Alas its policy of keeping its head in the sand did not get it through the Great War, and with its final attempts to take flight failing, it ended up cut into several pieces. 02:44:15 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:14:40 pikhq: what linux laptop problems do you have 04:00:43 -!- danieljabailey has joined. 04:47:06 -!- dingwat has quit (Quit: Connection closed for inactivity). 04:47:38 Wifi 04:53:34 -!- MDude has quit (Ping timeout: 250 seconds). 05:01:34 mm 05:01:53 i haven't had problems in a long time, but almost all my laptops have been thinkpads and I think the rest at least had Intel WiFi cards 05:02:18 -!- FreeFull has quit (Quit: Off to sleep). 05:02:23 Seems to work OK on my Dell laptop 05:02:41 remember bcm43xx 05:02:50 and NDISwrapper 05:02:52 and all those things 05:03:11 ndiswrapper... those were the dark days 05:04:00 going to go edit XF86Config for old times' sake 05:04:13 shachaf: don't screw up your modelines 05:04:16 or your monitor might explode 05:04:18 joke's on me 05:04:30 ubuntu only works with no xorg.conf file 05:04:42 if i make a file, no matter what i put in it, x just doesn't start 05:04:54 even if i ask it to generate the default file that's supposed to be what it does anyway 05:05:04 do you know why? 05:05:07 no 05:05:10 -!- nfd9001 has joined. 05:05:17 TBH, these days I just use Windows on a laptop with WSL, and mosh to a full Linux system as I need it. 05:05:19 and every time i mess with the video settings things end up worse than before 05:05:27 pikhq, same 05:05:31 does anyone here know of any generalized F-algebra based languages? 05:05:32 the year of linux on the desktop 05:05:44 I'm pretty impressed with WSL 05:05:46 Like, you may only declare algebras and their carriers 05:05:55 it can't have been easy to implement most of the linux kernel syscall api 05:06:08 probably easier than wine 05:06:14 the only non-graphical program I've found that doesn't work is GNU Screen 05:06:18 I still usually use a VM, but WSL is quite nice 05:06:21 and I'm 100% willing to blame Screen for that 05:06:27 hi nfd9001 05:06:34 hey shachaf :D 05:06:35 I don't know what that would be but I like F-algebras 05:07:09 Wait, do I know you? 05:07:17 from where? 05:07:32 I don't know. 05:07:50 `welcome nfd9001 05:07:51 nfd9001: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 05:07:52 you've probably seen me on #haskell once or twice? 05:08:47 i've been a passive observer of esolangs before, written a location-based BF, and i have something like half a spec together for a language based on Linda 05:08:57 which i guess just looks like a weird platonic Erlang 05:09:17 never was too active here though 05:28:48 kmc: musl reveals a few bugs in it. 05:29:15 [[Increment]] N https://esolangs.org/w/index.php?oldid=60077 * Cortex * (+492) Created page with "'''Increment''' == Commands == {| class="wikitable" |- ! Character !! What it does |- | Any character except the ones listed below || Increment the accumulator by the charact..." 05:29:31 Though the main one I know is that it has the wrong x87 settings, and since musl's libm uses long doubles, it actually ends up showing that. 05:30:30 nfd9001: What is the half of the spec so far? 05:31:11 pikhq: Screen has the wrong settings? in what sense 05:31:19 Hah, it's handwritten, sec 05:31:30 kmc: No, I mean WSL has this bug 05:31:35 -!- arseniiv has joined. 05:31:41 oh 05:33:56 zzo38: https://cdn.discordapp.com/attachments/465424725146075136/549463743395004416/unknown.png https://cdn.discordapp.com/attachments/465424725146075136/549463882922721311/unknown.png no discussion of syntax in here yet, but i can get to the general idea 05:35:14 Basically, you should be imaging a Linda-like tuplespace on which abstract processes are trying to pull tuples that match patterns. Their output is just committing more tuples to the bag 05:36:26 So ("word", x, y, z) -> (z, "otherword", x, x) could describe a machine that matches a tuple where x, y, and z are free variables, then sticks them into the pattern of its output on the right 05:36:39 and it goes right back into the same bag 05:37:14 I imagine an efficient compiler would try to inline work, and then it'd all be managed from "the bag" by a work-stealing scheduler 05:38:43 side effects/atomic actions could be performed by passing tuples to "special machines" you pass arguments and a callback name 05:39:11 like (cat, a, b, callback) -> (callback, a+b) 05:40:42 OK, I can see what you mean now 05:41:17 it's far from a fully-baked idea 05:41:36 probably could use some sort of a combinator 05:42:27 Yes 05:47:03 Possibly multiple tuples in either side of the definition (especially if machines are selected at random)? 05:47:28 Yeah, no guaranteed order 05:48:20 Or we could instead explicitly make curried machines, ie. matching on one machine creates another machine which does its work and then stops watching the bag 05:48:59 OK, you could do that then if you want to do, I suppose 05:50:10 Either way, I'd imagine that a machine can only wait on one tuple match at once, so as to avoid deadlock 05:50:51 OK 05:55:33 Or we can have some machine that can glom together two tuples 05:56:07 Whichever way you slice it, it kind of hurts the platonic beauty of the thing. I can't really decide which way to go 05:56:25 I'm ok with the idea of one machine outputting multiple tuples, conceptually. It'd make perfect sense in Linda 05:57:30 OK, you can try 05:58:12 I'd kiiiiiinda lean towards curried machines being the prettiest solution (maybe then offering uncurried machines as syntactical sugar) 05:58:27 seems best that i write all that down before I start implementing, haha 05:59:15 Yes, write down before implementing, perhaps write it on the computer. Yes, curried could do 06:02:13 Is this still the F-algebra thing? 06:02:25 imo T-algebras are where it's at 06:02:29 Nah, this is an older idea I had 06:03:29 nfd9001: shouldn't a language based on Linda be anything _but_ platonic hth 06:03:35 shachaf: sounds fishy 06:03:41 get it? haha 06:04:01 no tdnh 06:04:11 oerjan: i think i'll literally use a Linda implementation as a backend 06:04:24 heh 06:04:42 What's fishy? 06:04:53 also, whoa, bellingham 06:05:46 T >=> T 06:06:08 shachaf: hahah DO you know me? 06:06:20 shachaf knows all 06:06:30 Is that a fish? 06:06:37 Is it Haskell? 06:06:39 `? fish 06:06:40 I'm confusil 06:06:41 Come and dance and love the fish! Mister Disco summoned it. 06:06:47 `cwlprits fish 06:06:48 tsweẗt 06:06:50 Haskell programmers pronounce Klesli composition "fish" 06:06:51 so yeah 06:07:23 @quote kleisli 06:07:23 ray says: enlarge your kleisli arrow, please the category ladies 06:07:30 what? 06:07:31 @quote kleisli 06:07:31 ray says: enlarge your kleisli arrow, please the category ladies 06:07:39 @forget ray enlarge your kleisli arrow, please the category ladies 06:07:39 Done. 06:07:42 @quote kleisli 06:07:42 edwardk says: i'm MUCH happier with a comonad that lives in the kleisli category of some monad, or a monad that lives in the cokleisli category of a comonad, than I am with a distributive law that 06:07:42 all it can do is ensure that things are 'maximally terrible' in terms of how much work you do 06:08:01 @quote >=> 06:08:02 shachaf says: Then you just compose them Uh-oh, Tekmo is going to >=> using Kleisli composition 06:09:17 shachaf: where'd you come up with Bellingham? stalking my ip/hn/reddits/github/whatever? 06:09:32 Yes, trying to figure out if I know you. 06:09:39 not like this nick isn't totally transparent 06:09:55 ? 06:10:02 my name's right on my github 06:10:27 Right. 06:10:43 No fun, your name should be [redacted] 06:11:06 Ted Redac 06:11:15 I guess I shouldn't say personally identifying things in a public channel anyway, sorry. 06:11:33 Redac, Ted in publication lists 06:11:34 Yeah, not everyone's okay with that 06:11:46 Particularly one that's publicly logged 06:17:15 pikhq: hikhq 06:17:18 how's [redacted]? 06:18:44 Going pretty well, really 06:28:26 -!- tromp has quit (Remote host closed the connection). 06:46:21 [[Thue-Mirr]] M https://esolangs.org/w/index.php?diff=60078&oldid=59784 * Salpynx * (+1) spacing 07:04:56 -!- tromp has joined. 07:09:38 -!- tromp has quit (Ping timeout: 250 seconds). 07:13:22 -!- chal_ has joined. 07:19:54 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60079&oldid=59925 * Cortex * (+16) 07:22:38 [[Joke language list]] https://esolangs.org/w/index.php?diff=60080&oldid=59944 * Cortex * (+43) 07:29:40 [[Talk:Thue-Mirr]] N https://esolangs.org/w/index.php?oldid=60081 * Salpynx * (+2036) Hello World, and termination 07:55:16 -!- oerjan has quit (Quit: Nite). 07:57:21 -!- tromp has joined. 08:36:10 -!- chal_ has quit (Quit: Page closed). 09:15:56 -!- xkapastel has joined. 09:42:29 -!- AnotherTest has joined. 11:01:58 I have decided rather than figuring out which characters I need to display next to a placeholder ◌ 11:02:17 I will display all characters next to a ◌ 11:02:22 orin: how do the cool kids render text nowadays twh 11:02:33 do they use signed distance fields 11:02:47 shachaf: charcoal on wood 11:03:30 `? char 11:03:31 Char is a prominent component of charcoal. 11:05:29 https://imgur.com/w0VTpPD 11:06:13 my bdf edit program is almost perfect 11:08:00 bdf = boring distance fields? 11:10:13 Bitmap Distribution Font or something 11:10:21 it's a font format 11:11:10 https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format 11:15:37 i heard bézier curves are where it's at, though 11:15:58 Hard to do in a low-resolution bitmap 11:16:27 also hard to display in a terminal 11:17:06 even the "hi res" version above the main editing field is cheating using braille 11:17:37 Why are you displaying in a terminal? 11:20:31 https://paste.ee/p/BjY2I 11:20:44 shachaf: so I can edit my font in a terminal 11:21:54 Why? 11:24:27 shachaf: so that it can be the only font by terminals, for terminals 11:26:51 orin: will it work on my receipt printer? 11:28:51 Taneb: might work 11:29:31 not sure what format recipt printers take their fonts in 11:30:06 Neither am I tbq 11:30:07 h 11:33:36 but I would think 16x9 would be a pixel size they would support 11:39:30 -!- xkapastel has quit (Quit: Connection closed for inactivity). 12:11:53 -!- Lord_of_Life_ has joined. 12:14:53 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:14:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 13:23:00 -!- xkapastel has joined. 14:18:37 [[Bitch]] https://esolangs.org/w/index.php?diff=60082&oldid=60015 * A * (+296) /* Continuation on the above by User:Helen */ 14:21:50 [[Bitch]] https://esolangs.org/w/index.php?diff=60083&oldid=60082 * A * (+80) /* The attempt will not work, unfortunately */ 14:22:39 [[Bitch]] https://esolangs.org/w/index.php?diff=60084&oldid=60083 * A * (+1) /* The attempt will not work, unfortunately */ 14:48:30 -!- wob_jonas has joined. 14:48:33 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190223.html 14:48:34 bobadventureslist http://bobadventures.comicgenesis.com/d/20190223.html: b_jonas 15:04:03 -!- MDude has joined. 15:18:37 -!- tromp has quit (Remote host closed the connection). 15:32:42 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:37:08 -!- danieljabailey has quit (Read error: Connection reset by peer). 15:46:46 -!- tromp has joined. 16:31:47 -!- Essadon has joined. 17:03:39 -!- xkapastel has joined. 17:19:58 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 17:25:50 -!- Phantom_Hoover has joined. 17:25:50 -!- Phantom_Hoover has quit (Changing host). 17:25:50 -!- Phantom_Hoover has joined. 18:05:00 -!- AnotherTest has quit (Ping timeout: 272 seconds). 18:08:42 -!- tromp has quit (Remote host closed the connection). 18:23:33 -!- dingwat has joined. 18:29:00 . o O ( iff and only iff ) 18:33:22 At some point I shoudl refactor my font processing tools so they are more generic 18:33:58 for example, not hardcoding the size of the font at 9 by 16 18:34:41 -!- arseniiv has quit (Ping timeout: 255 seconds). 18:36:24 Yes, you should probably allow other sizes 18:36:48 Does it support 16-bit characters or only 8-bit characters? 18:37:21 zzo38: currently processes everything as 32-bit encoding numbers 18:38:04 but there is an arbitrary limit at 0x20000 in my editor 18:39:02 the limit shoudl probaby be something else 18:39:16 what's the maximum unicode code point 18:39:35 10FFFF 18:39:40 -!- tromp_ has joined. 18:40:37 the BDF format doesn't actually specify what the encoding is though 18:40:51 Yes, although you might want to use some coding other than Unicode. The .pcf format supports 16-bit characters, and the X font system also does (although maybe .bdf allows any number of characters; I don't know) 18:41:30 .bdf uses a text format with decimal numbers for code points so theoretically it could be any number 18:41:49 orin: Yes, and that is why 0x10FFFF is perhaps too low (although in order to support Unicode, it should be at least that high) 18:42:19 Still you may limit it to 32-bit numbers, even if the file format allows higher numbers. 19:00:37 -!- rain1 has quit (Quit: WeeChat 1.6). 19:03:50 -!- rain1 has joined. 19:07:56 -!- rain1 has quit (Client Quit). 19:09:57 -!- rain1 has joined. 19:13:22 -!- xkapastel has quit (Quit: Connection closed for inactivity). 19:21:45 I had a idea if in some roguelike game that you can fly, but, while flying, you cannot go through doors (even if open), pick up objects, make melee attacks against opponents on the ground, and maybe also you cannot cast some spells, but you can go faster and go over water and statues (but not walls), and it takes time to go up or to land. 19:30:37 -!- b_jonas has joined. 19:34:07 -!- aloril_ has joined. 19:37:32 -!- aloril__ has quit (Ping timeout: 245 seconds). 19:46:43 correct, in particular in a font you could assign a higher number to a glyphs that isn't the default glyph for any character, but is either a variant for a character, or a ligature. but practically, you probably can't encode those to a BDF/PCF font in a way that terminals will use it, so that only comes up in OTF and other fonts. 19:50:01 Question. Mozart's ''Die Entführung aus dem Serail'' opera is very popular. "Pedrillo" is the name of a good guy in it. How come then that that name is virtually unused for anything else? Character names in popular fiction works usually get picked up and used as named for real people. 19:50:35 (It's not the only such name from Mozart's operas, but the one where it seems the most strange.) 20:12:46 -!- FreeFull has joined. 20:13:13 Oh, another question. Is there a theatre play with no scenes, played entirely with the curtains closed? 20:30:39 -!- bbb_ has joined. 20:30:40 * bbb_ hello 20:30:44 * bbb_ says hello 20:30:57 duolingo.com 20:31:15 -!- bbb_ has changed nick to Guest16203. 20:31:25 ??? 20:31:27 !?!?!?!?!? 20:31:37 -!- Guest16203 has changed nick to ijkajskajkjkjkj. 20:31:49 -!- ijkajskajkjkjkj has changed nick to Vala. 20:32:01 -!- Vala has changed nick to vala_iksan. 20:32:28 mitti iksan! 20:33:17 b_jonas: Is that like the theatre equivalent of 4'33"? 20:33:50 it means "i am an idiot" 20:33:54 fizzie: no, I don't think so 20:33:54 in a fictional language 20:34:07 -!- vala_iksan has changed nick to me. 20:34:10 fizzie: it doesn't have to be silent or lacking visuals. actors can come in front of the curtain, lit, 20:34:31 and actors can speak audibly in front of the curtain, or even behind the curtain, although the latter can be harder 20:34:36 -!- me has changed nick to Guest10559. 20:34:39 -!- Guest10559 has changed nick to hello. 20:34:45 -!- hello has changed nick to jhjchfseucfnher. 20:34:50 Oh, I see, I interpreted "scenes" more broadly. 20:34:52 -!- jhjchfseucfnher has changed nick to iiiiiikkiiiiiii. 20:34:56 ok done now what 20:35:02 it's just that all of it is done as if it were an introduction or transmission between scenes 20:35:31 is there a default, general channel on this 20:35:50 like not from a website or anything 20:36:00 -!- iiiiiikkiiiiiii has changed nick to iqi. 20:36:13 h 20:36:21 -!- iqi has changed nick to q2. 20:36:24 a possible equivalent of 4'33" would be a play or opera with no _acts_, where the audience doesn't even enter the theater hall, they only have conversations with other people on the corridors of the theater 20:36:34 nice 20:37:49 a 20:38:18 -!- q2 has changed nick to a35. 20:38:33 -!- xkapastel has joined. 20:38:46 Rytsas! 20:38:54 i've been using duolingo lately 20:39:16 i like this idea 20:39:33 I have the feeling that the no act one has been done already 20:39:45 no sorry 20:39:49 the no act one probably hasn't been done 20:39:55 charge for tickets, people come in wearing their fancy theater clothes, buy drinks, take their seats, lights go down, lights go right back up, intermission, repeat 20:39:58 I mean the no scene one probably has been done 20:40:00 possibly several times 20:40:07 sounds like a good racket 20:40:21 there are definitely theater plays with only one actor, I've even seen one 20:40:45 and there's at least one opera with only two solo singers incidentally 20:42:21 xxxcxKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK 20:42:29 outputs idk newlines 20:42:45 if anybody is actually using esolangs.org here 20:46:30 If your ↄ program fails to execute, what language is it? 20:47:50 a35: we don't use that site, except for the channel logs. we pretty much keep it as a trashcan so that the people who want to write down their really bad ideas have some place to put it, rather than vandalizing wikipedia or some other important site. 20:48:44 i keep it in microsoft word 20:48:49 them 20:48:58 plus I think a few people use the bfjoust hill there 20:49:48 but ais declared that the hill is now pretty much optimized 20:49:52 so maybe not that either 20:50:33 ooh, do you hear that 20:50:38 4'33" 20:53:45 -!- AnotherTest has joined. 20:55:15 +[] 20:55:51 ok im gonna play nethack im getting bored 20:55:56 -!- a35 has quit. 21:09:13 let's use abstractions 21:09:21 and make everything overly general 21:15:59 what I need is a program that I can pipe things through that will put a timestamp on each line 21:16:20 oh 21:16:27 moreutils has that 21:16:29 it's called ts, iirc 21:16:33 is there a standard unix program that can do this or 21:16:39 ok cool 21:17:03 orin: perl -pe '$_=time()."\t".$_' 21:18:59 it gets a bit uglier if you want to use fractions of a second or a specific date format though 21:19:17 a great deal uglier 22:07:47 -!- Sgeo_ has quit (Read error: Connection reset by peer). 22:10:10 -!- Sgeo has joined. 22:10:17 -!- Lymia has quit (Remote host closed the connection). 22:10:35 -!- Lymia has joined. 22:10:40 -!- imode has joined. 22:20:48 oh nice 22:21:07 temperature is predicted to be above zero for the next four days now. 22:21:24 there's still a little wind, but not too bad 22:32:53 -!- imode has quit (Ping timeout: 246 seconds). 22:48:04 -!- Phantom_Hoover has quit (Remote host closed the connection). 22:54:10 -!- Remavas has joined. 22:54:23 -!- Remavas has quit (Remote host closed the connection). 22:54:28 -!- moei has quit (Quit: Leaving...). 23:18:38 -!- b_jonas has quit (Quit: leaving). 23:22:36 [[User:Plugnburn]] https://esolangs.org/w/index.php?diff=60085&oldid=36923 * Plugnburn * (+113) Added EcmaByter reference 23:24:17 [[BytePusher]] https://esolangs.org/w/index.php?diff=60086&oldid=58086 * Plugnburn * (+157) /* Machines */ added EcmaByter 23:41:08 -!- Essadon has quit (Quit: Qutting). 23:47:19 Here it was the warmest February day in the UK since ever. 23:47:47 Four of the met office measurement stations recorded >= 20°C. 23:48:28 BBC has some nice "a year ago vs. today" picture pairs at https://www.bbc.co.uk/news/uk-47360952 23:53:47 -!- AnotherTest has quit (Ping timeout: 240 seconds). 2019-02-26: 00:14:14 -!- Lord_of_Life_ has joined. 00:15:27 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 00:15:27 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:21:42 -!- imode has joined. 00:42:08 -!- tromp_ has quit (Ping timeout: 245 seconds). 00:55:20 -!- tromp has joined. 00:55:56 -!- tromp has quit (Remote host closed the connection). 00:56:10 -!- tromp has joined. 00:57:26 -!- tromp has quit (Remote host closed the connection). 01:14:43 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=60087&oldid=59990 * Cortex * (+108) 01:29:08 -!- imode has quit (Ping timeout: 255 seconds). 01:37:24 -!- tromp has joined. 01:41:32 -!- tromp has quit (Ping timeout: 246 seconds). 02:06:42 ts supports custom formats and output to microseconds 02:14:05 -!- tromp has joined. 02:14:32 -!- tromp has quit (Remote host closed the connection). 02:14:45 -!- tromp has joined. 02:16:09 -!- tromp has quit (Remote host closed the connection). 02:23:20 -!- imode has joined. 02:26:49 How should coroutines work if you wanted them to be really efficient? 02:26:57 I'm thinking about it and the details are actually tricky. 02:27:03 I wonder whether anyone's done it properly. 02:28:16 -!- xkapastel has quit (Quit: Connection closed for inactivity). 02:39:26 shachaf: well, in some cooperative RTOSes, you are only allowed to yield in main() 02:39:34 (or some rule morally equivalent to that) 02:39:58 so there's a tight bound on the per-coroutine stack size 02:40:13 anyway, can you elaborate? 02:42:06 So there are a bunch of different use cases, but let's say we're talking about asynchronous I/O. 02:42:37 If you want to write a complicated thing that does asynchronous I/O, you can write a state machine by hand. 02:42:55 Or you can make small cooperative threads with full stacks of their own. 02:43:12 Which is nice but kind of wasteful with respect to memory use and unnecessary cache misses and so on. 02:43:53 If you have compiler support, you can maybe have it generate something like the state machine for you, and do liveness analysis and everything and make it nice. 02:44:00 yeah 02:44:03 But I'm wondering about the details of how it should work. 02:44:18 Especially when you have asynchronous things that call other asynchronous things and so on. 02:47:02 The coroutine state machine state is effectively a second stack, used only for async state 02:47:21 yeah 02:47:49 This is good because the stack is smaller and you only use it for things that really need to be saved (your regular stack is in cache so you don't want to switch stacks completely). 02:48:08 the question then is could you sensibly tell the compiler which things don't need to be saved 02:48:21 or would that be a nightmare 02:48:57 It should be able to figure it out? 02:49:22 If you tag your async functions then only their variables that are saved across yield calls need be saved. 02:54:09 -!- tromp has joined. 02:57:21 -!- oerjan has joined. 02:58:32 -!- tromp has quit (Ping timeout: 246 seconds). 03:10:34 -!- FreeFull has quit. 04:06:12 [[Thue-Mirr]] https://esolangs.org/w/index.php?diff=60088&oldid=60078 * Salpynx * (+236) I made an interpreter to test my "Stretching-the-Truth"-machine 04:07:59 kmc: Man, this is trickier than I thought. 04:08:07 do you have good ideas twh 04:10:29 no 04:10:37 I don't do good ideas 04:10:41 only bad ones 04:10:47 bad advice for a price 04:11:46 what is the price 04:13:09 varies according to circumstance 04:13:51 right now 04:15:06 is it cake 04:15:29 sure 04:38:41 -!- tromp has joined. 04:42:47 -!- tromp has quit (Ping timeout: 240 seconds). 04:59:36 -!- S_Gautam has joined. 05:24:05 do you have any cake 06:13:35 [[Special:Log/upload]] upload * Salpynx * uploaded "[[File:Pentagraph.png]]" 06:24:23 [[Talk:Thue-Mirr]] https://esolangs.org/w/index.php?diff=60090&oldid=60081 * Salpynx * (+869) Pentagraph program, graphing Thue-Mirr "chaos" 06:26:45 -!- tromp has joined. 06:31:05 -!- tromp has quit (Ping timeout: 255 seconds). 06:33:33 -!- tromp has joined. 06:34:01 -!- tromp has quit (Remote host closed the connection). 06:34:15 -!- tromp has joined. 06:35:56 -!- tromp has quit (Remote host closed the connection). 06:52:15 -!- arseniiv has joined. 07:06:55 -!- tromp has joined. 07:09:17 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 07:13:05 -!- tromp has quit (Ping timeout: 268 seconds). 07:30:29 -!- imode has quit (Ping timeout: 246 seconds). 07:42:09 -!- tromp has joined. 07:49:08 -!- oerjan has quit (Quit: Nite). 07:57:00 [[Talk:BytePusher]] https://esolangs.org/w/index.php?diff=60091&oldid=52813 * Plugnburn * (+171) /* (Virtual) Machines */ 08:17:37 -!- tromp has quit (Remote host closed the connection). 08:18:25 -!- tromp has joined. 08:22:17 -!- tromp has quit (Remote host closed the connection). 08:22:33 -!- tromp has joined. 09:25:26 -!- arseniiv has quit (Read error: Connection reset by peer). 09:25:26 -!- arseniiv has joined. 09:27:26 -!- trnv2 has joined. 09:28:09 -!- arseniiv_ has joined. 09:30:05 -!- 17WABYY79 has joined. 09:30:05 -!- arseniiv has quit (Read error: Connection reset by peer). 09:30:05 -!- 17WABYY79 has quit (Read error: Connection reset by peer). 09:30:05 -!- trn has quit (Ping timeout: 245 seconds). 09:31:00 -!- trnv2 has changed nick to trn. 09:33:23 -!- arseniiv_ has changed nick to arseniiv. 09:46:37 -!- AnotherTest has joined. 12:12:59 [[Special:Log/newusers]] create * Edible Melon * New user account 12:13:57 -!- Lord_of_Life_ has joined. 12:16:41 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:16:46 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:25:25 -!- nfd has joined. 12:27:41 -!- AnotherTest_ has joined. 12:30:24 -!- nfd9001 has quit (Ping timeout: 246 seconds). 12:30:24 -!- heroux has quit (Ping timeout: 246 seconds). 12:30:29 -!- rain1 has quit (Ping timeout: 255 seconds). 12:30:29 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:30:29 -!- AnotherTest has quit (Ping timeout: 255 seconds). 12:30:30 -!- bobby has quit (Ping timeout: 255 seconds). 12:30:31 -!- AnotherTest_ has changed nick to AnotherTest. 12:30:33 -!- heroux has joined. 12:30:34 -!- wob_jonas has joined. 12:30:47 for reference, see https://esolangs.org/logs/2018-12.html#lYfc the previous discussion on how to implement coroutines 12:31:57 -!- rain1 has joined. 12:32:26 -!- bobby has joined. 12:33:32 -!- Lord_of_Life has joined. 12:38:23 -!- S_Gautam has joined. 12:47:01 -!- Essadon has joined. 12:47:30 -!- Essadon has quit (Max SendQ exceeded). 13:10:04 -!- xkapastel has joined. 13:27:00 -!- Vorpal has quit (Ping timeout: 257 seconds). 13:34:49 -!- grumble has quit (Quit: in lieu of the innuendo in the end know my intent though). 13:35:39 -!- grumble has joined. 14:35:00 -!- Sgeo_ has joined. 14:36:17 -!- Sgeo has quit (Ping timeout: 245 seconds). 14:40:05 -!- Soni has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.). 14:41:54 -!- Soni has joined. 14:57:32 -!- AnotherTest has quit (Ping timeout: 245 seconds). 15:06:43 -!- Sgeo__ has joined. 15:07:40 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client). 15:09:47 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 16:49:47 [[User:OdinSmodin]] N https://esolangs.org/w/index.php?oldid=60092 * Areallycoolusername * (+26) Created page with "I lost this account. Heck." 16:49:48 -!- xkapastel has quit (Quit: Connection closed for inactivity). 17:54:15 -!- xkapastel has joined. 18:33:42 -!- Phantom_Hoover has joined. 18:33:42 -!- Phantom_Hoover has quit (Changing host). 18:33:42 -!- Phantom_Hoover has joined. 18:40:31 -!- AnotherTest has joined. 18:41:03 -!- FreeFull has joined. 19:03:57 -!- arseniiv has quit (Ping timeout: 258 seconds). 19:19:31 -!- b_jonas has joined. 19:34:55 oh wow! 19:35:32 I just payed online with debit card through an online payment website that has a fallback to allow paying without javascript. I think this is a first. 19:44:39 -!- tromp has quit (Remote host closed the connection). 20:04:31 -!- 59NAAJ5ZK has joined. 20:19:20 -!- sftp has quit (Ping timeout: 268 seconds). 20:20:15 -!- sftp has joined. 20:28:06 -!- Lord_of_Life has quit (Excess Flood). 20:28:21 -!- Lord_of_Life has joined. 20:29:45 Can someone recommend me a new rubik's cube 20:33:15 . o O ( get a megaminx ) 20:36:37 int-e: I'm thinking something with an obvious isomorphism to the original 20:38:19 Uh, one can buy 17x17x17 cubes now? Crazy... 20:38:47 (only EUR 1.3k) 20:39:41 Anyway, I know too little. Stickerless is nice but that doesn't really narrow it down much. 20:41:26 isomorphic, eh... there's the mirror cube variant (which I imagine would be really awkward to handle) 20:42:39 But apparently that doesn't stop people from offering speed cubing variants of those... "Shengshou Mirror Speed Cube" 20:43:15 https://images-eu.ssl-images-amazon.com/images/I/512Tno1siWL._AC_US218_.jpg ... I guess that's the standard checkerboard pattern 20:45:33 int-e: basically I'm looking for a 3x3x3 cube that isn't a really stiff one I bought in a toy store whose stickers are coming off 21:03:03 Taneb: ask #rubik on this irc network, they can give good advice about that 21:04:25 Taneb: I bought two decent cubes last year, the one I prefer is "Quyi TheValk 3" 21:04:50 note that "3" is the version number, not size 21:04:58 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60093&oldid=60079 * Cortex * (+323) 21:29:33 [[YesNoMaybeUnknown]] N https://esolangs.org/w/index.php?oldid=60094 * Cortex * (+1365) Created page with "'''YesNoMaybeUnknown''' is an esolang created by [[User:Cortex|]] using quaternary digits (or quits). These 4 values are represented as: * ? (unknown) * 0 (no) * (maybe) *..." 21:30:00 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60095&oldid=60093 * Cortex * (+24) 21:39:02 oh i have a mirror cube! 21:39:06 (or had; I haven't seen it in a while) 21:39:22 it is definitely more difficult to handle 21:39:26 and it looks way cool 21:40:00 I first encountered one while drunk at a New Year's party and it became an object of obsession for a little while 21:42:22 I think I first encountered one at your house. 21:47:54 My brother's girlfriend got me a cube whose faces change colour depending on the light 22:16:10 Taneb: that's neat 22:28:02 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 22:44:10 -!- AnotherTest has quit (Ping timeout: 268 seconds). 22:57:46 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:11:51 -!- 59NAAJ5ZK has quit (Remote host closed the connection). 23:21:39 -!- b_jonas has quit (Quit: leaving). 23:51:23 -!- tromp has joined. 23:55:31 -!- tromp has quit (Ping timeout: 246 seconds). 2019-02-27: 00:14:05 -!- Lord_of_Life_ has joined. 00:15:28 -!- hakatashi1 has quit (Remote host closed the connection). 00:15:49 -!- hakatashi has joined. 00:16:58 -!- Lord_of_Life has quit (Ping timeout: 272 seconds). 00:17:01 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 01:44:08 -!- FreeFull has quit. 02:10:25 [[ESOPUNK/Commands]] https://esolangs.org/w/index.php?diff=60096&oldid=57713 * Blacksilver * (+54) ; 02:13:55 [[ESOPUNK/Commands]] https://esolangs.org/w/index.php?diff=60097&oldid=60096 * Blacksilver * (+88) C example for REPL 04:10:13 [[Special:Log/newusers]] create * N9netyn9ne * New user account 04:11:48 -!- lllllllllwith10l has joined. 04:12:06 -!- lllllllllwith10l has quit (Client Quit). 04:19:48 -!- xkapastel has quit (Quit: Connection closed for inactivity). 05:04:49 Do any copies of the old esoteric Minecraft world exist? 05:05:12 -!- tromp has joined. 05:09:28 -!- tromp has quit (Ping timeout: 246 seconds). 06:12:24 -!- arseniiv has joined. 06:53:23 -!- tromp has joined. 06:54:35 -!- oerjan has joined. 06:58:08 -!- tromp has quit (Ping timeout: 244 seconds). 07:28:50 -!- oerjan has quit (Quit: Nite). 07:46:25 -!- tromp has joined. 08:15:02 ais523: So the nice thing about C lvalues is that you can syntactically see whether something is being copied. 08:15:11 That's the thing I don't like about ALGOL 68 style coercions, I guess. 08:52:54 -!- bobby has quit (Ping timeout: 268 seconds). 08:54:30 -!- bobby has joined. 09:02:18 -!- bobby has quit (Ping timeout: 258 seconds). 09:02:37 -!- bobby has joined. 09:47:53 -!- AnotherTest has joined. 11:10:25 . o O (In the future, "crispy" will be a slur against genetically modified people, because of CRISPR) 11:13:56 get crispy in here 11:30:41 -!- sftp has quit (Ping timeout: 268 seconds). 11:33:56 -!- sftp has joined. 12:15:30 -!- sftp has quit (Ping timeout: 250 seconds). 12:16:11 -!- Lord_of_Life_ has joined. 12:17:40 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 12:17:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:17:59 -!- sftp has joined. 14:24:12 -!- xkapastel has joined. 14:27:17 -!- tromp has quit (Remote host closed the connection). 14:36:56 -!- tromp has joined. 15:40:46 -!- tromp has quit (Remote host closed the connection). 16:10:07 -!- S_Gautam has joined. 16:14:53 -!- tromp has joined. 16:19:22 -!- tromp has quit (Ping timeout: 246 seconds). 16:26:24 -!- tromp has joined. 17:24:40 shachaf: don't you love the options Notepad gives for character encoding https://i.imgur.com/rSB1x24.png 17:25:11 ...I guess the two "Unicode" options are UTF-16? 17:27:54 UCS-2 probably 17:28:23 “fuck the astral planes” 17:30:56 let's find out 17:31:48 * kmc creates a notepad document with one character, the poo emoji 17:32:23 "ANSI" -> 3f 3f (literal "??") 17:32:34 "Unicode" -> ff fe 3d d8 a9 dc (BOM + UTF-16LE) 17:33:16 "Unicode big endian" -> fe ff d8 3d dc a9 (BOM + UTF-16BE) 17:34:13 "UTF-8" -> ef bb bf f0 9f 92 a9 (what the fuck, it has a BOM even in UTF-8) 17:34:14 smdh 17:34:21 windooooooows 17:35:13 msft loves their utf8 boms 17:35:50 there should be a D&D game, where a character has control of the astral plane, meaning they get powers related to each non-BMP character 17:35:55 that could be pretty powerful 17:36:11 there are a bunch of hieroglyphs for egyptian gods and stuff 17:37:11 where's my airspy hf+ :( 17:37:15 wrong channel, but whatever 17:50:38 answer: it's on the slow boat from china 17:51:13 (shipped 2.5 weeks ago) 17:51:18 or actually I think it has entered the US by this point 17:51:34 and in the hands of USPS, so I may get it in another few days 17:52:10 I wonder why "ANSI" gives ?? and not ?. my guess is it's because Windows works on UCS-2 internally, and the fallback-conversion routine isn't aware of surrogate pairs 18:00:05 -!- Phantom_Hoover has joined. 18:28:40 -!- FreeFull has joined. 18:51:51 -!- moei has joined. 18:59:21 kmc: you can't quite blame microsoft for being utf-16 since they were early to the unicode thing 18:59:35 w/e 18:59:46 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 19:00:23 you can make fun of notepad anyway though 19:06:03 -!- tromp has quit (Remote host closed the connection). 19:12:16 [[Talk:Lenguage]] https://esolangs.org/w/index.php?diff=60098&oldid=53850 * Ais523 * (+1925) /* Practical problems trying to use Lenguage */ new section 19:12:43 [[Talk:Lenguage]] https://esolangs.org/w/index.php?diff=60099&oldid=60098 * Ais523 * (+65) /* Practical problems trying to use Lenguage */ finish unfinished sentence 19:29:21 -!- Essadon has joined. 19:41:01 -!- tromp has joined. 19:45:27 -!- tromp has quit (Ping timeout: 245 seconds). 19:56:35 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)). 20:11:59 -!- b_jonas has joined. 20:13:52 -!- arseniiv has quit (Ping timeout: 246 seconds). 20:43:46 -!- S_Gautam has joined. 20:44:07 [[User:Cortex]] https://esolangs.org/w/index.php?diff=60100&oldid=60095 * Cortex * (+0) /* Quine */ 21:20:31 shachaf: I think at this point making fun of notepad is missing the point, you know what you're getting 21:29:36 -!- tromp has joined. 21:34:04 -!- tromp has quit (Ping timeout: 250 seconds). 22:14:52 The "BOM in UTF-8" thing is I think what it (or some other Windowsy thing) uses as a magic number for UTF-8 text files, and it's sort of semi-sanctioned by Unicode. 22:14:55 "Use of a BOM is neither required nor recommended for UTF-8, but may be encountered in contexts where -- the BOM is used as a UTF-8 signature." 22:16:36 UTF-8 is too good 22:16:57 the only problem is (and this isn't UTF-8's fault) that so many of the single byte codes are taken by seldom used ASCII control characters :( 22:27:26 all you need is code page 437 22:39:07 -!- tromp has joined. 22:57:12 -!- AnotherTest has quit (Ping timeout: 259 seconds). 23:35:36 -!- tromp has quit (Remote host closed the connection). 23:39:01 -!- b_jonas has quit (Quit: leaving). 23:40:49 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:41:27 [[Special:Log/newusers]] create * Arcorann * New user account 2019-02-28: 00:12:09 -!- tromp has joined. 00:16:25 -!- tromp has quit (Ping timeout: 246 seconds). 00:16:40 -!- Lord_of_Life_ has joined. 00:19:06 -!- Lord_of_Life has quit (Ping timeout: 264 seconds). 00:19:09 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 00:58:40 -!- Essadon has quit (Quit: Qutting). 01:23:21 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 01:40:38 -!- Sgeo__ has quit (Read error: Connection reset by peer). 01:41:51 -!- Sgeo has joined. 01:43:39 fizzie: Yeah, the (old) standard on WIndows was to use a BOM to indicate a text file is UTF-8, rather than the "ANSI" codepage. 01:44:21 I say "old" because up-to-date Windows 10 now default saves text files as UTF-8 without BOM. 01:46:44 Win32 is even getting UTF-8 functions! 01:54:10 fancy 02:00:12 shachaf: Wait, really? 02:00:31 I know they're adding support for UTF-8 *as* the "ANSI" codepage, but 02:00:39 -!- tromp has joined. 02:00:58 (strictly speaking, add*ed* -- it's marked as beta, but you can just toggle it on on a Windows install now, and things just work) 02:05:08 -!- tromp has quit (Ping timeout: 255 seconds). 02:09:37 [[User:12Me21]] https://esolangs.org/w/index.php?diff=60101&oldid=47356 * 12Me21 * (-246) 02:09:55 [[User:12Me21]] https://esolangs.org/w/index.php?diff=60102&oldid=60101 * 12Me21 * (-30) 02:11:45 -!- oerjan has joined. 02:32:26 -!- FreeFull has quit. 02:36:06 [[Truth-machine]] https://esolangs.org/w/index.php?diff=60103&oldid=60030 * Cortex * (+52) 03:48:57 -!- tromp has joined. 03:53:14 -!- tromp has quit (Ping timeout: 250 seconds). 04:03:59 -!- xkapastel has quit (Quit: Connection closed for inactivity). 04:18:42 -!- tromp has joined. 04:19:12 -!- tromp has quit (Remote host closed the connection). 04:19:25 -!- tromp has joined. 04:20:47 -!- tromp has quit (Remote host closed the connection). 04:54:56 -!- tromp has joined. 04:59:12 -!- tromp has quit (Ping timeout: 245 seconds). 05:01:24 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60104&oldid=60045 * Arcorann * (+207) /* Introductions */ 05:06:41 [[K-on Fuck]] https://esolangs.org/w/index.php?diff=60105&oldid=53897 * Arcorann * (+0) 05:33:04 -!- importnetminecra has joined. 05:33:47 -!- MDude has joined. 05:44:59 -!- importnetminecra has quit (Quit: Page closed). 05:55:11 -!- arseniiv has joined. 06:22:32 pikhq: I mean *U functions to go with *A and *W 06:22:38 That's what I heard, anyway 06:22:42 Oh, holy damn 06:25:34 This makes my occasional plans for world domination, I mean, a saner Windows libc, a lot easier. 06:31:21 pikhq: I heard about it not long ago but now I can't find any reference to it 06:31:24 So who knows? 06:32:19 I mean, my plans for world domination were to start by forcibly creating them as a wrapper for *W, so maybe that's what you're remembering? 06:32:22 IDK 06:32:54 (this is a project which I've not done mostly because I more want it to exist than I want to be the person who makes it exist) 06:33:20 It's a lot of work and I'm preoccupied just living thanks 06:33:54 living is p. complicated 06:34:14 More so than many people would think. 06:34:35 No, it was people taking about some official Microsoft thing 06:35:04 Alas, I only really know ex-MS devs. 06:35:14 Otherwise I'd ask. 06:42:46 -!- tromp has joined. 06:46:43 pikhq: I can't find any reference to it so who knows 06:47:00 -!- tromp has quit (Ping timeout: 250 seconds). 06:48:10 kmc: for halloween i'm going to be UNICODE BIG ENDIAN 06:48:23 or maybe utf-8 with a bom 06:48:24 scary 07:21:23 `unicode BIG ENDIAN 07:21:25 No output. 07:21:40 `multicode BIG ENDIAN 07:21:41 No output. 07:21:45 shocking 07:21:58 how come unicode has just EGG rather than a big endian and little endian egg 07:22:43 `unicode EGG 07:22:44 U+0045 LATIN CAPITAL LETTER E \ UTF-8: 45 UTF-16BE: 0045 Decimal: E \ E (e) \ Lowercase: U+0065 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0047 LATIN CAPITAL LETTER G \ UTF-8: 47 UTF-16BE: 0047 Decimal: G \ G (g) \ Lowercase: U+0067 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0047 LATIN CAPITAL LETTER G \ UTF-8: 47 UTF-16BE: 0047 Decimal: G \ G (g) \ Lowercase: U+0067 \ Category: Lu (Letter 07:22:50 wat 07:23:00 `multicode EGG 07:23:01 U+0045 LATIN CAPITAL LETTER E \ UTF-8: 45 UTF-16BE: 0045 Decimal: E \ E (e) \ Lowercase: U+0065 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0047 LATIN CAPITAL LETTER G \ UTF-8: 47 UTF-16BE: 0047 Decimal: G \ G (g) \ Lowercase: U+0067 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0047 LATIN CAPITAL LETTER G \ UTF-8: 47 UTF-16BE: 0047 Decimal: G \ G (g) \ Lowercase: U+0067 \ Category: Lu (Letter 07:23:08 hm this is not helping 07:24:40 `` ls bin/*code* 07:24:41 bin/icode \ bin/morse-decode \ bin/multicode \ bin/singlecode \ bin/unicode \ bin/unidecode 07:24:49 `singlecode EGG 07:24:50 ​[U+0045 LATIN CAPITAL LETTER E] [U+0047 LATIN CAPITAL LETTER G] [U+0047 LATIN CAPITAL LETTER G] 07:25:05 *sigh* 07:25:11 `icode EGG 07:25:12 ​[U+0045 LATIN CAPITAL LETTER E] [U+0047 LATIN CAPITAL LETTER G] [U+0047 LATIN CAPITAL LETTER G] 07:25:25 i sense a design flaw here 07:25:47 `` grep EGG share/unic* 07:25:48 Binary file share/unic.txt matches 07:26:07 `url share/unic.txt 07:26:08 that's not what i thought it was called 07:26:08 https://hack.esolangs.org/repo/file/tip/share/unic.txt 07:26:21 `` ls share/unic* 07:26:22 share/unic.txt 07:26:31 `` ls share/*data 07:26:32 ls: cannot access 'share/*data': No such file or directory 07:26:34 `doag share/unic.txt 07:26:36 11025:2017-06-18 fetch share/unic.txt http://slbkbs.org/unic.txt 07:26:43 huh 07:26:51 `` ls share/U* 07:26:52 share/UnicodeData.txt 07:26:58 there you go 07:27:05 `` grep EGG share/Unic* 07:27:06 1C81;CYRILLIC SMALL LETTER LONG-LEGGED DE;Ll;0;L;;;;;N;;;0414;;0414 \ 1C85;CYRILLIC SMALL LETTER THREE-LEGGED TE;Ll;0;L;;;;;N;;;0422;;0422 \ 10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;; \ 1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;; \ 1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;; \ 1F95A;EGG;So;0;ON;;;;;N;;;;; 07:27:18 `grep --text EGG share/unic.txt 07:27:19 grep: unrecognized option '--text EGG share/unic.txt' \ Usage: grep [OPTION]... PATTERN [FILE]... \ Try 'grep --help' for more information. 07:27:20 uh 07:27:22 `` grep --text EGG share/unic.txt 07:27:23 10467 SHAVIAN LETTER EGG [𐑧] \ 1D183 MUSICAL SYMBOL ARPEGGIATO UP [𝆃] \ 1D184 MUSICAL SYMBOL ARPEGGIATO DOWN [𝆄] 07:27:29 that unic.txt is old 07:27:52 shachaf: that's not the right file 07:28:10 `fetch share/unic.txt http://slbkbs.org/unic.txt.now 07:28:13 2019-02-28 07:28:12 URL:http://slbkbs.org/unic.txt.now [1437731/1437731] -> "share/unic.txt" [1] 07:28:14 `` grep --text EGG share/unic.txt 07:28:15 1C81 CYRILLIC SMALL LETTER LONG-LEGGED DE [ᲁ] \ 1C85 CYRILLIC SMALL LETTER THREE-LEGGED TE [ᲅ] \ 10467 SHAVIAN LETTER EGG [𐑧] \ 1D183 MUSICAL SYMBOL ARPEGGIATO UP [𝆃] \ 1D184 MUSICAL SYMBOL ARPEGGIATO DOWN [𝆄] \ 1F95A EGG [🥚] 07:28:19 there you go 07:28:26 OKAY 07:28:44 but why have two different data files :( 07:29:12 unic.txt is generated from UnicodeData.txt 07:29:33 it follows the format of an old perl script written by larry wall 07:29:40 i should probably scrap it 07:29:53 `` grep --text EGG share/unic.txt | grep -v LEG 07:29:54 10467 SHAVIAN LETTER EGG [𐑧] \ 1D183 MUSICAL SYMBOL ARPEGGIATO UP [𝆃] \ 1D184 MUSICAL SYMBOL ARPEGGIATO DOWN [𝆄] \ 1F95A EGG [🥚] 07:30:27 oh well 07:30:51 Usually I search it in less or another program 07:30:59 anyway, you don't need two EGG characters, as long as you have two KNIFE ones instead 07:31:49 `` grep --text KNIFE share/unic.txt 07:31:49 2E88 CJK RADICAL KNIFE ONE [⺈] \ 2E89 CJK RADICAL KNIFE TWO [⺉] \ 2F11 KANGXI RADICAL KNIFE [⼑] \ 1F374 FORK AND KNIFE [🍴] \ 1F37D FORK AND KNIFE WITH PLATE [🍽] \ 1F5E1 DAGGER KNIFE [🗡] 07:31:55 egg is my new favorite ltter 07:33:29 letter even 07:34:32 no it's odd hth 07:34:41 oh wait no 07:34:50 * oerjan cannot read 07:35:06 It's annoying that grep considers that file binary. 07:46:51 -!- 7YUAA4BLU has joined. 07:55:22 -!- oerjan has quit (Quit: Nite). 08:44:02 [[TrivialBrainfuckSubstitution]] https://esolangs.org/w/index.php?diff=60106&oldid=58508 * Arcorann * (+167) 08:58:46 -!- AnotherTest has joined. 09:25:51 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 09:26:09 -!- AnotherTest has joined. 09:30:22 -!- AnotherTest has quit (Ping timeout: 250 seconds). 09:39:46 -!- AnotherTest has joined. 10:12:11 @metar lowi 10:12:13 LOWI 280950Z 26003KT 160V290 CAVOK 10/00 Q1020 NOSIG 10:32:24 -!- S_Gautam has joined. 10:48:24 -!- Singingbanana_ has joined. 11:34:50 -!- AnotherTest has quit (Ping timeout: 255 seconds). 11:37:38 [[Bitch]] https://esolangs.org/w/index.php?diff=60107&oldid=60084 * A * (+246) /* Attempt by User:A */ 11:38:54 [[Bitch]] https://esolangs.org/w/index.php?diff=60108&oldid=60107 * A * (+67) /* Addition */ 11:39:11 [[Bitch]] https://esolangs.org/w/index.php?diff=60109&oldid=60108 * A * (+8) /* The attempt will not work, unfortunately */ 11:40:56 [[Bitch]] https://esolangs.org/w/index.php?diff=60110&oldid=60109 * A * (-165) Multiplication will not be neccesary. Implementing increment and zeroing is enough. 11:42:00 [[Bitch]] https://esolangs.org/w/index.php?diff=60111&oldid=60110 * A * (+1) Fix the unmatched bold tag 11:44:52 [[Bitch]] https://esolangs.org/w/index.php?diff=60112&oldid=60111 * A * (+181) Add section 11:45:17 [[Bitch]] https://esolangs.org/w/index.php?diff=60113&oldid=60112 * A * (-173) 11:45:38 -!- AnotherTest has joined. 11:46:08 [[Bitch]] https://esolangs.org/w/index.php?diff=60114&oldid=60113 * A * (-386) Cited, so adding this is unneccesary 11:46:59 [[Bitch]] https://esolangs.org/w/index.php?diff=60115&oldid=60114 * A * (+29) /* Attempt by User:A */ 11:48:02 It would be really nice if the wiki had some sort of "preview" functionality to A could see if their edits were doing what they expected before saving the page, and allowing them to batch multiple edits into one go with the same sort of visual feedback 11:51:20 [[Bitch]] https://esolangs.org/w/index.php?diff=60116&oldid=60115 * A * (+343) /* Continuation on the above by User:Helen */ 12:04:07 [[Bitch]] https://esolangs.org/w/index.php?diff=60117&oldid=60116 * A * (+152) /* Continuation of the above by User:A */ 12:06:55 [[Bitch]] https://esolangs.org/w/index.php?diff=60118&oldid=60117 * A * (+162) /* Continuation of the above by User:A */ 12:07:59 [[Bitch]] https://esolangs.org/w/index.php?diff=60119&oldid=60118 * A * (+47) /* Continuation of the above by User:A */ 12:09:18 [[Bitch]] https://esolangs.org/w/index.php?diff=60120&oldid=60119 * A * (+19) /* Continuation of the above by User:A */ 12:17:11 -!- Lord_of_Life_ has joined. 12:19:08 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 12:19:08 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:35:17 [[Bitch]] https://esolangs.org/w/index.php?diff=60121&oldid=60120 * A * (+104) /* Continuation of the above by User:A */ 12:36:01 [[Bitch]] https://esolangs.org/w/index.php?diff=60122&oldid=60121 * A * (+83) /* Continuation of the above by User:A */ 12:38:39 [[Bitch]] https://esolangs.org/w/index.php?diff=60123&oldid=60122 * A * (+47) /* Continuation of the above by User:A */ 12:40:59 [[Special:Log/newusers]] create * OttovonBismarck1871 * New user account 12:44:09 [[Bitch]] https://esolangs.org/w/index.php?diff=60124&oldid=60123 * A * (+439) /* Continuation of the above by User:A */ 12:44:20 [[Bitch]] https://esolangs.org/w/index.php?diff=60125&oldid=60124 * A * (-2) /* Continuation of the above by User:A */ 12:45:15 [[Bitch]] https://esolangs.org/w/index.php?diff=60126&oldid=60125 * A * (+62) /* Continuation of the above by User:A */ 12:47:01 [[Bitch]] https://esolangs.org/w/index.php?diff=60127&oldid=60126 * A * (-68) /* Zeroing */ 12:50:31 [[Bitch]] https://esolangs.org/w/index.php?diff=60128&oldid=60127 * A * (+5) 12:51:21 [[Bitch]] https://esolangs.org/w/index.php?diff=60129&oldid=60128 * A * (-62) It actually can index the values in the middle. 12:53:06 [[Bitch]] https://esolangs.org/w/index.php?diff=60130&oldid=60129 * A * (-2) /* Continuation of the above by User:A */ 12:54:27 [[Bitch]] https://esolangs.org/w/index.php?diff=60131&oldid=60130 * A * (+74) Nope. I failed. 12:55:39 [[Bitch]] https://esolangs.org/w/index.php?diff=60132&oldid=60131 * A * (+101) /* Continuation of the above by User:A */ 12:56:18 [[Bitch]] https://esolangs.org/w/index.php?diff=60133&oldid=60132 * A * (-9) /* Continuation of the above by User:A */ 12:57:14 [[Bitch]] https://esolangs.org/w/index.php?diff=60134&oldid=60133 * A * (+51) Done. 12:57:58 -!- xkapastel has joined. 13:06:19 [[Bitch]] https://esolangs.org/w/index.php?diff=60135&oldid=60134 * A * (+31) /* Attempt by User:A */ 13:07:05 [[Bitch]] https://esolangs.org/w/index.php?diff=60136&oldid=60135 * A * (+98) /* Attempt by User:A */ 13:09:59 [[Bitch]] https://esolangs.org/w/index.php?diff=60137&oldid=60136 * A * (+79) /* Continuation on the above by User:Helen */ 13:12:28 [[Bitch]] https://esolangs.org/w/index.php?diff=60138&oldid=60137 * A * (-173) /* Attempt by User:A */ 13:12:51 [[Bitch]] https://esolangs.org/w/index.php?diff=60139&oldid=60138 * A * (+1) /* Attempt by User:A */ 13:13:33 [[Bitch]] https://esolangs.org/w/index.php?diff=60140&oldid=60139 * A * (-24) /* Attempt by User:A */ 13:14:47 [[Bitch]] https://esolangs.org/w/index.php?diff=60141&oldid=60140 * A * (+43) /* Attempt by User:A */ 13:17:15 [[Bitch]] https://esolangs.org/w/index.php?diff=60142&oldid=60141 * A * (+133) /* Attempt by User:A */ 13:17:37 [[Bitch]] https://esolangs.org/w/index.php?diff=60143&oldid=60142 * A * (+30) /* Attempt by User:A */ 13:54:26 [[Bitch]] https://esolangs.org/w/index.php?diff=60144&oldid=60143 * A * (-33) /* Attempt by User:A */ 13:56:30 [[Bitch]] https://esolangs.org/w/index.php?diff=60145&oldid=60144 * A * (-30) /* Attempt by User:A */ 14:10:27 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 14:11:12 [[Bitch]] https://esolangs.org/w/index.php?diff=60146&oldid=60145 * A * (+5) /* Continuation of the above by User:A */ 14:15:24 [[Bitch]] https://esolangs.org/w/index.php?diff=60147&oldid=60146 * A * (+7) Modify your continuation 14:20:16 [[User talk:A]] https://esolangs.org/w/index.php?diff=60148&oldid=59993 * A * (+167) 14:21:40 [[User talk:A]] https://esolangs.org/w/index.php?diff=60149&oldid=60148 * A * (+50) 14:23:55 [[User talk:A]] https://esolangs.org/w/index.php?diff=60150&oldid=60149 * A * (+36) 14:24:19 [[User talk:A]] https://esolangs.org/w/index.php?diff=60151&oldid=60150 * A * (+7) 14:34:41 [[Bitch]] https://esolangs.org/w/index.php?diff=60152&oldid=60147 * A * (+0) /* Continuation of the above by User:A */ 14:36:46 [[Bitch]] https://esolangs.org/w/index.php?diff=60153&oldid=60152 * A * (+45) /* Continuation on the above by User:A */ 14:40:23 [[Bitch]] https://esolangs.org/w/index.php?diff=60154&oldid=60153 * A * (+35) /* Attempt by User:A */ 14:41:17 [[Bitch]] https://esolangs.org/w/index.php?diff=60155&oldid=60154 * A * (+46) /* Attempt by User:A */ 14:43:30 [[Bitch]] https://esolangs.org/w/index.php?diff=60156&oldid=60155 * A * (+14) /* Attempt by User:A */ 14:50:37 [[Bitch]] https://esolangs.org/w/index.php?diff=60157&oldid=60156 * A * (-20) /* Continuation on the above by User:A */ 15:02:07 -!- AnotherTest has quit (Ping timeout: 268 seconds). 16:19:00 -!- shachaf has quit (Ping timeout: 250 seconds). 16:19:48 -!- shachaf has joined. 17:07:13 -!- AnotherTest has joined. 17:07:51 [[Special:Log/newusers]] create * Maskyy. * New user account 17:10:18 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=60158&oldid=60104 * Maskyy. * (+174) 17:13:37 -!- S_Gautam has joined. 17:51:57 [[Caeos]] N https://esolangs.org/w/index.php?oldid=60159 * Areallycoolusername * (+2131) Created page with "Caeos, pronounced "Say oss", is an esoteric programming language that could produce anything at run time it was made by [[User: Areallycoolusername|Areallycoolusername]]. This..." 17:53:40 [[Language list]] https://esolangs.org/w/index.php?diff=60160&oldid=60070 * Areallycoolusername * (+39) /* C */ 18:03:00 [[Caeos]] https://esolangs.org/w/index.php?diff=60161&oldid=60159 * Areallycoolusername * (+2) 18:11:51 my font supports the whole shavian alphabet 18:13:29 however I think it is simpler to use letters that already exist for a english spelling reform 18:17:21 bI YziG letRs Dat olredE ar on iGliS kEbords it is EzE to swiC to fNetik speliG 18:17:46 also it makes it look like that spongebob meme 18:19:35 Dat spunjbob mEm 18:21:04 ... 18:21:09 fungot: help me unsee that? 18:21:10 int-e: drscheme is a good book in my language. :p i could try. my experience with java has shaped my thoughts on the matter i'll do the next step 18:25:05 in Du fYCR, spunjbob wil bE revErd as inventR of Du nY iGliS speliG sistM 18:34:48 -!- Essadon has joined. 18:41:04 -!- Phantom_Hoover has joined. 18:46:12 -!- xkapastel has quit (Quit: Connection closed for inactivity). 18:51:20 -!- b_jonas has joined. 18:53:21 hmm or maybe s/nY/nU 18:55:12 dependiG on dIalekt, "new" mIt bE prunWnst nU or nY 19:00:00 Dis is Du mAn problem wiT iGliS speliG refOrm, Dat Der is nO standRd iGliS prunWnsEASN 19:02:42 EvN Du wRd refOrm, sum pEpL sAy as refOm and oDRs refOrm 19:04:18 I am not SR hW tU solv Dis 19:06:09 fungot: yOr nAm is stil fungot Du wA I sAy it 19:06:09 orin: ( you asked about it earlier. very funny. 19:06:56 but sum pEpL mIt sAy funjot insted 19:09:13 and wen I sAy abWt sum pEpL mIt hEr abUt 19:21:56 -!- arseniiv has quit (Ping timeout: 255 seconds). 19:34:12 hA, mI erR rAt is betR nW! 19:34:27 hipip hurA 19:35:16 -!- 7YUAA4BLU has quit (Remote host closed the connection). 19:41:12 `unicode ᶸ 19:41:13 U+1DB8 MODIFIER LETTER SMALL CAPITAL U \ UTF-8: e1 b6 b8 UTF-16BE: 1db8 Decimal: ᶸ \ ᶸ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 1D1C 19:41:46 `unicode ᵁ 19:41:47 U+1D41 MODIFIER LETTER CAPITAL U \ UTF-8: e1 b5 81 UTF-16BE: 1d41 Decimal: ᵁ \ ᵁ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 0055 19:41:56 fak 19:45:43 `unicode ᵛ 19:45:44 U+1D5B MODIFIER LETTER SMALL V \ UTF-8: e1 b5 9b UTF-16BE: 1d5b Decimal: ᵛ \ ᵛ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 0076 19:46:34 `unicode ᶜ 19:46:35 U+1D9C MODIFIER LETTER SMALL C \ UTF-8: e1 b6 9c UTF-16BE: 1d9c Decimal: ᶜ \ ᶜ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 0063 19:47:46 `unicode ᶦᴵ 19:47:47 U+1DA6 MODIFIER LETTER SMALL CAPITAL I \ UTF-8: e1 b6 a6 UTF-16BE: 1da6 Decimal: ᶦ \ ᶦ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 026A \ \ U+1D35 MODIFIER LETTER CAPITAL I \ UTF-8: e1 b4 b5 UTF-16BE: 1d35 Decimal: ᴵ \ ᴵ \ Category: Lm (Letter, Modifier) \ Bidi: L (Left-to-Right) \ Decomposition: 0049 19:47:50 ok 19:59:41 `? nspirators 19:59:42 nspirators? ¯\(°​_o)/¯ 19:59:49 learn nspirators is http://lawcomic.net/guide/?p=517 20:03:51 -!- tromp has joined. 20:07:37 -!- xkapastel has joined. 20:08:43 -!- tromp has quit (Ping timeout: 258 seconds). 20:51:40 -!- FreeFull has joined. 20:56:06 [[Poolshark]] N https://esolangs.org/w/index.php?oldid=60162 * Orby * (+2198) Created page with "Poolshark is a family of languages discovered by [[User:Orby]] during February of 2019. ==Introduction== The execution of a Poolshark program consists of a simulation of a po..." 21:15:50 -!- MDude has quit (Ping timeout: 250 seconds). 21:37:46 -!- tromp has joined. 21:42:16 -!- tromp has quit (Ping timeout: 250 seconds). 21:46:32 -!- MDude has joined. 21:56:49 `smlist 495 21:56:50 smlist 495: shachaf monqy elliott mnoqy Cale 22:09:16 This is a good smlist. 22:15:52 -!- moei has quit (Quit: Leaving...). 22:22:49 -!- tromp has joined. 22:30:15 how could they let bayerische motoren werke buy rolls royce? 22:30:31 it's still a travesty 22:31:47 [[EWagon]] https://esolangs.org/w/index.php?diff=60163&oldid=52236 * Timtomtoaster * (-540) 22:32:37 [[EWagon]] https://esolangs.org/w/index.php?diff=60164&oldid=60163 * Timtomtoaster * (+11) 22:35:46 [[User:Timtomtoaster]] https://esolangs.org/w/index.php?diff=60165&oldid=51996 * Timtomtoaster * (-325) 22:40:05 orin: meh, those kinds of ownership changes happen all the time in the automotive industry 22:40:35 orin: the first year when all the tiny Daewoos had the Chevrolet cross on their front, I was surprised too. I got used to it now. 22:43:38 [[Special:Log/newusers]] create * Orangeyy * New user account 22:44:29 [[Lenguage]] M https://esolangs.org/w/index.php?diff=60166&oldid=60068 * Salpynx * (+16) /* Reference implementation */ display double '' 22:47:23 -!- xkapastel has quit (Quit: Connection closed for inactivity). 23:18:45 -!- Singingbanana_ has quit (Ping timeout: 256 seconds). 23:21:00 -!- AnotherTest has quit (Ping timeout: 268 seconds). 23:25:41 -!- orbitaldecay has joined. 23:26:00 -!- tromp has quit (Remote host closed the connection). 23:26:25 Greetings all 23:45:46 -!- Essadon has quit (Quit: Qutting). 23:47:11 [[Bitch]] https://esolangs.org/w/index.php?diff=60167&oldid=60157 * A * (+16) Declare that I wrote the zeroing operation. 23:48:22 -!- xkapastel has joined. 23:51:22 -!- tromp has joined.