00:00:58 <Bike> "bikes, of course, are completely natural"
00:17:11 <Sgeo_> Should I watch Farscape, or should I watch Star Trek Voyager's "Threshold" superimposed with The Last Airbender movie?
00:18:12 <Sgeo_> Because I wanted to be silly?
00:18:23 <Sgeo_> I'm bored, might watch some Farscape, or might not, not sure
00:18:34 <Sgeo_> (The second option isn't a real option, as I hope was obvious)
00:21:41 <Sgeo_> Would you rather be forced to watch "Threshold" or The Last Airbender movie?
00:22:19 <Phantom_Hoover> considering one is ~40 minutes long and the other is probably at least two hours...
00:22:56 -!- Bike has quit (Ping timeout: 245 seconds).
00:25:44 <olsner> Sgeo_: watch threshold then watch some farscape
00:29:17 <olsner> why would I be different?
00:29:48 <oerjan> they deleted DMM's wikipedia page :(
00:29:59 -!- Bike has joined.
00:30:06 <Phantom_Hoover> i assumed you'd been abducted at birth from norway or finland or somewhere
00:39:03 <oerjan> and the IWC page has an AFD...
00:40:49 <zzo38> It is why making the other Wikipedia, you can join them together in case of things deleted from Wikipedia so you can access both kinds
00:58:23 <Sgeo_> I should resume watching Ghost in the Shell at some point
01:05:42 <Sgeo_> Eh, I prefer shades of grey to black and white. I think I'll go watch Farscape instead
01:06:42 <Sgeo_> Hmm, I don't remember watching "Taking the Stone", but Amazon thinks I've watched it
01:07:35 <Sgeo_> Oh, I stopped watching in the first few minutes
01:08:49 <Sgeo_> Phantom_Hoover: are you saying to skip it?
01:09:47 <Phantom_Hoover> especially since crackers don't matter is the next episode
01:20:02 <zzo38> Another use of zero length array in C may be type identification in macros.
01:20:51 <nooodl> they're also useful if you want to keep track of 0 of something
01:21:32 <zzo38> nooodl: Well, if the zero isn't a literal, then perhaps yes.
01:23:21 <zzo38> The main use as described in the GCC manual, is to make a array at the end of a structure, which you do not know the size until it is allocated.
01:24:12 <zzo38> However there are some other uses too.
01:24:36 <zzo38> Do you know of any others?
01:24:52 <Phantom_Hoover> zzo it... would probably help if you'd give context before saying things like <zzo38> Another use of zero length array in C may be type identification in macros.
01:25:00 <zzo38> (They also do not have to be at the end; it can be useful at the beginning or whatever too)
01:25:50 -!- conehead has quit (Ping timeout: 245 seconds).
01:26:41 <zzo38> Phantom_Hoover: Doesn't it describe already in those sentence, though?
01:28:11 <Phantom_Hoover> Well... no, you hadn't said what the first use of zero-length arrays is.
01:28:13 <nooodl> i think Phantom_Hoover means: you said "another use ..." without a first use being mentioned
01:28:43 <nooodl> (but i guess you meant "beside the main use" which you described afterwards?)
01:28:56 <zzo38> No, I just mean, another use, in general.
01:30:40 <zzo38> What I mean by type identification in macro may be something like: typedef struct { char x[2]; } Two; typedef struct { char x[3]; } Three; typedef struct { Three type_id[0]; ... I haven't actually tried it though
01:31:58 -!- Phantom_Hoover has quit (Quit: sleep).
01:42:25 -!- OriginalOldMan has joined.
01:44:54 -!- john_metcalf has quit (Read error: Connection reset by peer).
02:07:08 -!- oerjan has quit (Quit: Gnyte).
02:19:17 -!- nooodl has quit (Ping timeout: 248 seconds).
02:40:59 -!- OriginalOldMan has quit (Ping timeout: 250 seconds).
03:04:43 <zzo38> It is not equinox quite yet! It is tomorrow.
03:31:15 -!- Nisstyre-laptop has joined.
03:32:48 -!- Nisstyre-laptop has changed nick to nisstyre.
04:56:40 -!- mnoqy has quit (Ping timeout: 256 seconds).
04:58:24 -!- mnoqy has joined.
05:01:35 -!- audioPhil has joined.
05:01:35 -!- audioPhil has quit (Changing host).
05:01:35 -!- audioPhil has joined.
05:03:23 -!- audioPhil_ has quit (Ping timeout: 248 seconds).
05:42:42 <zzo38> In a hardware programming language I think it make more sense for numbers without a prefix to be in binary. What is your opinion?
05:43:14 <Bike> mostly that verilog literals are super awkward and i can imagine almost any change as an improvement
05:43:21 <Bike> i found out vhdl has a nice "others" thing
05:44:29 <ais523> in Verilog, you create std_logic_vectors using double quotes
05:44:39 <ais523> and yeah, you can use "others" to abbreviate
05:44:57 <ais523> (0 => '0', 1 => '0', others => '1')
05:49:00 <Bike> yeah it took me a while to get but it seems nice
05:49:31 <Bike> (my instructor/supplier doesn't know verilog but is moving his course to it for some reason, so all the old interesting files are still vhdl)
05:52:27 <ais523> VHDL syntax is both verbose and bizarre
05:52:29 <zzo38> I didn't know of the "others"
05:52:38 <ais523> but it normally does contain some way to do what you want
05:52:53 <zzo38> What does (0 => '0', 1 => '0', others => '1') do, exactly?
05:52:55 <Bike> it's super verbose, yeah
05:53:01 <ais523> you should look up the syntax for a multidimensional array sometime, it's ridiculous
05:53:18 <ais523> zzo38: it means a constant where bits 0 and 1 are 0, and the other bits are 1
05:53:51 <ais523> the constant itself is polymorphic to different bitwidths and data types (it'll work for anything that has a 0 and a 1)
05:53:52 <Bike> it's like an associative array.
05:54:01 <zzo38> ais523: OK I understand.
05:54:07 <ais523> like a vector of bits, or of std_logics
05:54:13 <Bike> polymorphic constant huh... i've been wondering about that in verilog
05:54:13 <zzo38> Still it is different than how I would design, a lot.
05:56:37 <zzo38> My own design is different, you can see how it compares and what features you like and hate and neutral. (I called it "HWPL") I put what I think is better for a hardware programming language; these things are different than what would go in a software programming language. One is that - is unary fanout operator taking a single bit and making a full vector of that bit, so something like {10,-1} or {-1,01} or {10X,-Z,111Z1} or whatever can make a pol
05:56:59 <Bike> Mostly so far I think I'd like more macrology stuff.
05:57:04 <Bike> Instantiation seems... messy.
05:57:22 <zzo38> I would also like to have a lot of support of macros.
05:57:32 <zzo38> It is also part of my design, although I have not designed that part yet.
05:57:38 <Bike> I haven't even tried parametrized instantiation yet, though.
05:57:42 <Bike> gonna make me some adders
05:58:28 <Bike> ais523: btw, for xilinx virtex generally has more meat than spartan, right? if you know.
05:58:47 <zzo38> Decimal and hexadecimal numbers would also be polymorphic in HWPL, although binary numbers (which is the default if no prefix is given) are fixed. Do you like this kind of ideas?
05:59:14 <ais523> Bike: I've heard of both, but can't remember which is more powerful offhand
05:59:20 <ais523> I'd suspect the virtex are more powerful, though
05:59:22 <zzo38> I think Virtex is more powerful?
05:59:26 <ais523> because most of the low-end boards used spartans
05:59:46 <ais523> zzo38: well, in VHDL, a number is just a number
05:59:55 <ais523> you can store "1010" in a 4-bit std_logic_vector
06:00:01 <Bike> wondering because this paper used virtex and i was wondering what i could fake on my cheap spartan
06:00:07 <ais523> but you can't store 10 without converting it to a std_logic_vector first
06:00:25 <ais523> you'd have to do conv_std_logic_vector(10, 4) if you wanted to specify it in decimal
06:01:18 <ais523> likewise, if you want to use a std_logic_vector as an array index (say you're accessing block RAM), you have to convert it to an integer first using conv_integer, because array indexes are integers
06:01:31 <zzo38> I made it differently; in HWPL there are no "numbers", only vectors; they have different properties such as static or dynamic or whatever to tell how they can be used.
06:02:04 <Bike> No numbers? What about extrahardware values?
06:02:33 <zzo38> They will be static vectors; they can be used as numbers in macros and so on.
06:03:29 <Bike> What about negative ones?
06:04:12 <fizzie> Bike: You'd think the Spartan would be the one that has less bling.
06:04:48 <Bike> fizzie: yeah i thought that, but then i thought to myself, "what the fuck is a virtex supposed to be"
06:04:54 <Bike> "I don't remember a fucking virtex city state"
06:05:03 <zzo38> Since they are polymorphic they can be negative too, like #-42 and the compiler would make as many bits as needed for a signed integer value to use with the computer, if negative numbers are valid in such places, which it might not be.
06:05:25 <Bike> But I mean, this is a value that isn't even in the hardware.
06:06:05 <zzo38> Bike: Yes I know what you mean; if a macro takes a 32-bit signed integer then you can get a 32-bit static vector with the high bit being the signed bit, for example.
06:06:32 <zzo38> Alternatively, implicit casts may be used.
06:06:48 -!- nisstyre has quit (Quit: Leaving).
06:07:41 <zzo38> In such case, something like #42 or $2A is a number, and 101010 is a vector, but you can implicitly cast between them.
06:07:46 <zzo38> That could be another way.
06:09:05 <zzo38> Actually, I think I like this way better; it works if the compiler requires bignums for something, too.
06:10:24 <zzo38> Do you like this way better?
06:11:20 <zzo38> (There is no need for explicit casts.)
06:11:59 <zzo38> Of course you cannot cast dynamic vectors to numbers.
06:13:02 <ais523> zzo38: oh, one thing your language must have is recursive module instantiation (using if..generate in order to give a base case)
06:13:19 <ais523> in VHDL, there's an obvious syntax for it, but it tends to crash compilers or drive them into an infinite loop
06:13:25 <ais523> so I suspect it isn't allowed
06:13:43 <Bike> working off a parameter?
06:14:53 <zzo38> ais523: Yes; it would need such thing in macros. Powerful macro facility is an important thing I need to have, which allows it to do that, and other things.
06:15:36 <ais523> Bike: VHDL has "generics", which are basically compile-time parameters
06:15:39 <ais523> or, like, template arguments
06:15:42 <ais523> you'd work off one of those
06:16:16 <Bike> verilog calls them "parameters" near as i can tell
06:16:35 <ais523> yeah, VHDL and Verilog have an effectively equivalent feature set
06:16:43 <ais523> just different names and syntax for everything
06:16:55 <Bike> yeah :/ boring
06:17:57 -!- Taneb has joined.
06:20:42 <Bike> it's kind of annoying taking a hardware class on all this "low level" stuff and then learning that it's super far from the realities of LUTs
06:23:41 <ais523> well, a LUT is basically an arbitrary 4- or 6- input 1-output logic gate that can optionally only change on clock edges
06:23:44 <zzo38> Perhaps, if ? specifies macro parameters then it might be: MODULE !X(?X) .X: BEGIN IF |?X: !X(?X-#1); ... I think that would do it, isn't it?
06:24:01 <ais523> plus some special cases for things like reset circuitry
06:24:55 <Bike> ais523: right, well, we ain't talkin about that in class, is what's sad
06:25:26 <ais523> it's a pretty simple definition, really
06:25:50 <ais523> and an FPGA just lets you connect them together in various patterns (not arbitrary patterns, there are actually quite a lot of limits in practice, which is why place and route takes so long)
06:25:55 <Bike> i just kind of want to know more about how the system is actually working
06:26:03 <Bike> right, like i don't even know what the heck place and route is
06:26:04 <ais523> together with various special-purpose blocks like multipliers and block RAM
06:26:28 <Bike> http://c431376.r76.cf2.rackcdn.com/38376/fnins-07-00014-HTML/image_m/fnins-07-00014-t001.jpg from the paper i was reading earlier; barely know what this means
06:26:33 <ais523> well the first stage of compile is parsing the source code, then working out what circuitry it corresponds to
06:26:42 <ais523> then placement is where it figures out which circuitry goes on which place of the chip
06:26:48 <ais523> and routing works out how they interconnect
06:26:54 <ais523> then after that is assembly and programming
06:27:00 <ais523> there are sometimes system-specific steps in between
06:27:03 <zzo38> If you understand my code, is it like the kind of things you meant? (Well, it contains an error; instead of !X(?X-#1); you need something like !X(?X-#1) .Y; since an I/O vector is needed)
06:27:55 <ais523> anyway, there are two main ways you can use a LUT
06:28:08 <ais523> either you can just use its truthtable behaviour, and have it calculate some logical predicate for you
06:28:19 <ais523> or you can ignore that and just care about the clock edge behaviour, that gives you a RAM
06:28:19 <Bike> But like, say I make a half adder module, a xor and and; does that become one LUT? if i have multiple half adders does it collapse them into one LUT? that kind of thing
06:28:24 <ais523> (and ofc they can be combined)
06:28:36 <ais523> well a LUT typically only has one output
06:28:43 <ais523> so your half adder is two LUTs
06:28:51 <ais523> a full adder is also two LUTs
06:29:00 <ais523> because it has two outputs, and three inputs (which is ≤ 4)
06:29:17 <ais523> and a LUT on a low-end FPGA can represent an arbitrary Boolean function with 4 or fewer inputs and one output
06:29:33 <ais523> (higher-end FPGAs have more inputs on their LUTs, 6 or even 8)
06:29:59 <Bike> i assume a LUT has more "inputs" used for programming in a truth table?
06:31:13 <ais523> well you can think of it as having 4 inputs that are part of the circuit you're designing, and 16 that tell it which circuit to design
06:31:20 <ais523> but those 16 are "ROM" rather than RAM
06:31:36 <Bike> any chance for self modification?
06:31:56 <ais523> there are systems on which it's possible, but it's really complex
06:32:07 <ais523> because it's optimized for read, and typically really awkward to write
06:32:17 <Bike> also, huh, that means the high end luts could have 256 program inputs
06:32:29 <Bike> is that why programming my fpga takes an amount of time that's like, noticeable?
06:32:34 <Bike> the awkward to read thing i mean
06:32:41 <Bike> to write*, fuck
06:32:53 <ais523> one of the reasons, probably the main one
06:33:09 <ais523> the other one's just a matter of bandwidth
06:33:17 <ais523> you can only drive so much data through a JTAG cable
06:33:48 <Bike> what is jtag exactly, i just sort of plug my usb in and things happen
06:33:51 <zzo38> Self modification would be easier on a open source FPGA anyways; once they are made then you can do a lot of things that closed source FPGAs don't do. They could compete well with existing FPGAs and I expect both kinds would remain in business; a company that does both would make a lot of sales, I suppose.
06:33:56 <Bike> sorry for asking so many questions btw
06:34:13 <zzo38> I think you should not be sorry for asking so many questions btw.
06:34:28 <ais523> and JTAG's just a cable design + port shape, like RS232 or USB or whatever
06:34:36 <Bike> What's it stand for?
06:34:39 <ais523> but it's what's normally used to program hardware
06:34:47 <ais523> and I don't know, but Wikipedia probably does
06:34:57 <ais523> I've never really needed to know
06:35:03 <ais523> "Joint Test Action Group"
06:35:05 <ais523> I vaguely remember that
06:35:22 <ais523> "Joint Test Action Group (JTAG) is the common name for the IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture. It was initially devised by electronic engineers for testing printed circuit boards using boundary scan and is still widely used for this application."
06:35:23 <Bike> hm, apparently
06:35:31 <ais523> and yeah, it's used for hardware debuggers
06:35:44 <ais523> but it's used for programming too
06:35:58 <Bike> I guess that makes sense. similar things.
06:36:05 <ais523> basically, to debug hardware, you shift all the values out of its debug registers, and shift the test pattern for the next cycle in at the same time
06:36:17 <ais523> replace "debug register" with "program register" and now you have a programmer
06:36:51 <ais523> although typically that's a stupid way to implement it and the programming circuits are entirely different
06:37:09 <Bike> do you do anything with analog for your jobgradstudentthing?
06:37:18 <zzo38> ais523: Is the example I gave anything like what you meant by recursive module instantiation, and do you expect such a thing would work?
06:37:36 <ais523> zzo38: well it's in a syntax I don't recognise
06:37:43 <ais523> Bike: no, it's all entirely digital
06:38:07 <ais523> I did a bunch of analog for my masters degree, though
06:38:45 <ais523> actually, our plan for the analog stuff was hilarious
06:38:54 <ais523> we needed to do Fourier analysis and the like
06:39:03 <zzo38> ais523: Well, after the module name is the parameters in parentheses, followed by the I/O vector, and then, if ORing all bits together in the macro parameter results in the bit being set, it will call the module again with one less.
06:39:24 <ais523> so our plan was just "let's get a microcontroller fast enough to do the processing, with the best-quality A to D we can afford"
06:40:09 <Bike> ugh, i made the mistake of looking up the school boards' ethernet hardware. don't understand a lick of it, and here i was thinking i knew how adcs worked
06:40:26 <ais523> and I don't think that bit of the design is the bit that failed
06:40:28 <Bike> looked up one of the terms used and it was a circuit thing invented by somebody who worked on squid axons in the 30s. insane
06:41:17 <ais523> well the most common adc design is just a dac in a negative feedback loop
06:41:45 <Bike> don't bother, i already found out i don't understand anything :(
06:42:22 <zzo38> Bike: Then you must learn.
06:42:25 <Bike> and i was all excited to program my fpga to specifically annoy elliott
06:43:28 <zzo38> ais523: Does this description of the syntax help you to understand it?
06:45:17 <Bike> zzo38: yeah i'm just being dramatic. apparently the basis of much of modern technology isn't simple?? ripoff imo.
06:45:59 <zzo38> ais523: Can you please be more specific in your question?
06:46:15 <ais523> zzo38: well there isn't a description that I can see
06:46:29 <zzo38> Maybe you missed it; it is written above.
06:46:56 <zzo38> I will repeat it: After the module name is the parameters in parentheses, followed by the I/O vector, and then, if ORing all bits together in the macro parameter results in the bit being set, it will call the module again with one less.
06:47:35 <ais523> that seems like a bit of a complex special case
06:48:11 <ais523> and one that wouldn't fit the sort of recursion I actually needed (I needed to instantiate two modules, each with half the bits)
06:49:06 <zzo38> Yes that isn't it, although you could make it to do that too.
06:49:28 <zzo38> Especially if you have an implicit parameter it could
06:49:59 <ais523> I don't like implicit parameters
06:50:10 <Sgeo_> I think I accidentally sequence broke in Antichamber
06:50:12 <zzo38> It could be explicit too
06:50:27 <Bike> you could use a carry-select adder as a simple recursive example, maybe
06:51:09 <Bike> kind of a shitty design but probably simple to understand?
06:51:20 <Bike> by which i mean, i can understand it
06:52:17 <zzo38> MODULE !X(?COUNT) .X: BEGIN IF ?COUNT=1: BEGIN ... END ELSE: BEGIN !X(?COUNT/#2) .X[?COUNT/#2-1:0]; ... Of course this is incomplete but maybe it is understandable a bit
06:52:31 <zzo38> It probably wouldn't be quite exactly like this either
06:52:37 <zzo38> I don't know exactly how you mean, either
06:53:48 <zzo38> ais523: Is this a little bit close? Clearly it isn't quite sufficient; even the parts that aren't omitted are incomplete.
06:54:04 <Bike> this syntax is hard to read and i kind of automatically hate it?
06:54:47 <ais523> zzo38: well it's not as simple as my description in practice either
06:55:12 <zzo38> ais523: I wouldn't expect it to be; both of us just give the examples
06:56:34 <Taneb> It's less than a week away now
06:56:48 <Bike> the apocalypse?
06:57:13 <Taneb> zzo38, wasn't the equinox the day before yesterday?
06:57:54 <Taneb> Oh, it was yesterday
06:58:04 <Taneb> I actually watched sunrise on the equinox
06:58:11 <Taneb> And then went to an anime con
06:58:23 <zzo38> No it wasn't yesterday.
06:58:56 <zzo38> It is 22 Sep at 20:44 GMT.
06:59:17 <Taneb> Oh god that's today
06:59:22 <Taneb> it's moving forwards
06:59:54 <zzo38> That is why we have leap years.
07:00:29 <Taneb> The only thing I've eaten in the last 24 hours is a small chocolate cake
07:00:42 <Bike> was the cake good
07:00:58 <Taneb> There was a cosplay maid service
07:01:34 <zzo38> I calculated the equinox using the horoscope in my computer; just now I also checked on Wikipedia to confirm and it says the same thing.
07:06:01 <zzo38> In Astrolog, the indications of ecliptic longitudes are colored according to the classical element they are associated with, making it very easy to see where it changes.
07:07:08 <zzo38> Some printed calendars also indicate exactly when the equinox is, but the one I have doesn't have that.
07:12:21 <zzo38> What anime con was that?
07:12:38 <zzo38> I have not gone to anime this year, but I did last year and may do so again next year.
07:14:59 <Taneb> zzo38, it was just a small local one
07:15:18 <Taneb> It's a smaller spin-off from one of the larger local ones
07:15:52 <zzo38> Did they have mahjong there? Some anime conventions sometimes have mahjong. Once I brought my Washizu mahjong game to an anime convention and played against one of the other people there
07:16:51 <Taneb> I cannot recall ever seeing mahjong at an anime con
07:16:58 <Taneb> I saw Go at one, though
07:18:05 <zzo38> I saw shogi at one, not as a scheduled event though but something someone was doing in their spare time in the games room. I have read about ones with mahjong but haven't seen it except when I brought it once
07:18:24 <coppro> I don't think I've ever been to an anime con
07:19:16 <zzo38> I have once won a Magic: the Gathering tournament in an anime convention, although due to one of my opponents conceding an entire match, my score was not entered into the computer correctly.
07:19:38 <zzo38> I have lost (and gotten last place) in all other M:tG tournaments I have ever played in.
07:23:17 <zzo38> coppro: Why aren't you sure?
07:25:33 <coppro> zzo38: I have gone to M:tG tournaments at conventions mostly and have not paid attention to the convention itself
07:25:46 <zzo38> Taneb: Do you know how to play shogi or mahjong though? Do you know how to play Washizu mahjong (from the "Akagi" manga)?
07:26:01 <Taneb> I do not know at all
07:26:03 <zzo38> coppro: Constructed, Limited, or both?
07:26:14 <Taneb> I can't even play solitaire mahjong
07:26:16 <zzo38> When I go to the convention I do pay attention to the other things too
07:27:09 -!- epicmonkey has joined.
07:28:22 <zzo38> Taneb: Well, solitaire mahjong can be explained in only a few sentences pretty easily. Mahjong is more complicated (although the same tiles are used).
07:28:44 <Taneb> And I am the worst at Go
07:29:05 <zzo38> I am not very good at Go either, but at least I can play. Can you play shogi at all?
07:29:21 <Taneb> I don't think I actually know what shogi is
07:29:25 <zzo38> Do you know any manga by Fukumoto?
07:30:05 <zzo38> Taneb: Shogi is a Japanese game which is like chess, although using flat pieces, the owner is known by the direction rather than the color, on a 9x9 board, and once you capture an opponent's piece you can on a later turn, put it back in the board as your own piece.
07:31:28 <ais523> and you can promote pieces by moving them into, out of, or through the back three rows of the board
07:31:45 <ais523> although most pieces just promote into golds, which aren't amazingly good, so promoting them isn't as worthwhile as in Western chess
07:31:46 <zzo38> I have played tsume shogi games on GameBoy and I like those kind of games (especially the one by Athena). They are like a chess puzzle, but with shogi, and you must give check on every turn. I have solved a lot of them but not nearly even half of them yet.
07:31:57 <zzo38> ais523: Yes, that too.
07:32:14 <zzo38> Shogi pieces promote to whatever is on the other side of the piece, rather than the choice like in FIDE.
07:32:50 <ais523> also there's some rule that you can't drop pawns to give or block checkmate, or something like that; I can't remember the details but zzo38 probably knows
07:33:09 <zzo38> You cannot drop a pawn to give checkmate (you can give check, though).
07:33:20 <zzo38> Other pieces can be dropped to give checkmate.
07:33:28 <ais523> but no rule against dropping a pawn to block a checkmate?
07:33:40 <zzo38> ais523: Yes, there is no rule against that.
07:33:50 <ais523> also, that rule against dropping pawns to give checkmate seems oddly specific
07:33:57 <ais523> I wonder why it exists, there's probably a good reason
07:34:14 <zzo38> Another rule for pawn drops is you cannot do so if there is already another of your own unpromoted pawn in the same column.
07:34:56 <ais523> yeah, that one makes more sense though
07:35:10 <ais523> also, you can't move a piece in such a way that it would be unable to move further
07:35:21 <zzo38> ais523: I don't know, but at least it does make interesting situations for some tsume shogi.
07:35:21 <ais523> so if you move a pawn to the back rank, or a knight to the back two ranks, you must promote it
07:35:32 <zzo38> ais523: Yes, that is correct too; you must promote it and cannot drop it there
07:36:01 <ais523> and dropping a piece in the promotion zone isn't enough to promote it
07:36:05 <ais523> (otherwise people would do that all the time)
07:36:33 <zzo38> Yes, that is also correct. It must move.
07:38:01 <zzo38> Some of the kind of situations I describe means that the defending player should not always promote a piece that is strictly more powerful when promoted (flying chariot (rook) and angle mover (bishop))
07:38:36 <Taneb> I am not a very good strategist
07:39:15 <zzo38> I am a good strategist for some games.
07:39:29 <zzo38> (including Dungeons&Dragons game, but also including some computer games)
07:42:16 <Taneb> zzo38, have you ever heard of the tabletop RPG Diana: Warrior Princess?
07:42:20 <zzo38> I think some people on this channel who did not know mahjong once said it is as confusing as Mornington Crescent. Well, I can tell you that it isn't. (Search the logs)
07:42:52 <Taneb> The premise is "What if Xena: Warrior Princess was made in 2000 years time and set in the present day?"
07:43:17 <Taneb> I'm going to try to GM it when I get to uni
07:46:28 <zzo38> However, I sometimes overSicilian them.
07:47:48 <zzo38> Do you want your character to worship the god who shall not be named because it is difficult to pronounce?
07:49:52 <zzo38> It is the god of my character, at least.
07:55:24 <zzo38> When I gave the DM several suggestions that would make the game much more difficult, he has suggestion I design the campaign templates and then he will adjust it to his use. I partially do so; some things I purposefully keep hidden from myself!
07:57:37 <zzo38> Even though he makes up situations which he believes to have no solution, somehow I always find them anyways; he isn't being "diabolical" enough (when I explained things to him even in contexts completely unrelated to the game, he has called my ideas "extremely diabolical" simply because he cannot think of it himself, I suppose).
07:57:53 <zzo38> And he is an intelligent person!
07:59:30 <Taneb> I don't think I'd enjoy being in a game GM'd by you, I'd probably get trapped in a small room with a hatch 40 feet up with only a rake
08:00:31 <zzo38> If you managed to do so, it would probably be your own fault for not being sufficiently careful.
08:00:44 <zzo38> Or for making incorrect assumptions.
08:00:45 <Jafet> That's not so hard; it depends on how many toothpicks you are given.
08:04:46 <Taneb> Yesterday there was a team Adventure Time quiz
08:05:02 <Taneb> In my team neither of us had actually watched Adventure Time
08:05:08 <Taneb> We scored I think 8/12
08:06:48 <zzo38> I know that I have invented some puzzles on computer games, where the people who wrote the rules for the game, also being very good at the puzzles, gave up after several tries.
08:07:44 <zzo38> (Even viewing the source codes for the puzzles, which I encouraged; this tends to deceive people even more despite being written clearly.)
08:09:23 <zzo38> There are some kind of puzzle games that I am very good at. (Others I am pretty bad at, however.)
08:12:11 -!- glogbackup has quit (Ping timeout: 260 seconds).
08:14:10 <zzo38> Incorrect assumptions are made, such as: Healing potions and kill enemies potions are good for you, wind potions are bad for you, BIG_MONSTER is evil and you should kill them, certain objects cannot be pushed, a key should be collected right away, Hell is not in Norway, most rooms have yellow walls, and other things.
08:25:08 -!- zzo38 has quit (Remote host closed the connection).
08:37:05 -!- carado has joined.
08:38:24 -!- epicmonkey has quit (Ping timeout: 252 seconds).
09:34:39 -!- AnotherTest has joined.
09:46:45 -!- MindlessDrone has joined.
09:53:23 <Taneb> Isn't Hell in Jamaica
09:56:53 <Taneb> Cayman Islands, sorry
10:04:56 -!- augur has quit (Ping timeout: 256 seconds).
10:16:56 -!- carado has quit (Ping timeout: 260 seconds).
10:20:41 -!- ais523 has quit.
10:27:23 -!- carado has joined.
10:29:27 -!- mnoqy has quit (Quit: hello).
11:22:50 <nortti> http://catpad.net/michael/apl/
11:37:33 -!- epicmonkey has joined.
12:06:32 -!- nooodl has joined.
12:06:46 -!- Taneb has quit (Ping timeout: 256 seconds).
12:10:22 -!- Taneb has joined.
12:15:31 -!- atriq has joined.
12:15:36 -!- Phantom_Hoover has joined.
12:15:38 -!- olsner has quit (Quit: Leaving).
12:16:03 -!- Taneb has quit (Disconnected by services).
12:16:09 -!- atriq has changed nick to Taneb.
12:19:24 -!- Taneb has quit (Client Quit).
12:21:09 -!- oerjan has joined.
12:21:24 -!- Taneb has joined.
12:32:28 -!- olsner has joined.
13:46:15 -!- olsner has quit (Remote host closed the connection).
13:47:55 -!- olsner has joined.
14:09:49 -!- atriq has joined.
14:11:26 -!- Taneb has quit (Ping timeout: 256 seconds).
14:15:36 -!- Ngevd has joined.
14:17:56 -!- Ngevd has changed nick to Taneb.
14:18:15 -!- atriq has quit (Ping timeout: 260 seconds).
14:31:52 -!- Taneb has quit (Read error: Operation timed out).
14:31:57 -!- atriq has joined.
14:34:47 -!- impomatic has joined.
14:34:51 <impomatic> Al Zimmermann has announced his latest Programming Contest "Graceful Graphs" http://azspcs.net/Contest/GracefulGraphs
14:41:18 <Bike> i don't get it, can't you just have a depth one tree with 0 as the root
14:43:08 <Bike> oh, you don't need the vertex labels to be contiguous, i gues
14:46:09 <impomatic> It appears to be the same problem as optimal sparse rulers. http://en.wikipedia.org/wiki/Sparse_ruler
14:49:08 <oerjan> <Taneb> Isn't Hell in Jamaica <-- no it is most definitely in norway. just had their yearly blues festival.
14:56:47 -!- epicmonkey has quit (Ping timeout: 268 seconds).
15:27:11 -!- Ngevd has joined.
15:28:54 -!- atriq has quit (Ping timeout: 264 seconds).
15:35:42 -!- augur has joined.
15:56:58 -!- oerjan has quit (Quit: leaving).
16:02:27 -!- conehead has joined.
16:07:30 -!- conehead has quit (Ping timeout: 245 seconds).
16:12:34 -!- Ngevd has quit (Read error: Operation timed out).
16:12:37 -!- atriq has joined.
16:19:16 -!- atriq has changed nick to Taneb.
16:25:38 -!- impomatic has quit (Quit: impomatic).
16:33:33 -!- zzo38 has joined.
16:44:51 -!- conehead has joined.
16:52:09 <zzo38> My brother has suggested that the "Attribute Zone" game might be easier to understand if played on an actual NES/Famicom system.
17:00:09 -!- Taneb has quit (Quit: Leaving).
17:15:48 -!- carado has quit (Ping timeout: 244 seconds).
17:40:44 -!- carado has joined.
18:08:25 -!- epicmonkey has joined.
18:32:55 -!- conehead has quit (Ping timeout: 245 seconds).
18:36:32 <zzo38> coppro: Then what do you think it is?
18:36:40 <zzo38> to be more likely?
18:36:54 <zzo38> Do you know anything about it at all anyways?
18:36:59 <zzo38> Have you programmed Famicom?
18:37:47 -!- Taneb has joined.
18:44:25 -!- trout has changed nick to function.
18:45:52 -!- atriq has joined.
18:46:28 -!- Taneb has quit (Disconnected by services).
18:46:34 -!- atriq has changed nick to Taneb.
18:49:19 <coppro> zzo38: I'm pretty sure I've done constructed
18:49:27 <coppro> I don't think I've done limited
18:49:51 <zzo38> You haven't done Limited? I only do Limited.
18:56:47 <zzo38> The conventions I was in offer both kinds
19:00:56 -!- conehead has joined.
19:13:35 -!- carado has quit (Ping timeout: 257 seconds).
19:13:52 -!- carado has joined.
19:17:08 -!- augur has quit (Read error: Connection reset by peer).
19:17:33 -!- augur has joined.
19:18:03 -!- AnotherTest has quit (Ping timeout: 252 seconds).
19:25:22 -!- MindlessDrone has quit (Quit: MindlessDrone).
19:29:57 -!- mnoqy has joined.
19:41:55 -!- impomatic has joined.
19:56:03 -!- carado has quit (Ping timeout: 260 seconds).
19:56:23 <function> in prolog grt_than(sucC(0), 0). grt_than(sucC(A), sucC(B)) :- grt_than(A, B). I don't see why grt_than(sucC(sucC(0)),0). is false
19:57:20 <myname> because the difference is false
19:57:43 <zzo38> That doesn't look completed to me
19:58:20 <myname> you never say that 2 > 0
19:58:34 <impomatic> The new Al Zimmermann programming contest seems easier than usual. Unless I've missed something http://azpcs.net
19:58:45 <function> now to figure out how to do this with only 2 clauses
19:58:57 <myname> 21:57:29 <myname> grt_than(suc(X),0).
19:59:08 <myname> ANY successor is greater than 0
19:59:41 <zzo38> Yes I suppose that would make it completed.
20:00:08 <myname> i really like the idea of prolog, but i'm just plain stupid when it comes to io
20:00:36 <myname> i think i made a valid deadfish interpreter in prolog, but i'm too dumb to process strings :D
20:01:00 <myname> in the wiki is none last time i checked
20:05:51 <Vorpal> Hm, Wolfram Alpha is really useful for answering mathematical trivia questions.
20:06:12 <Vorpal> Like "what is the ratio of the surface areas of the moon and the earth"
20:10:32 <Vorpal> Phantom_Hoover, I never really found a use for W|A until now indeed
20:10:58 <Phantom_Hoover> useless numerical trivia is basically the primary feature of WA
20:11:19 <Vorpal> I guess that and solving integrals for homework
20:12:48 <Bike> unit conversions are also convenient. and good for homework.
20:13:34 <Phantom_Hoover> unit conversions are basically a subset of numerical trivia
20:14:42 <fizzie> Hrm. I wonder if anything is going to break real bad if I just dd-clone a GPT disk (1T, partitions on the first 240G, rest unallocated) onto a smaller (512G) disk, and then swap it in place of the original. (E.g. is the disk size recorded in the GPT disklabel or something.)
20:15:32 <elliott> you're not meant to duplicate a GPT disk like that because the identifiers are meant to be unique or whatever
20:15:50 <elliott> I don't know if it'll actually explode as long as you don't let the original disk within a ten mile radius, but there are scary warnings telling you it's bad around the internet.
20:16:11 <elliott> there's probably GPT-specific cloning tools that correctly reassign identifiers and stuff?
20:16:33 <fizzie> Well, I mean, I could just recreate the partitions with gdisk, they'd get random GUIDs.
20:16:46 <fizzie> What I'm wondering is if that'd mess up the Windows living on the disk.
20:20:16 <Vorpal> fizzie, I suspect you would need the GUIDs to not vary if you want Windows to work, as for doing it to a smaller disk, do the partitions fit on the smaller disk?
20:20:34 <fizzie> (240 is less than 512.)
20:21:15 <Vorpal> Also you are not allowed to connect both drives in the same device after you cloned the disk, at least Windows will not like it.
20:21:21 <Vorpal> I forgot what actually happens if you try it
20:21:29 <fizzie> Well, that's not an issue.
20:21:43 <Vorpal> I guess you could try cloning it, and see if it works
20:21:45 <fizzie> I could dd over the network so that the two disks are never in a single computer simultaneously.
20:21:52 <Vorpal> if it doesn't, then you could just try cloning it another way
20:22:12 <Vorpal> fizzie, why are you moving to a smaller disk btw?
20:22:27 <fizzie> The 512G disk is a SSD, the 1T disk is not.
20:23:08 <fizzie> Wikipedia's list of GPT headers doesn't seem to have any size information, though it mentions there's a copy of the disklabel "somewhere". (With my luck, at the opposite end of the disk.)
20:23:12 <Vorpal> fizzie, Ah, Windows may or may not like a change like that. At least I doubt it will be using TRIM properly unless you change some settings
20:23:40 <fizzie> "The values for current and backup LBAs of the primary header should be the second sector of the disk and the last sector of the disk" well naturally.
20:24:00 <fizzie> I guess I could try use some sort of proper Windows solution of backup-reinstall-restore.
20:25:00 <Vorpal> elliott, what about putting GPT disks into RAID 1? Surely that means that there are technically duplicate disks?
20:25:46 <fizzie> Not if both disks have their own GPT disklabel and different partitions that work as the RAID backing-storage.
20:25:56 <Vorpal> fizzie, I meant hardware RAID 1
20:26:17 <fizzie> I suppose that's no problem since it's not something the OS logically sees?
20:26:46 <elliott> I guess OSes are in their right to store a map from the GUIDs to every physical thing about the disk they know.
20:26:58 <elliott> so in theory things could explode.
20:27:19 <Vorpal> Well it probably won't, except that TRIM might not be used automatically
20:27:35 <Vorpal> wrt the backup block at the end though, hrrm
20:28:05 <Vorpal> fizzie, https://bbs.archlinux.org/viewtopic.php?id=154057
20:28:13 <Vorpal> Haven't read it, just saw the title on searching
20:28:15 <elliott> fizzie: anyway perhaps you should clone the disk and then smash the old one to pieces.
20:28:22 <elliott> think of it like teleportation.
20:29:14 <fizzie> There's some sort of lifehacker.com guide about migrating Windows to a smaller SSD drive, that seems a Windows-native solution
20:29:27 <zzo38> Or just for backup, keep it
20:29:52 <Vorpal> fizzie, it seems there are issues with migrating to a smaller disk indeed
20:30:18 <fizzie> Of course that seems to use some sort of "EaseUS Todo Backup" software that I'm not terribly sure I want to bother with.
20:31:06 <fizzie> It does claim that rerunning the Windows Experience Assessment will turn on TRIM and stuff like that.
20:34:12 <fizzie> There's some other guide that uses Windows' own "create a system image" backup tool, then reinstalls Windows on the SSD and does a system restore. I suppose my options are either trying the clone thing (with whatever GPT backup disklabel move with gpt expert options nonsense) or something like that.
20:35:47 <Vorpal> fizzie, yeah it seems like that link I posted shows you how to solve it wrt. dd
20:36:25 <Vorpal> fizzie, I guess you would need to do this if you expand the disk too
20:40:26 -!- epicmonkey has quit (Ping timeout: 245 seconds).
20:45:09 -!- Koen has joined.
20:46:15 -!- Koen_ has joined.
20:46:15 -!- Koen has quit (Read error: Connection reset by peer).
20:46:16 -!- Koen_ has changed nick to Koen.
20:55:30 -!- Taneb has quit (Quit: Leaving).
20:57:52 -!- augur has quit (Remote host closed the connection).
21:08:15 -!- Zathur has joined.
21:12:04 -!- Zathur has left ("Saliendo").
21:12:21 -!- Taneb has joined.
21:23:27 -!- oerjan has joined.
21:25:09 <zzo38> A few days of Z-Comp remains, actually.
21:25:40 <oerjan> anyone know how to hack HackEgo back? >:)
21:27:01 <Taneb> Sgeo_, Fiora Homestuck update
21:27:39 <zzo38> oerjan: I don't know, but things like `slist can still be used, and will work if they are filtered on the client-side instead of server-side.
21:27:59 -!- ChanServ has set channel mode: +o oerjan.
21:28:25 <zzo38> I will still enter `danddreclist when it is updated even though HackEgo won't respond, so if you want to be notified you have to configure your client to do so instead, please.
21:29:40 -!- oerjan has set channel mode: -o oerjan.
21:34:16 <oerjan> more like exile, really.
21:35:00 -!- nooodl has quit (Ping timeout: 252 seconds).
21:35:36 <zzo38> HackEgo is still connected though so it can still be accessed.
21:36:02 <zzo38> And the lists can still be used like how I described. (In fact I described it even before HackEgo was gone but you didn't believe me.)
21:36:46 <oerjan> i didn't disbelieve you. i just didn't see the point.
21:37:08 <zzo38> Well, now you should see the point.
21:39:03 -!- Taneb has quit (Quit: Leaving).
21:43:51 -!- augur has joined.
22:17:54 -!- function has changed nick to variable.
22:19:04 <Sgeo_> Is the guru still meditating?
22:23:17 -!- variable has changed nick to constant.
22:44:51 <fizzie> Welp, that's passing strange: the clone method seems to have worked.
22:53:07 <kmc> what are you cloning
22:53:55 <fizzie> A 1T HDD with a GPT disklabel, Windows 8 and EFI boot stuffs for Debian, onto a 512GB SSD.
22:54:00 <fizzie> The sordid details are in the log.
23:04:47 <kmc> slow riot for new zero kanada
23:07:25 -!- OriginalOldMan has joined.
23:14:00 <kmc> we need a new /topic, this one has lasted alarmingly long
23:29:25 -!- OriginalOldMan has quit (Ping timeout: 250 seconds).
23:31:21 <Phantom_Hoover> why am i reading wp's list of common false etymologies
23:33:26 <Phantom_Hoover> http://en.wikipedia.org/wiki/List_of_common_false_etymologies
23:33:42 <Phantom_Hoover> (they're not all acronyms but they're all cringeworthy)
23:34:56 <oerjan> now make a list of cringeworthy _true_ etymologies.
23:35:23 -!- Phantom_Hoover has set topic: topic undergoing maintenance.
23:38:04 <oerjan> also, what's that "norwegian fukka" the article mentions, i suspect that should be old norse instead.
23:38:30 -!- ChanServ has set channel mode: +o oerjan.
23:38:45 -!- oerjan has kicked Phantom_Hoover He removed the log link.
23:38:52 -!- oerjan has set channel mode: -o oerjan.
23:39:08 -!- oerjan has set topic: topic undergoing maintenance | http://codu.org/logs/_esoteric.
23:40:35 -!- Phantom_Hoover has joined.
23:41:01 -!- zzo38 has quit (Remote host closed the connection).
23:49:12 <kmc> copumpkin: wow, so bored on a sunday afternoon that you're picking fights with internet libertarians? ;)
23:49:31 <oerjan> try librarians instead.
23:51:57 -!- mnoqy has quit (Quit: hello).