00:00:04 maybe it's naïve of me to think that analyers shouldn't have to infer things i meant in the original code 00:00:10 analyzers 00:02:17 ais523: I bet -Os is not the primary focus of the gcc developers :) 00:02:48 int-e: it should be, it's often the fastest setting due to caching issues 00:03:01 (Besides, when do you stop making the code smaller? There's a lot of things one can do when speed is of no importance.) 00:03:02 -!- yorick has quit (Remote host closed the connection). 00:03:17 Bike: finite state machines are a very common design pattern 00:06:02 x86 could use more general registers 00:06:08 -!- Bike_ has joined. 00:06:09 4 is a bit short to work with well 00:06:18 you have 7 00:06:29 si, di, bp are also available 00:07:03 ais523: of course, but it seems like it should be possible to just tell the tools "this is an FSM" instead of them having to analyze whatever encoding of an FSM you write and infer that that was an FSM before you encoded it 00:07:09 -!- Bike has quit (Disconnected by services). 00:07:10 Aren't they related to the stack and such? 00:07:11 -!- Bike_ has changed nick to Bike. 00:07:25 Don't I risk bothering the stack if I toy with them 00:07:47 Bike: the entire practice of VHDL/Verilog appears to be deciding what you want, then writing it into VHDL/Verilog in such a way that the compiler will infer it back 00:07:49 Also what about ES FS and GS 00:07:54 Can I fuck with them 00:08:06 Slereah: SI and DI are not related to the stack, they're used as postincrement operators by some commands 00:08:14 and tend not to be efficient unless you use them like pointers 00:08:17 ais523: so, is it naive of me to think that that's fucking stupid, or am i missing something? 00:08:24 Okay 00:08:33 BP is related to the stack but it's mostly useful for debugging 00:08:52 bp is used in some programming languages as a "frame pointer", but you don't have to worry about that in your small test programs. DOS doesn't care about bp. 00:08:57 like, for god's sake, the actual FPGA is a bunch of LUTs and shit, and aren't there ALUs or adders or something at least 00:08:59 an interview question I like is "Explain how inlining could make code faster, or slower, or bigger, or smaller" 00:09:05 Bike: I guess it saves the language needing to evolve to adopt whatever basic structures the FPGA manufacturers add to their FPGAs 00:09:13 but apart from that I can't see any advantages 00:09:17 Oh wait 00:09:28 i think there should be a better way. i'll think about it, and then never do it 00:09:29 I need it to be 4 bits in my program to work 00:09:30 Dang 00:09:31 kmc: nice. 00:09:34 I guess I'll go with cl 00:09:44 Postdecrement too! 00:09:46 Bike: an actual FPGA is mostly LUTs and RAM (and wires), sometimes it'll have a few fast multipliers on or something like that 00:09:53 Slereah: yes, one of the big improvements in x86-64 is adding 8 more general purpose regs 00:10:08 fpga design seems super interesting really, i honestly like the idea of designing my own 00:10:08 Slereah: you mean 8 bits, hopefully? 00:10:13 Nope 00:10:14 -!- muskrat has joined. 00:10:14 4 00:10:17 and putting an HDL on top of it <_> 00:10:20 CL is 8 bits 00:10:24 there aren't any 4-bit registers 00:10:28 Oh 00:10:37 it's the bottom half of CX, which is 16 00:10:41 I guess I do mean 8 00:10:53 maybe i should look at your charity thingie 00:11:10 CLL and CLH and CHL and CHH should clearly exist. 00:11:18 er, was it charity 00:11:19 verity? 00:11:23 ais523: anyway, I'm not opposed to writing assembly code, but there should be a good reason :) 00:11:41 Well I do have a good reason 00:11:45 fizzie: well, they don't :) 00:11:47 Ferrets are nesting in my brain 00:11:50 ais523: what's that hdlish thingie you work on. 00:12:13 Bike: Verity, http://veritygos.org 00:12:22 although the person currently in charge of it does not fill me with confidence 00:12:25 (learning how stuff works is among the possible good reasons, btw) 00:12:48 oh no? 00:12:52 I got an email complaining that the compiler was emitting wires with no declarations, which is a reasonable complaint 00:13:14 then when I explain that it's generating incorrect code due to an error in the original program that it failed to notice (which is a bug) 00:13:24 their solution is to add declarations and then complain it still doesn't work 00:13:40 can't help but notice the "language" page is comparing to programming languages, not HDLs 00:14:24 Bike: it's pretty high level for an HDL, that's the entire point 00:14:35 mrm 00:14:36 actually it's a dialect of Algol 60 00:14:45 but you can't really say that nowadays without people laughing at you 00:15:18 nah, i like algol. 00:15:34 http://en.wikipedia.org/wiki/ELLA_(programming_language) it seems the standards for HDLs are not that high. 00:16:01 also there are a billion "C-like languages", why has god forsaken me 00:16:11 "C++ extended with HDL style threading and communication for task-parallel programming" 00:17:04 Woo, I did an addition 00:17:55 Let's try doing an iterative one 00:20:41 i just realized. is this what it's like to be sgeo 00:22:41 What are you referring to? Am I associated with complaining about uncreative languages? 00:22:53 Bike: Next you'll get involved in some virtual world stuff. 00:22:56 Or am I associated with something else that is similar to what you said? 00:22:58 -!- CADD has joined. 00:23:06 looking for 'the perfect HDL' 00:23:11 fizzie: god forbid. 00:23:21 Ah :) 00:23:38 Why am I writing smiley faces this is unircsgeolike 00:23:54 maybe your personalities are swapping 00:24:08 Bike: Just you wait, you'll be converting your savings account to Linden-dollars any moment now. 00:24:20 nooooo 00:25:47 `pastelogs bike> .*:) 00:25:55 grep: unmatched parentheses \ http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9987 00:26:01 fancy 00:26:02 so VGA controllers are CRT only right 00:26:06 `pastelogs bike> .*:[)] 00:26:18 or... vga is i mean 00:26:47 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16433 00:26:51 "For example, the Microsoft Windows splash screen, in versions prior to Windows Vista, appears while the machine is still operating in VGA mode, which is the reason that this screen always appears in reduced resolution and color depth." oh, that's neat. 00:27:30 hm Bike isn't precisely a heavy :) user 00:29:03 Yay I did a square function 00:29:13 From a sum 00:29:15 so this is like 50% haskell, 40% other people, 9% me being nice to newbies, and 1% me being a dick to elliott 00:29:17 `pastelogs int-e> .*:[)] 00:29:28 percentages are not to scale 00:29:31 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27098 00:29:44 Slereah: say, you don't happen to have The Art of Computer Programming do ya 00:29:51 Nope 00:29:55 might be interesting to follow along, translating the code from MIX to x86 00:29:56 I don't even have SICP 00:30:05 I'm not even sure I have any computer related book 00:30:09 Except for like 00:30:12 Turing machines and shit 00:30:37 Hm, let's try a recursion maybe 00:30:41 Some factorial 00:31:28 int-e: now repeat after me, "My name is int-e and I am a :)holic" 00:32:09 nice 7 year hiatus. 00:32:40 oerjan: that's just a trick to get me to use yet another smiley, isn't it? 00:33:34 I won't even grep for semicolon-closing parenthesis, because I'm afraid the result will be even longer. 00:33:36 Slereah: are you a university student 00:34:10 I was, and I am once again! 00:34:14 Damn job market 00:35:12 int-e: oops 00:35:14 well, check the library, then 00:35:32 the :A movement is not starting well 00:35:37 -!- KingOfKarlsruhe has joined. 00:36:13 oerjan: Oh no! Z: 00:37:20 fizzie: it's like having the word for alcohol containing a phoneme that can only be produced by drinking it 00:37:53 those poor airholics are also in trouble, i fear 00:39:14 -!- Taneb has joined. 00:39:28 `ello Taneb 00:39:30 Hello, Taneb ! 00:40:10 Yo 00:40:11 Yoerjan 00:40:15 surely that should be Tanellob 00:40:36 The SCP-2000 contest is open 00:41:11 SCP 2000 is a contest that you cannot escape. hth 00:41:13 oerjan:whatdoyousayaboutallthosespaceholics? 00:41:52 what, are they already planning on the third scp series? 00:42:47 int-e : i don ' t see any problem 00:43:36 -!- carado has quit (Ping timeout: 252 seconds). 00:45:28 -!- carado has joined. 00:45:42 I guess I need to make one memory space per recursion if I want to do a recursive thing 00:45:51 hm 00:46:08 I will see about that tomorrow 00:46:10 stack! 00:46:10 It is my bedtime 00:46:15 Staaaack 00:46:31 a recursive "call" just works 00:46:53 But call doesn't send arguments 00:46:53 you may have to save registers with "push" and restore them with "pop" afterwards 00:46:59 So I do need to stack shit 00:47:05 call preserves registers 00:47:20 Just like in the doodoo olympics 00:47:22 you can use those for arguments, no trouble. 00:47:53 Yeah, but it's a factorial 00:48:08 There has to be a whole bunch of calls! 00:48:14 I guess n-1 00:48:22 Why is it always a factorial? 00:48:44 Because the factorial is an old and time tested recursive function! 00:48:55 You can also do Fibonacci, but Fibo needs two conditions 00:48:57 there are way better implementations though. 00:49:12 many of which involve far more fun things than recursion. 00:49:20 imo do tak or ackermann 00:49:39 -!- CADD has quit (Ping timeout: 246 seconds). 00:50:47 i am not sure ackermann with bounded size ints has quite the intended effect. 00:53:19 Well I'm limited to 255 00:53:21 what everrrr 00:53:22 So ackerman is a bad idea 00:53:41 damn. "09:27:05 I'll remember that, GregorR-W." -- I completely forgot. 00:53:58 -!- CADD has joined. 00:54:02 factorial will fail too after, what, 14? 00:54:24 wut 00:55:35 Gregor: http://int-e.eu/~bf3/tmp/remembering 00:55:48 (Oh and that was in july 2005.) 00:55:50 12, on 32 bits 00:56:30 for 16 bits it goes up to 8. imo whoopdie fucking do 00:56:42 -!- Phantom__Hoover has joined. 00:56:46 -!- carado has quit (Remote host closed the connection). 00:56:53 A lot has changed since July 2005. 00:57:01 For instance, I no longer specify my read/write status. 00:57:04 -!- carado has joined. 00:57:34 i remember that. 00:58:04 -!- oerjan has quit (Quit: Also. Good night.). 00:58:33 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 01:00:02 !daemon 01:03:52 Gregor: is the Sonivox soundfont even sold anymore? 01:21:19 Sgeo: A quick look would appear to suggest "no" 01:21:58 :( 01:22:37 -!- Phantom__Hoover has quit (Remote host closed the connection). 01:34:39 -!- Taneb has quit (Quit: Leaving). 01:37:03 -!- Bike has quit (Ping timeout: 252 seconds). 01:42:09 -!- Bike has joined. 01:46:11 -!- carado has quit (Remote host closed the connection). 01:49:54 -!- Oj742 has joined. 01:51:12 -!- sergio2 has joined. 01:55:19 -!- sergio2 has quit (Ping timeout: 246 seconds). 01:57:46 -!- sergio1 has joined. 02:01:40 -!- Sprocklem has quit (Ping timeout: 245 seconds). 02:03:47 -!- sergio1 has quit (Ping timeout: 265 seconds). 02:27:19 -!- Sprocklem has joined. 02:30:50 -!- typeclassy has joined. 02:43:03 -!- Sprocklem has quit (Ping timeout: 245 seconds). 02:50:02 -!- typeclassy has quit (Remote host closed the connection). 03:10:33 -!- Oj742 has quit (Ping timeout: 245 seconds). 03:15:07 -!- adu has joined. 03:25:23 -!- shachaf has joined. 03:27:22 -!- adu has quit (Quit: adu). 03:58:46 -!- zzo38 has joined. 04:06:49 -!- adu has joined. 04:38:40 -!- adu has quit (Quit: adu). 05:09:02 -!- adu has joined. 05:09:13 -!- adu has quit (Client Quit). 05:27:42 -!- adu has joined. 05:29:09 -!- adu has quit (Client Quit). 05:44:20 -!- Sprocklem has joined. 05:49:52 anyone know how to write the kronecker delta as a non-piecewise composition of principal branches of elementary functions? 05:50:32 er, can you get a non-function out of function composition? 05:51:43 kronecker delta is a function 05:51:46 think man think 05:52:12 oh, i was thinking dirac :V 05:52:30 I am not sure what "principal branches" are, but perhaps 0^((x-y)^2) is a definition? 05:52:45 can you just take a hump function and compose it with itself infinitely many times 05:54:17 Bike: I didn't find a Wikipedia article about "hump function" 05:54:32 zzo38: 0^0 is indeterminate 05:55:02 0^0 is 1. 05:55:17 zzo38: a function with a hump at the origin (f(0) = 1) that decays to zero at infinities 05:55:32 shachaf: according to python it is zero 05:55:49 ^ is xor in Python. 05:55:50 quintopia: I think that is wrong then; 0^0=1 clearly (to me at least). 05:55:51 ** is exponentiation. 05:56:05 oh 05:56:06 O, yes, then in Python you need 0**0; what does it make? 05:56:07 my bad 05:56:12 Does it make anything? 05:56:13 yeah that'll work :D 05:56:15 -!- adu has joined. 05:56:25 * Bike grumbles 05:57:11 Bike: Then with such function unless f(1) = 1 also, then composing infinite numbers of times becomes an unknown response? 05:57:17 ?messages-loud 05:57:17 i don't understand why 0^0 is 1, since lim_{x->0+} 0^x is 0... 05:57:17 boily said 9h 36m 19s ago: you are the weirdest. 05:57:22 yeah, it would be zero, i don't know what i was thinking. 05:58:17 OK, it is unclear the intended context (if any) of boily's message. 05:58:21 0^0 is the number of functions from the empty set to itself. 06:00:08 i guess i'm thinking of the limit of successively steeper functions, like you do for dirac 06:00:11 shachaf: Yes, there is that, and several other reasons too, why zero to power of zero should make one. 06:00:28 so there's one function from empty to empty but zero from {empty} to empty? 06:00:40 Yes. 06:01:05 well thank god math makes intuitive sense. 06:01:30 i can't tell if that was meant seriously or the opposite of seriously 06:10:03 Bike: a function from {{}} to {} is a set of pairs (x,y) where x is in {{}} and y is in {}, such that for every x in {{}} there is y such that (x,y) is in the function 06:10:10 (and also no duplicates) 06:10:15 yeah i already got this explained 06:10:21 thanks anyway 06:10:30 a function from {} to {} is a set of pairs (x,y) where x is in {} and y is in {} (no such pair exists, of course), such that for every x in {} -- and then you're done because vacuous 06:10:35 sorry :P 06:10:52 basically with a function from the empty set, you trivially satisfy the requirement of covering all values in your domain. 06:10:55 set theory is so tedious 06:11:02 from the singleton set, you have to have at least one element of the codomain. 06:11:13 it's easier in type theory!! 06:11:17 (arguably?) 06:11:43 it's even easier in i'm asleep theory 06:12:56 what does infinite composition of logarithms give you 06:14:46 gallavanting about the plane. 06:35:40 -!- nisstyre has quit (Quit: Leaving). 07:06:52 Bike: I noticed you were writing stuff about FPGA and HDL; if you are able to design your own and make the actual one, then if it is open-source (or at least open-specification enough to know exactly how all the timing, connection, etc works, and the bitstream format) then I would buy it. 07:07:12 do you have four thousand friends who would also buy it, though 07:07:32 Bike gets down to brass tacks 07:07:50 Perhaps there may be a lot of HDL because a lot of people don't like the existing ones (including me), but I don't think there is the "perfect HDL". I designed HWPL to do the kind of things I think is good idea, but not necessarily everyone in agreement. 07:08:09 there aren't that many HDL, really 07:08:26 Bike: No, but you can find a lot of messages on various forums and stuff in internet, it seem like about four thousand might be interested 07:08:43 And then more people would learn and might use it too 07:08:45 well i'll keep that in mind for the kickstarter. 07:09:20 a few days ago i found out some neuro people i like sell an FPGA board (with just a boring lockedout FPGA but) for brainstuff, which is cool 07:09:26 clearly needs more neuromorphism imo 07:10:40 Since there are several advantages to a open-source FPGA (even if the company that makes the FPGA sells no open-source design software for it) 07:11:13 i guess i don't know what most people who buy fpgas actually use them for 07:11:27 there's a niche in education, and then prototyping? 07:12:09 a lot of finished products use them too 07:12:12 I don't really know either, but yes those may be some uses; there are several others too. 07:13:01 if you're planning to sell fewer than n thousand units, it's cheaper to ship programmed FPGAs than to design and fab your own chip 07:13:13 makes sense. 07:13:23 not sure how much open hardware would help there 07:13:31 also then you can field-upgrade the "hardware" which is nice 07:13:32 http://nsa.unaligned.org/ is a really cool project repurposing a bunch of HD video transform boards with FPGAs on them 07:13:43 However, with open-source FPGAs, many more uses would be enabled, such as reconfigurable computing, more accurate designs, and if you are making an ASIC it is guaranteed not to be slower than the FPGA. 07:14:00 240 W :o 07:14:28 really wish i knew more electrics 07:15:13 and yeah, good point about reconfiguring 07:16:04 gotta grab information and opportunities in the subfield of electrobrains where i can, i guess 07:19:12 I also don't like various things about Verilog, VHDL, and other HDLs that I also decided to make up a new one; what features are you looking for in a HDL anyways? One thing I like to have is a lot of macros. 07:21:39 i'd like good macros, good parametrized modules, and some sort of way to annotate things like FSMs for optimization 07:22:47 How do you want to annotate things like FSMs for optimization? Maybe it might help a bit, if you can specify some examples of how this would work. 07:23:23 not sure. i'd like the macros and modules to be involved enough that i could write out a state transition diagram, really 07:24:01 i don't see the point in compiling things "down" to gates if the toolset's just going to analyze it as an fsm anyway 07:24:45 Are the macros and parametrized modules in HWPL (my design) good enough for this? If not, I would like to improve it if it help! (HWPL does have the MODELS keyword, which can be used for optimization, but I don't know if this is sufficient for the purpose you are describing.) 07:26:20 I would like an example of what you mean, though, if you can do that. 07:28:28 ok, do you know how a serial adder works? 07:29:11 OK, yes I looked up in Wikipedia, and yes I found it is something I am familiar with. 07:30:11 it's pretty easily conceptualized as an FSM. you have four states, one for each combination of outputs, and each clock you transition to another state based on the inputs 07:31:00 Ah, OK, I understand. 07:31:20 in verilog you could write this as an always block on the clock edge, where the logic is a very tedious case on the state and the inputs 07:32:33 and if you write it out the synthesizer is going to compile it into whatever IR and /then/ analyze it to be an FSM 07:36:31 Dear Microsoft: It's fairly obvious that your process for generating the IE compatibility mode list involves monkeys at typewriters. Please stop. Love, Sgeo. 07:38:55 A serial adder only has one bit of state being the carry flag though, isn't it? 07:47:49 you need to keep the sum out stable through the clock 07:50:53 but yeah, the carry is the only one you need to worry about between transitions 07:54:35 i guess that's a distinction between state of the FSM and state of the circuit. 08:02:15 What explains this behavior: As long as Chrome (ium) is loading any page, even in another tab, it doesn't show title text when hovering the cursor over something. 08:06:07 is the hover thingy an OS-level GUI element? 08:06:37 maybe it's because there's a single compositor thread in charge of all talking to the OS graphics system, and it's busy doing something else? 08:08:16 you should find out whether servo has the same limitation, first you'll have to contribute code to show title text, also to have tabs 08:09:10 -!- yiyus has joined. 08:26:29 oh, i've onwdered about that too 08:27:35 I think Chrome actually serializes OpenGL calls and sends them to a single process 08:27:51 we will probably have to do something like that eventually, for WebGL 08:28:12 -!- CADD has quit (Quit: leaving). 08:28:17 but for now our approach is, separate GL context for each thread/process, sending textures between them using OS-level features for doing so (the same ones compositing WMs use) 08:28:29 e.g. sending GLXPixmaps on Linux 08:28:29 -!- CADD has joined. 08:28:34 -!- CADD has quit (Client Quit). 08:31:51 -!- carado has joined. 08:33:56 kmc: Hmm, I don't know. 08:53:11 I think that assessment of Chrome doing all GL stuff in a single process is correct, because on my system it used to go all "GPU thread has crashed" and disable hardware acceleration whenever I tried to go to a WebGL page. 08:53:20 -!- Sprocklem has quit (Ping timeout: 245 seconds). 08:59:48 -!- adu has quit (Quit: adu). 09:23:08 -!- Taneb has joined. 09:38:41 I would think a serial adder in HWPL might be something like: TRIGGER .CLOCK SET {.OUT,.CARRY} TO MUX({.CARRY,.X,.Y},$96,$E8); and something like that may be usable in other hardware programming languages too; would that work? 09:45:13 In fact it looks like a direct implementation of the state machine as well as being directly translatable to FPGA muxes. 10:00:24 -!- ais523 has quit. 10:08:27 -!- nooodl has joined. 10:11:19 -!- yiyus has quit (Read error: Connection reset by peer). 10:31:47 fizzie: I was never able to get webgl to work properly in chromium 10:32:07 It tends to just stop working for no reason 10:32:11 While in Firefox it just works 10:33:26 -!- zzo38 has quit (Remote host closed the connection). 10:52:55 FreeFull: It used to work with my old graphics card, then it stopped working when I upgraded hardware, then it again started to work after upgrading the browser. (Though this last is a bit tentative, I haven't used it much.) 10:55:23 -!- muskrat has left ("Leaving"). 11:01:40 So I be trying to do the factorial recursively 11:01:41 But 11:01:46 It doesn't seem to stop at 0 11:01:54 What might the dealio be 11:02:25 The program being http://pastebin.com/e5bNNSf1 11:02:41 Oh wait 11:02:45 I think I know now 11:02:51 The jump isn't well placed 11:02:57 NEVERMIND 11:09:16 factorial: pop ax, pop ax, dec cx, jcxz zero, mul cl, push ax, call factorial, zero: jmp prog 11:09:18 There we go 11:09:26 I should do a version with a jump instead of a call 11:09:35 That will avoid me the double popping 11:15:29 Typically you'd access any parameters on stack with something like mov ax, [sp+2] instead of popping off the return address. 11:16:36 Wouldn't that fill the stack if I don't pop it in this case? 11:17:09 you can adjust sp manually without popping, like 'add esp, 8' 11:17:14 Normally the caller pops the arguments off the stack after the call. 11:17:33 Yeah but because of reasons I had to drop it 11:17:40 Also it's a jump now: 11:17:41 Fiora: sp, in this case. 11:17:41 factorial: pop ax 11:17:41 dec cx 11:17:41 jcxz zero 11:17:41 mul cl 11:17:41 push ax 11:17:42 jmp factorial 11:17:42 zero: jmp prog 11:17:56 er, right, sp. 11:18:11 Wait 11:18:17 Why do I have jmp prog 11:18:24 I can do directly jcxz prog 11:18:24 It's not really a function call any more if you never ret. 11:18:46 factorial: pop ax 11:18:46 is there some reason ax gets pushed, and then like, popped right back off? 11:18:46 dec cx 11:18:46 jcxz prog 11:18:46 mul cl 11:18:46 push ax 11:18:47 jmp factorial 11:18:49 Much better 11:18:58 To keep the result? 11:19:07 Basically if I do 5! 11:19:10 but isn't pushing and then popping a no-op...? 11:19:17 First I put 5 in cx 11:19:25 I push it 11:19:29 And I jump to the function 11:19:40 It pops the stack to ax 11:19:43 decrements cx 11:19:50 So ax = 5, cx = 4 11:19:54 And multiplies them 11:20:04 And sends the result to the stack 11:20:13 So ax = 20, cx = 3 11:20:37 It's not really a recursive function as written. And the use of stack is indeed unnecessary. 11:20:42 Wait, I don't need it if ax stays the same 11:21:36 factorial: dec cx 11:21:36 jcxz prog 11:21:36 mul cl 11:21:36 jmp factorial 11:21:37 Much better 11:21:51 I guess it is more of a loop yeah 11:22:44 Also not a function; you can't call it from two places, because it always returns to the same place. 11:22:52 yeah 11:23:16 I tried doing it as a function, but 11:23:33 I did jcxz zero 11:23:35 zero : ret 11:23:43 But that didn't seem to work 11:23:53 Like the ret didn't returl to the proper place? 11:24:18 If you popped the return address off, no wonder. 11:24:55 I don't think I did when that was there 11:24:59 Well, let's try redoing it 11:25:12 If you don't mind calling conventions, you can just pass parameters (and return values) in registers, in which case it's very simple. 11:25:41 factorial: dec cx 11:25:41 jcxz zero 11:25:41 mul cl 11:25:41 jmp factorial 11:25:41 zero: ret 11:25:43 Seems to work! 11:26:16 It might be more generic if you had the proper initialization of al (to 1) inside the function. 11:26:36 al is actually initialized at cl 11:26:58 Hm 11:27:03 Oh, I guess that works too, since you decrement before the first multiplication. 11:27:07 I guess I need one more label if I want to do the initialization 11:27:21 You can use a label local to the function for the loop, if you like. 11:27:53 (With syntax depending on assembler, but starting with a period is common.) 11:28:50 factorial: mov ax, cx 11:28:50 doshit: dec cx 11:28:50 jcxz zero 11:28:50 mul cl 11:28:50 jmp doshit 11:28:50 zero: ret 11:28:52 There we ho 11:28:53 go 11:30:48 What would the recursive version look like? 11:33:25 Hm 11:33:41 I guess at each passage in the loop, it would push the stack with the address 11:33:45 And go back to that point 11:34:18 In half-pseudo, possibly something like factorial: if ax == 0 { mov ax, 1; ret } else { push ax; sub ax, 1; call factorial; pop cx; multiply ax by cx; ret } 11:35:17 That's the "direct" translation of factorial(a) { return factorial(a-1) * a; } 11:35:45 (With the convention of passing the input argument in ax, and the return value in ax too.) 11:36:02 Er, the latter is missing the termination condition, but anyway. 11:36:19 facrec: mov ax, cx 11:36:19 dec cx 11:36:19 jcxz zerec 11:36:19 call facrec 11:36:19 mul cx 11:36:19 zerec: ret 11:36:23 Let's try something like this 11:37:30 Hm, 0 11:37:35 Let's see 11:37:51 -!- Taneb has quit (Quit: Leaving). 11:38:05 Well, you decrement cx all the way to 0, and then return from the deepest "call facrec" right into the mul cx. 11:38:18 oh right 11:38:27 If it's 0 I need to return cx = 1 11:39:19 Still no work, damn 11:39:34 Let's see 11:39:45 All your "mul cx"s will use the same cx value. 11:40:01 If cx = 2, then ax = 2 11:40:19 Once decremented, cx = 1, ax = 2 11:40:55 Ah yes, it totally forgets the value of 2 on the second call 11:41:00 I need to stack 11:41:09 You can expand the control flow out what it executes: {mov ax, cx; dec cx;}*n, then {mul cx}*n. 11:43:12 You can do the recursive-with-an-accumulator variant -- factorial(x, acc) { if (x == 1) return acc; else return factorial(x-1, acc*x); } -- without using any stack except for the call/ret. (And then convert that to a tail call, after which you've ended back in the original solution.) 11:44:54 What's a good ASM debugger? 11:45:45 debug.com would be in keeping with your DOSBox style, but it might not fit the attribute "good" that well. 11:46:04 What about "functional" 11:47:01 There's a gdb stub built in DOSbox, if I remember right, but gdb can be p. iffy for 16-bit code, and I don't have any idea how easy that would be to get going on Windows. Of course the old 16-bit programming environments (Turbo C and such) come with debuggers too. 11:53:07 -!- Phantom_Hoover has joined. 11:55:05 Man dosbox is so slow 12:11:55 ctrl f12 a bit? 12:13:30 I think now is time for food buying, actually 12:20:17 you know what's infuriating 12:20:42 when you've downloaded 0.2% of a torrent and you're already uploading twice as fast as you're downloading 12:27:31 hahaha http://i.imgur.com/0vRuu.png 12:29:54 interesting 12:32:24 don't want to leave out the general complex case 12:33:39 -!- oerjan has joined. 12:34:28 also: http://www.wolframalpha.com/input/?i=what+is+the+planck+length 12:35:20 i am missing beardseconds as unit 12:37:23 Phantom_Hoover: amazing 12:39:07 "Comparison as length: ≈ 0.2 x length of a putative string in M-theory" 12:44:07 i didn't think string theory had fixed length strings 12:44:31 i suppose some might 12:48:23 I guess they use strncpy with them then aha ah ha. Haa. 12:50:57 _ _ _ _ _ _ 12:50:57 _| || |_ _| || |_ _| || |_ 12:50:57 _____ _____ _____ _____ _____|_ .. _|_ .. _|_ .. _| 12:50:57 |_____|_____|_____|_____|_____|_ _|_ _|_ _| |_||_| |_||_| |_||_| 12:51:09 wat 12:51:55 pasting ascii art doesn't mix well with irssi's line joining. 12:52:35 pasting ascii art rarely mixes well with irc 12:52:57 NONSENSE 13:07:04 -!- Slereahphone has joined. 13:09:08 good morning. how are the rabbits 13:09:44 LET ME TELL YOU ABOUT THE RABBITS 13:14:05 __ __ ___ ___ ___ ___ 13:14:06 | |_| | | \/ | | \/ | 13:14:06 | _ | | \ / | | \ / | __ __ __ 13:14:06 |__| |__| |___\/___| |___\/___| |__| |__| |__| 13:15:30 Oh no, who gave oerjan the really big swatter? 13:15:32 I'm scared. 13:16:44 is that what that was 13:43:56 -!- Slereahphone has quit (Quit: Colloquy for iPhone - http://colloquy.mobi). 13:44:35 i just used a temporary magnification ray. 13:46:31 And back 13:46:35 Time to cook de meat 13:49:24 -!- yorick has joined. 13:50:03 i don't understand why 0^0 is 1, since lim_{x->0+} 0^x is 0... <-- switch 0 and x in that... x^y does not have a limit at (0,0) and you can get several values by approaching along different paths. 13:51:38 so limits are useless for choosing a value. 13:56:03 0^0 is undefined 13:56:11 It is set at 1 by convention 13:58:39 hmm 13:59:47 Slereah, well no, it's just that 0^0 doesn't have a single 'nice' extension of the exponential function 14:00:22 you're going to break useful properties, most importantly continuity, no matter how you define it 14:01:40 yes, hence why it is not defined from the definition of the exponential! 14:01:41 it's normally taken to be 1 because that still preserves things like the number of functions from {} to {} 14:02:00 Slereah, well neither is x^y for x and y not positive integers 14:02:17 Well yes, it is! 14:02:28 x^y = e^(y ln(x)) 14:02:58 right but originally it was 'x multiplied by itself y times' 14:03:07 Sure, back in the 16th century 14:03:58 'well what if y is negative' 'make it reciprocal, that preserves the additivity' 14:04:24 'Charlie Stross @cstross: This morning got email from a “technical sourcer” at Google, wondering if I wanted a job interview. Told ’em to look me up on wikipedia …' 14:04:32 nobody is safe 14:04:39 'what if y is fractional' 'well make it a root, that preserves multiplicity' 14:04:46 etc. 14:05:15 But what if y is transcendant? :o 14:05:38 then you set it to the limit, because obviously you want continuity 14:06:03 What if y is a matrix 14:07:02 Phantom_Hoover: fortunately, by that point, 0^0 is already 1 :-) 14:07:37 but it's not, because you really want continuity from R^2 -> R 14:07:53 Slereah: then it better be diagonalizable, and we can then apply ^y to each diagonal entry. 14:08:04 Phantom_Hoover: I don't. 14:08:45 I'm happy with the state of affairs where that only works for positive x :) 14:08:56 With the exponential definition it is much easier~ 14:09:10 e^M = 1 + M + MM/2 + ... 14:09:19 Slereah: 2^2 = exp(ln(2)*2)? good luck ;-) 14:09:21 easier to define, not so easy to calculate 14:09:32 int-e : Yep 14:09:38 Pretty easy! 14:09:46 ln(1+2) = 1 + x + x² + ... 14:09:56 +x* 14:10:09 p. sure that expansion doesn't actually work for x outside of a certain range 14:10:24 It will work for ln(2) 14:10:31 Slereah: no. 14:10:31 http://en.wikipedia.org/wiki/File:LogTay.svg 14:10:56 Slereah: it's ln(1+x) = x - x^2/2 + x^3/3 - x^4/4 + - ... 14:11:03 Maybe 14:11:07 I don't remember it off hand 14:11:17 Slereah: well I wasn't the one who claimed this was the easy way :-P 14:11:21 it does actually work for ln(2), just 14:11:51 I think it basically works for C* 14:12:12 but now you're talking about holomorphic functions 14:12:21 They are the holomorphest 14:12:46 it doesn't work very well for C* because you can't pick a canonical choice of root 14:13:34 But well 14:13:36 Anyway 14:13:48 x^y is pretty much defined for most things with it 14:14:00 and how do you exclude ln(1) = 2pi*i ... if you go via the complex numbers? 14:14:19 Do you mean ln(-1) 14:14:22 no. 14:14:29 ln(1) = 0 14:14:32 no 14:14:37 (yes) 14:14:39 e^(2pi*i) = 1. 14:14:42 ln(1) = 2npi*i 14:14:48 for all integers n 14:15:06 Except not. 14:15:11 Because ln is a function 14:15:16 So it can only have one image 14:15:42 Slereah: from the positive reals to reals, yes. fine. we never argued about x^y for y>0 anyway. 14:15:50 or x>0, sorry. 14:15:55 yes, but the choice of branch cuts you use to obtain that unique image is as arbitrary as 0^0=1 14:16:14 Well you can define it with a parameter, I guess 14:16:25 ln(1,n) = 2npi*i 14:17:23 no. 14:17:41 Why not 14:18:12 the point is that if you want ln() to be continuous, and ln(1) = 0, then by taking the logarith of ln(e^(ix)) for x=0 to 2pi, you end up with ln(1) = 2pi*i. 14:21:21 -!- oerjan has quit (Quit: Use the Riemann surface). 14:25:07 (the principal branch of ln() that people usually use is discontinuous for negative reals) 14:32:33 -!- copumpkin has quit (Ping timeout: 252 seconds). 14:56:08 another thing I saw in Akihabara was an adapter which accepts an IEC 60320-C13 (i.e. computer power supply) cable and provides a universal AC outlet (NEMA 5-15 / BS 1363 / Europlug + various grounds) 14:56:30 i don't know what the use case for that adapter is, but it's an interesting one 15:05:12 One thing I found in my closet was a cable where the other end was an IEC 60320-C13 female, while the right end was the ungrounded europlug. 15:05:28 I don't know where that came from, and what the grounding pin of the power-supply-connector side is connected to. 15:05:31 Probably nothing. 15:06:41 (But, I mean, ground, right? Who needs that sort of stuff.) 15:08:35 not japan, that's for sure 15:09:16 (except for certain large appliances, which have a separate grounding wire that screws to a thingy) 15:17:10 whatever, things are made of plastic now, and we have GFCIs, and yolo 15:17:23 i don't get why some thinkpad bricks have ground lines and not others 15:20:03 -!- copumpkin has joined. 15:21:19 (I think "C13 female" is redundant; the inlet is called C14) 15:21:47 (but this is 100% from reading wikipedia just now to sound knowledgable, as is my custom) 15:26:23 hell is a torrent stalled at 99.9% 15:42:04 -!- MindlessDrone has joined. 15:42:57 kmc: i was amused to learn that stross used to work for SCO 15:57:45 fixed it by turning it off and then on again 16:23:35 -!- evalj has joined. 16:29:29 kmc: Since you're thereabouts, how about popping down to Kyoto and checking it out? We was thinking of visiting next summer. 16:31:26 i'm flying home tomorrow but I was in Kyoto the other day 16:31:42 it has a bunch of temples and shrines and such 16:31:45 if you're into that 16:33:03 cool castle 16:33:29 it's a short train ride from Nara and from Osaka, both of which are also worthwhile 16:34:21 We've visited some kind of Japanese-garden-style of a place pretty much everywhere else we've ever been (when possible), thought it might make sense to go straight to the source, so to speak. 16:35:12 :) 16:35:13 my itinerary for this trip was Suwon, Seoul, Osaka, Nara, Kyoto, Hiroshima, Itsukushima aka Miyajima, Tokyo 16:36:33 all were fantastic :) 16:36:58 in Nara i just kinda showed up at the train station and wandered around, but that doesn't work in Kyoto, the cool stuff is too spread out 16:37:14 i should have planned more in advance 16:39:09 We tend to have our trips planned in advance down to the very last detail, though not exactly by my choice. (Admittedly there's a slightly lower risk of "what, I was like right next to this cool thing and didn't even realize", afterwards.) 16:39:15 (well, ok, I'm not sure Suwon was "fantastic"; I was mostly there for work although there was half a day's worth of stuff to see at least) 16:39:33 yeah when i travel alone i tend to plan just in time 16:39:43 look on wikivoyage the night before i go out in some city 16:40:05 on this trip I spent a lot of time looking for free wifi because I wanted to talk to my friends because i was lonely :/ 16:40:17 and there's a small window in which the time zones coöperate 16:41:22 It's... seven hours ahead of Finland, I think. 16:45:02 speaking of Finland, http://i.imgur.com/zfsNaUl.jpg 16:45:32 that's Finland-themed Japanese fabric softener 16:45:36 they had Russia-themed as well 16:46:53 I can see the flag, but nothing else in that picture is exactly screaming "Finnish!" at me. 16:51:07 Skip & Hop! 17:00:38 this business of coin lockers at train stations &c is fantastically convenient 17:00:54 they exist lots of places but mostly not the US or the UK, because terrorism 17:04:21 got to sleep now 17:04:24 good night! 17:07:25 they don't exist in the UK? that's crazy 17:07:42 i may have wrong information 17:08:07 i thought the train stations got rid of coin lockers and trash cans both, thanks to the IRA 17:08:14 now you have to get on a train to throw something away 17:09:05 I know some banks don't have a user-accessible trashcan here 17:09:18 * Bike feels it's convenient that east asia and the UK are both eight hours away from his time zone. 17:09:31 but there people can just use a nearby trashcan in the street 17:10:18 but no trashcan in a railway station would be downright stupid, it would just lead to excessive littering 17:26:48 -!- sebbu has quit (Ping timeout: 245 seconds). 17:38:37 -!- Bike has quit (Quit: home). 17:46:53 -!- FireFly has quit (Ping timeout: 272 seconds). 17:52:06 -!- adu has joined. 17:56:55 -!- drlemon has joined. 18:03:09 -!- Oj742 has joined. 18:10:42 Oh 18:11:05 Are you guys talking about the lovely idea of removing public trash cans in order to prevent littering? 18:11:39 Even worse 18:11:43 Paying public toilets 18:11:46 I can't imagine to whom this sounds as a good idea but I'm no psychology genius. 18:11:48 What do you do with that 18:11:55 What if you don't have some coins 18:12:10 I'm pretty sure it's illegal to shit in the street 18:12:17 That's kinda the standard in switzerland @pay toilets 18:12:21 IT IS A FLAW IN THE SYSTEM 18:12:25 Unless you're a real men 18:12:39 *man 18:12:51 The Swiss always have money on them though 18:13:09 Yes 18:13:16 but that doesn't mean you have the right coin available 18:13:17 -!- sebbu has joined. 18:13:24 they don't take 10 CHF Bills . 18:13:53 https://dl.dropboxusercontent.com/u/113389132/Misc/20131123-smoking.png I'm sure there's some good, entirely logical reason why it's like this. 18:14:41 Well what do each character mean in both languages 18:20:48 'forbidden' and 'smoke' 18:20:50 in both 18:20:58 the chinese one is presumably wrong 18:21:55 alternative translations for the chinese include "no smoking" 18:22:11 Maybe it is so delicious because it is forbidden 18:26:15 http://cs.wellesley.edu/~cs342/handouts/more-assembly.pdf 18:26:16 Oh boy 18:26:18 There's one 18:26:19 Let's see 18:26:21 The "rfk86" account at zem.fi just got the following email: "Johnny Clunker was an awkward and shy kid who kept mostly to himself. But when the school day ended he became Johnny B. Fast, a super spy Utilizing super technology so advanced that it seems like magic, Johnny and his friends battle the United Order, a ruthless organization trying to acquire the Super Chip - a computer processor so ... 18:26:27 ... powerful it can virtually hold the world's technology hostage. But when one of his fellow classmates, Nancy Korrins, is also revealed to be a spy kid who was trained by the world's most deadly and advanced agent, Johnny has his hands full trying to figure out if he can trust her to help him capture the Super Chip, or if he has to fight her as his greatest rival." 18:27:43 -!- Taneb has joined. 18:28:30 fungot: Are you running on a Super Chip? 18:28:31 fizzie: great work lonely island afterall. but you dont post shit like that 18:36:08 What does the instruction pointer refer to, exactly? 18:36:14 Is it a memory space in the ram? 18:36:26 And if so, how do you deal with big programs on the hard drive 18:36:33 Do you transfer it little by little? 18:37:02 And does that imply restrictions on programs 18:37:32 Quite rarely do you load code on-demand. Program code doesn't tend to be as large as data. 18:37:46 Some DOS programs did use "overlays", including (IIRC) NetHack, though. 18:37:58 Sure, but I'm talking theoretically 18:38:36 Let's say you have a 10 GB program 18:38:39 (Pretty big!) 18:39:15 Does it mean that you could not do jumps from one end to the other 18:39:25 Or at least not without complications 18:39:45 I'm not sure if you want answers related to actual systems or what, if it's supposed to be entirely theoretical. 18:39:49 The IP refers to a memory address. That address may be mapped to RAM by the OS, or absent; if it's absent, then the OS gets notified and gets a chance to load the code from disk, for example. 18:40:02 Ah, I see 18:40:22 int-e: That doesn't sound like a theoretical answer. 18:40:22 I guess it goes to the RAM directly in the absence of an OS 18:40:33 Anyhow, in x86-32, you can't fit 10 gigabytes in the address space. 18:40:34 You really don't have to worry about it unless you write an operating system, or there is no OS to speak of (as was the case under DOS, hence the Overlays that fizzie mentioned.) 18:40:38 fizzie: it wasn't 18:40:51 (And in x86-16, even less so.) 18:41:02 I yet have to see a program with 10 GB of code :) 18:41:04 So indeed a ten-gigabyte program would involve complications. 18:41:18 It would be a pretty sweet program man 18:41:39 You could program the universe 18:42:00 -!- adu has quit (Quit: adu). 18:42:21 You can still load code at runtime if you absolutely have to. (The necessary technology is present in just-in-time compilers, albeit for a different purpose) 18:42:24 This afternoon I had my first session of D&D 18:42:37 Were you a wizard 18:42:39 Perhaps a 18:42:41 Computer wizard 18:42:44 I was a cleric 18:42:55 did you heal any undead? 18:42:57 We had a wizard/rogue in the party, though 18:42:59 A computer cleric? 18:43:07 int-e, I had the opportunity, I cannot recall if I did or not 18:43:14 Stallman is a computer cleric 18:44:37 http://lemonodor.com/images/sicp-lecture-wizard-s.jpg 18:44:44 Sussman is a computer wizard, though 18:45:15 Who would be the computer barbarian? 18:45:34 Schneier looks like one, I think. 18:45:57 I would talk about computer thief, but that might get controversial! 18:46:32 Snowden? 18:46:52 He is the computer spy 18:47:34 Computer rogue? 18:47:42 Perhaps 18:47:43 Computer paladin? 18:47:51 Knuth is the king of computers, I suppose 19:05:16 First output from a markov-chain thingy I'm making: "Just the place for a season of woe- But the Snark, with a Snark." 19:05:19 (with quotes) 19:27:42 Snarky. 19:29:53 -!- nisstyre has joined. 19:31:19 I need to figure out a way to make it parse punctuation as separate tokens 19:40:38 -!- AnotherTest has joined. 19:45:45 -!- Taneb has quit (Quit: Leaving). 19:49:21 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:49:27 Sorry, but McCarthy = king of computers. :-) 19:49:42 -!- FireFly has joined. 19:50:26 Damn that man and his anticommunist policies! 19:53:45 -!- Oj742 has quit (Ping timeout: 252 seconds). 19:54:36 "if your grave doesnt say "rest in peace" on it you are automatically drafted into the skeleton war" 19:54:40 True fact. 20:04:45 -!- coppro has changed nick to coppro|nospoiler. 20:08:10 `run python -c 'l = [[0]]*2; l[0][0] = 1; print l' 20:08:16 ​[[1], [1]] 20:08:59 `? 20:09:01 ​? ¯\(°_o)/¯ 20:09:01 | 20:09:02 o/`¯º 20:09:44 ? _/..\ 20:17:48 -!- oerjan has joined. 20:27:01 kmc: Regarding the use case for your adapter, perhaps the idea was that you're going to have a large piles of those computer power supply cables (with wall-plugs proper to your walls) anyway, so they can sell their universal outlet to a wide audience without having to worry about the "input side". 20:27:41 A large piles, yes. 20:30:15 oerjan: i am aware of the fact x^y has no limit as 0^0. what i don't understand is why CAS implementers picked 1 20:34:32 because amongst other things x^y is the number of functions from a set of cardinality y to one of cardinality x, and there's 1 function from the empty set to itself 20:34:55 0^0=1 also cleanly extends some combinatorial identities, afaik 21:02:56 -!- muskrat has joined. 21:04:14 -!- zzo38 has joined. 21:04:21 quintopia: intuitively, consider the fact that polynomials and power series are among the most important objects in mathematics, and the sum_{i=0}^n a_i x^i formulation only works if x^0 = 1 without exception. 21:08:32 -!- Taneb has joined. 21:27:06 oerjan, btw, does the axiom of regularity require that it's impossible to do an 'infinite descent' through a set? 21:27:20 yes, that's equivalent. 21:27:52 and was iirc von neumann's original formulation. 21:28:03 oh, it says exactly that in the fourth line of the wp article 21:28:21 which is about where i last read it. 21:28:34 although not the first time, i think. 21:30:55 What is an "infinite descent" through a set? 21:31:30 zzo38: an infinite sequence such that x_0 is in the set and x_{i+1} is an element of x_i. 21:31:45 or well, x_0 might just be the set. 21:32:16 hm or maybe von neumann's original formulation was the thing about ordinal rank. 21:33:41 -!- augur_ has quit (Remote host closed the connection). 21:35:11 hm wikipedia's history section disagrees, maybe. 21:35:11 oerjan: O, that's what it is. 21:35:44 I've heared of that infinite descent thing but that's so ugly complicated that it shouldn't be an axiom. 21:35:55 the current formulation fo the axiom of regularity is much better 21:36:07 and the set ranks should be the theorem 21:36:41 it seems von neumann had a simple formulation. 21:37:07 however, the entire _point_ of the axiom is to rule out the infinite descent stuff. 21:37:35 and get the ranks. 21:37:51 yes. and? 21:38:00 the simple formulation still should be the axiom 21:38:08 it's easier to work from there 21:38:32 (not that you really need regularity for anything) 21:38:32 i'm saying it shouldn't be given alone since it obscures the purpose. 21:40:07 maybe 21:40:43 people care about the elegance of ZFC axioms? :/ 21:41:26 Eleven herbs and axioms 21:44:25 -!- typeclassy has joined. 21:47:07 -!- zzo38 has quit (Quit: zzo38). 21:47:13 -!- gigimoi has joined. 21:49:19 * oerjan smells a haskeller 21:49:53 `WeLcOmE typeclassy 21:49:56 TyPeClAsSy: WeLcOmE To tHe iNtErNaTiOnAl hUb fOr eSoTeRiC PrOgRaMmInG LaNgUaGe dEsIgN AnD DePlOyMeNt! FoR MoRe iNfOrMaTiOn, ChEcK OuT OuR WiKi: . (fOr tHe oThEr kInD Of eSoTeRiCa, TrY #eSoTeRiC On iRc.dAl.nEt.) 21:50:13 `WELCOME gigimoi 21:50:15 GIGIMOI: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: . (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 21:50:33 hola 21:50:39 oh. 21:50:48 `bienvenido gigimoi 21:50:50 gigimoi: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba #esoteric en irc.dal.net.) 21:51:03 I'm not spanish : ) 21:51:19 ARE YOU SURE 21:51:38 Not 100%, but pretty sure. 21:52:05 we have a regular inflow of spanish people getting here and getting confused. we think it's because the channel name starts with es. 21:52:26 Lol. 21:52:26 well, sometime regular. it's been a while since the last one. 21:53:42 hehe 21:54:22 strictly speaking, not spanish, i think an unusual number are venezuelan. 21:54:54 but suffice to say that i now have a reflex action on newbies saying "hola". 21:54:59 *+it 21:55:55 oh that's news to me. "" 21:55:55 Javascript is required to use IRC. 21:56:28 at least to past quotes properly inside quotes. 21:56:31 *paste 21:56:38 lso to spel corectly 21:57:21 oerjan: I did place the cursor between "" and then I pasted ... but a newline defeated my perfect plan. 21:57:29 i suspected. 21:58:10 someone is being secretive. 21:58:21 it's irssi. :P 21:58:42 i suspected that, since i have it too and pasting is a regular annoyance. 22:02:36 -!- augur has joined. 22:05:55 oerjan: I'm actually wondering why firefox put a newline there, all I did was triple click on the first line of https://webchat.freenode.net/ (without javascript enabled, obviously). 22:06:23 But I guess it boils down to stupid software being stupid. 22:16:56 -!- nisstyre has quit (Read error: Connection reset by peer). 22:20:09 -!- augur has quit (Read error: Connection reset by peer). 22:20:26 -!- augur has joined. 22:28:45 -!- augur has quit (Ping timeout: 245 seconds). 22:29:57 -!- AnotherTest has quit (Ping timeout: 252 seconds). 22:30:28 -!- augur has joined. 22:33:41 -!- typeclassy has quit (Ping timeout: 248 seconds). 22:39:14 -!- adu has joined. 22:40:17 -!- evalj has quit (Remote host closed the connection). 22:52:37 hey 22:52:40 hey people 22:52:57 `ello quintopia 22:52:59 quintellopia 22:53:11 http://mathoverflow.net/questions/149620/easy-way-to-prove-that-this-algorithm-eventually-terminates solve this thing! 22:53:21 -!- Kevin has joined. 22:53:46 -!- Kevin has changed nick to Guest6589. 22:56:45 -!- Guest6589 has quit (Client Quit). 23:10:11 -!- adu has quit (Quit: adu). 23:12:59 -!- adu has joined. 23:29:06 -!- typeclassy has joined. 23:36:37 -!- augur has quit (Quit: Leaving...). 23:45:58 -!- typeclassy has quit (Ping timeout: 245 seconds). 23:46:38 copumpkin: hi did you ever read that thing