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: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: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:58 <oklofok> ehird: i think pretty dark
00:46:05 <ehird> psygnisf_: just make it a stack machine
00:46:26 <ehird> psygnisf_: look it up, tard :P
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: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: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:33 <ehird> you need io to do anyhting with the cpu :P
00:48:39 <ehird> well you could analyze the stack.
00:49:39 <psygnisfive> i was thinking of just using a non-stack machine. with like, memory access stuff
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: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:40 <ehird> a stack-based one.
00:52:01 <psygnisfive> ok give me a good introduction to a sensible stack machine
00:52:18 <ehird> you don't need to.
00:52:22 <ehird> just make up your own branching
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: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:15 <ehird> IF also stops code execution
00:54:24 <ehird> and skip past a b c
00:54:26 <ehird> until you get to THEN
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: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: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:43 <ehird> psygnisfive: which part was confusing?
00:55:52 <psygnisfive> what operations would you say are absolutely necessary?
00:56:02 <oklofok> well it was pretty clear actually
00:56:14 <oklofok> i more like assumed it was a bad explanation because i didn't feel like reading it properly
00:56:18 <ehird> that's just about it
00:56:22 <ehird> psygnisfive: what was confusing ?
00:56:42 <psygnisfive> ehird, dont worry. its confusing because i didnt run it in my head
00:56:53 <ehird> i forget the exact stack diagram
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: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: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:56 <ehird> they aren't purely functional.
00:58:16 <oklofok> ehird: stop being realistic and begin being pure
01:00:12 <oklofok> psygnisfive: well essentially do it like underload
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:49 <ehird> imperative stack based is the simplest way, really
01:00:52 <ehird> psygnisfive: i'll tell you
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:48 <oklofok> i think i'm gonna read a comic now
01:10:45 <oklofok> i actually read more like 50, but my internet is broken now, also maybe sleep
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:51:19 <Slereah_> Prove your nerdity, bsmntbombdood
05:53:13 <bsmntbombdood> and anyway, why were you talking about my [lack of a] sex life?
06:30:16 -!- bsmntbombdood has changed nick to grndlvlbombdood.
06:33:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
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: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: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
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:54 <fizzie> Oh noes. Forgot the bot completely.
14:12:48 <ehird> AnMaster: Yeah, stuff was running for those slow runs.
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: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: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:12 <ehird> my hypothesis is that lack of sleep is the most psychedelic drug ever
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: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:12:19 <oerjan> DON'T EVEN THINK ABOUT IT
15:12:35 <oerjan> (thinking about the oerjanputer can drive you insane)
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: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:17:09 <oerjan> ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA
15:17:50 <ehird> # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE /FOREVERMORE /COMPLETELY_DESTROY ...
15:18:11 <ais523> I thought sudo didn't work in allcaps
15:18:17 <ehird> ais523: this is oerjanix
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:19:09 <ehird> lament: oerjanjix oerjellshell v1.4
15:19:21 <ehird> ais523: he did this yesterday
15:19:22 <ais523> if that errors, it isn't the dos shell
15:19:23 <ehird> this computer runs the universe.
15:19:31 <ais523> and if that errors, it isn't tcsh
15:20:05 <oerjan> YOU TOUCH THE UNIVERSE. YOU FEEL DIRTY.
15:20:08 <ehird> (See: Yesterday's logs)
15:20:53 <ehird> # SUDO START TALKING AGAIN
15:21:09 * ehird waits to universe simulation to start
15:21:29 <ais523> ehird: that's not breaking it
15:21:29 <ehird> i'm running UNVRS.
15:21:34 <ehird> we're in UNVRS shell
15:21:40 <ais523> that's jumping out of the 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:22:03 <ais523> which is how you get computers to attain enlightenment
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:23:00 <ehird> i wonder what will be invented this time around
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:24 <ehird> sheesh. you all have ADHD.
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: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:25:08 * ehird boots up oerjanputer
15:25:14 <ehird> # IGNOREALLCOMMANDS /EXCLUDE=UNVRS
15:25:27 <ehird> FINESTRUCTURE= FINESTRUCTURE [RECURSIVE=ON]
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: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:53 <ehird> verrrrry interesting
15:27:08 <oerjan> MICROSCOPIC GALAXIES FORMED
15:27:30 <oerjan> GALACTIC TRADE UNION FORMED
15:28:00 <ehird> oerjan: are they fractal taxes?
15:28:31 <ehird> ok, I await the fractal revolution
15:28:43 <oerjan> IRS FORMS OUTLAWED, TOO COMPLICATED
15:29:35 <oerjan> MICROGALACTIC ORGANELLES EVOLVE TO PAY TAXES, SAVING WORK
15:30:03 <ehird> oerjan: nobody actually does work/
15:30:09 <ehird> they delegate it to their subgalaxy?
15:30:15 <ehird> to an infinite level?
15:30:23 <oerjan> PHILOSOPHY INVENTED DUE TO LOTS OF SPARE TIME
15:30:56 <oerjan> THEORY THAT "ALL IS TAXES" GAINS GROUND
15:31:19 <oerjan> (ALTHOUGH "GROUND" DOES NOT ACTUALLY EXIST)
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: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:52 <ehird> how are taxes enforced?
15:37:14 <oerjan> FLAT TAX OUTLAWED AS CAUSING BRAIN DAMAGE
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:55 <oerjan> PLENTY OF DEATH THOUGH. WAR ENSUES.
15:39:44 <oerjan> ZEN INVENTED, UNDER THE SLOGAN "DEATH TO TAXES"
15:40:41 <oerjan> PEACE DEAL FORMED WITH ALIEN CIVILIZATION
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: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:43:39 <oerjan> EXCESSIVE ZEN SHOWN TO CAUSE FLAT TAXES. ZEN PHILOSOPHERS DECLARE THIS ULTIMATE GOAL OF EXISTENCE.
15:44:42 <oerjan> MATHEMATICIAN HYPOTHESIZES FLAT DEATH. TRAMPLED UNDER FOOT BY RELIGIOUS MOB.
15:44:55 <ehird> what is the religion?
15:45:48 <oerjan> DEATH CULTS ALSO COMMON
15:46:55 <oerjan> MATHEMATICIAN INVENTS FRACTAL THEORY. PUBLICATION REFUSED AS "TOO OBVIOUS"
15:47:31 <oerjan> MATHEMATICIANS FOUND TO CAUSE TOO MUCH TROUBLE, OUTLAWED.
15:48:39 <oerjan> MATHEMATICS RELEGATED TO COMPUTERS. DEVELOP SENTIENCE.
15:49:33 <oerjan> COMPUTERS OUTLAWED, EXCEPT FOR SIMPLE FLASH GAMES.
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: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: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: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:58 <ehird> oerjan: ^D SAVE STATE; SHUTDOWN
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:14:53 -!- jix has quit ("...").
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:29:22 <ehird> what's english's medium word length?
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:31:55 <AnMaster> * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt <-- on gopher
16:32:05 <ehird> AnMaster: Asztal already said that
16:32:07 <ehird> could you stop being optbot?
16:32:25 <Slereah_> .txt is actually a pretty good format
16:32:42 <ais523> it's pretty nonportable
16:33:00 <AnMaster> k, well I don't feel well, just had a bleeding nose
16:33:06 <Slereah_> Never had any problem opening any txt
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:24 <AnMaster> ais523, that works fine, but may not do what you want
16:33:26 <ais523> line endings, and character encodings
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: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:58 <ehird> AnMaster: os 9 and previously
16:34:58 <ais523> normally represented as \n
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 <ehird> oerjan: yeah yeah yeah :P
16:35:16 <ais523> oerjan: \n is ASCII 10 on UNIX, though
16:35:23 <AnMaster> ehird, first model ibook, OS 8 iirc
16:35:26 <ehird> in C it's implementation-defined
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: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: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:43:11 <AnMaster> # cat "/usr/share/man/leep .25000"
16:43:21 <AnMaster> it is a formatted copy of the dc man page
16:43:49 <flexo> that'd be CreateMapping() and MapViewOfFile() or so
16:43:54 <flexo> no window handle though
16:44:17 * AnMaster sticks with the simple POSIX API
16:44:33 <AnMaster> flexo, I assume the first returns a handle?
16:44:56 <AnMaster> for something that is mapped in memory
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: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:53 <flexo> it's actually CreateFileMapping
16:47:06 <AnMaster> wait... "CreateFileMapping" and then "MapViewOfFile"?
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 <flexo> i suppose that's the reason i thought the API was called CreateMapping
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:48 <AnMaster> void *mmap(void *addr, size_t length, int prot, int flags,
16:49:48 <AnMaster> int munmap(void *addr, size_t length);
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: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:08 <flexo> i'll give you an example
16:51:14 <AnMaster> and mmap() isn't used *inside* kernel
16:51:26 <flexo> oh, no, that was a fun mprotect() example. well. another example.
16:51:34 <flexo> there are *fun* examples
16:51:43 <fizzie> jitfunge uses a fixed-address mmap.
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: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: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: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: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: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: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: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:17 <flexo> when you run a 16bit binary it maps the first 1mb
17:03:24 <flexo> (for obvious reasons)
17:03:32 <flexo> Don't interpret start as a hint: place the mapping at exactly
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:44 <AnMaster> fizzie, about those 8 bits... hm? how many bits are locked due to needing to map at start of a page?
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:39 <fizzie> I'm just reading arch/x86/mm/mmap.c:mmap_rnd for this.
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 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:06:50 <fungot> http://zem.fi/~fis/fungot.b98.txt
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: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: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:29 <AnMaster> ais523, how did you input the \1?
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:53 <ais523> stdin tends to echo control codes if they don't mean anything to it
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: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 <fungot> ehird: scheme48's module system that the code of the progrm itself or portions of it). it doesn't know.
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: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: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: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: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:11 -!- gunfot has joined.
17:14:12 <fizzie> AnMaster: Gambit's a Scheme implementation; 4b13 and 4b15 are version numbers.
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:25 <ehird> wonder what prefix gunfot's on
17:14:37 -!- gunfot has quit (Remote closed the connection).
17:14:41 <fizzie> The prefix is in the loader too.
17:14:47 <ehird> Command character:
17:14:57 <ehird> What would that be then?
17:15:12 <AnMaster> ehird, ' means read next char as string
17:15:32 <ehird> fizzie: how do I get a data file thenz
17:15:52 <ais523> AnMaster: even with respect to tick count/
17:16:01 <ais523> I thought 'a took one tick altogether
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: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: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:18:09 -!- gunfot has joined.
17:18:14 <fizzie> AnMaster: There's at least ^code, ^reload, ^save, ^ignore, ^raw.
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: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:19:22 <ehird> oerjan: they're all 404s, intentional?
17:20:01 <ehird> RC/Funge version 0.000000001 alpha.
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: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:15 <AnMaster> ehird, and care to answer it correctly?
17:21:27 <ehird> Hmm, it's still going.
17:21:34 <fizzie> The 'code' command is very brittle.
17:21:38 -!- gunfot has quit (Remote closed the connection).
17:22:03 <ais523> ehird: it isn't running atm
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: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: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 <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 <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: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 -!- 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:21 <ais523> I wanted to do a true multiquine, anyway
17:23:30 -!- fungot has joined.
17:23:34 <ehird> that was my original intention
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:58 <ehird> fizzie: Sheesh, you're no fun.
17:23:58 <ais523> AnMaster: it's the ! in an IRC username
17:24:11 <ehird> I'll just start two then,.
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: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: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: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: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 <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: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:58 <oerjan> (note to self: stop typing with window scrolled back)
17:29:19 <oerjan> also, anyone can stop bsmnt_bot
17:29:28 -!- bsmnt_bot has quit.
17:29:31 -!- bsmnt_bot has joined.
17:29:36 <fizzie> oerjan: But only you can stop forest fires.
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:30:06 <fizzie> AnMaster: Odd. What did it do, instead?
17:30:35 <AnMaster> fizzie, it didn't output anything and didn't connect I know
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: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: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 <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: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: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:36:00 <AnMaster> %ignore ^(thutubot|optbot|fungot|gunfot|tofnug)!
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 <fungot> AnMaster: generally you only want to support artists who are supporting the riaa
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:46 <ehird> so who here has used gafyd
17:36:53 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source 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: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: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: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: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:37 <ehird> You are currently using 742MB (10%) of your 7282MB.
17:39:38 <AnMaster> ehird, also setting up qmail is easy
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:33 <fizzie> ehird: Well, no. I have three messages in there.
17:41:44 <ehird> AnMaster: just remove it from the inbox in the filter
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:47 <ehird> I use mail.app with imap and gmail
17:42:50 <ehird> it represents the labels as folders
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 <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:22 <AnMaster> ais523, you can't fit flightgear scenery into that
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:43 <ehird> Transfer0.93GB of 100GB1 (0.33 in / 0.61 out)
17:47:47 <AnMaster> ehird, I split the cost with another person
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:31 <ais523> ehird: it's about 700MB
17:48:37 <ais523> because it's an ISO of a CD
17:48:52 <AnMaster> ais523, err, you can have a smaller iso
17:49:01 <ehird> it was a linux distro
17:49:16 <AnMaster> ais523, or why is the "boot-only.iso" for freebsd around 100 MB iirc
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:54 <ehird> is that fancy words for "redirects http to https"?
17:50:12 <ehird> it degrades to http for non-supporting clients
17:50:18 <ehird> this'll force https i guess
17:50:21 <ehird> - 99.9% Gmail, Google Calendar and Google Talk uptime SLA**
17:50:26 <ehird> geez, charging for that?
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:25 <ehird> compare to amazon which has 99.99999%
17:51:34 <AnMaster> is that for for the google domain hosting thingy?
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: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: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:12 <AnMaster> ehird, doesn't gmail space continue to grow still?
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:56 <ais523> top 3 google results all say 99.999
17:55:00 <ais523> but two of them are Wikipedia
17:55:26 <fizzie> Well, 99.99999 % is .9999999 when represented in a sane way; so seven nines.
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:49 <ais523> and there isn't even a template about that
17:56:14 <ehird> really, I think seven nines should be possible
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:36 <ehird> there's absolutely no way to guarantee that
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: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: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:59:38 -!- testthingy has quit.
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: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: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:15 <ehird> Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}.
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:39 <psygnisf_> {a,b,c,d} -> {{a}, {a,b}, {a,b,c}}
19:46:50 <ehird> for arbitrary length lists.
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: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:47 <ehird> that looks reasonable
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> ["f","fo","foo","foob","fooba"]
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: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:05:06 <fizzie> Prelude> let f [] = []; f (x:xs) = [x]:[x:y | y <- f xs]
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: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: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> fis@eris:~/tmp/bfre$ beef test.b
20:20:57 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:21:05 <fizzie> It's not PCRE, but it does the basics.
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: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:27:50 <flexo> probably not possible?
20:28:09 <flexo> 4 bytes gives you two operands and 2 operators
20:35:06 <psygnisf_> http://www.boingboing.net/2009/01/06/tumbarumba-a-surreal.html
20:46:27 -!- GreaseMonkey has joined.
20:53:25 <psygnisf_> Just "invisible bike" :: Maybe [Char]
20:57:51 * Badger whacks psygnisf_ with a rolled up newspaper
20:58:23 <psygnisf_> seriously! look! http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html
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:05:10 <fizzie> I rather liked Look to Windward, actually. At least some parts. Like the stuff with the pylons.
21:05:22 <psygnisf_> its like.. what? when did haskellers start doing lolcats?
21:07:25 <psygnisf_> yeah but they're not that kind of nerd
21:07:35 <olsner> they've been doing it since way back
21:08:09 <Slereah_> Yo dawg, I herd you like function calls
21:09:02 <Slereah_> Can you put a monad in my monad?
21:18:04 <fizzie> Yes, the Haskell library provides monad transformers to sort-of 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: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: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: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: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:19:22 * kerlo successfully guesses his GoDaddy password
22:20:41 <kerlo> MX: @ is normish.org
22:37:20 <grndlvlbombdood> f(1) = 1; f([2,3]) = 2; f([4,6]) = 3; f([7,10]) = 4; and so on
22:37:50 <ehird> um, what does it do?
22:38:20 <oklopol> 1 is considered a 1-tuple, its elements don't have any differences, because it's a singleton
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:40:07 <oklopol> has to do with square methinks, but i'd have to fiddle to get it
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.
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_> http://www.youtube.com/watch?v=8Yw6LQrtwHY&feature=related
23:18:43 <oerjan> er, tail . init . inits
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: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:26:46 -!- olsner has quit ("Leaving").
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:39:14 <kerlo> If gnus oft say zed by quux, jack.
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: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