00:04:30 Question: 00:04:39 Does "Code" fall under "Documents"? I don't think so. 00:04:45 I'm glad we agree. 00:06:01 -!- CakeProphet has joined. 00:11:40 -!- olsner has quit (Remote closed the connection). 00:21:43 -!- GregorR has quit (Read error: 110 (Connection timed out)). 00:44:46 -!- jix has quit ("..."). 01:11:50 -!- CakeProphet has quit (Read error: 60 (Operation timed out)). 01:37:20 -!- GreaseMonkey has quit ("Client Excited"). 01:38:51 -!- SchrodingersCat has joined. 01:39:08 -!- SchrodingersCat has left (?). 02:09:09 -!- GreaseMonkey has joined. 02:28:27 -!- Corun has quit ("This computer has gone to sleep"). 03:21:03 -!- Sgeo has joined. 03:57:35 -!- chuck has joined. 04:45:09 -!- GregorR has joined. 04:45:23 Power outages RULE 04:45:37 Lawlz. 05:05:15 Bye all 05:06:33 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 06:04:13 -!- Dewio has joined. 06:16:59 -!- Dewi has quit (Read error: 101 (Network is unreachable)). 07:40:37 does anyone run unlambda here? 07:47:19 Slereah2: CAN YOU LINK ME TO A PIRRRRRRRRATED TO MOCK A MOCKINGBIRD I KNOW YOU CAN DO IT 07:54:58 looking at it from google, i may have misunderstood the kind of book it is. 07:56:42 oh, two-part book, second part cl, i see i see 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:21 Closest torrent I find is "To kill a mockingbird", a crime drama movie from 1962. 08:01:45 yeah 08:02:05 closest i found to the book was google's version, which was the part just before combinators 08:02:31 i want to combinator! :< 08:02:55 of course i could probably get the same pleasure from just memorizing the combinator birds 08:03:03 maybe i'll do that this weekend 08:03:14 * oklopol dancessss 08:03:34 anyway U ~> 08:16:48 http://pici.se/363479/ 08:23:04 -!- GreaseMonkey has quit ("Client Excited"). 08:41:15 -!- Deewiant has quit (Read error: 60 (Operation timed out)). 08:43:13 -!- Deewiant has joined. 09:27:31 -!- Slereah has joined. 09:32:00 -!- ais523 has joined. 09:38:20 -!- Slereah2 has quit (Read error: 110 (Connection timed out)). 10:02:26 The risk adjusted net present value of unicorns is basically 0 because the risk of their not existing is close to 1. 11:45:26 -!- ais523 has quit (Remote closed the connection). 12:10:38 -!- ais523 has joined. 12:54:28 -!- ais523 has quit (Read error: 60 (Operation timed out)). 12:55:38 -!- ais523 has joined. 13:01:52 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 13:01:54 -!- ais523_ has joined. 13:03:26 -!- ais523_ has changed nick to ais523. 13:05:16 -!- ais523_ has joined. 13:05:22 -!- ais523 has quit (Nick collision from services.). 13:05:28 -!- ais523_ has changed nick to CallForJudgement. 13:23:54 -!- CallForJudgement has quit. 13:24:05 -!- CallForJudgement has joined. 13:24:30 -!- CallForJudgement has changed nick to ais523. 13:33:41 hi! 13:34:14 [13:32:49] [07:14:53] Hey...I run a site called Rosetta Code, and I was reviewing one of the pages there. There's a strange bit of text in one of the J examples, and I can't tell if it's normal output or vandalism. 13:34:14 [13:32:49] [07:15:22] http://rosettacode.org/wiki/Character_code#J 13:34:24 [13:32:49] [07:15:57] At the bottom of the second code block, the string "cdefghijklm" looks suspiciously like someone pounding on the home row. 13:34:25 [13:32:49] [07:16:37] I'm almost certain it's in error, but I have a hard time reading J to be sure. 13:34:26 -- jsoftware 13:35:08 hi ehird 13:35:10 hi 13:35:39 and I love that, just like if someone vandalised TECO probably nobody would ever know 13:35:46 unless it was well-commented 13:36:21 it wsa actually the correct output :D 13:36:29 even better 13:36:31 [13:32:49] [07:45:14] shortc|laptop: that's not the home row, that's eleven characters starting with code 99 13:36:32 [13:32:49] [07:45:32] doh. 13:36:33 [13:32:49] [07:45:40] That's what I get for doing this stuff at 3AM. 13:36:34 [13:32:49] [07:45:45] Thanks for the double-check. :-) 13:36:40 I noticed it wasn't the home row, too 13:36:45 although it's close 13:38:54 Uh oh, I crashed Safari... 13:38:58 how? 13:39:08 Well, it was on Gmail. 13:39:20 Probably I triggered some weird JS codepath that made it busy-loop. 13:39:43 Gmail saved my draft, anyway/ 13:43:50 Hmm. I hope Time Machine compresses backups. 13:44:05 Even with a 1TB backup drive, I have like 150GB of stuff on here. 13:44:22 ais523, btw I realised it wasn't basically a rsync frontend 13:44:29 because rsync can't both do --update and also store the old version 13:44:36 ah, ok 13:44:38 i.e., it can't just store what's changed in a new section 13:44:47 (with, I presume, occasional full snapshots) 13:44:53 and I'm pretty sure that there's at least one common open source backup program that can, I forget which one 13:45:10 yes, almost certainly, it's a rather obvious idea 13:48:17 one silly gripe: the 3d dock is inaccurate, from a physics point of view, and it breaks the perspective guidelines (how is the preview two-photos icon standing by a corner of the photo?) 13:48:18 http://turbomilk.com/blog/cookbook/criticism/physics_still_matter_even_with_special_effects/ 13:48:39 to get it right you'd need variations of every icon for (position in dock, length of dock) 13:48:41 :D 13:51:41 nah, you just need 3D icons 13:51:53 then you can project them to the right perspective 13:52:04 that too 13:52:10 but I think I prefer the infinite pngs 13:52:18 maybe run a program with that tuple as the argument 13:52:21 and make it output a png 13:54:24 -!- Sgeo has joined. 13:54:45 DNS over HTTP over UDP. 13:54:47 Dis-CUSS. 13:55:23 why the HTTP? 13:55:32 come to think of it, that's as stupid as BGP over TCP 13:56:19 ais523: because HTTP solves every problem, including finding the IP of a domain to contact it over HTTP. 13:56:47 also, who even suggested that? and why? 13:56:56 I did. And because my brain is currently in wtf mode. 13:57:08 you should look up BGP, some time 13:57:23 it's a routing protocol designed to be politically inoffensive rather than good 13:57:57 basically, it's designed to make sure traffic gets from one bit of the internet to another despite the various networks en route all disagreeing about which way the packet should go 13:58:34 hah 13:58:35 ehird@rutian:/home/bsmnt/python_chroot/bot$ sudo rm -r scripts 13:58:36 rm: cannot remove directory `scripts': Device or resource busy 13:58:38 ^ fuck the what 13:58:51 (I'm removing bsmnt_bot because I'm too lazy to get it working without reconnecting and meh) 13:58:52 ehird: is something cded into that directory? 13:58:58 ais523: maybe. 13:59:08 daemons are supposed to cd / for that reason 13:59:27 not that I can tell though 13:59:32 how can I --really-force 13:59:45 kill the process that's in that directory 13:59:53 i don't know which 13:59:58 there's some easy way to find out 14:00:04 lsof | grep would work, probably 14:00:04 how helpful :P 14:00:07 don't have lsof 14:00:14 i _could_ install it :P 14:00:18 how do you not have lsof? 14:00:28 this is a base server install, it doesn't even have man(1) 14:00:44 (I'm pretty sure that violates POSIX) 14:00:52 ls -l /proc/*/cwd | grep 14:00:54 ehird@rutian:/home/bsmnt/python_chroot/bot$ lsof | grep scripts 14:00:54 ehird@rutian:/home/bsmnt/python_chroot/bot$ 14:00:54 in that case 14:01:33 also, you mean cat 14:01:43 nope, cwd is a symlink 14:01:51 so you have to dereference it somehow 14:02:15 you probably don't have readlink due to being on a server, so you either need the cd pwd trick in a loop, or ls 14:02:33 ah 14:02:39 "Time Machine saves the hourly backups for the past 24 hours, daily backups for the past month, and weekly backups for everything older than a month." 14:02:44 hmm, I thought it stored backups forever 14:02:57 it does, just not all of them 14:03:05 based on that 14:03:18 right 14:03:31 did the proc/*/cwd trick help? 14:03:36 no, I pasted the lsof output 14:03:42 [14:00:53] ehird@rutian:/home/bsmnt/python_chroot/bot$ lsof | grep scripts 14:03:42 [14:00:53] ehird@rutian:/home/bsmnt/python_chroot/bot$ 14:03:51 oh, you need to sudo it if it's running as a different user 14:03:54 oh 14:03:54 "Time Machine creates links to any unchanged files, so when you travel back in time you see the entire contents of your Mac on a given day." <- cute trick 14:04:05 yep, hardlink backups have been around for ages 14:04:10 yeah 14:04:32 ehird@rutian:/home/bsmnt/python_chroot/bot$ sudo lsof | grep scripts 14:04:32 ehird@rutian:/home/bsmnt/python_chroot/bot$ 14:05:07 Backing up to a full disk. 14:05:18 One day, no matter how large your backup drive is, it will run out of space. And Time Machine has an action plan. It alerts you that it will start deleting previous backups, oldest first. Before it deletes any backup, Time Machine copies files that might be needed to fully restore your disk for every remaining backup. (Moral of the story: The larger the drive, the farther back in time you can back up.) 14:05:19 Non-reality distortion field translation: 14:05:29 "We will threaten you with destroying your backups so you quickly buy a new drive." 14:06:01 well, it has to do /something/ when you run out of backup space 14:06:17 the Windows solution is to delete all but the most recent backup, which is not very encouraging 14:07:08 i'd make it pop up going "Your backup drive is full. Delete some backups or get a new drive or something. Meanwhile I'll sit here doing nothing." 14:07:27 but then you wouldn't have your backups every hour 14:07:48 buy a new harddrive within an hour :P 14:08:11 I'm kind of a rabid archivist so I guess it doesn't make sense for others. 14:08:35 Still, with a 1TB external drive I think it'd take me rather a while to fill that up... 14:09:04 * ehird reboots rutian to see if the scripts dire 14:09:09 ctory will be deletable 14:09:14 ctory? 14:09:19 see previous line 14:09:22 [14:09:04] • ehird reboots rutian to see if the scripts dire 14:09:22 [14:09:08] ctory will be deletable 14:09:28 also, you could always try moving the directory into /tmp 14:09:30 then rebooting 14:09:32 the scripts folder is rather weird 14:09:33 ehird@rutian:/home/bsmnt/python_chroot/bot$ ls -lh 14:09:33 total 1.0K 14:09:33 drwxrwxrwx 2 1343 root 1.0K Feb 12 13:57 scripts 14:09:37 it's also empty 14:09:46 mv: cannot move `scripts' to `/tmp/scripts': Device or resource busy 14:09:46 even with ls -a? 14:09:58 $ ls -lah scripts 14:09:58 total 5.0K 14:09:58 drwxrwxrwx 2 1343 root 1.0K Feb 12 13:57 . 14:09:58 dr-xr-xr-x 3 1001 1001 4.0K Feb 12 13:57 .. 14:10:06 ok, that's weird 14:10:15 -!- ehird has quit ("Caught sigterm, terminating..."). 14:10:22 ... 14:11:03 -!- ehird has joined. 14:11:51 -!- ehird has quit (Client Quit). 14:12:17 I wonder what's happening to ehird? 14:13:22 -!- ehird has joined. 14:13:50 wb ehird 14:14:02 ah, your rebooting messed the bounder? 14:14:04 *bouncer? 14:14:04 hi 14:14:32 huh? 14:14:40 the bouncer runs on the server 14:14:41 you quitted IRC twice 14:14:46 did I? 14:14:47 and I thought you were rebooting the eserver 14:14:53 hm. who knows 14:15:04 <-- ehird has left this server ("Caught sigterm, terminating..."). 14:15:12 that's the message your bouncer gives when someone sigterms it 14:15:15 must have repeated a kill line from the history 14:15:21 (ctrl-r by mistake) 14:15:27 or it may hvae crashed 14:39:04 ... Time Machine will version my .git directories. That will be ... interesting. 14:41:20 Gah, I need zsh. Can't take bash any longer. 14:41:31 MacPorts or manual compile ... MacPorts. 14:41:37 you should be proficient with a range of shells, ideally 14:41:44 even csh, in case you're stuck using it 14:42:05 I can use bash, I just don't _want_ to 14:42:10 Can't use csh though, thank god. 14:42:26 the CDE computers here are tcsh by default 14:42:46 I wonder how long it took to make the Stacks in the dock fold out line the leaning tower of pisa 14:44:04 probably not all that long 14:44:12 Too much time :P 14:44:57 Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /Users/ehird"). 14:44:59 vut 14:45:08 oh, I need to sync. I think. 14:45:31 oh 14:45:34 I forgot "zsh" 14:45:34 :x 14:45:45 MacPorts is written in Tcl./ 14:45:47 I wonder why. 14:47:10 configure: error: C compiler cannot create executables 14:47:15 Ah. Methinks I need the developer tools. 14:49:15 ehird: ur dum lol! 14:49:23 very 14:49:24 run df 14:50:08 bsmntbombdood: no, I don't have a C compiler 14:50:09 :P 14:50:12 is the issue 14:50:22 i mean for bsmnt bot 14:50:28 oh. 14:50:37 bit late now 14:50:43 i was asleeping 14:50:56 was scripts mounted? 14:51:00 that would explain it 14:51:08 yeah 14:51:40 i knew it was a weird directory :P 14:54:12 fuck! 14:54:19 this disc doesn't have the developer tools 14:54:25 * ehird trudges off to get it from adc 14:54:38 is it a legitimate disk? 14:54:50 no, but the problem is that it's disc 1, the install disc 14:55:00 instead of disc 2, the Things You Need To Actually Be Able To Use This disc. 14:55:56 there we go, downloading 14:56:05 holy carp it's 996MB. 14:56:12 why isn't this bundled with the os. geez. 14:56:13 that won't fit on a CD 14:56:53 ais523: OS X install disc = dual-layer DVD 14:56:58 ok 14:57:09 iirc it's about 7.5 GB used out of 8.5 14:57:12 so it would fit 14:57:31 http://tunes.org/legalese/bugroff.html <--this is even better than the WTFPL 14:58:38 although the "all lawyers suck" sentiment is stupid. 15:07:13 ais523: you've used OCaml, right? 15:07:33 yes, I'm doing a uni project with it atm 15:12:09 ais523: is it as crap as they say 15:12:10 ? 15:12:18 it has various troubles 15:12:25 the most annoying is the lack of any sort of operator overloading 15:12:32 or automatic coercion 15:12:43 in Perl, you have eq that's different from == 15:12:48 for comparing strings vs. numbers 15:12:54 that's fine, you need it as it's weakly typed 15:13:03 in C, you have / for int vs. / for float 15:13:08 which is also fine, as it's strongly typed 15:13:08 ocaml has no typeclasses right? 15:13:15 OCaml is strongly typed (without typeclasses) 15:13:15 that's why you pay homeage to slashdot all the time 15:13:17 (/.) 15:13:24 yeah that's really stupid 15:13:25 yet it requires a different operator for everything, it seems 15:13:28 and normally a cast too 15:13:41 also, it's strictly evaluated and non-pure. 15:13:47 which is also kinda stupid for a functional language. 15:13:53 it's an imperative language too 15:13:59 and an OOP language 15:14:02 it's specifically designed to be both imperative and functional 15:14:07 the OOPness I haven't learnt 15:14:15 so although I'm writing OCaml, I'm only really using Caml 15:14:18 -!- KingOfKarlsruhe has joined. 15:15:02 ais523: function arguments are evaluated right to left 15:15:07 because it's efficient for stack usage 15:15:13 that's just awful in an imperative language... 15:15:18 I try not to rely on any order of evaluation 15:15:25 except the fact that a;b runs a before b 15:15:30 it's less confusing that way 15:15:42 I'll stick to Common Lisp for my functional/imperative mix. 15:18:16 ais523: is ocaml as fast as claimed? 15:18:32 it's pretty fast 15:18:40 I'm doing all sorts of ridiculous things that should be slow 15:18:52 like 15:18:56 but they're running so quickly I can't tell how fast they're running 15:19:05 and like solving a maze by random walk 15:19:10 nice 15:19:11 (or the programming equivalent) 15:19:14 what's the project? 15:19:22 compiling imperative languages into hardware 15:19:34 which has basically become compiling functional languages with some weird restrictions into hardware 15:19:43 ah right 15:19:58 ais523: what lang are you compiling? You've mentioned it, care to show e.g. factorial function? 15:20:18 well, it's a functional lang with no recursion 15:20:23 there are restrictions to make it turing-incomplete 15:20:33 ais523: so presumably you need to do an imperative loop for factorial 15:20:34 you have imperative loops instead, which are converted into tail-recursion 15:20:40 right 15:20:45 so what does factorial look like? 15:20:49 also, I'm working mostly on the intermediate representation 15:20:56 so I'd have to look up what the syntax for a loop is 15:20:56 ok 15:21:01 in the original source 15:21:07 is it basically just: 15:22:01 fun fact(n : integer) : integer; i = 1; loop (n != 0) with (n = n - 1); i *= n; end; end? 15:22:06 i.e. nothing special 15:22:13 yep, pretty much 15:22:27 what computational c lass is it? 15:22:34 bounded-storage 15:22:44 is that the most powerful sub-TC level? 15:22:48 no 15:22:54 ah, is such a concept undefined? 15:22:56 it's equivalent to finite-state-machine, which is one of the lowest 15:23:11 but it means, in practice, "something which would be TC except it doesn't have infinite memory" 15:23:22 I'm interested in nearly-TC languages, specifically, total functional programming languages 15:23:33 you know how in FP langs, all values are actually (value or _|_)? 15:23:36 where _|_ = bottom 15:23:37 e.g. 15:23:38 x = x 15:23:41 that's _|_ 15:23:44 x = error "nooooo" 15:23:46 also _|_ 15:23:57 func "a value its pattern matching doesnt handle" 15:23:59 also _|_ 15:24:00 I'm not really aware of how fixed-point languages work 15:24:05 not FP 15:24:07 functional programming 15:24:19 ah 15:24:22 anyway, a total FP language is one without _|_ 15:24:41 all pattern matches must be complete, every program halts, and there are no errors apart from with types like (Either Error Result) 15:24:55 the one I'm working with is one of those, apart from the every program halts bit 15:25:03 I've read a paper which suggests to me that you can actually make such a language useful for most tasks 15:25:09 if a program doesn't halt, it's in an infiniloop so there's no way to tell what its return value is 15:25:23 what i'm thinking about is making a combinator base like ski 15:25:27 except that you can only write total programs in 15:25:28 also, I love the way that all the data types are syntactic sugar for multiple booleans 15:25:30 apart from functions 15:25:38 that is, the machine code for a total FP lang 15:25:40 and that would be neat 15:25:51 hmm... are total FP langs necessarily reversible? 15:25:53 I'd guess no 15:25:55 no 15:25:59 f n = 0 15:26:05 bam, irreversable function 15:26:08 ah, ofc 15:26:21 although reversibility IS a nice property, 15:26:27 I'm not sure total FP + reversability would be useful at all 15:26:34 make a functional lang that compiles into BackFlip 15:26:43 just for the fun of it 15:26:52 can I just gnaw on my toenails instead? that'd be less painful :P 15:27:01 * ehird looks upb ackflip 15:27:05 eek 15:27:10 something non-2d would be easier :P 15:27:15 Unassignable, then 15:27:30 which has been proved to be compilable into backflip 15:27:35 and which is actually quite fun to write 15:28:03 One of the worst parts in XSLT is its verbosity (it's a dysfunctional purely functional language, yet building the structure for a recursive function that takes a single argument and doesn't do anything takes like 8 lines) 15:28:29 ok, Unassignable looks pretty usable 15:28:42 it's the only reversible guaranteed-termination OO lang I know of 15:28:51 Error: Target org.macports.activate returned: Image error: /opt/local/bin/zsh is being used by the active zsh-devel port. Please deactivate this port first, or use the -f flag to force the activation. 15:28:58 fuck on earthhhhhhhhhhhh 15:29:03 Archive and Install is so crap 15:29:06 it doesn't delete everything properly 15:29:09 it thinks I have stuff installed 15:29:11 ehird: where else would you expect to fuck? 15:29:15 space. duh. 15:29:28 also, fuck on earth = wtf x 1000 15:29:46 bournemouth:~ ehird$ sudo rm -rf /opt 15:29:49 that should do it 15:30:39 sure is taking a while 15:30:48 hmm... I'm not the sort of person who'd do something like that, I don't think 15:31:04 I would find it really amusing if rm was in /opt. or sudo was. 15:31:10 although that's unlikely 15:31:16 ais523: archive and install is meant to move the whole system to /Previous Systems/, then install a clean one 15:31:23 unfortunately, it didn't handle macports. 15:31:26 or some settings. 15:31:32 so it's kind of confused about what it has. 15:33:12 * ehird tells finder to calculate the size of /opt/local 15:33:17 it's taking a while to rm... 15:33:24 0, obviously, you're deleting it 15:33:30 nope 15:33:34 also why not delete /opt/local not /opt? 15:33:34 it's in the middle of deleting it 15:33:44 because /opt only contains local/ 15:33:50 ah, 2.4GB left 15:33:50 -!- BeholdMyGlory has joined. 15:34:02 a lot of my installed ports are worthless anyway 15:34:08 e.g., ruby and python now come with the os 15:34:15 1.7GB left... 15:34:59 500MB... 15:35:16 200MB 15:35:35 10MB 15:35:38 bam 15:36:27 "Installing this software requires no additional space" 15:36:28 erm... 15:37:05 It is exactly 0 byte long. 15:38:23 No ports are installed. 15:38:24 hooray 15:45:05 -!- MigoMipo has joined. 15:47:25 ais523: I'm going to write a factorial program in Unassignable. 15:47:31 have fun 15:47:36 it is possible, right? 15:47:38 yep 15:47:45 that binary-to-decimal took me long enough, though 15:47:55 I'll just output in unary 15:48:06 using your program as the base 15:48:15 it's not output that's the problem, I suspect, it's the multiplication 15:48:22 err, why is mainloop an integer? 15:48:23 trying to reset state afterwards could be fun 15:48:28 ehird: it's a loop 15:48:36 loops can only exist as methods on integers 15:48:36 ah 15:48:39 "loop this many times" 15:48:47 and you can't change the integer during the loop 15:49:01 the general rule is that if you're inside a method of an object, you can't change, or even mention, the object itself 15:49:07 because that would be recursion, and that would be wrong 15:49:12 (X must be a power of 2). 15:49:15 ok, that_is_ an issue 15:49:24 you can work around it 15:49:32 how? 15:49:35 there's a pair of variables in my binary-to-decimal which simulate an x of 10 15:49:45 basically, you have two variables, one the power below, one the power above 15:49:47 which binary to decimal 15:49:47 say 8 and 16 15:49:54 ehird: it's the only example program I give 15:49:57 a counter which outputs in decimal 15:50:00 wrong 15:50:01 http://esolangs.org/wiki/Talk:Unassignable 15:50:05 http://esolangs.org/wiki/Unassignable#Example 15:50:19 ah, the one on the talk page 15:50:24 the other one's probably a syntax example 15:50:36 its a counter 15:50:37 1 15:50:38 11 15:50:38 111 15:50:39 etc 15:50:48 ais523: can X be a variable in increment(X)? 15:50:55 nope 15:50:58 :( 15:51:01 it has to be a constant power of 2 15:51:09 although increment(1); increment(8); is legal 15:51:13 and a trivial way to increment by 9 15:51:17 ah, I've figured out how to do it 15:51:24 num->increment; 15:51:30 then that iterates othernum->increment(1) 15:51:31 or whatever 15:51:33 yes 15:51:53 incidentally, if you need multiple iterators on a single integer, and you normally do 15:52:04 get its iterator to call lots of functions, and disable all but the one you need 15:52:20 I should make a sugared version of Unassignable some day 15:52:36 integer factorial(4294967295)=4294967295; 15:52:43 and it calls a special object that just deactivates it 15:52:44 in its iterator 15:52:48 to break 15:52:54 deactivates what? 15:52:59 it does 15:53:02 factorialkiller->doyourthin 15:53:03 g 15:53:05 and factorialkiller does 15:53:10 factorial->deactivate 15:53:14 er... that's recursion 15:53:19 dog gammit 15:53:27 you can do it 15:53:31 but indirectly 15:53:35 well, that's okay, n! only iterates n times 15:53:39 the iterator, say, is three functions, a, b, and c 15:53:47 so just 15:53:59 integer factorial(6)=6; 15:53:59 integer num(6)=6; 15:53:59 integer factorial(6)=6; 15:54:00 wait, two will do, a and b 15:54:05 to calculate 6! 15:54:07 initially, a's active and b's inactive 15:54:11 a can break by activating b 15:54:23 and b increments a counter that's initially -1, and deactivates a on overflow 15:54:39 you can't activate an inactive function, or deactivate an active function, because that breaks reversibility 15:56:09 ais523: can any function take non-constant args? 15:56:10 e.g. 15:56:10 result->multiply(num); 15:56:13 if I define num 15:56:24 no, all args are constants 15:56:31 butts. 15:56:33 you can use global variables to pass args 15:56:35 yeah 15:56:56 due to no-recursion, you don't have scoping problems if you name the args after the functions 15:58:14 multiplication is hard :< 15:58:21 in unassignable that is :P 15:58:25 yes 15:58:29 since you can't really loop over two v- except... 15:58:30 yes i can 15:58:32 even addition is non-trivial 15:58:36 a += b is trivial 15:58:50 so I suppose you could just do a += b in a loop 15:59:00 you probably want to do a -= b in a loop afterwards to reset a 15:59:21 a += b is trivial? 15:59:27 no it's not 15:59:32 loop on b, incrementing a 15:59:41 yeah but you can't loop that 15:59:44 why not 15:59:44 without copying 15:59:47 and a = b is also a pain 15:59:52 because we're doing multiple iterators 15:59:52 a = b is impossible 15:59:54 andf sjfhdksfhkdfjhsdkfshfkjdf 15:59:59 reversible lang, remember 16:02:01 -!- FireFly has joined. 16:02:45 one problem: 16:02:50 wait, nevermind 16:02:58 it's not an easy language 16:03:20 ok, I've got this program working: 16:03:24 a *= b; 16:03:27 print('1' * a); 16:03:32 is there an interp? 16:03:33 to test it 16:07:48 Copied old '~/.zshrc' to '~/.zshrc.zni'. 16:07:48 *** Internal error: bad type for keymap *** 16:07:48 --- Type a key in forlorn hope --- 16:08:13 ehird: I have a compiler to C++ 16:08:19 but it doesn't enforce the no-recursion rule 16:08:22 to hand? 16:08:34 let me try to find it 16:08:38 I think I know where it is 16:10:12 ok, found it 16:10:27 it seems to be in two parts, a .c file which is the compiler in C, and a .h file which is the header for generated files in C++ 16:11:00 http://filebin.ca/hpckp/una2cpp.tgz 16:11:31 Post that URL to the wiki? 16:11:52 it'll vanish in a few hours 16:11:59 no 16:12:02 filebin links generally persist 16:12:04 it's a temporary pastebin 16:12:05 ooh, I have bsd ls(1) 16:12:06 yum yum 16:12:19 "Files will be kept in a rotating pool of space, and may be removed at any time." 16:12:25 ais523: yes, it's not actually true 16:12:28 I've never had a filebin link expire 16:12:29 -!- oerjan has joined. 16:12:32 so they persist until someone else pastest something big, I guess 16:13:00 beware of what thou pastest 16:13:47 /Users/ehird/Code/esolangs/unassignable/una2cpp 16:13:49 longest path evar 16:14:00 I have longer 16:14:21 Integer has invalid maximum. 16:14:24 including a complete source tree for all the packages in a uclinux distro which is about 6 directories below my home 16:14:25 the max is 4294967295 16:14:28 oh, wait 16:14:30 needs to be 4294967294 16:14:35 err, nope 16:14:37 no, the first value is probably correct 16:14:43 my guess is I wrote int rather than unsigned 16:14:44 then whydit complain 16:14:47 in the compiler 16:15:00 ;_; 16:15:04 it was a quick hack, as you can tell by the state of una2cpp.h 16:15:07 if(fscanf(in,"%lu",&templu)!=1) 16:15:07 { 16:15:07 fprintf(stderr,"Integer maximum is not a number.\n"); 16:15:07 return EXIT_FAILURE; 16:15:07 } 16:15:31 ehird: that's not the error you're getting 16:15:36 oops 16:15:44 and fscanf returns 1 if it inputs 1 input value, so it's a correct check 16:15:52 case 4294967295LU: break; 16:15:52 default: 16:15:52 fprintf(stderr,"Integer has invalid maximum.\n"); 16:16:09 so it should work... 16:16:09 interesting... 16:16:18 function main=activated; 16:16:18 integer a(4294967295)=5; 16:16:18 integer b(5)=5; 16:16:18 integer multiply(5)=5; 16:16:22 that'sthe whole declaration section 16:16:25 ...oh wait 16:16:29 5 isn't allowable 16:16:29 is it? 16:16:32 it's the 5 that's invalid 16:16:36 AAAAAAAAGH 16:16:39 that's not 2^n - 1 16:16:50 look at tenloop in my Talk:Unassignable program, though 16:16:56 that shows how to do an integer with a different maximum 16:17:03 basically, to get an int from 0 to 9 16:17:12 I had an int from 0 to 8 and an int from 0 to 16 16:17:14 wait 16:17:16 the maximum can be anything 16:17:19 I just set it to 5 16:17:20 phew 16:17:28 integer b(7)=5; is legal 16:17:33 yep 16:17:40 b and multiply never change 16:17:46 so that's fine 16:18:09 erm 16:18:11 #define CURCLASS void unatmain:: 16:18:11 run 16:18:11 { 16:18:11 multiply->loop; 16:18:12 a->loop; 16:18:12 } 16:18:18 that is not valid C, surely 16:18:19 C++ 16:18:28 look at the other #defines 16:18:36 it becomes valid C++ once you apply all of them 16:18:36 I think I'll avoid that :P 16:18:39 -!- oerjan has quit ("Reboot"). 16:18:46 #define loop floop() 16:19:14 multiply.cpp:14: warning: this decimal constant is unsigned only in ISO C90 16:19:15 lol 16:19:26 wtf 16:19:28 multiplication doesn't work 16:19:36 ais523: does the loop loop for the maximum 16:19:37 or the value 16:19:39 the value 16:19:44 very odd 16:19:49 but you mustn't change the value during the loop, or even mention it 16:19:58 My program tells me 5 * 5 = 30 16:19:58 paste your program, so I can see what's wrong with it? 16:20:08 [17:13:49] longest path evar <-- I've seen longer, it's called Windows 16:20:17 my guess is you started with 5, then added 5 to it 5 times 16:20:25 ais523: http://pastie.org/private/vvvlhnwhslor4idpdepaow 16:20:27 whereas you need to start with 0 for that to work 16:20:32 ah 16:20:33 ofc 16:20:51 yep, that was it 16:20:58 that makes things a lot more compliated, then 16:21:11 the real trouble in unassignable is resetting variables once you're done with them 16:21:20 you often have to write large parts of your program in reverse 16:23:10 works now 16:23:33 calculates 100 * 576 = 57600 16:23:34 quickly, too 16:23:36 good 16:23:41 now I can write factorial 16:23:46 -!- oerjan has joined. 16:23:52 for the record: 16:23:52 v 16:23:53 http://pastie.org/private/e0z6t3a9k0npupa2nk4lbq 16:24:02 err 16:24:04 it doesn't check limits 16:24:09 but whatever 16:24:10 you can fix them :P 16:24:28 * ehird just sets all limits to 4294967295 16:25:03 as for factorial, note you aren't allowed to iterate on b whilst multiplying by b 16:25:19 the easy solution here is just to get the variable you're iterating on to increase a separate loop counter 16:29:14 -!- Hiato has joined. 16:31:26 gah, my delete key is ^? but zsh wants %H 16:31:27 *^H 16:31:37 use stty to fix it? 16:31:47 no, you use zsh keybindings 16:32:04 factorial.cpp: In member function ‘virtual void unatmain::erun()’: 16:32:04 factorial.cpp:38: error: ‘class unatfactorial’ has no member named ‘fcall’ 16:32:06 vut 16:32:06 oh 16:32:08 well, it depends on what delete key you want for stdio, I suppose 16:32:28 ... 6! = 21, apparently. 16:32:43 oh, wait. 16:33:07 I should make an unassignable compiler that enforces the restrictions, really 16:33:35 wait, why on earth is it = 21... 16:34:39 ehird: 1+2+3+4+5+6 = 21 16:34:44 oh, duh. 16:34:49 lol, it's addorial 16:36:57 hmm 16:36:58 * oerjan beats ehird with a triangle |> 16:37:03 ^H does backwards delete 16:37:06 what's forward delete? 16:37:15 ^? normally 16:37:36 "^H" backward-delete-char 16:37:36 "^?" backward-delete-char 16:37:53 my terminal sends \033[3~ 16:37:56 so I guess I'll bind that 16:41:16 what's the commotion that composes this day? 16:41:26 oklopol: ehird upgrading his OS 16:41:55 I miss my old prompt. 16:41:59 Even though it was unreadabl. 16:42:01 e 16:42:03 you can restore it 16:42:06 Indeed. 16:42:12 how is he upgrading it 16:42:16 in an interesting way? 16:42:16 anyway, why aren't all your settings saved in dot files in ~? 16:42:18 oklopol: past tense 16:42:26 ais523: they are, the system was reinstalled 16:42:35 archive + install = copy old system to special directory, do clean install 16:42:57 /Previous Systems.localized/2009-02-11_1200/Users/ehird % cat .zshrc 16:43:02 ah 16:43:11 wouldn't it be usual to move your home dir over after doing that 16:43:40 yes, but I have so much rubbish in my home directory that I decided to leave it and copy on need 16:44:05 you could always copy on write 16:44:07 precmd() { print -Pn "\e]0;%n@%m:%~\a" } 16:44:07 export PS1=$(print "%{\e[33m%}")"[%n:%~] %#"$(print "%{\e[0m%}")" " 16:44:09 Home once more. 16:44:19 Yes, yellow on white is unreadable. I don't care. 16:44:48 Prompts are for feel, not usefulness. :P 16:44:53 is that some kinda sh-language? 16:44:58 oklopol: zsh 16:45:10 PS1&precmd is the hideous baby sublanguage 16:45:14 but I use command interpolation there too 16:45:19 so i can print out colours 16:45:31 i should learn more languages. 16:46:46 I should install SBCL. 16:47:07 Where would my system be without a crazy lisp compiler that has tons of hacks to make it portable so you can compile it without a bunch of annoying bootstrapping? 16:47:20 And that is really, really fast? 16:47:21 Exactly. 16:47:36 Ooh ooh, I can get the new Carbon Emacs. Oh wait, I despise emacs. 16:47:45 what, I thought you liked it 16:48:04 I tolerate it because writing Lisp or Haskell with anything else is painful 16:48:04 ehird: What does that precmd do? 16:48:16 Deewiant: puts "ehird@bournemouth:~/Code" in my titlebar 16:48:19 ehird: In particular, that print command. 16:48:37 Where does that print -P go? 16:48:54 * ehird looks for it in zshbuiltins 16:49:14 I wrote this in 2007, y'see. 16:49:27 -P Perform prompt expansion (see zshmisc(1)). 16:49:37 so that's for the %n stuff and suchlike 16:49:43 -!- oklofok has joined. 16:49:51 Oh, right, I misread 16:49:57 I was looking at 16:49:57 -p Print the arguments to the input of the coprocess. 16:50:02 And was confused 16:50:06 I love how the quotes in export PS1=$(print "%{\e[33m%}")"[%n:%~] %#"$(print "%{\e[0m%}")" " start half way through 16:50:15 because you can not quote command interpolations, so I didn't 16:50:19 can, not 16:50:20 not cannot 16:50:27 as in you can and you can also opt not to 16:51:49 carbbon emacs is from a japanese server and the server is so slooooow 16:52:24 It's probably fairly fast, it's the wires that're slow :-P 16:53:09 fuck wires. 16:53:11 I want wireless wires. 16:53:48 lasers! 16:54:00 yes. 16:54:01 lasernet. 16:54:02 -!- oklopol has quit (Read error: 60 (Operation timed out)). 16:54:12 not only is it freaking cool, on account of using lasers, it is infinitely fast. 16:54:26 because the lasers are actually light. and the computers are -1 miles apart from each other. 16:54:33 this is done by bending spacetime. 16:54:34 with lasers. 16:56:25 ^ this here sounds very very good. 16:56:56 Lasers aren't infinitely fast, ehird 16:57:04 Slereah: they are if they go BACKWARDS! 16:57:06 They are if you bend space time, moron. 16:57:17 Still no. 16:57:26 They go both backwards _and_ bend space time. 16:57:27 NOW WHAT 16:57:41 Still no. 16:57:45 Heretic. 16:57:48 You're just afraid of new science. 16:57:52 Afraid... of WHAT LIES AHEAD. 16:58:05 The Physicist has spoken 16:58:13 the physicist is a lameo. 16:58:16 ALL HAIL THE PHYSICIST! 16:58:21 hmm 16:58:21 So is your FACE 16:58:24 what ist should i be 16:58:29 we can just bend spacetime so that lasers shoot out lasers that are infinitely fast. 16:58:30 trivial 16:58:31 my face is hmm? 16:59:54 It sure is 17:00:33 % git init 17:00:33 zsh: command not found: git 17:00:36 DSHJSDFkJShdfkjsdhfkjsdfhsdf WHAAAAAAT 17:00:37 ;_; 17:00:45 yay for working package managers 17:00:54 my package manager works fine 17:00:57 I just haven't installed git 17:01:22 i was just assuming this computer was absolutely perfect out of the box 17:01:26 because I mean why wouldn't it be 17:03:22 emacs is 145mb that's just not right. 17:03:27 an editor has no right to be that big :| 17:09:31 Too many things depend on other things. 17:10:42 -!- Slereah has left (?). 17:10:52 -!- Slereah has joined. 17:13:27 oklofok: will oklotalk handle the euler identity? 17:13:46 ehird: Mathematica's probably got a command for solving the euler identity, by the way 17:14:04 ais523: I tried doing N[(equation here)] but it just made e and pi into numbers 17:14:05 you have to use things like Reduce[] or Solve[] or that sort of thing to manipulate expressions into different forms 17:14:14 N is just a numerical approximator 17:14:23 right, so it should numerically approximate the euler identity 17:14:24 you need a symbolic manipulator to solve that identity 17:14:31 ah. 17:14:35 mathematica is weird ass 17:14:37 because Mathematica operators don't do more than they're designed to do 17:15:40 -!- oerjan has quit ("Noise unbearable"). 17:15:50 my noise? :< 17:16:07 ehird: dunno. i'm a fairly discrete dude. 17:16:16 is discrete your middle name. 17:16:36 oklopol discrete ominovorol 17:16:41 is my full name 17:16:52 you lie 17:16:52 [17:16:45] oklofok has userhost n=nnscript@a91-153-121-248.elisa-laajakaista.fi and realname Ville Salo 17:17:21 that's my slave name 17:18:03 wtffff 17:18:06 git relies on gettext 17:18:09 whyy 17:18:13 I don't care if it's indirect, just ugh 17:18:17 internationalisation, obviously 17:18:23 git is english only 17:18:28 can't be by now 17:18:29 surely 17:18:42 umm, most version control systems and the like only output in english 17:18:43 as far as I know 17:18:46 anything let anywhere near a major OSS repo tends to get translated 17:19:04 actually that name is just gibberish i sometimes use to confuse people; you see this one student organization requires real names to be real names, so i made up a finnish-sounding name. 17:19:31 ais523: IMO it doesn't make sense to translate a vcs 17:19:41 you need to know english to program in most languages 17:19:47 yes, you can rote memorize a few keywords as meaningless 17:19:53 but you can do that with your VCS's terminology, too 17:20:09 e.g. Python's style guide strongly suggests that comments are in english 17:20:11 hmm... maybe git depends on gnu coreutils? 17:20:17 it's very heavily sh-based 17:20:21 it may need specific utils 17:20:30 we'll see if macports tries to install gnu coreutils 17:20:37 (I hope not, though... I like my BSD userland) 17:20:56 LC_ALL=fr_FR.utf8 cp --help outputs in French for me; LC_ALL=fr_FR.utf8 git --help doesn't 17:21:11 "Copier la SOURCE vers la DESTINATION, ou de multiples SOURCES vers un RÉPERTOIRE." 17:21:19 % LC_ALL=fr_FR.utf8 cp --help 17:21:20 cp: illegal option -- - 17:21:20 usage: cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file target_file 17:21:20 cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file ... target_directory 17:21:47 $ LC_ALL=fr_FR.utf8 gcc --help 17:21:49 Usage: gcc [options] fichier... 17:22:03 % LC_ALL=fr_FR.utf8 gcc --help 17:22:03 Usage: i686-apple-darwin9-gcc-4.0.1 [options] file... 17:22:03 Options: 17:22:03 -pass-exit-codes Exit with highest error code from a phase 17:22:05 so gcc, at least, needs gettext, or at least can use it 17:22:10 I guess Apple stripped out the translation files 17:22:24 I like having multiple languages available 17:22:34 you never know when you might want to give a guest account to someone chinese, for instance 17:24:00 I beg of you: 17:24:00 do not give this email address out 17:24:00 do not CC me on any public mailing list with this address 17:24:00 do not place this address in cleartext on any web page 17:24:12 I am so tempted to type it in here and let clog and Google be the perps, not me... 17:24:19 that's giving it out 17:24:34 ah, it's already on the interwebs it seems 17:24:36 Where'd you see that 17:24:42 http://www.nightmare.com/~rushing/new_email.html 17:24:43 i don't get the spammophobes, who doesn't like spam 17:24:49 As a service to the blind, this address reads: 17:24:52 sam@rushing.nightmare.com 17:25:34 I don't get people who get hundreds of spam messages a day 17:25:38 How can that happen :-P 17:25:52 I get hundreds of spams a day, but I never see them apart from 1 or 2 every once in a while 17:25:54 thx gmail 17:25:56 i just get the ones i've requested 17:26:03 Deewiant: register for a load of sites willy-nilly 17:26:07 (a seer, and some advertisement) 17:26:09 also, post it on the interwebs in plain text regularly 17:26:13 ehird: I have 17:26:13 ----------------------> SPAM 17:26:24 well I get more like 30 spams a day 17:26:24 still 17:26:25 I've done both hundreds of times :-P 17:26:29 if i was more popular i'd get hundreds 17:26:30 And I get less than 10 per day 17:26:54 Maybe my ISP just blocks known spam senders and that's where the bulk comes from 17:27:50 gmail has, to my knowledge, never blocked a legitimate mail, and let through less than 50 spams to my inbox since 2006 when I got this account 17:27:57 it's one great spamfilter 17:28:00 gmail has blocked several legitimate mails to my account 17:28:07 some bugzilla posts and some private mail 17:28:14 Deewiant: stop purchasing viagra 17:28:38 If I purchased viagra wouldn't that mean that it stops blocking viagra, rather than that it blocks something else? :-P 17:28:47 "private mail" 17:29:02 y'see, I was implying the nature of that private mail. as a bad joke. 17:29:04 Deewiant: umm probably it'd block the viagra 17:29:10 thank you oklofok 17:29:13 ehird: ah, right, didn't get it. 17:29:20 to get is to see 17:30:19 man that's one big slipup: 17:30:44 * ehird upload 17:30:48 Anyhoo, that's one reason why I'd like gmail to /not/ block spam 17:30:58 Deewiant: you can tell it not to 17:31:00 Since now I'm never sure whether it's blocked something it shouldn't have 17:31:07 ehird: Well, that's new 17:31:11 Settings->Filters->Create 17:31:16 Has the words: [in:spam ] 17:31:17 1, 2, or 3 years ago you couldn't :-P 17:31:18 click past the warning 17:31:32 i'm sure you can figure it out from there 17:31:42 I've had 6 spam mails the last 3 days, not too bad... 17:32:11 meh, it isn't uploading 17:32:14 ehird: Actually I can't. "[in:spam ]"? 17:32:21 Deewiant: [ ... ] = textbox 17:32:31 so type in: in:spam 17:32:47 There are five text boxes 17:32:52 And besides, it says 17:32:53 Messages in Spam and Trash will not be searched. 17:33:22 [17:31:15] Has the words: [in:spam ] 17:33:23 Has the words. 17:33:33 Also, ignore it. 17:33:43 You really should consider putting subjects and verbs in your sentences :-P 17:33:51 :< 17:33:52 Is that space relevant 17:33:56 no 17:35:06 Hm, can I forward all my existing spam somehow 17:35:30 don't forward 17:35:33 ok, i'll be more specific 17:35:45 tick never send it to spam, then click "Also apply to ..." 17:35:47 create 17:35:49 watch spam flood into inbox 17:36:26 Note: filter will not be applied to old conversations in Spam or Trash 17:36:41 why not just read the spam folder/ 17:36:48 Select: All 17:36:57 yeah what sgeo said 17:36:59 for existing ones 17:37:00 Besides, I do want it in the Spam folder, I just want to forward it to my 'real' address 17:37:01 Select all $num conversations in Spam 17:37:05 Deewiant: oh 17:37:07 then do this: 17:37:15 in:spam 17:37:23 Forward it to: [... your address ...] 17:37:26 [ ] Also apply 17:37:26 I can select all but I don't see a 'forward' button 17:37:30 ehird: yes, I did that 17:37:37 did it not work? 17:37:38 ok, then: 17:37:47 Also apply filter to 0 conversations below. 17:37:55 then your spam is empty 17:38:02 There are 499 messages there 17:38:14 screenshot your filter criteria page 17:38:34 [in:spam] in "Has the words", all else blank 17:38:42 ok, click test search 17:38:46 does it show all your spam 17:38:49 17:38:49 No existing messages match your criteria. 17:38:55 is this the new gmail 17:38:58 or the older one 17:39:00 Is it so hard to believe "Messages in Spam and Trash will not be searched." 17:39:04 I don't know 17:39:06 yes, because I have a filter with in:spam 17:39:07 and it works 17:39:13 I've used this approximately never 17:39:19 Deewiant: do the inbox, starred etc links have a semi-large indent in front of them 17:39:20 I just get everything over POP 17:39:21 if so, it's the new one 17:39:31 indent as compared to? 17:39:38 the labels box 17:39:57 Yeah, there's about 2 or 3 em there 17:40:11 ok, then it's the new one 17:40:13 I have this filter: 17:40:15 Matches in:spam 17:40:16 Mark as read 17:40:17 and it works fine 17:40:28 so I'm confuzzled 17:40:29 Right, there's a link to "Older version" at the top 17:40:33 yeah 17:40:59 ehird: that space was relevant 17:41:01 dammit 17:41:08 oh 17:41:11 you can't have a space 17:41:13 ofc 17:41:15 i thought you meant 17:41:16 erm 17:41:17 I mean 17:41:18 should I put the space in 17:41:19 the space is necessary 17:41:22 WTF 17:41:24 [in:spam] doesn't work 17:41:27 [in:spam ] works 17:41:29 not [in:spam] 17:41:31 in:spam 17:41:38 gah 17:41:39 dammit 17:41:41 [ ] was just to represent the browser's text box 17:41:43 I told you this 17:41:50 Speak English :-P 17:41:54 :D 17:42:15 hoo, 1200 conversations of spam coming my mway 17:42:19 s/mw/w/ 17:42:40 it's like a ROLLERCOASTER of SPAM 17:42:45 Or then not? 17:43:00 Either there's a delay or it's not sending them 17:43:01 Deewiant: what's your gmail? I'll send you a test spam to see if it's working 17:43:06 ehird: deewiant@ 17:43:43 Spam sent 17:43:59 note: make sure it's in spam folder in your gmail, as well as being forwarded... 17:44:16 neither yet 17:46:03 ehird: Wasn't flagged as spam :-D 17:46:12 haha 17:46:16 * ehird gets a real spam from spam folder 17:46:22 Came into my inbox and thunderbird grabbed it from there 17:46:24 viagra spammers should just... write normally 17:46:28 they wouldn't be blocked. 17:46:38 Thunderbird didn't flag it as spam either FWIW 17:46:49 spam forwarded 17:48:08 gmail spam, wasn't forwarded to me though 17:48:23 in the filters pane, what does it say? 17:48:59 The following filters are applied to all incoming mail: Matches: in:spam Do this: Forward to ... 17:49:36 :s 17:49:53 Deewiant: try also ticking "never mark as spam" 17:49:57 in the do this 17:50:31 Send another then 17:50:37 Deewiant: btw if you use imap the spam is sent as a folder 17:50:38 (Again refused to do anything with the old ones) 17:50:45 Yeah but I use POP 17:50:49 then don't ;D 17:50:56 Spam forwarded 17:53:24 Still not received 17:54:22 Switch to IMAP 17:54:23 :| 17:54:34 Wouldn't help for receiving the mail :-P 17:54:55 sure it would 17:55:03 I meant use IMAP directly on gmail 17:55:04 :P 17:55:38 my gmail got hit with some authentic japanese spam though, and that was forwarded correctly \o/ 17:55:46 :D 17:55:50 still in the spam folder 17:55:50 ? 17:55:51 if so, great 17:55:56 No, it's not 17:55:56 enjoy your useless ibox 17:55:58 inbox 17:56:00 Deewiant: o 17:56:07 Because you told me to set "don't mark as spam" :-P 17:56:18 oh well duh 17:56:18 :P 17:56:22 Now it comes to both my gmail and non-gmail inboxes 17:56:25 That's somewhat suboptimal 17:56:38 you can fix that 17:56:44 Forsooth 17:56:53 tick "Delete it" 17:56:55 on the action 17:56:58 it'll forward it, then delete it 17:57:15 Rather, I'll not forward it and just grab it from the inbox 17:57:28 Easier :-P 17:57:38 That also doth work 17:57:42 ehird: Now tell me how I can select all spam and forward it 17:57:56 Rather, I can do the former, but I don't know how to do the latter 17:57:58 Write a script that connects via imap, reads all spams, and forwards them 17:58:00 :P 17:58:10 GMail has no 'forward' button? 17:59:15 Sure it does 17:59:18 But it's message specific 17:59:28 POS 17:59:33 Deewiant: I know! 17:59:34 Select al lof them 17:59:35 click not spam 17:59:38 hopefully, it'll forward 17:59:40 Can't do it 17:59:48 why not 17:59:48 The "not spam" button is helpfully disabled after I select all 18:00:02 deselect one 18:00:02 Because I might press it accidentally or something, I guess. 18:00:11 then do that one manually 18:00:36 Deselecting one deselects all pages that I don't see as well 18:00:44 I'd have to do each page manually 18:00:49 wrong 18:00:52 hmm 18:00:54 right 18:00:56 Deewiant: no, you can do it 18:01:00 star the top one 18:01:02 select: starred 18:01:04 err 18:01:05 unstarred 18:01:22 Still selects only the first page 18:01:31 Deewiant: do a search for 18:01:33 in:spam 18:01:34 select all 18:01:37 move to inbox 18:01:57 Ooh, now I got your spam btw :-P 18:04:07 ehird: Can I search for 'not-in:inbox' with some syntax 18:04:34 search options-> 18:04:35 doesn't have-> 18:04:37 in:inbox 18:04:43 Bloody GUIs 18:04:44 -> 18:04:46 -{in:inbox} 18:04:50 so you can just use -{search terms} 18:07:40 * ehird writes gmailbackup.py 18:08:43 Moving to inbox via the search worked 18:08:49 woot 18:09:32 And thunderbird is moving dozens to "Sent" because from = to = deewiant@ :-P 18:09:48 And haha, it can only get 252 at a time 18:09:51 POP limitation I guess 18:10:47 lol 18:11:31 Deewiant, what is this about? 18:11:48 gmailbackup? 18:11:49 heh? 18:11:58 AnMaster: stopping gmail from stopping spam 18:12:05 Deewiant, oh? 18:12:13 it stopped non-spam? 18:12:25 read the bloody conversation 18:12:29 like the rest of us 18:13:20 well I was just heading to bed anyway, since I have a bad cold, can hardly speak currently... 18:13:22 Hmm, I think something failed and I only got around 200/500 spam 18:13:24 so night 18:13:26 Oh well, whatever 18:13:28 may read the convo later 18:13:58 Aha! There is one non-spam message here 18:14:06 "MSN Groups Service Change" 18:14:12 that's spam to me :D 18:14:30 I like to archive crap like that even if I'm not interested 18:14:48 Since it's actually authentic mail to me from a provider of a service I use or used 18:14:56 As opposed to 100% junk. 18:15:03 hmm 18:15:10 do you think I should back up messages to maildir or mbox 18:15:29 maildir seems kinda pointless for what I'm doing and mbox is more supported, but I dislike mbox's one-honking-big-fil 18:15:29 e 18:15:52 Use the Mozilla version of mbox, not supported by pretty much anything right? :-P 18:16:23 Welp, my junk filter just got 80 messages of training data 18:16:26 I guess that's good 18:16:30 Bye for now all 18:16:41 I don't really want to invent my own format, see. 18:16:45 Since that's not very useful. 18:16:53 -!- Sgeo has quit ("Leaving"). 18:17:13 Haha 18:17:15 ehird: http://en.wikipedia.org/wiki/Mbox#Limitations 18:17:19 See the second paragraph 18:17:39 er, I knew that? :s 18:17:41 http://en.wikipedia.org/w/index.php?title=Mbox&diff=267734082&oldid=251122842 :-D 18:17:59 that's the third paragraph yo 18:18:05 no, the second 18:18:14 Limitations -- title 18:18:19 mbox stores... -- paragraph one 18:18:23 o 18:18:24 tru 18:18:25 The maildir... -- paragraph two 18:19:12 mailbox and mbox don't handle folders though 18:19:16 err 18:19:16 maildir 18:19:20 maildir++ does, but it's ugly 18:20:32 You are currently using 1 MB (0%) of your 7294 MB. 18:20:44 You are currently using 751MB (10%) of your 7294MB. 18:20:46 Hmm, now where's that coming from 18:21:09 :<, the only thing Mail.app can import is mbox and various propietary shit, + mozilla 18:21:16 Aha, there's still something in "All Mail" 18:22:20 Mayhaps I will output to both maildir AND mbox 18:22:22 configurable 18:22:44 You are currently using 0 MB (0%) of your 7294 MB. 18:22:44 Yay 18:28:10 939 344 002 bytes of mail here 18:33:58 hmm 18:34:10 problem with mbox: 18:34:14 no folder support :< 18:34:33 even folder support isn't that good tbh, since gmail's labels can be all over the place 18:34:56 -!- kwufo has quit ("Leaving."). 18:37:28 ehird: So what's wrong with maildir++ 18:37:47 Well, maildir requires me putting hostnames in the generated filenames and really that's just ridiculous 18:37:52 also it's not really suited to just dumping 18:37:58 I'll probably just dump to multiple mboxes 18:38:01 irritating though that is 18:39:50 >>> imap.list() 18:40:00 ('OK', ['(\\HasNoChildren) "/" "Agora"', '(\\HasNoChildren) "/" "B Nomic"', '(\\HasNoChildren) "/" "INBOX"', '(\\HasNoChildren) "/" "Nomicron"', '(\\Noselect \\HasChildren) "/" "[Google Mail]"', '(\\HasNoChildren) "/" "[Google Mail]/All Mail"', '(\\HasNoChildren) "/" "[Google Mail]/Bin"', '(\\HasNoChildren) "/" "[Google Mail]/Drafts"', '(\\HasNoChildren) "/" "[Google Mail]/Sent Mail"', '(\\HasNoChildren) "/" "[Google Mail]/Spam"', '(\\HasNoChildren) "/" "[Goog 18:40:11 imap i s the worst thing evar 18:40:21 :-P 18:41:23 -!- ais523 has quit (Remote closed the connection). 18:52:13 Deewiant: does thunderbird handle maildir? 18:52:40 "Handle"? 18:52:51 can it import it 18:52:51 [('1234464706.M732275P80012Q1.bournemouth', ), ('.DS_Store', )] 18:52:55 -!- Corun has joined. 18:52:57 fucking OS X and it's fucking hidden files. :| 18:53:22 I don't know 18:54:39 I'm currently in Windows where it tells me it can import mail from "Communicator 4.x", "Eudora", "Outlook", "Outlook Express" 18:54:52 but not mbox or maildir? o_O 18:55:25 I've imported mbox format with Windows thunderbird, but I think it was more like "copy the mbox here and hope for the best". Maybe. 18:58:49 This Debian Thunderbird (rebranded Icedove) only has "Communicator 4.x" in the "Tools/Import/Mail" wizzard, but the interweb says that I can just put mbox folders under the "Local Folders" storage-place and they'll appear. 18:59:02 Maildir it probably doesn't do. 18:59:21 -!- kar8nga has joined. 19:00:24 There's a lot of command-line mbox/maildir/pop/imap/stuff-handling tools, though. 19:01:33 http://yergler.net/projects/one-off/maildir-to-mbox/ 19:01:43 GNU mailutils has that "movemail" tool that can do conversions, and "capable of speaking POP3, IMAP, mbox, MH and Maildir". And the Pine people had one, too. 19:05:18 Yes, the "uw-mailutils" package has the "mailutil" tool, which is pretty much a frontend to that c-client library of theirs. It does at least IMAP, POP3 and NNTP on the network side, I don't know what local formats. That mailutil I've used in one migration, anyway. 19:08:12 The driver names are "unix", "mbox", "mmdf", "mbx", "tenex", "mtx", "mh", "news" (it's a local news-spool) and "phile" (single-file thing), so I guess it's pretty comprehensive as far as mailboxy formats go, but not maildirry. 19:12:30 -!- olsner has joined. 19:19:50 there should be an mbox variant with a header like 19:19:51 Folder: ... 19:19:55 >:( 19:20:43 (\Noselect \HasChildren) "/" "[Google Mail]" 19:20:47 i should totally not have to parse that 19:29:00 #!/usr/bin/perl 19:29:00 sub c{($_=pop)<0?print substr"/,'\\)(`\n |_.",$_+12,1:c(vec(vec 19:29:00 ('<;JK;::::B:::Tshu[FoatcN[LL;DWQ?cJ?=ghTsXqWqwhqgT@CUMGlgTpRd'. 19:29:01 'KhI_wgTp`lpGOYs>quHWthuhUbuhuh[hu@TguhMGWulXsWiiekwhqwhqwxh@q'. 19:29:01 'uXaWGhqqOmqwxhtXiThf:::[:::::Jb?cB_duWI[ZLN[DNqWIObTsPGuUoTDU'. 19:29:03 'oOqWac@sMSUDUMGlWoNp`lXsXeWqc`XquXqW=WqJeW=gpGnWqi[Pu@TgiVeNm'. 19:29:11 'qSQwWwWwWGpSQ]wWonhTTQ]ufeWonhTboEi=::ZQGke`E',$a/6,8)-58>>$a++ 19:29:12 %6&1?'HGJSTFIXOZ[':'QLRKMUVWYPN',$_,8)-82)}c 10 while$a<1728 19:30:04 Perl, Ruby & Python quine: 19:30:11 #!/usr/bin/env python 19:30:14 print 'Hello, world!\n' 19:30:23 err 19:30:26 s/quine/polyglot/ 19:30:31 with perl, it actually executes python :-D 19:30:43 print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n", 19:30:46 "" 19:31:07 brilliant 19:31:14 but in python it outputs an extraneous space+newline 19:31:48 Should be no extra newline 19:31:51 That's what the "" is for 19:32:27 try it fo yourself 19:32:34 it goes \n, space, \n 19:32:36 because of the "" 19:32:58 I did try and no extra newline :-P 19:33:40 File generated by running that ends in 0D 0A. 19:33:57 As long as "" is on another line, of course. 19:34:03 >>> print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n","" 19:34:03 Just another Python hacker. 19:34:03 >>> 19:34:06 err 19:34:10 >>> print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n","" 19:34:12 Yes, well, it's two lines. 19:34:13 Just another Python hacker. 19:34:14 BLANK LINE HERE 19:34:15 >>> 19:34:17 ehird: You fail. 19:34:21 ehird: "" on another line. 19:34:21 Thanks. 19:34:27 Yes. 19:34:28 And? 19:34:30 That's a bug. 19:34:34 The others output 1 line. 19:34:46 We mean that in the source you put the "" part on another line. 19:34:51 Then it doesn't print out an extra line. 19:35:05 >>> print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n", 19:35:09 Just another Python hacker. 19:35:11 >>> "" 19:35:14 '' 19:35:28 And the extra empty string there does not produce any output. 19:35:58 oh. 19:36:53 print "" stops working in python3k 19:37:06 that's easily fixable 19:37:08 just put parens in 19:38:10 Did they remove the automatic-newline for print() in Python 3k too? I don't remember. 19:38:37 dunno 19:38:39 hmm 19:39:17 I wonder if mbox importers check for sent 19:39:22 e.g. folders named Sent 19:39:31 and such 19:40:38 Oh, the 3.0 print() function has an extra optional parameter 'end' denoting the ending text. 19:42:36 doesn't help for polyglotism 19:45:00 http://torvalds-family.blogspot.com/2009/02/25-things-about-me.html 19:45:43 written in base 0.04, i assume 19:51:50 wtf you can only do one mailbox at a time in imap. 20:13:17 grr 20:13:25 All Mail is irritating 20:13:52 because it's hard to avoid duplicate messages 20:18:06 -!- Hiato has quit ("Leaving."). 20:22:52 http://gqwl.wordpress.com/2009/02/12/making-valentines-day-special-with-haskell-and-brainfuck/ 20:23:04 itt: paintfuck 20:23:21 -!- Metcalf has joined. 20:23:30 Hi :-) 20:23:42 hi 20:24:01 Hi Ehird, I was wondering where you are 20:24:14 oh right, I updated my system 20:24:16 so new irc client config 20:24:21 :-) 20:57:33 -!- MigoMipo has quit (Connection timed out). 21:15:47 -!- Corun has quit ("Leaving"). 21:20:40 -!- Metcalf has quit ("mov.i #1,1"). 21:49:09 o 21:49:14 ^ o is a letter. 21:49:55 Python(80380) malloc: *** mmap(size=2281472) failed (error code=12) 21:49:56 *** error: can't allocate region 21:49:56 *** set a breakpoint in malloc_error_break to debug 21:49:57 WTF 21:50:04 thas not rite 21:54:22 Heh. 2.2 gig :P 21:54:34 yeah it's downloading an email 21:54:38 I don't have any 2.2gig emails 21:57:25 um, doesn't that say 2.2 meg? 21:57:40 or is it saying 4.8 gig in pages? 21:57:42 oh, right 21:57:43 2.2 meg 21:57:44 ... oh 21:57:44 yep 21:57:46 the email is just 2mb 21:57:48 o wtf 21:57:49 so wtf 21:57:50 At least the mmap syscall is bytes. 21:57:52 i'm streaming it to a file 21:57:56 wonder if I could optimize that? 21:58:01 i.e., have it not go through a string... 21:58:05 (imap yo) 21:58:17 optimized transfer of 2MB ... should be a waste of time! 21:59:09 -!- Corun has joined. 21:59:54 And that's a rather small allocation. Although you can get ENOMEM (12) by exceeding the maximum number of mappings, too. 22:00:24 Mm. 22:00:27 I 22:00:28 -!- GreaseMonkey has joined. 22:00:31 'm not sure why it's doing this. 22:00:44 A tiny backtrace snippet from the end: 22:00:44 File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/imaplib.py", line 948, in _get_response 22:00:45 data = self.read(size) 22:00:45 File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/imaplib.py", line 1150, in read 22:00:46 data = self.sslobj.read(size-read) 22:00:47 MemoryError 22:00:49 Odd indeed. 22:02:41 try gc.collect() 22:03:28 What, every single mail message? It may balk out at message 10 but I'm downloading tensathousandsa messages here... 22:03:52 I'll give it a try though 22:03:55 Nope 22:03:56 same error 22:07:50 http://mail.python.org/pipermail/python-list/2008-January/474035.html 22:08:20 wow, gmail too 22:08:24 it's like we're al lthe same <3 22:08:32 "In a worst case scenario, you'll need some 13 gigabytes of 22:08:32 virtual memory to read a 15 megabyte message..." 22:08:34 holy fuck nuggets 22:08:43 worst library EVER 22:08:59 http://bugs.python.org/issue1389051 22:09:03 yep 22:10:16 well, it's been over a year 22:10:18 and no fix 22:10:18 :( 22:12:44 -!- kar8nga has left (?). 22:13:57 O 22:14:00 I'll just use libgmail 22:14:00 :-) 22:16:53 libgmail is prolly really slow though 22:17:06 as it screen-scrapes, eww 22:18:08 There were a couple of workaround-attempts in those two bugs (1389051 and 1092502). 22:18:54 I don't wanna edit the core socket.py 22:19:59 make a copy of socket.py in your project dir 22:20:25 hmm mayb 22:20:25 e 22:23:23 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:34:11 libgmail is just too slow 22:35:07 # String method conversion by ESR, February 2001. 22:35:08 x_x 22:37:41 http://en.wikipedia.org/wiki/ZISC 22:37:51 heh 22:45:11 "The following are SGI specific, and may be out of touch with the current version of reality. 22:45:11 " 22:48:09 -!- Corun has quit ("This computer has gone to sleep"). 23:01:04 Hooray, backup-gmail version 0.00000001pre-pre-alpha works. 23:03:42 * GregorR doubts highly that ZISCs are TC :P 23:03:54 why? 23:04:08 Because non-looping neural networks aren't. 23:04:17 And looping neural networks are generally uncomputable in bounded time. 23:05:11 * lament computes GregorR's brain 23:05:18 only took me a second! 23:16:05 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)). 23:26:50 * ehird just stopped 2,000 windows from opening 23:27:11 2000 windows? 23:27:16 Or Windows 2000? 23:27:19 That's the question 23:27:54 Alright, anyways, how come? Why was 2 000 windows about to open? 23:29:07 FireFly: I highlighted 2000 files then double clicked 23:29:14 Ah