←2009-01-07 2009-01-08 2009-01-09→ ↑2009 ↑all
00:01:22 <ehird> <style type="text/x-stylesheet-prose">Please make this document so dazzingly beautiful that everyone will bookmark it and return here once in a while, because I get lonely :(</style>
00:01:34 <ehird> i think the error there is that you use gregor's "matching" colours generator
00:02:19 <Asztal> :)
00:04:01 <ehird> hmm, putting a shadow on every bit of text either looks nice or awful
00:04:03 <ehird> I can't decide which
00:42:05 <ehird> Asztal: quick, what's your favourite colour
00:45:18 <psygnisf_> guys, im going to start doing some experiments with evolutionary algorithms and using them to design code
00:45:23 <ehird> k
00:45:28 <oklofok> blue
00:45:37 <ehird> oklofok: what shade
00:45:43 <psygnisf_> and the way i want to work with it is really with just a simple little simulated processor
00:45:49 <psygnisf_> any suggestions for what it should do?
00:45:55 <ehird> no
00:45:56 <psygnisf_> the processor, i mean
00:45:58 <oklofok> ehird: i think pretty dark
00:46:05 <ehird> psygnisf_: just make it a stack machine
00:46:17 <psygnisf_> im not sure how to do that D:
00:46:26 <ehird> psygnisf_: look it up, tard :P
00:46:33 * psygnisf_ fwaps ehird
00:46:46 -!- psygnisf_ has changed nick to psygnisfive.
00:46:50 <oklofok> psygnisf_: well maybe it could digest food or something
00:47:05 <oklofok> that's a pretty interesting algorithmic problem
00:47:16 <oklofok> i keep trying to tab-complete "algorithm"
00:47:17 <ehird> he means the cpu
00:47:35 <oklofok> ehird: err so?
00:47:37 <psygnisfive> ehird, i was thinking more along the lines of what kind of instruction set should i include.
00:47:42 <ehird> psygnisfive: stack-based.
00:47:45 <psygnisfive> :P
00:47:48 <ehird> program is a list of words.
00:47:50 <ehird> basic stack manipulation words,
00:47:55 <ehird> define your own words (i.e. call stack)
00:47:57 * oklofok stands behind his suggestion
00:48:02 <ehird> and arithmetic
00:48:05 <ehird> and IO.
00:48:15 <psygnisfive> IO wont be necessary i think.
00:48:20 <psygnisfive> well, some will but
00:48:33 <ehird> you need io to do anyhting with the cpu :P
00:48:39 <ehird> well you could analyze the stack.
00:48:44 <psygnisfive> yeah. that was my plan
00:49:39 <psygnisfive> i was thinking of just using a non-stack machine. with like, memory access stuff
00:49:46 <psygnisfive> instead of a stack
00:49:49 <ehird> stack is simpler.
00:49:57 <oklofok> ooooooo
00:50:04 <psygnisfive> eh.. why simpler?
00:50:15 <ehird> you're the one who said wtf how do i do that
00:50:16 <oklofok> i have an opinion on this, but i guess i could sleep
00:50:17 <ehird> don't question me :P
00:50:57 <psygnisfive> pretend im not going to use a stack machine :P
00:51:07 <ehird> no, because that's the best way
00:51:10 <psygnisfive> hush
00:51:12 <ehird> no.
00:51:16 <psygnisfive> im going to have a RAM machine
00:51:22 <psygnisfive> no registers
00:51:26 <ehird> you asked for advice, I gave it, you ignored it, so I'm not going to talk on the subject any more.
00:51:30 <psygnisfive> just memory
00:51:36 <psygnisfive> what instruction set should i use
00:51:40 <ehird> a stack-based one.
00:51:44 <psygnisfive> :P
00:51:52 <oklofok> "do" and "don't"
00:51:56 <oklofok> that's all you need
00:52:01 <psygnisfive> ok give me a good introduction to a sensible stack machine
00:52:05 <ehird> forth
00:52:06 <ehird> google it
00:52:13 <psygnisfive> i dont get forth's conditionals tho
00:52:18 <ehird> you don't need to.
00:52:22 <ehird> just make up your own branching
00:52:22 <psygnisfive> dont i?
00:52:35 <psygnisfive> i dont understand stack-based branching at all
00:53:21 <oklofok> put code on stack, call it or do a goto on the original code, which is of course not very stacky
00:53:35 <oklofok> or do a more structured loop on code
00:53:39 <oklofok> or both
00:53:40 <ehird> psygnisfive: just do it like this:
00:53:59 <ehird> IF pushes the address of the current instruction pointer on the stack
00:54:04 <oklofok> i don't remember how forth did it, just that i'm pretty sure i considered it stupied
00:54:12 <ehird> psygnisfive: and
00:54:15 <ehird> IF also stops code execution
00:54:18 <ehird> i.e.
00:54:19 <ehird> IF a b c
00:54:21 <ehird> will just run if
00:54:24 <ehird> and skip past a b c
00:54:26 <ehird> until you get to THEN
00:54:34 <psygnisfive> but it'll push abc to the stack?
00:54:37 <ehird> no
00:54:39 <psygnisfive> ok
00:54:41 <ehird> IF a b c will push the IP address at IF
00:54:45 <ehird> then zip over a b and c
00:54:45 <ehird> then
00:54:47 <ehird> THEN
00:54:50 <ehird> pops that ip
00:54:53 <ehird> and then pops the next thing
00:54:55 <ehird> if the next thing is 0
00:55:01 <ehird> it just keeps executing past THEN
00:55:03 <ehird> otherwise
00:55:10 <ehird> it sets the ip to the one it popped
00:55:12 <ehird> that was set by IF
00:55:18 <ehird> which, of course, makes it then run the a b c
00:55:20 <ehird> see? simple
00:55:27 <psygnisfive> im not entirely sure i follow D:
00:55:32 <psygnisfive> ill reread that tho
00:55:32 * oklofok neither
00:55:34 <psygnisfive> so
00:55:43 <ehird> psygnisfive: which part was confusing?
00:55:51 <psygnisfive> nevermind
00:55:52 <psygnisfive> what operations would you say are absolutely necessary?
00:55:57 <oklofok> oh
00:56:01 <ehird> stack ones
00:56:02 <oklofok> well it was pretty clear actually
00:56:03 <ehird> arithmetic
00:56:12 <ehird> and branching
00:56:14 <oklofok> i more like assumed it was a bad explanation because i didn't feel like reading it properly
00:56:15 <psygnisfive> ok.
00:56:18 <ehird> that's just about it
00:56:22 <ehird> psygnisfive: what was confusing ?
00:56:32 <psygnisfive> stack ones like push, pop, and swap?
00:56:38 <ehird> yep
00:56:39 <ehird> and rot
00:56:40 <ehird> and stuff
00:56:42 <psygnisfive> ehird, dont worry. its confusing because i didnt run it in my head
00:56:43 <psygnisfive> rot?
00:56:46 <ehird> rotate
00:56:53 <ehird> i forget the exact stack diagram
00:56:56 <psygnisfive> i think i know what that means
00:57:00 <ehird> psygnisfive: basically you need to be able to fetch arbitrary stuff from the stack
00:57:03 <ehird> the simplest way is
00:57:07 <ehird> N pick
00:57:09 <ehird> which means
00:57:11 <ehird> 0 = top of stack
00:57:13 <ehird> 1 = one down
00:57:13 <ehird> etc
00:57:16 <oklofok> psygnisfive: well it's pretty ugly what he described, you shouldn't branch on the code, it's not pure you know.
00:57:18 <ehird> it picks the Nth element of the stack
00:57:21 <ehird> takes it from its currnet position
00:57:22 <ehird> and moves it to the top
00:57:27 <ehird> oklofok: it's simple
00:57:28 <ehird> and easy
00:57:36 <oklofok> you should do it purely functionally, because that's so much zenner.
00:57:45 <oklofok> ehird: did he ask for something easy?
00:57:48 <psygnisfive> oklofok: don't know how :P
00:57:49 <ehird> yes
00:57:52 <ehird> besides
00:57:54 <ehird> it's a cpu
00:57:56 <ehird> they aren't purely functional.
00:58:16 <oklofok> ehird: stop being realistic and begin being pure
00:58:29 <oklofok> clense yourself
01:00:12 <oklofok> psygnisfive: well essentially do it like underload
01:00:16 <oklofok> it's pretty pure
01:00:22 <oklofok> in fact maybe just have underload?
01:00:38 <oklofok> or that ...what's the opposite of extension... of it
01:00:39 <psygnisfive> :P
01:00:41 <ehird> sigh
01:00:49 <ehird> imperative stack based is the simplest way, really
01:00:52 <ehird> psygnisfive: i'll tell you
01:00:52 <ehird> tomorrow
01:00:53 <ehird> ok?
01:01:00 <psygnisfive> sure
01:01:12 <oklofok> there's nothing to tell, i refuse to believe there was something here he didn't understand
01:01:48 <oklofok> ehird: yes, it's the simplest, but what about the puppies?
01:02:07 <oklofok> you really want them to live in a world without purity?
01:02:27 <oklofok> i mean killing puppies just so the rest get scared isn't that nice
01:02:31 <oklofok> it's horrible
01:02:40 <oklofok> so
01:02:48 <oklofok> i think i'm gonna read a comic now
01:02:49 <oklofok> ->
01:10:13 <oklofok> done
01:10:45 <oklofok> i actually read more like 50, but my internet is broken now, also maybe sleep
01:10:46 <oklofok> carry on
01:10:50 <oklofok> ~>
03:00:22 -!- olsner has quit (Read error: 110 (Connection timed out)).
03:29:38 <CakeProphet> I think I'm going to write factorial for bugSophia
03:55:51 -!- Sgeo has joined.
04:14:59 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
04:30:34 -!- CakeProphet has joined.
05:50:44 <bsmntbombdood> <oklofok> of course, bsmntbombdood might not really be a nerd, but anyway.
05:50:45 <bsmntbombdood> lies
05:51:19 <Slereah_> Prove your nerdity, bsmntbombdood
05:51:40 <bsmntbombdood> how
05:51:50 <Slereah_> Say something nerdy
05:51:56 <bsmntbombdood> no
05:52:04 <Slereah_> You are no nerd
05:52:20 <bsmntbombdood> lies
05:52:26 <Slereah_> no
05:53:13 <bsmntbombdood> and anyway, why were you talking about my [lack of a] sex life?
05:53:51 <Slereah_> It arouses me to think of it
05:54:02 <bsmntbombdood> oh well that's good to know
06:30:16 -!- bsmntbombdood has changed nick to grndlvlbombdood.
06:33:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:40:01 <grndlvlbombdood> Slereah_: hey baby
06:50:34 -!- olsner has joined.
07:22:00 -!- psygnisf_ has joined.
07:32:38 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
07:59:22 -!- oklofok has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:45 -!- olsner has quit (Remote closed the connection).
08:38:07 -!- GreaseMonkey has quit ("e disasterous.").
08:40:07 -!- oklopol has joined.
09:13:11 <AnMaster> ehird, I did some plotting on the timings you gave me yesterday
09:13:17 <AnMaster> ehird, quite interesting
09:13:36 <AnMaster> however two runs near the end take much longer, any clue why?
09:13:53 <AnMaster> as in "more than twice as long"
09:19:36 <AnMaster> hm
09:19:48 <AnMaster> twice as much system time then and much lower CPU usage
09:19:54 <AnMaster> well I guess something else ran then
09:26:17 <oklopol> it's not a realistic benchmark unless you have a torrent program and a few flash games in the background
09:37:15 <AnMaster> oklopol, haha
09:44:22 <AnMaster> bbl
10:22:15 -!- ais523 has joined.
10:30:28 -!- ais523_ has joined.
10:30:28 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:53:17 -!- ais523_ has changed nick to ais523.
11:26:38 -!- Corun has joined.
13:46:55 -!- Corun has quit (Read error: 110 (Connection timed out)).
14:02:47 -!- fungot has quit (Remote closed the connection).
14:08:39 <oklopol> o
14:08:45 <ais523> oko
14:08:54 <fizzie> Oh noes. Forgot the bot completely.
14:11:35 <ehird> hi ais523
14:12:05 <ais523> hi ehird
14:12:36 <ehird> still on US time?
14:12:48 <ehird> AnMaster: Yeah, stuff was running for those slow runs.
14:13:01 <ais523> ehird: no
14:13:02 <ais523> I reset last night
14:13:17 <ehird> good now explain :-P
14:13:35 <ais523> well, it was a gradual process
14:13:44 <ais523> a few nights ago, my sister went back to school
14:13:48 <ais523> and she had loads of homework to do
14:13:51 -!- fungot has joined.
14:13:54 <ais523> because she hadn't done it during the holiday
14:13:56 <ais523> hi fungot
14:13:57 <fungot> ais523: ah. ok. 8. i'd prefer ' r5rs,' by the mit peeps my concatenative lang
14:14:17 <ais523> her/y mother was upset that she was staying up so late
14:14:24 <ais523> so she was telling her to go to bed all through the night
14:14:26 <ais523> keeping me awake
14:14:34 <ais523> so it reached morning, and I still hadn't gone to sleep
14:14:50 <ais523> that gave me a time offset from local time of several hours, so I was effectively on US time
14:14:59 <ais523> I went to bed through the day because I had to get sleep some time
14:15:11 <ais523> then in the evening, decided I needed to use the Internet, so I went round to a relative's house
14:15:18 <ais523> that night it was really really cold
14:15:28 <ais523> so much so that walking home would have been dangerous due to all the ice
14:15:31 <ais523> so I stayed there overnight
14:15:44 <ais523> staying online to avoid having to sleep there
14:15:50 <ehird> insomnia != living on US time, surely
14:16:02 <ais523> ehird: well, I was sleeping the right amount
14:16:04 <ehird> i've been up for I think max around 40 hours at a time
14:16:06 <ais523> the day after too
14:16:11 <ais523> just through the day
14:16:12 <ehird> my hypothesis is that lack of sleep is the most psychedelic drug ever
14:16:14 <ehird> it was bizarre
14:16:18 <ehird> also, heh
14:16:24 <ehird> yeah
14:16:28 <ehird> when I was up 40 hours I started talking about recursive campfires.
14:16:54 <ais523> 40 isn't all that much
14:16:59 <oklopol> i can do that after much less
14:16:59 <ais523> that's just missing one night's sleep, I've done that before
14:17:31 <oklopol> i've done about 38, don't recall a longer instance
14:18:43 <ehird> ais523: yeah, but i suck without sleep.
14:18:48 <oklopol> or was it 48
14:19:56 <oklopol> well dunno, i just remember it wasn't psychedelic, i was just a bit tired so i went to sleep.
14:51:10 -!- Corun has joined.
14:56:59 -!- jix has joined.
15:07:32 -!- oerjan has joined.
15:11:32 <ehird> 12:26:18 <lament> what's J anyway?
15:11:32 <ehird> 13:34:57 <mtve> http://en.wikipedia.org/wiki/J_programming_language
15:11:34 <ehird> 13:39:02 <lament> That's horrible.
15:11:36 <ehird> -- 2004-04-04
15:11:54 <oerjan> innocence betrayed.
15:12:04 <ehird> ooh
15:12:06 <ehird> the oerjanputer
15:12:11 <ehird> it lives!
15:12:19 <oerjan> DON'T EVEN THINK ABOUT IT
15:12:23 <ehird> # LIST
15:12:35 <oerjan> (thinking about the oerjanputer can drive you insane)
15:12:38 <ehird> :D
15:12:39 <ehird> 00:00:00 --- log: started esoteric/04.09.09
15:12:39 <ehird> 23:59:59 --- log: ended esoteric/04.09.09
15:12:44 <ehird> that was an eventful day
15:13:05 <ehird> 22:44:25 --- quit: ChanServ (ACK! SIGSEGV!)
15:13:08 <ehird> -- 2004-09-07
15:13:26 <oerjan> ./ ../ BUNNIES/ CUTE_BUNNIES/ UNIV/
15:13:35 <ehird> # LIST BUNNIES & CUTE_BUNNIES
15:14:00 <oerjan> ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA
15:15:13 <ehird> # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE BUNNIES & CUTE_BUNNIES
15:15:39 <lament> force bunnies?
15:15:43 <oerjan> DONE.
15:15:44 <lament> that's perverted.
15:15:47 <ehird> # LIST
15:15:49 <ehird> lament: very.
15:15:55 <oerjan> ./ ../ .../ UNIV/
15:16:04 <ehird> # LIST ..
15:16:46 <oerjan> ./ ../
15:16:59 <ehird> # LIST ...
15:17:09 <oerjan> ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA
15:17:50 <ehird> # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE /FOREVERMORE /COMPLETELY_DESTROY ...
15:18:02 <oerjan> DONE.
15:18:11 <ais523> I thought sudo didn't work in allcaps
15:18:13 <ehird> # LIST
15:18:17 <ehird> ais523: this is oerjanix
15:18:20 <oerjan> ./ ../ UNIV/
15:18:23 <ais523> and sudo obliterate there reminded me of darcs obliterate
15:18:33 <ehird> # LIST .; THEN LIST ..; THEN LIST UNIV
15:18:34 <ais523> meaning... sudo is now a version control system?
15:18:35 <oerjan> IT IS VERY DARC INDEED
15:18:46 <oerjan> ./ ../ univ/
15:18:50 <oerjan> OOPS
15:18:54 <oerjan> DARN CAPSLOCK
15:18:55 <lament> what shell is this?
15:19:09 <ehird> lament: oerjanjix oerjellshell v1.4
15:19:10 <ais523> let's find out
15:19:10 <oerjan> ./ ../ .../
15:19:12 <ehird> *oerjanix
15:19:13 <ais523> # VER
15:19:21 <ehird> ais523: he did this yesterday
15:19:21 <oerjan> SAVED_STATE/
15:19:22 <ais523> if that errors, it isn't the dos shell
15:19:23 <ehird> this computer runs the universe.
15:19:27 <ais523> # @
15:19:31 <ais523> and if that errors, it isn't tcsh
15:19:36 <lament> # TOUCH UNIV
15:19:42 <ehird> # SUDO SHUT UP
15:19:44 <ehird> # UNVRS
15:19:50 <ehird> hmmmmmmmmm
15:20:00 <ehird> FINESTRUCTURE= i
15:20:02 <ehird> START
15:20:05 <oerjan> YOU TOUCH THE UNIVERSE. YOU FEEL DIRTY.
15:20:08 <ehird> (See: Yesterday's logs)
15:20:40 <oerjan> SILENT MODE ON
15:20:46 <ehird> nooooo
15:20:53 <ehird> # SUDO START TALKING AGAIN
15:20:58 <oerjan> SILENT MODE OFF
15:21:02 <ehird> yay
15:21:09 * ehird waits to universe simulation to start
15:21:14 <ais523> # CHROOT /..
15:21:24 <ehird> stop breaking it.
15:21:29 <ais523> ehird: that's not breaking it
15:21:29 <ehird> i'm running UNVRS.
15:21:32 <ehird> yes it is
15:21:34 <oerjan> COMMAND NOT AVAILABLE
15:21:34 <ehird> we're in UNVRS shell
15:21:40 <ais523> that's jumping out of the box
15:21:45 <ehird> no box
15:21:48 <ehird> that's the whole computer
15:21:49 <ais523> chrooting to /.. is going to the directory outside the root directory
15:21:57 <ehird> now stfu, I'm running UNVRS>
15:21:58 <oerjan> TIME IS CYCLIC
15:22:03 <ais523> which is how you get computers to attain enlightenment
15:22:06 <ehird> oerjan: awesome
15:22:15 <lament> # DATE
15:22:20 <ehird> lament: we're not in a shell.
15:22:26 <ehird> we're in unvrs, dammit. read the docs.
15:22:38 <lament> sure, it should have date though
15:22:57 <oerjan> DATES ARE MEANINGLESS
15:23:00 <ehird> i wonder what will be invented this time around
15:23:00 <lament> see?
15:23:01 <ais523> sudo chroot /.. actually worked for me
15:23:03 <ehird> oerjan: what's happening now
15:23:13 <ais523> but I just ended up in the original root directory, AFAICT
15:23:14 <lament> # DATE CTHULHU
15:23:24 <ehird> sheesh. you all have ADHD.
15:23:25 <oerjan> NO CTHULHU FOUND
15:23:30 <ehird> oerjan: how goes the universe?
15:23:46 <oerjan> UNIVERSE COLLAPSES. LIFE IGNORES THIS.
15:23:48 <ais523> if it doesn't have cthulhu in, it's probably saner than the real one
15:23:58 <lament> # SUDO SUMMON CTHULHU; THEN DATE CTHULHU
15:24:10 <oerjan> CTHULHU IS NOT INTERESTED IN A DATE
15:24:17 <lament> :(
15:24:22 <oerjan> THINKS YOU LOOK TASTY WITH KETCHUP, THOUGH
15:24:33 <lament> even the old ones reject me
15:24:34 <ehird> sheesh, UNVRS is boring today.
15:24:38 <ehird> ^DSHUTDOWN<ENTER>
15:24:48 <oerjan> *BURP*
15:25:08 * ehird boots up oerjanputer
15:25:14 <ehird> # IGNOREALLCOMMANDS /EXCLUDE=UNVRS
15:25:15 <oerjan> *YAWN*
15:25:17 <ehird> # UNVRS
15:25:27 <ehird> FINESTRUCTURE= FINESTRUCTURE [RECURSIVE=ON]
15:25:29 <ehird> START<ENTER>
15:25:39 <ais523> # FIND DELICIOUSCAKE
15:25:47 <oerjan> COMMAND IGNORED
15:25:56 <ehird> # SUDO SHUTUP FORCOMMAND=IGNORED
15:26:02 <ehird> yay, peace and quiet
15:26:06 <ehird> well, apart from unvrs.
15:26:29 <oerjan> GALAXIES FORM
15:26:42 <oerjan> LITTLE GALAXIES FORM INSIDE GALAXIES
15:26:44 <ehird> i like how the fine structure constant doesn't ever change the fundamentals XD
15:26:47 <ehird> ooh
15:26:49 <ehird> fractal world
15:26:53 <ehird> verrrrry interesting
15:27:08 <oerjan> MICROSCOPIC GALAXIES FORMED
15:27:10 <ehird> :DD
15:27:30 <oerjan> GALACTIC TRADE UNION FORMED
15:27:51 <oerjan> TAXES INVENTED
15:27:54 <ehird> dammit
15:27:55 <ehird> wait
15:28:00 <ehird> oerjan: are they fractal taxes?
15:28:05 <oerjan> OF COURSE
15:28:31 <ehird> ok, I await the fractal revolution
15:28:43 <oerjan> IRS FORMS OUTLAWED, TOO COMPLICATED
15:28:47 <ehird> :D
15:29:07 <ehird> oerjan: and then?
15:29:35 <oerjan> MICROGALACTIC ORGANELLES EVOLVE TO PAY TAXES, SAVING WORK
15:29:54 <ehird> :D
15:30:03 <ehird> oerjan: nobody actually does work/
15:30:09 <ehird> they delegate it to their subgalaxy?
15:30:10 <ehird> :D
15:30:15 <ehird> to an infinite level?
15:30:23 <oerjan> PHILOSOPHY INVENTED DUE TO LOTS OF SPARE TIME
15:30:37 <ehird> very good
15:30:56 <oerjan> THEORY THAT "ALL IS TAXES" GAINS GROUND
15:31:16 <ehird> are taxes taxes?
15:31:19 <oerjan> (ALTHOUGH "GROUND" DOES NOT ACTUALLY EXIST)
15:31:22 <oerjan> OF COURSE
15:32:00 <oerjan> THEORY THAT "ALL IS GALAXIES" DISMISSED AS TOO MATERIALISTIC
15:32:25 <oerjan> DEATH INVENTED AS DUAL TO TAXES
15:32:32 * ehird awaits Recursive Theory
15:32:46 <oerjan> DEATH PROVES VERY UNPOPULAR
15:32:53 <ehird> DEATH ABOLISHED
15:33:29 <oerjan> DEATH MINIMIZED; ABOLISHING IT COMPLETELY WOULD ALSO ABOLISH TAXES, WHICH IS BELIEVED TO BE BAD
15:33:51 <ehird> TAXES ARE POPULAR?
15:34:41 <oerjan> TAXES ARE THE FOUNDATION OF PSYCHOLOGY; ABOLISHING THEM IS BELIEVED TO MEAN THE END OF INTELLIGENCE
15:34:59 <ehird> TELL ME MORE ABOUT "TAXOLOGY"
15:35:45 <oerjan> THE BRAIN WORKS BY TAXING NEUROGALAXIES, WHICH AGAIN TAX MICROGALACTIC ORGANELLES (SEE ABOVE)
15:36:05 <ehird> AHA
15:36:07 <ehird> CONTINUE
15:36:32 <oerjan> FLAT TAX INVENTED
15:36:52 <ehird> how are taxes enforced?
15:37:14 <oerjan> FLAT TAX OUTLAWED AS CAUSING BRAIN DAMAGE
15:37:37 <ehird> :D
15:37:43 <oerjan> TAXES ARE A FUNDAMENTAL LAW OF NATURE, IT IS MEANINGLESS TO ASK "WHY"
15:38:14 <oerjan> ALIEN CIVILIZATION DISCOVERED
15:38:32 <oerjan> TO THE IMMENSE SURPRISE OF EVERYONE, HAS NO TAXES
15:38:41 <ehird> :D
15:38:55 <oerjan> PLENTY OF DEATH THOUGH. WAR ENSUES.
15:39:04 <ehird> TAXES ABOLISHED?
15:39:44 <oerjan> ZEN INVENTED, UNDER THE SLOGAN "DEATH TO TAXES"
15:39:48 <ehird> :D
15:39:59 <oerjan> ZEN IS TAXED TO DEATH
15:40:41 <oerjan> PEACE DEAL FORMED WITH ALIEN CIVILIZATION
15:40:59 <ehird> :D
15:41:09 <ehird> are taxes still common?
15:41:17 <oerjan> ZEN LEGALIZED AGAIN AS PART OF PEACE DEAL. GOLDEN AGE OF ENLIGHTENMENT.
15:41:54 <ehird> woop
15:41:56 <lament> who is the ultimate beneficiary of taxes?
15:42:06 <ehird> lament: the universe
15:42:10 <ehird> fractal, remember?
15:42:24 <oerjan> PHILOSOPHY NOW BASED ON THE BALANCE OF DEATH AND TAXES. DIFFERENT SOCIETIES CHOOSE DIFFERENT BALANCE LEVELS
15:42:35 <ehird> :D
15:43:39 <oerjan> EXCESSIVE ZEN SHOWN TO CAUSE FLAT TAXES. ZEN PHILOSOPHERS DECLARE THIS ULTIMATE GOAL OF EXISTENCE.
15:43:44 <ehird> :O
15:44:42 <oerjan> MATHEMATICIAN HYPOTHESIZES FLAT DEATH. TRAMPLED UNDER FOOT BY RELIGIOUS MOB.
15:44:52 <ehird> lol
15:44:55 <ehird> what is the religion?
15:45:30 <oerjan> EVANGELICAL TAXOLOGY
15:45:48 <oerjan> DEATH CULTS ALSO COMMON
15:45:53 <ehird> :
15:45:53 <ehird> :D
15:46:55 <oerjan> MATHEMATICIAN INVENTS FRACTAL THEORY. PUBLICATION REFUSED AS "TOO OBVIOUS"
15:47:26 <ehird> :DD
15:47:31 <oerjan> MATHEMATICIANS FOUND TO CAUSE TOO MUCH TROUBLE, OUTLAWED.
15:47:58 <ehird> D:
15:48:08 <Slereah_> choo choo
15:48:39 <oerjan> MATHEMATICS RELEGATED TO COMPUTERS. DEVELOP SENTIENCE.
15:48:55 <oerjan> WAR ENSUES.
15:49:27 <ehird> :D
15:49:33 <oerjan> COMPUTERS OUTLAWED, EXCEPT FOR SIMPLE FLASH GAMES.
15:50:14 <ehird> :D
15:50:42 <oerjan> BIOLOGISTS DISCOVER COMPUTERS HAVE TAKEN OVER THE LOWER FRACTAL LEVELS, WHERE THEY WON THE WAR
15:51:45 <oerjan> THIS CAUSES COSMOLOGISTS TO LOOK MORE CLOSELY AT UPPER LEVELS. TENTACLES DISCOVERED. STOP LOOKING.
15:51:52 <oerjan> VERY CAREFULLY.
15:51:56 <ehird> :D
15:53:05 <oerjan> REPLACEMENT OF ORGANELLES BY COMPUTERS CAUSES NEW FUNDAMENTAL THEORY OF "ACCOUNTING"
15:53:57 <oerjan> AS MILLENNIA PASS, ORIGINAL TAX THEORY FORGOTTEN, TAXES ARE NOW CONSIDERED AN EMERGENT PROPERTY OF ACCOUNTING
15:54:04 <Slereah_> ALL CAPS HEADLINES INCLUDING COMPUTERS
15:54:46 <oerjan> PEOPLE ARE VAGUELY AWARE THAT SOMETHING DISTURBING EMERGES FROM TAXES. NEW ATTEMPT TO OUTLAW TAXES. MUCH CARNAGE.
15:55:25 <ehird> :D
15:55:38 <ehird> oerjan: how long until management?
15:56:09 <oerjan> PHILOSOPHY CLAIMS THAT TAXES MANAGE THEMSELVES, AS LONG AS YOU DON'T LOOK TOO CLOSELY.
15:56:17 <ehird> :D
15:57:31 <oerjan> AN ATTEMPT TO CREATE A UNIFIED THEORY OF THE UNIVERSE AT ALL LEVELS IS PUBLISHED
15:57:53 <oerjan> MAIN RESULT IS A POPULAR FLASH GAME ABOUT FIGHTING TENTACLED MONSTERS
15:58:28 <ehird> :DDD
15:58:58 <ehird> oerjan: ^D SAVE STATE; SHUTDOWN
15:59:04 <oerjan> *BURP*
15:59:28 * ais523 merges the AnMaster branch of C-INTERCAL with the mainline
16:11:41 <ehird> 08:47:31 <GregorR> Sometime this week, I will have an esoteric OO programming language ... because the world needs one (other than Java ahaha)
16:11:44 <ehird> - 2005
16:12:10 <ais523> ORK?
16:13:06 <Slereah_> HOOOORK
16:13:10 <Slereah_> bork bork
16:14:53 -!- jix has quit ("...").
16:22:58 <AnMaster> ais523, nice
16:23:23 <ehird> ais523: ork yes
16:23:35 <ais523> AnMaster: the build still needs a bit of tweaking to get the IFFI stuff working
16:23:46 <ais523> but I didn't mind merging that into mainline because mainline failed at that before
16:24:08 <AnMaster> ais523, well yes I didn't try to integrated it into automess
16:24:34 <ais523> I don't blame you
16:29:19 <ehird> hmm
16:29:22 <ehird> what's english's medium word length?
16:29:32 <ehird> 5?
16:29:56 <Slereah_> What do you mean by that, ehird?
16:30:04 <ehird> Medium world length.
16:30:18 <Slereah_> Mean length as used in sentence, or mean length using every word in the language?
16:30:47 <ehird> Idunno
16:31:55 <AnMaster> * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt <-- on gopher
16:32:00 <AnMaster> :D
16:32:05 <ehird> AnMaster: Asztal already said that
16:32:07 <ehird> could you stop being optbot?
16:32:14 <AnMaster> ehird, didn't know he did
16:32:25 <Slereah_> .txt is actually a pretty good format
16:32:26 <ehird> few lines after
16:32:39 <ais523> Slereah_: which .txt?
16:32:42 <ais523> it's pretty nonportable
16:32:58 <Slereah_> Is it?
16:33:00 <AnMaster> k, well I don't feel well, just had a bleeding nose
16:33:01 <AnMaster> ...
16:33:05 <oerjan> text/plain?
16:33:06 <Slereah_> Never had any problem opening any txt
16:33:07 <AnMaster> well, *
16:33:10 <ais523> Slereah_: try opening a .txt file created with UNIX on Notepad
16:33:21 <ais523> there are two main incompatibilities
16:33:23 <Slereah_> ais523 : Give me one, then
16:33:24 <AnMaster> ais523, that works fine, but may not do what you want
16:33:26 <ais523> line endings, and character encodings
16:33:27 <Slereah_> Because I don't have any
16:33:36 <ais523> ok, I'll dig one up and send it to you
16:33:49 <Slereah_> Owait, you mean the ones with the squares for line feed?
16:34:10 <AnMaster> ais523, I did manage to get windows to read utf8 once, not sure how
16:34:12 <ais523> yes
16:34:14 <AnMaster> think it was notepad even
16:34:15 <Slereah_> Ah yes
16:34:19 <ais523> AnMaster: Notepad can read UTF8
16:34:19 <ehird> it does by default
16:34:23 <Slereah_> I usually open them with wordpad
16:34:28 <ais523> it's just it tries to detect the format by default
16:34:30 <AnMaster> ais523, well by default it tries UTF16
16:34:30 <ehird> \n is the One True Newline.
16:34:31 <ais523> and sometimes gets it wrong
16:34:43 <ais523> AnMaster: it doesn't try anything in particular by default, its default is to guess
16:34:48 <AnMaster> ehird iirc mac (used to?) use \r only?
16:34:49 <ais523> and its guessing algorithm used to be pretty bad
16:34:50 <Slereah_> What does Unix use for newline?
16:34:52 <ais523> IIRC it's better now
16:34:54 <AnMaster> Slereah_, LF
16:34:55 <ais523> Slereah_: ASCII 10
16:34:58 <ehird> AnMaster: os 9 and previously
16:34:58 <ais523> normally represented as \n
16:35:01 <ehird> i.e, dinosaur
16:35:06 <oerjan> ehird: \n is not necessarily ascii 10
16:35:07 <ais523> Mac OS Classic used ASCII 13
16:35:10 <AnMaster> ehird, yes I have such a mac somewhere
16:35:12 <Slereah_> ew
16:35:12 <ehird> oerjan: yeah yeah yeah :P
16:35:16 <ais523> oerjan: \n is ASCII 10 on UNIX, though
16:35:20 <ehird> not in C
16:35:23 <AnMaster> ehird, first model ibook, OS 8 iirc
16:35:26 <ehird> in C it's implementation-defined
16:35:29 <ais523> ehird: yes
16:35:42 <ais523> it's defined to 10 on nearly all modern systems though, even Windows
16:35:47 <ais523> because it's defined as a single character
16:36:05 <AnMaster> ais523, really? so what does putchar('\n'); do on windows?
16:36:06 <ais523> Does Mac OS 9 have \n as 13, I wonder?
16:36:16 <ais523> AnMaster: it depends on whether the file's in text mode or binary mode
16:36:29 <ais523> putchar('\n') and putchar(10) both write \r\n to a text-mode file
16:36:33 <ais523> and \n to a binary-mode file
16:36:39 <AnMaster> ais523, well if you really really want it I could find that old mac and fire up MPW on it (Macintosh Programmer Workshop)
16:36:53 <ais523> AnMaster: probably Googling would find me the answer faster
16:37:02 <AnMaster> ais523, most likely
16:39:05 <AnMaster> ais523, hm what about mmap()ed files? iirc windows have something like it but with some weird name, like MapFileInMemoryExW(page_handle, file_handle, handle_handle, other_handle, &some_struct, &some_other_struct);
16:39:10 <AnMaster> or whatever
16:39:26 <ais523> it's almost certainly got an HWIN in there somewhere too
16:39:37 <AnMaster> ais523, isn't that for gui stuff?
16:39:51 <AnMaster> I mean why would mapping a file need a window handle?
16:40:02 <AnMaster> even MS can't be *THAT* silly
16:40:12 <AnMaster> or can they?
16:43:11 <AnMaster> # cat "/usr/share/man/leep .25000"
16:43:11 <AnMaster> dc(1) dc(1)
16:43:12 <AnMaster> wtf
16:43:21 <AnMaster> it is a formatted copy of the dc man page
16:43:25 <AnMaster> that makes 0 sense
16:43:40 <AnMaster> from 2005
16:43:47 <AnMaster> according to mtime
16:43:49 <flexo> that'd be CreateMapping() and MapViewOfFile() or so
16:43:54 <flexo> no window handle though
16:43:59 <AnMaster> flexo, you forgot the Ex
16:44:06 <flexo> possibly
16:44:17 * AnMaster sticks with the simple POSIX API
16:44:33 <AnMaster> flexo, I assume the first returns a handle?
16:44:38 <flexo> ofcourse
16:44:43 <AnMaster> sigh
16:44:50 <AnMaster> what is wrong with a pointer
16:44:56 <AnMaster> for something that is mapped in memory
16:45:07 <flexo> well
16:45:11 <AnMaster> I mean, if you want to use the mapping you need to know the base pointer
16:45:13 <flexo> a mapping is not yet mapped in memory
16:45:20 <AnMaster> why not make malloc() return a handle instead?
16:45:25 <flexo> it's just a .. weird.. object .. thingie.. with which you can build a mapping :)
16:45:42 <AnMaster> flexo, can you use it for anything else?
16:45:53 <flexo> good question
16:45:55 <flexo> i never did
16:46:13 <AnMaster> flexo, well if not it seems like it would have been smarter to combine them into one single call
16:46:46 <AnMaster> flexo, do you load the file with the first one or?
16:46:50 <flexo> ah
16:46:53 <flexo> it's actually CreateFileMapping
16:47:06 <AnMaster> wait... "CreateFileMapping" and then "MapViewOfFile"?
16:47:29 <AnMaster> that would be rather odd
16:47:35 <flexo> yes
16:47:54 <flexo> as i read msdn i think the point is that you can use a file mapping for shm
16:48:01 <flexo> which is not really a file mapping
16:48:07 <flexo> because it has nothing to do with files
16:48:10 <flexo> but it can be named
16:48:21 <AnMaster> shm_open() on *nix I think
16:48:21 <flexo> i suppose that's the reason i thought the API was called CreateMapping
16:48:24 <AnMaster> though I never used it
16:48:42 * AnMaster enters man 7 shm_overview
16:48:54 <AnMaster> and that takes much less time to load than MSDN!
16:49:37 <flexo> hm. nope. i was wrong.
16:49:42 <flexo> i have no idea what this madness is about
16:49:42 <AnMaster> oh?
16:49:48 <AnMaster> void *mmap(void *addr, size_t length, int prot, int flags,
16:49:48 <AnMaster> int fd, off_t offset);
16:49:48 <AnMaster> int munmap(void *addr, size_t length);
16:49:53 <AnMaster> quite a lot of args yes
16:49:57 <AnMaster> a bit too many IMO
16:50:03 <ais523> flexo: absolutely everything in Windows requires a window handle, it seems
16:50:05 <flexo> it seems to only way to get a pointer from a filemapping is to actually call MapViewOfFile
16:50:09 <ais523> IIRC even thread creation does
16:50:12 <ais523> although I might be wrong on that
16:50:14 <AnMaster> well for mmap() you want to leave the first one as NULL usually
16:50:19 <flexo> ais523: no.
16:50:20 <AnMaster> unless you are doing something VERY weird
16:50:32 <flexo> AnMaster: you mean fun
16:50:57 <AnMaster> flexo, well I can't see any reason for a userland program to need to mmap() to a specific address in it's address space
16:51:03 <AnMaster> simply no reason at all
16:51:05 <flexo> well
16:51:08 <flexo> i'll give you an example
16:51:14 <AnMaster> and mmap() isn't used *inside* kernel
16:51:19 <AnMaster> where there _are_ reasons
16:51:26 <flexo> oh, no, that was a fun mprotect() example. well. another example.
16:51:28 <AnMaster> like DMA and what not
16:51:31 <flexo> no no
16:51:34 <flexo> there are *fun* examples
16:51:43 <fizzie> jitfunge uses a fixed-address mmap.
16:52:06 <flexo> ah yes, MINE
16:52:09 <flexo> (mine is not an emulator)
16:52:15 <flexo> a MenuetOS compatibility wrapper i wrote for linux
16:52:15 <AnMaster> fizzie, that is basically unportable, because it is very hard to know what might be free. Also why would you need it to a specific address?
16:52:33 <flexo> iirc menuet os binaries expect to be loaded at 0x00000000
16:52:34 <AnMaster> flexo, hm?
16:52:44 <flexo> so you really need to map them there
16:53:11 <flexo> also needed to adjust the segment registers, trap segfaults, scan for the INT instructions...
16:53:15 <flexo> that was fun.
16:53:22 <AnMaster> flexo, hm if you want to do virtualization you will probably end up with a kernel module anyway?
16:53:29 <flexo> but you don't need to
16:53:34 <flexo> wine works fine in userspace too
16:53:49 <AnMaster> flexo, that is because wine doesn't do that, wine just emulates the API
16:53:50 <fizzie> AnMaster: It's for the stack; it's mmaped to a suitably "very far out" address so that it's more likely it can grow without hitting anything else. It does fall back to a non-fixed-address call if it fails, though.
16:53:59 <flexo> AnMaster: no, wine does a lot of mmap() magic
16:54:10 <flexo> the wine-loader does
16:54:25 <AnMaster> flexo, well why would it need to? iirc *.dll are relocatable
16:54:34 <AnMaster> not PIC though
16:55:03 <flexo> hm.
16:55:05 <flexo> well, they are
16:55:25 <flexo> but i assume there are lots of apps that expect the memory layout to be the win32 one
16:55:35 <AnMaster> flexo, also this is very likely to break because position of *.so like libc.so are (in recent linux kernels at least) placed randomly
16:55:37 <AnMaster> for security
16:55:43 <fizzie> The executables themselves aren't position-independent either.
16:56:01 <flexo> AnMaster: yes, these changes have always caused trouble for wine
16:56:50 <AnMaster> flexo, well I think they only have themselves to blame for that
16:56:54 <flexo> i think wine-loaded actually remaps the libraries as a workaround today
16:56:57 <flexo> *loader
16:57:10 <flexo> AnMaster: huh?
16:57:11 <AnMaster> err, really? Can you do that?
16:57:14 <flexo> why not?
16:57:33 <flexo> as long as you do it before any actual code is run there should be no problem
16:57:37 <AnMaster> flexo, "<AnMaster> flexo, well I think they only have themselves to blame for that <flexo> AnMaster: huh?" <-- sounds like depending on undocumented behaviour to me
16:57:40 <fizzie> The address space layout randomization things also do not put things completely randomly; there's some bits of entropy there, but it's not completely random.
16:58:01 <flexo> AnMaster: not really. many aspects of the win32 memory layout are clearly defined.
16:58:02 <AnMaster> flexo, you would have to do it in the start-up code before main or such?
16:58:10 <flexo> AnMaster: ofcourse
16:58:18 <AnMaster> flexo, well I mean on linux, since it needs to deal with the way linux works
16:58:33 <ehird> uhh, but it's a windows app
16:58:34 <AnMaster> and relying on libc not being randomized would be stupid
16:58:50 <AnMaster> ehird, sure but wine itself is a linux elf binary, that runs windows apps
16:58:51 <flexo> AnMaster: yea well - the wine loading process if ofcourse one great hack
16:58:55 <flexo> but it works for a hell lot of applications
16:59:03 <AnMaster> ehird, which was the thing we were talking about
16:59:38 <flexo> ah, i remember one example why we need our own memory layout
16:59:40 <AnMaster> flexo, just doing cat /proc/self/maps shows that libc is loaded at widely different locations between different runs
16:59:54 <AnMaster> sometimes even outside 32-bit address space (this is amd64)
16:59:56 <flexo> in 9x times there is this "shared kernel memory" thing where all processes can read from
17:00:18 <AnMaster> so it would need to not link libc
17:00:22 <AnMaster> which would be quite a pain
17:00:48 <flexo> at 0x7e00000000 or something like that
17:00:54 <flexo> storing stuff like the tick counter
17:01:07 <flexo> those apps would break if a lib happened to be loaded there
17:01:40 <AnMaster> flexo, hm if you need to load at 0x0 you said, then how will you do that for mmap()? At least on x86 NULL == 0x0, and passing NULL as first parameter to mmap is defined to mean that the application don't care where the mapping is placed
17:01:54 <flexo> (disclaimer: i'm not 100% sure if wine actually implements that memory area, i think i filed a patch once, but i remember discussions about it. had nothing todo with memory layout however :)
17:02:03 <fizzie> There are just 8 bits of randomness in mmap() call results on a 32-bit Linux system. 28 bits on 64-bit.
17:02:27 <ehird> 14:29:34 <fizzie> I think I want a befunge variant with function calls (simple define-function-with-integer-name, call-function-n and return would suffice, although I'm not sure if there should be a way of having more than a single return value) and perhaps with a _really_ simple module system (load-a-file, which could export a set of functions).
17:02:29 <ehird> 14:29:53 <fizzie> I guess it'd be cheatey and unbefungey, but that'd be a language one could actually use for real-world applications.
17:02:36 <flexo> AnMaster: uhm. true. but i'm 100% certain that it's possible to map from 0 on
17:02:43 <AnMaster> flexo, how?
17:02:44 <flexo> maybe via a flag or something?
17:02:50 <flexo> or the syscall api is different?
17:03:00 <flexo> actually wine does this too
17:03:02 <AnMaster> MAP_FIXED maybe?
17:03:17 <flexo> when you run a 16bit binary it maps the first 1mb
17:03:24 <flexo> (for obvious reasons)
17:03:31 <flexo> MAP_FIXED
17:03:32 <flexo> Don't interpret start as a hint: place the mapping at exactly
17:03:32 <flexo> that address.
17:03:35 <flexo> looks that way?
17:03:47 <AnMaster> probably it means that 0x0 get a different meaning yes
17:04:14 <fizzie> ehird: I guess fungot sort-of means I don't need "befunge for functions" for "real-world" applications; but still.
17:04:15 <fungot> fizzie: sjamaan says: you damned fool. a fool who knows he is headed towards his destruction. but nevertheless, he eventually obtained them, and accessed them. suppose they'd add something to a very credible thing?
17:04:21 <flexo> ofcourse NULL pointer accesses would no longer be caught :)
17:04:34 <ehird> fizzie: link to fungot source?
17:04:35 <fungot> ehird: aside from just feeling dirty. the core elements are based on the context.
17:04:36 <ehird> :DD
17:04:37 <ehird> wanna fun it
17:04:39 <ehird> run
17:04:44 <AnMaster> fizzie, about those 8 bits... hm? how many bits are locked due to needing to map at start of a page?
17:04:54 <AnMaster> can't be the other 24...
17:05:16 <fizzie> AnMaster: it randomizes the 8 bits just above PAGE_SHIFT.
17:05:19 <AnMaster> a few bits sure, but not all of those, and you might have a few reserved at top and bottom
17:05:36 <AnMaster> fizzie, what is PAGE_SHIFT for? and where is it defined/documented
17:06:13 <fizzie> PAGE_SHIFT is something like log2(page size); -- I mean, that's what I'd expect. Haven't grepped.
17:06:35 <ais523> !help
17:06:39 <fizzie> I'm just reading arch/x86/mm/mmap.c:mmap_rnd for this.
17:06:42 <ais523> ^help
17:06:43 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:06:47 <ais523> ^show
17:06:47 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:06:50 <ais523> ^source
17:06:50 <fungot> http://zem.fi/~fis/fungot.b98.txt
17:06:54 <ais523> ehird: there you go
17:07:10 <fizzie> The comment there says:
17:07:12 <fizzie> * 8 bits of randomness in 32bit mmaps, 20 address space bits
17:07:12 <fizzie> * 28 bits of randomness in 64bit mmaps, 40 address space bits
17:07:13 <ais523> fizzie: you should get fungot to respond to CTCP SOURCE
17:07:14 <fungot> ais523: in that respect it is a list
17:07:42 <ehird> now to figure out where to change its name
17:07:46 <fizzie> ais523: It should maybe also respond to CTCP VERSION, just in case freenode's automagical version-checker collects some hidden statistics.
17:07:56 <AnMaster> fizzie, hm indeed
17:07:59 <fizzie> ehird: You can change the nickname in the loader.
17:08:08 <ais523> I used to respond to Freenode's CTCP VERSION when I was using telnet by hnad
17:08:09 <ais523> *hand
17:08:12 <ais523> although it took me ages
17:08:12 <fizzie> ehird: Realname and username are the first occurance of "fungot" in the actual source.
17:08:12 <fungot> fizzie: they are not the brightest of bots
17:08:16 * ehird looks for loader
17:08:29 <AnMaster> ais523, how did you input the \1?
17:08:37 <ais523> control-A
17:08:38 <fizzie> I think I have some version of the loader as fungot-load-freenode.b98 in the same directory.
17:08:38 <fungot> fizzie: so set just affects a variable, while the sml examples implement their own regular expression library
17:08:40 <AnMaster> aha
17:08:41 <ais523> how else?
17:08:46 <AnMaster> ais523, no idea
17:08:53 <ais523> stdin tends to echo control codes if they don't mean anything to it
17:09:07 <ehird> Forbidden
17:09:07 <ehird> You don't have permission to access /~fis/fungot-load-freenode.b98 on this server.
17:09:08 <fizzie> "control-A A A", because you happened to be inside two nested screens. :p
17:09:08 <fungot> ehird: that's not the problem of separate compilation modular interface abstraction, it has fnord that's probably not much
17:09:13 <ehird> http://zem.fi/~fis/fungot-load-freenode.b98.txt
17:09:13 <fungot> ehird: how can anmaster do that?
17:09:17 <ehird> he can't
17:09:19 <AnMaster> what?
17:09:21 <AnMaster> do what?
17:09:31 * ehird saves as rungot
17:09:34 <ehird> geddit
17:09:34 <AnMaster> ehird, ?
17:09:35 <ais523> AnMaster: fungot said that, so it's probably out of context
17:09:35 <fungot> ais523: have your processor just accept sequences of parameters, like a bunny rabbit."
17:09:39 <ehird> AnMaster: it's fungot.
17:09:39 <AnMaster> well
17:09:39 <fungot> ehird: scheme48's module system that the code of the progrm itself or portions of it). it doesn't know.
17:09:40 <ehird> ramblings.
17:09:44 <AnMaster> hm
17:10:07 <AnMaster> ais523, it is a markov chain so probably didn't exist at all
17:10:15 <AnMaster> any original in that form I mean
17:10:16 <ais523> well, yes
17:10:30 <ais523> although it could be, its sufficiently short to be likely to be verbatim
17:10:35 <fizzie> ehird: You might need to create some files there too, maybe.
17:11:15 <fizzie> And incidentally, how does a bunny rabbit accept sequences of parameters?
17:11:31 <ehird> very evilly
17:11:37 <AnMaster> fizzie, sure you aren't fungot?
17:11:38 <fungot> AnMaster: i tried both gambit 4b13 and gambit 4b15, and surprisingly, the picture that won fnord ascii art contest wasn't even ascii art.
17:11:56 <ehird> i think i broke it
17:12:05 <AnMaster> fungot, obviously it was chess, not ASCII art...
17:12:05 <fungot> AnMaster: non matching blocks? we use those? just because of how heavily they're used, such as a macro
17:12:22 <AnMaster> though 4b13 makes no sense for chess
17:12:37 <AnMaster> nor anything else I know
17:13:13 <fizzie> If you're interested, it was wired's (the magazine, I assume) ascii art contest.
17:13:23 <ehird> v"ehird!n=ehird@eso-std.org"0<
17:13:26 <ehird> is that wrong?
17:13:38 <AnMaster> fizzie, what did it had to do with chess?
17:13:39 <fizzie> Make sure the < matches the v above.
17:13:56 <AnMaster> fizzie, I assume he can figure that out himself
17:14:02 <ehird> nope
17:14:04 <ehird> I didn't
17:14:11 -!- gunfot has joined.
17:14:12 <fizzie> AnMaster: Gambit's a Scheme implementation; 4b13 and 4b15 are version numbers.
17:14:18 <ehird> ^help
17:14:18 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:14:24 <AnMaster> ehird, changed prefix?
17:14:25 <ehird> wonder what prefix gunfot's on
17:14:35 <ehird> gunfot: yo man
17:14:37 -!- gunfot has quit (Remote closed the connection).
17:14:41 <fizzie> The prefix is in the loader too.
17:14:45 <AnMaster> ehird, no data file loaded?
17:14:47 <ehird> Command character:
17:14:47 <ehird> v ^' <
17:14:57 <ehird> What would that be then?
17:14:59 <ehird> oh
17:15:01 <ehird> ' is a character
17:15:12 <AnMaster> ehird, ' means read next char as string
17:15:18 <AnMaster> kind of
17:15:32 <ehird> fizzie: how do I get a data file thenz
17:15:40 <AnMaster> >'a is same as >"a"
17:15:52 <ais523> AnMaster: even with respect to tick count/
17:15:59 <AnMaster> ais523, no
17:16:01 <ais523> I thought 'a took one tick altogether
17:16:06 <AnMaster> ais523, and yes
17:16:08 <AnMaster> iirc
17:16:14 <ais523> whereas "a" is 3
17:16:20 <fizzie> ehird: Just define the commands you like, and then use *save, where * is your command character. It should create one there. Although you may need to have a subdirectory "data" in the current directory you're running it in.
17:16:27 <AnMaster> ais523, yes but fungot isn't using t, at least not in the loader
17:16:28 <fungot> AnMaster: mainly, yes. i see a xmlrpc lib for chicken and it wants to
17:16:34 <AnMaster> and last I looked not anywhere else either
17:16:37 <ehird> fizzie: Right, but how come it isn't working
17:16:59 <AnMaster> ehird, "help" is not built in, it is defined as a command
17:17:01 <AnMaster> ^show help
17:17:02 <fungot> (^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool)S
17:17:03 <fizzie> ehird: The crash was probably because it tried to respond with the babbling; the babbling needs all those other files.
17:17:04 <AnMaster> hm?
17:17:08 <AnMaster> see
17:17:13 <AnMaster> it is defined in underload
17:17:21 <ehird> hmm
17:17:22 <ehird> it won't join
17:17:25 <fizzie> And yes, it won't have a "help" command by default. But the ^def and ^show and such should work.
17:17:35 <ehird> RAW >>> :ehird!n=ehird@eso-std.org PRIVMSG gunfot :^raw JOIN #esoteric <<<
17:17:39 <AnMaster> fizzie, what are the owner only commands now again?
17:17:46 <fizzie> ehird: Did you change the prefix?
17:17:50 <ehird> Oh.
17:17:50 <ehird> duh.
17:18:09 -!- gunfot has joined.
17:18:14 <fizzie> AnMaster: There's at least ^code, ^reload, ^save, ^ignore, ^raw.
17:18:16 <ehird> \ul (A)S
17:18:16 <gunfot> A
17:18:22 <ehird> \bf ,[.,]!yo
17:18:22 <gunfot> yo
17:18:24 <AnMaster> why "gunfot"?
17:18:25 <ehird> ^.^
17:18:27 <ehird> AnMaster: why not
17:18:32 <ais523> spoonerism
17:18:32 * oerjan lols at today's http://www.mezzacotta.net/postcard/
17:18:35 <AnMaster> ehird, it isn't even fungot backwards
17:18:35 <ais523> but not an intersting one
17:18:35 <fungot> AnMaster: darcs is slow and underfeatured. ok.
17:18:40 <ehird> it's a spoonerism
17:18:46 <AnMaster> err
17:18:46 <ehird> fungot: lol, hear hear
17:18:47 <fungot> ehird: let me check that real quick. it should not loop indefinitely... that is a very model of propriety and good manners. the man's a smegging rock star. this star should be of sufficient mass to go supernova, generating large amounts of breaks for sanity's sake.
17:18:48 * AnMaster googles
17:18:54 <ehird> gunfot:
17:19:22 <ehird> oerjan: they're all 404s, intentional?
17:19:24 <ais523> \ul (test)S
17:19:24 <gunfot> test
17:19:49 <AnMaster> ehird, what interpreter?
17:20:01 <ehird> RC/Funge version 0.000000001 alpha.
17:20:08 <AnMaster> ehird, really? why?
17:20:10 <ehird> With 1000 extra lines of code to accellerate the mobmobile.
17:20:21 <ehird> Also, 5 antifingerprints that destroy matter.
17:20:35 <AnMaster> also I see you are being sarcastic, but I'm not in the mood for that
17:20:46 <AnMaster> hm
17:20:58 <ehird> not in the mood, well sorry, but this is a public channel and you did ask me a question.
17:21:00 <AnMaster> fizzie, idea: a built in ^handprint?
17:21:12 <ehird> ^code
17:21:15 <AnMaster> ehird, and care to answer it correctly?
17:21:17 <ehird> ^code )
17:21:20 <ehird> oh
17:21:21 <ehird> \code )
17:21:26 <AnMaster> oh my
17:21:27 <ehird> Hmm, it's still going.
17:21:31 <ehird> \ul (im ok)
17:21:32 <ehird> \ul (im ok)S
17:21:34 <fizzie> The 'code' command is very brittle.
17:21:35 <ehird> Ok, maybe not
17:21:38 -!- gunfot has quit (Remote closed the connection).
17:21:48 <AnMaster> fizzie, I can imagine that
17:21:53 <ehird> \code @
17:22:01 <AnMaster> it isn't connected...
17:22:03 <ais523> ehird: it isn't running atm
17:22:05 <ehird> it was
17:22:07 <ehird> in /msg
17:22:07 <ehird> :P
17:22:21 <AnMaster> ehird, well it doesn't read channel if not joined
17:22:24 <fizzie> It just loads SUBR, adds a "R" instruction at the end of the line, and jumps to the beginning.
17:22:27 <ehird> it was a mistake.
17:22:37 <oerjan> ehird: yes
17:22:38 <AnMaster> fizzie, you have to jump back yourself?
17:22:39 -!- gunfot has joined.
17:22:41 <ais523> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:41 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:41 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:44 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:44 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:45 <AnMaster> argh
17:22:46 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:46 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:48 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:48 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:50 <ehird> hee
17:22:50 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:50 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:52 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:52 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:53 <AnMaster> fizzie, ignore or something?
17:22:53 <oerjan> the actual content is the annotation
17:22:54 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:54 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:54 <ehird> thanks ais523
17:22:55 <ehird> :)
17:22:56 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:56 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:58 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:58 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:23:00 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:23:00 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:23:01 <ehird> gotta love botloops
17:23:02 -!- fungot has left (?).
17:23:02 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:23:03 <ais523> ^ignore gunfot
17:23:03 <ehird> \code @
17:23:03 -!- gunfot has quit (Remote closed the connection).
17:23:08 <fizzie> Sorry, I was the slow.
17:23:09 <ehird> ais523: you can't control the ignore list...
17:23:12 <AnMaster> ais523, isn't it owner only?
17:23:16 <ais523> probably
17:23:21 <ais523> I wanted to do a true multiquine, anyway
17:23:30 -!- fungot has joined.
17:23:31 <ehird> yes
17:23:34 <ehird> that was my original intention
17:23:36 <fizzie> ^ignore
17:23:36 <fungot> ^(thutubot|optbot|gunfot)!
17:23:48 <AnMaster> fizzie, what does the ! at the end mean?
17:23:49 <ais523> fizzie: probably for the best
17:23:53 <fizzie> That's the current ignore "list"; actually it's just a single regex.
17:23:57 <AnMaster> oh wait
17:23:58 <ehird> fizzie: Sheesh, you're no fun.
17:23:58 <ais523> AnMaster: it's the ! in an IRC username
17:24:03 <ais523> nick!user@host
17:24:11 <ehird> I'll just start two then,.
17:24:11 <AnMaster> right
17:24:17 <ais523> fizzie: you should probably add bsmnt_bot to that
17:24:21 <fizzie> Yes, it's matched against that prefix. And I don't think that loop was very fun either.
17:24:27 <AnMaster> ehird, why do you want to spam?
17:24:31 <ais523> as we had fungot/bsmnt_bot loops a while back
17:24:31 <fungot> ais523: i worked at until bankruptcy 7 times in 3 states. currently is over 120,000 in debt."
17:24:43 <AnMaster> ^style
17:24:44 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
17:24:44 <ais523> fizzie: I think it's fun to set up such loops, but not to spam the channel with them
17:24:56 <ais523> with two alert bot operators, I expected one of htem to quit it pretty quickly
17:24:57 <fizzie> ^ignore ^(thutubot|optbot|gunfot|bsmnt_bot)!
17:24:57 <fungot> OK.
17:25:27 -!- gunfot has joined.
17:25:31 <fizzie> I would like to see a N-bot loop, with N>2, though. Hopefully involving more than one language, also.
17:25:32 -!- tofnug has joined.
17:25:41 <ehird> gunfot, meet tofnug. tofnug, meet gunfot.
17:25:47 <ehird> fizzie: They are happy to converse with bsmnt_bot.
17:25:51 <ehird> |ignore
17:25:57 <ehird> \ignore
17:25:59 <ehird> Eh.
17:26:01 <ehird> \ul (a)S
17:26:01 <gunfot> a
17:26:03 <ehird> |ul (a)S
17:26:03 <tofnug> a
17:26:07 -!- ChanServ has set channel mode: +o fizzie.
17:26:16 <ais523> well, that's one way to stop a botloop
17:26:27 <fizzie> (I'm just preparing for bot-loop-silenzation if necessary, yes.)
17:26:37 <ehird> fizzie: I will stop them.
17:26:40 <AnMaster> fizzie :)
17:26:41 <ehird> But writing them is fun.
17:26:45 <ais523> fizzie: maybe you should add loop-breaking code to ^ul and ^bf, the same way as you have done to name-mention-responding
17:26:47 <ehird> I think 3-5 seconds is OK.
17:26:52 <ehird> Beyond that, I'll kill.
17:27:03 <AnMaster> ^source
17:27:03 <fungot> http://zem.fi/~fis/fungot.b98.txt
17:27:07 <ehird> I actually control all of {gunfot,tofnug,bsmnt_bot}, heh.
17:27:14 <ais523> come to think of it, /mode +m is the most efficient way to stop a botloop
17:27:18 <ais523> and doesn't involve kicking anyone
17:27:22 <oerjan> ehird: the actual content is the annotation
17:27:26 <ais523> ehird: bsmnt_bot is yours?
17:27:37 <ais523> I mean, I know who wrote it
17:27:38 <ehird> no, it's bsmntbombdoods, but it runs on rutian
17:27:40 <ais523> but it's on your server?
17:27:42 <ehird> yes
17:27:45 <ehird> since a few days ago
17:27:46 <fizzie> Yes, I should have the same loop-detection for all input, not just the babbling. I'm not quite sure why I don't.
17:27:47 <ehird> he put it up
17:27:51 <ehird> whois it
17:27:58 <oerjan> (note to self: stop typing with window scrolled back)
17:29:19 <oerjan> also, anyone can stop bsmnt_bot
17:29:28 <oerjan> ~exec bot.raw("QUIT")
17:29:28 -!- bsmnt_bot has quit.
17:29:31 -!- bsmnt_bot has joined.
17:29:36 <ehird> sure they can.
17:29:36 <fizzie> oerjan: But only you can stop forest fires.
17:29:37 <ehird> :-)
17:29:41 <ehird> but it comes right back
17:29:46 <AnMaster> fizzie, issue, I tried last fungot, odd but it didn't load
17:29:47 <fungot> AnMaster: are you making to gambit's web server instead of the channels on irc? i would have to avoid multimedia altogether then passing in on to y.
17:29:51 <oerjan> that's usually enough
17:30:06 <fizzie> AnMaster: Odd. What did it do, instead?
17:30:12 <AnMaster> fizzie, tracing atm
17:30:35 <AnMaster> fizzie, it didn't output anything and didn't connect I know
17:30:38 <AnMaster> it is busy running however
17:30:49 <AnMaster> fizzie, loop it seems
17:31:09 <AnMaster> fizzie, http://rafb.net/p/3iAYUs12.html
17:31:11 <fizzie> A "corrupted" (read: not exactly what fungot expects) fungot.dat file should cause a sensible error message, at least.
17:31:11 <fungot> fizzie: for insulting mcedit, i know to that :) what is a multiway system?!? awesome.
17:31:20 <oerjan> fizzie: i really cannot remember the last time i made fire in a forest.
17:31:22 <AnMaster> fizzie, changed format recently?
17:31:55 <fizzie> AnMaster: Last time when I added the underload support. I assume x and y are zero-based?
17:32:05 <AnMaster> fizzie, yes
17:32:14 <fizzie> Well, I guess they'd have to be, since that's what the spec says.
17:32:16 <AnMaster> fizzie, as in funge coords, not file editor coords
17:32:33 <AnMaster> so yes you need to offset for line number/column number
17:32:39 <fizzie> fungot.b98 is also loaded at y=100.
17:32:39 <fungot> fizzie: it's not so much, whereas almost no other ' fnord do fnord output is not that that is that same exact jump
17:32:54 <AnMaster> fizzie, well right, file loading works says mycology
17:33:17 <AnMaster> fizzie, and it is http://zem.fi/~fis/fungot.b98.txt right?
17:33:20 <fungot> AnMaster: i'm currently quite happy with most of what i've said about configure.ac.' you gave it an array. every element of a list are stored?
17:33:24 <AnMaster> saved without .txt
17:33:39 <AnMaster> $ md5sum fungot.b98
17:33:39 <AnMaster> 3af30bb6537de532d2f8ea07193a177e fungot.b98
17:33:39 <fungot> AnMaster: i'd distinguish two kinds of fnord
17:33:39 <fungot> AnMaster: don't you? yes offby1 i remember everything failing miserably :-p)
17:33:39 * oerjan lols at today's http://www.mezzacotta.net/owls/ too
17:33:40 <fizzie> AnMaster: Yes. Well, those coordinates are in the data/fungot.dat loading code. If you don't have much in your fungot.dat, you can just remove it. An empty file it should ignore.
17:33:41 <fungot> fizzie: insofar as now i can impress them with your connections to the same thing
17:33:59 <AnMaster> fizzie, the dat file is just 10 newlines
17:34:13 <ais523> what's in fungot.dat?
17:34:13 <fungot> ais523: fibonacci heaps? :) so i can say. and sometimes i miscount then
17:34:25 <fizzie> AnMaster: Well... try without any file; I think that worked for ehird.
17:34:40 <AnMaster> fizzie, ok now it loads
17:34:43 <fizzie> ais523: The ten ^str strings, and all ^def-defined commands. I don't think there's anything else.
17:34:46 <AnMaster> but does this mean it won't load after save
17:35:02 <fizzie> The format ^save writes should at least be correct.
17:35:06 <ehird> ]
17:35:15 <fizzie> Although you might want to define a single command, just in case it gets confused.
17:35:21 -!- testthingy has joined.
17:35:40 <ehird> 17:33 <fungot> AnMaster: i'd distinguish two kinds of fnord
17:35:41 <fungot> ehird: yes twb, thanks to a grand total of two and representing
17:35:42 <ehird> do it
17:36:00 <AnMaster> %ignore ^(thutubot|optbot|fungot|gunfot|tofnug)!
17:36:00 <testthingy> OK.
17:36:01 <fungot> AnMaster: well, i gather, they are signed and fnord, and i now have a fnord?
17:36:13 <AnMaster> %ignore ^(thutubot|optbot|fungot|gunfot|tofnug|bsmnt_bot)!
17:36:14 <testthingy> OK.
17:36:14 <fungot> AnMaster: generally you only want to support artists who are supporting the riaa
17:36:17 <AnMaster> %save
17:36:17 <testthingy> OK.
17:36:26 <AnMaster> fungot, wtf
17:36:27 <fungot> AnMaster: depends on your job... it doesn't do anything to strip out the bf for it
17:36:42 <fizzie> Oh, and the ignore regexp is not saved in fungot.dat. It's on my TODO list.
17:36:43 <fungot> fizzie: um, i mean
17:36:46 <ehird> so who here has used gafyd
17:36:49 <ehird> apart from Asztal
17:36:53 <AnMaster> ^show
17:36:53 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:36:58 <AnMaster> %show
17:37:05 <AnMaster> ^help
17:37:05 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:37:08 <ehird> 17:36 <fungot> AnMaster: generally you only want to support artists who are supporting the riaa
17:37:08 <fungot> ehird: well i fnord care about the x86, &c., are often upcased. we got snow.
17:37:09 <ehird> i lolled
17:37:33 <AnMaster> %def help ul (%<lang> <code>; %def <command> <lang> <code>; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool)S
17:37:33 <testthingy> Defined.
17:37:36 <AnMaster> %help
17:37:36 <testthingy> %<lang> <code>; %def <command> <lang> <code>; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool
17:37:42 <AnMaster> hm ok
17:37:48 <AnMaster> %save
17:37:48 <testthingy> OK.
17:37:57 <AnMaster> ehird, yes I agree
17:38:09 <ehird> well, Asztal: why is the mail for the free one 2.757272164 GB as opposed to gmail's 7GB?
17:38:16 <ehird> maybe I should redirect email to gmail instead
17:38:18 <fizzie> The file .dat format is horribly inefficient, but...
17:38:34 <AnMaster> ehird, err what mail for free?
17:38:43 <ehird> google apps for your domain
17:38:46 <AnMaster> ah
17:38:57 <ehird> it's gmail and other google stuff, but for a custom domain
17:39:18 <ehird> [i'm considering it because, well, i don't want to run my own mail server.]
17:39:27 <AnMaster> ehird, will you ever end up using those ~2.76 GB for mail?
17:39:36 <ehird> Well...
17:39:37 <ehird> You are currently using 742MB (10%) of your 7282MB.
17:39:38 <AnMaster> ehird, also setting up qmail is easy
17:39:39 <AnMaster> :P
17:39:42 <ehird> I've had this account since 2006.
17:39:53 <ehird> So, not in the near future, but over the years, yes I will.
17:40:06 <AnMaster> ehird, wow... I had my account since 2006 too and I only use around 90 MB so far
17:40:38 <AnMaster> but of course, I use other mail services too
17:40:41 <ehird> AnMaster: The 18,030 messages from Agora count for about 86MB of that.
17:40:46 <ehird> But my inbox is the largest, 322 MB.
17:40:52 <fizzie> "You are currently using 0 MB (0%) of your 7282 MB "
17:41:05 <fizzie> I'm not sure when that account was created.
17:41:07 <ehird> fizzie: but you don't use gmail, do you? :P
17:41:13 <AnMaster> ok that is one thing I dislike... why can't they have proper dirs, instead of just views?
17:41:31 <ehird> AnMaster: you mean, gmail?
17:41:32 <ehird> they do
17:41:33 <fizzie> ehird: Well, no. I have three messages in there.
17:41:34 <AnMaster> yes
17:41:44 <ehird> AnMaster: just remove it from the inbox in the filter
17:41:49 <ehird> that's what I do
17:41:54 <ehird> i only see agora mail if I click agora.
17:42:01 <ehird> (or All Mail, but All Mail isn't very useful anyway)
17:42:03 <AnMaster> ehird, oh? just "inbox" and "all mail", "trash" and "spam" iirc, the rest means you can still see it in "all mail"
17:42:22 <ehird> here's one of my agora filters:
17:42:29 <ehird> Matches: to:(agora-business@agoranomic.org)
17:42:29 <ehird> Do this: Skip Inbox, Apply label "Agora"
17:42:36 <AnMaster> ehird, anyway I use imap to access gmail
17:42:40 <ehird> yep
17:42:41 <AnMaster> doesn't work very well IMO
17:42:42 <ehird> works fine
17:42:47 <ehird> I use mail.app with imap and gmail
17:42:50 <ehird> it represents the labels as folders
17:42:50 <AnMaster> hm
17:43:54 <ehird> Wow, the pay version of google apps is $50/user/year.
17:44:05 <ehird> Although that gets you 25 GB per mail account, which is...excessive.
17:44:19 <ehird> I know people who have been subscribed to like 100 mailing lists since 1998 and only have 10GB of mail
17:44:47 <ais523> it depends on which 100 mailing lists
17:44:53 <ehird> ais523: active ones.
17:45:16 * AnMaster likes that Swedish public service radio publish many of the programs as mp3 on their website and don't seem to ever remove them
17:45:28 <ehird> I have good reason to outsource disk-spacey things, anyway, I only have 10GB on rutian.
17:45:29 <AnMaster> there is at least 2 years backlog there
17:46:08 <ais523> "only"?
17:46:08 <AnMaster> ehird, it is a vps, can't you just hit a button to upgrade?
17:46:14 <ais523> AnMaster: yes, but that costs more
17:46:16 <ehird> ais523: :-)
17:46:22 <AnMaster> ais523, you can't fit flightgear scenery into that
17:46:23 <ehird> AnMaster: Yes but
17:46:36 <ehird> It's $20/mo for 256MB of ram, 10GB storage, 100GB of mandwidth
17:46:39 <AnMaster> and I host a mirror for fg scenery :)
17:46:40 <ehird> the next one up is _$38/mo_
17:46:48 <ehird> 512MB ram, 20GB storage, 200GB bandwidth
17:47:02 <ehird> so yeah, $18 more is a bit steep
17:47:17 <AnMaster> ehird, hm the dedi is $50/month and it has 2x150 GB disks
17:47:33 <ehird> $50/month is not really reasonable for me I'm afraid
17:47:39 <AnMaster> hm ok
17:47:43 <ehird> also
17:47:43 <ehird> Transfer0.93GB of 100GB1 (0.33 in / 0.61 out)
17:47:45 <ehird> XD
17:47:47 <AnMaster> ehird, I split the cost with another person
17:47:51 <AnMaster> so $25 each
17:48:06 <ehird> The only time I ever came close to maxing out my bandwidth was when I was hosting a mirror of the ICFP 08 iso.
17:48:15 <ehird> But that was 512MB, IIRC
17:48:25 <ehird> it got to like 90GB then the monthly rollover happened
17:48:29 <AnMaster> hm I have unmetered 100 mbps
17:48:31 <ais523> ehird: it's about 700MB
17:48:37 <ais523> because it's an ISO of a CD
17:48:45 <ehird> OK
17:48:52 <AnMaster> ais523, err, you can have a smaller iso
17:48:56 <AnMaster> that doesn't fill all the cd
17:49:01 <ehird> it was a linux distro
17:49:02 <ehird> so
17:49:02 <ais523> I suppose so
17:49:16 <AnMaster> ais523, or why is the "boot-only.iso" for freebsd around 100 MB iirc
17:49:21 <ais523> ok
17:49:30 <ehird> - Email Archiving, powered by Postini
17:49:30 <ehird> 90-day message recovery, can be extended
17:49:35 <ehird> wonder why that's just for the premier one
17:49:39 <ehird> i mean, gmail has archiving, right?
17:49:47 <ehird> - SSL enforcement for secure HTTPS access
17:49:48 <ehird> er
17:49:54 <ehird> is that fancy words for "redirects http to https"?
17:49:54 <AnMaster> err isn't gmail https?
17:50:03 <ehird> AnMaster: yeah
17:50:08 <ehird> but
17:50:10 <AnMaster> actually it is a setting
17:50:12 <ehird> it degrades to http for non-supporting clients
17:50:13 <AnMaster> for gmail
17:50:13 <ehird> i think
17:50:15 <ehird> ah
17:50:16 <ehird> right
17:50:18 <ehird> this'll force https i guess
17:50:19 <ehird> XD
17:50:21 <ehird> - 99.9% Gmail, Google Calendar and Google Talk uptime SLA**
17:50:25 <AnMaster> well so does gmail
17:50:26 <ehird> geez, charging for that?
17:50:29 <AnMaster> if you turn on that setting
17:50:29 <ehird> what ever happened to 5-nines :P
17:50:56 <AnMaster> <ehird> - 99.9% Gmail, Google Calendar and Google Talk uptime SLA** <-- what on earth does that mean? 99.9% of google's uptime?
17:51:12 <ehird> it means that if you pay them $50/user/year they guarantee to be up 99.9% of the time
17:51:19 <ehird> which is _crap_
17:51:25 <ehird> compare to amazon which has 99.99999%
17:51:34 <AnMaster> is that for for the google domain hosting thingy?
17:51:35 <AnMaster> or what?
17:51:41 <ehird> yes
17:51:43 <ehird> "premier" edition
17:51:47 <ehird> instead of the free standard one
17:51:49 <AnMaster> <ehird> - Email Archiving, powered by Postini <-- hm?
17:51:55 <ehird> AnMaster: yeah I don't know either
17:51:56 <AnMaster> what is postini?
17:51:59 <AnMaster> ah
17:52:01 <AnMaster> right
17:52:13 <ehird> anyway, I'll just back up email locally every now and then, I think
17:52:18 <AnMaster> thought "ehird is looking at some other service, called postini"
17:52:21 <AnMaster> I thought*
17:52:36 <ehird> using half my storage? download all messages to disk over a few nights, delete everything from gmail
17:53:00 <ais523> ehird: /seven/ nines, for Amazon?
17:53:04 <ais523> that's insane
17:53:12 <AnMaster> ehird, doesn't gmail space continue to grow still?
17:53:16 <AnMaster> or have it stopped?
17:53:30 <ehird> ais523: err, no, that's 5 nines
17:53:32 <AnMaster> I remember the counter for current space was SO hyped a few years ago
17:53:33 <fizzie> "postini" is Finnish for "my mail"; "posti" is the noun, and the "-ni" part is the first-person singular possessive suffix.
17:53:36 <ehird> the number of nines means the 9s after the decimal point, ais523
17:53:40 <fizzie> I don't think that has anything to do with the name, though.
17:54:35 <ais523> ehird: it means altogether, doesn't it?
17:54:39 <ehird> nope
17:54:45 <ehird> i don't think
17:54:50 <ehird> oh
17:54:51 <ehird> hmm
17:54:53 <ehird> wikipedia says so
17:54:55 <ehird> that's odd
17:54:56 <ais523> top 3 google results all say 99.999
17:55:00 <ais523> but two of them are Wikipedia
17:55:25 <AnMaster> ais523, citations?
17:55:26 <fizzie> Well, 99.99999 % is .9999999 when represented in a sane way; so seven nines.
17:55:32 <AnMaster> also
17:55:40 <ais523> AnMaster: the article's uncited
17:55:47 <AnMaster> someone should add lots of [citation needed] to the wikipedia article on wikipedia
17:55:48 <AnMaster> !
17:55:49 <ais523> and there isn't even a template about that
17:56:07 <AnMaster> hah
17:56:14 <ehird> really, I think seven nines should be possible
17:56:19 * ais523 tags with unref
17:56:35 <ehird> if you have a massively redundant setup - i.e., say, 10 servers all running exactly the same thing, in different data centres around the world
17:56:38 <AnMaster> ais523, also someone should add "This article or section may not reflect a worldwide view" on the article on the US constitution :D
17:56:40 <ehird> and then multiple balancers balancing between them
17:56:54 <ehird> then pretty much when one fails skip to the next
17:57:06 <ehird> i mean, if they have nothing in common apart from the app they're running, server outages, etc are never a problem
17:57:11 <ehird> unless all 10 go down simultaneously
17:57:14 <ehird> which is... unlikely
17:57:18 <ais523> AnMaster: but then they'd just add a US Constitution in Vietnamese Popular Culture section
17:57:18 <ehird> if theyr'e all separate
17:57:21 <ehird> then it's just software issues
17:57:22 <AnMaster> ehird, DNS root servers: 100% uptime
17:57:27 <ehird> AnMaster: not 100%
17:57:31 <AnMaster> ehird, really?
17:57:36 <ehird> there's absolutely no way to guarantee that
17:57:37 <AnMaster> ehird, the actual service yes
17:57:46 <ehird> i guarantee you, if one of those servers was bombed it'd go down
17:57:50 <ais523> ehird: there have been systems with multiple massively redundant balancers
17:58:01 <AnMaster> ehird, sure but then the ip would stop being advertised
17:58:05 <fizzie> I'm not sure how they'd actually measure that "seven nines" thing; if they have one hour of downtime, they should then be online for the next thousand years or so.
17:58:07 <ehird> AnMaster: thats not 100% uptime
17:58:08 <AnMaster> err I don't know the name
17:58:13 <AnMaster> like geodns
17:58:15 <AnMaster> on routing level
17:58:17 <AnMaster> forgot the name
17:58:22 <ais523> one of the systems had a hardware failure, so they tried to turn it off to replace a component
17:58:26 <ehird> fizzie: well, six nines is 31 seconds of downtime per year
17:58:30 <ais523> but they turned the wrong one off by mistake, and the system went down
17:58:34 <AnMaster> bbiab
17:58:36 <ehird> imo it'd be possible to get less than that
17:58:40 <ehird> i mean, pretty easily
17:58:43 <ehird> as far as these things go
17:58:45 <fizzie> So it's counted as "downtime per year"? Okay.
17:58:49 <ehird> ais523: heh
17:59:37 <AnMaster> %raw quit
17:59:38 -!- testthingy has quit.
18:00:42 <AnMaster> bbiab again
18:02:47 <ehird> Holy fuck.
18:02:50 <ehird> Why made a language.
18:02:51 <ehird> http://github.com/why/potion/tree/master
18:03:02 <ehird> add = (x, y): x + y.
18:03:04 <ehird> Me likely that syntax.
18:29:04 -!- kar8nga has joined.
18:43:43 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
18:56:09 -!- oerjan has quit ("Rhombus").
19:07:23 -!- oklopol has quit (Read error: 110 (Connection timed out)).
19:07:45 -!- olsner has joined.
19:18:48 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:20:43 -!- Corun has quit ("This computer has gone to sleep").
19:24:11 -!- KingOfKarlsruhe has joined.
19:27:14 <GregorR> Argh
19:27:24 <GregorR> oocalc doesn't support spreadsheets with more than 65536 rows :P
19:28:15 <GregorR> Anyway, the average word length in the aspell spelling dictionary is a whopping 8.5
19:29:10 <GregorR> I would tell you what the median is, but I can't.
19:29:17 <GregorR> (Since it won't open in oocalc :P )
19:30:49 <fizzie> My (English) wordlist seems to have an average length of about 9.6, according to perl -ne 'chomp; $n++; $l += length($_); END { print $l/$n, "\n"; }' < /usr/share/dict/words
19:31:32 <fizzie> While /usr/share/dict/finnish gives 12.7. Our words are longer than yours, neener-neener.
19:31:57 <GregorR> I just did: aspell dump master en > words; wc -l words; wc -c words, then (c-l)/l
19:32:56 <fizzie> About 8.579 for "aspell dump master en" here.
19:33:12 <GregorR> Yup, same here.
19:33:18 <GregorR> I just truncated because I'm lazy :P
19:33:59 <fizzie> aspell-dumping the 'fi' list gives me 13.28; even larger difference there.
19:34:34 <fizzie> Also 731284 words, versus 138599 in the 'en' listing. Of course it's just different cases of various words.
19:34:48 <ehird> OK but in common usage, I'd say 5-6 is the most common
19:36:37 <GregorR> Of the 1000 most common words in English, the much-more-reasonable 5.3 was average.
19:36:49 * ehird thinks of the simplest way to express the relation a.b.c.d -> {a,a.b,a.b.c}
19:39:12 <GregorR> The median is 5 (no shock)
19:41:37 <fizzie> Few consecutive words from the 'fi' list: "metsä", "metsää", "metsäämme", "metsään", "metsääni", "metsäänne", "metsäänsä" -- translated "forest", "forest (partitive case)", "into our forest", "into the forest", "into my forest", "into your (plural) forest", "into his/her forest"; and it continues like that for at least 70 word forms.
19:42:15 <GregorR> Heh, clearly list-style spelling dictionaries aren't best suited to Finnish :P
19:42:19 <GregorR> (Or probably German for that matter)
19:42:29 <fizzie> (And I only counted those which do not alter the stem "metsä" at all, and tried to discount hunting-related words.)
19:42:37 <GregorR> (I usually think of German when I think of tons of words glued together)
19:43:15 <fizzie> At least the German language uses prepositions for many things; we just add all kinds of tiny suffixes.
19:43:23 <ehird> Anyone know of a good way to express a.b.c.d -> {a, a.b, a.b.c}?
19:43:26 <ehird> Can't think of a natural way.
19:45:50 <psygnisf_> ehird, what is that supposed to be?
19:46:02 <ehird> Function.
19:46:15 <ehird> Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}.
19:46:24 <psygnisf_> ah well
19:46:25 <ehird> Well, produce {a,b,c,d} as the last one, then it's just a matter of chopping that off.
19:46:29 <psygnisf_> i would express it as...
19:46:39 <psygnisf_> {a,b,c,d} -> {{a}, {a,b}, {a,b,c}}
19:46:40 <psygnisf_> :P
19:46:50 <ehird> for arbitrary length lists.
19:47:06 <psygnisf_> hmm
19:47:12 <fizzie> That looks more like sets when you use {}s.
19:48:25 <fizzie> There's the term "prefix set" for "abcde" -> {e, "a", "ab", "abc", "abcd", "abcde"} -- where e is the empty string -- which is pretty close, but seems that "prefix set" can mean other things too.
19:48:33 -!- jix has joined.
19:48:56 <psygnisf_> f (x:xs) = map (\n -> take n (x:xs)) [1...(length xs)]
19:49:10 <psygnisf_> that should work, ehird. :D
19:49:22 <psygnisf_> or something like that. im not good with haskell enough to know
19:49:29 -!- sebbu2 has joined.
19:49:32 <ehird> did you just ask #haskell? :P
19:49:36 <psygnisf_> no lol
19:49:44 <ehird> but yeah
19:49:47 <ehird> that looks reasonable
19:49:55 <psygnisf_> well it is
19:50:12 <psygnisf_> the lengths of each of the new sublists are just 1,2,...n-1
19:50:19 <psygnisf_> where n is the length of the input list
19:50:36 <psygnisf_> so you can just enum 1...n-1, and map that to the first that-many items of the input list
19:51:46 <fizzie> You can write it as a single list comprehension if you don't like the map-lambda part, too.
19:51:50 <fizzie> Prelude> let f (x:xs) = [take n (x:xs) | n <- [1..(length xs)]]
19:51:50 <fizzie> Prelude> f "foobar"
19:51:50 <fizzie> ["f","fo","foo","foob","fooba"]
19:51:58 <psygnisf_> ah yes
19:52:00 <psygnisf_> thats more elegant
19:52:59 -!- kar8nga has joined.
19:53:04 <fizzie> Or alternatively with a named pattern:
19:53:06 <fizzie> f x@(_:xs) = [take n x | n <- [1..(length xs)]]
19:53:10 <fizzie> Although the @ is not pretty.
19:53:58 <psygnisf_> i'd like to get rid of the [1..(length xs)] :|
19:54:32 <psygnisf_> [take n (x:xs) | n > 0, n <= (length xs)]???
19:54:36 <psygnisf_> would that work?
19:58:49 <fizzie> It's not clever enough. Even "... | n <- [1..], n <= 5" will never finish evaluating the sixth element of the list since it can't figure out that the [1..] will never again be <= (length xs) later on.
19:59:09 <fizzie> I'm sure some haskellist can give a prettier version, anyway.
20:01:28 <ehird> fizzie: you wrote a regex->bf compiler in java in 2005
20:01:29 <ehird> SHOW IT
20:05:01 <fizzie> Hah:
20:05:06 <fizzie> Prelude> let f [] = []; f (x:xs) = [x]:[x:y | y <- f xs]
20:05:07 <fizzie> Prelude> f "foobar"
20:05:07 <fizzie> ["f","fo","foo","foob","fooba","foobar"]
20:05:10 <fizzie> That is the prettier way.
20:05:18 <fizzie> Let's see if I can find that regex-bf thing.
20:07:57 -!- sebbu has quit (Connection timed out).
20:07:57 -!- sebbu2 has changed nick to sebbu.
20:09:45 -!- Corun has joined.
20:12:26 <fizzie> Why do I not have a brainfuck interpreter anywhere? Foolishness.
20:15:49 <flexo> char m[99999],*n[99],*r=m,*p=m+50000,**s=n,d,c;main(){for(read(0,r,
20:15:49 <flexo> p);c=*r++;c-93?c-91?d?0:c-43&~2?c-44?c-46?p+=c&~2^60?0:c%4-1:write(
20:15:49 <flexo> 1,p,1):read(2,p,1):(*p-=c-44):d++||(*++s=r):d&&--d?0:*p?r=*s:--s);}
20:15:51 <flexo> there you go
20:16:01 <fizzie> Wait, I do have my own similar one.
20:16:07 <flexo> i bet mine is shorter
20:18:12 <flexo> hm. looking at that mess... i'm really proud of it :)
20:18:18 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:18:53 <fizzie> Yours is 65 characters shorter, yes.
20:18:53 <flexo> p+=c&~2^60?0:c%4-1
20:19:01 <flexo> i even roughly remember why i'm doing that
20:19:06 <fizzie> Mine is more readable. :p
20:19:10 <fizzie> main(j,a,n,t)int*a;{unsigned short p=-1;char*r=calloc(n=p+1,6),*i=r
20:19:10 <fizzie> +n,**k=i+n;for(read(open(*++a,t=0),i,p);n=*i-43,t<0?n-48?n-50||++t:
20:19:10 <fizzie> --t:n?n-2?n-19?n-17?n-3?n-48?n-50?n-1||read(0,r+p,1):p[r]?i=k[j]:j
20:19:10 <fizzie> --:p[r]?k[++j]=i:t--:putchar(p[r]):p--:p++:p[r]--:p[r]++,*i++;);}
20:19:11 <flexo> the nice thing about brainfuck is
20:19:21 <flexo> if you closely examiny the binary encoding of the instruction
20:19:28 <flexo> *examine
20:19:34 <flexo> you can more treat it like microcode
20:19:47 <flexo> (in ascii, that is)
20:20:47 <fizzie> Hoy, I foundeded the regex thing.
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ java -cp . BFRE '(ab)*' > test.b
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:20:50 <fizzie> abab
20:20:50 <fizzie> acc!
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:20:52 <fizzie> abababab
20:20:55 <fizzie> acc!
20:20:57 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:21:00 <fizzie> abba
20:21:02 <flexo> oh boy
20:21:03 <fizzie> rej!
20:21:05 <fizzie> It's not PCRE, but it does the basics.
20:21:32 <flexo> how stupid
20:21:43 <flexo> i'm rather positive that you can encode something like 50000 in less than 5 chars
20:21:46 <flexo> there are so many operators
20:22:43 <fizzie> ehird: http://zem.fi/~fis/BFRE.java -- it's quite a mess, though.
20:23:09 <flexo> hmmm.
20:24:40 <fizzie> flexo: My version uses a "unsigned short p=-1" to get a suitably big number for storage allocation as well as a 'p' data-pointer that auto-wraps. But it's not very short, no.
20:25:31 <flexo> 9<<0xf is unfortunatly 6 bytes
20:26:03 <flexo> oh, and i don't do the int parameter trick
20:26:04 <fizzie> I don't see a reason for "9<<0xf" when "9<<15" has less characters.
20:26:16 <flexo> uh.
20:26:19 <flexo> right
20:26:20 <flexo> :)
20:26:22 <flexo> still
20:26:24 <flexo> 5 bytes
20:27:50 <flexo> probably not possible?
20:28:09 <flexo> 4 bytes gives you two operands and 2 operators
20:35:02 <psygnisf_> ehird
20:35:06 <psygnisf_> http://www.boingboing.net/2009/01/06/tumbarumba-a-surreal.html
20:35:32 <Slereah_> BOING BOING
20:35:36 <Slereah_> It is a penis sound
20:37:22 <psygnisf_> i love penis
20:38:03 <Slereah_> Really? I didn't notice.
20:38:14 * Slereah_ is making an origami Shii
20:46:27 -!- GreaseMonkey has joined.
20:53:12 <psygnisf_> WHAT'S THIS? LOLHASKELL?!
20:53:25 <psygnisf_> ghci> :type Just "invisible bike"
20:53:25 <psygnisf_> Just "invisible bike" :: Maybe [Char]
20:57:51 * Badger whacks psygnisf_ with a rolled up newspaper
20:58:14 <psygnisf_> no no!
20:58:23 <psygnisf_> seriously! look! http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html
20:59:07 <Badger> <3 book 172
20:59:08 <Badger> er
20:59:10 <Badger> <3 book 173
20:59:44 <psygnisf_> ive only gotten about a third of the way through excession
20:59:54 <psygnisf_> thats the sum total of my cultureverse experience
21:00:19 <fizzie> I've read the other Culture books *except* Excession; for some reason it just didn't go as smoothly as the others.
21:01:14 <fizzie> I guess the bot-loop danger is not imminent right now.
21:01:15 -!- fizzie has set channel mode: -o fizzie.
21:01:58 <Badger> Excession was my favourite.
21:03:27 <Badger> heh
21:03:30 <Badger> invisible bike indeed
21:05:10 <fizzie> I rather liked Look to Windward, actually. At least some parts. Like the stuff with the pylons.
21:05:13 <psygnisf_> you see?
21:05:22 <psygnisf_> its like.. what? when did haskellers start doing lolcats?
21:05:39 <Slereah_> Since they're nerds?
21:07:25 <psygnisf_> yeah but they're not that kind of nerd
21:07:33 <psygnisf_> they're like OMG MONADS SPOOGE <3
21:07:35 <olsner> they've been doing it since way back
21:07:36 <psygnisf_> nerds
21:08:09 <Slereah_> Yo dawg, I herd you like function calls
21:08:31 <psygnisf_> so i herd u liek monads
21:09:02 <Slereah_> Can you put a monad in my monad?
21:09:05 <Slereah_> So that I may...
21:09:11 <Slereah_> Well, do whatever monads do
21:09:13 <Slereah_> While doing it
21:18:04 <fizzie> Yes, the Haskell library provides monad transformers to sort-of put a monad on a monad.
21:28:32 <psygnisf_> put a monad on a monad?
21:37:28 -!- oklopol has joined.
21:39:58 <fizzie> It's that "Put a X in your X" meme.
21:57:45 -!- kar8nga has left (?).
22:00:57 <Asztal> ehird: my google apps email account is currently: You are currently using 0MB (0%) of your 7278MB.
22:01:10 <ehird> Asztal: And this is the free version?
22:01:22 <Asztal> well, I'm not paying for anything
22:01:23 <ehird> (Just assuming you're not giving google $50/year to host a mail sever for you.)
22:01:28 <ehird> Asztal: is it the free trial?
22:01:31 <Asztal> unless it's giving me a free trial
22:01:34 <ehird> yep
22:01:35 <ehird> by default
22:01:44 <Asztal> bummer, dude
22:02:03 <ehird> resign up for the nonprofit free one :P
22:03:23 <Asztal> Try Premier Edition Free
22:03:24 <Asztal> * 25GB storage per user, no ads, 99.9% uptime SLA
22:06:40 <ehird> Asztal: true
22:08:23 <kerlo> Gmail has free trials?
22:08:45 <ehird> kerlo: google apps for your domain
22:08:51 <ehird> it's gmail, except for your own site-web
22:09:12 <ehird> Asztal: what's the advantages over just forwarding to gmail btw?
22:09:52 <kerlo> Ah.
22:13:26 <Asztal> ehird: presumably when doing that you still need some simple server to do the actual forwarding?
22:13:32 <Asztal> I just set my MX records to gmail.
22:13:40 <ehird> Asztal: it's easier to set up a redirecting server than a full one :P
22:14:35 <Asztal> true.
22:14:48 <Asztal> I'm not sure what the benefits are... probably not very much.
22:16:35 <ehird> you can rescheme the login form and the logo? :P
22:17:35 <kerlo> Speaking of MX records, I think I'll take a peek at mine.
22:18:02 <ehird> Dirty.
22:19:22 * kerlo successfully guesses his GoDaddy password
22:20:41 <kerlo> MX: @ is normish.org
22:36:33 <grndlvlbombdood> er
22:37:20 <grndlvlbombdood> f(1) = 1; f([2,3]) = 2; f([4,6]) = 3; f([7,10]) = 4; and so on
22:37:23 <grndlvlbombdood> what's f?
22:37:50 <ehird> um, what does it do?
22:37:54 <oklopol> diff + 1
22:38:02 <ehird> o
22:38:20 <oklopol> 1 is considered a 1-tuple, its elements don't have any differences, because it's a singleton
22:38:24 <grndlvlbombdood> err sorry that's bad notation
22:38:55 <oklopol> grndlvlbombdood: and because psygnisfive didn't remember, and he just remembered it was something interesting.
22:39:12 <grndlvlbombdood> f(1) = 1; f(2) =2; f(3) = 2; f(4) = 3; f(5) = 3; f(6) = 3; f(7) = 4; f(8) = 4....
22:39:31 <oklopol> well that's even easier
22:40:07 <oklopol> has to do with square methinks, but i'd have to fiddle to get it
22:40:25 <oklopol> no not square, urrrr.
22:41:45 <grndlvlbombdood> ceil((sqrt(1+8*x) - 1)/2)
22:42:06 <oklopol> something like that.
22:42:28 <grndlvlbombdood> exactly like that
22:42:59 <oklopol> might be something vaguely similar to something like that, yes
22:52:15 <fizzie> OEIS Search Results: A002024 "n appears n times"; 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, ... a(n) = floor( 1/2 + sqrt(2n) ). Also a(n)=ceil((sqrt(1+8*n)-1)/2). a(n) = a(n - a(n-1)) + 1. a(n) = round(sqrt(2*n)).
22:55:37 <kerlo> Pff, ceiling and round.
22:56:05 <kerlo> Use the sinc function, my friend.
22:56:18 * kerlo looks up that closed-form formula for the Fibonacci sequence
22:56:55 <fizzie> Well, there's the generating function and a couple of references of other sequences in the OEIS too.
22:57:06 <kerlo> Pretty simple: http://en.wikipedia.org/wiki/Fibonacci_sequence#Closed_form_expression
22:57:32 <fizzie> I'm not sure how that is related, except that it's also a sequence.
22:59:24 <fizzie> Night, anyway.
23:01:12 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
23:01:15 <kerlo> It's also a closed form expression for a sequence.
23:01:29 -!- oklopol has joined.
23:09:04 <ehird> There should be a way to make an ordered directory.
23:11:04 -!- oerjan has joined.
23:16:29 <kerlo> <wikipedian>Make an extension of ext3 that allows you to do that.</wikipedian>
23:17:06 <ehird> That is not useful for os x.
23:18:16 <oerjan> <ehird> Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}.
23:18:18 <psygnisf_> hahaha
23:18:18 <psygnisf_> http://www.youtube.com/watch?v=8Yw6LQrtwHY&feature=related
23:18:27 <oerjan> tail . inits
23:18:43 <oerjan> er, tail . init . inits
23:18:51 <ehird> psygnisf_: lol
23:19:11 <psygnisf_> REAL CYBERPUNK
23:19:19 * psygnisf_ sticks a chip on the side of my head
23:19:27 <ehird> almost sort of mimicing the computer screen.
23:20:54 <psygnisf_> ESSENTIAL
23:21:51 <kerlo> ehird's fancy ordering scheme requires anonymous directories.
23:21:53 <oerjan> (works on infinite lists too, unlike the length using versions)
23:25:04 -!- gunfot has quit (Remote closed the connection).
23:25:07 -!- tofnug has quit (Remote closed the connection).
23:25:22 <oerjan> gun foot, toe fnug
23:26:05 <oerjan> fognut
23:26:46 -!- olsner has quit ("Leaving").
23:27:00 <oerjan> toungf, nougft
23:27:32 <oerjan> gnuoft
23:33:36 -!- sebbu2 has joined.
23:36:22 <kerlo> "Gnus oft" looks like something you'd find in a pangram.
23:36:51 <oerjan> <psygnisf_> its like.. what? when did haskellers start doing lolcats?
23:37:07 <oerjan> http://arcanux.org/lambdacats.html
23:37:43 <kerlo> If gnus oft say zed, quux jacks.
23:37:51 <kerlo> (Which probably isn't a pangram.)
23:38:52 <oerjan> it does not b
23:39:14 <kerlo> If gnus oft say zed by quux, jack.
23:40:58 <oerjan> hmph
23:41:15 <kerlo> Is that an actual pangram?
23:41:31 <kerlo> Can't be; it has only 25 letters.
23:42:53 <kerlo> It has A and B and C and D and E and F and G but not H; it has I and J and K but not L or M; it has N and O but not P; it has Q but not R; it has S and T and U but not V or W; it has X and Y and Z.
23:44:55 <Slereah_> Stop singing the alphabet
23:45:21 <ehird> This Pangram contains four a's, one b, two c's, one d, thirty e's, six f's, five g's, seven h's, eleven i's, one j, one k, two l's, two m's, eighteen n's, fifteen o's, two p's, one q, five r's, twenty-seven s's, eighteen t's, two u's, seven v's, eight w's, two x's, three y's, & one z.
23:49:56 <oerjan> hm would you reach that if you wrote it as an iterated system, and started with 0 of everything...
23:50:50 -!- sebbu has quit (Connection timed out).
23:54:05 <kerlo> It's likely you would end up in an infinite loop.
23:56:29 <ehird> that program was machine-generated
23:56:31 <ehird> (custom machine)
23:56:34 <ehird> err
23:56:36 <ehird> pangram
←2009-01-07 2009-01-08 2009-01-09→ ↑2009 ↑all