00:00:04 Mostly gay orgies, though. 00:05:29 -!- oerjan has joined. 00:05:45 Hi oerjan. 00:05:56 hi ehird 00:06:49 Hi oerjan. 00:07:22 hi pikhq. hi all 00:15:14 -!- coppro has joined. 00:16:44 formatter['3']=fmtrot13; 00:16:45 printf("spoiler: %3\n", "snape killed dumbledore"); 00:16:49 Discuss. 00:17:58 -!- pikhq has quit ("Java user signed off"). 00:18:04 ehird: It was his sled. 00:19:04 for(s=nil; s=nextspoiler("http://www.threadless.com/product/844/Spoilt"); s) { 00:19:04 printf("%3\n", s); 00:19:04 } 00:19:17 what do you do if the number needs to be followed by an ordinary printf character? 00:19:29 like d or f 00:19:40 touché, I hadn't even thought of that 00:19:57 i just didn't want to think of an appropriate alphanumeric :) 00:20:36 i don't think H is taken (as in hide) 00:20:56 s/'3'/'H'/; s/%3/%H/ 00:25:20 -!- augur has joined. 00:27:49 The actual fmtrot13 function would probably look something like http://sprunge.us/DGfQ. 00:28:02 Likely with annotations for printf typechecking. 00:28:17 Erm. 00:28:22 Allow me to correct that. 00:28:45 http://sprunge.us/MGNM 00:28:49 There, now it actually rot13s. :P 00:29:30 -!- Slereah_ has joined. 00:31:10 "If a note interrupts a system call and the note handler calls noted(NCONT), the system call terminates early with error string interrupted. This is very important, as it can be a cause of errors. Beware." 00:31:10 Hey, PC loser-ing! 00:40:05 -!- Slereah has quit (Read error: 110 (Connection timed out)). 00:48:30 -!- oerjan has quit ("leaving"). 00:49:44 http://www.apachenews.org/ 00:49:44 Issue: Must commit suicide 00:49:44 Resolution: CANTFIX 00:49:44 Comments: 00:49:45 Could not find enough money for alcohol. […] Please donate. 00:50:31 (http://www.reddit.com/r/programming/comments/a74li/he_will_commit_suicide/c0g60ij) 00:58:30 -!- madbr has joined. 01:03:31 -!- pikhq has joined. 01:05:42 Hi pikhq. 01:09:22 Hi ehird. 01:09:46 Why am I tempted to play with NaCl? 01:09:57 did you know that PC loser-ing as seen in the Worse is Better paper is still an actual issue (although of reduced importance, of course) in Plan 9 today? 01:09:58 pikhq: Grab some Na and some Cl and make popcorn 01:10:08 "If a note interrupts a system call and the note handler calls noted(NCONT), the system call terminates early with error string interrupted. This is very important, as it can be a cause of errors. Beware." 01:10:12 pikhq: because go supports it? 01:10:20 and this thus must be an implicit endorsement! 01:10:36 nacl is cool, i just wish it didn't focus on web stuff 01:10:39 ehird: Go supports it? Well, then. That was my one major question. :) 01:10:57 I do wish that NaCl was a more generic sandboxing setup, yeah. 01:10:57 yep, just set GOOS=nacl and go wild 01:11:09 bonus: http://golang.org/pkg/exp/nacl/ 01:11:53 8g foo.go; 8l foo.8 will result in 8.out being whatever nacl wants, I expect 01:12:03 I suggest compiling with an x86 target on whatever host you have. 01:12:15 So, GOARCH=386 GOOS=nacl, I believe. 01:12:25 It's pretty nice for safe arbitrary code execution (never thought I'd say *that* about x86 code) in HTML, but it'd be really nice to see it used for, say, Plash. 01:12:28 Although that might try and compile them as 386 compilers. 01:12:34 When in doubt, read the build system. :P 01:13:32 Hmm, nacl is x86 only. 01:13:38 I wonder if that includes amd64. 01:13:50 and if not, does it mean the browser has to run as x86, or just the plugin? 01:14:25 Using 8* is obviously the only sane choice for NaCl with Go (probably compiled for amd64 for you), so it's only relevant as far as actually using the results goes. 01:14:26 Almost certainly just the plugin. Though you *may* need to use nspluginwrapper. 01:16:45 http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf is sweet 01:19:08 http://man.cat-v.org/unix_8th/1/visi is intriguing. (gawd, it's so easy to get lost in cat-v.org) 01:20:05 its interface appears to be like vi except always in : mode 01:24:04 pikhq: btw, a hidden bonus about Go — it contains a full port of Ken Thompson's Plan 9 C compilers to Linux/OS X compiling from and to all of arm, x86 and amd64. 01:24:14 which is a first 01:24:28 Somewhat nice. 01:24:31 and since you can use it with plan9port's lib9 instead of libc... 01:24:40 Voila: plan9port now has a compiler and a library. 01:24:46 Erm. 01:24:51 / and a library/d 01:24:58 It already has lib9. :P 01:25:20 So Plan9port can be used to run Plan9-esque things on Linux without too much effort. 01:25:45 pikhq: Go doesn't support Plan 9, yet the gc compiler is written in Plan 9 C. 01:25:52 It may be a viable path! 01:25:57 Hmm... 01:26:07 Actually, that lets me write Plan 9 C. 01:26:10 ... :D 01:26:23 Yep. 01:26:31 -!- MizardX has quit (leguin.freenode.net irc.freenode.net). 01:26:32 -!- SimonRC has quit (leguin.freenode.net irc.freenode.net). 01:26:32 -!- Rembane has quit (leguin.freenode.net irc.freenode.net). 01:26:58 * ehird recompiles plan9port as 64-bit; tries to compile plan 9 hello world 01:27:07 -!- MizardX has joined. 01:27:07 -!- Rembane has joined. 01:27:07 -!- SimonRC has joined. 01:27:30 So, C that actually handles Unicode right without silly libraries... Or taking special care not to break the UTF-8. 01:27:55 C with decent IO libraries, and an extensible printf. 01:28:01 C that compiles really quickly. 01:28:12 C with Go-style inheritance (the bio library uses it, for instance). 01:28:16 Hmm. Does the Plan 9 C compiler target NaCl? 01:28:26 ... C with Go-style inheritance? 01:28:28 I don't think so. You could try. 01:28:33 pikhq: Yep; it has unnamed structs. 01:28:39 Oooh. 01:28:42 struct Bar { struct Foo *; } 01:28:46 Erm. 01:28:49 struct Bar { struct Foo; } 01:29:03 You can now use a (struct Bar *) as a (struct Foo *). 01:29:27 So bar->fooField works, funcExpectingFoo(bar), etc. 01:29:35 No interfaces, though, but still. It's nice. 01:29:44 pikhq: http://man.cat-v.org/plan_9/1/2c for more 01:31:28 tl;dr of the rest: (struct S){v1,v2,v3}. int a[] = {[3]1,[10]5}, a[3]==1. (struct S){.x 2, .y 3}. #pragma lib "foo" makes linker link foo automatically to this program (it's in library headers). printf typechecking. //comments work. long long=64-bit;vlong=long long;uvlong=unsigned long long; emulated on 32-bit (so no switch(){}) 01:34:42 #pragma lib, eh... Man, that alone makes C nicer. 01:34:46 Well, C build systems. 01:34:58 Deprecates autoconf. :P 01:35:25 Furthermore, if your include files include any other include files you will be poked with a rusty stick, so don't do that. Also, use bio. 01:35:29 That's about it for Plan 9 C, really. 01:35:42 Oh, and exit statuses are strings; exits(0) for success, exits("foo") for failure. 01:35:55 Except plan9port just translates them to 0 or 1; sux2bu. 01:36:30 Does plan9port at least put the error string to stderr? 01:36:38 (or something similar?) 01:36:46 Nope, afaik. 01:36:48 Sorry. 01:36:56 It isn't too much of a big deal in practice, anyway. 01:36:57 Aaaaw. 01:37:10 Not a huge deal, but would be nice. 01:39:43 $ 6c -I$PLAN9/include hello.c 01:39:45 erm 01:39:47 $ 6c -I$PLAN9/include hello.c 01:39:47 /Users/ehird/plan9/include/u.h:5 hello.c:1 unknown #: if 01:39:47 /Users/ehird/plan9/include/u.h:6 hello.c:1 syntax error, last name: "" 01:39:57 First issue: plan9port, obviously, depends on non-plan9 things. 01:40:02 Solution: -p. 01:40:06 Invokes cpp before compiling. 01:40:09 Note: HIDEOUS OW OW OW 01:40:21 can't exec C preprocessor /bin/cpp: No such file or directory 01:40:22 Not the best start, I must say. 01:40:31 * ehird does cc -E hello.c 01:41:07 Oh, the #pragmas aren't there either, of course. Using Plan 9's header files may prove fruitful. 01:41:26 hello2.c:60 not a function 01:41:26 hello2.c:60 syntax error, last name: __darwin_va_list 01:41:26 I should probably look at Go's source. 01:42:39 $ ls $GOROOT/include 01:42:39 ar.hfmt.hu.hureg_x86.h 01:42:39 bio.hlibc.hureg_amd64.hutf.h 01:42:39 bootexec.hmach.hureg_arm.h 01:42:40 Bingo. 01:42:45 a 01:42:49 oops 01:42:50 Hmm. 01:42:52 It's justs plan9port's. 01:42:55 *just 01:43:37 Hmm... Okay, so gc is compiled with gcc, just with lib9 instead of libc. 01:43:40 Confusing. 01:44:03 $ 6c hello.c 01:44:03 hello.c:7 function args not checked: print 01:44:03 hello.c:8 function args not checked: exits 01:44:03 Who needs headers. 01:44:40 $ 6l /Users/ehird/plan9/lib/lib9.a hello.6 01:44:40 fails... 01:44:42 People who can't type-check by hand, that's who. :P 01:44:47 pikhq: This will probably take quite some work. :P 01:45:18 Ooh, -l9 produces *different* errors! 01:46:12 Eh. I give up for now. 01:50:43 pikhq: Oh, I forgot one thing about Plan 9 C — no consst. 01:50:46 *const 01:50:54 Well, it may have been added since the paper. I doubt it, though. 01:51:00 Mixed feelings about that. 01:51:27 "The keywords register, volatile, and const, are recognised syntactically but are semantically ignored. Volatile seems to have no meaning, so it is hard to tell if ignoring it is a departure from the standard. Const only confuses library interfaces with the hope of catching some rare errors." 01:51:44 On the one hand: it is nice being able to enforce const. On the other hand, const in C is done very poorly. 01:51:58 In general I agree; I don't think I've ever had a single error caught thanks to const-correctness, and when trying to transform my own code into const-correct style, type signatures blow up and become completely incomprehensible and useless. 01:53:03 It's almost as though the ISO committee saw the issues with function pointer declarations, and thought "Hmm. The problem with this is that it's not incomprehensible enough. Let's add a keyword!" 01:56:03 The intelligence of a group is inversely proportional to the sum of the intelligence of everyone in it, clamped to a maximum value equal to that of the least intelligent person in the group. 01:56:06 Prove me wrong. 01:56:13 Erm, not inversely proportional in that way. 01:56:18 A group with one dumb person is really dumb. 01:56:26 But a group with two intelligent people isn't as intelligent as one intelligent person. 01:56:27 You get the idea. 02:00:06 Counter-example: the Haskell committee. 02:00:51 1. Statistical anomalies exist; 2. maybe this isn't one. They really are that smart. 02:01:00 #2 is only half-joking. 02:01:01 * coppro searches for the obligatory despair.com link 02:01:18 http://despair.com/meetings.html 02:01:24 Yeah, Haskell is probably a statistical anomaly. 02:01:42 Filled with people who know exactly when to let go or something. 02:03:36 Or a small subset that dictate things. 02:04:12 -!- Azstal has joined. 02:10:58 -!- Asztal has quit (Read error: 145 (Connection timed out)). 02:12:53 -!- bsmntbombdood_ has joined. 02:21:27 -!- pikhq has quit ("Java user signed off"). 02:27:24 -!- bsmntbombdood has quit (Read error: 101 (Network is unreachable)). 02:40:16 http://www.youtube.com/watch?v=1KI8QLm8Inw i have no idea what this is 02:43:33 -!- ehird has quit. 03:24:21 oh dear. philosophy canceled again. then we'll have two weeks to get through 2/3 of Genealogy of Morality. 03:40:01 -!- Gracenotes_ has joined. 03:42:03 -!- Gracenotes has quit (Nick collision from services.). 03:42:28 -!- Gracenotes_ has changed nick to Gracenotes. 03:49:34 -!- Azstal has quit (Read error: 110 (Connection timed out)). 04:09:46 I think I'm writing terrible code 04:09:47 for i in (i for i in puzzle_objects.iterkeys() if i.startswith("#GREEN:")): 04:19:49 omg unpythonic! shun! shunn! 04:22:13 did I mention I dislike the word "pythonic"? Anyway.. not sure there's a cleaner way using generator expressions :/ they're not so much a substitute for filtering with effectful things :/ 05:21:18 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)). 06:32:25 -!- FireFly has joined. 06:54:12 -!- FireFly has quit ("Later"). 06:58:43 -!- madbr has quit ("Radiateur"). 07:00:30 -!- puzzlet has quit (Remote closed the connection). 07:00:42 -!- puzzlet has joined. 07:02:06 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 07:23:52 -!- AnMaster has quit (Connection timed out). 07:46:22 -!- AnMaster has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:05:45 -!- AnMaster has quit (Network is unreachable). 08:41:22 -!- puzzlet has quit (Remote closed the connection). 08:41:26 -!- puzzlet has joined. 09:07:24 -!- BeholdMyGlory has joined. 09:10:34 -!- Pthing has joined. 09:37:06 -!- MigoMipo has joined. 10:01:26 -!- Asztal has joined. 10:04:49 -!- MigoMipo has quit ("Page closed"). 10:05:42 -!- BeholdMyGlory has quit (Remote closed the connection). 14:00:09 -!- FireFly has joined. 14:04:05 -!- BeholdMyGlory has joined. 16:06:36 -!- clog has joined. 16:06:36 -!- clog has joined. 16:06:37 ais523, what would you do if computer locked up in the morning with the disk lamp fixed on but not kernel panic or responding at all (needed reset button), memtest showing nothing after running for 8 hours, disk seeming to be just fine (once journal recovery completed) but last log message ended with some garbled chars 16:06:47 oh 16:06:56 and about the same time the home alarm system broke down 16:07:07 some sort of electrical issues? 16:07:14 I'd assume a brownout, and try to REISUB, or failing that, hard-reboot 16:07:21 oh, if you've rebooted already, it should be OK 16:07:24 ais523, reisub? 16:07:34 AnMaster: rebooting a Linux system by hand 16:07:38 ais523, well I ran full fsck on all partitions too just in case. 16:07:48 alt-(sysrq+r), alt-(sysrq+e), etc 16:07:54 ais523, well, holding down power button *didn't* work. that's unusual 16:08:01 I had to actually use the reset button instead 16:08:13 ais523, sysrq didn't respond 16:08:17 I did test that 16:08:30 basically, a brownout happens when a power supply malfunction means that the voltage input isn't high enough to cause the system to act correctly 16:08:40 but isn't low enough to make it think there's been a power cut and power off 16:08:54 ais523, hm now that I think about it, I think one of the lamps flickered around then 16:08:55 for a 5V system, it's normally somewhere around 4V 16:09:31 normally I wouldn't guess that, but it's plausible if other unrelated electronic devices have similar problems 16:10:20 ais523, well the home alarm system is completely broken, it reported a spurious alarm and now just shows a red single LED on the front marked "error" 16:10:30 going to get some service people here tomorrow 16:10:44 http://en.wikipedia.org/wiki/Brownout_(electricity) 16:11:10 most power supplies cope with them badly 16:11:15 ais523, what's even more odd was that the disk access light was stuck at "accessing" but yet the harddrive was definitely spun down 16:11:32 (my harddrive is rather loud) 16:11:51 http://en.wikipedia.org/wiki/Brownout_(electricity) <-- redirects to "power outage" 16:11:56 AnMaster: I've had plenty of brownouts when doing electronics myself, sometimes even deliberately 16:11:59 AnMaster: I know 16:12:09 * AnMaster considers getting an UPS 16:12:35 its basic effect on most microprocessors and similar devices is to randomly set some of the bits in memory to 0 (or to 1, depending on how the memory works) 16:12:39 -!- FireFly has quit ("Later"). 16:12:41 including things like registers 16:13:15 most computers can't recover sanely from that state; it might be interesting to try to write an esolang (with program stored in simulated ROM) where programs had to be able to 16:13:42 ais523, usually you use something like an UPS or such iirc? 16:14:11 ais523, and is it even possible to recover in a sane way except 1) preventing it in the first place 2) detect it and force a reboot 16:14:29 AnMaster: probably not; 2) is a very common solution 16:14:31 * AnMaster remembers some PIC with a "brown out detection" feature or such 16:14:56 ais523, for servers/desktops I assume 1 is more common (as in UPS or similar) 16:14:59 yep, it's common to get small brownout detectors that work at a range of voltages, that hard-reset the hardware if they detect a brownout 16:15:02 and 2 for embedded systems? 16:15:07 AnMaster: seems about right 16:15:20 -!- MigoMipo has joined. 16:15:49 ais523, would a brown out cause "normal" light bulbs to dim but a fluorescent(sp?) one to flicker? 16:15:59 because if so I think it's a perfect match 16:16:06 AnMaster: yes, seems about right 16:16:24 normal lamps dimming is the most obvious effect, it's where the name brownout comes from 16:16:30 because they go brown, but not altogether off 16:17:07 ais523, a low energy lamp dimmed rather than flickered, and I thought they operated on similar principle to fluorescent ones? 16:17:14 hm 16:17:51 I'm not entirely sure how they worked 16:18:08 incidentally, were you recording the behaviour of all the lamps in your house when this happened? or do you/your family have a really good memory? 16:18:18 or has it been browning out so constantly you've had time to go round and check? 16:18:22 ais523, I was eating breakfast 16:18:34 and I was standing just besides a fluorescent lamp 16:18:44 with a non-fluorescent in the window 16:18:55 and a low energy one also in view 16:19:16 ais523, from system logs I reconstructed that the lock up must have happened at aprox the same time +- 5 minutes 16:19:32 as in, I found the computer locked up about 5 minutes after 16:19:52 ah 16:19:53 and last system log message (something from cron) was about 10 minutes before I found it that way 16:20:37 ouch, fsck definitely seems broken on this computer 16:20:45 the logon autofsck keeps stopping at 89-90% 16:20:52 with no disk activity, and with the computer locked up 16:21:06 ais523, home alarm system I noticed a short while later, and it hadn't been like that when I went downstairs. So that gives an aprox +/- 20 minutes range on the home alarm system error led turning on 16:21:10 around the same point in time 16:21:17 although, it did just go from 89 to 90 16:21:26 which is strange given the lack of disk activitu 16:21:27 It didn't seem too far fetched to connect them 16:21:29 *activity 16:21:40 meh, I'll wait a while and see if it goes up higher 16:21:57 ais523, hm... is that the "mounted n times, fsck forced" fsck? 16:22:07 yep 16:22:20 except, hidden behind a graphical bootsplash thing 16:24:02 ais523, btw did you know that fsck.xfs just returns 0? 16:24:20 fsck.xfs is called by the generic Linux fsck(8) program at startup to check and repair an XFS filesystem. XFS is a journaling filesystem 16:24:20 and performs recovery at mount(8) time if necessary, so fsck.xfs simply exits with a zero exit status. 16:24:22 from man page 16:24:57 there is xfs_check to actually check things if you want to 16:25:10 ais523, why do you use the bootsplash thing? 16:25:12 heh 16:25:17 AnMaster: it's on there by default 16:25:25 ais523, one change in grub iirc? 16:25:39 something like adding nosplash 16:25:41 probably 16:25:42 (if ubuntu) 16:25:53 but Ubuntu change round the boot sequence every now and then 16:26:02 and part of the reason I'm running Ubuntu is to try to debug it for everyone else 16:26:41 ais523, ah I'm still on jaunty 16:26:49 looks like there will be a kernel upgrade today 16:26:50 sigh 16:27:45 -!- Pthing has quit (Remote closed the connection). 16:28:15 * SAUCE: Enable speakers for Toshiba NB200 (Realtek ALC272) 16:28:15 - LP: #438318 16:28:24 * AnMaster wonders what "sauce" means 16:28:35 in that context 16:29:20 it doesn't seem to refer to any kernel module 16:31:05 well, at least the relevant part of the version number didn't change, so I don't have to mess around with the various external modules (virtualbox, backported wlan drivers, and so on) 16:37:48 ais523, hm what causes a brown out? 16:38:24 AnMaster: usual cause on the small scale is trying to draw too much current from one power supply 16:38:29 I think it can happen on the large scale too 16:38:45 when the supply available for a neighborhood or an entire city isn't enough to meet demand 16:38:52 hm 16:58:27 -!- augur has quit (Read error: 145 (Connection timed out)). 17:40:16 -!- augur has joined. 18:24:54 hmm, I just filed https://bugs.launchpad.net/ubuntu/+bug/487744 18:25:04 and there's something really wrong with the page 18:25:17 <ais523> "Bug #487744 is not in Ubuntu: ..." 18:28:45 -!- ais523_ has joined. 18:39:51 -!- ais523 has quit ("Page closed"). 18:43:03 <AnMaster> ais523_, file another bug about that? 18:43:26 <ais523_> it looks like intentional behaviour 18:43:32 <AnMaster> ais523_, try to boot from a livecd? 18:43:37 <AnMaster> and fsck from there 18:43:47 -!- ais523_ has changed nick to ais523. 18:43:53 <ais523> well, it boots well enough if I just skip the fsck 18:44:04 <ais523> and if something's wrong with fsck, it's possibly best not to run it 18:44:07 <AnMaster> ais523, maybe disk errors in unused blocks? 18:44:14 <AnMaster> full badblocks on whole disk? 18:44:23 <ais523> that shouldn't crash fsck the way it does 18:44:36 <AnMaster> ais523, worth a try. From livecd of course 18:44:48 <AnMaster> ais523, as for livecd, don't use an ubuntu one 18:44:52 <AnMaster> use some other 18:45:57 <AnMaster> ais523, use a livecd that isn't debian based for this in fact 18:46:21 <AnMaster> like http://www.sysresccd.org/Main_Page 18:46:30 <AnMaster> iirc that one is actually gentoo-based 18:46:44 <AnMaster> bbl 18:49:02 <ais523> gentoo liveCD is a contradiction 19:09:08 -!- augur has quit (Read error: 110 (Connection timed out)). 19:27:09 <AnMaster> ais523, no it isn't 19:27:15 <AnMaster> ais523, gentoo has one itself for install 19:27:17 <AnMaster> installing* 19:52:50 <ais523> IMO by definition that isn't gentoo 19:52:53 <ais523> even if it's used to install it 20:06:38 <AnMaster> ais523, it is in fact gentoo 20:06:43 <AnMaster> it is built from gentoo packages 20:07:10 <AnMaster> ais523, for that http://www.sysresccd.org/Main_Page you can even take it back to a gentoo system if you install it on an usb stick or such 20:09:38 <AnMaster> ais523, know anything about UPS units that works well with linux? 20:09:54 <ais523> AnMaster: no 20:09:59 <AnMaster> oh well 20:10:01 -!- adam_d has joined. 20:12:02 -!- JohnTeddy has joined. 20:22:41 <fizzie> From what I've heard, quite a lot of them work pretty well with Linux; assuming you count as "works well" the ability to get a basic level of status outputs and control out of it. And electricity, but it would be quite an oops of a UPS (see what I did there?!) if it had some OS dependencies for *that*. 20:22:50 <fizzie> I don't really have hands-on experience with any, though. 20:23:52 <fizzie> Linux boxes are a bit of a target market for UPS people, it isn't really surprising that they have better levels of support than some random gaming peripheral. 20:23:56 * AnMaster is wondering about price ranges too 20:24:28 <AnMaster> after all I can find everything from cheap consumer crap to ultra-reliable ones meant for mission critical servers. 20:24:41 <AnMaster> and I'm looking for a reasonable one for a desktop 20:24:55 -!- pikhq has joined. 20:24:59 <AnMaster> fizzie, random gaming peripheral? 20:25:22 -!- JohnTeddy has left (?). 20:26:59 <fizzie> The stuff they ship with Windows-only games (fake guitars, fake skateboard, fake whatever) nowadays. To be honest, I couldn't really figure out right then and there anything that really definitely wouldn't work with Linux; I'm not surprised if there are drivers for that stuff too. 20:27:34 <AnMaster> fake skateboard? wireless or *really* long cable? 20:27:38 <fizzie> If I were to get a desktop UPS, I'd pick some respectible manufacturer (I have a good-ish feeling about APC, though no real evidence for it) and select something from their low-end range. 20:27:51 <AnMaster> (wouldn't it have to be ethernet, iirc the max length on usb cable is rather short) 20:28:07 <fizzie> I have no clue how it works. I don't think you're supposed to move around with it, just sort of... I don't know what, tilt and jump and whatnot. 20:28:15 <AnMaster> heh 20:28:33 <AnMaster> fizzie, but wouldn't they generally just show up as a HID device of some sort? 20:28:35 <fizzie> I'm talking about http://en.wikipedia.org/wiki/Tony_Hawk:_Ride here. 20:28:43 <fizzie> "The peripheral, shaped just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen. Turning, leaning, hopping, and other actions will all reflect in the game realistically." 20:29:10 <AnMaster> well that make pirating the thing harder I guess 20:29:13 <AnMaster> makes* 20:29:33 <fizzie> Yes, they might. Still, there's no *official* support, unlike for UPSes. (Admittedly official Linux support often means horrible kludgy crap, even when compared to some not-so-brilliant open-source hacks.) 20:29:37 <AnMaster> it's like one of those "dongles" (remember those?) except this time the thing is actually required 20:29:57 <AnMaster> fizzie, you mean like nvidia drivers? 20:30:06 <AnMaster> also aren't the windows thingies about as bad? 20:30:10 <AnMaster> drivers there I mean 20:30:21 <AnMaster> I remember kludgy HP drivers for example 20:30:26 <AnMaster> where scanning just didn't work well 20:30:36 <AnMaster> unless you had done some weird stuff first 20:30:47 <AnMaster> (of course it works flawlessly under linux) 20:31:26 <AnMaster> <fizzie> "The peripheral, shaped just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen. Turning, leaning, hopping, and other actions will all reflect in the game realistically." <-- I'm pretty sure a real one has wheels. Unless someone invented a hover skateboard recently 20:32:02 <AnMaster> hover skateboard sounds cool btw 20:32:17 <fizzie> It sounds very back-to-the-future-ish. If you've seen the movie. 20:32:31 <AnMaster> fizzie, yes I have. years ago 20:32:40 <AnMaster> now that you mention it, it sounds familiar 20:32:42 <fizzie> In fact I first read that Wikipedia bit without the word "shaped": "The peripheral, just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen." 20:32:51 <AnMaster> XD 20:32:53 <fizzie> I think it had hoverboards, but I might be wrong. 20:33:37 <fizzie> "A Hoverboard (or hover board) is a fictional hovering board used for personal transportation in the films Back to the Future Part II and Back to the Future Part III." 20:33:58 <AnMaster> fizzie, couldn't you build an actual hover skateboard though? I mean, based on classical hover principles rather than some sort of fictional anti-gravity 20:34:05 <fizzie> "Some companies hoping to leverage the commercial success of the movies have marketed hovercraft vehicles as hoverboards, but these products have not been shown to replicate the experience depicted in the movies." Haha. "What, really?!" 20:34:38 <fizzie> You could build something, but I doubt it'd be quite as sleek and well-behaved. 20:35:13 <AnMaster> fizzie, you could make it computer controlled. Like an dynamically unstable aircraft (you know what those are?) 20:35:16 <ais523> hoversegway! 20:35:27 <AnMaster> ais523, hey I was going to mention segway next 20:35:32 <fizzie> MythBusters did one, in fact, out of a surfboard and leaf-blowers. (The WP article I was quoting from contains also this tidbit, though now that I've read it, I do remember that episode too.) 20:35:36 <AnMaster> that it might be a good example 20:35:41 -!- pikhq has quit ("Java user signed off"). 20:35:49 <AnMaster> fizzie, oh? how did it work out? 20:36:09 <fizzie> Speaking of the future, we were thinking of getting a Roomba, for the cat to drive around with. I've seen all those Youtube videos about it. 20:36:26 -!- pikhq has joined. 20:36:29 <AnMaster> fizzie, what is a "Roomba"? 20:37:02 <fizzie> AnMaster: It's one of those robotic vacuum things. It might even be the first commercially-successful-on-the-consumer-markets-really one, for all I know. 20:37:05 <ais523> isn't it a sort of robotic vaccum cleaner? 20:37:08 <AnMaster> oh okay 20:37:13 <ais523> I didn't think cats rode them, though 20:37:49 <AnMaster> fizzie, looking at wp article it would be unable to fit under my desk. Too short distance between floor and lowest drawers 20:37:57 <AnMaster> otherwise I think it would be cool 20:38:09 <fizzie> ais523: Youtube “cat roomba” results 1 - 20 of about 313. (Admittedly not all are a cat riding a Roomba; some are of other sort of cat-Roomba-interactions.) 20:39:04 <fizzie> But the first hit, with over 4 million views, is: http://www.youtube.com/watch?v=LQ-jv8g1YVI 20:41:25 <AnMaster> fizzie, strange the cat didn't get off when it turned around so much 20:41:43 <fizzie> As for the MythBusters hover-thing, I seem to remember they had some sort of competition race on the beach or something. I don't think it worked quite so well on uneven sand, but reasonably well on flat ground. It's just that having four (or was it two?) leaf-blowers running full blast right below you is probably not included in your hoverboarding daydreams. 20:42:22 <oklokok> damn that thing is noisy 20:42:30 <AnMaster> oklokok, yeah 20:42:33 <AnMaster> a pitty 20:42:53 <AnMaster> oklokok, but a normal vacuum cleaner is noisy too 20:42:53 <oklokok> but would be a cool pet if it was silent. 20:42:56 <AnMaster> about as bad 20:43:06 <AnMaster> oklokok, or at least quiet 20:43:06 <oklokok> yeah, but it gets the job done faster 20:43:13 <AnMaster> wouldn't have to be completely silent 20:43:13 <AnMaster> in fact 20:43:18 <AnMaster> completely silent would be bad 20:43:26 <AnMaster> no way you will trip over that loud thing 20:43:32 <AnMaster> but a silent one? Possibly 20:43:36 <oklokok> why? 20:43:51 <fizzie> The newer models should be a *bit* less noisy, but I don't really know anyone who'd have one, so I could go and listen. The noise part is something that's making us a bit vary, though. 20:43:51 <oklokok> i guess there could be a version that makes a sound for blind ppl 20:43:52 <AnMaster> oklokok, would you notice one moving about in a half dark room? 20:44:28 <oklokok> it has this small light 20:44:34 <fizzie> oklokok: At least with the noise you'll have some sort of advance warning when it turns evil and comes to murder you. 20:44:51 <oklokok> i mean, it's an electronic gizmo dizmo, so it has a light 20:45:03 <fizzie> (All robots do that sooner or later, it's like a law or something.) 20:45:21 <AnMaster> fizzie, it could stop the noisy part until it moved up just right behind you 20:45:43 <fizzie> I guess it could. Hmmmm, now I'm not sure we dare to get one. 20:45:53 <AnMaster> fizzie, why doesn't normal computers turn evil too? 20:46:19 <AnMaster> fizzie, I mean, they likely have way more computational resources than that. 20:46:33 <AnMaster> the only difference is that it isn't on wheels 20:46:40 <AnMaster> (or legs or whatever) 20:46:47 * AnMaster imagines a thinkpad with wheels 20:46:50 <oklokok> <lame> they do, it's called windows </lame> 20:47:09 <AnMaster> oklokok, isn't that thing just a joke? 20:47:25 <fizzie> Speaking of which, the company (iRobot) *does* make also some sort of development platform, that's basically a Roomba without the "noisy part", i.e. the cleaning machinery. There's just a microcontroller you can program to do whatever you want, and some sort of empty space to put whatever you want in. 20:47:36 <oklokok> anyway computers couldn't really kill people, the law actually states that everything that thinks, and can kill, eventually will 20:47:38 <AnMaster> I mean, they pre-install this joke windows so as to not end up in a distro flamewar just becaused they selected kubuntu instead of ubuntu 20:47:39 <AnMaster> or such 20:47:41 <fizzie> http://store.irobot.com/shop/index.jsp?categoryId=3311368 -- their website is a bit messy, though. 20:47:44 <AnMaster> right? 20:47:53 <oklokok> AnMaster: yes, it's just alme 20:47:53 <oklokok> (sic) 20:48:02 <oklokok> oh 20:48:05 <oklokok> that's what you meant 20:48:11 <AnMaster> alme? 20:48:14 <oklokok> alme. 20:48:21 <AnMaster> I don't get the joke 20:48:36 <fizzie> The joke was too alme for you to ge.t 20:48:37 <oklokok> that's ok 20:48:46 <AnMaster> fizzie, ge.t? 20:48:48 <AnMaster> ;P 20:49:08 <AnMaster> <oklokok> anyway computers couldn't really kill people, the law actually states that everything that thinks, and can kill, eventually will <-- do robots think? 20:49:13 <AnMaster> well I guess it depends 20:49:32 <oklokok> fizzie: so does it like learn the apartment? 20:49:32 <oklokok> like where rooms are 20:49:36 <AnMaster> imagine some simple one that was designed out of Lego. I have programmed for RCX. No way it could think 20:49:38 <oklokok> and systematically clean it 20:50:39 <oklokok> AnMaster: your mom doesn't think 20:50:49 <fizzie> oklokok: The actual Roomba? No; in fact, as far as I know, it decidedly doesn't try to learn it at all. There's just some messy heuristics involved, and a lot of random-walking around. They claim that makes it more robust. 20:51:08 <oklokok> mmkay, it looked pretty idiotic in the cat vid 20:51:28 <fizzie> Yes, well, our cat is not the most clever thing ever either. They could suit each other just fine. 20:52:21 <AnMaster> that seems very illogical way to do it 20:52:23 <fizzie> Anyway, doesn't a two-dimensional random walk eventually cover the whole plane? I think it does. (I have no idea how it does for differently-shaped polygonal enclosed regions, though.) 20:52:32 <oklokok> yes 20:52:41 <AnMaster> logical way is to build a map as you go along, and update it if you notice changes 20:52:57 <oklokok> and i'm sure it covers all polygons as well 20:53:01 <AnMaster> like when you pass near where there was a chair leg before, see if there is still anything there with your sensors 20:53:14 <AnMaster> if not, clean there too 20:53:16 <AnMaster> and so on 20:53:38 <AnMaster> <fizzie> Anyway, doesn't a two-dimensional random walk eventually cover the whole plane? I think it does. (I have no idea how it does for differently-shaped polygonal enclosed regions, though.) <-- I think one key word here is "eventually" 20:53:39 <oklokok> well umm 20:53:39 <oklokok> actually 20:53:44 <oklokok> it's obvious that it covers any finite region 20:53:59 <fizzie> AnMaster: It's just that the thing can't really know where it is started from, and anyway that sort of stuff is nontrivial. I'm sure their engineers have better sort of things to do. 20:54:03 <oklokok> for infinite regions, we know it covers the whole infinite plane 20:54:18 <AnMaster> fizzie, "eventually" monkeys + typewriters = shakespear. Even in a finite number 20:54:22 <AnMaster> "eventually" 20:54:42 <fizzie> AnMaster: Yes, but for most apartments, this is a lot smaller "eventually" we're talking about here. 20:54:44 <oklokok> but not so sure about infinite polygons 20:54:45 <AnMaster> <fizzie> AnMaster: It's just that the thing can't really know where it is started from, and anyway that sort of stuff is nontrivial. I'm sure their engineers have better sort of things to do. <-- try to match it against previous map 20:54:55 <AnMaster> see if you get a good enough fit 20:55:08 <oklokok> at least if you have a few teleports you could simulate a 3d topology with it 20:55:12 <oklokok> :P 20:55:21 <AnMaster> fizzie, or use a GPS maybe. Not sure if that is accurate enough (even assuming you can get a signal indoors, I usually can that at least) 20:55:23 <oklokok> and in 3d a random walk does not cover the plane 20:55:57 <fizzie> GPS is very much not accurate enough for that, and anyway it would cost to add a GPS receiver. 20:56:05 <AnMaster> true 20:56:16 <fizzie> http://mathworld.wolfram.com/PolyasRandomWalkConstants.html was in fact the result I was sort of remembering. 20:56:27 <AnMaster> fizzie, anyway you could have some sort of "reset maps, we moved to a different apartment" button 20:57:01 <oklokok> yeah 20:57:07 <fizzie> So if you live at point P on the infinite plane, and kick off the Roomba, it'll eventually come back to you. (That might be a rather long "eventually" here.) 20:57:39 <oklokok> but that doesn't say anything about infinite polygons 20:57:46 <fizzie> Anyway, I am under the impression that some of the other robotic vacuum thingies do build maps too. 20:58:05 <AnMaster> fizzie, no it won't 20:58:10 <AnMaster> because it has finite battery 20:58:19 <AnMaster> so it *may or may not* come back 20:58:21 <oklokok> although intuitively it seems restricting the map would just make it harder to get away from the origin... 20:58:33 <fizzie> AnMaster: Well, you have to assume an ideal Roomba here. 20:58:38 <AnMaster> fizzie, ah. 20:58:39 <fizzie> Ah, here's the justification I was looking for: 20:58:41 <fizzie> Unlike the Electrolux Trilobite vacuuming robots, Roombas do not map out the rooms they are cleaning. Instead, they rely on a few simple algorithms such as spiral cleaning, wall-following and random walk angle-changing after bumping into an object or wall. This design is based on MIT researcher and iRobot CTO Rodney Brooks' philosophy that robots should be like insects, equipped with simple control mechanisms tuned to their environments. The result is that 20:58:41 <fizzie> although Roombas are effective at cleaning rooms, they take several times as long to do the job as a person would, usually covering some areas many times and others only once or occasionally not at all. 20:59:12 <AnMaster> #esoteric, the only place where discussing a vacuum cleaner robot on an infinte plain will ever happen 20:59:57 <AnMaster> fizzie, which seems quite pointless. I want things properly cleaned 21:00:03 <oklokok> i haven't actually seen proof of the random walk + plane thing, would probably make it easier to see if the probability stays at 1 if you restrict the path 21:00:49 <fizzie> AnMaster: Well, you're a deterministic sort of a person. Statistically speaking they do clean things properly, the differences even out. 21:01:05 <oklokok> on R^2, i imagine a random curve would return to any open ball around the origin 21:01:28 <oklokok> and probably by adding an infinite amount of circles on the plane, each having a smaller hole than the last 21:01:30 <AnMaster> fizzie, what is the time complexity of roomba cleaning in a finite room though? 21:01:35 <oklokok> or something like that 21:02:14 <oklokok> you could make the probability of getting from x to y to < 1... i think... maybe 21:02:33 <fizzie> Also, I like this part: "After a certain amount of time -- the Roomba stops and sings a few triumphant notes. If a homebase is detected, a second- or third-generation Roomba will try to return to it. -- If at any time the unit senses that it has become stuck, no longer senses the floor beneath it, or it decides that it has worked its way into a narrow area from which it is unable to escape, it stops and sounds a mournful tone to help its owner find it." 21:02:39 <fizzie> That's just somehow so cute. 21:02:49 <oklokok> if it was like more probable to always get to an outer circle than an inner one 21:02:52 <fizzie> A mournful tune! 21:03:06 * ais523 vaguely wonders what would cause a failure to sense the floor 21:03:19 <Deewiant> Somebody turning it upside down 21:03:37 <fizzie> Or running down the stairs and ending up upside-down; though it's supposed to avoid stairs normally. 21:03:58 <AnMaster> fizzie, hm... a mapping robot would avoid those issues 21:04:19 <AnMaster> well, not during initial mapping 21:04:40 <fizzie> I do think a mapping robot can also get stuck or confused just fine; the real world is a fuzzy thing. 21:04:42 <AnMaster> but it could be built to detect with ultrasound or radar if there was somewhere it wouldn't firt 21:04:45 <AnMaster> fit* 21:04:48 <AnMaster> and then back up 21:04:55 <AnMaster> fizzie, radar 21:05:18 <AnMaster> well or ultrasonic 21:05:29 <AnMaster> http://en.wikipedia.org/wiki/Electrolux_Trilobite seems to have an ultrasonic sensor 21:05:57 <fizzie> "This object detection is fairly reliable, but sometimes fails if the robot approaches an object with a sharp corner." 21:06:04 <fizzie> See, it's not a clear-cut thing. 21:06:20 <AnMaster> fizzie, true. but that is where mapping helps after the initial mapping run 21:06:37 <fizzie> I'm not sure your ideal robotic vacuuming device is very cost-efficient. There's a point of diminshing returns somewhere in the piling up of intelligence on it. 21:06:45 <fizzie> (But certainly mapping is a viable strategy too.) 21:07:23 <AnMaster> fizzie, mapping shouldn't be too expensive, memory is cheap and the programming for it only need to be done once 21:07:39 <fizzie> You need to pay a lot for competent programmers. :p 21:07:47 <fizzie> Besides, a mapping robot is decidedly closer to a planning robot, and a planning robot is again closer to a scheming robot, and a scheming robot is just a couple of short steps from the robotic revolution. 21:08:13 <Deewiant> Even if it's not too expensive, the idea is that it's not too useful 21:08:30 <fizzie> "When we reported about the new Electrolux Trilobite 2.0 Vacuum robot last Friday, we asked the question why this vacuum robot ($1,799 at Amazon.com) is about 10 times more expensive than the iRobot Roomba ($159.99 at Amazon.com)." (This is from 2004, though.) 21:09:18 <ais523> fizzie: a scheming robot would be closer to being properly functional 21:09:33 <AnMaster> fizzie, sure I didn't say the ultrasound sensor *wasn't* expensive 21:09:40 <AnMaster> I just said that mapping isn't a lot more expensive 21:09:40 <fizzie> Also; the serial interface of the Roomba is documented, you can easily provide as much intelligence as you like by sticking some additional hardware on top. 21:09:52 <AnMaster> okay that is niec 21:09:54 <AnMaster> nice* 21:10:20 <AnMaster> fizzie, anyway it seems the trilobite gets the job done quicker 21:10:25 <AnMaster> unless I misunderstood things 21:11:19 <Deewiant> The advantage there is mostly power saving, since the idea is to leave it on for the 8 hours you're at work or whatever 21:12:14 <fizzie> I'm not sure we want to spend a four-digit number of euros on it, also. (Some Finnish price-comparison site lists the ZA 2 /2.0 Trilobite at 1259 EUR.) 21:12:21 <AnMaster> Deewiant, what about home office? 21:12:48 <Deewiant> Not the target market. 21:12:59 <fizzie> Supposedly it's also somewhat more noisy. (But also sucks more, in the "good" sense.) 21:13:21 <fizzie> This is all just hearsay from reviews, though. I'd like to hear both myself somewhere. 21:14:43 <AnMaster> fizzie, useful for people who are allergic to various things (like me) 21:15:16 <AnMaster> (getting rid of the damn pollen every spring is a high priority for me at least) 21:23:56 -!- MigoMipo has quit. 22:12:34 -!- augur has joined. 22:14:20 <SimonRC> initial response: "I see the reversed-text thing, but why did they badly photoshop lips onto John's girlfriend?" After looking at the original: "Oh, Jim Davis really did draw them that badly." http://www.mezzacotta.net/garfield/?comic=207 22:21:09 * SimonRC continues memorising a 20-char random password for work 22:21:20 <AnMaster> SimonRC, joke? 22:21:29 <SimonRC> no 22:21:33 <Rembane> SimonRC: Tattoo it on your forearm! 22:21:40 <AnMaster> SimonRC, why did you choose something that long 22:21:46 <SimonRC> to show off 22:25:51 <AnMaster> SimonRC, you aren't supposed to show off passwords 22:25:56 <AnMaster> they are supposed to be secret 22:26:01 <AnMaster> that is the whole point 22:28:32 -!- Slereah has joined. 22:29:54 -!- Slereah_ has quit (Connection timed out). 22:37:56 <SimonRC> you can boast about the length though 22:37:58 <SimonRC> ;-) 22:51:12 -!- immibis has joined. 23:08:31 -!- ais523 has quit (Remote closed the connection). 23:08:56 -!- immibis_ has joined. 23:11:17 -!- immibis_ has quit (Read error: 54 (Connection reset by peer)). 23:11:32 -!- immibis_ has joined. 23:13:47 -!- immibis_ has quit (Client Quit). 23:15:50 -!- immibis has quit (Read error: 60 (Operation timed out)). 23:24:32 -!- oerjan has joined. 23:28:11 <oerjan> 18:03:36 <ehird> Or a small subset that dictate things. 23:28:27 <AnMaster> oerjan, iwc 23:28:29 <AnMaster> and now 23:28:30 <AnMaster> night 23:28:32 <AnMaster> → 23:29:19 <oerjan> i do recall reading the haskell committee had a daily designated syntax dictator, who had the final word on all syntax issues 23:29:42 <oerjan> i'm sure this helped immensely 23:33:15 <oerjan> see also: wadler's law 23:52:05 <SimonRC> anyone here know any Forth? 23:52:55 <oerjan> 2 2 + . 23:53:04 <oerjan> and that's about it ;) 23:53:10 <SimonRC> you know about /mod, right? 23:53:30 <oerjan> no, is it something like haskell's divmod? 23:53:57 <oerjan> *divMod 23:54:01 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 23:54:02 <SimonRC> a bit yeah 23:54:17 <SimonRC> I just realised I have a better place to ask my question 23:54:18 <SimonRC> nvm 23:54:30 <oerjan> go #forth and divide 23:55:51 -!- augur has changed nick to augur[hw].