←2016-05-20 2016-05-21 2016-05-22→ ↑2016 ↑all
00:00:38 <int-e> oerjan: I KNOW
00:01:33 <int-e> oerjan: what I failed at was history, not the arithmetic of the two calendars.
00:02:36 <oerjan> OKAY
00:03:55 <int-e> speaking of arithmetic, I still haven't convinced Isabelle that the laver tables as computed are actually shelves...
00:04:51 <int-e> Though I've come closer. I have proved the pasting modulo 2^(n-1) property.
00:10:48 <oerjan> what's that
00:12:03 <int-e> http://isabelle.in.tum.de/ ?
00:12:11 <oerjan> ....
00:12:13 <int-e> or the property...
00:12:18 <oerjan> the property.
00:13:04 <int-e> "pasting" is misleading... it's that dropping the top bit gives a homomorphism to a smaller shelf
00:13:27 <int-e> but I think of it as pasting 4 copies of the smaller table and then tweaking the top bits.
00:13:42 <oerjan> int-e: right. also setting the top bit (or clearing, dependent on indexing)
00:14:22 <int-e> and of course all this is part of a huge induction step... I'm assuming that the smaller table is a shelf.
00:14:39 <oerjan> int-e: ok, remind me again, how do index things. it's impossible to talk about this without agreeing on that.
00:15:03 <oerjan> *how do you
00:15:54 <oerjan> admittedly the convention in john baez's blog post does not fit well with the bit twiddling :(
00:15:57 <int-e> In the formalization I'm using 0..2^n - 1 as carrier and a |> 2^n - 1 = (a-1) mod 2^n ... so 2^n - 1 is the generator
00:16:20 <int-e> so the "dual" version according the the laver.hs file I made
00:16:35 <oerjan> ok.
00:16:48 <oerjan> so 0 is the left identity / right absorber.
00:17:01 <int-e> yes
00:17:22 <oerjan> int-e: in that case, \x -> 2^(n-1) |> x is that homomorphism you mention.
00:18:58 <int-e> Which is... obviously an homomorphism if you have a shelf.
00:19:31 <oerjan> int-e: ok, here's my idea: don't do induction in such a big step. instead, prove from the fact that {0, ..., x} is a shelf that (a) x has period a power of 2 (b) {0, ..., x+1} is a shelf.
00:20:00 <oerjan> (a) holds generally for any element of a shelf that _has_ a period.
00:21:38 <oerjan> to show (a), you can show that {x, x |> x, x |> x |> x, ..., } is isomorphic to a laver table.
00:22:39 <oerjan> (you also need that laver tables have size a power of 2 if they are shelves.)
00:22:59 <oerjan> not sure how much of this you've already proved.
00:23:29 <shachaf> Hmm, regular languages are exactly those that are recognized by a finite monoid.
00:24:16 <oerjan> (i can give you a proof for the power of 2 thing too)
00:24:34 <oerjan> (in fact that's the only part that needs something resembling "bit twiddling")
00:24:43 <int-e> I have not proved that non-powers of 2 don't work... as I currently see it, in order to prove that 2^n * o doesn't work, where o > 1 is an odd number, I first need the laver table of size 2^n.
00:26:12 <fizzie> I haven't been following the topic, so I went to see the 'pedia summary, and it was exceedingly useful: "In mathematics, Laver tables -- are tables of numbers that have certain properties."
00:26:52 <int-e> Since 2^n |> x is the first row where things go wrong.
00:27:04 <mad> what kind of system was cheaper to build in the late 80's... a system with independent 8bit DRAM for CPU and GPU, or a system with 16bit DRAM shared between CPU and GPU?
00:28:07 <int-e> fizzie: the main property is self-distributivity: a |> (b |> c) = (a |> b) |> (a |> c); an operation with that property is called a shelf.
00:29:05 <mad> I guess the 16bit system has technically fewer pins
00:29:11 <mad> but needs a beefier processor
00:29:26 <oerjan> int-e: hm let me recall the important things. first, if y is an element of a laver table, then \x -> (y+1) |> x maps the period of 2^n-1 (i.e. the whole shelf) onto the period of y.
00:31:44 <oerjan> moreover, z |> x maps to ((y+1) |> z) |> y, which means that this map _commutes_ with going to the next step in the periods.
00:31:58 <oerjan> er,
00:32:07 <oerjan> * z |> (2^n-1) maps to
00:32:20 <tswett> shachaf: "recognized by a finite monoid"? What do you mean by that?
00:32:45 <shachaf> https://en.wikipedia.org/wiki/Recognizable_set
00:33:21 <tswett> Neat.
00:34:06 <oerjan> int-e: from this, you can deduce that ((y+1) |>) ^{-1} (x) has the _same_ size for all x in the image. which means that the period size of y must _divide_ 2^n.
00:34:52 * oerjan might be mixing haskell and math too much here
00:36:42 <oerjan> int-e: now let, ad absurdum, {0,...,x} be a minimal laver table such that x is _not_ a power of 2. it follows that all elements _other_ than x have period a power of 2.
00:37:49 <oerjan> let 2^k be the largest such period. then 2^k divides x, and so x >= 3*2^k since it is not itself a power of 2.
00:38:45 <oerjan> but now consider y = 2^(k+1) < x. i claim that this element must have period 2^(k+1), a contradiction.
00:39:14 <oerjan> um
00:39:22 <oerjan> *y = 2^(k+1)-1
00:39:54 <oerjan> sorry, bit of off-by-ones up in there. it's x+1 that's not a power of 2.
00:40:03 -!- hppavilion[1] has quit (Ping timeout: 240 seconds).
00:40:59 <int-e> <int-e> Since 2^n |> x is the first row where things go wrong. <--- I see that we agree on that :P
00:41:09 <int-e> (though not on the variable names)
00:41:35 <oerjan> to prove that y has period 2^(k+1), it's enough to prove that z |> y = z-1 for 0 < z <= y.
00:43:17 <int-e> Hmm, perhaps I should have written "I have not formalized" instead of "I have not proved" earlier...
00:43:27 <oerjan> but z |> y = (z-1) |> (z-1) |> ... |> (z-1) (y times), and by assumption z-1 has period a power of 2.
00:43:36 <oerjan> int-e: so do you mean you've got all this?
00:44:29 <int-e> I mean I have a pretty clear picture in my head how I could prove it... you're doing some things differently.
00:44:37 <oerjan> oh wait damn
00:45:05 <oerjan> s/(y times)/(2^n-y times)/
00:45:20 <oerjan> messing up the indexing again.
00:45:40 <oerjan> er wait
00:45:51 <oerjan> (x+1-y times)
00:46:17 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:46:39 <oerjan> and the period of z divides x+1
00:47:01 <oerjan> *z-1
00:47:51 <oerjan> int-e: thing is, i thought of all this using the indexing wikipedia uses.
00:47:52 -!- Phantom_Hoover has joined.
00:48:38 <oerjan> which actually makes more sense for expanding z |> y into a chain
00:48:52 <oerjan> (then it has length y)
00:50:29 <shachaf> What kinds of monoids recognize e.g. context-free languages?
00:50:30 <oerjan> x+1-y = x+1-2^(k+1)+1 which is 1 more than a multiple of 2^k.
00:51:14 <oerjan> so since all periods of the z involved have lengths dividing 2^k, z |> y = z-1.
00:52:32 <oerjan> which proves that y has all of {0, ..., y} as its period set, of size 2^(k+1), which contradicts the assumption that 2^k is the maximal period of elements other than x. Q.E.D. and all laver tables must have period of 2 sizes.
00:53:04 <oerjan> int-e: was that clear? >:P
00:53:10 <int-e> sort of
00:53:15 <int-e> nice final typo
00:56:47 <int-e> My feeling is that it really isn't that different from what I proposed... except that I intend to directly pick y as the largest power of 2 that divides x+1.
00:56:56 <oerjan> argh
00:56:59 <oerjan> *power
00:57:15 <int-e> (well, actually the next power of two)
00:57:25 <oerjan> int-e: hm i guess that might work too
01:01:24 <quintopia> bbbbb
01:02:00 <oerjan> quintopia: ccc?
01:02:58 <int-e> The real trouble with Isabelle is that concepts like "period" have to be broken down into smaller parts...
01:03:31 <oerjan> ah
01:04:59 <int-e> there's also the minor detail that the periods are perfect... instead of having an initial part followed by a periodic one.
01:05:52 <int-e> (connected to the fact that each period starts at 0, because that's the only way to get a larger predecessor)
01:06:41 <int-e> though perhaps you have a better angle on that; there's a bit there early on that I didn't follow completely.
01:08:58 <oerjan> nah the fact you must go through 0 seems essential.
01:09:05 <int-e> I also need sleep and I should get lambdabot into shape for ghc 8 on the weekend rather than working on shelves.
01:09:32 <oerjan> i tried vaguely thinking about what would happen if a period was not perfect.
01:10:01 <oerjan> it seems then there' no reason why they would be closed as shelves.
01:10:09 <oerjan> *as subshelves.
01:10:15 <oerjan> *+s
01:17:12 <quintopia> so much math today
01:17:39 <coppro> yay
01:18:00 <quintopia> copprello
01:21:35 <coppro> quinnichiwa
01:25:55 <pikhq> Mi salutas viojn.
01:26:55 -!- ybden has quit (Quit: doom).
01:35:55 -!- lambda-11235 has quit (Quit: Bye).
01:41:24 -!- tromp_ has quit (Remote host closed the connection).
01:48:58 <quintopia> so who needs some friday night alcohols?
01:49:22 <mad> gotta go fast
01:52:58 <zzo38> I would think the main instruction set for my new computer design should include Muxcomp too.
01:53:19 <zzo38> I don't want the alchols
01:53:30 <mad> what's muxcomp
01:55:02 <zzo38> It is http://esolangs.org/wiki/Muxcomp
01:55:03 <shachaf> zzo38: Why not?
01:55:57 <zzo38> (It would probably be slow if all operations are muxcomp, unless perhaps it is used in microcodes)
01:59:00 <zzo38> The document I wrote now includes a comment about that, as well as many other changes and additions
01:59:01 <mad> zzo38 : how do you enter the 6 inputs to the operation?
01:59:04 <oerjan> quintopia: no thanks, i had a drink on tuesday
02:00:06 <zzo38> I haven't put in all of the details yet, that is just an idea so far.
02:00:20 <shachaf> oerjan: which drink
02:01:01 <mad> zzo38 : ok how about
02:01:04 <oerjan> shachaf: cognac hth
02:01:55 <mad> lea bit3, bit4*2, r0
02:01:55 <oerjan> (as you may recall, it was constitution day)
02:01:55 <shachaf> oerjan is among the cognacenti
02:02:24 <oerjan> shachaf: indeed. i have a family anecdote to the effect i was an early fan
02:02:34 <oerjan> (3 years old iirc)
02:02:35 <zzo38> mad: What is that? Can you explain?
02:02:47 <shachaf> "cognacenti" could be a p. good pun
02:02:52 <shachaf> gotta save that one up
02:03:26 <mad> lea bit3, bit4*2, r0
02:03:26 <mad> lea bit2, r0*2, r0
02:03:26 <mad> lea bit1, r0*2, r0
02:03:26 <mad> lea bit0, r0*2, r0
02:03:26 <mad> shr lut, r0, r0
02:03:27 <mad> and r0, $1, r0
02:04:44 <mad> in other words: combine all your conditionals into a bit addresss
02:04:59 <mad> use bitshift to put the selected bit into bit 0 of result
02:05:10 <mad> use AND to clear remaining top bits
02:05:41 <oerjan> "YouTube's designers found the previous system ineffective because the options to rate a video between two and four stars were rarely selected."
02:05:58 <oerjan> idea: a rating system where you have to earn the right to use the top and bottom ranks
02:06:59 <oerjan> (someone's probably tried it)
02:07:08 -!- moonheart08 has joined.
02:07:11 <mad> like the system takes in your comments and computes how similar it is to troll comments
02:07:19 <moonheart08> This is moon
02:07:31 -!- moonheart08 has changed nick to moon_.
02:07:32 <oerjan> mad: ...that's not very related...
02:07:38 <mad> and if it's not too similar and you have enough comments and ratings it lets you use double-thumbs-up and double-thumbs-down?
02:07:41 -!- moon_ has changed nick to moonheart08.
02:07:44 -!- diginet has quit (Quit: diginet has quit!).
02:08:00 <mad> how else do you compute people's ability to rate by machine?
02:08:55 <oerjan> mad: sorry, i didn't mean a right, a meant a quota. the idea is that you _have_ to give non-extreme rankings most of the time.
02:09:16 <oerjan> so that the rankings are forced to spread out more.
02:09:48 <moonheart08> oerjan, is there a way to change my nick on only *one* channel?
02:09:57 <oerjan> moonheart08: i don't think so.
02:10:01 <zzo38> moonheart08: IRC does not do that.
02:10:01 <moonheart08> urgh
02:10:08 <moonheart08> ah well
02:10:13 <mad> oerjan : oh
02:10:28 <zzo38> The NICK command is for your connection to the server. You could make a second connection possibly though?
02:10:32 <mad> then a super bar that charges up when you give thumbs up or down
02:11:12 <mad> once it's charged all the way up you get to hitconfirm combo a thumbs up into a super thumbs up
02:11:20 <zzo38> I think the unary XOR operation in INTERCAL can be used for Gray codes?
02:11:25 <moonheart08> Eh, true
02:11:32 <moonheart08> brb
02:11:36 -!- moonheart08 has left.
02:11:39 <oerjan> mad: yeah maybe.
02:11:52 -!- Opodeldoc has joined.
02:12:11 -!- moon__ has joined.
02:12:17 <moon__> There we go
02:14:24 <oerjan> zzo38: hm the unary xor is basically a cellular automaton on the bits as a ring, isn't it.
02:14:35 <oerjan> i suppose the unaries are too.
02:14:40 <oerjan> *the other unaries
02:15:20 <zzo38> oerjan: Yes I think so.
02:24:16 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:27:38 -!- moon__ has quit (Ping timeout: 250 seconds).
02:28:42 -!- hppavilion[1] has joined.
02:40:45 <zzo38> mad, b_jonas: What is your opinion on the various other ideas I have written there?
02:41:55 -!- tromp_ has joined.
02:43:18 <mad> hm
02:44:24 <mad> how are the sprites displayed?
02:45:23 <zzo38> By the use of the sprite buffer that is filled up during the previous scanline rendering
02:45:52 <mad> how does it know which sprites are active on the current scanline?
02:46:59 -!- tromp_ has quit (Ping timeout: 276 seconds).
02:47:16 <zzo38> Because those are the ones in the sprite buffer. It is placed into the sprite buffer if the Y position is correct.
02:50:15 <zzo38> Writing to the sprite registers will affect the next scanline and not the current one, so your display program must take that into account.
02:51:01 <mad> why does it have to read sprite x y etc from memory if it has sprite registers?
02:51:46 <zzo38> The sprite registers only tell it where to find it in the memory and what the current scroll position is.
02:53:51 <mad> so it has memory reads of all the sprite data on every single scanline?
02:54:17 <zzo38> Yes, it has to
02:56:00 <mad> you don't have to fetch the sprite x y id etc if you have it in a register
02:58:25 <zzo38> Then you would need a register for each sprite I would think
02:58:35 <mad> yes
02:58:50 <mad> it depends on chip generation but eventually they had enough registers for that
02:58:53 <zzo38> And it would take up many of the instruction cycles available on each scan line
02:58:58 <mad> especially on snes etc
03:03:13 <zzo38> (The design I have seems that there is exactly enough clock cycles for each pixel to read everything necessary for playfield and for sprites)
03:04:19 <zzo38> What would you think of the stuff other than the video?
03:05:06 <mad> why is audio frequency in periods?
03:05:46 <zzo38> Why shouldn't it be? That is what many computers did, I think?
03:06:23 <mad> it depends on chip generation
03:06:53 <mad> if you're doing few channels of square waves then periods is simpler yes
03:07:21 <mad> once you start doing like 6 and 8 channels and FM synthesis and samples then frequency is simpler
03:10:38 <zzo38> To do anything with audio you would need to load a audio program into the audio processor, which would implement whatever you need.
03:13:23 <mad> does this require the audio cpu to busy write into the channels all the time?
03:14:45 <zzo38> Not all the time, because there is a period and it only has to write once the period has expired.
03:15:52 <mad> that's all the time
03:16:37 <mad> it can't do anything longer than one sample or else channels will start glitching :o
03:17:01 <zzo38> Each channel has separate registers
03:17:47 <zzo38> Although you could also add data together and put into one channel.
03:17:51 <mad> so the cpu has to keep 4 channels filled all the time
03:18:43 <zzo38> The audio processor runs independently from the main processor so it does not take cycles away from the main processor, because it has its own memory too.
03:18:43 <mad> zzo38 : that would be hard too since you have to mix all the channels in less than 1 sample every time
03:20:31 <zzo38> They have been able to do it in PC, which has only one channel and a slower clock rate.
03:20:53 <zzo38> (And this is together with graphics.)
03:21:12 <zzo38> My own design it is independent from graphics so it can clearly do more stuff.
03:22:47 <mad> on PC they have a DMA channel
03:23:48 <mad> like you can compute a whole 256 sample block, send it to the card and do all sorts of other stuff while the sound card slowly goes through it
03:24:01 <zzo38> No I mean on the original PC that had only PIT for sound
03:24:08 <mad> and you even get an interrupt to refill it when half the block is done
03:24:15 <mad> zzo38 : yes and it sucked
03:27:45 <zzo38> I know it isn't very good that is why I did mine more better
03:29:37 <zzo38> Did you find any mistake in the display program I wrote for imitating a PC text screen?
03:29:50 -!- tromp_ has joined.
03:38:38 <zzo38> And what think you think about the other stuff I wrote about keyboard, game control, and operating system?
03:39:08 <mad> didn't read too much about those
03:49:46 <zzo38> Now you can read it
04:07:30 <mad> hmm
04:07:43 <mad> I'd concentrate on the parts you can implement on an fpga first
04:16:13 <zzo38> That is one way, although many of the things I had written about are separate from what would be done by FPGA
04:18:26 -!- MDude has changed nick to MDream.
04:34:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
04:36:13 -!- hppavilion[1] has joined.
04:41:51 -!- atehwa has quit (Ping timeout: 276 seconds).
04:43:27 -!- oerjan has quit (Quit: Nite).
04:53:25 -!- atehwa has joined.
05:04:16 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
05:13:51 -!- hppavilion[1] has joined.
05:24:53 <hppavilion[1]> The Lewis Chessmen make me sad
05:32:44 <zzo38> Why is that?
05:38:40 <hppavilion[1]> zzo38: Wikipedia should make it clear
05:39:01 <hppavilion[1]> RGB chess: A game of chess with > 16kk sides
05:48:49 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
05:51:10 -!- Akaibu has quit (Quit: Connection closed for inactivity).
05:51:48 -!- hppavilion[1] has joined.
05:51:50 <hppavilion[1]> In 0-chess, white automatically wins
05:52:30 <hppavilion[1]> In n-chess, you play normal chess, but upon capture, a game of [n-1]-chess is played to calculate success. White is the attacking piece, black is the defending piece.
05:52:43 <hppavilion[1]> BOOM.
05:56:08 <shachaf> zzo38 has invented many Chess variants.
05:58:37 <hppavilion[1]> shachaf: Mine requires you to play chess to play chess. I think I win.
05:58:51 <hppavilion[1]> shachaf: Also, there are infinitely many of them
06:02:31 <hppavilion[1]> shachaf: My god... omega-chess
06:03:46 <shachaf> Omega is an ordinal, but Chess has bishops, so cardinals seem more appropriate.
06:07:37 <hppavilion[1]> shachaf: Fair point
06:42:23 -!- jaboja has joined.
07:08:05 <quintopia> hppavilion[1]: what value of n should be the "default" initial match?
07:11:28 <quintopia> hppavilion[1]: how about MWI-chess: when a capture is made, a new game with identical pre-move state is spun off in which the capture never happened and the capturing player loses a turn. all spun-off games must be played simultaneously, though each forked game adds to the game clock half the length of time that was added for its parent
07:12:30 -!- Cale has quit (Remote host closed the connection).
07:12:45 <quintopia> the winner is the player that won the majority of games by the time all games are completed or one player's time expires. (said player obviously loses all unfinished games if time expires)
07:13:03 <mad> analog paper chess... the pieces are lines on a sheet of paper... movement is prolongating the lines... capture is crossing the other player's line
07:13:31 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
07:13:35 <quintopia> can the lines be rotated?
07:14:27 <quintopia> like...this doesnt really sound like chess
07:14:59 <quintopia> unless pieces still move like pieces and the "lines" are their loci of past movements
07:25:13 -!- tromp_ has quit (Remote host closed the connection).
07:58:24 -!- jaboja has quit (Remote host closed the connection).
08:14:12 -!- MDream has quit (Ping timeout: 260 seconds).
08:15:38 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:25:43 -!- tromp_ has joined.
08:30:03 -!- tromp_ has quit (Ping timeout: 240 seconds).
08:40:43 -!- AnotherTest has joined.
08:49:59 -!- bender has joined.
10:09:26 -!- hppavilion[1] has joined.
10:12:12 -!- tromp_ has joined.
10:13:33 -!- hppavilion[1] has quit (Ping timeout: 246 seconds).
10:17:15 -!- tromp_ has quit (Ping timeout: 276 seconds).
10:18:28 -!- gamemanj has joined.
10:33:21 -!- Phantom_Hoover has joined.
11:24:09 -!- AnotherTest has quit (Ping timeout: 260 seconds).
11:27:01 -!- tromp_ has joined.
11:31:03 -!- tromp_ has quit (Ping timeout: 240 seconds).
11:37:12 -!- centrinia has joined.
12:26:46 -!- ais523 has joined.
12:28:11 <fizzie> 9600, 8N1.
12:28:29 <gamemanj> is that a serial port configuration?
12:28:40 <fizzie> What else could it possibly be?
12:28:50 <fizzie> (I'm just using the channel as a convenient note pad.)
12:29:31 <gamemanj> fizzie: if you're going to prune rare words from models, why leave placeholders, instead of removing the nodes entirely?
12:29:56 <gamemanj> or, better, work out the *type* of word and substitute it for a random word that sort-of-fits.
12:31:07 <gamemanj> Like for example: The megalomaniac with his butler tried to take over the world, becomes: The dynamic with his apple tried to make over the rabbit.
12:31:17 <fizzie> I am, I'm just using a set of one type as the list of types I handle.
12:31:25 <gamemanj> ...
12:31:40 * gamemanj gets out his pocket dictionary and adds an "adj." meaning to "fnord"
12:31:41 <gamemanj> ok
12:31:57 <fizzie> More realistically, that'd be a lot of effort.
12:33:31 <gamemanj> who needs realism? :)
12:33:32 <b_jonas> ohi ais
12:34:05 <gamemanj> anyway, it probably would be quite a bit of work to identify the word being removed...
12:34:54 <gamemanj> but then it's just a matter of picking a word from a list.
12:35:08 <gamemanj> Or is this logic implemented in the Befunge layer?
12:35:11 <fizzie> Yes.
12:35:20 <fizzie> The synthesis part, that is. Not the model building.
12:35:42 <gamemanj> As in, where do rare words get pruned?
12:35:43 -!- centrinia has quit (Quit: Leaving).
12:37:06 <fizzie> *That's* during model building, of course. But even something as simple as "have models contain a set of tokens that can be replaced by a word randomly selected from a model-specific list" -- which would happen at synthesis time -- isn't all that trivial to implement in Befunge. Especially if you'd need to edit existing code to do it.
12:37:18 <fizzie> The babbling is lines 125-161 of https://github.com/fis/fungot/blob/master/fungot.b98
12:37:19 <fungot> fizzie: yes. just like yo fnord agua is another way to do that
12:39:00 <gamemanj> Well, why not choose the random words during model building?
12:39:42 <gamemanj> It's all random anyway, so I doubt anyone would notice.
12:39:49 <fizzie> Oh. I guess. But then it's always the same word.
12:39:59 <fizzie> People do notice patterns in some of the smaller-corpus models.
12:40:01 <fizzie> ^style ct
12:40:02 <fungot> Selected style: ct (Chrono Trigger game script)
12:40:09 <fizzie> fungot: Can that sword alone stop it?
12:40:09 <fungot> fizzie: as long as you keep crono in your heart, the day of lavos"... go to " leene square" 1000 a.d.? yes, i'd have done something very brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope.
12:40:09 <gamemanj> fungot
12:40:09 <fungot> gamemanj: i see. you know, i really care... a time portal? what in the...! ozzie's stumped!
12:40:34 <fizzie> "magus is a tad on the spooky side. our only hope." keeps being repeated a lot.
12:41:16 <gamemanj> True, but on smaller corpus models you might not want to remove rare words.
12:41:32 <fizzie> Well, that's true. I haven't done it for those.
12:42:00 <gamemanj> So on smaller corpus models you aren't removing words anyway, and on larger corpus models the space is big enough that it wouldn't be as noticable.
12:42:25 <fizzie> I'll keep that in mind if I ever can bother to retrain the irc style.
12:42:59 * gamemanj wonders how long the IRC style took in CPU time, given the history of #esoteric
12:43:32 <fizzie> `quote elf corpses
12:43:34 <HackEgo> 111) <fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
12:45:00 <fizzie> I think a larger fraction of it is ##scheme.
12:45:55 <gamemanj> ...elf corpses?
12:45:59 <fizzie> ^style nethack
12:45:59 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
12:46:07 <gamemanj> ...does this have anything to do with NH4?
12:46:09 <fizzie> fungot: Your quote-file quotes are so good, why can't you be brilliant like that all the time?
12:46:10 <fungot> fizzie: nalfeshnee: not only by birth but also by law", ector said facing arthur. the leprechaun's two great loves are tobacco and whiskey, and at the blasphemy. he was such a way that it becomes porous to inert material.
12:46:45 <fizzie> fungot: I didn't know that about leprechauns.
12:46:45 <fungot> fizzie: issek: now issek of the weaker forms of demon. it is ready to be a sasquatch inn near the town level of the wizard and his fellow titans were ousted from mount olympus. ( the jungle still.
12:55:15 <fizzie> `quote stop programming
12:55:17 <HackEgo> 1164) <fungot> boily: i'll probably stop programming the day i will hit the end of the program.
12:55:59 <fizzie> `quote serious proportions
12:56:02 <HackEgo> 1181) <fungot> kmc: madam president, i have taken on serious proportions.
12:57:16 <fizzie> ^style europarl
12:57:16 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
12:57:33 <fizzie> fungot: What is your stance on the upcoming UK referendum on Brexit?
12:57:35 <fungot> fizzie: the gradual and controlled implementation of the budget, but i do miss one aspect, namely communication with the public and the slovak government. criticism is clearly not a democratic country. this therefore means that we can create a job with a smaller management or perhaps with a view to guaranteeing and expressing the higher interest and security of payments requires products to be tested, we must take account of th
12:58:03 <fizzie> fungot: But are you for or against it?
12:58:05 <fungot> fizzie: madam president, commissioner, i hope that we can begin programming and implementing aid, that we are only recommending the level of employment in some of the problems we are now ready to establish technical requirements, specifically amendments nos 9 and 10. they all aim to exclude certain sectors from their advantages, consumer protection and especially its rapporteur, mrs marinucci, have done, then i am quite aware t
12:58:20 <fizzie> Typical politician, never says anything straight.
12:59:15 <gamemanj> :)
13:01:40 <gamemanj> Why say things people can understand...
13:01:46 <gamemanj> when you can say things people can't understand?
13:02:07 <gamemanj> And get money for doing so?
13:07:48 <fizzie> Ha! It was 9600 8N1.
13:08:24 <fizzie> (Proper settings for getting a serial console out of a SparcStation 5.)
13:09:27 <fizzie> http://sprunge.us/gMNa doesn't look too good, though.
13:11:00 <f10d4> <3 sparcstations
13:11:14 <f10d4> have ss4, ss5, sparcserver5, ss10, ss20
13:11:33 <f10d4> with reversed gender serial connectors
13:12:15 <fizzie> Yeah, I had to get a gender changer to get at the serial console.
13:12:33 <f10d4> we have tons of db25->rj45 converters
13:12:47 <gamemanj> I'm sure this'll make lovely out of context reading.
13:12:58 <f10d4> with them, we can use those with blue cisco cables
13:13:10 <f10d4> and also we have tons of 13w3 sun crts
13:13:23 <f10d4> and 13w3 cables, 13w3->dsub15 adaptors
13:13:26 <fizzie> I have a 13w3-to-4xBNC monitor cable that I used to use, but no monitors that'd take those in, since I got rid of the CRT that did.
13:13:32 <f10d4> we either
13:13:39 <f10d4> 4xbnc thing rules!
13:13:59 <f10d4> we also have bnc crts
13:14:01 <gamemanj> where did you *get* all of those?
13:14:39 <f10d4> in Hungary, everywhere. We have a huge collection of ibm pc, 286, 186, 386, 486, risc, vax, ppc, sparc, ultrasparc, alpha etc vintage hardware
13:14:49 <f10d4> parts counted
13:14:54 <f10d4> cca 20-25 cubicmeters
13:14:59 <int-e> tweaking travis configurations is so annoying.
13:15:12 <fizzie> I also have this SGI Indy with its associated 13w3 CRT monitor, but it doesn't want to play along with the SS5.
13:15:14 <int-e> tweak... push... build... look at error... repeat
13:15:39 <f10d4> fizzie: lamma, 13w3 connectors can cause damage with inappropriate device
13:15:48 <f10d4> there are at least 4 13w3 pinout standards
13:15:50 <fizzie> I'm trying to get rid of all this stuff, that's why I'm trying to get it to boot, so I could properly wipe the drives. (Got nothing else that speaks SCSI.)
13:15:54 <f10d4> sgi, apple, sun, next, ibm
13:16:32 <gamemanj> that doesn't sound like standards
13:16:41 <gamemanj> in fact, that sounds like not-standards
13:16:48 <f10d4> okay gooby, lets modify: "standarses"
13:17:38 <f10d4> well, become ontopic
13:17:58 <f10d4> i am goint to publish proofs of turing-completeness of some ancient languages, shell envs
13:18:11 <f10d4> not necessarily unixish shells
13:18:32 <f10d4> we organize coding golf tournaments at our employer
13:18:51 <f10d4> and at the prizegiving ceremony, a presentation will be performed
13:19:06 <f10d4> and selected results will be provided. for example: here
13:35:51 -!- boily has joined.
13:39:24 <boily> @massages-loud.
13:39:24 <lambdabot> You don't have any messages
13:40:09 <gamemanj> @messages-baud
13:40:09 <lambdabot> You don't have any messages
13:40:17 <gamemanj> @messages-baud 9600
13:40:17 <lambdabot> You don't have any messages
13:42:25 <boily> gamellomanj!
13:43:26 <gamemanj> helloily!
13:48:42 -!- ybden has joined.
13:55:37 -!- Akaibu has joined.
13:57:28 <boily> `relcome Akaibu
13:57:42 <HackEgo> Akaibu: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
13:59:12 <APic> Whoooooah
13:59:15 <APic> Colooooouuuuurs!
13:59:16 <APic> Rules
13:59:28 * APic grins maniacally.
14:02:41 <boily> HELLOPic!
14:02:57 <boily> @localtime APic
14:02:58 <lambdabot> Local time for APic is Sat May 21 15:02:57 2016
14:03:09 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
14:03:47 <APic> Yo yo yo
14:04:07 <APic> Finally arrived in one of the good Realtimes. ;)))
14:04:17 <int-e> finally, build passed.
14:04:41 -!- Phantom_Hoover has joined.
14:05:11 <APic> Yah
14:06:19 <boily> int-ello. you built APic?
14:06:32 <APic> Yah
14:06:36 <APic> Myself
14:06:38 <APic> And my Room
14:06:39 <APic> ;)
14:06:40 <APic> Finally
14:06:42 <boily> APic: where you at now? how many liters of coffee in your bloodstream?
14:06:47 <int-e> no, travis built the git version of lambdabot for two ghc versions (7.8.4 and 7.10.3).
14:06:54 <APic> Munich Obergiesing Bahnhof, none at all.
14:06:57 <boily> int-e: nice!
14:06:59 * APic hates Coffee
14:07:05 <boily> *GASP*!
14:07:06 <APic> Bad Experiences with that one.
14:07:12 <APic> *g*
14:07:15 <int-e> after way too many failures
14:07:39 * boily mapoles APic for his penitence
14:07:55 <int-e> the last one was not putting happy on the path when I switched to getting it from hvr's repository...
14:08:03 <APic> Penis?
14:08:13 <APic> No definitions found for "mapole", perhaps you mean:
14:08:13 <APic> gcide: Maple Maypole
14:08:13 <APic> wn: maple maypole
14:08:13 <APic> foldoc: maple
14:08:16 <fizzie> Gah, the Sparc netboot thing is annoying. It sends a RARP query, then tries to fetch the image from whatever server responds over TFTP using the path /[ip in hex].[architecture].
14:08:20 <boily> `? mapole
14:08:22 <HackEgo> A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg.
14:10:00 <APic> Ok
14:10:01 <APic> Thanks
14:10:08 <APic> Canada rocks
14:10:12 <APic> Had a Great-Aunt there
14:10:17 <APic> She passed away a few Years ago.
14:12:03 <boily> fizzie: fizziello. you work on a sparc?
14:13:21 -!- Opodeldoc has quit (Read error: Connection timed out).
14:13:35 <APic> Ok
14:13:40 * APic on a Biketrip
14:13:45 <APic> Will meet my two best Friends.
14:13:46 <APic> cul8r
14:13:47 <APic> B-)
14:14:38 <boily> biking is fun!
14:15:11 * boily likes biking in the middle of the night, when it's all quiet and the weather's just right
14:19:27 <fizzie> boily: I'm trying to clean up the disks on a Sparc so that I could get rid of it, and while it does boot from the disks, I have no idea what sort of passwords it might accept (been a while), so I need to boot it from *somewhere* to get at it.
14:19:46 <fizzie> The network seems like the only feasible choice, since I don't have anything else to stick the disks to.
14:21:20 <fizzie> Although I'm not sure what I should have it boot from the network. I have OpenBSD on it, but the OpenBSD installation diskless boot involves setting up the installation root fs to be served over NFS, and that's even more of a hassle.
14:22:41 <fizzie> I wouldn't mind easier ideas. Something I could do from the OpenPROM boot prompt would be great.
14:23:59 -!- tromp_ has joined.
14:24:33 <fizzie> (But I don't think that thing really has any filesystem drivers.)
14:29:04 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
14:37:51 <fizzie> Also, re biking: best biking is the one from Assembly to home. It's usually around 3-4am-ish, Assembly is in August which means it's warm (but not too) and light out, and for some reason there's always a bunch of rabbits on the way.
14:38:25 <fizzie> "This system has relatively little free memory, so it will enter low memory mode. Among other things, this means that this program will proceed in English. You should set up swap space as soon as possible."
14:38:35 <fizzie> Man, 32 megs just doesn't go as far as it used to.
14:41:34 -!- Phantom_Hoover has joined.
14:42:00 <gamemanj> that can be applied to just about any unit of memory
14:42:06 <gamemanj> 64k doesn't go as far as it used to
14:42:56 <gamemanj> It's like as if the OS expands to take up anything available
14:43:41 <gamemanj> And then the programs finish the rest
14:43:41 <fizzie> I booted the debian etch installer (at least it's got an initrd attached), but I don't know how to provide boot parameters, so it booted to the menu-based installer, which keeps asking all kinds of irrelevant questions.
14:44:03 <gamemanj> does your keyboard have ctrl and alt?
14:44:14 <gamemanj> (and do you have virtual terminals?)
14:44:17 <fizzie> It's a serial console.
14:44:22 <gamemanj> ...yeah, you're doomed
14:44:35 * gamemanj gives fizzie a packed lunch
14:44:41 <gamemanj> here, you'll need it for the labyrinth
14:44:52 <fizzie> It also takes a second or two to move from one screen to another, because it prints a screenful of spaces at 9600 bps.
14:45:11 <fizzie> I'm sure I'll reach the menu eventually, but the expert mode would've made this a lot nicer.
14:45:51 <gamemanj> at least it's only a second or two
14:46:59 <fizzie> Yeah, after failing to download anything I got the "go back" option, which went to the menu and let me start a shell.
14:47:51 <fizzie> ...of course there are no disk devices...
14:48:01 <fizzie> I guess that part of the installer comes later.
14:49:02 <fizzie> Yeah, it'll want to download *that* from the network. Bah.
14:49:33 <gamemanj> well, I do have some good news - I just got word from the labyrinth guards, the minotaur's busy dealing with an author who wrote fanfic of Greek Mythology, so you'll be ok.
14:50:10 <int-e> just don't lose the thread
14:50:26 -!- feliks has quit (Ping timeout: 276 seconds).
14:52:23 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
14:54:55 <fizzie> I gave it some networks, and it downloaded *something*. Now I'll need to manage to break out back to the menu at some point somehow.
14:55:54 <gamemanj> well, if you type "exit", you'll probably either find yourself in the menu or find yourself in a meta-labyrinth. Have fun!
14:57:46 <fizzie> There's no place to type anything anywhere, it's all just selecting choices.
14:58:28 <gamemanj> ...so you're already in a menu?
14:58:32 <fizzie> It boots into a menu.
14:58:51 <gamemanj> yes, but you said you started a shell...
14:59:01 <fizzie> Yes, but I had to go back to the menu to get anything done.
14:59:12 <fizzie> It didn't have any block devices except the ramdisk.
14:59:18 <gamemanj> So which menu do you want to break out to?
14:59:51 <fizzie> Well, I mean. I went back to the Debian installer menu, to follow along a few more steps (download installer components from the network).
15:00:01 <int-e> . o O ( The S-hell... a text adventure by #esoteric. )
15:00:13 <fizzie> Now I'm at the "Detecting disks and all other hardware" step, which I'd rather like to pass.
15:00:16 <ais523> int-e: I started work on an esolang-based text adventure years ago
15:00:25 <fizzie> But after that a shell would be nice.
15:00:39 <fizzie> As a positive sign, the external HD box is booting up the drives, so I think it indeed is enumerating drives.
15:01:11 <ais523> int-e: I didn't get very far; it has one brainfuck-based puzzle, one SMETANA-based puzzle, and one INTERCAL-based puzzle
15:01:15 -!- bender has quit (Ping timeout: 260 seconds).
15:01:20 <ais523> but none of them do anything when you complete them because I didn't write any more
15:01:25 <ais523> (and all three are accessible from the start)
15:01:47 <fizzie> "If there are no problems, the user will never see the installer menu, but will simply answer questions for each component in turn."
15:01:53 <fizzie> That's nice, but I'd like the menu.
15:02:20 <fizzie> "[If you're installing over a serial console], there is also an Execute a Shell item on the main menu that can be used to start a shell."
15:02:28 <fizzie> That's nice as well, but you just said I won't see the menu.
15:02:35 <fizzie> There's probably a trick to it.
15:03:15 <fizzie> "Power users may be more comfortable with a menu-driven interface, where each step is controlled by the user rather than the installer performing each step automatically in sequence. To use the installer in a manual, menu-driven way, add the boot argument priority=medium."
15:03:30 -!- AnotherTest has joined.
15:03:35 <fizzie> That's a nice trick, but I don't know how to specify boot arguments when doing the netboot thing.
15:04:14 <fizzie> It's a bit of a moot point, anyway, in that it seems to have gotten stuck at 2% of the "Detecting disks and other hardware" pass.
15:04:34 <fizzie> It's "oading [sic] module 'esp' for 'ESP SCSI'..."
15:04:49 -!- Phantom_Hoover has joined.
15:05:21 <int-e> goading?
15:05:24 <gamemanj> maybe the installer should just accept <ESC>^C...
15:05:35 <gamemanj> that would make things simpler
15:06:11 <gamemanj> (And why on earth would "priority=medium" have anything to do with how the installer acts?)
15:06:13 <fizzie> Possibly it ran out of memory and killed something. There was a lot of components it was loading.
15:06:49 <fizzie> They did caution me to enable some swap "as soon as possible", but that's a bit hard before loading the SCSI drivers.
15:07:01 <fizzie> Maybe I need an older Debian.
15:07:24 <fizzie> I mean, etch is what, 2007? That's pretty modern.
15:07:57 <gamemanj> At least you know the module name now.
15:09:08 <int-e> haha. "Puppy Linux is designed to be extremely lightweight. When installed to a USB flash drive, it consumes only 100 MB of space — 256 MB if you want the version with a full OpenOffice office suite instead of more lightweight office applications. Puppy Linux is loaded to your computer’s RAM [...]"
15:09:32 <gamemanj> "100 MB" is lightweight these days?
15:10:16 <int-e> well, "old computers" have 1 GB of RAM these days.
15:10:29 -!- AnotherTest has quit (Ping timeout: 260 seconds).
15:11:46 <gamemanj> If they were really trying to be minimal, they'd just use text mode...
15:11:59 -!- diginet has joined.
15:12:06 <int-e> (old laptops may go as low as 512 MB I suppose)
15:12:16 <ais523> IMO 1.44MB should be the standard for incredibly minimal OSes
15:13:29 <int-e> "From starting the installation to booting our new Linux system, only 30 minutes had passed - very impressive"
15:13:44 * gamemanj sighs
15:13:45 <fizzie> Nobody wants to tell me how to specify kernel boot command line to this thing.
15:14:02 <int-e> (source: http://www.tuxradar.com/content/archives-best-distros-2000 )
15:14:12 <fizzie> Except this one page which says you use a "bootparamd" server to do it.
15:14:17 <gamemanj> ...seriously?
15:14:24 <fizzie> http://znark.com/tech/netbootsparc.html
15:15:09 <fizzie> But I don't know if that's just for Solaris boot params, I *assume* it's up to the boot loader (the thing you load over TFTP) to do that part.
15:16:21 <fizzie> Huh.
15:16:33 <fizzie> "If you were booting from the network, you would append the string onto the end of the boot net command in OBP --" can it really be that easy?
15:16:38 <fizzie> Have to try, I guess.
15:17:06 -!- feliks has joined.
15:18:40 <fizzie> ok boot net debconf/priority=medium DEBIAN_FRONTEND=text
15:18:41 <fizzie> Boot device: /iommu/sbus/ledma@5,8400010/le@5,8c00000 File and args: debconf/priority=medium DEBIAN_FRONTEND=text
15:18:46 <fizzie> Huh, would you look at that.
15:19:17 -!- lambda-11235 has joined.
15:20:05 <fizzie> "tettinegc huop[ f7i]l:e sUynsitmepml,e mpelnetaesde SwPaAiRtC .s.y.s em call 188"
15:20:10 <fizzie> Nice interleaved output there.
15:20:31 <boily> fungot: can you decipher that?
15:20:31 <fungot> boily: mr president, i hope, ladies and gentlemen, finally the summit concluded with a result that clearly improves on the proposals we made back in 1989. associated with this, i believe that the best way of undertaking such work.
15:21:02 <fizzie> "Cannot load frontend module /usr/lib/cdebconf/frontend/text.so" I think the installer manual lied to me about existing frontends.
15:21:33 -!- heroux has quit (Ping timeout: 240 seconds).
15:22:36 -!- heroux has joined.
15:23:04 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
15:23:45 <int-e> fungot: I don't think fizzie's sparc is quite that old.
15:23:45 <fungot> int-e: mr president, the election of the new millennium have been marked by a whole series of provisions which are obviously aberrations in this case we really did make a very clear message to the rest of the year, so that we can accept in principle amendments nos 34 and 43, which are our own and genuinely try to achieve a balanced text, which has just been murdered in pristina.
15:28:43 <int-e> (the year should be 1994 or later for a sparcstation 5)
15:29:31 <fizzie> int-e: Hard to say, the IDPROM "date of manufacture" field had turned into all-bits-10101010 just like everything else in it.
15:29:53 <int-e> useful
15:30:17 <int-e> I'm going by https://en.wikipedia.org/wiki/SPARCstation#.22Pizzabox.22_systems
15:30:29 <fizzie> I think that's technically Tue Aug 19 21:50:34 UTC 1924 but that's a bit dubious.
15:31:05 -!- ais523 has quit.
15:31:13 <fizzie> Bah. The Sarge installer fails to download any files.
15:31:28 <int-e> (I think it's screaming at you in hexadecimal)
15:32:37 <fizzie> ok .idprom
15:32:41 <fizzie> Format/Type: aa aa Ethernet: aa aa aa aa aa aa Date: aa aa aa aa
15:32:45 <fizzie> Serial: aa aa aa Checksum: aa Reserved: aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa aa
15:32:48 <fizzie> That got a bit of extra spaces, I think.
15:35:44 -!- Phantom_Hoover has joined.
15:57:47 -!- dmberez has joined.
15:57:50 <dmberez> hi
15:57:52 <dmberez> all
15:58:27 <dmberez> is anybody alive?
15:58:38 <dmberez> can someone advice info about kundalini yoga?
16:00:26 <fizzie> `welcome dmberez
16:00:29 <HackEgo> dmberez: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
16:00:35 <fizzie> ^ I think you might be looking for one of those other channels.
16:00:52 <dmberez> thanks
16:02:34 -!- dmberez has quit (Remote host closed the connection).
16:03:23 -!- contrapumpkin has joined.
16:04:32 -!- copumpkin has quit (Ping timeout: 276 seconds).
16:12:32 <lambda-11235> Is there a channel for programming language design and theory?
16:29:09 -!- lambda-11235 has quit (Quit: Bye).
17:14:31 <fizzie> Progress: by turning off the external SCSI drive enclosure, and starting a shell *before* the "detect disks" step, I managed to -- by manually loading scsi_mod, esp and scsi_sd -- read bytes off the internal disk. Now I just need to figure out the external enclosure.
17:17:12 -!- xkapastel has joined.
17:32:14 -!- boily has quit (Quit: REMOVABLE CHICKEN).
18:03:50 <int-e> hey, news from my CaC server: "ext2fs_open2: Bad magic number in super-block"
18:10:43 <fizzie> The one HackEgo is on seems to have been booted.
18:11:01 <fizzie> Oh, that means the wiki bridge is down.
18:11:36 <int-e> oh well, let's see whether a new VM does the trick :P
18:12:23 <fizzie> The only slightly suspicious message on there so far is [ 2591.369655] hrtimer: interrupt took 49110777 ns
18:14:16 <int-e> http://sprunge.us/YOIK is what I had.
18:14:40 <int-e> (I did not save any complete log. I'm still regarding the whole thing as a toy.)
18:23:21 <int-e> it's funny that they set up /etc/apt/sources.list to fetch debian stable, but security updates for wheezy?
18:23:27 <int-e> hmm. no, squeeze.
18:24:13 -!- Opodeldoc has joined.
18:25:37 <fizzie> Huh. There's insmod, but no rmmod.
18:26:00 <shachaf> welcome to kernel california
18:26:08 <fizzie> Heh.
18:26:16 <coppro> hah
18:26:24 <fizzie> But there's no sys... hey, there is a sysfs.
18:26:33 <fizzie> Then I can maybe do the normal SCSI bus rescan.
18:26:55 <int-e> well, rmmod is tricky... :)
18:27:03 <int-e> you need to release resources etc.
18:27:51 <fizzie> echo '- - -' > /sys/class/scsi_host/host1/scan
18:27:53 <fizzie> Kernel panic - not syncing: Aiee, killing interrupt handler!
18:28:01 <fizzie> That's not maybe so good.
18:28:41 <coppro> shachaf: we are all prisoners here of our own /dev
18:29:11 <fizzie> Wonder what exactly happened, it worked fine (based on command-line messages) when OpenBSD was driving it.
18:30:28 <Phantom_Hoover> `uname -a
18:30:32 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
18:37:00 <\oren\> Are there any examples where a programming language is simply a spelling reform of a previous one?
18:37:42 <shachaf> J and APL hth
18:37:51 <zzo38> \oren\: I wouldn't know, although I have seen similar things before
18:37:54 <\oren\> I was thinking, what if I made a new language that is simply APL but ---
18:37:58 <\oren\> uh....
18:38:00 <\oren\> oh
18:38:03 <zzo38> (J is not quite APL actually, I think?)
18:38:33 <zzo38> C-INTERCAL can accept English and Latin keywords, originally it was English
18:38:42 <\oren\> damn it every time I come up with an awesome idea it's already been done
18:39:51 <zzo38> I think it is call "Bob Profit Principle" is what I have heard it call when, if you think of something, probably someone else has already done too.
18:40:28 <shachaf> one day, your awesome ideas will get their comeuppance
18:41:05 <shachaf> zzo38: The only Google search results for that phrase are IRC logs of you talking about it.
18:41:14 -!- AnotherTest has joined.
18:41:19 <zzo38> Well, do you like some of my ideas? (I have had many kind of ideas too (but so has other people of course); some may be bad but some is good thing too, I think)
18:41:32 <zzo38> (And in some cases time must tell if it is good or not)
18:41:58 <zzo38> shachaf: You cannot find everything on Google
18:42:18 <shachaf> fizzie: blasphemer alert hth
18:42:40 <mad> some of the incompatibility between msvc and gcc is basically spelling stuff
18:42:42 <shachaf> zzo38: I think some of your ideas are completely new.
18:43:30 <zzo38> Yes, probably some are, at least.
18:43:54 <zzo38> mad: Yes, although you can use #define and #ifdef and #include in a C code.
18:44:28 <mad> and it sucks but yeah
18:44:42 <mad> there's also the 64bit 'long' debacle
18:45:02 <shachaf> zzo38: Why is it called that?
18:45:13 <gamemanj> once upon a time they had long
18:45:19 <gamemanj> but they didn't think long was long enough
18:45:22 <gamemanj> so they had long long
18:45:25 <gamemanj> and long long long
18:45:27 <shachaf> zzo38: Is it some sort of market efficiency thing?
18:45:34 <zzo38> shachaf: Do you mean Bob Profit Principle? I think it is someone's name.
18:45:44 <gamemanj> and long long long long long long long long
18:45:54 <gamemanj> and long uint512_t, and...
18:45:56 <shachaf> Someone is named Bob Profit?
18:46:07 <zzo38> Yes, I think "Profit" is his name.
18:46:25 <gamemanj> zzo38: are you sure this isn't a spam email
18:46:40 <mad> it's down to the fact that win32 used to be, well, win16
18:46:57 <zzo38> It isn't an email message
18:47:17 <mad> which means int was 16 bits when they came up with a lot of win32 interfaces, so they used long for 32 bits
18:47:47 <gamemanj> mad: is this why Windows API writers have a love affair with calling 32 bits a DWORD
18:47:57 <mad> yes
18:48:17 -!- AnotherTest has quit (Ping timeout: 260 seconds).
18:48:26 <mad> well, it's like how every library has its
18:48:35 <mad> GLUINT32 GLINT16 etc
18:48:37 <gamemanj> <stdint.h> for life
18:48:51 <mad> like, this was way before stdint.h
18:49:00 <zzo38> I thought it is called DWORD in the x86 instruction set?
18:49:27 <mad> yes dword is the traditional name for 32bit integers in the x86 world
18:49:43 <mad> especially the assembler guys
18:49:53 <gamemanj> zzo38: well, the assemblers call it that - the assembly is descended from realmode assembly, which ofc had 16-bit as WORD...
18:50:06 <mad> gcc has a different evolutionary path
18:50:52 <mad> it comes from like unix servers and SPARC workstations and stuff like that, so it was more or less always 32 bits
18:51:00 <mad> so it uses int
18:51:31 <zzo38> SQLite has its own 64-bit type, but it doesn't have its own types for 32-bits and 16-bits (for 32-bits it just uses int, for a pointer to a string of 16-bit characters it uses void*)
18:52:07 <gamemanj> TBH, I think mixed mode architectures only really exist because of 1. "compact instructions" (for ARM Thumb), and 2. proprietary software (because otherwise they could just introduce a new mode and have everybody recompile)
18:52:26 <mad> so it could upgrade long to 64 bits without breaking a metric ton worth of grody windows.h win-16 inherited interfaces
18:53:24 <mad> gamemanj : it's just the fate of long-living architectures
18:53:26 <zzo38> gamemanj: But some programs may be written in assembly language, so it can apply even to free software in some cases.
18:53:47 <mad> it's 16 bits and eventually it gets bumped up to 32 bits, and then to 64 bits
18:53:52 <\oren\> like ZSNES
18:54:10 <\oren\> I remeber looking at the source for that and being like NOPE
18:54:24 <mad> did zsnes ever even run in real mode?
18:54:26 <zzo38> (But also in some cases you can easily emulate older instruction sets)
18:54:31 <mad> I'm pretty sure it was always 32bits
18:54:50 <gamemanj> mad: that's not the point, it's the fact it won't be going anywhere anytime soon in terms of porting
18:54:55 <\oren\> right but how much work would it take to change it to 64 bit?
18:54:59 <zzo38> The original 8088 instruction set look OK to me but they made an extreme mess of the new one.
18:55:18 <mad> \oren\ : why would you port zsnes to 64 bit?
18:55:36 <mad> it's not like it addresses more than 4gb of data
18:55:44 <\oren\> mad: uh... i guess you woldn't do that
18:56:17 <\oren\> but if x86-64 hadn't been backward compatible you would have to
18:56:28 -!- tromp_ has quit (Remote host closed the connection).
18:56:39 <olsner> maybe you'd port it for more registers and rip-relative addressing, or e.g. because it's easier to make a native 64-bit package than to rely on multilib and 32-bit compat
18:57:05 <mad> \oren\ : if x86-64 wasn't backwards compatible then it wouldn't be x86
18:57:27 <HackEgo> [wiki] [[Deadfish 2]] N https://esolangs.org/w/index.php?oldid=47056 * M654 * (+987) Created page with "Deadfish 2 is a superset of [[Deadfish]] made by [[User:M654|m654]]. As well as an accumulator, Deadfish 2 has a string which can be set using the input command. == Commands..."
18:57:33 <mad> and I guess it would be kinda silly too since you could come up with a cleaner architecture if you're starting anew
18:58:11 <olsner> they actually tried that, but what they came up with was Itanium :P
18:58:24 <mad> itanium was worse than x86
18:59:45 <mad> intel tried to start new architectures that could potentially replace x86 4 times... and only one of them was actually better than x86 (i960)
19:00:17 <zzo38> Other instruction set, invented by Knuth, is MMIX
19:00:49 <zzo38> MMIX has the advantage of being 100% patent free.
19:01:40 <xkapastel> mmix has the disadvantage of not actually being a serious instruction set
19:02:07 <mad> if itanium was just a MIPS ripoff like what everybody else did, it wouldn't have shipped late, and it wouldn't have been slower than pa-risc2 and pentium3 and athlon, and even if the first generation of chips sucked they could've actually improved them much more easily
19:03:44 <mad> but they tried to be smart
19:04:39 <Phantom_Hoover> i still love how x86 chips these days are RISC running dynamically translated bytecode
19:05:10 <mad> Phantom_Hoover : it depends on what you call 'RISC'
19:05:40 <zzo38> Phantom_Hoover: Yes and that is stupid in my opinion
19:06:00 <mad> no it's not stupid, imho that's why they have the fastest CPUs
19:06:04 <Phantom_Hoover> zzo38, can't really see any other way for things to work out
19:06:09 <mad> imho the real frontier is that CISC has load+compute operations
19:06:21 <mad> which x86 has but none of the RISCs do
19:06:44 <mad> recent x86 designs benefit from this
19:06:57 <mad> you get 2 operations for the price of 1
19:07:21 <mad> that's how the athlon was the same speed as the 4-way-ooo Dec Alpha
19:07:41 <mad> even though the dec alpha was 4 IPC and then athlon was 3 IPC
19:08:28 <mad> plus the athlon only had 8 logical registers instead of 32 and it didn't have opcodes with different destination than source
19:09:07 <mad> the advantage of having a free memory load (and potentially even a store) in every opcode offsets these disadvantages
19:09:41 -!- Elronnd has changed nick to AmyBSD.
19:09:50 <mad> plus the overly compact encoding means you get more code cache for the same data size
19:10:06 -!- AmyBSD has changed nick to Elronnd.
19:10:20 <mad> of course the overly compact encoding means it can only do 3 instructions per cycle instead of 4 :D
19:10:52 <mad> so I wouldn't call x86 chips RISC
19:11:02 <mad> they're basically really fast CISC
19:11:36 <mad> of course they rename all registers and break down everything into microcodes... well, really fast RISCs do that too
19:12:03 <Phantom_Hoover> my understanding was that the uops are pretty risc-like
19:12:55 <mad> sortof... I think core2 has 2-in-1 uops
19:13:25 <mad> so a load+compute op decodes to "1 uop made out of 2 parts"
19:14:09 <mad> but uops have renamed registers and stuff like that
19:14:27 <mad> they're only risc-like because they do 1 thing in 1 cycle... but that's what an uop is
19:15:24 <mad> like, I guess what risc means is that you remove as many multi-uop opcodes as possible
19:15:40 <mad> because most aren't really worth the trouble
19:15:54 <mad> although ARM has multi-uop opcodes
19:16:41 <mad> so once you're down to uops, then everything is sorta risc-like yes... but that's normal, uops are like that
19:17:32 <Phantom_Hoover> so what's the advantage of having a 'free' memory load in an instruction?
19:17:47 <Phantom_Hoover> code size?
19:19:03 <mad> well
19:19:15 <mad> it takes 1 less instruction to get your result
19:19:45 <mad> so for instance, to match the speed of the 4-op per cycle core2, you'd need a 5 or 6 op per cycle risc
19:20:01 <mad> it lowers the number of register file accesses
19:20:49 <mad> add r0, [r8 + 16] reads 2 times and writes 1 time;
19:21:13 <mad> load r1, [r8 + 16] add r0, r1 reads 4 times and writes 2 times
19:21:29 <mad> so you need a larger register file with more ports
19:21:47 <mad> and yes it tends to take up less space in the instruction cache
19:22:01 <Phantom_Hoover> might you not end up getting the same microcode for both of those, though
19:22:28 <gamemanj> I suggest we all switch to DCPU-16!
19:22:40 <mad> well, you can do the CISC version in 1 micro-op
19:23:00 <zzo38> Does anyone make a 83-key Model F keyboard anymore?
19:23:05 <Phantom_Hoover> i suggest we all switch to whatever the fuck skullcode runs so i get some closure on the damn thing
19:23:17 <mad> the RISC version is 2 micro-ops no matter how you do it
19:23:26 <\oren\> ✊✋✌➊➋➌➍➎➏➐➑➒➓⍻⍼⍽⍾⍿⏴⏵⏶⏷⏸⏹⏺ꝨꝩꝪꝫꝬꝭꝮꝯꝰꝱꝲꝳꝴꝵꝶꝷꝸꝹꝺꝻꝼꙊꙋꙌꙍꙎꙏꙐꙑꙒꙓꙔꙕꙖꙗꙘꙙꙚꙛꙜꙝꙨꙩꙪꙫꙬꙭ〝〞〟ã€
19:23:31 <mad> because you have to write to the register file twice
19:23:33 <Phantom_Hoover> thx \oren\
19:23:59 <Phantom_Hoover> mad, i guess my thinking was, wouldn't the CISC version have to load the memory into some intermediate place on the chip regardless
19:24:19 <mad> yes but this intermediate place on the chip can be in the middle of the pipeline
19:24:26 <zzo38> To me, a lot of the complicated stuff in newer instruction sets is very stupid, I think. So I must design it differently
19:24:29 <mad> it never has to rename this internmediate place
19:24:42 <mad> and it never has to retire/writeback that intermediate place
19:24:55 <mad> once it's done the result can disappear
19:25:29 <Phantom_Hoover> right, it doesn't have to resolve all the abstractions between instructions
19:25:38 <mad> yeah
19:25:40 <int-e> @tell mroman the Burlesque shell is moving to ... and I may need help building the cgi (currently trying...)
19:25:40 <lambdabot> Consider it noted.
19:26:01 <mad> that's the difference between "temp value" and "temp value stored in a program-accessible register"
19:26:04 <Phantom_Hoover> but i mean if you can do the load and add in one uop then why not have risc instructions for it?
19:26:15 <mad> well
19:26:27 <olsner> but then it's CISC not RISC :P
19:26:31 <mad> a risc with load-add instructions is basically a cisc :D
19:26:51 <Phantom_Hoover> then what the hell is the point of RISC
19:27:09 <mad> RISCs are easier to build
19:27:14 <mad> and easier to speed optimize
19:27:34 <mad> RISCs did 4-instructions per cycle way before x86
19:27:43 <Phantom_Hoover> because you don't have to bother building hardware to e.g. load operands and store them behind the scenes
19:27:45 <Phantom_Hoover> *?
19:27:58 <mad> and it's easier to do 4-instructions per cycles because you have less ops, less long latency ops
19:28:14 <mad> well
19:28:51 <mad> mostly it's easier because all your ops do at most 2 register file reads and 1 register file write and have at most 2 cycles of latency
19:29:14 <mad> so it makes the scheduling easier
19:29:35 <mad> also you don't have to cram as many operands in a single op
19:30:37 <mad> like, your load-store ops happen only in the load-store unit so it's easy to strictly-order them
19:30:40 <zzo38> My new kind of computer design has separate video instruction set, audio instruction set, and main instruction set, and have deliberately designed the video instruction set so that no instruction does both read and write (on 6502 some instructions do); other than instruction decoding there is only up to one memory operation per instruction (in some cases there is none, and it would do a dummy read instead).
19:31:11 <mad> instead of having ops that happen both in the load-store unit which has to be ordered, AND the alu part which is easy to completely reorder willy-nilly
19:32:35 <mad> in theory if you can find a way to get rid of the program-readable intermediate values in registers, you could do macro-op fusion on load+add instruction sequences and turn a RISC into a CISC
19:33:25 <zzo38> You could have some write-only registers maybe
19:35:20 <Phantom_Hoover> that doesn't sound like it'd help
19:35:25 -!- hwpplayer1 has joined.
19:35:50 <\oren\> hmmm what if you had instructions of the form "load rA, add rB to rC" and "store rA, add rB to rC"
19:36:08 <\oren\> where rA, rB and rC are always different
19:36:11 <Phantom_Hoover> the problem is that because the result might get read the CPU has to keep it around with certain assurances, whereas if it's only visible to the one instruction then it can be treated much less carefully
19:38:41 <gamemanj> Maybe someone should just build a big memory pipeline and have a CPU which is just given flags to manipulate that pipeline.
19:40:40 <\oren\> I'm thinking about some sort of "explicit pipelining" where all instructions contain several actions which don't interfere inside
19:44:42 <int-e> @tell mroman actually building the cgi seems to have worked fine (a cabal file would help though...) but you can't currently log in; please contact me about that...
19:44:43 <lambdabot> Consider it noted.
19:49:36 <\oren\> iow, instead of having "add [r1] to r3, add [r2] to r4" and having that rearranged, you would write "read [r1], ???; read [r2], add mem to r3; ???, add mem to r4"
19:51:10 <mad> \oren\ : hmmmm
19:51:52 <mad> like basically have instructions in the execution sequence, and have a separate stream that tells the logical sequence?
19:56:03 <mad> I was thinking of going the reverse way
19:56:33 <\oren\> the idea would be that each instruction would contain a set of "mini-instructions" for each part of the cpu which are done in parallel
19:57:00 -!- tromp_ has joined.
19:57:36 <mad> load accumulator, [rA + imm], add rb, store in rc; <special bit that indicates that a new paralellizable sequence starts here> load accumulator [rD + imm], add rE, store in rF
19:58:01 <mad> \oren\ : that's vliw no?
20:00:52 <\oren\> so in a normal architecture an instruction minght contain microcode "a,b,c,d" and the next might contain "e,f,g,h" and then "i,j,k,l" and then the cpu does "a;be;cfi;dgj;...". my idea is that the instructions might instead just be "cfi" "dgj"
20:01:34 -!- tromp_ has quit (Ping timeout: 260 seconds).
20:01:43 <\oren\> and then the parallelizability checking is offloaded to the compiler
20:03:13 <mad> why not "aei;bfj;cgk;dhl" ?
20:05:54 <zzo38> \oren\: I also thought of to do some kind of explicit pipelining and also explicit caching and so on
20:06:30 <\oren\> mad: i'm assuming that a,e, and i are all the same sort of thing
20:06:42 <\oren\> using the same part of the processor
20:06:48 <zzo38> Do you like the 83-key Model F keyboard?
20:06:50 <mad> oh
20:07:05 <mad> I think there's value in some way of specifying which instructions are serial and which ones are parallel, but I don't think there's been a really good way yet
20:09:41 <mad> best way yet is vliw but you need calculation-heavy programs and it's hard to adapt vliw programs to later generation cpus
20:09:41 -!- centrinia has joined.
20:09:49 <gamemanj> Why not just build a unit which takes in the entire contents of the register file and an operation, and outputs the modified register file/
20:09:53 <mad> which is why it's used in DSPs
20:09:56 <Phantom_Hoover> if you specify too much in the instructions then it takes control from the CPU engineers
20:10:16 <mad> gamemanj : because then you need to run 32 operations in parallel?
20:10:27 <mad> which means you need 64 read ports from the register file
20:10:57 <gamemanj> Depends on your definition of what "one operation" is.
20:11:51 <Phantom_Hoover> why not just build a cpu where the only operand is RealWorld
20:12:37 <mad> gamemanj : also how do you place your data cache ?
20:13:43 <gamemanj> Well, memory accesses wouldn't be doable in operations, rather, they'd be handled in the "segment" holding those.
20:14:28 <gamemanj> Like, you write a segment which adds the current memory value to A, then adds 1 to the memory address, and if that address is at some limit, go to the next segment, else loop.
20:14:43 <gamemanj> The memory access would be at the segment boundary.
20:16:12 -!- jakleen has joined.
20:20:40 <\oren\> ꙨꙩꙪꙫꙬꙭꙮ
20:20:54 -!- hppavilion[1] has joined.
20:21:12 <\oren\> hippavilion[1]
20:21:25 <hppavilion[1]> \oren\: *hppavellon[1]
20:21:35 <hppavilion[1]> \oren\: Or whatever boily usually says
20:21:56 <hppavilion[1]> quintopia: A normal chessmatch is 1-chess. You can play with arbitrary values, though. It's up to how masochistic the players are.
20:22:58 <hppavilion[1]> 3-chess and up should only be played by computers
20:23:19 <hppavilion[1]> (I'm still investigating what 1.5-chess and such are)
20:24:05 <gamemanj> are you talking about hyperdimensional chess or something?
20:25:18 -!- jakleen has left.
20:28:04 <\oren\> stꜽ fluffy
20:28:37 <gamemanj> ok oren
20:28:40 <gamemanj> i will stay fluffy
20:28:47 * gamemanj rolls about in a fluffy manner
20:28:54 <gamemanj> (this makes no sense)
20:29:11 <gamemanj> (If it has any meaning to you, hit yourself with a frying pan and try again.)
20:29:22 <hppavilion[1]> gamemanj: No
20:29:34 <\oren\> I actually have no idea what ꜲꜳꜴꜵꜶꜷꜸꜹꜺꜻꜼꜽ are for
20:29:45 <hppavilion[1]> gamemanj: In 0-chess, white wins automatically
20:30:13 <gamemanj> hppavilion[1]: ... I don't get it. Is the number how many moves you get?
20:30:29 <hppavilion[1]> gamemanj: No, I'm about to unveil the godly part
20:30:31 <gamemanj> How do you analyze "winning" or "losing" until the game at least reaches a check?
20:30:52 <gamemanj> Or anyone's even lost a piece?
20:31:25 <hppavilion[1]> gamemanj: In n-chess, every time a piece is captured, the players initiate a game of (n-1)-chess, in which white is the attacking player and black the defending player. The winner's piece goes to the defending square, the loser's piece is captured by the winner. In the event of a draw, white is interpreted as winning (or maybe black).
20:31:42 <int-e> gamemanj: tempi, positional strength, piece coordination, gut feeling?
20:31:50 <gamemanj> ...
20:32:01 <int-e> gamemanj: I'm reading chess reviews. I have no clue what all that means :P
20:32:35 <hppavilion[1]> gamemanj: It should not be played by mere mortals
20:32:39 <fizzie> `quote capture
20:32:42 <HackEgo> 679) * Phantom_Hoover moves 0.5 Phantom_Hoover into the Atlantic, and captures fizzie's upper body with 0.5 Phantom_Hoover. <fizzie> Glurk.
20:32:57 <gamemanj> ...
20:33:07 <fizzie> We were talking about continuous chess.
20:33:11 <gamemanj> "glurk"
20:33:18 <gamemanj> ?
20:33:19 <Phantom_Hoover> to date only one game has been played
20:33:27 <int-e> gamemanj: it's hard to make articulate sounds with only half a body
20:33:31 <Phantom_Hoover> and oklopol won because i let him talk me into changing the rules in his favour
20:33:33 <hppavilion[1]> gamemanj: Yes.
20:33:42 <\oren\> hmm, I suppose you could play 2-chess if you had a month to do it
20:33:43 <int-e> also, the atlantic is involved.
20:33:45 <hppavilion[1]> gamemanj: To play n-chess, you must play chess.
20:33:51 <Phantom_Hoover> what's 2-chess
20:34:01 <hppavilion[1]> Phantom_Hoover: n-chess where n=2
20:34:08 <int-e> ...
20:34:15 <Phantom_Hoover> very clever, now answer properly
20:34:21 <int-e> hppavilion[1]: please stop making up vacuous terms.
20:34:23 <\oren\> so every capture involves a game of normal chess
20:34:26 <hppavilion[1]> Phantom_Hoover: No, that's literally the definition
20:34:29 <hppavilion[1]> Phantom_Hoover: Scroll up
20:34:34 <hppavilion[1]> Phantom_Hoover: I just explained it
20:34:36 <Phantom_Hoover> what's n-chess
20:34:42 <hppavilion[1]> Phantom_Hoover: SCROLL UP
20:34:46 <Phantom_Hoover> oh
20:35:06 <Phantom_Hoover> right, right
20:35:10 <gamemanj> hppavilion[1]: I think phantom_hoover assumed you were joking
20:35:16 <hppavilion[1]> gamemanj: I was not
20:35:20 <\oren\> it would take maybe a year or two to play a game of 3 chess
20:35:32 <gamemanj> ...
20:35:36 <Phantom_Hoover> no i saw him talking about it earlier and i assumed it would be buried in scrollback
20:35:57 <hppavilion[1]> \oren\: It's only meant to be played by million-person superminds, humans who have interfaced with a computer, and perfect beings woven of spacetime
20:36:09 <gamemanj> And the Borg.
20:36:20 <hppavilion[1]> gamemanj: Those fall under (a) and (b)
20:36:50 <gamemanj> Don't know, they keep getting outsmarted by a spaceship with a name that sounds like really bad software.
20:36:58 * hppavilion[1] wonders how long it is until n-chess proliferates and he hears about it somewhere else and feels smug
20:37:01 <gamemanj> So (b).
20:37:25 <gamemanj> (And definitely not (c))
20:37:46 <Phantom_Hoover> hppavilion[1], this is clearly the place to involve the surreals
20:37:59 -!- centrinia has quit (Quit: Leaving).
20:38:06 <hppavilion[1]> Phantom_Hoover: Already done (kind of); someone on ##math invented limit ordinal chess based on n-chess
20:38:21 <hppavilion[1]> Phantom_Hoover: Though you could play traditional omega-chess if you can win a game of n-chess without capturing
20:38:28 <gamemanj> Ok, new plan: kill everybody who knows about n-chess.
20:38:37 <hppavilion[1]> gamemanj: No.
20:38:38 <gamemanj> This will prevent the demise of humanity via n-chess.
20:39:07 <hppavilion[1]> gamemanj: Sorry, but I've upgraded humanity to 2-humanity. Every time you kill someone, you must run a simulation of the entire universe to determine success
20:39:12 <gamemanj> ...
20:39:17 <hppavilion[1]> Too easy.
20:39:24 <gamemanj> ......
20:39:28 <hppavilion[1]> :)
20:39:48 <hppavilion[1]> Which raises the question of how one "wins" the universe...
20:39:52 <gamemanj> Sorry, but I upgraded plot-foiling
20:39:56 <gamemanj> Every time you foil a plot
20:40:05 <gamemanj> You must run a simulation of plot-foiling to determine success
20:40:10 <hppavilion[1]> Darn.
20:40:39 <hppavilion[1]> I upgraded upgrading. Every time you upgrade something, you must read every Yo Dawg meme on the internet.
20:40:40 <gamemanj> And since I was the one who started it in the first place, the rules hadn't applied by the time I had started - they only apply afterward,
20:40:43 <gamemanj> ...
20:40:44 <gamemanj> WHAT
20:40:46 <gamemanj> Nooooo
20:41:00 <gamemanj> I upgraded verbs
20:41:01 <hppavilion[1]> gamemanj: I will accept your unconditional surrender.
20:41:03 <gamemanj> every time you use a verb
20:41:15 <gamemanj> you must read the oxford english dictionary out loud
20:41:18 <gamemanj> in it's entirety
20:41:25 <hppavilion[1]> gamemanj: But only the verbs?
20:41:32 <hppavilion[1]> I think we should stop.
20:41:33 <gamemanj> No, all of it
20:41:35 <gamemanj> ok
20:41:38 <gamemanj> we should
20:41:49 <gamemanj> I think we annoyed the linguists
20:41:49 <hppavilion[1]> But I upgraded sto- no.
20:41:58 <gamemanj> no you didn't
20:42:01 <gamemanj> your rules apply to you too!
20:42:07 <gamemanj> so you can't upgrade stopping
20:42:23 <gamemanj> or... wait...
20:42:24 -!- hppavilion[1] has set topic: The international hub of solidity matrices | Ingredients: Hydrogen, time | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf.
20:42:25 <gamemanj> AAAAGG
20:42:35 <gamemanj> (Recursion Error.)
20:43:17 <gamemanj> ...does #esoteric contain any added sugar?
20:44:15 <hppavilion[1]> gamemanj: No, it all occured naturally
20:44:29 <gamemanj> Fair enough
20:44:35 <hppavilion[1]> One could argue that no sugar is added, because the sugar-adding process is part of the natural course of the universe
20:44:46 <hppavilion[1]> I've upgraded quantum physics...
20:44:48 <gamemanj> However, does it contain gluten?
20:46:32 * hppavilion[1] hereby releases n-chess under Attribution-ShareAlike 4.0 International, with the addendum that he gets bragging rights every time it is mentioned
20:46:55 <gamemanj> I think it's a bit late for that
20:47:18 <hppavilion[1]> Wait, I don't want attribution
20:47:26 <hppavilion[1]> gamemanj: Not really
20:47:44 <gamemanj> "not really"?
20:47:59 * gamemanj points at the massive clusters of gluten all over the surface of a random rock
20:48:09 <hppavilion[1]> gamemanj: Well, every time it is mentioned by someone I don't know
20:48:19 <gamemanj> oh, that
20:48:52 <hppavilion[1]> gamemanj:
20:49:38 <hppavilion[1]> Wait, what?
20:50:07 <hppavilion[1]> gamemanj: -1-chess?
20:50:24 <gamemanj> ...
20:50:28 <hppavilion[1]> I guess -n-chess is one where wins are negated
20:50:43 <hppavilion[1]> So getting checkmated makes you win
20:50:46 <gamemanj> What about -0-chess?
20:50:52 <hppavilion[1]> gamemanj: Yeah, that's the problem
20:52:48 <gamemanj> Are we agreed that an infinitesimal amount below 0 is below 0, but an infinitesimal chance is none at all? From that, we can then state that fractional values are measured by distance from 0 and reflect the chance the value will be flipped.
20:52:59 <hppavilion[1]> gamemanj: Sure
20:53:25 <gamemanj> So 1-chess has a fractional of 0, and on distance-from-0 that's 0, so there is no chance the value will be flipped.
20:53:34 <gamemanj> 1.5-chess will result in all games actually having a random value.
20:53:36 <hppavilion[1]> Wait, I think -n-chess works if we flip who plays white in subgames
20:54:11 <gamemanj> Maybe???
20:54:16 <hppavilion[1]> gamemanj: I don't think that fractional n-chess should rely on probabilistic computing
20:54:21 <gamemanj> I guess.
20:54:32 <hppavilion[1]> gamemanj: I don't think it matters when n>0, but when n=0 it makes everything work? Maybe?
20:54:35 <gamemanj> It's just that this neatly rounds out the space of numbers.
20:54:38 <hppavilion[1]> gamemanj: There's also annihilation chess
20:54:46 <gamemanj> I give up.
20:54:48 <hppavilion[1]> gamemanj: But you need to add new pieces
20:55:02 <hppavilion[1]> (So that it's balanced)
20:55:35 <hppavilion[1]> When a piece captures another piece, the lesser-powered piece is destroyed and the greater-powered piece downgraded by the number of ranks in the lesser-powered piece
20:55:39 <hppavilion[1]> Ranks directly correspond to power
20:58:25 <mad> I wonder if you could make a version of the turing infinite tape in different board games
20:58:36 <mad> to make them turing complete
20:58:57 <mad> or some kind of expandable rubik's cube
20:59:17 <gamemanj> an infinitely wide chess board
20:59:26 <gamemanj> with an infinite number of pawns...
21:00:02 <gamemanj> with the pieces following rules that are both a TC-CA and accurate to the game rules...
21:01:09 <gamemanj> There'd have to be an order of operations of course...
21:01:32 <mad> with the right consrtuction you can make an infinite chessboard that expands infinitely rightwards and downwards into a sort of grid
21:01:51 <mad> but the left side and top side acts as a kind of border
21:02:03 <gamemanj> I'd go with top side and bottom side.
21:02:03 <zzo38> If I made up the new kind of computer, would you buy it and/or build a clone of it and/or write a program for it and/or sell it?
21:02:11 <gamemanj> Use king & queen to work out direction...
21:02:24 <mad> and then do turing complete calculation by moving a king and constantly keeping the king in check
21:02:39 <mad> forcing it on a path
21:02:50 <gamemanj> zzo38: depends what. If your computer has > 16 MiB of RAM, I might write a BytePusher emulator...
21:03:14 <gamemanj> mad: Ah, I see.
21:03:31 <gamemanj> mad: So the players would actually be precisely following Chess rules and would have no room for disambiguation.
21:03:39 <mad> yes
21:03:52 <zzo38> gamemanj: I have decided it would certainly have enough address space, although I don't know how much RAM would be included by default (but you could add more)
21:04:12 <mad> like white would be 1 move from being checkmated
21:04:31 <gamemanj> mad: I know how you could get two kings to continually advance right-wards. Have two endless rows of castles, one at the top, one at the bottom.
21:04:34 <mad> and the only way for white to survive is to keep black in perpetual check
21:05:20 <gamemanj> Well, with my system, the players would swap turns going forward.
21:05:22 <mad> so if the program doesn't halt then white can force a draw
21:05:23 <Phantom_Hoover> mad, infinite chess is known-incomputable
21:06:09 <mad> if the program halts then either white can win, or white always loses (depending on how the halting end of the board is constructed)
21:06:18 <Phantom_Hoover> you just construct an infinite tree such that there's an infinite branch iff some turing machine halts
21:07:06 <mad> Phantom_Hoover : hm yeah I guess there's a variety of infinite boards that are turing complete
21:07:19 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
21:07:30 <mad> though I dunno if there's a proof for the simplest kind
21:07:49 <mad> (a board with a 1d repeating section to act as an infinite tape)
21:10:00 <mad> you'd have to construct some kind of conveyor belt
21:10:19 <mad> and a wire crossing
21:10:25 <mad> and a memory cell
21:30:02 -!- notzerk has joined.
21:32:11 <notzerk> If you have Discord and want to join a fun server. L3L Chat's https://discord.gg/0um0KUI34PBX846G
21:32:58 <myname> lol discord
21:37:03 -!- notzerk has quit (Quit: Leaving).
21:37:17 <\oren\> what's discord?
21:37:58 <myname> sone chat nonsens for these letsplay twitch hipsters
21:38:26 <myname> as far as i u derstand its like a less horrible teamspeak
21:39:13 <\oren\> no idea what teamspeak is either. is it like AOL
21:39:25 <\oren\> I had AIM once upon a time
21:40:13 <fizzie> Is it like that... wait, what's it called.
21:40:25 <fizzie> Ventrilo?
21:40:30 <myname> imagine you take irc, remove some comfortable features to actually chat, add some uncomfortable features to voicechat
21:40:33 <myname> you are done
21:40:57 <fizzie> As popularized by that song.
21:41:21 <fizzie> Boten Anna.
21:41:31 <\oren\> vi sitter har i venten och spelar lite DOTA vi springer
21:41:40 <fizzie> Yeah, I think that's a reference to Ventrilo?
21:41:49 <\oren\> de monstandet vi sleepar
21:42:42 <fizzie> Or was that a different song? Am I mising things up?
21:42:48 <\oren\> https://youtu.be/0OzWIFX8M-Y
21:42:51 <\oren\> DOTA
21:43:02 <fizzie> Yeah -- same guy, different song.
21:43:27 <\oren\> I didn't remeber the lyrics very accurately
21:43:47 <fizzie> Also! There's Mumble, I've heard of that.
21:49:50 <\oren\> https://youtu.be/y6120QOlsfU
21:51:00 <int-e> must be a very loud mumble
21:52:48 -!- hwpplayer1 has quit (Quit: Leaving.).
21:53:13 -!- Froox has quit (Read error: Connection reset by peer).
21:54:19 -!- Frooxius has joined.
21:55:54 -!- xkapastel has quit (Ping timeout: 260 seconds).
21:57:04 -!- sewilton has quit (Ping timeout: 260 seconds).
21:57:04 -!- xkapastel has joined.
21:59:26 -!- sewilton has joined.
21:59:33 <fizzie> Hey, isn't that Helsingin tuomiokirkko?
22:01:41 <fizzie> But that makes no sense, then it's immediately Huvilakuja right there in the next scene.
22:01:49 <fizzie> Those aren't next to each other at all.
22:01:58 <fizzie> I guess they could've ran all the way there in the meanwhile.
22:02:50 <zzo38> gamemanj: What programming language would you use for writing it, would it be written in Forth, in C, in BASIC, or in assembly language? (I would suspect it may be too slow if you don't write at least part of it in assembly language, and assembly language is likely required if you need custom display programs.)
22:03:43 <gamemanj> zzo38: I've lost track of the conversation.
22:04:11 <zzo38> You said if my computer has > 16 MiB of RAM then you might write the BytePusher emulator
22:04:45 <gamemanj> Theoretically. And that's assuming it had suitable display hardware.
22:04:48 <zzo38> (Also I don't know the details yet of screen resolutions higher than 320x240, so that might also affect it)
22:05:40 <gamemanj> And it's also assuming I actually even bother. And there's also the fact this is all hypothetical anyway.
22:05:58 <zzo38> Yes, for now it is hypothetical and the plans can be changed anyways.
22:06:25 <gamemanj> BTW, zzo38 - are there any Brainfuck programs that you would particularly like to see on BytePusher?
22:06:48 <zzo38> Possibly the one that they take over the world?
22:06:58 <gamemanj> Oh, perfect! I already had that one compiled!
22:07:37 <gamemanj> Well, I say "compiled". It's actually still interpreted, but the code has to be strapped to the binary.
22:07:44 <zzo38> OK
22:08:00 <gamemanj> Let me check current running program...
22:08:10 <gamemanj> "Finally Taking Over The World".
22:09:02 <gamemanj> Now, I can't really strap a licence blob to a BytePusher executable without some work, so it's probably-not-entirely complying with the GPL licence.
22:09:53 -!- AnotherTest has joined.
22:10:27 <zzo38> You could just add the data to the end unused; that isn't really quite it but it is idea. Another way would be to add a screen with license information, and then it switches out of that screen once any key is pushed, and start the rest of the program.
22:10:53 <gamemanj> Yes, but I'm kind of in the middle of something else ^.^;
22:11:39 <gamemanj> Also, does that mean I have to now give you the entirety of the source code to the BytePusher Brainfuck interpreter? And does that include the compiler...
22:11:41 <gamemanj> gah.
22:12:05 <gamemanj> I'd be fine with it in theory, but this is distractions upon distractions
22:12:20 <zzo38> I think it does not include the compiler as far as I know, but maybe it does for the interpreter I don't know.
22:12:38 <gamemanj> Yeah, but the compiler's entirely custom
22:13:16 -!- jaboja has joined.
22:15:31 <fizzie> Come on, Wikipedia. You've got the "List of lists of lists", but you *don't* have the "List of music videos shot in Finland".
22:17:20 -!- centrinia has joined.
22:23:28 -!- centrinia has quit (Quit: Leaving).
22:24:34 -!- hppavilion[1] has joined.
22:29:17 <hppavilion[1]> gamemanj: infinite-player chess/
22:29:19 <hppavilion[1]> *?
22:29:27 <gamemanj> ...
22:29:37 <hppavilion[1]> Every player only makes one move in the entire game
22:39:13 -!- AnotherTest has quit (Quit: ZNC - http://znc.in).
22:46:05 -!- Kaynato has joined.
22:57:55 -!- tromp_ has joined.
22:57:57 <zzo38> I don't know what my new kind of computer design would be called (even codename are not provided at this time).
22:57:59 -!- Opodeldoc has quit (Read error: Connection timed out).
23:01:53 <mad> it's kindof both retro and modern at the same time
23:02:24 -!- tromp_ has quit (Ping timeout: 250 seconds).
23:04:00 <zzo38> Although the graphics capabilities are different than BytePusher. Two kinds of formats could be supported for all-points-addressable playfield graphics, which are 4-plane PseudoColor XY format and 15-plane TrueColor Z format. You could also use bobs, which use something like "Chunky-Extra-HalfBrite" format. (But you could also do tiles and sprites, and can even change it per scanline.)
23:08:32 -!- Opodeldoc has joined.
23:11:31 -!- oerjan has joined.
23:12:01 -!- Opodeldoc has quit (Max SendQ exceeded).
23:15:01 <zzo38> mad: Yes that is part of what the point of it is though
23:15:54 * oerjan surprised a badger today
23:16:39 <oerjan> it suddenly leapt out near some garbage bins.
23:16:49 -!- jaboja64 has joined.
23:16:57 -!- jaboja has quit (Read error: Connection reset by peer).
23:18:43 <zzo38> I would probably not make the blitter more complicated than I have already written, although an over-complicated (and very slow) blitter could be made by adding muxcomp into the blitter, as well as configurable data sizes, line mode (like Amiga has), and an outer loop as well as the inner loop; with this over-complicated variant it would probably do anything you need the blitter to do. Of course I won't do it like this though; it would probably be
23:23:14 <hppavilion[1]> How much must Draughts be improved before it just becomes chess with a different set of armies?
23:23:39 <zzo38> hppavilion[1]: I don't know, but you can try.
23:24:12 <int-e> "improved", hmm
23:35:28 <hppavilion[1]> int-e: "improved" was used loosely
23:39:06 <int-e> so was "chess"
23:41:47 <oerjan> tomorrow's evening forecast looks wet.
23:41:52 <oerjan> @metar ENVA
23:41:53 <lambdabot> ENVA 212220Z 11008KT CAVOK 13/03 Q1006 RMK WIND 670FT 17015KT
23:41:55 <b_jonas> `wisdom
23:42:02 <b_jonas> `random-card
23:42:11 <b_jonas> `wisdom
23:43:27 <HackEgo> Profit \ 1W \ Instant \ Creatures you control get +1/+1 until end of turn. \ Fuse (You may cast one or both halves of this card from your hand.) \ [This is half of the split card Profit // Loss.] \ DGM-U
23:43:27 <HackEgo> bfjoust//bfjoust is a spamming tool for #esoteric.
23:43:28 <HackEgo> No output.
23:47:03 <oerjan> !zjoust spam >>>>>>>>>([-]>)*-1
23:47:04 <zemhill_> oerjan.spam: points -13.81, score 10.75, rank 47/47
23:47:10 <oerjan> shocking
23:47:32 <gamemanj> what is "bfjoust"?
23:47:46 <oerjan> !help
23:47:46 <zemhill_> oerjan: I do !zjoust; see http://zem.fi/bfjoust/ for more information.
23:48:42 -!- jaboja64 has quit (Remote host closed the connection).
23:48:51 <oerjan> gamemanj: a programming game and bf derivative
23:49:34 -!- hppavilion[1] has quit (Ping timeout: 252 seconds).
23:50:34 <oerjan> !zjoust spam >>>>>>>>>([-][-]>)*-1
23:50:35 <zemhill_> oerjan.spam: points -16.62, score 9.35, rank 47/47 (--)
23:50:44 <oerjan> huh that got worse.
23:50:47 <oerjan> oh well.
23:51:04 * oerjan never was much of a jouster.
23:51:05 <gamemanj> !zjoust troddler >[-]+[>[-]+]
23:51:06 <zemhill_> gamemanj.troddler: points -25.64, score 5.76, rank 47/47
23:51:56 <oerjan> gamemanj: that one won't manage to clear a flag for 2 rounds
23:52:14 <oerjan> or wait
23:52:20 <oerjan> never mind
23:52:43 <gamemanj> !zjoust troddler >>>>>>>>>>[-]+[>[-]+]
23:52:45 <zemhill_> gamemanj.troddler: points -17.93, score 8.91, rank 47/47 (--)
23:53:16 <oerjan> anyway, the current hill is ridiculously hard to beat.
23:54:14 <zzo38> A variant of "fuse" is "fuseback" that is not official but someone suggested it and I have made up the more precise rules for it and a few cards using it. Fuseback means you can cast both halves of the card from your graveyard (you can't cast only one half from your graveyard, nor both halves from your hand), in which case it is exiled when it resolves.
23:54:17 <gamemanj> >>(+)*128>>>>>>[-]+[>[-]+]
23:54:27 <gamemanj> !zjoust troddler >>(+)*128>>>>>>[-]+[>[-]+]
23:54:28 <zemhill_> gamemanj.troddler: points -20.76, score 7.62, rank 47/47 (--)
23:54:34 <gamemanj> it got worse, somehow.
23:54:48 -!- hppavilion[1] has joined.
23:54:57 <gamemanj> !zjoust troddler >>->>>>>>[-]+[>[-]+]
23:54:58 <zemhill_> gamemanj.troddler: points -17.05, score 9.15, rank 47/47 (--)
23:55:09 <gamemanj> aha. back on track
23:55:21 <gamemanj> !zjoust troddler >>->>->>->>[-]+[>[-]+]
23:55:22 <zemhill_> gamemanj.troddler: points -17.76, score 8.84, rank 47/47 (--)
23:55:57 <b_jonas> `? eggspert
23:56:01 <HackEgo> eggspert? ¯\(°​_o)/¯
23:56:14 <b_jonas> `wisdom
23:56:17 <HackEgo> yeeeesh//See yeeesh.
23:57:18 <gamemanj> !zjoust troddler >>->>>>>>[-]+[->[-<+]<[>>[-]]+]
23:57:20 <zemhill_> gamemanj.troddler: points -32.62, score 2.55, rank 47/47 (--)
23:57:23 <gamemanj> ...
23:57:35 <gamemanj> TBH I lost track of what my code was doing aroubd about the end part
23:57:59 <zzo38> Light Side {W} Instant ;; Target white creature gets +0/+1 until end of turn. ;; Target player gains 1 life. /// Dark Side {B} Instant ;; Target black creature gets +1/+0 until end of turn. ;; Target player loses 1 life. /// Fuseback
23:59:18 -!- tromp_ has joined.
23:59:47 <oerjan> gamemanj: btw the wiki has a lot of strategy discussion.
←2016-05-20 2016-05-21 2016-05-22→ ↑2016 ↑all