00:03:17 <shachaf> fizzie: I was going to implement it but I think it'd require enough `ns to get me kicked out of the channel.
00:03:27 <shachaf> fizzie: imo add multiline output to HackEgo twh
00:10:12 -!- erkin has joined.
00:14:03 -!- oerjan has joined.
00:23:58 -!- zgrepc has quit (Ping timeout: 365 seconds).
00:24:52 -!- zgrepc has joined.
00:25:54 -!- augur has joined.
00:30:13 -!- augur has quit (Ping timeout: 246 seconds).
00:32:27 -!- hakatashi1 has quit (Write error: Broken pipe).
00:33:02 -!- Remavas-Hex has quit (Remote host closed the connection).
00:33:07 -!- erkin has quit (Remote host closed the connection).
00:33:11 -!- hakatashi has joined.
00:33:14 -!- Remavas-Hex has joined.
00:33:15 -!- Mayoi has joined.
00:38:11 -!- atslash has quit (Quit: This computer has gone to sleep).
00:39:25 -!- Cale has quit (Excess Flood).
00:39:49 -!- Cale has joined.
00:45:13 -!- Remavas-Hex has quit (Quit: Leaving).
00:46:48 -!- Remavas-Hex has joined.
00:47:50 <HackEgo> [wiki] [[User talk:MD XF]] https://esolangs.org/w/index.php?diff=52122&oldid=52120 * MD XF * (+164)
00:47:59 <HackEgo> [wiki] [[User talk:MD XF]] https://esolangs.org/w/index.php?diff=52123&oldid=52122 * MD XF * (+1)
00:48:00 -!- Remavas-Hex has quit (Remote host closed the connection).
00:48:23 -!- Remavas-Hex has joined.
00:49:30 -!- Remavas-Hex has quit (Remote host closed the connection).
00:50:09 <HackEgo> [wiki] [[Micro]] https://esolangs.org/w/index.php?diff=52124&oldid=52121 * MD XF * (+7) Fixed some formatting for ya :-)
00:50:41 <HackEgo> [wiki] [[Micro]] M https://esolangs.org/w/index.php?diff=52125&oldid=52124 * MD XF * (+17) whoops
00:55:34 <Sgeo_> https://joshumax.github.io/general/2017/06/08/how-torch-broke-ls.html
01:02:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:08:03 <HackEgo> [wiki] [[User talk:MD XF]] https://esolangs.org/w/index.php?diff=52126&oldid=52123 * Oerjan * (+86) It works like this hth
01:10:42 -!- Warrigal has quit (Ping timeout: 240 seconds).
01:11:38 -!- Mayoi has quit (Quit: Leaving).
01:19:45 <izabera> http://snapper.rooms.cwal.net/coin.pdf the final quote
01:20:03 <HackEgo> 1/2:phantom_______hoover//It doesn't get any better than this. \ citation//Citation needed \ automatic squirrel feeder//Automatic squirrel feeders are just feeders in the category of automatic squirrels. Taneb invented them. \ pipe//This is not a pipe. \ wisdome//The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight t
01:20:10 <HackEgo> 2/2:o the death for the freedom of being printed out when you type `wisdom. Strictly speaking, it should be called the "Wissphere".
01:26:37 <shachaf> izabera: What is the proper definition of a real number?
01:27:25 <oerjan> it's an element of the unique up to isomorphism complete archimedean ordered field hth
01:28:17 <shachaf> oerjan: is that really the best characterization of the reals twh
01:28:26 <shachaf> What are some interesting alternate (e.g. not algebraic) characterizations of the reals?
01:29:12 <oerjan> i don't know. unifying algebra and topology is like their reason to exist.
01:29:37 <shachaf> There's the characterization of the closed real interval that I linked the other day, that one is pretty good.
01:30:09 <shachaf> https://mathoverflow.net/questions/92206/what-properties-make-0-1-a-good-candidate-for-defining-fundamental-groups
01:30:29 <shachaf> But I suspect there are others.
01:31:33 <shachaf> You get something homeomorphic to the interval by quotienting the Cantor set by x111... = y000..., right?
01:31:58 <shachaf> I mean, that's not really a characterization, but it's probably a useful perspective.
01:32:27 <oerjan> there are many useful perspectives, that's _why_ the reals are important.
01:32:53 <shachaf> But everyone always says "complete ordered field".
01:33:01 <shachaf> Is that perspective even that good?
01:33:10 <shachaf> What *are* the reals? We just don't know.
01:33:56 <HackEgo> smlist: shachaf monqy elliott mnoqy Cale
01:33:58 <Cale> http://www.supermegacomics.com/index.php?i=453
01:36:26 <shachaf> Cale: what do you think the best characterization of the reals is twh
01:39:09 <Cale> The Dedekind-complete ordered field thing isn't bad -- but its content is in all the theorems which flow out of that. You can get essentially everything important from those properties without actually specifying a construction of the reals.
01:39:40 <Cale> Maybe constructively, you need a little more -- I'm not sure.
01:39:50 <Cale> (but probably)
01:41:18 <shachaf> A lot of topological uses of the reals have nothing to do with them being a field, though.
01:43:12 <shachaf> It's like defining pi as being half the ratio of a circle's circumference to its radius.
01:43:56 <shachaf> It's correct, but pi is a more fundamental constant than a geometric definition suggests.
01:50:49 <Cale> I'd like to understand pi better from a non-geometrical view. It's easy to understand e in a combinatorial way.
01:52:24 <Cale> Did you know that you can show [0,1] is uncountable using only topological properties?
01:52:59 <Cale> More generally, you can show that a compact Hausdorff space with no isolated points is uncountable.
01:55:26 <Cale> You can also do it with just the ordering properties.
01:56:03 <Cale> (which makes sense because the topology follows from the ordering, but there's a much more direct route to it)
01:56:30 <shachaf> There's a theorem that 3SAT can't be solved by a RAM machine in better than n^(2*cos(pi/7)) time and n^o(1) space.
01:56:53 <shachaf> A bit of an odd constant to see in that context.
01:57:27 <Cale> How did they get that bound though?
01:57:48 <shachaf> It's the root of some polynomial.
01:58:25 <shachaf> Not a real pi. It's cos of a rational multiple of pi, so kind of cheating.
02:00:08 <shachaf> > let c = 2 * cos (pi/7) in c^3 - c^2 - 2*c + 1
02:00:16 <Cale> and I guess the geometry comes in because roots of unity
02:02:11 <Cale> You can write 2 cos(pi/7) as e^(i pi/7) + e^(-i pi/7)
02:06:49 -!- augur has joined.
02:11:29 -!- augur has quit (Ping timeout: 268 seconds).
02:17:38 -!- jaboja has quit (Remote host closed the connection).
02:26:20 <HackEgo> 1/1:united states//See America. \ cocoon//Cocoon was built by the fal'Cie, and floats above Gran Pulse. \ recursive//See: recursion \ logic//Logic is just another way the true Scotsman is keeping you down. \ bonsaikitten//Bonsaikitten is the cat typing behind the glass of the CRT when you run the cat command.
02:35:56 -!- boily has quit (Quit: WEIGHTED CHICKEN).
02:52:54 -!- hppavilion[1] has quit (Ping timeout: 260 seconds).
03:07:03 <zzo38> Is there the possibility to make up something that would try to decode a JPEG picture and improve the quality by reducing compression artifacts? The quality can be known by looking inside of the file, so hopefully could be seen how much quantization errors there may be.
03:08:36 <LKoen> denoising autoencoders?
03:09:52 <LKoen> or are you looking for something working with the fourier transform directly?
03:10:40 <zzo38> That works with the JPEG encoded data
03:12:05 -!- Sgeo_ has quit (Read error: Connection reset by peer).
03:16:54 -!- Sgeo has joined.
03:27:17 <zzo38> What I mean is tampering with the dequantization step so that instead of just integer multiplication, it can try to guess what number was divided by the quantization matrix in order to improve the quality of the picture.
03:29:22 -!- hppavilion[1] has joined.
03:29:28 <zzo38> So it is a picture that could have been the input to the JPEG encoder, just by making the guess of which one it is. There is many possibility and that is one guess.
03:35:54 <zzo38> Even if the quantization matrix is all 1, it is still lossy, so there is still a possibility to do.
04:00:33 -!- Warrigal has joined.
04:01:28 -!- oerjan has quit (Quit: Nite).
04:01:37 <Warrigal> shachaf: I'm assuming that "twhem" means "that would help eliminate magicians".
04:03: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.”).
04:11:38 -!- augur has joined.
04:15:50 -!- augur has quit (Ping timeout: 246 seconds).
04:21:56 -!- augur has joined.
05:38:18 -!- sleffy has joined.
06:43:19 -!- adu has joined.
06:44:14 <adu> hppavilion[1]!
06:52:06 <adu> did you ever prove your Tetration theory?
08:18:32 -!- sdhand has quit (Excess Flood).
08:18:40 -!- sdhand has joined.
08:19:04 -!- sdhand has changed nick to Guest15974.
08:28:58 -!- Guest15974 has quit (Changing host).
08:28:58 -!- Guest15974 has joined.
08:28:58 -!- Guest15974 has changed nick to sdhand.
08:32:41 -!- iovoid has quit (Remote host closed the connection).
08:47:05 -!- augur has quit (Remote host closed the connection).
08:53:11 -!- sleffy has quit (Ping timeout: 260 seconds).
09:47:28 -!- augur has joined.
09:52:54 -!- augur has quit (Ping timeout: 255 seconds).
10:53:27 <quintopia> a lang idea that i dont know if its tc but probably is
10:58:17 -!- adu has quit (Quit: adu).
11:09:21 -!- atslash has joined.
11:18:21 -!- augur has joined.
11:22:48 -!- augur has quit (Ping timeout: 240 seconds).
11:26:48 -!- atslash has quit (Ping timeout: 240 seconds).
11:26:59 -!- atslash has joined.
12:13:57 -!- hppavilion[1] has quit (Ping timeout: 268 seconds).
12:16:35 -!- electrolex has joined.
12:45:38 -!- heroux has quit (Ping timeout: 258 seconds).
12:49:07 -!- augur has joined.
12:51:00 -!- heroux has joined.
12:53:48 -!- augur has quit (Ping timeout: 255 seconds).
13:04:19 -!- danieljabailey_ has joined.
13:04:27 -!- danieljabailey has quit (Read error: Connection reset by peer).
13:04:43 -!- danieljabailey_ has changed nick to danieljabailey.
13:07:07 <HackEgo> [wiki] [[Micro]] M https://esolangs.org/w/index.php?diff=52127&oldid=52125 * Raddish0 * (+251) /* Built-in functions */ added "_"
13:13:53 <HackEgo> [wiki] [[Micro]] M https://esolangs.org/w/index.php?diff=52128&oldid=52127 * Raddish0 * (+133) /* Built-in functions */ added some more specification for how an interpreter, or compiler should handle string definition.
13:17:43 -!- jaboja has joined.
13:28:45 -!- jaboja has quit (Ping timeout: 245 seconds).
13:29:50 <HackEgo> [wiki] [[Micro]] https://esolangs.org/w/index.php?diff=52129&oldid=52128 * Raddish0 * (-73) /* Some example programs */ changed the rot13 example. completely rewritten. also added a quine.
13:33:51 <HackEgo> [wiki] [[Micro]] https://esolangs.org/w/index.php?diff=52130&oldid=52129 * Raddish0 * (-42) /* Built-in functions */ changed the functionality of "."; took some functionality off of "\"
13:37:20 -!- LKoen has joined.
13:38:43 <HackEgo> [wiki] [[Micro]] M https://esolangs.org/w/index.php?diff=52131&oldid=52130 * Raddish0 * (-2) /* Some example programs */ fixed some invalid code in ROT13
13:41:35 -!- jaboja has joined.
13:47:33 -!- jaboja has quit (Ping timeout: 240 seconds).
13:49:40 -!- jaboja has joined.
14:19:28 -!- augur has joined.
14:22:46 -!- jaboja has quit (Ping timeout: 260 seconds).
14:23:58 -!- jaboja has joined.
14:24:42 -!- augur has quit (Ping timeout: 255 seconds).
14:40:13 -!- boily has joined.
15:01:33 -!- oerjan has joined.
15:02:48 -!- iovoid has joined.
15:03:42 <HackEgo> 1/2:select//select is a very versatile construct: it waits for events, retrieves data from tables, creates a list from elements of an input list that satisfy a condition, a dropdown list element, an event for when selection changes, branches between multiple arms, conditional between two expressions, prints a text-based menu prompt in a loop, and m
15:03:46 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: b: not found
15:03:50 <HackEgo> 2/2:ore. \ cocoon//Cocoon was built by the fal'Cie, and floats above Gran Pulse. \ snow//Snow is Jesus's dandruffs, and some suspect that he is the son of Rhaegar Targaryen. It turns the sidewalks to white as if someone broke a lot of styrofoam on it. \ il//An il is a cohelix of pper wire. \ at//At is a daemon for procrastinating commands.
15:11:05 -!- erkin has joined.
15:20:54 -!- jaboja has quit (Quit: Leaving).
15:49:59 -!- augur has joined.
15:54:28 -!- augur has quit (Ping timeout: 240 seconds).
16:02:59 -!- Sgeo_ has joined.
16:03:25 <boily> I was gonna joke about it being "laundryday", but I felt that it was a stretch.
16:03:45 <boily> apparently I was right: “...it derives from old Norse laugardagr, literally "washing-day".”
16:04:28 -!- Sgeo has quit (Ping timeout: 240 seconds).
16:06:27 -!- 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:21:47 -!- LKoen has joined.
16:27:33 <fizzie> Finnish turned that into "lauantai".
16:28:02 <fizzie> (Maanantai, tiistai, keskiviikko, torstai, perjantai, lauantai, sunnuntai.)
16:28:31 <rdococ> Coughition is a version of ghoti that makes sense.
16:28:54 <HackEgo> “Ghoti” is a very fishy spelling.
16:29:17 <oerjan> . o O ( that makes no sense either, but then, it's rdococ )
16:30:27 <oerjan> missing the o, though.
16:30:34 <oerjan> also that word doesn't exist.
16:30:51 <rdococ> true but at least a sane english speaker would pronounce it like "coffishon"
16:31:34 -!- jaboja has joined.
16:32:40 <HackEgo> rdococ is apparently from Budapest, but he is actually on Mars. Thanks to boily he is approaching permanent boredom & mapoledom. He is a relative of `words.
16:34:04 <HackEgo> ten bhk mesolu peed edity risfue hai desolatio exch satur bach wpkrt invitauxistruly jellotter motollo kath und strat witz lletticable iba exaspear coska mility adjamidd
16:34:20 <rdococ> are these meant to be english words?
16:34:41 <oerjan> approximately. there's some esolang in there too, i think.
16:34:41 <rdococ> ugh, forgot the option
16:34:49 <HackEgo> valid datasets: --eng-1M --eng-all --eng-fiction --eng-gb --eng-us --french --german --hebrew --russian --spanish --irish --german-medical --bulgarian --catalan --swedish --brazilian --canadian-english-insane --manx --italian --ogerman --portuguese --polish --gaelic --finnish --norwegian --esolangs \ default: --eng-1M
16:34:59 <HackEgo> porokc vlad gie foff thrne sta reeliatron popula titubearlorre kicklin ondurin trien fruita gar wakht rait veheiai occiu posik num ala wiq stran viarum rovoire
16:35:06 <rdococ> How about adding --ang for old english?
16:35:18 <oerjan> hm or maybe it's `coins that does the esolang thing.
16:35:21 <HackEgo> suzy wheadinal brainstation2 reaction aligata xsm fillia object tor hex alphabet spiral qwertycode rfol 1l villmariola migol bam128 pavity l00p atter quantum broogu dump numertycodan
16:36:09 <oerjan> rdococ: first you'd need a dataset, i assume.
16:36:20 <HackEgo> 8ballreplies \ airports.dat \ autowelcome_status \ awesome \ candide \ cat \ Complaints.mp3 \ conscripts \ construct_grams.pl \ delvs-master \ dict-words \ esolangs.txt \ esolangs.txt.sorted \ headers \ headers.gch \ hello \ lua \ maimer \ maimery \ maze \ mtg \ nothp \ recipe \ scapegoats \ scowrevs \ sedtest \ UnicodeData.txt \ units.dat \ usercm
16:36:39 <rdococ> oerjan, wouldn't be too hard seeing as there's a whole old english wikipædia
16:36:59 <oerjan> i'm not sure that's very genuine.
16:37:11 <oerjan> although i'm not sure what the format is.
16:37:23 <rdococ> https://ang.wikipedia.org/wiki/H%C4%93afodtramet
16:37:23 <HackEgo> https://hackego.esolangs.org/fshg/index.cgi/file/tip/bin/words
16:38:00 <rdococ> I guess nothing could be truly genuine seeing as it's a reconstruction
16:38:38 <HackEgo> Brazilian \ Bulgarian \ CanadianEnglishInsane \ Catalan \ Eng1M \ EngAll \ EngFiction \ EngGb \ EngUs \ Esolangs \ Finnish \ French \ Gaelic \ German \ GermanMedical \ Hebrew \ Irish \ Italian \ Manx \ Norwegian \ Ogerman \ Polish \ Portuguese \ Russian \ Spanish \ Swedish
16:39:17 <HackEgo> fronitt kältung diffunk äqualeum agildung horleiden ausgesetz vierung scht mafikalitzeichtsand verker judorrekon terbarottoeinsch ruhrbelel leichaltung mehrtminkellstoff katangswerkzeug anteuerversor flung flingabenserfahrung mitäteilaubtückneig radienstribbe geselungsdebattenbewarz wirkunster umschlieg
16:39:30 <oerjan> `ls share/WordData/Ogerman
16:39:54 <HackEgo> ononprefcoin boatemptacoin rancoin thercoin nftacoin tourcoin easycoin aljycoin m-codecoin arcalcoin angcoin :≠coin spirequilcoin crainfuckcoin viricarandcoin boateffecoin lalcoin 4ddcoin mustomodancoin rever20coin
16:40:14 <HackEgo> validcoin datasets:coin --eng-1Mcoin --eng-allcoin --eng-fictioncoin --eng-gbcoin --eng-uscoin --frenchcoin --germancoin --hebrewcoin --russiancoin --spanishcoin --irishcoin --german-medicalcoin --bulgariancoin --catalancoin --swedishcoin --braziliancoin --canadian-english-insanecoin --
16:40:36 <HackEgo> inschischcoin ihnachvogelungcoin ölmiliegcoin kostkeitungcoin abteidcoin ausbitmetistcoin ausgangskopiecoin vierercoin gutglichtetcoin empfcoin ahnreißenfeldcoin ministumspeziffcoin ratändustehpottencoin stoffiziercoin meprügentgedoniecoin standenaberschcoin kappbetrichcoin drindelncoin
16:41:53 <oerjan> `culprits share/WordData
16:42:44 <oerjan> those pesky stufficers
16:43:41 -!- jaboja has quit (Ping timeout: 258 seconds).
16:44:44 -!- bender| has joined.
16:44:55 -!- 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:46:22 <boily> mynamello. we already have a fizziecoin (with at least one picture!)
16:46:40 <HackEgo> fizzie is not fnord with a monad but the sneaky canary prime minister of #esoteric, see https://zem.fi/static/img/square_fizzie_320px_white.jpg
16:50:45 <HackEgo> lazy subtle=tal rwlr memfuck skull gasoil thishead unlambleist rever true porish ranshogo rposi byter poochint gent bak che orkhersuble bitz bra leszek bytejump twodu 01_
16:50:55 -!- Sgeo__ has joined.
16:51:18 -!- Phantom_Hoover has joined.
16:52:48 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
16:53:34 <quintopia> oerjan: imagine a right infinite tape of integers, 1-indexed, so that the nth cell is computed modulo n
16:55:36 <quintopia> now suppose tbat having been initialized, on each cycle, every nonzero cell is incremented. then, until no more updates occur, if a_n has just become zero, increment a_{a_{n+1}}.s
16:56:50 * oerjan refers the issue to his good pal ais523
16:58:32 <quintopia> neither do i. but youre smarter than me, so its worth asking.
17:00:01 <alercah> that does not sound TC to me but who knows
17:00:20 <oerjan> but ais523 is the one who has proved such things TC in the past. see 3SP.
17:01:47 -!- boily has quit (Quit: AMBER CHICKEN).
17:05:23 -!- Sgeo has joined.
17:06:48 -!- Sgeo__ has quit (Ping timeout: 240 seconds).
17:07:01 <oerjan> istr it's in a "so obviously tc ais523 got too bored to write it down" state.
17:11:35 <quintopia> i was just reading the c2 entry "you might be a three star programmer". its quite fun to read through the comments and take a drink every time a user-untagged comment was obviously written by zzo38
17:14:57 -!- erkin has quit (Quit: Leaving).
17:20:28 -!- augur has joined.
17:21:07 <zzo38> Which ones you think I wrote?
17:25:08 -!- augur has quit (Ping timeout: 240 seconds).
17:27:55 <oerjan> . o O ( cc238 is zzo38's wiki commenting twin. quintopia tends to get them confused. )
17:30:24 <zzo38> I think I have just once used three star pointers, and never more than that.
18:01:24 <zzo38> Apparently, is zzo38's wiki commenting twin. Other than that I don't know
18:12:01 <quintopia> zzo38: i think you said "As well as the stuff above, furthermore you can make some of the macros to have mismatched parentheses (I have actually used this, together with other things such as token-pasting __LINE__ and so on). Did you have that too? I really would like to see your example."
18:13:52 <zzo38> I cannot remember which ones I wrote, but I think I might have done.
18:24:24 -!- augur has joined.
18:34:14 -!- wob_jonas has joined.
18:35:24 <wob_jonas> "<shachaf> What are some interesting alternate (e.g. not algebraic) characterizations of the reals?" => there are two well-known explicit constructions from rational numbers, one called Dedekind cuts, the other is equivalent sets of Cauchy convergent sequences of rationals.
18:35:33 <wob_jonas> These are well-known constructions, so you can find them in introductory books.
18:38:11 <wob_jonas> Those are useful views because you can do all the proofs from them, but once you prove that it's a complete ordered field that has a rational in every interval, that's a good enough characterization that you just use that instead of the definition.
18:38:21 <wob_jonas> The construction is needed to show that there is such a structure.
18:39:21 <shachaf> That is a good characterization. But I'm wondering about others.
18:41:20 <wob_jonas> But the construction from rationals is a useful viewpoint, because it suggests that you want to expand exponentiation from rational to real exponents by making the exponential function continuous (in the Cauchy case) or monotonic (in the Dedekind case).
18:42:43 <zzo38> If the only thing you do with numbers loading from a file is to compare if they are equal or not, then you can ignore the endianness. Also, farbfeld would seem to work well with MMIX, which is big-endian, and has instructions such as WDIF which says they could be used to work with pictures.
18:42:50 -!- oerjan has quit (Quit: Later).
18:43:58 -!- kerbal has joined.
18:44:00 <zzo38> (And then you can also use MOR for swizzling the channels.)
18:44:48 <wob_jonas> zzo38: but almost every cpu has instructions to endian-swap words, so it's not a big deal
18:45:28 <wob_jonas> I have written at least one program that endian-swaps a pixel image of 16-bit words, because the raw input and output differed in endianness.
18:45:29 <zzo38> Yes, although in some cases you don't need to care about endianness, and MMIX has a more generalized instruction.
18:45:42 <zzo38> Yes, it is not so difficult.
18:46:06 <zzo38> In C it is easy enough to do, but I think dd does that too anyways (and so does utftovlq).
18:46:11 <wob_jonas> "has instructions such as WDIF which says they could be used to work with pictures" => well sure, but x86 and x86_64 and ARM and all archs have such instructions
18:46:39 <wob_jonas> dd could do it, but it was simpler to endian-swap the data in the program than to shell out to dd
18:46:48 -!- bender| has quit (Remote host closed the connection).
18:47:10 -!- bender| has joined.
18:47:30 <zzo38> Clearly it depend what program you are making and what else it is doing I think, too. But yes, there is no point to shell out to dd, but you can use dd if you do not need the rest of the functions of the program also.
18:48:18 -!- bender| has quit (Remote host closed the connection).
18:48:33 <zzo38> What I meant thought about the endianness is, for example, Scale2x algorithm only cares if pixels are equal and not their value, so endianness is irrelevant. It will work whether you load the program on a small-endian computer or on a big-endian computer.
18:49:01 <zemhill> kerbal.Checkers: points -2.86, score 19.76, rank 16/47 (--)
18:51:00 <zzo38> Does x86 and ARM have the instruction to swap endianness of four 16-bit values in one register all at once? I don't know much about them, I think they are becoming too much complicated istructions sets anyways
18:51:10 <kerbal> I have built the best BF Jouster ever.
18:51:14 <zemhill> kerbal.Horrible: points -46.00, score 0.00, rank 47/47
18:51:19 <zemhill> kerbal.Horrible: points -46.00, score 0.00, rank 47/47
18:52:41 <wob_jonas> "swap endianness of four 16-bit values in one register all at once" => I think it has that from the SSE4.1 extension (that can do eight 16-bit values actually), before that it takes probably four instructions
18:53:02 <zzo38> (My implementation of Scale2x with farbfeld just treats each pixel as a native 64-bit number.)
18:53:07 <zzo38> wob_jonas: Ah, OK.
18:53:11 <wob_jonas> I'm not too familiar with ARM, sorry
18:53:21 <wob_jonas> I can point to reference docs if you really want to find out
18:53:51 <shachaf> wob_jonas: The algebraic structure of the reals seems pretty irrelevant to many topological uses.
18:54:48 <zzo38> It is OK if you don't know
18:54:58 <zzo38> I just wanted to know, if you do know.
18:55:24 <wob_jonas> I can look up the x86 stuff easier because I'm familiar with the references
18:56:55 <zzo38> But I think the modern x86 and ARM instruction sets are way too complicated, in my opinion; MMIX is better.
18:57:49 <wob_jonas> zzo38: that is certain, they both have too much historical cruft on them
18:58:46 <wob_jonas> the newer an instruction set is, the more modern they can design it, but then it gets harder to make a cpu that efficiently runs both that and a legacy instrset, and also hard to gradually improve existing compilers and similar low-level tools to work with the new instrset
19:00:42 <wob_jonas> And it costs a shitton to design a new modern cpu core, so very few hw manufacturers do it, and they're only willing to do if they're sure they can sell a lot of that cpu (whether indirectly through licensing the plans like AMD or directly like Intel and ARM)
19:02:10 <wob_jonas> "istr it's in a "so obviously tc ais523 got too bored to write it down" state." => yes, we don't yet know if three-star programmer is TC
19:02:34 <rdococ> I'm pretty sure I read that it was
19:03:06 <wob_jonas> dofuck (brainfuck where brackets always do at least one iteration) is an example for a language where we're sure it's TC, and you can compile bf efficiently to it, modulo a certain limitation on IO, but everyone is lazy to write it down
19:03:20 <zzo38> GCC already supports MMIX, and I think also RISC-V.
19:09:56 <wob_jonas> zzo38: I argue in the esowiki article that there are some good reasons why MMIX in its current state is better as an educational machine than a real hw arch. Just a gcc port to a risc arch isn't too hard, so if you wanted to start a new *popular* architecture (which costs a shitton) then you'd better use some other arch that takes only the good ide
19:09:56 <wob_jonas> as from MMIX. You need a lot more support than just a compiler.
19:11:13 <wob_jonas> rdococ: the esowiki says at http://esolangs.org/wiki/Three_Star_Programmer#Computational_class that it's not known to be TC
19:12:33 <HackEgo> 2017-06-10 18:12:21.816737000+00:00
19:14:06 <zzo38> One thing I would prefer doing is simpler virtual addressing. Depending what is being used for you might not even need virtual addressing at all.
19:15:09 <wob_jonas> I think that's backwards. I do like virtual addressing, and MMIX's is not too bad, the only big problem is that it doesn't support pages that are visible only from kernel modes.
19:15:35 <wob_jonas> Obviously virtual addressing is good only if the page sizes aren't too small. If they're too small, then it slows the whole caching and memory access down.
19:16:16 <wob_jonas> The 4k page size on x86 is IMO a big problem, and I wish they found a way to increase the page size to 8k or 16k, but I don't know if it's possible without throwing out the whole architecture and cpu.
19:16:58 <wob_jonas> it's one of the historical baggages of course, 4k page size was not a problem back when the 386 got released
19:18:34 <zzo38> I think that virtual addressing makes it complicated so it should be simplified or discarded. If I was designing the computer using it, probably it would not have virtual addressing (although the idea of MMIX where negative addresses are reserved for the operating system is actually the same kind of idea I had for a new computer design too).
19:18:43 -!- sleffy has joined.
19:19:32 <wob_jonas> obviously having a register stack like MMIX somewhat counters this problem, because you rely less on low latency memory accesses then
19:19:53 <wob_jonas> MMIX isn't ideal either, but a register stack is a good idea
19:20:09 <zzo38> Do you think RISC-V is better?
19:20:52 <wob_jonas> I don't know anything about RISC-V
19:23:59 <wob_jonas> basically I figured, since we're going to use x86_64 for high-performance desktop computers in the next 15 years too, I'm more interested in learning all its tricks rather than learning better architectures
19:24:49 <wob_jonas> it's of course a moving target, because x86_64 is changing too, but still
19:25:51 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
19:26:23 -!- wob_jonas has joined.
19:26:57 -!- augur has quit (Remote host closed the connection).
19:30:43 <zzo38> I was making the computer design and have not yet decided what kind of instruction set to use for the main instruction set, although it might be MMIX, or possibly a VAX-like instruction set (although with many of the complicated stuff removed); I don't know yet.
19:31:38 -!- augur has joined.
19:33:15 <wob_jonas> what kind of computer design? what's your goal?
19:34:52 -!- hppavilion[1] has joined.
19:36:14 <zzo38> To be a new patent-free computer design that is not too complicated, and to do the stuff that I think is good idea too. This includes though not only the computer design, but other stuff too such as cables that can be disconnected at both ends, a keyboard like the original IBM PC model F keyboard (with unlimited rollover), and other stuff.
19:37:06 <HackEgo> [wiki] [[Micro]] M https://esolangs.org/w/index.php?diff=52132&oldid=52131 * Raddish0 * (-3) /* Built-in functions */
19:37:59 <wob_jonas> zzo38: do you want to make at least one hardware implementation?
19:38:22 <zzo38> I would use IMIDI for connecting input devices, and there are four such ports numbered I to IV, normally IV is for the keyboard (except for four player games), and then for two player games you will connect the game controls to port I and II.
19:38:37 <wob_jonas> and do you want a C compiler for this, do you want a working port of linux (kernel) for it?
19:38:54 <zzo38> wob_jonas: Yes, it is my intention. Although is also intended all free open-source, anyone can study and can duplicate the design.
19:39:08 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
19:39:11 <zzo38> The restriction is that the trademark is reserved for versions that are 100% compatible with it.
19:39:33 <wob_jonas> can you use an existing ARM cpu for this?
19:39:40 <zzo38> wob_jonas: I would probably instead make a simpler operating system design.
19:40:11 <zzo38> I did think about using a ARMv2 CPU; I have not yet decided.
19:41:30 <zzo38> Yes, although the newer ones are too complicated as well as patented.
19:43:44 <wob_jonas> how powerful a graphics card would you like for this?
19:45:19 <zzo38> My idea is simpler it is a single-tasking system, and much of the I/O functions do not need accessing the operating system (although some do), although the user program is non-relocatable, it can import relocatable programs into itself dynamically, and an interface is designed for this, somewhat similar to UNIX pipes.
19:46:00 <zzo38> wob_jonas: I designed it with tile-based graphics, based somewhat on the PC and Amiga, although it has its own "video instruction set" too.
19:46:09 -!- hppavilion[1] has joined.
19:46:28 <zzo38> You can make the tile height whatever you want, although tile width is always 8 pixels. You can also have sprites.
19:47:42 <zzo38> There is the display list, so you can use that to change video modes during each scanline, to implement scrolling, upside-down tiles, and whatever else. Tile height also needs a loop in the display list since the native tile height is only 1 pixel.
19:48:11 <zzo38> (You can make larger tile heights by altering the pattern table address during each scanline.)
19:50:32 <zzo38> Sprites similar to Famicom and those stuff
19:50:34 <wob_jonas> I don't know what Amiga sprites are like, and PC only has the one cursor
19:51:27 <wob_jonas> I don't know much about what Famicom sprites can do either
19:52:15 <HackEgo> [wiki] [[Micro]] https://esolangs.org/w/index.php?diff=52133&oldid=52132 * Raddish0 * (+326) /* Built-in functions */ Added multiple implicit evaluation
19:53:12 -!- bender| has joined.
19:53:19 <wob_jonas> like, what size are the sprites, how many colors can the graphics of one sprite have, and what transforms can you do on the sprite (double height, double width, transparent, palette changes for each individual sprite, hflip, vflip, etc)
19:53:48 <wob_jonas> also, would you have multiple layers of tiles like the SNES has, or only one layer of tiles plus one layer of sprites?
19:53:58 <zzo38> Only one layer of each.
19:54:24 <zzo38> However, you could make sprites display behind the playfield if you want to.
19:54:26 <wob_jonas> and can you have sprites that are partly behind tiles, in that some colors in tiles hide the sprite?
19:55:45 <zzo38> I would have with 8x8 and 8x16 sprites, up to 15 colours per sprite, you can change the palette per sprite but only to XOR the colour map, and there is hflip and vflip, but no double width. Double height is possible in software, by writing a display list to implement them.
19:56:20 <wob_jonas> so there's a palette of 15 or 16 colors that applies to all sprites together?
19:56:27 <zzo38> Another feature I put in for the sprites though is the ability for sprites to alter the background pattern (this can be set per sprite); the PC text cursor can be imitated by doing this.
19:57:09 <zzo38> wob_jonas: Yes, there is a palette of 16 colours that applies to all of the sprites together (but you can change the palette between scanlines). Which 15 of those 16 colours are available depends on the mask that you set.
19:57:49 <wob_jonas> if you can alter the tiles palette per scanline, then you don't need sprites for a PC-like cursor. just reserve two colors for the cell (or two cells) the cursor is in, and in the scanlines where the cursor is visible, swap their palette entries
19:59:18 -!- augur has quit (Remote host closed the connection).
19:59:26 <zzo38> My idea actually had it blinking from the display list program rather than from the CPU.
20:02:21 <wob_jonas> if you do so much from the display list, even changing which row of a tile is shown, then how will the graphics card have enough time to interpret the display list between scanlines?
20:02:36 <wob_jonas> I mean, it could work ahead a bit, but still
20:03:35 <zzo38> wob_jonas: It is interpreted during hblank and vblank, two clock cycles per pixel. There is self-modifying code (and it is sometimes needed, since the video instruction set I designed does not support indexed addressing modes).
20:04:02 <zzo38> I will have to see about the time available during the hblank.
20:04:44 <wob_jonas> also, isn't 8 pixel wide tiles too limiting? wouldn't it be better to have a mode for 16 wide tiles? and possibly 16 wide sprites too.
20:04:52 <zzo38> You can though also unroll loops if you need to
20:05:08 <zzo38> A mode for 16 pixels wide might be added, yes, the design isn't final yet so such changes are possible.
20:05:21 <wob_jonas> I mean, in practice it doesn't seem too limiting, because lots of games use 16-wide tiles when the gpu only allows 8 wide, but still
20:05:26 <zzo38> (There is, however, already a mode to make everything on the scanline double width.)
20:06:00 <wob_jonas> I don't want just double width, but actually 16 pixel wide graphics
20:06:53 <wob_jonas> can you hscroll the tile output to single pixel granularity?
20:07:29 <zzo38> Yes there is a "fine X scroll" register.
20:09:23 <wob_jonas> at maximum how wide is the displayble part of scanlines?
20:09:38 <wob_jonas> (like in pixels or in 8-pixel tiles or something)
20:10:01 <wob_jonas> or is that limited only by how much video memory you have for the tilemap?
20:10:26 <wob_jonas> or by the pixel clock frequency rather
20:10:35 <wob_jonas> what pixel clock freq would you like?
20:10:36 <zzo38> I think probably it is 320x240 in low resolution mode, although there might be also a high resolution mode. (This is in pixels.) However, the "virtual" playfield size can be whatever number you want.
20:11:34 <zzo38> I am nore sure yet about clock frequencies.
20:11:49 <zzo38> wob_jonas: Progressive; there is no 240 interlaced mode, only 480 interlaced.
20:12:07 <wob_jonas> the resolution already more or less determines what clock frequency you need
20:12:10 <zzo38> If there are any resolutions higher than 320x240 they will be digital-only; the 320x240 resolution supports both analog and digital.
20:12:19 <wob_jonas> (at least puts a lower cap on it that is)
20:12:31 <zzo38> wob_jonas: Yes, I thought so, although have been unable to achieve a precise answer in my various asking.
20:13:54 <wob_jonas> 320x240 is very small though. that's only 40 columns of text
20:14:35 <zzo38> wob_jonas: Yes, I know. However, analog video output will be limited to that; there may be higher resolution modes too, although they will only support digital displays and not analog.
20:14:59 <zzo38> The main and video share memory, so they would have the same clock rate (and be clock interleaved; this means the main CPU can execute at double speed when video is disabled), although audio has separate memory (with 16-bit bytes) and has a separate clock rate too, which I have already decided must be a multiple of 44100 Hz, so that you can play back audio CDs.
20:15:18 <wob_jonas> sure, it's just that if you want twice as wide and twice as high resolution, then you need almost four times as high clock cycle
20:15:38 <wob_jonas> which makes a lot of demand on the hardware, especially if you're serious about interpreting two instructions per pixel, which sounds ridiculously fast to me by the way
20:16:48 <wob_jonas> couldn't you interpret instructions in the view list slower, but have eight set of control registers so the display list can work ahead modifying any set, and then activate any set for any scanline?
20:17:11 -!- hppavilion[1] has quit (Ping timeout: 255 seconds).
20:17:23 <wob_jonas> of course if you have to manually adjust the tile AND sprite address offsets every row, rather than have that in hw, then you still need to do some work per scanline,
20:17:42 <wob_jonas> usually there are a lot of options you only want to change a few times per screen, not every scanline
20:17:46 <zzo38> That is another possibility, although I don't quite know yet
20:22:47 <shachaf> I wish I still had a copy of monqy's self-portrait of me.
20:23:25 <wob_jonas> you made a ghost-painter paint your self-portrait?
20:23:55 <kerbal> How does someone else do a self portrait of you?
20:25:36 <wob_jonas> kerbal: maybe it's like those mediaeval painters who had a small set of apprentices painting authentic paintings in the master's name, one of them could paint a portrait of the master. or like when Asimov allowed the three B authors to write official Foundation novels.
20:25:57 <kerbal> wob_jonas: Maybe so, or maybe it's a clone
20:26:16 <kerbal> Does zzo38 have lots of clones of himself lying around?
20:26:25 <zzo38> kerbal: I think not.
20:26:44 <kerbal> Unfortunate. Everyone needs a couple of clones
20:27:18 <zzo38> I don't want to increase the population too much
20:28:24 <zzo38> My design for the audio is also somewhat based on Amiga, although with 16-bits instead of 8-bits. There will be some way to send data block from main CPU to the audio processor, in a buffer or whatever, and then it can process.
20:29:17 <wob_jonas> zzo38: audio? why do you want audio at all? don't you want a small design you can actually finish?
20:29:45 <zzo38> It might be done partially at a time I suppose; it does not need made all at once.
20:30:05 -!- augur has joined.
20:30:08 <wob_jonas> just add a single-tone beeper or a relay to the on-off switch of an external FM radio so it can wake you up in the morning
20:30:51 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:31:45 -!- wob_jonas has joined.
20:32:09 <wob_jonas> "<zzo38> It might be done partially at a time I suppose; it does not need made all at once." => yeah, that's true
20:32:31 <wob_jonas> I hope you add a serial port or something so it can communicate with other computers and the internet through a proxy
20:34:36 <wob_jonas> you could do that even before there's a video output
20:38:23 -!- hppavilion[1] has joined.
20:38:35 <zzo38> Yes there will be a RS-232 port for sure (my original design didn't have it but someone with me at the time mentioned it, and so I put it in because it is important), and there is intending to be ethernet too (although not wireless).
20:38:43 <zzo38> (The only wireless feature is a infrared receiver port)
20:38:46 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
20:40:15 <zzo38> But yes some of this stuff can be done for testing even before the other stuff is made up.
20:41:11 -!- electrolex has quit (Quit: Leaving).
20:44:19 <zzo38> The primary input devices (the game controls and the QWERTY keyboard, and you can even add others too if you wanted to) will be IMIDI (which uses the same protocol as MIDI, although it uses two-way communications and isn't necessarily only for music, and may have some differences in electrical specifications too).
20:45:34 <wob_jonas> you can start with the serial console being primary input, and add the keyboard later
20:46:18 <wob_jonas> but then you can also start with keyboard if you want
20:48:20 <wob_jonas> what kind of storage device (disk) do you want for this computer?
20:49:33 -!- Remavas has joined.
20:50:03 <zzo38> I think will have CompactFlash, a hard drive, and CD/DVD (read-only) drive. Possibly the first version might have only one or two kinds though, and then eventually will have all three.
20:50:43 -!- hppavilion[1] has quit (Ping timeout: 268 seconds).
20:51:38 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
20:52:09 -!- wob_jonas has joined.
20:55:20 <HackEgo> [wiki] [[Micro]] https://esolangs.org/w/index.php?diff=52134&oldid=52133 * Raddish0 * (-89) found that there were 2 "duplicate" instructions
20:56:26 -!- Phantom_Hoover has joined.
20:58:54 <kerbal> So, a language design question. In my language, the only datatype is the integer. If I added user-defined "operators" (which, in Integ, are basically functions called with a unique symbol) to the language, would that be violating the "integer-only" rule?
21:00:49 <Warrigal> Not if operators can't be stored in variables, passed around, and so forth.
21:02:42 <kerbal> Does the operator name by which it is defined count as a variable?
21:03:22 <zzo38> I wouldn't think so? Unless it is a variable.
21:04:21 <kerbal> For instance, in Python, is the name hi in def hi(): pass considered a variable?
21:05:08 -!- Warrigal has quit (Ping timeout: 240 seconds).
21:05:19 <zzo38> I don't know Python programming so well
21:06:49 <kerbal> What about hi in the C code void hi(){}; ?
21:07:18 <kerbal> My basic question is, are those names considered variables or something else
21:07:47 <zzo38> It is still a name, although not a variable. The same names are used though for variables, I think
21:08:49 <wob_jonas> in python and C, you can have variables that point to a function, and you can abstract over such a variable, that is, write a function that takes a function as a parameter or that return a function
21:08:59 <wob_jonas> that's what makes C and python have first-class functions
21:10:45 <zzo38> Yes, you can have function pointers in C.
21:29:28 <zzo38> Now I made up the Gaussian blur program
21:30:42 <wob_jonas> that's useful, I do gaussian blurs sometimes in gimp and other programs
21:31:25 <zzo38> There is a separate program for Gaussian blur and for general convolution, because a Gaussian filter can be done with a separate horizontal and vertical pass.
21:32:57 <zzo38> I also have a program for the Scale2x algorithm, for tensor product of two pictures, for elementary cellular automata, and slew rate limiter, and a lot of other stuff. I know some people find no program is suitable so they use multiple programs.
21:33:51 -!- augur has quit (Remote host closed the connection).
21:35:24 <zzo38> There is a description of slew rate on Wikipedia, although this implementation is two-dimensional, and allows separate positive and negative slew rates, as well as separate for horizontal and vertical.
21:36:36 <zzo38> You should look at list of the program I have to see what kind of effects there are. You can tell me what else you might want to add, too
21:43:18 <zzo38> If you use the program such as GIMP maybe you can know some idea how farbplug can be designed, and then any of these and other program that work with farbfeld pictures with pipes can be used as a plugin for GIMP as well as other programs.
21:44:13 <wob_jonas> I haven't looked at how extending gimp works at all.
21:46:11 <zzo38> I partially made up the description of farbplug http://zzo38computer.org/fossil/farbfeld.ui/wiki?name=Farbplug
21:47:20 -!- bender| has quit (Quit: Leaving).
21:47:34 <zzo38> Is not meant to be only for GIMP, but may be use with others programs too, by converting Farbplug specifications into whatever plugin format is needed by that program.
21:49:30 -!- Zarutian has joined.
21:57:05 <wob_jonas> zzo38: I don't think I'd use that. instead of using farbplug to have farbfeld use other formats, I'd suggest using ImageMagick to use any format including farbfeld. ImageMagick already handles all this plugin thing.
21:57:44 <wob_jonas> If I wanted to use farbfeld often, then I'd probably try to hook it up into ImageMagicks.
21:58:55 <zzo38> I also think is missing farbfeld from ImageMagick too
21:59:40 <zzo38> There is a GIMP plugin to load/save farbfeld, but it isn't very good it only supports files and not pipes.
22:00:43 <zzo38> I used to use ImageMagick, but now I do not use it much and use farbfeld instead mostly.
22:03:14 <zzo38> However, you can still suggest what program can be added into the Farbfeld Utilities if you have some suggestion.
22:48:04 -!- jaboja has joined.
23:01:42 -!- kerbal has quit (Ping timeout: 260 seconds).
23:06:06 -!- Remavas has quit (Read error: Connection reset by peer).
23:06:40 -!- Remavas has joined.
23:10:11 <Taneb> Theory: what's going on in Girl Genius right now is being masterminded by the Castle as a ploy to get back into Paris' network
23:13:39 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
23:18:38 -!- boily has joined.
23:27:04 <HackEgo> damnation//The Damnation was an evil empire of yore, until the dam no longer held and they got flooded.
23:28:03 -!- erkin has joined.
23:34:20 -!- augur has joined.
23:36:29 -!- erkin has quit (Remote host closed the connection).
23:38:22 -!- erkin has joined.
23:38:39 -!- augur has quit (Ping timeout: 246 seconds).
23:57:01 -!- oerjan has joined.