00:00:00 OTOH, you can't spend several minutes screaming in the time it takes your car to hit something 00:00:10 lament: wut? how on earth? 00:00:15 that makes no sense 00:00:21 OTOOH, planes usually crash at times they're supposed to be close to the ground anyway 00:00:24 SimonRC: I'd just pick the least painful 00:00:26 your loss of $1 is entirely risk-free 00:00:37 Sgeo: i see you found the glass link i would have suggested 00:00:43 lament: "If offered either €50 or a 50% chance of €100, a risk averse person will take the €50, a risk seeking person will take the 50% chance of €100, and a risk neutral person would have no preference between the two options." 00:01:38 (assuming that $50 has exactly half the utility of $100?) 00:02:11 SimonRC: actually, risk-averseness is often taken to affect the utility function 00:02:22 if $100 has more than twice the utility of $50, you're risk-loving 00:02:26 if it has less than twice, you're risk-averse 00:02:37 unfortunately, the theory breaks down in that most people don't have a consistent utility function 00:03:15 unfortunately, the theory breaks down in that most people aren't spherical 00:03:21 utility $1 million > utility (1/2) $2 million, for me anyway 00:03:24 haha lament 00:03:25 lament: why does that matter? 00:03:41 Sgeo: you're risk-averse with large amounts of money, nearly everyone is 00:03:48 if people were spherical, there would be a very high risk of them just rolling away 00:03:56 ais523: I think that's mainly because, 00:04:01 we don't really understand amounts that large 00:04:07 ok: step 1, lt us assume a spherical American 00:04:13 ais523, you haven't heard the joke about horses? 00:04:13 if we had $1mil for multiple years and managed the finances 00:04:17 I'm sure that'd change 00:04:19 SimonRC: :DD 00:04:28 ehird: businesses tend to be a lot more risk-neutral than individuals 00:04:31 possibly for that reason 00:04:34 Sgeo: do tell 00:04:54 businesses tend to be a lot more risk-neutral than individuals, because unlike individuals, businesses don't die of old age in a few decades 00:05:02 All I remember is some mathematician trying to predict horse races. "First, let us assume spherical horses: 00:05:03 " 00:05:04 -!- neldoret1 has quit (Client Quit). 00:05:04 businesses only die if they perform badly 00:05:14 people die anyway, and they only have one life to take care of 00:05:21 * oerjan swats lament to increase the risk of such jokes -----### 00:05:25 so natural selection demands that they be risk-averse 00:05:48 * SimonRC wanders just how quickly Microsoft would be locked up if it were a human 00:05:50 lament: not everyone thinks they will die 00:05:53 [see religion] 00:06:00 SimonRC: prison, or mental institution? 00:06:01 I guess that changes their riskness 00:06:06 ais523: both 00:06:14 ehird: the value of money is 0 after you die, though 00:06:21 even if you go to heaven or get reincarnated 00:06:22 but even the devout generally avoid death 00:06:29 lament: maybe your money goes to heaven with you 00:06:33 hah 00:06:36 what's that, scientology? 00:06:40 erm 00:06:51 :D 00:07:02 ais523: is your level any good? 00:07:03 lament: ah, but for an evolved mind under a legal system with inheritance law... 00:07:04 tell me before I play it 00:07:05 -!- neldoreth has joined. 00:07:10 SimonRC: *g* 00:07:16 ehird: it's mostly a speed level, with a bit of intelligence 00:07:24 it fits onto one screen and there's no hidden information 00:07:25 level of what? 00:07:28 SimonRC: Enigma 00:07:35 describe 00:07:45 and I can do it about 1 time in 10, in under 40 seconds 00:07:49 SimonRC: sure, that's valid 00:07:50 SimonRC: it's a puzzle game 00:07:54 you control a marble 00:07:57 -!- neldoreth has quit (Client Quit). 00:08:00 which you can exert force on using your mouse 00:08:08 the simplest levels you just have to move around a maze or whatever 00:08:08 SimonRC: although what evolved mind would count on all their children to remain evolved and rational? 00:08:15 but normally there are lots of other things in the level to make it harder 00:08:34 like boxes to push into water, or other moving things trying to run you down, or puzzles to solve 00:08:36 especially puzzles 00:08:42 is it uncommon not to be able to comprehend caring about things that happen after you stop having experiences? :| 00:09:04 the level of mine I told #esoteric about today contains a flag, an extra life, and six moving arrow things 00:09:07 ais523: a bit chip's challengy then? 00:09:11 together with other things to make them move in a particular pattern 00:09:16 ehird: don't think so 00:09:18 SimonRC: I don't know chip's challenge 00:09:24 ah, a aclassic 00:09:27 lament: good, then I'm normal :P 00:09:27 but Enigma's nice and general, someone even programmed tetris in it 00:09:40 ais523, you made an Enigma level? 00:09:43 with the marble moving onto pressure plates to control the tetris thing 00:09:44 Sgeo: 3. 00:09:44 oh, wait, I think I have heard of this one before 00:09:47 Sgeo: I've made several 00:09:50 -!- swistakm has quit (Connection timed out). 00:09:51 COOL! 00:09:52 3 finished, 3 work-in-progress 00:09:55 and about 2 at the idea stage 00:10:03 which I haven't started coding yet 00:10:06 Also, if I get world record speed, how do I indicate that to the world? 00:10:07 I suck at puzzles though. I seem too details-oriented. 00:10:11 Sgeo: not sure 00:10:20 Sgeo: show enigma devs the recording 00:10:22 (mind you, it was the April 1st level, which I did sometime in March) 00:10:27 Would be the standard practice I assume 00:10:30 SimonRC: details-oriented is how you solve puzzles 00:10:32 -!- neldoreth has joined. 00:10:33 Sgeo: is that even possible? I thought it was only possible on april 1 00:10:35 ehird, you mean it doesn't update some server? 00:10:40 Sgeo: heck no 00:10:43 ais523, I changed the system clock 00:10:44 way more lofi :^) 00:10:45 Sgeo: I got the impression there was a server involved 00:10:46 plus this world has denied me practice at tolerating being completely confounded by some task I want to do 00:10:54 ais523: but it knows the names 00:10:55 there's a ratings update option in the options 00:10:58 but I'm not sure what it does 00:11:03 ehird: ah, ok 00:11:06 maybe you'd have to set it up first 00:11:08 ais523: loads it from their server, I guess 00:11:13 but you have to submit new records yourself 00:11:14 I think 00:11:15 or maybe you should just read the source to find out what happens 00:11:43 ais523: oh jeez this looks hard 00:11:44 ehird: anyway, first see how long it takes you to deduce what to do, then how long it takes you to do it 00:11:48 the second took me longer 00:11:56 (my reaction to the goddamned Basil puzzle was enough the convince me that fictional depictions of people going mad with obsession are at least plausible) 00:12:03 ais523: i got hit and smashed but it isn't restarting 00:12:11 why not? 00:12:15 did you get trapped under the arrow block? 00:12:18 Yes. 00:12:22 That's what i mean by smashed 00:12:29 I mean, you restart where you started 00:12:32 if there's an arrow block there 00:12:35 you respawn underneath it 00:12:36 SimonRC: usually when i can't get a puzzle i blame it's challenge not being purely mathematical. 00:12:36 nope 00:12:37 and so can't move 00:12:39 ah 00:12:41 well that's stupid 00:12:42 Are ais523's levels included with Enigma, or do they need to be downloadd? 00:12:47 Sgeo: downloaded 00:12:47 Sgeo: downloaded, from me 00:13:11 of course i haven't solved rubik's cube yet, and it's just permutations, so that doesn't always work. 00:13:16 ehird: another fun fact: although that level's entirely possible without f3, I find f3 makes it easier 00:13:26 f3? 00:13:30 -!- swistakm_ has changed nick to swistakm. 00:13:31 (i'm relatively sure i could solve it now tho) 00:13:32 kill current ball 00:13:39 (if only i had one) 00:13:41 like shift-f3 but less dramatic 00:13:42 I can't figure out how to not get crushed. 00:13:44 oklowob: the usual rubik's solutions use lots of memorisation, AIUI 00:13:47 ehird: see the flag? 00:13:52 do you know what flags do? 00:13:56 if not, you basically have no chance 00:14:02 it's kind-of fundamental 00:14:03 No idea whatsoeve 00:14:03 r 00:14:11 ehird: the flag marks the respawn point 00:14:15 if you've picked up a flag at least once 00:14:16 aha 00:14:17 then dropped it 00:14:20 you respawn at the flag 00:14:30 oklowob, there are online Rubik's cubes 00:14:34 I may as well tell you that so you have a chance, that's fundamental Enigma though and nothing to do with my programming 00:14:38 ais523: ok, that's really hard 00:14:57 ehird: in what way? 00:15:02 I find the speed aspect's the hardest bit 00:15:07 yes, exactly 00:15:10 oklowob, if you don't mind Java, http://www.javaonthebrain.com/java/rubik/ 00:15:24 and actually, I normally have at least 1 second of buffer in which to do what I want 00:15:32 just I keep bouncing and dropping the flag in the wrong place 00:15:39 ais523: but, I only have one ball 00:15:41 maybe I should use a friendlier floor to make it a bit easy 00:15:43 how do I keep redoing it? 00:15:50 ehird: you start with 2 in inventory, and there's a third on the level 00:16:04 but I'd need to respawn like 5 times... 00:16:11 ah, no you don't 00:16:20 there are six bolders, but you can do it in three respawns 00:16:22 Sgeo: i don't really feel like a puzzle atm 00:16:23 that's the intelligence bit 00:16:25 wat 00:16:48 and i'm busy reading our uni's course listing. 00:16:57 and, you know, dreaming 00:17:04 http://www.javaonthebrain.com/index.html so 1996 00:17:09 -!- M0ny has quit ("Quit"). 00:17:16 "but which will only perform well on computers with lightning-fast Internet connections, tons of memory, 600-MHz processors, " 00:17:33 I just did it again, although 1s off my personal best 00:17:39 so it must be possible 00:18:20 I'm not going to bother 00:18:26 I'm just not good at that sort of stuff 00:18:40 ehird: what sort of enigma level are you good at? 00:18:47 I don't think you've done any of mine yet 00:18:53 Mu. 00:18:56 not the intelligence, not the memory, not the speed 00:19:06 should I make a dex level, or would you fail that too? 00:19:08 But at least the non-speed ones don't break me. :D 00:19:48 I thought the intelligence aspect of that was more interesting than the speed one 00:19:49 * Sgeo starts playing with the OOTS/Erfworld viewer 00:20:00 ais523: if you make a hyper-slow version I'll give it a go :P 00:20:04 if you like, work out, in the abstract, how that level's possible with only the three respawns you're given 00:20:17 and I'm not sure how to slow those things down 00:20:28 maybe by making the level bigger, but then you couldn't see the whole thing at once 00:20:40 (incidentally, with an extra extra life, the level would become almost trivial) 00:21:22 ais523: I keep dropping the flag then walking over it is the problem 00:21:32 ehird: you can hold the mouse button to not pick up an item 00:21:36 ah 00:21:37 another Enigma trick that's nice to know 00:21:58 although starting to hold it drops an item, so you need to be careful with when you start to hold 00:22:25 this level probably scores a 4 for knowledge rather than the usual 3 00:22:26 why can't you just click to drop then continue hold 00:22:28 ing 00:22:30 you can 00:22:32 that's what I normally do 00:22:36 ah 00:23:18 "Last modified Februray 28, 2009. A Soko-Ban clone named ChocoBan. Also available for free for the iPhone and iPod Touch (from the Apple iTunes Store). " 00:23:25 Wow that javaonthebrain.com site is still updated XD 00:25:01 Sgeo: a GITP viewer? 00:25:09 to compensate for slow site? 00:25:13 tinyurl.com/ootsview 00:25:31 ehird, wait what? I didn't notice that 00:25:44 Sgeo: that jar doesn't open on os x. 00:26:06 28/03/2009 23:24:46 [0x0-0xb19b19].com.apple.JarLauncher[22878] java.lang.UnsupportedClassVersionError: Bad version number in .class file 00:26:07 ah 00:26:09 ehird, I know someone got it to work on OS X. The forum's down though 00:26:12 what java version is it for 00:26:20 No clue. 00:34:06 Also, enigma tip: if one doesn't have precise enough mousework for some levels and one is desperate enough to cheat, enable mousekeys. Those can be used for doing perfect main directions and diagonals. 00:38:46 Grr, why is the viewer stuck on 443? 00:40:04 -!- ais523 has quit (Remote closed the connection). 00:41:14 Ilari: Hey, person who never talks. 00:41:54 Ilari: It is kind of predictable that you didn't react to that. 00:42:29 600MHz processors? Case of receding horizons? 00:42:56 Ilari: Are you lagged by several minutes? :D 00:43:07 Nope... 00:43:29 Or depending on workload, can be considerably more than that. :-> 00:43:53 Ilari: wow that smiley is epic, you're finnish right? so that sentence is actually ": [and now I depart]" but it's also a smiley woww 00:44:02 you just expanded the theory of finnish ircing 10x 00:44:08 :\ 00:44:14 oklowob: you should innovate like that more 00:44:37 * SimonRC is familiar with Alfandra smilies too 00:44:38 ehird: Speaking of never talking, I got mooz to get back to IRC, though not as far back as to actually get on this channel. 00:45:01 fizzie: just make a channel relevant to his interests and set it to redirect here. 00:45:06 he'll know what hit him immediately 00:45:27 Bait'n'switch? 00:45:41 More like bait'n'#esoteric. That's catchy that. 00:45:52 e.g. };=8 00:45:59 SimonRC: Let me try! 00:46:17 I have a piece of reverse penis on the top of my head, which has a serrated mouth. I am crying from one eye. 00:46:21 } mouth 00:46:24 ; crying lips 00:46:24 no 00:46:28 =8 severed reverse penis 00:46:32 SimonRC: yes 00:47:00 horns, wink, snout, nostrils, tounge sticking out 00:47:13 I thought all smiley research was banned after =|;{> . 00:47:19 (it is a dragon smiley) 00:47:24 SimonRC: no no it's sad evilmouth penisman 00:47:25 2 2 FlFEPF+LEf-F+EP-F+LE-fL+LENL-LE+lL-l++L-l-P+LENL-PE+lL-p++L-l+++++++P-P-P-P-P-P-P-P-FP+LL-LEEsS+F-P+LEs 00:47:27 i'm pretty sure 00:47:27 Asztal: eh? 00:47:43 ehird: the original author would disagree 00:47:49 Ilari: ?? 00:47:51 Ilari: Fire people flee lentils in penile lipppppppppppppppppppppppppp less FPLEs? 00:48:02 Looks like a geek code esque thing 00:49:49 guys i need ideas :| 00:49:59 Its some sort of program code. 2 2 Means 2 fields, 2 locals... + and - manipulates pointer, don't remember what the rest do... 00:50:20 Ilari: you know la fizzie right 00:50:25 ilari, wtf is that, esocode? 00:50:50 anyway 00:50:52 i need ideas! 00:51:37 Make PSOX perfect 00:52:15 wait - esocode existed, didn't it, or am i vaguely remembering something else... 00:52:42 hm google fail 00:53:10 Grr, why is OOTS Viewer downloading so slowly? 00:55:58 Ah, E is pop 2, skip next (non +-) if not equal, f is pop and write field, F is push field, l is pop and write local, L is push local, p is pop and write parameter, P is push parameter, s is pop object and send rest of stack to it, S is push reference to self, N is create object. 00:59:07 are there methods on objects? 00:59:35 * SimonRC considers functiony objects 00:59:41 SimonRC: Just the message handler method. 01:00:13 SimonRC: functions -ar-- objects 01:00:14 are 01:00:23 in Java I mean 01:00:26 oh 01:00:41 psygnisfive: how about a hat that's also a plate 01:00:47 the sort that have lots of fields that act as ambient vairables inside a huge functiony calcualtion 01:00:53 Ergh... 2 2 doesn't mean 2 parameters, 2 locals, it means 2 parameters 2 fields. 01:01:04 oklowob: but can it be made in a soviet vintage kitsch style? 01:01:44 i'm not sure what kind of style that would be 01:01:50 but yes 01:01:55 And the only usable data type is reference. 01:02:04 it is the functionality that matters 01:05:11 Also, E ignores skipping effect of E. 01:07:16 Or was 2 2 2 fields, 2 locals... 01:07:43 * Slereah read "2 lolcats" 01:08:01 Probably, as that code uses P (Push parameter) after way too many +'s for just 2 parameters... 01:11:40 SimonRC: What I wrote when you said functiony objects: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=3030 01:12:24 no, not what I meant 01:12:37 Perhaps not, but it sparked an idea nontheless. 01:12:43 What did you mean 01:13:03 these are objects that exist merely so their fields can hold objects instead of said objects being passed through 10 levels of static methods 01:13:16 i don't get it 01:13:25 also, that sounds much more boring than my code :-) 01:13:35 i love how gadts give you dependent typing of a sort 01:18:03 gadts? 01:18:19 Generalized abstract data types. 01:18:23 Oh, for some reason, I thought you mean typing like typing on a computer 01:18:27 Sgeo: See 'data CounterMessage r where' @ http://hpaste.org/fastcgi/hpaste.fcgi/view?id=3030#a3030 01:35:56 -!- GreaseMonkey has joined. 02:10:53 * ehird does http://www.youtube.com/watch?gl=GB&hl=en-GB&v=a9xAKttWgP4&fmt=18 in J 02:10:59 r =. (3 3 $ i. 9) e. 1 2 3 4 7 02:11:03 _1 _2 |. 5 7 {. r 02:11:40 R;R;R 02:15:41 -!- calamari_ has joined. 02:15:52 -!- calamari_ has quit (Read error: 104 (Connection reset by peer)). 02:17:08 Unknown host chat.freenode.net 02:17:09 weird 02:18:04 Hmh 02:18:10 It's getting late 02:18:22 Unknown host irc.freenode.net 02:18:25 Unknown host freenode.net 02:18:44 anyone else having this problem? 02:19:00 not I 02:20:37 host gives plenty of hits 02:20:50 oerjan: sorry? 02:20:53 *A's 02:21:03 the unix host command 02:22:20 of course they're probably cached from before 02:23:14 http://private.dnsstuff.com/tools/traversal.ch?domain=irc.freenode.net&type=A 02:24:08 do I need to use an ip address for AndroidIRC? 02:25:43 shouldn't have to 02:25:45 apt-getting host in debian.. this should be interesting :) 02:26:03 sorry.. somehow I got into the wrong channel 02:26:12 ? 02:26:21 I tohught I was in #android 02:26:29 :-D 02:27:10 sometimes I get weird rendering bugs in irssi and people from other channels show up in the one I'm in. 02:28:32 http://s5.tinypic.com/6zaazr.jpg <-- Holy windows 3.11 batman! 02:42:57 ehird 02:42:59 what is it 02:56:17 -!- BeholdMyGlory has quit ("godnatt"). 02:56:42 -!- psygnisfive has quit ("Leaving..."). 02:56:46 ehird, I got Win3.1 working in a VM 02:57:07 Nicht 02:57:10 Eh 02:57:11 g* 02:57:15 Night 02:57:27 -!- FireFly has quit ("Later"). 04:01:20 ehird: that was windows 95 04:01:38 wow... i really fail at watching my timestamps 04:02:26 don't worry about that. i just lost an entire hour... 06:14:28 -!- oerjan has quit ("Good night"). 06:18:59 -!- Dewio has changed nick to Dewi. 06:30:01 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:47 -!- kar8nga has joined. 08:56:04 -!- kar8nga has quit (Remote closed the connection). 09:19:39 -!- Dewio has joined. 09:19:39 -!- Dewi has quit (Read error: 60 (Operation timed out)). 09:32:00 -!- calamari has quit ("Leaving"). 10:05:31 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer"). 10:12:33 -!- BeholdMyGlory has joined. 10:14:51 -!- tombom has joined. 10:20:55 -!- neldoret1 has joined. 10:26:26 -!- neldoreth has quit (Read error: 113 (No route to host)). 10:28:47 -!- kar8nga has joined. 10:45:26 -!- sebbu2 has joined. 10:52:05 -!- neldoreth has joined. 10:56:23 -!- neldoret1 has quit (No route to host). 11:02:53 -!- sebbu has quit (Read error: 110 (Connection timed out)). 11:03:01 -!- neldoret1 has joined. 11:03:06 -!- neldoreth has quit ("leaving"). 11:08:08 -!- kar8nga has quit (Remote closed the connection). 11:22:41 -!- FireFly has joined. 11:29:28 -!- Asztal has quit (Read error: 60 (Operation timed out)). 11:29:31 -!- Asztal has joined. 11:37:25 -!- BeholdMyGlory has quit (Remote closed the connection). 11:39:47 -!- BeholdMyGlory has joined. 12:00:51 -!- olsner has quit ("Leaving"). 12:01:05 -!- olsner has joined. 12:07:44 -!- tombom_ has joined. 12:22:32 -!- tombom has quit (Read error: 101 (Network is unreachable)). 12:22:32 -!- tombom_ has changed nick to tombom. 12:25:03 -!- Mony has joined. 12:33:36 * AnMaster just invented some sort of batch reloading of cmake project variables 12:34:02 since I changed something that affected names of the cached variables in the build system of cfunge 12:47:42 lol was gonna go to teh shoppe, stopped to play for a sec, ended up falling in a piano trance for like an hour 12:48:59 well now shoppe time 12:49:02 -> 13:31:40 -!- neldoret1 has quit (No route to host). 13:36:23 wow 13:36:26 Warning: fopen(http://xml2.lkml.org/thread.php?origin=1068846) [function.fopen]: failed to open stream: HTTP request failed! in /srv/lkml.org/scripts/getmail.php on line 109 13:36:26 13:36:26 Warning: fgets(): supplied argument is not a valid stream resource in /srv/lkml.org/scripts/getmail.php on line 110 13:36:31 on lkml.org 13:36:35 so it runs php heh 13:37:28 fopen to internal server? 13:38:29 think so 13:38:37 *shudder* 13:39:18 xml2.lkml.org gives forbidden, maybe it requires more header or simply has error 13:39:40 horrible that it uses php at all IMO 13:40:00 agreed 13:41:50 I don't see what makes that especially horrible. 13:54:00 ASP would be horrible 13:54:18 PHP is one of the logical ways to go 13:54:47 though for some reason i'd expect some inbred bunch of perl scripts 13:54:59 sorry, s/inbred/in-house/ 13:55:33 Yes, I guess that would be thematically more appropriate. 13:57:50 that kernel-space tiny httpd that was the thing of the day for some 2.4.x or 2.5.x kernels, has it survived? 14:05:12 I don't think it has. 14:05:15 -!- oerjan has joined. 14:05:28 http://www.fenrus.demon.nl/ looks pretty obsoleted. 14:06:47 Don't see any remains of it in this 2.6.28-age kernel source tree either. 14:09:50 ah not even 2.5.x, it was 2.3.x 14:09:54 http://en.wikipedia.org/wiki/TUX_web_server seems to be sort-of-a successor, but even there the download dir doesn't have patches past 2.6.18. 14:11:24 it seems tohave died a year or two ago 14:11:46 nice idea though, a buffer overflow could drop you right into kernel space 14:23:43 -!- tombom has quit ("Peace and Protection 4.22.2"). 14:29:11 -!- kar8nga has joined. 15:35:13 -!- neldoreth has joined. 15:37:40 -!- ais523 has joined. 15:45:02 -!- ais523_ has joined. 15:45:21 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 15:46:12 hi ais523_ 15:46:29 -!- ais523_ has changed nick to ais523. 15:47:14 hi AnMaster 15:47:41 -!- kar8nga has quit (Remote closed the connection). 15:51:31 hm 15:54:39 -!- tombom has joined. 15:57:10 ais523, hm any idea what the lines like ".quad L(Got0), L(P1Q0), L(P2Q0), L(P3Q0)" in http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/libc/sysdeps/x86_64/memset.S?rev=1.2.2.7&content-type=text/plain&cvsroot=glibc are good for? 15:57:46 no, i've never seen that before 15:58:16 ais523, they are put in .rodata, some sort of lookup table I think, but I can't figure out for what memset would need that 15:59:34 jump table, maybe? 15:59:38 they could be using duff's device 15:59:45 hm maybe 16:07:46 It's a pitty the OS doesn't expose some interface to allow marking some pages as write combining in user space apps 16:07:48 A jump table is what it feels like, and there's the PIC/non-PIC versions of it too. At least for the SSE code SSEnQm looks like it the correct location to jump to in order to set m*16+n bytes before RDI, assuming xmm0 and rdx are filled with the byte to use. 16:08:01 s/like it/like/ 16:08:08 fizzie, hm ok 16:08:23 That's a lot of code for a memset, though. 16:09:10 heh 16:14:51 i'm a bit tired of checking mycology result by hand, so made this thing: http://f.imagehost.org/view/0891/97519323 16:15:09 looks good? :p 16:15:15 * ais523 looks 16:15:44 ah, mycology with syntax highlightin 16:15:47 *highlighting 16:15:50 yeah 16:16:07 with awk madness 16:16:54 http://hg.mearie.org/pyfunge/raw-file/9776990e3964/mycology-filter a bit stupid, but it works anyway 16:18:19 lifthrasiir, that has a lot of special cases for pyfunge it seems? 16:19:02 /Cannot test D reliably\. If this line begins with "GOOD: ", it worked\.$/ { BAD(); next } 16:19:04 err what? 16:19:18 you need ^ there.. 16:19:19 ? 16:19:23 nope 16:19:24 no 16:19:32 ah right 16:19:33 if that line begins with GOOD: it should be caught at /^GOOD: / 16:19:35 presumably it tests for GOOD earlier 16:20:24 lifthrasiir, FPSP and FPDP differ here when I compile it using SSE or x87 in the last decimal of some result iirc 16:20:26 just FYI 16:20:37 i tested the filter with pyfunge and cfunge, but i don't think it has a lot of special cases 16:20:58 AnMaster: so it is marked UNSURE, to be tested by hand ;) 16:21:04 they are marked as UNSURE* 16:21:28 mhm 16:22:00 i tweaked the output mostly for splitting UNSURE and UNDEF, what mycology itself doesn't split but comparison page seemingly does 16:22:24 lifthrasiir, for y I think it prints BAD when they aren't good 16:22:28 as you saw before 16:23:05 IIRC it does output BAD: line along with information line... 16:23:13 exactly 16:24:00 -!- ehird has left (?). 16:24:03 lifthrasiir, /^\tThat the year is [12][0-9][0-9][0-9] $/ { UNSURE(); next } <-- not Y3K safe! 16:24:16 or Y10K 16:24:32 AnMaster: so it has to be [1-9][0-9]*? :p 16:24:34 lifthrasiir: You don't think it starting with 1 is BAD? :-P 16:24:34 -!- ehird has joined. 16:24:50 Do you time travel a lot? 16:24:54 Deewiant, TRDS... 16:24:58 :Å 16:25:00 ;P* 16:25:18 Deewiant: if i met the time traveler i can claim mycology-filter is time-travel-safe :p 16:25:21 AnMaster: That's only in a sub-universe with a different date :-P 16:25:30 lifthrasiir, not to BC dates... 16:25:31 lifthrasiir: >_< 16:26:34 err doesn't TIME start from Monday? I thought it did? 16:26:39 maybe I misremember 16:27:35 01:56 FireFly: Night 16:27:35 03:00 GreaseMonkey: ehird: that was windows 95 16:27:40 FUCK daylight savings time. 16:28:06 Heh 16:28:13 ehird, err? Isn't your log in unix timestamp? 16:28:23 well not the client, I mean the log 16:28:29 AnMaster: no/ 16:28:29 ? 16:28:35 why would it be 16:28:35 mhm 16:28:52 ehird, because then you don't have to deal with DST in logs? 16:29:04 AnMaster: unix timestamp repeats itself at the leap second, so it has to be TAI 16:29:13 err of course I want it to show me the local time AnMaster 16:29:15 I just hate dst in general 16:29:16 lifthrasiir, star date! 16:29:20 it's a shitty idea 16:29:26 ehird, agreed 16:29:50 ehird, half of the year unix timestamp would match the local time 16:29:54 static arrays are always initialised to 0 in C, aren't they? 16:30:01 or do they need an explicit ={0}? 16:30:02 ais523: Undefined, no? 16:30:07 ehird: that's for locals 16:30:09 ais523, I think they are 16:30:30 isn't it so for all static variables? 16:31:23 well, I'm getting an obscure bug in the C-INTERCAL profiler 16:31:31 lines that don't run at all are often being shown with large times 16:32:08 ais523, ick has a profiler? 16:32:11 yes 16:32:16 the darcs version is buggy 16:32:21 I've mostly fixed the bug 16:32:21 debugger I knew (yuk) but what is the name of the profiler then? 16:32:24 but it's still manifesting 16:32:27 profiler's also yuk 16:32:29 ah 16:32:32 you access it via ick -p 16:32:36 ais523, tried valgrind? 16:32:39 also, you can run the debugger and profiler simultaneously 16:32:45 AnMaster: no, that would make it even slower 16:32:53 let me find a faster example program 16:32:59 ais523, yes but still helps with finding corruptions 16:35:10 example from C99 of a function prototype: void f(double a[restrict static 3][5]); 16:35:18 * AnMaster tries to figure out what static does in that contexrt 16:35:20 context* 16:35:47 oh: (Note that the last declaration also specifies that the argument corresponding to a in any call to f must be a non-null pointer to the first of at least three arrays of 5 doubles, which the others do not.) 16:35:50 heh 16:36:24 ais523, C99 6.7.8.10 16:36:25 seems relevant 16:36:28 ISO edition 16:36:38 ISO/IEC 9899:TC3 to be exact 16:37:40 ais523, it basically means they should be zero filled 16:37:56 * ehird continues rewriting http://www.youtube.com/watch?gl=GB&hl=en-GB&v=a9xAKttWgP4&fmt=18 in j 16:38:24 AnMaster: ah, ok 16:38:35 I'm suspecting I do have memory corruption; programs that ought to work fine are erroring for unknown reasons 16:38:39 generally array-out-of-bounds 16:39:15 ais523, out of array bounds for static arrays won't be detect by memcheck usually (memcheck being the default valgrind tool) 16:39:27 ooh, interesting 16:39:35 it errors running under the profiler, but not under the debugger 16:39:42 ais523, if you have a new enough valgrind, 3.4.0 at least, try valgrind --tool=exp-ptrcheck 16:39:44 I think it was 16:39:52 I recommend the very last version 16:39:55 exp means experimental 16:40:04 so likely you will get some spurious errors 16:40:14 I have 3.3.1 16:40:18 ais523, way too old 16:40:20 if anyone's watching that apl video i'm currently stuck at translating Φ¨ 16:40:49 ais523, I recommend upgrading anyway, since 3.4.0 and later can show where an unintialised value was allocated and more 16:40:58 AnMaster: I upgrade when my distro does 16:41:45 ais523, -fmudflap (both at object compilation and linking, for all objects and all linking) might be useful 16:41:59 if your gcc supports it 16:42:19 I'll just printf debug 16:42:30 there are only a couple of places where the buffer overflow could be happening, after all 16:42:59 ais523, well I just said there are tools for it. But you need new enough ones 16:43:03 valgrind can still help 16:43:09 valgrind --db-attach=yes 16:43:12 is very useful 16:43:17 dumping you on the exact instruction 16:44:21 I'm not getting any errors from valgrind, though 16:44:32 ais523, does your gcc have mudflap? 16:44:38 I think so# 16:44:50 ais523, it can check static variables too 16:44:54 but for all I know it's a logic error, not an overflow 16:44:58 mhm 16:45:28 ais523, I generally found it less time consuming to run a 30 second valgrind of mudflap run before searching for logic errors in such cases. 16:46:00 AnMaster: what are the options for the mudflap? 16:46:06 -fmudflap on the compiler 16:46:07 itt: using a shitty language slows down development 16:46:15 and -fmudflap -lmudflap for link? 16:46:28 ais523, sec.. 16:46:43 if(USE_MUDFLAP) 16:46:43 set_target_properties(cfunge PROPERTIES LINK_FLAGS "-fmudflap") 16:46:43 target_link_libraries(cfunge mudflap) 16:46:43 endif(USE_MUDFLAP) 16:46:56 you need both -fmudflap and -lmudflap at link time I think 16:47:01 I assume you use gcc to link 16:47:06 if you call ld directly: no clue 16:47:38 -!- Deewiant has quit ("Changing server"). 16:47:39 r =. (3 3 $ i. 9) e. 1 2 3 4 7 16:47:39 R =. _1 _2 |. 5 7 {. r 16:47:48 -!- Deewiant has joined. 16:48:41 * ais523 installs libmudflap 16:48:45 AnMaster: yes, I link via gcc 16:48:51 right 16:49:00 that's why llvm-gcc doesn't work for C-INTERCAL on Ubuntu; Ubuntu llvm-gcc buggily calls the x86 version of connect2 16:49:12 ah 16:49:18 interesting 16:50:01 ais523, it doesn't make much sense to have libmudflap in a separate package from gcc... 16:50:08 err, why not? 16:50:17 many people want to compile C, but don't want to instrument their code 16:50:27 gcc without libmudflap is certainly plausible 16:50:35 ais523, would it make sense to have cpp, collect2, and gcc in separate packages? 16:50:38 that's like saying it doesn't make much sense to have cfunge in a separate package from ick 16:50:45 also let me check space usage.. 16:50:50 AnMaster: actually, cpp and gcc are in separate packages 16:50:54 ... 16:50:56 insane 16:51:01 although gcc's cpp is in the same package as it as well 16:51:10 err even more insane 16:51:15 er no 16:51:16 not insan 16:51:17 e 16:51:31 # du -sh /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libmudflap.so.0.0.0 16:51:32 118K /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libmudflap.so.0.0.0 16:51:37 yeah, saves a lot does it? 16:51:43 size is not the only argument, you moron 16:51:50 otherwise we'd put busybox in every package 16:51:53 because hey, it's small 16:52:07 # du -sh /bin/busybox 16:52:07 1.9M /bin/busybox 16:52:07 is it? 16:52:20 wooosh 16:52:23 ^ point going over your heard 16:52:41 ehird, you might as well use a separate package for every single file :) 16:52:49 no. 16:53:08 You might as well have one package for every single file! 16:53:18 Deewiant++ 16:53:27 Deewiant, didn't I just say that? 16:53:31 no 16:53:36 woosh^2 16:53:38 ... 16:53:44 I did, just different wording.. 16:53:56 oh wait 16:53:56 no 16:54:02 ah that works too Deewiant 16:54:03 :) 16:54:08 about as logical 16:54:17 AnMaster: actually, Deewiant was rebutting your point. 16:54:26 AnMaster: hmm... it seems that libmudflap's a .so not an .a 16:54:28 how do I link it in? 16:54:43 -lmudflap... 16:54:44 ? 16:54:45 ais523, -lmudflap -fmudflap 16:54:47 ... 16:54:50 -lmudflap doesn't work 16:54:57 I just get a can't-find-mudflap error from configure 16:54:59 ais523: If this is a debiany system, you probably want to install libmudflap0-4.4-dev or something if you want to link it. 16:54:59 ais523, that's weird. It is what I use 16:55:00 yet the .so files are there 16:55:05 fizzie: I did just install that 16:55:13 "This package contains the headers and the static libraries." 16:55:16 * kerlo notes that ais523 pronounces .so like the word "so" 16:55:35 kerlo, how do you know how? 16:55:42 kerlo: no, I pronounce it dot-s-o 16:55:49 and dot starts with a consonant 16:55:57 so does so 16:56:05 ais523: so "an .a" was a typo? 16:56:05 AnMaster: presumably kerlo leaves out the . in .so, and s-o starts with a vowel 16:56:14 kerlo: ah, that's interesting 16:56:23 I don't know why I wrote "an .a" 16:56:24 ais523, I think there was some issue with how configure treated LDFLAGS and LIBS separately 16:56:26 ais523: Well, around here the -dev package has all those .a files. And .so is in the libmudflap0 package. 16:56:30 sometimes not using LIBS as well 16:56:37 I think I ended up with -lmudflap in both 16:56:41 to make it work with automess 16:56:48 and -fmudflap in LDFLAGS 16:57:04 -!- BeholdMyGlory has quit (Remote closed the connection). 16:57:10 pointer warping is awesome 16:57:18 hmm... maybe I installed the wrong version 16:57:26 ehird, what systems do that? 16:57:26 * ais523 installs libmudflap0-4.3-dev 16:57:33 I just had libmudflap0-dev before 16:57:39 AnMaster: er, I mean the moving of a pointer to another place by a program 16:57:43 ais523, I would suggest same version as your GCC version 16:57:46 old X programs do it, but kind of shittily 16:57:50 plan 9's acme does it beautifully 16:57:51 ais523: The gcc package you are using has a "Suggests" dependency on the libmudflap it likes to use, I think. 16:58:11 ehird, "moving of a pointer to another place by a program" <-- jmp? call? 16:58:16 ... 16:58:17 ah yes, there are the .a files 16:58:18 the mouse 16:58:20 pointer 16:58:21 r 16:58:22 ehird, oh... 16:58:23 right 16:58:34 pointer == instruction pointer, data pointer, and so on 16:58:35 to me 16:58:36 $ CFLAGS=-fmudflap LDFLAGS=-lmudflap ../configure 16:58:38 seems to be working 16:58:53 ais523, you need -fmudflap at link time to gcc too iirc 16:58:58 some startup files differ iirc 16:59:16 yes, you do 16:59:41 CFLAGS seems to affect the link sometimes 16:59:41 ais523, also you will need it when linking the ick program you are debugging I suspect 16:59:43 but not other times 16:59:46 that may be a build system bug 17:00:21 ais523, yeah when I did mudflap on ick last time I ended up with something like: CFLAGS=-fmudflap LDFLAGS='-fmudflap -lmudflap' LIBS='-lmudflap' iirc 17:00:29 to get it working 17:00:51 ais523, oh also when ick compiles the object file 17:00:55 wow, found the build system bug 17:00:58 oh? 17:00:58 that was nice and useful 17:01:07 details? 17:01:08 missing LDFLAGS on the build of host system 17:01:14 things like bin2c 17:01:18 ah 17:01:19 which are to be not cross-compiled 17:01:20 ever 17:01:21 that would break things 17:01:24 forget LDFLAGAS 17:01:26 *LDFLAGS 17:01:34 FLAGAS :D 17:02:34 http://www.cnprog.com/ <-- It's exactly like stack overflow, but you get to read the retardedness in Chinese instead. 17:02:42 Gee. 17:03:19 almost same design even... 17:03:40 Not almost. 17:03:42 Exactly. 17:04:00 ehird, the yellow box is dashed around the edges on cnprog but not on the stackoverflow one 17:04:01 it seems 17:04:08 other than that exactly yes 17:04:11 The yellow box is just an infobox on the homepage. 17:04:18 Not part of the design per se. 17:04:49 ehird, the colors differ slightly too on the infobox 17:04:53 w/ 17:04:53 w/e 17:05:00 and why is it not part of the design per se? 17:14:16 AnMaster: are valgrind and mudflap compatible? 17:14:20 -!- Hiato has joined. 17:15:07 ais523, iirc yes 17:15:18 ais523, however see MUDFLAP_OPTIONS too 17:15:37 MUDFLAP_OPTIONS=help build_mud/cfunge 17:15:43 to see what options exist 17:15:52 you probably need to turn on some 17:16:00 I'm getting both valgrind and mudflap errors, but only when I use both at once 17:16:11 strange 17:16:13 in what code? 17:16:25 oo err, my directory hierarchy is breaking down 17:16:32 ehird, err? 17:16:32 where do I put code I want to work on that isn't mine... 17:16:46 ehird, src/external? 17:16:52 sure 17:16:53 or something like that 17:16:57 ~/Code/others/ 17:17:02 well that would work too 17:17:16 ~/Code/morons/ 17:17:18 ~/Code/less_important_people_than_I/ 17:17:25 Ah, oerjan is the faster. 17:17:29 :D 17:17:36 hm... 17:17:37 ~sartre/Code/hell/ 17:17:46 ooh 17:17:59 ... 17:18:01 hell is a really good name 17:18:03 I'm using that 17:18:04 ehird: I have a ~/research directory 17:18:11 which is for everything I haven't written 17:18:15 unless it fits under ~/esoteric 17:18:15 ais523: ~/Downloads is for using 17:18:16 not working on 17:19:24 hm 17:19:42 I just keep a lot of stuff in ~, and when it gets cluttered, I move just about everything under subdirectory "_" and tell myself "I'll sort through those some day". Can't really advocate this system, though, it leads to paths like _/_/_old/unsorted/_. 17:20:01 ok, there are no mudflap errors 17:20:03 in that run 17:20:07 with mudflap options set 17:20:13 yet it still isn't working, for unknown reasons 17:20:15 I suspect a logic bug 17:20:16 both AMD and Intel docs contradict each other internally (as in different places in intel docs contradict other parts of intel docs and vice verse) about if SFENCE is needed after streaming store by MOVNTPS 17:20:47 well, probably best to add it just to be sure 17:20:55 some places say yes, other say that (quoting AMD): "A subsequent non-write-combining operation has a write address that matches the WC-buffer active-address range [forces storing]." 17:21:36 ais523, yeah I guess so 17:24:25 AnMaster: http://pastebin.ca/1375843 17:24:28 that's the problem I have at the moment 17:24:36 no overflows (both printf and mudflap agree) 17:24:53 yet many of the profiler times are impossibly large 17:24:54 ais523, where is Time581520223.913506800 from? 17:25:01 oh, that's because the program exited 17:25:14 ?? 17:25:17 so it counts the remaining time to the epoch, AFAICT 17:25:23 not ideal, but not the main problem 17:25:23 err what 17:25:33 C1: Time581520223.913506800, Avg581520223.913506800, Avg Exec581520223.913506800, Exec 1, Abs 0 17:25:36 clearly that is wrong yes 17:25:42 it's the C1: Time 4.294967297 that's more clearly wrong 17:25:46 lasting longer than the program as a whole took 17:25:54 with a very suspcious number of seconds given 17:25:58 ais523, around 4 seconds? 17:26:05 look at the output from time above 17:26:11 ah yes 17:26:19 also, 4294967296 = 2^32 17:26:35 ais523, sure the scale is correct btw? 17:26:38 yes 17:26:43 it wasn't before, but I fixed that bug this morning 17:26:55 ais523, mixing up nanoseconds and microseconds happened a few times to me 17:27:01 giving weird results 17:27:14 ais523, hm ok 17:27:58 ais523, so I wonder what caused it... 17:28:10 ais523, well the fact that it is 2^32 should provide a hint... 17:28:14 well 17:28:21 2^32-1 + a dot added 17:28:28 ais523, floating point anywhere? 17:28:31 no 17:28:34 mhm 17:28:37 but it's fixed-point 17:28:50 so that number's 0x0000000100000001 17:28:59 looks to me like it's got muddled up with an int array 17:28:59 ais523, where is it stored in memory? use gdb and put a watchpoint on that memory point 17:29:05 might help 17:29:10 except that mudflap wasn't complaining 17:29:35 ais523, be aware of that watch points normally triggers a few instructions after they actually happened on some CPUs 17:29:43 I guess it is due to out of order execution 17:29:47 (or something) 17:32:04 argh, Intel docs give weaker guarantees than the AMD64 Architecture docs mandate for all processors implementing x86_64... 17:32:07 *sigh* 17:32:31 that just doesn't make any sense 17:32:35 What guarantees? 17:33:11 Deewiant, about write combining with MOVNTPS on memory mapped as writeback 17:33:22 can you copy-on-write a file? 17:33:28 Write combining? What guarantees does that have? :-P 17:34:26 Deewiant, it should work says AMD docs, they even recommend it and say that any data in cache will be evicted. Intel docs says the effect is not well defined if the data is in cache. 17:34:33 it seems 17:43:10 Deewiant, http://rafb.net/p/bhbuBo71.html 17:43:26 apart from that AMD contradict itself there Intel also contradict AMD and vice verse 17:43:43 so, is a SFENCE enough? Is it needed at all? 17:43:55 So it's possible that the two processors behave differently, is it not? 17:44:13 s/proc/types of proc/ 17:44:23 Deewiant, point is this is in the x86_64 definition, thus they should implement it the same 17:44:47 I mean, both claim to implement x86 and x86_64 + SSE and SSE2 and such 17:46:24 Deewiant, AMD even *recommends* MOVENTPS it for non-write-combined regions. 17:46:40 to be specific, writeback ones 17:47:21 brb 17:48:31 Shrug, I don't know, I don't mess with write-combining 17:55:13 Bacon is impossible 17:55:49 but crunchy 17:56:06 impossibunchy 17:56:29 r =. (3 3 $ i. 9) e. 1 2 3 4 7 17:56:29 R =. _1 _2 |. 5 7 {. r 18:00:20 http://uroclub.com/ WJW 18:03:13 ehird, insane... 18:03:40 ais523, found anything about that odd number? 18:04:00 no 18:04:10 ais523, did you try the watch point thingy I suggested? 18:04:43 no, I didn't 18:04:48 ais523, it might be worth it 18:04:50 it's kind-of hard to get gdb invovled 18:04:54 ais523, oh? 18:04:58 because the file's running from a system() call 18:05:24 ais523, just add gdb --args in that system call, recompile and run? 18:05:38 well, I don't like messing with the thing I'm trying to debug 18:05:46 anyway, going to get dinner now probably, I'll be back in a bit 18:05:52 ok 18:06:06 -!- ais523 has quit (Remote closed the connection). 18:20:37 Yey, base64 in JS, 350 chars 18:20:52 Er, isn't it built in 18:20:57 Is it? 18:20:59 Not afaik 18:21:38 ok 18:24:02 http://www.stopabductions.com/ 18:27:29 ehird, joke or madman? 18:27:33 Latter. 18:27:36 ah 18:27:54 ehird, did it contain tinfoil? I just didn't manage to read on 18:28:06 AnMaster: I'm not sure exactly what it contains 18:28:10 ah 18:28:43 -!- oerjan has quit ("Insert alien abduction joke here"). 18:29:02 * ehird downloads ubuntu 9.04 beta for 64 bit to try in qemu 18:29:23 ehird, didn't you use parallels or something? 18:29:27 yes 18:29:32 it's not much good for non-windows stuff 18:29:36 I see 18:29:40 also, tired of remaking the free trial all the time 18:33:06 AnMaster: Not tinfoil, velostat (a 3M trademark). It's this conductive plastic-like material used to avoid problems with static electricity. "Examples of these applications include electrically conductive bags of protective sleeves for static-sensitive components, grounding mats or as interleavers between rolls of Smartcard (chipcard) modules" 18:34:42 3M specifications don't mention shielding from alien thought-control, but... 18:36:30 wow, I just explained time cube. 18:38:55 Didn't you use virtualbox, too? At least I think I saw a screenshot. 18:39:24 fizzie: a `du -chs ~/_` please? :) 18:39:30 fizzie: plan 9 doesn't work on it 18:40:17 hell that's some synchronicity, i only just finished getting the plan9 iso 18:40:38 and, well, was thinking of virtualbox too 18:40:51 andreou: Actually in this current system the "first-level" _ is actually ~/data/colin_backups. This is all stuff-to-be-sorted-through, though: 15G /home/fis/data/colin_backups/ 18:41:22 yea the usual 'unsorted' plague: "i'll just get around to it, maybe tomorrow" 18:41:50 ah Unsorted and Temp now totalling 17G 18:41:52 I do have a lot of abandoned coding projects in ~/src/archived_prog/_/archive/, too. 18:42:04 fizzie: this sort of used to be my system 18:42:06 but it was a pain 18:42:18 3200 files 18:43:09 fizzie, oh those grey-metallish bags? 18:43:17 for electrical components and such 18:43:40 AnMaster: I don't think it's exactly that, since this looks like black plastic garbage bag. But something like that, certainly. 18:43:48 ah 18:43:56 "find ~/src/archived_prog/ -type f | wc -l" reports 13390, heh. 18:44:02 fizzie, I never seen them as black though 18:44:35 "These bags are usually plastic and have a distinctive color (silvery for metalized PET film and other similar plastics, pink or black for polyethylene)." 18:45:26 fizzie: got a long way to go, sorting themout 18:46:13 Yes, well, I'm hoping I can just keep on pushing them into deeper and deeper directory hierarchies, and then maybe the farthest branches will fall off naturally. 18:46:33 there's this UNIX autosort thingie you might want to consider 18:47:13 What's it do? 18:47:31 ah crap the whole of .gr computer eshops, and not one 'happy hacking' keyboard... i hate going for MS kbds again 18:47:44 fizzie: puts them out of their misery: rm -rf 18:47:53 you run out of excuses, however, with bigger disks 18:48:06 "But what if there's something terribly important in there!" 18:48:26 yea that's the big problem 18:48:33 of all the GBs i've deleted 18:48:39 only once this came out to be true 18:48:59 and it was the one thing i couldn't find (or even remember exactly) again 18:49:17 18:46 fizzie: Yes, well, I'm hoping I can just keep on pushing them into deeper and deeper directory hierarchies, and then maybe the farthest branches will fall off naturally. 18:49:19 <3 18:49:24 also I once rm -rf ~/Code 18:49:30 since all in there was shit abandoned useless crap 18:50:15 ah god, the HH kbds are upwards of 150 pounds 18:51:24 I think my oldest programming-related stuff has in fact already fallen off the disk, in fact. ~/data/colin_backups/oldhome_old3.tar.gz!old3/ seems to be the oldest I can find, and those are timestamped 1999. 18:51:52 how old are you fizzie? 18:52:09 "not that old" ;p 18:52:16 :-D 18:52:22 I was 16 in 1999, I think. 18:52:24 hey andreou, i recognize your name 18:52:34 weren't you here in like 2003 18:52:43 ehird: yes, before the crisis 18:52:50 lol wu 18:52:50 t 18:53:11 well you know, the usual: "fuck this computers stuff, i ain't touching these damned things again" 18:53:23 then again, reality has a unique way of going round in circles 18:53:23 :-D 18:53:43 I think if I stopped using a computer it'd be akin to what a drug addict experience 18:53:43 s 18:54:46 actually it is 18:55:06 it's strange, sitting at the desk with a book, and _not_ having a monitor in front 18:55:12 I've probably got more identity on here than in my actual brain :-) 18:55:21 the computer you mean? 18:55:23 or the cloud 18:55:29 both 18:55:33 although cloud is a stupid term 18:55:48 it's quite true 18:56:00 it does look like a cloud 18:56:05 -!- BeholdMyGlory has joined. 18:56:09 btw, stupid question 18:56:12 -!- Hiato has quit ("Leaving."). 18:56:31 why does ls colors some folders with a green background? 18:56:43 erm 18:56:46 one of the permission bits 18:56:54 sure, but which one 18:56:54 I think it does world-writable or something with that. 18:57:05 Something it thinks is very important, anyway. 18:57:28 yea that was it, o-rwx offed the colours 18:58:05 OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky 19:27:48 19:26 vixey: I don't understand this entroy stuff 19:27:48 19:26 vixey: is it real? 19:27:49 19:26 vixey: entropy 19:27:51 19:27 vixey: entropy is obviously false by evolution 19:27:53 —#haskell 19:29:49 19:28 vixey: Baughn: can you really put a measure of entropy on the universe at every moment 19:29:49 19:28 vixey: Baughn: and someone proved this is always decreasing 19:29:50 fail 19:33:09 Ubuntu startup is slooooooooow 19:38:42 19:37 vixey: I don't believe that entropy always increases, you can't prove this until you fully understand the brain 19:39:47 default ubuntu 9.10 text rendering=fugly 19:46:11 it's not that slow 19:46:17 depends on what you load of course 19:46:33 andreou: in a vm on a live cd its slow :) 19:46:39 and with the beta 9.10 19:46:42 from cd or from iso image? 19:46:46 iso 19:46:52 that should be fast 19:46:54 vm is skimpy: just 256mb/ram 19:47:09 ah may be that 19:48:14 andreou: I had it as 512mb 19:48:17 and it was hideosly slow 19:48:22 so i'm trying with less to see if it'll make the vm go faste 19:48:23 r 19:49:35 no luck with plan9? 19:49:46 and virtualbox 19:50:15 plan9 +virtualbox failed, plan 9+qemu works like a charm 19:50:21 qemu? 19:50:25 yes 19:50:25 qemu 19:50:47 hm... 0-0xffffffffffffff80 == ? (assuming wraparound is defined for signed 64 bit integer) 19:50:47 I'll try ubuntu+virtualbox if this is ridiculously slow too 19:50:55 ah and it has multiple targets 19:51:28 * AnMaster tries to work out what sub $0xffffffffffffff80,%rax is, gcc using it instead of add in a for loop going upwards... 19:51:54 does qemu come with a nice gui? 19:52:19 andreou: not come, no 19:52:21 what os/ 19:52:24 on os x I use "Q" 19:52:32 http://www.kju-app.org/ 19:52:48 -!- Sgeo has joined. 19:54:02 ehird, any idea? 19:54:06 I think it adds 128 19:54:08 andreou: why not try it 19:54:11 but I'm not sure 19:54:11 AnMaster: 19:54:29 yes? 19:54:32 irb(main):002:0> (0-0xffffffffffffff80) % 0xffffffffffffffff 19:54:34 => 127 19:54:37 i said why not try it 19:54:55 andreou: why not try it <-- that? 19:55:00 wrong nick in that case :) 19:55:01 yes 19:55:03 then I corrected 19:55:04 No, that other part where he said 'why not try it' 19:55:04 with AnMaster: 19:55:06 aha 19:55:33 ehird, 127 doesn't make any sense. The program would have crashed if it did that 19:55:45 Well, that's what you get. 19:55:53 what is irb btw? 19:55:59 Interactive RuBy 19:56:00 AnMaster: You can compile the program and output what happens, can't you? 19:56:09 Deewiant, yes I'm debugging it in gdb... 19:56:25 So why do you ask what it does if you can just observe the successive values? 19:56:27 ehird, then ruby is wrong. It adds 128.. 19:56:37 wait 19:56:39 you want to modulo that+1 19:56:40 duh 19:56:47 right 19:56:48 irb(main):002:0> (0-0xffffffffffffff80) % (0xffffffffffffffff+1) 19:56:48 => 128 19:57:50 http://www.macruby.org/blog/2009/03/28/experimental-branch.html MacRuby to use llvm 19:57:51 hot 19:58:51 hey, virtualbox is running ubuntu nicely 19:59:02 so far 19:59:42 Text rendering still fugly 20:00:19 http://imgur.com/BTLUV.png <-- ugly text rendering, 8.10 looked nicer 20:00:22 this looks like windows 20:00:46 Looks pretty to me 20:00:55 But then I'm not a Mac user :-P 20:01:14 Deewiant: you can see the subpixels 20:01:25 Not really I can't 20:01:42 I have an attentive eye :) 20:01:49 Like said, I'm not a Mac user 20:01:51 I never enable subpixel rendering for a reason. I prefer clean sharp fonts. 20:02:26 (still slightly anti-aliased, and partly hinted) 20:02:30 Clear sharp fonts are possible on subpixel 20:02:36 It just needs to be really good subpixel, and a high dpi display 20:02:45 I don't even know what my settings are 20:02:51 I don't care much :-P 20:02:57 ehird, my display isn't very high DPI though 20:03:02 AnMaster: right. 20:03:11 Deewiant: Never look into typography. It ruins your life. 20:03:29 Quick question: Should I use Gnumeric, or OpenOffice.org Calc? 20:03:33 I've looked into it somewhat 20:03:36 Sgeo, kcalc? 20:03:40 Sgeo: For what? 20:03:44 AnMaster: kcalc is nothing like those ones 20:03:49 those are spreadsheet thingies 20:04:01 ehird, ah I meant kspread 20:04:03 from koffice 20:04:07 mixed up the name 20:04:09 Does kspread work on Windows? 20:04:10 koffice is hilariously bad :-) 20:04:20 ehird, I know. It just wasn't in that list 20:04:27 ehird, howso? 20:04:31 anyway: no idea. I don't use any of them really 20:04:33 Sgeo: Carries all the mistakes of microsoft office into the new frontier of bad open soucre 20:04:38 Terrible UI, terrible working model 20:08:52 My first impressions of this are that it's worse than 8.10 but still ok 20:09:29 -!- kar8nga has joined. 20:09:34 ehird, I would suggest some other distro than ubuntu probably if you want something working well... 20:09:50 "Ubuntu doesn't work well"? what planet are you on, they must have awesome drugs 20:10:02 ehird, " My first impressions of this are that it's worse than 8.10 but still ok" 20:10:11 what 20:10:12 ehird, so you want something better? 20:10:20 no 20:10:24 oh ok then 20:10:24 i just said 8.10 is better 20:10:27 it sounded like you did 20:10:28 stop reading shit into my words 20:11:10 "You entered a password that consists of less than eight characters, which is considered too weak. You should choose a stronger password." 20:11:18 i have a huge urge to show the installer the time it'd take to bruteforce my pw 20:11:21 Does it accept 12345678? 20:11:25 probably 20:11:39 Deewiant, hopefully not 20:11:42 but it might 20:12:10 it would 20:12:12 it's just a shitty check 20:12:13 it depends on the settings for cracklib somewhere in /etc/pam.d I think 20:12:24 ehird, huh? Not using cracklib? 20:12:29 Why would it 20:12:35 It looks just like len(pwd)<8 20:12:38 ehird, because that is what "passwd" does 20:12:43 ehird, non-ASCII characters? 20:12:44 This is the graphical installer. 20:13:04 ehird, wouldn't it use the same API? It seems logical since it needs to deal with shadow and so on 20:13:15 Maybe 20:13:31 for my system it says: 20:13:32 password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 20:13:32 password required pam_unix.so try_first_pass use_authtok nullok sha512 shadow 20:13:40 so it isn't even using md5 20:13:56 that is defaults on gentoo 20:21:43 -!- [Vox] has joined. 20:21:52 -!- [Vox] has left (?). 20:22:16 hi 20:22:16 bye 20:24:15 heh 20:25:26 AnMaster: debian's massive advantage is apt; ubuntu's is the smooth desktop 20:25:38 I think that puts it pretty high as far as linux distros go 20:25:43 mh 20:25:55 apt's interface is klunky but it certainly lives up to its name (Advanced...) 20:25:58 ehird, I don't like apt or aptitude myself. 20:26:05 I don't like apt-get 20:26:08 yeah klunky definitely 20:26:12 But the actual package manager is advanced 20:26:22 and can handle most situations 20:26:41 ehird, I had it fail in interesting ways when trying to upgrade debian 4 to 5 20:26:54 Debian 4... 5... wasn't that like 1997? 20:27:58 well apt's better than yum, that's for sure 20:28:05 btw anyone on debian here? 20:28:28 If Ubuntu counts, my VM is. 20:28:48 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 20:29:05 nah i just wanna see if debian has autoremove in its apt-get 20:29:15 ubuntu's does, I think debian's does 20:29:17 also oh god yum oh god rpm 20:29:18 >_< 20:29:24 -!- bsmntbombdood has joined. 20:29:39 i'm used to it due to ubuntu, and i sat on a bit older debian and it wasn't there. i was thinking that it may be an ubuntu innovation 20:30:00 I think it's just a recent thing 20:30:06 Ubuntu may have first made it 20:30:15 It wasn't there in '06, I know that much 20:36:11 hmm... 20:38:25 ehird, bah, today's rpm is NOTHING compared to rpm back on Red Hat 5.0 20:38:31 ever used that? 20:38:34 nope 20:38:40 ehird, too young I guess :D 20:38:49 when was redhat5? 1998? 20:39:08 ehird, I used it for about a month or two before red hat 6.0 was released iirc 20:39:17 first linux distro I tried 20:39:24 ehird, must have been around 2000 I think 20:39:36 or maybe 1999 or so 20:39:41 anyway something like that 20:39:46 Even performing the simplest interactions needed to interface with society and maintain oneself presents an AI challenge beyond anything in the rigidly-defined world of finding proofs within logical systems. 20:39:50 Well, I was 5. You can hardly expect me to be using rpm then 20:39:57 SimonRC: Uh. Hi. 20:40:02 or, to misquote Barbie: "Shopping is hard, let's do math!" 20:40:10 groan. 20:40:15 grin 20:41:59 ooh, yay, Chromium builds for os x 20:42:03 http://www.bluestatic.org/chromium/ 20:42:47 Seems to work. 20:43:09 Albeit buggy. 20:44:34 Nah, this won't cause any trouble at all will it? --> http://en.wikipedia.org/wiki/File:Oreo_Fun_Barbie.jpg 20:54:25 Chromium? The icon on that page makes me thing it's Google Chrome for OS X, but is that it? 20:55:03 Sgeo: Chromium is the development Chrome. 20:55:13 Google Chrome = branded Chromium 20:55:40 Ah 20:56:23 -!- kar8nga has quit (Connection timed out). 20:57:18 Iron is Crome that doesn't phone home, apparently 20:58:43 phoning home = checking for updates 20:58:45 zomg!!11 20:58:45 1 20:59:26 yeah 20:59:44 if it were that bad, would they have released it? 21:02:24 -!- BeholdMyGlory has changed nick to FireFly|. 21:02:26 SimonRC: ? 21:02:55 -!- FireFly| has changed nick to FireFly-. 21:03:22 -!- fizzie has quit (calvino.freenode.net irc.freenode.net). 21:03:22 -!- fungot has quit (calvino.freenode.net irc.freenode.net). 21:04:01 -!- FireFly- has changed nick to BeholdMyGlory. 21:10:11 http://www.reddit.com/r/programming/comments/88dc3/linux_is_my_home/c08jaj8 21:13:42 -!- fizzie has joined. 21:15:52 -!- KingOfKarlsruhe has joined. 21:15:57 ehird: a bit redundant; many of those things are part of "GNU" 21:16:03 :-) 21:16:13 but lol anyway 21:16:13 -!- kar8nga has joined. 21:16:50 Grr, I hate systems that lag. Including <1s lag 21:19:15 so 1ms lag is too much? 21:19:25 What about 1ps lag? 21:19:46 SimonRC: 1ms is not lag :-P 21:19:57 How do you define lag? 21:20:00 Lag. 21:20:06 0.1s is when it starts to be annoying for m 21:20:06 e 21:20:08 Slereah: nah, in that case, just sit 0.3mm closer to the screen 21:20:11 So by recursion? 21:20:13 0.5 makes me kill people 21:20:21 yeah 21:20:26 1s i throw myself out of the window 21:20:35 2s i do it twice 21:20:35 lag is bad, but jitter is worse 21:20:53 err 21:21:05 oh not lag on irc 21:21:07 right 21:21:10 especially when most things have a lag of milliseconds, but there are random 3s delays 21:21:38 you end up pressing things twice because you think they didn;t work the first time 21:22:12 um 21:22:23 that only happens to me when I hear the disk swap trashing 21:22:26 which is very seldom 21:22:37 but since my disk is loud I can hear that happening quite well 21:22:43 SimonRC, I never get lag otherwise 21:23:13 maybe because I have enabled the option for preemptible kernel in the kernel config 21:23:41 it certainly does make the system more responsive 21:24:27 maybe because your system is stripped down enough to be useless. 21:24:31 (but useless fast) 21:25:31 ehird, err, I run KDE. That is hardly "stripped down" 21:25:53 ehird, also firefox is running atm. So is konq 21:26:03 i've seen your "KDE retro 2" 21:27:45 yes and? 21:27:53 it is still KDE 3.5 under the hood 21:28:12 ehird, also very little lag when I compile 21:28:21 lol 3.5 21:30:05 really I know from experience that enabling CONFIG_PREEMPT_VOLUNTARY=y and using CONFIG_HZ=1000 help a lot with responsiveness. Also dynticks help 21:30:24 wait, you task-switch 1000 times per second? 21:30:54 ehird, are you playing a game? What game? 21:30:57 SimonRC, ... 21:31:06 Sgeo: what 21:31:24 What lag are you referring to? 21:31:28 UI lag 21:31:34 Oh 21:32:00 SimonRC, it makes a difference for real time audio processing, like MIDI recording. 21:32:04 which I'm doing 21:32:07 ah, ok 21:32:10 of course# 21:32:25 how do I find out what mine is set to I wonder 21:32:54 SimonRC, also it isn't task switches iirc. it is timer interrupts 21:33:08 hmm 21:33:14 wow, ubuntu's font rendering is nice nowadays 21:33:26 SimonRC, but using dynticks actually make it do around 20-30 interrupts when system is idle according to powertop 21:33:36 subpixel rendering + full hinting = crisp, smooth fonts without any hinting issues 21:33:53 SimonRC, more if X is started because nvidia driver sucks 21:34:24 -!- kar8nga has quit (Read error: 60 (Operation timed out)). 21:34:26 (I do a lot of 3D stuff too yes, just not my desktop...) 21:34:53 ok, i need drivers for virtualbox's shit video ttuff now 21:35:31 They really ought to do something to that subpixel rendering pixel order nastiness; it seems it's still a no-go if you have one TFT in the normal orientation, and one rotated 90 degrees (so it's the vrgb pixel order) since GTK doesn't do per-screen settings for that stuff, even though xft maybe does perhaps I guess. 21:35:34 SimonRC, indeed it doesn't translate directly to task switching 21:35:38 SimonRC, I just checked 21:35:47 http://kerneltrap.org/node/464 21:36:05 The nice thing is that even really small text doesn't have letters spaced out and colliding into some others 21:36:08 like I experienced 21:36:10 That was _really_ ugly 21:36:32 ehird, ah yes that would be ugly indeed 21:36:54 But it seems fine now 21:37:00 fizzie, hm I never use subpixel anyway 21:37:07 (as I mentioned before) 21:37:11 Ah, maybe they put in the apple patented stuff into 9.10 21:37:25 ehird, didn't they in the old one you said? 21:37:29 shrug 21:39:19 -!- Judofyr has joined. 21:42:10 according to that, according to vmstat, I get slightly over 1000 interrupts during a typical second 21:45:19 woot, virtualbox drivers worked 21:46:03 err how do you break before main in gdb 21:46:12 as in I want to break on the very first instruction 21:46:22 AnMaster: 'start' without 'cont', silly. 21:47:00 ehird, I only ever used "run"... 21:47:20 Then you're silly. 21:47:31 ehird, also it seems to break at main() too 21:47:47 Yes, the documentation for start says: "Run the debugged program until the beginning of the main procedure." 21:47:56 indeed 21:47:59 so it doesn't help anyway 21:48:05 ehird, please some useful suggestion now 21:48:24 I don't think you can. 21:48:40 .. 21:48:52 AnMaster: just 'step' without 'start'? 21:48:59 The program is not being run. 21:49:00 :P 21:49:05 is what gdb says 21:49:19 You can break at __libc_start_main, which is not really the first instruction ever, but at least it's pre-main. 21:49:45 fizzie, I'm interested in first instruction ever, but at least __libc_start_main is better than nothing 21:50:01 fizzie, didn't work 21:50:07 didn't break at all in fact 21:50:09 there isn't a run that takes an instruction count, is there? 21:50:23 break at the actual entry point then? _start or whatever the name 21:50:34 olsner, what is the entry point? 21:50:35 AnMaster: Strange, since it does break here. 21:50:40 Error in re-setting breakpoint 1: Junk at end of arguments. 21:50:58 huh it works after restarting gdb 21:51:23 fizzie, still not the first one :/ 21:51:32 Entry point is whatever the ELF e_entry says. I thought it was _start usually, but that did not seem to be the case. 21:51:59 You could break at the entry point address; readelf -a foo | grep -i entry gives you that. Probably objdump too. 21:52:11 0x403ad0 21:52:24 err 21:52:26 Just break *0x403ad0, then. 21:52:28 didn't work either 21:52:39 oh wait 21:52:40 the * 21:52:42 missed that 21:52:48 ah yes that works 21:52:48 Yes, it's an address, not a function. 21:52:52 Breakpoint 1, 0x0000000000403ad0 in _start () 21:53:15 Seems like it's in _start. I tried to "break _start", but *that* didn't work; maybe strip strips out that symbol. 21:53:38 fizzie, if that happened why would it show _start there? 21:53:47 I doubt your binary is stripped? 21:53:50 I should write a decent WM in this VM 21:53:51 The one I tried it on was. 21:53:52 ah yes break _start works 21:53:56 fizzie, no -g either though 21:54:18 Yes, I just happened across an actually strip-stripped binary. 21:54:22 ehird, install plan9port! 21:54:26 ;P 21:54:34 AnMaster: nah; rio isn't quite right. 21:54:48 ehird, hm it is one of the better ones though 21:54:59 Mhm. 21:55:18 _start+67 to _start+79 is all nop 21:55:20 wonder why 21:55:20 heh 21:55:26 Still, _start does not have to be the absolute first instruction executed, since the dynamic loader could run some _init blocks in any dynamic libs you refer to, while loading them. 21:55:29 AnMaster: padding yo. 21:55:59 13 bytes of it yes.. 21:56:51 it seems a bit extreme, why use 13 separate nops, usually on x86 is that you try to fill using the largest fast nops 21:56:59 fast nops 21:57:00 even if it isn't the classical xchg ax,ax 21:57:01 yeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah 21:57:14 It's not like those nops are ever executed, you know. 21:57:16 ehird, err that actually make sense 21:57:26 fizzie, oh? 21:57:27 I thought 0x80 was nop? 21:57:31 At least here there's a retq immediately before them. 21:57:37 fizzie, not here 21:57:49 Why do non-osx OSes have an obsession with opening shit maximized? 21:57:53 fizzie, <_start+62>: add $0x8,%rsp is the line in front of them 21:58:01 I don't want a maximized window. Text is too long. It blocks out other stuff. Stop it! 21:58:04 ehird, never happened for me on linux... 21:58:15 AnMaster: I clicked Firefox and got a maximimzed window. 21:58:28 fizzie, how would I break in the first instruction in the dynamic linker then? 21:58:36 fizzie, because what I want is "really really first" 21:58:40 oh, of course it's 0x90, http://geekz.co.uk/lovesraymond/archive/nop-nop-nop-nop-nop 21:58:44 I have a retq after that line. Still, I doubt they are executed anyway, there's the callq *%rax which makes it go away. 21:58:46 fizzie, after OS hands off to user space 21:58:58 SimonRC: <3 eler 21:59:08 hm static maybe 21:59:10 AnMaster: make your own elf binary 21:59:35 this "Install/Remove" package manager gui is nice. It installs non-app stuff too. 22:00:28 The _init blocks of libs are part of the ELF loading, so I'm not quite sure where you could break; basically you'd have to catch the thing before your code is even loaded. 22:00:53 fizzie, yes... 22:01:22 Entry point address: 0x4001d0 22:01:25 I did a break on that 22:01:30 yet it was never reached 22:01:33 in a static binary 22:01:35 what on earth 22:02:22 And here I have a retq after that add $0x8. Really, I thought that nop-padding was just to make the next function (since what's after the nops really looks like a function prologue) start at a 16-byte offset. I don't really think __libc_start_main is going to return, anyway. 22:02:34 (gdb) help checkpoint 22:02:35 Fork a duplicate process (experimental). 22:02:35 huh 22:02:48 * AnMaster was looking at help obscure in gdb 22:03:30 -!- tombom has quit ("Peace and Protection 4.22.2"). 22:05:44 There are some reasons why "break _start" might not work *if* you have debugging symbols. (Basically it tries to be too clever and break after the function prologue, but _start doesn't have one; but if there are no debugging symbols, it just puts a breakpoint at the address of the global _start symbol.) 22:06:12 (But that was from a 2004 mailing-list post, they might've sensiblized that already.) 22:07:05 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 22:07:27 $ readelf -a hello | grep -i entry 22:07:27 Entry point address: 0x4001d0 22:07:30 -!- bsmntbombdood has joined. 22:07:31 (gdb) r 22:07:31 Starting program: /home/arvid/tmp/hello 22:07:31 (no debugging symbols found) 22:07:31 Program exited with code 0360. 22:07:34 huh 22:07:44 -!- Judofyr has quit (Remote closed the connection). 22:08:01 it just isn't ever hit 22:09:06 Yes, apparently not. That's rather strange. 22:09:39 fizzie, I can break on main though 22:09:47 That should, after all, be the simplest case. It just does the ELF-loading and is supposed to jump to _start there. 22:09:49 and end up a bit later 22:10:14 Dump of assembler code for function main: 22:10:14 0x00000000004002b4 : push %rbp 22:10:14 0x00000000004002b5 : mov %rsp,%rbp 22:10:14 0x00000000004002b8 : mov $0x0,%eax 22:10:14 0x00000000004002bd : leaveq 22:10:15 0x00000000004002be : retq 22:10:33 seems a bit useless to do those extra moves 22:10:37 for "return 0; 22:10:42 and mov 0? 22:10:47 oh no -O 22:10:49 right 22:10:54 -O3 is more sensible: 22:10:58 Dump of assembler code for function main: 22:10:58 0x00000000004002c0 : xor %eax,%eax 22:10:58 0x00000000004002c2 : retq 22:11:28 Hmm. 22:11:42 fizzie, breaking on 0x4001d2 works... 22:11:44 Here breaking at address _start+2 works even for a statically linked... 22:11:51 as in the second instruction in _start 22:11:54 ah you found it too 22:11:56 Yes. I was just saying the same thing. 22:12:41 Rather strange. It might be even that gdb feature of ignoring a breakpoint on the first executed instruction, to make it possible to "cont" past breakpoints without disabling them. 22:12:59 fizzie, err what? 22:13:03 how would that work 22:13:23 cs 0x33 51 22:13:24 ss 0x2b 43 22:13:32 wait, code segment isn't null? 22:13:34 huh 22:13:37 That's what it does. If you are at a breakpoint, and say "cont", logically it would hit that same breakpoint, since that's what it's going to execute. 22:13:52 hm ok 22:14:27 That's even in GDB manual: "It is not necessary to delete a breakpoint to proceed past it. GDB automatically ignores breakpoints on the first instruction to be executed when you continue execution without changing the execution address." 22:14:31 0x00000000004001d0 <_start+0>: xor %ebp,%ebp 22:14:40 so I wonder what %ebp was before 22:14:41 :/ 22:15:11 actually doesn't gdb support patching the memory image or something it might be possible to insert a nop... 22:15:30 -!- Mony has quit ("Quit"). 22:15:58 (gdb) catch start 22:15:58 Catch of start not yet implemented 22:16:03 Heh, I thought that might work. 22:16:09 "catch start - any processes, just after creation" 22:16:15 heh 22:16:27 Catch of exit not yet implemented 22:16:28 too 22:16:34 "catch of library loads not yet implemented on this platform". "Catch of thread_start not yet implemented". 22:16:39 Someone's been lazy. 22:16:52 Catch of signal not yet implemented 22:16:55 what is this? A joke? 22:17:51 The manual (I'm not sure which version this is for, since I hit it with google) just lists C++ exceptions and exec/fork/vfork for catching. 22:18:15 And load, but "This is currently only available for HP-UX." 22:18:25 eh 22:18:27 heh* 22:18:31 Obviously not a very popular feature. 22:18:55 AnMaster: why do you want to stop so early in a process? 22:19:02 SimonRC, I wanted to find out the full register and stack state when OS hands off to user space 22:19:07 ahh 22:19:13 and heap too 22:19:23 I assume TFM isn't very helpful in this case 22:19:32 SimonRC, which one? 22:19:41 hmm 22:19:45 kernel docs? 22:19:50 anyway I know all but ebp now I think 22:19:52 spec of your executable format? 22:20:08 so I'll just need to modify the binary to have a nop first in start 22:20:11 that I can break on 22:20:35 Some of those values might be rather variable, though. 22:20:38 anyone knows a machine code editor that isn't a hex editor but something more asm-y 22:20:44 fizzie, most are 0x0 it seems 22:20:51 There was one ELF editor, but I forgot it. 22:21:16 Oh, right, http://hte.sourceforge.net/ 22:21:24 It's a very silly-looking, based on screenshots. 22:21:30 DEBUG.COM? 22:21:48 Or should I say, retro. 22:21:54 fizzie, for windows? 22:22:03 actually there is app-editors/hteditor here... 22:22:12 Well, there are sources. 22:22:51 web page has 2.0.13.. package manager has 2.0.14 22:22:53 strange 22:23:06 http://elfsh.segfault.net/ ? 22:23:24 actually link is broken 22:23:35 was dev-util/elfsh "scripting language to modify ELF binaries" 22:23:41 http://hte.sourceforge.net/downloads.html has up to 2.0.16. 22:23:45 Who knows. 22:24:10 fizzie, it has an X useflag here 22:24:17 * AnMaster wonders 22:24:21 Anyway, since you just need that one nop there, I'd just use a hex editor. It's not like you're going to make a workflow of this stuff. 22:24:37 it passes the strange thing "--enable-x11-textmode" 22:24:39 to configure 22:25:18 fizzie, it would be useful in general though 22:25:50 fizzie, wonder how to find file offset btw 22:25:56 is it same? 22:32:53 fizzie, there is an _init in the static binary... 22:34:24 I think _start is the first, anyway. And you could figure the file offset from the readelf output with a subtraction or two, or just look for those bytes. 22:34:40 fizzie, using ht was easier :) 22:36:29 rsp 0x7fff910b2660 0x7fff910b2660 22:36:35 rsp is stack pointer right? 22:36:40 Yes. 22:37:29 For my elf file, entry point address 0x400190 and first program header offset 0 and VirtAddr 0x400000, which would imply that the entry point is in the file at offset 0x190. 22:37:31 fizzie, apart from rsp all seems to have fixed values. And Linux randomises stack position, so not odd. 22:37:34 FireFly, oh btw: r11 0x200 512 22:37:37 that is always that 22:37:45 otherwise all GPR are 0 22:37:46 fizzie* 22:37:55 ah right 22:37:57 :P 22:38:23 Well, I have a similar problem now, as "an" extends to andreou; it used to do AnMaster. 22:38:24 I'm in ur channel stealin' ur autocompletion 22:38:43 see 22:39:01 well I guess FireFly and andreou just have to live with it 22:39:02 :) 22:39:56 fizzie, and you are right, init is called from _start, but _init calls back into _start(?) 22:40:01 Dump of assembler code for function _init: 22:40:01 0x00000000004001b0 <_init+0>: sub $0x8,%rsp 22:40:01 0x00000000004001b4 <_init+4>: callq 0x4001fc <_start+44> 22:40:01 0x00000000004001b9 <_init+9>: callq 0x400270 <_start+160> 22:40:01 0x00000000004001be <_init+14>: callq 0x45e2e0 22:40:02 0x00000000004001c3 <_init+19>: add $0x8,%rsp 22:40:04 0x00000000004001c7 <_init+23>: retq 22:40:21 huh 22:40:29 (gdb) bt 22:40:29 #0 0x00000000004001b0 in _init () 22:40:29 #1 0x00000000004008a4 in __libc_csu_init () 22:40:29 #2 0x000000000040040f in __libc_start_main () 22:40:29 #3 0x00000000004001f9 in _start () 22:40:30 btw 22:40:58 what on earth is stdio stuff doing in this binary, I don't even include any header 22:41:00 Well, there's no stack frame for _start, since it's not a function. 22:41:26 fizzie, true 22:42:08 what is the st0 register in info all-registers 22:42:19 I don't remember any st registers 22:43:11 The only thing I can think of is the x87 stack-thing, which I really am not familiar with. 22:43:37 isn't that fpr0 and such? 22:43:44 at least in amd docs it is 22:44:59 -!- Sgeo has quit ("Leaving"). 22:45:00 STn is the assembly mnemonic for it. Maybe. I can't really be sure. 22:45:08 hm 22:45:16 how do you set a register in gdb btw 22:45:25 also how on earth does gdb find this out I'd like to knopw 22:45:28 know* 22:45:36 debuggers are even more black magic than compilers... 22:45:41 I used to know register-setting. 22:46:04 Anyway, I guess gdb on linux just uses the ptrace thing. 22:46:13 PTRACE_GETREGS to get registers and so on. 22:46:23 ok 22:46:27 still black magic 22:46:32 just now it is in kernel 22:46:37 (where it belongs) 22:47:01 "set $reg = x" might work. 22:47:02 (gdb) help duel 22:47:03 Evaluate Duel expressions. Duel is a very high level debugging language. 22:47:03 "dl help" for help. 22:47:03 huh 22:47:05 interesting 22:47:24 an embedded scripting language hidden in gdb 22:48:18 I never knew about that 22:48:55 Yes, "set $reg = x"; and for simd-style registers it's things like "set $xmm1.v4_int32 = {1, 2, 3, 4}"; it pretends those are structs. 22:49:18 heh 22:49:50 Or maybe more like an union in this case. 22:50:01 fizzie, yep st0 behaves like x87 definitely 22:50:08 xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 22:50:08 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} 22:50:11 like that you mean? 22:50:33 Yes. I guess it's more union-like, in that if you mangle one of those, all the others change too. 22:51:32 I know floating point and mmx registers are layered, but there is no place showing them as mmx registers hm 22:51:44 as in a useful format when debugging mmx 22:52:30 fizzie, irritating that gdb doesn't use the standard names for the registers 22:52:55 I guess fctrl is what amd calls fcw 22:53:04 fstat being fsw 22:53:05 maybe 22:53:21 FireFly, can you dump a register as a bit pattern in gdb... 22:53:31 Nope :D 22:58:01 That hex list in "info registers/all-registers" is probably rather close to a bit pattern. 22:58:15 It gives "(raw 0x00000000000000000000)" for stX regs too. 22:58:48 -!- oerjan has joined. 22:59:05 fizzie, I wanted it for fctrl register 22:59:12 I guess I could use erl to do it 22:59:26 btw how can you do it with bc? 22:59:31 someone said you could 22:59:34 Well, uh, "fctrl 0x37f 895"; isn't that 0x37f pretty close? 0b001101111111. 22:59:53 I can't work that out in my head 22:59:54 sorry 22:59:54 ibase=16 22:59:54 obase=2 22:59:54 37F 22:59:54 1101111111 23:00:56 With bc you just have to beware that the number you give as "obase" is given in base-ibase, so "ibase=2"+"obase=16" is not a good idea, you want "obase=16"+"ibase=2" instead. Or alternatively "ibase=2"+"obase=10000", but maybe that's slightly more difficult. 23:01:29 err 23:01:33 which way is that word 23:01:39 it doesn't make sense either way 23:01:46 reserved bits at 1 and some at 0? 23:02:22 wait maybe it makes more sense when padded to 16 bits.. 23:02:34 how do you do that in bc fizzie? 23:02:38 pad to 16 bits I mean 23:02:49 You don't. Just imagine there are zeroes in front. 23:03:39 1> io:format("~16.2.0B~n", [16#37f]). 23:03:39 0000001101111111 23:03:42 lovely 23:05:07 nothing like a few tildes and hashes to make your day nicer 23:06:45 SimonRC, um ~ means same as % in C format strings basically 23:06:54 and 16# means 0x 23:06:59 you can use any number in front 23:07:06 like 5# to use base 5 23:07:10 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 23:07:10 R R R Y R R P P R R P U O Z D I 23:07:10 E E E C C C C E E M M M M M M 23:07:10 S S S S S 23:07:11 hm 23:07:15 that doesn't quite make sense 23:07:21 (RES == reserved) 23:07:47 why is one reserved bit 1? 23:08:27 unpack('B16', pack('n', 0x37f)) would be a reasonable Perl version. Or alternatively sprintf "%016b", 0x37f, that's even simpler. I wonder if there's a sensible Perl REPL, though. 23:09:23 " [...] I wonder if there's a sensible Perl [...]" <-- nice misquoting :D 23:09:52 The other way around you'd get all RES bits as 1, though? 23:10:18 fizzie: my thought exactly 23:10:24 I have no idea what any of those meaningful bits are, though. 23:10:52 it would be rather strange to start with Y set to 1 I think 23:11:00 it is 80287 compat... 23:11:06 Y ask Y. 23:11:31 ?? 23:11:55 actually Y is ignored even in virtual 80whatever mode it seems nowdays heh 23:11:57 Just a bit of free-association. It's "why ask why". 23:12:44 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 23:12:44 R R R Y R R P P R R P U O Z D I 23:12:44 E E E C C C C E E M M M M M M 23:12:44 S S S S S 23:12:44 hm 23:12:50 * AnMaster wonders if that make mroe sense 23:13:24 hm 23:13:36 then RC and PC are are non-default values 23:13:40 I wonder if there's a sensible Perl REPL, though. 23:13:43 perl -de0 23:13:54 or devel::repl or w/e 23:14:34 so 23:15:07 a PC if 01 is invalid (thus we can't read it sub-backwards), a PC of 10 means double precision, 00 single, 11 long double 23:15:12 long double is (afaik) default 23:15:56 no it doesn't make sense that way FireFly 23:15:57 err 23:15:59 fizzie, ^ 23:16:01 I just checked 23:16:56 Well, then it must be something else. 23:17:42 fizzie, I checked the effects of RC, and it only matches the actual rounding mode when it is set as I read it first time 23:18:25 -!- calamari has joined. 23:19:58 Hmm, `perl -mstrict -wde0` + line editing + prepends "p " in front of all lines would make a good perl repl. 23:20:08 Well, prepends it in front of all non-perldebug commands. 23:21:03 idea: ELPR -- the easy-looking perl repl 23:21:06 ;-) 23:21:52 coz we need moar anagrams 23:21:53 LEPR; the Perl REPL whose body parts fall off. 23:22:08 fizzie, that's worse than oerjan 23:24:03 It was freely paraphrasing a Finnish radio-comedy-parody-show-thing. They once did a parody of a car-related program, and the final words were something like "and next week, we're reviewing Fiat Lepra, the car whose parts fall off". 23:25:13 According to wikipedia, leprosy doesn't even cause off-falling body parts, but... 23:26:16 well technically the car parts would probably fall off because the view out is so lousy you cannot avoid bumping into things 23:26:19 Ubuntu 9.10 seems quite nice once configured. 23:28:02 oerjan, uh 23:28:04 what? 23:28:45 AnMaster: that was the closest analogy i could think of 23:29:19 although it's switching vision with touch sense 23:30:29 "You see, because Tom's a nutcase," 23:30:55 ehird, uh? 23:31:00 also... night 23:43:24 James Lyon: 23:43:25 He has been employed at Microsoft since 1996 and has worked on Exchange Server, SQL Server, COM, and Microsoft Transaction Server. Most recently Jimbo was instrumental in designing, building, and shipping Windows Home Server Computer Backup. 23:43:28 D: 23:47:57 Open angle bracket close angle bracket exclamation mark asterisk quote octothorpe 23:47:57 Caret at-sign backtick dollar dollar hyphen 23:47:59 Exclamation mark asterisk single quote dollar underscore 23:48:01 Parcent asterisk open angle bracket close angle bracket octothorpe four 23:48:03 Ampersand close parenthesis period period forward slash 23:48:05 Bar open curly brace tilde tilde SYSTEM HALTED 23:51:55 ISTR there is a better pronunciation 23:52:04 and seriously, "octothorpe"? 23:52:09 why not "hash"? 23:52:31 SimonRC: My pronounciation is a joke; doing it precisely to ruin the poem 23:52:35 And because octothorpe is correct. 23:52:46 "hash" is locale-centric. 23:53:52 -!- BeholdMyGlory has quit (Remote closed the connection). 23:54:13 'Helvetica is a Microsoft font.' 23:54:14 WA 23:54:14 T