←2010-05 2010-06 2010-07→ ↑2010 ↑all
2010-06-01
00:00:32 <Sgeo_> There's a log of everyone who's walked off the edge of the world
00:00:36 <Sgeo_> I'm emailing it to myse
00:00:37 <Sgeo_> f
00:00:48 <alise> oh that sucicide
00:00:50 <alise> that's only temporary
00:00:52 <alise> *suicide
00:01:12 <AnMaster> night
00:01:14 <Sgeo_> The first suicide was Tue Apr 19 00:43:48 1994 PDT
00:01:17 <Sgeo_> Night AnMaster
00:01:22 -!- uorygl has quit (Ping timeout: 248 seconds).
00:01:28 <Sgeo_> The last was... this month
00:01:43 <Sgeo_> Ok, Alec is addicted to walking off the edge of the world
00:01:53 <alise> xD
00:02:11 -!- oerjan has quit (Quit: What's beyond this edge... AAAAAAAAAAAAAAAAAAAAAAAAA).
00:02:33 <Sgeo_> http://pastie.org/986515
00:04:10 <Sgeo_> Just sent em a mail
00:04:32 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:04:44 -!- comex has quit (Ping timeout: 260 seconds).
00:06:01 <Sgeo_> http://pastie.org/986517
00:06:10 -!- FireFly has quit (Quit: swatted to death).
00:06:20 -!- cheater99 has joined.
00:07:10 -!- uorygl has joined.
00:09:44 * Sgeo_ decides it's a good thing he didn't try 'I want to leave LambdaMOO for three months' with quotes
00:11:15 <alise> I'm going to do something unprecedented.
00:11:23 <alise> Anyone want to help me code this music daemon?
00:11:44 -!- Oranjer1 has left (?).
00:12:26 -!- uorygl has quit (Ping timeout: 276 seconds).
00:12:46 -!- uorygl has joined.
00:14:30 -!- uorygl has quit (Read error: Operation timed out).
00:14:34 -!- cheater99 has quit (Ping timeout: 240 seconds).
00:15:21 -!- Tritonio_GR has joined.
00:16:44 <Sgeo_> You step into the great gap to the west, your eyes shut tight. When you open them, you're back in the Real World again. Enjoy it.
00:17:16 <alise> what
00:17:22 <alise> did you suicide :P
00:17:59 <Sgeo_> No, just read the source
00:18:20 -!- uorygl has joined.
00:18:40 <Sgeo_> I should be able to make a simulation
00:19:56 <Sgeo_> If you don't delete your mail, you can't walk off the edge
00:21:09 <alise> lol
00:22:53 <Sgeo_> Awesome. There is a pistol for Russian Roulette
00:23:03 <Sgeo_> Shooting it can newt you for 1-6 days
00:29:52 <alise> pikhq_: how likely do you think it is for a track title to have a tab in it?
00:31:05 <pikhq_> alise: Not particularly.
00:31:41 -!- uorygl has quit (Ping timeout: 260 seconds).
00:31:58 <alise> pikhq_: Hmm... but if I'm supporting arbitrary Vorbis* metadata...
00:32:02 <alise> *Yes, it's actually Vorbis-specific.
00:32:06 <alise> So much for the Ogg container.
00:33:17 -!- uorygl has joined.
00:33:31 <alise> pikhq_: Oh, I know! I'll use XML!
00:33:39 <pikhq_> alise: I thought that metadata was stuck in an Ogg Text stream?
00:33:45 <pikhq_> *ugh*
00:33:57 <alise> Apparently not
00:34:03 <alise> Also, now I have two problems! (I'm not actually using XML)
00:34:36 <alise> pikhq_: Also, although FLAC files work inside an Ogg container, very little software supports this, and FLAC has its own metadata format! This is because FLAC wasn't always a Xiph.Org project!~
00:34:42 <alise> FUN FUN FUCK ME IN THE ASS!
00:34:45 <alise> I hate software
00:34:58 <pikhq_> alise: So: Ogg sucks.
00:35:09 <alise> Yep. It's a container that... just contains. Literally. Nothing else.
00:35:22 <pikhq_> Urgh; that's such a pain.
00:35:37 <pikhq_> And if only Matroska didn't have an obsession with XML.
00:35:55 <alise> Vorbis metadata, called Vorbis comments, support metadata tags similar to those implemented in the ID3 standard for MP3. The metadata is stored in a vector of eight-bit-clean strings of arbitrary length and size. The size of the vector and the size of each string in bytes is limited to 232-1 (about 4.3 billion, or any positive integer that can be expressed in 32 bits). This vector is stored in the second header packet that begins a Vorbis bitstream.[43]
00:36:04 <alise> MY GOD, LIMITED TO 4.3 BILLION BYTES.
00:36:27 <alise> pikhq_: I didn't know Matroshka used XML. It's always worked well for me.
00:36:36 <alise> We should all use Matroshka.
00:36:58 <alise> Actually, this makes me wonder why there aren't any good standardised command-with-binary-arguments specs.
00:37:01 <Sgeo_> What about WebM?
00:37:03 <alise> ASN.1 does that doesn't it? Ew.
00:37:10 <alise> Sgeo_: no.
00:37:22 <alise> it only contains vp8 and vorbis. and is a sideset of matroshka
00:37:27 <alise> it's an insane subset of matroshka, with its own shit! yay!
00:37:32 <alise> I AM SO HAPPY.
00:37:45 <pikhq_> alise: It's some binary XML... Thing.
00:39:23 -!- uorygl has quit (Ping timeout: 258 seconds).
00:39:47 <alise> x := ! "\1";; msg := x {"\1" x}+ "\r\n";;
00:39:57 <alise> xs should be preprocessed afterwards
00:40:00 <alise> to replace:
00:40:08 <alise> \2\2 with a \1
00:40:12 <alise> and \2\3 with a \2
00:40:14 <alise> Tada.
00:40:19 -!- uorygl has joined.
00:41:59 <alise> Although \2 is kind of ugly.
00:42:06 <alise> But then \255 is more common, isn't it?
00:42:09 <alise> UTF-8 and all.
00:42:22 <alise> pikhq_: I'd just use \0, but ... C.
00:43:10 <alise> "The IPC protocol is best documented in the source. But we encourage all developers to use the clientlib, is there something that the clientlib doesn't support or you don't like. Talk to us first before you start reversing our protocol."
00:43:13 <alise> Who needs documentation.
00:48:05 <alise> pikhq_: PUKE! xmms2 uses glib!
00:48:14 <Sgeo_> I think I died. I'm outside the Pearly Gates
00:48:41 <alise> It is my DUTY to create something betts!
00:48:46 <alise> *better than this
00:50:51 <alise> Happy June!
00:50:56 <alise> Or something!
00:54:37 -!- calamari has joined.
00:54:38 -!- uorygl has quit (Ping timeout: 265 seconds).
00:56:14 -!- uorygl has joined.
00:57:27 <Sgeo_> uorygl, join LambdaMOO
00:57:40 <alise> Hmm, it seems that I am in need of a tag-processing library.
00:57:42 <alise> Call it graffiti.
00:58:12 <Sgeo_> We could make an esotericers's hangout
00:58:17 <Sgeo_> A BF machine
01:01:45 <pikhq_> alise: glib! AAARGHTHATMUSTDIEDIEDIEDIEDIEDIEDIE
01:01:46 <pikhq_> ALSODIE
01:02:09 <alise> pikhq_: Don't you like the soft feeling of a GObject class with all its furry little fields?
01:02:20 <alise> And those in-code declarations of it... aren't they wonderful?...
01:02:28 <alise> Okay, so it doesn't actually seem to define classes itself. But still!
01:02:41 <alise> Aand immediate problem reached; build systems suck.
01:02:44 <pikhq_> alise: Oh the boilerplate!
01:03:03 <pikhq_> And yes, build systems are universally awful.
01:03:17 <alise> SCons is definitely waful...
01:03:25 -!- cheater99 has joined.
01:03:28 <alise> CMake is most definitely awful... Oh, what's that one I'm thinking of...
01:03:29 <alise> *awful
01:03:36 <alise> That makepp thing is probably awful...
01:03:37 <pikhq_> *Autotools*.
01:04:01 <alise> pikhq_: NO.
01:04:08 <alise> Please suffer.
01:04:16 <alise> I will not use Autotools.
01:04:31 <alise> pikhq_: Or was that not a suggestion?
01:07:18 -!- pikhq has joined.
01:07:22 <alise> <pikhq_> *Autotools*.
01:07:22 <alise> <alise> pikhq_: NO.
01:07:23 <alise> <alise> Please suffer.
01:07:23 <alise> <alise> I will not use Autotools.
01:07:23 <alise> <alise> pikhq_: Or was that not a suggestion?
01:08:59 -!- uorygl has quit (Ping timeout: 276 seconds).
01:09:02 <alise> Well, Waf looks alright: http://en.wikipedia.org/wiki/Waf
01:09:08 -!- pikhq_ has quit (Ping timeout: 240 seconds).
01:10:07 -!- uorygl has joined.
01:11:30 <pikhq> alise: That was an example of a truly awful build system.
01:11:36 <alise> Yes.
01:11:39 <alise> I think I'll just use http://en.wikipedia.org/wiki/Waf
01:11:46 <alise> I've seen others use it and the example looks not-abhorrent
01:12:20 <alise> pikhq: Also, no dependencies, in that it's a single file that only depends on Python that you include with your distribution.
01:12:22 <alise> So, yay?
01:12:57 <pikhq> alise: I get the feeling that a package maintainer will develop hatred for that.
01:13:07 <alise> pikhq: You don't edit that.
01:13:09 <alise> You edit the wscript file.
01:13:15 <pikhq> Not because Waf itself is abhorrent but becaust some idiot *will* invariably edit it and make it abhorrent.
01:13:22 <alise> *because
01:13:31 <alise> pikhq: You mean... someone will edit... the bundled waf?
01:13:38 <alise> pikhq: Well fuck, I'm not going to do that.
01:13:43 <alise> I'd have to be retarded to do that.
01:14:00 <alise> But anyway, it automatically does out-of-tree builds and seems to be structured well, so ++
01:14:41 <Sgeo_> uorygl, login?
01:14:42 -!- uorygl has quit (Ping timeout: 252 seconds).
01:14:55 -!- mibygl has joined.
01:15:02 <mibygl> Sgeo_: I'm afraid I'm currently a bit jaded from nomics and their brethren for the moment. Ask again tomorrow.
01:15:14 <alise> def set_options(ctx):
01:15:14 <alise> ctx.add_option('--foo', action='store', default=False, help='Silly test')
01:15:14 <alise> def configure(ctx):
01:15:14 <alise> print('→ the value of foo is %r' % Options.options.foo)
01:15:16 <alise> How... sane.
01:15:24 <alise> mibygl: Jaded? Why? and MOOs are hardly nomics.
01:15:33 * alise checks Agora to investigate possible reasons
01:15:35 -!- uorygl has joined.
01:15:47 <mibygl> I've barely looked at Agora in a longish time.
01:16:09 -!- pikhq_ has joined.
01:16:19 <mibygl> I discovered them... a while ago, and it seems like they've never gone in the direction I've wanted them to.
01:16:25 <mibygl> So, jading.
01:18:00 -!- pikhq has quit (Ping timeout: 260 seconds).
01:18:48 <alise> pikhq_: As a sysadmin, can you answer?: What do people have against using globs for c files in build systems?
01:18:54 <alise> C files aren't just going to magically appear there.
01:19:40 <pikhq_> alise: No clue.
01:20:03 <pikhq_> It's perfectly acceptable to sysadmins for such a glob to be there.
01:20:12 <alise> source = bld.path.ant_glob('**/*.c'),
01:20:18 <alise> I hope that 'ant' doesn't mean "ant build system".
01:20:23 <alise> Although I don't know why I hope that, as it's just a globbing function.
01:22:33 <cheater99> alise hello
01:22:36 * cheater99 waves
01:23:17 <alise> hello.
01:23:28 -!- pikhq has joined.
01:23:55 <cheater99> how r u?
01:24:04 <pikhq> Irritated.
01:24:13 <pikhq> Absolutely irritated.
01:24:47 -!- pikhq_ has quit (Ping timeout: 260 seconds).
01:25:35 <cheater99> not you
01:25:40 <cheater99> i don't care about you pikhq
01:25:43 <cheater99> i was asking alise
01:27:57 <alise> ok seriously shut up
01:28:12 <cheater99> :P
01:40:34 -!- CakeProp1et has quit (Quit: Lost terminal).
01:42:34 <alise> pikhq: Okay, waf is starting to annoy me. XD
01:43:01 <alise> [The bad part of alise's brain pipes up. "Surely it can't be so hard? It's only one file for waf... so why not write... your own?"]
01:45:01 <alise> "This explanation is pretty boring so I'm going to spice it up with inappropriate swearing.
01:45:01 <alise> A mother fucking sinkhole like this bitch is formed by the gradual dissolution of punk ass subsurface rock (usually rock such as limestone or mother fucking carbonate rock) by circulating ground water. As the rock dissolves, big ass spaces and slutty caverns develop underground until only a bitch thin layer of support remains on top. At one shit-wank point that fucking layer also collapses revealing the years of titty fucking erosion beneath, and often an un
01:45:01 <alise> derground skank river far below.
01:45:01 <alise> Here's a mother fucking diagram."
01:45:42 <pikhq> XD
01:55:40 <alise> OKAY #WAF IS DEAD THIS IRRITATES ME.
01:55:43 <alise> pikhq: Suggest me a build system
01:56:41 <pikhq> alise: Make it a single C file.
01:57:11 <alise> pikhq: Like SQLite!
02:00:09 -!- calamari has quit (Quit: Leaving).
02:00:13 <alise> G O D!
02:00:29 <alise> I have all this shit written here and it's just BULLSHIT! Here's what I should have to write:
02:00:42 -!- sshc has quit (Quit: leaving).
02:01:38 <alise> build-root: build
02:01:38 <alise> c-program {
02:01:38 <alise> sources: **/*.c
02:01:38 <alise> target: belial
02:01:38 <alise> cflags: -Wall -Wextra
02:01:38 <alise> release { cflags: -O2 }
02:01:41 <alise> debug { cflags: -g }
02:01:42 <alise> }
02:03:35 <alise> pikhq: Please tell me to have the strength not to proliferate another build system.
02:04:03 <pikhq> alise: Have the strength to instead obsolete all languages that require nontrivial build systems.
02:04:19 <alise> pikhq: Oh, I've already that. But C is the best thing for this, unfortunately.
02:09:37 <alise> pikhq: But... it is a bad idea right?
02:10:15 <Sgeo_> alise, I made a simulation of the edge of the world
02:10:27 <Sgeo_> "It's not perfect... it will allow you to walk off even if you have mail
02:10:39 <Sgeo_> "Hm, MOO habits are starting to get to me
02:13:39 -!- Oranjer has joined.
02:24:16 <alise> pikhq: How queer; xmms always builds without optimisations.
02:24:24 <alise> In fact, it uses -O0 -g.
02:24:25 <alise> Always.
02:25:38 <pikhq> alise: That's... Awful.
02:26:46 <alise> pikhq: I think because it's "developmental software" etc.
02:27:27 <coppro> I want LLVM to get a native -> IR disassembler so that it can optimize anything
02:27:46 <Sgeo_> What's wrong with -O0 -g?
02:27:53 <alise> Sgeo_: Slow and big.
02:28:07 <Sgeo_> "Any reason?
02:28:39 <alise> No optimisations done, debugging info.
02:28:41 <alise> Any questions?
02:28:53 <coppro> you can at least strip it
02:29:46 <pikhq> Still big.
02:29:47 <Sgeo_> "I meant, why does it build with those options?
02:30:02 <pikhq> There's a lot of *ridiculously* simple stuff GCC doesn't do on -O0.
02:30:03 <alise> coppro: so what build system do YOU use.
02:30:06 <alise> Sgeo_: stop doing that " thing.
02:30:15 <alise> Sgeo_: and because they couldn't figure out how to make waf work either i guess :P
02:30:16 <Sgeo_> :wonders why it's angering alise
02:30:21 <alise> BECAUSE THIS IS IRC.
02:30:40 <pikhq> For instance, each and every memory access involves a load and a write.
02:30:41 <coppro> alise: Whatever the project uses
02:30:43 <Sgeo_> The first time, it really was an accident
02:31:03 <Sgeo_> waf?
02:31:36 <alise> coppro: if you start a project?
02:32:58 <coppro> alise: I usually build by hand to start since I want to avoid a build system as long as possible, and the project never gets to a point where I need one
02:33:11 <alise> ha
02:33:19 <alise> i'm only doing this first so it doesn't come back to bite me in the ass
02:33:41 <alise> maybe i will just use coadjute
02:33:42 <alise> Deewiant!
02:33:43 <coppro> When I need one, I pick randomly whichever one seems least bad to me at the time, currently Scons
02:33:48 <alise> is that advisable?
02:33:53 <alise> coppro: scons is unmaintained basically
02:34:11 <coppro> close, but not quite
02:34:24 <pikhq> It's also comparable with jabbing forks in the eye.
02:34:42 <alise> pikhq: Oh?
02:34:44 <coppro> compared to what? CMake?
02:35:00 <pikhq> alise: Scons is not a build system.
02:35:10 <pikhq> It is a library with which one can write a build system.
02:35:22 <coppro> I half agree
02:35:26 <alise> pikhq: indeed
02:35:34 <pikhq> And it's not even a good library.
02:35:45 <alise> I'm almost considering http://omake.metaprl.org/index.html now
02:35:51 <alise> It's a purely-functional language and
02:35:52 <alise> "Often, a configuration file is as simple as a single line
02:35:52 <alise> .DEFAULT: $(CProgram prog, foo bar baz)
02:35:52 <alise> which states that the program "prog" is built from the files foo.c, bar.c, and baz.c. This one line will also invoke the default standard library scripts for discovering implicit dependencies in C files (such as dependencies on included header files)."
02:35:54 <alise> is giving me false hope.
02:36:01 <alise> But seriously, Coadjute is ... good.
02:36:09 <alise> I just need assurance for Deewiant that it's good for C :P
02:36:15 <coppro> it /is/ a library with which one can write a build system, but it also comes with sufficient defaults to be used only as a build system
02:36:19 <Sgeo_> "The identifying number associated with an object is unique to that object. It was assigned when the object was created and will never be reused, even if the object is destroyed. Thus, if we create an object and it is assigned the number `#1076', the next object to be created will be assigned `#1077', even if `#1076' is destroyed in the meantime."
02:36:24 <Sgeo_> That's misleading, kind of
02:36:32 <alise> ("With support for: [...] Haskell!")
02:36:34 <coppro> sounds like SQL
02:37:06 <coppro> Can someone explain Sgeo's cow obssession?
02:37:13 <Sgeo_> Sure, at a physical level, that's how it works, but in general, LambdaCore's @recycle actually transforms the object into garbage, which can be used by @create
02:37:20 <Sgeo_> So in reality, object IDs are reused
02:37:39 <alise> coppro: cow?
02:37:43 <coppro> moo
02:37:49 <alise> lulz.
02:38:07 <alise> You know what this is bullshit, why do build systems suck
02:38:32 * Sgeo_ is saddened that he got it before alise did
02:38:57 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
02:38:58 <alise> why
02:39:46 <alise> this is so depressing
02:40:20 <coppro> alise: because they have a ridiculous number of variables to cope with
02:40:29 <coppro> Scons is an excellent example of the why
02:40:31 <alise> I JUST WANT TO BUILD A C PROGRAM.
02:40:47 <coppro> then Scons will possibly do
02:40:54 <coppro> so will CMake
02:40:56 <coppro> or autotools
02:41:00 <alise> pikhq: Sysadmin! Why is scons shit for you?
02:41:05 <alise> coppro: haha have you ever used cmake
02:41:08 <alise> (or autotools)
02:41:24 <coppro> alise: Yes. They are in fact capable of building things... not much else, though.
02:41:51 <coppro> although really, the same could arguably said of Scons
02:42:15 <alise> cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment
02:42:31 <alise> and it burns one of the waffles and doesn't touch the other.
02:42:35 * coppro tries to work out what he's trying to say
02:42:43 <alise> me, you mean
02:42:46 <coppro> yes
02:42:49 <coppro> err, sorry, she
02:42:54 <alise> lol :P
02:42:58 <alise> I would also have accepted "it"
02:43:02 <pikhq> alise: It is *absolutely awful* to automate. Absolutely *awful*.
02:43:08 <alise> coppro: I was expecting "they're"
02:43:10 <coppro> `addquote <alise> cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment <alise> and it burns one of the waffles and doesn't touch the other.
02:43:11 <alise> erm
02:43:13 <alise> coppro: I was expecting "you're"
02:43:18 <alise> coppro: HackEgo is broken
02:43:23 <coppro> alise: third person with /me
02:43:27 <alise> ok so explanation:
02:43:29 <HackEgo> No output.
02:43:31 <pikhq> At the very least cmake and autotools can be scripted.
02:43:33 <coppro> pikhq: Why?
02:43:39 <coppro> (genuinely curious)
02:43:45 <alise> (a) nuclear powered waffle iron -- it's meant to build programs. Instead, it's a full-blown, shitty programming language
02:44:00 <alise> (b) Powered by a burning-hot testicle attachment -- EDITING CMAKELISTS.TXT MAKES ME WANT TO KILL THINGS
02:44:14 <alise> (c) and it burns ... -- it's really hard to get it to work and you have to hack it a ton.
02:44:34 <pikhq> coppro: There is no single way to say simple, simple things like "I want to use this compiler" or "I want to use these compiler flags".
02:44:53 <coppro> pikhq: Ah, yeah.
02:45:01 <pikhq> You just have to *hope* that the bastard who used scons was so kind as to *write configuration logic*.
02:45:02 <coppro> that bit's always dumbfounded me
02:45:11 <coppro> on the plus side, the cache is epic
02:45:33 <coppro> a guy at the place I used to work came up with the brilliant idea of hardlinking the cache, which makes it even more epic
02:45:34 <pikhq> That bit makes sysadmins WANT TO KILL YOU FLAY YOU AND PRESERVE THE SKIN AS WARNING TO OTHER DEVELOPERS.
02:45:38 <pikhq> It is THAT. FUCKING. BAD.
02:47:01 <coppro> (seriously - no copying costs? YES PLEASE)
02:48:04 <alise> pikhq: What's best for you apart from autotools?
02:48:31 <coppro> and the cache is an absolute godsend if you have generated headers included by everything
02:48:50 <pikhq> alise: Well-written makefile.
02:49:04 <alise> pikhq: Mm.
02:49:15 <alise> pikhq: It's just that for a *developer* that's the worst solution :-)
02:49:19 <pikhq> A poorly-written one makes me kill people. A well-written one means I hit make and all's well.
02:49:19 <alise> ...Second best?
02:49:33 <pikhq> I'm not sure.
02:49:41 <coppro> A well-written makefile is usually pretty awesome, until you try to move outside its problem domain
02:49:56 <alise> "Autoscons - An Autotools replacement for SCons"
02:50:04 <coppro> You just have to *hope* that the bastard who used make was so kind as to *write configuration logic*.
02:50:25 <pikhq> coppro: Except that's actually the default.
02:50:54 <pikhq> It takes *extra work* to make it not handle CFLAGS and CC.
02:51:22 <coppro> gcc -Wall -Wextra foo.c main.c -o result ?
02:51:49 <alise> cat Makefile -- foo: foo.o bar.o
02:51:53 <alise> make -- builds it
02:52:03 <alise> make CC=... CFLAGS=... LDFLAGS=... CPPFLAGS=... -- builds it
02:52:48 <pikhq> coppro: Do you actually do that in make?
02:52:58 <alise> http://miller.emu.id.au/pmiller/software/cook/ This looks tempting. pikhq hates me now
02:53:08 <coppro> Unless make uses lots of magic that I don't know about, you still need to write the Makefile to use those variables, which is not a lot of effort, but is still greater than 0
02:53:14 <pikhq> alise: cook? I recall nice things about it.
02:53:23 <pikhq> coppro: Make uses a lot of magic that you don't know about.
02:53:24 <alise> pikhq: Except that Nobody Has It :-)
02:53:30 <alise> coppro: default rules
02:53:33 <pikhq> alise: Yes, that's the only bad thing. :P
02:53:36 <alise> coppro: welcome to 80s
02:53:59 <pikhq> coppro: Write that as: result: foo.o main.o
02:54:04 <coppro> ah, ok
02:54:17 <coppro> so yeah, well-written then
02:57:53 <alise> Query: What is release/debug enum? Build type? Build kind? Something one-word.
02:58:08 <coppro> I've heard variant
02:58:33 <coppro> there was another term though
02:58:35 <coppro> um...
02:59:47 <pikhq> alise: Anyways. When it comes down to build systems, the biggest thing is the ability to automatically configure nearly everything. This means accepting "CC" and "CFLAGS", making it easy to turn off configurable dependencies, etc.
02:59:57 <pikhq> The second biggest thing is *not being freaking broken*.
03:00:04 <Sgeo_> Note that integers and floating-point numbers are never equal to one another, even in the `obvious' cases.
03:00:06 <pikhq> I absolutely hate having to *rewrite* a build system.
03:00:10 <Sgeo_> I guess that saves some confusion
03:00:24 * pikhq still has nightmares from rewriting a Perl build-system to not be interactive
03:00:32 <pikhq> (said Perl build-system didn't work)
03:00:37 <coppro> wtf
03:00:39 <coppro> interactive?
03:00:46 <pikhq> Yes. *Interactive*.
03:01:10 <pikhq> This was for a package that included, in effect, its own OS. Because it was older than UNIX and later ported.
03:01:29 <pikhq> I still have nightmares.
03:01:34 <coppro> and had a *Perl* build system?
03:01:39 <pikhq> Yes.
03:01:48 <pikhq> It's still maintained.
03:01:56 <pikhq> By idiots, but still maintained.
03:04:05 <alise> Name the perps.
03:04:09 <pikhq> IRAF.
03:04:22 <pikhq> Some university; don't recall who did it.
03:04:35 <pikhq> It was originally proprietary, made GPL later.
03:04:47 <pikhq> I've found that what's absolutely *worst* is proprietary software that gets an open release.
03:05:10 <pikhq> Proprietary software tends to suffer from truly massive NIH syndrome.
03:05:22 <pikhq> For instance, there's Second Life.
03:05:26 <coppro> Conversely, the best in my experience is open-source stuff with significant corporate backying
03:05:27 <coppro> *backing
03:05:28 <pikhq> Which includes its own copy of the STL.
03:05:31 <pikhq> (written poorly)
03:05:36 <pikhq> coppro: Also agreed.
03:06:06 <pikhq> Because they have every incentive to do it right.
03:06:41 <Sgeo_> I think MOO was inspired by Perl
03:06:51 <Sgeo_> {first, second, ?third = 0} = args;
03:06:58 <pikhq> However, that doesn't seem to do anything about GCC.
03:07:33 <pikhq> There is no excuse for its build system.
03:07:36 <pikhq> And Mozilla.
03:07:37 <coppro> That's because it's run by people (a person?) who think(s) that all the corporate backers are trying to steal from them/him
03:07:38 <pikhq> *shudder*
03:07:40 <pikhq> Mozilla.
03:08:06 <coppro> They recently approved C++ for use... can you say clusterfuck?
03:08:20 <pikhq> coppro: Most GNU stuff has painful code, but it's at least got a reasonably automatible build system.
03:08:27 <pikhq> GCC is the exception.
03:08:42 <pikhq> It works differently than everything else for no good reason.
03:09:26 <pikhq> (of course, if you look into the details, autotools is awful, but it's at least easy on the surface.)
03:09:32 <alise> FUCK THIS SHIT
03:09:41 <pikhq> alise: ?
03:09:42 <alise> KILL ME
03:09:45 <coppro> the fact that it has to bootstrap itself pretty much tosses the idea of using any build system that exists in a normal fashion
03:09:48 <alise> FUCKING BUILD SYSTEMS
03:10:09 <pikhq> coppro: First: not really. Second: it doesn't have to bootstrap itself.
03:10:24 <alise> Fuckin' 3am, fuckin' have to get up at 9am, fuckin' A
03:10:30 <alise> 6 hours of sleep
03:10:33 <alise> fuckin' AAAAA++++++
03:10:35 <coppro> it does if the compiler it's using isn't GCC-compatible, which any portable build system should assume is not the case
03:10:59 <pikhq> coppro: Still, it shouldn't be hard to at least make a *sane* build system for that.
03:11:08 <coppro> that's true
03:11:20 <alise> fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfucikfuckfuckfuckfuckfuck
03:11:20 <pikhq> Even if it is custom, you can at least not make it incomprehensible.
03:11:28 <alise> Wow, that's a surprisingly low rate of fuckerrors.
03:11:34 <alise> Only one error; an "i".
03:11:48 <coppro> I know it actually wouldn't be too much work with Scons. Autotools will cry if you try. Not enough experience with CMake to know.
03:12:32 <coppro> alise: stop complaining about errors and go to sleep
03:12:33 <pikhq> Of course, GCC should build on targets that Python doesn't run on.
03:12:45 <alise> coppro: FUCK YOU I JUST WANT A BUILD SYSTEM :'(
03:13:01 <coppro> pikhq: Does it really require Python now too?
03:13:03 * alise googles "build system that doesn't suck" out of desperation
03:13:07 <alise> "Waf: a pleasant build system"
03:13:10 <alise> HAHAHAHAHA
03:13:20 <pikhq> coppro: scons does.
03:13:31 <alise> WAF IS LIKE A GIGANTIC SANITY-VIOLATING COCK
03:13:31 <coppro> ah, yeah :)
03:13:33 -!- coppro has left (?).
03:13:37 -!- coppro has joined.
03:13:49 <pikhq> alise: Sounds like you've become a sysadmin.
03:13:50 <pikhq> :P
03:13:56 <alise> let that go down in history as my official anti-endorsement
03:14:07 <pikhq> Or at least very very depressed.
03:14:09 <alise> "Makefile are not modular. Recursive Make is especially evil."
03:14:12 <alise> It should be "Makefiles".
03:14:14 <alise> You fail at grammar.
03:14:22 <alise> Not only are your opinions worthless, so is your English.
03:14:26 <alise> You should die in a fire now.
03:14:57 <alise> "The execution model just makes sense to me."
03:15:03 <alise> You dying JUST MAKES SENSE to me. Like, now. In a fire.
03:15:08 <alise> "Progress indication and colored output is built in, not an after thought. Like SCons, Waf build files are regular Python files."
03:15:13 <alise> Hooray, coloured fucking output
03:15:19 <alise> "Waf is fast. Faster than SCons."
03:15:24 <alise> Unlike your death which will be painfully slow
03:16:56 <alise> hahaha kill me
03:17:02 <alise> i must sleep soon, but first painful agonising death
03:17:44 <coppro> we should make a fortunes database from alise
03:17:52 <alise> it's called `quote
03:18:11 <alise> also i'm usually not this funny, at least i think i'm being funny right now, mostly out of anger though
03:19:13 <alise> "Have you considered bakefiles? They work in the same way as cmake does, and I have seen them used in practice before. http://bakefile.sourceforge.net/"
03:19:18 <alise> STOP PUTTING A CONSONANT BEFORE "AKEFILE"
03:19:22 <alise> IT HAS STOPPED BEING AMUSING
03:19:23 <coppro> a) `quote isn't working b) I can't do 'fortune alise' with quote
03:19:26 <alise> IN FACT, EVEN "AKEFILE" WOULD BE BETTER
03:19:37 <coppro> Iakefile
03:19:42 <pikhq> alise: !AKEFILE?
03:19:48 <pikhq> (yes, that's a click)
03:19:49 <alise> Or perhaps "yourmotherhascancerandyourfatherdiedofaidsandalsoyouaregoingtodieverysooninanonspontaneouscombustion".
03:19:53 <alise> File.
03:20:08 <alise> "Bakefile's task is to generate native makefiles,"
03:20:09 <alise> Racist fuck.
03:20:22 <alise> OH! It's XML!
03:20:25 <alise> I feel HAPPY!
03:21:04 <alise> LinBuild is a Python-based, simple and user-friendly build system for C/C++ on Linux/Unix. It's intended to be distributed with your project, so there's no need to get it installed on the system.
03:21:05 <alise> LinBuild adopts some concepts from Waf and CMake and it is simply a single script that depends only on Python. LinBuild replaces GNU Make and makes it really easy to configure, build & install a C/C++ project.
03:21:05 <alise> LinBuild features e.g. automatic build dependency scanning of source files, multi-threaded build process and built-in supports for Qt4 and pkg-config.
03:21:07 <alise> I wonder if it's SHIT or not.
03:21:21 <alise> I bet it's shit.
03:21:30 <pikhq> All this because C is too shitty to handle the equivalent of "ghc --make"
03:21:34 <pikhq> (which I love)
03:21:58 <alise> It feels like a gigantic cock transmitted through my speakers is penetrating my forehead with hatred
03:22:05 <alise> And not in a good way, either
03:23:14 <alise> Oh! Look! Linbuild is just like waf except it violates Python coding conventions.
03:23:46 <coppro> We should organize a #esoteric coding marathon
03:23:50 <coppro> where we each pick a program the world needs
03:23:52 <coppro> and code it
03:23:59 <alise> Good idea. Let's make it last 10 years.
03:24:07 <coppro> no, that won't get done
03:24:13 -!- augur has joined.
03:24:14 <alise> But we won't make it good otherwise.
03:25:18 <alise> pikhq: oh i know what's gone wrong
03:25:20 <alise> I named it belial
03:25:22 <alise> duh
03:25:24 <alise> obvious curse
03:25:32 <pikhq> alise: Ah, no wonder.
03:25:46 <pikhq> alise: Hmm. mk?
03:26:05 <alise> target belial
03:26:05 <alise> cc **/*.c
03:26:05 <alise> cc.flags := [-Wall -Wextra]
03:26:05 <alise> (variant = "debug") => cc.flags += -g
03:26:05 <alise> (variant = "release") => cc.flags += -O2
03:26:12 <alise> whoops look at that i just made a non-shitty build system
03:26:17 <alise> I hear that's not permissible
03:26:18 <pikhq> Whoops.
03:26:54 <alise> pikhq: Okay, I'm requesting System Administrator's Permission to write a build system on the provisio that it has minimal dependencies, is designed to be bundled with its file, and really, really, honestly, truly doesn't suck.
03:27:14 <alise> *privoso. s?
03:27:24 <alise> bundled with its file
03:27:25 <alise> err i mean like
03:27:27 <alise> bundled with the project
03:27:48 <pikhq> alise: Praise be unto the idea.
03:28:13 <pikhq> Pity you are short on time to write code ATM.
03:28:17 <alise> Amen, amen, oh!, amen. Thank you Lord.
03:28:24 <alise> Ah! But I return the next after-noon.
03:28:33 <alise> And then the day after, it is a most wondrous day: for that is a day free of obligations.
03:28:33 <pikhq> Alas!
03:28:41 <alise> Isn't "Alas!" negative, sir?!
03:28:52 -!- Gracenotes has quit (Ping timeout: 240 seconds).
03:28:54 <alise> Oh! I am sorry! my existence displeases you.
03:28:58 <alise> I will shoot myself now.
03:29:12 <pikhq> Nay, it be both positive and negative, bearing 'pon context, my good sir.
03:30:11 <alise> I am enlightened as to the Glorious Tongue, stealing as it does from those best of the other tongues; just like religion!
03:31:02 <pikhq> Indeed; indeed.
03:31:57 <alise> pikhq: Can I make a huge request of you, esteemed sir? -- I am barely even able to recognise myself in making it, for I strive to be humble -- but could you remind me presently, the next time I am on this forum of discussion -- to continue the gifted work you have set me?
03:32:17 <alise> Sgeo_! It is time.
03:32:27 <Sgeo_> alise, :( bye
03:32:36 <pikhq> alise: Such a request, indeed, I can grant.
03:32:36 <alise> Sgeo_: here, you can have the job
03:32:39 <alise> oh
03:32:40 <alise> okay then
03:32:40 <alise> :D
03:32:41 <alise> :P
03:32:41 <alise> bye
03:33:07 <pikhq> And may you have luck in that land with the shadow of Death upon ye!
03:33:17 <Sgeo_> Hope you didn't spend the day not working at moving
03:33:49 <Sgeo_> I mean, assuming there was something you could have done today, with the holiday and all... I really don't know the procedures
03:34:10 -!- alise has quit (Read error: Connection reset by peer).
03:36:23 -!- Gracenotes has joined.
03:39:18 -!- pikhq_ has joined.
03:41:33 -!- pikhq has quit (Ping timeout: 264 seconds).
03:41:37 -!- augur has quit (Remote host closed the connection).
03:41:43 -!- augur has joined.
03:46:42 -!- mibygl has quit (Quit: Page closed).
03:50:07 -!- sshc has joined.
04:11:58 -!- augur has quit (Read error: Connection reset by peer).
04:12:05 -!- augur has joined.
04:12:18 -!- pikhq has joined.
04:13:15 -!- lament has joined.
04:14:53 -!- pikhq_ has quit (Ping timeout: 276 seconds).
04:22:40 -!- augur has quit (Remote host closed the connection).
04:23:02 <Sgeo_> Ok, I'm going to consider LambdaMOO insecure
04:23:38 <coppro> just now?
04:59:48 -!- augur has joined.
06:14:00 -!- sshc has quit (Quit: leaving).
06:22:07 <Ilari_antrcomp> Sgeo_: What's so insecure about it?
06:22:28 <Sgeo_> Ilari_antrcomp, I was able to make an object that didn't have #1 as an ancestor
06:22:54 <Sgeo_> If someone tries looking at it, they'll just get an error
06:23:56 <coppro> how's that insecure?
06:25:03 <Sgeo_> I could put it in a public place and it would prevent anyone from seeing anything ther
06:25:05 <Sgeo_> *there
06:25:11 <coppro> oh
06:25:17 <Sgeo_> Well, I thin
06:25:20 <Sgeo_> *think
06:26:42 <Sgeo_> And it's difficult to destroy
06:27:07 <Sgeo_> But not impossible
06:27:16 <Sgeo_> I hope I'm not screwing up the $recycler somehow
06:27:28 <Sgeo_> Because things that go there don't actually get destroyed, just reparented
06:27:45 <Sgeo_> Ok, it's now $garbage
06:47:55 -!- Maelstromg has joined.
06:55:34 -!- Maelstromg has left (?).
06:58:54 <coppro> wtf
06:58:58 <coppro> why does HTTP stop at midnight
06:59:24 <coppro> can someone google me an alternate-port proxy?
07:04:20 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
07:06:52 -!- MigoMipo has joined.
07:10:51 -!- MigoMipo has quit (Remote host closed the connection).
07:11:18 -!- MigoMipo has joined.
07:17:15 -!- relet has joined.
07:18:40 -!- MigoMipo has quit (Remote host closed the connection).
07:20:56 -!- FireFly has joined.
07:21:24 -!- Gregor-L has joined.
07:21:32 -!- Gregor-L has changed nick to Gregor.
07:38:07 -!- sshc has joined.
07:52:21 -!- Gregor has quit (Ping timeout: 252 seconds).
07:54:32 -!- Gregor has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:35 -!- MigoMipo has joined.
08:21:36 -!- kar8nga has joined.
08:29:50 -!- Phantom_Hoover has joined.
08:34:19 -!- MigoMipo has quit (Remote host closed the connection).
08:36:20 -!- FireFly has quit (Quit: swatted to death).
08:45:26 -!- oerjan has joined.
08:46:23 <Phantom_Hoover> oerjan!
08:46:34 * oerjan hides
08:46:51 <oerjan> DON'T SHOUT AT ME oh wait
08:47:45 <Phantom_Hoover> I wasn't shouting...
08:48:35 <oerjan> i distinctly noted an exclamation mark
08:49:08 <Phantom_Hoover> That's not the same as shouting.
08:49:44 <Phantom_Hoover> And anyway, I always do that when people enter.
08:49:46 <oerjan> YOU'RE NOT FOOLING ME!!!!!!!!!!1111111ELEVEN
08:51:52 <Phantom_Hoover> I'm just jealous of your topology skills.
08:52:03 <oerjan> *MWAHAHAHAHA*
08:52:13 <oerjan> (shouting is mandatory in this situation)
08:54:42 <Sgeo_> LambdaMOO's housekeeper is dead
08:56:11 <oerjan> <coppro> why does HTTP stop at midnight <-- clearly you have the cinderella option
09:00:19 <Phantom_Hoover> Sgeo_: Do you always go on about dying virtual worlds?
09:00:45 <Sgeo_> Phantom_Hoover, Second Life isn't widely considered to be dying
09:01:10 <Phantom_Hoover> But you don't go on about it.
09:02:50 <Sgeo_> I do when I'm interested in it
09:03:32 <Phantom_Hoover> Oh, like the floating-point gravity thing.
09:04:44 -!- Oranjer has left (?).
09:06:58 -!- lament has quit (Read error: Operation timed out).
09:15:23 -!- tombom has joined.
09:16:17 * Sgeo_ should sleep now
09:17:08 <oerjan> !haskell log 8/log 10
09:17:14 <EgoBot> 0.9030899869919434
09:21:00 * Sgeo_ needs to get up at an unknown time, so I should NOT still be up
09:21:11 <Sgeo_> Despite how much good I may be doing for LambdaMOO
09:26:53 <Sgeo_> Eeep, there's a petition to shut down LambdaMOO
09:28:19 <Phantom_Hoover> Set up a counterpetition.
09:28:30 <Phantom_Hoover> Threaten those who sign it.
09:28:35 <Phantom_Hoover> Do whatever it takes.
09:29:55 <Sgeo_> There are currently no signers
09:32:29 <Phantom_Hoover> Then intimidate the person who started it!!
09:32:42 <Phantom_Hoover> Intimidate *someone*, dammit.
09:35:18 <Sgeo_> It seems to be from 1999 or so
09:39:15 <Sgeo_> "I think we need to be proactive and bomb the hell out of the houses of everyone who signed #100000"
09:43:24 <tombom> !haskell log 10
09:43:25 <EgoBot> 2.302585092994046
09:43:30 <tombom> !haskell log E
09:43:44 <oerjan> !haskell log (exp 1)
09:43:45 <EgoBot> 1.0
09:43:47 <tombom> foh right
09:43:55 <tombom> thanks :)
09:44:03 <Sgeo_> Please to be removing your dumb ballot to free quota for my Love Dungeon with Clapper(r) activated nipple electrodes.
09:44:08 <oerjan> !haskell pi -- on the other hand
09:44:10 <EgoBot> 3.141592653589793
09:54:22 * Sgeo_ needs to be asleep
10:00:33 -!- oerjan has quit (Quit: leaving).
10:01:18 -!- relet1 has joined.
10:02:24 -!- relet has quit (Ping timeout: 240 seconds).
10:04:22 -!- kar8nga has quit (Remote host closed the connection).
10:16:41 -!- BeholdMyGlory has joined.
10:16:47 <tombom> !haskell pi - 0.141592653589793
10:16:48 <EgoBot> 3.0
10:17:10 -!- relet1 has left (?).
10:19:51 -!- MigoMipo has joined.
10:27:39 -!- relet has joined.
10:36:36 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
10:49:16 <AnMaster> aargh... an increment of 1 on the rotation sensor is equal to 65/216 degrees.
10:50:44 <AnMaster> and one whole rotation of the turn table is equal to 111.66666... on the rotation sensor. Since it gives integers this will be a pain to handle.
10:51:07 <AnMaster> and the controller for this is an embedded thing, so it is infeasible to handle non-integers anyway
10:51:26 -!- Phantom_Hoover has joined.
10:56:41 <Ilari> Ugh. It isn't even milliradians?
10:57:11 <AnMaster> Ilari, actually it is 16 / whole rotation of rotation sensor
10:57:26 <AnMaster> Ilari, but I was measuring wrt the turn table
10:57:30 <AnMaster> which this thing is connected to
10:58:14 <Ilari> At least one tank had main turret rotation scale in milliradians...
10:58:22 <AnMaster> Ilari, in case you missed it, I'm building a panoramic head for my camera (to avoid parallax). In lego that is.
10:58:36 <AnMaster> and well you selections are somewhat limited when it comes to gear ratio there
10:59:00 <AnMaster> Ilari, and yeah this is quite far from a tank :P
11:00:12 <AnMaster> Ilari, anyway you don't want too many gears in this case, since lego has a bit of "slack", which means that if the direction is reversed it will take a bit for it to propagate back to the rotation sensor if you have a lot of gears in between...
11:02:14 <Ilari> The length of 1 milliradian circular arc at 1km is 1m... Hmm... If one rotation of table were amplified to be 15 rotations of sensor, then it would give 1675 units per table turn?
11:02:38 <AnMaster> Ilari, what?
11:02:55 <AnMaster> well yeah requires fitting gears.
11:04:22 <Ilari> If one takes circular arc that has length one thoursandth of circle radius, then from center, it appears in angle of 1 milliradian. :-)
11:05:00 <AnMaster> which is tricky here. Also space around the turn table is at a premium, due to much reinforcement to be able to carry the load of a camera without bending or such. Sure it wouldn't mechanically break with some of that removed, but it would be unusable for the task due to not being level...
11:05:29 <AnMaster> I have to use counter weights anyway
11:06:08 <Ilari> 90 degree angles tend to be weak point. Adding short 45 degree support beams improves things a lot.
11:06:44 <AnMaster> Ilari, you mean at the base? it has enough area to not be able to tip over even at extreme imbalance.
11:07:28 <AnMaster> and on top of the turn table the load will either be near the center or far out in a given direction
11:07:55 <AnMaster> (depends on adjustment, the whole thing can be adjusted for different lenses, since the no-parallax point will differ
11:08:02 <AnMaster> )
11:09:25 <Ilari> E.g. if one has two hollow cubes built from 20 beams, the beam joints will be the weak spot. But adding 44 short support beams connecting each two adjacent beams will improve strength greatly.
11:10:11 <AnMaster> Ilari, are you talking about something completely different from me? As this seems to not apply here at all.
11:10:23 <AnMaster> as in, lego
11:10:43 <AnMaster> oh wait you don't know the design
11:10:44 <AnMaster> hm
11:10:55 <AnMaster> should take a photo, not that it is completely finished yet
11:11:17 <Ilari> Does the point where axis connects to table top need reinforcement?
11:11:37 <AnMaster> Ilari, axis as in turn table center?
11:11:44 <Ilari> Yes.
11:12:05 <AnMaster> well yes it is quite reinforced. Thankfully there are no "active" things to route through there
11:12:33 <AnMaster> the base is just a sturdy base, all the motors and such is in the turning bit above
11:13:25 <AnMaster> why? 1) because the battery box would be an excellent counter weight to the camera 2) because this will need to rotate 360° and I don't want a twisted cable in the middle
11:13:29 <Ilari> How I would reinforce table (but I haven't tried to do this): Few beams plus 45 deg support beams connecting it to axis.
11:13:46 <AnMaster> Ilari, let me find a picture of the lego turn table used as the core of it
11:14:16 <AnMaster> argh peeron has it as two parts
11:14:24 <AnMaster> also peeron is loading very slowly today
11:15:14 <AnMaster> Ilari, http://media.peeron.com/ldraw/images/47/2856.png and http://media.peeron.com/ldraw/images/47/2855.png
11:15:27 <AnMaster> those are in reality joined together quite well
11:15:42 <AnMaster> never been able to take them apart
11:15:48 <AnMaster> (they came in the box as one part)
11:16:13 <AnMaster> Ilari, there are some "rests" for the above structure further out from this base, where some wheels can rest
11:16:18 -!- kar8nga has joined.
11:16:21 <AnMaster> so the center doesn't take the whole load
11:16:40 <AnMaster> (in my design that is)
11:17:09 <Ilari> Ah, wheels... That's one way to reinforce it.
11:18:04 <AnMaster> Ilari, well, that spreads the load further out, making it more stable, since there is some slack in the joint between those parts so it will not stay completely level if you put a load at a beam attached out from the top of it
11:18:47 <Ilari> BTW: Merry-go-round with magnetic bearings might be quite wild ("unsafe"). :-)
11:18:50 <AnMaster> Ilari, it does however not break without those. So for purely mechanical reasons that turn table is enough
11:19:00 <AnMaster> Ilari, heh?
11:20:12 <AnMaster> Ilari, anyway, I took a pause from building this while trying to figure out how to best program it. The plan is to figure out how long to wait between rotating and taking shots with the camera by using a lego light sensor aimed at the memory card status led
11:20:13 <AnMaster> :)
11:20:18 <Ilari> And if one wants something truly insane, use electromagnetic levitation with capability to have rotating EM wave.
11:20:51 <AnMaster> Ilari, don't forget to put up a warning sign about "do not take any pacemakers or harddrives on this ride"
11:24:51 <Ilari> Because rotating EM wave will make the top plate rotate. And it doesn't take that great speed to need great force to avoid falling off. 0.5 revolutions per second at 5m would need 5g...
11:26:41 <AnMaster> hah
11:26:48 <Ilari> To avoid it being too crazy, rotating EM wave would only be usable to cancel out most of remaining friction and air resistance...
11:27:06 -!- augur has quit (Remote host closed the connection).
11:27:20 <Phantom_Hoover> Why are we talking about rotating EM waves?
11:27:23 <AnMaster> Ilari, would humans survive this speed anyway?
11:27:29 <AnMaster> Phantom_Hoover, I have no clue
11:27:51 <Ilari> With that kind of acceleration, they would fly off...
11:28:23 <AnMaster> Ilari, strapped in? That is common on fast amusement rides
11:28:43 <Ilari> Merry-go-round? Those aren't usually strapped...
11:28:58 <AnMaster> Ilari, true but your one would require it
11:29:30 <Ilari> Those numbers were just example. Obiviously 5G is far too extreme.
11:29:49 <AnMaster> ah
11:30:25 <AnMaster> Ilari, so how did we get from lego technic turn tables to merry-go-round with rotating EM waves?
11:30:29 <AnMaster> I still haven't figured out
11:30:42 <Ilari> Both turn? :->
11:31:05 <AnMaster> hm okay
11:32:59 <Ilari> Those aren't the only "turned to 11" versions of common playground objects... Large teflon-coated slides anyone? :-> :->
11:33:35 <Ilari> (preferably painted white if possible without compromising slipperyness). :->
11:33:47 <AnMaster> Ilari, why white
11:34:22 <AnMaster> the only reason I can think of is heat. And that would need extreme speeds
11:34:34 <AnMaster> plus I'm not sure it applies to sliding on ground
11:34:56 <Ilari> Solar heating. Metal slides tend to really heat up in sunshine.
11:35:09 <AnMaster> it is however the reason why concorde were mostly white (excluding logo, which was restricted in size due to heat reasons)
11:36:47 <Ilari> Swing with solid support rods axled to top beam... :-)
11:37:32 <AnMaster> Ilari, uh uh
11:37:47 <AnMaster> Ilari, you still won't get the required speed manually
11:37:53 <AnMaster> you would need a powered swing
11:38:39 <AnMaster> and that would require something other than chain for suspending the swing from the beam
11:38:44 <AnMaster> something solid
11:39:04 <Ilari> Resonant pumping can bulid great amplitudes. Normally chain bending restricts it.
11:39:41 <AnMaster> Ilari, so manual start and then powered rotation of the chain mount?
11:39:58 <AnMaster> since without a decent initial speed it would just spool up the chain in that case
11:40:01 <AnMaster> like a which or such
11:40:04 <Ilari> I don't know if powered rotation is even necressary there.
11:40:24 <AnMaster> Ilari, you couldn't get it to rotate 360° otherwise
11:40:38 <AnMaster> and that is the goal right? To turn it into a centrifuge
11:40:53 <AnMaster> hm I suspect you would need a counter weight
11:41:03 <AnMaster> so yeah, solid suspension is probably required
11:42:23 <Ilari> What is maximum swing angle of ordinary swing? Something like 150 degrees?
11:42:43 <AnMaster> Ilari, I have no idea
11:43:17 * Phantom_Hoover wonders if any branches of mathematics have ever been proven inconsistent.
11:43:31 <Phantom_Hoover> (Answers on a postcard)
11:44:06 <AnMaster> eh?
11:44:08 <Ilari> Also, how large amplitude one can archive with solid-beam swing might depend on bearings. Good bearings allow larger amplitudes (assuming pumping beyond +-90 degrees is not possible.
11:44:17 <AnMaster> Phantom_Hoover, oh, read it as "comics on a postcard" somehow
11:44:23 <Ilari> *might allow
11:45:38 <AnMaster> Ilari, with solid beams you can use an external engine anyway
11:45:49 <AnMaster> strapping yourself in is recommended for safety reasons
11:45:53 <AnMaster> probably a back rest too
11:47:14 <Ilari> Back is surpisingly weak. I almost once really hurt my back when rollerskating by doing too sharp turn...
11:49:09 <Ilari> I once saw large swing (meant for lots of people at once) that reportedly rotate 360 degrees...
11:50:02 <Ilari> *could rotate
11:50:56 <AnMaster> huh
11:50:59 <AnMaster> where?
11:51:41 <Ilari> Some place near where I live...
11:53:03 <Ilari> It was built of wood...
11:54:20 -!- Tritonio_GR has joined.
11:56:56 <AnMaster> Ilari, huh. Any photo?
11:57:04 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
12:00:36 <Ilari> Nope...
12:04:05 -!- Zuu has quit (Read error: Connection reset by peer).
12:31:43 -!- kar8nga has quit (Remote host closed the connection).
12:34:21 -!- Phantom_Hoover has quit (Quit: Leaving).
12:34:41 -!- Phantom_Hoover has joined.
12:40:25 -!- rodgort has quit (Quit: Coyote finally caught me).
12:40:33 -!- rodgort has joined.
12:57:22 -!- BeholdMyGlory has quit (Remote host closed the connection).
12:58:24 -!- MigoMipo has quit (Read error: Connection reset by peer).
13:10:49 <AnMaster> Ilari, oh btw, that microcontroller I'm using have: http://sprunge.us/GJNG
13:11:02 <AnMaster> hm should test float and double
13:11:07 <AnMaster> would be emulated anyway
13:14:07 <AnMaster> wtf, sizeof(float) == sizeof(double) == 4
13:23:17 -!- tombom has quit (Quit: Leaving).
13:23:34 -!- kar8nga has joined.
13:34:21 -!- FireFly has joined.
13:34:21 -!- FireFly has quit (Changing host).
13:34:22 -!- FireFly has joined.
13:48:40 -!- myndzi has quit (Read error: Connection reset by peer).
13:49:04 -!- myndzi has joined.
13:51:43 -!- BeholdMyGlory has joined.
14:27:20 <Phantom_Hoover> /o/
14:27:21 <myndzi> |
14:27:21 <myndzi> /`\
14:32:17 -!- MigoMipo has joined.
14:40:26 <AnMaster> hm
14:40:36 <AnMaster> I have a variant of the 4 colour problem here
14:40:47 <AnMaster> which I'm not sure what the answer is to
14:40:50 <AnMaster> basically:
14:42:54 <AnMaster> Assume you have a perfectly flat plane of finite size, you want to radio coverage everywhere, that is fill the plane with circles of a given size such that every point is in at least one circle. Overlap is allowed but should be minimised. No two overlapping circles must have the same colours (that is, different frequencies so you don't get interference). How many colours would you need?
14:43:35 <AnMaster> the whole plane would be rectangular
14:44:23 <AnMaster> maybe calling it a variant is stretching things a bit though
14:44:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
14:49:58 <Deewiant> Seems like two separate problems to me
14:50:18 <Deewiant> First solve the coverage issue and then colour the resulting graph
14:50:46 <AnMaster> probably
14:51:01 <AnMaster> Deewiant, wonder what sort of placing would give minimal overlap
14:52:03 <Deewiant> (There's no such thing as a "4 colour problem": there's a 4 colour theorem, and then there's a problem called graph colouring)
14:52:17 <Deewiant> (Or a class of problems, I guess)
14:52:39 <AnMaster> Deewiant, and then, is the "minmal area with any overlap" solution also the one with least colours...
14:53:01 <relet> minimal overlap = zero, or the general case allowing some overlap?
14:53:18 <AnMaster> relet, see the question above. Minimal overlap would not be zero here
14:53:27 <AnMaster> you can't tile the plane with circles afaik
14:53:36 <AnMaster> not without getting some space in between
14:53:50 <relet> ah, sorry. I misthought that as minimal non-covered area
14:54:49 <AnMaster> anyway, one could imagine the solution with least area where there is any overlap is one where you have some points with n circles overlapping, but there is another solution where the total area with any overlap is more but there are at most n-1 different circles overlapping in one point
14:54:51 <AnMaster> if you see what I mean
14:54:54 <Deewiant> AnMaster: Depends on the constraints on the circle size
14:55:13 <Deewiant> If we can make one huge circle covering the whole thing, that's obviously optimal as far as colours go
14:55:15 <AnMaster> Deewiant, well all circles have to have the same size, wasn't that given ?
14:55:26 <Deewiant> Sure
14:55:33 <relet> yup. you can either go for optimal packing, and add smaller circles inbetween, or pessimal packing and add larger circles.
14:55:33 <Deewiant> So hmm
14:55:43 <AnMaster> hm
14:55:57 <AnMaster> brb, need to help person with high fever... :(
14:55:59 <Deewiant> You'll get a lot of overlap if you can't even reduce the circle size, I think
14:56:26 -!- Phantom_Hoover has joined.
14:56:27 <Deewiant> (Unless your circle size is such that the circles degenerate into points: no overlap and 2-colourable)
14:56:54 <Deewiant> Or wait, only overlaps must have the same colours, so 1-colourable
15:01:29 -!- myndzi\ has joined.
15:02:20 <AnMaster> back
15:02:41 <AnMaster> hm
15:02:42 -!- relet has quit (Quit: Leaving.).
15:04:23 -!- myndzi has quit (Ping timeout: 240 seconds).
15:05:08 <Phantom_Hoover> alise isn't around, is he?
15:05:22 -!- MigoMipo has quit (Remote host closed the connection).
15:05:48 -!- MigoMipo has joined.
15:06:19 <AnMaster> "setting bit 2 (mask interrupts) to 1 will mask all interrupts except NMI". Seems like a quite reasonable statement eh?
15:06:23 <AnMaster> now expand NMI
15:06:37 <AnMaster> "setting bit 2 (mask interrupts) to 1 will mask all interrupts except non-maskable interrupts"
15:06:41 <AnMaster> now that seems slightly silly
15:08:08 -!- rodgort has quit (Ping timeout: 240 seconds).
15:08:09 <AnMaster> oh nice alternative to having a reserved bit in your flags register: "Bit 6—User Bit (U): This bit can be written and read by software (using the LDC, STC, ANDC,
15:08:09 <AnMaster> ORC, and XORC instructions)."
15:08:23 <AnMaster> (wtf at that linebreak, meh)
15:08:50 -!- Gracenotes has quit (Remote host closed the connection).
15:11:58 -!- Gracenotes has joined.
15:45:36 -!- rodgort has joined.
15:59:17 <cheater99> like a satellite, i'm in an orbit all the way around you
16:04:38 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
16:06:28 -!- MizardX has quit (Ping timeout: 240 seconds).
16:09:21 -!- relet has joined.
16:35:47 -!- lament has joined.
16:42:26 -!- oerjan has joined.
16:42:30 <Phantom_Hoover> oerjan!
16:42:49 <oerjan> PHANTOM_HOOVER
16:43:00 <Phantom_Hoover> THERE'S NO NEED TO SHOUT!
16:43:23 <Phantom_Hoover> How do you even pronounce "oerjan"?
16:43:56 <oerjan> ___ _ ___
16:43:56 <oerjan> / _ \| |__|__ \
16:43:56 <oerjan> | | | | '_ \ / /
16:43:56 <oerjan> | |_| | | | |_|
16:43:56 <oerjan> \___/|_| |_(_)
16:44:28 <Phantom_Hoover> Wow, nice kerning.
16:44:41 <oerjan> figlet is cool
16:45:30 <oerjan> oerjan is pronounced like ørjan, naturally
16:45:59 <Phantom_Hoover> And how is that pronounced?
16:46:11 <oerjan> just the way it is written >:)
16:46:13 -!- CakeProphet has joined.
16:46:26 <CakeProphet> ...weird
16:46:36 <CakeProphet> ircii looked completely different last time I used it
16:47:21 <Phantom_Hoover> Have you tried turning it off and on again?
16:49:17 <CakeProphet> yeah
16:49:22 <CakeProphet> it's weird actually ircii wasn't installed
16:49:23 <oerjan> http://en.wikipedia.org/wiki/Norwegian_phonology
16:49:27 <CakeProphet> maybe I'm just crazy and hallucinated using it
16:50:35 <CakeProphet> oh... it was irssi maybe?
16:50:37 <CakeProphet> brb
16:50:39 -!- CakeProphet has quit (Client Quit).
16:51:18 <Deewiant> Phantom_Hoover: [øɾjɑn] or thereabouts I guess
16:51:24 <Phantom_Hoover> Dammit, I didn't get a chance to ask him if he was sure that it was plugged in.
16:52:09 <oerjan> Deewiant: i _think_ the ø should be an oe ligature, according to that article
16:53:05 <Deewiant> Hmm, I was looking at http://en.wikipedia.org/wiki/Norwegian_language#Vowels
16:53:39 <oerjan> yes i noticed they disagreed
16:53:59 <Deewiant> But if that's what the short one is to be, then presumably yes
16:54:03 <oerjan> #Vowels doesn't distinguish short and long
16:54:05 -!- lament has quit (Ping timeout: 265 seconds).
16:54:11 <Deewiant> It doesn't mention œ at all
16:54:26 <Deewiant> Which is why I didn't look into it any further :-P
16:54:41 <Deewiant> But yeah, I guess /œɾjɑn/ is closer to the mark
16:58:43 <oerjan> * Phantom_Hoover wonders if any branches of mathematics have ever been proven inconsistent.
16:59:37 <oerjan> i do recall an anecdote about someone doing his thesis or something on a complicated subject, and that at the defense or something someone pointed out that the only example of his structure was the empty set (or something)
16:59:45 <oerjan> you can tell my memory is vague there :D
17:00:35 <oerjan> of course any subject that depends on an unproven hypothesis could face the same problem
17:01:17 <Phantom_Hoover> But I mean something like the axioms being inconsistent.
17:01:31 <oerjan> i also recall someone once proved a theorem by first giving a proof assuming the riemann hypothesis (i think) was true, and then a proof assuming it was false
17:01:51 <Phantom_Hoover> Like coming up with a proof that 1=0.
17:02:30 <oerjan> Phantom_Hoover: you know there is a theory of odd perfect numbers - but no one has ever found an actual example or proved they don't exist...
17:03:13 <oerjan> Phantom_Hoover: oh, you could say naive set theory is such a branch
17:03:24 <oerjan> russell proved it inconsistent with his paradox
17:03:31 <Phantom_Hoover> Ah, indeed.
17:04:06 -!- BeholdMyGlory_ has joined.
17:04:12 <Phantom_Hoover> Also, is logic an axiomatic system?
17:04:28 <oerjan> interesting question
17:04:48 <oerjan> you need at least one inference rule
17:05:08 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds).
17:05:11 -!- CakeProphet has joined.
17:05:13 <CakeProphet> ...there we go.
17:05:18 <CakeProphet> this client is superior
17:05:25 <Phantom_Hoover> Are you sure it's plugged in?
17:05:26 <oerjan> and then you can do the rest with axiom _schemas_, i think.
17:05:42 -!- BeholdMyGlory_ has quit (Changing host).
17:05:42 -!- BeholdMyGlory_ has joined.
17:05:45 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
17:05:50 <oerjan> (an infinite set of patterns that are all axioms)
17:06:21 * CakeProphet defines a logical system that has an infinite number of axioms.
17:06:38 <oerjan> um wait
17:06:55 <oerjan> the set of patterns is finite of course, but they describe an infinite set of axioms, is what i mean
17:07:13 <CakeProphet> tl;dr... I'm busy defining an infinite set of axioms.
17:07:41 <CakeProphet> explicitly, of course.
17:07:45 <Phantom_Hoover> oerjan: Aren't they basically fancy axioms?
17:07:51 <Phantom_Hoover> The patterns.
17:08:19 <oerjan> Phantom_Hoover: it depends on how you define an axiom
17:08:32 <oerjan> they're not single propositions of the actual logic
17:09:41 <CakeProphet> hmmm... okay, so my axioms are going to be enumerated
17:09:43 <oerjan> they contain meta-variables. that's sort of the point really, when you go this deep in defining logic you reach a point where you cannot escape having the _meta-theory_ being more complicated than the actual theory you are describing...
17:09:52 <CakeProphet> the odd ones disprove Godel's incompleteness theorem
17:10:03 <CakeProphet> the even ones determine if an aribtrary program halts.
17:10:21 <Phantom_Hoover> How do the odd ones do that?
17:10:29 <CakeProphet> by being axioms, duh.
17:10:58 <Phantom_Hoover> So they all state that "Gdel's incompleteness theorems are false"?
17:11:00 <CakeProphet> that's like asking how equality works.
17:11:11 <CakeProphet> Phantom_Hoover: no, not explicitly
17:11:15 <oerjan> CakeProphet: btw godel's incompleteness theorem requires your axioms to be recursively enumerable iirc
17:11:27 <CakeProphet> but each one achieves that .
17:11:38 <oerjan> which probably thwarts your project in principle
17:11:52 <CakeProphet> well no...
17:12:07 <CakeProphet> the ones divisble by 5 disprove that part of GIT
17:12:22 <CakeProphet> in doing so... they refer to all the axioms divisble by 5
17:12:24 <oerjan> so basically your theory is inconsistent. got it ;)
17:12:52 <Phantom_Hoover> Axiom 1: Axiom 2 is false. Axiom 2: Axiom 1 is true.
17:13:08 <Phantom_Hoover> Or perhaps Axiom 2: Axiom 1 is false.
17:13:22 <Phantom_Hoover> Yes, that one.
17:13:22 <CakeProphet> either.
17:13:48 <CakeProphet> for axiom 2 to be false in the first example... axiom 1 would have to be false
17:13:48 <Phantom_Hoover> No, wait, the second is consistentish.
17:14:24 <CakeProphet> oh wait... no that works.
17:14:36 <CakeProphet> ...fuck, I don't know.
17:15:41 <CakeProphet> Axiom 0: your mom is crazy in bed Axiom N: Axiom N-1 is true
17:15:59 <Phantom_Hoover> In the first system, Axiom 1 → ¬Axiom 2
17:16:12 <Phantom_Hoover> Axiom 2 → ¬Axiom 1
17:16:33 <Phantom_Hoover> Axiom 1 → ¬Axiom 2 → Axiom 1.
17:16:37 <oerjan> <AnMaster> Assume you have a perfectly flat plane of finite size, you want to radio coverage everywhere, that is fill the plane with circles of a given size such that every point is in at least one circle. Overlap is allowed but should be minimised. No two overlapping circles must have the same colours (that is, different frequencies so you don't get interference). How many colours would you need?
17:17:11 <CakeProphet> oerjan: all of them.
17:17:19 <Phantom_Hoover> In the second, Axiom 1 → ¬Axiom 2
17:17:22 <oerjan> i _think_ minimal overlap may be a hexagonal pattern, isn't that the equivalent to kepler's theorem in two dimensions
17:17:33 <Phantom_Hoover> Axiom 2 → Axiom 1
17:17:46 <Phantom_Hoover> Axiom 1 → ¬Axiom 1
17:17:48 <Phantom_Hoover> QED.
17:18:06 <Phantom_Hoover> The first is quasi-consistent, the second is inconsistent.
17:18:22 <oerjan> and i think that requires exactly 4 colors
17:19:33 <oerjan> 4 is clearly enough since this is planar
17:20:12 <oerjan> a b
17:20:18 <oerjan>
17:20:20 <oerjan> er
17:20:23 <oerjan> a b
17:20:25 <oerjan> c d
17:20:32 <oerjan> e
17:20:48 <oerjan> hm wait
17:21:03 <Phantom_Hoover> It's a matter of finding a tile, isn't it?
17:21:05 <oerjan> perhaps 3 is enough
17:22:01 <oerjan> Phantom_Hoover: well hexagonal is the densest _packing_, i'm pretty sure, so it probably also gives least overlap (just enlarge the circles of the packing until they cover all)
17:22:18 <Phantom_Hoover> No, I mean for the colouring.
17:22:20 <oerjan> and only neighbors would overlap
17:22:49 <Phantom_Hoover> Find a tile with which you can cover the plane without conflict.
17:23:28 <oerjan> i don't see what you mean, although the coloring would probably be periodic and so have something like a tiling associated
17:23:49 <oerjan> oh hm
17:23:56 <oerjan> a b c a b c a b c
17:24:04 <oerjan> c a b c a b c a b
17:24:08 <oerjan> 3 is enough
17:24:11 <Phantom_Hoover> Yes.
17:24:42 <oerjan> AnMaster: 3 is enough for a hexagonal pattern
17:24:46 <AnMaster> oerjan, hm okay
17:25:36 <AnMaster> oerjan, do you then consider the circles to include the edge or not?
17:25:48 <oerjan> AnMaster: i don't think that matters
17:25:53 <oerjan> oh wait
17:26:04 <AnMaster> oerjan, I would consider it an open set
17:26:10 <AnMaster> in this case
17:26:34 <oerjan> AnMaster: it matters only if the radius needs to reach to the center of neighbors. is it that large?
17:26:54 <AnMaster> oerjan, the edge? no it is of course infinitely thin or something
17:27:13 <AnMaster> as in the difference between [0,n] and [0,n)
17:27:16 <oerjan> if it doesn't reach to the center of neighbors, then it cannot overlap anything other than the neighbors
17:27:36 <oerjan> AnMaster: oh edge... i'm ignoring your finite area, this covers the whole plane
17:28:35 <AnMaster> oerjan, do two circles meet in a point anywhere? as in edges touching each other and no overlap
17:28:54 <AnMaster> then that difference for the circle would matter, wouldn't it?
17:29:10 <AnMaster> oerjan, if you see what I mean?
17:29:40 <oerjan> AnMaster: no i don't think so
17:29:55 <oerjan> i mean
17:29:56 <AnMaster> oerjan, "don't think you see what I mean"?
17:29:57 <oerjan> a b
17:29:58 <oerjan> c
17:30:24 <oerjan> then a b and c circles would intersect in a common point, but each pair of circles would overlap
17:30:32 <AnMaster> oerjan, the thing was if there was some point that was only covered by the edges of two circles, and no overlap at all.
17:30:40 <AnMaster> s/thing/question/
17:31:04 <Phantom_Hoover> If it's an open set then there are points not covered by oerjan's packing.
17:31:09 <oerjan> AnMaster: oh right, the common point would be that
17:31:18 <AnMaster> oerjan, well that is an issue I think
17:31:30 <AnMaster> Phantom_Hoover, thanks for understanding what I meant :)
17:31:36 <oerjan> AnMaster: i suspect you cannot get a minimum coverage without there being such points
17:31:47 <AnMaster> oerjan, how?
17:31:50 <oerjan> because there aren't such points you can probably shrink some circle
17:32:12 <oerjan> so there is no truly minimal solution
17:32:26 <oerjan> *because if there
17:32:32 <AnMaster> oerjan, all circles were to have the same size. As was implied by "circles of a given size"
17:32:38 <AnMaster> same given size obviously
17:32:42 <oerjan> oh
17:32:47 <Phantom_Hoover> You can get arbitrarily close to optimum packing.
17:32:56 <Phantom_Hoover> With circles the same size.
17:32:57 <AnMaster> Phantom_Hoover, ah, good enough I guess
17:33:00 <oerjan> well still. you can probably shrink _all_ circles by an epsilon.
17:33:08 <CakeProphet> hmmm I wonder how tree-based programming would work.
17:33:13 <Phantom_Hoover> Lisp?
17:33:17 <CakeProphet> like, similar semantics to stackbased but with trees.
17:33:38 <Phantom_Hoover> Oh, with trees as the primary data structures.
17:33:40 <AnMaster> oerjan, they are all unit circles. But shrinking them would just scale the entire thing
17:34:01 <Phantom_Hoover> Again, Lisp is sort of that, due to the structure of the lists.
17:34:09 -!- Tritonio_GR has joined.
17:34:10 <AnMaster> and possibly add some more on the edges of the finite plane
17:34:12 <oerjan> AnMaster: well yeah. hm i guess this actually _would_ depend on your finite area, come to think of it
17:34:24 <CakeProphet> you could probably have an operation that's something like "take the current root tree, copy it, and push onto tree" or something
17:34:32 <CakeProphet> that'd be kind of crazy though.
17:34:33 <oerjan> because the finite area determines how tightly things fit
17:34:35 <CakeProphet> or.. pointless.
17:34:37 <AnMaster> oerjan, well, I don't consider overshooting this area to be an issue
17:34:54 <AnMaster> at least I didn't have that in mind as an issue
17:35:04 <CakeProphet> well, maybe not pointless. If you didn't copy and simply references you could get circular behavior.
17:35:13 <CakeProphet> *referenced
17:35:27 <oerjan> AnMaster: anyway i was ignoring the finiteness because it seemed like a finite area might complicate the pattern of circles (and i'm too lazy for that ;D)
17:36:17 <AnMaster> oerjan, heh
17:36:57 <Phantom_Hoover> In that case, it depends entirely on the shape of the area.
17:36:57 <CakeProphet> firall x. 1
17:37:02 <CakeProphet> *forall
17:37:05 <CakeProphet> deep. right?
17:37:25 <oerjan> CakeProphet: that's essentially graph/tree rewriting, it's a well-known strategy for implementing functional languages
17:38:57 <CakeProphet> ...are you sure it's similar. I mean like, how Glass is stack-based, but you "push" and "pop" to a tree instead.
17:39:12 <CakeProphet> with each operation, sequentially.
17:39:44 <oerjan> CakeProphet: well it's complicated than just pushing and popping i guess
17:40:01 <oerjan> CakeProphet: also a stack of trees is equivalent to a single tree, in a sense
17:40:08 <AnMaster> Phantom_Hoover, well it was given as rectangular in my original question
17:40:35 <Phantom_Hoover> Ah,
17:41:09 <Phantom_Hoover> Then it depends on the ratio of the range of the transmitters to the edges, among other things.
17:41:48 <AnMaster> Phantom_Hoover, yep, but extending outside the finite area was not considered a problem. Nor overlap outside of the area
17:42:18 <AnMaster> and I did not have any specific ratios in mind originally
17:42:32 <oerjan> AnMaster: actually i don't think two circles can overlap outside without overlapping inside, assuming their centers are inside
17:42:46 <Phantom_Hoover> No, they can't.
17:42:57 <Phantom_Hoover> Unless the area is concave.
17:43:27 <AnMaster> lessons learned: it is impossible to state any problem involving anything finite with enough detail. Where enough detail is defined as "a mathematician can't think of another question to ask to clarify the problem"
17:43:32 <oerjan> yeah it follows from convexity and the midpoint between the centers always being in the overlap area if there is any
17:43:36 <AnMaster> ;P
17:44:07 <AnMaster> oerjan, sure but the overlap area outside would not be counted towards the total
17:44:23 <oerjan> AnMaster: oh you mean for minimizing, right
17:44:29 <AnMaster> oerjan, exactly
17:44:53 -!- kar8nga has quit (Remote host closed the connection).
17:45:30 <pikhq> GAH
17:45:36 <pikhq> IE6 IT STILL LIVES
17:45:45 <oerjan> AnMaster: actually when i think about it there isn't really any reason to minimize the overlap area. in fact you would want to maximize it in practise, under the coloring restriction
17:46:06 <AnMaster> oerjan, now replace the rectangle with an area defined as the coastline of norway on one side, then a line modified by a sine wave on the other. Have fun ;P
17:46:11 <oerjan> (better coverage if there is a failure with a sender)
17:46:29 <AnMaster> oerjan, sure, but senders cost money
17:46:50 <oerjan> AnMaster: oh well right, perhaps minimizing the _number_ of senders rather than area
17:46:57 <AnMaster> oerjan, do you know how many watt a typical radio transmitter is rated for?
17:47:05 <oerjan> no f* idea
17:47:17 <AnMaster> oerjan, iirc 60000 W was the max in Sweden
17:47:33 <AnMaster> for Sveriges Radio obviously, not for "local to the city" stations ;P
17:48:24 <AnMaster> oerjan, so yeah, it costs quite a bit with senders. Even excluding the cost for the "hardware"
17:48:37 <AnMaster> just the electricity bill must be fantastic...
17:49:01 <oerjan> <Phantom_Hoover> alise isn't around, is he?
17:49:04 <AnMaster> well, fantastic is wrong word, horrible maybe
17:49:07 <oerjan> maybe tomorrow, i think he said
17:50:11 <oerjan> AnMaster: hm the electricity bill alone would scale with area up to the maximum, wouldn't it
17:50:33 <oerjan> or wait
17:51:16 <oerjan> i guess transmission in the atmosphere is not trivial
17:52:01 <oerjan> for one thing, does it count as spreading in two or three dimensions
17:52:14 <oerjan> (beyond a certain distance)
17:52:26 <AnMaster> oerjan, of course this does not apply as easily to "real life"
17:52:55 <AnMaster> oerjan, what with the issues you mentioned. Plus mountains and tall buildings and so on
17:53:10 <CakeProphet> ...hmmm, I think I have a good idea for an tree-based esolang.
17:53:17 <CakeProphet> with nifty control flow structures.
17:53:26 <AnMaster> oerjan, and local heat variations in the atmosphere would mess things up as well I suspect.
17:53:39 <CakeProphet> and the file system embedded in the tree structure. :)
17:53:40 <AnMaster> I'm not sure if you can get radio mirages. but that would be awesoem
17:53:43 <AnMaster> awesome*
17:53:52 <AnMaster> just completely awesome
17:54:02 <CakeProphet> technically a graph, but mostly a tree.
17:54:16 <oerjan> huh
17:55:53 <AnMaster> oerjan, "huh" about what?
17:56:37 <oerjan> radio mirages
17:56:45 <AnMaster> ah
17:56:56 <AnMaster> oerjan, I never heard of it though. Sadly
17:56:59 <AnMaster> would be awesome indeed
17:57:06 <Phantom_Hoover> Stallman is a very strange man
17:57:08 <Phantom_Hoover> .
17:57:30 -!- comex has joined.
17:58:51 -!- oerjan has quit (Quit: Reboot).
17:59:33 <Phantom_Hoover> Also, I get the sense that my computer is bragging.
18:00:08 <CakeProphet> I wonder if Stallman smokes herb.
18:00:24 <Phantom_Hoover> "Oh, look, I ran 1.3 million CPU cycles in a millisecond, what have you done lately?"
18:04:25 -!- oerjan has joined.
18:04:45 <AnMaster> Phantom_Hoover, it said that?
18:04:57 <Phantom_Hoover> Not in as many words.
18:05:10 <AnMaster> ah
18:05:39 -!- kar8nga has joined.
18:05:56 <Phantom_Hoover> Although I may make it do that.
18:06:46 <AnMaster> Phantom_Hoover, wait, your computer is only 1.3 GHz?
18:07:01 <Phantom_Hoover> No, it was doing other stuff.
18:07:11 <AnMaster> <Phantom_Hoover> "Oh, look, I ran 1.3 million CPU cycles in a millisecond, what have you done lately?"
18:07:18 <Phantom_Hoover> That's just the output from a time on some Lisp code.
18:07:20 <AnMaster> as far as I can tell that gives you 1.3 GHz
18:07:30 <AnMaster> Phantom_Hoover, you mean your numbers were made up?
18:07:39 <pikhq> Dude, ATM my computer is running at *500 MHz*.
18:07:50 <pikhq> Erm.
18:07:53 <AnMaster> pikhq, hm slow for cpufreq
18:07:54 <pikhq> *800*.
18:07:59 <AnMaster> ah more reasonable
18:08:07 <Phantom_Hoover> No, I mean I timed some Lisp code, it took 1 ms and 1.3 gigacycles.
18:08:24 <pikhq> Granted, this is because my clock rate is turned way down due to low demand. :)
18:08:28 <AnMaster> Phantom_Hoover, how did you get the 1.3 gigacycles number?
18:08:39 <Phantom_Hoover> That is what the TIME function printed.
18:08:57 <AnMaster> Phantom_Hoover, is that some byte code interpreter cycle or CPU cycles?
18:09:14 <Phantom_Hoover> Hmm, it says "processor cycles".
18:09:20 <Phantom_Hoover> Hence I assume CPU.
18:09:29 <AnMaster> Phantom_Hoover, yeah multitasking might be messing things up
18:09:30 <Phantom_Hoover> Also, SBCL compiles to native code.
18:09:44 <Phantom_Hoover> So bytecode is implausible.
18:10:28 <AnMaster> Phantom_Hoover, I can't think of any obvious way to measure cycle count on x86. At least not one that would be feasible implementing outside a program that specifically does that
18:10:54 <AnMaster> what with the varying delay on instructions, out of order, super scalar.
18:10:56 <AnMaster> and so on
18:11:01 <AnMaster> oh and cache effects
18:11:03 <AnMaster> don't forget that
18:11:05 <Phantom_Hoover> I have no idea how it measures it.
18:11:12 <Phantom_Hoover> (describe 'time)
18:11:22 <Phantom_Hoover> TIME names a macro:
18:11:22 <Phantom_Hoover> Lambda-list: (FORM)
18:11:22 <Phantom_Hoover> Documentation:
18:11:22 <Phantom_Hoover> Execute FORM and print timing information on *TRACE-OUTPUT*.
18:11:22 <Phantom_Hoover>
18:11:22 <Phantom_Hoover> On some hardware platforms estimated processor cycle counts are
18:11:24 <Phantom_Hoover> included in this output; this number is slightly inflated, since it
18:11:26 <Phantom_Hoover> includes the pipeline involved in reading the cycle counter --
18:11:28 <Phantom_Hoover> executing (TIME NIL) a few times will give you an idea of the
18:11:30 <Phantom_Hoover> overhead, and its variance. The cycle counters are also per processor,
18:11:32 <Phantom_Hoover> not per thread: if multiple threads are running on the same processor,
18:11:34 <Phantom_Hoover> the reported counts will include cycles taken up by all threads
18:11:36 <Phantom_Hoover> running on the processor where TIME was executed. Furthermore, if the
18:11:36 <AnMaster> ah
18:11:36 <CakeProphet> hahaha... I didn't know Google suggested Recursion when you type Recursion into it.
18:11:38 <Phantom_Hoover> operating system migrates the thread to another processor between
18:11:40 <Phantom_Hoover> reads of the cycle counter, the results will be completely bogus.
18:11:42 <Phantom_Hoover> Finally, the counter is cycle counter, incremented by the hardware
18:11:44 <AnMaster> Phantom_Hoover, no need to paste it all
18:11:46 <Phantom_Hoover> even when the process is halted -- which is to say that cycles pass
18:11:48 <Phantom_Hoover> normally during operations like SLEEP.
18:11:50 <Phantom_Hoover> Source file: SYS:SRC;CODE;TIME.LISP
18:11:53 <AnMaster> hm
18:11:55 <Phantom_Hoover> Sorry.
18:12:58 <AnMaster> Phantom_Hoover, hm not sure how you read cycle count on x86
18:13:07 <AnMaster> presumably it is possible
18:13:28 <AnMaster> oh the TSC
18:14:46 -!- tombom has joined.
18:16:03 <AnMaster> Phantom_Hoover, and yeah if it uses the TSC it would include cycles spent by other CPUs as well
18:16:07 <AnMaster> Phantom_Hoover, what did the program do btw?
18:16:24 <AnMaster> if this is "hello world" I would say that you have a LOT of overhead ;P
18:16:28 <AnMaster> or it moved between cpus
18:16:43 <Phantom_Hoover> It's a 3-layer feed-forward neural network.
18:17:20 <Phantom_Hoover> Hello world takes 44,360 cycles.
18:17:48 <AnMaster> quite a lot. I wonder how many a C hello world would take, would have no gc overhead and such
18:17:54 <AnMaster> still some IO overhead
18:18:00 <AnMaster> Phantom_Hoover, what about 2+2 ;P
18:18:27 <Phantom_Hoover> 1480 cycles.
18:18:35 <pikhq> AnMaster: Well, there's stdio to go through and such.
18:18:56 <Phantom_Hoover> OTOH, (time nil) takes 1720 cycles, so it's inaccurate for small values.
18:19:18 <Phantom_Hoover> 2+2 is therefore incredibly quick.
18:19:19 <AnMaster> pikhq, as I said yes
18:19:25 <AnMaster> <AnMaster> still some IO overhead
18:19:44 -!- zzo38 has joined.
18:19:44 <pikhq> Phantom_Hoover: Should be constant-folded, really.
18:19:46 <Phantom_Hoover> Why did you ping me?
18:19:58 <AnMaster> Phantom_Hoover, because I did /ping p<tab> and got you instead of pikhq
18:20:24 <AnMaster> <Phantom_Hoover> OTOH, (time nil) takes 1720 cycles, so it's inaccurate for small values. <-- sure that is inaccurate?
18:20:43 <Phantom_Hoover> pikhq: 2+2? Like I said, it could take a cycle and it would report a couple of thousand cycles.
18:20:51 <AnMaster> btw, timing (+ 2 2) on my system gave me 3934 cycles
18:20:57 <AnMaster> sempron 3300+
18:21:04 <Phantom_Hoover> What implementation?
18:21:10 <AnMaster> Phantom_Hoover, sbcl REPL
18:21:31 <Phantom_Hoover> And nil isn't evaluated at all, so it's almost certainly inaccurate.
18:21:46 <AnMaster> (time nil):
18:21:47 <zzo38> There is another channel on here that was here yesterday, because they needed a new IRC server I suggested Freenode. It is #mzx for the mainstream MegaZeux. I recommend the forked MegaZeux, which has no official IRC channel, however. (But you can discuss the forked MegaZeux on that channel however, don't too much)
18:21:48 <AnMaster> 3,611 processor cycles
18:22:09 <zzo38> If I write an accounting software what should I called it?
18:22:30 <Phantom_Hoover> And the description for time says outright that there's an overhead approximately that of (time nil)
18:23:29 <AnMaster> "RunProgram: Start execution of the program downloaded. A downloaded program can only be started if it contains the text "Do you byte, when I knock?", otherwise the executive refuse to run the program downloaded." <-- some aspects of the RCX ROM are bloody strange
18:26:01 -!- kar8nga has quit (Remote host closed the connection).
18:26:35 -!- zzo38 has quit (Remote host closed the connection).
18:30:24 <CakeProphet> hmmm... I wonder if I could be a leet haxor
18:30:36 * CakeProphet writes naive C code and tries to inject code via stack overflow.
18:34:19 * Phantom_Hoover is happy
18:35:14 <Phantom_Hoover> The neural network code works for AND and OR.
18:35:18 <Phantom_Hoover> Now to try XOR.
18:36:50 <Phantom_Hoover> Actually, I can't be bothered.
18:37:03 <Phantom_Hoover> Manually altering weights is unspeakably painful.
18:41:11 <pineapple> what are you doing?
18:52:31 <oerjan> weighing altered manuals
18:57:29 <Phantom_Hoover> pineapple: Wasting time messing with neural nets.
18:58:47 -!- tombom has quit (Ping timeout: 258 seconds).
18:59:02 <Phantom_Hoover> And for XOR I have to change the weights pretty much by hand, which takes too much typing.
19:02:41 -!- tombom has joined.
19:06:46 <Phantom_Hoover> tombom!
19:10:24 <AnMaster> <oerjan> weighing altered manuals <-- interesting, why?
19:10:55 <Phantom_Hoover> It was a facetious answer to pineapple's question to me.
19:11:20 <AnMaster> Phantom_Hoover, ah. I imagine the extra weight from some added ink could be detected ;P
19:11:45 <AnMaster> would take an incredibly sensitive scale
19:11:59 <AnMaster> and require that the unaltered manuals had a very precise weight
19:12:01 <Phantom_Hoover> A fascinating method for detecting cheats, but ultimately impractical.
19:12:04 <AnMaster> s/scale/scales/
19:12:30 <AnMaster> Phantom_Hoover, exactly. But this is #esoteric, things doesn't have to be practical!
19:13:08 <tombom> hello what
19:13:19 <AnMaster> tombom, who's there?
19:14:26 <pikhq> http://sprunge.us/gdMY
19:15:43 <AnMaster> pikhq, what does it do?
19:15:57 <Phantom_Hoover> Imperative → imperative via functional seems an odd choice.
19:15:57 <AnMaster> generate x86 asm I figured out
19:16:06 <AnMaster> ah probably bf
19:16:09 <AnMaster> so BF compiler then
19:16:12 <pikhq> AnMaster: Yes.
19:16:20 <pikhq> Phantom_Hoover: Yeah, but it's still quite nice.
19:16:30 <pikhq> I've found Haskell makes for delicious compilers.
19:16:31 <AnMaster> pikhq, nothing new. The best one before esotope-bfc was written in haskell
19:16:40 <AnMaster> compiled to C, not asm of course
19:16:52 <Phantom_Hoover> I think you meant Phantom_Hoover there.
19:17:01 <pikhq> AnMaster: Yes. I'm aware of said compiler.
19:17:01 <AnMaster> Phantom_Hoover, me? no
19:17:03 <AnMaster> oh
19:17:03 <AnMaster> wait
19:17:06 <AnMaster> I did
19:17:07 <AnMaster> maybe
19:17:13 * AnMaster is confused
19:17:13 <pikhq> I'm currently generating smaller output than esotope-bfc.
19:17:18 <AnMaster> right I meant Phantom_Hoover
19:17:33 <AnMaster> pikhq, how do you compare
19:17:45 <AnMaster> pikhq, since esotope generates C code
19:17:47 <AnMaster> and you generate asm
19:17:48 -!- Phantom_Hoover has changed nick to xPhantom_Hoover.
19:17:55 <xPhantom_Hoover> AnMaster: There you go.
19:17:56 <AnMaster> pikhq, gcc produces bloated binaries
19:18:01 <pikhq> AnMaster: Final binary, as generated with gcc -Os
19:18:04 <AnMaster> xPhantom_Hoover, hah ;P
19:18:10 <pikhq> I've also compared with clang -Os
19:18:16 <AnMaster> pikhq, tcc?
19:18:23 <pikhq> Not tried that.
19:18:38 <pikhq> Doesn't work well with my absurdly tiny libc.
19:18:47 <pikhq> (I want to be fair, okay?)
19:18:47 <AnMaster> pikhq, anyway, I would say that the comparison is unfair due to the different target languages
19:19:03 <AnMaster> pikhq, you linked that libc statically?
19:19:12 <AnMaster> why not link both dynamically
19:19:26 <pikhq> AnMaster: *Dynamic linking makes for larger binaries*.
19:19:35 <pikhq> Also, said libc literally included wrappers for system calls.
19:19:49 <pikhq> And was *concattenated* with the file.
19:20:00 <AnMaster> pikhq, I have seen cases of static linking being larger
19:20:05 <AnMaster> pikhq, that was against boost though iirc
19:20:09 <AnMaster> or something of similar size
19:20:09 <pikhq> Yes, but not in this case.
19:20:20 <pikhq> Where you only need read, write, and exit.
19:20:51 <AnMaster> pikhq, anyway, the comparison is not fair IMO
19:21:02 <pikhq> It's still currently about an order of magnitude slower than esotope-bfc, output-wise.
19:21:02 <AnMaster> pikhq, you should compare speed
19:21:09 <AnMaster> indeed
19:21:17 <pikhq> This has a lot to do with my lack of constant folding and loop handling.
19:24:09 -!- Tritonio_GR has quit (Ping timeout: 264 seconds).
19:26:40 -!- Geekthras has quit (Ping timeout: 264 seconds).
21:31:11 -!- clog has joined.
21:31:11 -!- clog has joined.
21:34:12 <Phantom_Hoover> clog!
21:34:29 <Phantom_Hoover> Wait, does this mean that the prior conversation was unlogged?
21:35:06 <ais523> presumably yes
21:35:19 <ais523> wb clog
21:37:39 <AnMaster> Phantom_Hoover, presumably you have your own local logs however
21:38:10 <Phantom_Hoover> ...Probably.
21:38:21 <oerjan> Phantom_Hoover: yes, no one will ever know about our terrorist plans
21:38:28 <oerjan> ...shit
21:39:28 <Phantom_Hoover> For some reason I have an overwhelming urge to write "rjan the headless esolang runner".
21:39:48 <oerjan> ...what
21:40:40 <oerjan> i'm not headless. otoh http://en.wikipedia.org/wiki/Mike_the_Headless_Chicken
21:40:41 <Phantom_Hoover> Warren Zevon song.
21:42:29 <oerjan> "Roland is a Norwegian who becomes embroiled in the Congo Crisis of the late 1960s. He earns a reputation as the greatest Thompson gunner, a reputation that attracts the attention of the CIA."
21:43:03 <Phantom_Hoover> See!
21:44:06 <Phantom_Hoover> Although I never knew that he was Norwegian.
21:44:06 <oerjan> how very unrealistic. oh wait http://en.wikipedia.org/wiki/Joshua_French_and_Tjostolv_Moland
21:44:13 -!- Tritonio_GR has joined.
21:44:16 -!- myndzi\ has changed nick to myndzi.
21:44:27 <Phantom_Hoover> \o\
21:44:28 <myndzi> |
21:44:28 <myndzi> >\
21:44:58 <pineapple> ...
21:45:13 <Phantom_Hoover> /o\
21:45:13 <myndzi> |
21:45:13 <myndzi> |\
21:45:19 -!- cal153 has quit (Read error: Connection reset by peer).
21:45:20 <Phantom_Hoover> I will never tire of it.
21:45:28 <myndzi> ,_o__, ,__o_, ,_o__,
21:45:29 <myndzi> | | |
21:45:29 <myndzi> /`\ /| /<
21:46:03 <myndzi> response varies by channel, lol
21:46:09 <myndzi> some people ... tire of it very quickly :>
21:46:26 -!- Tritonio_GR1 has quit (Ping timeout: 248 seconds).
21:46:37 <pikhq> It doesn't come up much in here, so it doesn't get too annoying. :P
21:46:59 <Phantom_Hoover> _o_
21:46:59 <myndzi> |
21:46:59 <myndzi> |\
21:47:11 <Phantom_Hoover> Is that ever going to be fixed?
21:48:36 <oerjan> fix what?
21:48:49 <AnMaster> no because his client doesn't right-align nicks
21:48:59 <Phantom_Hoover> Ah.
21:49:09 <AnMaster> myndzi, it is rather annoying to people not using clients that do left ragged text
21:49:14 -!- Phantom_Hoover has changed nick to PH.
21:49:21 <PH> \o/
21:49:32 <PH> /o/
21:49:47 <ais523> well, it has no hope of working for me, as I IRC in a proportional font
21:49:48 <AnMaster> myndzi, mine right aligns the nicks up to the separator, then left aligns the text to the separator on the other side
21:49:49 <ais523> (shocking I know)
21:49:57 <AnMaster> myndzi, so it looks really bad from here
21:49:59 <oerjan> ais523: heretic!
21:50:26 <AnMaster> ais523, okay, ehird. Nice try pretending to be ais523. But the game is over now.
21:50:32 -!- PH has changed nick to Phantom_Hoover.
21:50:47 <ais523> AnMaster: why would you expect ehird but not me to do that?
21:51:12 <AnMaster> ais523, should be quite obvious. He is a font manic.
21:51:23 <ais523> hmm, obviously he'll have ignored me based on that inference and won't hear this
21:51:26 <ais523> even though it's wrong
21:51:29 <pikhq> He is a bit of a typography nut.
21:51:36 <Phantom_Hoover> A *bit*?
21:51:37 <AnMaster> heh
21:51:39 <AnMaster> ais523, nice try
21:51:56 <AnMaster> ais523, also /nickserv help output must look horrible to you
21:52:03 <AnMaster> since it space align two columns
21:52:09 <pikhq> Phantom_Hoover: In casual English usage, "a bit" can mean "quite exceptionally". Weird but true.
21:52:12 <ais523> nah, there's enough spaces to see the columns
21:53:50 <oerjan> this column is not big enough for the both of us
21:54:19 -!- MigoMipo has quit (Remote host closed the connection).
21:54:24 <ais523> oerjan: I don't get the pun
21:54:33 <ais523> as in, I get the reference but not the non-pun context of the sentence
21:54:50 <oerjan> am i not allowed to do absurdist humor now
21:55:03 <ais523> you are, it just needs to be slightly easier to get than that
21:55:16 <Phantom_Hoover> It's a reference.
21:55:19 <Phantom_Hoover> QED.
21:55:21 <oerjan> but if it was easier to get it would be your mom
21:55:34 <AnMaster> ais523, wouldn't look aligned however
21:56:27 * AnMaster hits Phantom_Hoover with a stunned seagull reference
21:56:30 <AnMaster> now, get that one ;P
21:56:40 <AnMaster> and no helping him
21:56:42 * oerjan wasn't planning that punchline when he started the sentence
21:56:46 <AnMaster> (I know I used it before in this channel)
21:57:01 <AnMaster> oerjan, which punchline?
21:57:27 <oerjan> your mom
21:57:33 <AnMaster> oh hah
22:01:09 -!- pikhq_ has joined.
22:03:24 -!- pikhq has quit (Ping timeout: 264 seconds).
22:18:06 <AnMaster> fizzie, test of prototype lego panoramic head, using the mobile phone (a lot easier to mount than my "real" camera: http://omploader.org/vNGgydw (note: progressive jpeg)
22:18:11 <AnMaster> and yes the image is quite grainy
22:18:37 <AnMaster> but the dual jpeg compression (once from camera, then once from converting the tiff hugin output)
22:18:40 <AnMaster> made it worse
22:22:15 * Phantom_Hoover finally got XOR working!
22:26:45 * pikhq_ xors you
22:27:31 <Phantom_Hoover> So much pain because of a logistic function...
22:28:07 <Phantom_Hoover> I have an object called *XORN*.
22:28:23 <Phantom_Hoover> It does not, however, walk through walls.
22:29:53 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:31:11 <Phantom_Hoover> _o_
22:31:11 <myndzi> |
22:31:11 <myndzi> /\
22:31:20 <Phantom_Hoover> _o_ _o_ _o_
22:31:21 <myndzi> | | |
22:31:21 <myndzi> /`\ >\ >\
22:32:03 <AnMaster> hah the last one was aligned for me
22:32:19 <AnMaster> the last one to the first one I mean in the line "<Phantom_Hoover> _o_ _o_ _o_"
22:32:32 <AnMaster> also myndzi's script is broken now
22:32:39 <AnMaster> since it didn't add anything under my line
22:32:43 <Phantom_Hoover> I assume you're on XChat too, then?
22:32:44 <AnMaster> _o_
22:32:44 <myndzi> |
22:32:44 <myndzi> /|
22:32:49 <AnMaster> Phantom_Hoover, ERC
22:33:08 <Phantom_Hoover> Is there anything Emacs can't do?
22:33:13 <Phantom_Hoover> Hold on...
22:33:16 <AnMaster> myndzi, do you have very very short line length or why wasn't anything added to "<AnMaster> the last one to the first one I mean in the line "<Phantom_Hoover> _o_ _o_ _o_"" ?
22:33:40 <AnMaster> Phantom_Hoover, um yes. It can't synthesise for FPGAs
22:33:41 <AnMaster> afaik
22:34:09 <Phantom_Hoover> AFAYK.
22:34:10 <oerjan> AnMaster: well it wrapped in irssi (80 chars)
22:34:12 <AnMaster> Phantom_Hoover, also it is event based and single threaded, doesn't do any sort of cooperative or preemptive multitasking
22:34:22 <AnMaster> oerjan, 80 chars only?
22:34:29 <AnMaster> it only went like 2/3 of my screen
22:34:44 <oerjan> AnMaster: that is sort of the old standard
22:36:00 -!- Phantom_Hoover has quit (Disconnected by services).
22:36:07 -!- Phantom_Hoover` has joined.
22:36:21 <Phantom_Hoover`> ERC is UGLY.
22:36:26 <AnMaster> oerjan, yes, But no one uses that any more
22:36:28 -!- Phantom_Hoover has joined.
22:36:41 <AnMaster> Phantom_Hoover`, ugly? Next time you will call twm ugly or something equally silly!
22:36:51 <Phantom_Hoover> TWM is cool.
22:37:04 <pikhq_> AnMaster: TWM is only ugly by default.
22:37:04 <Phantom_Hoover`> Especially on a Mac.
22:37:14 <pikhq_> With some color changes it seems much less so.
22:37:16 <AnMaster> Phantom_Hoover`, XD
22:37:21 <oerjan> AnMaster: i like to have room for irc + another small window side by side
22:37:31 -!- Phantom_Hoover` has quit (Client Quit).
22:37:33 <pikhq_> Though it's still only barely *usable*, it's still not bad for 30-year-old software.
22:37:35 <AnMaster> oerjan, same, I have browser and irc client side by side
22:37:38 <oerjan> and i also like a big font
22:37:40 <AnMaster> and terminal below both
22:37:45 <AnMaster> well
22:37:49 <AnMaster> different terminal that is
22:37:53 <AnMaster> I don't run emacs in X mode
22:37:54 <oerjan> and a small monitor
22:37:55 <AnMaster> *shudder*
22:37:56 <pikhq_> I've got my terminal open full-screen.
22:38:01 <AnMaster> Phantom_Hoover`, anyway, I use heavily customised ERC settings
22:38:10 <AnMaster> the default alignment is wtf
22:38:15 <Phantom_Hoover> It is immaterial.
22:38:16 <oerjan> (um well i don't _like_ a small monitor as such, i have one, this is a laptop)
22:38:29 <Phantom_Hoover> Because of you people, I have forgotten what I was doing.
22:38:33 <AnMaster> oerjan, oh well on my laptop I wouldn't use a setup like this
22:38:44 <oerjan> Phantom_Hoover: something ERC
22:38:47 <AnMaster> anyway I want to get a dual head setup next time for my desktop
22:39:00 <AnMaster> oerjan, was that a pun?
22:39:05 <AnMaster> it was very bad in that case
22:40:41 <oerjan> no
22:41:09 <oerjan> just the top Phantom_Hoover message on my screen
22:41:20 <oerjan> or so
22:41:52 <AnMaster> <Phantom_Hoover> _o_
22:41:52 <myndzi> |
22:41:52 <myndzi> /|
22:41:55 <AnMaster> is the top one for me
22:41:57 <AnMaster> or was rather
22:42:04 <AnMaster> now <myndzi> /`\ >\ >\ is the top one
22:42:15 <AnMaster> (and after I said this line, two lines below it)
22:42:24 <AnMaster> oerjan, ^ (3 lines below it now)
22:42:37 <oerjan> you people and your tiny fonts and huge monitors
22:42:39 <AnMaster> oerjan, you have a short scrollback
22:42:57 <oerjan> AnMaster: my scrollback is fine, i'm talking about actual visible text
22:43:00 <AnMaster> oerjan, tiny? it is "Dejavu Sans Mono 9"
22:43:16 <AnMaster> oerjan, well I meant visible scrollback without scrolling indeed ;P
22:43:57 <oerjan> Courier New, 10 point it says
22:44:35 <oerjan> 46 rows and 80 columns
22:45:48 <AnMaster> unsure about dimensions
22:53:22 * Phantom_Hoover is scared of curve integrals.
22:53:59 <oerjan> BOO!
22:54:14 * oerjan knew those once
22:54:26 <Phantom_Hoover> I have no idea what they even do.
22:54:56 <oerjan> well for one thing you can calculate lengths of curves with them iirc
22:54:59 * pikhq_ shudders
22:57:51 <Phantom_Hoover> I am scared of all mathematical things I don't understand.
22:57:58 <Phantom_Hoover> It's just one of those things.
22:58:29 <pikhq_> Phantom_Hoover: They're not *scary*, they're just more complex than your ordinary integral.
22:59:11 <Phantom_Hoover> As soon as you explain them I won't be scared. As it was with sigmas.
23:02:23 -!- Tritonio_GR1 has joined.
23:03:08 -!- Tritonio_GR has quit (Ping timeout: 240 seconds).
23:11:19 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
23:15:28 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer).
23:23:06 <AnMaster> <pikhq_> Phantom_Hoover: They're not *scary*, they're just more complex than your ordinary integral. <-- s/more/even more/
23:23:24 -!- tombom has quit (Quit: Leaving).
23:25:39 <AnMaster> idea: befunge with branch delay slots
23:25:44 <AnMaster> as a fingerprint perhaps
23:25:48 <AnMaster> Deewiant, what do you think?
23:29:23 -!- maedhros777 has joined.
23:29:49 <maedhros777> What exactly is Turing-completeness?
23:31:01 <AnMaster> maedhros777, something that is equivalent to an Universal Turing Machine
23:31:03 <pikhq_> Turing-completeness means, in a very technical sense, being computationally equivalent to a Turing machine.
23:31:09 <pikhq_> Erm. A Universal ...
23:31:14 <maedhros777> What's a Turing machine?
23:31:22 <pikhq_> In a more practical sense, it means that it can compute anything that can be computed.
23:31:28 <maedhros777> Sweet
23:31:41 <maedhros777> I was wondering because it was a category on the Wiki
23:31:47 <oerjan> universal, or all. the very definition of a universal turing machine is that it can itself emulate all the others
23:31:54 <maedhros777> How do you prove that something is Turing-complete?
23:32:22 <oerjan> maedhros777: by emulating something already known to be TC with it
23:32:48 <maedhros777> But how do you know that the original thing is Turing-complete?
23:32:57 <maedhros777> I think BF is used like that
23:33:03 <oerjan> (technically you should also prove that the something can be emulated by something TC)
23:33:10 <maedhros777> So how do you prove that BF is Turing-complete?
23:33:25 <oerjan> maedhros777: the buck stops at turing machines
23:33:36 -!- Tritonio_GR has joined.
23:33:36 <maedhros777> :)
23:33:38 <oerjan> all the others must emulate those, directly or indirectly
23:33:45 <pikhq_> oerjan: Wasn't there a proof that Turing machines can compute anything, though?
23:34:15 <oerjan> pikhq_: that's the church-turing thesis and it isn't a proof, but a hypothesis
23:34:28 <pikhq_> Oh, okay then.
23:35:01 <AnMaster> oerjan, anyone tried to prove it?
23:35:05 <pikhq_> So it's hypothetically possible that there is something that's both computable and not computable on a UTM.
23:35:25 <maedhros777> What is the exact definition of a Turing machine, then?
23:36:29 <oerjan> yes, but it would take a very unusual way of computing, that no one so far knows about
23:36:36 <pikhq_> Yes.
23:37:06 <oerjan> maedhros777: you have a tape, which is conceptually infinite, or at least can be extended as much as you like in at least one direction
23:37:33 <maedhros777> Are there instructions on the tape or something?
23:38:02 <oerjan> no, data, in some alphabet (which is more or less arbitrary - anything with at least 2 letters can emulate each other)
23:38:17 -!- sshc has joined.
23:38:27 <AnMaster> oerjan, don't forget the state of the heat
23:38:29 <AnMaster> head*
23:38:38 <AnMaster> which moves over the tape iirc
23:38:43 <maedhros777> So it's a theoretical machine in which a command is given by an infinite number of intructions?
23:38:47 <AnMaster> or was it the tape moving under the head
23:38:52 <AnMaster> maedhros777, no
23:38:53 <oerjan> maedhros777: no
23:38:59 <AnMaster> maedhros777, it is data, not instructions
23:39:08 <AnMaster> but oerjan is a slow typer
23:39:13 <AnMaster> and I don't remember the exact details
23:39:16 <oerjan> *sheesh*
23:39:28 <oerjan> well _one_ of us should shut up
23:39:30 <AnMaster> ;P
23:39:32 <maedhros777> How does the machine work if all it contains is data?
23:39:49 <oerjan> maedhros777: that's the tape. the machine also has a head, which moves along the tape
23:39:55 <AnMaster> maedhros777, please wait for oerjan to finish typing that. It will take a bit
23:40:10 <maedhros777> Like this? http://upload.wikimedia.org/wikipedia/commons/3/3d/Maquina.png
23:40:20 -!- Tritonio_GR1 has joined.
23:40:25 <oerjan> that head is governed by instructions, in the form of a lookup table
23:40:53 <oerjan> maedhros777: something like that
23:41:07 <oerjan> the head has a state, from a finite set of states
23:41:22 <AnMaster> <maedhros777> Like this? http://upload.wikimedia.org/wikipedia/commons/3/3d/Maquina.png <-- what is that supposed to be?
23:41:29 <maedhros777> http://en.wikipedia.org/wiki/Turing_machine#Formal_definition
23:41:40 <oerjan> and the lookup table says, given the state of the head, and the symbol on the tape in the current position:
23:41:41 <AnMaster> oh it is supposed to be a turing machine?
23:41:46 <maedhros777> Yep :)
23:42:04 <AnMaster> maedhros777, looked more like a sci-fi filing system gone spare
23:42:09 <maedhros777> =D
23:42:27 -!- Tritonio_GR has quit (Ping timeout: 240 seconds).
23:42:27 <oerjan> maedhros777: well ok that's the mathematical definition, i'm going for a little more intuitive explanation here
23:42:30 <maedhros777> So where does the notion that a Turing machine can compute anything come from?
23:42:43 -!- ws has quit (Quit: ...).
23:42:48 <pikhq_> Turing said so.
23:42:53 <pikhq_> Church also said so.
23:43:07 <maedhros777> Did they have proof?
23:43:13 <pikhq_> (well, Church said that lambda calculus can. And lambda calculus and a UTM are equivalent)
23:43:19 <AnMaster> maedhros777, no, it is a conjecture, and no one found a counter example yet
23:43:26 <maedhros777> Ok, then
23:43:37 <maedhros777> I guess it would be pretty hard to disprove
23:43:41 <maedhros777> So it's probably right
23:43:42 <pikhq_> maedhros777: Most people just use the UTM as the definition of computability. :)
23:44:11 <maedhros777> How could a language not be Turing-complete?
23:44:14 <oerjan> maedhros777: also it's not that it can compute _everything_, but that it can compute everything that we have a physically plausible way of computing at all
23:44:27 <pikhq_> maedhros777: Trivially.
23:44:38 <maedhros777> Could you give an example please?
23:44:42 <pikhq_> Not having things like conditionals, having finite memory,
23:44:49 <pikhq_> maedhros777: Brainfuck without loops.
23:44:52 -!- CakeProphet has quit (Ping timeout: 240 seconds).
23:44:59 <oerjan> maedhros777: finite memory is a big hint
23:45:22 <maedhros777> Why wouldn't it be Turing-complete if it didn't have loops?
23:45:41 <pikhq_> Because then it couldn't do anything conditionally ever.
23:45:58 <maedhros777> I guess
23:46:17 <pikhq_> Which is necessary to implement a Turing machine.
23:46:28 <maedhros777> I've been wondering though, how are conditional expressions actually implemented?
23:46:34 <maedhros777> Like in binary.
23:46:39 <pikhq_> In what language?
23:46:48 <pikhq_> "binary" is not a language.
23:46:53 <maedhros777> C to assembly to binary, e.g.
23:47:06 <maedhros777> I mean like assembly or machine-dependent binary
23:47:07 <pikhq_> Well, it is in a formal sense, but that's beside the point.
23:47:18 <pikhq_> maedhros777: So, C to $machine assembly to $machine binary
23:47:26 <maedhros777> Yep
23:47:32 <pikhq_> Depends on the machine, but it's most *commonly* a conditional jump.
23:47:47 <oerjan> maedhros777: another way of showing it is through the famous halting problem. a turing machine cannot decide whether another turing machine (encoded as data) will halt, turing proved this. so if a turing machine _can_ decide whether your computational model halts, then your model cannot be turing complete, essentially
23:47:57 <pikhq_> For instance, x86 has "je foo", where it jumps to foo if the previous comparison was true.
23:48:16 <AnMaster> pikhq_, also cmov
23:48:17 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer).
23:48:27 <pikhq_> AnMaster: Ah, yes, it does have that.
23:48:45 <pikhq_> And, obviously, if you have no loops, your computational model always halts.
23:48:47 <AnMaster> also various other conditional jumps
23:48:48 -!- Oranjer has joined.
23:48:52 <AnMaster> like jne iirc
23:48:54 <AnMaster> and what not
23:49:01 <pikhq_> AnMaster: That was just an example of a conditional jump.
23:49:05 <AnMaster> yep
23:49:15 <pikhq_> x86, being x86, is loaded with them.
23:49:19 <pikhq_> And everything else.
23:49:24 <pikhq_> Except for registers.
23:49:25 <AnMaster> pikhq_, not registers though
23:49:26 <AnMaster> yeah
23:49:31 <AnMaster> you beat me to it
23:49:46 <maedhros777> How would you, in general, prove that something is Turing-complete then?
23:49:59 <maedhros777> Only I can see would be by conjecture
23:50:05 <AnMaster> maedhros777, by implementing something known to be turing-complete in it.
23:50:28 <AnMaster> maedhros777, no, turing completeness isn't a conjecture. What is a conjecture is that there is nothing beyond it that is computable
23:50:34 <pikhq_> maedhros777: You demonstrate that it's computationally equivalent to something that is Turing-complete.
23:50:50 <maedhros777> But that's endlessly recursive -- how would you prove that the thing that you're basing the Turing-completeness off of to be Turing-complete?
23:50:53 <AnMaster> maedhros777, sure you can make up stuff beyond it, but it will be impossible to implement it, well that is the conjecture
23:51:06 <pikhq_> This can be done by *implementing* something that is Turing-complete and implementing in something that *is* Turing-complete.
23:51:22 <AnMaster> maedhros777, it all falls back on the UTM at the base. The conjecture is that the UTM is as far as you can go
23:51:31 <maedhros777> I guess
23:51:35 <oerjan> maedhros777: in _principle_ you prove something turing-complete by showing that you can implement all turing machines with it
23:51:37 <pikhq_> maedhros777: If nothing else, you can show equivalence with the UTM.
23:51:42 <AnMaster> maedhros777, so there is a base case the recursion of proving it equivalent to an UTM
23:51:55 <maedhros777> How would it be shown that BF is computationally equivalent to the UTM?
23:51:58 <AnMaster> it is just that we don't know for sure if there is anything beyond it
23:51:59 <pikhq_> As Turing-completeness means "equivalent to a UTM"
23:52:01 <oerjan> but in _practice_, you may use any of the other models that have already been proved to be able to do so
23:52:29 <AnMaster> maedhros777, implement an UTM in it. Or lambda calculus or anything else that wasn't proven TC by using brainfuck
23:52:41 <oerjan> (the UTM itself being one of the first such simpler models)
23:53:03 <AnMaster> oerjan, wait what?
23:53:37 <AnMaster> oerjan, elaborate
23:53:38 <pikhq_> AnMaster: The Universal Turing Machine is the Turing machine capable of implementing all other Turing machines.
23:53:46 <AnMaster> pikhq_, oh right
23:53:55 <oerjan> yeah
23:54:00 <pikhq_> maedhros777: BF-without-IO is equivalent to P'' with a simple isomorphism. (I don't recall what this is, but that's irrelevant for discussion) And P'', in some old paper, was shown to be equivalent to a UTM.
23:54:11 <AnMaster> oerjan, you need to increase your typing speed ;P
23:54:21 <maedhros777> Hm, let me check the wiki to see how it's Turing-complete
23:54:27 <pikhq_> (this paper is most notable for being the first to show a structured programming language as being Turing-complete)
23:54:34 <maedhros777> Ooh, good: http://esoteric.voxelperfect.net/wiki/Brainfuck#Computational_class
23:54:39 <AnMaster> maedhros777, pikhq_ just told you
23:54:43 <oerjan> AnMaster: that would make my hands hurt unreasonably much, i'm afraid
23:55:13 <oerjan> also who says i'm _thinking_ any faster :D
23:55:36 <pikhq_> (I shall note that, as IO capabilities have nothing to do with computability, any language-without-IO is *computationally* equivalent to the same language *with* IO)
23:55:39 <oerjan> also i _read_ slowly, too
23:55:46 <AnMaster> oerjan, ;O
23:55:47 <AnMaster> ;P*
23:56:10 <AnMaster> yep, that is one thing that can be confusing at first
23:56:30 <AnMaster> didn't someone invent "bf-complete" for describing "TC + byte STDIO"?
23:56:34 <oerjan> pikhq_: well that's a _bit_ simplified, you need some way to get initial data and give final data, even if you don't call it IO
23:56:40 <pikhq_> AnMaster: Probably.
23:56:52 <oerjan> AnMaster: something like that
23:56:55 <AnMaster> oerjan, appended at the end of the program is popular iirc?
23:58:00 <pikhq_> Esolangs tend to be BF-complete. What with stdio being the easiest kind to do, and making it so that it's at least *somewhat* useful.
23:58:19 <AnMaster> yep
23:58:26 <maedhros777> Are most commonly used languages Turing-complete?
23:58:35 <oerjan> AnMaster: that assumes there is a concept of adding things to the end of the program
23:58:48 <pikhq_> maedhros777: Yes.
23:58:52 <oerjan> maedhros777: if you ignore the thorny issue of finite memory, yes
23:58:55 <AnMaster> maedhros777, C is not. since it can not have infinite memory due to the spec requiring sizeof(void*) being finite
23:59:03 <maedhros777> True
23:59:13 <pikhq_> C++, amusingly, *is* Turing complete.
23:59:15 <AnMaster> maedhros777, and it also requires all objects to be addressable
23:59:24 <maedhros777> How is C++ actually Turing-complete?
23:59:26 <AnMaster> pikhq_, oh only through templates iirc?
23:59:31 <pikhq_> AnMaster: Yes.
23:59:33 <maedhros777> Oh
23:59:37 <AnMaster> maedhros777, because iirc C++ *templates* are TC at compile time
23:59:41 <pikhq_> maedhros777: C++'s template system is equivalent to the lambda calculus.
23:59:46 <AnMaster> maedhros777, I seen factorial in C++ templates
23:59:52 <maedhros777> I hadn't thought of that
23:59:53 <AnMaster> no one said it was sane
2010-06-02
00:00:06 <pikhq_> It's a complete accident that this is so, in fact.
00:00:07 <oerjan> maedhros777: btw possibly the simplest TC model on the wiki is BCT, it's almost ridiculously simple
00:00:34 <AnMaster> pikhq_, saying it is "equivalent to the lambda calculus" would also mean it is equivalent to bf
00:00:39 <AnMaster> well wait
00:00:41 <AnMaster> no byte IO
00:00:42 <AnMaster> so no
00:00:48 <oerjan> if you find brainfuck too hard to implement, that's a good alternative candidate
00:00:48 <AnMaster> but equivalent to P''
00:00:49 <AnMaster> at least
00:00:56 <oerjan> also combinatory logic
00:01:06 <pikhq_> AnMaster: It's equivalent to the lambda calculus with a trivial isomorphism.
00:01:16 <AnMaster> oerjan, what about the 2,3 thingy ais523 proved TC by using BCT?
00:01:25 <AnMaster> isn't it very simple too?
00:01:33 <AnMaster> pikhq_, ah
00:01:49 <oerjan> AnMaster: yes but that has the _extremely_ thorny issue of infinite setup and no halting concept
00:01:49 <AnMaster> pikhq_, what makes an isomorphism trivial btw?
00:01:59 <pikhq_> AnMaster: About on par with sed.
00:02:02 <oerjan> which makes it very hard to use for esolangs, i think
00:02:04 <pikhq_> Oh, wait.
00:02:08 <ais523> AnMaster: BCT is simpler
00:02:08 <pikhq_> Sed is TC. Never mind.
00:02:09 <pikhq_> :P
00:02:10 <ais523> that's why I used it
00:02:14 <ais523> well, cyclic tag in general
00:02:17 <ais523> BCT's just a notation for it
00:02:24 <pikhq_> AnMaster: A bunch of s/// statements manage the compilation.
00:02:41 <AnMaster> pikhq_, as the general intelligence increase (but not IQ!), wouldn't the level of "trivial" change?
00:02:58 <pikhq_> That's not what trivial means. :)
00:02:59 <AnMaster> say, 20 million years from now
00:03:07 <AnMaster> other things would be considered trivial
00:03:25 <oerjan> pikhq_: /// statements are TC too ;D
00:03:40 <pikhq_> oerjan: *Gah* string rewriting. Right.
00:03:45 <AnMaster> oerjan, not sed s/// I think
00:03:48 <AnMaster> since it isn't recursive
00:03:50 -!- CakeProphet has joined.
00:03:50 <AnMaster> like /// is
00:03:59 <oerjan> possibly
00:04:11 <AnMaster> oerjan, didn't you prove /// TC using BCT?
00:04:16 <oerjan> AnMaster: yes
00:04:23 <AnMaster> oerjan, also, how was BCT proved TC?
00:04:29 <pikhq_> Hmm. String rewriting makes it so that Tcl is Turing-complete even without any commands defined.
00:04:32 <pikhq_> How amusing.
00:04:40 <oerjan> AnMaster: i don't recall
00:04:42 <AnMaster> pikhq_, really? heh
00:05:25 <AnMaster> pikhq_, write a formal proof of it
00:05:31 <pikhq_> Never!
00:05:35 <AnMaster> ais523, is INTERCAL TC?
00:05:37 <AnMaster> pikhq_, oh?
00:05:49 <pikhq_> I don't want to wrangle the dodecalogue into TC-ness. :(
00:05:54 <ais523> AnMaster: easily
00:05:56 <AnMaster> pikhq_, the what?
00:06:02 <AnMaster> ais523, doesn't it have limited state?
00:06:10 <pikhq_> The 12 rules that describe all of Tcl's syntax and semantics.
00:06:13 <ais523> no, it has loads of unbounded stack
00:06:15 <ais523> *stacks
00:06:18 <ais523> and you only need 2
00:06:19 <AnMaster> pikhq_, meh
00:06:25 <pikhq_> (aside from the normally-provided commands)
00:06:34 <oerjan> AnMaster: each variable has a RESTORE [iirc] stack
00:06:34 <AnMaster> ais523, ah, but what about INTERCAL-72?
00:06:56 <ais523> even INTERCAL-72
00:06:59 <ais523> oerjan: you mean STASH stack
00:06:59 <AnMaster> ah I see
00:07:05 <oerjan> ais523: right
00:07:11 -!- Tritonio_GR has joined.
00:07:12 <ais523> STASH/RETRIEVE
00:07:16 <ais523> normally just called "a stash"
00:07:31 <AnMaster> ais523, btw alise wrote what was probably a J/INTERCAL polygot recently
00:07:48 <ais523> wow, what a random language combo
00:07:52 <AnMaster> ais523, should check logs to see if it works from the intercal side
00:08:09 <AnMaster> ais523, no it wasn't. It was that J comments are: NB.
00:08:16 <AnMaster> that is NB period, not just NB
00:08:20 <ais523> I mean, thinking of that combo
00:08:31 <AnMaster> ais523, and I commented on "DO NOT NOTA BENE" or such
00:08:32 <ais523> you'd have to start DO or PLEASE to stop the INTERCAL erroring out immediately, though
00:08:33 -!- sshc has quit (Quit: leaving).
00:08:36 <AnMaster> and one thing led to another
00:09:02 <ais523> ah
00:09:08 <AnMaster> ais523, yes the first line defines DO NOT to be a NOP from the J side iirc
00:09:29 <AnMaster> ais523, and then you basically do: DO NOT NB. PLEASE intercal code
00:09:38 <AnMaster> ais523, or similar
00:10:03 * oerjan kept nagging about NB. PLEASE intercal DO NOT being simpler
00:10:11 <AnMaster> ais523, and DO NOT <real j code> NB. PLEASE ... of course
00:10:12 * pikhq_ wishes you could just do "DO NOT PLEASE" and screw up the politeness
00:10:32 <AnMaster> oerjan, but that doesn't work?
00:10:46 <oerjan> AnMaster: it should
00:10:57 <AnMaster> oerjan, how is NB. hidden from INTERCAL?
00:10:59 <oerjan> but somehow alise thought it ugly
00:11:13 <oerjan> AnMaster: by the DO NOT at the end of the previous line
00:11:14 <ais523> AnMaster: by the DO NOT on the previous line
00:11:31 <AnMaster> ah
00:11:32 <AnMaster> right
00:11:39 <AnMaster> oerjan, doesn't work for first line though
00:12:09 <oerjan> AnMaster: indeed but it starts DO NOT anyway, so it just needs to be a J almost-nop
00:12:26 <AnMaster> right
00:12:41 <AnMaster> also mouse pointer went spare for a bit
00:12:59 <AnMaster> shuddering in a circle of about 10 pixels
00:13:24 <oerjan> AnMaster: probably an LHC black hole passing by
00:13:34 <AnMaster> oerjan, XD
00:13:45 <AnMaster> oerjan, it happened a few times before LHC anyway
00:13:58 <AnMaster> but yeah time travel involved clearly
00:14:12 <maedhros777> http://en.wikipedia.org/wiki/P_prime_prime
00:14:15 <AnMaster> oerjan, anyway, I think it is due to some resolution issue on the surface
00:14:16 <maedhros777> How does r ≡ λR work?
00:14:20 <oerjan> sure, everyone knows the LHC particles time travel
00:14:28 <maedhros777> In relation to BF
00:15:00 <AnMaster> eh?
00:15:07 <maedhros777> http://en.wikipedia.org/wiki/P_prime_prime#Relation_to_other_programming_languages
00:15:28 <AnMaster> hm
00:16:08 <maedhros777> Wouldn't that just set the tape cell to the cell at its right?
00:16:31 <AnMaster> I don't know P'', so couldn't say
00:16:44 <oerjan> maedhros777: r is equivalent to +
00:16:59 <AnMaster> "# R means move the tape-head rightward one cell (if any).
00:16:59 <AnMaster> # λ means replace the current symbol ai by ai+1 (taking an+1 = a0), and then move the tape-head leftward one cell."
00:17:11 <maedhros777> But how would it work?
00:17:24 <AnMaster> maedhros777, that looks like it does >+<
00:17:30 <maedhros777> Yeah
00:17:34 <maedhros777> That's what I thought
00:17:41 <maedhros777> Oh :)
00:17:43 <AnMaster> maedhros777, so do <>+<
00:17:43 <oerjan> no, +<>
00:17:48 <AnMaster> oerjan, oh right
00:18:16 <AnMaster> oerjan, hm so bf is an optimisation kind of XD
00:18:33 <AnMaster> I could never have thought bf was optimised compared to anything
00:19:04 <maedhros777> Wouldn't it be >[-<+>]> or something?
00:19:14 <maedhros777> Disregarding that the next cell would become 0
00:19:35 -!- coppro has joined.
00:19:39 <AnMaster> hm?
00:19:40 <oerjan> maedhros777: huh?
00:19:43 <AnMaster> maedhros777, no oerjan is right
00:20:03 <maedhros777> Wait...is ai+1 to the right or left?
00:20:19 <oerjan> maedhros777: it's the _value_ not the position
00:20:20 <AnMaster> maedhros777, no ai + is current value incremented
00:20:32 <AnMaster> s/+ //
00:21:01 <AnMaster> s/incremented//
00:21:03 <maedhros777> oerjan: But then you're just copying the value of the cell to the right to the current value, right?
00:21:11 <AnMaster> maedhros777, nop, to same
00:21:21 <maedhros777> ?
00:21:23 <oerjan> maedhros777: no, it's an increment at the current spot
00:21:29 <maedhros777> OHH
00:21:32 <maedhros777> I get it now :)
00:21:34 <AnMaster> maedhros777, to move is *after*
00:21:36 <AnMaster> the*
00:22:01 <maedhros777> Why is it ai+1 instead of (ai) + 1?
00:22:01 <AnMaster> yes it is a stupid instruction set in part :)
00:22:16 <AnMaster> maedhros777, why would you need to put out () there?
00:22:26 <coppro> because multiplication binds tighter than addition?
00:22:31 <oerjan> maedhros777: for some reason the symbols are called a_i rather than simply the number i
00:22:31 <maedhros777> Because isn't ai+1 the next cell?
00:23:20 <maedhros777> That's a weird notation
00:23:22 <oerjan> a_0 corresponds to the BF cell value 0, and says nothing about where it is
00:23:34 <AnMaster> oerjan, wait it is a_{i+1} as written on wikipedia
00:23:39 <AnMaster> which is somewhat strange
00:24:12 <oerjan> maedhros777: i suppose it's to make it mathematically general by not saying _what_ symbols you use, just their order
00:24:24 <maedhros777> Ok
00:24:26 <AnMaster> oerjan, see what I said, error on wikipedia?
00:24:32 <oerjan> link?
00:24:37 <maedhros777> So would r` work by wrapping?
00:24:38 -!- relet has quit (Quit: Leaving.).
00:24:43 <oerjan> oh wait
00:24:43 <AnMaster> oerjan, http://en.wikipedia.org/wiki/P_prime_prime section " Semantics"
00:24:57 <maedhros777> Oops, I meant r' not r`
00:25:41 <oerjan> AnMaster: the i+1 is an _index_. (a_i)_{i=0}^n is the sequence of symbols in the alphabet
00:26:12 <AnMaster> oerjan, yes and it being i+1 as an index makes no sense
00:26:21 <AnMaster> oerjan, oh wait
00:26:27 <AnMaster> rihht
00:26:29 <AnMaster> right*
00:26:34 <AnMaster> it is in the alphabet
00:26:35 <AnMaster> I see
00:26:40 <maedhros777> Anyone know where the proof of P'' being Turing-complete is?
00:26:46 <maedhros777> I don't see it
00:26:56 <AnMaster> 1. ^ Böhm, C.: "On a family of Turing machines and the related programming language", ICC Bull. 3, 185-194, July 1964.
00:26:56 <AnMaster> 2. ^ Böhm, C. and Jacopini, G.: "Flow diagrams, Turing machines and languages with only two formation rules", CACM 9(5), 1966. (Note: This is the most-cited paper on the structured program theorem.)
00:27:02 <AnMaster> maedhros777, in one of those I presume
00:27:09 <maedhros777> I don't have those books, though :)
00:27:13 <AnMaster> maedhros777, nor do I
00:27:18 <maedhros777> Or are they essays?
00:27:31 <AnMaster> maedhros777, more likely articles than essays
00:27:37 <maedhros777> Yeah, probably
00:27:45 <maedhros777> I'm gonna google them
00:27:50 <AnMaster> maedhros777, good luck
00:28:09 <AnMaster> maedhros777, anyway, there is an UTM implemented directly in bf listed on the bf page on the esolang wiki
00:28:16 <AnMaster> alternative proof
00:28:23 <maedhros777> Ok, I'll take a look
00:29:15 <maedhros777> Got it: http://docs.google.com/viewer?a=v&q=cache:jsfWzj9RLwAJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.119.9119%26rep%3Drep1%26type%3Dpdf+Flow+diagrams,+Turing+machines+and+languages+with+only+two+formation+rules&hl=en&gl=us&pid=bl&srcid=ADGEESgh-bW5YldU2et4NaS9D0lJItEyRaiYO2N5lNEBi9jrYGjSm2xWqsjO48SCwjSFCQ52xGIp2ECu4jibe1UUwtPfd_DM_8XifhqQF4gLyrA58n62qOCiHwEHf963QyoVTFqjKCHS&sig=AHIEtbQNMV_kqHzz6ouESSojX5BgCg6aPg
00:29:20 <maedhros777> Big URL :)
00:29:35 <oerjan> maedhros777: there seem to be no copies on Böhm's home page, so ... oh citeseer
00:29:39 <maedhros777> Lots of lambda calculus though
00:29:58 -!- Tritonio_GR1 has joined.
00:29:59 <maedhros777> Maybe I'll just look at the BF UTM implementation
00:30:00 -!- Tritonio_GR has quit (Ping timeout: 258 seconds).
00:30:23 <oerjan> maedhros777: BF is P'' prettified anyhow
00:31:11 <oerjan> i might even suspect Böhm constructed something more like BF first, and then made P'' by minimizing the symbols
00:31:31 <maedhros777> Maybe
00:31:37 <oerjan> (well wikipedia almost implies as much)
00:32:58 <oerjan> maedhros777: also yeah r' wraps
00:33:19 -!- FireFly has quit (Quit: swatted to death).
00:34:02 <maedhros777> oerjan: Ok thanks
00:35:09 <maedhros777> Seems kind of interesting to me that the same wiki having languages like LOLCODE also has such intellectual articles on Turing-completeness :)
00:36:12 <maedhros777> "Can haz stdio"? Classic. :)
00:36:41 <oerjan> maedhros777: you may note that boolfuck shows you don't even need more than two values 0 and 1 for TC, which means increment and decrement are the same operation
00:37:04 <oerjan> also some people here like to hate LOLCODE. just saying. ;D
00:37:23 <maedhros777> oerjan: It's the greatest language ever :)
00:37:29 <maedhros777> Besides BF, of course.
00:37:46 <maedhros777> I should make a real-time multiplayer FPS in BF. =D
00:38:47 <oerjan> you might have _certain_ I/O problems.
00:38:51 <pikhq_> maedhros777: Requires extensions.
00:38:58 <pikhq_> At the very least something akin to PSOX.
00:39:15 <maedhros777> You know I wasn't actually taking it seriously :)
00:39:31 <maedhros777> But I could just do it in command prompt.
00:39:36 <maedhros777> Without multiplayer, of course.
00:39:52 <oerjan> maedhros777: well someone _did_ make an adventure game already...
00:39:58 <maedhros777> Really?
00:40:00 <maedhros777> Where?
00:40:02 <oerjan> (although not directly in BF, i think)
00:40:07 <maedhros777> Darn
00:40:18 <oerjan> it's called lostkng
00:40:21 -!- ais523 has quit (Ping timeout: 258 seconds).
00:40:36 <maedhros777> I can't find it on google
00:40:42 <oerjan> it was compiled from BASIC, i think
00:41:20 <maedhros777> Well, got to go now
00:41:22 <maedhros777> Bye
00:41:24 -!- maedhros777 has quit (Remote host closed the connection).
00:41:44 <oerjan> oops
00:42:43 <oerjan> http://jonripley.com/i-fiction/games/LostKingdomBF.html
00:44:06 <pikhq_> <3 LostKng.
00:44:18 <pikhq_> Such a good test of compiler speed.
00:44:39 -!- Tritonio_GR1 has quit (Ping timeout: 245 seconds).
00:54:08 -!- Tritonio_GR has joined.
01:20:32 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
01:22:59 -!- oerjan has quit (Quit: Good night).
01:25:38 -!- Tritonio_GR has joined.
01:30:13 -!- Tritonio_GR1 has joined.
01:31:48 -!- uorygl has quit (Ping timeout: 276 seconds).
01:32:59 -!- Tritonio_GR has quit (Ping timeout: 245 seconds).
01:38:44 -!- uorygl has joined.
01:41:16 -!- pikhq_ has quit (Read error: Connection reset by peer).
01:43:08 -!- uorygl has quit (Ping timeout: 240 seconds).
01:44:21 -!- uorygl has joined.
01:46:22 -!- pikhq has joined.
01:48:58 -!- uorygl has quit (Ping timeout: 258 seconds).
01:49:55 -!- uorygl has joined.
01:52:41 -!- uorygl has quit (Read error: Operation timed out).
01:58:10 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer).
01:58:21 -!- pikhq has quit (Ping timeout: 264 seconds).
02:01:09 -!- uorygl has joined.
02:06:52 -!- uorygl has quit (Ping timeout: 240 seconds).
02:08:03 -!- uorygl has joined.
02:13:14 -!- pikhq has joined.
02:13:24 -!- uorygl has quit (Ping timeout: 245 seconds).
02:14:23 -!- uorygl has joined.
02:16:41 -!- pikhq has quit (Read error: Connection reset by peer).
02:18:47 -!- pikhq has joined.
02:45:27 -!- pikhq has quit (Read error: Connection reset by peer).
02:47:35 -!- lament has joined.
02:54:30 -!- pikhq has joined.
03:08:58 -!- pikhq has quit (Ping timeout: 260 seconds).
03:09:43 -!- CakeProphet has quit (Quit: Lost terminal).
03:12:13 -!- pikhq has joined.
03:17:30 -!- uorygl has quit (Quit: Changing server).
03:26:59 -!- Warrigal has joined.
03:27:43 -!- sshc has joined.
03:29:23 -!- Warrigal has changed nick to uorygl.
03:44:26 -!- cheater99 has quit (Ping timeout: 260 seconds).
03:51:25 <pikhq> My ISP is not run by humans.
03:51:32 <pikhq> It is run by people who HATE ALL THAT IS GOOD
03:51:42 <pikhq> Nay, not people. XD
03:51:50 <pikhq> By BEINGS who HATE ALL THAT IS GOOD
03:52:40 <coppro> who's your ISP again?
03:52:52 <Sgeo_> Some sattelite thing
03:53:49 <pikhq> WildBlue.
04:01:42 -!- sshc has quit (Ping timeout: 260 seconds).
04:06:17 -!- sshc has joined.
04:11:43 -!- sshc_ has joined.
04:13:20 -!- sshc has quit (Ping timeout: 276 seconds).
04:16:50 -!- sshc_ has quit (Ping timeout: 248 seconds).
04:16:51 -!- sshc has joined.
04:23:38 -!- sshc has quit (Ping timeout: 240 seconds).
04:27:09 -!- pikhq has quit (Ping timeout: 264 seconds).
04:28:04 -!- pikhq has joined.
04:36:49 -!- sshc has joined.
04:42:45 -!- sshc has quit (Ping timeout: 264 seconds).
04:47:31 -!- sshc has joined.
04:52:33 -!- sshc_ has joined.
04:54:36 -!- sshc has quit (Ping timeout: 276 seconds).
04:57:24 -!- lament has quit (Ping timeout: 264 seconds).
04:57:49 -!- sshc has joined.
04:58:57 -!- sshc_ has quit (Ping timeout: 264 seconds).
05:05:49 -!- pikhq_ has joined.
05:08:15 -!- pikhq has quit (Ping timeout: 276 seconds).
05:31:36 -!- MizardX has joined.
05:49:08 -!- jabb has joined.
05:49:11 <jabb> !!!
06:08:02 -!- coppro has quit (Remote host closed the connection).
06:10:28 -!- uorygl has quit (Ping timeout: 240 seconds).
06:32:46 -!- coppro has joined.
06:37:26 -!- FireFly has joined.
06:40:29 -!- MigoMipo has joined.
06:43:46 -!- sshc has quit (Quit: leaving).
07:11:20 -!- lament has joined.
07:20:49 -!- Mathnerd314 has joined.
07:24:42 -!- kar8nga has joined.
07:27:26 -!- MigoMipo has quit (Remote host closed the connection).
07:30:02 -!- Phantom_Hoover has joined.
07:30:53 -!- sshc has joined.
07:34:15 -!- relet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:30 -!- FireFly has quit (Quit: swatted to death).
08:07:58 <Phantom_Hoover> But oerjan isn't here. Who's swatting?
08:09:00 <lament> probably SWAT
08:09:31 -!- coppro has quit (Remote host closed the connection).
08:29:18 -!- atrapado has joined.
08:33:10 -!- jcp has quit (*.net *.split).
08:33:11 -!- P4 has quit (*.net *.split).
08:39:21 -!- jcp has joined.
08:39:22 -!- P4 has joined.
08:40:21 -!- lament has quit (Ping timeout: 264 seconds).
08:40:41 -!- Ilari_antrcomp has quit (Remote host closed the connection).
08:41:49 -!- Ilari_antrcomp has joined.
08:49:28 -!- ais523 has joined.
08:56:55 -!- kwertii has quit (Quit: bye).
09:05:59 -!- Oranjer has left (?).
09:09:59 -!- ais523 has quit (Remote host closed the connection).
09:16:26 -!- uorygl has joined.
09:18:40 -!- Axtens has joined.
10:01:13 -!- tombom has joined.
10:10:25 -!- oerjan has joined.
10:11:26 <oerjan> <Phantom_Hoover> But oerjan isn't here. Who's swatting?
10:11:40 <oerjan> i think he's doing it preemptively these days.
10:12:13 <oerjan> (FireFly)
10:23:06 -!- Axtens has quit (Quit: it's that time of day again).
10:30:49 <Phantom_Hoover> Hi oerjan/
10:31:14 <Phantom_Hoover> Does AnMaster ever actually leave the channel?
10:31:46 <oerjan> ...i don't recall
10:35:59 * Phantom_Hoover has no idea what to do now.
10:38:27 -!- cheater99 has joined.
10:51:19 <Phantom_Hoover> fungot
10:51:20 <fungot> Phantom_Hoover: good point. but does /etc/ bashrc... or cygwin. or vmware. or just listen to too mainstream music)
10:51:32 <Phantom_Hoover> ^style Lovecraft
10:51:33 <fungot> Not found.
10:51:37 <Phantom_Hoover> ^style
10:51:38 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
10:51:49 <Phantom_Hoover> ^style discworld
10:51:49 <fungot> Selected style: discworld (a subset of Terry Pratchett's Discworld books)
10:51:51 <Phantom_Hoover> fungot
10:51:53 <fungot> Phantom_Hoover: ' they have some questions to ask you a question, just like anything else; sometimes wizards were thin and gaunt and talked to her in any way will explain his conduct to the inquisitors. at length.
10:52:05 <Phantom_Hoover> This is the coolest thing ever.
10:52:28 <Phantom_Hoover> ^style irc*
10:52:29 <fungot> Not found.
10:52:32 <Phantom_Hoover> ^style irc
10:52:32 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
10:52:37 <Phantom_Hoover> fungot
10:52:38 <fungot> Phantom_Hoover: yeah... most bots simply parse everything on the webpage i just get back ( 3 1/ 2
10:53:18 -!- Phantom_Hoover has quit (Quit: Leaving).
10:54:35 -!- Phantom_Hoover has joined.
11:12:23 -!- Tritonio_GR has joined.
11:25:54 -!- oerjan has quit (Quit: leaving).
11:36:46 -!- kar8nga has quit (Remote host closed the connection).
11:54:52 <AnMaster> <Phantom_Hoover> Does AnMaster ever actually leave the channel? <-- in case of thunderstorms yes
11:54:54 <AnMaster> only then
11:55:15 <AnMaster> also atm I'm trying to write my own number->hex formatting routine
11:55:31 <AnMaster> justification for not using printf: don't have it, embedded
11:55:38 <Phantom_Hoover> It takes a *thunderstorm* to get you off the channel?
11:55:49 <Phantom_Hoover> AnMaster: Just copy printf's code?
11:55:55 <AnMaster> Phantom_Hoover, well, to get the bouncer on my system off the channel
11:56:02 <AnMaster> Phantom_Hoover, not enough space for the code
11:56:11 <AnMaster> Phantom_Hoover, plus then I would need to format ASCII to display segments
11:56:15 <Phantom_Hoover> I mean the hex-printing bit.
11:56:17 <AnMaster> I'm going straight to the segments here
11:56:28 <Phantom_Hoover> Hmm, fair point.
11:56:29 <AnMaster> digits[0] = raw_value & 0x000f;
11:56:29 <AnMaster> digits[0] = raw_value & 0x00f0;
11:56:29 <AnMaster> digits[0] = raw_value & 0x0f00;
11:56:29 <AnMaster> digits[0] = raw_value & 0xf000;
11:56:34 <AnMaster> nice eh?
11:56:42 <AnMaster> wait
11:56:45 * AnMaster fixes indexes
11:56:49 <AnMaster> from copy and paste
11:56:52 <Phantom_Hoover> Aargh, low-level output!
11:56:59 <AnMaster> Phantom_Hoover, what?
11:57:15 <AnMaster> Phantom_Hoover, this is not the monitor yet
11:57:16 <AnMaster> err
11:57:17 <Phantom_Hoover> I don't understand it, so it scared me.
11:57:18 <AnMaster> display
11:57:26 <AnMaster> Phantom_Hoover, it isn't output
11:57:28 <AnMaster> it is code I wrote
11:57:35 <Phantom_Hoover> Ah.
11:57:38 <AnMaster> Phantom_Hoover, by bitwise and I mask out each digit
11:57:41 <Phantom_Hoover> What is digits?
11:57:49 <Phantom_Hoover> Oh, wait, I get it.
11:57:50 <AnMaster> Phantom_Hoover, an array to hold one digit per byte
11:58:00 <Phantom_Hoover> Shouldn't the indices be different?
11:58:10 <AnMaster> Phantom_Hoover, "<AnMaster> wait
11:58:10 <AnMaster> * AnMaster fixes indexes
11:58:10 <AnMaster> <AnMaster> from copy and paste"
11:58:42 <Phantom_Hoover> Oops
11:58:52 <AnMaster> Phantom_Hoover, I haven't yet compiled it anyway
11:59:45 <AnMaster> wait *removes that array, wastes memory*
12:00:07 <Phantom_Hoover> What is it being displayed on?
12:00:09 <AnMaster> okay fun, I think it is displaying in reverse
12:00:11 <AnMaster> Phantom_Hoover, the RCX
12:00:20 <AnMaster> let me find you a picture of the display
12:00:44 <Phantom_Hoover> This is all for your camera, right?
12:00:55 <AnMaster> Phantom_Hoover, yes I need to check the range of the light sensor
12:01:05 <AnMaster> so I can figure out what sort of values to use when programming it
12:01:20 <AnMaster> Phantom_Hoover, 4x digits in front of the walking person icon http://www.legolab.daimi.au.dk/CSaEA/RCX/Manual.dir/Buttons.dir/rcx_buttons.gif
12:01:26 <AnMaster> Phantom_Hoover, that is 7-segment iirc
12:01:58 <Phantom_Hoover> How much memory do you have on that?
12:02:31 <AnMaster> Phantom_Hoover, total address space is 2^16. a lot of it is rom or memory mapped registers, or just not mapped to anything
12:02:35 <AnMaster> so not completely sure
12:02:42 <AnMaster> let me check the CPU docs
12:03:30 <AnMaster> well lets see, the memory controller is in mode 2, so that means the middle column of the diagram applies
12:04:17 <AnMaster> what a shitty resolution
12:04:31 <AnMaster> they put a bad jpeg in the pdf for this edition
12:04:39 <AnMaster> for another variant from the same series they use vector graphics
12:04:39 <AnMaster> ...
12:07:50 <AnMaster> H0000-H0049 is interrupt vector table then 16384 bytes for the on chip PROM, can't do anything about that, then some reserved stuff... Then from H8000-HFB7F, external bus, then some reserved, then on-chip ram HFD80-HFF7F, then external bus at HFF80-HFF87, then HFF88-HFFFF is on-chip register field
12:08:11 <AnMaster> Phantom_Hoover, now, some of the external address space maps to ram and some to motor control registers iirc
12:08:30 <AnMaster> Phantom_Hoover, that should however give you an approximation
12:08:31 <Phantom_Hoover> Hmm.
12:08:52 <AnMaster> Phantom_Hoover, I code in C, I let brickOS handle the really low level stuff
12:09:03 <AnMaster> Phantom_Hoover, brickOS however is smaller than the official firmware
12:09:10 <Phantom_Hoover> Who write this in the first place?
12:09:17 <Phantom_Hoover> s/write/wrote/
12:09:19 <AnMaster> Phantom_Hoover, wrote what? the doc?
12:09:27 <Phantom_Hoover> BrickOS
12:09:44 <AnMaster> it is on sf.net, not sure who wrote it originally
12:09:53 <AnMaster> iirc all the original developers are long gone anyway
12:10:18 <AnMaster> Phantom_Hoover, and I use a heavily patched version of brickOS called bibo since the sf.net project is basically dead and bitrotten
12:10:30 <Phantom_Hoover> bitrotten?
12:10:33 <AnMaster> yes
12:10:44 <AnMaster> Phantom_Hoover, or did you ask what that meant?
12:10:50 <Phantom_Hoover> Yes.
12:11:01 <AnMaster> http://en.wikipedia.org/wiki/Bit_rot
12:11:12 <AnMaster> Phantom_Hoover, the second meaning there
12:11:12 <Phantom_Hoover> I don't suppose it means that SF's repositories are corrupted?
12:11:16 <AnMaster> Phantom_Hoover, no it doesn't
12:11:23 <AnMaster> "Bit rot, also known as bit decay, data rot, or data decay, is a colloquial computing term used to describe either a gradual decay of storage media or (facetiously) the spontaneous degradation of a software program over time"
12:11:33 <AnMaster> Phantom_Hoover, as in "no longer works with modern compilers" or similar
12:11:41 <Phantom_Hoover> Ah.
12:11:50 <Phantom_Hoover> Like with old IOCCC stuff.
12:11:52 <AnMaster> Phantom_Hoover, I'm using old gcc and binutils anyway to be able to run this
12:12:34 <AnMaster> Phantom_Hoover, well, here it usually isn't compile error, rather it is gcc configure saying: "wtf is this arch you want to make a cross compiler to? I have no idea what it is!"
12:12:41 <AnMaster> well, not exactly those words
12:12:47 <AnMaster> but the general gist of it ;P
12:13:30 <AnMaster> Phantom_Hoover, or binutils, which at least support the arch as such saying "wtf, you think I support COFF for this platform? Only ELF, sorry" (again not word for word the error)
12:14:08 <Phantom_Hoover> I am familiar with the general tone of error messages.
12:14:09 <AnMaster> Phantom_Hoover, and then of course there is the issue of getting these old versions of binutils and gcc to compile on a modern system :D
12:14:15 <Phantom_Hoover> I come across them frequently.
12:14:41 <AnMaster> Phantom_Hoover, sure? the ROM of this thing has a rather funny error message if the magic string is missing from the downloaded firmware
12:14:46 <AnMaster> well lets start with the magic string:
12:14:55 <AnMaster> "Do you byte when I knock?"
12:14:59 <AnMaster> the error if it is missing is:
12:15:05 <AnMaster> "Just a bit off the block!"
12:15:25 <AnMaster> Phantom_Hoover, I don't think that is the usual tone of the error messages ;P
12:15:32 <Phantom_Hoover> True, but that's by LEGO.
12:15:43 <Phantom_Hoover> Who would be more frivolous than GCC developers.
12:16:01 <AnMaster> Phantom_Hoover, yeah but it isn't like no one sees it unless they are lego developers or hacking on custom firmware
12:16:20 <Phantom_Hoover> Well, the world can do with some more confusion.
12:16:26 <AnMaster> :)
12:16:35 <AnMaster> s/no one/anyone/
12:16:43 <AnMaster> I got double negation there iirc
12:16:45 <AnMaster> err
12:16:51 <AnMaster> not iirc...
12:16:55 <AnMaster> "as far as I can tell"
12:16:56 <AnMaster> is better
12:17:00 <AnMaster> meh, I need to wake up
12:17:10 <Phantom_Hoover> Wait, what actually gives the error?
12:17:25 <AnMaster> Phantom_Hoover, it is sent back to computer over the IR protocol
12:17:42 <AnMaster> it is never displayed to the user by the normal apps
12:17:42 <Phantom_Hoover> Ahh.
12:18:09 <Phantom_Hoover> I hate being born late for the interesting things.
12:19:05 <AnMaster> okay wtf....
12:19:11 * AnMaster looks at his code
12:19:27 <AnMaster> Phantom_Hoover, hm? how old are you?
12:19:46 <Phantom_Hoover> CLASSIFIED
12:20:08 <Phantom_Hoover> But, among other things, I only really got into computers a couple of years ago.
12:20:29 <AnMaster> I see
12:20:37 <AnMaster> and now. this makes no sense
12:20:47 -!- Tritonio_GR has quit (Ping timeout: 240 seconds).
12:21:06 <Phantom_Hoover> Have you tried turning it off and turning it on again?
12:21:38 <AnMaster> Phantom_Hoover, even more than that, I tried it in emulator as well, where I can input raw sensor value
12:21:43 <AnMaster> and it still shows 0000 all the time
12:21:54 <Phantom_Hoover> Are you sure it's plugged in?
12:22:25 <AnMaster> the sensor? yes, the sensor in the simulation? yes even more so
12:22:37 <AnMaster> I do see the sensor connected indication at the top of the screen anyway
12:22:39 <AnMaster> so meh
12:22:55 <AnMaster> wait, I forgot to bitshift the result
12:23:14 <Phantom_Hoover> Damn, the sketch doesn't go any further
12:23:19 <AnMaster> Phantom_Hoover, ?
12:23:30 <Phantom_Hoover> http://www.youtube.com/watch?v=gt9j80Jkc_A&feature=related
12:23:42 <AnMaster> will check later
12:25:31 <AnMaster> hm what is the priority of & vs. >> ?
12:25:59 <AnMaster> ah & goes before >>
12:26:03 <AnMaster> means I don't need parens yay
12:26:22 <Phantom_Hoover> I very nearly typed "C operator president" into Google there.
12:29:37 <AnMaster> XD
12:31:25 <AnMaster> wait, there is a "display hex" routine, hidden near the end of conio.h
12:31:25 <AnMaster> heh
12:31:28 * AnMaster uses that
12:31:42 <Phantom_Hoover> Where's the fun in that?
12:31:52 <AnMaster> Phantom_Hoover, that I can get on to do other stuff
12:33:27 <AnMaster> interesting, the raw values of my two light sensors differ quite a bit for the same light level
12:33:58 <AnMaster> one gives black as 7700, the other as 8200
12:34:02 <AnMaster> hex that is
12:34:49 <AnMaster> since I'm driving them as passive the internal red led in them id off
12:34:50 <AnMaster> is*
12:36:56 <AnMaster> wait what, one of them gives a faint glow of the red led even when in passive mode?
12:36:57 <AnMaster> wtf
12:41:09 <AnMaster> also values seem to vary between some runs
12:41:10 <AnMaster> hm
12:41:23 <AnMaster> so calibration at startup is clearly required
12:54:56 <Phantom_Hoover> What does it actually do with the camera?
13:03:52 <AnMaster> Phantom_Hoover, rotate it around the point of no parallax, and triggers the shutter at even intervals
13:04:00 <AnMaster> this should make for great panoramas
13:04:09 <Phantom_Hoover> Neat.
13:08:37 <AnMaster> hm it is quite a pain to reach and fix things in the lower parts now, due to all the bracing and supports
13:09:41 <AnMaster> on the other hand, it has enough bracing that it is quite feasible to lift it almost anywhere without something breaking. It is very sturdy indeed
13:14:49 -!- kar8nga has joined.
13:19:21 <Phantom_Hoover> Pics?
13:40:19 -!- FireFly has joined.
13:41:02 -!- ais523 has joined.
13:54:49 <Phantom_Hoover> ais523!
13:54:57 <ais523> hi
13:59:48 <AnMaster> Phantom_Hoover, it isn't done yet, I have a test picture from a prototype that used my mobile phone, think I pasted link here yesterday
14:05:28 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
14:06:17 <AnMaster> aaargh, technic beams are asymmetric... as in the hole on the side isn't vertically centred... making matching the sides of upside-down ones to ones oriented "normal" impossible
14:06:23 <AnMaster> how to solve this issue argh
14:09:32 -!- Phantom_Hoover has joined.
14:09:44 <Phantom_Hoover> THAT PICTURE MADE ME REBOOT MY COMPUTER.
14:09:47 <Phantom_Hoover> TWICE.
14:10:19 <Phantom_Hoover> I demand the soul of your first-born child, AnMaster
14:10:57 <AnMaster> Phantom_Hoover, why on earth did you have to reboot your computer
14:11:06 <AnMaster> Phantom_Hoover, ... it opens just fine in gimp or such here
14:11:21 <AnMaster> Phantom_Hoover, be happy it wasn't the 36 MB tiff version of it.
14:11:28 <AnMaster> and that was a deflate compressed tiff
14:11:30 <Phantom_Hoover> Firefox loads image. Firefox freezes. Whole damn computer freezes and I need to reboot.
14:11:41 <AnMaster> Phantom_Hoover, it was about 96 MB as uncompressed tiff
14:11:47 <AnMaster> Phantom_Hoover, works fine in firefox here too
14:12:04 <AnMaster> slightly slow yes but goes away as soon as I close the image
14:12:24 <AnMaster> Phantom_Hoover, and this system is a Sempron 3300+ with 1.5 GB RAM
14:12:28 <AnMaster> hardly high-end
14:12:48 <Phantom_Hoover> The. Soul. Of. Your. First. Born. Child.
14:13:04 <Phantom_Hoover> You still screwed my system up.
14:13:17 <AnMaster> no, you did :P
14:13:24 <AnMaster> Phantom_Hoover, or maybe the firefox devs
14:13:46 <Phantom_Hoover> I can't get the souls of their first-born children.
14:13:47 <AnMaster> but probably not the latter since it works fine here in firefox
14:14:10 <AnMaster> Phantom_Hoover, a bit hard here too, I have no children. It would be rather strange if I did, I'm 20 after all...
14:14:24 <Phantom_Hoover> Yeah, I can wait.
14:14:28 <AnMaster> :P
14:14:34 <AnMaster> Phantom_Hoover, but you won't get it anyway
14:14:50 <AnMaster> Phantom_Hoover, however, how could firefox freeze anything but itself?
14:14:50 <Phantom_Hoover> O RLY?
14:15:03 <AnMaster> Phantom_Hoover, at the worst, ctrl-atl-backspace would have killed X and every X app
14:15:08 <AnMaster> no need to reboot then
14:15:16 <Phantom_Hoover> I do not care.
14:15:32 <AnMaster> Phantom_Hoover, how much RAM?
14:15:37 <AnMaster> 128 MB is my guess
14:15:40 <AnMaster> 256 max
14:15:45 <Phantom_Hoover> 2GB IIRC.
14:15:55 <AnMaster> Phantom_Hoover, yet it works on my system with 1.5 GB?
14:15:57 <AnMaster> without issues
14:16:17 <AnMaster> Phantom_Hoover, and I had like 4 rows of tabs open when I tested
14:16:29 <AnMaster> on a very large monitor with maximised firefox window
14:16:37 <Phantom_Hoover> Wait, 4 *rows*?
14:16:45 <AnMaster> Phantom_Hoover, yes, what about it?
14:17:12 <Phantom_Hoover> Firefox doesn't even make tabs into rows in the first place...
14:17:20 <AnMaster> Phantom_Hoover, fits 18 tabs in each row
14:17:25 <AnMaster> Phantom_Hoover, tab mix plus addon
14:17:25 <AnMaster> duh
14:17:33 <Phantom_Hoover> Ah.
14:17:51 <Phantom_Hoover> So you had about 80 tabs open at once?
14:18:04 <AnMaster> Phantom_Hoover, about that yes
14:18:14 <Phantom_Hoover> ?!?!?!?
14:18:15 <AnMaster> I think there was one empty place on the last row
14:18:23 <AnMaster> after the image was open that is
14:18:31 <Phantom_Hoover> What was in them?
14:18:40 <AnMaster> Phantom_Hoover, um, a lot of different things?
14:19:45 <AnMaster> h8300 cross compiler stuff fills about one row, then some other RCX and general lego stuff fills quite a bit elsewhere, then some esolang pages, a bit about vhdl
14:19:51 <AnMaster> and a lot of other misc stuff
14:32:32 <AnMaster> Phantom_Hoover, was it you who linked to that support thing video?
14:32:40 <Phantom_Hoover> Yes.
14:32:43 <AnMaster> Phantom_Hoover, only had time to look at it now
14:32:53 <AnMaster> Phantom_Hoover, and the thing the second guy said made perfect sense to me
14:32:59 <Phantom_Hoover> To me, also.
14:33:16 <AnMaster> well only under windows. It doesn't work like that under linux afaik
14:33:30 <Phantom_Hoover> Well, not *perfect*, since I don't do Windows, but I know what system calls are and can guess the rest.
14:33:59 <AnMaster> Phantom_Hoover, I messed with windows kernel debugger over serial cable once just for fun
14:34:09 <AnMaster> so I have a fair idea of what that specific bit refers to
14:34:38 <AnMaster> actually virtual serial cable, between two windows VMs
14:37:40 -!- BeholdMyGlory has joined.
14:37:50 <Phantom_Hoover> Blargh, I wish I had an idea on what to do now.
14:38:18 <Phantom_Hoover> I am at the stage where I can feasibly implement the backpropagation algorithm, so I suppose I'll do that.
14:40:19 <Phantom_Hoover> http://www.tomscott.com/evil/
14:40:30 <Phantom_Hoover> Testament to the stupidity of Facebookers.
14:43:04 <AnMaster> <Phantom_Hoover> I am at the stage where I can feasibly implement the backpropagation algorithm, so I suppose I'll do that. <-- ?
14:43:21 <Phantom_Hoover> I'm doing neural networks in Lisp.
14:43:27 <Phantom_Hoover> For an idea I had.
14:43:30 <AnMaster> okay, I know nothing about those
14:47:24 <Phantom_Hoover> Oh, look, I changed one line of code and I have people's phone numbers popping up on my screen.
14:52:55 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
15:02:42 -!- cheater99 has quit (Ping timeout: 248 seconds).
15:18:26 -!- relet has quit (Quit: Leaving.).
15:18:27 -!- cheater99 has joined.
15:26:58 * Phantom_Hoover wants to at some point write a program that looks like it does one thing but actually does something completely different
15:32:19 -!- Axtens has joined.
15:36:22 <AnMaster> <Phantom_Hoover> Oh, look, I changed one line of code and I have people's phone numbers popping up on my screen. <-- what?
15:36:45 <AnMaster> * Phantom_Hoover wants to at some point write a program that looks like it does one thing but actually does something completely different <-- a trojan?
15:36:57 <AnMaster> or perhaps a harmless trojan
15:37:08 <Phantom_Hoover> The link I posted above searches Facebook for groups wherein people ask their friends for numbers after losing their phone.
15:46:51 <Phantom_Hoover> Dear god I hate computing exams.
15:48:13 <AnMaster> mhm
15:50:55 -!- Phantom_Hoover has quit (Quit: Leaving).
15:51:28 -!- Phantom_Hoover has joined.
15:51:44 <Phantom_Hoover> I also hate the way this client handles ping timeouts.
15:52:56 <Phantom_Hoover> Although I hate the exams more.
15:53:43 <AnMaster> okay wtf: "After driving STBY low, keep RES low for a minimum delay of 0 ns, if less the RAM contents might not be retained"
15:53:50 <AnMaster> I think someone messed up their docs
16:02:00 <Gregor> You must keep RES low for at LEAST no time.
16:02:08 -!- tombom_ has joined.
16:02:36 <Phantom_Hoover> I seriously want to shoot whoever made my computing curriculum.
16:02:57 <Phantom_Hoover> It is the only subject I have taken where actually having prior knowledge is a disadvantage.
16:05:05 <ais523> haha
16:05:19 <ais523> but I sympathise, the IT GCSE here was rather stupid
16:05:40 <Phantom_Hoover> At least at my old school they didn't do Computing GCSEs at all.
16:05:43 -!- tombom has quit (Ping timeout: 258 seconds).
16:05:58 <Phantom_Hoover> Although they basically started with using the mouse and worked up at a glacial rate.
16:07:40 <Phantom_Hoover> No, they literally started with the mouse, actually.
16:08:31 <Phantom_Hoover> After logging in to the school system and clicking about 5 different things to start the damn thing, it assumed that you had no idea what a mouse was.
16:16:05 <oklopol> fuck computers
16:17:02 <oklopol> just saying......................
16:17:07 <Phantom_Hoover> Oh, the ironing!
16:17:35 <Phantom_Hoover> I suppose you're whistling into a phone to send that to the IRC server.
16:18:11 <Phantom_Hoover> (I know someone who knew someone who could make the dialup tone like that)
16:18:56 <oklopol> no i'm using a computer
16:19:14 <Phantom_Hoover> Oh, you mean *that*.
16:19:31 <Phantom_Hoover> Could be painful.
16:19:40 <oklopol> no i meant computers are stupid
16:19:46 <oklopol> no one likes them
16:19:54 <oklopol> nothing ironingbout that
16:19:57 <oklopol> * a
16:20:51 <oklopol> i hate insert, no one has ever had any use for the button, not one single use, and still it's there, and also it seems like there's some button combination that puts it on other than the insert button which i haven't figured out because occasionally insert is just on for no reason
16:20:59 <oklopol> HATEHATEHATEHATEIT
16:21:46 <Phantom_Hoover> Insert is extremely useful when you're programming in fungoids.
16:22:02 <oklopol> shit... that's probably true
16:22:07 -!- relet has joined.
16:22:36 <oklopol> okay so maybe those 5 people in the universe that program in fungoids are happy about insert
16:23:11 <Phantom_Hoover> Pause/Break, now *that's* useless.
16:24:26 <oklopol> you're clearly better at having opinions than me
16:25:30 <Deewiant> I don't use insert, I use R in vim
16:25:43 <oklopol> so just 4 people
16:26:23 <Deewiant> And I don't think I used it even before I began using vim to program fungeoids
16:26:53 <oklopol> and Deewiant is better at having MY OPINIONS, this is not a good day.
16:27:09 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
16:27:23 -!- Phantom_Hoover has joined.
16:27:27 <Phantom_Hoover> No, wait.
16:27:37 <Deewiant> I wish vim had reverse replace, though
16:27:40 <Phantom_Hoover> The Everest peak of useless keys is Scroll Lock.
16:27:46 <Phantom_Hoover> IT DOES NOTHING AT ALL.
16:27:48 <AnMaster> <ais523> but I sympathise, the IT GCSE here was rather stupid <-- GCSE?
16:27:50 <Phantom_Hoover> EVER.
16:27:54 <Phantom_Hoover> EVEREVEREVER.
16:28:01 <AnMaster> Phantom_Hoover, scroll lock does useful things
16:28:02 <ais523> AnMaster: an exam done at the age of 16
16:28:15 <AnMaster> prevents terminal continue to scroll
16:28:20 <AnMaster> so you can read what is on it, then continue
16:28:24 <AnMaster> well at least in theory
16:28:28 <ais523> enough to get you into low-end jobs like supermarket shelf-stacking, and good GCSE results are needed to be accepted into college so you can try for A-levels
16:28:34 <Deewiant> From the vim docs: "There is no reverse replace mode (yet)."
16:28:45 <Phantom_Hoover> AnMaster: General Certificate of Standard Education
16:28:51 <AnMaster> Deewiant, what would reverse replace do?
16:28:58 <Phantom_Hoover> ais523: Surely not?
16:29:18 <Phantom_Hoover> Wow the English system is weirder than I thought.
16:29:22 <oklopol> this kb doesn't have scroll lok
16:29:25 <ais523> Phantom_Hoover: the college I went to required five Bs at GCSE in order to consider people for A-level
16:29:25 <oklopol> *lock
16:29:26 <Deewiant> AnMaster: Same as reverse insert, but replace instead of insert.
16:29:31 <AnMaster> Phantom_Hoover, so how old are you? I don't think I got an answer last time I asked..
16:29:41 <ais523> as far as I can tell, if you fail your GCSEs you're destined to become a criminal or a prostitute or something
16:29:42 <Phantom_Hoover> You do A-level in college in England?
16:29:44 <ais523> Phantom_Hoover: did
16:29:49 <AnMaster> Phantom_Hoover, unless stated otherwise I will assume 16 ;P
16:29:53 <ais523> I'm doing a PhD atm, though
16:30:00 <AnMaster> Phantom_Hoover, btw which country are you in?
16:30:02 <Phantom_Hoover> AnMaster: [DATA EXPUNGED]
16:30:06 <Phantom_Hoover> And Scotland.
16:30:08 <AnMaster> ah
16:30:11 <ais523> and that's "6th-form college"
16:30:15 <AnMaster> wait, UK has different systems!?
16:30:19 <Phantom_Hoover> Indeed.
16:30:24 <AnMaster> wtf
16:30:25 <ais523> wow, you're so lucky, I've heard that the Scottish education system is a lot more sensible than the one in England and Wales
16:30:32 <AnMaster> Phantom_Hoover, also, how often do you wear a kilt and play the bagpipe? ;P
16:30:35 * AnMaster runs
16:30:36 <Phantom_Hoover> The Scottish one was made by some monkeys on an undisclosed ut powerful drug.
16:30:39 <ais523> there's one for England and Wales, a different one for Scotland, and a different one for Northern Ireland
16:30:52 <Phantom_Hoover> THERE ARE 4 TYPES OF FAIL AT STANDARD GRADE.
16:31:07 <Phantom_Hoover> AND IT USES A DIFFERENT GRADING SYSTEM TO EVERYTHING ELSE>
16:31:17 <ais523> Phantom_Hoover: in theory, there are three types of fail at GCSE in England
16:31:18 <Phantom_Hoover> AND IT'S COMPOSED OF THREE DIFFERENT EXAMS.
16:31:23 <AnMaster> <Deewiant> AnMaster: Same as reverse insert, but replace instead of insert. <-- reverse inset?
16:31:25 <AnMaster> insert*
16:31:36 <AnMaster> Deewiant, I have no clue what that would do
16:31:45 <Deewiant> :he ins-reverse
16:31:48 <ais523> in practice, there's more like five or six, because D, E, and sometimes C are technically passing grades, but not accepted by most companies
16:32:00 <ais523> or colleges
16:32:00 <AnMaster> Deewiant, "vim: command not found", there is vi though, heirloom toolkit vi
16:32:12 <ais523> AnMaster: why do you not have vim installed?
16:32:16 <ais523> I have it installed even though I hardly ever use it
16:32:22 <Phantom_Hoover> The full set of Scottish exams: Standard Grade (Foundation, General and Credit), Int 1 and 2, something called Access 3 if you're too stupid to live, Higher and Advanced Higher.
16:32:23 -!- Axtens has quit (Quit: bedtime).
16:32:34 <oklopol> everything before university is completely useless, why do they bother testing people who haven't been taught anything yet
16:32:44 <AnMaster> ais523, I never use it, it is incompatible with me. It always wants to be in another mode than me. And so on
16:32:47 <oklopol> who cares what random bits of information or understanding they have in their head
16:32:53 <ais523> oklopol: to justify not having taught them anything useful for years
16:33:05 <Phantom_Hoover> oklopol: They do teach you stuff. Not much stuff, though.
16:33:18 <ais523> ugh National Curriculum
16:33:19 <Deewiant> AnMaster: The vim docs are online, just google +vim +ins-reverse
16:33:22 <AnMaster> Deewiant, so is it just like typing abcd would give dcba?
16:33:31 <oklopol> well i understand the bureaucratical reasons, that wasn't actually a question
16:33:37 <Deewiant> AnMaster: Yep
16:33:40 <AnMaster> kay
16:33:57 <AnMaster> Deewiant, where does the cursor move during this?
16:34:02 <AnMaster> or does it stay still?
16:34:05 <Deewiant> It stays still
16:34:15 <oklopol> Phantom_Hoover: yes maybe, but i sometimes exaggerate
16:34:18 <AnMaster> Deewiant, relative which margin?
16:34:19 <oklopol> for fun
16:34:24 <Deewiant> It stays still
16:34:38 <AnMaster> Deewiant, after all normal insert would stay still relative the right margin
16:34:43 <oklopol> although i guess i'm totally serious
16:34:53 <AnMaster> Deewiant, so I assume it stays still relative the left margin in this case
16:35:04 <Phantom_Hoover> Incidentally, Ireland uses GCSE as well.
16:35:05 <Deewiant> Right, you can think of it like that if you like
16:35:11 <Phantom_Hoover> *Northern
16:35:15 <AnMaster> Deewiant, :)
16:35:26 <AnMaster> Deewiant, reverse overwrite would be useful for befunge editing I suppose
16:35:33 <Deewiant> Yep
16:36:19 <ais523> M-x picture-mode
16:36:39 <ais523> as well as forwards and backwards, it lets you write vertically or even diagonally
16:36:41 <ais523> it's great for Befunge
16:37:12 <AnMaster> ais523, what about a delta of 3,4
16:37:12 -!- lament has joined.
16:37:24 <ais523> doesn't do that AFAIK
16:37:27 <ais523> but nothing's perfect
16:39:30 <Deewiant> If only emacs had good text editing capabilities
16:40:22 <relet> can you somehow tell Chanserv to stdu or at least skip that standard message for you?
16:40:50 <ais523> I'm not sure
16:41:01 <ais523> /ignore ChanServ might work, but there are other reasons why that might be a bad idea
16:42:15 -!- ais523 has quit (Remote host closed the connection).
16:45:03 -!- lament has quit (Ping timeout: 276 seconds).
16:47:11 <relet> indeed
16:47:52 <AnMaster> <relet> can you somehow tell Chanserv to stdu or at least skip that standard message for you? <-- does it hurt?
16:48:10 <AnMaster> I mean, it seems like a small detail not worth bothering about to me
16:48:17 <relet> I get private messages in a different tab. it's just annoying.
16:48:30 <AnMaster> relet, afaik chanserv sends notices
16:48:41 <AnMaster> and hm I think the entry message is set per channel?
16:49:03 <AnMaster> no clue if #esoteric has one set
16:49:13 * AnMaster uses a bouncer and wouldn't notice it
16:49:48 <relet> it's the first channel that does from many I have been in lately.
16:50:32 <relet> I mean, you could just use a meaningful topic, if you really want to tell people what the channel is about. :D
16:50:51 <AnMaster> relet, the /topic?
16:50:56 <AnMaster> that isn't related to chanserv at all
16:51:11 <AnMaster> relet, and I think tradition dictates we have silly stuff in /topic
16:51:27 <relet> and that's a good tradition, I think.
16:51:54 <AnMaster> and logs, but that is some freenode rule that says that if a channel have public logs, then it must be mentioned in /topic
16:51:56 <AnMaster> or something like that
16:52:33 <relet> I wouldn't mind if ChanServ sent me a new silly message every time I join.
16:52:57 <relet> it's the blandness of it that makes it annoying
16:52:57 <AnMaster> XD
16:53:06 <AnMaster> relet, what message was it for this channel
16:53:26 <AnMaster> iirc there is/was some random "do not troll" message sent randomly during some joins
16:53:30 <relet> See.. I already forgot... let me check.
16:53:36 -!- relet has left (?).
16:53:37 -!- relet has joined.
16:53:44 <AnMaster> hm?
16:53:52 <relet> ChanServ: (notice) [#esoteric] Welcome to the esoteric programming channel! Check out our wiki: http://www.esolangs.org
16:53:55 <AnMaster> ah
16:53:59 <AnMaster> well that is set per channel
16:54:08 <AnMaster> no clue who has access to change it
16:54:12 <AnMaster> lament I guess
16:54:17 <AnMaster> maybe oerjan
16:54:23 <AnMaster> and, it seems quite sane
16:54:39 <AnMaster> relet, after all, we do get some people here every now and then who think it is about esoterica....
16:54:49 <relet> You could just mention the url in the topic. Welcome messages are so Web 1.0
16:55:01 <AnMaster> relet, hey, irc is so web 0.0.1
16:55:06 <Deewiant> With topics like the current one, I'm not surprised
16:55:08 <AnMaster> apart from the fact it isn't web
16:55:16 <AnMaster> Deewiant, well there is the entry message...
16:55:26 <AnMaster> also alise set it. go figure
16:55:38 <Deewiant> I usually miss the entry message since it goes in the server-messages window
16:55:47 <Phantom_Hoover> oerjan changed the welcome a couple of days ago.
16:55:56 <Phantom_Hoover> I was complaining about the dead link in it.
16:56:05 <AnMaster> Deewiant, does it refer to "norton utilities" you think?
16:56:19 <Deewiant> Unlike you, I don't think everything is a reference
16:56:32 <AnMaster> Deewiant, it would be rather silly though if it did
16:56:36 <cheater99> wassup guise
16:57:06 -!- AnMaster has set topic: Insert topic here | http://tunes.org/~nef/logs/esoteric/?C=M;O=D | Do not insert topic here..
16:57:56 <Phantom_Hoover> NO! Do not disrespect Emperor Norton!
16:58:01 <AnMaster> XD
16:58:16 <Phantom_Hoover> He was real, you know. Google it.
16:59:22 <AnMaster> ??
16:59:28 <Phantom_Hoover> And he had nothing to do with Norton Security
16:59:41 <AnMaster> oh a lunatic
17:01:00 <Phantom_Hoover> An AWESOME lunatic.
17:01:02 -!- Phantom_Hoover has quit (Quit: Leaving).
17:01:13 <AnMaster> well yes
17:01:18 -!- Phantom_Hoover has joined.
17:01:28 <AnMaster> <AnMaster> well yes
17:01:36 <AnMaster> and wrong button I presume?
17:01:58 <Phantom_Hoover> AnMaster: An AWESOME lunatic.
17:02:33 <Phantom_Hoover> Bloody connection.
17:02:41 <AnMaster> Phantom_Hoover, that got through
17:02:52 <AnMaster> to which I replied what I said
17:02:57 <uorygl> conmunidad
17:03:03 <AnMaster> Phantom_Hoover, also it wasn't you connection: "* Phantom_Hoover has quit (Quit: Leaving)"
17:03:11 <AnMaster> that would be a QUIT :Leaving
17:03:13 <AnMaster> from the client
17:03:45 <Phantom_Hoover> That's mainly because the ping goes funny and once the connection is restored sanity does not return.
17:10:57 <AnMaster> strnage
17:10:59 <AnMaster> strange*
17:23:20 -!- jamesstanley has joined.
17:26:19 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
17:26:43 -!- Phantom_Hoover has joined.
17:26:54 <Phantom_Hoover> fungot
17:26:55 <fungot> Phantom_Hoover: the thing is " quantum-complete"? -g ( was that fnord thing too. :) :( putty doesn't like that
17:31:11 -!- oerjan has joined.
17:34:34 <oklopol> PARTY
17:34:46 <oerjan> COMMUNIST!
17:35:02 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
17:36:56 <oklopol> okay now i have over 5 years worth of university credits
17:39:33 <oerjan> !
17:39:58 <oerjan> how many physical years have you done, i forget
17:40:53 <oerjan> 2-3?
17:40:56 <oklopol> two, although i didn't do anything during this last period, so i guess more like 1.75; although this is a bit of a lie because i did stuff during high school (almost 50 points, i now have 307 and 320 or something after i return my bachelor's)
17:41:05 <oklopol> (actually maybe more like 40)
17:41:14 <oklopol> (or 30)
17:41:16 <oklopol> (or 50)
17:41:34 <Deewiant> (60 being the "expected" amount per year)
17:42:15 <oerjan> ok so you have superhuman endurance. got it.
17:42:15 <oklopol> people seem to get much less done on average here, or maybe everyone i know is just slow
17:42:35 <oklopol> and then there's a few who do more
17:43:31 <oklopol> in the it dep you could pretty much just take all the courses, if i didn't aim for a 5.0 average i could do that and still spend my weekends partying like a monkey
17:44:04 <oklopol> unfortunately i don't like computers
17:44:37 <oerjan> i take it you never use computers then.
17:44:55 <oerjan> i see no obvious contradictions in that conclusion.
17:45:35 <oklopol> phantom made the same remark
17:45:45 <oerjan> huh
17:46:04 <oklopol> it's the people that make irc enjoyable, not the computer
17:46:13 <oklopol> but i do use this thing for other things
17:46:22 <oklopol> but i'm not proud of it
17:46:26 <oklopol> actually i totally am
17:46:38 <oklopol> i'm so fucking proud i could write a song about it
17:47:15 <oklopol> not gonna tho
17:47:18 <oklopol> or maybe i will
17:50:20 <oerjan> <Phantom_Hoover> I demand the soul of your first-born child, AnMaster
17:50:36 <oerjan> so clearly phantom hoover = soul collector
17:54:30 <oerjan> <Deewiant> I don't use insert, I use R in vim <-- i sometimes use Insert in vim, it toggles between R and i modes after all
17:55:48 <oklopol> i thought that was some sort of chuck norris doesn't use insert joke kind of thing type of anecdote
17:55:51 <oklopol> at first
17:56:03 <oklopol> but it wasn't very funny
17:56:33 <oerjan> well naturally chuck norris doesn't use insert, since he never makes any errors he just types the entire file from start to finish
17:58:17 <AnMaster> oerjan, arrow keys are broken in vim IMO. And so is enter at end of line in the middle of the file, and backspace at start of line
17:58:18 <AnMaster> iirc
17:58:27 <AnMaster> on the whole vim is very wtf
17:58:34 <AnMaster> even ed makes more sense
17:58:51 <oerjan> AnMaster: i don't recall how arrow keys or enter are broken
17:59:37 <Deewiant> oerjan: Aye, but I never (as far as I can recall) feel the need to do that
17:59:38 <oerjan> there are a number of settings to change their behavior, though
18:00:17 <AnMaster> oerjan, in vi?
18:00:22 <AnMaster> or vim?
18:00:28 <AnMaster> they seem about equally bad to me
18:00:34 <oerjan> i don't know vi specifically
18:00:37 <AnMaster> nah, emacs for me, or nano.
18:00:52 <AnMaster> nano is quite nice for quick config file editing as root
18:00:55 <oerjan> AnMaster: you still haven't explained _how_ they are broken
18:01:19 <AnMaster> oerjan, well, iirc, enter took me to next line, didn't insert a newline
18:01:20 <AnMaster> or such
18:01:31 <AnMaster> oerjan, this was years ago
18:01:36 <AnMaster> I just remember the brokenness
18:01:38 <AnMaster> not the details
18:01:42 <oerjan> AnMaster: you were probably in normal rather than insert mode
18:01:43 <oklopol> oerjan: what os do you use?
18:01:51 <AnMaster> since I avoided /vim?/ since then
18:01:57 <AnMaster> oerjan, IMO insert is the normal mode of editing
18:01:58 <oerjan> oklopol: windows XP
18:02:02 <AnMaster> oerjan, overwrite is not the normal
18:02:06 <oklopol> oerjan: lol only noobs use windows
18:02:18 <oerjan> AnMaster: sure, and i just tested here and enter certainly starts a new line
18:02:19 <AnMaster> didn
18:02:33 <AnMaster> oklopol, didn't* ehird use windows95 for a bit?
18:02:39 <AnMaster> I mean, like during last year
18:02:55 <oerjan> AnMaster: oh and by insert mode i don't mean the overwrite/insert distinction
18:03:08 <AnMaster> oerjan, then what do you mean?
18:03:14 -!- atrapado has quit (Quit: Saliendo).
18:03:14 <AnMaster> the command mode?
18:03:20 <AnMaster> pretty sure it wasn't that
18:03:42 <Deewiant> It probably was since that's what enter does by default in normal mode
18:03:48 <AnMaster> oerjan, there is only one vi(m) command worth remembering:
18:03:48 <oerjan> AnMaster: what i mean is the distinction between normal (command) and insert mode is the fundamental one in vi(m)
18:03:51 <AnMaster> :q!
18:03:52 <Deewiant> (Command mode exists and is not normal mode)
18:04:07 <oerjan> heh right
18:04:09 <AnMaster> just in case you start it due to a typo of a command
18:04:21 <Deewiant> There's only one emacs command worth remembering: C-x C-c
18:04:35 <AnMaster> har
18:04:42 <AnMaster> Deewiant, nano then?
18:04:46 <oerjan> AnMaster: oh whatever you're just trolling
18:04:52 <Deewiant> Not even worth remembering anything for nano :-P
18:05:04 <AnMaster> Deewiant, yeah it has that list at the bottom
18:05:06 <AnMaster> helpful I guess
18:05:26 <AnMaster> anyway, nano is quite nice IMO for simple stuff where you don't need syntax highlight
18:05:30 <AnMaster> such as editing fstab or whatever
18:06:01 <Deewiant> vim is better :-P
18:06:17 <AnMaster> Deewiant, ed!
18:06:23 <Deewiant> No, not ed.
18:06:36 <AnMaster> Deewiant, yes, ed
18:06:47 -!- ais523 has joined.
18:07:04 <AnMaster> men jag skulle inte svära ed på att ed är bäst ;P
18:07:26 <AnMaster> oh wait, ais523 joined, I thought the only active people knew Swedish... meh can't translate the joke really
18:07:43 <AnMaster> (due to it being a pun)
18:07:47 * pikhq_ has been a-lurking
18:08:09 <AnMaster> pikhq_, well, translating puns is hard. Suffice to say "ed" is a Swedish word
18:08:09 <pikhq_> AnMaster: Oh?
18:08:19 <oerjan> meaning "oath"
18:08:21 <AnMaster> yep
18:08:35 <pikhq_> Sadly, "Ed" is but a name in English.
18:08:49 <pikhq_> I'm going to guess that's cognate with "oath".
18:09:03 <oerjan> probably.
18:09:27 <oerjan> the german is "Eid" iirc
18:09:49 <Deewiant> Not "Schwur"?
18:10:03 <Deewiant> Evidently both.
18:10:14 <AnMaster> sounds like "swear"?
18:10:28 <oklopol> from schweren right
18:10:32 <oerjan> "svära" would be the cognate of those
18:10:50 <oklopol> ich hab einen schwur geschworen
18:10:52 <oerjan> (no:sverge)
18:11:39 <oklopol> *sverige
18:11:52 <oerjan> i was not going to point out that
18:12:14 <oerjan> (they're not pronounced the same though, hard vs. soft g)
18:12:36 <AnMaster> oerjan, yep
18:12:46 <AnMaster> (wrt svära)
18:12:47 <oklopol> the swedish sound is neither of the english g's
18:12:58 <oklopol> i don't know what hard and soft mean
18:13:06 <oerjan> no more like english y
18:13:11 <oerjan> *no,
18:13:15 <oklopol> is the soft or hard one?
18:13:21 <oklopol> or both
18:13:22 <oerjan> that's the soft one
18:13:24 <oklopol> okay
18:13:41 <AnMaster> oerjan, you mean like "sverje"?
18:13:42 <oerjan> g historically turns to the same as j in front of frontal vowels
18:13:45 <oerjan> AnMaster: yes
18:13:55 <oklopol> yes, sverje is how swedes pronounce it
18:14:02 <AnMaster> oerjan, well yes that is how you pronounce it, but _iirc_ there are some dialects where this is not true
18:14:08 <AnMaster> forgot which ones
18:14:12 <oerjan> oklopol: also norwegians, for the most part
18:14:38 <AnMaster> oerjan, and we pronounce Norge as Norje unless we are trying to imitate Norwegians
18:14:50 <oerjan> otoh norge is pronounced with a hard g in norwegian
18:14:57 <AnMaster> oerjan, yes, but not in Swedish
18:14:58 <oklopol> i read that as "irritate norwegians"
18:15:05 <oerjan> oklopol: THAT TOO
18:15:09 <AnMaster> oklopol, that too maybe. Don't know how they feel about it
18:15:10 <oklopol> :D
18:15:23 <AnMaster> oerjan, argh, how did you learn to write that fast?
18:15:39 <oklopol> yeah how can you write two words faster than AnMaster can write a sentence
18:15:41 <AnMaster> I figured I had a lot of time
18:15:55 <AnMaster> oklopol, exactly! oerjan is a very slow typer!
18:16:05 <oerjan> "Norge, Norge, det är ett ruttet land"
18:16:06 <AnMaster> well... was, yesterday
18:16:18 <AnMaster> oerjan, do ruttet mean the same as in Swedish?
18:16:25 <oerjan> AnMaster: that _is_ swedish
18:16:30 <AnMaster> oh
18:16:34 <oklopol> i'm an okay typer but i'm a very slow thinker
18:16:34 <oerjan> norwegian would be "rottent", i think
18:16:40 <oerjan> *råttent
18:16:54 <AnMaster> oerjan, also no, it is greasy, from all that oil
18:17:15 <AnMaster> major distinction
18:17:18 <oerjan> oh?
18:17:32 <AnMaster> oerjan, yeah, your oil platforms
18:17:37 * oerjan isn't sure whether's he's being trolled right now
18:18:13 <AnMaster> oerjan, more like absurd humour
18:18:20 <AnMaster> oerjan, if you were allowed that recently so am I!
18:18:21 * oerjan googles and concludes AnMaster is lying
18:18:34 <AnMaster> oerjan, what?
18:18:38 <oerjan> ruttet definitely means rotten
18:18:38 <AnMaster> about it being absurd humor?
18:18:51 <oerjan> not greasy
18:18:51 <AnMaster> oerjan, oh I didn't mean rutten = oily
18:18:57 <AnMaster> I meant Norway was oily, not rotten
18:18:58 <AnMaster> ;P
18:19:08 <oerjan> AnMaster: ah well
18:19:38 <AnMaster> oerjan, nearly slipped outside the Fram museum....
18:19:40 <oerjan> most of the oil is exported anyway
18:19:42 <AnMaster> dangerous stuff...
18:22:08 <oerjan> <Deewiant> From the vim docs: "There is no reverse replace mode (yet)." <-- you'd probably want all four, or is it eight, directions available, like emacs picture mode
18:22:22 <AnMaster> oerjan++
18:22:28 <AnMaster> oerjan, also ais523 mentioned that...
18:22:54 <AnMaster> Deewiant, anyway, how tricky could it be writing a few line of whatever scripting language vim uses to add that feature
18:23:01 <oerjan> that picture mode is more or less the only reason i've sometimes in the past considered emacs
18:23:03 <AnMaster> if it is like in emacs, not very tricky
18:23:04 <Deewiant> oerjan: Ideally, yes, but for starters, that'd be nice :-)
18:23:13 <Deewiant> Probably very tricky
18:23:16 <AnMaster> Deewiant, what?
18:23:21 <AnMaster> what sort of shitty software is that
18:23:23 <Deewiant> I don't think you can add new modes
18:23:43 <AnMaster> Deewiant, why not
18:23:50 <AnMaster> how are the existing ones added?
18:23:56 <Deewiant> In C.
18:24:00 <AnMaster> wtf
18:24:04 <AnMaster> stupid design
18:24:21 <AnMaster> Deewiant, aren't the keys just mapped to some "insert self" function?
18:24:36 <AnMaster> so you could override that with some more complex thing
18:24:46 <Deewiant> In insert mode, yes
18:24:47 <AnMaster> like you can do in emacs (note: note sure if picture mode does it like that or not)
18:25:09 <oerjan> you can certainly override on a per-character basis, don't know about at large
18:25:10 <Deewiant> I suppose it could be possible somehow
18:25:20 <Deewiant> There may be an autocmd for "character inserted"
18:25:26 <AnMaster> Deewiant, so then just add something that replaces the hook for key press to be something else than self insert
18:25:27 <Deewiant> If not, you'd have to map every possible character
18:25:39 <oerjan> (by defining insertion mode abbreviations)
18:25:47 <Deewiant> AnMaster: Right: they're not "insert self", they're "insert <key>"
18:25:54 <oerjan> hm or wait
18:26:04 <AnMaster> Deewiant, okay
18:26:09 -!- jabb_ has joined.
18:26:15 <jabb_> !!!
18:26:16 <AnMaster> Deewiant, how does that interact with different keyboard layouts?
18:26:23 <oerjan> jabb_: ???
18:26:56 <Deewiant> AnMaster: It works. The default insert mappings are magic, I'm pretty sure.
18:27:02 <AnMaster> Deewiant, heh
18:27:07 <Deewiant> I.e. they're not mapped.
18:27:09 <Deewiant> Or something.
18:27:22 <AnMaster> Deewiant, vim's code base sounds like a mess
18:27:33 <AnMaster> Deewiant, and the scripting capabilities sound very limited
18:27:41 <Deewiant> Don't know about the code, but the scripting is limited, yes.
18:28:03 <Deewiant> Lot less limited than a lot of more "normal" editors', but certainly much more limited than emacs's
18:28:39 <oerjan> hm abbreviations don't do what i meant, so i guess it's mappings
18:28:57 <Deewiant> I'm not sure if you even can imap an ordinary letter
18:29:03 <AnMaster> I wonder if picture-mode and viper interacts badly or not
18:29:10 <AnMaster> that might be a solution for Deewiant
18:29:13 <Deewiant> viper sucks
18:29:15 <Deewiant> vimpulse sucks
18:29:23 <AnMaster> vimpulse? never heard of it
18:29:33 <AnMaster> and viper, I never used, didn't see the point
18:29:53 <AnMaster> oerjan, btw, why did you consider emacs due to the picture mode?
18:30:19 <oklopol> fung
18:30:20 <oerjan> Deewiant: :imap a b works fine
18:30:29 <Deewiant> Alright, cool
18:30:38 <oerjan> AnMaster: fungoids, ascii graphics
18:30:47 <oklopol> oh
18:30:51 <AnMaster> oerjan, ah, don't remember you doing much with fungoids?
18:31:01 <oklopol> he's done more than you
18:31:05 <oklopol> what ascii graphics?
18:31:17 <Deewiant> There's also a CursorMovedI event
18:31:23 <oerjan> no i _started_ an unlambda interpreter but never finished more than the parser
18:31:31 <Deewiant> Which may or may not activate on insertion
18:31:51 <oklopol> so probably it was 98
18:32:01 <oerjan> yeah
18:32:28 <oerjan> at least something with unlimited fungespace
18:32:33 <oklopol> unlambda parser in 93 sounds like quite an exercise in concise
18:32:38 <oklopol> well right
18:32:49 <oklopol> my only befunge program is 93 with unlimited fs
18:33:05 <oklopol> i don't even remember what it does wait yes i do
18:35:09 <AnMaster> Deewiant, wait, did you mean "I haven't tested yet, and not documented" or "specifically documented as "may or may not activate on insertion"?
18:35:46 <Deewiant> AnMaster: It's not that retarded :-P
18:36:31 <AnMaster> heh
18:36:57 <AnMaster> oklopol, what does it do?
18:37:33 <AnMaster> Deewiant, btw do you have a 93 version of your "generate befunge number" script?
18:37:48 <Deewiant> I wouldn't call it a script
18:37:49 <oklopol> it's a calculator with single digit numbers.....
18:37:51 <Deewiant> And it supports 93
18:38:21 <oklopol> i didn't have much ambition back then i guess
18:38:22 <AnMaster> Deewiant, ah nice, forgot if you made it public...
18:38:31 <Deewiant> By default it uses decimal, hex, and ASCII printable chars; you can config it to use only decimal, only decimal+hex, or decimal,hex,latin1
18:38:38 <Deewiant> Not sure if I've put it up anywhere
18:38:49 <AnMaster> Deewiant, okay can you generate 1208925819614629174706176 in befunge98 for me
18:39:07 <Deewiant> I'm not sure
18:39:10 <AnMaster> Deewiant, oh?
18:39:12 <Deewiant> Let me see if I have the binary anywhere
18:39:37 <AnMaster> assuming it support bignum, that is more than 2^64
18:39:54 <Deewiant> Found it
18:39:58 <Deewiant> 4'@'@::**:*:***
18:40:12 <AnMaster> hm
18:40:29 <AnMaster> Deewiant, I guess powers of two are quite easy
18:40:34 <AnMaster> yeah
18:40:41 <Deewiant> Speed depends mostly on the speed of factor(1) on it
18:40:47 <AnMaster> Deewiant, does it only do multiplications? Or addition as well?
18:41:03 <Deewiant> How would you get primes without addition :-P
18:41:19 <oerjan> tricky
18:41:25 <AnMaster> Deewiant, indeed
18:41:44 <Deewiant> It used to do subtraction too but it didn't seem to help much so I removed it
18:42:09 <oklopol> i don't think i've actually ever needed subtraction for anything
18:42:49 <oklopol> i think they just have it for like completeness, because there's addition so it makes sense to have a kind of antiddition
18:42:50 <oerjan> oklopol: you and your positive-only thinking
18:42:54 <AnMaster> Deewiant, what about 956960600005639447752170498370241
18:43:07 <AnMaster> Deewiant, hint: this is two large primes multiplied
18:43:08 <Deewiant> 'G'!8"++1}r"+']45'@**+******+"/*H"f' '@*+"IT@"f4+**+":KuQ"d4'@*+***+****+*
18:43:13 <AnMaster> Deewiant, okay fast computer
18:43:18 <Deewiant> A school computer
18:43:29 <AnMaster> Deewiant, that could mean anything
18:43:29 <Deewiant> I'm in Windows so I don't have access to it on my own computer
18:43:41 <Deewiant> Seems to be a bit worse than my machine
18:43:44 <oklopol> might be smaller to just write "that number"(convert to number)
18:43:46 <Deewiant> model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
18:44:02 <oklopol> but i guess that's been pointed out at some point because it's kind of a trivial observation
18:44:07 <Deewiant> It has
18:44:08 <AnMaster> oklopol, subtraction is just addition of negative numbers after all
18:44:14 <Deewiant> And "convert to number" is long
18:44:36 <oklopol> AnMaster: i don't think i've ever actually seen a negative number outside textbooks
18:44:49 <AnMaster> Deewiant, challenge: 131270734444548411694897002275486554358434553057
18:44:52 <oklopol> it's an interesting concept yes, but it's not actually very useful
18:45:08 <AnMaster> oklopol, eh, -2 C outside or such?
18:45:10 <oklopol> yeah Deewiant how well can your code call the factor program someone else coded for that number?!?
18:45:11 <AnMaster> that is a negative number
18:45:25 <AnMaster> oklopol, and you never look at thermometers I assume
18:45:34 <oklopol> err everyone sane uses kelvins
18:45:38 <AnMaster> well sure
18:45:55 <oklopol> in finland most people don't even know negative numbers exist
18:46:03 <pikhq_> Everyone sane uses Fahrenheit. And not this newfangled "0 < 1" scale either!
18:46:10 <AnMaster> oklopol, but normal temps on normal "how cold is it outside today" style thermometers use C I assume?
18:46:24 <AnMaster> pikhq_, was Fahrenheit upside down as well?
18:46:27 <AnMaster> originally I meant
18:46:32 <oklopol> no i think they use kelvins
18:46:55 <AnMaster> Deewiant, any comments on this? You live in Finland and you are saner than oklopol
18:47:08 <Deewiant> Nobody uses Kelvins :-P
18:47:09 <AnMaster> so what scale do common, non-scientific thermometers use?
18:47:16 <Deewiant> Centigrade
18:47:56 <AnMaster> Deewiant, right, as I suspected. You only use kelvin if doing stuff with liquid nitrogen or colder. Or for things with temperature around that of the sun
18:48:16 <oklopol> i've never even TASTED someone use anything but kelvins in binary
18:48:27 <oklopol> oh wait
18:48:41 <oklopol> why would anyone use a scale that has 100 so deeply integrated in its guts
18:48:43 <Deewiant> Well I guess scientists use mostly Kelvin in most countries
18:48:46 <oklopol> that's a horrible number
18:48:48 <AnMaster> or of course for white point in colour calibration
18:49:07 <AnMaster> Deewiant, yep. But I doubt they use it to talk about how cold it was while waiting for the bus this morning ;P
18:49:11 <oklopol> maybe it's best not to think about temperatures at all
18:49:14 <Deewiant> Quite
18:49:23 <oerjan> oklopol: kelvin also has 100 deeply ingrained, it's just a bit better hidden
18:49:30 <oklopol> oerjan: i just said taht
18:49:31 <oklopol> *that
18:49:44 <oklopol> "oh wait"
18:49:51 <oklopol> because i realized kelvins in binary doesn't help
18:49:59 <oerjan> oh
18:50:14 <AnMaster> because nonsensical bases are fun?
18:50:29 <oklopol> then again who the fuck gives a shit about water so i guess it's okay that the random number 100 is associated with it
18:50:34 <oklopol> or wait
18:50:39 <oklopol> actually i love water
18:50:42 <AnMaster> base 10 doesn't really make any sense except anatomically
18:50:46 <oklopol> i was swimming yesterday
18:50:51 <oerjan> water is so deliciously wet
18:50:59 <oklopol> 4.5 meters deep no one can judge ya
18:51:06 <AnMaster> ?
18:51:14 <oklopol> i mostly dive when i'm swimming
18:51:18 <AnMaster> ah
18:51:50 <oklopol> because the other thing i like to do is play in the shallow end and it's embarrassing because i'm not 7.
18:51:59 <Deewiant> AnMaster: factor(1) seems to be failing on that number
18:52:10 <Deewiant> Mathematica can do it in 7 seconds on my home machine
18:52:15 <jabb_> There are a lot of derivations of brainfuck...
18:52:27 <oklopol> jabb_: yes, and none of them is as cool as toi
18:52:53 <Deewiant> AnMaster: Cheating: "/*H"f' '@*+"IT@"f4+**+":KuQ"d4'@*+***+****+7'!8'/5'b'@*+'o4'@'U3'@*+**+'+'H2b'@***+")@OyA0@"*+***+******+*
18:53:14 <oklopol> your program has an option to give the factorization?
18:53:22 <Deewiant> No
18:53:23 <oklopol> even tho you're using it from the binary
18:53:27 <oklopol> so very cheat okay
18:53:33 <oklopol> i forgot humans can write code too
18:53:47 <Deewiant> I just fungified the two factors I got from Mathematica separately and appended *
18:54:05 <Deewiant> The program would've done the same thing eventually
18:54:15 <oklopol> actually i realized that before i even said what i said
18:54:19 <oklopol> but i had to empty my queue
18:54:33 <oklopol> okay
18:54:35 <AnMaster> Deewiant, how is it cheating?
18:54:45 <oklopol> why don't you use but one dimension
18:54:47 <AnMaster> Deewiant, as in, you did it in two parts?
18:54:49 <Deewiant> Because the program didn't do it all by itself
18:54:52 <oklopol> AnMaster: because it was a challenge for the program
18:54:59 <AnMaster> Deewiant, ah
18:55:18 <oklopol> oh okay he didn't understand the part you explicitly said a few lines ago
18:55:22 <AnMaster> Deewiant, what algorithm do you use for factorisation?
18:55:26 <oklopol> i thought he didn't understand how that was cheating
18:55:31 <AnMaster> oklopol, I was reading scrollback
18:55:31 <Deewiant> AnMaster: factor(1)
18:55:37 <AnMaster> got a bit busy there
18:55:46 <AnMaster> Deewiant, ah, you invoke an external program. I see
18:55:46 <Deewiant> As I've said or implied a couple of times now
18:56:02 <oklopol> AnMaster: yes i know i just don't like misreading people's minds
18:56:04 <Deewiant> AnMaster: Because factor(1) is much better than anything I could come up with :-P
18:56:10 <oerjan> it's a factor to reckon with
18:56:27 <AnMaster> Deewiant, shell out to mathematica? ;P
18:56:33 <AnMaster> or W|A
18:57:03 <Deewiant> W|A doesn't answer
18:57:11 <oklopol> i actually have no idea what the best factorization algos are
18:57:18 <oklopol> what are they, please go through them in detail
18:57:22 <Deewiant> Mathematica could work but then I'd have to check whether it exists, for factor(1) I can just assume it :-P
18:57:43 <AnMaster> Deewiant, so fall back on factor?
18:58:05 <oklopol> knowing mathematica you should probably check the answer is correct, too...
18:58:08 <AnMaster> Deewiant, also you can't assume factor. I'm almost completely certain it isn't POSIX
18:58:23 <Deewiant> oklopol: "FactorInteger switches between trial division, Pollard p-1, Pollard rho, elliptic curve and quadratic sieve algorithms. "
18:58:37 <Deewiant> AnMaster: Of course I can fall back but I'd still have to check something
18:58:44 <Deewiant> AnMaster: For factor(1) I can reasonably list it as a dependency
18:58:51 <oklopol> okay so i know two of those
18:59:13 <oklopol> actually i've heard of elliptic curve methods but no idea how they would help
18:59:29 <AnMaster> Deewiant, heh
19:00:33 <AnMaster> oklopol, all I know is that they are linked to a lot of stuff that concerns cryptography
19:00:37 <Deewiant> oklopol: factor evidently uses Pollard rho: http://www.gnu.org/software/coreutils/manual/html_node/factor-invocation.html
19:00:43 <oklopol> lol ok
19:00:48 <Deewiant> And it says that it's bad for numbers with big factors
19:00:57 <Deewiant> "for example, numbers which are the product of two large primes"
19:01:01 * Deewiant leers at AnMaster and his number
19:01:14 <AnMaster> Deewiant, I knew factor had that issue yes
19:01:15 <oklopol> isn't pollard rho like 2^sqrt(n)
19:01:22 <Deewiant> No clue
19:01:24 <AnMaster> Deewiant, not the details of why
19:01:30 <Deewiant> I only know trial division
19:01:36 <oklopol> errrrrrrr
19:01:46 <AnMaster> Deewiant, it manages just fine on one large and several small
19:01:59 <oklopol> yes possibly it could be that, i seem to have forgotten how it works
19:02:06 <AnMaster> Deewiant, so what I did, enter some large random numbers, until I got some large primes, then multiplied them
19:02:11 <oklopol> actually i guess it couldn't
19:02:21 <oklopol> because that's the complexity of trial division
19:02:40 <oklopol> no umm
19:02:43 <oklopol> okay i'm being a retard
19:02:48 <oklopol> someone kick me
19:02:56 * Deewiant kicks oklopol
19:06:26 <cheater99> helloklopol
19:06:52 -!- CakeProphet has joined.
19:06:55 <CakeProphet> WOW
19:07:05 <CakeProphet> ...so my shrooming adventures bore no fruit.
19:07:12 <CakeProphet> I found some really cool red mushrooms though.
19:07:20 <CakeProphet> but they'd probably kill me if I ate them. No good.
19:07:23 <oklopol> yeah drugs are never the answer
19:07:29 <CakeProphet> psh,
19:07:34 <CakeProphet> that's what you think.
19:07:57 <CakeProphet> shrooms are the only thing that's not shit.
19:08:17 <CakeProphet> as far as drugs.
19:08:39 <CakeProphet> in any case, I've got some cool ideas for a stack based language. I just need to figure out a ridgid semantics.
19:09:04 <CakeProphet> I think I'll use an assembly like syntax, to make it like a VM intermediate.
19:09:33 <CakeProphet> er... tree-based, not stack. Technically graph -- since there's both hard and soft references.
19:14:20 <oklopol> why do you want a distinction?
19:15:04 <AnMaster> <CakeProphet> shrooms are the only thing that's not shit.
19:15:04 <AnMaster> <CakeProphet> as far as drugs.
19:15:04 <AnMaster> <CakeProphet> in any case, I've got some cool ideas for a stack based language. I just need to figure out a ridgid semantics.
19:15:09 <AnMaster> XD
19:15:54 <AnMaster> that might be an usable way to invent new esolangs: get high and have crazy ideas
19:16:03 <oklopol> you'd think so
19:16:10 <oklopol> but not ime
19:16:33 <cheater99> what's less crap (for IM, not irc)
19:16:38 <CakeProphet> basically the language builds a huge tree, where the data constructors are bytes, floats, symbols, references (soft), and links (hard). Nodes are implitcitly enumerated and optionally named with a file-system like structures to handle scoping. The nodes can also be explicitly named and unenumerated (by giving it a name that with a dot)
19:16:42 <cheater99> pidgin or telepathy?
19:16:43 <CakeProphet> AnMaster: and yes, it definitely is.
19:17:05 <oklopol> telepathy is better
19:17:16 <cheater99> why?
19:17:27 <oklopol> is telepathy a program?
19:17:39 <cheater99> yes
19:17:43 <oklopol> otherwise your question makes no sense
19:17:43 <oklopol> okay.
19:17:57 <oklopol> then i retract my statement
19:18:39 <oklopol> i just know pidgin is crap (i extrapolate this from knowing it's aprogram)
19:18:40 <CakeProphet> there's no convention, but methods can be defined by storing operations in the tree without using the call operation on a symbol. Call basically is basically a goto instruction for symbols, and will move control flow to the branch in the tree with the given name. The "call" instruction also sets a .return link within the method program-tree
19:18:41 <oklopol> *a program
19:19:31 <CakeProphet> which can be used as a reference to the calling code... to do anything with (such as evaluate and return control flow, but it doesn't have to do either, thus allowing arbitrary control flow due to being embedded within the data structure of the language)
19:20:07 * AnMaster prods laptop
19:20:13 <AnMaster> that was an odd failure mode for X
19:20:15 <AnMaster> or gnome
19:20:17 <AnMaster> or whatever
19:20:55 <AnMaster> like, clicking stuff like buttons didn't do anything, clicking other apps in the taskbar sometimes worked, clicking inactive window did nothing. Clicking tabs in a window worked
19:20:57 -!- hiato has joined.
19:20:59 <AnMaster> this applied to all programs
19:21:06 <AnMaster> restarting X "fixed" it
19:21:18 <AnMaster> nothing strange like dbus crashing or such in the logs
19:22:10 <CakeProphet> there would be textual macros as well... to shorten the source code itself, along with the lisp-like "runtime macros", because they can arbitrarily change the structure of the calling codes neighboring nodes. The typical "standard function" semantic would be to have arguments as the children of the function symbol node. So you make a function symbol with argument children and do the call instruction on the symbol, and then the fu
19:22:19 <Deewiant> CakeProphet: "and then the fu"
19:22:26 <CakeProphet> ... :)
19:22:52 <Deewiant> I recommend a client that can auto-split lines so you don't have to worry about cutoff
19:23:01 <AnMaster> CakeProphet, your client cut it off there
19:23:04 <AnMaster> that is what Deewiant meant
19:23:11 <AnMaster> CakeProphet, what was after it
19:23:21 <CakeProphet> and then the function will destroy the childre and replace the calling symbol with the result.
19:24:21 <CakeProphet> by accessing .return . Oh and the unenumerated .. node represents a parent.
19:24:28 <oklopol> oh right you're talking about trees
19:24:47 <CakeProphet> so reference .return/.. would reference the calling nodes parent.
19:25:10 <oklopol> the destroy the children function sounded weird out of context
19:25:16 <CakeProphet> ... :)
19:25:30 * cheater99 destroys oklopol's children
19:25:31 <CakeProphet> ...also, filesystem - in tree
19:25:31 <AnMaster> cheater99, not using IM is better
19:25:47 <cheater99> AnMaster, you are such a useful and purposeful person
19:25:50 <AnMaster> cheater99, or: two tin cans with a bit of string in between
19:25:54 <AnMaster> that works really well
19:25:58 <CakeProphet> the root of the tree is builtin to each program. Stuff like system resources... the file system even as part of the tree.
19:25:58 <oklopol> but think about the children!
19:26:04 <AnMaster> cheater99, :)
19:26:39 <AnMaster> oklopol, that is what he did. You forget to say he shouldn't think nasty things about them
19:28:07 <CakeProphet> so to define methods, you'd append children to /f... because it's the standard place to store functions in order to seperate them from the code data.
19:28:16 <CakeProphet> *functions lol, methods..... too much Java programming.
19:30:32 <oklopol> cheater99: yes think only good things about my children, BUT NOT *TOO* GOOD
19:30:54 -!- pikhq_ has quit (Read error: Connection reset by peer).
19:30:55 <CakeProphet> OO would be simulated with graphs I guess. You could store methods in a sub-node
19:31:20 <AnMaster> hm methods should have several member classes, which contain namespaces contain aspect oriented templates with lot of buzz words
19:31:23 -!- pikhq has joined.
19:31:28 <oklopol> interesting observation, "ninety nine" means "fucking, i fuck" in finnish
19:31:43 <oklopol> (when pronounced)
19:31:48 <uorygl> Like "I fuck while fucking"?
19:31:50 <AnMaster> sadly that isn't very esoteric, it is just java + C++ rotated 180°
19:32:04 <oklopol> no, ungrammatical "act of fucking i fuck"
19:32:28 <oklopol> this was tons of fun when i was 5
19:32:41 <AnMaster> at least you don't have the issue that Swedish has. en:six = sv:sex
19:33:03 <AnMaster> oklopol, what is "six" in finnish?
19:33:14 <oklopol> "kuusi"
19:33:21 <cheater99> yoface
19:33:35 <AnMaster> heh
19:34:15 <oklopol> AnMaster: don't you have a word for sex that sounds like sex?
19:34:45 <cheater99> 'seksii taimii'
19:35:04 <pikhq> ...
19:36:10 <Deewiant> oklopol: Actually not since the t in "ninety" is aspirated
19:36:29 <AnMaster> oklopol, well yes, en:sex == sv:sex as well. But that is a relatively new word for the concept I think
19:36:33 <uorygl> "Ninety" can be pronounced a bunch of ways.
19:36:35 <AnMaster> (in Swedish that is)
19:37:04 <uorygl> "Nainti" is the most proper pronunciation; you can also hear "naindi" or "naini".
19:37:13 <oklopol> uorygl: but none of them is the finnish one
19:37:15 <Deewiant> If not aspirated, it's voiced
19:37:19 <oklopol> if it's not aspirated
19:37:20 <oklopol> err
19:37:22 <oklopol> what Deewiant said
19:38:26 <cheater99> what is 'aspirated'?
19:38:27 <oklopol> anyway t is always aspirated so i consider it close enough
19:38:41 <Deewiant> http://en.wikipedia.org/wiki/Aspiration_%28phonetics%29
19:39:25 <oklopol> maybe i shouldn't but at least my mother not unlike yours
19:39:59 <oklopol> or maybe i should've said "not my mother" because not unlike is well whatever
19:40:51 <uorygl> Typos and lack of quotes are a confusing combination.
19:41:50 <oklopol> i typoed?
19:42:04 <uorygl> I don't know; I'm too confused.
19:42:26 <oklopol> i usually catch my typos and correct them
19:42:45 <oklopol> but you can ask Deewiant how that's parsed if it's too hard
19:43:07 <Phantom_Hoover> Who said what to me?
19:43:09 <uorygl> Neither "Maybe I shouldn't but at least my mother not unlike yours" neither ". . . because not unlike is well whatever" seems like English syntax.
19:43:35 <uorygl> Phantom_Hoover: oerjan quoted you.
19:43:39 <uorygl> 12:49:56 < oerjan> <Phantom_Hoover> I demand the soul of your first-born child, AnMaster
19:43:47 <oklopol> "neither .. neither .." doesn't look very english neither.
19:43:54 -!- SevenInchBread has joined.
19:43:56 <oklopol> (maybe it is tho)
19:44:00 <uorygl> Er, that latter "neither" is supposed to be a "nor".
19:44:07 <Phantom_Hoover> Indeed.
19:44:12 <oklopol> (thought so, i mainly just wanted to add a third neitehr)
19:44:13 <Phantom_Hoover> Although Latin works like that.
19:44:14 <oklopol> *neither
19:44:14 <uorygl> Hi, CakeProphet.
19:44:28 <oklopol> uorygl: see one might say ", but your mother"
19:44:35 <oklopol> i went one step further
19:44:37 <uorygl> Yeah, in Spanish, the words for "neither" and "nor" are both "ni".
19:44:46 <Phantom_Hoover> I forget what neither... nor... is, but both... and... is "et... et..."
19:44:49 <oklopol> because i figured you people are smart and love decrypting confusing stuff.
19:45:02 <uorygl> Likewise, "either" and "or" are both "o".
19:45:12 <uorygl> I don't know if "both" and "and" are both "y".
19:45:35 <uorygl> Spanish is economical! Every one-vowel word you can say means something.
19:45:36 <oklopol> did you get it?
19:45:44 <oklopol> it does in lojban too
19:45:49 <oklopol> or they
19:46:17 <uorygl> A, e, i, o and u mean to/at, and, and, or, and or, respectively. :P
19:46:26 <AnMaster> <uorygl> Er, that latter "neither" is supposed to be a "nor". <-- isn't nor universal? Just like nand
19:46:35 <uorygl> Except that "i" is spelled "y" instead.
19:46:42 <AnMaster> so neither nand should work too
19:46:44 <AnMaster> or wait
19:46:53 <AnMaster> how do you write a nor gate in nand hm...
19:46:58 <uorygl> AnMaster: um, I was referring to how in that sentence, I accidentally said "neither" where I meant to say "nor".
19:46:59 <Phantom_Hoover> Idea: Huffman-coded human language.
19:47:03 -!- CakeProphet has quit (Ping timeout: 276 seconds).
19:47:05 <AnMaster> uorygl, I know
19:47:08 <AnMaster> and?
19:47:10 <uorygl> But yeah, "nor" is universal.
19:47:27 <uorygl> Phantom_Hoover: take an existing human language and Huffman-code it?
19:47:44 <Phantom_Hoover> And make it pronouncable.
19:47:56 <uorygl> Right. Well, that couldn't be too hard.
19:48:00 <oklopol> uorygl: did you?
19:48:08 <uorygl> oklopol: no.
19:48:13 <oklopol> oh :\
19:48:31 <AnMaster> isn't it ((a'*b')')'
19:48:38 <AnMaster> I mean, using only nand and inverter
19:48:48 <oklopol> "but your mother is fat" => "but at least my mother isn't fat unlike yours"; "but your mother" => "but at least not my mother unlike yours"
19:48:50 <AnMaster> I think that should give you nor
19:48:53 <AnMaster> right?
19:48:54 <uorygl> AnMaster: yeah.
19:49:11 <uorygl> oklopol: got it.
19:49:33 <oklopol> AnMaster: also you need to mention inverters can be done with nand but i guess that's trivial
19:49:43 <AnMaster> uorygl, so now lets use "neither .... not nand (with inverted inputs)"
19:50:02 <oklopol> err
19:50:08 <AnMaster> oklopol, yes they can be done with nand, but I knew that since before
19:50:11 <oklopol> or wait what were you expressing
19:50:18 <oklopol> ((a'*b')')' = a'*b'
19:50:35 <AnMaster> oklopol, yes but that is an AND gate
19:50:55 <AnMaster> oklopol, use De Morgan to extract the ' from that and you get a NOR
19:51:12 <AnMaster> oklopol, I'm trying to rewrite "neither ... nor ..." into using a nand gate you see ;P
19:51:39 <AnMaster> wait so it would be...
19:52:06 <AnMaster> neither not ((not ...) nand (not ...))
19:52:08 <AnMaster> I guess
19:52:12 <Phantom_Hoover> Adrian^L, AnMaster ais523 BeholdMyGlory
19:52:15 <Phantom_Hoover> Damn.
19:52:17 <AnMaster> Phantom_Hoover, what?
19:52:24 <Phantom_Hoover> I did no mean to press enter.
19:52:30 <Phantom_Hoover> s/no/not/
19:52:33 <AnMaster> still wtf
19:52:40 <AnMaster> why would you list nicks like that
19:52:40 <Sgeo_> No all!
19:52:45 <AnMaster> without meaning to press enter
19:52:49 <AnMaster> that is a bit wtf
19:53:05 <AnMaster> strange hobby
19:53:14 <AnMaster> would fit right into xkcd "my hobby" I guess
19:53:18 <uorygl> Terve, mitä kuuluu?
19:53:51 <oklopol> mits tss, lueskelen turingin koneista
19:54:00 <Phantom_Hoover> I was mucking about with the tab-completion.
19:54:07 <AnMaster> I see
19:54:10 <SevenInchBread> Has anise been around today?
19:54:15 <AnMaster> who?
19:54:22 <uorygl> Yay, more Finnish.
19:54:22 <SevenInchBread> ...anise
19:54:28 <AnMaster> no clue who that is
19:54:37 <uorygl> SevenInchBread: alise?
19:54:40 <SevenInchBread> .....yes
19:54:42 <SevenInchBread> :)
19:54:50 <AnMaster> oh
19:54:51 * SevenInchBread has impeccable memory
19:54:53 <Phantom_Hoover> Isn't that a type of flavouring?
19:54:54 <AnMaster> not today no
19:55:02 <AnMaster> Phantom_Hoover, sin't that aniseed?
19:55:07 <Phantom_Hoover> Star anise?
19:55:11 <AnMaster> ansi?
19:55:44 <uorygl> Hrm, elative plural...
19:56:08 <uorygl> Is "mitäs tässä" an idiom?
19:56:45 <oklopol> the s in the end means nothing really
19:58:01 <oklopol> i think it's sort for "mitps", "-ps/pas", or usually "-p/-pa" are these meaningless thingies you can stick in the end of words sometimes
19:58:07 <oklopol> well not meaningless
19:58:10 <oklopol> but hard to translate
19:58:19 <oklopol> err
19:58:21 <uorygl> What does it mean?
19:58:40 <oklopol> and now to actually answer your question, yes it's an idiom :P
19:58:50 <uorygl> Ah, good. :P
19:58:56 <oklopol> "mit tss" doesn't mean anything afaik
19:59:20 <oklopol> or maybe some people use it for the same purpose
19:59:27 -!- Gracenotes has quit (Read error: Connection reset by peer).
19:59:42 <oklopol> yeah i think it's used quite a lot
20:00:10 <oklopol> i dunno i use english so much more
20:00:13 -!- Gracenotes has joined.
20:00:15 <oklopol> :D
20:00:21 <oklopol> i wonder if that's true
20:01:12 <oklopol> now i use english every day at work too so if i continue ircing then it will definitely happen
20:02:10 <uorygl> You'll become a native speaker. :P
20:02:18 <AnMaster> <oklopol> "mitä tässä" doesn't mean anything afaik <oklopol> or maybe some people use it for the same purpose <-- same purpose as a nop?
20:02:24 <AnMaster> noop*
20:02:47 <Phantom_Hoover> Noop!
20:02:54 <AnMaster> that is quite nice, having a natural language with a NOOP. Then you can uh, align your sentences to efficient second boundaries!
20:02:55 <AnMaster> or something
20:03:04 <oklopol> i prefer nop
20:03:07 <AnMaster> oh wait, that is what the "um..." is for
20:03:11 <Phantom_Hoover> What about "uuuuuuuuuuuuuuuuuuuU"?
20:03:25 <AnMaster> Phantom_Hoover, then you have strange alignment restrictions
20:03:32 <Phantom_Hoover> Also, the Fox News comment system appears to have been written by some platypi.
20:03:32 <oklopol> Phantom_Hoover: actually useful for poetry
20:03:34 <AnMaster> try rearranging your sentences
20:03:36 -!- Sgeo has joined.
20:03:40 <AnMaster> oklopol, :D
20:03:46 -!- Sgeo has quit (Read error: Connection reset by peer).
20:04:23 <Phantom_Hoover> Also, "I want to/uuu do you", which is basically 90% of poetry.
20:04:39 <AnMaster> Phantom_Hoover, what? Not all poetry is love poetry
20:04:58 <Phantom_Hoover> I didn't say that.
20:05:05 <Phantom_Hoover> 90!=100
20:05:08 <AnMaster> Phantom_Hoover, not even as much as 90% is
20:05:19 <Phantom_Hoover> Including the unpublished?
20:05:42 <oerjan> AnMaster: clearly it should be "nboth ... nand ..."
20:05:43 <AnMaster> Phantom_Hoover, you don't have any verifiable numbers over those anyway
20:06:06 <AnMaster> oerjan, what? Show me the steps to rewrite it to that.
20:06:31 <oerjan> THAT'S OBVIOUS
20:06:35 <oerjan> also punny
20:06:44 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
20:06:49 <AnMaster> Phantom_Hoover, but yes I was thinking about things like the Iliad. While love is involved certainly, it doesn't go along the lines of "I want to/uuu do you".
20:07:14 <Phantom_Hoover> IT WAS ATTEMPTED HUMOUR.
20:07:24 <AnMaster> Phantom_Hoover, or much of Shakespear's works
20:07:24 <Phantom_Hoover> REALITY DOESN'T FACTOR INTO IT.
20:07:38 <AnMaster> Phantom_Hoover, oh, forgot to flag it as humour
20:08:00 <oklopol> AnMaster only understands his own humor
20:08:16 <AnMaster> oklopol, no, I understand some other too, why else would I read iwc?
20:08:33 <AnMaster> (of course I know what oklopol did is an exaggeration.)
20:08:35 <oklopol> i haven't read iwc i didn't think its point was to be funny
20:08:45 <oklopol> i would never exaggerate
20:08:57 <AnMaster> yeah and everyone uses Kelvin ;P
20:09:01 <oerjan> AnMaster: that 90% might have a large overlap with the 90% that is crap, so using classics as evidence does not cut it
20:09:01 <oklopol> not even if someone showed a gun in my ass
20:09:06 <oklopol> *shoved
20:10:25 <oklopol> what was the percentage of statistics that was made up on the spot again?
20:10:29 <oerjan> EXAGGERATE DAMMIT, OR THERE WILL NEVER BE ANY LITTLE OKLOPOLS
20:10:48 <oerjan> oklopol: 73%
20:11:24 <AnMaster> oerjan, hm good point about the overlap
20:11:30 <oklopol> i don't think i get that, unless sex is some kind of exaggerated masturbation
20:11:41 <oklopol> AnMaster: Phantom_Hoover made that point too
20:11:57 <AnMaster> oerjan, I would recommend adding to the discussion that this warrants further studies and then publish it as is
20:12:15 <oklopol> oerjan keeps mimicking him for some reason
20:12:25 <oklopol> maybe i'm NOT the next oerjan?!?
20:12:34 <AnMaster> oklopol, no his point as about unpublished
20:12:48 <oerjan> oklopol: hard to say. i have a theory that alise is the next zzo38.
20:13:01 <AnMaster> oklopol, unpublished != the crap, though there might very well be a large overlap
20:13:01 <oklopol> :D
20:13:38 <oklopol> i think it was the same point
20:14:06 <AnMaster> oklopol, they are different statements. Also the crap includes some stuff not about sex.
20:14:09 <oklopol> oerjan: actually i don't think we're that similar, you're better at topology.
20:14:17 <AnMaster> Like about bridges that didn't hold up
20:14:23 <oklopol> no considerable differences in personalities tho
20:14:31 <oerjan> oklopol: explanation: if that gun in your ass goes off, there will definitely not be any little oklopols
20:14:42 <oklopol> :D
20:14:51 <AnMaster> oklopol, http://en.wikipedia.org/wiki/William_McGonagall#Tay_Bridge_Disaster
20:14:54 <oklopol> yes i suppose that was obvious
20:15:13 <AnMaster> I don't think it is about sex
20:15:19 <AnMaster> but I could be wrong
20:23:55 <oerjan> no, that one is about death. those are of course the only alternatives </freud>
20:25:03 -!- sshc has quit (Quit: leaving).
20:33:08 -!- SgeoN1 has joined.
20:33:39 -!- Sgeo has joined.
20:36:30 <AnMaster> oerjan, there is a third. Nature, especially "ode to the spring" or similar
20:36:58 <AnMaster> but yeah after that you only got modern statistical flukes which shouldn't even be considered proper poetry
20:36:59 <AnMaster> ;P
20:43:54 <AnMaster> oerjan, wait, how do we put E. A. Poe into this?
20:44:19 <AnMaster> ah it would be death
20:44:20 <AnMaster> right
20:44:31 <oerjan> so i thought. not that i actually know much poetry.
20:44:46 <AnMaster> oerjan, still I maintain that nature can be a valid third category
20:45:03 <oerjan> yeah, i was mainly making a freud joke there
20:45:32 <oerjan> and possibly not even correct freud
20:45:44 <AnMaster> Hamlet = death, Romeo & Juliet = death _and_ love, The Iliad = death mostly, a bit of love too
20:45:47 <AnMaster> hm
20:45:48 <AnMaster> yeah
20:45:52 <AnMaster> this seems to cover all
20:45:53 <AnMaster> :)
20:46:10 <AnMaster> oerjan, heh, didn't notice that
20:46:33 * oerjan recalls something about pastorals
20:46:56 <AnMaster> oerjan, don't they go into the nature category?
20:47:18 <oerjan> and perhaps some love as well
20:47:47 <AnMaster> oerjan, from wikipedia on pastoral poetry: "Pastoral literature began with the poetry of the Hellenistic Greek Theocritus, several of whose Idylls are set in the countryside [...]"
20:47:51 <AnMaster> yep, clearly nature
20:48:16 <AnMaster> I guess Theocritus didn't like the gods btw
20:48:17 <oerjan> the first poem example of http://en.wikipedia.org/wiki/Pastoral would seem to confirm the nature+love
20:49:22 <AnMaster> oerjan, so we could say that all poetry is made out of three parts, hm not a good word... ah got it! elements. Right so, ... made out of three elements, in different proportions
20:49:55 <AnMaster> why did I get a dejavu there...
20:50:53 <oerjan> http://en.wikipedia.org/wiki/Classical_element ?
20:51:41 <AnMaster> Ah indeed! their mistake was mixing up matter poetry somehow
20:51:57 <oerjan> heh
20:53:07 -!- kar8nga has quit (Read error: No route to host).
20:58:49 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
21:13:27 -!- hiato has quit (Quit: underflow).
21:14:12 -!- hiato has joined.
21:19:58 -!- Phantom_Hoover has joined.
21:20:39 <uorygl> Huh. Apparently, there's a Finnish spot in Michigan.
21:20:47 -!- hiato has quit (Quit: bbl).
21:22:11 <uorygl> Hancock, Michigan.
21:26:10 <AnMaster> funnily "han-" is "male-" in Swedish, not "male" (would be "hane"), but as in "hangroda" (male frog), it isn't used about humans though.
21:26:25 <AnMaster> so what a dirty name of a place
21:26:39 <uorygl> Quite. :(
21:26:42 <uorygl> I mean, :)
21:27:29 <AnMaster> heh
21:28:20 <uorygl> I could go up there and speak Finnish, if I knew Finnish and if they know Finnish. :P
21:28:38 <Deewiant> That holds for most values of "there"
21:29:30 <uorygl> True.
21:29:46 <AnMaster> Deewiant, only most?
21:30:05 <Deewiant> He can't go up to all values
21:30:28 <AnMaster> Deewiant, examples of such values
21:30:52 <Deewiant> The surface of VY Canis Majoris
21:31:21 <Deewiant> Even if uorygl were to know Finnish and they knew Finnish there, he couldn't go up there and speak Finnish
21:31:42 <AnMaster> Deewiant, hm? is it a neutron star or such?
21:31:51 <oerjan> alas, that would finish him
21:31:56 <uorygl> No, but it is a star.
21:32:02 <uorygl> A really big one.
21:32:07 <oerjan> the largest star known iirc
21:32:24 <uorygl> Yeah, Wikipedia says it is.
21:32:28 <oerjan> so more or less the opposite of a neutron star
21:32:43 <AnMaster> in a suitable protective vessel?
21:33:05 <AnMaster> of course I don't know of any such
21:33:13 <AnMaster> but you probably need anti-gravity too
21:33:35 <oerjan> hm if it is _really_ big maybe the upper atmosphere is so thin you could survive there
21:34:04 <uorygl> If you were inside a star, would it be possible for you to obtain usable energy?
21:34:25 <oerjan> hm the second law of thermodynamics might be a problem
21:34:34 <uorygl> Yeah.
21:34:40 <oerjan> not cold place to send waste energy
21:34:42 <oerjan> *no
21:35:04 <uorygl> How does the Earth stay cool? I guess we radiate energy into outer space, which means that outer space is in fact colder than Earth.
21:35:05 <Deewiant> I'm making a couple of reasonable assumptions here, such as no terribly unexpected technological breakthroughs during uorygl's lifespan
21:35:48 * oerjan whispers something about technological singularity
21:37:28 <oerjan> uorygl: the temperature of outer space is essentially the temperature of the cosmic microwave background (3 K) iirc
21:37:37 <oerjan> *about 3 K
21:37:50 <uorygl> Hm, I guess if you could put yourself inside some really good thermal insulation, you could probably pull hot plasma in, fuse it yourself, and spit it back out.
21:37:58 <uorygl> You could get a bit of a thermal gradient that way.
21:39:26 <uorygl> I'm guessing that solar panels emit light when hot and subjected to voltage.
21:39:38 * Phantom_Hoover changes client
21:39:41 -!- Phantom_Hoover has quit (Quit: Leaving).
21:40:05 -!- Phantom_Hoover has joined.
21:40:45 <uorygl> Since they produce voltage when cool and subjected to light.
21:40:55 <Phantom_Hoover> Apparently my name is "purple!
21:41:51 <oerjan> uorygl: i wouldn't want to bet either way, apart from blackbody radiation of course
21:42:50 <pikhq> uorygl: Most things emit light when hot. :)
21:43:00 <pikhq> And most things when subjected to voltage get hot.
21:43:11 <uorygl> Hm, yes.
21:43:36 <Phantom_Hoover> Given a gradient of entropy, can you use that for power?
21:43:53 <uorygl> Yes.
21:44:09 <uorygl> Because a gradient of entropy means that somewhere, entropy is less than the maximum. :)
21:44:10 <pikhq> Yes, that is how most power generation functions.
21:44:31 <Phantom_Hoover> "most"?
21:44:55 * uorygl ponders a purely mechanical analogy of a solar panel.
21:45:23 <uorygl> So. A wire is like a cable, and light is like lots of little balls.
21:45:41 -!- Phantom_Hoover has quit (Quit: Leaving.).
21:45:55 <uorygl> There's this panel thingy. When the little balls strike it, the energy from the strike goes into tugging the cable.
21:46:06 <uorygl> There's a ratchet that prevents the cable from slipping backwards.
21:46:30 <uorygl> The thing is, the ratchet generates heat when it's operated, and a ratchet, when hot enough, is no longer effective.
21:46:35 <AnMaster> <oerjan> not cold place to send waste energy <-- so build a huge stirling engine, extending from inside the star to a point sufficiently far away from the star
21:46:36 <AnMaster> :D
21:46:43 -!- Phantom_Hoover has joined.
21:47:14 <uorygl> So it seems like a hot solar panel indeed ought to act light a flashlight.
21:47:30 <AnMaster> uorygl, what?
21:47:44 <uorygl> Indeed ought to convert electricity to light, I should say.
21:48:15 <AnMaster> uorygl, really?
21:48:17 <AnMaster> huh
21:48:32 <AnMaster> uorygl, sure the process in a solar panel is reversible like that?
21:48:36 <AnMaster> sure for motor/generator it is
21:48:47 -!- MizardX has quit (Ping timeout: 260 seconds).
21:48:54 <uorygl> If it weren't, we'd have a way to get around that nasty Second Law.
21:49:13 <AnMaster> uorygl, but can you generate electricity by shining a strong light on a normal lightbulb?
21:49:35 <uorygl> Light bulbs convert electricity into heat, and that heat into light.
21:49:48 <uorygl> The light will get converted into heat, sure, but that heat will not produce electricity.
21:49:54 <AnMaster> uorygl, why not
21:50:00 <oerjan> uorygl: um but the second law doesn't say that you can get better than blackbody radiation that way, i think
21:50:00 <AnMaster> it should according to your logic?
21:50:08 <uorygl> You can generate heat, but you can't un-generate heat!
21:50:09 <Phantom_Hoover> Wait, what power-generation methods *don't* use an entropy gradient?
21:50:20 <AnMaster> uorygl, why not, isn't it the same as the solar cell?
21:50:23 <Phantom_Hoover> uorygl: UNLESS YOU'RE GOD.
21:50:47 * uorygl imagines a mechanical analogy of a light bulb.
21:50:50 <AnMaster> uorygl, also you can convert it into mechanical power using a stirling engine, then drive a generator with it
21:51:00 <AnMaster> but
21:51:07 <AnMaster> not with the lightbulb alone
21:51:21 <AnMaster> uorygl, black body radiation sure
21:51:24 <AnMaster> or such
21:51:57 <AnMaster> but my point was that I'm pretty sure any given device doesn't have to be reversible in itself
21:52:02 <uorygl> AnMaster: mmkay, I guess it will generate electricity, but that electricity will be Brownian motion.
21:52:09 <AnMaster> uorygl, eh?
21:52:27 <uorygl> The current will just sort of jitter back and forth randomly.
21:52:29 <AnMaster> ah
21:53:05 <uorygl> Hm, I would bet that diodes also heat up during use, and that hot diodes also fail.
21:54:02 <uorygl> In conclusion: thank goodness Earth's atmosphere is translucent.
21:54:45 * uorygl briefly wonders whether he's doing something irrational or pseudoscientific, but realizes that he's actually making lots of predictions.
21:54:46 <AnMaster> uorygl, what?
21:55:17 <uorygl> If Earth's atmosphere weren't translucent, light would neither enter or leave, and so photosynthesis would be impossible, and Earth would get really hot.
21:55:35 <AnMaster> uorygl, and yes hot diods can fail. Isn't that how one type of PROM worked basically?
21:55:37 <pikhq> Phantom_Hoover: Willing power into being
21:56:04 <Phantom_Hoover> That has the caveat of not actually working.
21:56:08 <Phantom_Hoover> \o/
21:56:08 <myndzi> |
21:56:08 <myndzi> /<
21:56:22 <Phantom_Hoover> It still doesn't work.
21:56:30 <uorygl> Suppose that there are lots of rocks on top of a cliff, and you generate power by lowering them to the ground.
21:56:32 <pikhq> uorygl: Heat would, however, enter. And it would end up leaving.
21:56:45 <pikhq> (if nothing else, because of blackbody radiation)
21:56:46 <uorygl> Does that have an entropy gradient?
21:56:49 -!- uorygl has changed nick to uorgl.
21:56:51 <uorgl> \o/
21:56:51 -!- BeholdMyGlory has quit (Remote host closed the connection).
21:56:56 <pikhq> Yes, that is an entropy gradient.
21:57:01 <uorgl> \o/ \o/
21:57:07 <uorgl> \o/ \o/
21:57:08 <myndzi> | |
21:57:08 <myndzi> /< /<
21:57:18 -!- uorgl has changed nick to uorygl.
21:57:39 <AnMaster> misaligned as usual
21:58:19 <uorygl> \m/ \o/ \m/ \m/ \o/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \o/ \m/ \m/ \o/ \m/ \o/ \m/
21:58:29 * uorygl pokes myndzi.
21:58:41 <uorygl> \m/ \o/
21:58:41 <myndzi> |
21:58:41 <myndzi> /<
21:58:51 <uorygl> \m/ \o/ \m/ \m/ \o/ \m/ \o/ \m/
21:58:51 <myndzi> | `\o/ | |
21:58:52 <myndzi> >\ | /< /|
21:58:52 <myndzi> (_|'\
21:58:52 <myndzi> |_)
21:58:55 * Phantom_Hoover writes a function with 3 nested MAPCARs
21:58:57 <AnMaster> what?
21:58:58 <uorygl> Strange.
21:59:01 <Phantom_Hoover> I feel... unclean.
21:59:05 <Phantom_Hoover> /m/
21:59:10 <Phantom_Hoover> \m/
21:59:12 <AnMaster> uorygl, at least it lined up, since you have the same nick length
21:59:24 <Phantom_Hoover> /o/o/o/
21:59:24 <myndzi> | |
21:59:24 <myndzi> /< |\
21:59:30 <AnMaster> Phantom_Hoover, does not line up
21:59:43 <uorygl> It lines up here in my monospace font.
21:59:53 <uorygl> Hm, your client omits leading spaces, doesn't it.
22:00:01 <uorygl> Does this message look like it starts with a bunch of spaces?
22:00:10 <Phantom_Hoover> Yes.
22:00:35 <AnMaster> uorygl, there are spaces at the start of it
22:00:44 <uorygl> How many?
22:00:52 <AnMaster> uorygl, it is under your t
22:00:52 <Deewiant> The correct amount
22:00:54 <AnMaster> in omits
22:00:58 <uorygl> Huh.
22:01:00 <AnMaster> the D is under the t that is
22:01:08 <uorygl> Then I wonder why myndzi's stuff doesn't appear to line up.
22:01:10 <Deewiant> uorygl: AnMaster's client right-aligns nicks
22:01:17 <uorygl> Mm.
22:01:23 <Deewiant> So that all message content starts from the same column
22:01:32 <AnMaster> uorygl, the thing is, I have a divider, nicks right align against it, then the text left aligns on the other side
22:01:42 <uorygl> /o/o/o/o/o/o/o/o/o/o\o\o\o\o\o\o\o\o\
22:01:43 <myndzi> | | | | | | | | |
22:01:43 <myndzi> /`\ /| /< /`\ |\ /< >\ |\ /<
22:02:00 <Deewiant> ______________o______________
22:02:01 <myndzi> |
22:02:01 <myndzi> >\
22:02:05 <Phantom_Hoover> Not for me, incidentally.
22:02:15 <Phantom_Hoover> But I'm using a non-monospaced font.
22:02:27 <AnMaster> uorygl, this is fixed (xchat has a floating one, was a bit tricky to do that with ERC), so "Phantom_Hoover" is max length, otherwise the nick will overflow the divider and thus the text would move out from the divider as well
22:02:32 <AnMaster> which would piss me off a lot
22:02:43 <AnMaster> Phantom_Hoover, SINNER!
22:03:12 <Phantom_Hoover> It's not going to kill me, so it'll just make me stringer.
22:03:22 <uorygl> \o/ \o\ /o/ <o> _o_ -o- "o"
22:03:22 <myndzi> | | | | | |
22:03:22 <myndzi> /< /| >\ /< /| >\
22:03:22 -!- Foobarbazzotqux has joined.
22:03:23 <Phantom_Hoover> s/i/o/
22:03:24 <myndzi> |
22:03:24 <myndzi> /'\
22:03:28 <Foobarbazzotqux> \o/
22:03:29 <myndzi> |
22:03:29 <myndzi> >\
22:03:37 -!- Tritonio_GR has joined.
22:03:48 -!- Phantom_Hoover has changed nick to Foobarbazzot.
22:03:52 <Foobarbazzot> \o/
22:03:52 <myndzi> |
22:03:52 <myndzi> /|
22:03:58 <Foobarbazzotqux> \o/
22:03:58 <myndzi> |
22:03:59 <myndzi> /`\
22:04:03 -!- Foobarbazzot has changed nick to Phantom_Hoover.
22:04:52 -!- Oranjer has joined.
22:05:02 <Phantom_Hoover> Oeranjer!
22:05:21 <Phantom_Hoover> It's like a cross between oerjan and Oranjer.
22:05:22 * AnMaster stabs Foobarbazzotqux for the horrible long nick
22:05:25 <Oranjer> :(
22:05:34 <Foobarbazzotqux> :-P
22:05:44 -!- Foobarbazzotqux has changed nick to Foobarbazzotquxq.
22:05:51 <AnMaster> who is Foobarbazzotquxq btw?
22:06:06 <Foobarbazzotquxq> This seems to be the freenode max length
22:06:15 <Phantom_Hoover> One of our Finnish members.
22:06:31 <Foobarbazzotquxq> Or at least, I tried to set to something longer but this is all it gave.
22:07:20 <oerjan> !haskell import Data.List; main = putStrLn . intersperse '/' $ ['a'..'z']
22:07:28 <Phantom_Hoover> Ah, so that's why I couldn't call myself Phantom_Hoovershire
22:07:31 <EgoBot> a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z
22:07:31 <myndzi> |
22:07:31 <myndzi> /\
22:07:41 <Phantom_Hoover> Why a ?
22:07:58 <oerjan> !haskell import Data.List; main = putStrLn . intersperse '/' $ ['A'..'Z']
22:08:00 <EgoBot> A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z
22:08:06 <AnMaster> !bf98 a,a.@
22:08:07 <oerjan> BAH
22:08:08 <AnMaster> hm
22:08:11 <AnMaster> !befunge98 a,a.@
22:08:15 <AnMaster> !befunge98 a.a,@
22:08:16 <EgoBot> 10
22:08:21 <Foobarbazzotquxq> !haskell import Data.List; main = putStrLn . intercalate "/\" $ ['a'..'z']
22:08:26 <AnMaster> right, that was the command
22:08:42 <Foobarbazzotquxq> !haskell import Data.List; main = putStrLn . intercalate "/\\" $ ['a'..'z']
22:08:42 <AnMaster> !befunge98 "/o/",,,a.@
22:08:42 <myndzi> |
22:08:43 <myndzi> /<
22:08:43 <EgoBot> /o/10
22:08:43 <ais523> Foobarbazzotquxq: you just hit one of my stalkwords
22:08:43 <myndzi> |
22:08:43 <myndzi> >\
22:08:48 <AnMaster> !befunge98 "/o/",,,a,@
22:08:48 <myndzi> |
22:08:48 <myndzi> /|
22:08:49 <EgoBot> /o/
22:08:52 <AnMaster> okay
22:08:57 <AnMaster> wth is going on there
22:09:03 <Foobarbazzotquxq> ais523: Right, "intercal" :-)
22:09:05 <AnMaster> oh it is trying to do mine
22:09:05 <ais523> hmm, are you trying to trigger myndzi deliberately
22:09:07 <ais523> Foobarbazzotquxq: yep
22:09:28 <AnMaster> !befunge98 a" /o/">:#,_@
22:09:28 <myndzi> |
22:09:28 <myndzi> |\
22:09:29 <EgoBot> /o/
22:09:29 <myndzi> |
22:09:29 <myndzi> /'\
22:09:33 <AnMaster> ...
22:09:35 <AnMaster> !befunge98 a" /m/">:#,_@
22:09:36 <EgoBot> /m/
22:09:40 <AnMaster> !befunge98 a" \m/">:#,_@
22:09:40 <EgoBot> /m\
22:09:44 <AnMaster> !befunge98 a" \m\">:#,_@
22:09:44 <EgoBot> \m\
22:09:46 <Foobarbazzotquxq> !haskell import Data.List; main = putStrLn . intercalate "/\\" . map (:[]) $ ['a'..'z']
22:09:48 <EgoBot> a/\b/\c/\d/\e/\f/\g/\h/\i/\j/\k/\l/\m/\n/\o/\p/\q/\r/\s/\t/\u/\v/\w/\x/\y/\z
22:09:48 <myndzi> |
22:09:49 <myndzi> |\
22:09:51 <AnMaster> !befunge98 a" /m\">:#,_@
22:09:52 <EgoBot> \m/
22:09:58 <AnMaster> wait what
22:10:06 <AnMaster> Gregor, why does it remove spaces at the start?
22:10:10 <AnMaster> Gregor, it is broken!
22:10:13 <Deewiant> !befunge98 a"/m\ ">:#,_@
22:10:13 <EgoBot> \m/
22:10:25 <Deewiant> Your spaces were at the end
22:10:28 <AnMaster> Deewiant, wait, backwards, but still broken
22:10:31 <AnMaster> it removed spaces there too
22:10:38 <AnMaster> Deewiant, and at end
22:10:43 <AnMaster> it strips trailing/leading spaces
22:10:44 <AnMaster> :(
22:11:43 <oerjan> !haskell putStr " what "
22:11:44 <EgoBot> what
22:11:51 <oerjan> :(
22:12:08 <AnMaster> oerjan, see
22:12:10 <AnMaster> it is broken
22:12:12 -!- Foobarbazzotquxq has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]).
22:12:13 <AnMaster> Gregor, !!!!!!!!
22:12:31 <AnMaster> so, who was Foobarbazzotquxq?
22:13:00 <oerjan> a mysterious stranger
22:13:19 <AnMaster> oerjan, unlikely
22:13:23 <AnMaster> .fi
22:13:26 <AnMaster> but chatzilla at quit
22:13:38 <ais523> not someone I recognise
22:13:43 <AnMaster> doesn't match Deewiant or oklopol or fizzie
22:13:43 <ais523> they were acting like a regular, though
22:13:43 <Phantom_Hoover> oklopol: I accuse you.
22:13:46 <AnMaster> ais523, yes
22:13:52 <Phantom_Hoover> Bahh.
22:13:55 <AnMaster> Phantom_Hoover, -oklopol- VERSION mIRC v6.35 Khaled Mardam-Bey
22:13:59 <FireFly> xchat; why?
22:14:04 <AnMaster> could have used a non-standard irc client
22:14:07 <AnMaster> FireFly, mistab of fizzie
22:14:10 <FireFly> Ah
22:14:15 <AnMaster> FireFly, but hi anyway
22:14:22 <FireFly> ;)
22:14:22 <Deewiant> I thought I was pretty obvious but I guess not
22:14:23 <AnMaster> FireFly, was a while ago I last saw you speak
22:14:24 <FireFly> Hm
22:14:31 <FireFly> Yep, been doing other stuff
22:14:41 * oerjan swats FireFly -----###
22:14:45 <FireFly> :D
22:15:02 <oerjan> I'VE NOTED SOME RECENT WITHDRAWAL SYMPTOMS
22:15:12 <FireFly> Caps lock
22:15:15 * FireFly withdraws
22:15:54 <oerjan> lacks cop
22:16:10 <AnMaster> oerjan, withdrawal from the swatter?
22:16:12 <AnMaster> hm
22:16:13 <AnMaster> perhaps
22:16:17 <oerjan> yes
22:16:52 <FireFly> The fact that I speak as we speak is a pretty solid symptom
22:17:10 <AnMaster> FireFly, wait, was that a meme variant?
22:17:13 <FireFly> Hm
22:17:15 <FireFly> Actually not
22:17:18 <FireFly> But it does look like one
22:17:29 <AnMaster> FireFly, the "put some X in your X so you can X while you X" or however it goes
22:17:32 <oerjan> if it walks like a meme...
22:17:38 <AnMaster> oerjan, AUGH
22:17:44 <FireFly> Is #esoteric duck-typed?
22:18:27 <oerjan> of course, i'm letting a duck do all my typing. doesn't everyone?
22:18:40 <oerjan> or wait, maybe that's why my typing is so slow
22:18:55 <AnMaster> :D
22:19:05 <AnMaster> oerjan, if it walks like a meme it is probably an MMU, right?
22:19:07 <Deewiant> Pretty accurate though
22:19:21 <AnMaster> Deewiant, ffs, trained duck obviously
22:19:45 <oerjan> it's an immigrant from peking
22:19:57 <AnMaster> what=
22:20:01 <AnMaster> s/=/?/
22:20:02 <Deewiant> AnMaster: Well, you'd expect such to be fast as well
22:20:27 <FireFly> A miracle it hasn't been eaten yet, though
22:20:57 <AnMaster> Deewiant, how could it be fast when it has to aim a twig hold in it's mouth to type
22:21:02 <AnMaster> ...
22:21:07 <AnMaster> that's just absurd
22:21:16 <Deewiant> I didn't realize a twig was involved
22:21:20 <Deewiant> Is it also trained?
22:22:10 <AnMaster> Deewiant, the twig? Varies, untrained twigs are more common in the southern parts of Europe, elsewhere it is mostly trained twigs only
22:22:22 <Deewiant> Mm
22:23:28 <oerjan> FireFly: well that's why it emigrated, obviously
22:23:45 <AnMaster> oerjan, I suppose the twig is trained then?
22:23:53 <oerjan> what twig
22:23:54 <FireFly> Ah, I guess so
22:23:57 <AnMaster> oerjan, see above
22:24:07 <AnMaster> since it wasn't from southern Europe
22:24:27 <AnMaster> Deewiant, anyway the twig is needed because otherwise it can't hit a single key at a time
22:24:27 <oerjan> seriously AnMaster, you shouldn't go around making such stupid ideas out of thin air
22:24:51 <Deewiant> AnMaster: Can't it just peck?
22:24:56 <AnMaster> oerjan, this is common knowledge, nice try at joke there, but it isn't 1 April
22:25:19 <oerjan> Deewiant: it's very much a peck and hunt typer
22:25:35 <Deewiant> Yes, that's what I'd imagine from a duck
22:25:52 <Deewiant> (Btw, it's "hunt and peck")
22:25:55 <AnMaster> Deewiant, depends on the species, how wide the end is
22:26:10 <AnMaster> what do you call the "näbb" in English btw?
22:26:12 <AnMaster> of a bird
22:26:13 <Deewiant> Well, if you have a typist duck you obviously want a thin-billed one
22:26:23 <AnMaster> ah bill
22:26:24 <AnMaster> right
22:26:34 <Deewiant> Or b eak
22:26:35 <Deewiant> beak*
22:26:43 <AnMaster> Deewiant, yes but this was only found out relatively recently, thus the twig is still common practise
22:26:51 <Deewiant> Bill is for the flat kind of ones, I think
22:26:56 <oerjan> Deewiant: no it pecks the keys so hard it has to hunt for them afterwards
22:27:07 <Deewiant> That seems extremely suboptimal
22:27:15 <oerjan> you'd think
22:27:16 <Deewiant> I'd go so far as to call that pessimal
22:27:26 <AnMaster> Deewiant, see, that is the downside of using thin-beaked ones
22:27:39 <AnMaster> Deewiant, you won't get that with a twig, it will slide before that point
22:27:39 <Deewiant> Meh
22:27:45 <Deewiant> All too complicated
22:27:46 <AnMaster> or break
22:27:52 <Deewiant> I think I'll just type myself for the time being
22:28:38 <AnMaster> Deewiant, what? Rube Goldberg said it was too simple when asked.
22:28:42 <AnMaster> surely you are jesting!
22:28:43 <oerjan> AnMaster: the upside is that the bill is small
22:29:04 <AnMaster> oerjan, oh yeah it doesn't cost a lot
22:29:08 <Deewiant> Rube Goldberg's standards are not mine
22:29:28 <oerjan> it's the goldberg standard
22:30:52 <Phantom_Hoover> http://www.diycalculator.com/sp-hrrgcomp.shtml
22:30:58 <Phantom_Hoover> The Rube Goldberg computer.
22:31:08 <Phantom_Hoover> (I've already posted it but whatever)
22:31:10 <AnMaster> Phantom_Hoover, old
22:31:24 <Phantom_Hoover> oerjan made me.
22:31:33 <Phantom_Hoover> fungot
22:31:41 <Phantom_Hoover> fungot?
22:32:07 <Deewiant> fungot
22:32:07 <fungot> Deewiant: and is one of the other qubits should stay the same?)
22:32:10 <Phantom_Hoover> O fungot, o fungot, where hast thou gone?
22:32:11 <fungot> Phantom_Hoover: the job of a portable bignum library? i think you should understand how to determine for certain if you are
22:32:24 <Phantom_Hoover> ^style lovecraft
22:32:24 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
22:32:31 <Phantom_Hoover> fungot, much better.
22:32:32 <oerjan> fungot: how much does the job of a portable bignum library pay?
22:32:33 <fungot> Phantom_Hoover: the unfinished pictures on fnord or in the tacit assumption that from this line sprang the bold companion and lieutenant of the black abyss sharply fnord tunnels whose mouths we carefully drew, according to the carvings from which we had instinctively clung throughout our desperate flight, we fnord a branch of the de grey and entered the hotel; while the passengers the same men whom i had thought.
22:32:34 <fungot> oerjan: the whisperer in darkness. once, for example. he fnord me on his professional honor that joe slater was unmistakably dying. perhaps it was what poor lakes dissection had indicated fnord and to this they bent all the force of its fnord and fnord palace of the sun, but grey and dismal.
22:32:47 <Deewiant> ^style
22:32:47 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft* nethack pa speeches ss wp youtube
22:32:56 <Phantom_Hoover> How the hell is "fnord" Lovecraftian?
22:33:16 <Deewiant> "fnord" is the replacement used when there's only one instance of the actual word in the corpus
22:33:28 <Deewiant> Thus, "fnord" becomes very Lovecraftian.
22:33:30 <pikhq> For greater amusement.
22:33:41 <Phantom_Hoover> ^style jargon
22:33:42 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
22:33:44 <Phantom_Hoover> fungot
22:33:45 <fungot> Phantom_Hoover: " in solaris, sun will address that problem, that your intentions have been organized very differently than most people think--perhaps around a single token. like what the ethernet type field isn't recognizable. oh, and
22:33:59 <oerjan> hoc est corpus cthulhu
22:34:11 <pikhq> fungot: What thinketh ye?
22:34:11 <fungot> pikhq: from csh type ' exit', is a simple protocol which provides an interface to c. if is not the maximum size declared by any module that is near telegraph ave, where you put your keys.
22:34:34 <pikhq> Oooh, Telegraph Ave.
22:34:40 <Deewiant> Where you put your keys.
22:35:00 <oerjan> the keys to success
22:35:23 <Phantom_Hoover> ^style
22:35:24 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon* lovecraft nethack pa speeches ss wp youtube
22:35:31 <Phantom_Hoover> ^style speeches
22:35:31 <fungot> Selected style: speeches (misc. speeches from Project Gutenberg)
22:35:33 <Phantom_Hoover> fungot
22:35:35 <fungot> Phantom_Hoover: " says i, ' i can't afford it, mr. owen, i am satisfied, with the golden staff in one hand and the school report in the other.
22:35:39 <Phantom_Hoover> fungot
22:35:41 <fungot> Phantom_Hoover: the battle of waterloo, barere proposed that the members of the house to take away the big coat from the little boy and to put perpetual desolation as a barrier between him and his hotel but hell and the hackman."
22:35:57 <AnMaster> ^style ct
22:35:57 <fungot> Selected style: ct (Chrono Trigger game script)
22:36:07 <AnMaster> fungot, what about the sword?
22:36:07 <fungot> AnMaster: see? i like marle better than " princess,' the chosen time has come! he's strong and he's gonna thrash those monsters! yea! is it?
22:36:08 <Phantom_Hoover> fungot
22:36:08 <fungot> Phantom_Hoover: and you call yourself a frog, and ayla... i will not betray my friends! are you leaving!
22:36:11 <AnMaster> fungot, no?
22:36:12 <fungot> AnMaster: cyrus! are you leaving!!! the monster who kidnapped the princess to the castle! and letting these...hoodlums in here? traitors like you deserve from heckran! ha!! gotcha!
22:36:21 <AnMaster> fungot, seriously the sword...
22:36:21 <fungot> AnMaster: from where does the hero alone have the power. " m, madam...! i am, are you?! c'mon!!!
22:36:25 <AnMaster> fungot, ...
22:36:25 <fungot> AnMaster: i, myself, will bring an end to all. ghosts lurk in the ruins! the structural damage is severe. the tale?
22:36:28 <Phantom_Hoover> fungot: I'm not leaving.
22:36:29 <fungot> Phantom_Hoover: but, we are far outnumbered!? i sense!"
22:36:35 <AnMaster> fungot, sigh
22:36:35 <fungot> AnMaster: but, we are far outnumbered! the king does not wish! we shall hold this position to the last man! big fire where lavos fall from sky! we no can call you " knight cyrus fell while protecting our kingdom from magus. i'd stay away!
22:36:41 <Phantom_Hoover> fungot: We aren't that outnumbered.
22:36:42 <fungot> Phantom_Hoover: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that swor
22:36:45 <AnMaster> YES!
22:36:49 <AnMaster> perfect
22:37:00 <AnMaster> ^style
22:37:00 <fungot> Available: agora alice c64 ct* darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube
22:37:06 <AnMaster> ^style darwin
22:37:06 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
22:37:10 <AnMaster> fungot, hello there
22:37:13 <fungot> AnMaster: if this passage, which probably is an entrance:/ water at great depths:/ pressure, though spread over a wider surface than that acted on by like causes inducing similar modifications. with respect to/ tower-like castings near nice had been ejected on an inclined surface, and not exclusively from being transported to a distance :) about half a crown apiece. it seems however doubtful, judging from those two wonderful an
22:37:31 <Deewiant> /two/ an?
22:37:36 <Deewiant> fungot: You sure?
22:37:38 <fungot> Deewiant: ever yours, c. darwin. 17 spring gardens, london, fnord, morphology, adaptive characters, 426. land-shells, distribution :), 394. man, moreover, made a great blunder in taking families instead :) smaller groups will become utterly extinct. in failing orders, with/ exception :) a few miles from edinburgh, and saw and conversed with many :) its shorter axis: there are, according to their periods :) arrival and maturity
22:37:43 <AnMaster> the smiles were a bug iirc
22:37:48 <AnMaster> in the model generator
22:38:30 <Phantom_Hoover> ^style agora
22:38:31 <fungot> Selected style: agora (a large selection of Agora rules, both current and historical)
22:38:33 <AnMaster> "17 spring gardens, london, fnord" <-- best address ever
22:38:33 <Phantom_Hoover> fungot
22:38:34 <fungot> Phantom_Hoover: players may vote on an ordinary
22:38:46 <AnMaster> fungot, now this style is boring, don't you agree
22:38:46 <fungot> AnMaster: ( a) auctioneer: the auction e is the
22:38:51 <AnMaster> yeah exactly
22:39:01 <AnMaster> Phantom_Hoover, it's a nomic in case you don't know
22:39:05 <Phantom_Hoover> Agora is one of those things I might conceivably be interested in, but I can't be bothered. Eh, fungot?
22:39:06 <fungot> Phantom_Hoover: b) if an oligarch at the time of casting unity
22:39:34 <AnMaster> ^style ic
22:39:34 <fungot> Selected style: ic (INTERCAL manual)
22:39:38 <AnMaster> fungot, hi there
22:39:38 <fungot> AnMaster: e099 programmer is insufficiently polite
22:39:51 <AnMaster> fungot, PLEASE say something then
22:39:52 <fungot> AnMaster: the `try again'. ( the last character output before it will issue this warning is meant to go, and from-gerund `come from' itself ( if a `come from'.
22:40:11 <AnMaster> fungot, heh
22:40:11 <fungot> AnMaster: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
22:40:22 <AnMaster> ais523, hey, was that all versions ^
22:40:30 <Deewiant> yes all versions all versions
22:40:39 <AnMaster> Deewiant, I don't trust fungot
22:40:39 <fungot> AnMaster: the multithreading and backtracking extensions to intercal programs; it cannot be `reinstated' or `next from's. the solution is to produce 32-bit results; except in some ways than some other languages.
22:40:42 <ais523> AnMaster: it means, it's available in all versions of c-intercal and clc-intercal, also in intercal-72
22:40:44 <oerjan> obviously obviously
22:40:46 <ais523> it's fungot attempting to repeat a table
22:40:46 <fungot> ais523: this declaration and definition::.
22:40:58 <AnMaster> ais523, ah
22:41:14 <AnMaster> ^style
22:41:14 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic* irc jargon lovecraft nethack pa speeches ss wp youtube
22:41:28 <pikhq> ^style youtube
22:41:28 <fungot> Selected style: youtube (Some YouTube comments)
22:41:36 <pikhq> fungot: Like youtube?
22:41:36 <fungot> pikhq: dont fuck this movie
22:41:43 <AnMaster> fungot, good idea
22:41:43 <fungot> AnMaster: to any airbus plane. 3 passengers sadly died the most awesome thing ever.
22:41:51 <AnMaster> but pikhq beat me to selecting a style hm
22:42:04 <AnMaster> fungot, also I don't agree that is awesome
22:42:04 <fungot> AnMaster: whats the difference between watching in hd
22:42:04 <pikhq> Oddly, fungot appears to be more grammatical off of Youtube comments.
22:42:05 <fungot> pikhq: music on myspace...paulo brazil search and select the first computer controlled
22:42:16 <AnMaster> pikhq, ?
22:42:20 <AnMaster> ^style europarl
22:42:20 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
22:42:30 <AnMaster> fungot, hm?
22:42:30 <fungot> AnMaster: mr president, ladies and gentlemen, i would like to take an extremely firm request to the governments.
22:42:41 <ais523> pikhq: it's because youtube comments are stupid enough on average anyway that fungot grammar wouldn't be any worse
22:42:42 <fungot> ais523: mr president, the iranian sentences, which have not been able to prepare that ground carefully. on south-eastern europe, i must say that today's debate has shown, with what moral authority, can the governments of the united states
22:42:44 <AnMaster> fungot, oh, carry on, what is this request?
22:42:45 <fungot> AnMaster: mr president, i know it is still important to recall the context in which these organic compounds are released. and the way we pay taxes!' just like myself, at the actions of ukraine in the field of biotechnology. to allow forests to grow.
22:43:12 <AnMaster> fungot, I fail to see how tax and organic compounds are related but carry on...
22:43:13 <fungot> AnMaster: mr president, we europeans most certainly have. once again, by the vice-president in the chair.
22:43:21 <AnMaster> heh
22:44:07 <oerjan> you can tax organic compounds. Q.E.D.
22:44:09 <AnMaster> "the iranian sentences, which have not been able to prepare that ground carefully." <-- wtf, some sort of alchemy?
22:44:38 <AnMaster> ^style
22:44:38 <fungot> Available: agora alice c64 ct darwin discworld europarl* ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube
22:44:48 <AnMaster> ^style ss
22:44:48 <fungot> Selected style: ss (Shakespeare's writings)
22:44:52 <AnMaster> fungot, oh?
22:44:52 <fungot> AnMaster: sir godfrey.
22:44:59 <AnMaster> fungot, I don't think I seen this before
22:45:00 <fungot> AnMaster: powres the poyson in his eares. yet i perswade my selfe, richard shall liue to make the wench amends, is to goe to the feast, and to the marriage of true minds admit impediments, love is not love which alters when it alteration finds, or bends with the remover to remove. o no, no
22:45:21 <AnMaster> I can't read that, well only random words
22:45:29 <AnMaster> just comes out as jumble to me
22:45:35 * pikhq can read it just fine
22:45:37 <AnMaster> maybe a native English speaker could manage it
22:45:43 <pikhq> It's not *coherent*, but certainly can read it.
22:45:43 <AnMaster> ais523, what about you
22:45:55 <AnMaster> pikhq, yes but you are not typical
22:46:04 -!- FireFly has quit (Quit: swatted to death).
22:46:09 <AnMaster> you could use that sort of language in all seriousness!
22:46:14 <ais523> it's not hard to read
22:46:16 <pikhq> AnMaster: Most of it is just archaic spellings.
22:46:27 <AnMaster> liue?
22:46:28 <ais523> the spelling's outdated, that's about it
22:46:31 <pikhq> I haven't a clue what "liue" is, though.
22:46:44 <ais523> "live" probably
22:46:44 <oerjan> live ?
22:46:52 <ais523> there wasn't a large distinction between "u" and "v" back then
22:47:04 <pikhq> Except that they did have a huge distinction between "u" and "v" back then.
22:47:08 <AnMaster> ^style
22:47:08 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss* wp youtube
22:47:12 <AnMaster> ^style ff7
22:47:12 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
22:47:16 <AnMaster> oh that one
22:47:17 <AnMaster> meh
22:47:20 <AnMaster> ^style fisher
22:47:20 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
22:47:40 <AnMaster> hm I think I reached the limit, someone else have to talk to it next
22:47:45 <oerjan> something fishy about that
22:47:54 <AnMaster> oerjan, so highlight fungot
22:47:55 <pikhq> HAIL FUNGOT TOGNUF
22:48:04 <AnMaster> pikhq, case sensitive
22:48:08 <oerjan> FUNGOT THE GREAT
22:48:13 <pikhq> HAIL fungot TOGNUF
22:48:13 <AnMaster> case sensitive!
22:48:13 <fungot> pikhq: who can't separate between like i i think you can do to this computer that i can't
22:48:16 <AnMaster> ah
22:48:22 <AnMaster> fungot, what?
22:48:22 <fungot> AnMaster: right right um i i borrowed a may twenty sixth copy of business week has been our mayor of detroit got into a fight with w- laughter one of the
22:48:44 <AnMaster> strange style
22:48:55 <Deewiant> fungot: Awesome
22:48:56 <fungot> Deewiant: so do you know he
22:49:00 <Deewiant> fungot: Yep
22:49:00 <fungot> Deewiant: yeah yeah it doesn't feel good but like when i first started going to the theater
22:49:29 <AnMaster> fungot, eh?
22:49:29 <fungot> AnMaster: if you're not happy))
22:49:34 <AnMaster> fungot, oh I am
22:49:34 <fungot> AnMaster: un- unless he starts to en- to enjoy watching the tae bo that i had
22:49:45 <Deewiant> fungot: Tae bo?
22:49:45 <fungot> Deewiant: no she no they're not having ah they're not you got to look at why they try to get together there you know
22:50:01 <Deewiant> Awfully schizophrenic :-P
22:51:23 <AnMaster> haha
22:51:46 <Deewiant> fungot: No, I don't know
22:51:46 <fungot> Deewiant: um i'm pretty sure
22:51:52 <Deewiant> fungot: I'm sure
22:51:52 <fungot> Deewiant: which makes me even more of our liberties so i i
22:52:26 <AnMaster> fungot, hm
22:52:26 <fungot> AnMaster: you might as well be in the court i'm a law student so i am loving my bread machine
22:52:39 <AnMaster> ^style
22:52:39 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher* ic irc jargon lovecraft nethack pa speeches ss wp youtube
22:52:42 <AnMaster> ^style alice
22:52:45 <AnMaster> ^style alice
22:52:45 <fungot> Selected style: alice (Books by Lewis Carroll)
22:52:49 <AnMaster> fungot, and then?
22:52:50 <fungot> AnMaster: ' it's a great huge game of chess that's being fnord over the fnord of the fnord here?" he said, taking up quite a bunch of needles.
22:53:12 <AnMaster> meh, too much to hope for the court scene there ;P
22:53:18 <AnMaster> it would have been just too awesome
22:53:26 <AnMaster> fungot, chess, I see
22:53:26 <fungot> AnMaster: " why, suppose oo're walking, fnord" the vice-warden was saying with enthusiasm. " you see, a minute goes by so fearfully quick. you might have known, if you don't hold your tongues, i'll pick you!'
22:53:34 <Phantom_Hoover> fungot
22:53:35 <fungot> Phantom_Hoover: that i had been talking to) was balancing itself on a twig just over her head, ' you may call it " eerie," and sylvie went on again.
23:00:27 -!- Phantom_Hoover has quit (Quit: Leaving.).
23:00:33 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
23:05:04 -!- Sgeo has quit (Ping timeout: 245 seconds).
23:06:17 <SgeoN1> Awesome, Windows will not boot into safe mode
23:08:51 -!- Tritonio_GR has joined.
23:10:14 -!- kar8nga has joined.
23:10:32 -!- kar8nga has quit (Remote host closed the connection).
23:10:37 -!- kar8nga has joined.
23:14:58 -!- relet has quit (Quit: Leaving.).
23:23:24 -!- tombom_ has quit (Quit: Leaving).
23:33:47 -!- SgeoN1 has quit (Ping timeout: 240 seconds).
23:39:09 <jabb_> By George, I've got it!
23:39:18 -!- Sgeo has joined.
23:42:11 -!- pikhq has quit (Read error: Connection reset by peer).
23:42:54 -!- kar8nga has quit (Remote host closed the connection).
23:42:55 -!- pikhq has joined.
23:50:58 -!- jabb_ has quit (Quit: off work).
2010-06-03
00:02:38 -!- pikhq_ has joined.
00:04:28 -!- pikhq has quit (Ping timeout: 240 seconds).
00:16:49 -!- pikhq_ has quit (Read error: Operation timed out).
00:18:21 -!- pikhq has joined.
00:29:32 -!- sshc has joined.
00:38:09 <jabb> I am so uncreative at naming things. :(
00:43:46 -!- Mathnerd314 has joined.
00:46:38 -!- pikhq has quit (Read error: Connection reset by peer).
00:49:04 -!- pikhq has joined.
00:50:21 -!- augur has joined.
00:52:13 -!- coppro has joined.
01:02:28 -!- pikhq has quit (Read error: Connection reset by peer).
01:03:16 -!- augur has quit (Remote host closed the connection).
01:03:38 -!- augur has joined.
01:06:16 <coppro> holy shit, the new copyright bill here doesn't unilaterally suck
01:06:31 <coppro> digital locks provisions do (DMCA-style :(), but the rest is actually really sane
01:07:04 <augur> coppro: where's here?
01:07:20 <coppro> Canada
01:07:32 <augur> ah well
01:07:34 <augur> canada
01:07:38 <augur> you can smoke pot in the streets
01:07:40 <augur> so
01:07:47 <augur> who cares about your copyright legislation
01:08:17 <coppro> we do
01:08:25 <coppro> (we = people who care)
01:10:00 <augur> :P
01:10:07 <augur> go smoke a joint on the streets, you damn hippies
01:10:10 <coppro> moral rights got expanded to performances (note: moral rights are epic)
01:10:17 <augur> oh look at me im just walking around in public with POT
01:10:42 <coppro> lol
01:10:45 <coppro> it's not legal
01:10:54 <coppro> people do it anyways, but it isn't legal
01:11:08 <augur> its not legal, but the cops dont do shit
01:11:45 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
01:12:46 <coppro> also, the bill /legalizes/ non-commercial use of copyrighted works in other copyrighted works
01:12:58 <coppro> so things like mashups are legal if non-commercial
01:13:13 <augur> awesome
01:13:30 <augur> basically it puts a CC NC on everything
01:14:52 <coppro> there are restrictions though; primarily it can't negatively affect the commercial activity or viability of the original
01:15:05 <coppro> also attribution
01:15:22 <coppro> ha - Michael Geist called it the YouTube right
01:17:03 <coppro> statutory damages are lowered for non-commercial infringement, that's good
01:18:01 -!- SevenInchBread has quit (Ping timeout: 265 seconds).
01:19:53 -!- CakeProphet has joined.
01:25:38 -!- Oranjer has left (?).
01:30:00 <coppro> hmm... actually, the digital locks provisions aren't as bad as when I looked originally
01:40:35 -!- oerjan has quit (Quit: Good night).
01:45:54 -!- augur has quit (Ping timeout: 245 seconds).
01:50:12 -!- CakeProphet has quit (Ping timeout: 264 seconds).
01:50:42 -!- CakeProphet has joined.
01:58:08 -!- CakeProphet has quit (Ping timeout: 240 seconds).
02:55:56 -!- lament has joined.
03:03:07 -!- pikhq has joined.
03:26:16 -!- Sgeo has quit (*.net *.split).
03:26:17 -!- ais523 has quit (*.net *.split).
03:28:37 -!- Sgeo has joined.
03:28:37 -!- ais523 has joined.
03:32:10 <coppro> esolang was just linked in #math
03:32:22 <pikhq> Orly?
03:32:44 <lament> by me of all people
03:32:55 <lament> lament the tireless promoter
03:33:21 <lament> i also wrote that article i linked to :D
03:45:14 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
03:45:35 -!- Tritonio_GR has quit (Quit: Leaving.).
03:52:27 -!- Gregor has quit (Quit: Leaving).
04:18:09 <coppro> what's the mathematica to express a function in terms of a single variable?
04:48:00 -!- pikhq has quit (Ping timeout: 245 seconds).
04:51:09 -!- pikhq has joined.
05:02:59 -!- ais523 has quit (Remote host closed the connection).
05:27:32 -!- Mathnerd314 has joined.
05:46:27 -!- Sgeo_ has joined.
05:48:38 -!- Sgeo has quit (Ping timeout: 240 seconds).
06:33:45 -!- uorygl has quit (Ping timeout: 264 seconds).
06:52:20 -!- jabb has quit (Ping timeout: 276 seconds).
07:10:46 -!- Gregor has joined.
07:20:50 -!- Gracenotes has quit (Ping timeout: 248 seconds).
07:26:45 -!- relet has joined.
07:30:43 -!- tombom has joined.
07:30:56 -!- uorygl has joined.
07:36:58 -!- Phantom_Hoover has joined.
07:53:43 -!- jabb has joined.
07:53:54 <jabb> !!
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:03 <Phantom_Hoover> Not graue?
08:18:28 <lament> gruaue
08:19:51 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
08:24:27 -!- oerjan has joined.
08:24:38 <Phantom_Hoover> oerjan!
08:24:58 <oerjan> 'lo
08:26:26 <Phantom_Hoover> Lo!
08:26:37 <oerjan> Phantom_Hoover: graue doesn't really come here nowadays, i cannot recall seeing him for years
08:26:56 <Phantom_Hoover> And is he the only person with keys to the wiki?
08:28:14 <oerjan> yes
08:28:33 -!- Gracenotes has joined.
08:29:05 <oerjan> he _does_ respond to emails, however, at least last time someone tried
08:30:31 <Sgeo_> What's wrong with wiki?
08:31:35 <oerjan> nothing new that i can see
08:32:20 <oerjan> Phantom_Hoover: there are also administrators, ais523 and keymaker
08:32:40 <oerjan> but their powers are limited
08:32:55 <Phantom_Hoover> Yes, I know.
08:33:05 <Phantom_Hoover> So no even any other bureaucrats?
08:33:16 <Phantom_Hoover> s/no/not/
08:34:55 <oerjan> anarchy or death, i say
08:52:13 -!- oerjan has quit (Quit: Later).
08:54:51 -!- oklopol has quit (Ping timeout: 252 seconds).
08:54:58 -!- FireFly has joined.
09:01:13 -!- oktolol has joined.
09:04:26 -!- lament has quit (Ping timeout: 265 seconds).
10:15:50 <Phantom_Hoover> oktolol: Surely octo?
10:21:08 -!- Phantom_Hoover has quit (Quit: Leaving.).
10:24:49 -!- Phantom_Hoover has joined.
10:29:33 -!- Slereah has joined.
10:30:45 <Phantom_Hoover> Slereah: I have not seen you before.
10:31:23 <Slereah> Strange, since I've been here for 3 years or so
10:32:09 <Phantom_Hoover> I am bad at noticing, then.
11:19:29 -!- hiato has joined.
11:24:22 <Phantom_Hoover> hiato!
11:24:40 <hiato> Phantom_Hoover!
11:24:47 <Phantom_Hoover> hiato!!
11:24:57 <hiato> Phantom_Hoover!!!
11:25:05 <Phantom_Hoover> hiato!!!11!!
11:25:30 <hiato> Ah well, was hoping for a fibonacci sequence there
11:25:39 <Phantom_Hoover> hiato!!!!!
11:26:00 <hiato> Phantom_Hoover!!!!!!!!
11:26:18 <Phantom_Hoover> hiato!!!!!!!!!!!!!
11:26:23 <Deewiant> \o/
11:26:23 <myndzi> |
11:26:23 <myndzi> >\
11:26:42 -!- hiato has quit (Quit: ! OVERFLOW).
11:27:03 -!- hiato has joined.
11:27:19 <Phantom_Hoover> hiato?????????????????????
11:27:43 <hiato> You crashed my IRC cliet. It couldn't take more than 13 !'s before it overflowed
11:27:49 <hiato> :P
11:28:09 <Phantom_Hoover> Hence the ?s.
11:28:30 <hiato> heh
11:28:49 <hiato> Phantom_Hoover ?????????????????????????????
11:29:33 <Phantom_Hoover> hiato‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽‽
11:30:48 <hiato> Phantom_Hoover ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
11:32:01 <Phantom_Hoover> hiato¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿
11:33:50 -!- MizardX has joined.
11:34:07 <hiato> Phantom_Hoover:؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
11:34:16 <hiato> (took a while to find)
11:34:19 <Phantom_Hoover> I will not start this again. I will not start this ag... dammit!
11:35:16 <hiato> heh
11:35:54 <Deewiant> h͆̓͌̉ͬ͏̴̪̗͖̼̳͉͇́i̛ͮ̆̽ͮ͒̑̿̚͘҉͍͕̬̼̟̪a̵̲̖̠ͣ͆t̝ͩ͐́̀͟ͅo͆̂͐̓͆̃͋̈́̚͏͇̳̠̙̝̥̻
11:35:57 <Deewiant> ̩̝͔̩͔̄̊́̄͘͢P̠̠̩͓͍̹͇̟̺̋́͐ͭͥ͡h̬̬̭̙̗ͣͮ͐͒̓̆ͅá͔̤͖̭͈̓ͬ̊̃ͧ̈͢n̸͔̠͉͊ͧ̀̓̒̋̏̇̚t̷̢̙̙̯̩̟̝̱͚̻̓ͫo̹̘̥̼̥ͦ͛̕͟m̴͇ͭ̒͂͋̋̔̐̆_͎̭͉̰͍ͩͣͣ̈ͩ̈̉̚̚Hͫͩ҉̰͇̦̳̭͍͎̜͝͡ǫ̷̣̮̘̥̖͓͖͚̥̾͌̆ͨͯ͆͐͗̊͟ö̡̪̠̞͇͑͂͡v̵͋ͩ̆̈ͯ҉͔̜̞̯̮̫̙̻́e̦̟̦͈̘̯̦ͪ̍̓̃ͬ͑ͯ̎̌r
11:36:25 <Phantom_Hoover> OK, I'm willing to bet that you didn't hand-assemble those diacritics.
11:37:30 <Deewiant> Reasonable assumption
11:37:42 <Phantom_Hoover> So how did you do them?
11:38:42 <Deewiant> I googled zalgofier and found what I was looking for
11:39:40 <Phantom_Hoover> D͓͓̝͚̟̗̈́̏͋̏̈́ͯͭ̕ę̸̢̟̗̩ͦ͛͗̿̈ͫ̑̅̏ͣ̉ͨ͂̆ͩ̔͛͟͝ė̢̡̤̯̠͓̯̪̫̭̦͙̗͛͂̃͐̿͛̽ͣͣ͂̄͊ͬ̈́ͩ͠w͊ͬ̽̉̈́̿́̄ͮ͊̏͟҉̯̞̮̻̤̥̺͟i̶̜͎͈̟͈̘̞͖͔̬̙̘̥̣͉̥̭̠̪̾ͦͥ̒͂ͦͤ̓̐̒ͧ͂͗ͥ̓ͮ́͟a̅ͭͨ̊͢҉̢̡͎̩̭̞̫͙̗̳͝n̴̸̙̹̘̪̬̫̖͙̯̱̝͍͎̦͕͓ͮ̆́ͯͩ͘͝t͋̿͌̍̈́͋ͩ̍̂̓͌́͊ͣͭ́҉̦͔̞̥͖͔̟͙͈̠̻̭̹͡ͅ
11:40:12 <hiato> Hmmm
11:41:24 <Deewiant> Too bad neither my client nor gvim can display it properly
11:44:09 <Phantom_Hoover> Vim? You sicken me.
11:45:39 <Deewiant> We had that discussion around 19 hours ago
11:45:51 <Phantom_Hoover> Aww, I missed the flame way.
11:45:55 <Phantom_Hoover> s/way/war/
11:46:29 <Phantom_Hoover> Also, Zalgo has made this file unopenable in Firefox.
11:47:46 <Deewiant> Yes; I would guess that's because of the line splitting that happened to me
11:54:49 <MizardX> Heh. Firefox was the only program able to render Zalgofied text.
11:55:04 <Phantom_Hoover> Pidgin can do it too.
12:02:01 -!- Tritonio_GR has joined.
12:02:47 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
12:03:07 -!- Tritonio_GR has joined.
12:17:54 <Quadrescence> I'M OUT OF CONTROL, CUZ YOU WANT IT ALL, YOU'RE SO DANGEROUS, MY BIGGEST MISTAKE, I'M BLINDED BY YOUR EYESSSSS, [DANGEROUS; D-D-D-DANGEROUS]
12:40:57 <cheater99> is there a programming language which uses chinese for its source?
12:41:08 <cheater99> because that would be, like, pretty damn cool.
12:44:32 <Quadrescence> Is there such thing as unicode?
12:44:34 <Phantom_Hoover> BLAARGH, 3D APPS ARE DRIVING ME INSANE!
12:47:02 -!- BeholdMyGlory has joined.
13:02:51 <cheater99> i want a 3d script
13:02:53 <cheater99> that would be cool
13:02:57 <cheater99> putting letters in 3d!
13:17:35 <Phantom_Hoover> You'd need to be 4D to make proper use of it, though.
13:44:09 -!- hiato has quit (Ping timeout: 252 seconds).
13:46:02 -!- hiato has joined.
13:49:09 <oktolol> "<Phantom_Hoover> oktolol: Surely octo?" <<< no
13:49:17 <oktolol> that would make no sense
13:55:39 -!- oktolol has changed nick to oklopol.
13:58:00 -!- hiato has quit (Ping timeout: 245 seconds).
13:59:58 -!- hiato has joined.
14:15:03 -!- CakeProphet has joined.
14:15:13 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
14:15:18 <CakeProphet> howdy
14:57:37 -!- relet has quit (Quit: Leaving.).
15:30:24 -!- hiato has quit (Ping timeout: 264 seconds).
15:32:12 -!- hiato has joined.
15:34:39 -!- hiato has quit (Client Quit).
15:39:48 -!- relet has joined.
15:45:08 <AnMaster> hi
15:46:06 <Phantom_Hoover> hi
15:48:05 <Phantom_Hoover> Hie!
15:50:30 <Phantom_Hoover> Also, have I expressed my desire to murder whoever created the SQA's computing course yet?
15:50:39 <AnMaster> SQA?
15:50:54 <Phantom_Hoover> Scottish Qualifications Authority.
15:51:54 <AnMaster> ah
15:52:06 <AnMaster> Phantom_Hoover, is this university level?
15:52:13 <Phantom_Hoover> No.
15:52:22 <Phantom_Hoover> Further information is classified.
15:52:50 <uorygl> Hm, neither Norway nor Iceland is in the EU?
15:53:03 <Phantom_Hoover> Nope.
15:53:16 <Phantom_Hoover> Iceland isn't really in Europe in the first place, though.
15:53:32 <Deewiant> Where is it if not in Europe
15:53:51 <uorygl> Near Europe.
15:55:28 -!- kar8nga has joined.
15:56:12 <Phantom_Hoover> IIRC geologically it's on the boundary between America and Europe.
16:19:50 <Phantom_Hoover> Is it just me, or should there be an easy way to view transparent images on a black background?
16:26:31 -!- CakeProphet has quit (Ping timeout: 260 seconds).
16:29:32 -!- Gregor has quit (Quit: Leaving).
16:33:22 -!- Mathnerd314 has quit (Ping timeout: 248 seconds).
16:33:36 -!- Tritonio_GR has joined.
16:54:13 -!- atrapado has joined.
16:56:07 <oklopol> for every set containing sets there is a set containing exactly the sets contained by the sets in that set
17:02:10 -!- CakeProphet has joined.
17:07:29 <oklopol> for every set there's a set contained in that set that doesn't contain any set contained in the set and no sets of whose are contained in the set
17:15:54 -!- Slereah has quit (Quit: Leaving).
17:16:22 -!- kar8nga has quit (Remote host closed the connection).
17:18:25 -!- Juh_ has joined.
17:20:00 -!- Juh_ has left (?).
17:24:35 <oklopol> well?
17:29:38 -!- jabb_ has joined.
17:32:27 -!- MigoMipo has joined.
18:01:26 -!- atrapado has quit (Quit: Saliendo).
18:06:10 * Phantom_Hoover notices that spaces don't seem to matter in C in anything other than type declarations.
18:07:06 <oklopol> "Helloworld!"
18:07:08 * AnMaster needs ais...
18:07:42 <AnMaster> I'm trying to work out the semantics of "extern const note_t volatile * dsound_next_note;"
18:07:55 <AnMaster> what does volatile apply to here
18:08:34 <AnMaster> const would be applied to the data it points to. But volatile?
18:09:12 <pikhq> AnMaster: volatile means that it should always be directly written to memory right away, instead of floating around loaded in a register when next it's convenient.
18:09:20 <pikhq> Most useful for things like hardware buffers.
18:09:28 <AnMaster> pikhq, the pointer or the data pointed to?
18:09:29 <pikhq> Erm.
18:09:32 <pikhq> s/when/until/
18:09:40 <AnMaster> pikhq, that is the question
18:09:45 <pikhq> AnMaster: Uh. I think the data pointed to?
18:09:47 <AnMaster> ah
18:09:51 * pikhq googles
18:09:52 <AnMaster> I know what volatile in general means of course
18:09:58 <AnMaster> the issue was where it applied in this case
18:10:09 -!- DH____ has joined.
18:10:20 <oklopol> pikhq doesn't know everything about C?
18:10:22 <AnMaster> pikhq, anyway, it wouldn't be "directly written" it would be "directly read" in this case, since it is const you really aren't supposed to write to it
18:10:37 <AnMaster> oklopol, nor do I. But I'm rather new to embedded C programming
18:10:39 <AnMaster> which this is
18:10:49 <pikhq> Yes, to say that the object pointed to is volatile should be at the left side of *, and the pointer itself to the right.
18:10:52 <pikhq> Just like const.
18:10:59 <AnMaster> right
18:11:03 <pikhq> oklopol: This is one of the few things I *don't* have fully embedded in my head. :)
18:11:13 <AnMaster> pikhq, at least it isn't function pointers. That is one thorny bit in C :)
18:11:22 <oklopol> pikhq: dear god...
18:11:27 <pikhq> AnMaster: Argh that gives me such *massive* headaches.
18:11:47 <oklopol> let's see if i'd known the answer...
18:11:52 <AnMaster> pikhq, a volatile function pointer, sounds fun ;)
18:12:28 <oklopol> i wouldn't thought "* volatile" means * is volatile, and "volatile *" means pointer to volatile object
18:12:35 <oklopol> now let's see the answer
18:12:46 <oklopol> yay
18:13:09 <AnMaster> extern volatile unsigned char AD_C_H; <-- fun thing, this variable is not in any C file, just this header file. It is however in the linker script.
18:13:11 <AnMaster> hehe
18:13:16 <oklopol> i usually filter out the content with subjects like this, but i realized i have actually coded in c
18:13:23 <AnMaster> anyone know where GNU ld linker script syntax is documented?
18:13:38 <AnMaster> preferably not info pages, I treat that as last resort
18:13:43 <oklopol> "anyone know where baoiuhbeorijgeaorigjeag?"
18:13:57 <oklopol> see the world through my eyes
18:13:58 <Phantom_Hoover> Is ':' used for anything important in C?
18:13:59 <AnMaster> oklopol, well, where else should I ask than in here?
18:14:10 <Deewiant> Phantom_Hoover: x ? y : z; foo: goto foo;
18:14:10 <oklopol> AnMaster: i'm not saying you shouldn't ask here
18:14:11 <AnMaster> Phantom_Hoover, a ? b : c;
18:14:17 <Deewiant> case 4: break;
18:14:17 <pikhq> Phantom_Hoover: Also labels.
18:14:24 <AnMaster> pikhq, as Deewiant said
18:14:24 <pikhq> And cases in a switch statement.
18:14:28 <oklopol> i'm just saying you shouldn't ask me :P
18:14:29 <AnMaster> and that as well
18:14:41 <AnMaster> oklopol, I didn't highlight you?
18:14:47 <oklopol> AnMaster: i didn't say you did
18:14:47 <Phantom_Hoover> So what symbol could you use to indicate type?
18:14:50 <AnMaster> ah okay
18:16:28 -!- Tritonio_GR has quit (Ping timeout: 240 seconds).
18:16:42 <Deewiant> :: would work
18:38:56 <Sgeo_> <Sgeo_> Is it turing-complete?
18:38:56 <Sgeo_> <mindeavor> given that events can be reduced to function calls, I would say yes
18:38:56 <Sgeo_> <mindeavor> logically reduced, anyway
18:39:26 <oklopol> what does that mean
18:39:41 <Sgeo_> oklopol, ##nomic
18:39:45 <Sgeo_> http://lomic.info/
18:49:57 <Phantom_Hoover> Hmm, so int::main(){printf("helloworld");return(0);}
18:50:04 <Phantom_Hoover> A spaceless program.
18:50:36 <Deewiant> Omit the "int::" and you have it in plain C.
18:51:05 <Deewiant> (Except that it's invalid since you're calling printf without a prototype)
18:52:24 <Phantom_Hoover> Prototypeless printf works on my system, but it gives a warning.
18:52:47 <Deewiant> It works on all systems AFAIK, but it's not valid.
18:53:15 <Phantom_Hoover> Indeed.
18:53:16 <Deewiant> Maybe it is valid if you pass only one argument, though; not sure about that.
18:53:18 <Phantom_Hoover> So...
18:53:55 <Phantom_Hoover> main(){printf("Hello,%cworld!\n",10);}
18:54:03 <Phantom_Hoover> Spaceless hello world.
18:54:08 <Phantom_Hoover> The canonical version.
18:54:15 <pikhq> Phantom_Hoover: Also, undefined behavior.
18:54:48 <pikhq> main(){puts("Hello,\0xA0world!\n");} // I *think* this is valid?
18:55:20 <Phantom_Hoover> You could possibly use write().
18:55:24 <Deewiant> Yes: it'll print "Hello," since the string terminates there.
18:55:37 <Phantom_Hoover> If you didn't care about portability.
18:55:42 <pikhq> Deewiant: No it doesn't.
18:55:48 <pikhq> Erm. \0
18:55:49 <Deewiant> Yes it does.
18:55:51 <pikhq> YES IT DOES GAH
18:55:55 <Phantom_Hoover> \xA0
18:55:57 <Deewiant> \040 would work, though.
18:56:12 <pikhq> Phantom_Hoover: Yeah, that's what I want.
18:56:21 <pikhq> Phantom_Hoover: write() is perfectly portable.
18:56:29 <pikhq> It works on all POSIXen.
18:56:32 <Phantom_Hoover> Windows?
18:56:42 <Deewiant> Nope.
18:57:33 <pikhq> Not Windows without Cygwin.
18:58:07 <Deewiant> You could just use putchar, you know.
19:01:37 -!- Tritonio_GR has joined.
19:08:06 -!- kar8nga has joined.
19:17:34 -!- kar8nga has quit (*.net *.split).
19:17:35 -!- uorygl has quit (*.net *.split).
19:17:35 -!- Geekthras has quit (*.net *.split).
19:17:36 -!- sebbu has quit (*.net *.split).
19:17:37 -!- fungot has quit (*.net *.split).
19:17:46 -!- Phantom_Hoover has changed nick to fungot.
19:18:01 -!- fungot has changed nick to kar8nga.
19:18:09 -!- kar8nga has changed nick to fungot.
19:18:31 -!- kar8nga has joined.
19:19:28 -!- uorygl has joined.
19:20:24 <fungot> asdf
19:20:29 -!- fungot has changed nick to Phantom_Hoover.
19:20:31 <cheater99> herlo
19:20:35 <cheater99> how are you fungot
19:22:43 -!- Geekthras has joined.
19:24:22 -!- sebbu has joined.
19:43:41 -!- atrapado has joined.
19:45:39 <Phantom_Hoover> Googling "why <language> sucks" is quite fun.
19:49:01 * oklopol immediately had to google why go sucks
19:51:58 <DH____> it only mentions Go as Gene Ontology...
19:53:07 <FireFly> I tried Brainfuck, it wasn't that fun
19:55:51 <oklopol> it wasn't, you should try clue instead
19:55:55 <oklopol> *isn't
19:56:33 * FireFly considers not to try Self
19:56:36 <DH____> Seems people think that Perl, Ruby and Python suck roughly as much (similar number of results) but Perl sucks the most of the three...
19:56:42 <oklopol> i should work on clue at some point, there's an obvious fix i should make to the language, but that requires programming
19:58:13 -!- sebbu has quit (Quit: reboot).
19:59:09 <DH____> 'No results found for "why Modula-2 sucks"'
19:59:18 -!- Oranjer has joined.
19:59:33 <Phantom_Hoover> Nerds don't get angry about esolangs.
20:00:33 <oklopol> i just get mad about non-esolangs, with esolangs it's okay if something trivial is hard to do, with other languages it feels like a waste of time
20:01:33 <Phantom_Hoover> How about a language which emails some programmers kept in a basement and promises them food if they make a working program from your design notes.
20:01:47 <DH____> Like converting Str to Char in Delphi? I always found that hard...
20:02:06 <Phantom_Hoover> Can't you just index?
20:02:06 <DH____> You have to find the Ascii value...
20:02:42 <Phantom_Hoover> I haven't programmed in Pascal for a year, but I recall strings being arrays of chars.
20:03:39 <DH____> Delphi I always had slight quirks - String was TString, a class of TObject...
20:04:56 <DH____> An there was no built-in function for converting between Integer and Real - you had to try and build your own using loopholes...
20:05:21 <Phantom_Hoover> Madness.
20:05:39 <DH____> I liked it though...
20:06:31 <DH____> I simulated Reals myself using LongInts and writing a string function to move the dp...
20:06:53 <Phantom_Hoover> Can you do OOP in C through a library?
20:06:59 <Phantom_Hoover> It seems like it should be possible.
20:07:54 <pikhq> Phantom_Hoover: Yes, that's how GTK works.
20:07:55 <Phantom_Hoover> Although hideous.
20:08:04 <pikhq> And yes, it is *hideous*.
20:08:06 <Phantom_Hoover> Wait, someone actually *did* that?
20:08:16 <pikhq> Yes, it's called GObject.
20:08:23 <pikhq> Which is a major part of Glib.
20:08:31 <Phantom_Hoover> I am gobsmacked.
20:13:28 -!- cal153 has joined.
20:16:05 <Phantom_Hoover> Everything in Lisp is basically a pointer, isn't it?
20:16:07 -!- BeholdMyGlory_ has joined.
20:16:15 -!- BeholdMyGlory_ has quit (Changing host).
20:16:16 -!- BeholdMyGlory_ has joined.
20:16:25 -!- BeholdMyGlory has quit (Disconnected by services).
20:16:27 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
20:26:23 -!- sebbu has joined.
20:31:02 -!- Oranjer has left (?).
20:31:59 -!- sebbu has quit (Ping timeout: 276 seconds).
20:35:24 <Sgeo_> Remind me to post this to alise when e gets back
20:35:25 <Sgeo_> http://shitampersand.com/
20:36:27 <Sgeo_> Although I don't get what's so bad about the keycaps one
20:38:58 <Phantom_Hoover> http://en.wikipedia.org/wiki/Talk:Lambda_calculus#Proposed_criticism_of_lambda_calculus
20:39:11 <Phantom_Hoover> Rather funny.
20:42:07 <oklopol> Sgeo_: it says right there, apparently there's no such thing as ampersand key on keyboards except for mac and mac is so useless they should've left ampersand out of the font
20:42:30 <oklopol> i do have an ampersand key tho, who the fuck doesn't have an ampersand key?
20:42:48 <Sgeo_> But that's obviously untrue, but surely there must be some valid reason to criticize it
20:43:14 <oklopol> looks fine to me
20:43:33 -!- MigoMipo has changed nick to migomipo.
20:44:38 <Sgeo_> indeed
20:48:54 <Phantom_Hoover> oklopol: Isn't it Shift-7?
20:51:37 -!- sebbu has joined.
20:51:52 <DH____> or Shift-6 on older keyboards...
20:56:17 <jabb_> What do I do once I've designed and implemented an esoteric language?
20:56:30 <Phantom_Hoover> You tell everyone!
20:56:52 <Phantom_Hoover> Preferably *after* writing at least cat, and if possible "Hello, world!".
20:57:16 <jabb_> And it working, of course.
20:57:46 <jabb_> Cause I can write those based on my design, but I have yet to implement it :P
21:05:24 <Sgeo_> jabb_, there are some languages on the wiki that are impossible to implement
21:06:56 <Phantom_Hoover> Well, *theoretically*.
21:07:07 <Phantom_Hoover> They're implementable once we discover FTL.
21:07:27 <Sgeo_> How does FTL lead to super-Turing-complete?
21:10:01 <Phantom_Hoover> FTL → violation of causality
21:10:26 <Phantom_Hoover> Violation of causality → TwoDucks interpreter.
21:10:51 <Phantom_Hoover> TwoDucks interpreter → Super-Turing computation.
21:12:37 <pikhq> Super-Turing computation -> fuck it, we can has halting oracle.
21:13:13 <Phantom_Hoover> The cool thing is that I don't think it leads to inconsistency.
21:13:33 <Phantom_Hoover> Provided that it's only an oracle for Turing machines.
21:14:14 <Phantom_Hoover> Which it would be, because if it has the time travel instruction added, it can interfere with the oracle.
21:15:04 <pikhq> Phantom_Hoover: Yes, a machine with a halting oracle still possesses its own analogue to the halting problem.
21:15:47 <Phantom_Hoover> If P(oracle) isn't evaluable by the oracle, there's no problem, right?
21:16:44 <pikhq> Right; that's how the halting problem manifests itself on Super-Turing machines.
21:17:39 <Sgeo_> TwoDucks is implementable if you ignore the ability to retrieve from the future
21:18:14 <jabb_> I write the ugliest Python code ever, I'm going back to C
21:19:27 <Sgeo_> Wait, the TwoDucks spec seems to conflict with the example
21:19:48 <Phantom_Hoover> It is unclear how it would work at all.
21:19:55 <Sgeo_> SEND v TO t; Assignment across time; assign the value of variable v (in the present) to the variable v as it existed at time t (in the past or future).
21:20:13 <Sgeo_> If that's correct, the first example should not cause a paradox afaict
21:20:29 <Sgeo_> Although that description also doesn't send v to t. It retrieves v from t
21:22:35 * Phantom_Hoover investigates
21:24:12 <Phantom_Hoover> Sgeo_: Is that better?
21:25:05 <Sgeo_> Yes
21:25:19 <Sgeo_> Although now I see the original spec could be interpreted either way
21:26:21 <Sgeo_> Actually, it still looks ambiguous
21:26:30 <Sgeo_> Maybe my brain's not functioning properly
21:26:33 <Phantom_Hoover> BE HAPPY.
21:28:32 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
21:32:22 <cheater99> herlo
21:32:29 <cheater99> i have slept long.
21:35:53 <jabb_> Once I finish the interpreter I'll post it here.
21:41:14 -!- Tritonio_GR has joined.
21:43:46 <Phantom_Hoover> Hmm, no-one seems to have posted the oracle yet,
21:45:45 -!- BeholdMyGlory has quit (Remote host closed the connection).
21:48:40 <Phantom_Hoover> OK, is the oracle I added to the TwoDucks article correct?
21:50:42 <Sgeo_> To me it looks ok, but I might be wrong
21:52:20 <Phantom_Hoover> It was written on the fly, but there's no reason it won't work.
21:52:41 -!- rodgort has quit (Quit: Coyote finally caught me).
21:52:41 <Phantom_Hoover> And if paradoxes don't destroy the universe we have a Turing oracle.
21:53:09 <Sgeo_> With a rewrite implementation, it would first claim it doens't halt, then if it halts, it changes it and pretends it always knew it halted
21:54:49 <cheater99> hahah i like this explanation
21:56:19 -!- rodgort has joined.
21:58:29 <Phantom_Hoover> Wow, MediaWiki's DPL code looks weird.
21:58:41 <Phantom_Hoover> "listseparators =,¶:* [[%PAGE%¦%PAGE%]], "
22:01:05 -!- oerjan has joined.
22:01:16 <Phantom_Hoover> oerjan!
22:01:28 <Phantom_Hoover> I implemented the halting oracle in TwoDucks!
22:01:37 <oerjan> Ghost_Vacuum!
22:01:49 <oerjan> aha
22:02:11 <Phantom_Hoover> So now we must invent FTL!
22:02:19 -!- kar8nga has quit (Remote host closed the connection).
22:02:46 <Phantom_Hoover> OK, need to suspend.
22:02:56 -!- Phantom_Hoover has quit (Quit: Leaving.).
22:13:18 -!- Phantom_Hoover has joined.
22:13:38 <Phantom_Hoover> Hi, everybody!
22:15:26 <jabb_> Hi!
22:15:56 <Phantom_Hoover> What's the language like?
22:17:44 <jabb_> I can show you the design
22:18:04 <jabb_> It reminds me of assembly, except it has dynamic arrays
22:18:22 <jabb_> http://ideone.com/wuz3Q
22:27:39 -!- Phantom_Hoover has quit (Quit: Leaving.).
22:28:18 -!- Phantom_Hoover has joined.
22:29:32 <uorygl> Hey, some of your Zalgo got stuck at the bottom of my terminal, below the bottom line.
22:29:51 <Phantom_Hoover> Cool.
22:46:21 <Sgeo_> Zalgo?
22:48:28 * Sgeo_ is officially declaring war on Gregor
22:50:11 <pikhq> ?
22:50:35 <Sgeo_> He hates pizza!
22:51:13 <pikhq> He *is* anosmic.
22:51:43 * Sgeo_ did not know that
22:53:15 <Phantom_Hoover> Anosmic?
22:53:57 * Phantom_Hoover Googles
22:54:03 <Phantom_Hoover> Wow, that must suck.
22:54:25 -!- migomipo has quit (Read error: Connection reset by peer).
23:00:40 -!- FireFly has quit (Quit: swatted to death).
23:01:10 <pikhq> No tea for him.
23:02:05 -!- poiuy_qwert has joined.
23:04:01 -!- Phantom_Hoover has quit (Quit: Leaving.).
23:09:14 <jabb_> semantic analysis down!
23:11:48 -!- oklopol has quit (Ping timeout: 264 seconds).
23:13:04 <Sgeo_> He has taste buds, I'd assume
23:13:18 <Sgeo_> Not that those are particularly useful, admittedly
23:15:28 -!- oktolol has joined.
23:15:42 <pikhq> Yes, but tea sucks ass without olfactation apparently.
23:22:27 -!- tombom has quit (Quit: Leaving).
23:30:14 <Sgeo_> Have we ever learned why he can't smell?
23:43:34 <oerjan> he's built upside down, so his nose runs rather than smells. his feet on the other hand...
23:45:06 -!- ArcticDeath has joined.
23:55:24 -!- relet has quit (Quit: Leaving.).
2010-06-04
00:17:00 <jamesstanley> solved problem 1 of project euler in brainfuck :D (ok, ok, it needs a weird brainfuck with at least 18-bit wide cells and number i/o instead of character i/o)
00:25:47 <jamesstanley> http://aw.eso.me.uk/p/?show=f4b3bfce0
00:25:50 <jamesstanley> good night guys
00:26:09 <ArcticDeath> night
00:26:44 <jamesstanley> also i just noticed that the 4th line of the loop for 3's can be shortened
00:26:46 <jamesstanley> but anyway...
00:28:46 -!- oerjan has quit (Quit: Good night).
00:31:33 -!- ArcticDeath has left (?).
00:32:13 <Sgeo_> jamesstanley, given 8-bit BF, you can um, simulate 8^2n bit BF easily
00:32:15 <Sgeo_> iirc
00:33:45 <pikhq> And itoa isn't hard to do.
00:34:42 <Sgeo_> itoa?
00:34:47 <Sgeo_> int to string?
00:36:49 <pikhq> Yuh.
00:37:00 <pikhq> So he could output numbers.
00:39:31 <Sgeo_> What about inputting numbers?
00:41:00 * Sgeo_ starts thinking about transformations of BF code and order in which such are applied
00:42:10 <pikhq> Sgeo_: That's a trivial matter of parsing.
00:49:05 -!- jabb_ has quit (Quit: Page closed).
01:07:08 -!- Tritonio_GR1 has joined.
01:07:30 -!- Tritonio_GR has quit (Ping timeout: 248 seconds).
01:17:16 -!- zzo38 has joined.
01:20:29 -!- DH____ has quit (Read error: Connection reset by peer).
01:21:51 -!- DH____ has joined.
01:29:23 <zzo38> I found out how to fix the game_id so that it matched of the filename of the module: http://zzo38computer.cjb.net/PySol/ruleset/ Now you must rename each file, otherwise it won't work!!!!
01:29:28 <zzo38> !!!!!!!!!!!
01:30:26 <zzo38> I also added in a Interactive Exec command, so that you can enter a Python code at run-time. http://zzo38computer.cjb.net/PySol/plugin/extra_commands.py
01:31:49 <zzo38> Now I invented the idea for HighForth with is like Forth but with high-level functions and it can be used with other high-level functions such as JavaScript, Python, etc.
01:31:58 <zzo38> An example code is: : 2+ 2 + ;
01:32:15 <zzo38> Which can also be written as: [[ 2 + ]] CONSTANT `2+
01:32:41 <zzo38> Or: NULL DATA-OPEN 2 L, `+ , DATA-CLOSE COMPILE CONSTANT `2+
01:33:08 <zzo38> Or: 2 `+ 1 CURRY CONSTANT `2+
01:33:22 <zzo38> Or even a bunch of other ways.
01:35:44 <zzo38> Or: NULL DATA-OPEN 2 L, +` EXIT` DATA-CLOSE COMPILE CONSTANT `2+
01:36:15 <zzo38> Or: 2 1[[ + ]] CONSTANT `2+
01:36:26 <zzo38> Or: 2 1 S[[ + ]] CONSTANT `2+
01:52:26 -!- Tritonio_GR1 has quit (Ping timeout: 276 seconds).
02:10:04 -!- cheater99 has quit (Ping timeout: 240 seconds).
02:11:52 -!- zzo38 has left (?).
02:18:14 -!- cheater99 has joined.
02:33:34 -!- zzo38 has joined.
02:33:34 -!- Mathnerd314 has joined.
02:33:43 <zzo38> This is how the simple IRC log format can be written: http://zzo38computer.cjb.net/textfile/miscellaneous/SIRCL
02:48:38 -!- zzo38 has quit (Remote host closed the connection).
02:50:01 -!- coppro has joined.
02:55:34 -!- Gregor has joined.
03:15:33 -!- coppro has quit (Remote host closed the connection).
03:16:08 -!- coppro has joined.
03:21:15 <Gregor> http://codu.org/tmp/BalMusetteNocturne-wipp1.mp3 Gregor attempts to play two musical instruments at once and records it poorly!
03:21:31 <Gregor> Gregor accidentally bolds things!
03:22:03 <coppro> http://www.youtube.com/watch?v=uRv8gnBMiWM
03:24:15 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
03:24:55 <pikhq> Gregor also uses mp3 for once!
03:24:57 <pikhq> The horror!
03:25:14 <Gregor> I made it ogg, but the first person I sent it to I knew wouldn't be able to play a .ogg :P
03:25:30 <pikhq> Ah.
03:28:41 <Gregor> I see you have no opinion on the music itself :P
03:29:05 <pikhq> I've not listened yet.
03:29:10 <pikhq> :P
04:05:04 -!- pikhq has quit (Quit: LOGGING OF FOR WEEK. MUAHAHAH.).
04:16:54 -!- zzo38 has joined.
04:17:07 <zzo38> Sometimes the log file is application/octet-stream by mistake?
04:18:59 <zzo38> Which IRC server softwares can be compiled with the GNU C compiler and can work on Windows and on Linux?
05:34:18 <coppro> dunno
05:35:03 <coppro> seven's at git clone git://git.freenode.net/ircd-seven.git
05:35:34 <zzo38> I found ngIRCd I think I will use that one. If I can get it to compile
05:45:26 <oktolol> Gregor: did you learn to play the harmonica just for that? or is it a different instrument or you knew it already or
05:45:45 <oktolol> i actually first thought i'd just comment on everything except the music but then i thought it'd be a bit too obvious
05:45:54 -!- oktolol has changed nick to oklopol.
05:46:03 <Gregor> I'm glad that you think I can do impossible things on the harmonica.
05:46:07 <oklopol> i love how mirc shoves all my past mistakes in my face for the rest of my life
05:46:11 <Gregor> It's nice to know you have that kind of confidence in me.
05:46:25 <Gregor> Well, not impossible, but the kinds of things that people study the harmonica for YEARS to be able to do.
05:46:29 <Gregor> However, that's not a harmonica.
05:46:38 <oklopol> i thought the fast things are just you moving your mouth over the thing
05:46:43 <oklopol> err along it
05:46:57 <Gregor> The chords are the real complication :P
05:47:10 <Gregor> Since some of them would involve tonguing an intervening hole on a harmonica.
05:47:19 <oklopol> well i have crappy quality, i thought there was just thirds
05:47:31 <oklopol> hmm
05:47:33 <oklopol> oh right
05:47:42 <Gregor> Yeah, the audio quality is bad since I don't have decent recording equipment :P
05:48:57 <Gregor> Not gonna continue instrument guessing?
05:49:32 <oklopol> yeah and i'm using my laptop's speakers and they are hammering the other side of the wall and boring through it
05:49:47 <oklopol> drilling
05:50:09 <Gregor> Well, it's a melodica, so you wouldn't have guessed it anyway :P
05:50:17 <oklopol> err i don't really know much about instruments, harmonicas and well okay make that sound
05:50:24 <oklopol> the list would've included melodica
05:50:30 <oklopol> if i'd remembered its name
05:50:39 <Gregor> The fact that you've heard of it is astounding ...
05:50:59 <oklopol> it's the thing you blow into and play like a piano?
05:51:26 <Gregor> Yup
05:52:13 <oklopol> i have heard the name lots of times, anyway i gotta go to uni so have fun with your instruments ->
05:52:33 <oklopol> er heard of the instrument or the name?
05:52:38 <oklopol> because the instrument is common
05:52:42 <Gregor> ???
05:52:44 <Gregor> Common where?
05:52:49 <Gregor> I'd never seen one.
05:52:53 <oklopol> all the cool kids have them
05:53:00 <Gregor> WELL THEN I'M COOL NOW
05:53:04 <oklopol> i dunno, i've had at least one
05:53:17 <oklopol> and i just met one at a thing
05:53:45 * Sgeo_ decides that he <3 Zelda music
05:53:52 <oklopol> maybe it's like our national instrument dunno
05:53:53 <oklopol> ->
05:54:12 <Sgeo_> Actually, I made that decision a long time ago
06:08:25 <zzo38> I loaded ngIRCd into Cygwin but now it is error message It doesn't work it says "bash: make: command not found"
06:11:13 <zzo38> What is wrong?
06:14:28 <coppro> you don't have make?
06:19:04 <zzo38> I have make in MinGW but in Cygwin it says it doesn't?
06:21:06 -!- MizardX has quit (Ping timeout: 248 seconds).
06:22:31 -!- Mathnerd314 has joined.
06:47:05 <zzo38> Which package is "make" program?
06:49:45 <zzo38> What other packages are required to compile ngIRCd?
06:49:45 <coppro> dunno
06:49:49 <coppro> dunno
06:50:38 -!- FireyFly has joined.
06:57:02 <zzo38> In the Free Geek they now have the newest version of Ubuntu on their servers, but it has some things missing, even the "mail" command doesn't work
06:57:52 <zzo38> It says tell the administrator to install these softwares, he wasn't in on that day and how else can it be done without "mail" command?
07:06:57 -!- Mathnerd314 has quit (Ping timeout: 252 seconds).
07:13:27 -!- relet has joined.
07:17:11 <zzo38> Cygwin installer keeps displaying error messages about files that are in use, even though they aren't in use (I checked the permissions, I also checked the processes)
07:17:41 <zzo38> I also have one process that will not go away, process 924 cmd.exe
07:19:00 <zzo38> Attempting to terminate the process does nothing, attempting to debug gives error message that it cannot execute the program
07:21:03 <zzo38> Now Cygwin Setup seems stuck!
07:22:33 <zzo38> Now everything is stuck
07:23:17 -!- zzo38 has quit (Remote host closed the connection).
07:25:00 -!- MigoMipo has joined.
07:28:59 -!- MigoMipo has quit (Remote host closed the connection).
07:40:21 -!- jabb has quit (Ping timeout: 264 seconds).
07:42:12 -!- jabb has joined.
07:50:04 <CakeProphet> ...hello
07:50:05 -!- CakeProphet has quit (Quit: Reconnecting).
07:50:19 -!- CakeProphet has joined.
07:52:30 <jabb> Hi!
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:54 <jabb> Does this look esoteric: (0)3< (1)10< @; (1)20*(1)< (^)(,_1)>` (0)>1-< ! ?
08:08:38 <mtve> yep
08:24:22 <CakeProphet> :o
08:24:35 <CakeProphet> yes it does.
08:27:02 <jabb> I have that running in my interpreter succesfully
08:38:32 -!- Phantom_Hoover has joined.
08:47:23 <olsner> btw, I successfully got my compiler to compile a working brainfuck interpreter the other week, that was fun
09:04:30 <Phantom_Hoover> Cool, there's a low-level x86 Common Lisp implementation.
09:04:39 <Phantom_Hoover> olsner: Compiler for what?
09:08:27 <jabb> Phantom_Hoover: Got a cat example going
09:08:51 <Phantom_Hoover> Does it halt on EoF?
09:09:02 <jabb> yeah
09:09:05 <jabb> just tested it
09:20:05 <Phantom_Hoover> Right, standard procedure once you have an interpreter and working examples is to post it on the wiki.
09:20:18 <Phantom_Hoover> Although I would advise you strongly not to post the interpreter there.
09:20:30 <Phantom_Hoover> (The code, I mean)
09:20:47 <jabb> googlecode?
09:20:52 <jabb> github?
09:21:31 <Phantom_Hoover> Pretty much wherever.
09:21:54 <Phantom_Hoover> Except the wiki is entirely public domain, so if you want to have any control over the license don't post it there.
09:27:24 <coppro> which commonly-used color space is the biggest?
09:28:16 <Phantom_Hoover> http://en.wikipedia.org/wiki/File:Colorspace.png seems relevant.
09:30:34 -!- BeholdMyGlory has joined.
09:30:51 <coppro> useful, but that seems to be mostly RGB spaces
09:31:24 <Phantom_Hoover> The rainbow?
09:31:50 <Phantom_Hoover> Since it contains every frequency of light from the sun
09:32:03 <Phantom_Hoover> Although you can't combine them...
09:41:10 -!- augur has joined.
10:00:38 -!- Sgeo has joined.
10:02:31 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
10:04:34 -!- e2e has joined.
10:12:28 -!- BeholdMyGlory has quit (Remote host closed the connection).
10:14:53 -!- Slereah has joined.
10:19:09 -!- Gracenotes has quit (Read error: Operation timed out).
10:24:16 <Phantom_Hoover> http://www.ecanadanow.com/curiosity/2010/06/03/the-newest-high-vodka-eyeballing/ Dear god, the youth of today are stupid.
10:25:42 <Phantom_Hoover> I hope that it's just a media invention.
10:26:04 <Phantom_Hoover> Sadly, the thing about them burning bins to get high off the fumes seems not to have been.
10:27:01 <DH____> What? No they burn bins because it's fun...
10:27:35 <Phantom_Hoover> Hmm, admittedly the citation for that was the Metro.
10:27:58 <Phantom_Hoover> Which has lower journalistic standards than, say, a pigeon.
10:28:33 <DH____> The Metro's one of the more reliable papers, I find. Would you rather beleive the Sun? Or the Mail?
10:28:43 <Phantom_Hoover> No.
10:28:50 <Phantom_Hoover> I believe no-one!
10:28:55 <Phantom_Hoover> Not even you!
10:29:11 <Phantom_Hoover> Anyone with more underscores than letters in their nick is not to be trusted.
10:29:36 <DH____> I don't know why it did that...
10:29:52 <DH____> I set my name as DH and it added them to the end...
10:30:01 -!- Phantom_Hoover has changed nick to PH______________.
10:30:24 <PH______________> I am exceedingly untrustworthy now.
10:34:04 -!- tombom has joined.
10:34:07 <jabb> Nah, you seem to be up front about everything
10:34:13 -!- jabb has changed nick to __jabb.
10:34:19 <__jabb> I'm unstrustworthy
10:34:35 <PH______________> No you're not!
10:34:57 <PH______________> Your underscore:letter ratio is only 1:2.
10:36:49 * PH______________ has written possibly the ugliest line of code in his life
10:37:04 <__jabb> I wish to see it
10:37:21 <PH______________> (set-weight neuron output (+ (car range) (random (coerce (- (car range) (cdr range)) 'double-float)))))
10:37:55 <PH______________> The first time I tried I got lost in parentheses, so I had to undo and rewrite it very carefully.
10:38:36 <__jabb> I'm a lisp noob
10:39:07 <PH______________> And I used cdr when I should have used cadr, too...
10:41:09 <PH______________> And I got various indices wrong. Oh well, it's fixed now.
10:52:58 <augur> heyo
10:54:19 -!- Gracenotes has joined.
11:06:12 <PH______________> augur!
11:07:16 <augur> hey
11:07:19 <augur> Gracenotes! :D
11:07:52 <PH______________> I don't recall Gracenotes ever actually saying anything...
11:08:51 <augur> hes magical
11:08:54 <augur> he doesnt have to
11:09:49 <e2e> but you can be magical too!!!
11:10:01 <PH______________> How?
11:10:11 <e2e> don't you see??
11:10:13 <e2e> lol
11:10:15 <PH______________> I tried learning Lisp, but that didn't work; nor did Haskell.
11:10:15 <e2e> sorry
11:10:27 <e2e> random bs
11:10:41 <PH______________> Oh, by not saying anything.
11:10:49 <PH______________> But that doesn't make me magical.
11:11:05 <PH______________> Magic requires that I don't *have* to say anything.
11:11:13 <PH______________> fungot?
11:11:24 <PH______________> Oh, no!
11:11:33 <e2e> I'm a fairy princess
11:12:19 <e2e> in a way
11:13:28 -!- softmoon has joined.
11:14:14 <PH______________> e2e: Which way?
11:14:31 <e2e> I
11:14:39 <e2e> don't
11:14:42 <e2e> know
11:15:39 <e2e> levitation
11:17:08 <e2e> wait thats false
11:17:22 <e2e> nm
11:17:29 <softmoon> Do anyone know something about Lali Puna?
11:19:28 <e2e> what about it
11:21:06 <softmoon> I do not know something about music
11:22:54 -!- softmoon has quit (Quit: softmoon).
11:45:13 -!- e2e has quit.
11:52:21 <PH______________> Is there any browser scripting language other than JavaScript?
11:57:02 -!- Gracenotes has quit (Ping timeout: 260 seconds).
12:04:21 <__jabb> html
12:04:24 <__jabb> buahahahaha
12:08:52 -!- augur has quit (Remote host closed the connection).
12:09:04 -!- augur has joined.
12:21:04 -!- FireyFly has changed nick to FireFly.
12:32:31 <FireFly> Hrm
12:32:42 <FireFly> A function that returns its argument, x → x, what's it called again?
12:32:44 * FireFly forgets
12:34:51 <augur> identity function
12:35:01 <FireFly> Ah, yeah, thanks
12:35:32 <fizzie> There was a "you'll forget your own identity next" pseudo-pun waiting there.
12:37:59 <Deewiant> PH______________: VBScript, PerlScript
12:40:16 -!- augur has quit (Remote host closed the connection).
12:40:26 -!- augur has joined.
12:43:53 <CakeProphet> :o
12:44:19 * CakeProphet is learning about SM in Haskell
12:44:24 <CakeProphet> I think I understand it, just need to see it in use.
12:44:38 <PH______________> Haskell SM? Eew.
12:46:54 <PH______________> Deewiant: Are they standardised?
12:47:04 <Deewiant> What do you mean
12:48:15 <__jabb> PH: http://esolangs.org/wiki/Mimsy
12:48:55 <PH______________> I thought "mimsy" was from Jabberwocky.
12:49:16 <PH______________> "All mimsy were the borogroves, and the mome raths outgrabe."
12:49:36 <Deewiant> VBScript is only supported in Windows, and PerlScript requires ActivePerl and therefore also Windows.
12:49:45 <__jabb> which is a poem from Through the Looking Glass :P
12:49:54 <PH______________> Oh, really?
12:49:57 <__jabb> yeah
12:50:06 <__jabb> http://en.wikipedia.org/wiki/Jabberwocky
12:50:22 <PH______________> Also, the language looks pretty good.
12:50:35 <PH______________> It's sufficiently like line noise.
12:50:54 <PH______________> And it maintains a healthy disregard for whitespace.
12:51:05 <__jabb> :D
12:51:36 * CakeProphet thinks his tree-based language will be sweet.
12:53:26 <AnMaster> PH______________, that is one irritating nick!
12:53:44 <PH______________> I'm trying to be untrustworthy.
12:54:14 <PH______________> (I'm Phantom_Hoover, if you haven't realised)
12:54:51 <AnMaster> I did realise that from /whois
12:54:59 <AnMaster> and I suspected it before that
12:56:46 <PH______________> (10:28:47) Phantom Hoover: Anyone with more underscores than letters in their nick is not to be trusted.
12:56:50 <PH______________> That is why.
12:58:38 <AnMaster> I see
12:58:50 <AnMaster> PH______________, anyone with a space in their nick is not to be trusted at all
12:58:58 <AnMaster> since that doesn't work
12:58:59 <PH______________> I don't acutally have one.
12:59:04 <PH______________> It's the client.
12:59:05 <AnMaster> PH______________, what about that quote then?
12:59:11 <PH______________> s/acutally/actually/
12:59:13 <AnMaster> okay, such clients are not to be trusted
12:59:20 <PH______________> Very probably.
12:59:33 <PH______________> I'll probably change in a while.
13:00:02 <AnMaster> PH______________, oh?
13:00:11 <AnMaster> btw "-PH______________- VERSION Purple IRC", never heard about that
13:00:23 <PH______________> On the other hand, irssi had my real name on whois, and I couldn't see how to change it easily.
13:00:31 <AnMaster> PH______________, the irssi config
13:00:35 <AnMaster> I presume
13:00:37 <PH______________> AnMaster: Toying with Pidgin. It's vaguely tolerable.
13:00:45 <AnMaster> PH______________, probably called gecos or such
13:00:46 <AnMaster> not sure
13:00:52 <AnMaster> since I don't use irssi
13:01:03 <PH______________> What do you use?
13:01:07 <Deewiant> PH______________: /set name
13:01:14 <AnMaster> PH______________, ERC, haven't I told you before?
13:01:23 * PH______________ goes off to change his client again
13:01:26 -!- PH______________ has quit (Quit: Leaving.).
13:03:32 <AnMaster> Deewiant, did you see that idea a few days ago about befunge with branch delay slots?
13:03:46 <Deewiant> Yes, I did
13:04:17 -!- Phantom_Hoover has joined.
13:04:17 <Deewiant> I was going to comment about that being very feral for a fingerprint but decided not to
13:05:29 <AnMaster> Deewiant, not as a fingerprint I thought, but as a fungiod
13:05:56 <AnMaster> (sorry for slow reply, had to clean my glasses due to small accident there)
13:06:21 <Deewiant> You did say "as a fingerprint perhaps", but yes.
13:06:39 <AnMaster> hm, maybe I did
13:06:41 <Deewiant> And a reply isn't slow unless it takes at least five minutes to come.
13:06:50 <Deewiant> 2010-06-02 01:25:20( AnMaster) as a fingerprint perhaps
13:06:50 <AnMaster> heh
13:07:27 <AnMaster> hm, as a fingerprint it is much less useful than as a core feature of a fungoid
13:07:42 <AnMaster> since the latter would allow a nice pipeline in a hardware implementation
13:07:56 <AnMaster> while the former would have to enable that only sometimes
13:08:03 <AnMaster> and require dual implementation or something
13:09:39 <Phantom_Hoover> Fingerprint?
13:10:34 <AnMaster> Phantom_Hoover, befunge98 thing, kind of like a loadable library of functions that the interpreter provides, will be loaded on A-Z
13:10:47 <AnMaster> fungot uses SOCK and a few other ones for example
13:10:51 <AnMaster> hey, where is fungot? fizzie!
13:13:19 <fizzie> Let's see.
13:13:23 <fizzie> (Just arrived home today.)
13:13:38 <AnMaster> fizzie, hi!
13:13:40 * Phantom_Hoover whistles innocently
13:13:44 <AnMaster> Phantom_Hoover, what?
13:14:23 -!- fungot has joined.
13:14:29 <__jabb> He's unstrustworthy
13:14:33 <Phantom_Hoover> I kinda sorta changed my nick to fungot during a netsplit.
13:14:33 <fungot> Phantom_Hoover: i'm still learning
13:14:39 -!- __jabb has changed nick to jabb.
13:14:44 <Phantom_Hoover> __jabb, I'm not anymore.
13:14:58 <jabb> I don't believe you
13:15:02 <Phantom_Hoover> No underscores, see?
13:15:05 <fizzie> The nick-change seems to have not been related: RAW >>> ERROR :Closing Link: momus.zem.fi (Ping timeout: 260 seconds) <<<
13:15:15 <fizzie> (If it drops, it won't try to reconnect.)
13:18:13 <AnMaster> Phantom_Hoover, one underscore!
13:18:45 <Phantom_Hoover> True, but the ratio of underscores to letters is low.
13:20:06 <Phantom_Hoover> fungot
13:20:07 <fungot> Phantom_Hoover: don't take your class as any indication of decision of opinion whatsoever.).
13:20:15 <Phantom_Hoover> ^style
13:20:15 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
13:21:41 <fizzie> It reverts to that style on startup by default.
13:25:54 <CakeProphet> !haskell print (show "Hello")
13:26:13 <EgoBot> "\"Hello\""
13:28:10 <Phantom_Hoover> !haskell print $ read "print"
13:28:11 <EgoBot> *** Exception: Prelude.read: no parse
13:29:33 <CakeProphet> !haskell print $ read "1" :: Int
13:30:26 <Deewiant> !haskell print (read "1" :: Int)
13:30:28 <EgoBot> 1
13:31:01 <CakeProphet> !hasle;; print (read $ show "print" :: String)
13:31:06 <CakeProphet> !haslell print (read $ show "print" :: String)
13:31:20 <CakeProphet> !haslell print (read (show "print") :: String)
13:31:26 <Deewiant> s/haslell/haskell/
13:31:34 <CakeProphet> !haskell print (read (show "print") :: String)
13:31:35 <CakeProphet> ...ah
13:31:36 <fizzie> David Haskellhoff.
13:31:36 <EgoBot> "print"
13:32:47 <CakeProphet> !Haskell print $ [(+1), (+2), (+3), negate] <$> 3
13:32:56 <CakeProphet> !haskell print $ [(+1), (+2), (+3), negate] <$> 3
13:33:27 <CakeProphet> ...we need lambdabot.
13:34:42 <Deewiant> !haskell import Control.Applicative; main = print $ [(+1), (+2), (+3), negate] <$> 3
13:36:28 <Deewiant> !haskell import Control.Applicative; main = print $ [(+1), (+2), (+3), negate] <*> pure 3
13:36:30 <EgoBot> [4,5,6,-3]
13:39:23 -!- augur has quit (Remote host closed the connection).
13:39:36 -!- augur has joined.
13:40:40 <Phantom_Hoover> augur,
13:40:42 <Phantom_Hoover> !
13:40:58 <Deewiant> xyzzy,
13:40:59 <Deewiant> ni!
13:41:08 <augur> xyzygy
13:41:22 <Phantom_Hoover> fungot,
13:41:22 <fungot> Phantom_Hoover: ' but initialize it from a file, so i keep to 255 byte lines much pain. but oh well its a known fact that the syntax-rules word does is remove the ever so slight overhead of a function
13:41:23 <Phantom_Hoover> R!
13:44:13 <AnMaster> C++ is outdated btw. It wants to preserve the class system all the injustices that implies.
13:44:21 * AnMaster runs
13:44:22 -!- Moult has joined.
13:44:32 -!- Moult has left (?).
13:45:52 <Phantom_Hoover> AnMaster, everything uses the class system.
13:45:57 <Phantom_Hoover> Except JavaScript.
13:46:03 <AnMaster> oh?
13:46:12 <Phantom_Hoover> JavaScript: Program equality.
13:46:38 <AnMaster> really? wouldn't the ability to determine that solve the halting problem? ;P
13:46:52 <Phantom_Hoover> Urgh.
13:47:05 <Phantom_Hoover> Well, once we get FTL travel...
13:47:16 <AnMaster> what has that got to do with it?
13:48:26 <Slereah> Well, not much, since that's not useful if you don't have infinite memory
13:48:32 <Phantom_Hoover> FTL → time travel → TwoDucks interpreter → halting oracle.
13:49:00 <Slereah> But time travel violates quantum unitarity, though
13:49:14 <Phantom_Hoover> Dammit.
13:49:35 <AnMaster> Phantom_Hoover, also it requires infinite space as well
13:49:51 <AnMaster> and how does FTL imply time travel?
13:49:51 <Phantom_Hoover> That doesn't stop us normally.
13:50:00 <Phantom_Hoover> AnMaster: Relativity.
13:50:08 <AnMaster> hm
13:50:17 <AnMaster> does it allow going backward in time?
13:50:23 <AnMaster> or just slowing it down/speeding it up?
13:50:56 <Phantom_Hoover> It allows violation of causality, which is basically time travel.
13:51:02 <augur> AnMaster: if you can go faster than light
13:51:06 <augur> and relativity holds
13:51:10 <augur> then you travel backwards in time
13:52:36 <AnMaster> augur, ah right
13:52:54 <augur> assuming relativity holds.
14:05:22 -!- MizardX has joined.
14:24:05 -!- ineiros has changed nick to ineiros__.
14:24:43 -!- augur has quit (Remote host closed the connection).
14:24:52 -!- augur has joined.
14:25:33 -!- ineiros__ has quit (Quit: .).
14:32:00 * Phantom_Hoover wonders why on earth one would possibly want a logical XOR operator.
14:33:24 -!- Tritonio_GR has joined.
14:33:26 <fizzie> Completeness is one reason.
14:33:53 <coppro> implicit conversion of its operands to boolean type, and it looks better than !!x != !!y
14:34:30 <Phantom_Hoover> But in what context would you need it?
14:37:12 -!- BeholdMyGlory has joined.
14:40:23 <oklopol> i've needed a logical xor many times
14:40:40 <Phantom_Hoover> For what sort of things?
14:40:42 <oklopol> can't think of a situation tho
14:40:44 <oklopol> ^
14:40:58 <oklopol> for when i've needed exactly one of two things to be true, obviously
14:41:11 <oklopol> rare, but i recall needing it multiple times
14:41:41 <Phantom_Hoover> I recall there being a comment from Larry Wall about why he didn't want a ^^ operator because he didn't want to spend forever telling people why it didn't short-circuit.
14:41:55 <oklopol> heh
14:52:00 -!- relet has quit (Quit: Leaving.).
14:52:23 * Phantom_Hoover has an overwhelming desire to do low-level code
15:08:10 <CakeProphet> hmmm I wonder if you could use a constrain-enabled type system to automate unit testing.
15:08:24 <CakeProphet> Phantom_Hoover: make a bitchin' VM
15:10:37 <CakeProphet> give it support for stuff like function pointers.... profit?
15:13:43 <CakeProphet> but yeah.. constraints and types.. so
15:13:55 <CakeProphet> Haskell's system only lets you specify whole sets of objects
15:14:13 <CakeProphet> Int passes for all system-bound integer values...
15:15:02 <Phantom_Hoover> CakeProphet: Define "bitchin'".
15:15:42 <CakeProphet> but if you could do like (Int within [1..100])... the type checker could use that information to invalid a program based on data-sets that won't match up at runtime.
15:15:54 <CakeProphet> Phantom_Hoover: I don't know. Uses something previous unused in VM design.
15:15:59 <CakeProphet> an esoteric VM
15:16:05 <Phantom_Hoover> Been done.
15:16:50 <CakeProphet> hmmm
15:17:07 <CakeProphet> (t | c) where t is a type and c is a constraint.
15:17:09 <Phantom_Hoover> Although...
15:17:16 <CakeProphet> constraints would be like... type-level predicate functions sort of.
15:17:37 <Phantom_Hoover> In the Lazy K spec it suggests that it could be used as bytecode for a VM.
15:17:46 -!- Tritonio_GR has quit (Quit: Leaving.).
15:18:08 <CakeProphet> Phantom_Hoover: well... do something different
15:18:13 <CakeProphet> but equally bitchin'
15:18:20 <Phantom_Hoover> No, I mean actually write the VM.
15:18:29 <CakeProphet> ...ah
15:18:41 <Phantom_Hoover> Lazy K is an incredibly functional language, so it could be fun.
15:18:58 <CakeProphet> hmmm...
15:19:12 * CakeProphet is thinking about constraints and type systems.
15:19:58 <CakeProphet> conditionals would change constraints on a type.
15:20:08 -!- hiato has joined.
15:20:21 <CakeProphet> if (x>100) f (x) else x
15:20:44 <CakeProphet> the constraint on x changes for each of those nested expressions
15:21:04 <Phantom_Hoover> I also have a couple of old BF interpreters lying around, and it would be trivial to adjust them to be more VMy.
15:21:06 <CakeProphet> in the truth-expression x is Int | x > 100
15:21:19 <CakeProphet> Phantom_Hoover: What about a VM that operates on a tree?
15:21:31 <CakeProphet> instead of the stack/register based designs.
15:21:35 <Phantom_Hoover> Hang on.
15:21:57 <Phantom_Hoover> IIRC lazy languages use trees to evaluate.
15:22:01 <Phantom_Hoover> Ooh.
15:22:11 <CakeProphet> :)
15:22:16 <CakeProphet> there you go...
15:22:38 <Phantom_Hoover> OTOH low-level functional programming is an underexplored concept, so there's nothing to build on...
15:22:45 <Phantom_Hoover> Right, let's get designing.
15:22:46 <CakeProphet> Phantom_Hoover: what I like about a tree design is that you can integrate a lot of POSIX-type stuff into the language
15:22:52 <CakeProphet> like... have a virtual filesystem of sorts
15:23:02 <CakeProphet> if you allow for naming of tree nodes as well as enumeration
15:23:08 <Phantom_Hoover> Yes, but it would be nice if it was lazy and functional as well.
15:23:25 <Phantom_Hoover> OK, so source and data should both be trees, which seems sensible.
15:23:30 <CakeProphet> ...lazy VM? I'd say only provide operations for /supporting/ lazy evaluation
15:23:34 <CakeProphet> but make the VM itself eager
15:23:49 <Phantom_Hoover> Baah, no!
15:24:02 <CakeProphet> .. well, if you think there's benefit to having it lazy.
15:24:02 <Phantom_Hoover> Low-level lazy evaluation is much interestinger.
15:24:09 <Phantom_Hoover> It's esoteric!
15:24:15 <CakeProphet> rofl. granted.
15:24:29 * CakeProphet was thinking of a practical VM... for implementing lazy languages.
15:24:32 <Phantom_Hoover> Eager evaluation is so 19**s.
15:24:37 <CakeProphet> or only partially lazy languages.
15:24:52 <CakeProphet> IO for example... can specify certain expressions to be lazy at a method level
15:25:02 <CakeProphet> rather than having everything implicitly lazy.
15:25:33 <Phantom_Hoover> Lazy K is completely lazily evaluated and manages IO pretty well.
15:25:44 <CakeProphet> ...er, I meant io the language
15:25:46 <CakeProphet> not IO
15:25:59 <Phantom_Hoover> Oh.
15:26:03 <CakeProphet> io is eager
15:26:05 <Phantom_Hoover> !wiki IO
15:26:08 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:26:08 <CakeProphet> but methods take lazy parameters
15:26:11 <Phantom_Hoover> `wiki IO
15:26:12 -!- augur has quit (Remote host closed the connection).
15:26:20 -!- augur has joined.
15:26:27 <CakeProphet> !google io
15:26:29 <EgoBot> http://google.com/search?q=io
15:26:34 <CakeProphet> looool
15:26:36 <HackEgo> No output.
15:26:46 <CakeProphet> !google io programming language
15:26:47 <EgoBot> http://google.com/search?q=io+programming+language
15:26:55 <Phantom_Hoover> Hmm.
15:27:06 <Phantom_Hoover> It seems like it's intended to be *useful*.
15:27:10 <Phantom_Hoover> BOO!
15:27:34 <DH____> io =/= iota?
15:27:42 <CakeProphet> ...different.
15:27:46 <Phantom_Hoover> No.
15:27:51 <CakeProphet> io is not iota
15:28:09 <Phantom_Hoover> Lazy K would actually be feasible, since it runs purely at the SKI level.
15:28:13 <CakeProphet> Phantom_Hoover: usefulness doesn't exclude novelty of concept. :)
15:28:37 <Phantom_Hoover> So it's innately tree-based as it is.
15:28:58 <CakeProphet> what I was thinking of was a VM that explicitly operates on a global tree
15:29:12 <Phantom_Hoover> So the I-less cat program, ``skk would become...
15:29:13 <CakeProphet> and then particular lazy languages could implement how laziness works.
15:29:39 <Phantom_Hoover> OK, so the low-level code manipulates a tree?
15:29:51 <CakeProphet> ...that's how I would see it working.
15:29:56 <Phantom_Hoover> And then we write an interpreter for a lazy language in that?
15:30:00 <Phantom_Hoover> Hmm, interesting.
15:30:07 <CakeProphet> I always think a VM should model hardware somewhat closely
15:30:11 <CakeProphet> but provide abstraction
15:30:14 <Phantom_Hoover> Would code be in the tree as well?
15:30:20 <Phantom_Hoover> For the low-level language.
15:30:24 <CakeProphet> it's possible to set it up that way.
15:30:31 <CakeProphet> but it has to be tree-based code
15:30:40 <Phantom_Hoover> Is there actually a hardware structure for trees?
15:30:44 <CakeProphet> ...no.
15:30:50 <Phantom_Hoover> OK.
15:30:54 <Phantom_Hoover> Just wondering.
15:30:58 <CakeProphet> well
15:31:00 <CakeProphet> filesystem
15:31:01 <CakeProphet> is the only one
15:31:03 <CakeProphet> that's tree-like
15:31:13 <CakeProphet> but that's not strictly hardware
15:31:19 <Phantom_Hoover> Indeed.
15:31:19 <CakeProphet> just low-level.
15:31:26 <Phantom_Hoover> OK, so the low-level code.
15:31:45 <Phantom_Hoover> If it's implemented as a tree, it would seem like it would be quite functional already.
15:31:54 <CakeProphet> ...what I've come up with for this kind of stuff is that nodes are enumerated... and optionally can be given labels.
15:31:57 <CakeProphet> that are hierarchial
15:32:06 <CakeProphet> so if you name a node x... inside the parent node y... and its parent is root
15:32:06 <Phantom_Hoover> OK.
15:32:10 <CakeProphet> then you have /y/x
15:32:11 <CakeProphet> to refer to x
15:32:19 <Phantom_Hoover> OK.
15:32:59 <CakeProphet> ....so you could implement scoping rules like that perhaps.
15:33:16 <CakeProphet> ...also I'd say there should be a way to reference other nodes and jump to them.
15:33:50 <CakeProphet> also... types?
15:33:58 <CakeProphet> most VMs have a fixed number of types
15:34:05 <CakeProphet> regist-erbased vms like Parrot, for example
15:34:32 <CakeProphet> have int registers, float registers, byte registers, and "object" registers
15:34:41 <CakeProphet> object registers basically being pointer registers...
15:35:11 <CakeProphet> I don't know how a tree would handle types.
15:35:25 -!- saxamo has joined.
15:35:30 <Phantom_Hoover> Each node has a type?
15:35:36 <CakeProphet> that's a possibility.
15:36:00 <CakeProphet> another alternative is to have a tree for each type
15:36:01 -!- saxamo has left (?).
15:36:04 <CakeProphet> but that might ruin the design.
15:36:21 <Phantom_Hoover> It sort of loses the elegance of having a single, global tree.
15:36:25 <CakeProphet> yes.
15:36:50 <CakeProphet> well... if all of your data structures are the same byte-size
15:36:51 <CakeProphet> all is well
15:36:56 -!- Slereah has quit (Remote host closed the connection).
15:36:58 <CakeProphet> the best way to do that is to make pointers to everything.
15:37:17 <Phantom_Hoover> Probably.
15:37:23 <CakeProphet> that's how PYthon gets dynamic typing... everything is a pointer to a single C struct.
15:37:43 <CakeProphet> but that's kind of inefficient I think.
15:37:45 <CakeProphet> hmmm...
15:38:12 <CakeProphet> another idea is to have both a tree and a set of registers.
15:38:22 <Phantom_Hoover> So... struct node { void *data; struct node *leaf1; struct node *leaf2; }?
15:38:38 <CakeProphet> ah... binary tree?
15:38:46 <Phantom_Hoover> Seems sensible.
15:38:50 <CakeProphet> hmmm...
15:38:56 <CakeProphet> less you can do with it though.
15:39:14 <Phantom_Hoover> Well, the SKI calculus fits nicely into a binary tree.
15:39:20 <Phantom_Hoover> If you curry.
15:39:20 <CakeProphet> ah, okay.
15:39:48 <CakeProphet> I suppose you could change it later. I think arbitrary child nodes would be fun.
15:40:11 <Phantom_Hoover> Well, you could possibly simulate that.
15:40:16 -!- softmoon has joined.
15:40:25 <CakeProphet> haha.. just link them altogether
15:40:46 <Phantom_Hoover> Also, I assume nodes would need the type of the data as well.
15:41:12 <CakeProphet> well... binary works. If you wanted something production quality, though, you'd definitely want to take advantage of the performance benefits of using actual arrays.
15:41:22 <CakeProphet> yeah I suppose so.
15:41:59 <CakeProphet> oh... and they'd have optional names too
15:42:07 <CakeProphet> or do you want to do that?
15:42:17 <CakeProphet> names work better with arbitrary child nodes.
15:42:24 <Phantom_Hoover> Mad idea: strip node size by making one of the child nodes NULL and the other a pointer to the data.
15:42:27 <CakeProphet> or at least make more sense.
15:42:29 <Phantom_Hoover> For leaves.
15:42:47 <CakeProphet> -nod- that works.
15:42:57 <CakeProphet> linked list would use the other node as a next pointer.
15:43:48 <CakeProphet> .....named nodes would be epic
15:44:05 <CakeProphet> linkedlist/data, linkedlist/next, linkedlist/prev
15:44:06 <Gregor> Named noodles would be epic
15:44:07 <CakeProphet> for doubly-linked
15:44:34 <CakeProphet> .return would be a node referencing the node of the calling code. :)
15:44:44 <Phantom_Hoover> Do we want to have data in parent nodes?
15:44:51 <CakeProphet> I'd say so.
15:46:06 <CakeProphet> if you want to have homoiconicity
15:46:17 <CakeProphet> you'll need a way to represent VM code in the tree
15:46:35 <CakeProphet> and an instruction that runs VM code in the tree.
15:46:59 <Phantom_Hoover> OK, soo...
15:47:13 <Phantom_Hoover> Wait, we want TCness too.
15:47:21 <Phantom_Hoover> So control flow will be needed.
15:47:34 <CakeProphet> yeah, something basic will do.
15:47:47 <CakeProphet> hmmm... there's uh....
15:47:59 <Phantom_Hoover> How about, say, "move to the first child of the current node if it's 0, else the second"
15:48:11 <CakeProphet> yeah I'd so like
15:48:15 <Phantom_Hoover> And then have an exec instruction.
15:48:29 <CakeProphet> "branch to node references by first child, if non-null, else branch to node in second node, if non-null"
15:48:34 <CakeProphet> *referenced
15:49:08 <Phantom_Hoover> So set the first child to if 0, the second child to else, then jump to it.
15:49:23 <CakeProphet> mhm
15:49:26 <Phantom_Hoover> Although you'd probably want to segregate the tree into "code" and "data".
15:49:40 <CakeProphet> generally... that's why I thought arbitrary child size would be nice
15:49:48 * CakeProphet is taking ideas from his tree-based esoteric language for this
15:49:50 <CakeProphet> so like...
15:49:53 <Phantom_Hoover> So move the selected code into the code branch.
15:49:55 <CakeProphet> a standard namespace for functions could be like
15:50:12 <CakeProphet> /f
15:50:16 <CakeProphet> /f/map
15:50:18 <CakeProphet> /f/reduce
15:50:26 <CakeProphet> would point to code in the tree
15:50:28 <CakeProphet> or something.
15:50:36 <Phantom_Hoover> Well, with a binary tree you can still do that.
15:50:37 <CakeProphet> under the node "f"
15:50:45 <CakeProphet> but you only have two nodes.
15:50:52 <Phantom_Hoover> Have /data, /code/source and /code/functions.
15:51:01 <Phantom_Hoover> Or somesuch.
15:51:24 <CakeProphet> I still think having more than two nodes would benefit from named-node semantics.
15:51:47 <CakeProphet> hmmm... here's an idea
15:52:01 <CakeProphet> if you wanted like... an intermediate language
15:52:05 <CakeProphet> that did stuff like named nodes
15:52:09 <Phantom_Hoover> Hmm, yeah.
15:52:13 <CakeProphet> and then a low-level... which was focused on being efficient
15:52:19 <CakeProphet> *is
15:52:30 <Phantom_Hoover> So we have the low-level binary tree language, and a mid-level filesystemy one?
15:52:51 <CakeProphet> ....see
15:53:20 <CakeProphet> I don't think binary trees will be very efficient. I'm generally considered about efficiency (even with esoteric things), so I wouldn't even use binary trees at all...
15:53:25 <CakeProphet> *concerned
15:53:28 <CakeProphet> my typing is terrible right now.
15:53:33 <Phantom_Hoover> Aww.
15:53:36 <CakeProphet> but...
15:53:41 <CakeProphet> if you don't care about efficiency
15:53:55 <CakeProphet> then yes, that's fine.
15:54:05 <Phantom_Hoover> If we cared much about efficiency we wouldn't be doing trees, would we?
15:54:12 <CakeProphet> ha, I suppose
15:54:16 <CakeProphet> what I would do
15:54:20 <CakeProphet> is have the low-level interface tree-less
15:54:31 <CakeProphet> so you don't have to do tree-lookups all the time with static information
15:54:40 <Phantom_Hoover> Since it's going to work with an ungodly amount of mallocing and referencing.
15:54:58 <CakeProphet> pools!
15:55:47 <CakeProphet> malloc a fixed amount of objects, and acquire/recycle them.
15:55:56 <CakeProphet> to limit malloc/free calls.
15:56:07 <Phantom_Hoover> Yes, indeed.
15:56:40 <CakeProphet> if I were going with efficiency I'd have registers as well.
15:57:06 <Phantom_Hoover> But I don't really see how you can easily implement variable-child trees,
15:57:13 <CakeProphet> magic.
15:57:15 <CakeProphet> ...
15:57:23 <CakeProphet> well... it depends.
15:57:32 <Phantom_Hoover> I prefer the intermediate code idea.
15:57:57 <Phantom_Hoover> (Also, given modern computer speeds it's not really going to be a noticeable slowdown)
15:58:08 <CakeProphet> psh
15:58:20 <CakeProphet> well
15:58:30 <CakeProphet> when Google isn't interested in your ground-breaking VM research
15:58:37 <CakeProphet> because the low-level representation is inefficient
15:58:39 <CakeProphet> then.... oh well.
15:58:41 <CakeProphet> :P
15:58:51 <CakeProphet> they can go make their own and conquer the world more.
15:59:02 <CakeProphet> !google recursion
15:59:03 <EgoBot> http://google.com/search?q=recursion
16:00:21 <CakeProphet> ...hmmmmm
16:00:22 <CakeProphet> you know
16:00:29 <Phantom_Hoover> Oldest joke ever.
16:00:31 <Phantom_Hoover> Anyway.
16:00:33 <CakeProphet> instead of using pointers for everything... consider a union?
16:00:38 -!- hiato has changed nick to cows.
16:00:47 -!- cows has changed nick to fishes.
16:00:50 <Phantom_Hoover> Making nodes enumerable seems worthwhile.
16:01:00 <CakeProphet> indeed
16:01:19 <Phantom_Hoover> I think a 16-bit integer should be enough for sane addressing.
16:01:42 <CakeProphet> maybe use tree nodes as your reference semantics... but then for data
16:01:43 <Phantom_Hoover> Make the first few bits say to what depth, and then the rest specify the path taken.
16:01:46 <CakeProphet> instead of referencing data
16:01:48 <CakeProphet> use a union
16:01:55 <CakeProphet> since they'll be a fixed number of types.
16:02:01 <CakeProphet> int, bool, float, double, etc
16:02:07 <CakeProphet> value types.
16:02:23 <Phantom_Hoover> Remind me, what are unions?
16:02:40 <CakeProphet> unions represent a combination of multiple types
16:02:46 <CakeProphet> the size of a union is the size of the largest nested type
16:03:01 <Phantom_Hoover> OK, so if you have a char and an int?
16:03:03 <CakeProphet> you can read/write to a union type with any of the nested types
16:03:15 <Phantom_Hoover> Then does the char represent the first byte of the int?
16:03:33 <CakeProphet> yeah.
16:03:34 -!- augur has quit (Read error: Connection reset by peer).
16:03:36 <CakeProphet> sort of.
16:03:38 <CakeProphet> like
16:03:40 <jamesstanley> Phantom_Hoover: that is undefined. you are not allowed to read from a different type than the one you last wrote to
16:03:41 <Gregor> That "yeah" isn't a "yeah" :P
16:03:43 <CakeProphet> if you read the union value as a char
16:03:45 <CakeProphet> it'll be the first byte
16:03:54 -!- augur has joined.
16:03:58 <Gregor> "First" as in "whatever my architecture decides to lay out first"
16:04:02 <Gregor> Not "first" in any consistent way.
16:04:06 <Phantom_Hoover> Yes, I know.
16:04:14 <Gregor> And even that first is undefined, as unions can be as wonky as they want really.
16:04:19 <Phantom_Hoover> I needed an example quickly.
16:04:28 <jamesstanley> generally they're fairly sane but portable code shouldn't rely on the layout of a union
16:04:30 <CakeProphet> ...is unions a bad idea? :P
16:04:36 -!- hiato has joined.
16:04:46 <Gregor> unions are perfectly OK so long as you use them properly.
16:04:56 <jamesstanley> unions are a good idea if you use them to reduce the memory requirements of an array of a struct, for example
16:05:00 -!- hiato has left (?).
16:05:03 <jamesstanley> (like what they're meant for)
16:05:32 <CakeProphet> Phantom_Hoover: union value_type { char character; int integer; bool boolean; float decimal;}
16:05:36 <CakeProphet> ;
16:05:58 <CakeProphet> it's like a struct
16:06:04 <jamesstanley> not really
16:06:05 <CakeProphet> but instead of setting the memory contents
16:06:06 <jamesstanley> apart from the syntax
16:06:09 <CakeProphet> side by side
16:06:13 <CakeProphet> all members take up the same place in memory
16:06:21 <jamesstanley> CakeProphet: not necessarily but normally yes
16:06:32 -!- fishes has quit (Ping timeout: 276 seconds).
16:06:41 <jamesstanley> in fact i don't know of a single implementation that doens't so it's safe to assume so
16:07:00 <Deewiant> Implementing a union as a struct is probably valid
16:07:13 <Phantom_Hoover> Wait, so is that how the data in the node is represented?
16:07:14 <jamesstanley> #define union struct
16:07:18 <jamesstanley> and nobody is any the wiser!
16:07:58 <CakeProphet> Phantom_Hoover: a union is a new kind of type. So you'd have variables of type union value_type
16:08:04 <CakeProphet> and then
16:08:09 <CakeProphet> union value_type x;
16:08:11 <CakeProphet> x.character
16:08:18 <CakeProphet> would access the union as a character... essentially.
16:08:20 <Phantom_Hoover> Ah, right.
16:08:30 <Phantom_Hoover> OK, so how does the language use this?
16:08:46 <Phantom_Hoover> i.e. how does it decide which type it wants?
16:08:52 <jamesstanley> you specify
16:08:54 <CakeProphet> basically using a union is a way to represent all the possible value types you might want to deal with without having to use pointers.
16:09:01 <CakeProphet> and yes.
16:09:12 <CakeProphet> you choose which field to use
16:09:14 <Phantom_Hoover> No, I mean the tree language.
16:09:19 <CakeProphet> oh... uh.
16:09:32 <CakeProphet> hmmm, dunno. But I assume you'd only want value types as nodes
16:09:32 <jamesstanley> Phantom_Hoover: if you want the "char" you say x.character, if you want the "float" you say x.decimal (even thouugh it's binary not decimal... but that's what you called the field)
16:09:42 <Phantom_Hoover> Yes, I got that.
16:09:49 <CakeProphet> because the tree could be used to describe any kind of data structure.
16:09:55 <CakeProphet> er... reference type structure
16:09:56 <CakeProphet> that is.
16:11:30 <CakeProphet> I guess the language could just set nodes
16:11:43 <Phantom_Hoover> Wait, why bother making the VM deal with types?
16:11:44 <CakeProphet> the union just gives you weakly typed values.
16:12:02 <CakeProphet> Phantom_Hoover: it doesn't need to... but you'll want unions for sure then
16:12:02 <Phantom_Hoover> Just make each node hold, say, 4 bytes and make the low-level code deal with it.
16:12:25 <CakeProphet> hmmm... that's a possibility. That's essentially what unions do in most cases anyways.
16:12:28 <Phantom_Hoover> Basically as assembly does.
16:12:58 <CakeProphet> hmmm... okay yeah that works.
16:13:19 <CakeProphet> just use C's weak typing semantics
16:13:25 <CakeProphet> to implement weak typing. :P
16:14:39 <Phantom_Hoover> Yep.
16:14:47 <CakeProphet> will you want node-references?
16:14:53 <Phantom_Hoover> Yes.
16:15:09 <Phantom_Hoover> And as I mentioned above they can be implemented fairly elegantly.
16:15:13 <CakeProphet> simple enough to do, as long as the data type is as large as your architectures address range.
16:16:17 <CakeProphet> a possible way to do variable length child lists btw is to make the sizing explicit somewhere
16:16:40 <CakeProphet> the alternative is a linked list.
16:16:53 <CakeProphet> which works for traversal... but not direct indexing.
16:18:51 <CakeProphet> hmmm... I wonder if there's a hash algorithm you could use
16:18:55 -!- Oranjer has joined.
16:19:07 <CakeProphet> to give you O(1) node lookup when referenced by name
16:19:16 <CakeProphet> regardless of absolute or relative naming within the tree structure.
16:19:23 <Phantom_Hoover> I think you can address at least 27 levels of a binary tree with a 4-byte address.
16:19:38 <CakeProphet> well...
16:19:45 <CakeProphet> you could just use hardware-level pointers
16:19:49 <CakeProphet> and pass those around.
16:19:52 <CakeProphet> problem solved, right?
16:20:04 <Phantom_Hoover> And since that represents over 200 million nodes, it seems sufficient.
16:20:20 <Phantom_Hoover> And implementation-level pointers seem inelegant.
16:20:58 <Phantom_Hoover> Consider a 32-bit address, the first 5 bits of which specify the depth to go to.
16:21:14 <Phantom_Hoover> Then the next 27 bits specify the directions along the nodes needed.
16:21:30 <CakeProphet> ...why do that when you can just use pointers? What would be the loss?
16:21:31 -!- softmoon has left (?).
16:22:02 <Phantom_Hoover> Because a parent and child node could have totally different addresses.
16:23:26 <CakeProphet> one solution for variable-children is to have a global hash table
16:23:30 <CakeProphet> and to use /only/ named semantics.
16:23:38 <CakeProphet> which is essentially a superset of enumeration
16:23:41 <CakeProphet> in essence.
16:24:15 <Phantom_Hoover> We can unite these schemes, then.
16:24:20 <Phantom_Hoover> I think.
16:24:25 <CakeProphet> so then the trees don't actually hold the data or pointers to the data... but instead contain hash information
16:24:41 <Phantom_Hoover> If the tree-based address is used as the hash key.
16:24:52 <CakeProphet> yes, if you can ensure no collisions.
16:24:57 <Phantom_Hoover> Hmm...
16:25:24 <Phantom_Hoover> The order of evaluation is going to have to be carefully chosen.
16:25:45 <Phantom_Hoover> Since if you go straight down, you've only got 27 levels.
16:26:08 <CakeProphet> well... just figure out what information uniquely identifies each node.
16:26:12 <CakeProphet> for named nodes
16:26:28 <CakeProphet> it would be a) the name of the node b) the hash value of its parent
16:26:37 <Phantom_Hoover> Actual names seem decadent for the low-level code.
16:26:48 <CakeProphet> possibly.
16:27:09 <Phantom_Hoover> So what if we use my address scheme to specify keys on a hash table?
16:27:31 <Phantom_Hoover> The system will run out of memory long before it runs out of addresses.
16:27:37 <CakeProphet> hmmm...
16:27:42 <CakeProphet> maybe with some revisions
16:27:47 <CakeProphet> but yeah
16:27:48 <Phantom_Hoover> Probably.
16:28:08 <Phantom_Hoover> Particularly since my address scheme has multiple addresses for half the nodes.
16:28:31 <Phantom_Hoover> Indeed, there are 2^27 ways of addressing the root node.
16:28:52 <Phantom_Hoover> How about we make the root node and its immediate children register-like?
16:29:06 <CakeProphet> hmmm... hex?
16:29:14 <CakeProphet> could a hex representation help with hashing?
16:29:54 <Phantom_Hoover> ...How?
16:30:01 <CakeProphet> ...no clue, just brainstorming.
16:30:18 <Phantom_Hoover> I can't see how it would possibly help.
16:30:26 <CakeProphet> guess not.
16:30:32 <Phantom_Hoover> Anyway, how is code represented in the tree?
16:30:49 <CakeProphet> that depends on the code.
16:31:05 <Phantom_Hoover> Like I said, representing it as directly linear won't work.
16:31:06 <CakeProphet> what kind of code we have determines how it would be represented.
16:31:16 <CakeProphet> if its function
16:31:29 <CakeProphet> you could have functions as nodes with their arguments as children.
16:31:44 <CakeProphet> the function-nodes data would be a hash reference to the functions implementing code.
16:31:52 * Phantom_Hoover looks at some Lazy K programs
16:32:41 <CakeProphet> so then
16:32:51 <Phantom_Hoover> I'm afraid I shall go mad if I try to work out the depth in them.
16:33:00 <Phantom_Hoover> However, 2 should
16:33:04 <CakeProphet> argument nodes could either be (a) data, in the case of leaves or b) unevaluated functions, in the case of branches)
16:33:08 <Phantom_Hoover> Ignore that.
16:33:13 <CakeProphet> ...which would support lazy evaluation I think.
16:33:21 <Phantom_Hoover> 27 levels should be enough for a lot of LK programs.
16:34:06 <CakeProphet> lazy evaluation would essentially be manipulating unevaluated program expressions as values.
16:34:19 <Phantom_Hoover> I think there should be an eagerly-evaluated language at the base of the system, though.
16:34:23 -!- lament has joined.
16:34:28 <CakeProphet> Phantom_Hoover: yep.
16:34:42 <Phantom_Hoover> Also, mmapping parts of the tree is nice.
16:34:52 <Phantom_Hoover> As is moving whole branches.
16:34:55 <CakeProphet> dunno how mmapping works.
16:35:13 <Phantom_Hoover> It's probably incorrect terminology in this case.
16:35:31 <Phantom_Hoover> I mean making two nodes point to the same data.
16:35:35 <CakeProphet> hmm... the hash idea would be problematic with a stateful tree, actually.
16:35:46 <CakeProphet> if the key is dependent on location.
16:36:10 <CakeProphet> then movement of a branch would invalidate all hash-based references.
16:36:39 <Phantom_Hoover> Can't you make two keys point to the same object?
16:37:03 <CakeProphet> not really.
16:37:09 <CakeProphet> unless you have an array of references
16:37:17 <CakeProphet> as your table.
16:37:24 <CakeProphet> then the references can be the same.
16:37:31 <Phantom_Hoover> The hash table contains the machine pointers to the nodes.
16:37:56 <Phantom_Hoover> Two mmapped bits of tree have the same pointers for different keys.
16:39:09 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:39:23 -!- BeholdMyGlory has joined.
16:40:47 <Phantom_Hoover> OK, so now the language.
16:42:16 <Phantom_Hoover> I think for the low-level one that the programmer should have to specify the node structure.
16:42:53 -!- lament has changed nick to _lament.
16:43:42 <Phantom_Hoover> Aha, lament is growing untrustworthy!
16:44:11 <CakeProphet> Phantom_Hoover: what kind of semantics will be involved in specifying node structure?
16:44:41 <Phantom_Hoover> I don't know.
16:44:46 <CakeProphet> also... when attempting to evaluate data as code... you'll likely want some kind of quote system, like Lisp.
16:45:05 <Phantom_Hoover> Well, not really.
16:45:14 <Phantom_Hoover> More like db in assembly.
16:45:40 <Phantom_Hoover> Also, evaluation order needs to be considered.
16:46:13 <CakeProphet> hmmm... this is where enumeration will come in handy
16:46:15 <CakeProphet> you can do left-right
16:46:22 <CakeProphet> breadth first
16:46:31 <Phantom_Hoover> Yes, I thought that.
16:46:34 <CakeProphet> if your nodes are ordered.
16:46:55 <Phantom_Hoover> And they'll have to be ordered for the addressing scheme to work.
16:47:05 <Phantom_Hoover> Indeed, for *anything* to work.
16:47:08 <CakeProphet> so I'd say use arrays for node relationships... the hash table would be for naming.
16:47:44 <Phantom_Hoover> Shouldn't naming be a high-level construct.
16:47:49 <Phantom_Hoover> Aww, I have to go.
16:47:53 <Phantom_Hoover> I'll be back laer.
16:47:53 <CakeProphet> not necessarily.
16:47:56 <CakeProphet> alrighty.
16:47:58 <Phantom_Hoover> s/laer/later/
16:48:14 <CakeProphet> see ya.
16:48:46 <CakeProphet> an additional semantic that I liked was the inclusion of name-only nodes.
16:48:52 <CakeProphet> by prefixing the name with a .
16:49:43 <CakeProphet> so for example... a language that wanted to implement functions
16:49:50 <CakeProphet> could add a .return node to function nodes
16:50:33 <CakeProphet> .return would contain a reference to the calling code
16:51:25 <CakeProphet> so a lazy language could implement functions by a) making a copy of the function node, to represent a lazily-evaluating code object b) set the copy's .return node to reference calling code's node.
16:52:46 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
16:55:21 <CakeProphet> so the inclusion of a naming scheme that's independent of the enumeration semantics
16:55:25 <CakeProphet> would require low-level representation.
16:55:48 <CakeProphet> one of the points of a VM is to be more semantically abstract than machine level code
16:58:25 <DH____> gtg cya
16:58:27 -!- DH____ has left (?).
17:04:14 * uorygl ponders an ad-hoc addressing scheme.
17:05:02 <uorygl> Suppose that we have a network containing a whole bunch of routers. One of these routers is connected to five other routers; these other routers give their addresses as 00000111, 01011101, 10010111, 10011010, and 10101010.
17:05:51 <uorygl> What should our router give its own address as to each of the other five routers in order to best express its routing ability?
17:06:30 <CakeProphet> "sup"
17:06:31 <CakeProphet> ...
17:06:47 <CakeProphet> also, I have no clue.
17:07:24 <CakeProphet> I'd need to see how those other addresses were produced.
17:07:48 <uorygl> That information is simply not available.
17:08:39 <CakeProphet> ...that's quite complicated then.
17:09:13 <CakeProphet> I think you'd need two sets of data
17:09:15 <CakeProphet> like some kind of mask.
17:09:41 <uorygl> But routing is always done to the router with the largest shared prefix. Like, all packets with a destination address beginning with 01 go to 01011101, because that's the only neighbor router that also begins with 01.
17:10:02 <CakeProphet> ah okay... so it's left-to-right
17:10:25 <CakeProphet> so.....
17:10:26 <uorygl> So the goal is to make sure a packet never gets stuck.
17:11:51 <CakeProphet> 01000000 || (01011101 & 11000000)
17:12:01 <uorygl> Let's call the neighboring routers A, B, C, D and E. 00 packets go to A, 01 packets go to B, 1000 packets go to C and D, 10010 packets go to C, 10011 packets go to D, 101 packets go to E, and 11 packets go to C through E.
17:12:23 <CakeProphet> hmmm... okay.
17:12:38 <CakeProphet> so I think you'd have a depth to addresses
17:12:43 <CakeProphet> which is the number of bits they check.
17:12:47 <CakeProphet> from left to right
17:13:00 <CakeProphet> and then produce a mask from that depth
17:13:09 <CakeProphet> (01011101 & 11000000)
17:13:26 <CakeProphet> the right-hand byte is the mask byte for a depth-2 lookup
17:13:50 <CakeProphet> it basically just clears out all the extraneous bits for the purpose of determining which router we should route to.
17:14:09 <CakeProphet> that bitwise will give us 01000000
17:14:18 <CakeProphet> and so looking for 01
17:14:24 <CakeProphet> is the same as looking for 01000000
17:14:36 <CakeProphet> which will just be & I think
17:14:41 <CakeProphet> ...er.
17:14:43 <CakeProphet> maybe not.
17:15:28 <CakeProphet> that would just be == :P
17:16:04 <CakeProphet> so you'd have 10000000 11000000 11100000 11110000...
17:16:20 <CakeProphet> for different depth sizes
17:16:24 <CakeProphet> ....is this making any sense?
17:19:10 <CakeProphet> uorygl: maybe... bitwise AND?
17:19:28 <CakeProphet> the address could be the bitwise AND of all the routers it routes to.
17:19:45 <CakeProphet> since the semantics for routing are left-to-right, it would cover any overlaps.
17:21:16 <CakeProphet> so if something wants to ask "does router C with address 00101010 map to router B with address 00100010 "
17:23:16 <CakeProphet> you would essentially start at the left
17:23:36 <CakeProphet> and find a bit in C that's on at the same place as in B
17:23:57 <CakeProphet> if there is one... chop it out of the search bit
17:24:09 <CakeProphet> and pass it along
17:25:21 <CakeProphet> so the first 1 to be found going left-to-right that those two bit patterns have in common is 0010
17:25:51 <CakeProphet> so you'd take 00100000
17:25:54 <CakeProphet> negate it
17:26:01 <CakeProphet> and with address B
17:26:12 <CakeProphet> and that would give you 00000010
17:26:25 <CakeProphet> which is the query we want to pass along to all of the routers routed by C
17:26:37 <CakeProphet> C will then ask "hey do you guys route to 00000010?"
17:26:43 <CakeProphet> and they'll perform the same procedure.
17:27:05 <CakeProphet> until you get 00000000
17:27:23 <CakeProphet> which I guess is like "localhost"
17:31:51 <CakeProphet> in any case it would be a lot of bitwise hackery
17:41:16 <CakeProphet> hmmm... for a tree-hash algorithm
17:41:21 <CakeProphet> if it's a binary tree
17:41:30 <CakeProphet> then you can just have the bits reflect which branch you're talking about
17:41:51 <CakeProphet> you start at root... the first bit tells you which branch you go to
17:42:02 <CakeProphet> second tells you the second branch to goto, etc.
17:43:01 <CakeProphet> that would give you a depth of 32.
17:43:09 <CakeProphet> for a 32-bit address.
17:43:35 <CakeProphet> you could actually perform movement within the tree with bitwise operations only.
17:43:42 <CakeProphet> at least in the low-level implementation.
17:44:57 <CakeProphet> so the lower-level language would have instructions for setting/operating a register that controls current tree location.
17:47:40 <CakeProphet> well no, the addressing would be a little more complicated than that
17:47:43 <CakeProphet> but that's the basic idea.
18:06:34 <uorygl> CakeProphet: if a router's address is the bitwise AND of the routers it routes to, a single zero will spread throughout the entire network.
18:09:02 <CakeProphet> I meant OR actually.
18:10:35 <uorygl> Then a single 255 will spread throughout the entire network. :)
18:11:13 <CakeProphet> ...that's why there needs to be a mask somewhere.
18:11:16 <AnMaster> hm anyone remember what happens in a case statement if you don't have a default: and the value turns out to be not one of the listed ones?
18:11:32 <uorygl> Right. I'm afraid I don't understand you fully, then.
18:11:35 <AnMaster> it seems gcc generates different code for not having a default: vs. having "default: break;"
18:11:42 <AnMaster> that makes no sense to me
18:12:33 <CakeProphet> don't know.
18:14:38 <AnMaster> it should make no diff according the C99...
18:14:39 <AnMaster> huh
18:15:39 <AnMaster> (§6.8.4.2, paragraph 5)
18:16:15 <CakeProphet> uorygl: hmmm... the address needs to be something that can be bitwised with information given elsewhere to determine information about the network point.
18:16:47 <CakeProphet> what could fill in the blanks there for "information given elsewhere" and "something that can be bitwised"
18:35:35 <AnMaster> fizzie, I just calculated what a 360° degree panorama from my camera mounted vertically at max zoom (200 mm in 35 mm equiv.) would give. With decent overlap: 52 images. This is 728 MB of RAW image data from my camera. And the final image would be at about 287.6 megapixles (this is based on overlap being gone, so 36 images instead of 52)
18:36:30 <AnMaster> fizzie, do you think you could lend me that super system at your university for the HDR stitching? I would mail you the 16 bit tiffs ;P
18:36:59 <AnMaster> (with HDR it would be even more raw data than "just" 728 MB of course!)
18:38:49 <AnMaster> fizzie, at least zoom it is a much more manageable 11 images
18:38:53 <AnMaster> for one rotation
18:39:54 <AnMaster> hm fizzie seems away but isn't marked /away
18:40:38 <uorygl> I'm away a majority of the time but I'm rarely marked as such.
18:40:41 <uorygl> I think.
18:41:19 <AnMaster> impractical for others
18:48:15 -!- Gracenotes has joined.
18:49:41 <CakeProphet> GRACENOTES IS SILLY
18:51:26 * Gracenotes creates several screenfuls worth of dadaist user page
19:13:52 <AnMaster> CakeProphet, why?
19:14:23 <CakeProphet> ...
19:14:31 <CakeProphet> :)
19:44:41 <fizzie> AnMaster: I have this thing that auto-marks me away when xlock activates, but it seems to be broken at the moment. I can never remember to actually do /away, except when leaving work.
19:45:03 <fizzie> (I was picking up the cat from its temporary place.)
19:52:33 -!- zzo38 has joined.
20:32:25 <AnMaster> fizzie, anyway, yay I managed to make a reliable rotation function
20:32:27 <AnMaster> that took a while
20:32:58 <AnMaster> since it likes to start at 0xffff instead of 0x0
20:33:02 <AnMaster> for some weird reason
20:33:17 <AnMaster> so I had to handle overflow when rotating
20:33:54 <AnMaster> but now it can move reliably in multiples of (360/111.66666) degrees!
20:34:05 <AnMaster> (yeah weird number, but I blame crappy gears)
20:35:26 <fizzie> Speaking of Lego, I guess you might've seen this one before, but it's pretty nifty: http://www.youtube.com/watch?v=zX09WnGU6ZY
20:37:34 * AnMaster wgets
20:37:35 <AnMaster> err
20:37:38 <AnMaster> youtube-dls
20:37:51 <AnMaster> I don't think I seen it before
20:38:26 <fizzie> It's a custom-built thing, not a mindstorms thing. But still.
20:39:23 <AnMaster> iirc "ultimate builders set" lego mindstorms ad-on set had some plotter thing
20:39:27 <AnMaster> think I built it even
20:39:33 <AnMaster> low precision though
20:40:19 <AnMaster> fizzie, it used pneumatics for the pen so fairly slow speed. I mean, much slower than that video
20:40:29 <AnMaster> fizzie, also yeah the cups driver was a nice touch
20:40:41 <AnMaster> the lego one had no such bit
20:40:46 <AnMaster> just RCX-controlled
20:40:52 <fizzie> The comments refer to http://bricker.ru/images/sets/1092_brickset.jpg
20:42:15 -!- MigoMipo has joined.
20:42:31 <AnMaster> fizzie, also that printer head causes some serious swaying of the whole thing
20:42:35 <AnMaster> would reduce precision
20:43:12 <AnMaster> fizzie, ah, hm http://www.peeron.com/inv/sets/1092-1
20:43:18 <AnMaster> yeah that explains the old style motor
20:43:37 <fizzie> "FAQ: Just a remake of the 1092a? No, I'd never seen the 1092a until now. However some of the parts came from a 8094 kit amongst others many years ago. It is made to my own design, but I acknolwedge influences and the great work of the official lego designers !"
20:43:39 <fizzie> (From the poster.)
20:44:52 <AnMaster> fizzie, I do get the point of those mini figures at the control panels
20:44:57 <AnMaster> but the horse?
20:44:58 <AnMaster> huh
20:45:05 <AnMaster> same goes for the palm tree
20:45:37 <fizzie> Yes, I don't know what's up with that.
20:45:43 <fizzie> The poster seems to have a thing about horses.
20:45:48 <AnMaster> fizzie, also, I can only spot one motor
20:45:54 <AnMaster> fizzie, I can't find the second one
20:45:58 <AnMaster> and you would need at least two
20:46:04 <fizzie> I haven't looked at it so closely.
20:46:20 <zzo38> Finally I got ngIRCd to compile and run. It works now. (You can't currently connect to it from the internet; the router is not set yet and it is only in testing mode)
20:46:33 <AnMaster> and it can't be a micro motor, they are way slower, than the speed of the pen, plus rather weak (so gearing them that much is not feasible
20:47:03 <AnMaster> ah found the other one
20:47:04 <AnMaster> right
20:47:12 <zzo38> How much memory and CPU time will an IRC server software take up if I am also using the computer for a lot of other things too?
20:47:30 <fizzie> That depends a lot on how large a network it is.
20:47:41 <zzo38> Just one node
20:47:49 <zzo38> (so far)
20:47:49 <fizzie> Probably not a lot, then.
20:48:15 <AnMaster> fizzie, also I want to see the sensor setup
20:48:23 <AnMaster> doesn't seem to be standard lego sensors
20:48:26 <zzo38> I had to completely reinstall Cygwin for it to work
20:48:36 <AnMaster> because there is no way it could keep position that well without good sensors
20:48:43 <AnMaster> lego gears have way too much slippage
20:48:48 <fizzie> AnMaster: "FAQ: Does this use mindstorms? Nope, wiring demo board + homemade analog electronics and sensors."
20:49:10 <fizzie> AnMaster: "FAQ: Sensor info: Horizontal positioning using homemade shaft encoder (black/white rotating lego squares you see in the vid) with a SY-CR102 photo reflector from Maplins, (only £0.89 or $1.30)."
20:49:19 <fizzie> AnMaster: "... This is into a sampled analog input as I couldn't get full enough saturation to trigger the ext interrupt pins. There are also push buttons built into lego bricks for left and right end stop detection."
20:50:01 <AnMaster> nice
20:50:09 <zzo38> What exactlly is it you are making with the lego now?
20:50:12 <fizzie> And "FAQ: Open source, schematics etc? Yes, I'll try to get around to this soon."
20:50:29 <AnMaster> zzo38, me? an automated panorama taker
20:50:38 <fizzie> Me? Nothing.
20:50:39 <AnMaster> it uses mindstorms (RCX, not the new NXT, don't have that)
20:50:50 <zzo38> OK
20:50:57 <AnMaster> fizzie, "FAQ: Wrote your own driver? Yes, how sad is that!!"
20:50:59 <AnMaster> wonderful :)
20:51:25 <zzo38> Did you know, there is a Forth for Lego systems
20:51:34 <AnMaster> zzo38, I know about pbForth yes
20:51:42 <AnMaster> but I'm using BrickOS and C here
20:52:03 <zzo38> C would probably be faster anyways
20:52:12 <zzo38> But Forth is almost as fast as C
20:52:15 <AnMaster> zzo38, well, I'm doing rather embedded C...
20:52:36 <zzo38> Still, C is generally faster
20:52:38 <AnMaster> zzo38, an example is: http://sprunge.us/QXMB
20:52:45 <AnMaster> fizzie, you might want to see that too
20:52:49 <AnMaster> nice busy loop on CPU :)
20:53:20 <AnMaster> because I'm not using brickOS as such, I'm using a patched version called bibo, since it fixes lots of bugs and upstream brickOS development is dead
20:53:43 <AnMaster> however bibo dropped the preemptive multitasking in favour of cooperative multitasking
20:54:25 -!- ais523 has joined.
20:54:25 -!- ais523 has quit (Changing host).
20:54:25 -!- ais523 has joined.
20:54:26 <AnMaster> with quite good reasons
20:54:34 -!- ws has joined.
20:54:40 <AnMaster> the interrupts caused quite a bit of overhead
20:54:45 <AnMaster> ais523, hi
20:55:14 <zzo38> Now I can just use "sprunge QXMB", sprunge pastebin really is very better than the other one, I think
20:55:43 <AnMaster> zzo38, what? did you add an alias in your browser or such?
20:55:50 <zzo38> No, command-line
20:56:04 <AnMaster> zzo38, sprunge for me pastes to it, not views paste on it...
20:56:15 <zzo38> I type "sprunge QXMB" at the command-line and it put output to stdout
20:56:20 <AnMaster> I see
20:56:25 <AnMaster> zzo38, and how do you paste to it?
20:56:33 <zzo38> For me, I wrote my own script. "sprunge" without a argument pastes to it, with a argument views it
20:56:42 <AnMaster> zzo38, and to paste a file to it?
20:56:51 <zzo38> Just type "sprunge < file.txt"
20:56:58 <ais523> hi AnMaster
20:57:32 <zzo38> It is written using NT command script, but a similar way could be done in UNIX
20:57:57 <AnMaster> zzo38, whole current source is http://sprunge.us/ffMD
20:58:30 <AnMaster> ais523, I think you would be interested in it, but since you filter urls... and 156 lines is a bit too long for IRC directly :P
20:58:59 <AnMaster> zzo38, sure, I use a sprunge() { curl -F 'sprunge=<-' http://sprunge.us; } simply
20:59:05 <AnMaster> then I can redirect input to it
20:59:07 <AnMaster> like:
20:59:10 <AnMaster> sprunge < panobot.c
20:59:16 <AnMaster> or:
20:59:20 <AnMaster> foo | sprunge
20:59:37 <AnMaster> zzo38, I don't need a viewing script for it
20:59:41 <AnMaster> but sure, would be trivial
20:59:58 <AnMaster> just:
21:00:01 <AnMaster> curl http://sprunge.us/ffMD
21:00:15 <AnMaster> so yeah making the shell function do that would be trivial
21:00:22 -!- alise has joined.
21:00:25 <AnMaster> (I don't even have it as a script, just a shell function)
21:00:27 <AnMaster> alise, hi!
21:00:51 <alise> Hello.
21:01:25 <AnMaster> building wise the only thing that remains on my panoramic head is the shutter trigger
21:01:39 <AnMaster> I wonder how feasible it would be to trigger it electronically using the remote shutter thingy
21:01:45 <AnMaster> I don't think I have the required stuff
21:01:55 <AnMaster> to build a controlling circuit
21:02:14 <AnMaster> and I don't know the wiring
21:02:18 <AnMaster> it has 3 pins
21:02:39 <AnMaster> so mechanical trigger it is
21:03:36 <AnMaster> the question remains: how
21:04:30 <AnMaster> and I think the light sensor needs some adjustment to work well
21:04:31 <alise> It is criminal that these weekends are so short.
21:05:13 <alise> 00:55:34 <Phantom_Hoover> Wow, Eliezer Yudkowsky is very odd.
21:05:14 <alise> 00:56:59 <Phantom_Hoover> Apparently not signing your children up for cryonics makes you a bad person.
21:05:14 <alise> If you support cryonics this is perfectly reasonable: you are basically sentencing them to death -- like Logan's Run except you set the date at 80-odd.
21:05:26 <alise> 00:59:27 <Phantom_Hoover> OTOH, my philosophy makes cryonics pointless, so...
21:05:26 <alise> "My Philosophy" is almost as irritating a phrase as "My GIRLFRIEND".
21:05:44 <ais523> why the allcaps?
21:05:56 <alise> Because that's how "my girlfriend" is pronounced in my internal vocalising system.
21:06:00 <ais523> ah
21:06:00 <alise> 01:30:02 <Phantom_Hoover> lament: Doesn't cryonics work by freezing you after you die?
21:06:00 <alise> That's supposing ~(cryonics works) to prove ~(cryonics works).
21:06:10 <AnMaster> alise, aren't you going to move abroad?
21:06:26 <ais523> AnMaster: don't encourage her...
21:06:29 <alise> Anyway even if I didn't accept cryonics I do not believe that any definition of death other than information-theoretic death is acceptable.
21:06:36 <AnMaster> ais523, ?
21:06:41 <alise> It used to be "when your heart stopped".
21:06:47 <alise> ais523: Don't encourage me to what, and why?
21:07:04 <ais523> hmm, I'm not sure actually
21:07:10 <AnMaster> XD
21:07:15 <ais523> there was a pronoun discussion in another channel, so I was more hoping reaction to that
21:07:37 <alise> ais523: It's a good thing you didn't mean anything because almost any meaning I can assign to that line offends me :)
21:07:53 <ais523> heh
21:08:04 <AnMaster> (let (how 'penumatic))
21:08:08 <AnMaster> okay that works
21:08:12 <AnMaster> modulo spelling
21:08:22 <AnMaster> suboptimal but works
21:08:45 <alise> ais523: I don't suppose you have any eso solutions to my problem?
21:09:13 <ais523> to which problem? the one that we mostly only talk about in private? no
21:09:32 <ais523> I did invent a new esolang in my head a few nights ago, though
21:09:39 <ais523> no name yet, no real fixed syntax, just semantics
21:09:43 <alise> I has liek a private network of informational dissemination
21:09:53 <alise> Actually this ircd really needs to support /query a,b,c.
21:09:53 <zzo38> ais523: How does it work?
21:10:01 <alise> It'd be very useful for ad-hoc privacy.
21:10:10 <zzo38> What is /query a,b,c
21:10:13 <ais523> basically, there are a finite number of variables, chosen by the person writing the program
21:10:17 <ais523> each is a rational number
21:10:25 <ais523> zzo38: query/privmsg with more than two people
21:10:27 <alise> zzo38: you can do "PRIVMSG a,b,c :poop" in the IRC RFC protocols
21:10:29 <ais523> but Freenode blocks it
21:10:32 <alise> to send a message to a, b, and c
21:10:39 <alise> ais523: say, does the message indicate the other recipients?
21:10:43 <ais523> each variable stores an unbounded rational number, and is initialised to 1
21:10:44 <alise> it should do, so that it operates as an ad-hoc channel
21:10:49 <ais523> alise: I think so, probably at the start of the line
21:10:58 <alise> ais523: How?
21:11:01 <alise> That's just the hostname.
21:11:15 <ais523> as in, :hostname.whatever PRIVMSG a,b,c :poop
21:11:17 <ais523> is what I'd expect
21:11:27 <alise> ah
21:11:37 <ais523> might be rather long though
21:11:42 -!- augur has quit (Remote host closed the connection).
21:11:54 <ais523> the program is full of statements like a = b + c and f = g / h
21:11:57 <zzo38> ?
21:12:07 <ais523> basically, assigning the result of an arithmetic operation to a variable
21:12:08 <alise> ais523: ok, so currently that just sounds like rational arithmetic.
21:12:10 <zzo38> OK
21:12:15 <alise> ais523: although really -- don't you want a*b and ^-1?
21:12:21 <ais523> no I don't
21:12:26 <alise> ais523: whysoever not?
21:12:40 <ais523> well, + - * / are what exist
21:12:45 <alise> 02:17:15 <Phantom_Hoover> And Ruby is implemented in C? [...] 02:17:35 <Phantom_Hoover> THEN IT'S NOT TC.
21:12:51 <ais523> I'm not sure yet if you're allowed to use constants rather than variables
21:12:55 <alise> no, it's just that MRI isn't actually a Ruby implementation
21:13:04 <alise> ais523: you don't need full - and /...
21:13:07 <alise> just infix - and ^-1
21:13:08 <ais523> now, the eso part: the program runs statements at random
21:13:17 <alise> ais523: TARPIT IT GRRRR
21:13:24 <ais523> as in, each time it runs a statement, it picks a random statement and runs it
21:13:30 <ais523> the program terminates if it tries to do a division by 0
21:13:35 <ais523> question: is this TC?
21:13:47 <ais523> it's not obvious either way, I've been thinking about it for a while
21:13:50 <zzo38> I have made a esolang where dividing by zero is the only form of flow control
21:14:13 <ais523> (and it's possible that removing + and * and arbitrary / would change the computational class; the random execution prevents you "lumping" statements easily)
21:14:21 <AnMaster> ais523, can it do deterministic computation at all?
21:14:28 <zzo38> ais523: I don't know if it is TC?
21:14:36 <zzo38> Perhaps post it on the wiki, and then we can see
21:14:43 <ais523> AnMaster: I think so, if you use enough variables; but I'm not sure if it can do /useful/ deterministic computation
21:14:52 <ais523> I need to work out syntax and a name before I post it on the wiki...
21:14:58 <AnMaster> ais523, how do you mean with enough variables?
21:15:18 <ais523> AnMaster: well, suppose you want to calculate a + b + c + d
21:15:21 <AnMaster> ais523, well apart from the degenerate case of only one expression
21:15:29 <AnMaster> ais523, ah okay, order is irrelevant there
21:15:34 <ais523> if you use temp variables, as in e = a + b; f = e + c; g + c + d
21:15:55 <AnMaster> ais523, only two variables and one operator per assignment?
21:16:01 <ais523> then if it's the only thing you ever calculate and all the variables are >= 1, then you know that g is <= the actual answer
21:16:02 <ais523> at all times
21:16:05 <ais523> AnMaster: that's it
21:16:06 <alise> 02:37:21 <PH______________> (set-weight neuron output (+ (car range) (random (coerce (- (car range) (cdr range)) 'double-float)))))
21:16:11 <alise> set-weight --> setf (weight neuron)
21:16:16 <alise> lern2lithp
21:16:29 <ais523> how do you know set-weight isn't a macro that does that?
21:16:29 <alise> ais523: If it's TC, then randomness shouldn't matter.
21:16:36 <alise> ais523: Also, no, you define setf macros.
21:16:39 <alise> They can do anything.
21:16:48 <alise> Anything that sets should be (setf (some-relevant-accessor x) ...).
21:16:56 <alise> It's Lisp good-practice.
21:17:01 <ais523> alise: it's obviously nondeterministic, but as you say, I think it's entirely possible that you can arrange things so the randomness is irrelevant
21:17:33 <alise> ais523: well, no, because you could just by chance get 1,2,3,... out of a randomness generator every time
21:17:35 <zzo38> There is the esolang where it is not TC, but there is a command that makes it TC
21:17:42 <zzo38> Or at least that is what it says.
21:17:43 <alise> so if it's actually tc it has to work with every "random" result
21:17:47 <alise> thus the randomness is irrelevant
21:17:49 <alise> zzo38: oerjan's thing yeah?
21:17:52 <alise> HQ9+ extension
21:17:58 <zzo38> alise: Yes, I mean that.
21:18:05 <AnMaster> ais523, does it remove computed statements?
21:18:19 <alise> AnMaster: no
21:18:24 <ais523> AnMaster: ?
21:18:25 <AnMaster> okay
21:18:29 <ais523> alise: yep, agreed
21:18:29 <alise> ais523: I am pretty sure your thing doesn't have loops of any sort.
21:18:35 <zzo38> However, it is TC if there is a program that can be written and work in all 256 ways, I suppose. Otherwise it is not TC but there is a command to make it TC?
21:18:39 <ais523> alise: statements can run more than once
21:18:49 <ais523> each time it picks a random statement, regardless of whether it's run before or not
21:18:59 <ais523> so from another point of view, it has loops everywhere
21:19:14 <alise> ais523: How about if an operation a = b OP c would cause a division by zero, we jump to a by somehow interpreting it as a line number.
21:19:22 <alise> (Two-dimensional line numbers? (a,b) PRINT ...)
21:19:30 <ais523> alise: I don't understand
21:19:32 <alise> *a/b I gues
21:19:33 <AnMaster> ais523, how would you make it divide by zero only when things are done?
21:19:33 <alise> *guess
21:19:38 <alise> ais523: well
21:19:39 <ais523> there is a jump somewhere randomly all the time
21:19:46 <alise> a = b / 0
21:19:48 <alise> say a is 1/2
21:19:51 <alise> then it'd jump to 1/2
21:19:54 <alise> whatever that means
21:19:54 <ais523> alise: only set the variable in the denominator to 0 when you detect that things are done
21:19:58 <AnMaster> ais523, I could see how if you had some logical operator, like == or such
21:19:59 <ais523> alise: I don't get the notion of "Jump" here
21:20:07 <alise> ais523: "execute 1/2 as next line, not random()"
21:20:11 <ais523> AnMaster: you can compare numbers with a 0/non-0 result using -
21:20:14 <alise> figure out twod line numbers yourself :P
21:20:16 <ais523> alise: that would defeat the whole point of the language
21:20:22 <alise> maybe floor(1 / 2)
21:20:22 <AnMaster> ais523, hm true
21:20:28 <alise> *floor(1/2)
21:20:32 <ais523> executing random() is clearly enough for repetition of some sort
21:21:20 <AnMaster> ais523, it can be TC under the condition of a rng that never repeats itself and in enough _finite_ time will cover all states several times
21:21:22 <AnMaster> maybe
21:21:57 <AnMaster> s/repeats/repeats in loops/
21:22:01 <AnMaster> that solves the issue alise is pointing at I think
21:22:01 <ais523> AnMaster: it wouldn't be an RNG otherwise
21:22:08 <ais523> we're assuming a mathematically perfect RNG
21:22:18 <ais523> although /dev/urandom would probably be good enough
21:22:19 <alise> ais523: a mathematically perfect RNG would repeat itself, I think...
21:22:23 <alise> ais523: or at least could
21:22:25 <AnMaster> ais523, well then 1,2,3,1,2,3,... is not an issue?
21:22:27 <ais523> alise: yes, but not forever
21:22:33 <alise> ais523: or are we talking 0 to /infinity/ RNG?
21:22:35 <ais523> well, with probability 1
21:22:42 <alise> which I am not even sure makes sense
21:22:46 <alise> can you select a completely random natural?
21:22:46 -!- tombom has quit (Read error: Connection reset by peer).
21:22:50 <ais523> alise: 0 to the number of statements in the program
21:22:54 <ais523> as in, you run a random statement each time
21:22:57 <ais523> that isn't 0 to infinity
21:22:57 <alise> such that you're distributed fairly over the naturals?!
21:22:58 -!- tombom has joined.
21:23:04 <ais523> but you call the RNG an infinite number of times
21:23:07 <ais523> or until the program terminates
21:23:11 <ais523> to get the next statement each tiem
21:23:12 <ais523> *time
21:23:41 <zzo38> Perhaps zero to infinity RNG is sensible if you have to use p-adic numbers?
21:24:11 <zzo38> But even then, it isn't perfect, because ....11111 can just as well represent negative one
21:24:15 <zzo38> Which is less than zero
21:24:38 <AnMaster> zzo38, what?
21:25:32 <zzo38> And .....01010101010101 can represent negative one third
21:25:51 <zzo38> (Try multiplying by three and adding one and you will see that the answer is zero)
21:25:57 <AnMaster> zzo38, why would we need negative numbers here at all
21:26:11 <zzo38> In case you subtract, I suppose?
21:26:25 <AnMaster> zzo38, not needed for statement selection?
21:27:22 <zzo38> I suppose so.
21:27:50 <zzo38> But dividing by zero is the form of flow control is something I have already invented: http://esoteric.voxelperfect.net/wiki/Divzeros
21:32:37 <zzo38> In PHIRC, I can easily test my IRC server just with the command "/C" by itself, without any parameters. "/C" by itself assumes "/C localhost 194" automatically, do you like this feature? Does any other IRC clients have that feature?
21:37:08 <zzo38> I already found out how to disable all channels other than "+" at the start, and to change the 005 message to match. There is no configuration setting for that so I had to modify the source-codes
21:38:09 <zzo38> Can SUMMON be enabled?
21:39:15 <fizzie> No, it would be then too easy to SUMMON CTHULHU by accident.
21:40:31 <zzo38> I don't care about that
21:40:34 <zzo38> Can USERS be enabled?
21:41:16 <zzo38> In ngIRCd it seems SUMMON is always disabled, although it does understand that command
21:41:21 <zzo38> But it cannot be enabled
21:44:40 <zzo38> Is there a way to make the HELP command work better? So that you can receive a help message, even before PASS/USER/NICK
21:47:46 <zzo38> I want to make it so that some nicknames can't be used unless the correct PASS and USER commands are given for that nickname
21:49:59 -!- oerjan has joined.
21:51:06 <zzo38> Now I just should implement SIRCL format for channel log and then it should be working
21:51:11 <zzo38> And then I can set the router
22:01:04 <alise> abc
22:07:12 <alise> The pik of the hq is absent.
22:09:03 -!- Phantom_Hoover has joined.
22:09:10 <Phantom_Hoover> CakeProphet, back.
22:09:33 <oerjan> as prophesied
22:12:46 <Phantom_Hoover> It occurs to me that most esolang interpreters are really VMS.
22:12:53 <Phantom_Hoover> s/VMS/VMs/
22:13:19 <Phantom_Hoover> Since they tend to have nothing to do with the underlying system.
22:13:40 -!- relet has joined.
22:14:50 <oerjan> but not HQ9+. the + character clearly should increment the underlying system's accumulator.
22:15:12 <oerjan> otherwise it has simply not been implemented correctly.
22:15:31 <oerjan> this might of course pose a problem in systems that have no accumulator.
22:15:41 <Phantom_Hoover> Unless the implementation is optimising and strips out unnecessary instructions.
22:16:01 <Phantom_Hoover> OK, so the tree VM.
22:16:35 <Phantom_Hoover> It occurred to me that my addressing scheme needs different instructions for equality,
22:17:26 <Phantom_Hoover> Since 00000.* always refers to the root node, and so on.
22:17:44 <Phantom_Hoover> So a PCMP instruction would probably be helpful.
22:19:25 <ais523> oerjan: my Thutu implementation of HQ9+ uses its own emulated accumulator
22:19:38 <ais523> because it's too abstracted to know if there's an underlying accumulator or not
22:20:08 <oerjan> well it's not HQ9+
22:20:23 <Phantom_Hoover> What is "the accumulator"?
22:20:31 <Phantom_Hoover> In x86, for instance.
22:20:35 <Phantom_Hoover> eax?
22:20:43 <oerjan> 's fault if thutu is too removed from the underlying machine
22:21:45 * oerjan has no idea whether x86 has an accumulator.
22:26:59 <alise> eax is the accumulator
22:27:44 <oerjan> eaxcellent!
22:29:23 <Phantom_Hoover> alise is here?
22:29:33 <alise> It is Friday, is it not?
22:29:43 <alise> And a most excellent Friday too, might I add, for no reason other than to give me a second line to write.
22:29:53 <Phantom_Hoover> OK. Read the logs and comment on the tree-based VM idea.
22:30:02 <oerjan> Phantom_Hoover: there is no alise, it's just a talking weather balloon. or maybe a talking venus.
22:30:48 <alise> Weather balloon.
22:30:54 <alise> Phantom_Hoover: No; I demand distilled information!
22:30:59 <alise> (Or at least log links.)
22:31:07 <Phantom_Hoover> Today's log.
22:31:24 <Phantom_Hoover> The basic idea was to have a global tree in which code and data are stored.
22:31:38 <oerjan> ais523: oh btw you forgot to delete Talk:Joke languages
22:31:54 <oerjan> *Category talk:Joke languages
22:32:12 <ais523> ok, thanks
22:32:29 <ais523> not sure how I missed that one
22:32:37 <alise> Why delete that category?
22:32:47 <alise> I hereby register my disagreement.
22:32:51 <oerjan> also Category:Algorithmic information theory
22:33:04 <alise> Delete that one, yes.
22:33:06 <Phantom_Hoover> alise, the talk page.
22:33:10 <oerjan> alise: um the talk page, which was spam
22:33:16 <alise> Ah.
22:33:26 <alise> Algorithmic information theory shouldn't be a category.
22:33:30 <alise> Only John Tromp uses it.
22:33:49 <oerjan> oh hm it actually has an article
22:33:56 <ais523> oerjan: deleted and semisalted
22:34:08 <Phantom_Hoover> alise, you have failed to read the proposition.
22:34:16 <Phantom_Hoover> I am disappointed.
22:34:48 <alise> I'm merely supporting it even more strongly.
22:34:58 <Sgeo> It's an alise
22:34:58 <alise> Anyway suck my Dijkstra. (I will henceforth use this insult forevermore.)
22:35:01 <Phantom_Hoover> Also, I thought you might like http://en.wikipedia.org/wiki/Talk:Lambda_calculus#Proposed_criticism_of_lambda_calculus
22:35:04 <Sgeo> alise: I've come to hate LambdaMOO
22:35:14 <alise> Why?
22:35:47 <Sgeo> Well, not "hate", but I ask why people don't care about keeping the library organized, so newcomers could easily find things, and they said that newcomers could always just ask them
22:35:52 <alise> lol @ http://en.wikipedia.org/wiki/Talk:Lambda_calculus#Proposed_criticism_of_lambda_calculus
22:36:01 <alise> His interests include astronomy, search engines, programming, computer graphics, ergonomics, electronic encyclopedias, and advanced wiki-formattting. He's the guy, in school, that corrected the answers in the back of the Physics textbook ("Don't ya hate people like that?").
22:36:05 <Phantom_Hoover> I really hope it's a joke.
22:36:08 <Sgeo> Seems like more of a "Don't bother RTFM, just ask us"
22:36:09 <alise> but then, earlier:
22:36:10 <alise> Wikipedia user Wikid77 is an American computer scientist, world traveller, and wiki-inventor.
22:36:17 <alise> fucking pretentious fuckwit kid ARH
22:36:18 <alise> *ARGH
22:36:20 <alise> burn with fire
22:36:31 <alise> what is it with SUPER SMRT kids and being... like that
22:36:33 <Phantom_Hoover> Don't read the TV Tropes Troper Tales pages for Mary Sue.
22:36:35 <alise> I'm not like that am I?
22:36:41 <Sgeo> Wouldn't a computer scientist actually appreciate lambda calculus?
22:36:48 <Phantom_Hoover> Or Genius Bruiser.
22:36:58 <Phantom_Hoover> It's as bad as it sounds.
22:37:03 <Sgeo> alise, I'm considered super-smart relative to the other computer students at my school, mostly
22:37:07 <Sgeo> At least, I think
22:37:44 <Phantom_Hoover> Compared to my fellow computing students I am Donald Knuth.
22:37:49 <Phantom_Hoover> And I'm not all that good.
22:38:27 <alise> IRC user Elliott Hird is a British computer scientist, mathematician, philosopher and typographer.
22:38:33 <alise> *is a renowned British
22:40:03 <alise> 05:05:56 <AnMaster> (sorry for slow reply, had to clean my glasses due to small accident there)
22:40:06 <alise> We did not need that information.
22:40:19 <alise> 05:10:47 <AnMaster> fungot uses SOCK and a few other ones for example
22:40:19 <alise> Please don't tell us what you use. This has gone too far.
22:40:20 <fungot> alise: all because r2q2 said yow to you? fizzie said earlier that a befunge program that solves: 2x2 4x 1 0 deewiant anmaster: i wouldn't.
22:40:25 <Phantom_Hoover> Oh, look Wikid77 has been in the West US, the East US, the Northeast US, the Southeast US *and* the other US.
22:40:29 <Phantom_Hoover> Wow!
22:40:39 <alise> The "Other" region of the US.
22:41:03 <Sgeo> Non-continental US?
22:41:13 <Sgeo> Erm, that doesn't technically describe Alaska, does it
22:41:14 <Phantom_Hoover> Hawaii?
22:41:27 <Sgeo> Non-contiguous?
22:41:28 <alise> The User:Wikid77 is a long-term user on English Wikipedia (editing since 2001) and German Wikipedia, who also edits Wikimedia Commons in 20 languages. He is an American computer scientist, mathematician, information scientist, and world traveller.
22:41:35 <alise> Information scientist and world traveller.
22:42:12 <alise> Originally intended as the "sum of all knowledge" (vision), wiki efforts continued as the "sum of all censorship" in late 2008, as suggestions were deleted, text was trimmed or simplified, with images or maps cut to reduce data. Many people quit in disgust during 2006-2008, unable to handle the negative chaos.
22:42:17 <Phantom_Hoover> Incidentally, I joined in with the tree idea for the purpose of making a VM that could do functional programming on a low level.
22:42:19 <alise> ASHDFGHHK
22:42:23 <Phantom_Hoover> He reminds me of Lumenos.
22:42:24 <alise> "This user lives in Texas."
22:42:26 <alise> oh I can stop reading now
22:42:28 <Phantom_Hoover> Although not as insane.
22:42:38 <alise> Phantom_Hoover: real machines that do functional programming on a low level exist
22:42:40 <alise> Google "Reduceron"
22:42:47 <Phantom_Hoover> http://lumeniki.referata.com/wiki/Main_Page
22:42:53 <Phantom_Hoover> A tribute to insanity.
22:43:09 <Phantom_Hoover> Why do you have to spoil my fun?
22:43:21 <Sgeo> alise, I'm thinking of making a gaming computer
22:43:30 <alise> Phantom_Hoover: wow, that wiki is like a cross-referenced masturbation video.
22:43:44 <alise> Sgeo: I can give you all the specs and it will cost super cheap and be most excellent. Also, I will give you humble service.
22:43:51 <Phantom_Hoover> You didn't have to deal with him for about a month.
22:43:54 <ais523> alise: is that a good thing?
22:43:59 <Phantom_Hoover> I have no idea why I did it.
22:44:05 <alise> ais523: no.
22:44:15 <Sgeo> On Intel's website: "How many programs will you run at once?" The max option: 4+
22:44:18 <alise> Lumenism is a system for discovering and organizing information particularly on controversial topics. Here's how:
22:44:18 <alise> Debates are made more fruitful and civil by techniques or technology that allow quick, back-and-forth dialogue, while enforcing time/attention restraints using time-enforced dialogue (ted) and wikibrawl methods.
22:44:18 <alise> Clarifying terminology using neologisms.
22:44:18 <alise> Efficiently organizing and storing information to avoid repetition and enable newcomers to quickly and conveniently see if the answer to their question is in this information storage place. A wikiforum is particularly suitable to this goal, but a wikiforms' function can be simulated with with paper or voice, for people who don't own networked computers, for information that requires greater privacy, or for people who do not want to become a cripled philosoph
22:44:23 <alise> er (knowledge lover) like Lumenos.
22:44:23 <Phantom_Hoover> I just kind of... fell into it.
22:44:25 <alise> Establishing the largest consensus groups possible.
22:44:27 <alise> Research how a lumeniki may be improved to maximize liberty by avoiding power being concentrated in the hands of administrators or the owners of the servers:
22:44:30 <alise> Allowing modularity so that anyone can easily extract part of the wiki and move it to a different host, sponsor, governor, or legal agreement.
22:44:33 <alise> Make LumenikiLu useful to readers by allowing them to customize how the content is filtered for them to see rather than administrators censoring what everyone sees.
22:44:36 <alise> Governance decision power delegated by the wiki software when consensus is not happening: A one-vote-per-person "democratic" system would require identification of people and have disadvantages in terms of privacy and convenience. An alternative would be a meritocratic system that would delegate power based on the amount of content contributed (which is recognized to be valuable). This would avoid cheating with sock puppets and some mistakes due to lack of e
22:44:41 <alise> xperience. The idea of software making the decisions (see technocracy) is to achieve real rule-by-law where laws are so perfected they can be carried out by computers/robots. You might think this would re
22:44:44 <alise> quire very wise and benevolent policy makers, well sort of, actually power checks are built into the (educational) system although any system may devolve into non-pareto or non-utilitarian, authoritarian hierarchies if not maintained by (the majority of) persons who are either benevolent and/or intelligent enough to maintain it. That is undoubtedly the Truthism.
22:44:44 <Sgeo> "What kind of social networking do you want to do?" WTF?
22:44:49 -!- coppro has joined.
22:44:51 <alise> Yes, a huge flood.
22:44:53 <alise> But dammit, the world has to see.
22:44:55 <Phantom_Hoover> He turned up at Wikiindex after an incident I don't want to explain, and he wikilawyered for *weeks*.
22:44:55 <alise> It goes on: http://lumeniki.referata.com/wiki/Lumenism
22:44:59 <alise> Sgeo: See /msg.
22:45:20 <ais523> alise: incidentally, an automatically enforced 3RR automatically makes wikis democratic, if everyone can be bothered to use all their reverts
22:45:26 <Phantom_Hoover> He is the only person who ever uses it.
22:45:43 <Phantom_Hoover> Although I have an account there, along with a couple of others from RationalWiki.
22:45:47 <ais523> Phantom_Hoover: how /can/ you wikilawyer for weeks without everyone just ignoring you?
22:46:00 <Phantom_Hoover> We were a little crazy.
22:46:49 <Phantom_Hoover> http://www.wikiindex.org/WikiIndex_talk:Policies_and_Guidelines
22:47:48 <alise> That repeated "i" is irritating.
22:47:58 <Phantom_Hoover> It is indeed.
22:48:42 <Phantom_Hoover> Although the site's administration is even worse.
22:49:12 <Phantom_Hoover> As best I can tell, most of the sane people went to another site, and only a few idiots remained.
22:57:31 <zzo38> I think I found a bug in ngIRCd
22:57:38 <alise> Report it
22:58:23 <zzo38> If you create a + type predefined channel, it will set server operators as channel operators anyways, even though that shouldn't be allowed. (The MODE command doesn't work for modeless channels anyways, though)
22:58:35 <zzo38> Usually there is no use for + type predefined channel
22:58:56 <zzo38> But now I want to add in a function to make it so predefined channels are the ones which are automatically logged
22:59:01 <zzo38> I can fix that bug
23:01:59 <zzo38> Probably nobody cares about that bug anyways, but I will fix it anyways. The only reason I need predefined channels is for two reasons: Topic messages and automatic logging (using SIRCL format). There should not be any operators, even server operators should not be allowed to change topics or anything else on + type channels.
23:02:26 -!- augur has joined.
23:02:58 <Phantom_Hoover> CakeProphet, are you there?
23:05:20 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:09:58 <Phantom_Hoover> Is anyone going to discuss the tree computer?
23:11:15 <alise> Explain it.
23:12:26 <Phantom_Hoover> OK, like I said the only (or at least primary) data structure is a tree.
23:12:40 <Phantom_Hoover> I'm not sure if we agreed, but I think it was binary.
23:12:59 <Phantom_Hoover> Code and data are both stored on this.
23:13:39 <Phantom_Hoover> There is a low-level language operating on this level.
23:14:04 <Phantom_Hoover> Which is eagerly-evaluated, possibly by traversing the tree depth-first.
23:15:40 -!- coppro has quit (Ping timeout: 240 seconds).
23:15:41 <Phantom_Hoover> Each node contains a 4-byte value.
23:16:22 <Phantom_Hoover> The addressing scheme I came up with was that the first 5 bits specified the depth, and the next 27 specified the path from the root node.
23:17:23 <Phantom_Hoover> CakeProphet had the idea of making this faster by having a hash table of the pointers in physical memory corresponding to the address.
23:18:08 <alise> <Phantom_Hoover> The addressing scheme I came up with was that the first 5 bits specified the depth, and the next 27 specified the path from the root node.
23:18:11 <alise> So, finite tree.
23:18:14 <alise> DFA, Q.E.D.
23:18:16 <Phantom_Hoover> Yes.
23:18:27 <Phantom_Hoover> DFA?
23:18:30 <alise> Google it.
23:18:46 <alise> My suggestion: 0 is /, 1 is a bit.
23:18:48 <alise> There's your path.
23:18:51 <Phantom_Hoover> Dimensional Fund Advisors? Democracy For America?
23:18:56 <alise> 11101111 is 111/1111
23:19:00 <alise> Phantom_Hoover: Sigh.
23:19:08 <Phantom_Hoover> What?
23:19:25 <alise> Deterministic is the first word.
23:19:35 <Phantom_Hoover> Deterministic Finite-state Automaton?
23:19:47 <Phantom_Hoover> OK.
23:19:50 <alise> YOU WIN
23:20:18 <Phantom_Hoover> Why is it so bad if it's not TC?
23:20:26 <alise> Er, I meant FSM.
23:20:31 <alise> Phantom_Hoover: It's boooooooring :P
23:20:39 <Phantom_Hoover> It's honest.
23:21:05 <Phantom_Hoover> Since it doesn't pretend to be TC while written in C, like everything else is.
23:22:02 -!- coppro has joined.
23:22:05 <alise> You confuse languages with implementations.
23:22:09 <alise> You should die because of this.
23:22:12 <Phantom_Hoover> Yes, I know.
23:22:17 <Phantom_Hoover> It's a terrible sin.
23:22:31 <Phantom_Hoover> TC implementations are non-existent, so it's not that awful.
23:23:20 <coppro> why is that always bad? Some languages effectively are their implementations, like Perl
23:23:21 <coppro> (Perl 5, anyway)
23:23:45 <Phantom_Hoover> OK, so why should it be TC>
23:24:15 <Phantom_Hoover> TC languages are two-a-penny.
23:24:28 <Sgeo> Wait, Perl doesn't have formal specs?
23:24:49 <alise> coppro:
23:24:55 <alise> <Phantom_Hoover> Why is it so bad if it's not TC?
23:24:55 <alise> <Phantom_Hoover> It's honest.
23:24:55 <alise> <Phantom_Hoover> Since it doesn't pretend to be TC while written in C, like everything else is.
23:25:07 <Phantom_Hoover> That's inaccurate, I give you.
23:25:09 <alise> this "TC isn't valid because [some facet of the universe] isn't TC" thinking is a disease
23:25:12 <coppro> Sgeo: Sure it does. it's written in C
23:25:16 <alise> and must be stomped upon with great force at every opportunity
23:25:25 <Phantom_Hoover> Also, the universe isn't TC.
23:25:36 <Phantom_Hoover> You can't run forever, however hard you try.
23:25:50 <Sgeo> And the universe is finite
23:26:04 <Phantom_Hoover> It's a fantastically useful theoretical concept, but isn't real.
23:26:08 -!- augur has quit (Ping timeout: 240 seconds).
23:26:28 <Sgeo> But that doesn't mean languages, as described, aren't theoretically, if not physically, TC
23:26:35 <alise> Phantom_Hoover: Graham's number isn't real!
23:26:38 <Phantom_Hoover> I accept that.
23:26:39 <alise> Ultrafinitism forever!!
23:26:58 <coppro> there's no proof that the Universe isn't TC
23:27:03 <Sgeo> i isn't real!
23:27:33 <Phantom_Hoover> What's wrong with saying that TC isn't real, but is useful in mathematics?
23:27:48 <coppro> and in fact, there is evidence suggesting that the Universe is super-TC
23:28:01 <Sgeo> coppro, wait what?
23:28:20 <coppro> Sgeo: There are those who believe that quantum mechanics is not modelable by a Turing machine
23:28:23 <Phantom_Hoover> Quantum.
23:28:24 <alise> I believe the universe to be finite, and I believe that --
23:28:25 <Sgeo> If the universe is super-TC, let's build a super-TC cpu!
23:28:28 <alise> How did I know you'd bring up QM?
23:28:47 <alise> I am pretty sure you could make a universe on a Turing machine that, to its inhabitants, behaved perfectly quantum.
23:28:48 <Phantom_Hoover> OK, can we stop the philosophy?
23:28:52 <alise> Phantom_Hoover: No.
23:29:01 <Sgeo> <3 philosophy
23:29:03 <Phantom_Hoover> alise: With a PRNG, then?
23:29:10 <alise> coppro: We can't model quantum mechanics on a TM in this universe, perhaps.
23:29:18 <alise> coppro: But that doesn't mean the universe itself is running on super-TC hardware.
23:29:19 <Phantom_Hoover> Or a nondeterministic TM?
23:29:23 <coppro> alise: yes it does
23:29:36 <coppro> either it can or cannot be modeled by a TM
23:29:38 <Sgeo> Well, we can't even build a TM in this universe, so
23:29:49 <coppro> a "nondeterministic TM" is not a TM at all
23:29:51 <Phantom_Hoover> We *can* build a TM.
23:29:58 <Phantom_Hoover> Just not a universal one.
23:30:05 <Sgeo> Oh erm, >.> right
23:30:07 <alise> coppro: no
23:30:10 <alise> coppro: consider:
23:30:31 <alise> TM can run {universe that appears to be quantum}, but from inside {universe that appears to be quantum}, we cannot emulate that universe, only {another universe that appears to be quantum}.
23:30:47 <coppro> alise: But that would violate the principle of UTM equivalence
23:31:08 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:31:12 <alise> I don't see any issue with proposing that the simulator somehow makes its random numbers "inaccessible" to us.
23:31:20 <coppro> alise: nor do I
23:31:25 <Sgeo> Why wouldn't "that universe" be emulable, except for memory constrains?
23:31:27 <Sgeo> *constraints?
23:31:30 <alise> emulable isn't a word
23:31:31 <coppro> TMs are not random, however
23:31:43 -!- tombom has quit (Quit: Leaving).
23:31:50 <Phantom_Hoover> Emulable is a lovely word and should be real.
23:32:26 <coppro> we have near-UTMs in this Universe (machines that would be UTMs if they had infinite space), that means they can emulate any TM. By definition, there cannot exist a TM that a UTM cannot emulate
23:32:32 <alise> Lumenos is practically a superhero but for eir one crippling kryptonite weakness to a deadly form of ikilumen known as termMites.
23:32:32 <alise> Noise pollution: Marl is the gosh of noise pollution. His one most loyal and faithful servant on Earth, Marlean, is actually Lumenos step sister. The antiChrist appointed Marlean to distract and frustrate any attempt by Lumenos or Klearance to think. However, marlikilumen has differing effects on Lumenos and Klearance.
23:32:32 <alise> Klearance becomes sedated, hypnotized, and usually will fall asleep or stare at a lumenator, lucidly dreaming of something he thinks he needs to do without having access to the brain functions which could solve any real problem when these actually exist.
23:32:33 <alise> Lumenos becomes distracted, agitated (more like freegan pissed off), and tends to flee from the deadly air vaprations.
23:32:36 <alise> http://lumeniki.referata.com/wiki/Ikilumen_of_Lumenos'_mind what!
23:33:05 <Phantom_Hoover> I had to *argue* with him.
23:33:16 <Phantom_Hoover> It's open-edit, feel free to annoy him.
23:33:28 <alise> Hooooovie you came! *BIG hug* I did it right that time, hugh? I know how you like those little stars. You so smart. Do you know how to spell "hugh"? First editor who is sticking around a little while maybe? I think there might be a special place for the Hoovester in the Lumeniki tip jar. Lumenos 17:12, September 6, 2009 (UTC)
23:33:35 -!- Oranjer has quit (Read error: Connection reset by peer).
23:33:36 <alise> Hooooovie you came! *BIG hug*
23:33:43 <alise> `addquote <Lumenos> Hooooovie you came! *BIG hug*
23:33:46 <coppro> so if the Universe cannot be modeled by any TM (including, by definition, a UTM) inside it, it cannot be emulated by any TM at all.
23:33:57 <alise> "If you want me to stay, make me a sysop and bureaucrat." xD
23:34:02 <alise> Sometimes I think you no longer love me. I know that is just my low self esteem talking but, you know, it would be nice to hear you say it every now and then. Lumenos 08:37, November 13, 2009 (UTC)
23:34:04 <HackEgo> No output.
23:34:06 <alise> Is this guy for real
23:34:12 <Phantom_Hoover> It would appear.
23:34:20 -!- Oranjer has joined.
23:34:23 <coppro> so therefore its computational complexity class must be super-TC, since it can in fact model a UTM, as evidenced by the existence of UTMs within it
23:34:25 <Sgeo> alise, where's this?
23:34:29 <Phantom_Hoover> Otherwise he shows a dedication for parody that is in itself weird.
23:34:36 <Sgeo> UTMs can model UTMs
23:34:43 <alise> "(Prune. With a chainsaw)" --Phantom_Hoover
23:34:46 <alise> --http://www.wikiindex.org/index.php?title=Lumeniki&diff=69874&oldid=68851
23:34:52 <alise> Sgeo: http://lumeniki.referata.com/
23:35:06 <alise> http://www.wikiindex.org/Lumeniki Look at that, it's big again.
23:35:18 <alise> This guy is fucking insane
23:35:56 <Sgeo> Where's the You came bit?
23:36:21 <coppro> Sgeo: exactly
23:36:21 <Phantom_Hoover> http://www.wikiindex.org/index.php?title=Lumeniki&oldid=68851 He seems to think that he invented MediaWiki's XML export feature.
23:36:45 <Phantom_Hoover> `quote
23:36:48 <alise> Sgeo: on Phantom_Hoover's talk page on lumeniki; I'm sure you can figure it out.
23:36:49 <coppro> now, I should add one thing
23:36:54 <alise> Seems HackEgo is still broken.
23:37:01 <HackEgo> No output.
23:37:04 <alise> <coppro> so therefore its computational complexity class must be super-TC, since it can in fact model a UTM, as evidenced by the existence of UTMs within it
23:37:08 <alise> I don't believe the universe is infinite.
23:37:09 <alise> So there.
23:37:12 <Phantom_Hoover> `run ls
23:37:28 <HackEgo> No output.
23:37:32 <Phantom_Hoover> A UTM can model a UTM, can't it?
23:37:58 <coppro> alise: Size is the only possible reason why no UTM within the Universe can model the Universe if it is TC
23:38:08 <Sgeo> Why is it tthat to me, it's obvious both coppro and alise are wrong?
23:38:10 <alise> coppro: I also believe a UTM can probably model the universe.
23:38:17 <alise> Sgeo: Because you are wrong in a different way.
23:38:33 <Phantom_Hoover> alise, you didn't have to deal with Lumenos' debate maps.
23:38:44 <coppro> if you had a UTM within the Universe, and the Universe is just TC, then that UTM could model the Universe
23:38:55 <coppro> except for the obvious fact that it's physically impossible
23:39:20 <coppro> I think there's actually a proof of the Universe's irreducibility
23:39:25 <alise> Phantom_Hoover: This wiki is so confusing...
23:39:34 <Sgeo> When you said "Within the universe", you mean physically?
23:39:36 <alise> coppro: that would be an astonishing result.
23:39:40 <alise> coppro: it would disprove the church-turing thesis.
23:39:45 <alise> coppro: thus I believe it is not so.
23:39:49 <oerjan> i wish to point out that a deterministic TM can easily model a nondeterministic one, with just an exponential blowup in time
23:40:13 <oerjan> (in case someone here didn't know this already)
23:40:14 <alise> Phantom_Hoover: The only solid opinion I can come up with is that this Lumenos guy possibly likes RationalWiki, which makes me detest him (her?).
23:40:15 <Phantom_Hoover> In the Wikiindex dispute, he eviscerated the discussion and scrambled everything in it.
23:40:31 <coppro> alise: it would also disprove everything and prove everything, since it would be a contradiction
23:40:31 <Sgeo> "Hereto sapien"?
23:41:02 <coppro> it is obvious that the Universe cannot be modeled from within itself; the question is whether the computational power is sufficient
23:41:09 <oerjan> and also, the usual quantum complexity class BQP fits snugly inside the deterministic complexity class PSPACE
23:41:41 <alise> actually now I'm just raging at RationalWiki, which is nicer than reading this wiki
23:41:52 -!- Phantom_Hoover has quit (Quit: Leaving).
23:42:13 <oerjan> (meaning that turning quantum -> deterministic is also just a question of blowing up space or time requirements)
23:42:20 <Sgeo> What's wrong with RationalWiki?
23:42:35 -!- zzo38 has quit (Remote host closed the connection).
23:43:21 <alise> Sgeo: It's mostly filled with foaming-at-the-mouth people who seem to like making fun of silly religious beliefs more than RATIONALLY EXAMINING THINGS.
23:43:35 <coppro> alise: also, the Church-Turing thesis is not something that can be taken for granted. That's the whole point of digital physics
23:43:36 <alise> Anti-religion is perfectly acceptable but it is not rationality, and their articles also are almost completely devoid of reason; it approaches more of a comedy wiki.
23:43:52 -!- Phantom_Hoover has joined.
23:44:02 <alise> And I dislike their writing style. It smacks of "Lol, I am smarter than you" no matter who reads it.
23:44:18 <Phantom_Hoover> alise, I'm afraid I'm one of the administrators, so I'll just leave before an argument starts.
23:44:23 <Phantom_Hoover> *PLEASE*
23:44:30 -!- Phantom_Hoover has quit (Client Quit).
23:44:39 <alise> Phantom_Hoover: Is it rational to leave whenever someone disagrees with your site?
23:44:41 <alise> Wow, that guy's touchy.
23:45:15 -!- coppro has set topic: <alise> Phantom_Hoover: Is it rational to leave whenever someone disagrees with your site [RationalWiki]? | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
23:46:12 -!- Phantom_Hoover has joined.
23:46:34 <Phantom_Hoover> alise, it's more the fact that it's quarter to 12 and I don't like arguing with people.
23:46:48 <Phantom_Hoover> By all means create an account and criticise the site there
23:46:48 <alise> Phantom_Hoover: You know, entering to say something after logreading is a technique I used to use and is widely regarded as extremely immature here.
23:46:51 <alise> Talk or don't talk at all.
23:46:59 <Phantom_Hoover> I'm sorry, then.
23:47:01 <alise> No, I'm criticising the site here. If you were mature you would ignore me instead of confronting me like that.
23:47:09 <Phantom_Hoover> No, OK?
23:47:10 <alise> Or at least confronting me in a more... rational way.
23:47:23 <Phantom_Hoover> I'm allowed not to want to have an argument, OK?
23:48:01 <oerjan> I disagree with your argument, but I'll defend to death your right not to have it
23:48:05 <Phantom_Hoover> And it's not "my site", either.
23:48:24 <alise> "My boss" isn't MY boss, either.
23:48:27 <alise> He's other people's boss too.
23:48:36 <alise> Phantom_Hoover: If you don't want an argument, don't respond to me.
23:48:37 <jabb> is there a static place to announce a language?
23:48:44 <Phantom_Hoover> jabb: Not really.
23:48:50 <Phantom_Hoover> The wiki is where it's normally done.
23:48:53 <Sgeo> How would you announce something ina static place?
23:48:56 <alise> Now really, saying "Don't say that! Stop criticising that!" won't stop an argument, only provoke it.
23:48:57 <alise> jabb: wiki.
23:49:00 <alise> esolangs.org/wiki
23:49:10 <Phantom_Hoover> He's used that already.
23:49:47 <Phantom_Hoover> Also, I'm not telling you not to say it. I'm saying that I'm not interested in responding to your criticism.
23:49:56 <oerjan> jabb: what do you mean by static? there is the esoforum which is only barely alive...
23:50:06 <Sgeo> an esoteric esoteric programming language?
23:50:12 <alise> Phantom_Hoover: But you did anyway.
23:50:18 <Phantom_Hoover> I didn't say that.
23:50:29 <alise> Personally I think your response comes across as quite emotionally attached to this wiki, to the point of not wanting to rationally reply to criticism.
23:50:35 <alise> (And don't say I'm starting an argument, you kindled the fire.)
23:50:41 <Phantom_Hoover> How?
23:50:49 <Phantom_Hoover> I linked you to Lumenos.
23:50:52 <jabb> ahh, used to announcing something on usenet or something
23:50:53 <Sgeo> "in some assembly language"?
23:51:04 <alise> Phantom_Hoover: By leaving/rejoining a lot and saying "NO DON'T TALK ABOUT IT".
23:51:13 <alise> jabb: we used to have a mailing list
23:51:16 <alise> uncountable aeons ago
23:51:17 <Phantom_Hoover> I left/rejoined TWICE.
23:51:27 <alise> Phantom_Hoover: Well, I didn't say much int he first place...
23:52:54 <Phantom_Hoover> Look, I have to do this thing called SLEEPING now, and I was tired as it was. I don't really want to have a nice day spoilt by an argument, and I tried to indicate this.
23:53:06 <Sgeo> jabb, what's the data type of the hand?
23:53:22 <alise> Phantom_Hoover: Stop whining and just go to sleep.
23:53:25 <alise> You don't have to be emotional.
23:53:41 <alise> You would think -- okay, I refuse to make another jab at the name RationalWiki. How could I stoop so low?
23:53:54 <Phantom_Hoover> Why do you always have to act oh so superior to all lesser beings?
23:54:02 <Phantom_Hoover> Anyway. I'll sleep now.
23:54:03 -!- Phantom_Hoover has quit (Quit: Leaving).
23:54:09 <alise> I'm not acting superior ... you're acting hurt.
23:54:15 <coppro> both
23:54:22 <uorygl> Are the two actings mutually exclusive?
23:54:25 <Sgeo> jabb, so In Hand's data type varies?
23:54:27 <alise> How am I acting superior?
23:54:32 <coppro> you usually are
23:54:40 <alise> I was belittling Phantom_Hoover, yes...
23:54:51 <alise> But I don't recall bembiggening myself.
23:54:57 <Sgeo> Hey, a use for C unions!
23:55:10 <coppro> You do it implicitly
23:55:13 <alise> Sgeo: There are plenty.
23:55:16 <coppro> like a politician does
23:55:19 <alise> coppro: That's not very helpful.
23:55:26 <alise> "What am I doing wrong?" "You're breaking it!!"
23:55:31 <alise> "How?" "That's just what you do!"
23:55:38 <coppro> I'd elaborate but I'm running late and I might miss my bus if I don't leave in like 2 minutes
23:56:12 <uorygl> alise: "stop whining" and variants come across as insulting.
23:56:31 <alise> uorygl: I never denied I was being insulting: only that I was acting superior.
23:56:37 <alise> Anyway, that rather contradicts with coppro saying that I'm always like that.
23:56:40 <jabb> Sgeo, yeah can be a number, list or null (None in python)
23:57:15 <Sgeo> jabb, should the interpreter be considered to be a reference interpreter?
23:57:16 <jabb> Sgeo: any memory location is that way, list, number or none
23:57:26 <Sgeo> And which wins, spec or interp?
23:57:46 <Sgeo> Spec seems a bit vague in places. I'll work on clarifying it based on interp
23:58:21 <jabb> hmm, I'd go with interp
23:58:47 <jabb> but they're remarkably close, albeit the specs is a bit vague
2010-06-05
00:07:36 <jabb> The TODO's have some stuff which is implemented wrong. Like some opcodes right now have strings instead of a list of numbers, so the program can't do anything with them.
00:08:04 <jabb> just the macro opcodes
00:16:07 <alise> "Tesla didn't need a computer"
00:16:12 <alise> "He just told the data what to do and it damn well did it"
00:16:15 <alise> "he also fought corporate crime and satanism with mark twain in a giant robot"
00:17:41 -!- oerjan has quit (Quit: So Chuck Norris was their secret lovechild?).
00:19:55 <alise> Wow, that last thing is actually a comic: http://en.wikipedia.org/wiki/The_Five_Fists_of_Science
00:19:58 <alise> (SORRY GRAPHICAL NOVEL.)
00:23:55 <Sgeo> It's legal to use a police scanner, right?
00:24:03 <Sgeo> Or an app that ultimately gets audio from one?
00:24:22 -!- FireFly has quit (Quit: swatted to death).
00:25:02 <alise> Sgeo: wat?
00:25:17 <Sgeo> http://www.appbrain.com/app/com.scannerradio
00:27:12 <alise> Sgeo: Who knows; cares.
00:39:11 <alise> Oh! Slereah visited us!
00:39:22 <alise> 05:49:51 <AnMaster> and how does FTL imply time travel?
00:39:25 <alise> I didn't realise he was that retarded
00:43:56 <ais523> hmm, to get FTL you'd need to change enough of known physics that it might not imply time travel after all
00:44:54 <alise> 03:54:51 <Phantom_Hoover> Although "Turing-complete" here means something rather different to everywhere else.
00:44:55 <alise> It does not.
00:45:04 <alise> ais523: HII
00:45:06 <alise> ais523: You hid from me again
00:45:35 <alise> we need a nice formal definition of turing-completeness on the wiki so we can just point people at it to shut them up
00:45:44 <alise> not just "can emulate a turing machine", an actual formal definition
00:46:32 <Sgeo> A finite state machine can easy emulate _a_ turing machine
00:49:07 <alise> ff
00:49:08 <alise> see
00:49:11 <alise> this is why we need it
00:49:12 <alise> ais523: you write it
00:49:40 <ais523> alise: I don't think even mathematicians have a nice formal definition that works in every corner-case
00:49:59 <ais523> or there wouldn't have been that row about the 2,3 thing
00:50:38 <alise> ais523: "There exists a function UTM_P: UTM -> P such that interp_P(UTM_P(x)) = UTM(x) for all x"
00:50:44 <alise> this leaves the infinite program thing vague, which is probably for the best.
00:54:38 <alise> ais523: but I feel that directly appealing to UTMs is unwise.
00:56:03 <ais523> yes, maybe
00:56:16 <ais523> and you have problems with halting and IO, too
00:58:14 <alise> treating IO formally is easy enough, you just need a potentially-infinite input stream
00:58:14 <alise> done
00:58:27 <alise> don't need to have it as part of the UTM definition
00:58:37 <alise> i don't see how halting is an issue
01:06:26 <alise> Wikipedia: A proof that a self-organising, democratic system can arise with very little to no outside control, decentralised, on the internet... and it'll be even more bureaucratic and self-congratulating than in real life.
01:06:28 <alise> A success, and a failure.
01:07:28 <Sgeo> Wikipedia doesn't face challenges that a real-world polical system might face
01:08:11 <Sgeo> And some people on Wikipedia are physically more powerful than others
01:08:17 <Sgeo> Wikiphysically
01:08:27 <alise> Like in real life.
01:11:24 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
01:11:29 <uorygl> How is Wikipedia democratic?
01:12:09 -!- jabb has quit (Quit: brb, upgrading).
01:12:33 <alise> uorygl: Votes^WArticles for Deletion
01:12:48 <alise> Although admittedly sometimes the sysops just decide to take their own preferred course of action instead.
01:12:58 <alise> It's a discussion! Your thoughts do not really count.
01:25:56 <Sgeo> alise, lambdamoo?
01:26:36 <alise> Sgeo: \mu
01:26:40 <Sgeo> ?
01:26:46 <Sgeo> Oh, heh
01:30:35 <Sgeo> "Thank God we have @reapers to make sure that anyone not active enough get
01:30:35 <Sgeo> fragged. But overpopulation and massive programming projects are sucking this
01:30:35 <Sgeo> MOO under!"
01:30:40 <AnMaster> <alise> I didn't realise he was that retarded <-- I think you confuse "retarded" with "don't know a lot of physics"
01:30:56 <alise> But even /I/ know that and I'm incredibly physicstarded :P
01:31:32 <AnMaster> alise, well, I readily agree to being more of a physicstarded than you. But I'm not a retard in general. That was my point.
01:32:38 <alise> every animal is retarded
01:32:42 <AnMaster> alise, heck I doubt either of my parents would know this either. Both are social science more or less
01:32:44 <alise> but some animals are more retarded than others
01:32:55 <AnMaster> are in*
01:33:44 <AnMaster> alise, I heard economists and CEOs were some of the most retarded ones in general
01:33:59 <AnMaster> with a few exceptions for the CEOs
01:34:09 -!- poiuy_qwert has joined.
01:34:11 <AnMaster> strange animals
01:34:12 <alise> Economists aren't as bad as their reputation.
01:34:19 <AnMaster> alise, oh?
01:34:19 <alise> CEOs sure.
01:34:26 <alise> Actual economists are mostly sane.
01:34:38 <AnMaster> alise, what about the current financial crisis?
01:34:41 <alise> I'm talking the kind that actually work on the science/theory of economics.
01:34:47 <AnMaster> ah
01:34:49 <alise> Who everyone then ignores.
01:34:53 <AnMaster> right :)
01:35:58 -!- augur has joined.
01:37:51 <AnMaster> alise, anyway, Jobs doesn't seem like a stupid CEO. Wait. Ipad
01:37:54 <AnMaster> forget what I said
01:38:48 <alise> AnMaster: Jobs is a clever man -- and probably quite nice -- he just has different values to most other people.
01:38:57 <alise> He doesn't care much about openness in technology, for instance.
01:39:04 <AnMaster> true
01:39:16 <alise> The folklore.org stories paint him as a bit of an asshole, but really, we all knew that already.
01:39:24 <alise> A nice asshole. Go fig.
01:40:40 <AnMaster> XD
01:41:24 -!- sshc has quit (Quit: leaving).
01:51:18 -!- jabb has joined.
01:55:39 <AnMaster> alise, wrt apple (took a bit to find it, knew I had seen it somewhere): http://media.fukung.net/images/24383/e6fb96d7a9dcc822029dd97dd79382d7.jpg (sfw)
01:57:09 <alise> I'd take an iPad if it was cheap :P
01:58:56 <AnMaster> alise, ah so the last paragraph doesn't apply to you then ;P
01:59:17 <alise> I bought an iPhone in 2007 and it was like 400
01:59:26 <alise> And it didn't have any apps then even, so yeah, that was pretty dumb
01:59:28 <AnMaster> alise, what is that in SEK?
01:59:30 <alise> I jailbroke it on the first day though
01:59:37 <alise> Who knows, with the exchange rates now
01:59:42 <alise> 4635kr apparently
01:59:45 <alise> I forget the exact price
01:59:52 <AnMaster> iirc those changed quite a lot since then
01:59:52 <AnMaster> hm
02:00:04 <alise> It was expensive, anyway; you could get a decent laptop for its price.
02:00:15 <AnMaster> alise, a thinkpad?
02:00:17 <AnMaster> nah
02:00:35 <AnMaster> a thinkpad almost one year ago was around 9000 SEK iirc
02:00:50 <AnMaster> or 10000, don't remember any more
02:00:59 <alise> I got my Toshiba Satellite for just under 500.
02:01:10 <alise> It's a capable, if low-specced laptop. I could have got much higher specs, but I preferred the long battery life.
02:01:19 <AnMaster> alise, cheap
02:01:31 <AnMaster> alise, and not a thinkpad
02:01:37 <AnMaster> and even more "not a mac"
02:01:52 <AnMaster> alise, anyway I bet it doesn't have a magnesium roll-cage ;P
02:01:59 <AnMaster> (iirc my thinkpad does!)
02:04:50 <AnMaster> night alise, ais523
02:05:02 <AnMaster> ais523, wait, you are up very late aren't you?
02:05:02 <ais523> night
02:05:10 <ais523> alise: same reasoning
02:05:12 <ais523> AnMaster: yes
02:05:14 <alise> AnMaster: very late?
02:05:16 <alise> 2am is not so late.
02:05:19 <alise> I'm up!
02:05:36 <AnMaster> alise, true, 03:00 (use 24h dammit!) is later
02:05:43 <AnMaster> *yawn*
02:05:49 <alise> OH THREE HUNDRED HOURS
02:06:08 <AnMaster> no, that one doesn't even make sense
02:06:19 <AnMaster> it is not 300 hours, nor 300 minutes
02:07:07 <alise> It's called military time and you were just supporting it.
02:12:49 -!- zzo38 has joined.
02:12:56 <zzo38> Now I have IRC server in my computer
02:14:18 <zzo38> You can see if it work!
02:15:09 <alise> hoo-ray
02:15:37 <alise> The 6667 of portage ?!
02:15:45 <alise> * Connecting to zzo38computer.cjb.net (24.207.48.53) port 6667...
02:15:47 <alise> Slow, or failed.
02:17:33 <alise> zzo38: timeout
02:18:22 <zzo38> Sorry, I turned it off for a few seconds to edit the configuration. Try zzo38computer.cjb.net:194
02:18:42 <alise> Wow, using the actual IRC port? You are crazy
02:18:44 <alise> s/$/./
02:19:11 <alise> zzo38: Connect, then.
02:19:40 <zzo38> I am on
02:20:24 -!- zzo38 has quit (Quit: zzo38).
02:20:28 <alise> * zzo38 (~zzo38@24.207.48.53) has joined +ADMIN
02:20:28 <alise> <zzo38> Hello!
02:20:28 <alise> <zzo38> Sorry, I have to leave now
02:20:28 <alise> * zzo38 has quit (zzo38)
02:20:28 <Sgeo> Wait, 194 is the official irc port?
02:20:40 <alise> Sgeo: one of three of the iana-assigned ones
02:27:40 -!- ais523 has quit (Remote host closed the connection).
02:33:47 <olsner> oh, the reply to my message scrolled past the scrollback and now I must consult the logs!
02:34:56 <olsner> aha, and phantom_hoover has left so I have no one to reply to the reply to
02:38:54 <alise> wat
02:47:01 -!- Sgeo_ has joined.
02:48:13 -!- Sgeo has quit (Ping timeout: 265 seconds).
02:50:55 -!- augur has quit (Ping timeout: 245 seconds).
02:52:23 -!- augur has joined.
02:58:43 -!- zzo38 has joined.
02:59:29 <zzo38> I am back on now, and I will tell you a hint: If you are unable to read the log file, you can use the FLUSH command to flush the file so that it can be read.
02:59:43 <zzo38> (Enter the channel name as the parameter to FLUSH command)
03:00:58 <zzo38> As far as I know there is no standard format for IRC log, I created SIRCL format for IRC log. I propose SIRCL has a standard for IRC log format. What is your opinion?
03:03:40 <alise> Standard IRC log format is the raw IRC messages.
03:04:07 * Sgeo_ decides he'd trust alise with his life, unless anger and/or yelling could threaten his life
03:04:09 -!- augur has quit (Remote host closed the connection).
03:04:11 -!- _lament has changed nick to lament.
03:04:41 <alise> Failing that, some obvious /(\d\d):(\d\d)(:(\d\d))?\s+<([^>]+)>\s(.*)/ produces (h,m,(s?),name,msg)
03:04:45 <alise> Sgeo_: Good to... know...
03:04:55 <Sgeo_> Well, maybe not literally my life
03:05:04 <Sgeo_> Maybe computer-related decisions
03:05:13 <Sgeo_> Was trying to be funny partially
03:05:17 <alise> 09:17:22 <oerjan> i _think_ minimal overlap may be a hexagonal pattern, isn't that the equivalent to kepler's theorem in two dimensions
03:05:21 <alise> honeycomb conjecture iirc
03:05:26 <alise> proven as part of kepler's conjecture's proof
03:05:41 <alise> The honeycomb conjecture states that a regular hexagonal grid or honeycomb represents the best way to divide a surface into regions of equal area with the least total perimeter. Mathematician Thomas C. Hales proved the conjecture in 1999 with revisions in 2001.
03:06:06 <zzo38> See http://zzo38computer.cjb.net/irc_log/ADMIN/1275700304 you can see the SIRCL format in real action! (I know this channel does not use it)
03:06:10 <Sgeo_> kepler's conjecture?
03:06:19 <alise> The Kepler conjecture, named after Johannes Kepler, is a mathematical conjecture about sphere packing in three-dimensional Euclidean space. It says that no arrangement of equally sized spheres filling space has a greater average density than that of the cubic close packing (face-centered cubic) and hexagonal close packing arrangements. The density of these arrangements is slightly greater than 74%.
03:06:21 <Sgeo_> SIRCL?
03:06:22 <alise> http://en.wikipedia.org/wiki/Kepler_conjecture
03:06:43 <alise> proved by Thomas Hales using exhaustive computer calculations ikn part
03:06:52 <alise> *in
03:06:55 <alise> (so some people consider it "not completely rigorous" but they're full of baloney)
03:07:01 <zzo38> I called it SIRCL format, short for "Simple IRC Log"
03:07:01 -!- ws has quit (Quit: ...).
03:07:43 <Sgeo_> That was proven?
03:07:47 <alise> Yes.
03:07:48 <alise> http://en.wikipedia.org/wiki/Kepler_conjecture#Hales.27_proof
03:08:08 <Sgeo_> I seem to not be up to date in mathematical knowledge
03:08:18 <Sgeo_> I think Flatterland said it was yet to be proven
03:08:18 -!- augur has joined.
03:08:23 <alise> I like how his proof was 250 pages of notes and 3 gigabytes of programs, data and results.
03:08:25 <zzo38> SIRCL format does not have to be used for only one channel, although it is common to log each channel separately anyways
03:08:27 <Sgeo_> It's a 2001 book
03:08:29 <alise> Fuck the system :P
03:08:52 <alise> Sgeo_: well in 1998 he announced it complete, in 2003 the ann. math. panel announced it was 99% certain of the result
03:09:01 <alise> and Hales (2005) in ann. math. was a 100-page summary
03:09:09 <alise> so it was quite new and not widely accepted in 2001
03:09:18 <Sgeo_> Ah
03:09:51 <Sgeo_> http://en.wikipedia.org/wiki/File:How_to_Escape_from_a_Black_Hole.svg
03:11:43 -!- augur_ has joined.
03:11:44 <Sgeo_> http://en.wikipedia.org/wiki/File:Pyramid_of_35_spheres_animation.gif I have again fallin in love with ray-traced images
03:11:55 <Sgeo_> http://commons.wikimedia.org/wiki/File:Pyramid_of_35_spheres_animation_original.gif
03:12:35 -!- augur has quit (Ping timeout: 245 seconds).
03:14:16 <Sgeo_> http://commons.wikimedia.org/wiki/Category:Created_with_Persistence_of_Vision HAWT
03:16:20 <augur_> alise!
03:16:49 <alise> Yes?
03:19:01 <zzo38> No?
03:19:03 <Sgeo_> Is Blender generally well-regarded?
03:19:21 <alise> Well-regarded as in "I HOPE YOU ENJOY HORRIBLE INTERFACES HAHAHAHAHAHA"
03:19:25 <alise> Apart from that, yes
03:19:27 <alise> 13:51:23 <ais523> hmm, obviously he'll have ignored me based on that inference and won't hear this
03:19:27 <alise> 13:51:26 <ais523> even though it's wrong
03:19:28 <alise> :)
03:20:39 <Sgeo_> alise, what other free 3d authoring tools are available?
03:20:45 <Sgeo_> Besides POV-Ray, ofc
03:21:06 <alise> none
03:21:42 <Sgeo_> Is Wings3D free?
03:21:44 <Sgeo_> I forgot
03:24:07 <alise> yes
03:24:09 <alise> that thing
03:24:14 <alise> that erlang thing
03:24:22 <alise> Wings 3D can be used to model and texture low to mid-range polygon models. Wings does not support animations and has only basic OpenGL rendering facilities, although it can export to external rendering software such as POV-Ray and YafRay. Still, Wings is often used in combination with other software, whereby models made in Wings are exported to applications more specialized in rendering and animation such as Blender.
03:24:54 <alise> 15:23:06 <AnMaster> <pikhq_> Phantom_Hoover: They're not *scary*, they're just more complex than your ordinary integral. <-- s/more/even more/
03:24:56 <Sgeo_> So models don't look polished in Wings3D. How is that inherently a bad thing?
03:24:57 <alise> integrals are not complex.
03:25:04 <alise> Sgeo_: did I say that?
03:25:10 <Sgeo_> Although no animation support is not a good thing
03:26:45 -!- MizardX has quit (Ping timeout: 276 seconds).
03:27:20 <zzo38> If you would like to see any additional logged/predefined channels in my IRC, you can propose them in the +ADMIN channel.
03:30:30 <alise> 16:10:03 * oerjan kept nagging about NB. PLEASE intercal DO NOT being simpler
03:30:32 <alise> eventually i listened
03:31:14 <zzo38> What about INTERCAL exactly?
03:31:23 <zzo38> You don't want simpler?
03:31:33 <zzo38> Or do you mean something else, too
03:32:01 <zzo38> If it is CLC-INTERCAL you can modify the syntax however you want (even at runtime)
03:33:21 <alise> 16:35:09 <maedhros777> Seems kind of interesting to me that the same wiki having languages like LOLCODE also has such intellectual articles on Turing-completeness :)
03:33:21 <alise> 16:36:12 <maedhros777> "Can haz stdio"? Classic. :)
03:33:21 <alise> 16:36:41 <oerjan> maedhros777: you may note that boolfuck shows you don't even need more than two values 0 and 1 for TC, which means increment and decrement are the same operation
03:33:21 <alise> 16:37:04 <oerjan> also some people here like to hate LOLCODE. just saying. ;D
03:33:22 <alise> 16:37:23 <maedhros777> oerjan: It's the greatest language ever :)
03:33:24 <alise> 16:37:29 <maedhros777> Besides BF, of course.
03:33:26 <alise> 16:37:46 <maedhros777> I should make a real-time multiplayer FPS in BF. =D
03:33:28 <alise> You are my mortal enemy now maedhros777
03:33:39 <alise> zzo38: No, I wrote a way to do an INTERCAL/J polyglot.
03:34:05 <lament> hey, does everyone remember the description of THQ9+
03:34:07 <zzo38> alise: OK maybe you should post them at wiki, or something like that
03:34:08 <lament> or something like that
03:34:17 <lament> where T implemented "turing-completess"
03:34:24 <alise> zzo38: no point
03:34:28 <alise> lament: oerjan's
03:34:29 <lament> probably cpressey came up with it
03:34:31 <lament> oh
03:34:33 <alise> i think
03:34:39 <lament> i can't find it anywhere
03:34:41 <alise> X Makes the programming language Turing-complete. How this is supposed to be achieved is not clearly specified. (The Perl implementation generates a random number, adds it to each character in the program, and interprets the resulting program code as Perl code.)
03:34:43 <alise> http://esolangs.org/wiki/CHIQRSX9_Plus
03:34:54 <alise> probably not oerjan's finest moment in language design
03:35:01 <lament> hm
03:35:13 <lament> i thought i remembered one that just added a single instruction
03:35:15 <alise> especially as CHIQRSX9+ is actually an infinite family of languages
03:35:22 <alise> all of which are turing complete, but
03:35:33 <alise> the implementation selects from a finite (and thus very limited) subset of these at runtime
03:35:36 <alise> and interprets the program in it
03:35:40 <alise> which is clearly lunacy
03:35:57 <jabb> "The Perl implementation generates a random number, adds it to each character in the program, and interprets the resulting program code as Perl code." LOL
03:37:28 -!- augur has joined.
03:37:44 -!- augur_ has quit (Read error: Connection reset by peer).
03:38:08 <alise> 06:14:10 <AnMaster> Phantom_Hoover, a bit hard here too, I have no children. It would be rather strange if I did, I'm 20 after all...
03:38:12 <alise> yeah because there are no teen fathers
03:39:39 <lament> oh, i found it
03:40:03 <lament> apparently oerjan's suggestion was CHIQRS9+
03:40:17 <lament> and then the author of HQ9+ suggested to add X
03:44:59 <alise> 08:59:41 <AnMaster> oh a lunatic
03:45:04 <alise> How DARE you call Emperor Norton that.
03:45:18 <alise> lament: Please execute AnMaster for treason.
03:46:19 <lament> alise, http://commons.wikimedia.org/wiki/File:Multi_Color_Go.JPG
03:46:44 <alise> lament: it's a sheep getting raped by a flower?
03:47:22 <lament> yes
03:47:37 <alise> 10:02:33 <AnMaster> oklopol, didn't* ehird use windows95 for a bit?
03:47:38 <alise> 10:02:39 <AnMaster> I mean, like during last year
03:47:38 <alise> yes
03:48:00 <alise> 10:04:46 <oerjan> AnMaster: oh whatever you're just trolling
03:48:00 <alise> reaaaaaaaally, it took you that many pages of pointless anmaster-vim-trolling to figure that out?
03:49:03 <alise> wow, he even continued after the topic changes
03:49:14 <alise> AnMaster really is a bone-headed die-hard zealot :)))
03:49:59 <alise> 10:30:51 <AnMaster> oerjan, ah, don't remember you doing much with fungoids?
03:49:59 <alise> 10:31:01 <oklopol> he's done more than you
03:49:59 <alise> oh snap :P
03:52:23 <alise> 10:50:29 <oklopol> then again who the fuck gives a shit about water so i guess it's okay that the random number 100 is associated with it
03:52:24 <alise> 10:50:34 <oklopol> or wait
03:52:24 <alise> 10:50:39 <oklopol> actually i love water
03:52:24 <alise> he's breaking down
03:54:19 <alise> 11:16:33 <cheater99> what's less crap (for IM, not irc)
03:54:19 <alise> 11:16:42 <cheater99> pidgin or telepathy?
03:54:20 <alise> pidgin def.
03:54:33 <alise> empathy is like prealpha software
04:00:24 <alise> 12:12:48 <oerjan> oklopol: hard to say. i have a theory that alise is the next zzo38.
04:00:24 <alise> i'm listening
04:07:05 <alise> 14:34:11 <fungot> pikhq: from csh type ' exit', is a simple protocol which provides an interface to c. [...]
04:07:06 <alise> :D
04:07:06 <fungot> alise: nobody is allowed to fnord me in soviet russia
04:07:13 <alise> <fungot> alise: nobody is allowed to fnord me in soviet russia
04:07:14 <alise> :D
04:07:14 <fungot> alise: could you please check whether the installation files for your browser? :d
04:08:04 <alise> 14:37:38 <fungot> Deewiant: ever yours, c. darwin. 17 spring gardens, london, fnord, morphology, adaptive characters, 426. [...]
04:08:05 <fungot> alise: " e" is already taken), too
04:08:06 <alise> I like that address
04:08:45 <alise> 14:40:11 <fungot> AnMaster: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
04:08:45 <alise> 14:40:22 <AnMaster> ais523, hey, was that all versions ^
04:08:45 <alise> 14:40:30 <Deewiant> yes all versions all versions
04:08:48 <alise> fungot is especially brilliant lately
04:09:23 <alise> 14:41:43 <fungot> AnMaster: to any airbus plane. 3 passengers sadly died the most awesome thing ever.
04:09:24 <alise> xD
04:11:03 <alise> 14:49:34 <fungot> AnMaster: un- unless he starts to en- to enjoy watching the tae bo that i had
04:11:03 <alise> 14:49:45 <Deewiant> fungot: Tae bo?
04:11:03 <alise> 14:49:45 <fungot> Deewiant: no she no they're not having ah they're not you got to look at why they try to get together there you know
04:11:03 <alise> 14:50:01 <Deewiant> Awfully schizophrenic :-P
04:11:13 <alise> HAHAHA
04:11:15 <alise> 14:52:26 <fungot> AnMaster: you might as well be in the court i'm a law student so i am loving my bread machine
04:11:20 <alise> I'm a law student so I am loving my bread machine
04:12:21 <alise> 20:18:09 <coppro> what's the mathematica to express a function in terms of a single variable?
04:12:23 <alise> #+3&
04:12:30 <alise> or f[x_]:=x+3
04:27:03 -!- augur has quit (Remote host closed the connection).
04:27:43 -!- augur has joined.
04:28:27 <alise> 4 28 am doo doo
04:37:36 -!- augur has quit (Remote host closed the connection).
04:37:58 -!- augur has joined.
04:43:40 -!- augur has quit (Ping timeout: 240 seconds).
04:50:31 <alise> bye
04:51:11 -!- alise has quit (Remote host closed the connection).
04:51:12 <Gregor> Observation: A transparent casing for a melodica provides all the incentive necessary to properly use the spit valve.
05:31:16 -!- sshc has joined.
05:31:16 -!- sshc has quit (Client Quit).
05:31:25 -!- sshc has joined.
05:37:13 -!- augur has joined.
05:51:45 -!- augur has quit (Ping timeout: 245 seconds).
05:59:39 <zzo38> Hello
06:00:23 <jabb> hi
06:00:50 <zzo38> Does it work for you?
06:01:47 <zzo38> I would also like to know which IRC servers and/or IRC clients you like?
06:03:01 <zzo38> I look at the bug report list for ngIRCd some are in German, however.
06:03:06 <zzo38> And some are English
06:07:21 -!- Oranjer has left (?).
06:13:37 <zzo38> I think there was a feature request for channel logging. Well, I have implemented channel logging in ngIRCd. (I simply added a code to the "IRC_WriteStrChannelPrefix" function, and it was not difficult to do)
06:13:52 <zzo38> ngIRCd is very good!
06:14:30 -!- augur has joined.
06:14:57 <Gregor> augur: http://codu.org/tmp/BalMusetteNocturne-wipp1.ogg Me playing two instruments at once
06:15:25 <augur> listening
06:15:56 <Gregor> (With apologies for the poor audio quality)
06:16:02 <Gregor> Recording was sucksy
06:16:43 <augur> i imagine playing was tricky
06:16:53 <Gregor> A bit! :P
06:17:10 <zzo38> Which two instruments? (I suppose some might be harder than others)
06:17:30 <augur> christ maryland is a police state
06:17:30 <augur> 6 cops had people pulled over in the same one mile stretch of road, with a 7th cop in the shadows waiting to pounce
06:17:33 <zzo38> I can hear the music, and it does seem to work OK
06:17:34 <Gregor> D'aww, do I have to tell you, you should guess :P
06:17:50 <zzo38> But it is difficult for me to figure out the instruments
06:17:57 <zzo38> It always is
06:18:12 <Gregor> Here's a hint: The instrument that sounds like a piano is a piano.
06:18:20 <zzo38> Now, can you play *three* instruments at once?
06:18:28 <Gregor> Here's a useless hint: The instrument that sounds like it could be a harmonica or an accordion is neither.
06:18:45 <zzo38> Yes, that's the hard part
06:18:50 <Gregor> zzo38: I suppose my left foot is free ..
06:18:55 <augur> is it ... an ARMONICA?
06:19:21 <Gregor> No. No it is not :P
06:19:23 <zzo38> Do you play the other instrument by feet?
06:19:25 <Gregor> It's a melodica.
06:19:31 <Gregor> zzo38: Naw, one hand each.
06:19:47 <lament> it sounds *horrible*
06:19:50 <zzo38> So if you play piano you cannot touch all of the notes at once
06:19:57 <zzo38> If you don't have three hands
06:20:05 <lament> yes he can
06:20:18 <Gregor> zzo38: You can't touch every note on the piano at once unless you have twenty hands or so :P
06:20:28 <Gregor> lament: You probably don't appreciate accordions either. Heathen.
06:20:38 <lament> Gregor: this is the worst thing i have ever heard
06:20:41 <lament> god, my ears
06:21:00 <zzo38> I think it is working OK
06:21:20 <zzo38> Although perhaps it could be played much better if it were played properly
06:21:41 <Gregor> Neither instrument is being played "improperly", but I am a noob at the melodica.
06:21:47 <lament> Gregor: i even appreciate melodicas
06:22:02 <lament> but they usually don't sound like farting
06:22:07 <lament> they're not really meant for chords
06:22:15 <Gregor> wtf. They're meant PRECISELY for chords.
06:22:30 <Gregor> (Decent ones anyway)
06:22:38 <lament> of course they aren't
06:22:58 <lament> the whole point of a melodica is the expressivity
06:23:11 <lament> they're for playing a melody line, hence the name
06:23:29 <lament> with a chord, you want some control over the relative volumes of the different notes
06:23:40 <Gregor> lament: You are so ridiculous :P
06:23:44 <lament> you can't do that so all the expressivity is lost
06:23:47 <zzo38> Next time do it in Bohlen-Pierce (you will need special instruments), some people will think it is more worse, but to some people it is more better
06:25:31 <zzo38> With a chord, if you are using MIDI or whatever, you can even make it to use a different instruments for Soprano, Alto, Tenor, Bass, and you can do the same if you have a orchestra to do it for you, or a group of singers to sing it
06:28:15 -!- scott4 has joined.
06:31:26 <zzo38> I have heard of a expensive piano that can be both acoustic piano and electric piano at once, so it can be used with no power, the strings can resonate from the other strings, and use all electronic functions when it is switched on
06:31:58 <Gregor> Yeah, they make those. Basically it can retract the strings and detect the hammers directly like a hammer-action digital piano.
06:32:25 <Gregor> Crazy-expensive, and not actually that great of an idea since it can't possibly sound the same in acoustic and digital mode.
06:32:31 <zzo38> Yes, like that, that is what I have heard of. It is expensive
06:33:23 <Gregor> And really, digital pianos have gotten pretty damn realistic recently. The top-of-the-line models simulate a piano rather than using soundbanks, so they're extremely close to an acoustic.
06:34:34 <zzo38> And yes I know it can't sound the same in both ways, that is a purpose of it, you can have both modes for different kinds of musics! But perhaps they can add a third mode, which is hybrid mode, where the strings are controlled digitally, and if a string is hit by a key, it will detect and record that event.
06:35:15 <zzo38> Hybrid mode would probably be even more expensive a lot more
06:35:55 <Gregor> Not sure whether they have that.
06:36:47 <zzo38> I know that just on a normal acoustic piano, it can make a bit different sound when touching the strings by hand, is there any kind of music that requires one person to play the keys and the other person plays the strings directly?
06:37:13 <zzo38> Or if you place additional object on top of the strings it can vibrate that object as well
06:37:45 -!- scott4 has left (?).
06:38:23 <zzo38> How do you write "wood" in Italian? If the part of the music is you have to knock the wood on the piano, do you have to write "wood" in Italian?
06:38:55 <Gregor> You don't "have" to do anything.
06:39:17 <Gregor> You wouldn't want to write "knock on wood" in English though, could be misconstrued :P
06:40:03 <Gregor> BTW, legno means wood, and it's used to indicate you should strike the string with the wood of the bow on bowed instruments.
06:40:54 <zzo38> What does it mean though, if it is written on a piano music? It can mean that for bowed instruments, but if it is piano, surely you cannot do that
06:41:37 <Gregor> I don't know of any meaning for piano music.
06:41:43 <Gregor> I'll ask my composer friend next time he's online.
06:43:03 <zzo38> Can you write Bohlen-Pierce musics?
06:44:01 <Gregor> In what sense?
06:44:27 <Gregor> Am I capable of making software such that I could cause notes to be played in a Bohlen-Pierce scale? Yes.
06:44:41 <Gregor> Am I capable of writing music in it that doesn't suck? Maybe, maybe not.
06:44:57 <zzo38> Did you ever try? And then you can figure out
06:45:23 <Gregor> I have not.
06:46:01 <zzo38> Have you written music using *any* scale other than 12-TET?
06:46:30 -!- lament has quit (Ping timeout: 265 seconds).
06:46:58 -!- augur has quit (Remote host closed the connection).
06:47:09 -!- augur has joined.
06:47:19 <augur> http://wonkette.com/415809/arizona-school-demands-black-latino-students-faces-on-mural-be-changed-to-white
06:48:08 <zzo38> What is the purpose of changing that? Just leave it until you happen to make a new mural with white faces?
06:51:17 <augur> zzo38: but the NIGGERs and SPICKs!
06:51:26 -!- augur has quit (Remote host closed the connection).
06:51:33 -!- augur has joined.
06:52:32 <zzo38> I have written program to play Bohlen-Pierce scale as well, in QBASIC, and in MegaZeux. (The only version of MegaZeux which supports it is P9, which I am the only person that uses it, I am sure because I wrote it and haven't released it yet!) (Version P9 supports playing any frequencies of notes, other versions can use only standard notes)
06:54:38 <augur> oh god, Mrs Robinson makes me feel wonderful ::hugs everyone:: :D
06:54:49 <zzo38> (Still, standard notes are the only ones which can be entered directly; to play Bohlen-Pierce you need to program in the frequencies yourself)
06:55:26 -!- zzo38 has quit (Remote host closed the connection).
07:07:45 <Ilari_antrcomp> Sightly esoteric way to represent normal note frequencies: f = 440 * 2
07:07:54 <Ilari_antrcomp> Sightly esoteric way to represent normal note frequencies: f = 440 * 2^(x/12).
07:23:25 -!- cheater99 has quit (Ping timeout: 245 seconds).
07:37:25 <coppro> wonderful. It has just occurred to me that I am probably one of the 10, maybe 5 people in the world most familiar with a new C++ feature.
07:38:43 <coppro> also, what happened to everyone's favorite Internet girl*?
07:39:16 <coppro> *Internet girl is an established gender, generally recognized as sharing relatively few elements with female
07:51:17 <augur> help :(
07:53:24 <coppro> help?
07:53:30 -!- augur has quit (Remote host closed the connection).
07:53:40 -!- augur has joined.
07:53:52 <Sgeo_> I hate Flash-reliant websites
07:54:01 <Gregor> He could se his impending interwebs disconnection.
07:54:21 <Gregor> *see
07:54:37 <Ilari> Yeah, ran onto website that had electric version of some magazine. Used Flash, not PDFs.
07:54:47 <coppro> hate those
07:54:50 <coppro> die scribd die
07:56:38 <Ilari> Also, One shop had its catalogs only "available" as Flash on Web (why the hell they couldn't put PDFs)?
07:57:41 <Ilari> Of course, standard HTML would be even better...
07:58:20 <Ilari> With no javashit of course...
07:58:59 <coppro> XHTML > HTML
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:43 <Sgeo_> Time for me to go to sleep
08:19:51 <Ilari> T-shirt with text "5 > 2". Anyone gets the reference? :-)
08:24:48 -!- MigoMipo has joined.
08:27:10 <coppro> unfortunately not
08:28:58 <Ilari> Hint: XHTML...
09:02:08 -!- HackEgo has quit (Remote host closed the connection).
09:02:08 -!- EgoBot has quit (Remote host closed the connection).
09:02:10 -!- HackEgo has joined.
09:02:12 -!- EgoBot has joined.
09:19:47 -!- Phantom_Hoover has joined.
09:22:55 <Phantom_Hoover> CakeProphet, there?
09:23:27 -!- atrapado has quit (Quit: Ex-Chat).
09:23:48 -!- FireFly has joined.
09:29:03 <oklopol> "<alise> i'm listening" <<< predicting the future only works if you don't tell the people involved
09:29:13 <oklopol> oh wait i guess telling the conclusion is as bad as telling why
09:29:26 <Phantom_Hoover> It doesn't.
09:29:36 <Phantom_Hoover> You can have self-fulfilling prophesies.
09:35:06 <oklopol> not in the series i watch
09:36:51 <oklopol> actually i was just thinking about time travel in cayley graphs
09:39:50 <Phantom_Hoover> ...How?
09:52:16 -!- lament has joined.
09:59:57 <oklopol> err well see i first take an element g of infinite order that commutes with all the others and then i create rows H, gH, g^2H, ... containing all products with g with others, i consider one of these rows a point in time, time travel is when an element is repeated in a later row
10:00:09 <oklopol> i'm trying to find a way to do a thing, but cayley graphs are so fucking general
10:05:07 -!- lament has quit (Ping timeout: 240 seconds).
10:24:46 -!- oerjan has joined.
10:25:00 <Phantom_Hoover> oerjan!
10:25:16 <oerjan> Spirit_Sucker!
10:26:25 <Phantom_Hoover> Indeed!
10:27:22 <oklopol> one of my piano keys is broken :((
10:27:30 -!- BeholdMyGlory has joined.
10:27:45 <Phantom_Hoover> oklopol, why?
10:28:00 <oklopol> because a tile fell off the ceiling :\
10:28:37 <oerjan> so there is a war between your ceiling and your piano, got it.
10:28:51 <Phantom_Hoover> That seems TV Burpesque.
10:29:00 <oerjan> you should check your ceiling for strange vibration damage.
10:29:19 <Phantom_Hoover> "Well, I like the ceiling, but I like the piano. but which is better?"
10:29:33 <Phantom_Hoover> My shift key seems to be defective.
10:29:47 <oklopol> it's the piano that should be jealous of the tiles and not the other way around, i've been doing tilings and not played the piano at all for the past month
10:29:53 <Gregor> oklopol: How vital of a key?
10:30:07 <Phantom_Hoover> Ooh, replace it with a keyboard key.
10:30:11 <oerjan> oklopol: ah.
10:30:15 <oklopol> a rather low Eb
10:30:34 <Phantom_Hoover> Glue an E to a B and replace it.
10:30:38 <oerjan> Gregor: HackEgo is seriously broken, unless you've just fixed it.
10:30:40 -!- KingOfKarlsruhe has joined.
10:30:47 <Gregor> oerjan: It reset because I fixed it.
10:30:48 <Gregor> `ls
10:30:49 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.27406 \ wunderbar_emporium
10:30:51 <oklopol> i mostly play atonal stuff
10:30:52 <oerjan> ah
10:31:02 <oklopol> wel
10:31:04 <oklopol> l
10:31:06 <oerjan> `quotes
10:31:07 <HackEgo> No output.
10:31:12 <oerjan> `quote
10:31:12 <Gregor> `quote
10:31:13 <oklopol> even if i didn't, i don't know what keys are more vital than others
10:31:14 <HackEgo> 102|<Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
10:31:28 <HackEgo> 33|IN EINEM ALTERNATIVEN UNIVERSUM (WO DIE NAZIS WON): <ehird> So kann ich nur schliessen, dass es falsch ist, oder die Welt ist vollig BONKERS. Gegrusset seist du der Fuhrer Hitler!
10:31:52 <oerjan> and where german is completely mangled
10:31:57 <oklopol> i guess i use the white keys more
10:32:03 <Gregor> oerjan: Naturally.
10:32:12 <KingOfKarlsruhe> what does "WON" mean?
10:32:15 <oerjan> maybe that's why the nazis won, the english couldn't decipher german codes
10:32:20 <KingOfKarlsruhe> "wohnen"?
10:32:36 <oklopol> not because it's easier or anything, i just can't stand keys of different color than my own
10:33:04 <Phantom_Hoover> Perhaps Turing gave up because of everyone saying "what the hell is the point of TCness?"
10:33:27 <oerjan> KingOfKarlsruhe: isn't it wonnen? i guess you're joking.
10:33:32 <oklopol> gewinnen
10:33:46 <KingOfKarlsruhe> oerjan: you mean "gewonnen haben"
10:33:50 <oerjan> oh the ge- is on all forms?
10:34:00 <Gregor> oerjan: The office next to mine had "THE BRO-OFFICE" written on the whiteboard. So I modified it into "THE BROFFICE". Thinking of the diaresis mark as an umlaut made me consider finding the closest German analogue for that phrase and replacing it, but then I got lazy :P
10:34:06 <oerjan> whatever, my german is rusty
10:34:44 <oklopol> oerjan: yes
10:34:56 <oerjan> Gregor: what does BRO- mean
10:35:08 <oklopol> office for black people
10:35:15 <Gregor> Presumably "of brothers"? Except in the "bro" sense of "brothers"
10:35:15 <oerjan> ...right
10:35:23 <Gregor> And with two extremely white people in it :P
10:36:00 <Gregor> Also if it starts with "DIE" then I have to be careful that I don't write it in that order in case I'm interrupted right after I write "DIE" on somebody's whiteboard :P
10:36:48 <oerjan> Gregor: i sometimes get startled by my watch on late tuesday/early wednesday
10:37:27 <oerjan> it has 3-letter english day names, except when changing in the night it briefly passes through the german alternatives
10:37:39 <oklopol> what
10:37:42 <oklopol> :D
10:37:48 <oklopol> dienstag
10:38:01 <oerjan> yeah
10:38:08 <oklopol> but why
10:38:23 <Gregor> lawl
10:38:29 <oerjan> i presume there's a way to set it to use the german ones
10:38:36 <Gregor> It's the middle of the night and suddenly your watch is making threatening remarks.
10:38:45 <oerjan> exactly!
10:40:22 <Phantom_Hoover> Why are old languages always hideous?
10:40:57 <oklopol> old things always are, otherwise what would be the point of future
10:41:15 <Gregor> oklopol: ... no.
10:41:19 <Gregor> Just no.
10:41:26 <Gregor> I have no further comments on that "no". Just no.
10:41:27 <oerjan> LINGUAE SENILES NOT SUNT HIDEOSAE!
10:41:29 <oerjan> *NON
10:41:48 <oklopol> Gregor: okay, could you elaborate
10:41:50 * oerjan has no idea whether two of those words are correct
10:42:43 <oerjan> oklopol: no, he said!
10:43:14 * oerjan almost, but not quite, manages to remember what office is in german
10:43:16 <oklopol> the idea is, if you're in the past then you make ugly things, if you're in the present, you make normal looking things, and if you're in the future you make awesome shiny things
10:43:31 <oklopol> so that people in the present (us) would have the perfect spot
10:43:43 <oklopol> something to look for, but still a past we can laugh at
10:44:43 <oerjan> oklopol: actually people in the present make strange dysfunctional things. at least that was my conclusion when visiting an art museum with my father the day before yesterday
10:45:33 <oerjan> (it was "crafty" arts too, or whatever it's called, so the old things were actually useable items)
10:47:02 <oerjan> but in the modern section there was a lot of ... weird stuff
10:47:13 <oklopol> was it future stuff?
10:47:26 <oerjan> might as well have been
10:48:08 <oklopol> my gf is leaving for a month to go museum surfing in sweden
10:48:22 <oerjan> heh
10:48:43 <oklopol> which is perfect because now i can just do math 24/7 and go insane
10:49:15 <oerjan> don't go all gödel on us, here
10:49:27 <oklopol> :DSFDASfADSFADSFADSFADF
10:50:17 <oerjan> (you know he starved to death after his wife died because he thought everyone else was trying to poison him)
10:50:33 <oklopol> oh he was that dude
10:50:49 <oklopol> i eat hamburgers off the street, i don't think i'll have that problem
10:50:55 <oklopol> well okay i don't but i might
10:52:06 <oerjan> oh hm she didn't die she was in hospital
10:52:30 <oklopol> well i just remember gdel+poison
10:52:48 <oklopol> i once read this book or two about mathematicians when i was a kid but i can't remember history
10:55:43 <oerjan> <alise> ais523: "There exists a function UTM_P: UTM -> P such that interp_P(UTM_P(x)) = UTM(x) for all x"
10:56:10 <oerjan> the function needs to be computable, otherwise you get almost everything
10:56:25 <oerjan> also you may need a postprocessing function as well
11:01:12 <oerjan> <olsner> aha, and phantom_hoover has left so I have no one to reply to the reply to <-- doomed never to meet again!
11:02:40 <oerjan> <alise> The honeycomb conjecture states that a regular hexagonal grid or honeycomb represents the best way to divide a surface into regions of equal area with the least total perimeter. Mathematician Thomas C. Hales proved the conjecture in 1999 with revisions in 2001.
11:02:44 <oerjan> oh that late?
11:03:04 * oerjan thought it was an old easy variation of kepler's problem...
11:03:42 <oerjan> except i guess that is a bit stronger than if you already have decided on spheres, that may still be easy
11:03:49 <oerjan> *circles
11:06:24 <oerjan> <alise> (so some people consider it "not completely rigorous" but they're full of baloney)
11:07:03 <oerjan> on the plus side i recall he started a project to get the proof computer verified
11:10:34 -!- tombom has joined.
11:12:11 <oerjan> <alise> probably not oerjan's finest moment in language design <-- actually if you count the fact i actually got around to implementing it...
11:12:49 <oklopol> :D
11:15:43 <oerjan> 19:40:03 <lament> apparently oerjan's suggestion was CHIQRS9+
11:15:43 <oerjan> 19:40:17 <lament> and then the author of HQ9+ suggested to add X
11:16:05 <oerjan> i don't quite recall, however i'll point out that the choice of implementation for X was mine alone
11:19:47 <oerjan> 20:00:24 <alise> 12:12:48 <oerjan> oklopol: hard to say. i have a theory that alise is the next zzo38.
11:19:51 <oerjan> 20:00:24 <alise> i'm listening
11:21:29 <oerjan> you clearly consider zzo38 awesome, _and_ you are constantly considering reimplementing your own version of stuff. Q.E.D.
11:24:36 -!- tombom has quit (Read error: Connection reset by peer).
11:24:45 -!- tombom has joined.
11:25:00 <oerjan> 22:17:30 <augur> christ maryland is a police state
11:25:00 <oerjan> 22:17:30 <augur> 6 cops had people pulled over in the same one mile stretch of road, with a 7th cop in the shadows waiting to pounce
11:25:57 <oerjan> actually that sounds like it might be a good idea to do occasionally, i'm sure there are car owners driving above the speed limit who count on not being pulled over because someone in front of them is doing the same thing and would be taken first...
11:26:21 <oerjan> assuming you don't consider enforcing speed limits to be a police state in itself
11:26:38 <Gregor> A police state is a state with police in it.
11:26:43 <Gregor> The only true freedom is anarchy.
11:26:44 <Gregor> :P
11:27:32 <oerjan> Gregor: it is not particularly wise to define police state in such a way that almost all people would prefer to live in one
11:27:41 <oerjan> (yeah i noticed the :P)
11:27:55 -!- cheater99 has joined.
11:28:27 <oklopol> people aren't free in anarchy either, they also have to have no clue what's going on, like maybe strapped to a bad with constant lcd injections
11:28:33 <oklopol> *bed
11:28:35 <oklopol> that's freedom
11:29:08 <cheater99> alise: OK!!!!!!!
11:29:32 <oerjan> so to counter that, a perfect society would be one where you could know everything that was going on and still be happy
11:30:07 <oklopol> but i'm the only one in the world who thinks smart people can be happy
11:30:38 <oklopol> clearly i can't be the only one who's... or actually nm
11:30:50 <Gregor> The perfect society is one in which the media constantly placates the people into believing they're in a perfect society.
11:30:53 <Gregor> GOD. BLESS. AMERICA.
11:31:09 <oerjan> yeah countless philosophers have thought the opposite <thin-air-estimate>
11:31:35 <oklopol> yes like alise
11:39:33 <Phantom_Hoover> Hi everyone!
11:42:33 <oklopol> i need a better mouse
11:44:05 <Phantom_Hoover> Get a cat.
11:44:20 <Phantom_Hoover> They have a habit of bringing in a wide variety of mice.
11:44:39 <oklopol> I THINK YOU MAY HAVE MISUNDERSTOOD ME
11:44:57 <Phantom_Hoover> AND YOU MISUNDERESTIMATED ME.
11:44:58 -!- FireFly has quit (Quit: swatted to death).
11:47:51 -!- BeholdMyGlory has quit (Remote host closed the connection).
11:48:05 <oklopol> uorygl: onko Phantom_Hoover sinunkin mielestsi hlm
11:48:56 <Phantom_Hoover> Please just insult me in front of my face.
11:49:02 <oklopol> i did!
11:49:10 <Phantom_Hoover> Yeah, thanks.
11:49:24 <oklopol> we have our own secret language
11:49:29 <Phantom_Hoover> Called Finnish.
11:49:54 <oklopol> maybe, i'll never tell
11:50:03 <Phantom_Hoover> Google translate rather agrees.
11:50:06 <oklopol> :)
11:50:18 <Phantom_Hoover> And it's unlikely that Finnish would be mistakeable for something else.
11:50:37 -!- MigoMipo has quit (Remote host closed the connection).
11:50:39 <oklopol> well i do agree but i'm not sure my opinion counts
11:51:42 <Phantom_Hoover> I had something to say but I forgot it.
11:51:51 <oklopol> i have nothing to say but i'm gonna say it anyway
11:52:26 <oklopol> i thought streaming would make life easier than torrenting but i'm seriously considering going back
11:53:38 <oklopol> or buying a megavideo account, there's a million streaming services and they're the only one you can actually count on
11:53:45 -!- oerjan has quit (Quit: Later).
11:53:57 <Phantom_Hoover> Noerjan?
11:54:31 <oklopol> maybe i'll insult oerjan now
11:54:32 <oklopol> let's see...
11:54:54 <oklopol> uorygl: eix ollu aika lol ku oerjan lhti hei
11:55:16 <oklopol> i need to learn more languages
11:55:47 <oklopol> also that didn't really insult oerjan, actually i have no idea what it meant
11:55:48 <Phantom_Hoover> Baah, Google doesn't help very much.
11:56:02 <oklopol> "hey wasn't it pretty lol when oerjan left"
11:56:31 <oklopol> i should not let things out unfiltered
11:58:04 -!- Gregor has quit (Quit: Leaving).
11:58:21 <Phantom_Hoover> Like flies!
11:58:24 <Phantom_Hoover> They drop!
11:58:31 <oklopol> MWAHAHA
12:24:03 <Phantom_Hoover> Baah, why is no-one interested in the TreeVM?
12:26:29 <jabb> TreeVM?
12:28:00 <Phantom_Hoover> A VM that operates on a tree as the fundamental data structure.
12:29:27 <Phantom_Hoover> Me and CakeProphet were working on it yesterday.
12:30:16 -!- tombom has quit (Quit: Leaving).
12:31:42 * Phantom_Hoover decides to switch to KDE again.
12:31:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
12:32:00 <oklopol> wow
12:32:08 <oklopol> i've only played like 250 games of minesweeper on this computer
12:32:23 <oklopol> and there was actually a slight inference i needed to make during the last game :O
12:33:01 <jabb> Phantom_Hoover: link?
12:33:03 <oklopol> by which i mean this isn't a puzzle game
12:34:06 -!- Phantom_Hoover has joined.
12:34:23 <jabb> Phantom_Hoover: link?
12:34:26 <Phantom_Hoover> It doesn't work for some reason.
12:34:35 <Phantom_Hoover> jabb, it's in yesterday's logs.
12:34:48 <Phantom_Hoover> http://tunes.org/~nef/logs/esoteric/?C=M;O=D
12:34:54 <Phantom_Hoover> Then select the second entry.
12:35:05 <Phantom_Hoover> Do a text search for "tree".
12:51:24 <Phantom_Hoover> Blargh, I need to fix my packages.
12:57:44 <CakeProphet> :o
12:57:59 <CakeProphet> Phantom_Hoover: Hallo
12:58:05 <Phantom_Hoover> Yay!
12:58:20 <Phantom_Hoover> Trees.
12:58:35 <Phantom_Hoover> So have you had any ideas for the language?
13:03:41 <CakeProphet> ....none
13:03:56 <CakeProphet> ..
13:04:03 * CakeProphet is very tired and baked?
13:09:38 <Phantom_Hoover> baked?
13:09:44 <Phantom_Hoover> What time is it for you?
13:10:09 <Phantom_Hoover> Wait, you weren't the guy who'd been up for about 3 days, were you?
13:22:52 <jabb> It's 5:22am here
13:23:03 <Phantom_Hoover> It's 1:22 here.
13:23:08 <Phantom_Hoover> PM, if it's unclear.
13:25:01 <oklopol> where i live time doesn't exit
13:25:03 <oklopol> *exist
13:25:42 <Phantom_Hoover> How can you communicate with us, then?
13:25:49 <oklopol> oh umm
13:26:18 <oklopol> well err
13:38:09 -!- Gregor has joined.
13:38:18 <oklopol> hi Gregor finally you came
13:38:24 <Gregor> Wooh airport
13:38:30 <Phantom_Hoover> Airport!
13:38:33 <Phantom_Hoover> ```
13:38:34 <HackEgo> No output.
13:38:35 <oklopol> airport <3
13:38:44 <Phantom_Hoover> Zeppelin!
13:38:57 <Phantom_Hoover> Zeppelins are probably the coolest things ever.
13:39:20 <jabb> Led Zeppelin?
13:39:47 <oklopol> no the lighter ones that can fly
13:40:03 <Phantom_Hoover> Although lead balloons can fly.
13:40:07 <Phantom_Hoover> Mythbusters.
13:40:18 <oklopol> heh
13:40:31 <oklopol> not exactly very surprising
14:00:27 -!- Gregor has quit (Ping timeout: 252 seconds).
14:06:26 <cheater99> lead balloons?
14:10:06 <Phantom_Hoover> Balloons. Made of lead.
14:10:15 <Phantom_Hoover> It does exactly what it says on the tin.
14:12:21 -!- MizardX has joined.
14:18:27 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
14:19:09 <cheater99> haha
14:44:02 * Phantom_Hoover is desperately trying to find a situation in which he can call JavaScript communist.
14:44:13 <Phantom_Hoover> Since its object system is classless.
14:54:21 <olsner> looks like you've found it
14:55:46 <olsner> Phantom_Hoover: btw, you wondered what my compiler compiled? it compiles a small language I made (not a very esoteric one though, mostly kind of ordinary)
14:56:23 <Phantom_Hoover> Esoteric is overrated.
14:57:18 <olsner> nah, I think it is pretty justly rated
14:57:22 -!- alise has joined.
14:57:28 <alise> 'Artographer.
15:00:00 <Phantom_Hoover> olsner, what's the language like?
15:02:02 <olsner> Phantom_Hoover: mostly C:ish, but with modules and some differences in the syntax for types
15:02:20 <Phantom_Hoover> Hmm.
15:02:22 <alise> olsner: Oh, is this that M++ thing?
15:02:41 <olsner> well, based on the same ideas, but not really
15:03:02 <Phantom_Hoover> M++?
15:03:13 <alise> <Phantom_Hoover> olsner, what's the language like?00:28:58 <Ilari> Hint: XHTML...
15:03:13 <alise> wat
15:03:14 <olsner> this is like the fourth time I've started making something like that, but only this time it ended up as a compiler that can actually do anything
15:03:19 <alise> Phantom_Hoover: some thing olsner wrote two posts about on his blog then gave up on
15:03:25 <alise> *newline before 00:28:58 <Ilari>
15:03:56 <olsner> in particular, I've dropped all the "++" parts to make it easier to get somewhere
15:04:17 <alise> well, dropping the ++ part from C++ gives you a vastly superior language
15:04:19 <alise> so good idea
15:04:29 <Phantom_Hoover> What's wrong with ++?
15:04:31 <alise> olsner: make sure to stray far away from D territory; it is a failure and an abomination, so don't repeat it.
15:04:36 <alise> Phantom_Hoover: C++ is an abhorrent language
15:04:58 <Phantom_Hoover> Oh, you weren't expressing some strange dislike for the post- and pre-decrement operators.
15:04:59 <alise> 02:30:38 <oerjan> Gregor: HackEgo is seriously broken, unless you've just fixed it.
15:04:59 <alise> 02:30:40 --- join: KingOfKarlsruhe (~nice@p5B14D8B0.dip.t-dialin.net) joined #esoteric
15:04:59 <alise> 02:30:47 <Gregor> oerjan: It reset because I fixed it.
15:05:02 <alise> YAY SEXY TIME
15:05:12 <alise> Someone find the `addquotes we've done in the meantime
15:05:27 <olsner> aha, where did D go in particular that was bad?
15:05:50 <Phantom_Hoover> Googling "M++" gives something weird which seems to involve both Unix and sharks.
15:06:58 <Phantom_Hoover> Wait, isn't C a subset of C++? In the sense that a valid C program is also a valid C++ program?
15:07:14 <olsner> only *almost*
15:07:36 <Phantom_Hoover> I mean, there's some mad stuff, like references.
15:09:56 <Phantom_Hoover> Anyway, is there a link to a spec, olsner?
15:09:56 <olsner> well, in terms of the sets of valid programs, there are many valid C programs that are not valid in C++
15:10:55 <olsner> nah, not really, but I might write one eventually :)
15:11:05 <Phantom_Hoover> Example code?
15:13:41 <alise> 02:34:00 <Gregor> oerjan: The office next to mine had "THE BRO-OFFICE" written on the whiteboard. So I modified it into "THE BROFFICE". Thinking of the diaresis mark as an umlaut made me consider finding the closest German analogue for that phrase and replacing it, but then I got lazy :P
15:13:50 <alise> I love diaereses <3
15:13:54 <alise> <olsner> aha, where did D go in particular that was bad?
15:13:56 <alise> Everywhere.
15:14:09 <alise> Phantom_Hoover: e.g. int *x = malloc(butt)
15:14:18 <Phantom_Hoover> Wait, what?
15:14:26 <alise> Phantom_Hoover: no implicit casting from void * in C++
15:14:26 <Phantom_Hoover> What is butt?
15:14:29 <alise> anything
15:14:40 <alise> olsner: It tries to be everything: it has (specified) laziness, closures, templates that border on macros, ...
15:14:59 <alise> olsner: In being all this, the actual underlying C++-esque language is very drab and boring without much insightful design; the rest is simply heaped on.
15:15:21 <Phantom_Hoover> Heaping stuff on is a respected design principle!
15:15:28 <alise> olsner: There's also the fact that getting the toolchains to work is actually the hardest thing to do in the language -- and of any language -- but that's not about the language.
15:15:36 <Phantom_Hoover> Albert Einstein himself praised its simplicity!
15:16:10 <alise> (Seriously: To get the latest-stuff-that-actually-works, you have to compile LLVM yourself, then fiddle with CMake settings endlessly, then run the right script to compile Tango, make sure you don't specify D2, sometimes you have to do this in seperate stages, and /then/ you have to manually install the files.)
15:16:14 <alise> (And even then it only works sometimes.)
15:17:14 <alise> 02:40:22 <Phantom_Hoover> Why are old languages always hideous?
15:17:16 <alise> Lisp is not hideous.
15:17:24 <alise> And Lisp is one of THE oldest languages.
15:17:31 <alise> What predates it... hmm, Fortran. That's about it.
15:17:47 <Phantom_Hoover> Lisp is an exception.
15:17:56 <alise> Phantom_Hoover: Algol isn't so ugly.
15:17:56 <Deewiant> alise: Or, you can download the Tango bundle and untar it. :-P
15:18:17 <olsner> example code (BF interpreter): http://paste.cplusplus.se/paste.php?id=11910
15:18:17 <alise> Phantom_Hoover: Also, Pascal isn't so ugly.
15:18:25 <Phantom_Hoover> The thing that gets me is mainly the p
15:18:27 <alise> Phantom_Hoover: Basically: Lisp, and anything Niklaus Wirth touched, isn't ugly.
15:18:37 <Phantom_Hoover> POINTLESS ALL CAPS
15:18:43 <Deewiant> You also haven't had to compile LLVM yourself since LLVM 2.6.
15:18:52 <alise> THAT WAS NOT POINTLESS; THAT WAS A SIDE-EFFECT OF LIMITATIONS OF THE CHARACTER SETS BACK THEN.
15:19:00 <alise> Deewiant: Okay then: it USED to be flaming death, now it's just partly flaming death.
15:19:13 <Phantom_Hoover> IT'S STILL UGLY.
15:19:27 <Deewiant> At any point in time since, I don't know, 2008 maybe, there have been Tango bundles.
15:19:47 <alise> Phantom_Hoover: WELL, NOT EVERY LANGUAGE DID THAT. INDEED ALGOL 68, BLOATED BEAST THAT IT WAS, DEFINED THINGS ABSTRACTLY WITH UNDERLINES AND LOWERCASE TEXT -- AND SPECIFIED THAT IMPLEMENTERS MUST MAKE THIS WORK; THE MOST COMMON STRATEGY WAS UPPERCASE + PUNCTUATION MARKS.
15:19:59 <alise> (YOU COULD USE RESERVED WORDS AS VARIABLE NAMES BECAUSE THEY WOULD BE SET AS VARIABLES, NOT AS UNDERLINED KEYWORDS.)
15:20:08 <alise> Deewiant: But binaries are meh :P
15:20:29 <Deewiant> alise: If you insist on building from source, don't be surprised if it gets tricky. :-P
15:20:55 <alise> I'll just let pikhq continue this debate, he hates the D toolchain mess even more than me
15:21:03 <alise> pikhq pikhq pikhq (if you call his name thrice he appears)
15:22:18 <Deewiant> How much of a mess you end up in depends mostly on the project you want to build, I suppose
15:22:19 <Phantom_Hoover> How inefficient.
15:22:31 <Deewiant> If you're just starting to code something it's not at all bad.
15:22:34 <Phantom_Hoover> He should try to get it down to at most 2.
15:23:52 <Phantom_Hoover> Has E been invented?
15:24:14 <Deewiant> I'm pretty sure there's a language called E.
15:24:15 <Phantom_Hoover> Dammit, yes.
15:24:17 <alise> Yes.
15:24:22 <alise> It's a capability-based language thing. Quite nice.
15:24:25 <Phantom_Hoover> And F...
15:24:27 <Deewiant> There's only a few letters that haven't been taken.
15:24:46 <Phantom_Hoover> H?
15:25:28 <Phantom_Hoover> Damn.
15:25:35 <Phantom_Hoover> Hmm...
15:25:43 <Phantom_Hoover> What about ?
15:26:06 <Phantom_Hoover> Bonus points because people will confuse it with B.
15:26:44 <Deewiant> A G H I N O P X
15:26:54 <Deewiant> Based on some quick Google-checking.
15:27:09 <Phantom_Hoover> Ooh, X seems nice.
15:27:35 <Deewiant> There's X++, but not X. :-P
15:29:07 <Phantom_Hoover> Is X++-- sensible?
15:29:11 <alise> Dibs on the entire greek alphabet
15:29:15 <Phantom_Hoover> Or --X++?
15:29:31 <Phantom_Hoover> Dibs on Cyrillic!
15:29:31 <Deewiant> alise: Lambda's taken :-P
15:29:50 <Phantom_Hoover> And all Asian scripts.
15:30:03 <Phantom_Hoover> And various scripts for conlangs.
15:30:39 <alise> the greek alphabet is great because literally every single character is pretty except capital xi
15:30:59 <Phantom_Hoover> Wait, can I have capital xi?
15:31:23 <alise> Ξ
15:31:26 <alise> Do you really want it?
15:31:32 <Phantom_Hoover> Hmm.
15:31:33 <Deewiant> I don't know, I think capital omicron is a bit boring
15:31:51 <Phantom_Hoover> I'll give you the Kanji for lowercase xi and zeta.
15:32:03 <alise> Absolutely not.
15:32:05 <alise> Zeta is beautiful.
15:32:13 <alise> Deewiant: Boring, perhaps, but not inelegant.
15:32:14 <Phantom_Hoover> OK, just lowercase xi.
15:32:28 <Phantom_Hoover> Uppercase xi has a certain charm when serif.
15:32:29 <alise> "The upper-case letter of omicron (O) was originally used as a symbol for Big O notation,"
15:32:32 <alise> Like you'd notice that.
15:32:36 <alise> Phantom_Hoover: Definitely not lowercase Xi.
15:32:41 <alise> You know what? These letters aren't for sale.
15:32:41 <Phantom_Hoover> It's serious business.
15:32:45 <alise> You can't sell dibs.
15:32:47 <Deewiant> alise: I don't find it particularly pretty.
15:32:50 <Phantom_Hoover> Swapsies?
15:33:10 <alise> Deewiant: Okay, then: Every other letter. And don't say "not the uppercase ones that are equivalent to Latin ones" because they're only boring because they're familiar.
15:33:16 <Phantom_Hoover> Hmm, I also call the Talking Leaves.
15:33:18 <alise> And Greek text, in general, looks gorgeous.
15:33:27 <Deewiant> alise: I wasn't going to.
15:34:12 <Phantom_Hoover> Can I have theta?
15:34:20 <alise> No.
15:34:28 <oklopol> okay this is interesting, when playing minesweeper, i can't simultaneously solve another problem EXCEPT if i do all the inference speaking out loud
15:34:45 <Phantom_Hoover> I'll give you most of the conlangs.
15:35:01 <oklopol> so maybe natural languages do have some use
15:35:02 <alise> The only flaw of the greek alphabet is... that lowercase upsilon and nu are very slightly confusable? Dunno.
15:35:06 <alise> Not really.
15:35:10 <oklopol> or at least languages
15:35:23 <alise> Well... the way χ hangs below the baseline is strange.
15:35:50 <Phantom_Hoover> It also represents a weird sound, at least in the IPA.
15:36:00 <alise> "the IPA"? You're strange.
15:36:10 <Phantom_Hoover> Yes, I know.
15:36:10 <Deewiant> Why's that strange?
15:36:30 <alise> http://scripts.sil.org/cms/sites/nrsi/media/Gentium_home_5.png i just want to stare at this all day
15:36:31 <oklopol> hmm, i wonder if i could solve a problem, watch a tv series and play minesweeper simultaneously
15:36:35 <alise> Deewiant: because IPA is usually treated as... a unit
15:36:42 <Deewiant> And that's not a weird sound :-P
15:36:49 <Phantom_Hoover> Incidentally, I call the obsolete Greek characters.
15:36:59 <Phantom_Hoover> And stigma, heta and sho.
15:37:05 <alise> Someone set Euclid's Elements (at least the first book) in Gentium nicely and I will love them forever
15:37:14 <alise> Phantom_Hoover: Ah ah ah, I still consider them part of the Greek alphabet
15:37:18 <alise> I already called them. BITCH
15:37:21 <alise> Aaaalll mine
15:37:23 <Deewiant> alise: "The IPA" is grammatically correct, "IPA" alone isn't.
15:37:37 <Phantom_Hoover> I consider zeta outside the Greek alphabet, then.
15:37:44 <Phantom_Hoover> Oh, wait.
15:37:46 <alise> Deewiant: I don't care, I also consider "ATM machine" acceptable for instance.
15:37:48 <Phantom_Hoover> I know.
15:37:51 <alise> I don't read acronyms as their expansions :P
15:37:56 <Phantom_Hoover> I call the modern Greek alphabet.
15:38:01 <alise> Phantom_Hoover: I already called it.
15:38:03 <oklopol> guys, no one cares about YOUR discussion, just join mine
15:38:04 <alise> Just get over it
15:38:08 <Deewiant> alise: If you just don't care, then don't consider it "strange" to do it correctly :-P
15:38:20 <Phantom_Hoover> OK, fine.
15:38:23 <oklopol> actually i don't care about either one ->
15:38:35 <Phantom_Hoover> I own the constructed scripts, so I can just make up letters.
15:38:51 <alise> Deewiant: I believe it perfectly correct to consider acronyms as atomic objects, not their expansions.
15:39:17 <Phantom_Hoover> Of course.
15:39:26 <Phantom_Hoover> But "the IPA" isn't strange.
15:39:41 <Deewiant> I sometimes read acronyms as their expansions, so I prefer the phrasing to be valid for that as well.
15:39:42 <Phantom_Hoover> "IPA" is still in need of an article.
15:40:04 <oklopol> alise: what's ATM machine?
15:40:19 <Phantom_Hoover> Automatic Teller Machine Machine.
15:40:23 <oklopol> okay
15:40:32 <Phantom_Hoover> Why not just call it an AT machine?
15:40:42 <Deewiant> Because it's called an ATM.
15:40:49 <Phantom_Hoover> You have a totally superfluous syllable.
15:41:05 <Phantom_Hoover> OK, so why add the machine to the end?
15:41:06 <oklopol> wasn't sure because alternating turing machine machine works too
15:42:08 <oklopol> (i know what the other atm is but i didn't know what it was short for)
15:42:42 -!- sebbu has quit (Ping timeout: 248 seconds).
15:43:18 <alise> [Quod Libet fails on me]
15:44:35 <Phantom_Hoover> "Because he/she/it "... I'm not sure what "libet" means.
15:45:21 <alise> quodlibet means "what pleases"
15:45:35 <alise> usually seen in "ex falso quodlibet", "from falsehood, follows what pleases"
15:45:42 <Phantom_Hoover> I fail at Latin, I think.
15:45:49 <alise> as do I
15:45:53 <alise> anyway Quod Libet is just a music player.
15:46:01 <Phantom_Hoover> I shouldn't fail at it, since I have done EXAMS.
15:46:21 <alise> So, guys, I need a suggestion for an audio library thing to play various audio formats programmatically.
15:46:31 <alise> Not GStreamer; GObject crap and iirc it's not gapless or something if you play multiple files.
15:46:38 <alise> Not Xine; Xine is shit.
15:46:39 <alise> Perhaps libvlc?
15:46:42 <oklopol> well if you fail at exams, you fail at the subject, if you pass the exams, either you don't fail at the subjects or the exams fail at the subject
15:46:51 <alise> Anyone used it? Apparently ffmpeg has an example that uses SDL to do the actual audio but ffmpeg to decode?
15:47:16 <Phantom_Hoover> Real programmers don't listen to music.
15:47:31 <Phantom_Hoover> The hum of the cooling fan is music to their ears.
15:47:38 <Deewiant> By "various audio formats" I guess you mean "typical audio formats"
15:47:47 <alise> What if they're silent PC obsessives and their cooling fan is inaudible?
15:48:06 <Phantom_Hoover> Then they enjoy the silence.
15:48:06 <alise> Deewiant: FLAC, Vorbis, MP3 (it's okay if you have to enable some silly switch), AAC at least
15:48:23 <Deewiant> Aye, so typical.
15:48:30 <alise> Yes.
15:48:43 <alise> I wish to write a music server, you see.
15:48:52 <alise> MPD and XMMS2 have the flaw that I didn't write them.
15:48:55 <Phantom_Hoover> How does it serve music?
15:49:05 <Deewiant> You people and your NIH syndromes.
15:49:33 <Phantom_Hoover> Expand NIH.
15:49:40 <Deewiant> Not Invented Here.
15:49:58 <Phantom_Hoover> Ah.
15:50:32 <alise> Phantom_Hoover: A music server is a server that handles playing various subsets of a collection of music, while clients provide the interface and other functionality.
15:50:46 <Phantom_Hoover> Ah.
15:50:57 <alise> For instance, something that scrobbles played tracks to last.fm would be its own little daemon that connects to the music server, sets up a hook for the NewTrackStartedPlaying event or similar, and sends the info, while another client handles the actual user interaction.
15:51:05 <alise> Or you could have a command that works like "music stop", "music skip", etc.
15:51:13 <alise> (And Deewiant: yes, I'm aware you should wait until half-way to scrobble a track)
15:51:15 <alise> *track.)
15:51:20 <Phantom_Hoover> Why separate the server and the client if it's for personal use?
15:51:36 <Deewiant> You can connect to it from different machines (more) conveniently.
15:51:43 <alise> Deewiant: Not for me, that's not my reason.
15:52:09 <alise> Greater extensibility: I may want to say "music skip" even if I normally use another client; the Unix philosophy is better, one tool for one job, and this enables it (see e.g. the last.fm client); if I'm going to write something, I should write it correctly, and the GUI should not be bundled with the actual player;
15:52:18 <alise> and it allows usage across different desktop environments and so on.
15:52:26 <alise> Plus if the GUI app crashes or has some problem it doesn't interrupt your music.
15:53:06 <Phantom_Hoover> So the server deals with actually getting the music out of the speakers?
15:53:55 <Deewiant> The server streams to the client, which gets it out of the speakers.
15:53:58 <alise> WTF, OSSv4 devices appear to have disappeared.
15:54:07 <alise> Deewiant: Er... no.
15:54:21 <alise> Deewiant: Are you sure you know how XMMS2/MPD work? Because it's not like that.
15:54:38 <Deewiant> Right, I'm confusing it with shoutcast and whatever.
15:54:59 <Deewiant> I know pretty much nothing of how they work.
15:55:05 <alise> Phantom_Hoover: The server handles maintaining the collection of the music including parsing out their tags, etc., maintaining playlists -- including, say, ones done programatically based on some tags or whatnot -- and getting out of the speakers.
15:55:15 <Phantom_Hoover> My suggestion: get an instrument that you can play with your feet.
15:55:33 <alise> In turn, clients handle displaying what song is playing, letting the user change the song from a nice list, showing an interface to create and view playlists, setting modes like shuffle, etc., and also non-UI clients handle things like interfacing with last.fm and the like.
15:56:55 <Phantom_Hoover> You may also benefit from getting an application that automatically scrolls music across the screen.
15:57:08 <alise> How on earth has OSS just disappeared...
15:57:09 <Phantom_Hoover> Then learn to decouple your eyes and multitask.
15:57:18 <alise> Phantom_Hoover: Your suggestion is rubbish.
15:57:34 <Phantom_Hoover> Tada! You can now look like a complete idiot while listening to music.
15:57:41 <Deewiant> My issues with music players are mostly the supported file formats, so I don't much know or care about most of the other features.
15:57:46 <Phantom_Hoover> True, but it must be funny to watch.
15:58:00 -!- sebbu has joined.
15:59:23 <alise> Deewiant: Heh, what do you use? MPC? WavPack? ...TAK?!
15:59:42 <alise> Wow, you might actually use Musepack.
15:59:47 <alise> That's a scary thought.
16:00:10 <Deewiant> I have a count from late 2007 here: only one .mpc.
16:00:14 <alise> mp3PRO :P
16:00:22 <alise> Deewiant: What, then? .mid?
16:00:23 <Deewiant> It's mostly modules and the like.
16:00:36 <alise> RealAudio?
16:00:37 <alise> Right.
16:00:55 <alise> I see midis and modules and the like as separate from actual audio wave files, so I don't particularly care about supporting them.
16:01:00 <alise> That's fileformatist, sure, but I don't really care.
16:01:00 <Deewiant> .mid, .mod, .s3m, .xm, .it, .gbs, .psf, .snd, .sndh, .ay, .gym, .sap, .sid, .mtm, .spc, ... off the top of my head.
16:01:36 <alise> Holy shit, they made a new Musepack release.
16:01:38 <Deewiant> I want to listen to them, so I don't care what I "see them as", just that they work :-P
16:01:52 <alise> Deewiant: It's not like you'd ever use software I wrote, anyway.
16:02:03 <Deewiant> It's not like you ever finish anything, anyway.
16:02:09 -!- jabb has quit (Ping timeout: 252 seconds).
16:02:53 <alise> Deewiant: I'm deeply offended.
16:03:15 -!- softmoon has joined.
16:03:39 <alise> 02:55:43 <oerjan> <alise> ais523: "There exists a function UTM_P: UTM -> P such that interp_P(UTM_P(x)) = UTM(x) for all x"
16:03:39 <alise> 02:56:10 <oerjan> the function needs to be computable, otherwise you get almost everything
16:03:39 <alise> 02:56:25 <oerjan> also you may need a postprocessing function as well
16:03:39 <alise> yes, true
16:03:43 <Deewiant> .ym is hard to find a player for.
16:03:43 <alise> I was considering something like
16:03:58 <Deewiant> Or easy to find, but it seems a bit random.
16:04:34 <alise> interp_P(UTM_P(x)) -out-> {halts_with(o) => interp_UTM(x) == halts_with(UTM_P_post(o)); hangs => hangs }
16:04:35 <alise> Or something.
16:04:40 <alise> Deewiant: .ym?
16:04:41 <Deewiant> Too bad I have around 400 of them.
16:05:26 <alise> 03:26:38 <Gregor> A police state is a state with police in it.
16:05:26 <alise> 03:26:43 <Gregor> The only true freedom is anarchy.
16:05:26 <alise> 03:26:44 <Gregor> :P
16:05:26 <alise> 03:27:32 <oerjan> Gregor: it is not particularly wise to define police state in such a way that almost all people would prefer to live in one
16:05:26 <alise> not "almost all"
16:05:37 <Deewiant> .ym is ST-Sound's file format.
16:06:27 <Deewiant> Mostly for Atari stuff, AFAIK.
16:06:27 <oklopol> alise: do you mean almost all = all for sensible measures of finite populations
16:06:32 <alise> Deewiant: Well, that ... helps
16:06:42 <alise> oklopol: no, I'm not a pedantic asshole like that
16:06:49 <Deewiant> alise: http://leonard.oxg.free.fr/stsound.html
16:06:49 <alise> i'm a different kind of pedantic asshole
16:06:55 <alise> oklopol: I just meant that there are quite a few anarchists around.
16:07:01 <alise> hell, even in this channel
16:07:11 <alise> Deewiant: you're crazy
16:07:26 <oklopol> alise: i know
16:08:03 <alise> 05:03:41 <CakeProphet> ....none
16:08:04 <alise> 05:03:56 <CakeProphet> ..
16:08:04 <alise> 05:04:03 * CakeProphet is very tired and baked?
16:08:04 <alise> 05:09:38 <Phantom_Hoover> baked?
16:08:04 <alise> I THINK HE MIGHT BE REFERRING TO DRUGS
16:08:42 <Deewiant> alise: I listen to esoteric stuff :-P
16:09:23 -!- softmoon has left (?).
16:09:26 <oklopol> so phantom hoover is a hoover that's also a phantom, and cake prophet is a cake that's also a prophet, have i somehow seriously misunderstood how compounds are usually constructed
16:09:29 <Deewiant> Or at least, have some esoteric stuff that I want to be able to listen to on demand.
16:10:21 <alise> So, anyone ever used libvlc?
16:11:08 * alise uninstalls OSS, returns to ALSA in despair
16:15:11 <fizzie> Deewiant: Back when I was a DOSist, I used to use Cubic Player, because of the Würfel Mode.
16:15:28 <Deewiant> Würfel mode?
16:15:42 <fizzie> I don't remember what it was like, just the name.
16:15:46 <Deewiant> heh
16:16:00 <fizzie> http://www.cubic.org/player/features.html "the only software on earth featuring Würfel Mode"
16:16:00 <alise> Something has gone awfully wrong.
16:16:05 <alise> Sound is... refusing to work.
16:16:13 <Deewiant> Doesn't handle much; just the common mod formats, MIDI, and SID.
16:16:27 <Deewiant> Oh, that feature list is a bit bigger than the one I was looking at.
16:16:45 <Deewiant> Well, still not that much.
16:17:00 <fizzie> No, but I didn't/don't have very esoteric files.
16:17:21 <fizzie> There's no screenshot of Würfel Mode either. But it supported all VESA text modes, and I think my Matrox Mystique 220 card offered quite many of those.
16:17:22 <Deewiant> My current plan is to go for http://xmp.sourceforge.net/ at some point.
16:19:43 <Phantom_Hoover> oklopol: The "phantom" is an adjective.
16:19:54 <Phantom_Hoover> While "cake" is not an adjective.
16:21:57 <fizzie> Deewiant: During a brief Windows time, I also used http://www.exotica.org.uk/wiki/DeliPlayer for a while -- it has a reasonably large format support, but I guess it's pretty dead and was windows-only anyway.
16:22:52 <Deewiant> I might use that for the Amiga stuff if it were non-Windows.
16:25:43 -!- alise has quit (Remote host closed the connection).
16:25:58 <fizzie> There's that http://zakalwe.fi/uade/ too.
16:26:17 <Phantom_Hoover> Zakalwe.fi?
16:26:20 <Phantom_Hoover> Culture fans?
16:26:36 <Phantom_Hoover> Yep.
16:28:21 -!- alise has joined.
16:28:27 <alise> I am unable to get sound working
16:30:31 <alise> Deewiant: Should I just install Arch? And why am I asking an Arch fanboy this?
16:31:42 <Phantom_Hoover> Use Movitz.
16:32:01 <Phantom_Hoover> You can feel superior to everyone.
16:32:10 <alise> Apart from Scheme users.
16:32:16 <alise> Or Reduceron users.
16:32:41 <Phantom_Hoover> What machine-level Scheme implementation is there?
16:32:48 -!- CakeProphet has quit (Ping timeout: 264 seconds).
16:33:03 <alise> Your mom's
16:33:46 <Phantom_Hoover> That makes no sense in this context.
16:33:54 <alise> Precisely
16:35:10 <Phantom_Hoover> Actually, there is Schemix.
16:35:17 <Phantom_Hoover> Use that.
16:35:35 <alise> I had plans for a Scheme OS once. Was going to use someone's little x86-sexp-assembler written in Scheme.
16:35:41 <alise> Was going to be called X-Scheme or something.
16:36:14 <Phantom_Hoover> And it fell by the wayside, like so many of our dreams?
16:36:27 <alise> Yes.
16:36:44 <Phantom_Hoover> Glad that I'm not the only one.
16:39:04 <Phantom_Hoover> Also, I need to go on an epic journey across Scotland and over the Irish sea in about 10 minutes, for "work" "experience".
16:39:12 <Phantom_Hoover> I MAY NOT RETURN.
16:40:40 <Deewiant> alise: Hey, "fanboy" is a bit strong.
16:40:58 <Deewiant> fizzie: Thanks for that UADE thing; I don't think I knew about that, before.
16:41:14 <alise> Deewiant: Fanboy isn't a very strong word :P
16:41:20 <Phantom_Hoover> Fun fact: I have a NASA t-shirt with what seem like blatant mathematical errors on it..
16:41:20 <alise> Deewiant: And you didn't answer my question!
16:41:31 <alise> Phantom_Hoover: your mother is a blatant mathematical error LOL LOL
16:41:39 <alise> Please tell me if your mother is actually dead that causes a lot of awkwardness for me here
16:42:02 <Phantom_Hoover> How often does that happen?
16:42:19 <alise> Well, I know of two in here who talk a lot who fit that bill.
16:42:31 <Phantom_Hoover> No, my mother is not dead.
16:43:12 <alise> Good to know!
16:43:16 <alise> Your mom is so fat she DIED.
16:43:22 <fizzie> "Yet!"
16:43:44 <alise> YOUR MOTHER IS SUCH A FAT WHORE, SHE DIED OF A PENIS INFECTION. ALSO, OBESITY.
16:43:45 <Phantom_Hoover> fungot!
16:43:46 <fungot> Phantom_Hoover: luxy has an abcd! krob! krob! krob! krob!
16:44:00 <Phantom_Hoover> What style is he on...?
16:44:04 <alise> ^STYLE
16:44:06 <alise> ^style
16:44:07 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
16:44:14 <alise> fungot: luxy has an abcd! krob!
16:44:15 <fungot> alise: plus one exception to that.) the service book.
16:44:24 * Phantom_Hoover hastily reads remaining webcomics from today
16:44:51 <alise> `addquote <fungot> pikhq: from csh type ' exit', is a simple protocol which provides an interface to c. [...]
16:44:52 <fungot> alise: ( .)y(.) bbl. going to use apple hw then indents the s-expression following that. they are even more limited pre-scheme.
16:44:53 <HackEgo> 170|<fungot> pikhq: from csh type ' exit', is a simple protocol which provides an interface to c. [...]
16:44:57 <alise> `addquote <fungot> alise: nobody is allowed to fnord me in soviet russia
16:44:58 <fungot> alise: most people slow down while driving by accidents, most of which are themselves lists, then party on.
16:45:00 <HackEgo> 171|<fungot> alise: nobody is allowed to fnord me in soviet russia
16:45:04 <alise> `addquote <fungot> AnMaster: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
16:45:05 <fungot> alise: standardizing on s-r _only_? surely someone must have cancelled. too bad it died ( or so it seemed.
16:45:07 <HackEgo> 172|<fungot> AnMaster: intercal-72 c-intercal clc-intercal j-intercal yes all versions all versions
16:45:08 <alise> Filling in the fungot-quote backlog :P
16:45:19 <alise> `addquote <fungot> AnMaster: to any airbus plane. 3 passengers sadly died the most awesome thing ever.
16:45:21 <Phantom_Hoover> fungquote!
16:45:21 <HackEgo> 173|<fungot> AnMaster: to any airbus plane. 3 passengers sadly died the most awesome thing ever.
16:45:39 <fizzie> He's sometimes a bit inconsiderate.
16:45:45 <alise> `addquote <fungot> [...] i'm a law student so i am loving my bread machine
16:45:48 <HackEgo> 174|<fungot> [...] i'm a law student so i am loving my bread machine
16:47:09 <alise> `addquote <AnMaster> alise, marble <AnMaster> marbelus
16:47:13 <HackEgo> 175|<AnMaster> alise, marble <AnMaster> marbelus
16:47:18 <alise> These are a bit chronologically distorted, but who cares
16:47:25 <alise> `addquote <alise> cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment <alise> and it burns one of the waffles and doesn't touch the other.
16:47:28 <HackEgo> 176|<alise> cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment <alise> and it burns one of the waffles and doesn't touch the other.
16:47:29 <alise> (coppro tried to quote that, not me)
16:47:48 <Deewiant> alise: I figured that by calling me a fanboy you'd guessed my answer already
16:47:57 <alise> Deewiant: MAYBE I'M WRONG.
16:48:20 <Deewiant> You probably aren't
16:48:59 <alise> Deewiant: Tell me, I can't take it any longer!
16:49:33 <Deewiant> Yes, go ahead and install Arch, it'll make life easier :-P
16:50:12 <alise> Deewiant: Issue; my mother uses this computer sometimes.
16:50:35 <Phantom_Hoover> So even better!!
16:50:49 <Phantom_Hoover> You don't have to put up with parental invasion.
16:51:44 <alise> YES, but, this is the only half-shared computer
16:52:40 <Deewiant> So, why are you caring about whether stuff works on that one ;-P
16:52:51 <alise> It's the only one unpacked and plugged in atm.
16:54:08 <Phantom_Hoover> I have to go now AND I MAY NOT RETURN.
16:54:10 <Phantom_Hoover> EVER.
16:54:13 <Phantom_Hoover> AGAIN.
16:54:20 <Deewiant> See ya
16:54:27 -!- Phantom_Hoover has quit (Quit: Leaving).
16:54:57 <alise> Deewiant: I need life advice ;_; like an antelope
16:57:27 <Deewiant> Suggestion: get sound working
16:57:53 <alise> Deewiant: Tried & failed.
16:57:56 <alise> The mixer is just ... not there
16:58:17 <Deewiant> Ask on #<distro>
16:58:42 <alise> Deewiant: Have you ever been in #ubuntu?
16:58:46 <alise> No? Count yourself lucky.
16:58:46 <Deewiant> Nope
16:59:06 <alise> You repeat something fifty times, and still nobody's actual question is answered.
16:59:11 <alise> Just tiny irrelevant ones that aren't even vaguely technical.
16:59:20 <alise> (If you just say it ONE time, then it disappears into the backlog in about 2 seconds.)
17:03:55 <alise> Deewiant: Which is probably a reason to switch to Arch, really.
17:04:02 <Deewiant> :-)
17:04:59 <AnMaster> <Deewiant> Yes, go ahead and install Arch, it'll make life easier :-P <-- but you have to edit some text config files at least once. I'm not sure alise is that type
17:05:19 <alise> Hey, I am perfectly capable of editing textual configuration files.
17:05:20 <AnMaster> well I'm sure he could do it, but I also suspect he wouldn't like it
17:05:29 <AnMaster> alise, yes but you don't want to, right?
17:05:51 <alise> It's not my fault that "Linuxtarded just-make-it-work idiot" and "incredibly ultra-genius visionary post-configuration post-object-oriented metasystem enthusiast" are so easily confusable when presented with Linux :-P
17:06:05 <alise> (Not just genius, INCREDIBLY ULTRA-genius)
17:06:26 <AnMaster> alise, because at end of install you will get a menu to edit some system config files, you probably need to set time zone and a few misc things at least. Oh and you need to add the init scripts to start by using a config file that lists them, In the order you want XD
17:07:14 <alise> I've installed Arch before.
17:07:23 -!- zzo38 has joined.
17:07:30 <AnMaster> there are two things that annoys me with arch linux: 1) init script system is rather limited 2) no debug symbol packages (yet, and this has been planed for a looong time)
17:07:32 <alise> The bit I don't like is that configuration thing that you have to re-combine the kernel or whatever to take effect.
17:07:35 <alise> It has modules and stuff in it.
17:07:41 <alise> I can never decide what to put in it first time!
17:07:46 <AnMaster> alise, you mean re-generate initramfs?
17:07:50 <alise> yeah
17:08:04 <AnMaster> alise, ubuntu does that too.
17:08:10 <alise> (1) doesn't bother me, my init needs are very minimal and (2) so how do you debug programs effectively?
17:09:02 <Deewiant> (2) only applies if you're debugging a system library
17:09:11 <alise> right
17:09:12 <zzo38> Maybe if you don't like it, change it?
17:09:13 <AnMaster> alise, well, (2) by building a custom glibc that installs debug symbols, that is what I need for my debugging currently. Don't really need debug symbols for all the other stuff
17:09:34 <alise> Well, my only problem with Arch is that (1) it sucks, like all software and (2) I don't think my mother would appreciate using it
17:09:35 <AnMaster> Deewiant, debug symbols for glibc is increadibly useful for any debugging.
17:09:44 <AnMaster> incredibly*
17:09:48 <Deewiant> If you say so
17:09:59 <Deewiant> I've yet to even feel the need for debuggers typically :-P
17:10:14 <Deewiant> alise: (1) doesn't really count
17:10:27 <AnMaster> Deewiant, yesterday I tried another one, debugging over IR. Embedded systems are quite interesting to debug sometimes...
17:10:29 <alise> Well, it sucks to initially set up moreso than Ubuntu, then
17:10:37 <AnMaster> basically printf but sending messages over ir
17:10:50 <AnMaster> however, it turned out to solve the issue, due to the extra delay that printf over IR caused XD
17:11:23 <alise> oh to hell with it, I'll just buy my mother a portable solitaire device
17:11:29 <AnMaster> alise, I'm quite sure your DAEMONS array will be nothing like mine, but in case it helps:
17:11:36 <AnMaster> DAEMONS=(syslog-ng @sensors @gpm @smartd @alsa network @iptables @ntpd @aiccu @sshd @hal crond @ddclient @ip6tables @denyhosts @postfix @mdadm @cpufreq)
17:11:38 <alise> actually, maybe I'll just get her an iPad, it would satisfy like 110% of everything she wants to do with a computer :-P
17:11:48 <alise> it has solitaire, email, and the web
17:11:52 <zzo38> I have been on #ubuntu channel, but only for one thing, to ask about autorun DVDs in Ubuntu, so that I can do Quality Control testing. (Please note all the computers already have Ubuntu installed (it has nothing to do with me), I just needed to add a program.)
17:11:55 <AnMaster> alise, she = ?
17:11:58 <alise> AnMaster: @ = not?
17:12:00 <alise> AnMaster: she = mother
17:12:04 <alise> this is the semi-shared computer
17:12:19 <Deewiant> DAEMONS=(syslog-ng fix-mtrr @network @irqbalance !netfs @crond arch32 @alsa @hal @cups @sshd @openntpd @inadyn)
17:13:01 <Deewiant> Could actually remove that !netfs
17:13:02 <AnMaster> alise, @ = "in background"
17:13:23 <alise> But ALSA is lame :<
17:13:36 <alise> AnMaster: I thought you hated HAL?
17:13:44 <Deewiant> I wonder if that even does anything for me
17:13:48 <Deewiant> Probably not
17:13:56 <alise> Why not load syslog-ng in background :P
17:14:09 <AnMaster> alise, yes but things doesn't work without it
17:14:21 <alise> I never read system logs anyway :D
17:14:24 <Deewiant> I'll make it !alsa for now
17:14:25 <AnMaster> alise, as for syslog-ng, I don't want to miss out on early errors
17:14:29 <AnMaster> in case stuff goes wrong
17:14:34 <alise> Deewiant: heh; what do you use instead of alsa?
17:14:39 <Deewiant> Pulse
17:14:39 <alise> ossv3? :-D
17:14:40 <AnMaster> Deewiant, doesn't alsa just restore mixer levels?
17:14:42 <alise> Deewiant: Erm...
17:14:43 <AnMaster> iirc
17:14:46 <alise> Deewiant: Pulse uses ALSA.
17:14:50 <alise> Deewiant: It's a layer over ALSA.
17:14:52 <alise> Deewiant: Or OSS, I think.
17:14:57 <Deewiant> It's a layer over a million things
17:15:03 <alise> Deewiant: What do you layer it over then...?
17:15:03 <Deewiant> But yes, that just restores the mixer levels
17:15:13 <Deewiant> I don't know, whatever it does by default I guess
17:15:16 <Deewiant> Probably ALSA
17:15:17 <alise> Methinks I'll use pekwm
17:15:22 <alise> Plus gnome-tray or something
17:15:26 <alise> Well, gnome-panel
17:15:37 <alise> Or maybe XFCE's panel
17:16:13 <AnMaster> Deewiant, you probably want alsa there then. Since otherwise channels start all muted iirc
17:16:34 <alise> THE POWAH OF OSSV4
17:16:49 <Deewiant> AnMaster: I just stopped alsa and sound still works
17:17:41 -!- MigoMipo has joined.
17:17:42 <AnMaster> Deewiant, stop != start
17:17:57 <Deewiant> Err... yes?
17:17:58 <AnMaster> stop just saves mixer levels to a file
17:18:03 <AnMaster> start just loads them
17:18:08 <AnMaster> afaik stop doesn't mute channels
17:18:24 <Deewiant> Oh, so it doesn't, by default
17:19:13 <Deewiant> Right, so it is necessary.
17:20:44 <AnMaster> Deewiant, it isn't like it hogs system resources or anything
17:21:00 <Deewiant> That doesn't mean it shouldn't be removed
17:21:18 <AnMaster> Deewiant, it should be removed if you aren't using ALSA, but probably not otherwise
17:21:27 <Deewiant> Exactly
17:21:34 <AnMaster> unless you like messing with mixer controls at every boot
17:23:51 <zzo38>
17:24:18 <alise>
17:27:54 <zzo38> Which card games do you play?
17:30:08 <alise> Not many.
17:31:10 -!- lament has joined.
17:34:34 <alise> AnMaster: what options are good to enable on a filesystem again? noatime, what else?
17:34:46 <Deewiant> nodiratime
17:34:52 <alise> ?? Doesn't noatime do that?
17:34:58 <Deewiant> Dunno
17:35:07 * alise considers using JFS
17:35:13 <alise> Does Arch support JFS out of the box, I wonder?
17:35:33 <alise> JFS is <3
17:35:45 <Deewiant> You mean the standard kernel in the core repository? Dunno.
17:35:56 <alise> Fast and reliable like XFS, "fsck" takes 2 seconds if there's an error and <1s if there's none, error recovery is very good, ...
17:36:22 <alise> Huh, apparently it's actually <1s for system failure, not 2s
17:36:48 <alise> "The JFS driver is built as a module in the standard Arch kernel packages."
17:37:01 <alise> So I just have to add "jfs" to one of those file things, right?
17:37:12 <alise> "one of those file things" :D
17:37:23 <alise> If you are using a generic Arch package for your kernel, you can simply append elevator=deadline to the kernel line in your /boot/grub/menu.lst The kernel entry would look something like:
17:37:24 <alise> noted
17:37:38 <alise> It is also possible to enable the Deadline I/O scheduler for specific devices by invoking the following command:
17:37:39 <alise> echo deadline > /sys/block/sda/queue/scheduler
17:37:40 <alise> doubly noted
17:38:14 <Deewiant> That better than CFQ?
17:39:42 <alise> For JFS, yes.
17:39:47 <alise> Are you using JFS?
17:39:55 <alise> JFS+deadline outperforms all other Linux filesystems, IIRC.
17:39:55 <Deewiant> Nope.
17:40:07 <alise> Then just keep using whatever.
17:40:25 <zzo38> Do you play? Bridge? Hearts? Poker? Solitaire? Gin Rummy? Pokemon Card? Tarot Card?
17:40:31 <alise> Hells yeah, Brain Fuck Scheduler is in AUR
17:40:37 <alise> zzo38: Solitaire is actually called Klondike.
17:40:40 <Deewiant> I don't play any card game actively
17:41:01 <zzo38> alise: I meant solitaire games in general, I didn't mean Klondike solitaire specifically
17:41:06 <alise> Ah.
17:41:20 <alise> Tarot isn't a game, just a silly waste of time :-)
17:42:14 <zzo38> No, it is actually just a deck of cards. There are many kind of games that are played with them, however. (Most are trick-taking types, which were what tarot cards originally designed for; but now you can also play Gnostics (which also requires Icehouse pieces as well))
17:43:13 <alise> Ah, I didn't realise.
17:44:50 <zzo38> Now, if I could make a deck like http://zzo38computer.cjb.net/PySol/screen/spider-tarot-cardset.png but larger and for printing, with numbers in both corners, and a book to go with it (describing various games (both soitaire and multiplayer), also possibly with a very brief appendix about "interpretations" of the "meanings" of cards and so on)
17:45:22 <zzo38> This is my preferred tarot deck although the one in the picture is only suitable for computer game
17:45:25 <alise> http://aur.archlinux.org/packages.php?ID=32877 ;; con kolivas patchset kernel
17:46:10 <zzo38> I also like Uncarrot Tarot but it is not available anywhere and not compatible with standard tarot. Spider tarot is compatible with normal tarot, so the standard trick taking games can still be played with them.
17:46:21 <alise> Deewiant: https://lwn.net/Articles/244941/ noatime => nodiratime
17:47:32 <zzo38> (The problem is if the majors have to be given names, which is used in Gnostica (but you could just write down which number has which effect)
17:48:09 <zzo38> Do you like this deck?
17:48:18 <alise> Time to reboot, then.
17:48:41 -!- lament has quit (Ping timeout: 260 seconds).
17:48:56 -!- alise has quit (Remote host closed the connection).
17:50:12 -!- BeholdMyGlory has joined.
17:51:43 <zzo38> I think I found another bug in ngIRCd, it doesn't log QUIT messages!
18:00:33 -!- FireFly has joined.
18:20:41 -!- kalise has joined.
18:20:49 <kalise> fucking fuck fuck fucker fuckity
18:20:52 -!- kalise has changed nick to alise.
18:20:55 <alise> THE ARCH IS NO
18:21:07 <alise> It was doing its mkcpio thing after I configured it when I accidentally ^C'd the installer
18:21:13 <alise> Now it wants me to do it all over again just to do that part
18:21:23 <alise> Deewiant: AnMaster: HALP
18:21:45 <Deewiant> So do it all over again.
18:21:53 <alise> Deewiant: But that's completely pointless, and slow.
18:22:03 <Deewiant> So is accidentally ^C'ing stuff in the middle of installation.
18:22:14 <alise> I was trying to cancel one particular step.
18:22:16 <alise> ESC didn't work.
18:22:53 <Deewiant> You don't have much of a choice here AFAIK :-P
18:23:08 <Deewiant> Install manually or do it again.
18:23:22 <alise> Now it says that the filesystem is busy, ha ha ha
18:23:43 <alise> umount doesn't work. ha ha ha.
18:23:47 <alise> It says it's busy too; ha ha ha.
18:24:04 <alise> fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;;;;;;;;;;;;;;;;;;;;;;;;
18:24:39 <alise> umount -f -l /dev/sdb1
18:24:41 <alise> >:3
18:24:56 <Deewiant> Maybe start with fuser/lsof :-P
18:25:44 <alise> Why does it complain about having no separate /boot?
18:25:47 <alise> This is, like, 2012.
18:26:00 <Deewiant> I dunno. I have a separate /boot.
18:26:03 <alise> Why?
18:26:16 <alise> LVM or sth?
18:26:27 <Deewiant> So that I can't accidentally overwrite my grub.conf or kernel.
18:26:35 <alise> Other things I'm going to have to figure out before I reboot this thing: lilo!
18:26:44 <alise> grub technically can boot jfs but it's very unrecommended
18:26:47 <alise> so... lilo
18:27:09 <alise> lilo totally gets a bad rep :)))
18:27:18 <Deewiant> Or... a separate /boot with a more palatable fs ;-P
18:27:28 <alise> JFS is perfectly palatable. And I don't like GRUB anyway.
18:27:33 <alise> Nothing wrong with lilo.
18:27:38 <alise> It's not the lilo that was around in the 90s :P
18:27:39 <Deewiant> Palatable to GRUB, I obviously meant.
18:27:47 <Deewiant> But yeah, doesn't matter.
18:27:53 <alise> "Oh no, I have to run lilo(1) when I update my kernel!"
18:28:09 <alise> arch installs sysvinit by default -- have they abandoned the bsd style init?!
18:28:16 <alise> Say it ain't so!
18:30:18 * alise uses /dev/sd[a-z][0-9]+ identifiers in fstab cuz he's a rebel
18:30:27 <alise> *she's; stupid self-inflicted nick pronouns
18:31:12 <alise> Anyone in here used pekwm?
18:32:45 <alise> I forgot how cool xdm is
18:33:29 <alise> what the heck is netfs anyway
18:36:20 * alise considers using xfwm
18:37:29 -!- lament has joined.
18:38:14 <alise> alas, i lament lament, a last lament, alas
18:38:58 <alise> alas, I lament, I lament lament, I lament, alas <-- palindrome
18:39:06 -!- CakeProphet has joined.
18:39:29 <alise> CakeProphet prophesises cakes
18:40:49 <alise> krade'tmar
18:41:27 <alise> t'keprophea'c
18:41:50 <alise> Deewiant: thanks for the helpful advice, it just installed the packages then failed and quit again
18:42:02 <alise> because it couldn't umount /mnt/proc which was apparently mounted
18:42:07 <alise> so i have to do it ALL. OVER. AGAIN
18:42:14 <alise> oasijfsgsoyshjhiohjhjopjoisjgirg
18:42:46 <alise> YH8998982Y3892Y321873Y12983Y89213Y98213
18:42:49 <alise> well time to reboot.
18:42:57 -!- alise has quit (Quit: Lost terminal).
18:47:10 <AnMaster> <alise> Deewiant: AnMaster: HALP <-- ?
18:48:27 <AnMaster> bbl
18:59:52 -!- Oranjer has joined.
19:05:07 -!- oerjan has joined.
19:07:39 <oerjan> 03:53:45 --- quit: oerjan (Quit: Later)
19:07:46 <oerjan> 03:56:02 <oklopol> "hey wasn't it pretty lol when oerjan left"
19:08:16 <coppro> alise: thanks for adding that quote
19:08:18 <oerjan> well if you find that quit message hilarious...
19:08:36 <oerjan> perhaps it means something funny in finnish
19:09:05 <oerjan> <Phantom_Hoover> Baah, why is no-one interested in the TreeVM?
19:09:21 <oerjan> it's not really a very new idea
19:10:05 <oerjan> also, that is our _normal_ reaction to 90% of new esolangs.
19:11:33 <oerjan> although that may be because 90% of esolangs are just machine codes with slightly eclectic instruction sets
19:20:43 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
19:27:45 <AnMaster> I wonder why Reduce[d == Norm[{a - b, c - d} + t*{v - u, x - y}], {t}] makes mathematica lock up
19:31:49 <Oranjer> somewhat obvious, but I had to check: it begins to load in wolfram alpha, but then stops
19:31:58 <Oranjer> never seen that before
19:38:52 -!- MigoMipo has quit (Remote host closed the connection).
19:39:18 -!- MigoMipo has joined.
19:41:17 <AnMaster> Oranjer, I presume they kill queries after some fixed time limit
19:57:49 -!- jabb has joined.
19:57:57 <jabb> :O
20:07:00 -!- Oranjer has left (?).
20:41:16 -!- tombom has joined.
20:58:44 -!- augur has quit (Remote host closed the connection).
21:05:31 <zzo38> Why does the HELP command in ngIRCd send ERR_NORECIPIENT_MSG if you put too many arguments?
21:06:06 <oerjan> i guess it just likes to argue.
21:06:59 <oerjan> what happens if you put your nick as the extra argument?
21:07:05 <zzo38> But shouldn't it be ERR_NEEDMOREPARAMS_MSG instead? Most commands do that if you put the wrong number of arguments
21:07:30 <oerjan> or perhaps as the first argument
21:07:36 <zzo38> oerjan: The same error. It sends that error if there are any arguments at all. (If there are no arguments, it lists the valid commands)
21:07:45 <zzo38> if( Req->argc > 0 ) return IRC_WriteStrClient( Client, ERR_NORECIPIENT_MSG, Client_ID( Client ), Req->command );
21:07:49 <oerjan> oh
21:08:38 <oerjan> well, ERR_NEEDMOREPARAMS_MSG seems like it should only be used if you use too _few_ arguments
21:08:44 <oerjan> by the name
21:09:28 -!- poiuy_qwert has joined.
21:09:30 <oerjan> and most commands that take an argument take the recipient as the first one, so saying that it takes no recipient makes sort of sense
21:09:32 <zzo38> It does sound like it, but maybe in IRC it is the same message number
21:09:33 <oerjan> (iirc)
21:11:08 <zzo38> #define ERR_NORECIPIENT_MSG "411 %s :No recipient given (%s)"
21:11:18 <oerjan> huh
21:11:29 <oerjan> well that does sound wrong then
21:11:40 -!- alise has joined.
21:12:42 <zzo38> Anyways: I am adding in an additional function to the HELP command, which is that if it has exactly one argument, it will send a help topic message to the client. (With no arguments it will just list the valid commands the same way it already does)
21:12:45 <alise> <me> [rejoins after being gone for a while, having previously had a long discussion about how to fix Xorg config] I don't suppose anyone has any more ideas, I tried everything before [etc.] <nazi> [link to stupid "HOW TO ASK QUESTIONS ON IRC" guide] <me> nazi: I was just asking the few people who'd talked about it before
21:12:55 <alise> <nazi> That's not how it works <me> What's not how what works?
21:13:04 <alise> <nazi> Blah blah blah you must ask full detailed questions with output blah blah blah
21:13:09 <alise> IRC support sucks.
21:14:06 <Deewiant> If you want proper support, consider Red Hat :-P
21:14:11 <alise> Deewiant: I don't suppose you use any PS/2 devices?
21:14:19 <Deewiant> Sure, a keyboard.
21:14:24 <alise> Deewiant: HOW THE FUCK DO YOU MAKE X11 LIKE IT.
21:14:31 <Deewiant> Magic?
21:14:35 <alise> I've tried evdev, non-evdev, every fucking thing, it only worked once and I was unable to reproduce it.
21:14:38 <Deewiant> Didn't have to twiddle anything.
21:14:41 <alise> What the hell kind of magical settings do you have?
21:14:44 <alise> Oh, so no xorg.conf.
21:14:48 <alise> If only I were so lucky.
21:14:57 <Deewiant> I do have a xorg.conf but it doesn't have my keyboard settings.
21:16:57 <alise> Do you have a ServerLayout section?
21:17:08 <Deewiant> Probably.
21:17:24 <Deewiant> I'm pretty sure I have all the graphics-related stuff there.
21:18:10 <alise> So you have InputDevice lines in that ServerLayout section, then?
21:18:25 <Deewiant> No, I'm pretty sure I don't.
21:18:26 <uorygl> Aww, the Finnish word "pointti" is so cute!
21:18:41 <alise> Deewiant: Then... that cannot possibly work
21:18:58 <oerjan> `ls bin
21:18:59 <Deewiant> Magic, like I said. :-P
21:19:00 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ marco \ minifind \ paste \ ping \ quote \ rec \ roll \ runfor \ sayhi \ strfile \ swedish \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
21:19:13 <oerjan> `translatefromto fi en pointti
21:19:16 <HackEgo> No output.
21:19:21 <oerjan> :(
21:19:43 <Deewiant> oerjan: Colloquial loanword: "point" as in meaning
21:19:50 <oerjan> ah
21:20:03 <Deewiant> alise: HAL does the stuff.
21:20:07 -!- alise has quit (Read error: Connection reset by peer).
21:20:29 <oerjan> no:poeng, probably
21:21:12 <uorygl> Kaj said, "So I blogged (in Finnish) about people who want age limits on books. Somehow the comments section of this post managed to become a debate on climate change. Go figure."
21:21:46 <uorygl> Then Mauno said, "Jis eivät ryhtyneet maahanmuutosta väittelemään, on se jo saavutus," and Kaj said, ":D Pointti."
21:22:24 <Deewiant> That's an extreme anglicism :-P
21:23:24 <uorygl> Now, what does what Mauno said mean?
21:23:34 <Deewiant> s/Jis/Jos/
21:23:53 <uorygl> My mistake.
21:24:02 <uorygl> `swedish Jos eivät ryhtyneet maahanmuutosta väittelemään, on se jo saavutus.
21:24:04 <HackEgo> Jus ieefät ryhtyneet meehunmooootusta fäittelemään, oon se-a ju seefootoos. \ Bork Bork Bork!
21:24:27 <Deewiant> "If they didn't start debating immigration, that's already an achievement"
21:24:36 <uorygl> Ah. :)
21:25:46 -!- chuck has joined.
21:27:46 <zzo38> Is there any documentation what the HackEgo commands do? (Usually I just always get "No output." regardless of anything)
21:29:07 <uorygl> `cat bin/creatures
21:29:08 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Look up what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://creatures.wikia.com/wiki/'"$QUERY" | \ grep -A 100 'Jump to:' | \ tail -n +3 | \ sed 's/ */ /g'
21:29:11 <uorygl> Voila. :P
21:29:30 <uorygl> Ask me and I can probably tell you.
21:29:55 <zzo38> uorygl: My question is all of them!
21:30:00 <uorygl> Okay.
21:30:05 <uorygl> `ls bin
21:30:06 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ marco \ minifind \ paste \ ping \ quote \ rec \ roll \ runfor \ sayhi \ strfile \ swedish \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
21:30:19 <zzo38> Is there a FTP session for these files?
21:30:33 <zzo38> `cat bin/calc
21:30:34 <uorygl> I don't know what ? does, addquote adds a quote to the quotes database, calc tells Google to calculate something, commands probably does the same thing as ls bin, creatures looks something up on the Creatures Wiki...
21:30:34 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Calculate what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://google.com/search?q='"$QUERY" | \ grep -m 1 '=' | sed 's/ \+/ /g'
21:30:43 <Deewiant> `commands
21:30:45 <HackEgo> ?, addquote, calc, commands, creatures, define, esolang, etymology, fortune, \ google, helpme, imdb, karma, marco, minifind, paste, ping, quote, rec, roll, \ runfor, sayhi, strfile, swedish, toutf8, translate, translatefromto, \ translateto, unstr, url, wolfram
21:30:51 <Deewiant> `?
21:30:52 <HackEgo> I like big butts and I cannot lie. You other brothers can not deny that when a girl comes in with an itty bitty waist and a round thing in your face, you get sprung.
21:30:53 <oerjan> zzo38: note that HackEgo has been buggy for many days until today
21:31:05 <zzo38> `cat bin/?
21:31:07 <HackEgo> #!/bin/sh \ cd `dirname "$0"` \ cat ../help.txt
21:31:15 <uorygl> define looks up the definition of something somewhere, esolang looks something up on Esolang, etymology looks something up in the Online Etymology Dictionary, fortune... probably gives you a fortune cookie or something...
21:31:19 <uorygl> `fortune
21:31:21 <HackEgo> Save gas, don't eat beans.
21:32:01 <uorygl> google does a Google search, helpme presumably does just that, imdb looks something up on IMDB, karma doesn't do much, I'm betting marco causes it to say "Polo", I don't know what minifind does, I think paste links to a pastebin...
21:32:06 <uorygl> `paste
21:32:07 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1595
21:32:20 <oerjan> `calc 2+2
21:32:22 <HackEgo> No output.
21:32:32 <uorygl> Evidently `calc doesn't actually work.
21:32:33 <uorygl> `ls bin
21:32:35 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ marco \ minifind \ paste \ ping \ quote \ rec \ roll \ runfor \ sayhi \ strfile \ swedish \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
21:32:38 <uorygl> `ping
21:32:39 <HackEgo> pong
21:32:43 <zzo38> O, that is why it is broken
21:32:44 <oerjan> and the google lookup commands are probably all broken now :(
21:33:11 <oerjan> zzo38: um what?
21:33:14 <zzo38> I thought I just entered the command wrong
21:33:16 <uorygl> ping does that, quote gives you a random quote from the quotes file, I don't know what rec does, roll maybe rolls a die, I don't know what runfor does, sayhi is probably like marco and ping, I don't know what strfile does...
21:33:37 <oerjan> `google test
21:33:38 <HackEgo> No output.
21:33:57 <uorygl> swedish translates something into mock Swedish, toutf8 translates some character encoding to UTF-8, translate and its brethren do nothing, I don't know what unstr does, I don't know what url does, wolfram looks something up on Wolfram Alpha.
21:34:02 <Deewiant> `roll 1d6
21:34:04 <HackEgo> 1
21:34:12 <Deewiant> `cat bin/roll
21:34:14 <HackEgo> #!/bin/bash \ rolls="$*" \ if [ "$rolls" = "" ] ; then rolls="1d6" ; fi \ \ for i in $rolls \ do \ if expr "$i" : ".*[dD].*" >& /dev/null \ then \ rollc=`echo "$i" | sed 's/[dD].*//'` \ diesz=`echo "$i" | sed 's/.*[dD]//'` \ else \ rollc=1 \ diesz="$i" \ fi \ \ roll=0
21:34:18 <oerjan> zzo38: calc, google and translate* used to work via google lookup
21:34:26 <uorygl> `roll 1000d6
21:34:28 <HackEgo> 3556
21:34:29 <Deewiant> `roll 1d6+2
21:34:30 <HackEgo> 7
21:34:33 <uorygl> `roll 1000000d6
21:34:34 -!- ws has joined.
21:34:47 <Deewiant> `roll 1d6*2
21:34:48 <oerjan> but presumably it broke in one of google's redesigns
21:34:48 <HackEgo> 11
21:34:52 <Deewiant> `roll 1d6-2
21:34:53 <HackEgo> 1
21:35:11 <uorygl> Heh, 1d6*2 rolled an odd number.
21:35:37 <Deewiant> Yeah, dunno what it did there :-P
21:35:43 <uorygl> `roll 1000d6
21:35:45 <HackEgo> 3484
21:35:46 <uorygl> `roll 1000d6
21:35:48 <HackEgo> 3536
21:35:53 <uorygl> `roll 1000d6-2
21:35:55 <HackEgo> 2455
21:35:57 <HackEgo> 3497977
21:36:01 <uorygl> It's rolling a (6-2)-sided die.
21:36:09 <uorygl> Oh, it finally finished rolling 1000000d6. :P
21:36:11 <Deewiant> Gah
21:36:17 <Deewiant> `roll (1d6)+2
21:36:18 <HackEgo> 0
21:36:21 <Deewiant> >_<
21:36:25 <uorygl> Great. :P
21:36:35 <oerjan> `cat bin/roll
21:36:37 <HackEgo> #!/bin/bash \ rolls="$*" \ if [ "$rolls" = "" ] ; then rolls="1d6" ; fi \ \ for i in $rolls \ do \ if expr "$i" : ".*[dD].*" >& /dev/null \ then \ rollc=`echo "$i" | sed 's/[dD].*//'` \ diesz=`echo "$i" | sed 's/.*[dD]//'` \ else \ rollc=1 \ diesz="$i" \ fi \ \ roll=0
21:36:49 <Deewiant> Great that it supports +-* but not in any useful way :-P
21:38:45 -!- impomatic has joined.
21:45:13 -!- Oranjer has joined.
21:48:01 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
21:49:54 -!- poiuy_qwert has joined.
21:56:30 -!- augur has joined.
22:06:16 -!- poiuy_qwert has quit (Ping timeout: 265 seconds).
22:16:06 -!- augur has quit (Remote host closed the connection).
22:16:15 -!- augur has joined.
22:18:25 -!- MigoMipo has quit (Remote host closed the connection).
22:18:50 -!- MigoMipo has joined.
22:26:52 -!- alise has joined.
22:26:57 <alise> It's working now.
22:27:04 <oerjan> OOH
22:27:08 * alise wonders whether to use XFCE, or to roll his own with pekwm + some panel
22:27:11 <alise> I REQUIRE OPINIONS
22:27:34 <oerjan> USE XFCE IT HAS MORE CAPS
22:28:06 <alise> it's actually Xfce
22:28:16 <oerjan> oh. boring.
22:29:25 <alise> xfce works fine but it's a bit... bloated and boring
22:29:50 * oerjan wonders if he should point out he has no clue, in case that weren't obvious
22:30:02 <alise> I'm waiting for someone else to talk :-)
22:30:13 <oerjan> good, good
22:31:59 <alise> zzo38: what's your opinion?
22:32:52 <Sgeo_> I'd give you an opinion, but I'm usually devoid of opinions
22:33:15 <Sgeo_> Hm, here's one: freeallegiance.org is a good game, even though it's Windows-only and has DRM-esque stuff
22:35:43 -!- SgeoN1 has joined.
22:35:50 <alise> I cannot decide!
22:36:05 <oerjan> `roll 1d2
22:36:07 <HackEgo> 1
22:36:14 <alise> you didn't tell me what they represented!
22:36:19 <oerjan> darn
22:36:22 <alise> 1 = roll my own
22:36:24 <alise> 2 = use xfce
22:36:26 <alise> `roll 1d2
22:36:27 <HackEgo> 2
22:36:29 <alise> NO!
22:36:32 <alise> `roll 1d2
22:36:34 <HackEgo> 1
22:36:35 <alise> Okay!
22:36:45 <alise> It's a surprisigly good way to figure out what you want to do
22:36:53 <oerjan> roll your own, cursed by fate
22:36:57 <Deewiant> Especially when you've already made your decision
22:37:00 <alise> roll a die for it; if you get a result and think "No!", you want the opposite
22:37:08 <alise> Deewiant: but sometimes I can't analyse myself to figure out which decision I really want
22:37:16 <alise> so I rely on the instinctive bad reaction to the choice I don't want to figure it out
22:37:21 <Deewiant> Can't you just roll a hypothetical die instead?
22:37:32 <alise> no, for some reason that doesn't work because i know what i'm trying to do or something
22:37:42 <Sgeo_> 1 = LambdaMOO 2=M*U*S*H
22:37:45 <Sgeo_> `roll 1d2
22:37:46 <HackEgo> 2
22:37:50 <alise> `roll 50d50
22:37:51 <HackEgo> 1431
22:37:52 <Sgeo_> No, I like coding LambdaMOO
22:37:54 <oerjan> didn't oklopol say something about this dice-rolling trick
22:37:55 <alise> `roll 1d1
22:37:56 <HackEgo> 1
22:37:57 <alise> `roll 1d1
22:37:57 <Sgeo_> `roll 1d2
22:37:59 <HackEgo> 2
22:38:01 <alise> `roll 2d1
22:38:03 <Sgeo_> ??
22:38:03 <HackEgo> 2
22:38:04 <alise> `roll 2d1
22:38:06 <HackEgo> 2
22:38:07 <alise> xD
22:38:13 <HackEgo> 1
22:38:18 <alise> `roll 1000d2
22:38:19 <HackEgo> 1500
22:38:19 <Sgeo_> HackEgo is slow
22:38:20 <alise> `roll 1000d2
22:38:22 <HackEgo> 1513
22:38:25 <Sgeo_> `roll 1d0
22:38:26 <HackEgo> No output.
22:38:36 * alise purges xfce.
22:38:36 <Deewiant> `roll 0d1
22:38:37 <HackEgo> 0
22:38:38 <alise> purges I say!
22:38:39 <alise> mwahahahaha
22:38:50 <alise> i'd ask Deewiant for yet another one of his perfect opinions but he uses openbox or something
22:38:54 <alise> which i cannot forgive
22:38:59 <alise> `roll 1d-1
22:39:00 <HackEgo> 1
22:39:01 <alise> `roll 1d-1
22:39:02 <HackEgo> 1
22:39:04 <alise> `roll 1d-2
22:39:05 <HackEgo> 2
22:39:06 <alise> `roll 1d-2
22:39:07 <alise> aw
22:39:07 <HackEgo> 1
22:39:10 <alise> `roll 1d3 1d3
22:39:12 <HackEgo> 2 3
22:39:15 <oerjan> HackEgo probably doesn't use the cheat for large number of rolls that lambdabot uses
22:39:32 <Deewiant> alise: I like that my opinions are perfect but unforgivable
22:39:33 <alise> `roll 8d2 1d256
22:39:34 <HackEgo> 11 65
22:39:35 <oerjan> (approximate with normal distribution)
22:39:35 <alise> oerjan: what cheat?
22:39:43 <alise> Deewiant: well your opinion on this matter (desktops) definitely is
22:39:51 <alise> `roll 8d2 1d256
22:39:53 <HackEgo> 12 105
22:39:54 <alise> `roll 8d2 1d256
22:39:56 <HackEgo> 12 226
22:39:57 <oerjan> <oerjan> (approximate with normal distribution)
22:39:59 <alise> wait it adds
22:40:07 <alise> `roll 50d2 1d100
22:40:08 <HackEgo> 73 59
22:40:12 <alise> `roll 50d2 1d100
22:40:13 <HackEgo> 78 70
22:40:14 <alise> `roll 50d2 1d100
22:40:16 <HackEgo> 80 48
22:40:17 <alise> `roll 50d2 1d100
22:40:18 <HackEgo> 82 10
22:40:21 <alise> `roll 50d2 1d100
22:40:22 <HackEgo> 73 21
22:40:24 <alise> `quote
22:40:26 <HackEgo> 144|<vadim> it can be a good fursuit, but the good thing is that nobody can complain a fox doesn't have the right skin tone
22:40:29 <alise> `quote
22:40:31 <HackEgo> No output.
22:40:32 <alise> `quote
22:40:37 <alise> uh - oh
22:40:39 <HackEgo> No output.
22:40:40 <alise> Gregor!!
22:40:45 <alise> I broke it again
22:40:53 <oerjan> in pursuit of a fursuit
22:41:05 <oerjan> forsooth
22:41:07 <alise> fusuit of a fursuit: futile pursuit of a fursuit
22:41:33 <alise> so guys
22:41:34 <oerjan> wth is fusuit
22:41:37 <alise> window managers eh
22:41:40 <alise> oerjan: futile pursuit, duh!
22:41:45 <oerjan> ah
22:41:47 <Deewiant> Openbox eh
22:41:57 <alise> I AM ASKING GUYS (WHICH IS YOU IF YOU IS NOT DEEWIANT) WHICH IS GOOD WINDOW MANAGER
22:42:14 <alise> ALSO NOT PIKHQ, HE'LL SUGGEST RAT POISON WHICH IS _BARBARIC_
22:42:26 <Deewiant> Barbaric?
22:42:32 <alise> KILLING RATS!
22:42:49 <alise> I'D USE http://www.jfc.org.uk/software/lwm.html, BUT LAST TIME I USED IT I REALISED I WASN'T HARDCORE ENOUGH TO USE IT
22:42:55 -!- MigoMipo has quit (Remote host closed the connection).
22:42:55 <Deewiant> Like opening boxes?
22:43:11 <alise> YES, OPENING BOXES IS BASICALLY TANTAMOUNT TO GENOCIDE
22:43:22 -!- MigoMipo has joined.
22:43:28 <Sgeo_> alise, kwm
22:43:36 <alise> Kernel window manager?
22:43:41 <alise> What haven't they got in the kernel these days, eh?!
22:43:50 <Deewiant> KDE?
22:43:51 <alise> I've never heard of kwm
22:44:00 <alise> no, that's kwin
22:44:02 * Sgeo_ meant whatever KDE uses
22:44:13 <Deewiant> Googling KWM gives KDE-related results
22:44:21 <alise> kde has the disadvantage that kde sucks
22:44:27 * oerjan mentions xmonad just to find out why alise hates it
22:44:38 <Sgeo_> Because of people like me that assume that it should be kwm?
22:44:38 <alise> oerjan: the recompile-to-configure thing is stupid
22:44:48 <alise> and the actual haskell configuration part is stupid, it's not written very well
22:44:51 <alise> and i don't like tiling managers
22:44:53 <Deewiant> http://wiki.debian.org/WindowManager calls it "KWin / Kwm"
22:44:57 <alise> and it's basically like a bloated, haskell version of dwm
22:46:22 <alise> ffff/////////
22:47:29 <alise> http://karmen.sourceforge.net/karmen-0.13-640x480.png reminds me os Mac OS
22:47:34 <alise> whoa -- that guy uses ed
22:47:35 <alise> that's impressive
22:47:54 <Deewiant> Probably just for the screenshot ;-)
22:48:05 <alise> no, people like that tend to use ed
22:48:12 <alise> the uber-minimalist plan 9 folks
22:48:23 <alise> quite commendable in its insanity really
22:48:25 <Deewiant> People actually /use/ it?
22:48:35 <alise> yes
22:48:51 <alise> ken thompson &co obviously used it for a long time, i think ken is using sam now though which is basically ed with a view of the file
22:48:55 <Deewiant> I mean, I can understand using it on a terminal connected to something via a 300 baud modem, but sheesh
22:49:08 <alise> and several other folk used it
22:49:23 <alise> Deewiant: well ... it's not actually all that bad
22:49:43 <alise> i mean, it's very similar to ex, which is just the : vi commands...
22:49:52 <alise> so if you're good at using its commands to /view/ stuff you're set
22:50:08 <Deewiant> I just think that "view of the file" is fairly crucial
22:50:31 <alise> Yes, well. We will never truly understand the enlightenment attained by those who code in merely ed.
22:50:37 <alise> I've used TECO before; that was fun.
22:50:43 <alise> Actually not so bad once you figure it out.
22:52:59 -!- poiuy_qwert has joined.
22:53:05 <alise> "Armed with these certainties, therefore, I embarked upon a spiritualist quest to write the perfect window manager. It has a lot of faults - more faults than features, probably - but goddammit the faults are perfect too.
22:53:09 <alise> "
22:53:14 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.9/20100315083431]).
22:53:17 <alise> "Addendum: This page, and wm2 itself, were written in 1996. Other window managers are better now than they were then, and I'm older and less zealous."
22:53:34 <alise> s/too\.\n"/too."/
22:53:37 <Deewiant> :-)
22:54:02 <alise> By the author of Rosegarden, it seems.
22:55:32 <alise> Deewiant: What's that awesome pacman replacement that uses aria2 so everything goes so fast you're left feeling a little sad that there wasn't more fun to be had?
22:55:43 <alise> And why do I turn every description into a sort of existentialist nightmare?
22:55:50 <Deewiant> powerpill
22:55:51 <alise> Especially when I misuse the term "existentialist"?
22:55:54 <Deewiant> I use clyde nowadays, though
22:55:59 <alise> What does clyde to
22:55:59 <alise> *do
22:56:04 <Deewiant> Which doesn't have magic downloading but was otherwise nicer
22:56:04 <alise> And what is it with Archers and wrapping pacman
22:56:13 <Deewiant> It doesn't wrap pacman, for a change
22:56:14 <alise> Deewiant: Yeah, well, some of us only have 8 megabit connections.
22:56:19 <Deewiant> It just uses pacman's library
22:56:40 <alise> there's a LIBRARY and people still wrap it?
22:56:41 <Deewiant> Its main advantage is search speed, IIRC
22:56:41 <alise> sheesh
22:56:42 <alise> brb
22:56:47 -!- alise has quit (Quit: Lost terminal).
23:10:50 -!- tombom has quit (Read error: Connection reset by peer).
23:11:08 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
23:11:09 -!- tombom has joined.
23:13:19 -!- poiuy_qwert has joined.
23:21:46 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:22:50 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:27:18 -!- augur has quit (Remote host closed the connection).
23:27:29 -!- augur has joined.
23:29:07 -!- MigoMipo has quit (Quit: Quit).
23:30:52 <zzo38> Everyone else use different window-manager and package-manager, but I have to write my own window manager, and also write the Arcane Linux Package Manager, or "pm" for short ("pm" being the command you must type in to activate it). And "pm" has to take package data from standard input and then install it if -I is given, and so on. (If no arguments are given, it must accept package data from stdin and then do nothing with it.)
23:31:07 -!- alise has joined.
23:31:10 <alise> Ugh; most PekWM themes suck.
23:41:08 -!- Oranjer has left (?).
23:41:20 <alise> I NEED LIFE ADVICE.
23:44:29 * Sgeo_ may be the wrong person to ask
23:44:40 <alise> IT'S ACTUALLY WINDOW MANAGER ADVICE.
23:47:18 <zzo38> I don't know which window managers are best, or about the function of some window managers
23:47:42 <alise> Basically all I want is something with a titlebar and minimise/maximise/close buttons :-)
23:48:08 <Sgeo_> fvwm95?
23:49:06 <alise> fvwm is a bit arcane and complex; and the -95 portion just makes your computer look like Windows 95, so, uh, yeah.
23:49:23 <alise> pekwm is quite good, xfwm4 is quite good (but it's a bit too tied to xfce), ...
23:50:54 -!- tombom has quit (Quit: Leaving).
23:51:06 <alise> pekwm has some oddities though. the menu, for instance; i dislike menu-controlled WMs.
23:51:15 <alise> if someone just made an updated icewm that'd be great.
23:54:40 <alise> i have a feeling that if Deewiant didn't have a terrible opinion on this matter he'd have a great opinion :D
23:56:25 <augur> alise: lmfao
23:56:34 <augur> you come up with the greatest little aphorisms
23:56:45 <alise> Am I the only one who pronounces lmfao as limmfaaao?
23:56:54 <alise> Like "lympho", were that a word.
23:57:03 <alise> Wait, it is! Excellent.
23:57:10 <alise> Well, it's a prefix, at least.
23:57:11 <augur> lymphomaniac: a person who craves lymph nodes
23:57:31 <augur> or who secrets sebaceous fluid
23:57:32 <augur> one or the other
23:57:42 <alise> or both
23:57:44 <alise> ;)
23:58:19 <alise> so, mmaker thinks that the pacman package manager should be filed under Games -> Arcade
23:58:22 <alise> discuss
23:58:54 <zzo38> What is mmaker?
23:59:33 <alise> it's an (arch linux specific?) utility that generates a menu file for various window managers/task bars (for the "start"-imitation menu) based on installed packages
23:59:44 <alise> pacman is the arch linux package manager, but mmaker deduces that it must be the arcade game instead :-)
2010-06-06
00:00:06 <chuck> alise, hahaha, nice
00:00:33 <alise> hey, I remember you ... well, i remember you being in here, just not anything about you
00:01:02 <chuck> me? haha
00:01:13 <chuck> i think i may have accidentally stumbled in here and idled for a few months maybe
00:01:22 <alise> i wish you were the chuck that drafted agora's ruleset, then you'd be interesting
00:02:01 <alise> Place menu.xml, rc.xml and autostart.sh in ~/.config/openbox
00:02:01 <alise> They can be found in /etc/xdg/openbox
00:02:06 <alise> You know, pacman, you could have done that yourself.
00:02:11 <alise> Lazy package manager...
00:02:40 <alise> let's see if this works
00:02:42 -!- alise has quit (Quit: Lost terminal).
00:03:47 <zzo38> If "pacman" and "mmaker" are both Arch Linux programs, why is it broken like that?
00:03:56 <zzo38> Perhaps you can file a bug report
00:07:29 -!- lament has quit (Ping timeout: 265 seconds).
00:11:53 -!- augur has quit (Remote host closed the connection).
00:12:07 -!- augur has joined.
00:36:19 -!- alise has joined.
00:36:23 <alise> blargh; I think xfce was better
00:36:32 <alise> this is something akin to the epitome of fussitude
00:37:51 <alise> 16:03:47 <zzo38> If "pacman" and "mmaker" are both Arch Linux programs, why is it broken like that?
00:37:54 <alise> It's a good question
00:38:00 <alise> I have a suspicion mmaker isn't just Arch
00:38:04 <alise> http://menumaker.sourceforge.net/
00:38:05 <alise> Indeed
00:38:48 <alise> I need someone to endorse xfce4 so i feel ok about using it
00:43:54 <jabb> I feel the control flow in Mimsy could be better, but it's hard to find an alternative
00:44:12 <alise> -- were the borogaves, and the nome raths outgrabe. if I have my spelling right
00:44:27 <alise> *borogoves, *mome.
00:44:47 -!- FireFly has quit (Quit: swatted to death).
00:45:18 <jabb> great poem
00:49:12 <zzo38> Godel, Escher, Bach, contain, same poem but in English, French, German.
00:49:58 <alise> Are you sure it's GEB that contains Jabberwocky?
00:50:02 <alise> Not his book on translation?
00:50:27 <zzo38> Yes it does contain Jabberwocky, I will check the chapter number right now
00:50:42 <zzo38> Chapter XI
00:50:51 <zzo38> Chapter XII
00:50:56 <zzo38> Chapter XIIII
00:51:03 <zzo38> Sorry, there is no chapter number.
00:51:18 <zzo38> Chapter CCCLXVI
00:51:26 <zzo38> I mean, page 366
00:51:48 <zzo38> Half of the chapters are not real chapter numbers
00:52:02 <alise> Gah, I still have an urge to typeset the Hitchhiker's Guide to the Galaxy.
00:52:22 <zzo38> Then, perhaps you can do so?
00:52:36 <zzo38> Are you going to include the appendix?
00:52:54 <alise> I would, but I'd need to find some text for it that has some sort of delineation to mark the italic portions; and some way to distinguish the open and close quotes.
00:53:02 <alise> If I had that, I could easily convert it into LaTeX and go from there.
00:53:05 <alise> zzo38: H2G2 has an appendix?
00:53:25 <zzo38> alise: I don't know if it does. But you can include it anyways if you really want to?
00:53:56 <alise> I'm pretty sure, as a work of fiction, that it doesn't.
00:54:01 <alise> Although House of Leaves probably has an appendix, and a tonsil.
00:54:02 <oerjan> appendix, spleen, tonsil, take your pick
00:54:07 <alise> oerjan: hello don woods
00:54:27 <oerjan> alise: i was thinking of the INTERCAL manual there
00:54:54 <oerjan> hm wait
00:55:01 <oerjan> that's what you were referring to
00:55:03 <alise> yes :P
00:55:06 <zzo38> The work of fiction "Harper's Challenge" does have appendices! ("Harper's Challenge" is a book working with me and some other people; and most of the data in the appendices are useless to to most people outside that group)
00:55:35 <oerjan> alise: i thought you meant house of leaves _actually_ had a tonsil. well i guess could be an INTERCAL homage
00:55:36 <alise> Well, uh, Douglas Adams was too awesome for appendices.
00:55:38 <alise> So there.
00:55:47 <zzo38> (But other people can still read the appendix if you want to read it anyways, in case you like to.)
00:55:49 <alise> oerjan: it doesn't, but with all the /other/ things that book has, it must have at lesat an appendix
00:56:02 <alise> oerjan: You can't do upside-down, spiral, coloured, ... text and not have an appendix, really.
00:56:25 <oerjan> you'd need an umbilical too, i think
00:56:33 <oerjan> (at the front)
00:57:49 <alise> i was about to ask "is the umbilical removable?".
00:58:50 <oerjan> *+cord
00:59:20 <oerjan> "After contacting the original author by the (nowadays nostalgic) means of sending an e-mail to crowther@sitename, where sitename was every host currently on the Internet"
00:59:33 <alise> :)
00:59:44 <alise> ucb!vax!...
01:00:57 <oerjan> um that wouldn't be Internet, would it?
01:01:04 <oerjan> uucp iirc
01:01:11 <alise> I forget what the exact paths looked like.
01:01:20 <alise> But I know it passed through a lot of non-"Internet" nodes.
01:01:30 <alise> A lot of conversion and whatnot, and also path components with their own curious semantics.
01:01:42 <alise> Was a wonderful time, not that I saw it, a wonderful, chaotic time, but a wonderful time nontheless.
01:01:47 <alise> *nonetheless
01:01:54 <oerjan> i thought the Internet was sort of defined by having the usual dot addresses
01:02:25 <Ilari> There probably are valid Internet E-Mail addresses that don't have dots in them...
01:02:28 <fizzie> There's an epilogue in the fourth book (of h2g2), that might be considered as a sort of an appendix.
01:03:07 * alise takes a look at it. I don't remember that epilogue. A strange one it is.
01:03:20 <oerjan> Ilari: e-mail != internet, is what i thought
01:03:33 <oerjan> usenet definitely was not the same as internet
01:03:37 <fizzie> The epilogue and the story are a bit unrelated.
01:04:17 <Ilari> There is no technical reason why TLDs can't have MX records, and in fact, some do.
01:04:27 <oerjan> Ilari: oh well, that.
01:04:52 <coppro> governments should set up ccTLD email addresses for everyone
01:05:20 <alise> no, that's a very bad idea
01:05:25 <alise> governments should stay the fuck out of the internet
01:06:37 <coppro> Yes and no. Yes, the Internet should not be controlled by governments, but it would be unreasonable to let anyone else set up ccTLD email addresses for a nations' citizens
01:06:51 <alise> Oh, you mean like foo@uk?
01:07:02 <alise> I don't really believe in ccTLDs for people, anyway. People move.
01:07:11 -!- Oranjer has joined.
01:07:14 <alise> Corporations, sure, corporations never "move" as such.
01:07:44 <alise> People, though, and groups that aren't specific to one country, shouldn't be on ccTLDs. The whole point of the Internet, more or less, is to remove geographical boundaries from the picture.
01:16:35 -!- alise has quit (Quit: Lost terminal).
01:22:42 <zzo38> I make hypernet, using hypernet there is no TLDs or anything like that, and no central authorities or central servers, it is completely decentralized. Central authorities are for defining standard protocols and nothing else. Hypernet can pass through anything, including internet, sneakernet disks, ham radio, barcodes, even by somebody remembering all of the numbers and then traveling to another country to type number on other guy's computer!
01:23:09 <zzo38> A hypernet address might look like the following, for example: FM/4.30/DS.AXYPPRAPPREIOTUMQOIZUNVKKOURA.401
01:24:00 <zzo38> Or: FP/1.111.129944.393.4491.22/ST.OAJDGOIJWENTIVNNURNRUUEJJEOQNEIRNNF.62
01:24:38 <zzo38> ("FM" is "file (menu)", "FP" is "file (plain)
01:24:52 -!- ec has quit (Ping timeout: 240 seconds).
01:24:53 <zzo38> ", "DS" is "digital signature", "ST" is "static", etc)
01:26:03 -!- ec has joined.
01:27:46 -!- augur has quit (Ping timeout: 260 seconds).
01:30:38 -!- ws has quit (Quit: ...).
01:31:14 -!- zzo38 has quit (Quit: +++).
01:42:47 -!- Gregor has joined.
01:44:18 -!- alise has joined.
01:44:49 <alise> Hello.
01:45:35 <AnMaster> alise, http://omploader.org/vNGlocw (safe for work)
01:45:43 <AnMaster> alise, detail of the panorama thing in lego
01:45:47 <alise> You know, I don't not click NSFW links. :P
01:46:08 <oerjan> BUT BUT YOUR CHILDISH INNOCENCE
01:46:22 <AnMaster> alise, okay, http://omploader.org/vNGlobQ http://omploader.org/vNGlobg (sfw, at least if you work at lego, otherwise boss might think you should grow up) ;P
01:46:28 <AnMaster> alise, now that is both SFW and NSFW
01:46:36 <AnMaster> HOW WILL YOU HANDLE THAT?
01:46:48 <alise> okay, now make porn involving it
01:46:56 <AnMaster> alise, I can't imagine that
01:46:58 <AnMaster> I just can't
01:47:08 <alise> well you'd need to add a few holes
01:47:39 <AnMaster> alise, lego has a lot of holes in all those technic 1xn bricks
01:47:52 <AnMaster> as well as in the technic beams
01:48:16 <AnMaster> alise, also filebin is down
01:48:26 <alise> Q: I always disable the user list in IRC clients; am I crazy?
01:48:27 <AnMaster> which mean I can't upload video of it's operation
01:48:28 <AnMaster> :)
01:48:32 <AnMaster> alise, yes
01:48:37 <alise> AnMaster: Crazy suggestion here -- YouTube
01:48:42 <alise> I know, right? YouTube for videos?
01:48:44 <alise> Sheesh!
01:48:49 <alise> AnMaster: But... /names
01:49:01 <AnMaster> alise, well, depends on your needs I guess
01:49:23 <alise> Hmm, the tabs layout looks ugly with this xfce theme.
01:49:27 <AnMaster> alise, as an op, to review the user list, quite useful to have one on the side
01:49:33 <AnMaster> alise, what? No I don't want to become famous due to youtube ;P
01:49:39 <alise> AnMaster, you can make videos private
01:49:41 <AnMaster> plus I forgot if I had an account there or not
01:49:42 <alise> only visible to those with url
01:49:57 <AnMaster> and if I had an account, what the fuck the user name was
01:50:00 <AnMaster> or password
01:50:11 <alise> bleh... on one hand, xfce is convenient
01:50:22 <alise> on the other hand, it'd be better if i was motivated enough to make something i like myself
01:50:23 <AnMaster> alise, anyway I had problems recoding it. I got quicktime from my camera
01:50:38 <AnMaster> ffmpeg to recode as ogg theora gave abysmal quality
01:50:53 <alise> Deewiant: I made powerpill give aria quiet=true, because no matter how many packages I install they always download instantly
01:51:01 <alise> And aria2 is really noisy
01:51:06 <alise> So I never see any download progress at all :-)
01:51:17 <alise> Gotta love that download-all-dependencies-at-once-from-hundreds-of-servers-at-once tactic.
01:51:22 <alise> Surefire way to max out your connection.
01:52:10 <alise> My current desktop: http://imgur.com/cDUlo.png
01:52:20 <alise> Guess what login manager I'm using, anyone...
01:53:46 <alise> I'll tell you the browser, Namoroka. Which is apparently Mozilla's latest "can't touch this" alternative for those not blessed to use its real name, Firefox.
01:53:47 <Gregor> How about /bin/login
01:54:27 <alise> Gregor: xdm.
01:54:36 <alise> Interestingly enough, xdm can be made to look good.
01:54:55 <alise> You go into its Xresources file, disable all the borders, use an Xft font, and make it use actual RGB colours.
01:57:16 <alise> Gregor: Btw, hackego broke agin.
01:57:56 -!- EgoBot has quit (Remote host closed the connection).
01:57:56 -!- HackEgo has quit (Remote host closed the connection).
01:57:59 -!- EgoBot has joined.
01:57:59 -!- HackEgo has joined.
01:58:25 <alise> Gregor: it happens when you give it a lot of commands at once, I think
01:58:50 <Gregor> Even more so than usual I don't have time to deal with that now :P
01:59:33 <alise> Gregor: Oh, then you'll be interested to know ALL my ideas for lonelydino!--
01:59:43 <alise> And that was, in fact, sarcasm, just in case you were wondering. :P
01:59:50 <Gregor> Okidoke.
02:03:13 <alise> Whaaaat? Pidgin depends on cdparanoia.
02:03:26 <alise> :-D
02:03:32 <alise> Because it depends on some GStreamer thing which depends on cdparanoia.
02:05:37 -!- augur has joined.
02:09:13 <alise> Hi augur.
02:09:20 <augur> hey alise
02:09:30 <Gregor> Hello suspiciously cordial people.
02:09:31 <alise> I am having real trouble finding a good text source for H2G2. :-(
02:11:49 <alise> SOMEONE FIND IT FOR ME.
02:16:40 -!- relet has quit (Quit: Leaving.).
02:18:56 -!- oerjan has quit (Quit: And a splendid night to you too).
02:19:56 <AnMaster> alise, powerpill? aria?
02:20:03 <AnMaster> wft?
02:20:05 <AnMaster> wtf*
02:20:17 <alise> powerpill is a wrapper around the Arch package manager pacman
02:20:20 <alise> it uses aria2 to do downloads
02:20:30 <alise> aria2 is a program that, given a file -- called a metalink or some nonsense --
02:20:44 <alise> will download a file from many servers, listed in the file, at once -- including HTTP, FTP, bittorrent, etc.
02:20:51 <alise> we're talking dozens of servers at once for one single file
02:20:56 <alise> the effect is, it completely maxes out your connection
02:21:05 <alise> even if you never get full speed, aria2 certainly will
02:21:12 <AnMaster> alise, that's not nice
02:21:21 <alise> the whole point is speed...
02:21:23 <AnMaster> aalnetiquette and so on
02:21:26 <alise> ??
02:21:28 <AnMaster> alise, * netiquette and so on
02:21:29 -!- HackEgo has quit (Remote host closed the connection).
02:21:29 -!- EgoBot has quit (Remote host closed the connection).
02:21:31 -!- HackEgo has joined.
02:21:31 -!- EgoBot has joined.
02:21:31 <alise> you're an idiot
02:21:32 <AnMaster> is what I meant to type
02:21:35 <alise> how does it violate netiquette?
02:21:43 <alise> it doesn't overload any server
02:21:47 <AnMaster> alise, well, it hogs a lot of mirrors
02:21:53 <alise> no, it doesn't hog them
02:22:00 <alise> anyway it's officially supported by a lot of stuff, so that's just rubbish
02:22:00 <alise> http://aria2.sourceforge.net/
02:22:04 <AnMaster> which makes it slower for other users if they are already near fully loaded
02:22:10 <AnMaster> alise, okay then
02:22:26 <AnMaster> alise, anyway, the mirror I use maxes my connection with normal wget
02:22:29 <AnMaster> so I'm happy
02:22:38 <alise> maxes as in all you ever get, or maxes as in what your ISP says you should get?
02:22:43 <alise> aria2 gives you the latter almost always
02:22:51 <alise> anyway, powerpill just downloads all the files of a package and its dependencies with aria2 given all the arch mirrors.
02:22:56 <AnMaster> alise, those two are close to each other
02:22:56 <alise> (simultaneously)
02:23:00 <AnMaster> I should get 8 mbit/s
02:23:17 <alise> AnMaster: I used to get 200-300KiB/s on downloads usually. 8 Mbit rated connection. aria2 gave me 800 KiB/s.
02:23:20 <AnMaster> I get 950 kB/s normally
02:23:24 <alise> far away from exchange
02:23:39 <AnMaster> alise, I'm just 50 kiB short of what I should get
02:23:45 <AnMaster> and that is probably TCP overhead and such
02:23:51 <alise> Well, you're lucky. Most people aren't so.
02:24:34 <AnMaster> alise, that is when I'm lucky, more often I get around 800 kiB/s from mirrors.kernel.org
02:24:44 <AnMaster> alise, which is still very good
02:25:04 <AnMaster> and about what you got with aria2
02:25:29 <AnMaster> alise, just use a good mirror, like mirrors.kernel.org
02:25:38 <alise> I've used every mirror there is, more or less
02:25:46 <AnMaster> alise, mirrors.kernel.org is just 12 hops away from me
02:25:59 <AnMaster> $ host mirrors.kernel.org
02:25:59 <AnMaster> mirrors.kernel.org is an alias for mirrors.geo.kernel.org.
02:26:04 <AnMaster> aha
02:26:08 <AnMaster> it goes to a mirror in Sweden
02:26:09 <AnMaster> :D
02:26:15 <AnMaster> umu.se
02:26:23 <AnMaster> I think that is Umeå University
02:26:35 <AnMaster> which is in north Sweden, so could have been closer
02:26:53 <AnMaster> alise, still best mirror ever for me, much better than other .se mirrors
02:29:40 <AnMaster> night →
02:29:40 <Sgeo_> alise, is picking the parts that I want, and scaling back if it goes over $1000, sensible?
02:29:44 <Sgeo_> Night AnMaster
02:31:00 <alise> DAEMONS=(syslog-ng @network !netfs @crond @oss)
02:31:08 <alise> ASYNCHRONICITY FUCK YEAH
02:32:36 <alise> Anyone used xfce's wm?
02:32:45 <alise> How do I stop it focusing a window when I use the scroll wheel in it?
02:44:58 -!- alise has quit (Remote host closed the connection).
02:47:47 -!- alise has joined.
02:50:53 <alise> What is it with yaourt and baffling periods of complete silence in which it does nothing?
03:00:32 <alise> Anyone know what part of gstreamer offers gstreamer-properties(1)?
03:04:47 <alise> sqlite3.c:45653:34: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true
03:04:56 -!- calamari has joined.
03:05:09 <alise> Oh no, it's calamari.
03:05:19 <calamari> alise: ??? :)
03:05:27 <alise> Well, you're an octopus!
03:05:40 <alise> Not exactly an ... alive one, admittedly, but...
03:05:41 <calamari> nope, you're safe
03:05:52 <calamari> I'm a squid
03:06:00 <alise> err, right
03:06:01 <calamari> although arent octopus worse?
03:06:06 <calamari> err squid
03:06:07 <calamari> lol
03:06:15 <alise> all those deep sea things with tentacles are basically the same imo
03:06:20 <alise> no point distinguishing them right?
03:06:29 <calamari> not really.. octopus are much smarter than squid
03:06:40 <alise> yeah, I really care about that :-P
03:07:11 <calamari> and besides, calamari is actually a star wars return of the jedi reference
03:07:16 <alise> Gosh, the Mozilla source code really does take a long time to compile.
03:07:29 <alise> Serves me right for installing OSSv4.
03:07:42 <alise> I should have stuck with the nice big friendly, warm ball of mud that is ALSA.
03:08:04 <alise> How on earth that is related to Mozilla, you may all speculate.
03:08:16 <calamari> I tried OSSv4 but it wouldn't recognize my sound card
03:09:07 <alise> I just use onboard sound because the only sound card that matters is Soundblaster anyway
03:09:12 <alise> What do you have, some silly X-Fi nonsense? :P
03:10:23 <calamari> it's an older card that I've kept around because I like my roland sound canvas daughterboard (for midi)
03:10:42 <calamari> 02:02.0 Multimedia audio controller: Aureal Semiconductor Vortex 2 (rev fe)
03:11:04 <calamari> Although it really is something like turtle beach montego
03:11:46 -!- CakeProphet has quit (Ping timeout: 248 seconds).
03:12:05 <calamari> came installed in a dell p3 600MHz
03:12:59 <alise> Bah, get a Roland MT-32.
03:13:08 <alise> Then fail to ever figure out how to connect it properly. Like I did!
03:13:28 <alise> But seriously, that MT-32 is a beast. Totally reprogrammable sounds, perfect-sounding default set...
03:13:46 <alise> Has a little LED display; games used to display little messages on them when they started up as a goodie to whoever was lucky enough to own an MT-32.
03:13:52 <alise> Surprisingly heavy!
03:14:05 <alise> The sound that comes out has a little analogue fuzz in the background; quite endearing.
03:14:43 <calamari> alise: I don't have that unit, but the card I have is basically related
03:14:49 <calamari> probably has the same sound set
03:15:37 <alise> calamari: but that's the thing, the base MT-32 set isn't the special thing
03:15:44 <alise> it could be reprogrammed on-the-spot to produce different sounds
03:15:53 <alise> so indeed the things that sound so good with the MT-32 are because they reprogram it
03:15:57 <alise> thus the imitation cards are basically useless
03:19:16 <calamari> the turtle beach card can be reprogrammed.. but I liked the sound set on the scb-15 so I use it
03:19:28 <alise> a beach with turtles
03:20:07 <calamari> I tried different sound fonts, and it just never sounded right.. I'd heard the songs too many times the other way
03:20:34 <alise> I love the music from Monkey Island on an MT-32.
03:20:40 <calamari> actually iirc mt-32 was a selectable subset
03:20:47 <calamari> it wasn't the main sounds
03:20:59 <alise> Sounds fresh 19 years later. Or is it 20? Gosh.
03:21:06 <alise> I'm saying "gosh" an awful lot today.
03:21:20 <alise> xulrunner-oss is *still* building.
03:21:55 <calamari> and dd_rescue has been trying to pull bits from this microSD card for around 24 hours now
03:22:07 <calamari> I wish I could tell the kernel not to try so hard
03:22:31 <calamari> yes it's a broken card, no need for three 180 second timeouts to confirm that
03:23:11 <alise> the answer to "why do I need to rebuild xulrunner because of my sound system", incidentally, is "because <video> and <audio> would use ALSA otherwise".
03:23:53 <calamari> does flash use what is built into the browser?
03:25:51 <alise> Flash has its own thing
03:26:21 -!- coppro has changed nick to oppro.
03:26:28 -!- oppro has changed nick to coppro.
03:26:41 <alise> pooppy
03:27:46 <alise> calamari: how many files does mozilla have do you know?! far too many anyway
03:28:18 <calamari> not sure.. haven't used mozilla in many years.. been using firefox/iceweasel
03:29:06 <alise> Well, I mean Firefox.
03:29:11 <alise> But the essential XULRunner codebase is the same, I think.
03:29:35 <alise> "Namoroka" is the current codename so that's what I get on Arch
03:29:47 <alise> It's nicer than "Bon Echo", at least, and I forget what the other one was.
03:34:18 <alise> Finally! It is compiled!
03:34:36 <alise> coppro: could you `addquote the quote you added to the topic instead? I like just having the log url :<
03:34:38 <alise> or, you know, just remove it
03:35:40 <alise> ==> Finished making: xulrunner-oss 1.9.2.3-1 x86_64 (Sun Jun 6 03:35:11 BST 2010)
03:35:40 <alise> \o/
03:37:15 <alise> ==> Continue installing xulrunner-oss ? [Y/n]
03:37:15 <alise> ==> [v]iew package contents [c]heck package with namcap
03:37:15 <alise> ==> ---------------------------------------------------
03:37:15 <alise> ==>
03:37:15 <alise> Password:
03:37:18 <alise> [hang]
03:37:20 <alise> Uh oh.
03:38:16 <coppro> alise: never
03:38:23 <alise> coppro: why not?
03:38:34 <coppro> not addquote-worthy imo
03:38:40 <alise> then just delete it
03:38:44 <alise> like i said
03:40:57 <alise> i think powerpill is not working.
03:41:07 -!- poiuy_qwert has joined.
03:41:11 -!- CakeProphet has joined.
03:43:51 <coppro> alise: you're free to
03:44:03 <alise> SO ARE YOU :P
03:44:07 <alise> `quote
03:44:09 <HackEgo> 91|<oklopol> actually just ate some of the dog food because i didn't have any human food... after a while they start tasting like porridge
03:44:17 <alise> `quote
03:44:19 <HackEgo> 163|<fungot> alise: why internet is like wtf
03:44:24 <alise> `quote
03:44:26 <HackEgo> 61|<fizzie> Seconds. 30 of them. Did I forget the word?
03:44:37 <alise> `quote
03:44:39 <HackEgo> 148|<Keiya> Why are the cops in GTA always so obsessed with my asshole?
03:44:41 <alise> `quote
03:44:43 <HackEgo> 134|<Warrigal> A person's sex is not the same thing as their penis length.
03:44:46 <alise> `quote
03:44:47 <HackEgo> 5|<Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order.
03:44:57 <alise> `quote
03:44:59 <HackEgo> 45|<PoPSiCLe> ah... the biggest problem with great Norwegian hip hop lyrics is that they're completely impossible to translate
03:45:50 <uorygl> I wonder why I said that a person's sex is not the same thing as their penis length.
03:46:37 <alise> Because it isn't, duh!
03:48:17 -!- alise has quit (Remote host closed the connection).
03:53:57 -!- alise has joined.
03:54:01 <alise> FUCKING FUCKITY FUCK
03:54:18 <alise> so yaourt builds shit in /tmp, i had to reboot before the RESULT OF AN HOUR-LONG COMPILATION PROCESS installed
03:54:28 <alise> turns out arch oh so helpfully removes every temporary file on bootup
03:54:30 <alise> as an actual bootup step
03:54:33 <alise> i cancelled it as soon as i realised
03:54:41 <alise> it managed to delete the resulting package file but not the source
03:54:51 <alise> give me a good reason not to kill myself right now?
03:55:23 <alise> You know what? Fuck HTML5. I'm using ALSA xulrunner and dealing with the lack of sound.
03:55:30 <alise> Fuck my life.
03:55:38 <alise> Fuck fuck fuckity fuck.
03:56:47 <alise> Anyone here believes there's a God? Or a meaning to life? Because you're wrooooooooooooong
03:56:54 <alise> And I have just experienced living proof
03:58:00 <uorygl> Koillinen, kaakko, lounas, luode.
03:58:34 <uorygl> alise: yes, but I don't say all true statements.
03:58:48 <alise> uorygl: wat
03:59:10 <uorygl> To paraphrase, you gave "because it's true" as a reason why I said something.
03:59:20 <alise> Believes, I said, not said.
04:00:05 <uorygl> Hm? I said, "I wonder why I said that a person's sex is not the same thing as their penis length.", and you said, "Because it isn't, duh!"
04:05:37 <alise> Oh.
04:05:42 <alise> I thought you meant <alise> Anyone here believes there's a God? Or a meaning to life? Because you're wrooooooooooooong
04:05:52 -!- zzo38 has joined.
04:05:54 <zzo38> Sorry, the SUMMON CTHULHU command is still broken.
04:06:53 -!- poiuy_qwert has quit (Quit: Leaving).
04:08:00 <alise> Thank god.
04:14:23 <zzo38> One day I shall fix it, but the syntax and operation of the command will still depend on operating system and server configuration (and maybe even the phase of the moon....no, probably not depend on the phase of the moon)
04:16:52 <zzo38> HELP command doesn't work before log in to IRC, but now I fixed it so that it can work even before log in to IRC!
04:17:13 <zzo38> http://zzo38computer.cjb.net/irc_log/help.txt
04:21:25 <zzo38> Do you think anything is missing or wrong in help file?
04:21:36 <zzo38> Or, any suggestion of improvement?
04:22:34 <alise> nope.
04:22:55 <Sgeo_> alise, people can give their own lives meaning if they want to
04:23:44 <alise> I LOST IT
04:23:54 <zzo38> Is it good? If you have important question, perhaps I can add in FAQ?
04:36:50 <alise> la
04:37:21 -!- CakeProphet has quit (Ping timeout: 276 seconds).
04:40:02 <alise> 4:39; how did that happen again?
04:41:55 <alise> Ah well.
04:46:46 <alise> lada
04:52:46 <alise> LOL
04:52:50 <alise> I figured out the package manager problem
04:52:54 <alise> yaourt is told to call pacman
04:52:56 <alise> erm
04:52:57 <alise> yaourt is told to call powerpill
04:53:01 <alise> powerpill is told to call yaourt
05:02:28 <zzo38> Now you should fix it
05:02:41 <alise> That is indeed what I did. Hooray.
05:03:05 <zzo38> Now is good?
05:03:21 <alise> Is good.
05:03:25 <zzo38> OK
05:06:56 <zzo38> Once I add in a "ChannelTypes" configuration option I might release my codes (currently it is hard-coded, and I don't want to release the codes lie this). Should I perhaps make a bit different name of a program?
05:10:27 <alise> 5:09 am, I should probably sleep
05:13:09 -!- sandhh has joined.
05:13:16 <alise> hi sandhh
05:14:57 <sandhh> hi alise
05:15:41 -!- sandhh has left (?).
05:17:31 <alise> My urge to create my own distro seems to be rekindling.
05:17:40 <alise> Anyone up for a fun burst of minimalism like last time? :P
05:17:48 <zzo38> What distro do you want to create?
05:18:23 <alise> The one I was trying to create before: very minimalist Linux distro with almost everything stripped down, almost all software replaced with more minimalist alternatives, probably statically linked everything, maybe even non-gcc compiler, non-glibc libc, ...
05:18:39 <alise> custom init system that's basically just a shell script
05:18:46 <alise> plus the thing i've finally figured out, the perfect package&configuration manager
05:19:13 <zzo38> OK, you can try. I also have idea for writing Linux distribution as well! (Once I get another computer I will start to do so)
05:19:37 <alise> I think I'll probably call the package manager bake, because it lets me call the files it uses dough.
05:19:57 <alise> /var/dough/xorg/dough.rc # or something
05:20:04 <alise> basically the idea is --
05:20:16 <alise> zzo38: do you know how some distributions, when you install a package, will configure other packages to use it when they're closely related?
05:20:23 <alise> Like, say, they'll add it to a menu or something more complex.
05:20:36 <zzo38> alise: No, I don't know how, I have not heard of it before
05:20:45 <alise> zzo38: Well, that's what they do. Pretty simple, right?
05:20:54 <alise> They'll edit the menu file, or add it to some daemon-spawner's configuration file, etc.
05:21:09 <zzo38> Yes, OK I understand
05:21:18 <alise> Well, the idea behind bake is to reject the idea that the unit is the "package".
05:21:22 <alise> Instead, it's the "configuration".
05:21:35 <alise> For instance, the firefox configuration expresses the configuration state of "having Firefox installed".
05:21:38 <alise> Why is this a good idea?
05:21:53 <alise> Consider a hypothetical firefox-in-gnome-menu configuration.
05:22:04 <alise> This configuration would express the configuration state of "having Firefox in the GNOME menu".
05:22:13 <alise> It would include the code to do and undo this.
05:22:17 <zzo38> Still, in *my* package manager, it will not do configuration of other packages once a package is installed, except possibly if a package depends on another package, it might do something (but only minimally)
05:22:31 <alise> The firefox package would have the rule that if GNOME is installed, the firefox-in-gnome-menu configuration is a reccomended package (but NOT a dependency).
05:22:56 <alise> Also, if there is some Apache module to install, it'd be apache-module-foo and /also/ apache-module-foo-configured that would try and edit the Apache configuration file to configure it.
05:23:09 <zzo38> Ah, OK, I suppose that is sense (if your package manager supports recomend mode)
05:23:13 <alise> The point is that you can control exactly how much it's integrated into the system, and also manage various configuration tasks, all from within the same framework.
05:23:24 <zzo38> Yes, it is sense now.
05:25:11 <zzo38> Do you know anything about NT object manager? Do you know how I can make it allow override of some standard DOS devices?
05:25:15 <zzo38> I have other questions also?
05:25:29 <alise> I don't know much about Windows, but I might know something about your other qusetions.
05:25:45 <zzo38> The other questions are also about NT object manager
05:26:39 <zzo38> I can see in the process explorer that ngircd.exe has the Section named \BaseNamedObjects\cygwin1S5-b99ad95be22e68fe\shared.5
05:26:40 <alise> Oh.
05:26:48 <Sgeo_> http://www.youtube.com/watch?v=sVY4SPk__Yc&feature=player_embedded
05:26:51 <Sgeo_> <3
05:29:37 <zzo38> I do have a program called "ddd.exe" to assign drive letters and DOS device names for objects in the NT object manager. But some driver is filling up COM3-COM9 so only COM2 can be assigned in this way (drive letters can also be assigned).
05:37:01 -!- calamari has quit (Quit: Leaving).
05:37:10 <alise> d
05:38:17 -!- CakeProphet has joined.
05:39:29 <zzo38> I found that if I use "ddd com2 \Device\Floppy1" then I can use "type com2", but other commands such as "copy" won't work.
05:39:37 -!- poiuy_qwert has joined.
05:40:09 -!- augur has quit (Remote host closed the connection).
05:41:49 -!- sandhh has joined.
05:46:04 -!- sandhh has quit (Ping timeout: 240 seconds).
05:52:34 -!- augur has joined.
05:52:47 <zzo38> However, I tried "type com2 > floppy1" and that way I did get a copy of the disk image.
05:55:51 <zzo38> However, the disk image created in this way cannot be mounted (the NT object manager does not support it; it just gives a error message about "The directory name is invalid" if it is tried)
05:56:15 <alise> Good night.
05:56:19 -!- alise has quit (Quit: Leaving).
06:00:51 -!- Oranjer has left (?).
06:01:32 -!- augur has quit (Remote host closed the connection).
06:01:37 <Gracenotes> time to fix programs the fun way
06:02:12 <Gracenotes> compile. look at what causes the multitude of error messages and fix that throughout the source code. repeat.a
06:03:39 <zzo38> I can see devices in the NT object manager that I don't know, including "PointerClass1", "ParTechInc2", "PROCEXP100", "0000007f", "KSENUM#0000002b", and so on...
06:04:13 <Gracenotes> hackers have taken over your computer
06:04:35 <Gracenotes> securely wipe it and use military-grade metal shredding
06:04:55 <zzo38> Is there some setting somewhere to prevent it from automatically assigning drive-letters (and other DOS device names) to USB devices?
06:09:39 <zzo38> I found another thing with "ddd". If I use "ddd z: \", I can then use commands such as "type z:\Device\HarddiskVolume2\config.sys" even though "dir z:\Device\HarddiskVolume2\" does not work.
06:21:00 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
06:28:32 <zzo38> Using the "ddd z: \" and using "type" with various objects, I get all different kind of error messages depending on what I access, and some things do actually work.
06:28:57 <zzo38> Note that "type z:\Device\Null" does not work, but "type z:\Device\Null\" works.
06:30:33 <coppro> ...
06:30:54 <zzo38> NT object manager seems to act strangely
06:32:05 <coppro> no kidding
06:43:33 <zzo38> Does Microsoft even understand it? They invented it.
06:43:56 <coppro> I don't think the issue is the object manager
06:44:00 <zzo38> Surely the people to invent ReactOS will have to learn to understand it.
06:44:05 <coppro> but rather whatever it's trying to interface with
06:47:10 <zzo38> I think the NT object manager itself is strange. But at least I figured out a few things, such as that assigning COM2 to a floppy drive and then using "type com2 > outputfile" will work.
06:48:11 <zzo38> It creates a 1474560 byte file.
06:48:23 <coppro> hah
06:48:26 <coppro> neat
06:50:09 <zzo38> I also found out that "subst" entries and "ddd" entries are treated in the same way. That is, "subst z: /d" will do the same as "ddd -r z:", but "subst z: /d" will show an error message if it is not defined in the same way that subst entries are defined.
06:55:10 <zzo38> I just tried now, using "ddd z: \" will not allow "/cygdrive/z" to appear in Cygwin ("ls /cygdrive" just lists c and f)
06:55:40 -!- SgeoN1 has quit (Quit: Bye).
06:55:43 -!- zzo38 has quit (Quit: zzo38).
06:55:54 -!- Rugxulo has joined.
07:20:10 -!- Rugxulo has left (?).
07:29:14 -!- augur has joined.
07:57:26 -!- SevenInchBread has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:24 -!- CakeProphet has quit (Ping timeout: 264 seconds).
08:20:56 -!- MigoMipo has joined.
08:57:41 -!- augur has quit (Remote host closed the connection).
08:57:50 -!- augur has joined.
09:09:28 -!- augur has quit (Remote host closed the connection).
09:09:57 -!- augur has joined.
09:47:21 -!- relet has joined.
10:05:11 -!- KingOfKarlsruhe has joined.
10:10:48 -!- MizardX has quit (Ping timeout: 276 seconds).
10:13:16 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:41:13 -!- tombom has joined.
11:02:30 <AnMaster> I just invented the most evil mix of switch and goto that I ever seen in C, just to save 6 bytes on the binary. (went from 650 to 644 bytes)
11:02:52 <AnMaster> http://sprunge.us/cOcN
11:03:41 <AnMaster> in my defence: this is embedded programming
11:08:02 -!- augur has quit (Remote host closed the connection).
11:11:18 <tombom> how is that evil
11:11:26 <tombom> it's less confusing than duff's device
11:11:41 <AnMaster> tombom, well okay true
11:11:50 <AnMaster> tombom, still more evil than the C I usually write
11:12:04 <AnMaster> also, coding for stuff that runs in interrupt handlers is tricky
11:12:13 <tombom> if it's embedded programming i think that's inevitable
11:12:20 <AnMaster> well yes
11:13:00 -!- augur has joined.
11:14:47 -!- BeholdMyGlory has joined.
11:24:39 -!- oerjan has joined.
11:29:06 -!- FireFly has joined.
11:34:19 <oerjan> <alise> turns out arch oh so helpfully removes every temporary file on bootup <-- i vaguely thought this was standard /tmp behavior
11:34:45 <oerjan> and /var/tmp was supposed to be used for things that should survive bootup
11:36:25 <oklopol> "<oerjan> didn't oklopol say something about this dice-rolling trick" <<< probably.
11:36:35 <oerjan> >_>
11:41:09 <oklopol> >_>?
11:41:20 <oklopol> i mean i've used dices tons amount
11:41:27 <oklopol> and i have noticed the thinmg
11:41:29 <oklopol> *thing
11:41:42 <oklopol> that sometimes i do know what i want after i've thrown the dice
11:41:54 <oerjan> oklopol: i detected a slight pun
11:42:12 <oerjan> yes, and i thought i recalled you saying so
11:54:18 <oklopol> oh okay
11:54:33 <oklopol> it was accidental, as you (probably) know by know
11:58:56 -!- oklopol has quit (Ping timeout: 260 seconds).
12:03:38 <AnMaster> <oerjan> <alise> turns out arch oh so helpfully removes every temporary file on bootup <-- i vaguely thought this was standard /tmp behavior <-- it is
12:04:49 <AnMaster> <oerjan> and /var/tmp was supposed to be used for things that should survive bootup <-- true but IMO it makes no sense.. Should be called /var/persistent or something ;P
12:08:33 <oerjan> um it's not really persistent is it, iirc it can be deleted on a longer time scale
12:09:17 <oerjan> obviously the real persistent files are in everywhere _other_ than */tmp/
12:14:37 <Ilari_antrcomp> Fun... Xorg wedged and the install is messed up and doesn't start. Seems like that one has to reinstall everything relating to X to fix it...
12:33:36 -!- oerjan has quit (Quit: Later).
12:47:45 -!- Gregor has quit (Ping timeout: 252 seconds).
12:53:11 -!- lament has joined.
13:28:24 -!- lament has quit (Ping timeout: 276 seconds).
13:40:02 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
13:58:09 -!- sebbu2 has joined.
13:58:09 -!- sebbu has quit (Ping timeout: 252 seconds).
13:58:14 -!- sebbu2 has changed nick to sebbu.
14:02:26 <SevenInchBread> mmmm
14:02:30 -!- SevenInchBread has changed nick to CakeProphet.
14:02:58 -!- CakeProphet has quit (Changing host).
14:02:58 -!- CakeProphet has joined.
14:28:41 <Ilari> Hmm... Language where operators include numbers, indirection operator, addition, substraction, multiplication, quotent, remainder, comparision operators, if and while...
14:30:59 <Ilari> Oh, and assignment.
14:31:23 -!- alise has joined.
14:31:29 <alise> Hihi.
14:32:38 <alise> 03:02:30 <AnMaster> I just invented the most evil mix of switch and goto that I ever seen in C, just to save 6 bytes on the binary. (went from 650 to 644 bytes)
14:32:38 <alise> 03:02:52 <AnMaster> http://sprunge.us/cOcN
14:32:39 <alise> not evil at all
14:32:43 <alise> perfectly understandable
14:33:18 <alise> 03:34:19 <oerjan> <alise> turns out arch oh so helpfully removes every temporary file on bootup <-- i vaguely thought this was standard /tmp behavior
14:33:22 <alise> yes but is it really necessary?
14:33:25 <alise> it's active genocide
14:33:28 <alise> 03:34:45 <oerjan> and /var/tmp was supposed to be used for things that should survive bootup
14:33:33 <alise> well the package install is meant to go in one go
14:33:39 <alise> it's just that it froze my computer...
14:33:50 <Ilari> Duff's device is much more obscure than that construct.
14:34:19 <alise> Yes.
14:34:26 <alise> 06:28:41 <Ilari> Hmm... Language where operators include numbers, indirection operator, addition, substraction, multiplication, quotent, remainder, comparision operators, if and while...
14:34:30 <alise> Sounds like... a regular programming language
14:34:48 <alise> I appear to be relatively happy with this Arch / minimal XFCE setup.
14:35:03 <alise> LILO loader, JFS filesystem, OSSv4 sound system... and RAS syndrome.
14:35:06 -!- asiekierka has joined.
14:35:07 <asiekierka> OH NO
14:35:11 <asiekierka> I AM HERE
14:35:13 <alise> So really basically nothing in the base system is standard :-)
14:35:24 <alise> That would be grub, ext[34], alsa/even pulseaudio...
14:35:48 <alise> Hmm, apparently OSS doesn't support suspend.
14:36:04 <alise> That's a bit sad.
14:36:47 <asiekierka> im thinking about esolangs
14:37:53 <alise> How exciting.
14:38:36 <alise> Deewiant: what is it with people going from and to ubuntu and arch?
14:38:48 <alise> ubuntu->arch and arch->ubuntu seem to be... everywhere on the arch linux forums
14:38:51 <alise> they're not exactly similar distros...
14:39:19 <Deewiant> They're the two most talked about nowadays?
14:39:25 <Deewiant> Beats me
14:39:41 <alise> Yes, but it's something more than that; other distros like Gentoo and ... other ones don't have nearly as much Ubuntu interchange.
14:39:50 -!- MizardX has joined.
14:39:53 <alise> It's funny because I think the kind of person who likes one is the kind of person who wouldn't like the other.
14:40:23 * alise wonders why arch's gstreamer packages doesn't have gstreamer-properties
14:41:32 <Deewiant> Googling suggests Fedora's don't either; try gnome-media
14:42:21 <alise> Ah, it's GNOME.
14:42:29 <alise> I don't even have gconf installed, yet apparently gstreamer use it. How does that work...
14:42:40 <alise> Deewiant: What's that thing you said you used for packages now?
14:42:47 <Deewiant> clyde
14:43:00 <alise> Clyde is a next-generation libalpm/makepkg wrapper with AUR support, multithreaded downloading, and colorized output.
14:43:03 <alise> Shit, why didn't you tell me about this
14:43:05 <alise> >_>
14:43:06 <alise> :P
14:43:09 <Deewiant> I did :-P
14:43:28 <alise> Mind, I still have an urge for that aria2 magic...
14:44:17 <alise> In all seriousness: It should be perfectly safe to use, it only lacks a few
14:44:17 <alise> features that pacman has. Bugs can be posted to github under issues or at
14:44:17 <alise> http://bugs.archuser.com/index.php?project=4 or DigitalKiwi on freenode
14:44:29 * alise takes this as an invitation to bug em about aria2c
14:45:50 <alise> lol, it has its own getopt_long function for lua
14:45:56 <alise> Lua is so amazingly ugly
14:46:21 <alise> it's like mediocrity in language form, it's boring and ... slow to write, sort of thing, verbose but not in the way that Java is, in every possible way
14:49:23 <alise> Bauerbill is an extension of Powerpill that supports downloading and building packages from ABS, the AUR. CPAN and Hackage. As an extension of Powerpill it supports download acceleration via parallel and segmented downloads, including for source files when building packages. It also includes internal support for Reflector, Rebase and PkgD. Read the bauerbill and powerpill man pages for a more information.
14:49:28 <alise> WHAT IS IT WITH ARCH USERS AND WRAPPING PACKAGE MANAGERS
14:51:39 <alise> Now I need to decide between bauerbill, yaourt calling powerpill, and clyde. Ffff :)
14:52:34 <Deewiant> yaourt -Q 36.74s user 40.17s system 96% cpu 1:19.37 total
14:52:34 <Deewiant> bauerbill -Q 0.17s user 0.03s system 96% cpu 0.205 total
14:52:35 <Deewiant> clyde -Q 0.07s user 0.04s system 81% cpu 0.140 total
14:52:47 <Deewiant> yaourt -Ss svn 5.51s user 3.51s system 77% cpu 11.583 total
14:52:50 <Deewiant> bauerbill -Ss svn --aur 2.81s user 0.24s system 57% cpu 5.331 total
14:52:53 <Deewiant> clyde -Ss svn 0.35s user 0.16s system 51% cpu 1.005 total
14:52:57 <alise> Okay, point made. Definitely not yaourt.
14:53:11 <alise> But bauerbill has aria2c :(
14:53:17 <alise> but clyde is better made :(
14:53:32 <Deewiant> I care more about search speed than download speed
14:53:45 <alise> Deewiant: Remind me again of the speed of your connection?
14:53:54 <alise> In kibibytes-actually-achieved.
14:54:09 <Deewiant> With my current mirror... not sure
14:54:17 <Deewiant> Maybe a tenth of with aria2
14:54:22 <alise> Just give me roughly.
14:54:36 <Deewiant> Around a megabyte per second, I think
14:54:50 <alise> Mebibyte, that is?
14:55:01 <Deewiant> Around a megabyte == around a mebibyte
14:55:14 <alise> No, around a megabyte = around 1,000,000 bytes.
14:55:40 <alise> Deewiant: Well, I guess if you accept aroundness as allowing errors like that
14:55:53 <alise> Around 10 megabytes = around 9 megabytes = around ... = around 0 bytes
14:56:07 <Deewiant> :-P
14:56:11 <Deewiant> Around 1349.8 K/s
14:56:22 <alise> So, 1000 KiB/s, let's say. I get 800 KiB/s at absolute optimum (without aria2, at least). Usually, it's more like 300-400 KiB/s.
14:56:22 <Deewiant> Based on a few -Syu which downloaded nothing
14:56:32 <Deewiant> (Only the databases)
14:56:43 <Deewiant> With aria2, it was more like 11 M/s
14:56:44 <alise> So as you can see, Resident of the Ivory Tower of Speed, I need aria2 a bit more than you do. :P
14:56:52 <alise> Deewiant: 11 MiB/s? wtf fuck you
14:56:54 <alise> :|
14:57:12 <Deewiant> It often managed to find some really slow mirror though
14:57:21 <Deewiant> So it downloaded everything really fast and then hung for 10 seconds for some 100 kilobyte file
14:58:30 <alise> Eh? aria2 uses multiple mirrors, doesn't it?
14:59:00 <Deewiant> I don't know how it works but that's the end result I often saw
14:59:17 <alise> [ehird@ping ~]$ yaourt -Rcs yaourt
14:59:19 <alise> It's social commentary
14:59:25 <Deewiant> My guess is it just splits files and downloads separate parts from separate mirrors
14:59:31 <alise> Packages that were installed as dependencies but are no longer required by any installed package:
14:59:31 <alise> pacman
14:59:35 <Deewiant> There was a "minimum size to start splitting" configuration somewhere, I think
15:00:41 <alise> I guess bauerbill is perfectly cromulent.
15:01:17 <Deewiant> Whatever works for you
15:01:46 <alise> And in a burst of stunning intelligence, I remove yaourt before installing bauerbill, which I'm gonna bet isn't in the repos.
15:02:09 <Deewiant> It's probably good to learn how AUR is used manually anyway :-P
15:02:50 <alise> No, I've done it before and it's painful
15:03:01 <Deewiant> Painful?
15:03:09 <Deewiant> Download, untar, makepkg, pacman -U
15:03:41 <alise> You're painful
15:03:44 <alise> So nyah
15:04:02 <Deewiant> shrug
15:04:40 <alise> An extension of Powerpill which brings download acceleration, ABS, AUR, CPAN and Hackage support to Pacman, among other things.
15:04:43 <alise> Hackage support?
15:04:50 <alise> I am marrying this program now
15:04:53 <Deewiant> Yep... CPAN and Hackage
15:05:12 <Deewiant> I like to keep those things separate so it just seems bloaty to me :-P
15:05:20 <alise> Resolving aur.archlinux.org... 208.92.232.29
15:05:20 <alise> Connecting to aur.archlinux.org|208.92.232.29|:80... connected.
15:05:20 <alise> HTTP request sent, awaiting response... 200 OK
15:05:20 <alise> Length: 759 [application/x-tgz]
15:05:20 <alise> Saving to: “bauerbill.tar.gz”
15:05:29 <alise> Hmmmmmm.
15:05:43 <alise> Huh, that's actually correct
15:05:53 <Deewiant> :-P
15:05:55 <alise> #Maintainer: Xyne <ac xunilhcra enyx, backwards>
15:05:58 <alise> that's really excessive, sir.
15:06:00 <Deewiant> It's typically just the pkgbuild
15:06:05 <Deewiant> Sometimes, some patches
15:06:36 <alise> bauerbill'd up
15:06:59 <alise> Installing kernel26-ck from AUR will build the kernel, won't it.
15:07:11 <alise> All I want is the Brain Fuck Scheduler!
15:07:34 <Deewiant> And to have that, don't you need to build a kernel? :-P
15:07:51 <alise> Schedulers should eb modules >_>
15:07:59 <alise> *be
15:08:13 <Deewiant> Oh, right, that feature I try to keep disabled... I tend to forget modules even exist :-P
15:08:31 <alise> You'll like my distro, then :P
15:08:34 <alise> WHO NEEDS MODULES.
15:08:50 <Deewiant> I unfortunately need them since I need fglrx
15:08:57 <alise> AS I NEED NVIDIA
15:08:58 <alise> BUT BAH
15:09:02 <alise> SURELY YOU CAN COMPILE NVIDIA IN
15:09:13 <Deewiant> If they give you the source, yes ;-P
15:09:14 <alise> oh bauerbill wants to build as root
15:09:18 <alise> that is ensaddening
15:09:25 <AnMaster> <Ilari> Duff's device is much more obscure than that construct. <-- not really, it is infamous enough to be fairly well known ;P
15:09:26 <alise> Deewiant: Just link it in with magic :P
15:09:40 <Deewiant> I'm not magic enough
15:09:43 <AnMaster> (different meaning of obscure though)
15:10:02 <alise> INSUFFICIENT MAGIC.
15:10:12 <Deewiant> INSERT MORE MAGIC
15:10:26 <AnMaster> what is bauerbill?
15:10:26 <alise> MAGIC
15:10:27 <alise> [^]
15:10:29 <alise> erm
15:10:31 <alise> MORE MAGIC
15:10:32 <alise> [^]
15:10:32 <alise> MAGIC
15:10:43 <alise> AnMaster: powerpill extension
15:10:48 <alise> AnMaster: that does abs/aur/cpan/hackage
15:10:48 <AnMaster> I see
15:10:56 <AnMaster> alise, NO CTAN!?
15:10:59 <alise> what is it with people using "i see" as a condescending "i don't see"
15:11:03 <alise> it's weird
15:11:12 * alise obliterates poowerpill
15:11:14 <alise> Deewiant: you win, clyde it is
15:11:21 <Deewiant> Why's that now :-P
15:11:28 <alise> bauerbill wants to build packages as root
15:11:30 <AnMaster> alise, I use tllocalmgr for CTAN integration with pacman. On AUR but package maintained by an arch dev.
15:11:36 <AnMaster> works quite well
15:11:42 <Deewiant> You can probably change that
15:11:54 <alise> Deewiant: No, it complains about not having access to some directory
15:12:00 <alise> just like powerpill itself
15:12:02 <alise> so it's clearly not built to handle it
15:12:06 <Deewiant> Right; if you read any instructions, you'd chown alise:alise that directory
15:12:17 <Deewiant> Which is just a cache for downloaded packages
15:12:26 <alise> I... shut your mouth :|
15:12:38 <Deewiant> (chown -R preferably)
15:12:45 <alise> INSUFFICIENT SHUTTING
15:12:49 <Deewiant>
15:12:56 <Deewiant> ( )
15:12:57 <alise> SPACES ARE ALSO INPERMISSIBLE
15:13:00 <alise> AS ARE PARENTHESES
15:13:05 <alise> *IMPERMISSABLE?
15:13:12 <Deewiant>  
15:14:18 <alise> I know! I'll write my OWN pacman alternative. With blackjack and hookers.
15:15:01 <Deewiant> Impermissible/unpermissible/nonpermissible
15:15:04 <alise> HAHA I FUCKING CLYDED UP MY WORLD.
15:15:08 <alise> SHIT, IT IS DESIGNED FOR BLACK TERMINAL BACKGROUNDS.
15:15:12 <alise> THE PAIN
15:15:17 -!- tombom_ has joined.
15:15:54 <alise> error: you cannot perform this operation unless you are root.
15:15:59 <alise> Do I have to chown that dir for clyde too?
15:16:01 <alise> Or does it require root
15:16:25 <Deewiant> I think it just requires root
15:16:33 <alise> Even for building packages?
15:16:40 -!- tombom has quit (Ping timeout: 258 seconds).
15:16:57 <Deewiant> Depends on what you mean by "building packages"
15:17:08 <Deewiant> #You must set this to a normal user to install packages from AUR safely while running without sudo
15:17:11 <Deewiant> BuildUser = deewiant
15:17:13 -!- tombom__ has joined.
15:17:24 * alise wonders whether zen or ck is a better patchset
15:17:32 <alise> both include bfs but zen seems to include some irrelevant crap too..
15:17:45 <alise> but then con kolivas has neglected to tell us exactly what changes he's put in ck
15:17:50 <Deewiant> Is bfs somehow important to you? :-P
15:17:56 <alise> i know xen has tuxonice
15:17:56 <Deewiant> ck has a list of patches it contains
15:17:57 <alise> *zen
15:18:13 <alise> Deewiant: maybe so, but kolivas himself doesn't provide such a list afaik
15:18:21 <alise> Deewiant: I'd like BFS
15:18:31 <alise> Deewiant: just like I wanted JFS, and I wanted to boot from JFS, so I used lilo
15:18:31 <Deewiant> alise: http://users.on.net/~ckolivas/kernel/ -> patches -> 2.6.34 -> patches -> read them
15:18:37 <alise> just like I wanted OSSv4, so I even built mozilla
15:18:40 <alise> (although it got lost)
15:18:47 <Deewiant> Want less
15:18:53 <alise> no, wanting is nice
15:19:04 <alise> hmm TuxOnIce
15:19:16 <alise> not relevant to me because ossv4 fails at suspend :)
15:19:20 <alise> or maybe just normal suspend
15:19:21 <alise> meh
15:19:23 <alise> or maybe even just hibernate
15:19:24 <alise> MEH
15:20:16 <alise> http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.34/2.6.34-ck1/patches/mm-zero_swappiness.patch ;; using int foo; to set foo to 0 is confusing
15:20:21 <alise> took me a while to understand that patch :P
15:20:30 -!- tombom_ has quit (Ping timeout: 258 seconds).
15:20:49 <alise> +config HZ_10000
15:20:49 <alise> +bool "10000 HZ"
15:20:50 <alise> +help
15:20:50 <alise> + 10000 Hz is an obscene value to use to run broken software that is Hz
15:20:50 <alise> + limited.
15:20:50 <alise> +
15:20:52 <alise> + Being over 1000, driver breakage is likely.
15:21:16 <alise> Deewiant: i have no clyde.conf, how can i get one to edit it
15:21:26 <alise> ah like that
15:21:43 <Deewiant> >_<
15:21:47 <alise> what
15:22:08 <alise> so uh what is the directory i should chown :D
15:22:26 <Deewiant> You don't need to chown with clyde, I don't think
15:23:06 <alise> [ehird@ping downloads]$ pacman -Sy
15:23:06 <alise> error: you cannot perform this operation unless you are root.
15:23:12 <Deewiant> Correct
15:23:13 <alise> err
15:23:17 <alise> [ehird@ping ~]$ clyde -Sy
15:23:17 <alise> error: you cannot perform this operation unless you are root.
15:23:19 <alise> not pacman
15:23:22 <Deewiant> Correct
15:23:27 <alise> So, what directory?
15:23:28 <Deewiant> chown won't help you, sudo/su will
15:23:37 <alise> Sudoing only /some/ of the time?
15:23:40 <alise> That's just ridiculous.
15:23:46 <Deewiant> Or all the time, if you want
15:23:48 <Deewiant> Doesn't matter
15:23:49 <alise> Or does clyde DROP privileges?
15:23:53 <alise> to build
15:23:58 <alise> If so, that's saner.
15:24:03 <Deewiant> I think so
15:24:03 <alise> I guess so, since it's a setting.
15:24:29 <Deewiant> I have a thing that does case $1 in (-Ss|-Si|-Q*|-T) clyde "$@" ;; *) sudo clyde "$@" ;; esac
15:24:34 <alise> I removed a repo from pacman.conf but it's still updating :/
15:24:42 <Deewiant> clyde is not a pacman wrapper
15:24:44 <Deewiant> Edit clyde.conf
15:24:47 <alise> Oh
15:24:55 <alise> They should all use the same config file >_>
15:24:57 -!- tombom_ has joined.
15:25:17 <alise> #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
15:25:17 <alise> #XferCommand = /usr/bin/curl %u > %o
15:25:25 <alise> Think replacing this with an aria invocation would work? :-)
15:25:34 <Deewiant> No idea
15:25:55 * Deewiant boots to Windows so I can legitimately choose to not answer your questions
15:26:08 <alise> :-D
15:26:14 <alise> Good to know I'm /that/ annoying
15:28:10 <alise> (-S* | -R* | -U | *)
15:28:14 -!- tombom__ has quit (Ping timeout: 260 seconds).
15:28:18 <alise> This could also be written as (*), could it not?!
15:29:12 <Deewiant> Yes
15:29:41 <alise> Hmph... defining a clyde function in bash doesn't override the binary?!
15:29:52 <Deewiant> Dunno, I don't use bash.
15:30:02 <alise> It was a rhetorical question.
15:30:22 <alise> Hey, how come you can do both (abc) and abc) in cases? are they equivalent, I wonder...
15:30:33 <alise> [ehird@ping ~]$ clyde
15:30:33 <alise> I like big butts and I cannot lie
15:30:33 <alise> error: no operation specified (use -h for help)
15:30:35 <alise> Okay so that part is working
15:32:00 <alise> -ck has disappeared?!
15:32:19 <Deewiant> From where?
15:32:59 <alise> AUR.
15:33:06 <alise> Huh, I didn't realise that -ck predated BFS by years.
15:33:09 <Deewiant> How's that
15:33:13 <Deewiant> O_o
15:33:19 <alise> Deewiant: There is no such package, unless AUR search is severely broken.
15:33:20 <Deewiant> Isn't BFS like really new? :-P
15:33:24 <alise> Deewiant: Yes.
15:33:30 <alise> But the other patches were popular beforehand, apparently.
15:33:33 <Deewiant> Yes
15:33:38 <Deewiant> -ck is old
15:33:38 <alise> And he just put BFS into -ck.
15:33:40 <alise> Right.
15:33:42 <alise> I wasn't aware.
15:33:52 <alise> I thought -ck was some thing he started to be BFS + other non-scheduler stuff.
15:34:06 <Deewiant> How's your AUR search setting in clyde.conf
15:34:11 <alise> Crazy anesthetists.
15:34:15 <alise> Deewiant: Oh, I was using the website >_>
15:34:33 <alise> [ehird@ping ~]$ clyde -Ss --aur '-ck'
15:34:33 <alise> error: you cannot perform this operation unless you are root.
15:34:34 <alise> eh?
15:34:36 <alise> isn't -Ss search
15:34:54 <Deewiant> Yep
15:34:57 <alise> Root?
15:34:58 <alise> What?
15:35:02 <Deewiant> Beats me
15:35:12 <Deewiant> As you can see from my thing above, I don't need root for that
15:35:13 <alise> [ehird@ping ~]$ sudo clyde -Ss --aur '-ck'
15:35:13 <alise> Cache directory: /var/cache/pacman/pkg/
15:35:13 <alise> Do you want to remove uninstalled packages from cache? [Y/n]
15:35:16 <alise> ???///
15:35:22 <alise> I guess I NEED TO CHOWN IT.
15:35:24 <Deewiant> Are you /sure/ your function is working?
15:35:31 <Deewiant> You don't, I checked that just before rebooting
15:35:38 <Deewiant> I've had it as root:root
15:35:39 <alise> [ehird@ping ~]$ /usr/bin/clyde -Ss --aur '-ck'
15:35:39 <alise> error: you cannot perform this operation unless you are root.
15:35:41 <alise> Not my function.
15:35:43 <alise> 's fault
15:35:50 <Deewiant> alise: Try ck instead of -ck
15:35:58 <alise> Ah, that works
15:36:06 <alise> It doesn't even have --
15:36:07 <Deewiant> I think it's giving -c to -S
15:36:09 <alise> How irritating
15:36:14 <Deewiant> Which is the "clear cache" thing
15:36:29 <alise> just "ck" produces a hideous deluge of irrelevancy; "linux ck" too
15:36:30 <alise> sigh
15:36:38 <Deewiant> alise: kernel26-ck probably
15:36:44 <alise> Deewiant: I tried that, no such package
15:36:46 <alise> even though it should be that
15:36:57 <alise> I am concluding that it is disappeared, even though it was there, like, yesterday
15:37:05 <alise> "A Simple Frontend, Using Zenity, and Portuguese of Brazil, For Pacman, the Archlinux Package Manager"
15:37:05 <Deewiant> Just do kernel | grep -e -ck
15:37:11 <alise> Using Zenity, and Portuguese of Brazil
15:37:37 <alise> aur/kernel26-ck 2.6.34-2 (134)
15:37:37 <alise> Linux Kernel built with Con Kolivas' patchset -ck
15:37:39 <alise> HOW THE...
15:37:45 <alise> aur/nvidia-ck 195.36.15-2 (35)
15:37:45 -!- asiekierka has quit (Ping timeout: 258 seconds).
15:37:45 <alise> NVIDIA drivers for kernel26-ck.
15:37:59 <alise> Oh I tried /linux/26
15:38:00 <alise> hurr
15:38:16 <alise> ( Unsupported package from AUR: Potentially dangerous! )
15:38:18 <alise> AIEEEEEEEEEEE
15:38:40 <alise> No I don't want to edit thje files, shut up for christ's sake
15:38:42 <alise> *the
15:38:50 <alise> I have a modicum of trust for my fellow man!
15:39:37 <Deewiant> There are other reasons than trust to edit the files :-P
15:39:43 <alise> Like?
15:39:50 <CakeProphet> alise: :o
15:39:56 <alise> Speak quickly before it starts actually doing something, Deewiant :P
15:40:07 <Deewiant> To get it to build, if it doesn't by default
15:40:12 <alise> Ah.
15:40:36 <alise> lilo is kick-ass~
15:40:45 <alise> why would anyone ever use grub. ever
15:41:02 <Deewiant> Doesn't need maintenance? :-P
15:41:23 <AnMaster> alise, isn't the ck branch dead?
15:41:30 <alise> AnMaster: no, he's maintaining it again
15:41:33 <AnMaster> alise, ah
15:41:36 <alise> since he came out with the Brain Fuck Shceduler
15:41:56 <alise> Deewiant: maintenance? It's not lilo's fault that package managers don't run "lilo" after upgrading the kernel.
15:42:03 <alise> That's, what, one line of extra code in every good package manager.
15:42:05 <AnMaster> <alise> since he came out with the Brain Fuck Shceduler <-- wait what?
15:42:07 <Deewiant> It's lilo's fault that it requires that
15:42:12 <alise> AnMaster: It's not anything to do with our Brainfuck.
15:42:14 <AnMaster> ah
15:42:24 <AnMaster> would have been awesome if it had been related
15:42:25 <alise> AnMaster: It's a designed-for-desktop-performance (i.e. not NUMA, not 40953 cores) scheduler.
15:42:41 <alise> AnMaster: Incidentally, it shows up the common wisdom of what you should give to make -j.
15:42:51 <AnMaster> hm bf for kernels? You would probably have to extend it with something like "call asm code" for calling special instructions
15:42:54 <alise> With BFS, the optimal setting is -j(cores); anything else is just a side-effect of a bad scheduler.
15:43:03 <Deewiant> I find that that depends on the CPU usage of the individual jobs
15:43:07 <AnMaster> but in general you have a 1:1 mapping to the system memory
15:43:10 <AnMaster> with your tape
15:43:31 <alise> Deewiant: http://ck.kolivas.org/patches/bfs/2632rc3v2631bfs303-kbuild.png
15:43:45 <alise> hmm, this is better:
15:43:46 <alise> http://ck.kolivas.org/patches/bfs/reverse-scalability.png
15:43:48 <alise> to illustrate the -j stuff
15:43:58 <alise> bfs is the green line obvs
15:44:04 <alise> (and four-core machine)
15:44:26 <Deewiant> Building the kernel, I guess?
15:44:40 <alise> Don't know about http://ck.kolivas.org/patches/bfs/reverse-scalability.png but the kbuild one is
15:44:45 <alise> The elapsed times seem a bit low for the kernel.
15:44:52 <AnMaster> alise, how many cores does that machine have?
15:44:52 <alise> (in the reverse-scalability.png one)
15:45:00 <alise> AnMaster: How about looking up to find the answer?
15:45:06 <alise> Go on, it'll be easy. It's really close to that thing you clicked.
15:45:40 <AnMaster> hm. probably pointless to ask. Seem to be loosing connection... damn lag...
15:45:49 <AnMaster> oh wait, now it is better again
15:46:14 <AnMaster> alise, hm? Looking down wrt my question here.
15:46:18 * alise sets 1000 Hz frequency, wonders why that isn't the default; according to http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.34/2.6.34-ck1/patches/hz-default_1000.patch it should be
15:46:20 * AnMaster stabs ISP
15:46:23 <alise> AnMaster: Just fucking look.
15:46:27 <alise> <alise> http://ck.kolivas.org/patches/bfs/reverse-scalability.png
15:46:27 <alise> <alise> to illustrate the -j stuff
15:46:27 <alise> <alise> bfs is the green line obvs
15:46:27 <alise> <alise> (and four-core machine)
15:46:33 <AnMaster> alise, see about lag spike
15:46:35 <alise> I am not your personal reading-machine.
15:46:38 <alise> AnMaster: THAT HAS NOTHING TO DO WITH LOOKING!
15:46:50 <AnMaster> alise, when I asked that question that line HAD NOT YET REACHED ME!
15:46:51 <AnMaster> got it?
15:47:00 <alise> You didn't say that.
15:47:18 <alise> Aiee, the kernel configuratorotron
15:47:22 <alise> I didn't sign up for this
15:47:23 <AnMaster> alise, I did: "<AnMaster> alise, hm? Looking down wrt my question here. "
15:47:53 <AnMaster> alise, use the stock kernel then ;P
15:47:59 <alise> AnMaster: I certainly had no idea what that sentence meant.
15:48:07 <AnMaster> fair enough
15:48:15 <alise> It's okay alise, we can find where the preempt and dynamic ticks options are
15:48:19 <alise> Calm down and go through the menus carefully
15:48:20 <AnMaster> you are dumber than I thought ;P
15:48:22 * alise cries
15:48:28 <Deewiant> alise: /
15:48:44 <AnMaster> alise, iirc dynamic ticks is under processor features. But kernel config is fun any way
15:48:45 <alise> AnMaster: Has anyone ever really been far even as decided to use even go want to do look more like?
15:48:46 <AnMaster> anyway*
15:48:57 <alise> kernel config would be fun if i was assembling my distro; I am not.
15:49:14 <AnMaster> <alise> AnMaster: Has anyone ever really been far even as decided to use even go want to do look more like? <-- what? I couldn't parse that grammar
15:49:15 <alise> Deewiant: Doesn't seem to find the things I want
15:49:20 <alise> AnMaster: you are dumber than I thought :P
15:49:22 -!- asiekierka has joined.
15:49:32 <alise> Okay, dynamic ticks is on
15:49:42 <alise> They should be off
15:49:44 <alise> I will set them off
15:49:46 <AnMaster> alise, at least I pointed out lag spike just before
15:49:50 <alise> They are off now
15:49:52 <Deewiant> Why off?
15:49:53 <AnMaster> thought it was pretty clear from that context
15:49:59 <alise> Deewiant: Con Kolivas says to do that with BFS.
15:50:01 <AnMaster> you said look up
15:50:05 <alise> "THESE ARE OPTIONAL FOR LOWEST LATENCY. YOU DO NOT NEED THESE!
15:50:05 <alise> Configure your kernel with 1000Hz, preempt ON and disable dynamic ticks."
15:50:06 <AnMaster> I replied I need to look down
15:50:06 <Deewiant> Where?
15:50:07 <AnMaster> *shrug*
15:50:08 <alise> I don't /need/ them, but no harm, right?
15:50:10 <alise> http://ck.kolivas.org/patches/bfs/bfs-faq.txt
15:50:10 <Deewiant> Ah, okay.
15:50:22 <alise> │ Symbol: PREEMPT [=y] │
15:50:22 <alise> │ Prompt: Preemptible Kernel (Low-Latency Desktop) │
15:50:26 <alise> Good, I don't need to do anything else.
15:50:45 <alise> I refuse to get bogged down in the configurator; I'll end up disabling everything that I think I vaguely don't need, and end up with something that doesn't work.
15:51:09 <Deewiant> Disabling dynamic ticks increases power usage and stuff though
15:51:17 <Deewiant> (If you care about that)
15:51:26 <alise> You know, I don't think this thing is passing any -j options to the kernel makefile. Sigh.
15:51:28 <alise> Oh well.
15:51:30 <alise> Or maybe it is.
15:51:38 <alise> Deewiant: Does it increase fan usage?
15:51:49 <alise> I know that old CPUs always used 100% of their CPU with idle instructions.
15:51:50 <Deewiant> I would guess so since doesn't that mean that the CPU sleeps less
15:51:52 <alise> Is it similar to that?
15:52:01 <Deewiant> But I don't really know anything
15:52:12 <alise> Answer quickly I'm not sure whether to do it or not :P
15:52:21 <alise> Does it mean that the kernel always awakes every so often?
15:52:28 <Deewiant> Yes, I think so
15:52:28 <alise> turning it off that is
15:52:35 <alise> The patch is, presumably, putting the processor into a deeper sleep mode since the power savings from just reducing the timer tick frequency is minimal (if the CPU is 99.5% idle then making it 99.9% idle isn't a big different).
15:52:36 <Deewiant> You can read the help, you know :-P
15:52:44 <alise> That doesn't sound as bad as your hyperbole :P
15:52:54 <Deewiant> What hyperbole? :-P
15:52:56 <alise> "Also, for a system where the virtual processor being idle means more time for other virtual processors, going from 99.5% idle to 99.9% idle means that the cost of an extra idle system is cut by a factor of 5."
15:52:57 <alise> Blah blah blah
15:53:09 <alise> Deewiant: I was expecting more than a .4% difference from a 99.x% idleness
15:53:22 <alise> So taking a 1000hz clock interrupt actually consumes a significant amount of power.
15:53:27 <alise> WHY DO PEOPLE HAVE DIFFERENT OPINIONS.
15:53:37 <Deewiant> I was just saying there's a nonzero difference :-P
15:54:21 <alise> [ehird@ping ~]$ sudo dmesg | grep -i nohz
15:54:21 <alise> (nothing)
15:54:27 <alise> That means I'm not on dynamic ticks now, doesn't it?
15:54:34 <alise> elinux.org suggests using that as a test
15:55:03 <Deewiant> Beats me
15:55:20 <Deewiant> dmesg doesn't require sudo, though
15:55:29 <alise> Yeah but the wiki told me to :P
15:55:31 <alise> I tried it before without sudo
15:55:39 <alise> Hmm, it seems that the -ck package may overwrite your configuration
15:55:45 <Deewiant> So that, to me, suggests that the wiki doesn't know what it's talking about :-P
15:55:48 <alise> They might have updated it since ... yesterday ...
15:55:54 <alise> Fuck :-P
15:56:04 <alise> Deewiant: it seems relatively competent, http://elinux.org/Kernel_Timer_Systems
15:56:14 <Deewiant> Just saying; I dunno
15:56:15 <alise> make menuconfig
15:56:16 <alise> yes "" | make config
15:56:16 <alise> fff
15:56:21 * alise cancels the build
15:56:28 * alise downloads it and builds without that
15:56:40 <Deewiant> You do a lot of cancelling :-P
15:57:00 <alise> YOUR MOM does a lot of cancelling
15:57:05 <Deewiant> Maybe you should get in the habit of reading the instructions fully first
15:57:21 <alise> Actually, it's a bug in the package
15:57:25 <alise> that people only noticed yesterday
15:57:46 <Deewiant> This is why you might want to edit PKGBUILDs :-P
15:57:59 <alise> YOUR MOM might want to edit package builds.
15:58:16 <Deewiant> Watch it; I'm pretty close to just blanket-ignoring lines containing "your mom"
15:58:32 <alise> [ehird@ping kernel26-ck]$ zcat /proc/config.gz | grep HZ
15:58:32 <alise> CONFIG_NO_HZ=y
15:58:33 <alise> Bugger
15:58:40 <alise> Deewiant: Then you'd ignore your own line.
15:58:43 <alise> Are you suicidal, perchance?
15:59:05 <Deewiant> I don't think ignores work that way
15:59:11 <alise> <mordy> i used to just use 1000hz which cut like 15% from performance
15:59:14 <alise> hahahaha such conflictering
15:59:58 <alise> <mordy> alise: you definitely want dynamic ticks then
16:00:00 <alise> DYNAMIC TICKS IT IS
16:00:16 <Deewiant> :-P
16:00:46 <alise> I guess: "THESE ARE OPTIONAL FOR LOWEST LATENCY. YOU DO NOT NEED THESE!"
16:01:05 <alise> I wonder, if I set some hz option...
16:01:11 <alise> does that do anything if I have dynamic ticks?
16:01:17 <alise> I guess not, what with the whole no_hz thing
16:03:24 -!- asiekierka has quit (Ping timeout: 264 seconds).
16:03:31 <CakeProphet> alise: what on earth are you doing?
16:03:46 <alise> CakeProphet: compiling a kernel with a shitload of patches.
16:04:20 <alise> "
16:04:20 <alise> Ok, tried that but power demand is higher, without dyneticks and with 100Hz.
16:04:20 <alise> And powertop says I should go with dynamic ticks.
16:04:20 <alise> So I will go with dynetick, 100Hz and RCU_FAST_NO_HZ. I works best on my laptop system."
16:04:23 <alise> 100Hz?!
16:04:25 <alise> what the fuck is this
16:04:45 <Deewiant> Just use powertop and figure out what you want based on that :-P
16:04:51 <Deewiant> Or, if you want latency, just go 1000Hz
16:05:03 * alise installs powertop
16:05:08 <alise> Power usage doesn't bother me
16:05:12 <alise> fan usage and performance does
16:05:23 <Deewiant> So go max performance, then if the fan is loud, tweak it
16:05:32 <alise> I don't want to compile a kernel twice in one day
16:05:46 <Deewiant> That won't lead to good results :-P
16:05:55 <alise> Or I could just think about it before deciding :P
16:05:57 <alise> "< Detailed C-state information is not P-states (frequencies)" wat
16:06:04 <alise> 35.3% ( 93.7) <kernel IPI> : Rescheduling interrupts
16:06:04 <alise> 23.2% ( 61.7) <interrupt> : sata_nv, nvidia
16:06:04 <alise> 23.1% ( 61.4) <interrupt> : PS/2 keyboard/mouse/touchpad
16:06:04 <alise> 10.5% ( 27.8) <kernel core> : hrtimer_start_range_ns (tick_sched_timer)
16:06:11 <alise> Now if only I understood that!
16:06:17 <alise> Suggestion: increase the VM dirty writeback time from 5.00 to 15 seconds with:
16:06:17 <alise> echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
16:06:17 <alise> This wakes the disk up less frequently for background VM activity
16:06:30 * alise lets it do that
16:06:32 <alise> Just go ahead, buddy
16:06:35 <alise> Do what you want
16:06:42 <Deewiant> That's how I use it, too :-P
16:06:54 <Deewiant> "uhh... sure, whatever"
16:06:57 <alise> Won't persist, though; will have to remember to put it in sysctl.
16:07:06 <alise> Deewiant: It's run out of suggestions now :P
16:07:13 <alise> I HAVE A MAXIMALLY PERFECT CONFIGURATION.
16:07:15 <Deewiant> It might come up with some more in a few seconds
16:07:19 <Deewiant> It does that
16:07:22 <alise> nvidia sure likes waking up
16:08:11 <alise> Deewiant: Okay, decision made: dynamic ticks, 1000 Hz (just in case that actually does anything).
16:08:27 <alise> It won't be /worse/ than what I have, and what I have is basically acceptable, so...
16:09:12 <alise> │ Symbol: RCU_FAST_NO_HZ [=n] │
16:09:12 <alise> │ Prompt: Accelerate last non-dyntick-idle CPU's grace periods │
16:09:13 <alise> wut
16:10:32 <alise> So, I'll use this kernel, then run powertop :P
16:15:01 <alise> Compiling btrfs; how pointless.
16:27:56 -!- cheater99 has quit (Ping timeout: 240 seconds).
16:29:11 -!- jabb has quit (Ping timeout: 252 seconds).
16:39:10 <alise> THIS POST SHOWS HOW TO CONFIGURE GSTREAMER THROUGH THE COMMAND-LINE. MOST PEOPLE WILL PROBABLY WANT TO INSTALL THE CLASSIC GNOME SOUND PREFERENCES GUI DIALOG AS INSTRUCTED IN THE FIRST POST.
16:40:53 -!- poiuy_qwert has joined.
16:42:25 <alise> "Javascript in recent years has been getting better and better, and now is a way better language than python. So to keep up with the times pygame has been rewritten for javascript. Please prepare your codebase with the py2js tool, which tries to automatically convert your python code into javascript.
16:42:25 <alise> Hopefully with a few years everyone will have upgraded their code, and it will be wonderful. I hope you all will enjoy this change to javascript. Further news, and release binaries to be announced *very* soon.
16:42:25 <alise> As can be seen by the April 1st date... this was a joke. hahaha."
16:42:28 <alise> Weakest April Fool's ever
16:42:44 <alise> "Really obvious, quickly-written joke... THIS IS AN APRIL FOOL'S! HAHA!"
16:43:03 <alise> Meanwhile, a game based on WireWorld: http://www.pygame.org/project-WireWorld-1517-2699.html
16:44:09 <alise> init scripts suck
16:46:13 <alise> XFCE's mixer is NICE!
16:46:21 <alise> I don't have to deal with ossxmix, but I can use all its controls!
17:02:46 <alise> So.
17:03:07 <alise> Why do package managers suck?
17:04:51 <CakeProphet> they're just too easy to use
17:05:10 <CakeProphet> I want to run makefiles and then hunt down dependencies and repeat.
17:05:36 <alise> But they handle the very specific case of system-configuration called "having a certain package installed"!
17:05:55 <alise> It's only rational for them to handle other system-configuration (by which I mean the configuration(i.e. state)-of-the-system, not literally /etc/foo.conf files)
17:05:58 <alise> s/$/./
17:06:19 <AnMaster> alise, wouldn't fit into the unix philosophy
17:06:23 <AnMaster> one tool for each task
17:06:36 <alise> AnMaster: did you blurt that out without actually asking me what I meant? Yes, yes you did.
17:06:55 <AnMaster> alise, sure
17:07:17 <alise> Unless you actually ask a coherent question that would give you sufficient information to make that judgement or not, I see no reason to reply.
17:09:24 -!- cheater99 has joined.
17:10:21 <alise> Blargh, init systems suck too.
17:25:08 <AnMaster> alise, suggest a better replacement
17:25:16 <alise> I am doing so, by writing one.
17:25:25 <AnMaster> how does it work?
17:25:31 <alise> "Cleverly!"
17:25:41 <alise> Basically I have several ideas that will be munged together.
17:26:02 <alise> There is no actual init program; init itself is just a shell (probably rc, since rc rocks) script.
17:26:03 <AnMaster> alise, well then, let me rephrase that: in what way is it different than traditional init systems such like sysvinit, bsd style init, upstart and so on
17:26:08 <AnMaster> ah
17:26:24 <alise> The basic idea stemmed out of just having an /etc/init.start script, say,
17:26:28 <alise> that had a bunch of lines like:
17:26:33 <alise> /etc/rc.d/foo.start
17:26:35 <alise> /etc/rc.d/bar.start
17:26:36 <AnMaster> alise, so far it sounds BSD style except you will have some problem by not having a process that is the parent to all other ones
17:26:36 <alise> etc
17:26:48 <alise> AnMaster: That process is the shell script; or perhaps a very light C program wrapping it.
17:26:49 <AnMaster> which means you couldn't kill zombie processes
17:26:51 <alise> Anyway, the extended idea is:
17:27:03 <alise> These shell scripts would contain one single piece of metadata: dependencies.
17:27:13 <AnMaster> alise, very light C program to just wait for childs and get rid of them sound best
17:27:27 <alise> deps=(a b c d) means "before we run this start script, you must have run /etc/rc.d/{a,b,c,d}.start".
17:27:52 <alise> The main init script would look at /its/ list of what to run, scan all their dependencies, then do the obvious algorithm to sort this into an order in which to run them.
17:28:03 <alise> It would also split this up so that it knew which tasks were completely independent of each other.
17:28:06 <alise> It would run those tasks asynchronously.
17:28:22 <alise> So basically, from specifying dependencies it would automatically find the optimal ordering, and run everything that can be asynchronous, asynchronous.
17:28:41 <AnMaster> btw: first panorama with the lego thing (somewhat boring scene yes, but meh, it is a test): http://omploader.org/vNGlwYw (warning: huge jpeg: 53 MP :D)
17:29:18 <alise> Does the lego thing automatically move around, or something?
17:29:24 <alise> If so, cool; you actually made something interesting for once.
17:29:27 <AnMaster> alise, yes, it rotates
17:29:41 <AnMaster> alise, I showed some images of it yesterday iirc :P
17:29:45 <alise> Also, FIREFOX HATES YOU.
17:29:49 <alise> OW. PAIN.
17:29:50 <AnMaster> and if you are going to insult me. hah
17:29:52 <AnMaster> got you!
17:29:55 <AnMaster> I did warn you
17:29:56 <alise> Sorry, *Namoroka
17:29:59 <alise> AnMaster: got me howso
17:30:16 <AnMaster> alise, with firefox, I haven't tried opening it in anything but gimp...
17:30:28 <alise> AnMaster: Anyway, one of my goals for the distro is startup to login with X11 in 2-4 seconds after the bootloader hands over.
17:30:29 <AnMaster> I assume it became very very slow and/or swap trashed
17:30:32 <alise> Closer to 2 than 4.
17:30:44 <AnMaster> alise, I use /sbin/login personally
17:31:00 <alise> Well, as long as it starts X11, the login manager doesn't matter.
17:31:21 <alise> Heck, just skip the login altogether: 3-4 seconds from end of bootloader to a minimalist window manager like dwm running an xterm.
17:31:24 <alise> That is my goal.
17:31:34 <AnMaster> alise, anyway that lego thing has some issues with the light sensor that checks the camera CF card status led (used to wait for camera to take picture before rotating)
17:31:35 <Deewiant> That's only some 300 MB of memory usage in Firefox
17:31:43 <AnMaster> (since otherwise you would get blurred images)
17:31:49 <AnMaster> Deewiant, heh
17:32:14 <alise> One thing's for sure: if nothing else, the init and package manager will be aesome.
17:32:16 <alise> *awesome
17:32:29 <AnMaster> Deewiant, the tiff (16 bits per channel) is a lot larger. I fear I got some strange postorizing (sp?) when converting it to jpeg due to the 16-bitness
17:34:07 <Deewiant> Yes, tiffs are usually huge
17:35:13 <AnMaster> Deewiant, even when deflate compressed yes
17:35:25 <AnMaster> 76 MB after removing the alpha channel
17:35:48 <AnMaster> (alpha channel act as a mask in enblend/enfuse output to mark areas with no image data)
17:35:57 <AnMaster> (however this was pre-cropped so there was complete image data)
17:36:02 <alise> arian
17:36:04 <alise> hfuahf
17:36:21 <AnMaster> hmh
17:37:07 <AnMaster> wait, that was the 8 bit tiff
17:37:14 <AnMaster> the 16 bit tiff is roughly twice as large
17:39:01 <alise> Wow! The kernel finished compiling!
17:39:11 <alise> And people do this on a regular basis.
17:39:17 <alise> ...Painful.
17:39:22 <Deewiant> How long did that take?
17:39:26 <alise> Too long.
17:39:45 <alise> let's see
17:39:48 <alise> I can use IRC logs to find approx. times
17:40:02 <Deewiant> Without -jN and with including stuff you don't need like btrfs, I guess I'm not that surprised
17:40:17 <alise> 08:09:12 <alise> │ Symbol: RCU_FAST_NO_HZ [=n] │
17:40:18 <alise> 08:09:12 <alise> │ Prompt: Accelerate last non-dyntick-idle CPU's grace periods │
17:40:18 <alise> 08:09:13 <alise> wut
17:40:18 <alise> 08:10:32 <alise> So, I'll use this kernel, then run powertop :P
17:40:18 <alise> 08:15:01 <alise> Compiling btrfs; how pointless.
17:40:28 <alise> So from around 8:10-8:15, tunes-time.
17:40:36 <alise> til 9:39
17:40:55 <Deewiant> What kinda machine?
17:40:58 <alise> so about one hour, 25 minutes
17:41:16 <alise> Deewiant: athlon x2 64 2something ghz, 1 gigabyte of ram
17:41:22 <alise> i think it may have done -j2, not sure though, maybe not
17:41:37 <alise> quite old 500 gb disk
17:41:41 <alise> which cost hundreds when it came out
17:41:42 <Deewiant> Possibly not
17:41:46 <alise> 7200 rpm i think
17:42:45 <alise> ==> Finished making: kernel26-ck 2.6.34-2 x86_64 (Sun Jun 6 17:42:02 BST 2010)
17:42:46 <alise> \o/
17:42:49 <alise> a lot of that was compressing the package though :P
17:42:58 <alise> -rw-r--r-- 1 ehird users 27M Jun 6 17:39 kernel26-ck-2.6.34-2-x86_64.pkg.tar.xz
17:43:00 <alise> Only that big?
17:43:01 <Deewiant> How big is the resulting kernel?
17:43:03 <Deewiant> Sheesh!
17:43:07 <Deewiant> Hugeness
17:43:11 <alise> lol
17:43:20 <alise> Deewiant: look my distro will be better 'kay :P
17:43:31 <Deewiant> My bzImage is what, maybe 3 megs
17:43:49 <AnMaster> alise, hm I suspect that with max zoom when taking the pano it would be way over 100 MP. A spherical one (not possible with current lego thingy) would probably be over a GP
17:43:52 <alise> Deewiant: are you sure you can't bundle modules in with the kernel without dynamic module support?
17:44:05 <AnMaster> however, I would need a super computer to stitch it, it is memory intensive
17:44:10 <Deewiant> alise: Err, what?
17:44:24 <AnMaster> and very random access so swap is an useless option
17:44:31 <alise> Deewiant: Like, build modules in, in a sense.
17:44:48 <AnMaster> alise, what? You need to build them in if you disable dynamic module support...
17:44:51 <Deewiant> I'm still not clear on what you mean
17:44:52 <AnMaster> what do you mean
17:45:03 <alise> I want to disable module support. I also want to use the binary nvidia module.
17:45:09 <Deewiant> You can't do both.
17:45:10 <alise> Can't these two desires coexist happily?
17:45:11 <AnMaster> alise, impossible I think
17:45:11 <Deewiant> Nope.
17:45:14 <alise> Deewiant: Why not?
17:45:19 <alise> The kernel doesn't have to /dynamically/ load a module.
17:45:22 <Deewiant> Because either it's a module or it's in the bzImage.
17:45:22 <alise> It could have it built-in.
17:45:40 <AnMaster> Deewiant, I think he want to build the 9 MB nvidia.ko into the kernel
17:45:43 <Deewiant> Just disable module unloading support and be happy with that :-P
17:45:47 <Deewiant> AnMaster: Yes, I got that now.
17:45:50 <AnMaster> well, it was 9 MB some years ago
17:45:56 <AnMaster> no clue how large it is now
17:46:02 <alise> Something wrong with having a big thing in the kernel?
17:46:31 <AnMaster> alise, the nvidia module is larger than the rest of my kernel + all my external modules (I have a few, stuff I use very rarely mostly)
17:46:44 <alise> So? My kernels will be very small, 1-3 MiB.
17:46:57 <alise> So adding nvidia to them will just make them a size of your regular bloated Ubuntu kernel.
17:46:58 <alise> So what?
17:47:17 <alise> (were it possible)
17:47:25 <AnMaster> no. a ubuntu kernel image is about 3.4 MB
17:47:27 <AnMaster> just checked
17:47:33 <AnMaster> but it has most stuff in modules
17:47:44 <alise> Well, whatever, pick some distro that doesn't do modules so much then
17:47:45 <AnMaster> so most won't be loaded probably
17:47:46 -!- poiuy_qwert has quit (Ping timeout: 260 seconds).
17:47:50 <alise> The one Arch just built is like 30 MiB
17:48:02 <AnMaster> what?
17:48:13 <alise> 27 MiB in a .tar.xz
17:48:13 <AnMaster> $ du -sh /boot/vmlinuz26
17:48:13 <AnMaster> 2,0M/boot/vmlinuz26
17:48:16 <AnMaster> arch default kernel
17:48:18 <alise> That's two copies though
17:48:21 <alise> No wait
17:48:22 <alise> just one
17:48:27 <Deewiant> alise: That includes the modules and stuff though, no?
17:48:27 <alise> AnMaster: it's the kernel26-ck
17:48:30 <alise> and I didn't bother tuning the settings
17:48:32 <alise> Deewiant: Yes, true.
17:48:34 <AnMaster> $ du -sh /boot/kernel26*
17:48:34 <AnMaster> 7,5M/boot/kernel26-fallback.img
17:48:34 <AnMaster> 1,8M/boot/kernel26.img
17:48:37 <AnMaster> those are the initramfs
17:48:40 <alise> Anyway, there's no inherent problem with a large kernel
17:48:44 <alise> s/$/./
17:48:45 <AnMaster> I use a custom kernel though
17:48:54 <AnMaster> $ du -sh /boot/kernel-2.6.34
17:48:54 <AnMaster> 2,4M/boot/kernel-2.6.34
17:48:56 <alise> I'm not really going to bother actively supporting seperate /boot partitions.
17:48:56 <AnMaster> no initramfs
17:49:05 <alise> *separate
17:49:11 <alise> Nor initramfses.
17:49:18 <AnMaster> alise, so you break encrypted /, / on lvm2 and so on?
17:49:19 <Deewiant> What's the point of an initramfs?
17:49:25 <alise> Deewiant: Bloat.
17:49:30 <Deewiant> That's not a point
17:49:33 <AnMaster> Deewiant, a lot for generic distro kernel
17:49:42 <alise> AnMaster: Eh. GRUB2 can handle LVM, I think.
17:49:43 <AnMaster> Deewiant, include just the required modules, but don't recompile the kernel
17:49:50 <alise> AnMaster: Encrypted / is pointless.
17:49:59 <alise> Encrypted /home, sure. Encrypted /etc, sure. Encrypted /var, maybe.
17:49:59 <AnMaster> alise, oh and / on raid
17:50:03 <alise> Encrypted /? Why encrypt binaries?!
17:50:08 <AnMaster> alise, if it isn't raid1, you need a seprate /boot
17:50:11 <AnMaster> separate*
17:50:26 <AnMaster> that is for software RAID, I can't afford hardware RAID
17:50:27 <Deewiant> Why doesn't RAID-1?
17:50:53 <alise> Anyway the recommended setup will be / is JFS and LILO as the loader.
17:50:54 <AnMaster> Deewiant, well in theory it does. But to grub it will just look like one disk is normal, after all they are perfect copies
17:51:04 <AnMaster> alise, I have / on software RAID
17:51:05 <Deewiant> Right
17:51:11 <AnMaster> alise, so, I need separate /boot
17:51:18 <alise> AnMaster: I don't care. You aren't going to be using my distro.
17:51:25 <alise> And I'm sure GRUB2 can handle it, being that it can handle everything.
17:51:36 <AnMaster> improbable
17:51:45 <alise> So is you using my distro.
17:52:10 * alise decides to leave arch-fallback as the non-ck kernel, for obvious reasons.
17:52:42 <alise> lilo run.
17:52:48 <alise> Time to reboot; see you when I fix my broken system.
17:52:58 -!- alise has quit (Remote host closed the connection).
17:53:13 -!- poiuy_qwert has joined.
17:55:44 <AnMaster> <alise> So is you using my distro. <-- no, if the author can't even spell
17:56:03 <Deewiant> Where's spelling wrong?
17:56:15 <AnMaster> Deewiant, s/is/are/ ?
17:56:33 <Deewiant> No?
17:56:50 <AnMaster> oh wait, I read it as a question
17:56:52 <AnMaster> meh
17:56:54 <Deewiant> [you using my distro] is
17:57:02 <AnMaster> "so are you using my distro?" was what I read
18:06:35 -!- alise has joined.
18:06:38 <alise> Utter horseshit.
18:06:49 <alise> The kernel refused to load the nvidia driver for some reason; said there was no such device.
18:07:23 <Deewiant> Complete and utter.
18:07:32 <alise> Utterly complete.
18:07:53 <fizzie> Umpirely cobbled.
18:08:52 <alise> Rotationally conferred.
18:09:52 <Deewiant> Darn, umpirely cobbled isn't a googlewhack
18:10:16 <alise> Deewiant: It's a 0-result.
18:10:20 <alise> Obviously.
18:10:37 <alise> "rotationally raped" is a googlewhack, but the only result is spam. Does that count?
18:10:39 <Deewiant> Why "obviously"
18:10:47 <alise> Deewiant: Who would say "umpirely cobbled"?
18:10:56 <Deewiant> Rotationally raped gives me 2710 results
18:11:06 <Deewiant> Oh
18:11:13 <alise> You have to use quotes.
18:11:17 <alise> Them's the rules.
18:11:18 <Deewiant> alise: Googlewhacks aren't usually counted as searching with quotes
18:11:20 <Deewiant> Nope
18:11:29 <alise> Really?
18:11:31 <alise> Huh. Okay then.
18:11:31 <Deewiant> Yep
18:11:37 <Deewiant> I think they use + these days though
18:11:40 <Deewiant> I.e. +foo +bar
18:11:46 <Deewiant> Since Google otherwise adds all kinds of crap :-P
18:11:48 <alise> Note: When you search Google, you may be able to find more reliable Googlewhacks by prefixing each word in your Google search with a "+" (for example, +endothelial +velveeta). It's not required, but may make whacking easier. Whack always has submitted queries that require an exact match. That is, Whack always has prefixed both words with "+" to require their presence, which (later, serendipitously) also avoided any stemming by Google. The rules here always h
18:11:48 <alise> ave been correct; entries in The Whack Stack always have been consistent with the rules.
18:11:58 <Deewiant> Right.
18:11:58 <AnMaster> alise, you did compile a new nvidia module for the new kernel right?
18:12:03 <alise> AnMaster: yep, nvidia-ck
18:12:04 <Deewiant> In the past, it wasn't required to add the +.
18:12:09 <AnMaster> alise, hm no clue then
18:12:15 <AnMaster> alise, what error?
18:12:22 <AnMaster> alise, and anything in dmesg?
18:12:34 <AnMaster> ARGH DAMN C++ error
18:12:37 <alise> "No such device", and dmesg was nvidia telling me to unload some moduels to try it; did so, didn't help.
18:12:45 <alise> Deewiant: 5,640 results for +retarded +flagella.
18:12:55 <alise> Also, it isn't required; just helpful.
18:12:58 <AnMaster> alise, which modules?
18:13:00 <Deewiant> Googlewhacking is harder these days than it used to be.
18:13:02 <AnMaster> did it tell you to unload?
18:13:05 <AnMaster> common/project.cpp:3420:68: error: cannot pass objects of non-trivially-copyable type ‘class String’ through ‘...’
18:13:07 <alise> AnMaster: some nvidiafb stuff and crap
18:13:10 <AnMaster> anyone has a clue wtf that means
18:13:18 <AnMaster> alise, well yes, those conflict
18:13:21 <Deewiant> My latest was evidently "crescentic pandas".
18:13:27 <AnMaster> alise, did you compile any of that into the kernel statically?
18:13:27 <alise> +cantakerous +flagella even has 2,190 results
18:13:32 <AnMaster> alise, then of course it wouldn't work
18:13:43 <alise> AnMaster: I compiled everything default, I think it piped yes to the kernel configurator or something
18:13:43 <Deewiant> Which, nowadays, has 3260 results.
18:13:46 <alise> Which is stupid, but there you go.
18:13:49 <alise> Deewiant: When was that?
18:14:02 <Deewiant> Don't know; haven't dated these.
18:14:14 <Deewiant> Pre-2007, I'm pretty suer.
18:14:16 <Deewiant> sure*
18:14:37 <Deewiant> Maybe 2005 or thereabouts.
18:14:37 <alise> 3,140 for +cantankerous +pandas
18:15:10 <AnMaster> why does leocad have an iphone version
18:15:13 <AnMaster> it is a lego cad system
18:15:20 <AnMaster> it doesn't make sense to use it on a phone
18:15:26 <alise> +flagella +bouncebackability has 4 results XD
18:15:44 <alise> +cantankerous +bouncebackability has *85*
18:16:03 <alise> AnMaster: are you sure it does?
18:16:16 <AnMaster> alise, see bottom of http://trac.gerf.org/leocad/wiki/CompilingGuide
18:16:24 <AnMaster> it says "iphone version"
18:16:50 <fizzie> Everything gets stuck on phones, purely for the perversity of it.
18:16:53 <alise> For money, I guess.
18:17:00 <alise> Most likely they want to sell it in the App Store or something?
18:17:02 <alise> Maybe not.
18:17:02 <AnMaster> alise, in a compilation guide?
18:17:05 <AnMaster> not money then
18:17:11 <alise> No, but you have to port it to sell it.
18:17:15 <AnMaster> hm
18:17:17 <alise> AnMaster: you need to buy the sdk to compile your own stuff for the iphone
18:17:20 <alise> it's like $90
18:17:23 <alise> cheaper to buy the app
18:17:30 <AnMaster> alise, wait, the sdk costs money?
18:17:32 <AnMaster> wth
18:17:38 <alise> Yes; you have to renew it too.
18:17:46 <alise> How do you think Apple makes its money? Apart from the, what was it, 30% cut off all sales too.
18:17:48 <AnMaster> alise, I presume there are torrents for it though
18:17:55 <alise> Er... how would that work?
18:18:01 <Deewiant> Hmh, googlewhack.com is broken.
18:18:05 <alise> You have to jailbreak your phone.
18:18:07 <AnMaster> alise, would work for jailbroken phones
18:18:09 <AnMaster> yes
18:18:13 <alise> and use one of the unofficial sdks
18:18:18 <AnMaster> but you would at least have the header files
18:18:20 <AnMaster> hm
18:18:35 <alise> To run an application on the iPhone, the application needs to be signed. This signed certificate is only granted by Apple after the developer has first developed the software through either the US$99/year Standard package or the US$299/year Enterprise package with the iPhone SDK.[9]
18:18:43 <alise> signed certificates, kerching
18:18:58 <AnMaster> yes that is the issue indeed
18:19:19 <AnMaster> so lets not use iphone, lets use some non-vendor-locked thing
18:19:28 <fizzie> There's that alternative "app store" for jailbroken phones and everything, though. I forget the name exactly.
18:19:37 <alise> Cydia or something. Or at least it used to be.
18:19:42 <alise> The jailbreaking scene moves so fast I have no idea what it is now.
18:19:50 <AnMaster> how hard is it to jailbreak nowdays? didn't it use to require soldering?
18:19:54 <fizzie> Cydia, right.
18:19:59 <alise> AnMaster: no, never
18:20:02 <alise> it's always been a software thing
18:20:05 <alise> and always been quite easy
18:20:07 <alise> very easy nowadays
18:20:09 <alise> Ask comex, he makes one of the jailbreaks :P
18:20:12 <AnMaster> alise, hm, was that for sim card thingy?
18:20:16 <AnMaster> near the beginning
18:20:48 <alise> I don't think you ever had to open it up, especially as opening it is near-impossible.
18:20:51 <alise> (It's a BITCH to open.)
18:21:24 -!- ec has changed nick to elliottcable.
18:21:42 <fizzie> (Away in a bus.)
18:22:03 <AnMaster> alise, I know someone who jailbroke ipod (last generation) and make it boot linux using something similar to good old syslinux or whatever it was called. That replaced DOS with linux in the memory
18:22:17 <alise> I broke my -- 4th generation, or something -- black and white iPod.
18:22:36 <alise> I had Rockbox on it; I don't think I ever quite got iPodLinux working.
18:22:38 <alise> Still, Rockbox had doom.
18:22:44 <fizzie> AnMaster: Loadlin, you mean? (Isn't syslinux that boot thing?)
18:22:45 <alise> Yes, one-bit doom with a clickwheel.
18:22:46 <alise> It was glorious.
18:22:49 <AnMaster> fizzie, ah that was it
18:22:52 <alise> Glorious, I tell you.
18:23:07 <AnMaster> alise, iirc that guy didn't use any existing jailbreak though, none of them were open source, all that existed at that time were windows blobs, so he reverse engineered one of them
18:23:29 <alise> I remember reading a beautiful story where someone reverse-engineered some part of the iPod by -- get this --
18:23:40 <alise> You know the little piezo that makes the click sound when you move the clickwheel around?
18:23:49 <Deewiant> Nope
18:23:53 <Deewiant> But do carry on
18:23:55 <alise> Well, it has one. Little electric piezo.
18:24:04 <alise> He used it to dump the internal contents of some firmware or whatnot.
18:24:10 <alise> By recording it playing the piezo according to the data.
18:24:13 <AnMaster> heh
18:24:16 <alise> Then cleaning it up, and converting it to data.
18:24:20 <alise> It played for hours or something iirc.
18:24:22 <alise> Beautiful.
18:24:25 <alise> "nilss over at the iPodLinux Project (previously on /.) has performed one of the coolest and most bizzare hacks I've seen in a while. He was able to extract the bootloader from the 4G iPod by sounding out ticks with the iPod's squeaky piezo. With some tweaking and a makeshift recording studio, he was able to dump the 64 kb file at 5 bytes/sec. And yes, this means that 4G iPods can now boot linux!"
18:24:32 <alise> http://hardware.slashdot.org/article.pl?sid=05/01/29/2017244
18:24:34 <alise> link is 404 now though
18:24:34 <AnMaster> alise, how did he get it to play the firmware?
18:24:51 <alise> AnMaster: by getting code on to it somehow
18:24:54 <alise> but they didn't have the bootloader, evidently
18:25:09 <AnMaster> alise, couldn't he had sent stuff back over some other connection then?
18:25:24 <AnMaster> also I bet it would require a lot of error correction to make it through
18:25:26 <alise> The piezoelectric buzzer inside the iPod that has the ability to play high pitched tones. As of yet it is only used to make a "click" noise when moving the wheel or pressing a button.
18:25:26 <alise> Nilss used the piezo in a very creative way to extract the boot ROM from the flash memory on the 4g models which was essential to figuring out how to run Linux on these new models with a changed architecture. Read the story here.
18:25:42 <AnMaster> hm
18:25:44 <alise> AnMaster: It was needed, though I forget the reason why.
18:25:48 <AnMaster> right
18:27:49 <alise> http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/First-Look-H.264-and-VP8-Compared-67266.aspx lol look at this, turns out WebM is better than MPEG-4 at RIDICULOUSLY LOW BITRATES.
18:27:56 <alise> not MPEG-4, H.264
18:28:13 <alise> how utterly surprising, the absolute top quality video codec... isn't optimal at low bitrates
18:28:17 <alise> Quite frankly, shocked.
18:28:42 <AnMaster> 750K/s what a sucky download speed from code.google.com
18:28:48 <alise> lol
18:29:12 <Deewiant> alise: Since when is it "the absolute top quality"?
18:29:24 <alise> Deewiant: Well, okay; discounting lossless ones and other industry-specifics.
18:29:31 <alise> The absoluet top quality general-use codec.
18:29:34 <alise> You know what I mean. :P
18:29:36 <Deewiant> Isn't x264 better?
18:29:36 <alise> *absolute
18:29:45 <alise> x264 is an H.264 encoder...........
18:30:01 <alise> ...Hey, I knew something that Deewiant didn't! That's actually a first.
18:30:03 -!- p_q has joined.
18:30:06 <alise> Squee.
18:30:13 <Deewiant> No, it actually isn't
18:30:16 <alise> $ clyde -Rd xulrunner # this is a good idea
18:30:16 <Deewiant> But anyway
18:30:18 <Deewiant> *264
18:30:21 <alise> Deewiant: Yes it is.
18:30:25 <alise> x264 is a free software library for encoding video streams into the H.264/MPEG-4 AVC format. It is released under the terms of the GNU General Public License.
18:30:28 <alise> As of August 2008, x264 implements more features than any other H.264 encoder.
18:30:31 <Deewiant> alise: A first, I meant.
18:30:36 <alise> Oh.
18:30:40 <alise> What have I known before that you haven't?
18:30:52 <Deewiant> Many things, I'm sure. I don't memorize them :-P
18:30:59 <Deewiant> BUT ANYWAY
18:31:01 <alise> No, not that I know of
18:31:10 <alise> You know ... everything
18:31:17 <Deewiant> Last I heard H.264 was better than VP8
18:31:21 <alise> Of course.
18:31:33 <alise> But at very low bitrates without tuned encoder settings...
18:31:40 <Deewiant> And just now I realize that I misread what you said
18:31:41 <alise> Surprise, surprise, I don't even need to tel you the outcome.
18:31:44 <alise> *tell
18:31:48 <alise> Is keeping Firefox open after I forcefully remove XULRunner a good idea?
18:31:58 -!- poiuy_qwert has quit (Ping timeout: 265 seconds).
18:32:04 <Deewiant> I thought you were referring to VP8 for some reason
18:32:20 <Deewiant> It's probably fine
18:32:33 <alise> What if it tries to access some random file?
18:32:39 <alise> WHAT THEN.
18:32:40 <Deewiant> Like what?
18:32:52 <alise> Actually, you know what, I don't care enough about <video> and <audio> to compile Mozilla for it.
18:32:53 <alise> So never mind.
18:32:56 <alise> Deewiant: chrome:// stuff.
18:32:59 <Deewiant> Doesn't it have the stuff it needs open right from the start anyway
18:33:07 <alise> Not always, afaik.
18:33:43 <Deewiant> For an obvious example of something you've known is some of the BFS-related stuff from earlier today
18:34:01 <alise> Well, yes, but uh... it was sort of only half-not-knowing.
18:34:14 <Deewiant> How's that :-P
18:34:16 <alise> Like in this case you actually used your non-knowledge of some subject to make a comment that turned out to be nonsensical.
18:34:23 <Deewiant> Not really
18:34:24 <alise> Which is a different kind of not-knowing than the kind where you don't know something but it has no imapct.
18:34:26 <alise> *impact
18:34:26 <Deewiant> I was comparing x264 to VP8
18:34:33 <Deewiant> You thought I was comparing x264 to H.264
18:34:38 <Deewiant> Because I misunderstood what you said
18:35:01 <Deewiant> I still forgot that the format's H.264 and x264 is the encoder
18:35:13 <Deewiant> But I wasn't willfully as stupid as it may have seemed
18:37:21 <alise> Ah, okay
18:37:25 <alise> Then you are still unbeaten
18:37:26 <alise> Dammit
18:37:29 <alise> Why can't you be ignorant
18:37:31 <Deewiant> :-P
18:42:46 <alise> I should probably design my configuration manager some more.
18:43:43 <alise> http://www.energymech.net/users/proton/ wow at twsinit
18:49:46 <alise> I wish dietlibc wasn't gpl :(
18:52:04 -!- augur has quit (Remote host closed the connection).
18:53:11 -!- MizardX- has joined.
18:54:00 -!- MizardX has quit (Read error: Connection reset by peer).
18:54:10 -!- MizardX- has changed nick to MizardX.
18:57:47 <alise> Quantities defined as the combination of bits are actually elements of the elementary abelian group (Z/2Z)^n; and the relation defined as a<=b when a&b=a only creates a partial order (1011b is greater than 1010b but 1011b and 1101b are not comparable).
18:57:48 <alise> --[[Bit field]]
18:57:55 <alise> Wikipedia has no idea what audience it is writing for.
18:58:12 <alise> This is one section after talking about mutexes, and one *paragraph* after saying not to use enums for bitflags.
19:00:37 -!- oerjan has joined.
19:01:56 <alise> Hi oerjan.
19:03:36 * alise decides to write a little micro-grep.
19:04:57 <alise> Huh, regexps don't really have any useful options apart from case-insensitivity.
19:06:28 <alise> How interesting.^1
19:06:30 <alise> [1] Not actually interesting.
19:06:41 <alise> No, surely there must be others...
19:08:15 <oerjan> there's greediness, which is of course on a subexpression basis...
19:08:42 <oerjan> and there are ways to do case-insensitivity on subexpression basis too
19:08:47 <alise> that's not the Y in /X/Y though
19:08:56 <alise> greediness is part of the actual language
19:09:21 <oerjan> well perl has a number of options for how to treat strings consisting of multiple lines
19:10:01 <alise> yes; that doesn't apply for grep though
19:10:09 <alise> (so I feel perfectly justified in not implementing it :-))
19:10:26 <oerjan> (whether . matches \n, and whether ^ and $ match after/before \n, iirc)
19:10:41 <alise> yeah
19:10:44 <alise> in grep, of course, it's all line-based
19:11:18 <oerjan> you could of course do a grep with some other splitting (maybe based on a regexp...)
19:11:33 <alise> Hmm.
19:11:35 <alise> Maybe I will.
19:11:56 <alise> If I did, though, I still wouldn't need an option. I'll just make . match everything, including \n; if it's line-based, then the regexp will only be run on the one line, anyway.
19:12:10 <oerjan> however, my instinct is to revert to perl for anything that complicated :D
19:12:36 <fizzie> There's the "ignore whitespace in the pattern and allow comments" Perl flag too, but maybe that's not so commonly useful in a grep either.
19:12:43 -!- zzo38 has joined.
19:12:55 <zzo38> I added more idea in esolang list of ideas
19:13:04 <alise> oerjan: actually it would work fine
19:13:29 <alise> mugrep -s '\s+' '[0-9]+' ;; would match the all-digit columns of a whitespace separated file
19:13:31 <alise> e.g.
19:13:35 <alise> 123 4 a
19:13:39 <alise> <tab>bc<tab>4
19:13:40 <alise> 3
19:13:41 <alise> would print
19:13:42 <alise> 123
19:13:43 <alise> 4
19:13:43 <alise> 4
19:13:44 <alise> 3
19:13:59 <alise> oerjan: a bit overcomplicated though; I can't imagine any usecases that wouldn't also require more complex processing besides
19:14:15 <alise> and besides, in perl isn't that just
19:14:20 <oerjan> alise: there's the issue of how to separate the _output_ as well... if a match can contain \n
19:14:26 <alise> foreach split /\s+/, <> { print if /[0-9]+/ }
19:14:36 <alise> (or do you need to say $_ ~=?)
19:14:43 <alise> well, say, not print
19:14:48 <alise> oerjan: yeah
19:15:06 <oerjan> alise: $_ is not set by matching afaik
19:15:15 <oerjan> oh wait
19:15:23 <alise> it is by foreach, though
19:15:25 <oerjan> split probably does that
19:15:27 <oerjan> oh
19:15:36 <alise> my question was: does coercing a regexp to bool match it against $_?
19:15:41 <alise> it seems an obviously perly feature, but I'm unsure
19:15:48 <oerjan> alise: $_ =~ is redundant afaik
19:16:06 <alise> [ehird@ping ~]$ perl -ne 'print if /^abc$/'
19:16:06 <alise> abc
19:16:06 <alise> abc
19:16:06 <alise> d
19:16:06 <alise> f
19:16:07 <alise> xabcx
19:16:09 <alise> abc
19:16:11 <alise> abc
19:16:13 <alise> where the duplicated abcs are its output
19:16:15 <zzo38> I find use of greedy/un-greedy useful in regular expression
19:16:15 <alise> so yes, that should work.
19:16:40 <alise> foreach split /\s+/, <> { print if /\d+/ }
19:16:40 <alise> mugrep -s '\s+' '[0-9]+'
19:16:41 <alise> meh
19:16:56 <alise> zzo38: can you think of any useful regexp options other than /i and the newline-behaviour-changing ones?
19:17:20 <zzo38> No, I can't think of it (at the current moment)
19:17:30 <oerjan> alise: um _evaluating_ a regexp matches it against $_, afaik (not sure about list context)
19:18:17 <alise> oerjan: ah, you are correct
19:18:22 <alise> not evaluating, though; converting to scalar context
19:18:25 <alise> aren't regexps first-class?
19:18:40 <zzo38> Perhaps an option for including replacements inside of sub-expressions, in order to [1] match on the replacements and [2] use the sub replacement in the main replacement texts
19:18:48 <zzo38> Would be a bit useful in some cases
19:18:53 <oerjan> alise: i don't think so, maybe they are now
19:19:25 <zzo38> But I find greedy/un-greedy useful
19:19:34 <alise> huh, they're second-class?
19:19:34 <alise> strange
19:19:50 <alise> zzo38: That's not so useful, since I'm writing a mini grep clone
19:19:56 <alise> Well, actually a micro grep clone.
19:19:58 <alise> mugrep :P
19:20:18 <oerjan> alise: don't quote me on it though
19:20:46 <zzo38> OK, you don't have to include everything, but some things are useful
19:21:30 -!- kar8nga has joined.
19:22:32 <alise> Hmm, so the basic structure of a DFA regular expression is "accept X and continue; otherwise, go to Y"
19:22:49 <alise> where X is a character or character range (optimisation, we could just encode it as (a|b|c|d))
19:23:50 <cheater99> hello alise
19:23:51 <cheater99> how r u
19:24:06 <alise> so a|b|c ==>
19:24:07 <alise> _1: accept('a') || goto _2; goto _4;
19:24:07 <alise> _2: accept('b') || goto _3; goto _4;
19:24:07 <alise> _3: accept('c') || fail(); goto _4;
19:24:07 <alise> _4: ...
19:25:36 <alise> hmm, we can encode everything as ranges
19:25:36 <alise> [a-a]
19:25:45 <alise> although this makes [abc] a bit rubbish
19:26:02 <alise> the problem is that e.g. [\0-\255] would generate a pathologically large tree
19:26:50 -!- hiato has joined.
19:27:38 <oerjan> alise: this reminds me of that ehirdlang that was one of your first suggestions when coming here. http://oerjan.nvg.org/esoteric/ehird.pl (broken) and http://oerjan.nvg.org/esoteric/ehird.py
19:27:49 * oerjan waits for alise's acute embarassment
19:28:13 <alise> actually i like that lang
19:28:36 <alise> what's embarrassing about it
19:28:57 <hiato> yeah oerjan, what's embarrassing about it?
19:29:01 <alise> YEAH OERJAN
19:29:08 <hiato> COME ON MAN
19:29:23 <alise> [BEEP]ING [BEEP]ER [BEEP]
19:29:31 <alise> HUH? HUH OERJAN?!
19:29:38 <hiato> NOW WHAT?! I THOUGHT SO
19:29:46 <oerjan> alise: you were young and foolish, i _assumed_ you'd find it embarassing
19:29:57 <alise> hey only i'm allowed to call my past self foolish
19:29:59 <hiato> yeah alise, young and foolish
19:30:31 <alise> but regardless i think it's a good lang
19:30:35 <cheater99> she is still young and foolish
19:30:45 <alise> although:
19:30:46 <alise> print re.sub(".", prog[:-1], ".")
19:30:46 <alise> what is this
19:30:55 <alise> i can't tell what it's meant to do :)
19:30:55 <cheater99> lol
19:31:00 <hiato> lol
19:31:14 <oerjan> alise: anyway i remembered it because the perl shows how to simulate first class regexps with string variable interpolation
19:31:19 <alise> it's...
19:31:24 <alise> that's the same thing as print prog[:-1], oerjan
19:31:34 <alise> why did you write that.
19:31:43 <oerjan> is it?
19:31:55 <alise> you're replacing . with prog[:-1] in the string .
19:32:11 <zzo38> Do you know how to make program language with Egyptian hieroglyphics?
19:32:13 <hiato> not in the string re?
19:32:20 <alise> re is the regexp module
19:32:25 <oerjan> alise: oh, it does unescaping on the prog[:-1] as well
19:32:28 <oerjan> iirc
19:32:31 <hiato> aaah yeah, not ruby. My bad
19:32:34 <alise> oerjan: ah
19:32:42 <alise> oerjan: it also breaks it if you have \& or whatever it is in there :D
19:32:46 <alise> and \0 i think too
19:32:50 <alise> (as in literals, not the characters)
19:33:08 <oerjan> alise: um it's _supposed_ to be a regexp, isn't it
19:33:14 <cheater99> alise
19:33:16 <alise> no, foo. is meant to print foo i think
19:33:21 <cheater99> haven't you recommended pidgin to me
19:33:28 <alise> hmm... what would you guys call something that's either [abc] or [a-z] (possibly with only one character)
19:33:31 <alise> acceptance? range?
19:33:31 <oerjan> oh well
19:33:33 <alise> cheater99: ?
19:33:39 <cheater99> alise
19:33:40 <alise> cheater99: i think so
19:33:40 <cheater99> haven't you recommended pidgin to me
19:33:42 <cheater99> ok
19:33:45 <alise> why
19:33:46 -!- MizardX- has joined.
19:33:52 <cheater99> any idea how to make a contact go into multiple groups
19:33:56 -!- Gracenotes has quit (Ping timeout: 260 seconds).
19:34:09 <alise> you can't do it afaik
19:34:10 <cheater99> is it even possible??????????
19:34:13 <cheater99> omfg
19:34:14 <alise> i suggest not using groups
19:34:15 <cheater99> this is so bad
19:34:20 <cheater99> i have to use groups
19:34:21 <alise> cheater99: it's impossible with every client
19:34:23 <alise> afaik
19:34:26 <cheater99> i have nearly a thousand people
19:34:28 <alise> the server architectures don't support it
19:34:33 <cheater99> that's ok
19:34:39 <cheater99> i want to use it for the ones that i can use it for
19:34:45 <alise> 1,000 is well over the monkeysphere, delete 90%
19:34:51 <cheater99> no
19:34:56 <cheater99> you should see my facebook
19:35:01 <cheater99> it's all 16 year old girls
19:35:07 <alise> i figured.
19:35:13 <hiato> I din't.
19:35:15 <cheater99> so you have
19:35:28 <cheater99> I HOPE YOU ARE HAPPY NOW
19:35:41 <zzo38> Does the people who make ReactOS need to know the things I found in the NT object manager?
19:35:47 <alise> zzo38: Probably.
19:35:58 <cheater99> make sure to tell them
19:36:06 <cheater99> i hope win32 gets fully hacked at last
19:36:35 <cheater99> i think i should go and get some f00d
19:36:40 <cheater99> ttyl chaps
19:37:36 -!- MizardX has quit (Ping timeout: 276 seconds).
19:37:41 <zzo38> How do I tell them?
19:37:45 -!- maustin has joined.
19:37:45 -!- MizardX- has changed nick to MizardX.
19:38:11 <alise> zzo38: irc channel or mailing list
19:38:40 <alise> Hey, there's actually no regexp structure that doesn't fit the accept character, success&fail jumps model.
19:38:55 <alise> a*... is { x = {a, x, ...} }
19:39:10 <cheater99> what are you trying to do
19:39:24 <alise> a+... is { x = { 'a', y, fail }; y = { 'a', y, ... } }
19:40:02 <zzo38> Now we can make a accept/jump regexp program with macros, instead of writing regexp normally?
19:40:29 <alise> zzo38: I'm more using it as an implementation strategy :P
19:40:44 <alise> http://pastie.org/994060.txt?key=d8rirjx1oxekmnlvqi8lw
19:40:49 <zzo38> Yes, but we can do it both ways, maybe
19:40:53 <alise> Pretty sure I can shoehorn the entirety of regular expressions onto this.
19:40:56 <zzo38> Do you like this form? http://zzo38computer.cjb.net/misc/more_misc/send_money.htm
19:41:04 <alise> zzo38: You could write a preprocessor that turns sections that look like
19:41:11 <zzo38> alise: Including greedy/un-greedy?
19:41:24 <oerjan> alise: can you distinguish a.. what zzo38 said
19:41:24 <alise> #pragma regexp foo = /[0-9]+/i
19:41:26 <alise> into
19:41:30 <alise> some code that recognises it
19:41:34 <alise> and assigns it to the function pointer foo
19:41:41 <alise> oerjan: not sure
19:41:45 <alise> oerjan: I don't think so
19:42:05 <alise> oerjan: doesn't matter for grep, though
19:42:07 <alise> no groups
19:42:26 <oerjan> hm i guess
19:46:03 <alise> I was about to say "case-insensitivity will be really easy", but it won't be so easy for ranges
19:46:16 <alise> or, wait
19:46:29 <alise> can we downcase a range [a-b] by doing [lowercase(a)-lowercase(b)]?
19:46:40 <oerjan> no
19:46:46 <alise> yeah that's the problem
19:46:52 <oerjan> [D-a]
19:46:52 <alise> oerjan: but
19:46:57 <alise> oerjan: ah of course
19:47:06 <alise> heh, [^abc] is { [abc], fail, next }
19:49:05 <alise> oerjan: grr, how on earth do you downcase a range then... tricky (assuming your input is always lowercase)
19:49:15 <alise> of course, you can split it out then downcase every element, but that's very inefficient
19:49:37 -!- Gracenotes has joined.
19:49:45 <oerjan> alise: you only need to split it into at most 3 parts (assuming ASCII)
19:50:01 <alise> Howso?
19:50:09 <oerjan> oh wait
19:50:15 <oerjan> that's five parts
19:50:39 <oerjan> something, A-Z, something, a-z, something
19:51:07 <oerjan> each of those parts can be handled simply
19:51:50 <alise> Eh? :P
19:51:51 <oerjan> unicode would probably be horrible of course
19:52:10 <oerjan> alise: let's say you have [ -d]
19:52:52 <alise> Said.
19:53:16 <oerjan> it's the union of [ -@], [A-Z], [[-'], [a-d]
19:53:30 <oerjan> er
19:53:39 <oerjan> *[[-`]
19:53:54 <alise> you're crazy
19:54:04 <alise> anyway, sure
19:54:15 <oerjan> each of those ranges are easy to downcase
19:54:20 <alise> surely the algorithm to determine this won't be faster than an algorithm that just loops through at most 256 things, though :-)
19:54:45 <alise> i.e. go from start to end; downcase every character you see. If it is adjacent to the last character, increase the range by one. Otherwise, alternate it with a new range starting at the current character.
19:54:53 <oerjan> alise: oh one more thing
19:55:09 <oerjan> only one of those ranges actually _change_ while downcasing
19:55:52 <oerjan> meaning, hm, you actually only need 3 parts after all
19:56:27 <oerjan> [\0-@], [A-Z], [[-\?]
19:56:38 <oerjan> (iirc)
19:56:39 <alise> a?b = (ab|b) :P
19:56:52 <alise> a?b = { 'a', b, b }
19:57:14 <alise> oerjan: The main thing is algorithmic simplicity, though, unless it would involve bad runtime performance.
19:57:50 <oerjan> oh well
19:59:24 <alise> In fact, maybe I won't even support [a-b] internally, just translate it to [a..b] :P
20:02:05 -!- hiato_ has joined.
20:03:34 <alise> oerjan: worst case it would go through 255 states before finding a match
20:03:36 <alise> that's not so bad, is it?
20:04:03 <maustin> what is this you're working on?
20:04:35 -!- hiato has quit (Ping timeout: 276 seconds).
20:04:36 <alise> maustin: a micro grep implementation
20:04:42 <maustin> ouch
20:05:01 <alise> regexp is literal string, [abc], [a-b], [^abc], [^a-b], (...) for grouping, a|b|c, x*, x+
20:05:04 <alise> maustin: why ouch?
20:05:07 <oerjan> alise: um you would normally use a lookup table wouldn't you, rather than going through all character possibilities sequentially...
20:05:12 <maustin> why would you want to hurt yourself? : )
20:05:23 <alise> oerjan: Well... why didn't I think of that
20:05:28 <alise> maustin: why is that hurting myself? :P
20:05:38 <alise> oerjan: No seriously why O_O
20:05:44 <oerjan> heh :D
20:05:54 <alise> typedef struct {
20:05:54 <alise> enum { RANGE, ALT } type;
20:05:55 <alise> union {
20:05:55 <alise> struct { char start, end; } range;
20:05:55 <alise> char *alt;
20:05:55 <alise> } values;
20:05:57 <alise> } range;
20:05:59 <alise> GOODBYE FEEBLE STRUCTURE
20:06:30 <maustin> how much of regex do you want to support?
20:06:40 <alise> <alise> regexp is literal string, [abc], [a-b], [^abc], [^a-b], (...) for grouping, a|b|c, x*, x+
20:06:58 <alise> so just [...]s, (...)s, ...|...s, ...*s and ...+s
20:07:10 <alise> x+s are trivial, of course, just xx*
20:07:27 <oerjan> alise: so, _actual_ regexes, of the kind that can be turned into a finite automaton...
20:07:32 * alise always forgets how C functions can return arrays
20:07:36 <alise> since I use it so rarely...
20:07:37 <alise> oerjan: yes
20:07:58 <oerjan> alise: in that case it's even more wtf that you didn't think of lookup tables :D
20:08:08 <alise> sometimes my brain doesn't work.
20:08:39 <alise> oerjan: of course it's even more minimal than that, because it won't even handle greediness properly
20:08:45 <alise> oh i'll also handle x?
20:09:09 <oerjan> alise: well greediness is irrelevant for simply matching lines, as you said
20:09:31 <maustin> what about nested ()s?
20:09:34 <oerjan> in fact if you turned it into a DFA the greediness wouldn't show up at all
20:09:38 <alise> maustin: sure, but they're only for syntactical reasons.
20:10:23 <alise> x+? = (xx*)? = { A = { 'x', B, fail }, B = { 'x', B, ... } }?
20:10:46 <alise> x? = A with fail replaced with ...
20:10:53 <alise> { A = { 'x', B, ... }, B = { 'x', B, ... } }
20:10:56 <alise> as opposed to
20:11:03 <alise> { A = { 'x', A, ... } }
20:12:25 <maustin> (a|b) x|foo
20:12:38 <maustin> would you need backtracking or something for that?
20:13:38 <alise> no.
20:15:00 <alise> hmm
20:15:08 <alise> can a c function returning foo * return a local foo[n] variable?
20:15:40 <maustin> &foo[n] ?
20:16:13 <alise> no
20:16:14 <alise> as in
20:16:20 <alise> char *f() { char x[500]; return x }
20:16:30 <Deewiant> UB
20:16:35 <oerjan> alise: if it's on the stack it'll probably be overwritten, no?
20:16:36 <maustin> only if it's static
20:16:49 <maustin> or else, your computer will explode
20:17:33 <alise> yeah i thought so
20:17:37 <alise> but i hate malloc :<
20:17:58 <maustin> you can pass in a local
20:18:03 <Deewiant> If you just want 500 make it a global or static
20:18:24 <oerjan> alise: were you here when we discussed how to do that kind of allocation with CPS?
20:18:36 <oerjan> (relatively recently)
20:18:36 <alise> Deewiant: 256 actually
20:18:39 <alise> oerjan: like the Cheney on the MTA?
20:18:41 <alise> technique
20:18:46 <oerjan> alise: something like that
20:18:48 <alise> oerjan: yes, of course i know of it
20:18:51 <alise> i'm its main fanboy :P
20:19:13 <maustin> continuation passing?
20:19:30 <oerjan> alise: in our case we didn't consider it for scheme though, just for allocating extra memory safely on the stack
20:19:57 <oerjan> (and no thought for the GC)
20:20:22 <zzo38> I don't think a code like char *f() { char x[500]; return x } can work, you probably have to make a copy, or else, use it like f(g) { char x[500]; return g(x); } perhaps might work better
20:21:00 -!- lament has joined.
20:21:02 <oerjan> zzo38: well the last looks like the CPS
20:21:56 <oerjan> *latter
20:22:56 -!- hiato_ has quit (Ping timeout: 240 seconds).
20:23:11 -!- hiato has joined.
20:25:45 <alise> hmm, I never before noticed the lack of a file-specific #define
20:25:49 <zzo38> oerjan: O, I didn't know the CPS
20:27:00 <alise> hmm, not only do I need FAIL, I need END
20:27:09 <alise> is (void*)1 ever going to point somewhere according to the c standard? I bet it can
20:27:21 <oerjan> the END of FAIL
20:27:44 <zzo38> alise: I think yes, but not in protected mode
20:28:04 <zzo38> In protected mode, a command such as (void*)1 is probably a invalid command in C.
20:28:08 <alise> that's not the c standard
20:28:10 <alise> is it?
20:28:14 <alise> i don't think c talks about protected mode.
20:28:17 <alise> also it's an expression not a command
20:28:18 -!- MizardX has quit (Ping timeout: 276 seconds).
20:28:21 <zzo38> (Even if it works, it is still invalid)
20:28:37 <coppro> (void*)1; should never fail in C
20:28:52 <coppro> if it's dereferenced, sure
20:28:54 <coppro> but just casting? no
20:28:58 <oerjan> alise: C doesn't say anything about what numbers can be addresses, does it? in particular 0 is not necessarily NULL
20:29:12 <alise> oerjan: (void*)0 is guaranteed to be null, though
20:29:12 <oerjan> (er
20:29:21 <alise> in particular, the expression "0" of a pointer type is guaranteed to be NULL
20:29:26 <coppro> sure, but int i = 0; (void*)i; is not
20:29:29 <alise> yes
20:29:33 <oerjan> alise: what coppro said
20:29:47 <alise> coppro: what i mean is -- does *(X*)1 ever return something meaningful? *(X*)0 is guaranteed not to
20:29:53 <coppro> alise: It could
20:29:54 <alise> but I assume you're allowed to put stuff at 1
20:29:57 <alise> which is irritating
20:30:01 <alise> because I need two sentinel pointers!
20:30:12 <alise> I could malloc them to reserve some memory but come on :)
20:30:19 <coppro> that was going to be my suggestion
20:30:41 <alise> fine
20:30:45 <oerjan> alise: allocate a variable you never use... right. it doesn't need to be malloc though, couldn't it be static?
20:30:50 <alise> oerjan: ah, yes
20:31:07 * alise types "static void FAIL", slaps himself, types "static char FAIL"
20:31:36 -!- augur has joined.
20:31:38 <alise> static char sentinel[2];
20:31:38 <alise> static void *END = sentinel[0];
20:31:38 <alise> static void *FAIL = sentinel[1];
20:31:41 <alise> er, &sentinel[0]
20:31:54 <zzo38> Even if "(void*)1;" should never fail, I still think it is supposed to be invalid command in protected mode, even if it won't fail (it is obviously not something that *can* fail), but I still think it contains something which is supposed to be wrong in protected mode
20:32:08 <coppro> zzo38: what is this protected mode you speak of?
20:32:44 <zzo38> I mean protected mode that memory address cannot work like that in C
20:32:59 <coppro> why not?
20:33:12 <oerjan> zzo38: it's not that it's invalid, it's that it'll usually cause a page fault iirc. there was a linux exploit recently based on tricking something to allocate the first page in user mode
20:33:34 <coppro> yep
20:33:41 <oerjan> (or maybe it's not so recent any longer)
20:33:50 <coppro> the kernel was missing a NULL check, so it would look into user memory there
20:34:51 <alise> last_success = &rxp->success;
20:34:51 <alise> last_failure = &rxp->failure;
20:34:59 <alise> Quiz: Why not just {last = rxp}?
20:35:22 <oerjan> alise: perversely, i think you'd probably be safe in practice then if you put your sentinels in the same page as NULL
20:35:40 <oerjan> (but as usual, don't quote me on that)
20:35:42 <alise> "That's so perverse."
20:36:21 <coppro> I don't think the kernel will allocate memory in the first page unless specifically requested
20:36:22 <oerjan> but there's no guarantee of it, i guess. or for pages to even _exist_ in plain C...
20:36:32 <alise> Nobody wants to take my quiz challenge (
20:36:33 <alise> *:(
20:36:39 <coppro> (well, it will allocate its own memory, but it won't map another program's memory there)
20:37:19 <zzo38> What quiz challenge?
20:37:28 <zzo38> I don't know the answer
20:37:49 <oerjan> alise: perhaps you're deallocating rxp?
20:37:57 <zzo38> I don't even know the question even though I can see it
20:37:58 <alise> Nope.
20:38:07 <alise> The answer is that, take for instance [^abc]
20:38:14 <alise> Then we set last_success = &rxp->failure; and vise-versa
20:38:14 <zzo38> I don't even know the quiz, even though I can see that too.
20:38:16 <alise> See how that works?
20:38:23 <oerjan> ah
20:38:32 <alise> case '*':
20:38:33 <alise> *last_success = last;
20:38:33 <alise> last_success = last_failure;
20:38:34 <alise> Not sure that's correct.
20:38:40 <alise> Should the two really be equal? I guess * never fails.
20:38:43 <alise> So failure is success
20:38:49 <alise> So (a*|b) is the same as a*.
20:38:51 <alise> It will never fail.
20:39:23 <oerjan> alise: um it could fail by backtracking
20:39:30 -!- JodaZ has joined.
20:39:32 <alise> No backtracking in a regular regexp.
20:39:48 <alise> case '?':
20:39:48 <alise> last_success = last_failure;
20:39:49 <alise> break;
20:39:49 <alise> :-)
20:39:49 <JodaZ> are there any compilers that compile a high level language to brainfuck ?
20:39:53 <alise> JodaZ: yes
20:39:59 <JodaZ> alise, name ?
20:40:01 <alise> JodaZ: Pebble, BASIC-BF or whatever it's called, and C2BF.
20:40:03 <oerjan> alise: say (a*|b) matching b
20:40:14 <oerjan> oh wait
20:40:15 <alise> Pebble is designed for BF and also unmaintained, C2BF actually compiles a decent subset of C to Brainfuck and is unmaintained,
20:40:21 <zzo38> JodaZ: Also BrainClub
20:40:22 <alise> BFBASIC or whatever was used to write LostKng.b.
20:40:27 <alise> zzo38: forthlikes are not high elvel :P
20:40:32 <alise> *level
20:40:33 <alise> brb
20:41:02 <oerjan> *alise: say (a*|b)a matching ba
20:41:19 <JodaZ> thanks, zzo38, alise
20:41:22 <zzo38> Well, yes, it is more lower level than BASIC and C, but it can be used even using high level codes and low level codes, which is like how Forth works in general. (Still, BrainClub is not Forth, it is just a bit similar)
20:41:30 <oerjan> sometimes you have to backtrack
20:42:01 <oerjan> hm assuming that's matching at start
20:42:16 -!- zzo38 has quit (Quit: Spider Tarot Deck Standards Document).
20:42:16 <oerjan> (add ^ as appropriate)
20:42:58 -!- coppro has quit (Remote host closed the connection).
20:43:31 -!- coppro has joined.
20:43:41 <oerjan> alise: anyway regular regexps can certainly require backtracking unless you convert them into finite automata first
20:45:29 <oerjan> c(a*|b)c matching cbc for a clear example
20:48:25 -!- hiato has quit (Quit: quick reset).
20:48:48 -!- hiato has joined.
20:52:52 <alise> oerjan: (a|b)c = (ac|bc)
20:52:55 <alise> i can take advantage of that, surely?
20:53:02 <alise> to avoid the (a*|b)c problem
20:53:21 <alise> oerjan: anyway (a*|b)c can be done normally by wiring up c's failure pointer to b
20:53:26 <alise> then b's failure pointer to FAIL
20:53:30 <alise> not sure what algorithm that would involve though
20:55:25 <oerjan> sure you can do little hacks, but will they work on all cases...
20:55:50 <oerjan> the _intuitive_ algorithm uses backtracking
20:57:09 <oerjan> and of course backtracking can blow up exponentially, a*** and stuff...
20:57:27 <alise> yeah...
20:57:31 <alise> the proper nfa stuff is quite complicated
20:57:32 <alise> comapred to this
20:57:34 <alise> *compared
20:58:17 <oerjan> s/of course/i read somewhere that/
20:58:32 <alise> swtch.com
20:58:34 <alise> i bet
20:58:45 <alise> comex: are you twomic?
20:58:47 <oerjan> (it's "of course" in afterthought, of course)
20:58:53 <comex> no
20:58:58 <comex> following him, tho
20:59:43 <oerjan> i don't know that i have ever visited swtch.com before. it may have been just the perl manual.
20:59:59 <alise> comex: who are they?
21:00:06 <alise> I bet charles walker
21:00:09 <alise> as they followed me at the same time
21:00:13 <comex> no clue
21:00:22 <alise> they followed my tusho account though which isn't even my latest abandoned account
21:00:53 <alise> http://twitter.com/zuffix is the latest abandoned one :P
21:00:59 <alise> and the nomic logo is MY picture dammit
21:01:13 <alise> some glorious spam at the end there
21:01:26 <alise> "apparently owning things being undefined is no cause for a b nomic crisis" xD
21:02:51 <oerjan> alise: ok that "Regular Expression Matching Can Be Simple And Fast" rings a bell, but i'm not sure if it was there
21:15:24 <alise> adbc
21:20:33 -!- kar8nga has quit (Remote host closed the connection).
21:26:36 <alise> hmm
21:26:41 <alise> does anyone know how to connect two generates in python?
21:26:56 <alise> like in unix pipes, having two programs A and B and connecting each others std(out|in) to the other's std(in|out)
21:27:01 <alise> *generators
21:27:06 <alise> so basically two "mutually recursive" generators
21:27:08 <alise> (taking a generator as an argument)
21:29:14 <alise> (thinking about iterated prisoner's dilemma)
21:29:15 <alise> heh I wrote
21:29:17 <alise> def titfortat(opp):
21:29:17 <alise> print 'C'
21:29:17 <alise> for act in opp: yield act
21:29:20 <alise> but then realised that this is the same as
21:29:25 <alise> err *yield C
21:29:30 <alise> def titfortat(opp):
21:29:30 <alise> print 'C'
21:29:30 <alise> return opp
21:29:35 <alise> *yield
21:29:35 <alise> dammit
21:31:13 <AnMaster> <div align=right><b><blink><font color="#FF0000"><font size=+2>NEW</font></font></blink></b><a href="#version13">Read
21:31:13 <AnMaster> about the v1.3 20010120 release</a>&nbsp; <b><blink><font color="#FF0000"><font size=+2>NEW</font></font></blink></b></div>
21:31:21 <AnMaster> this should disqualify you from using the web
21:31:30 <alise> no it shouldn't they used the modern <div> tag
21:31:33 <alise> which is the funniest part
21:31:45 <AnMaster> alise, but <blink>!
21:31:57 <alise> yes, the two together are hilarious
21:32:18 <AnMaster> alise, also, they forgot quotes around "right", <div> without quotes for attribute values looks damn weird
21:33:30 <alise> AnMaster: actually in html5 it's considered fine to omit the quotes
21:33:46 <alise> indeed take a look at the source of http://diveintomark.org/, and he's one of the top html5 evangelists (writing a book about it)
21:34:15 <alise> also source of http://hg.diveintohtml5.org/hgweb.cgi/raw-file/dd8050265123/index.html (table of contents of the book)
21:34:45 <AnMaster> alise, sure maybe
21:34:53 <AnMaster> but it still looks very strange with div
21:35:00 <alise> yeah
21:35:03 <alise> in fact div is rarely used in html5
21:35:09 <alise> since there's article, section, header, and so on
21:35:23 <AnMaster> alise, also, what about "Times New Roman" for a <font> tag, would that need quotes?
21:35:44 <alise> yes, but <font> is deprecated :P
21:35:44 <AnMaster> iirc there was some quirk long ago that made that one not need quotes
21:35:48 <AnMaster> :P
21:35:49 <alise> well
21:35:57 <alise> html5 also specifies a parsing algorithm that works with tag soup as well
21:36:01 <AnMaster> surely HTML5 should embrace that
21:36:03 <alise> gecko is switching over to it
21:36:12 <alise> so in actuality "every string" is valid html5
21:36:15 <AnMaster> alise, yep, but I think tag soup is bad
21:36:23 <alise> it's just the forceful hand of extreme deprecation
21:36:27 <alise> that actually defines de-facto "valid" html5
21:36:34 <alise> (and validators go by this)
21:36:39 <alise> AnMaster: yeah but browsers have to support it
21:36:48 <AnMaster> alise, so validators are pretty much useless
21:36:50 <alise> html 5 is really two things, an update of HTML, and also a standardisation of how-to-handle-the-web
21:36:56 <alise> AnMaster: no, they go by the much stronger form
21:37:05 <alise> i.e. not the parser algorithm
21:37:12 <AnMaster> alise, go implement a html5 parser... lets see if you love html5 as much once you done that ;P
21:37:21 <alise> actually, it's pretty easy
21:37:27 <alise> which is why html5lib is available for python, ruby and php
21:37:35 <alise> this is because the algorithm is specified in great detail
21:37:38 <alise> in the spec
21:37:40 <alise> basically pseudocode
21:37:43 <AnMaster> alise, so you could do it with a LR(1)?
21:38:02 <alise> I don't know
21:38:06 <alise> I don't think you can, no
21:38:08 <alise> tag soup is not that simple
21:38:12 <AnMaster> exactly
21:38:29 <alise> and?
21:38:38 <AnMaster> you don't see this as a problem?
21:38:55 <alise> you want to write a browser which handles the real-world web with LR(1)?
21:38:57 <AnMaster> I admire python for one thing, and that is that the language is LL(1) to parse. fucking LL(1)!
21:38:58 <alise> have you LOOKED at page source lately?
21:39:09 <alise> of course you're not MEANT to use the shit in the parser algorithm
21:39:10 <AnMaster> alise, yes the real world is the issue here
21:39:17 <alise> the parser algorithm is there to make sure WE NEVER HAVE BROWSER INTEROPERABILITY PROBLEMS AGAIN
21:39:20 <alise> not to specify best practice
21:39:49 <AnMaster> alise, if all browsers followed the spec strictly then there wouldn't be any interoperability problems. Fat chance though...
21:40:30 <alise> Fun fact, all the major browsers apart from IE are switching to the HTML5 parser algorithm or something very similar.
21:40:33 <alise> I don't know what IE are doing.
21:41:17 <alise> def titfortwotats(opp):
21:41:17 <alise> forgive = 0
21:41:17 <alise> for act in opp:
21:41:17 <alise> if act == C:
21:41:17 <alise> forgive = 0
21:41:18 <alise> yield C
21:41:19 <alise> else:
21:41:21 <alise> forgive += 1
21:41:23 <alise> if forgive == 2: yield D
21:42:13 <AnMaster> what
21:43:20 <alise> What, "what"?
21:46:48 <maustin> what?
21:48:20 <alise> what
21:49:34 <alise> def titfortwotats(opp):
21:49:35 <alise> forgive = 0
21:49:35 <alise> for act in opp:
21:49:35 <alise> if act == C:
21:49:35 <alise> forgive = 0
21:49:35 <alise> yield C
21:49:37 <alise> else:
21:49:39 <alise> forgive += 1
21:49:41 <alise> if forgive == 2: yield D; forgive = 0
21:49:43 <alise> else: yield C
21:49:45 <alise> fixed tit for two tats
21:50:42 -!- jabb has joined.
21:53:56 <AnMaster> anyone know how to set env vars for wine apps?
21:55:28 -!- hiato has quit (Quit: /quit /quit /quit).
22:01:35 -!- Oranjer has joined.
22:04:55 <alise> rgijdfg
22:04:57 <alise> this is irritating
22:07:29 <jabb> what is?
22:09:57 <alise> I forgot
22:10:33 <alise> But if anyone wants to help me, tell me how to create two mutually linked generators given generator-functions gen1 and gen2 such that a == gen1(b) and b == gen2(a).
22:10:37 <alise> I'm not sure it's possible.
22:10:43 <alise> But it's what you want for Prisoner's dilemma.
22:10:48 <alise> Oh! You can do it if you have them be classes.
22:10:52 <alise> That makes things Ugly though.
22:14:48 <CakeProphet> alise: generators as in Python generators?
22:15:01 <alise> yeah
22:15:17 <CakeProphet> so a and b are generators correct?
22:15:37 <AnMaster> alise, rendering lego with povray is fun
22:15:45 <alise> CakeProphet: yes
22:15:50 <alise> I worked it out, it's just a bit ugly
22:16:11 <CakeProphet> alise: ah, then yeah.. you would need to introduce one of the generators at a later point in time. Perhaps with a send()
22:16:19 <CakeProphet> ah, yeah. it probably would be.
22:16:35 <CakeProphet> would be interesting if you could design a language that could produce constructions like that... possibly with lazy evaluation.
22:16:44 <AnMaster> anyone seen phantom_hoover?
22:17:10 <alise> CakeProphet: haskell can
22:17:13 <alise> and the functions could return lists
22:17:16 <alise> infinite lists, even
22:17:23 <CakeProphet> right.
22:17:36 <CakeProphet> Haskell has the benefit of no state I suppose.
22:17:39 <CakeProphet> makes things like that easier.
22:17:45 <alise> what are the usual scores for prisoner's dilemma? 0/1/3/5?
22:19:50 <alise> aww, you can't return another generator in a generator
22:21:04 <alise> haha my thing is totally broken :(
22:21:10 <alise> thought
22:21:12 <alise> def titfortat(opp):
22:21:12 <alise> yield C
22:21:12 <alise> for act in opp: yield act
22:21:14 <alise> was oh so clever
22:21:25 <alise> but it appears to just yield an infinite lewp
22:21:26 <alise> somehow
22:22:24 <alise> >>> run_match(titfortat, always_defect, 100)
22:22:24 <alise> (99, 104)
22:22:25 <alise> oh snap
22:22:34 -!- augur has quit (Remote host closed the connection).
22:23:09 <alise> hmm
22:23:21 <alise> I propose the "true score" of an iterated prisoner's dilemma game is
22:23:33 <alise> lim(iters -> inf) match(A, B, iters)/iters
22:25:27 <oerjan> !haskell data Strategy a = ST a (a -> Strategy a); tt x = ST x tt; match (ST x f) (ST y g) = (x,y) : match (f y) (g x); main = print . take 10 $ match (tt True) (tt True)
22:25:38 <EgoBot> [(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True)]
22:26:32 * alise writes haskell prisoner's dilemma instead
22:26:33 * oerjan whistles innocently
22:27:53 <oerjan> hm...
22:29:12 <oerjan> !haskell data Strategy b a = ST a (b -> Strategy a); tt x = ST x tt; match :: Strategy b a -> Strategy a b -> [(a,b)]; match (ST x f) (ST y g) = (x,y) : match (f y) (g x); main = print . take 10 $ match (tt True) (tt True)
22:29:21 <oerjan> er
22:29:22 <AnMaster> oerjan, here is a nice little[*] image I took: http://omploader.org/vNGlwYw
22:29:28 <AnMaster> [*] 53 MP
22:29:28 <oerjan> !haskell data Strategy b a = ST a (b -> Strategy b a); tt x = ST x tt; match :: Strategy b a -> Strategy a b -> [(a,b)]; match (ST x f) (ST y g) = (x,y) : match (f y) (g x); main = print . take 10 $ match (tt True) (tt True)
22:29:31 <EgoBot> [(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True),(True,True)]
22:29:37 <alise> oh for goodness sake, I'm writing something far simple than that
22:29:40 <alise> you're overcomplicating things
22:29:51 * AnMaster prods fizzie about that
22:30:10 <oerjan> i just wanted to see if i could get the strategies to have different output types
22:30:55 <alise> ah
22:32:58 <oerjan> and also i know [a] -> [a] suffices but this way your types ensures that the strategies don't use information before it is given
22:33:00 -!- augur has joined.
22:33:03 <oerjan> *ensure
22:33:39 <alise> titForTat :: Prisoner
22:33:39 <alise> titForTat opp = C : opp
22:33:39 <alise> or
22:33:42 <alise> titForTat = (C :)
22:33:50 <oerjan> yeah
22:34:02 <oerjan> that's essentially what i started writing first
22:34:32 <alise> hmm the score function will be ugly
22:34:51 <oerjan> how so
22:34:56 <alise> hmm maybe not
22:35:33 <alise> actions :: Prisoner -> Prisoner -> [(Action,Action)]
22:35:33 <alise> actions f g = zip a b where a = f b; b = g a
22:35:37 <alise> kinda ugly that one but oh well
22:36:00 <alise> *Main> take 10 $ actions titForTat alwaysD
22:36:00 <alise> [(C,D),(D,D),(D,D),(D,D),(D,D),(D,D),(D,D),(D,D),(D,D),(D,D)]
22:36:17 <alise> then it's just mapping the 4 tuple possibilities to an integer, and summing away
22:36:28 <oerjan> yeah
22:36:31 <alise> well, two integers
22:36:55 -!- maustin has quit (Quit: Leaving).
22:37:45 <alise> hmm what's the function (a -> b) -> (a,a) -> (b,b)
22:38:02 <oerjan> join (***)
22:38:19 <oerjan> or wait
22:38:29 <oerjan> hm yes
22:38:38 <alise> fugly
22:38:56 <alise> er it's actually ... what is it hm
22:39:27 <alise> I actually want [(a,b),(c,d),(e,f)] -> (a+c+e, b+d+f)
22:39:35 <oerjan> oh
22:40:37 <oerjan> (sum *** sum) . unzip
22:40:45 <alise> I don't suppose that comes in a less spicy version
22:40:47 <alise> (curried :P)
22:40:55 <alise> result :: Integer -> Prisoner -> Prisoner -> (Integer, Integer)
22:40:55 <alise> result n f g = (sum *** sum) . unzip . take n . map score $ actions f g
22:40:57 <alise> totally haskell
22:41:14 <alise> should be *Int
22:41:32 <alise> *Main> result 10 titForTat alwaysD
22:41:32 <alise> (9,14)
22:41:52 <alise> my payoffs are:
22:41:56 <alise> score (C,C) = (3,3)
22:41:56 <alise> score (C,D) = (0,5)
22:41:56 <alise> score (D,C) = (5,0)
22:41:56 <alise> score (D,D) = (1,1)
22:42:01 <alise> taken from wikipedia
22:46:19 <pineapple> game theory?
22:50:55 <cheater99> hey alise
22:50:55 <cheater99> http://www.azulsystems.com/events/javaone_2009/session/2009_J1_HardwareCrashCourse.pdf
22:50:59 <cheater99> check this out
22:52:14 -!- tombom_ has quit (Quit: Leaving).
23:30:13 <FireFly> AnMaster, nice little picture
23:30:14 <CakeProphet> is there any known way to optimize all or some recursive algorithms to imperitive equivalents?
23:30:56 <oerjan> itym "iterative"
23:31:17 <CakeProphet> seems possible if you analyze the relationship between branch points in the code, function parameters, and changes made to parameters before subsequent recursive calls.
23:31:37 <AnMaster> <FireFly> AnMaster, nice little picture <-- heh ;P
23:31:46 <AnMaster> FireFly, so did it crash firefox? it did for someone else
23:31:54 <oerjan> CakeProphet: well tail recursion can be turned into iteration
23:32:00 <FireFly> Opera, and nope, works all right
23:32:11 <AnMaster> FireFly, mhm
23:32:20 <FireFly> I like the picture though
23:32:27 <AnMaster> FireFly, I want to upload a gigapixel image, just to watch the effects when I paste the link
23:32:33 <AnMaster> should do it all white so it compresses well
23:32:37 <AnMaster> or some such
23:32:49 <AnMaster> FireFly, that was the panorama?
23:32:54 <AnMaster> FireFly, or some other pic I posted?
23:32:59 <FireFly> Yep
23:33:09 <FireFly> The 16744x3173 px one
23:33:24 <AnMaster> FireFly, the base of the thing I took it with http://omploader.org/vNGl0eg (if I had pieces in the right colours it would have been http://omploader.org/vNGl1ag)
23:34:08 <FireFly> Hrm
23:34:14 <FireFly> Wait
23:34:24 <AnMaster> FireFly, posted some pics of it before yesterday or such
23:34:33 <FireFly> Ah
23:34:52 <AnMaster> let me find them
23:34:56 <AnMaster> http://omploader.org/vNGlobg
23:35:00 <AnMaster> http://omploader.org/vNGlobg
23:35:07 <AnMaster> http://omploader.org/vNGlocw
23:35:12 <AnMaster> FireFly, (progressive jpeg)
23:35:34 * FireFly should really get an RCX
23:35:49 <AnMaster> FireFly, well I had two, but one is dead after years of storage
23:35:52 <AnMaster> sad
23:35:59 <AnMaster> I should get another one as a replacement
23:36:04 <AnMaster> FireFly, you could get an NXT
23:36:10 <FireFly> Ah, yeah
23:36:13 <FireFly> Probably would
23:36:17 <AnMaster> FireFly, and have fun with 32 bits and FPU and all such
23:36:32 <AnMaster> FireFly, instead of doing it like real people: 16 bit, no MMU or FPU
23:36:37 <AnMaster> ;P
23:36:41 <FireFly> Heh
23:36:56 <AnMaster> FireFly, using a cooperative multitasking OS (alternative firmware)
23:37:01 -!- zzo38 has joined.
23:37:30 <AnMaster> FireFly, the controller program: http://sprunge.us/DTGf
23:37:55 <AnMaster> FireFly, license currently unknown. There might be an GPL/MPL conflict since the firmware is under MPL
23:38:01 <AnMaster> I don't know
23:38:17 <FireFly> Looks nice anyway
23:38:32 <AnMaster> FireFly, need to fix bugs with light sensor
23:39:01 <AnMaster> zzo38, don't you use a custom browser iirc?
23:40:13 <zzo38> AnMaster: Yes
23:40:34 -!- p_q has quit (Read error: Connection reset by peer).
23:41:13 <AnMaster> zzo38, does it handle loading http://omploader.org/vNGlwYw ?
23:42:06 <zzo38> Just wait, it is slow
23:42:34 <AnMaster> sure
23:42:41 <AnMaster> zzo38, progressive jpeg
23:42:45 <zzo38> It is a Mozilla based browser, however.
23:42:49 <AnMaster> so it might take a while for it to fully load
23:43:00 <AnMaster> zzo38, the image is 53 megapixel
23:43:12 <AnMaster> a panorama I took as a test
23:45:55 <zzo38> It did load, but it is slow even after it is loaded
23:47:00 <AnMaster> zzo38, ah I see
23:47:24 <zzo38> And it wastes a lot of memory
23:48:19 <zzo38> How slow is it on your computer?
23:48:58 <AnMaster> zzo38, in what? pretty fast in gimp
23:49:13 -!- poiuy_qwert has joined.
23:49:13 <AnMaster> zzo38, haven't tried in browser except on laptop where it is pretty fast
23:49:25 <AnMaster> but that is core 2 duo with 4 GB RAM
23:49:51 <zzo38> So, your computer is faster and more RAM, that is why your computer is more faster.
23:50:25 <zzo38> I haven't tried it yet except the web browser, I don't know if anything else will be faster. I have ImageMagick, but ImageMagick is slow with anything
23:54:21 -!- olsner has quit (Ping timeout: 276 seconds).
23:57:14 <AnMaster> zzo38, imagemagick doesn't do GUI?
23:57:23 <AnMaster> afaik it is completely a console program?
23:59:37 <zzo38> ImageMagick will display a picture, using the "display" command (all operations to modify and deal with pictures are by command-line)
2010-06-07
00:00:18 <zzo38> I have seen this error message somewhere: "Passwords with a letter 'I' in the third position are not supported. Please choose a different password."
00:01:25 <pineapple> what???
00:02:57 <zzo38> (I didn't get this error myself, I saw it elsewhere)
00:04:39 -!- name_ has joined.
00:06:23 <zzo38> I am making modifications to ngIRCd program, I should call it a name a bit difference, what should I call it?
00:06:27 <zzo38> It is already called ngIRCd, I want this one called a bit different, I will release the codes after I implement "ChannelTypes" option (currently it is hard-coded, and that is no good), and maybe "SummonType" and "SummonTimer", and SUMMON CTHULHU command, and possibly other fixes, and a document explaining the new features
00:06:31 <zzo38> I just use it because it is work on Cygwin and on Linux, and it is pure C codes not too many features that I don't need, and that I can modify the C codes to change some things
00:06:53 <pineapple> ngircd ?
00:07:26 <zzo38> I use ngIRCd on my own computer. (And you can see the changes, there, too.)
00:07:27 <alise> <pineapple> game theory?
00:07:28 <alise> yes
00:08:24 -!- olsner has joined.
00:11:12 <alise> titForTat :: Prisoner
00:11:12 <alise> titForTat opp = C : opp
00:11:20 <alise> oerjan: how should titForTwoTats be written? :/
00:11:23 <alise> would be kinda complicated
00:11:28 <alise> since we have to store state in a way
00:13:20 <pineapple> 2 tats?
00:13:47 <alise> yes
00:13:56 <alise> if the other player defects, T42T (tit for two tats) still cooperates
00:14:00 <alise> but if the other player then defects again
00:14:03 <alise> making it twice in a row
00:14:05 <alise> T42T defects
00:14:24 <alise> (note that if there is a cooperate in between two defects T42T still cooperates, it's only two in a row)
00:18:25 <alise> malcontentC :: Prisoner
00:18:26 <alise> malcontentC opp = C : map other opp where other C = D; other D = C
00:18:26 <alise> malcontentD :: Prisoner
00:18:26 <alise> malcontentD opp = D : map other opp where other C = D; other D = C
00:18:40 <alise> both do amusingly well against tit for tat :P
00:19:32 <zzo38> Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
00:19:37 <zzo38> Some people, in an effort to sound intelligent, quote other people. Now they look retarded.
00:19:47 <zzo38> Some people, when confronted with a problem, think "I'm going to grab a sandwich." Now they have two problems because the sandwich is poisoned.
00:19:51 <alise> they both draw with themselves, but malcontentD kicks malcontentC's ass
00:20:01 <zzo38> Some people, when, now they have, a problem.
00:20:11 <alise> Some people, when confronted with a problem, think "Some people, when confronted with a problem, think 'Some people, when confronted with a problem, think "Stack overflow.
00:20:36 <zzo38> alise: Yes.
00:21:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:21:04 <alise> so, anyone want to submit haskell iterated prisoner's dilemma players? :P
00:21:19 <alise> as a lambda expression; you get a list of Actions and return a list of Actions; Action = C | D
00:21:30 <alise> you can use recursion with fix, that is permissable
00:21:42 <alise> always cooperates: fix (\r -> C:r)
00:21:47 <alise> always defects: fix (\r -> D:r)
00:21:53 <alise> tit for tat: (\opp -> C:opp)
00:22:04 <zzo38> Have you played a game "Elemental Solitaire"? It has four elements (the four suits of the cards), but I want to figure out a way to make it work with five elements, do you know?
00:22:21 <alise> I haven't.
00:22:25 <coppro> nope, sorry
00:22:54 <alise> coppro: BUT HAVE YOU PLAYED ITERATED PRISONER'S DILEMMA ...IN HASKELL
00:23:01 <coppro> that seems dumb
00:23:12 <zzo38> http://quidjfravzgembtchowlkspynx.com/elemental/help.htm That's the Elemental solitaire rules
00:23:25 <coppro> better challenge: calculate the odds that a game of Aces Up is winnable
00:24:37 <alise> coppro: you're dumb
00:24:45 <AnMaster> <zzo38> It is already called ngIRCd, I want this one called a bit different, I will release the codes after I implement "ChannelTypes" option (currently it is hard-coded, and that is no good), and maybe "SummonType" and "SummonTimer", and SUMMON CTHULHU command, and possibly other fixes, and a document explaining the new features <-- what do you mean channel types?
00:24:52 <AnMaster> to me there is only one tyle
00:24:54 <alise> AnMaster: # + & etc
00:24:54 <AnMaster> type*
00:24:58 <AnMaster> alise, well okay
00:25:06 <AnMaster> but only ircnet uses it basically
00:25:07 <alise> zzo38 uses only + channels, modeless
00:25:10 <zzo38> Yes, # + & and so on. (ngIRCd does not support ! type channels)
00:25:28 <coppro> does anything?
00:25:46 <AnMaster> zzo38, so, why is it being hard coded an issue? isn't the logic for in which ways they differ going to have to be hard coded anyway
00:25:58 <AnMaster> zzo38, either that or loading dynamically linked modules
00:25:58 <alise> someone register jackdawslovemybigsphinxofquartz.org
00:26:00 <zzo38> No, I mean which channel types are available to be used.
00:26:01 <alise> and have one page
00:26:02 <alise> saying
00:26:03 <AnMaster> or *shudder* a scripting language
00:26:07 <alise> "The quick brown fox jumped over the lazy dog."
00:26:08 <alise> and vice versa
00:26:20 <AnMaster> zzo38, ah
00:26:35 <AnMaster> alise, do it yourself
00:26:40 <zzo38> So, if you set ChannelTypes=#&+ then all three channel types are available, which would be the default.
00:26:47 <alise> AnMaster: no
00:27:06 <zzo38> (When ! type channels are supported, the default will be #&!+ instead)
00:29:33 <coppro> on an unrelated note, holy shit I just won a game of Aces Up
00:29:48 <zzo38> coppro: With real cards or by computer?
00:29:58 <coppro> computer
00:30:11 <coppro> I've won 2 cardboard, 1 data games
00:30:19 <zzo38> coppro: Is using PySolFC?
00:30:22 <coppro> no
00:30:32 <coppro> no automatic assistance
00:31:06 -!- aoper has joined.
00:31:07 <zzo38> In PySolFC you can turn off automatic assistance for any game. PySolFC is slow to start up, however.
00:38:58 -!- kdvh has joined.
00:39:32 -!- kdvh has quit (Client Quit).
00:40:16 <AnMaster> alise, why not?
00:40:35 <alise> I'm not a damn fool who would waste my money on such things!
00:40:54 <AnMaster> alise, XD
00:41:02 -!- FireFly has quit (Quit: swatted to death).
00:42:47 <name_> Navigating dual screens with mouse keys is so tedious...
00:43:11 <alise> I suggest either abandoning dual screens or BUYING A MOUSE.
00:43:31 <name_> my mouse stopped working yesterday
00:43:43 <name_> haven't bought a new one yet >.<
00:49:52 <AnMaster> <name_> Navigating dual screens with mouse keys is so tedious... <-- same goes for mouse keys on ONE screen
00:50:08 <AnMaster> alise, I want a model M with a track point
00:50:16 <alise> AnMaster: they exist.
00:50:17 <AnMaster> alas that doesn't exist afaik
00:50:23 <AnMaster> alise, what? wow?
00:50:25 <alise> they have existed for a long time
00:50:28 <alise> both by ibm, and unicomp
00:50:41 <alise> apparently they're not quite as good as real trackpoints, but meh
00:50:42 <AnMaster> alise, terminal edition? I want F24!
00:50:58 <alise> http://pckeyboards.stores.yahoo.net/en104wh.html the unicomp nipple model
00:51:08 <alise> AnMaster: ibm made pretty much every keyboard ever with a trackpoint
00:51:11 <alise> and a bad trackball
00:51:24 <AnMaster> alise, I want a good trackpoint though
00:51:29 <AnMaster> same as in modern thinkpads
00:51:36 <alise> the endurapro's is good, apparently.
00:51:43 <AnMaster> they have better acceleration characteristics than older thinkpads
00:51:50 <AnMaster> one of the things lenovo did right
00:52:50 <AnMaster> alise, okay, now I want a space cadet keyboard with a trackpoint ;P
00:53:15 <alise> i'm a space cadet
00:53:17 <alise> which ones are those again
00:53:26 <AnMaster> alise, LISP machines
00:54:03 <AnMaster> alise, remember?
00:54:12 <AnMaster> have () nonshifted and such
00:54:21 <alise> oh yeah those.
00:54:26 <alise> just buy a lisp machine
00:54:33 <alise> $600 or so for a vintage model (but still unused)
00:54:34 <AnMaster> alise, but trackpoint?
00:54:36 <alise> up to like $1200 iirc
00:54:39 <alise> AnMaster: no.
00:54:41 <alise> but who cares
00:54:44 <AnMaster> :/
00:55:04 <AnMaster> space cadet + track point + dvorak = big win
00:55:08 <AnMaster> also = impossible
00:56:03 <cheater99> dudes
00:56:23 <cheater99> is there a language which has logic literals of 'Yes' and 'No' as opposed to the boring True/False?
00:56:30 <alise> prolog? sort of
00:56:33 <alise> just in the query output though
00:56:38 <cheater99> bah
00:58:41 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:59:08 -!- relet has quit (Quit: Leaving.).
01:02:20 -!- poiuy_qwert has joined.
01:02:35 -!- poiuy_qwert has left (?).
01:02:41 -!- poiuy_qwert has joined.
01:05:51 <oerjan> data Cool = Yes | No deriving (Show, Read, Enum, Bounded)
01:06:09 <oerjan> hm wait
01:06:18 <oerjan> data Cool = No | Yes deriving (Show, Read, Enum, Bounded)
01:08:04 <alise> lol
01:08:10 <alise> oerjan: WRITE A PRISONER
01:12:25 <oerjan> prisoner g p l = zipWith tweak (C:l) (randoms g) where tweak opp x | x > p = x; tweak C _ = D; tweak D _ = C
01:13:04 <alise> oerjan: erm
01:13:09 <alise> prisoner is [Action] -> [Action]
01:13:23 <oerjan> just select g and p
01:13:31 <alise> oerjan: to be what
01:14:01 <oerjan> g :: StdGen; p :: Double (preferrably slightly > 0)
01:14:06 <alise> also randoms doesn't seem to be in prelude...
01:14:17 <oerjan> System.Random
01:14:55 <alise> what is this strategy exactly?
01:15:02 <alise> is it tit-for-tat-except-maybe-kind-in-face-of-D?
01:15:25 <oerjan> yes + maybe-defect-in-face-of-C
01:15:32 <alise> Couldn't match expected type `Double'
01:15:32 <alise> against inferred type `Action'
01:15:32 <alise> In the expression: D
01:15:32 <alise> In the definition of `tweak': tweak C _ = D
01:15:48 <oerjan> erm
01:16:00 <oerjan> *prisoner g p l = zipWith tweak (C:l) (randoms g) where tweak opp x | x > p = opp; tweak C _ = D; tweak D _ = C
01:16:57 <alise> mind if I call it indecisive?
01:17:00 <alise> or unsure, which do you think is better
01:17:04 <oerjan> (what do you MEAN i should test things?)
01:17:14 <oerjan> fickle
01:17:15 <alise> also what's the thing to create a stdgen from an int?
01:17:22 <alise> fickle is good
01:17:26 <oerjan> mkStdGen
01:18:17 <alise> p should be infinitesimal?
01:18:25 <alise> hmm no
01:18:27 <alise> just low
01:18:38 <alise> 0.125? or more?
01:18:50 <alise> oerjan: & shouldn't it be Rational, not Double, really?
01:18:53 <alise> or does stdgen not do rational...
01:18:57 <oerjan> somewhere around 1/no. tries?
01:19:06 <oerjan> i don't think there's a Rational instance
01:19:16 <Sgeo_> alise, what do you know about PBF?
01:20:24 <alise> Sgeo_: a bit; why?
01:20:46 <Sgeo_> I wanted you to say something about the author stopping
01:20:57 <alise> Sgeo_: it's not stopped, just on a severely reduced schedule.
01:21:05 <alise> oerjan: i don't think you get to introspect the number of tries :P
01:21:19 <alise> *Main> result 10 titForTat (fickle (mkStdGen 42) (1/10))
01:21:19 <alise> (27,32)
01:21:19 <alise> *Main> result 100 titForTarce code?
03:26:34 <fungot> coppro: it did. it was published
03:26:38 <coppro> lol
03:26:42 <oerjan> ^source
03:26:42 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
03:26:46 <coppro> thanks
03:27:10 -!- oerjan has quit (Quit: Good night, and good luck).
03:27:38 <name_> That beard is awesome, but impractical.
03:28:14 <cheater99> alise, ok jus thot u mite b a bit slpy
03:28:25 <alise> cheater99: Please die.
03:29:25 <cheater99> :<
03:29:29 <alise> I'd sleep, but on the other hand that would result in me not being on this thing until Friday, so if I can prolong it a bit longer I might as well. Hmm, how long until I have to be up. Six hours.
03:29:56 <cheater99> what thing?
03:30:00 <cheater99> and why until friday?
03:30:04 <name_> Forget sleeping then. It is what I am doing.
03:36:45 -!- calamari has joined.
03:38:02 -!- coppro has quit (Ping timeout: 258 seconds).
03:40:58 <alise> this thing = computer
03:41:06 <alise> until friday = if you don't know, then you haven't been paying attention.
03:41:22 <alise> actually if you could all make it a running gag not to tell cheater99 while i'm gone that would be gerat.
03:41:24 <alise> *great
03:41:26 <alise> i'm going soon
03:42:47 <cheater99> i hadn't
03:42:51 <cheater99> SO KILL ME
03:43:08 <cheater99> ok so you mean that place you're goin' to
03:43:18 <cheater99> i remember now
03:43:24 <cheater99> don't worry WERE WITH U
03:43:24 <cheater99> <3
03:44:43 <alise> You do realise you're incredibly irritating?
03:44:57 <alise> I mean, and I'm saying that; I'm probably the most irritating person here. Well, second most.
03:44:59 <alise> *second-most
03:45:37 <alise> "It's still dark outside, so of course I won't sleep."
03:51:42 <cheater99> why?
03:51:45 <cheater99> i meant what i said
03:51:54 <cheater99> don't be so uppity
03:51:55 <alise> Well, that doesn't stop you being irritating.
03:52:15 <cheater99> why
03:52:53 <alise> Because it doesn't.
03:56:03 <cheater99> why are you saying i am irritating
03:56:26 <alise> Because you are!
04:00:11 <cheater99> why do you think that
04:00:45 <name_> >.<
04:06:55 <alise> 4:06; ok, really soon.
04:06:58 <alise> *okay
04:10:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:12:09 -!- alise has quit (Quit: Leaving).
04:14:02 <cheater99> ok alise
04:14:02 <cheater99> either way
04:14:02 <cheater99> you might hate me
04:14:02 <cheater99> but still, stay safe sweetie
04:14:03 <cheater99> ttyl <3
04:16:25 -!- name_ has quit (Quit: .).
04:28:19 <zzo38> Do you know now how I could make Elemental solitaire with five elements, somehow?
04:28:24 <zzo38> Do you have any ideas?
04:30:09 <Sgeo_> What does Elemental Solitaire with four elements look like?
04:32:33 <augur> anyone have a passing interest in logic?
04:32:38 <augur> and proof systems
04:32:50 <zzo38> The elements are the four suits of cards. There is a 4x4 grid with the corners cut off, there is 12 piles 4 card each, and 4 spares.
04:33:20 * Sgeo_ has a bit of a headache due to dealing with his step-mother :(
04:33:41 <zzo38> There is rules about geometry, are "blocks" (2x2 area of 4 piles), "crosses" (one card on each point of the cross, and inside is the center area), "extremities"
04:34:02 <zzo38> And then you win once all cards are removed according to blocks of 4 cards all different suit.
04:37:43 <zzo38> I thought of another idea in ngIRCd, the configuration for each remote server should also have a "ChannelTypes" option, to set which channel types are allowed to be forwarded/checked on another server (for example, irc.barton.de supports #&+ but irc.farlight.eu supports # only) (& type should never be forwarded, so the default should be #+ (or #!+ if ! type is implemented))
04:37:49 -!- coppro has joined.
04:38:32 <zzo38> Here is an example of what can go wrong:
04:38:41 <zzo38> >JOIN +test
04:38:45 <zzo38> :zzo38!~zzo38@h24-207-48-53.dlt.dccnet.com JOIN :+test
04:38:49 <zzo38> :irc.bit.netz 353 zzo38 = +test :zzo38
04:38:54 <zzo38> :irc.bit.netz 366 zzo38 +test :End of NAMES list
04:38:58 <zzo38> :irc.farlight.eu 403 zzo38 +test :No such channel
04:39:10 <zzo38> See>
04:39:13 <zzo38> See?
04:43:13 <zzo38> I think the router should be configured using FTP, using any other protocol is not as good, in my opinion
04:59:17 -!- poiuy_qwert has joined.
05:12:22 -!- augur has quit (Ping timeout: 265 seconds).
05:32:14 -!- augur has joined.
06:12:39 <myndzi> servers in the same network shouldn't operate with different option sets anyway
06:12:51 <myndzi> also +channels are the most useless thing ever
06:13:22 <Sgeo_> +channel?
06:13:25 <myndzi> modeless
06:13:34 <myndzi> +chans are a modeless global channel
06:13:41 <myndzi> i never did understand the point
06:14:41 <Sgeo_> Anarchy!
06:14:50 <myndzi> more like get flooded and can't protect yourself
06:15:00 <myndzi> modeless means no +n, too
06:21:04 <myndzi> hmm wtf
06:21:12 <myndzi> whoops, wrong channel, you don't care about my tetris!
06:22:45 <Sgeo_> If it's turing-complete, we do
06:24:56 <coppro> sadly, Sgeo_'s probably right
06:25:26 <coppro> we'd care about a turing-complete pencil
06:28:06 <Sgeo_> What's the most powerful a language that only had one way to accomplish any task could be?
06:28:42 <coppro> depends on what your definition of "one way to accomplish any task" is
06:31:46 <coppro> what about Brainfuck?
06:32:49 <coppro> or Rule 110?
06:37:03 <zzo38> myndzi: Actually, modeless means the mode is fixed at +nt
06:38:07 <zzo38> I don't know if a language with only one way to accomplish a task could be turing-complete
06:39:29 <Sgeo_> zzo38, it wouldn't be
06:40:58 <zzo38> It probably cannot possibly be turing-complete!
06:41:13 <coppro> if you define "only one way to accomplish a task" as being something like "exactly one input per output", then it cannot possibly be turing-complete
06:41:17 <zzo38> Unless you change the question somewhat, then perhaps there might be some way
06:43:18 <zzo38> And the reason the servers in the same network do not all support the same channel types is because irc.farlight.eu is running a old version of ngIRCd (I checked)
07:03:08 -!- tombom has joined.
07:08:40 -!- zzo38 has quit (Remote host closed the connection).
07:14:36 -!- sebbu has quit (Ping timeout: 265 seconds).
07:18:12 -!- kar8nga has joined.
07:20:59 -!- ski has joined.
07:22:42 * ski carefully looks around, to see if there's any danger present
07:31:23 -!- sebbu has joined.
07:37:08 -!- coppro has changed nick to scshunt.
07:37:22 -!- scshunt has changed nick to coppro.
07:37:48 -!- coppro has changed nick to schunt.
07:37:53 -!- schunt has changed nick to coppro.
07:42:11 -!- MizardX has joined.
07:52:06 -!- tombom has quit (Quit: Leaving).
07:56:28 -!- kar8nga has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:09 -!- lament has joined.
08:32:25 <jabb> ironing out inconsistencies is a pain
08:41:03 -!- Oranjer has left (?).
09:11:00 -!- name_ has joined.
09:11:37 -!- FireFly has joined.
09:17:40 -!- sebbu2 has joined.
09:19:14 -!- sebbu has quit (Ping timeout: 260 seconds).
09:19:14 -!- sebbu2 has changed nick to sebbu.
09:54:52 -!- cal153 has quit (Ping timeout: 240 seconds).
09:57:58 -!- kar8nga has joined.
09:58:50 -!- lament has quit (Ping timeout: 245 seconds).
10:04:01 -!- MizardX- has joined.
10:07:57 -!- MizardX has quit (Ping timeout: 276 seconds).
10:08:00 -!- MizardX- has changed nick to MizardX.
11:02:24 -!- name_ has quit.
11:10:54 -!- kar8nga has quit (Remote host closed the connection).
11:44:50 -!- jcp has quit (Ping timeout: 265 seconds).
11:48:19 -!- jcp has joined.
11:49:51 -!- calamari has quit (Quit: Leaving).
11:50:27 -!- ais523 has joined.
11:56:28 -!- kar8nga has joined.
12:01:20 <ais523> hmm, I seem to be trying to middle-click by holding down one left mouse button and pressing a different left mouse button
12:01:25 <ais523> the dangers of trackpads...
12:01:34 <ais523> (what I /meant/ to try to do was control-click)
12:06:33 <CakeProphet> lol apple
12:23:07 -!- augur has quit (Remote host closed the connection).
12:29:51 -!- cal153 has joined.
12:33:26 <ais523> gah, leftclick/leftclick again
12:33:30 <ais523> and it isn't a lol apple, this is a PC
12:33:33 <ais523> and has a rightclick too
12:33:41 <ais523> it's just, the trackpad doesn't have a middle button
12:33:43 <ais523> and isn't multi-touch
12:33:51 <ais523> so I have to control-click, or both-click, instead
12:34:11 <ais523> both-clicking's really hard, and for some reason I keep using both left mouse buttons (the one on the trackpad and the one below) rather than control-clicking
12:34:25 -!- hiato has joined.
12:41:01 <CakeProphet> I kind of feel like devising an abstract algebra.
12:48:15 -!- oerjan has joined.
12:51:08 -!- MizardX has quit (Read error: Connection reset by peer).
12:51:21 -!- MizardX has joined.
12:51:46 <oerjan> <alise> You do realise you're incredibly irritating?
12:52:02 <oerjan> you do realise you're incredibly irritable? (then, so am i)
12:52:26 -!- MizardX- has joined.
12:55:50 <oerjan> `addquote <coppro> we'd care about a turing-complete pencil
12:55:50 <HackEgo> Failed to clone the environment!
12:55:55 <oerjan> argh
12:56:25 -!- oerjan has set topic: <coppro> we'd care about a turing-complete pencil | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:56:50 <oerjan> `quote
12:56:50 <HackEgo> Failed to clone the environment!
12:56:57 -!- MizardX has quit (Ping timeout: 276 seconds).
12:57:24 -!- MizardX- has changed nick to MizardX.
12:59:39 <oerjan> <CakeProphet> I kind of feel like devising an abstract algebra.
12:59:59 <oerjan> they've all been invented already. probably. well, the simple ones.
13:00:19 * oerjan was reading about medial magmas/groupoids recently
13:01:13 <oerjan> one operator (call it *), fundamental equation: (a*b)*(c*d) = (a*c)*(b*d)
13:02:43 <ais523> hmm, post on rgrn
13:02:45 <oerjan> surprisingly, there are interesting consequences. if * is surjective, then it's essentially a kind of linear function, and all linear functions of two variables have this property.
13:02:49 <ais523> umm, ali
13:03:00 <ais523> two newsgroups which probably have more of an overlap than they ought to
13:03:11 <ais523> but a post on rgrn is not surprising, and a post on ali is
13:03:19 <ais523> it was asking about how to implement the factory and singleton patterns in INTERCAL
13:03:24 <oerjan> (the former is a very deep theorem, i'd have had to read the whole book to understand it, so i didn't.)
13:03:47 <Deewiant> ais523: What kind of an overlap?
13:04:10 <ais523> Deewiant: well, anything other than the null set, given that by rights a.l.i's readership /should/ be the null set
13:04:26 <oerjan> ais523: rec.games.something?
13:04:35 <ais523> rec.games.roguelike.nethack
13:04:40 <oerjan> ah
13:05:03 <Deewiant> Are you sure the overlap /isn't/ the null set?
13:05:22 <oerjan> Deewiant: ais523 is on both, obviously...
13:05:47 <Deewiant> Ah, I was thinking of only posts as overlaps
13:05:52 -!- BeholdMyGlory has joined.
13:05:59 <ais523> and the number of NetHack players who are aware of INTERCAL is actually large enough that I don't know the number offhand
13:06:05 <ais523> although I'm not sure how many of them also use Usenet
13:06:11 <ais523> Deewiant: I've posted to both
13:06:17 <Deewiant> But the same thing?
13:06:27 <ais523> no, I can't think of a way to crosspost that wouldn't be trolling
13:06:34 <ais523> unless and until I manage to port NetHack to INTERCAL
13:06:39 <Deewiant> Right. That's the kind of overlap I was thinking of
13:06:40 <ais523> which likely won't happen for years
13:06:42 <jamesstanley> ais523: or vice versa
13:06:54 <ais523> jamesstanley: I'm not entirely sure if the vice versa makes sense
13:06:55 <Deewiant> Or that first came to mind given newsgroup overlap
13:07:03 <jamesstanley> implementing intercal in nethack? of course it does
13:07:03 <ais523> NetHack is not Dwarf Fortress, after all
13:07:16 <ais523> I don't think NetHack is TC, or even usable for programming
13:07:29 <jamesstanley> you might be able to manipulate monster ai for turing completeness
13:07:31 <Deewiant> Sokoban is PSPACE-complete
13:08:20 <ais523> Deewiant: and TC if generalised to an infinite plane
13:08:33 <Deewiant> heh
13:09:51 <oerjan> xkcd XD
13:20:11 -!- name_ has joined.
13:20:29 -!- cal153 has quit (Ping timeout: 265 seconds).
13:23:19 -!- kar8nga has quit (Remote host closed the connection).
13:35:00 <CakeProphet> I want to make bitchin' mathematic programming language.
13:35:06 <CakeProphet> +a
13:35:13 <CakeProphet> with all the usual bitchin' mathematical things.
13:58:15 -!- oerjan has quit (Quit: Later).
14:01:11 -!- mr45 has joined.
14:39:51 -!- cal153 has joined.
14:53:57 -!- cal153 has quit (Ping timeout: 276 seconds).
14:54:18 <uorygl> CakeProphet: make a programming language where you literally do write the question instead of the answer.
14:54:34 <uorygl> Like so:
14:55:21 <uorygl> IsPrime x = NotExists (\y -> 0 < y && y < x && x `mod` y == 0)
14:55:38 <uorygl> Er, `Mod`, since we're using my silly convention.
14:57:46 <coppro> boring
15:00:13 -!- Leonidas has quit (Read error: Operation timed out).
15:00:28 -!- coppro has quit (Quit: school time).
15:01:04 -!- Leonidas has joined.
15:06:51 -!- hiato has quit (Quit: /quit /quit /quit /quit /quit /quit).
15:15:58 <Deewiant> uorygl: Been done, the result was Prolog
15:17:18 <uorygl> I don't think Prolog is very powerful.
15:17:45 <uorygl> (Which is a tentative conclusion, not an opinion.)
15:20:26 * CakeProphet is still designing a tree language. getting closer to finish.
15:21:39 <CakeProphet> technically a graph language... for control flow.
15:21:46 <uorygl> Finnish is the best language for trees to speak.
15:22:26 <CakeProphet> :P
15:24:11 -!- MigoMipo has joined.
15:35:19 <uorygl> Looks like #esoteric is still the most Finnish channel I have. :P
15:35:24 <CakeProphet> ...just came up with a single syntax
15:35:30 <uorygl> So, terve, mitä kuuluu?
15:35:41 <CakeProphet> node-data { inner-node-data ; inner-node-data}
15:36:06 <CakeProphet> { creates a new child node at the current node... ; creates a new sibling
15:36:41 <CakeProphet> {1;2;3;4;5;6} to represent a simple list 4{ 2; 4 {1;2;3}} for trees
15:36:58 <CakeProphet> + {1;2;!}
15:37:05 <CakeProphet> is a program expression
15:37:21 <CakeProphet> ...I might change ; to , ...no need to type shift all the time
15:37:50 <CakeProphet> and ( can just be ) actually just use spaces instead of , HOLY SHIT ITS TREE-LISP
15:38:29 <uorygl> Hey, you're using a keyboard layout in which you need to press shift to type ;.
15:38:48 <CakeProphet> ...oh, wait, no I'm not.
15:39:06 <CakeProphet> dunno why I thought that.
15:39:47 <CakeProphet> actually spaces don't sit well with me for this syntax... since each branch node can have its own atom as well as a child list.
15:40:03 <CakeProphet> so whitespace independence would be nice to allow any kind of structuring.
15:41:43 <CakeProphet> +(1,-(2,3,!),!)
15:41:50 <CakeProphet> might have some sugar for that !
15:43:05 <CakeProphet> use a different bracket style for implicit !age
15:46:05 -!- name_ has quit.
15:51:12 -!- MigoMipo has quit (Remote host closed the connection).
15:51:37 -!- MigoMipo has joined.
16:06:38 -!- cheater99 has quit (Ping timeout: 260 seconds).
16:20:31 <AnMaster> <uorygl> Finnish is the best language for trees to speak. <-- yeah but it is unfit for a human mouth ;P
16:20:32 * AnMaster runs
16:20:49 <AnMaster> though, to be fair, Icelandic seems worse
16:21:45 <uorygl> Yeah, I've heard that Icelandic is really difficult.
16:22:29 <Deewiant> To pronounce? How's that?
16:28:39 -!- cheater99 has joined.
16:31:20 <uorygl> Huh, Icelandic is a West Scandinavian language.
16:32:44 <uorygl> Wow, Icelandic does have quite the array of consonants.
16:32:55 <Deewiant> Isn't Czech far worse
16:32:57 <uorygl> The vowels aren't too bad.
16:33:33 <uorygl> Hm, Czech's consonants look pretty manageable.
16:34:08 <uorygl> Icelandic's consonants look only somewhat manageable.
16:34:18 <Deewiant> How's that
16:35:17 <uorygl> Well, it has a bunch of consonants that I can't even name.
16:35:21 <uorygl> Icelandic, I mean.
16:35:49 <uorygl> Though, actually, I guess that little ring thingy just means "voiceless".
16:36:26 <uorygl> Okay, now Icelandic looks very manageable.
16:36:39 <Deewiant> :-P
16:38:49 -!- lament has joined.
16:40:55 <fizzie> gucharmap's character info screen for U+037C CYRILLIC CAPITAL LETTER OMEGA WITH TITLO: "Notes: despite its name, this character does not have a titlo, nor is it composed of an omega plus a diacritic".
16:43:05 <Deewiant> :-D
16:43:11 <Deewiant> Excellent
16:44:06 <uorygl> That's because U+037C is GREEK SMALL DOTTED LUNATE SIGMA SYMBOL.
16:44:25 <fizzie> That was just a typo.
16:44:33 <fizzie> U+047C is what I meant to write.
16:44:46 <uorygl> Mm.
16:45:05 <uorygl> Well, that sure looks like an omega with a titlo.
16:46:00 <uorygl> But indeed.
16:46:41 <fizzie> At least in my font Ѽ is rendered as a rather silly wide omegay thing, and then two other diacritics (combining cyrillic palatalization, combining cyrillirc psili pneumata; I have no idea what they're for) instead of the ҃ titlo one.
16:47:04 <fizzie> "cyrillirc".
16:47:31 <uorygl> Hm, it seems that in all my fonts as well as fileformat.info, it is displayed as an omega with a titlo.
16:47:57 <fizzie> With that sort of name...
16:48:09 -!- lament has quit (Ping timeout: 264 seconds).
16:48:29 <uorygl> Mmkay, I think this is the official definition of U+047C:
16:48:38 <fizzie> http://unicode.org/charts/PDF/U0400.pdf has it close to what I see in gucharmap.
16:48:54 <fizzie> (It also has the same note.)
16:49:12 <uorygl> = Cyrillic "beautiful omega". * despite its name, this character does not have a titlo, nor is it composed of an omega plus a diacritic. -> A64C Ꙍ cyrillic capital letter broad omega
16:54:35 <AnMaster> I just realised that the OS I use on my RCX is in many respects way more advanced than DOS. For example it does multiple threads (cooperative multitasking due to preemptive (as it used to be) having a rather annoyingly large overhead)
16:55:31 <AnMaster> and it has POSIX-like semaphores, stripped to the core features, but stilll
16:55:37 <AnMaster> still*
16:56:44 <AnMaster> bbl
16:57:23 * uorygl downloads the Unicode Standard.
17:00:29 <uorygl> Apparently, it's a 686-page PDF document.
17:02:18 <uorygl> Heh, look at what U+FE18 is called.
17:02:29 <Deewiant> brakcet
17:02:34 <uorygl> :)
17:02:38 <uorygl> "PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET", to be precise.
17:02:46 <Deewiant> Sigh
17:07:02 <fizzie> Hrm, my private use area according to gucharmap is full of stuff (since it picks characters from any font that has 'em); there's the Linux penguin, some sort of random bat, a sword-like diagonal arrow, someone's face, a whole pile of outlined symbols, sub- and superscripts for all cyrillic characters, etc.
17:08:06 <uorygl> Gregor, why is your face in fizzie's Unicode?
17:08:25 <fizzie> If it's Gregor's face, he looks pretty girly.
17:08:45 <uorygl> He does look pretty girly!
17:09:49 <fizzie> http://zem.fi/~fis/face.png -- this girly?
17:10:06 <uorygl> Hm, no, not quite that girly.
17:10:29 * uorygl begins poking around zem.fi.
17:10:37 <fizzie> There's not much there.
17:10:40 <uorygl> I want a three-letter Finnish domain name.
17:11:00 <fizzie> (At least officially) you need to be Finnish, then.
17:11:13 <fizzie> Or a corporation with an office here, or some-such.
17:11:23 <uorygl> I will move to Finland, then.
17:12:48 * uorygl flexes his fingers.
17:15:44 <uorygl> Hm, domain names like "www.okie.fi" look really lopsided.
17:16:11 * uorygl joins the Suomen nowwwpuolue.
17:16:12 -!- jabb_work has joined.
17:16:38 -!- relet has joined.
17:22:47 -!- kar8nga has joined.
17:24:16 <AnMaster> <uorygl> "PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET", to be precise. <-- what?
17:24:26 <uorygl> That's the name of a Unicode character.
17:24:42 <AnMaster> uorygl, "white"? I didn't know unicode had colour info...
17:24:53 <AnMaster> it doesn't make sense for it to have that
17:25:06 <uorygl> Well, I imagine it's "white" in the sense of "the same color as the background".
17:25:26 <AnMaster> uorygl, so, it is a strange name for a space? ;P
17:25:39 <uorygl> No, it's outlined. :)
17:25:49 <AnMaster> hm should be called "outlined" or such then
17:25:49 <uorygl> In black!
17:26:05 * uorygl shrugs.
17:28:44 <uorygl> Let's see, I know enough Finnish to sort of ask a simple question.
17:30:17 <uorygl> fizzie, olet Suomen?
17:30:22 <uorygl> I'm sure that was close enough. :P
17:30:30 <Deewiant> "You're Finland's?"
17:30:45 <uorygl> Maybe it wasn't close enough. :P
17:31:17 <uorygl> My intended meaning was "Are you Finnish?"
17:31:37 <uorygl> (Though I would be quite surprised if e turned out not to be.)
17:31:46 <Deewiant> Also, lacks the interrogative suffix on the "olet" to be completely correct for even that ;-P
17:32:02 <uorygl> Interrogative suffix? Huh.
17:32:06 <Deewiant> But, in colloquial speech it's often dropped
17:32:29 <fizzie> Yes, it should be "oletko" to make it a question; with just "olet" it's a statement: "you are Finnish".
17:32:42 <Deewiant> http://en.wikipedia.org/wiki/Finnish_grammar#Interrogatives_.28questions.29
17:32:44 <uorygl> A statement with a question mark at the end. :)
17:32:58 <uorygl> And apparently "Suomen" wasn't quite the right word either.
17:33:09 <Deewiant> It's "Suomalainen"
17:33:30 <fizzie> Isn't it "suomalainen"? I don't think we capitalize it when it's a nationality or a language.
17:33:30 <AnMaster> isn't soumi = finland?
17:33:45 <Deewiant> Right, we don't.
17:33:55 <Deewiant> AnMaster: Modulo letter order, yes.
17:34:00 <AnMaster> Deewiant, ah
17:34:28 <uorygl> Suomalainen. I should probably make note of that.
17:35:25 <Deewiant> x-lainen (/x-läinen) ~= from x
17:35:36 <fizzie> The non-capitalization exception is something I don't much like.
17:35:46 <Deewiant> Ditto
17:36:20 <uorygl> I like not capitalizing stuff!
17:36:36 <uorygl> But, eh.
17:36:59 <fizzie> It's just that we capitalize countries (like "Suomi") but not languages (which would be "suomi").
17:37:07 * uorygl nods.
17:37:28 <fizzie> There's also the verb "suomia": to whip, lash, (figuratively) scold.
17:37:53 <fizzie> (Of which "suomi" would be the third-person singular past tense case.
17:38:01 <Deewiant> Cognate to "suomustaa"?
17:38:20 <uorygl> What's the Finnish word for "whiplash"? :P
17:38:38 <Deewiant> For the literal lash of a whip, piiskanisku
17:38:58 <fizzie> Deewiant: Perhaps. fi.wiktionary says "(murteellinen?) suomustaa; etymologinen perusta edelliselle??" but those multiple question marks make me a bit unsure.
17:39:06 <Deewiant> heh
17:39:24 <uorygl> Rakastan sinua.
17:39:40 <uorygl> Unfortunately, I can't really tell which word is which in that sentence.
17:40:15 <uorygl> Mmkay, Wiktionary says that "rakastaa" takes the partitive.
17:40:30 -!- tombom has joined.
17:40:43 <uorygl> I wonder why it does that. :P
17:40:56 <Deewiant> To be more precise, "suomi" is the third-person singular preterite active indicative of "suomia"
17:42:42 * uorygl thinks.
17:42:50 * uorygl looks up the Finnish word for "thinks".
17:43:02 <Deewiant> uorygl: "Rakastaa" is atelic
17:43:19 <Deewiant> As is "to love", I suppose
17:43:30 <uorygl> That doesn't have anything to do with philately, does it.
17:43:40 <AnMaster> ais523, wtf at that recent message on a.l.i
17:43:44 <Deewiant> Not to my knowledge
17:44:18 <uorygl> "I loved you in a day." "I loved you for a day."
17:44:27 <ais523> did you see my reply?
17:44:28 <uorygl> I guess so.
17:44:30 <ais523> did you follow the link?
17:44:35 <AnMaster> ais523, yes and yes
17:44:50 <AnMaster> ais523, even more wtf from those
17:45:03 <uorygl> Hm, it sort of looks like "ajatella" is conjugated as if it were "ajattelea".
17:45:21 * uorygl ajattelee.
17:45:52 <AnMaster> ais523, well the link that is, your response wasn't very wtf
17:46:20 <Deewiant> Troll much? :-D
17:47:06 <AnMaster> ais523, but I think you missed a comma in one place
17:47:22 -!- BeholdMyGlory has quit (Remote host closed the connection).
17:47:28 <Deewiant> AnMaster: Where
17:47:36 <ais523> Deewiant: alt.lang.intercal
17:47:42 <Deewiant> ais523: The comma, I meant
17:47:44 <AnMaster> well, I'm having problems parsing "[...]; those who have tried to imply the way I think from the way I write code, possibly a null set, would know that I consider multithreading the answer to more or less every problem INTERCAL offers"
17:47:55 <ais523> AnMaster: I can parse that just fine
17:47:59 <Deewiant> As can I
17:48:01 <AnMaster> hm
17:48:35 <Deewiant> Although that "possibly a null set" is a bit confusingly placed. But I'm not sure if there's a better place.
17:48:56 <ais523> meh, I was thinking INTERCAL, so long as it's theoretically grammatically correct it's fine
17:48:56 <AnMaster> yes perhaps
17:49:12 <AnMaster> Deewiant, I presume he means that "those who have tried to imply" is a null set
17:49:17 <uorygl> AnMaster: yeah, that was difficult to parse.
17:49:18 <Deewiant> Yep
17:49:25 <AnMaster> imply what?
17:49:28 <uorygl> I suspect that by "imply" he means "infer".
17:49:33 <Deewiant> Yep
17:49:44 <AnMaster> uorygl, ah, okay that makes a quite a lot more sense
17:49:47 <ais523> meh, it's more fun for me to attribute other people to attribute motives to me
17:50:05 <uorygl> I find it strange that people get "imply" and "infer" mixed up. Don't they mean totally different things?
17:50:17 <Deewiant> Not totally, but fairly
17:50:25 <AnMaster> uorygl, both are verbs.
17:50:27 <AnMaster> ;P
17:50:31 <AnMaster> but yeah quite different afaik
17:50:37 <uorygl> Implying is saying something indirectly, or having something as a conclusion. Inferring is coming to a conclusion.
17:50:52 <uorygl> Yeah, I guess they're both I5 verbs. :)
17:51:28 <AnMaster> uorygl, I5?
17:51:38 <AnMaster> oh letter count
17:51:39 <ais523> start with I and have 5 letters
17:51:40 <AnMaster> hm
17:51:44 <uorygl> What he said.
17:52:17 <AnMaster> anyway, I kind of can't see how you could mix up their meaning
17:52:49 <ais523> it's almost an opposite meaning
17:52:51 <AnMaster> ais523, "[...] and multiple COME FROM having too much [state]"?
17:53:15 <ais523> AnMaster: it's an INTERCAL thing
17:53:18 <AnMaster> ais523, how do you mean too much state?
17:53:39 <ais523> AnMaster: no shared state
17:53:41 <ais523> or very little
17:53:48 <ais523> all shared state is global, you can't share pairwise
17:54:04 <AnMaster> ais523, hm, creating statements on demand, does that imply JITing?
17:54:10 <uorygl> Wait, why does "ajatella" have thirteen synonyms?
17:54:16 <AnMaster> err s/on demand/at runtime/
17:54:20 <AnMaster> which is what it seems like
17:54:33 <ais523> AnMaster: no, think of it more like thunks
17:54:39 <AnMaster> uorygl, what does it mean?
17:54:49 <uorygl> "To think".
17:55:04 <Deewiant> uorygl: "think" has fourteen
17:55:09 <uorygl> Well, I guess it's transitive.
17:55:11 <Deewiant> According to Wiktionary, anyways
17:55:28 <AnMaster> ais523, um? was ages ago I heard about "thunks" last, and it was something related to windows 3.1 iirc
17:55:29 <uorygl> I count thirteen, not counting "ajatella" itself.
17:55:36 <AnMaster> so I have no clue what you meant there
17:55:51 <ais523> AnMaster: closures with no params
17:55:53 <Deewiant> And at least most of the Finnish ones are just different forms of each other
17:56:02 <AnMaster> ah
17:56:17 <Deewiant> ajatella/aatella, fundeerata/funtsata/funtsia, pohtia/pohdiskella, pähkiä/pähkäillä, tuumailla/tuumata/tuumia/tuumiskella
17:56:51 <uorygl> Huh. So that makes more like five.
17:56:55 <Deewiant> That list is missing "puntaroida"
17:57:30 <Deewiant> But they don't include "harkita" either so maybe that's intentional
17:57:43 <uorygl> Nah, add them. :)
17:58:11 <Deewiant> Nah, it's probably intentional
17:58:47 <Deewiant> Although "pähkäillä" probably shouldn't be there either if that's the case... but whatever
17:58:53 <AnMaster> ais523, btw you should write a C->INTERCAL compiler
17:59:08 <uorygl> What do you think the reason is?
17:59:20 <AnMaster> ais523, after you finish feather and gcc-bf that is ;P
18:00:21 <Deewiant> uorygl: Well, it's sort of "think" versus "consider"
18:01:04 <Deewiant> ("consider" as in "mull over", can't think of a better synonym)
18:02:55 <uorygl> Drat, Wiktionary doesn't list the declension of "aihe".
18:04:37 <Deewiant> This type, I think: http://en.wiktionary.org/wiki/Appendix:Finnish_declension_types/hame
18:05:38 <uorygl> So the partitive singular is "aihetta"?
18:05:45 <Deewiant> Yep
18:08:17 * uorygl ajattelee aihetta.
18:09:49 <Deewiant> I think "ajatella" is more "think of" than "think about", actually
18:09:53 <Deewiant> But I'm not sure
18:09:54 <uorygl> Oh?
18:10:10 <Deewiant> Or, well, I'm pretty sure it's /more/ that but it might still be both
18:10:54 * uorygl ajattelee seuraavaa aihetta?
18:13:13 <Deewiant> Bah, I dunno
18:13:19 <Deewiant> I'm all confused now
18:13:48 <Deewiant> Maybe it's just that I don't like using "ajatella" with "aihe" for some reason
18:15:05 <uorygl> Elämä on hyvä.
18:16:44 -!- Phantom_Hoover has joined.
18:17:16 <Deewiant> Not sure if that's wrong or if it just sounds wrong :-P
18:17:46 <uorygl> "Elämä on hyvä" sounds wrong, too?
18:18:00 <Deewiant> It sounds wrong but it could just be because it's the obvious anglicism
18:18:10 <uorygl> Elämä ön hyvä. :P
18:18:16 <Deewiant> It's not something anybody would ever say
18:18:21 * uorygl nods.
18:18:33 <uorygl> Except for beginning speakers of Finnish, I guess!
18:18:45 <Deewiant> That's not in my definition of "anybody"
18:18:55 <Phantom_Hoover> I have been asked to build a robot with Mindstorms for "work" "experience".
18:19:22 <uorygl> Pointti.
18:20:34 -!- BeholdMyGlory has joined.
18:21:27 -!- ais523 has quit (Remote host closed the connection).
18:28:55 <Phantom_Hoover> Ultimately it has to be able to take commands to navigate through a maze from Bluetooth.
18:30:29 <uorygl> Well, from what little I've learned so far of Finnish, I'm struck by how similar it is to English.
18:32:24 <uorygl> It has more or less the same parts of speech, and the words go in more or less the same order.
18:32:36 <Deewiant> The word order is more or less arbitrary
18:33:06 <uorygl> That too. :)
18:34:26 <Deewiant> Not really the case in English :-P
18:34:35 <uorygl> Right.
18:35:47 -!- Vegabondmx has joined.
18:36:00 -!- augur has joined.
18:36:11 <uorygl> Of course, I can also use Spanish as a point of comparison.
18:38:12 <uorygl> As far as language evolution goes, English and Spanish are of course more closely related than either is to Finnish.
18:38:30 <uorygl> But as far as grammar goes, all three seem pretty similar.
19:24:16 -!- augur has quit (Ping timeout: 260 seconds).
19:43:44 -!- augur has joined.
19:45:23 -!- kar8nga has quit (Remote host closed the connection).
19:51:00 -!- MizardX has quit (Ping timeout: 276 seconds).
19:55:45 -!- MizardX has joined.
19:56:51 <Phantom_Hoover> Do we hate Java here?
19:57:40 <Deewiant> @Override protected void map(LongWritable l, Text t, Mapper<LongWritable,Text, LongWritable,Text>.Context context) throws IOException, InterruptedException {
19:58:02 -!- augur has quit (Remote host closed the connection).
19:58:16 <Phantom_Hoover> Deewiant, explain.
19:58:21 -!- augur has joined.
19:58:27 <Deewiant> Java
19:58:31 <Deewiant> Verbosity
19:58:34 <Deewiant> HAET
19:58:35 <Phantom_Hoover> What does it do?
19:58:45 <Deewiant> It's the equivalent of 'map =' in Haskell
19:58:49 <Phantom_Hoover> You can be verbose in everything.
19:58:56 <Phantom_Hoover> But that seems extreme.
19:59:19 <Deewiant> That's a method definition minus a body and closing }
19:59:45 <augur> Deewiant: what's 'map =' do?
19:59:59 <Deewiant> It's a function definition minus a body
20:00:21 <augur> what
20:00:29 <augur> oh i see
20:00:39 <augur> map = ...
20:01:13 <fizzie> That was Hadoop, not Java; but Java things in general do seem to end up looking like that, it's true.
20:01:57 <Deewiant> Hadoop is Java
20:02:08 <fizzie> Well, yes, but Java is not Hadoop.
20:02:33 <fizzie> You can't just pick the interface of a single... I guess they call it a "framework", and say all Java's like that.
20:02:46 <Deewiant> Fortunately, I didn't
20:03:05 <Deewiant> But Java hate was being coaxed so I somewhat-delivered
20:06:21 <fizzie> It is reasonably representative of Java, I guess. The officially-part-of-the-language library isn't much less verbosity-demanding.
20:06:55 <fizzie> AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(scaleX, scaleY), AffineTransformOp.TYPE_BILINEAR);
20:08:46 <fizzie> ColorModel cm = base.getColorModel(); BufferedImage composite = new BufferedImage(cm, base.copyData(cm.createCompatibleWritableRaster(w, h)), cm.isAlphaPremultiplied(), null); composite.createGraphics().drawImage(tile, op, 0, 0);
20:08:56 -!- P4 has quit (Ping timeout: 265 seconds).
20:08:57 <fizzie> They do like long names there.
20:13:55 -!- mr45 has quit (Read error: Connection reset by peer).
20:16:02 -!- KingOfKarlsruhe has joined.
20:22:34 -!- Gracenotes has quit (Remote host closed the connection).
20:23:26 -!- Gracenotes has joined.
20:35:49 -!- oerjan has joined.
20:36:29 -!- jabb has quit (Quit: Page closed).
20:36:30 -!- Mathnerd314 has joined.
20:40:01 <oerjan> <uorygl> Hm, Czech's consonants look pretty manageable. <-- until you realize some of them (r,l) are also used as vowels. also, r-hacek.
20:41:24 <oerjan> (the latter being a sound existing _only_ in czech)
20:42:38 <Deewiant> "Used as vowels"?
20:43:03 <oerjan> (it was listed (may still be) in guinness book of records as the world's rarest sound.
20:43:06 <oerjan> )
20:43:40 <oerjan> (although i've learned the swedish sje-sound is also only in one language, there might be others for what i know)
20:44:14 <oerjan> (the swedish sje-sound is much simpler to pronounce though, imo)
20:44:33 <oerjan> Deewiant: cz:vlk = en:wolf, for example
20:45:06 <Deewiant> Sure, there are vowelless words, but how does that make those "used as vowels"?
20:45:26 <uorygl> Well, used as syllable nuclei.
20:45:33 <oerjan> there are some famous tongue-twisters which my non-unicode clean irc setup cannot manage
20:45:45 <Deewiant> Right
20:45:59 <Deewiant> Japanese has an n-syllable which I find annoying for no good reason
20:47:05 <Deewiant> But anyway, I don't find that makes them less manageable
20:47:40 <oerjan> anyway, there's _still_ r-hacek >:)
20:48:49 <Deewiant> Yeah, raised alveolar non-sonorant trill
20:49:30 -!- kar8nga has joined.
20:49:47 <Deewiant> I wonder what it means by having the tongue raised when it's alveolar anyway
20:50:20 <oerjan> i think it may be that it's not made with just the tip of the tongue, iirc
20:50:43 <augur> http://www.wellnowwhat.net/blog/?p=394
20:50:54 <oerjan> or wait does that make any sense
20:51:11 -!- kdvh has joined.
20:52:28 <oerjan> augur: darn, i was hoping you were linking to a detailed explanation of how to pronounce r-hacek, there. you _are_ the resident linguist after all.
20:52:33 <Deewiant> augur: Alveolar trill: raised versus non-raised. Discuss!
20:53:02 <augur> arr-hatchek
20:53:28 <augur> my language has no trills natively therefore i have nothing to discuss
20:53:45 <Deewiant> Alveolar x, for any x: raised versus non-raised. Discuss!
20:58:19 <Deewiant> Or don't. Meh.
21:06:10 -!- Phantom_Hoover has set topic: Don't let the name fool you, this is a linguistics channel | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:07:24 -!- SgeoN1 has joined.
21:07:45 <oerjan> `help
21:07:45 <HackEgo> Failed to clone the environment!
21:14:13 <Sgeo_> `ls
21:14:13 <HackEgo> Failed to clone the environment!
21:14:20 <Sgeo_> Who broke HackEgo?
21:14:25 <Deewiant> alise
21:14:28 <Deewiant> I think
21:14:35 <oerjan> I, said the sparrow
21:16:51 -!- Oranjer has joined.
21:17:53 -!- kdvh has left (?).
21:24:20 <Phantom_Hoover> How is it broken?
21:24:23 <Phantom_Hoover> `ls
21:24:23 <HackEgo> Failed to clone the environment!
21:25:07 <oerjan> it's a bit single-minded at the moment
21:25:35 <oerjan> `revert
21:25:35 <HackEgo> Failed to clone the environment!
21:27:07 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
21:28:16 -!- cpressey has joined.
21:29:20 <oerjan> hi cpressey
21:30:13 <cpressey> What ho, oerjan!
21:31:19 <cpressey> I come to announce Burro 2.0: http://catseye.tc/projects/burro/doc/burro.html
21:31:27 <cpressey> I was hoping scarf would be here, but oh well.
21:31:45 <oerjan> scarf = ais523 these days
21:31:55 <oerjan> but still not here, anyway
21:33:43 <Deewiant> Missed him by threeish hours
21:34:44 -!- ineiros_ has quit (Quit: leaving).
21:35:00 <cpressey> Well, if you see him before I do, let him know that his offhand observation that Burro was broken, resulted in months of work for me fixing it :)
21:35:09 -!- ineiros has joined.
21:35:15 <cpressey> Not actual full months -- spare-time-months, of course
21:43:30 <Phantom_Hoover> cpressey, you're the guy who runs Cat's Eye?
21:43:40 <Deewiant> Yes
21:44:20 <cpressey> Phantom_Hoover: Depends -- are you a debt collector? :D
21:44:32 <Deewiant> :-D
21:44:32 <Phantom_Hoover> Yes.
21:44:58 <Phantom_Hoover> I plan to use the Spanish method I heard about from a dubious source.
21:45:25 <Phantom_Hoover> I will wear a silly hat and frock coat, then follow you into restaurants and cafs and point.
21:45:40 <cpressey> I didn't expect that.
21:48:01 <oerjan> >_>
21:52:56 <Phantom_Hoover> cpressey, NO-ONE EXPECTS THE SPANISH DEBT COLLECTORS!
21:55:44 * oerjan expected that
21:56:38 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
21:57:18 <augur> Q: What's a Haskell programmer's favorite philosophy book
21:57:27 <augur> A: Leibniz's Monadology
21:57:27 <augur> :D
22:10:01 <Phantom_Hoover> AnMaster, you there?
22:10:57 <oerjan> idle : 0 days 4 hours 11 mins 22 secs
22:12:00 <oerjan> also away : eating
22:14:47 <Phantom_Hoover> He should not need to eat for 4 hours.
22:16:33 <oerjan> it's not good to eat too fast, you know :D
22:20:43 <AnMaster> Phantom_Hoover, hi
22:21:00 <AnMaster> forgot to /unaway
22:21:07 <AnMaster> Phantom_Hoover, it took 10 minutes to eat ;P
22:21:45 <oerjan> THAT'S TOO FAST
22:21:50 <Phantom_Hoover> I don't suppose you know anything about Mindstorms NXT?
22:22:14 <AnMaster> it's 32-bit, CPU is ARM (ARM7 iirc, not sure)
22:22:15 <oerjan> i hear you should use at least 15 minutes or so
22:22:22 <AnMaster> Phantom_Hoover, and the motor has a very awkward shape
22:22:29 <AnMaster> Phantom_Hoover, that is about all
22:22:41 <Phantom_Hoover> Bah.
22:22:57 <AnMaster> Phantom_Hoover, what? btw did you see the first panorama?
22:23:01 <AnMaster> posted link yesterday
22:23:04 <Phantom_Hoover> No.
22:23:05 <AnMaster> and also photos of the bot
22:23:10 <oerjan> (otherwise you eat so fast that your fullness feeling doesn't get triggered until you've already overeaten)
22:23:15 <AnMaster> Phantom_Hoover, well, you shouldn't be away for several days at a row
22:23:24 <Phantom_Hoover> I wasn't here yesterday.
22:23:26 <AnMaster> Phantom_Hoover, go dig logs, links will be at omploader
22:23:27 <Phantom_Hoover> Anyway.
22:23:30 <AnMaster> Phantom_Hoover, or day before that
22:23:42 <AnMaster> when I posted images of the construction itself
22:24:15 <AnMaster> Phantom_Hoover, also not being on irc for a long time is a major offence or something ;P
22:24:24 <Phantom_Hoover> If this brakes my computer I will definitely need the soul of your first-born child.
22:24:35 <AnMaster> Phantom_Hoover, open it in gimp
22:24:38 <AnMaster> Phantom_Hoover, 53 MP
22:24:40 <AnMaster> so yeah use gimp
22:24:48 <AnMaster> you have been warned
22:24:52 <oerjan> if it actually _breaks_ it he'll take your whole family
22:25:04 <Phantom_Hoover> FFX handles it fine, actually.
22:25:06 <Phantom_Hoover> Strange.
22:25:15 <Phantom_Hoover> O god, a spelling error"
22:25:16 <AnMaster> Phantom_Hoover, yep, the issue was on your side last time too
22:25:24 <AnMaster> Phantom_Hoover, what spelling error?
22:25:27 <AnMaster> oh
22:25:28 <AnMaster> right
22:25:29 <AnMaster> brakes
22:25:30 <AnMaster> hah
22:26:07 <Phantom_Hoover> What do I do with all of these CTCPs?
22:26:41 <AnMaster> I forgot if you used windows or not :P
22:26:54 <Phantom_Hoover> I do not.
22:30:33 -!- SgeoN1 has quit (Ping timeout: 265 seconds).
22:34:14 -!- augur has quit (Ping timeout: 258 seconds).
22:34:35 <Phantom_Hoover> OK, must sleep.
22:34:39 -!- Phantom_Hoover has quit (Quit: Leaving).
22:37:06 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:43:33 -!- kar8nga has quit (Remote host closed the connection).
22:52:00 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:01:40 -!- tombom has quit (Quit: Leaving).
23:27:36 -!- GreaseMonkey has joined.
23:27:59 -!- olsner has quit (Quit: Leaving).
23:34:28 -!- cpressey has left (?).
23:55:27 -!- coppro has joined.
23:59:18 -!- FireFly has quit (Quit: swatted to death).
2010-06-08
00:35:58 -!- jabb_work has quit (Quit: Page closed).
00:41:04 -!- relet has quit (Quit: Leaving.).
00:41:44 -!- MizardX has quit (Ping timeout: 260 seconds).
01:27:58 <cheater99> anyone here used wu.js ?
01:47:32 -!- Luyt has joined.
01:49:02 <Luyt> Whoah, I didn't know that there were *that* much esoteric languages!
01:49:16 * Luyt looks at http://www.esolangs.org/wiki/Language_list
01:50:52 <oerjan> well anyone can make one :)
01:51:53 <oerjan> otoh some make dozens (i'm looking at you zzo38)
01:52:33 <oerjan> or i would, if he were in a channel at the moment
01:52:46 <oerjan> *the channel
01:53:55 <Luyt> I guess it'd require a certain mindset to create a new language, even if it's outrageous.
01:54:25 <oerjan> i suppose i should mention Chris Pressey as well, he was here just a couple hours ago
01:55:14 <oerjan> (the inventor of befunge, one of the most famous ones. he's rarely here.)
01:55:47 <oerjan> well you have to be a geek by definition
01:57:02 <Luyt> maybe a stochastic chance description notation I once wrote for a random music generation program would qualify too, as a language?
01:57:19 <oerjan> heh
01:57:31 <Luyt> But I'd classify that more as a DSL
01:57:35 <oerjan> there are a number of people here doing music things
01:57:50 <oerjan> although not always at the same time as esolanging
01:58:34 <oerjan> Luyt: take a look at Fugue (iirc)
01:58:44 <Luyt> > would mean octave up, + a semitone up, ? a new random note within the current scale context, = the same note again, <space> a pause, etc.... very obvious.
01:59:30 <oerjan> that's a language for programming with music though, rather than the reverse
02:00:39 <Luyt> heh, Fugue is actually something similar which I used for my program. Only my intervals were dependent on scale context, rather than always a fixed musical interval.
02:01:14 <Luyt> plus, my DSL was/is used to generate music, not computations ;-)
02:02:16 <Luyt> whoah, this concept of notating computational operations using musical notes is weird
02:02:59 -!- Mathnerd314 has joined.
02:03:00 <oerjan> it's probably one of the more unusual languages on the wiki
02:03:27 <Luyt> I guess conventional programmers would cry out that such things should not exist
02:06:13 <oerjan> mhm
02:06:23 * Luyt made a bookmark for posteruty
02:06:27 <Luyt> posterity*
02:06:56 <oerjan> i see you obsess about spelling, you'll fit right in here :D
02:10:16 <Luyt> I'm not really someone who gets a kick out of strange languages (although I find them interesting)
02:11:22 <oerjan> oh well
02:11:25 <Luyt> But I'm all for clear expression and readability and maintainability.
02:12:00 <Luyt> Well, at least in my work.
02:12:17 <oerjan> ah
02:12:21 <Luyt> Maybe this esoteric language thing is more like a hobby or something?
02:12:53 <Luyt> I wouldn't write my company's production code in Piet!
02:13:30 <oerjan> you'd think. it's not exactly a career choice... afaik.
02:14:29 <Luyt> Imagine you'd inherit a code base of 100.000 lines of COBOL.
02:14:39 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa
02:15:34 * oerjan only programs for fun, anyhow
02:16:04 <oerjan> and not that often, actually
02:16:17 <Luyt> I see. For me it's both a hobby and work. And some more, too.
02:16:26 <Luyt> Some kind of life-fullfillment
02:17:23 <oerjan> great
02:19:58 <Luyt> There's not much I could do otherwise. Maybe become a baker's apprentice, or a farmhand perhaps
02:20:09 -!- jabb has joined.
02:20:22 <oerjan> huh
02:20:48 <Luyt> What else would a deep knowledge of Python's standard library be good for?
02:21:07 <oerjan> very important for bakers, you say? :D
02:21:22 <Luyt> Au contraire: totally irrelevant
02:22:10 <Luyt> A good knowlegde of Python's libraries would/is be great if you program python, but when nobody wants python programs, such knowledge is useless.
02:22:11 <oerjan> i'm sure bakers are very object oriented
02:22:54 * oerjan is generally pun oriented
02:23:23 <Luyt> and abandoning computing and switching to industrial jobs immediately makes all your knowledge useless
02:23:41 <Luyt> Instead you have to learn how to knead dough.
02:25:22 <oerjan> i guess python cannot be used for all your kneads
02:25:40 <Luyt> neither can any other computer language ;-)
02:25:42 <oerjan> (hey, you _were_ warned)
02:28:43 -!- aoper has joined.
02:41:22 -!- Mathnerd314_ has joined.
02:41:25 -!- aoper has quit (Quit: Leaving).
02:43:24 -!- Mathnerd314__ has joined.
02:43:36 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
02:43:45 -!- Mathnerd314__ has changed nick to Mathnerd314.
02:47:10 -!- Mathnerd314_ has quit (Ping timeout: 265 seconds).
02:52:56 -!- lifthras1ir has joined.
02:53:08 -!- pineappl1 has joined.
02:53:48 -!- EgoBot has quit (Ping timeout: 240 seconds).
02:53:48 -!- lifthrasiir has quit (Ping timeout: 240 seconds).
02:53:49 -!- pineapple has quit (Ping timeout: 240 seconds).
02:53:50 -!- Quadrescence has quit (Ping timeout: 240 seconds).
02:56:02 -!- Quadrescence has joined.
03:11:11 -!- Mathnerd314_ has joined.
03:11:57 -!- Gregor has joined.
03:12:47 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
03:17:14 <uorygl> Gregor: you are hereby expelled for truancy. Get out.
03:17:16 -!- Mathnerd314_ has quit (Ping timeout: 240 seconds).
03:17:34 <Gregor> Ooooh, truancy.
03:17:52 -!- Mathnerd314 has joined.
03:18:08 <oerjan> `define truancy
03:18:08 <HackEgo> Failed to clone the environment!
03:18:14 * oerjan whistles innocently
03:19:36 <Gregor> Yikes
03:19:39 -!- Mathnerd314 has quit (Excess Flood).
03:20:06 <Gregor> `define truancy
03:20:15 <HackEgo> No output.
03:20:28 <oerjan> `cat bin/define
03:20:32 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ echo 'Define what?' \ exit 1 \ fi \ \ QUERY=`echo -n "$1" | od -t x1 -A n -w1000 | tr " " %` \ \ lynx --cfg=/dev/null --lss=/dev/null \ \ --dump --width=1000 'http://google.com/search?q=define:'"$QUERY" | \ grep -A 3 'Definitions of' | \ head -n 4 | tail -n 3
03:20:50 <Gregor> Pretty lame :P
03:21:39 -!- Mathnerd314 has joined.
03:22:04 * oerjan thinks everything that depends on google is broken
03:22:45 -!- Gregor has set topic: Crystal healing, astrology, oracles, divine and occult knowledge, esoteric programming languages, ethereal projection | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
03:23:42 -!- Gregor has set topic: Crystal healing, astrology, oracles, divine and occult knowledge, esoteric programming languages, ethereal and astral projection, government conspiracies to deny common paranormal events | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
03:24:04 -!- Mathnerd314 has quit (Excess Flood).
03:24:22 <oerjan> i've been half-expecting zzo38 to make an esolang based on tarot soon...
03:26:15 -!- Mathnerd314 has joined.
03:30:51 -!- Mathnerd314_ has joined.
03:31:21 <oerjan> Gregor: is most of that topic taken from somewhere else?
03:31:34 <Gregor> Nope.
03:31:40 <Gregor> I just spewed it from my brain.
03:31:58 <oerjan> ah. i guess you were channeling it, then.
03:32:05 <Gregor> Yesh :P
03:33:45 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
03:33:47 -!- Mathnerd314_ has changed nick to Mathnerd314.
03:38:16 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
03:41:10 <GreaseMonkey> kudos for the title
03:41:13 <GreaseMonkey> *topic
03:43:04 <Gregor> :P
03:56:15 -!- Sgeo_ has quit (Ping timeout: 252 seconds).
04:05:55 -!- Sgeo has joined.
04:08:17 -!- zzo38 has joined.
04:08:43 <zzo38> 19:24:22:oerjan: I have been half-expecting the same thing, actually
04:09:06 <oerjan> ah
04:09:50 <oerjan> see, i have divinatory powers! *MWAHAHAHA*
04:15:08 <zzo38> I have invented a few card games using tarot cards. (In the games the cards were designed for, they are trick-taking games with the majors being trumps) (But it is possible to design other games as well)
04:16:16 <zzo38> Where do we go to print a deck of cards? (I mean just any kind of deck of cards, in general)
04:16:50 * oerjan doesn't know about such things
04:23:45 <Gregor> It's not easy. Cards have some vital properties that can't be replicated at a print shop.
04:23:52 <Gregor> Namely the coating.
04:26:47 <coppro> Carta Mundi
04:27:01 <zzo38> Gregor: Yes that is why I ask.
04:27:05 <coppro> s/ M/m/
04:27:27 <zzo38> What is Cartamundi anyways?
04:27:35 <coppro> the biggest card printer in the world
04:28:02 <zzo38> Which cities do they have buildings in?
04:28:09 <coppro> only a few factories
04:28:15 <coppro> and they aren't cheap
04:29:17 <coppro> if you're looking for something personal, I don't know where you'd go
04:29:29 <coppro> but if you were making a board game or something, they're the guys to talk to first
04:30:45 <zzo38> Well, at first, it is just something personal I would be looking for. Later on it might be differently
04:32:00 <zzo38> What I should do, is sell the ULTRACARD set, and then the Spider Tarot Deck (including a book), and the Spider Tarot Deck Standards Document (so that anyone else who does so, even if the deck has differences, as long as it follows the general rules described in the standards document, can then say they are conform the standard!)
04:33:19 <zzo38> Have you played D&D recently? The last time I played, I made some serious mistakes that I realized after the session, which I will have to correct, because I did some things wrong
04:35:53 -!- zzo38 has set topic: Crystal healing, astrology, oracles, divine and occult knowledge, esoteric programming languages, ethereal and astral projection, government conspiracies to deny common paranormal events, someone who has divinatory powers | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:40:28 -!- augur has joined.
04:47:06 -!- oerjan has quit (Quit: Good night).
04:48:38 -!- zzo38 has quit (Quit: Remember to close the light.).
05:00:33 -!- Luyt_ has joined.
05:01:36 -!- Gracenotes has quit (Ping timeout: 240 seconds).
05:01:38 -!- Luyt has quit (Ping timeout: 240 seconds).
05:16:30 -!- sebbu has quit (Ping timeout: 276 seconds).
05:24:34 -!- sebbu has joined.
05:52:39 -!- sebbu2 has joined.
05:55:38 -!- sebbu has quit (Ping timeout: 240 seconds).
05:55:38 -!- sebbu2 has changed nick to sebbu.
06:12:44 <coppro> I think I've achieved a new low in PBEM Diplomacy
06:12:59 <coppro> I pretended to typo so that my "secret" messages to each player were sent to everyone
06:27:04 -!- FireFly has joined.
06:28:30 -!- coppro has quit (Read error: Connection reset by peer).
06:47:53 -!- augur has quit (Ping timeout: 265 seconds).
06:51:17 -!- jabb has quit (Quit: Page closed).
06:59:19 -!- tombom has joined.
07:00:50 -!- kar8nga has joined.
07:02:43 -!- lament has joined.
07:07:37 -!- augur has joined.
07:07:47 -!- augur has quit (Remote host closed the connection).
07:11:30 -!- augur has joined.
07:12:31 -!- lament has quit (Ping timeout: 265 seconds).
07:25:21 -!- jabb has joined.
07:27:05 -!- Gracenotes has joined.
07:30:57 -!- pineappl1 has changed nick to pineapple.
07:30:59 -!- lament has joined.
07:32:57 <Sgeo> http://www.reddit.com/r/comics/comments/cch7p/the_best_friend/c0rmqlj
07:33:21 <lament> no
07:33:38 <Sgeo> ?
07:50:27 -!- tombom has quit (Quit: Leaving).
07:54:41 -!- Vegabondmx has quit (Quit: Vegabondmx).
07:57:49 -!- MizardX has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:20:47 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
08:23:22 -!- Oranjer has left (?).
08:28:48 -!- FireFly has quit (Quit: swatted to death).
08:36:35 -!- myndzi has quit (Ping timeout: 259 seconds).
08:38:05 -!- myndzi has joined.
08:40:59 -!- jabb has quit (Quit: Page closed).
08:42:40 -!- kar8nga has quit (Remote host closed the connection).
08:46:52 -!- kar8nga has joined.
08:50:20 -!- MizardX has quit (Ping timeout: 260 seconds).
08:51:08 -!- myndzi\ has joined.
08:51:38 -!- myndzi has quit (Ping timeout: 240 seconds).
08:53:12 -!- jabb has joined.
08:57:35 -!- ais523 has joined.
09:00:51 -!- Adrian^L_ has joined.
09:01:16 -!- lament has quit (Ping timeout: 240 seconds).
09:03:14 -!- myndzi\ has quit (Ping timeout: 248 seconds).
09:03:38 -!- k has joined.
09:03:57 -!- kar8nga has quit (Disconnected by services).
09:04:00 -!- k has changed nick to kar8nga.
09:04:41 -!- mycrofti1 has joined.
09:05:19 -!- chuck_ has joined.
09:05:31 -!- Deewiant_ has joined.
09:09:37 -!- fizzie` has joined.
09:09:41 -!- fizzie has quit (*.net *.split).
09:09:41 -!- Deewiant has quit (*.net *.split).
09:09:41 -!- chuck has quit (*.net *.split).
09:09:41 -!- yiyus has quit (*.net *.split).
09:09:41 -!- Adrian^L has quit (*.net *.split).
09:09:41 -!- mycroftiv has quit (*.net *.split).
09:18:02 -!- myndzi has joined.
09:27:38 -!- yiyus has joined.
09:37:35 -!- myndzi\ has joined.
09:37:54 -!- myndzi has quit (Ping timeout: 240 seconds).
09:54:58 -!- MigoMipo has joined.
10:08:14 -!- BeholdMyGlory has joined.
10:27:12 -!- jabb has quit (Remote host closed the connection).
10:37:53 -!- AndroUser has joined.
10:38:19 -!- AndroUser has quit (Client Quit).
10:51:24 -!- Deewiant_ has changed nick to Deewiant.
10:57:42 * CakeProphet is getting crazy language ideas.
10:57:46 <CakeProphet> that's probably not a good thing.
11:01:57 -!- kar8nga has quit (Remote host closed the connection).
11:05:55 <CakeProphet> in particular... I was thinking you could have a Haskell-related language with types as first-class entities, and a means to run certain functions at compile time instead of runtime to implement things like constraints.
11:07:09 <CakeProphet> x :: Int | inRange(0,Inf)
11:08:55 <CakeProphet> if the function a) has constant arguments b) does not compute side-effects... then it could be ran at compile-time via an interpreter.
11:09:47 -!- jacobSmit has joined.
11:12:48 -!- MigoMipo has quit (Read error: Connection reset by peer).
11:13:47 <CakeProphet> In psuedo-Haskell speak... (|) :: (Constraint c) => t -> c t -> (t | c)
11:14:37 <CakeProphet> | isn't really an operation though... just a declaration of sorts. But those are the types it accepts.
11:15:34 -!- jacobSmit has quit (Ping timeout: 240 seconds).
11:17:09 -!- MigoMipo has joined.
11:25:24 -!- jacobSmit has joined.
11:25:58 <jacobSmit> FUCK
11:26:01 <jacobSmit> sorry
11:26:03 <jacobSmit> accident
11:27:48 <ais523> that's a fun accident
11:32:31 <jacobSmit> I guess
11:32:45 <jacobSmit> how many people on this channel actually exist?
11:36:03 -!- myndzi has joined.
11:38:04 -!- myndzi\ has quit (Ping timeout: 240 seconds).
11:40:29 -!- jacobSmit has left (?).
11:40:59 -!- augur has quit (Remote host closed the connection).
11:41:12 -!- augur has joined.
11:41:26 <augur> http://www.youtube.com/watch?v=13YlEPwOfmk
11:41:28 <augur> <3
11:45:03 <ais523> I think most of the people here exist
11:45:08 <ais523> but only a small subset actually pay attention
11:45:17 <ais523> hmm, he's left
11:49:23 <Deewiant> ais523: I have a message to you from cpressey
11:49:34 <ais523> what is it?
11:49:44 <Deewiant> 2010-06-07 23:30:56 ( cpressey) I come to announce Burro 2.0: http://catseye.tc/projects/burro/doc/burro.html
11:49:47 <Deewiant> 2010-06-07 23:34:37 ( cpressey) Well, if you see him before I do, let him know that his offhand observation that Burro was broken, resulted in months of work for me fixing it :)
11:49:50 <Deewiant> 2010-06-07 23:34:52 ( cpressey) Not actual full months -- spare-time-months, of course
11:49:56 <Deewiant> "him" being you
11:49:56 <ais523> ah, aha
11:50:08 <ais523> cpressey: sorry
11:50:35 <Deewiant> What was the observation?
11:50:53 <ais523> that two of the commands weren't actually reverses, or something like that
11:51:02 <Deewiant> Alright
11:51:45 <ais523> ah, it was that {} didn't have an inverse
11:51:51 <ais523> as mentioned in what that link probably was
11:52:00 <ais523> (just because I filter links doesn't mean I can't navigate the Cat's Eye website...)
11:52:01 <Deewiant> Oh, that link does actually state it
11:52:26 <Deewiant> I managed to stop before getting that far
11:52:50 <ais523> hmm, done with typical cpressey thoroughness, I like reading his work
11:52:54 <ais523> or her, I suppose
11:53:02 <ais523> you can't even deduce the gender from the name in that case
11:56:33 <ais523> "Concatenation of instructions is defined as composition of functions"
11:56:37 <ais523> he's even made it concatenative!
11:56:44 <ais523> although it doesn't seem to use typical concatenative control flow
11:59:03 <ais523> hmm, I wonder what sort of category is implied by the group of Burro programs?
12:03:13 <augur> ais523: you need to ping me otherwise i odnt know you're talking to me.
12:03:14 <augur> or are you.
12:03:21 <ais523> I wasn't
12:03:44 <ais523> I was mostly talking to cpressey in the abstract, even though he wasn't here
12:03:50 <ais523> and to the channel in general
12:04:29 <ais523> also, that documentation gives me a worrying thought that Markdown might have been invented /just/ to work with >-style literate Haskell
12:05:34 <augur> ok.
12:05:40 <augur> hard to know!
12:40:07 -!- Gregor has quit (Quit: Leaving).
12:49:57 -!- oktolol has joined.
13:04:39 -!- oerjan has joined.
13:12:41 <oerjan> <ais523> also, that documentation gives me a worrying thought that Markdown might have been invented /just/ to work with >-style literate Haskell
13:13:33 <oerjan> i think the > style literate programming was invented before haskell. also it's email/usenet quoting.
13:15:57 -!- BeholdMyGlory has quit (Remote host closed the connection).
13:16:12 -!- oktolol has quit (Ping timeout: 276 seconds).
13:21:33 -!- oktolol has joined.
13:26:12 <CakeProphet> I AM THE QUEEN OF FRANCE.
13:27:55 <oerjan> OFF WITH HER HEAD!
13:28:11 <oerjan> (that's what the french do with their queens, right?)
13:34:06 <AnMaster> oerjan, I liked d&d annotation today
13:34:29 * oerjan hasn't got to that tab yet
13:34:42 <AnMaster> <oerjan> OFF WITH HER HEAD! <-- I think that quote is from Alice in Wonderland though
13:34:52 <AnMaster> was a while ago I read it, so I could be wrong
13:34:58 <oerjan> probably
13:36:53 <AnMaster> hm I just realised a nice way to measure ambient temperature if you don't have any thermometer handy is to wake a laptop from s2ram and check harddrive temperature right away
13:37:15 <AnMaster> of course it needs to have been suspended for long enough for the harddrive to cool to ambient temperature for this to work
13:37:41 * AnMaster just unsuspended his laptop and according to that measurement indoor temp is ~23 C
13:38:29 * oerjan wonders if Bernard is cockney rhyming slang, and what it means
13:38:40 <oerjan> (i failed to google it)
13:39:35 * oerjan tries harder
13:41:43 <oerjan> so it is, but it doesn't fit the comic
13:45:09 -!- oktolol has quit.
13:52:01 -!- FireFly has joined.
13:54:03 -!- relet has joined.
13:59:40 <CakeProphet> hmmm... does Haskell have a set typeclass?
13:59:51 <CakeProphet> built-in and all.
14:01:15 <oerjan> CakeProphet: not really.
14:01:20 <CakeProphet> ...should.
14:01:38 <CakeProphet> so you could define the set operators for a type... and not the implementation.
14:02:45 <oerjan> CakeProphet: it would have to be multiparameter, which is already an extension...
14:02:58 <oerjan> (set _and_ contained type)
14:03:15 <oerjan> there's probably a package somewhere
14:05:48 <oerjan> AnMaster: "Seriously, that last one is no fun whatsoever." indeed
14:07:21 <oerjan> (where somewhere = hackage, naturally)
14:23:37 <uorygl> \o/
14:23:38 <myndzi> |
14:23:38 <myndzi> /|
14:33:41 <AnMaster> why are 3D editing so awkward I wonder. I mean stuff like 3D modellers, 3D cad programs and so on. They are use awkward to use and the camera controls for the perspective view is usually awkward. And if you realise you need to add something that isn't on what is currently the "outside" of the model, things are really awkward...
14:34:35 -!- MigoMipo has quit (Remote host closed the connection).
14:35:07 <AnMaster> hm, I think the current user interaction system for those (and it is pretty similar for all 3D editors, just some small differences like which mouse button does what in the perspective view and so on...) needs some major rethinking. Not that I have any idea for a better UI that would work with a normal mouse
14:35:17 -!- oerjan has quit (Quit: Later).
14:36:01 <AnMaster> some 3D positioning glove or such would probably work rather well, but would on the other hand be fairly impractical for people who don't do 3D editing professionally...
14:52:26 <CakeProphet> two words: matrix jack
14:52:34 <CakeProphet> the human brain is the best UI.
14:54:43 -!- relet has quit (Quit: Leaving.).
14:55:39 <CakeProphet> and they're easy to make. Just a) figure out, in detail, a consistent and unique pattern that the state of the human brain for a given thought. b) create a computerized implant that can not only poll the brain for these impulses but recognize them as specific thoughts c) ???? d) PROFIT
15:02:39 -!- cpressey has joined.
15:03:26 <CakeProphet> Just got a new buzzword: program-oriented programming
15:03:34 <CakeProphet> POP... that's catchy.
15:04:24 <CakeProphet> #esoteric should deploy POP as an abstract business solution for concerned markets.
15:05:56 <CakeProphet> In POP everything is a program. This program-oriented environment allows programs to reason about the programs that program what they're programming. Even integers are programs.
15:07:00 -!- kar8nga has joined.
15:17:06 -!- relet has joined.
15:17:18 -!- Gracenotes has quit (Ping timeout: 265 seconds).
15:18:37 <CakeProphet> Subject-Oriented Programming is an object-oriented software paradigm in which the state (fields) and behavior (methods) of objects are not seen as intrinsic to the objects themselves, but are provided by various subjective perceptions (“subjects”) of the objects.
15:18:42 <CakeProphet> ....lolwat
15:26:27 <relet> Sounds reasonable. If you want to split that string, better bring your own axe.
15:29:10 <ais523> CakeProphet: Unlambda, Underload
15:31:17 -!- Gracenotes has joined.
15:34:18 <CakeProphet> so
15:34:28 <ais523> referring to your POP concept
15:34:29 <CakeProphet> as it turns out there's a lot of pedantic dickfaces who program
15:34:36 <ais523> and that doesn't surprise me at all
15:34:47 <CakeProphet> and it seems a lot of them enjoy programming language IRC channels.
15:34:53 <ais523> many good programmers, and probably many bad ones too, are very pedantic
15:35:06 <ais523> a large number of programmers use the Internet, which has an unusually high proportion of dickfaces
15:35:15 <ais523> and it would therefore be surprising if there wasn't a large overlap
15:35:41 <CakeProphet> you could probably write what you just said in Prolog.
15:36:24 <ais523> yes, but why would you?
15:36:28 -!- MigoMipo has joined.
15:37:46 <CakeProphet> ais523: well the motivation was never a consideration. :P
15:38:03 <ais523> fair enough
15:38:19 <ais523> in #esoteric, "why not?" is a good enough reason for many programming-related tasks
15:38:22 <ais523> although probably not all of them
15:39:12 <CakeProphet> yes, only if they are esoteric.
15:39:17 <CakeProphet> otherwise there must be reasons.
15:40:17 <CakeProphet> I wonder how you could make person-oriented programming.
15:40:56 <CakeProphet> "XMLParser and BusinessLogicManager perform a handshake and eat at a nice thai restaurant."
15:44:20 -!- BeholdMyGlory has joined.
15:44:21 -!- BeholdMyGlory has quit (Changing host).
15:44:21 -!- BeholdMyGlory has joined.
15:45:26 <ais523> hmm, new page: http://esolangs.org/wiki/Tubes
15:45:41 <ais523> horrifically formatted and hard to read, but it seems like a legit attempt to make an esolang
15:48:43 <CakeProphet> the cabal will deliberate on who to sacrifice in exchange for an esolang page.
15:48:47 * CakeProphet summons the cabal.
15:49:24 <cpressey> Hi, my name's cpressey and I'll be your cabal today. Can I interest you in the collusion soup?
15:50:17 <CakeProphet> ...
15:50:38 <CakeProphet> I made an (unimplemented) language that looks similar to Tubes.
15:51:16 <CakeProphet> http://esolangs.org/wiki/BugSophia
16:28:13 -!- ais523 has quit (Read error: Connection reset by peer).
16:28:24 -!- ais523 has joined.
16:34:13 <ais523> wait, what happened to the topic?
16:34:56 -!- ais523 has set topic: the international hub for esoteric programming language development and deployment | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:35:16 <ais523> hmm, I think I probably screwed the topic up somewhere
16:44:25 -!- MizardX has joined.
16:48:54 -!- CakeProphet has set topic: Guess I got my swagga' back..
16:49:18 <CakeProphet> ...
16:52:15 <ais523> CakeProphet: you need to at least put the log link in
16:52:18 <ais523> freenode rules
16:52:25 <ais523> and that's a ridiculous topic
16:53:37 -!- CakeProphet has set topic: Guess I got my swagga' back | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:53:43 <CakeProphet> :3
16:54:08 <CakeProphet> Sorry. I've been listening to some quality dubstep so I feel a little dirty.
16:57:52 -!- ais523 has quit (Remote host closed the connection).
17:09:18 -!- tombom has joined.
17:35:37 -!- MizardX- has joined.
17:38:23 -!- MizardX has quit (Ping timeout: 272 seconds).
17:38:37 -!- MizardX- has changed nick to MizardX.
17:42:08 -!- Nikobal has joined.
17:42:15 <Nikobal> hi there!!
17:43:51 <Ilari_antrcomp> Nikobal: Hi... Got any ideas for new esolangs? :->
17:44:39 -!- cheater99 has quit (Ping timeout: 276 seconds).
17:49:32 <Nikobal> Ilari_antrcomp, what are eso-langs?
17:49:59 <Ilari_antrcomp> Nikobal: Esoteric programming languages (the topic of this channel).
17:52:38 <Nikobal> uhm
17:52:45 <Nikobal> i am new here
17:53:04 <Ilari_antrcomp> Nikobal: Doing things the sane way in them is not a requirement (in fact, it should be avoided). :->
17:53:08 <Nikobal> and wana get a channel about esoteric, not a programming language
17:53:19 <Nikobal> but
17:53:23 <Nikobal> i wana start python some time
17:53:36 -!- cheater99 has joined.
17:53:38 <Ilari_antrcomp> Nikobal: Its not one programming language, it is whole group of them...
17:54:12 <Nikobal> ye, so brainfuck like stuff
17:54:28 <Nikobal> but i am here with focus on esoteric, this is way older then computers.
17:54:43 <cpressey> But brainfuck et al are so much more enlightening :)
18:04:13 <cheater99> has alize made it to the news yet
18:05:39 -!- Nikobal has quit (Quit: Try HydraIRC -> http://www.hydrairc.com <-).
18:09:21 -!- Vegabondmx has joined.
18:09:22 -!- Vegabondmx has quit (Changing host).
18:09:22 -!- Vegabondmx has joined.
18:12:51 <cpressey> cheater99: Uh oh, has there been more drama recently?
18:15:14 <cheater99> she's 'separated'
18:15:29 <cheater99> or hm
18:15:35 <cheater99> is it 'isolated'?
18:16:13 <pineapple> cheater99: "he"
18:17:08 <cheater99> i think the nick wouldn't be alize if alize didn't secretly want to be called 'she'
18:17:16 <cheater99> didn't she say that she wanted to see that happen
18:17:55 <pineapple> ...
18:18:35 <cpressey> cheater99: You mean, she's stuck offline again?
18:18:45 <cheater99> yeah
18:20:51 -!- asiekierka has joined.
18:20:55 <asiekierka> hi
18:21:03 <asiekierka> i have been attempting to design an esolang... again
18:21:03 <cheater99> cpressey: i just hope alize makes it through the week ok
18:21:07 -!- kar8nga has quit (Remote host closed the connection).
18:21:10 <asiekierka> and its unlike dobela
18:21:18 <cheater99> asiekierka, welcome to the ESO language support channel
18:21:24 <cpressey> What ho, asiekierka!
18:21:30 <asiekierka> it has 17 commands
18:21:34 <asiekierka> including NOP (space)
18:21:39 <asiekierka> so it has 16 actual commands
18:21:44 <asiekierka> first, it's 2D
18:21:50 <asiekierka> and the concept evolves around binary and a stack
18:21:55 <asiekierka> as in you can input either 0 or 1 to the stack
18:22:02 <asiekierka> so the stack could be "1,0,1,1,0,0,1"
18:22:15 <asiekierka> now, i'll continue in a few mins
18:22:18 -!- asiekierka has changed nick to asie[brb].
18:22:51 -!- myndzi\ has joined.
18:25:47 -!- myndzi has quit (Ping timeout: 260 seconds).
18:28:50 <asie[brb]> back
18:28:51 -!- asie[brb] has changed nick to asiekierka.
18:29:03 <asiekierka> so our stack looks like "1,0,1,1,0,0,1"
18:29:05 <asiekierka> left being top
18:29:07 <asiekierka> right being botton
18:29:09 <asiekierka> bottom*
18:29:13 <asiekierka> now, there's a JOIN command, "="
18:29:20 <asiekierka> executing it on our stack will make it
18:29:25 <asiekierka> "10,1,1,0,0,1"
18:29:32 <asiekierka> effectively turning the 2 binary digits into a binary number
18:29:34 <asiekierka> running it again gives
18:29:39 <asiekierka> "101,1,0,0,1"
18:29:54 <asiekierka> of course, we might not want such a mode, so we use the SPLIT "#" command
18:29:57 <asiekierka> running it on this gives
18:30:01 <asiekierka> "1,0,1,1,0,0,1"
18:30:23 <asiekierka> there's also a way to swap the two topmost elements of the stack
18:30:27 <asiekierka> "@"
18:30:31 <asiekierka> "0,1,1,1,0,0,1"
18:30:41 <asiekierka> BUT what if we want to get to the FIFTH part and not the second?
18:30:43 <asiekierka> Don't worry
18:30:44 <asiekierka> this will do it
18:30:49 <asiekierka> on "1,0,1,1,0,0,1"
18:30:57 <asiekierka> ===@
18:31:00 <asiekierka> the 3 join's will do
18:31:03 <asiekierka> "1011,0,0,1"
18:31:05 <asiekierka> then the swap does
18:31:08 <asiekierka> "0,1011,0,1"
18:31:13 <asiekierka> voila! we have accessed what we wanted
18:31:18 <asiekierka> to go back we just have to do @#
18:31:42 <asiekierka> we also have other commands
18:31:51 <asiekierka> like X - remove from stack (result: "0,1,1,0,0,1")
18:32:01 <asiekierka> ^ - XOR (result: 1,1,1,0,0,1)
18:32:18 <asiekierka> $ - terminate (result: C:\_ for you MS-DOSers, and something else for you Unixers)
18:32:30 <asiekierka> ! - perform a NOT (result: 0,0,1,1,0,0,1)
18:32:42 <asiekierka> ? - skips the next command if the binary value is nonzero
18:32:47 <asiekierka> (the result being it does skip it)
18:32:54 <asiekierka> > - outputs, modulo 256
18:32:58 <asiekierka> < - inputs into the stack
18:33:13 <asiekierka> and / \ - rotates the IP left or right, respectively
18:33:19 <asiekierka> and finally:
18:33:23 <asiekierka> + - adds the 2 binary numbers
18:33:37 <asiekierka> - - subtracts the 2 binary numbers (if the result is <0, it's kept as 0)
18:33:42 <asiekierka> this is all so far
18:33:47 <asiekierka> any quest---wait...
18:33:49 <asiekierka> did anyone listen?
18:35:15 <asiekierka> AND is essentially =-
18:35:26 <asiekierka> OR is, uh...
18:36:10 <asiekierka> oh right, new command
18:36:15 <asiekierka> % - clone current binary value
18:36:28 <asiekierka> so we have (1,0)
18:36:41 <asiekierka> now, we have
18:37:19 <pineapple> asiekierka: the "something else for you Unixers" is probably a $, actually
18:37:23 <asiekierka> haha
18:37:27 <asiekierka> lol
18:37:29 <pineapple> well
18:37:32 <asiekierka> im thinking how to pull off an OR
18:37:33 <pineapple> at least
18:37:40 <pineapple> the default bash prompt ends in $
18:38:01 <asiekierka> actually
18:38:08 <asiekierka> i want to replace ? (abused in so many 2D esolangs)
18:38:14 <asiekierka> to [...] - BF equalivment
18:40:22 <asiekierka> =[1@X]
18:40:34 <asiekierka> here you go, an OR implemented in an as-of-yet unnamed language
18:43:02 <asiekierka> actually, i've realized i dont need [...] in 2D
18:43:04 <asiekierka> so we stay at ?
18:43:22 <asiekierka> and my friend kindly made a 1D OR working for that
18:43:25 <asiekierka> =?1?@?X
18:44:43 <asiekierka> my friend is now going to make a hello world
18:45:28 <pineapple> how does that OR work?
18:45:33 <asiekierka> oh, heh
18:45:40 <asiekierka> let's see at the example of a (1,0) stack
18:45:43 <asiekierka> it first joins it to make 10
18:45:44 <cpressey> Interesting observation: We can think of [...] as a way to extend 1D into ~1.5D (consider the added stack to be something close to "half a dimension"), precisely because 1 dimension isn't enough to be Turing-complete.
18:45:56 <asiekierka> if it's non-zero, it inputs 1
18:45:59 <asiekierka> so it's (1,10)
18:46:03 <asiekierka> now it swaps if it's nonzero
18:46:05 <asiekierka> so it's (10,1)
18:46:07 <asiekierka> then it deletes the 10
18:46:09 <asiekierka> giving (1)
18:46:13 <asiekierka> :)
18:46:21 <asiekierka> another example, (1,1)
18:46:35 <asiekierka> (1,1) -> (11) -> (1,11) -> (11,1) -> (1)
18:46:45 <asiekierka> it is a 1-bit OR, though
18:46:49 <asiekierka> but whatever
18:46:55 <asiekierka> the XOR and NOT are not 1-bit though
18:47:39 <asiekierka> to make a more than 1-bit OR would require a lot of tinkering
18:47:46 <asiekierka> by storing those
18:48:16 <asiekierka> (10,01) -> (11)
18:49:37 <asiekierka> i might add extra AND/OR commands because of that, tho
18:49:50 <asiekierka> and get rid of NOT
18:49:55 <pineapple> hmm...
18:49:57 <pineapple> why?
18:50:02 <asiekierka> why?
18:50:09 <asiekierka> because, if you have (100) to NOT
18:50:12 <asiekierka> you can just do
18:50:15 <pineapple> why get rid of not?
18:50:19 <asiekierka> 111==-
18:50:26 <asiekierka> as in
18:50:32 <asiekierka> (100) -> (111,100) -> (011)
18:50:35 <asiekierka> you can easily emulate it
18:50:40 <asiekierka> without a proper command
18:51:04 <pineapple> i guess i don't understand esolang design, then
18:51:19 <asiekierka> well you can just do it without a command on it's own
18:51:29 <asiekierka> and my esolang goal is to never make commands that can be done with other commands
18:51:45 <pineapple> it kinda takes "if there's a way to do a command without using it, then don't include it" to the hardcore extreme
18:51:55 <asiekierka> but there's a SIMPLE way
18:51:56 <asiekierka> to do that
18:52:02 <asiekierka> if it took like 101 commands
18:52:04 <asiekierka> i would include it
18:52:19 <asiekierka> but if it only takes (bits*2) commands to do that?
18:52:28 <asiekierka> as in for a 5-bit value it takes 5*2 commands
18:52:51 <pineapple> sounds like the reason why complex.h doesn't have the cis function
18:53:17 <Ilari_antrcomp> Isn't that just exp(i*x)?
18:53:17 <asiekierka> AND, OR and XOR can be emulated with other commands but only for 1 bit
18:53:29 <asiekierka> other than that it's pretty hard
18:53:34 <asiekierka> but that might show a weakness
18:53:38 <pineapple> Ilari_antrcomp: or cos(x) + I*sin(x)
18:53:43 <asiekierka> for values bigger than 1 bit it's hard to do MUCH operations between tem
18:53:49 <asiekierka> between them*
18:54:05 <asiekierka> i believe that might warrant one more command
18:54:09 <asiekierka> ) - rotates the stack
18:54:15 <asiekierka> as in the topmost item gets pushed to the very bottom
18:54:22 <pineapple> nice
18:54:37 <pineapple> i like that without the opposite instruction
18:54:42 <asiekierka> the opposite can be done
18:54:50 <asiekierka> wait, it can't
18:54:52 <pineapple> but is it needed?
18:54:54 <asiekierka> nope
18:55:01 <pineapple> see?
18:55:03 <asiekierka> haha
18:55:06 <pineapple> i do (kinda) get it
18:55:35 <asiekierka> im thinking how to do (
18:55:41 <asiekierka> easier than typing ))))))))))))))))))
18:55:51 <asiekierka> also we don't know the stack size
18:56:37 <asiekierka> i was thinking
18:56:40 <asiekierka> i could do a command, "S"
18:56:50 <asiekierka> S - output the current stack size to the stack
18:57:26 <asiekierka> and i've realized
18:57:29 <asiekierka> with the addition of )
18:57:35 <asiekierka> you can in theory move any value anywhere
18:57:42 <asiekierka> you can use join to get to the 5th value
18:57:44 <asiekierka> swap them
18:57:47 <asiekierka> use )
18:57:52 <asiekierka> and then split the joined one
18:57:57 <asiekierka> to get the 5th value to the bottom
18:58:04 <asiekierka> then join to get to the 4th value
18:58:20 <asiekierka> swa---wait
18:58:31 <asiekierka> that's it, i add in ( as it is in fact needed
18:58:41 <asiekierka> if i was really evil
18:58:47 <asiekierka> i wouldnt include right rotation
18:58:50 <asiekierka> as that's an opposite
18:58:59 <asiekierka> so you join to get to the 4th value
18:59:04 <asiekierka> do (
18:59:06 <asiekierka> swap,
18:59:08 <asiekierka> and split
18:59:14 <asiekierka> to move the 5th value to the 4th
19:00:01 <asiekierka> that makes it 19 commands
19:00:37 <asiekierka> example mover: moves 3rd value to 2nd
19:01:22 <asiekierka> =@)#(@
19:01:51 <asiekierka> if not for the lack of an = at the end
19:02:03 <asiekierka> we'd have a code palindrome... or something
19:07:48 <asiekierka> now i wonder
19:07:56 <asiekierka> IS IT TURING COMPLEETED
19:43:04 -!- jamesstanley has quit (Quit: Leaving).
19:50:01 <cpressey> asiekierka: I don't think I saw anything that would serve as an "if", but I wasn't paying full attention
19:56:26 <cpressey> cute, a self-modifying sieve of Eratosthenes: http://muaddibspace.blogspot.com/2008/05/prolog-chr-prime-seive-one-liner.html
19:56:35 * cpressey wonders where fax is these days
19:57:05 <asiekierka> heh
19:57:12 <asiekierka> i found out about the CARDIAC paper computer
19:59:28 -!- Phantom_Hoover has joined.
20:00:02 <Phantom_Hoover> Why is CakeProphet's swagga' so important?
20:00:41 <cpressey> Several theorems rely on it
20:00:59 <Phantom_Hoover> Oh, such as?
20:02:07 * cpressey points to one such theorem as it drifts past
20:05:00 <Phantom_Hoover> What is CakeProphet's swagga'?
20:07:48 <cpressey> That's a good question.
20:07:58 <cpressey> Probably best answered by CakeProphet.
20:09:20 <CakeProphet> well.
20:09:31 <CakeProphet> it is a crunk form of locomotion often attributed to gangsters such as myself.
20:11:27 <CakeProphet> It's a distinctly American ideal.
20:11:35 * CakeProphet is all-American.
20:16:12 <Phantom_Hoover> How does it pertain to mathematics?
20:16:44 <Phantom_Hoover> Also, I thought all-American accents were rhotic?
20:18:32 <CakeProphet> ha. Depends on how fast you're speaking
20:19:02 <CakeProphet> and... doesn't everything pertain to mathematics? At least, that's what my mathematics professors always tell me.
20:19:29 <CakeProphet> I mean, the alternative is that they were all just arrogant pricks.
20:19:34 <CakeProphet> ...and that can't be right.
20:22:59 <Phantom_Hoover> Everything is mathematics.
20:23:05 <Phantom_Hoover> Except swagga's.
20:23:27 <Phantom_Hoover> (If anything, "swagga'" is all-Australian)
20:23:58 <cpressey> I thought that was "swagman". Specifically of the "jolly" variety.
20:25:49 <Phantom_Hoover> No, just in terms of rhoticity.
20:25:59 -!- Adrian^L_ has quit (Read error: Connection reset by peer).
20:33:51 <CakeProphet> Phantom_Hoover: I would also stipulate that everyone is /not/ our current understanding of mathematics.
20:33:56 <CakeProphet> which is a point that some people seem to gloss over.
20:34:36 <CakeProphet> ...meaning that most systems can be modelled mathematically, but we do not necessarily have the knowledge or endurance to do the modelling.
20:34:43 <Phantom_Hoover> Of course.
20:35:25 <CakeProphet> also. here is where I found my swagga': http://www.youtube.com/watch?v=YpAePSP-ni4
20:35:41 <CakeProphet> though you might be offended by my musical tastes.
20:36:05 <Phantom_Hoover> I have my speakers turned off.
20:36:09 <CakeProphet> ha.
20:36:23 <CakeProphet> well, if you click on the link
20:36:47 <CakeProphet> you'll see some nice album art, a moving slider, and some intelligent commentary.
20:43:46 <Phantom_Hoover> One of those was present.
20:44:02 <CakeProphet> ha.
20:44:08 <CakeProphet> such wit.
20:44:18 <CakeProphet> well, /some/ album art. That's two.
20:45:01 <Phantom_Hoover> You explicitly said "nice".
20:46:08 <CakeProphet> nice in the sense that it was courteous of the submitter to include an image to look at as you watch the slider move.
20:47:13 <CakeProphet> Anyways. I'm going to go play a game of Risk. I will likely not return for several days.
20:47:26 <CakeProphet> but actually it'll be like 3 hours or something.
20:47:36 <CakeProphet> Farewell.
20:48:55 <Phantom_Hoover> Hmm, we hate Java here. But what else do we hate?
20:48:59 <Phantom_Hoover> C++?
20:49:02 <Phantom_Hoover> C#?
20:49:08 <CakeProphet> ...I actually like all of those languages...
20:49:58 <CakeProphet> well...
20:50:03 <CakeProphet> if I had to pick I would say Java.
20:50:20 <CakeProphet> Because it basically is just C# without any of the good features.
20:50:30 <CakeProphet> but they're all fine.
20:50:40 <Phantom_Hoover> Haskell seems to be popular...
20:51:10 <CakeProphet> yes.
20:51:35 <CakeProphet> some of us like Lisp as well
20:51:39 * CakeProphet is now gone.
20:54:50 <cpressey> Some of us hate Python...
20:55:01 <cpressey> Well, "hate" is too strong a word.
20:55:05 <cpressey> I feel sorry for Python.
21:07:42 <asiekierka> I dont like Pyhon
21:07:43 <asiekierka> Python*
21:07:47 <asiekierka> i just dont like the syntax
21:07:54 <asiekierka> sadly, nobody understands me
21:08:11 -!- jabb has joined.
21:09:09 <Phantom_Hoover> I quite like Python.
21:09:40 <Phantom_Hoover> When I'm bored and don't want to search through reams of documentation to do things.
21:12:33 <asiekierka> I use 6502 ASM for that
21:12:37 <asiekierka> a bit more
21:12:41 <asiekierka> and i'll have it memorized
21:12:53 <Phantom_Hoover> ...
21:14:08 <cpressey> I've been doing a fair amount of C64/VIC20 coding lately, and I almost have it memorized. Except for BIT of course.
21:21:18 <cpressey> I don't mind Java, per se, for the most part. The world that most Java coders inhabit, on the other hand...
21:28:07 <Phantom_Hoover> BIT?
21:31:13 <cpressey> http://www.obelisk.demon.co.uk/6502/reference.html#BIT
21:31:27 <cpressey> Who can remember all that? ;)
21:31:51 -!- Oranjer has joined.
21:32:23 <cpressey> Maybe if I was really into testing what bits 6 and 7 are, I would care enough to...
21:48:48 -!- asiekierka has quit (Ping timeout: 265 seconds).
21:56:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:02:47 -!- oerjan has joined.
22:04:29 <Phantom_Hoover> oerjan!
22:05:04 <oerjan> Ectoplasm_Scooper!
22:05:59 <Phantom_Hoover> You'll run out eventually.
22:06:20 <Oranjer> hint: The Ghost that Sucks
22:06:20 <oerjan> that was my thought too, just before writing that
22:06:44 <oerjan> Oranjer: i think i did that before
22:07:00 <Oranjer> oh
22:07:35 <fizzie`> For what its for, I've never really needed the N and V flag-settings of BIT, and it's reasonably easy to remember the "main" functionality of it (and A and memory, throw away the result but set zero flag accordingly).
22:09:10 <cpressey> So BIT is to AND as CMP is to SBC (roughly)?
22:15:04 <oerjan> <pineapple> it kinda takes "if there's a way to do a command without using it, then don't include it" to the hardcore extreme
22:15:12 <oerjan> that's almost what "tarpit" means
22:15:28 <oerjan> imo
22:16:15 <oerjan> (you will note our wiki has a specific category for Turing Tarpits (tarpits that are turing complete)
22:16:18 <oerjan> )
22:16:57 <cpressey> A set of features of X is minimal for Y if removing any one of those features from X results in something that's no longer Y
22:18:00 -!- MigoMipo has quit (Remote host closed the connection).
22:20:15 <oerjan> * cpressey wonders where fax is these days <-- i banned her a while ago, after she went completely ballistic.
22:21:17 <oerjan> only for a few days though, but she hasn't shown up since afaik
22:21:52 <cpressey> Oh great, more eso drama.
22:22:33 <cpressey> Her last blog entry was March 29, so I was wondering.
22:22:35 <oerjan> i don't recall that much drama otherwise, other than alise's and AnMaster's semi-friendly bitching
22:22:39 <oerjan> oh
22:23:02 <cpressey> not that it's a really frequently-updated blog
22:23:20 <cpressey> was it a mathematically-oriented ballistic? :)
22:23:30 <oerjan> hm i _think_ it was later than that, i'm not quite sure
22:23:43 <oerjan> not really
22:23:54 <oerjan> there's was a previous one that sort of was, iirc
22:25:10 <oerjan> anyway, she took a joke as a completely serious insult, an spammed a wall of "fuck you"s back
22:25:16 <oerjan> *and
22:26:15 -!- Rugxulo has joined.
22:26:35 <Rugxulo> o_O
22:26:41 * Rugxulo sees a ghost
22:27:17 <oerjan> Rugxulo: it's a pretty sucky ghost. unless you see someone other than i do
22:27:31 <Rugxulo> cpressey ^_^
22:27:47 <oerjan> cpressey is no ghost. afaik.
22:28:14 <Rugxulo> ain't heard from him yet, so ...
22:28:27 <oerjan> (neither is he sucky, just to be clear)
22:29:30 <cpressey> Hey, I'm not dead *yet*.
22:29:36 <Rugxulo> ;-)
22:30:06 <Rugxulo> just so you know, I wrote Rexx and Pascal interpreters for B93, also hacked up a DOS assembly one (not yours) to be 982 bytes
22:30:31 <cpressey> Rexx. Very nice.
22:30:37 <Rugxulo> but it's not as impressive as AnMaster (CFunge) and Deewiant (CCBI)
22:30:55 <Rugxulo> oops, should've said dual Borland-ish / ISO 7185 (compiles in both without changes)
22:31:08 <Rugxulo> although there's no built-in random in ISO 7185
22:31:20 <Rugxulo> but it just ignores that ;-)
22:32:36 <Rugxulo> anyways, I posted them to comp.lang.rexx and comp.lang.pascal.{borland,ansi-iso}, respectively
22:32:50 <Rugxulo> not that it really matters, but since you're here anyways ............
22:34:04 <Phantom_Hoover> Fax's blog?
22:34:06 <Phantom_Hoover> Link?
22:34:18 <Rugxulo> ??
22:34:19 <Phantom_Hoover> I need to go, but I'll logread tomorrow.
22:34:25 <Phantom_Hoover> Far above.
22:34:36 <cpressey> Phantom_Hoover: http://muaddibspace.blogspot.com/
22:38:09 <Rugxulo> "now stop worrying and enjoy your life" ... yeah, that was worth putting up a billboard for :-P
22:40:31 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:42:24 -!- tombom has quit (Quit: Leaving).
22:43:37 <Rugxulo> anyways
22:55:02 <Rugxulo> cpressey: there are also assembly B93 interpreters for Win32 and {Open-,NetBSD} on FASM's forum, though I didn't write 'em ;-)
22:55:21 <Rugxulo> though for some odd reason (terminal comfortability???) the *BSD dude used 41x25 :-/
22:55:59 <Rugxulo> FreePascal 2.4.0 compiles mine to 30k (static!), UPX halves that
22:56:05 <cpressey> Interesting. You mentioned mine -- befia? Is it still floating around out there somewhere?
22:56:18 <Rugxulo> on your site???
22:56:28 <cpressey> It's on my site??
22:56:36 <Rugxulo> none of these are based upon that (which, AFAICT, was loosely based upon befos or maybe the C version or both??)
22:56:46 <cpressey> Not anymore.
22:56:51 <Rugxulo> but if you want the FASM forum link, I can show you
22:57:12 <Rugxulo> yes, it's on your site, last I checked
22:57:25 -!- FireFly has quit (Quit: swatted to death).
22:57:33 <cpressey> Well, as long as they pass Mycology, I'm happy.
22:57:37 <cpressey> How long ago did you check?
22:57:41 <Rugxulo> http://catseye.tc/projects/befos/src/turbo/bf93.tasm
22:57:47 <Rugxulo> three seconds ;-)
22:57:55 <cpressey> Oh crap, hah.
22:58:14 <Rugxulo> messagedb'befia v0.90, usage: befia <befunge-93-source>', 13, 10, '$'
22:58:41 <Rugxulo> in other words, it doesn't work out-of-the-box (e.g., in DOS, Win32, etc)
22:58:44 <cpressey> Yeah, I guess befia wormed its way into BefOS, even though IIRC it's not used heavily in it.
22:59:01 <cpressey> Used to be its own project on the site -- not anymore.
22:59:06 <Rugxulo> BTW, just to tell you two very minor details:
22:59:28 <Rugxulo> Borland is still around (somewhat), but they spun off the development tools / IDEs to CodeGear, which is now owned by Embarcadero
22:59:44 <Rugxulo> Turbo C++ Explorer 2006 (which never installed correctly for me) was freeware, and it had latest / last TASM32 5.3
22:59:52 <Rugxulo> but they don't offer it online anymore :-(
23:00:17 <Rugxulo> oh, and NASM by default aligns data section to four bytes, so you have to say "section .data align=1" if you want to avoid that (whereas you just ignored that directive altogether for same effect)
23:00:47 <cpressey> Oh, right. I converted all my TASM sources of note to NASM. Except befia. But it still lives in the old TASM directory of BefOS.
23:01:01 <cpressey> I remember running into some damn alignment issue when converting Shelta to NASM.
23:01:15 <Rugxulo> right, I saw you mention somewhere in there
23:01:28 <Rugxulo> I would've e-mailed you, but I couldn't find one, so I guess you didn't want to be bothered
23:01:52 * Rugxulo only learned Befunge93 since around September of last year, so ...
23:02:15 <cpressey> It's on my site if you look hard enough.
23:02:56 <Rugxulo> well it's moot now ;-)
23:09:33 -!- Rugxulo` has joined.
23:09:59 <Rugxulo`> bah, now I'm the ghost! :-P
23:11:54 <Rugxulo`> Rugxulo: *shakes fist*
23:11:56 -!- Rugxulo has quit (Ping timeout: 265 seconds).
23:13:11 -!- Rugxulo` has quit (Remote host closed the connection).
23:19:11 -!- kar8nga has joined.
23:23:27 -!- augur has quit (Remote host closed the connection).
23:32:26 -!- calamari has joined.
23:43:28 -!- MizardX- has joined.
23:43:52 -!- MizardX has quit (Read error: Connection reset by peer).
23:43:56 -!- MizardX- has changed nick to MizardX.
23:52:25 -!- kar8nga has quit (Remote host closed the connection).
23:53:48 -!- cpressey has left (?).
2010-06-09
00:00:44 -!- coppro has joined.
00:14:36 -!- poiuy_qwert has quit (Quit: Leaving).
00:20:55 -!- poiuy_qwert has joined.
00:24:56 -!- augur has joined.
00:35:03 <CakeProphet> What's great about Python
00:35:03 <CakeProphet> is the documentation, and the ease of programming.
00:35:26 <CakeProphet> the features are lacking, however. And there's some odd things it doesn't do that could be better.
00:35:46 <CakeProphet> Jython and IronPython are better for portability.
00:36:00 <CakeProphet> basically Java bytecode and .NET
00:40:38 <CakeProphet> !python
00:40:40 <CakeProphet> ,python
00:40:54 <CakeProphet> you know... there should almost be a bot to handle bots.
00:41:34 <CakeProphet> just MSG them with the username and the command.
00:42:11 <CakeProphet> and it would give them unique names and help keep track of the symbols they use and all that.
00:42:33 <CakeProphet> or just unify it.
00:43:09 <CakeProphet> and assign bots individual commands. :)
00:43:15 <CakeProphet> so we could just quickly write a command bot.
00:44:29 -!- jabb has quit (Quit: Page closed).
00:45:29 -!- MizardX- has joined.
00:45:32 -!- MizardX has quit (Read error: Connection reset by peer).
00:45:56 -!- MizardX- has changed nick to MizardX.
00:49:14 <CakeProphet> hmmm... anybody want to make a gamebot?
00:49:25 <CakeProphet> put each on a seperate channel.
00:49:54 <coppro> awesome, I'm going to Montreal!
00:50:00 <CakeProphet> ...sweet.
00:50:10 * CakeProphet is "based" in Georgia. :)
00:50:37 -!- coppro has quit (Remote host closed the connection).
00:51:02 -!- Oranjer has left (?).
00:51:04 -!- coppro has joined.
00:51:22 <CakeProphet> I was thinking it would actually be easier just to make the bot a self-hosting chat-room for all parties involved.
00:51:35 <CakeProphet> with commands.
00:51:38 <CakeProphet> for talking.
00:51:51 <CakeProphet> you could even set up a text-based adventure engine.
00:52:03 * CakeProphet doesn't know how this esoteric... but he feels like programming something.
00:52:17 <CakeProphet> could easily make some interpreters for it too.
00:55:27 <CakeProphet> !haskell let test = 2
00:55:34 <CakeProphet> !haskell print test
00:55:54 <coppro> to make it esoteric, just prove it is/isn't Turing-Complete
00:56:04 <CakeProphet> ...aha
00:56:09 <CakeProphet> a turing complete IRC bot.
00:56:17 <CakeProphet> scripting interface? :)
00:56:30 <CakeProphet> /esoteric/ IRC bot scripting interface?
00:56:37 <CakeProphet> sounds good to me.
00:59:29 <CakeProphet> hmmm... how about it controls the state of two infinite arrays and a automata cell-grid with two ends.
01:00:27 <CakeProphet> the arrays point contain natural numbers pointing to a coordinate on the cell, in either polar or cartesian coordinates.
01:00:38 <AnMaster> <Rugxulo> but it's not as impressive as AnMaster (CFunge) and Deewiant (CCBI)
01:00:40 <AnMaster> hm?
01:00:46 * AnMaster reads up
01:02:06 * CakeProphet has a wide variety of impressive accomplishments. ....
01:02:58 <AnMaster> oh btw I realised I could use my Lego IR remote as a computer remote if I wanted to
01:03:22 <AnMaster> after all I have can get the messages with the lego usb IR tower thingy
01:03:27 <CakeProphet> that's awesome.
01:03:36 <CakeProphet> I might make one out of an Arduino
01:03:45 <CakeProphet> that I have lying around.
01:03:48 <AnMaster> CakeProphet, but fairly useless since I can't think of anything to control on the PC
01:03:49 <CakeProphet> currently doing nothing.
01:03:56 <AnMaster> I'm within reach of it all the time anyway
01:04:01 <AnMaster> and I use it for the lego thing
01:04:08 <CakeProphet> AnMaster: speaker volume from far away for a bedroom desktop or what have you.
01:04:19 <AnMaster> CakeProphet, bedroom != computer room
01:04:22 <CakeProphet> ah.
01:04:22 <AnMaster> bedroom is very small
01:04:23 <AnMaster> also
01:04:28 <AnMaster> I use headphones when listening
01:04:33 <CakeProphet> same here... but it's also my computer room.
01:04:36 <AnMaster> and my desk chair is *very* comfy
01:04:50 <CakeProphet> I need a comfy chair
01:04:54 <CakeProphet> I sit on my bed. :)
01:05:08 <AnMaster> it has 4 levers and one wheel thingy
01:05:10 <AnMaster> wait
01:05:16 <AnMaster> 5 wheel thingies
01:05:19 <AnMaster> forgot those for the arm rests
01:05:32 <CakeProphet> so yeah I wonder how polar coordinates would effect programming logic
01:05:45 <AnMaster> the first one is to set friction in the tilting
01:05:53 <AnMaster> the other are various armrest settings
01:06:04 <AnMaster> idea: add motors then use the remote for that
01:06:05 <AnMaster> XD
01:06:14 <AnMaster> nah I don't want to void warranty
01:06:30 <CakeProphet> if the two arrays are the polar coordinates... what would the automata represent?
01:07:53 <CakeProphet> you know, just to learn Ruby
01:07:59 <CakeProphet> I might write my bot in Ruby.
01:08:02 <CakeProphet> that might be esoteric.
01:08:09 <CakeProphet> :3
01:08:19 <AnMaster> hm
01:08:56 <CakeProphet> dynamic languages are good for bots because they're quick to write.
01:09:06 <AnMaster> CakeProphet, yeah like bash
01:09:54 <AnMaster> CakeProphet, in case you are now all confused about that comment, I wrote: https://launchpad.net/envbot
01:11:24 <CakeProphet> nice.
01:11:28 <CakeProphet> I don't know bash very well at all.
01:11:42 <CakeProphet> I might use Perl instead... good idea or bad?
01:11:50 * CakeProphet should learn Perl... no way to do it just by reading.
01:21:48 <CakeProphet> ..idea.
01:22:13 <CakeProphet> a virtual OS so that we can hack it and make esoteric system designs.
01:22:24 <CakeProphet> shell UI
01:26:11 -!- Rugxulo has joined.
01:34:14 <calamari> what's a virtual os?
01:34:48 <CakeProphet> VM OS essentially.
01:34:59 <CakeProphet> you host it on a virtual machine
01:35:50 <calamari> so for a custom cpu?
01:36:09 <CakeProphet> No
01:36:14 <CakeProphet> well... a virtual cpu
01:36:36 <CakeProphet> the virtual OS can be run on any physical machine that can host the software.
01:37:03 <calamari> why not use x86, then it can be run native
01:37:15 <calamari> or virtual
01:37:23 -!- Oranjer has joined.
01:37:28 <CakeProphet> that significantly increases the amount of work you have to do supporting drivers.
01:38:11 <calamari> depends on if you use the bios
01:39:10 <CakeProphet> you know tcl is a pretty good scripting language.
01:39:11 <calamari> the only reason I bring this up is that it is extremely satisfying to put in a floppy or cd and boot your os without having to run it on a virtual machine
01:39:24 <CakeProphet> I think I'd prefer it over bash as a system-wide scripting language.
01:39:37 <CakeProphet> calamari: I lack the experience unfortunately.
01:39:42 <CakeProphet> but would love to learn it.
01:40:24 <calamari> well assuming that your os isn't trying to do anything groundbreaking with hardware (text displays, etc) it's not too bad really
01:40:57 <CakeProphet> ...it would be.
01:40:57 -!- augur has quit (Ping timeout: 264 seconds).
01:41:02 <CakeProphet> I'd want text display.
01:41:07 <CakeProphet> nothing more than that reall.
01:41:07 <CakeProphet> y
01:41:10 <calamari> sorry that was badly written
01:41:15 <CakeProphet> oooh
01:41:16 <CakeProphet> I see.
01:41:21 <CakeProphet> text displays were in the feasible list.
01:41:27 <calamari> I meant that with the bios you don't have advanced features
01:41:38 <CakeProphet> but it's easier to program?
01:41:43 <CakeProphet> is it portable?
01:42:10 <calamari> it'll run under qemu, if that's what you are asking
01:42:25 <calamari> and many many real machines with a pc bios
01:43:00 <calamari> I've written BOS, a BF-based "os"
01:43:16 <calamari> used assembly language and fit it into a single 512-byte floppy sector
01:43:48 <CakeProphet> ....sweet
01:44:02 <CakeProphet> I'd be willing to work on an OS project, just to get the hang of it.
01:44:05 <CakeProphet> before I designed my own.
01:44:28 <calamari> well that is again why I brought this up
01:45:06 <CakeProphet> in the past I've discovered that my OS designs lack from any real experience with hardware.
01:45:16 <calamari> in college I took an os course, and we used a proprietary virtual machine to write our os.. at the end of the semester we had something basically to throw away and never use again
01:45:17 * CakeProphet started on scripting languages like Python, and then worked down.
01:45:40 <calamari> couldn't boot it.. couldn't run any programs on it
01:45:45 <CakeProphet> ...damn.
01:45:49 <calamari> extremely unsatisfying
01:45:53 <CakeProphet> yeah.
01:46:15 <CakeProphet> when I get more disk space I'd love to have a dual-boot OS of my own or partial creation. :D
01:46:34 <CakeProphet> or a live CD / floppy
01:46:47 -!- coppro has quit (Remote host closed the connection).
01:46:52 <calamari> there have been many false starts at ESO (the esoteric operating system)
01:47:03 <calamari> never got past very basic design though
01:47:06 -!- Halph has joined.
01:47:19 -!- Halph has changed nick to coppro.
01:47:34 <calamari> that dates back to the mailing list days
01:49:16 <CakeProphet> You probably need to start basic
01:49:18 -!- ski has quit (Remote host closed the connection).
01:49:19 <CakeProphet> and then add the esoteric in
01:49:22 -!- ski has joined.
01:49:27 <CakeProphet> and not try to add the esoteric into the early design.
01:49:51 <calamari> that's exactly right
01:50:08 <calamari> and probably why the projects always failed
01:51:04 <CakeProphet> that's what tends to happen with most OS brainstorms I've ever had
01:51:40 <CakeProphet> I'd actually like to learn assembly programming.
01:52:16 <Rugxulo> board.flatassembler.net
01:52:22 <Rugxulo> dive right in
01:52:39 <Rugxulo> if that doesn't help, nothing will
01:54:24 -!- ski has quit (Ping timeout: 264 seconds).
01:55:29 * CakeProphet bookmarks.
01:55:54 -!- ski has joined.
01:55:56 <CakeProphet> calamari: so do you want to put some work into designing a basic OS and I could do some gruntwork?
01:56:34 <Rugxulo> http://www.dex4u.com/
01:56:54 <Rugxulo> http://www.menuetos.net/
01:57:04 -!- augur has joined.
01:57:20 <Rugxulo> http://sites.google.com/site/octaviovegafernandez/octaos/
01:57:30 <Rugxulo> all written in FASM
01:58:07 <Rugxulo> (hmmm, download seems down on latter, but I know it's on www.sac.sk , so it's no biggie)
02:00:09 <calamari> I'd probably use nasm
02:00:55 <Rugxulo> FASM needs no linker, self-hosting, multiple OS format support, etc.
02:01:00 -!- ski has quit (Ping timeout: 264 seconds).
02:01:16 -!- ski has joined.
02:01:34 <calamari> oh it's open source too.. okay cool
02:04:54 <Rugxulo> yup, plus faster than NASM
02:08:51 <calamari> I used nasm for mine, so a linker isn't really required
02:09:17 <calamari> (just fyi)
02:12:45 <CakeProphet> so I've got to go soon
02:12:56 <CakeProphet> but does anyone want to team up on a prototype OS?
02:13:30 <CakeProphet> I intend to contribute no design decisions until I gather more experience... so that should make things faster.
02:14:42 <calamari> sure but I don't know how much help I'd be if you are trying to make it elegant
02:14:55 <CakeProphet> elegant? Is that possible?
02:15:01 <CakeProphet> maybe later on.
02:15:23 <CakeProphet> the core guys should just be simple and fast.
02:15:26 <CakeProphet> *guts
02:15:30 <calamari> well all I'm saying is that my design decisions wouldn't necessarily be any better than yours and they could be worse
02:16:14 <Rugxulo> ask on FASM's forum, lots of hackers there
02:16:16 <calamari> the class I took wasn't realistic in any way
02:16:56 <calamari> I could definitely make something that boots
02:17:30 <CakeProphet> calamari: no they'd be better because I know absolutely nothing about assembler or how OSes are programmed.
02:17:41 <CakeProphet> all I have is a basic understanding of hardware... nothing in detail.
02:19:06 <calamari> one thing about hard drives.. the bios won't be able to use the whole thing, and as far as real drivers I am no help
02:19:47 <calamari> but it'll definitely be fine for smallish drives and partitions
02:20:09 <CakeProphet> that's fine.
02:20:29 <CakeProphet> is there any way it can be designs so that drivers can be done after the fact?
02:20:39 <CakeProphet> or does that require a completely different design?
02:20:40 <calamari> I've also never learned much about protected mode programming, so it'd be running in real mode
02:20:53 * Rugxulo suggests unreal instead
02:20:54 <calamari> although I have some books and would be willing to experiment
02:21:13 <Rugxulo> er, on second thought, if you want to use emulators, don't do that ;-)
02:21:23 <calamari> lol yeah
02:21:46 <calamari> if I remember what unreal mode is, you are peeking into extended memory from real mode, right?
02:22:07 <calamari> by exploiting that ffff:ffff is larger than 640k
02:22:09 <Rugxulo> basically switch to pmode, set the selectors to 4G, switch back, voila, all RAM is available
02:22:17 <calamari> ah
02:22:31 <calamari> who knows, qemu might handle it
02:22:41 <Rugxulo> FASM itself (DOS version) can run in either unreal or under DPMI
02:22:55 <Rugxulo> no, I think most emulators don't handle it correctly, hence why he eventually added DPMI
02:23:22 <calamari> well I have a book that explains how to switch into protected mode, I just never needed it
02:23:40 <calamari> it'd be fun to learn it
02:23:49 <Rugxulo> doubt it :-/
02:24:16 <Rugxulo> it's quite annoying (not that I really have messed with it)
02:25:29 -!- JodaZ_ has joined.
02:25:55 -!- augur has quit (Ping timeout: 245 seconds).
02:25:57 -!- JodaZ has quit (Ping timeout: 258 seconds).
02:26:29 <calamari> come on youre an esoteric language fan.. annoying is good
02:27:05 <Rugxulo> only in moderation ;-)
02:27:31 <calamari> if tanenbaums minix book weren't so expensive, I'd love to get a copy of that
02:27:38 -!- CakeProphet has quit (Ping timeout: 240 seconds).
02:27:39 <oerjan> ^ul ((ANNOYING IS GOOD)S:^):^
02:27:39 <fungot> ANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNO ...too much output!
02:28:38 -!- CakeProphet has joined.
02:28:49 <oerjan> also, testing.
02:28:57 <oerjan> hm...
02:29:00 <CakeProphet> back..
02:30:08 <calamari> cool price has gone down!
02:31:28 <Rugxulo> bbl, food ...
02:31:31 -!- SevenInchBread has joined.
02:31:36 <oerjan> bubbly food
02:32:38 <SevenInchBread> ...bleh
02:33:22 -!- CakeProphet has quit (Ping timeout: 248 seconds).
02:35:49 -!- CakeProphet has joined.
02:35:52 -!- CakeProphet has quit (Changing host).
02:35:52 -!- CakeProphet has joined.
02:36:00 <CakeProphet> ...wireless.
02:36:19 <oerjan> no longer hanging by a thread
02:37:14 -!- SevenInchBread has quit (Ping timeout: 260 seconds).
02:40:51 -!- SevenInchBread has joined.
02:40:57 -!- CakeProphet has quit (Ping timeout: 264 seconds).
02:43:06 -!- Rugxulo has left (?).
02:45:50 -!- SevenInchBread has quit (Ping timeout: 276 seconds).
03:03:21 -!- CakeProphet has joined.
03:15:48 -!- Adrian^L_ has joined.
03:28:23 <oerjan> hm synchronicity
03:48:05 -!- Gregor has joined.
04:07:04 <calamari> Gregor: you ever messed with writing linux filesystem drivers (non-fuse)?
04:07:25 <Gregor> Only FUSE :P
04:07:55 <calamari> I wish fuse were more solid
04:08:18 <calamari> crashes constantly.. can't rely on it for a rootfs
04:12:41 <Gregor> I've used it for a root FS.
04:13:07 <oerjan> Gregor: so is that why HackEgo keeps crashing all the time? *ducks*
04:13:10 <calamari> you didn't get a bunch of endpoint disconnected crap
04:13:30 <Gregor> oerjan: I really wish I KNEW why it keeps crashing X_X
04:13:36 <Gregor> `echo test
04:13:46 <Gregor> calamari: I didn't use it super-extensively, but no.
04:13:48 <HackEgo> test
04:13:51 <calamari> that's cool
04:13:52 <oerjan> oh and egobot is not here
04:14:06 -!- HackEgo has quit (Remote host closed the connection).
04:14:09 -!- HackEgo has joined.
04:14:11 -!- EgoBot has joined.
04:14:20 <calamari> I guess I suck then.. what else is new? :)
04:14:37 <Gregor> calamari: I had this crazy dynamic unionfs that would union together directory structures based on environment variables in the process reading the FS.
04:15:15 <Gregor> It was stable but crazy-slow.
04:15:15 <oerjan> `addquote <coppro> we'd care about a turing-complete pencil
04:15:18 <HackEgo> 178|<coppro> we'd care about a turing-complete pencil
04:15:24 <calamari> I think it'd be cool to provide a virtual fat32 filesystem on the fly
04:15:38 <Gregor> I would be absolutely shocked if that hasn't already been done.
04:15:57 <Gregor> Ohwait ... what do you mean by "virtual" in this context :P
04:15:58 <calamari> that way android can have his lame fat32 and I can have a better fs underneath
04:16:26 <Gregor> Oh, you want to virtualize the limitations of FAT32 essentially?
04:17:17 <calamari> well my microsd cards keep failing
04:17:57 <calamari> and of course every time it fails I lose the whole damn thing.. so I was thinking I could have a more robust filesystem underneath
04:18:21 <calamari> so I guess it's really two filesystems I'd need to design
04:18:48 <coppro> you could use ext2 and install the filesystem in Windows
04:18:56 <calamari> the fake fat32 one, and another one with redundant metadata
04:19:47 <calamari> coppro: ?
04:20:11 <calamari> although I have to say scandisk didn't do that bad a job on this last crash
04:20:12 <coppro> Windows does have installable file systems, contrary to popular belief
04:20:25 <calamari> windows isn't even a factor here
04:20:28 <coppro> oh
04:20:35 <coppro> why do you need FAT32 then?
04:20:46 <calamari> because android apps assume fat32
04:20:56 <coppro> huh
04:21:23 <coppro> is that in the spec?
04:21:58 <calamari> not sure, but even when you put in an sdcard if it's not fat32 it tells you it needs to format it
04:22:08 <coppro> yurk
04:22:18 <calamari> maybe it'd be easier just to fix android
04:23:46 <calamari> I think it'd be cool for a filesystem to expose its metadata to the filesystem too.. and all metadata should be ascii
04:25:56 <calamari> actually.. this has been done a long time ago, in the opposite direction
04:26:23 <coppro> yeah, fixing Android seems easier; is your phone locked so that you can't change the installed version?
04:26:24 <calamari> you could layer a posix-compatible filesystem on top of fat
04:26:32 <calamari> nope I'm good that way
04:26:54 <calamari> oh what was it called.. totally obsolete tho, I think it was last in 2.4
04:27:23 <calamari> umsdos
04:27:48 <Gregor> That should be reimplemented in FUSE.
04:27:52 <Gregor> You could make it more general even.
04:28:04 <Gregor> Just "assume 8.3 and nothing else, give me a real FS"
04:28:40 <calamari> yeah so I'm really doing the reverse of umsdos
04:29:08 <calamari> from a filesystem perspective
04:33:49 -!- augur has joined.
04:45:55 -!- augur has quit (Ping timeout: 245 seconds).
04:54:54 -!- oerjan has quit (Quit: Good night).
05:07:44 -!- augur has joined.
05:09:20 <augur> hello all
05:17:21 -!- lament has joined.
05:32:21 -!- lament has quit (Ping timeout: 260 seconds).
05:49:29 -!- Vegabondmx has quit (Quit: Vegabondmx).
05:55:19 -!- SevenInchBread has joined.
05:56:17 -!- CakeProphet has quit (Ping timeout: 276 seconds).
06:06:16 <calamari> hi augur
06:06:32 <augur> hey you
06:06:34 <augur> sup
06:12:48 <calamari> not much
06:15:43 -!- calamari has quit (Quit: Leaving).
06:19:01 -!- lament has joined.
06:38:00 -!- augur has quit (Ping timeout: 245 seconds).
06:48:26 -!- relet has quit (Quit: Leaving.).
06:58:13 -!- FireFly has joined.
06:59:45 -!- augur has joined.
07:01:49 -!- tombom has joined.
07:08:29 -!- relet has joined.
07:09:27 -!- Oranjer has left (?).
07:11:14 -!- MigoMipo has joined.
07:16:57 -!- lament has quit (Ping timeout: 264 seconds).
07:36:21 -!- augur has quit (Remote host closed the connection).
07:36:36 -!- augur has joined.
07:40:05 -!- augur has quit (Remote host closed the connection).
07:46:11 -!- Rugxulo has joined.
07:51:36 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:16 -!- Sgeo_ has joined.
08:20:59 -!- Sgeo has quit (Ping timeout: 265 seconds).
08:23:46 -!- augur has joined.
08:27:37 -!- coppro has quit (Read error: Connection reset by peer).
08:30:14 -!- MizardX- has joined.
08:34:30 -!- MizardX has quit (Ping timeout: 276 seconds).
08:34:41 -!- MizardX- has changed nick to MizardX.
08:37:06 -!- lament has joined.
08:58:22 -!- FireFly has quit (Quit: swatted to death).
08:58:22 -!- MigoMipo has quit (Read error: Connection reset by peer).
08:59:42 -!- augur has quit (Remote host closed the connection).
08:59:53 -!- augur has joined.
09:09:22 -!- Rugxulo has left (?).
09:20:38 -!- lament has quit (Ping timeout: 240 seconds).
09:32:30 -!- mycrofti1 has changed nick to mycroftiv.
10:20:12 -!- Gracenotes has quit (Ping timeout: 264 seconds).
10:40:36 -!- SevenInchBread has changed nick to CakeProphet.
10:40:41 -!- CakeProphet has quit (Changing host).
10:40:41 -!- CakeProphet has joined.
10:54:45 <augur> whos got a hankerin' to do a little logic puzzle
10:55:09 -!- augur has quit (Remote host closed the connection).
10:55:21 -!- augur has joined.
10:57:13 <yiyus> augur: it depends on your definition of little
10:57:39 <augur> its not a huge problem, per se, nor does it require an actual solution
10:57:44 <augur> but
10:58:01 <augur> its logicocomputational
10:58:47 <augur> suppose you have some list
10:58:55 <augur> [x,y,z,...]
10:59:27 <augur> and you have some expression which is, in some unknown way, evaluated using that list
10:59:39 <augur> the expression is like so:
11:00:48 <augur> f(ord(g)), where f and g are unary functions that return booleans (e.g. "prime", "even", "red", whatever)
11:01:20 <augur> and ord is a higher order function that tells you some ordinality. e.g. "first", "second", etc.
11:01:38 <augur> so for instance maybe the list is [0,1,2,3,4,...] and the expression is prime(first(odd))
11:01:50 <augur> that is, "the first number that is odd is prime"
11:02:02 <augur> which in this case is not true, because 1 is odd but not prime
11:02:19 <yiyus> ok
11:03:15 <augur> now suppose we have some other ordinal, first2
11:04:24 <augur> such that f(first2(g)) means that the 5th element of the list is the first element for which both f _and_ g are true
11:04:32 <augur> or maybe its the 10th element
11:04:51 <augur> or whatever. we might add in a second parameter for first2, to allow this. e.g. f(first2(5, g))
11:05:27 <augur> what do first and first2 have to be defined as for this to work?
11:06:01 <augur> now maybe function application works differently than normal. i leave it up to you to decide the details of the programming language/formal system. meaning you can define some crazy formal system that makes use of crazy crazy ideas. i dont care.
11:06:10 <augur> but how could you get this to work.
11:07:13 <yiyus> no way, the result of first2 is independent of f
11:07:45 <augur> well, like i said, you can use any sort of magic to make this work
11:07:55 <augur> so it doesnt *have* to be independent of f
11:08:12 <augur> if you can explain what the rule is for how the non-independence works
11:08:50 <augur> for instance (this might not work, i dont know)
11:09:01 <augur> if f (and g) are continuized functions
11:09:10 <augur> first2(5, g) might be the continuation of f
11:09:34 <augur> so f(first2(5, g)) is evaluated as first2(5,g)(\x -> ...)
11:09:53 <augur> because f passes into its continuation some uncontinuized version of f
11:09:55 <augur> or something
11:09:58 <augur> who knows
11:10:57 <yiyus> ok, i think i understood the problem, but i don't think i can find a solution
11:11:07 <yiyus> surely, not before my lunch break
11:11:33 <augur> :0
11:11:34 <augur> :)
11:11:53 <augur> to make it even harder, and thus more interesting
11:13:13 <augur> can you define a single function first3 in such a way that it can infact behave in _both_ ways? that is to say, so that there is an ambiguity between whether it evaluates like first or first2
11:13:36 <augur> the ambiguity arising from the underlying formalism, that is
12:45:15 -!- Gregor has quit (Ping timeout: 252 seconds).
13:27:17 -!- FireFly has joined.
13:28:15 -!- asiekierka has joined.
13:28:16 <asiekierka> hi
13:28:29 <asiekierka> ugh, i need to make something for my Computers teacher
13:28:37 <asiekierka> anything related to computers really
13:28:38 <asiekierka> and i only have 2 days
13:28:47 <asiekierka> either related to computers or for computers
13:28:49 <asiekierka> something awesome.
13:46:13 -!- Vegabondmx has joined.
13:55:31 -!- KingOfKarlsruhe has joined.
14:29:14 -!- asiekierka has quit (Ping timeout: 272 seconds).
14:30:44 -!- Vegabondmx_ has joined.
14:31:18 -!- Vegabondmx has quit (Read error: Connection reset by peer).
14:31:19 -!- Vegabondmx_ has changed nick to Vegabondmx.
14:34:34 -!- BeholdMyGlory has joined.
14:45:31 -!- cpressey has joined.
14:46:35 -!- oerjan has joined.
14:47:38 <cpressey> What ho, oerjan!
14:48:59 <oerjan> yo cpressey
14:52:21 -!- relet has quit (Quit: Leaving.).
14:53:39 <AnMaster> cpressey, hi!
14:53:45 <AnMaster> was a while ago
14:53:56 <AnMaster> cpressey, anything happening with befunge-111?
14:54:28 * oerjan predicts a sudden number increment
14:56:22 <AnMaster> XD
14:59:19 <AnMaster> from some software changelog: "Bugs fixed in this release: [...] - Unsolicted crash"[sic]
14:59:31 <AnMaster> yeah, aren't all crashes?
14:59:59 <Ilari> Well, some stuff I have written is intentionally rigged to crash in some cases...
15:00:42 <AnMaster> Ilari, oh?
15:00:43 <cpressey> AnMaster: Not really (anything happening with Befunge-111). Maybe you're right, a simple addendum to "clarify" the 98 spec would be better. Easier, at least, and accomplish about the same thing.
15:01:04 <AnMaster> heh
15:02:06 <Ilari> When program is so toast that continuing would be worse than crashing, its better for it to crash.
15:03:46 <cpressey> Indeed, "crash" is an interesting concept to meditate upon.
15:07:22 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
15:07:26 <oerjan> to crash, or not to crash, that's #"¤11353NO CARRIER
15:18:38 <augur> AnMaster, oerjan, hey :D
15:19:01 <oerjan> 'lo
15:19:19 <CakeProphet> hey guys.
15:38:17 -!- relet has joined.
15:54:06 -!- oerjan has quit (Quit: Later).
16:20:39 -!- cal153 has joined.
16:31:27 -!- cal153 has quit.
16:35:59 -!- lament has joined.
16:52:14 -!- fizzie` has changed nick to fizzie.
16:52:29 -!- lament has quit (Ping timeout: 240 seconds).
16:58:16 -!- cal153 has joined.
17:06:03 -!- cal153 has quit (Ping timeout: 276 seconds).
17:13:45 -!- tombom has joined.
17:16:43 -!- Gracenotes has joined.
17:33:05 -!- jabb has joined.
17:34:01 -!- cal153 has joined.
17:39:51 -!- augur has quit (Read error: Connection reset by peer).
17:40:14 -!- augur has joined.
18:00:44 -!- kar8nga has joined.
18:19:19 -!- augur has quit (Remote host closed the connection).
18:35:28 -!- MizardX- has joined.
18:36:40 -!- MizardX has quit (Read error: Connection reset by peer).
18:36:56 -!- MizardX- has changed nick to MizardX.
18:37:33 -!- iamcal has joined.
18:38:39 -!- Luyt_ has left (?).
18:38:48 -!- cal153 has quit (Ping timeout: 264 seconds).
18:50:51 -!- Phantom_Hoover has joined.
19:05:42 -!- Mathnerd314 has joined.
19:08:55 -!- CakeProphet has quit (Ping timeout: 245 seconds).
19:12:25 -!- CakeProphet has joined.
19:17:34 -!- kar8nga has quit.
19:18:14 -!- kar8nga has joined.
19:39:36 -!- CakeProphet has quit (Ping timeout: 265 seconds).
19:56:22 -!- CakeProphet has joined.
20:03:25 <CakeProphet> aww yeah.
20:09:10 -!- MizardX has quit (Read error: Connection reset by peer).
20:09:18 -!- MizardX has joined.
20:09:21 -!- MizardX has quit (Changing host).
20:09:22 -!- MizardX has joined.
21:25:10 -!- dbc has quit (Quit: Seeeeeya).
21:51:29 -!- MosaSaur has joined.
21:52:47 <MosaSaur> do what thou wilst
21:55:03 <Phantom_Hoover> I wilst.
21:56:07 <MosaSaur> it's the law
22:00:03 <cpressey> I'm designing an imperative string-rewriting language.
22:00:05 <cpressey> I know right?
22:03:55 <MosaSaur> can it handle quote errors
22:04:21 <cpressey> I don't know yet. Should it?
22:04:56 <MosaSaur> what will it be used for?
22:05:34 <cpressey> Probably the same thing all my languages are used for. Whatever that is.
22:06:18 <MosaSaur> then it probably should, just to be safe
22:11:20 <cpressey> Well, it handles them in the sense that, if you insert two or more instances of the same kind of quote in the string, the behavior of reading or writing what's in between those quotes is undefined.
22:12:01 <cpressey> Which is the best sense of "handle", IMO.
22:13:58 <MosaSaur> not exactly an L-system then
22:15:09 <cheater99> maaan
22:15:12 <cheater99> why isn't alise here
22:16:57 <cpressey> No, not another L-system. I try to invent new things.
22:19:02 <cpressey> More specifically, I try to invent languages that sound impossible, or at least highly unlikely. Kind of like MC Escher illustrations, I guess.
22:19:19 <cpressey> Thus, imperative string-rewriting.
22:19:20 <Phantom_Hoover> cheater99, he's in the loony bin.
22:22:01 <MosaSaur> so L-systems are a subset of imperative string rewriting, but you want another subset
22:22:37 <cpressey> Well, I have yet to see an L-system that I would describe as "imperative".
22:22:46 <cpressey> Have you?
22:24:18 -!- dbc has joined.
22:24:20 -!- dbc has left (?).
22:26:06 <MosaSaur> it's a kind of state machine
22:26:36 <cpressey> So is graph reduction. Therefore Haskell is imperative!
22:27:05 <cheater99> i know where she is
22:27:10 <cheater99> i'm asking why
22:29:21 <cpressey> cheater99: At the core, I think it's because she's intelligent.
22:34:53 <MosaSaur> I suppose lisp is better for creating languages
22:36:25 -!- Phantom_Hoover has quit (Quit: Leaving).
22:44:45 -!- augur has joined.
22:45:09 -!- Oranjer has joined.
22:52:09 -!- MosaSaur has quit (Ping timeout: 240 seconds).
22:52:20 -!- MosaSaur1 has joined.
22:53:22 -!- augur has quit (Ping timeout: 260 seconds).
22:58:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:02:41 -!- oerjan has joined.
23:06:20 -!- Oranjer has left (?).
23:06:45 -!- MosaSaur1 has left (?).
23:18:27 <cheater99> ok
23:18:28 <cheater99> guys
23:18:30 <cheater99> serious question
23:18:36 <oerjan> yes
23:18:42 <oerjan> writing things
23:18:43 <cheater99> i currently don't know what an AST really is
23:18:46 <oerjan> in several lines
23:18:48 <oerjan> _is_ bad
23:18:52 <oerjan> (on irc)
23:19:09 <oerjan> abstract syntax tree?
23:19:17 <cheater99> how difficult would it be for me to learn what an AST is and write something that manipulates a cobol AST?
23:19:20 <cheater99> yes
23:19:38 <cheater99> i used an acronym to separate out the people who don't know what it stands for, you passed the test oerjan - welcome to the next level
23:19:50 <cpressey> cheater99: Did you ever diagram sentences in grade school?
23:20:02 <cheater99> yes
23:20:09 <cheater99> ok i understand *that* much
23:20:11 <cheater99> but not much more.
23:20:31 <cpressey> I don't think there is much more. Not very much, anyway.
23:20:34 <cheater99> i also understand it has to do with those funny expression syntax formats like what i get in, say, the python manual.
23:20:43 <oerjan> it's a tree that contains the structured data of parsed code (or other language)
23:20:51 <oerjan> cheater99: backus/naur form?
23:20:58 <cheater99> what form?
23:21:02 <oerjan> BNF
23:22:03 <oerjan> that's most likely what that python manual uses, or some variant
23:22:11 <cheater99> i mean something like this
23:22:14 <cheater99> if_stmt ::= "if" expression ":" suite
23:22:14 <cheater99> ( "elif" expression ":" suite )*
23:22:14 <cheater99> ["else" ":" suite]
23:22:18 <cheater99> sry4fld
23:22:26 <cpressey> Yeah, that's an extended version of BNF.
23:22:27 <oerjan> it was invented for Algol, i think, and has been used for lots of languages since
23:22:41 <cheater99> ok
23:22:50 <cheater99> the plan is to convert COBOL to PHP
23:23:26 <oerjan> cheater99: btw COBOL was invented _before_ BNF, i think, so it might actually be awkward to parse that way
23:23:28 <cheater99> it's like changing from one very bad thing to another, i know
23:23:33 <cpressey> Learning to read BNF is useful, but not quite the same as building/using an AST, although it's not hard to relate them
23:23:33 <cheater99> but
23:23:46 <cheater99> i know how to read those things (BNF)
23:24:11 <oerjan> however there are newer standards for COBOL, so i wouldn't be surprised if they've made a BNF for it later
23:24:14 <cheater99> i got hardcore with DTD's at some point, they're basically a masochistic version of tht
23:24:22 <cheater99> *that
23:24:24 <oerjan> (assuming it fits into BNF at all)
23:24:38 <cheater99> so there's this lex-pass thing for haskell
23:24:49 <cheater99> it allows manipulating PHP on ast level
23:25:04 <cpressey> An English description of an AST that goes with the BNF you posted might look like: An IfNode contains an ExprNode called "then_cond" and SuiteNode called "then_suite" and a list of ExprNodes called "elifs" and ...
23:25:08 <oerjan> cheater99: yeah XML is like a language half-way turned into AST at the outset
23:25:09 <cheater99> would it make sense to extract ast from cobol, and try to convert it to the php ast?
23:25:28 <oerjan> cheater99: probably
23:25:46 <cheater99> probably maybe?
23:25:47 <cpressey> So really, it's just a data structure that you define how you want, as long as it can store your parsed program in a way that makes sense for what you want to do with it.
23:25:52 <cheater99> or probably yes?
23:25:58 <oerjan> however it's not given that the ast's of cobol and php will match nicely
23:26:20 <cheater99> doesn't cobol translate to C directly
23:26:21 <cheater99> or something
23:26:31 <cheater99> and php is just a wrapper around C
23:26:37 <cpressey> Eww... http://www.cs.vu.nl/grammarware/browsable/cobol/
23:26:52 <cheater99> i hadn't written 1 line of cobol in my life
23:26:53 <oerjan> cheater99: um C is much newer than COBOL. there is probably a compiler from COBOL to C though
23:27:14 <cheater99> oerjan, i know, but i still heard that cobol can translate to c fairly easily
23:27:15 <oerjan> (well somewhat newer, at least)
23:27:38 -!- tombom has quit (Quit: Leaving).
23:28:16 <oerjan> cheater99: that may be, if cobol doesn't use any new-fangled stuff that C wasn't designed to have (and given the relative ages, it probably doesn't)
23:29:16 <cheater99> i would be surprised
23:30:43 <oerjan> cheater99: php being a wrapper around C doesn't mean C translates easily to PHP though
23:30:53 <oerjan> more like the opposite, if any
23:31:08 <cheater99> of course not
23:31:24 <cheater99> but i wouldn't expect cobol to do much more than the subset of c that php can perform
23:31:32 <oerjan> however i guess php (which i don't really know) has a C-descendant syntax
23:31:33 <cheater99> it's just a shitty little lang
23:31:36 -!- FireFly has quit (Quit: swatted to death).
23:32:05 <cheater99> let's see how 99 looks in cobol
23:32:28 <cheater99> jesus http://99-bottles-of-beer.net/language-cobol-908.html
23:32:38 <oerjan> cheater99: COBOL is pretty big on describing data formats, iirc (and that's one of the few things i know about COBOL)
23:33:04 <cpressey> I leave you with someone else's opinion on the matter: http://sneakydave.com/wp/2009/08/12/php-itself-isnt-that-much-different-than-cobol/
23:33:09 <cpressey> Good evening.
23:33:11 -!- cpressey has quit (Quit: Leaving.).
23:33:40 <cheater99> ahahah
23:33:42 <cheater99> that was perfect
23:33:52 <cheater99> oerjan, mhm
23:34:05 <cheater99> oerjan, then it's like php. php is also pretty big on data formats.
23:34:37 <oerjan> ok
23:35:17 <oerjan> it's possible COBOL is big on describing _ancient_ formats, though
23:35:17 <cheater99> but not like
23:35:21 <cheater99> c style data formats
23:35:30 <cheater99> more like, class-based data formats
23:35:44 <cheater99> almost sorta like 'shitty version of java' data formats
23:36:50 <oerjan> oh well good luck
23:37:02 <cheater99> so how difficult is it to learn that ast stuff
23:37:09 <cheater99> what do i need to know?
23:37:43 <oerjan> er
23:38:46 <cheater99> expand that thought
23:39:15 <oerjan> i don't know exactly how _i_ learned it, so...
23:39:19 <oerjan> sort of osmosis
23:39:28 <cheater99> pah
23:39:43 <cheater99> there should be tutorials for that crap on the net
23:39:44 <cheater99> :p
23:40:07 <oerjan> well an example of an interpreter implemented using it might be nice...
23:40:21 <cheater99> 100%
23:40:36 <oerjan> hm i guess this AST stuff must be among the things mentioned in that famous "how to make compilers" book that i've never read
23:41:14 <oerjan> (dragon book)
23:41:19 <cheater99> dragon book?
23:41:46 <oerjan> http://en.wikipedia.org/wiki/Dragon_Book_(computer_science)
23:44:26 <oerjan> AST's would be the intermediate step between the "Syntax analysis" and "Syntax-directed translation" steps in that list
23:45:07 <oerjan> well ASTs would probably useful for everything after as well
23:47:12 <cheater99> thank u
23:47:15 <cheater99> yes
23:47:16 <cheater99> does the AST hold data
23:47:20 <cheater99> like say string literals?
23:47:31 <cheater99> or is it just pure, data-less syntax structure?
23:47:52 <oerjan> it definitely holds all the data you need for representing the code
23:48:10 <cheater99> ok
23:48:15 <cheater99> so it contains the literals etc
23:48:21 <oerjan> yeah
23:48:26 <cheater99> cool
23:50:07 <cheater99> that's pretty cool. i'm gonna go take a shower now.
23:50:08 <cheater99> thanks for walking me through that oerjan <3
23:50:08 <cheater99> btw, do you use vi?
23:50:08 <cheater99> i'm asking because i found out you can easily put esc on the caps lock key in gnome
23:50:09 <cheater99> which is a pleasant surprise
23:50:23 <oerjan> i use (g)vim yes
23:50:35 <oerjan> never bothered to remap any keys though
23:51:37 <oerjan> cheater99: SICP (which i've also not read, but it's available online) might also be good i guess.
23:52:31 <cheater99> SICP?
23:52:40 <cheater99> oerjan, remap the caps lock
23:52:46 <cheater99> it'll totally change everything for you
23:52:49 <oerjan> http://en.wikipedia.org/wiki/Wizard_book
23:52:52 <cheater99> caps lock is perfect
23:53:19 <cheater99> did you know esc was where tab is now on the space cadet keyboard (for which vi was developed)?
23:53:30 <cheater99> er
23:53:41 <cheater99> esc was on the space cadet keyboard where tab is now on normal keyboards
23:53:48 <cheater99> but tab is still useful, and caps is even more useful
23:53:50 <oerjan> one of the reasons why lisp/scheme is so powerful is that its syntax is so simple that it almost _is_ its own AST.
23:53:54 <cheater99> the place caps is now used to be ctrl, i think
23:54:27 <cheater99> i have no idea what it means to be your own ast
23:54:58 <oerjan> cheater99: in scheme, the program is represented as a tree of nested lists
23:56:06 <oerjan> (define (fac n) (if (eqv n 1) 1 (* n (fac (- n 1))))), or something like that
23:56:18 <oerjan> (for making a factorial function)
23:56:43 <oerjan> and that nested list essentially _is_ the AST of the function definition
23:57:31 <oerjan> the lisp/scheme macro systems therefore can work directly on the AST, rewriting stuff in a structured manner.
23:59:36 -!- leBMD has joined.
2010-06-10
00:00:23 <oerjan> originally lisp was intended to have a syntax (M-expressions) but everyone found working directly with the AST format (S-expressions) more useful instead
00:01:06 <oerjan> the main downside is the sometimes confusing heap of parentheses
00:01:23 -!- relet has quit (Quit: Leaving.).
00:03:06 -!- coppro has joined.
00:06:07 <leBMD> Have you ever noticed that most esoteric languages are interpreted and never actually compiled?
00:06:47 <leBMD> I guess it's because no one wants to turn >#ajv% into assembly, since that would just be a nightmare.
00:08:46 <oerjan> there are people here who _have_ tried compiling befunge, though
00:09:08 <oerjan> it was _designed_ to be hard to compile
00:11:01 <leBMD> You do have a point.
00:11:38 <oerjan> brainfuck on the other hand, was the opposite, but i guess that's why you said "most" :)
00:11:46 <leBMD> If I had enough knowledge in ASM, I'd try to make a lolcode compiler.
00:11:48 <leBMD> yeah
00:12:20 <oerjan> compiling via C is also a popular option
00:13:46 <leBMD> true
00:13:52 <oerjan> for that matter there's nothing preventing compiling into a higher-level language; one of the few "compilers" i've made (i put it in quotes because it did _very_ little work) compiled unlambda to ocaml
00:14:01 <leBMD> I made a lolcode library once, but it wasn't the same as making a compiler program.
00:14:43 <leBMD> I suppose. I just always think low-level when I hear "compile".
00:14:47 <oerjan> (few _might_ be == 1 btw, i've certainly never compiled anything advanced)
00:15:25 <oerjan> leBMD: are you new here? i don't recognise your nick
00:15:42 <leBMD> I've been on about once. Other than that, yeah I'm new here.
00:16:04 <leBMD> I mainly just lurk the wiki and every once in a while see if my piet forum has any members.
00:16:23 <oerjan> in that case, welcome to #esoteric, where we guarantee you'll lose your sanity -- oh wait that's the IWC forum motto
00:16:42 <oerjan> (irregular webcomic)
00:17:00 <oerjan> (where i lurk)
00:17:17 <leBMD> lol
00:17:52 <oerjan> oh piet? you're not taneb from that forum by any chance? (he currently has a piet program avatar)
00:18:36 <leBMD> nope
00:18:39 <leBMD> I'm Batmanfiestdestiny
00:18:51 <oerjan> huh
00:19:10 <oerjan> (i meant the IWC forum btw, i'm not on the piet forum)
00:19:13 <leBMD> are there multiple piet forums?
00:19:15 <leBMD> oh, lol
00:19:47 <leBMD> piet got VERY popular when a card of it was made for Perplex City, so it's gotten a bit more mainstream.
00:20:21 <oerjan> however, IWC is made by the inventor of Piet, in case you didn't know
00:20:47 <leBMD> oh, I had no idea
00:21:08 <oerjan> (i've not seen any esolang discussion on the iwc forum though)
00:21:48 -!- iamcal has quit (Ping timeout: 240 seconds).
00:21:56 <oerjan> he's just passed on to other endeavors.
00:22:11 <leBMD> esolangs to the rest of the world are kind of like dead kittens: some people find them interesting, but most people try to ignore them.
00:22:19 <leBMD> and I understand that.
00:22:20 <cheater99> alrite
00:22:20 -!- cal153 has joined.
00:22:33 <oerjan> i'd try to ignore people who found dead kittens interesting, personally
00:22:42 <leBMD> lol
00:23:12 <cheater99> oerjan, ok, makes sense
00:24:15 <oerjan> cheater99: i am a _little_ unsure which of my comments you are referring to, here :D
00:24:27 <oerjan> (you may of course answer "all of them")
00:25:36 <cheater99> you know what confuses me
00:25:51 <cheater99> why did befunge use <v^> instead of hjkl
00:26:09 <cheater99> oerjan: some of them
00:26:13 <cheater99> BUT NOT ALL.
00:26:14 <oerjan> cheater99: um visual intuitiveness?
00:26:16 <leBMD> because <v^> looks more arrow-ey, I think.
00:26:24 <cheater99> hjkl is totally intuitive
00:26:41 <oerjan> cheater99: i see we have managed to make you insane already
00:26:44 <leBMD> h != go left, in my mind.
00:27:42 <cheater99> that's because you use notepad.exe to edit your code
00:28:01 <cheater99> and play only games inferior to ADVENT
00:28:12 <cheater99> er, nethack
00:28:14 <cheater99> !
00:28:19 -!- zzo38 has joined.
00:28:28 <oerjan> leBMD: btw Mark Chu-Carroll of the Good Math, Bad Math blog had a blog series about esolangs a few years ago
00:28:51 <leBMD> well that's cool
00:28:53 <cheater99> but the only thing better than ADVENT is nethack, and there's nothing above, and anything else is worse than ADVENT, so that's fine
00:28:55 <zzo38> I know there is a Japanese company that will make customized mahjong tiles. I don't know if there is of cards?
00:28:57 <leBMD> mmm,nethack is a fun game
00:29:06 <cheater99> good math bad math?
00:29:14 <oerjan> cheater99: i thought we had already established i use vim. i confess to frequently using the arrow keys though.
00:29:21 <cheater99> me google sit
00:29:24 <cheater99> googles it
00:29:35 <cheater99> oerjan, that's not using vim! that's pretending to use it :p
00:31:51 <leBMD> COMPLETELY RANDOM NOTE: I hate it when a site gets one good thing in it, and then they ignore all the other good parts and turn the one famous thing into a sort of gimmick.'
00:33:18 <cheater99> why
00:33:53 <oerjan> cheater99: actually i sometimes _do_ use hjkl, because of a bug in windows gvim that makes arrow keys not work in the selection modes
00:34:26 <leBMD> because, in my opinion, when something like a blog gets one good story or game and they turn it into a site gimmick, it kind of ruins the rest of the site for me when I'm trying to see the other stuff.
00:34:52 <oerjan> however when i'm in insertion mode arrow keys feel more natural than whatever contortion i need to move around otherwise
00:34:54 -!- kar8nga has quit (Remote host closed the connection).
00:40:09 <oerjan> hm i also use space rather than l sometimes, like when replacing a particular number of characters with c<n><space>
00:42:05 -!- MizardX has quit (Ping timeout: 276 seconds).
00:47:21 <zzo38> See this message: http://forums.thedailywtf.com/forums/p/17274/224223.aspx#224223
00:47:50 <zzo38> The lights on my keyboard are broken, how do I fix it?
00:50:01 <oerjan> cheater99: btw i don't know if you know haskell or ml (sml/ocaml), but their abstract data types are like the perfect match for implementing ASTs
00:50:36 <leBMD> well, I gotta go
00:50:40 <leBMD> seeya!
00:51:05 -!- leBMD has quit (Quit: why date people when you can sit in your basement reading H.P. Lovecraft stories?).
00:52:19 <oerjan> data BrainfuckCMD = Increment | Decrement | Output | Input | Left | Right | Loop [BrainfuckCMD]
00:52:38 <oerjan> (shush everyone who says ASTs are overkill for Brainfuck)
00:54:35 <cheater99> oerjan, that's what i heard.
00:55:47 -!- jabb has quit (Quit: Page closed).
01:01:13 <Sgeo_> oerjan, I used something a bit more complicated. Then again, it's also probably a little bit bad for lazy BF executionb
01:01:16 <Sgeo_> *execution
01:01:49 <oerjan> Sgeo_: well if you want to optimize stuff you probably want a more complicated one
01:02:03 <oerjan> so you can rewrite it
01:19:52 -!- zzo38 has quit (Remote host closed the connection).
01:22:21 -!- cal153 has quit (Ping timeout: 264 seconds).
01:45:12 -!- augur has joined.
02:05:21 -!- cal153 has joined.
02:22:43 -!- Oranjer has joined.
02:41:51 -!- lament has joined.
03:02:29 -!- cheater99 has quit (Ping timeout: 276 seconds).
03:04:03 <uorygl> Olen, olet, on.
03:04:36 <uorygl> Koira nostaa kiven.
03:06:26 <uorygl> Syödä... drat, that's one of those verbs ending in one vowel.
03:06:34 * uorygl looks up the conjugation again.
03:07:08 <uorygl> Syön, syöt, syö. Okay.
03:07:34 <uorygl> Syön koiran.
03:07:41 <uorygl> Eating dogs is not a very nice thing to do.
03:08:31 <uorygl> Let's see, the negation verb is en, et, ei, and it takes syö, whatever form that is.
03:08:36 <lament> why not?
03:08:40 <uorygl> En syö koiran.
03:08:48 <uorygl> I like dogs.
03:08:52 <lament> maybe you just don't know how to cook dogs properly
03:09:09 <lament> i like dogs too
03:09:15 <lament> they're good in a stew
03:09:46 <uorygl> Let's see. "To like" is pitää, and it takes the elative case... what case is that?
03:10:06 <uorygl> A locative case meaning "out of".
03:10:23 <uorygl> That doesn't make any sense, but okay.
03:10:53 <uorygl> So, pitän koirasta. I think.
03:11:09 <uorygl> Okay, it's actually pidän for some reason.
03:11:28 <uorygl> Koirasta is correct, though. Yay!
03:16:08 -!- cheater99 has joined.
03:22:06 -!- cheater99 has quit (Ping timeout: 258 seconds).
03:22:39 <oerjan> uorygl: http://en.wikipedia.org/wiki/Consonant_gradation#Finnish
03:24:34 <uorygl> Whoa.
03:25:01 -!- cheater99 has joined.
03:25:07 <oerjan> (why it is pidän iirc)
03:25:22 <uorygl> Mmkay, I think I understand the gist of that.
03:28:15 <uorygl> My mom's playing with our new Spöka. She's hugging it and saying "bork bork bork!"
03:28:23 -!- coppro has quit (Read error: Connection reset by peer).
03:43:08 -!- Gregor has joined.
03:43:18 <Gregor> LANGUAGE IDEA:
03:43:42 <Gregor> A language that insures type "safety" and progress through a technique called "recycling"
03:43:51 <oerjan> uorygl: the historical changes section of that article complicates matters even further >:D
03:44:03 <Gregor> By which any typing error is rectified by querying the garbage error and replacing the offending object with a dead one of the correct type.
03:44:16 <oerjan> Gregor: eek
03:44:18 <Gregor> *garbage collector
03:45:09 <uorygl> Naturally, this language should have no other features.
03:46:28 <Gregor> Whaaa? No, you could just take Java, remove all type annotations, and do this :P
03:46:44 <uorygl> Well, yes, you *could*.
03:47:11 <Gregor> X-P
03:49:04 <oerjan> hm how would this interact with cyclic structures
03:49:25 <oerjan> or even without actually
03:49:43 <oerjan> if object x of class X contains a reference to object y of class Y
03:49:51 <Gregor> Doesn't matter. Everything's reference based, so you just have to be able to revive the dead stuff.
03:50:18 <oerjan> now say both die, then x is revived
03:50:25 <oerjan> Gregor: reference _what_ based?
03:50:43 <Gregor> OK, you would need something to guarantee that no object is actually collected while it has references from half-dead objects.
03:50:53 <Gregor> But since the garbage collector sees all these anyway, that's trivial.
03:51:17 <oerjan> you couldn't really collect anything - it might be needed later
03:51:39 <Gregor> And THAT'S the greatest problem with this language design, eh? :P
03:51:47 <oerjan> the thing is _after_ x is revived, y is now live
03:52:00 <Gregor> Yeah, you have to transitively revive.
03:52:26 <oerjan> hm i guess that may not be that hard
03:52:48 <Gregor> If every object contains a bit for its liveness state, that's utterly trivial.
03:53:07 <Gregor> Just trace the objects and stop whenever you get to a living object, make sure you mark it living (and move it or whatever's necessary) before recursing.
03:55:12 <Gregor> I also concluded that it would be unbelievably awesome to write a paper giving the formal operational semantics of operational semantics :P
03:55:25 <oerjan> O_o
03:56:06 <Gregor> And try to prove things like transitive progress (if the language being represented in operational semantics progresses, then the operational semantics progress :P )
03:57:46 <Gregor> I figure that would be greek enough to be a shoe-in to POPL X-P
04:00:03 -!- zzo38 has joined.
04:01:26 <Gregor> *shoo-in
04:01:54 <Gregor> The problem with "shoe-in" vs. "shoo-in" is that both make perfect sense both as phrases and in the context :P
04:02:08 <zzo38> How I (and the DM) is idea about D&D game, is, some of the following:
04:02:21 <zzo38> * "Impossible" is the correct level of difficulty.
04:02:26 -!- coppro has joined.
04:03:13 <zzo38> * I can find ways of solving the game with preferably not anyone being dead (that especially includes all NPCs).
04:03:38 <zzo38> * Nothing ever happens quite as the DM expects.
04:04:14 <zzo38> What do you think?
04:28:21 -!- sshc has quit (Ping timeout: 264 seconds).
04:31:27 -!- pikhq has joined.
04:31:37 <pikhq> I should stop not being on IRC.
04:32:37 <zzo38> There is a log file too, in case you need it
04:32:45 <zzo38> But why should you stop not being on IRC?
04:32:51 <zzo38> Surely you can't be IRC always?
04:33:10 <pikhq> I NEVER SLEEP EVER EVER EVER
04:33:53 <pikhq> AND I LACK A LIFE
04:33:54 <pikhq> :P
04:40:49 -!- augur has quit (Ping timeout: 240 seconds).
04:44:31 -!- zzo38 has quit (Remote host closed the connection).
04:55:02 -!- augur has joined.
05:00:29 -!- augur has quit (Ping timeout: 240 seconds).
05:03:47 -!- pikhq has quit (Read error: Connection reset by peer).
05:04:34 -!- zzo38 has joined.
05:20:01 -!- sshc has joined.
05:33:32 -!- jabb has joined.
05:33:35 <jabb> hey all
06:03:29 -!- Oranjer has left (?).
06:19:16 -!- CakeProphet has quit (Ping timeout: 260 seconds).
06:38:38 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
06:41:30 -!- oerjan has quit (Quit: Good night).
06:47:40 -!- sebbu has quit (Ping timeout: 245 seconds).
06:48:15 -!- sebbu has joined.
07:01:27 -!- ZosMagistus has joined.
07:02:44 -!- FireFly has joined.
07:03:26 -!- ZosMagistus has left (?).
07:04:42 -!- augur has joined.
07:08:40 -!- tombom has joined.
07:09:33 -!- coppro has quit (Ping timeout: 260 seconds).
07:19:52 -!- zzo38 has quit (Remote host closed the connection).
07:30:56 -!- lament has quit (Ping timeout: 276 seconds).
07:32:15 -!- augur has quit (Remote host closed the connection).
07:32:28 -!- augur has joined.
07:45:04 -!- Vegabondmx has quit (Quit: Vegabondmx).
07:48:11 -!- Vegabondmx has joined.
07:51:59 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:35:34 -!- Vegabondmx has quit (Quit: Vegabondmx).
08:36:03 -!- kar8nga has joined.
08:51:35 -!- Rugxulo has joined.
08:57:34 <Rugxulo> "The COBOL 2002 standard includes support for object-oriented programming and other modern language features." HA! (you can't keep OOP out of any language these days, can you??)
09:07:19 <Rugxulo> "COBOL has many reserved words (over 400), called keywords. The original COBOL specification supported self-modifying code via the infamous "ALTER X TO PROCEED TO Y" statement. This capability has since been removed."
09:07:26 <Rugxulo> awwwww
09:09:51 * Sgeo_ should slep now
09:11:08 <Rugxulo> u mislep'd dat
09:11:29 * Rugxulo sleps Sgeo_ with a lerge troot
09:11:38 -!- ais523 has joined.
09:12:04 <Sgeo_> moer roof that I need slep
09:12:10 -!- ais523 has quit (Read error: Connection reset by peer).
09:12:16 <Sgeo_> :(
09:12:21 -!- ais523 has joined.
09:13:06 <Rugxulo> cheater99: according to Wikipedia, OpenCobol translates to C
09:13:06 <Sgeo_> ;0
09:13:28 <Sgeo_> im tired does it show/
09:14:18 <Rugxulo> cheater99: parser and scanner in Bison and Flex, too
09:20:48 <Rugxulo> "This makes it incompatible with the GNU General Public License (GPL) because restrictions exist regarding the use of the term PHP."
09:21:02 <Rugxulo> uh, the term "Linux" is trademarked, does that mean Linux isn't compatible??? :-/
09:21:39 <ais523> Rugxulo: it depends on the trademark licence, IIRC
09:22:03 <ais523> but even then, there could only be a problem if the product was designed in such a way that it couldn't be changed to remove the trademarks
09:22:15 <Ilari> ALTER and segmentation made nice combo in making weird code...
09:22:21 <ais523> think about the whole Firefox/Iceweasel thing, for instance
09:22:49 <ais523> in order to make a non-Mozilla-approved derivative of Firefox, you need to change all the trademarks
09:27:45 <Rugxulo> ah, so it's just GPL incompatible but still "free" (weird)
09:27:58 <Rugxulo> not that I care or use it, just vaguely curious
09:31:23 -!- augur has quit (Remote host closed the connection).
09:31:35 -!- augur has joined.
09:36:27 <Rugxulo> "In December 2008, the Supreme Court of the Australian Capital Territory ruled that Facebook is a valid protocol to serve court notices to defendants."
09:36:35 <Rugxulo> crazy ... I guess you learn something new every day ;-)
09:43:50 * Sgeo_ needs to sleep now
09:44:18 * Sgeo_ has often got without Internet access for some time...
09:45:08 <Rugxulo> g'nite
09:55:50 -!- MizardX has joined.
09:58:51 -!- atrapado has joined.
10:04:29 -!- BeholdMyGlory has joined.
10:10:36 -!- kar8nga has quit (Remote host closed the connection).
10:23:34 -!- clog has joined.
10:23:34 -!- clog has joined.
10:45:38 -!- MizardX has quit (Ping timeout: 240 seconds).
11:15:23 -!- CakeProphet has joined.
11:17:11 -!- Rugxulo has left (?).
11:53:27 -!- kar8nga has joined.
12:18:05 <AnMaster> ais523, hm do you know if latex has any command like \clearpage that only does the "force all floats before this point to end up somewhere before here" but not the "insert page break"-bit?
12:18:22 <ais523> I don't know
12:18:25 <AnMaster> ah
12:26:50 <fizzie> "If it is undesirable to have a pagebreak you can use the afterpage package and the following command:
12:26:51 <fizzie> \afterpage{\clearpage}
12:26:51 <fizzie> This will wait until the current page is finished and then flush all outstanding floats."
12:26:54 <fizzie> (Needed that once.)
12:27:19 <AnMaster> hm
12:27:19 <fizzie> It's not exactly what you want, but a bit like it.
12:27:39 <AnMaster> fizzie, yeah probably gives the same effect.
12:29:08 <fizzie> It might still put some floats after the page the command is in, though, so it's not quite "all pending floats must appear before this point". But they won't go very far away.
12:29:56 <AnMaster> no it doesn't what I intended
12:29:58 <AnMaster> hm
12:30:14 <fizzie> (The quoted text was from http://people.cs.uu.nl/piet/floats/node1.html which has some other float-placement tips too.)
12:30:31 <AnMaster> okay: I need the floats from one section to not appear in the middle of the next section. Have lots of floats, mostly scope images...
12:30:54 <AnMaster> without having a awkward half-empty page there
12:31:04 <AnMaster> which is what I got with plain \clearpage
12:31:08 <AnMaster> well, more than half-empty
12:31:18 <AnMaster> 98% empty or so
12:32:04 <AnMaster> but with the after page thing instead all the floats ended up just after the header for the next section
12:32:53 <fizzie> Sure, it'll fill the current page first before flushing the floats. I doubt there exists exactly what you want. Unless someone's done a package for it, of course.
12:33:03 <AnMaster> hah
12:33:16 <AnMaster> haven't found any, but not sure what on earth to search for
12:33:20 <fizzie> Anyway, twiddling those float-positioning parameters manually might help for a single document, but it's a bit hit-and-miss.
12:34:40 <AnMaster> fizzie, you mean miss-and-miss? I think the rotated floats might screw things up even more (some of them are timing diagrams from simulation of VHDL stuff... very wide..., needed to be rotated to not be shrunk into unreadability)
12:36:08 <fizzie> You can of course place all your floats manually if you can't seem to get LaTeX placement working.
12:36:36 <fizzie> Googling found a LaTeX 3 project document for a new float-placement algorithm that sounds like it'd support what you want, but that's not so helpful.
12:38:19 <AnMaster> heh
12:38:55 <AnMaster> fizzie, is latex 3 stalled or what is going on there?
12:39:28 <fizzie> No clue, really.
12:39:37 <CakeProphet> :o
12:39:40 <CakeProphet> my topic is still up
12:40:08 <fizzie> They classify LaTeX3 as "a long-term research project", which of course means it can't be "stalled"; it's just "long-term".
12:40:09 <AnMaster> fizzie, hm that's suspicious, that "really" there.
12:40:10 <AnMaster> ;P
12:40:39 <AnMaster> fizzie, hm do they seem to use 5 digit years in the schedules or not?
12:40:49 <AnMaster> if not everything is okay
12:42:17 <AnMaster> fizzie, any idea how to prevent having 3 pages of floats in the middle of a code listing in latex?
12:43:04 <AnMaster> it is rather awkward with { on one page and then 3 pages of figures before the code of that block shows up
12:43:54 <fizzie> The SVN repository for LaTeX3 experimental bits and pieces has last change two days ago, so it doesn't seem completely dead anyway.
12:45:08 <fizzie> Don't know about that. There's a \suppressfloats command, but it's just "don't put floats at top or bottom of current page", nothing that'd prevent it from putting separate float-pages wherever it wants.
12:45:28 <AnMaster> hm
12:47:54 <fizzie> You could move the floats earlier, so that they'd hopefully end up before the code. Or put them after the code listing. Or just not provide "p" in the placement specifiers, but then you won't get any only-floats pages at all.
13:12:28 <CakeProphet> I am lonely spaceship captain.
13:31:43 -!- ais523 has quit (Remote host closed the connection).
13:51:23 -!- kar8nga has quit (Remote host closed the connection).
14:03:37 -!- MizardX has joined.
14:11:30 -!- oktolol has joined.
14:21:22 -!- ais523 has joined.
14:55:21 -!- cpressey has joined.
15:41:21 -!- oerjan has joined.
15:41:46 -!- relet has joined.
15:45:45 <AnMaster> fizzie, hm? how would the p thing interact with rotated floats?
15:45:58 <AnMaster> moving them about did reduce the problem however
15:48:07 <oerjan> you shouldn't rotate a float, then it'll just sink
15:48:14 <AnMaster> XD
15:49:07 <AnMaster> oerjan, wait that can't be right
15:49:23 <AnMaster> oerjan, floats are point shaped aren't they? As indicated by the full name
15:49:49 * CakeProphet is designing a bitchin' roleplay-oriented MUD server
15:49:51 <AnMaster> so rotating them won't even make any sense, but nor will they sink
15:50:01 <CakeProphet> ...not esoteric, but awesome nonetheless
15:50:14 <oerjan> well maybe if you get them too close to each other, those points might be sharp
15:50:27 <AnMaster> oerjan, I guess you have a point there
15:51:07 <oerjan> AND I'M NOT AFRAID TO USE IT
15:52:04 <oerjan> CakeProphet: why would you want bitching in your MUD anyway...
15:52:15 <AnMaster> oerjan, hm, "<oerjan> AND I'M NOT AFRAID TO USE IT" looks rather nice in 9 points.
15:52:40 <oerjan> eek
15:52:42 <AnMaster> (okay, now I'm truly out of ideas for how to continue this)
15:52:56 <oerjan> good, good
15:53:00 <AnMaster> heh
15:53:01 <CakeProphet> oerjan: because it's bitchin'
15:53:04 <CakeProphet> ...so, question
15:53:07 <CakeProphet> what is a good C++ IDE?
15:53:31 <AnMaster> .... C++? You got to be joking
15:53:34 <CakeProphet> the more useful features and/or less clutter, the better.
15:53:48 * CakeProphet has never programmed in C++, to be honest. Until now.
15:54:13 <AnMaster> ais523, there? Any idea how much of a problem local packages will be during upgrade from jaunty to newer ubuntu?
15:54:18 <AnMaster> I plan to do that tomorrow
15:54:28 <CakeProphet> looking for tutorials as well. I'm sure there's plenty, but if there's a particularly good one let me know
15:54:31 <ais523> AnMaster: no idea really
15:54:47 <ais523> although I know I once had to repair a distro upgrade by hand because there was something screwy in /usr/local
15:55:19 <AnMaster> ais523, well in this case it is a local rebuild of some packages to select other options.
15:55:24 -!- Gregor has quit (Quit: Leaving).
15:55:37 <ais523> so long as the package isn't installed non-local and local at the same time, it should be fine
15:55:38 <AnMaster> ais523, and then there is the virtualbox package, which is the non-OSI one
15:55:49 <AnMaster> and thus is from their upstream
15:55:54 <ais523> although admittedly my only installed local packages (AFAIR) are INTERCAL compilers, which I wouldn't expect to be a typical case
15:55:55 <AnMaster> ais523, also what about PPAs?
15:56:00 <ais523> PPAs should be fine, IIRC
15:56:04 <AnMaster> ah good
15:56:05 <ais523> because the package manager understands them
15:56:29 <CakeProphet> ...it would be pretty cool if there was a Chrome/Firefox extension that attempted to predict which directory you're going to place a bookmark
15:56:32 <AnMaster> ais523, well okay, as long as it knows how to switch the "bleeding edge bzr" PPA to the relevant version
15:57:00 <ais523> PPAs specify which versions are OK for dependencies
15:57:11 <ais523> the PPA will just be uninstalled if it can't handle the versions you're installing
15:57:15 <ais523> and the distro upgrader warns you about that
15:57:16 <AnMaster> hm
15:57:39 <AnMaster> CakeProphet, how would it predict this?
15:58:09 <AnMaster> ais523, hm then what about changed config files? I turned off a number of services that were not visible in the GUI tool for services.
15:58:30 <ais523> it prompts you about those if it wants to change them itself as well as you changing them
15:58:35 <AnMaster> mostly stuff I only use sometimes, like postgresql, only use it when developing database stuff
15:58:35 <ais523> whether to use the old or the new version
15:59:01 <CakeProphet> AnMaster: previous placement and the title/content of the page
15:59:08 <AnMaster> ais523, it consists in this case of changed symlinks in the rc[0-6].d
15:59:29 <ais523> that isn't a config file...
15:59:36 <AnMaster> ais523, well it is in /etc/
15:59:44 <ais523> hmm, I wouldn't guarantee that that would work properly
15:59:49 <CakeProphet> for exampe... I just bookmarked a C++ tutorial in my "CS" directory... seems like you could devise a reasonable sophisticated algorithm to make those assumptions and automatically select CS as the directory on the save bookmark dialog.
15:59:53 <AnMaster> ais523, I was more thinking about the upstart stuff
16:00:02 <AnMaster> ais523, presumably it will have to be converted to that somehow
16:00:28 <CakeProphet> and then sort directory options by weighted relevance.
16:00:38 <CakeProphet> so you can pick them quickly without having to hunt through them.
16:05:12 <CakeProphet> ...C++ class declaration syntax is pretty nice compared to Java.
16:05:43 <oerjan> goddammit google what is it with your progressively more annoying frontpage design...
16:05:49 <oerjan> *you and your
16:06:50 <CakeProphet> oerjan: I discovered that you can turn it back to "normal" in your account options.
16:06:54 -!- jabb has quit (Quit: leaving).
16:06:58 <CakeProphet> though... I actually like having a pretty picture.
16:07:05 <AnMaster> <oerjan> goddammit google what is it with your progressively more annoying frontpage design... <-- it got even worse?
16:07:08 <CakeProphet> What I mainly dislike are the new buttons and the fade-in thing.
16:07:09 <oerjan> CakeProphet: i don't have an account and i don't want it.
16:07:36 <oerjan> AnMaster: there's a fading-in background image now...
16:07:44 <AnMaster> CakeProphet, where in the account settings?
16:08:30 <AnMaster> huh I just mistyped http://gooogle.com as https://[...]
16:08:34 <AnMaster> and I got "Google SSL Beta"
16:08:36 <CakeProphet> uh....... -checks-
16:08:38 <AnMaster> wtf :)
16:09:05 <AnMaster> I seriously can't see how they could possible handle the load
16:09:06 <oerjan> AnMaster: yes i saw an announcement for that ssl thing somewhere (i.e. probably reddit)
16:09:41 <CakeProphet> AnMaster: oh... apparently I liked... there's only the remove background image button
16:09:53 <AnMaster> background image?
16:10:09 <AnMaster> I haven't seen any bg image
16:10:17 <AnMaster> CakeProphet, also is this search settings or account settings?
16:10:32 <oerjan> AnMaster: google does changes gradually so not all users get them at the same time.
16:10:33 <CakeProphet> AnMaster: I'm apparently senile and no such option exists.
16:10:34 <CakeProphet> ...
16:10:51 <AnMaster> oerjan, hm I see
16:12:46 <oerjan> anyway i'm changing to advanced search as my homepage for now (again, like when they had that pacman thing)
16:13:46 <CakeProphet> there's also sites advertising that they have free google wallpapers.
16:13:50 <AnMaster> oerjan, I use about:blank for the "homepage"
16:15:20 <CakeProphet> The Next Web suggests going to the URL http://www.google.com/ncr (the "ncr" stands for "no country redirect") to restore the old-school Google search page, but the trick didn't work for us.
16:15:24 <CakeProphet> from some glob.
16:15:25 <CakeProphet> ... *blog
16:15:31 <CakeProphet> interesting typo.
16:15:54 <CakeProphet> doesn't seem to work though.
16:16:06 <oerjan> AnMaster: alas in IE the about pages (both :tab and :blank) have the annoying property that they disappear from the history when you open another page in the same tab
16:16:34 <Deewiant> about:blank does that in FF as well
16:16:46 <CakeProphet> I actually like the one that's a bunch of cherries. It's the one I have set now.
16:16:56 <oerjan> which means it's useless as a base for a tab you want to keep as a default open one
16:17:48 <oerjan> oh well google themselves has started messing up my history as well
16:18:08 <CakeProphet> ...though all the white blocks intersecting the picture looks really bad. They should have made the top bar transparent with some kind of fancy dynamic font color that contrasts well.
16:18:19 <CakeProphet> ...possibly too fancy.
16:18:32 <oerjan> (if i open a google suggested link in the same tab, the original google page disappears from the history list)
16:18:57 <CakeProphet> really? That's weird.
16:19:19 <oerjan> however it doesn't _really_ disappear
16:19:48 <CakeProphet> so... I think I have pretty much learned the basics of C++. didn't take long.
16:19:49 <oerjan> it only gets hidden, and if i go to the bottom page in history google reappears afterwards
16:20:07 <CakeProphet> the only thing that I was not familiar with was some of the non-C syntax and friend classes.
16:20:42 <CakeProphet> does C++ standard library have things like Java's ArrayList? hash tables?
16:21:03 <CakeProphet> mainly just want hash tables.
16:21:19 <CakeProphet> and maybe a linked list... so I don't have to hand code yet another one.
16:21:19 <Deewiant> C++0x has std::unordered_map
16:21:35 <Deewiant> std::map is like a TreeMap
16:21:39 <CakeProphet> is C++0x some kind of fancy new C++ I haven't heard about?
16:21:42 <Deewiant> ArrayList <-> std::vector
16:21:48 <Deewiant> Linked list <-> std::list
16:22:00 <Deewiant> C++0x is the upcoming standard
16:22:04 <CakeProphet> and these are all non-0x except for unordered_map
16:22:08 <Deewiant> Yep
16:22:33 <Deewiant> GCC and MSVC have std::hash_map but it's not standard
16:22:46 <CakeProphet> vector just automatically resizes like a Python list right?
16:22:51 <Deewiant> Aye
16:23:02 * CakeProphet wasn't sure how the algorithm worked.
16:23:42 -!- sshc has quit (Ping timeout: 265 seconds).
16:26:33 <CakeProphet> hmmm... interesting, so are instances in C++ constructed immediately when declared?
16:26:42 <Deewiant> On the stack, yes
16:27:00 <Deewiant> Classes are value types
16:27:11 <CakeProphet> oh okay.
16:27:29 <CakeProphet> so you'll still be passing around pointers if you want to get reference type semantics in C++
16:27:49 <Deewiant> Or references, but yeah
16:28:30 -!- zzo38 has joined.
16:28:35 <CakeProphet> ...I'm so used to garbage collection that I completely forgot that C++ doesn't do it.
16:29:21 <Deewiant> :-P
16:33:54 <zzo38> Do you think "impossible" is the correct level of difficulty in D&D game? Do you agree with the other things I put abou D&D game yesterday? (Read the log if you are unsure)
16:34:31 * CakeProphet is a WoD fan.
16:34:34 <CakeProphet> so.
16:34:50 <CakeProphet> My answer is "screw D&D"
16:35:18 <zzo38> What is WoD?
16:36:09 <Deewiant> World of Darkness
16:36:13 <Deewiant> (Presumably)
16:36:30 <CakeProphet> yes.
16:37:03 <CakeProphet> Operators new and delete are exclusive of C++. They are not available in the C language. But using pure C language and its library, dynamic memory can also be used through the functions malloc, calloc, realloc and free, which are also available in C++ including the <cstdlib> header file (see cstdlib for more info).
16:37:16 <CakeProphet> ....that sounds like a clusterfuck if you use C code in your C++ code.
16:38:19 <Deewiant> A bit
16:38:40 <zzo38> Maybe someone who knows D&D can answer my questions then (it is D&D 3.5 edition)
16:40:10 -!- lament has joined.
16:40:54 <cpressey> What ho, zzo38!
16:42:02 <cpressey> From what little I recall from my earlier days, all D&D campaigns have the potential to be impossible if the dungeonmaster is a jerk.
16:42:59 <zzo38> cpressey: Maybe, but I think "impossible" is the correct level of difficulty for a game.
16:43:09 <cpressey> I guess that applies to role-playing generally...
16:43:14 <zzo38> I also think it is good I can try to win even without someone else to be dead
16:43:16 <CakeProphet> huh... it's weird that you can put non-class parameters in templates.
16:43:27 <cpressey> Well, if the game is not impossible, then you eventually "win". Then you stop playing. What fun is that?
16:43:32 <cpressey> So yes, in that sense, I agree.
16:43:56 <CakeProphet> oh... you mean in general?
16:44:23 <CakeProphet> the impossibility is completely up to the DM... I thought you were talking about some kind of difficulty system, due to my ignorance of DnD rules.
16:44:29 <zzo38> Well, it is nearly impossible but that mean we find the new way of winning anyways, but still it might not be complete because you have to continue even though one part is success.....
16:44:50 <zzo38> CakeProphet: I am not talking about any kind of difficulty system
16:44:57 <CakeProphet> but there's a difference in impossible and perpetual.
16:45:10 <CakeProphet> impossible implies that the gameplay itself is challenging
16:45:22 <CakeProphet> you can have a very non-challenging game that lasts forever.
16:46:38 <lament> you are stuck in a little room with no doors or windows.
16:46:45 <cpressey> I think "impossible" needs to be qualified. "impossible to win"? "impossible to end"?
16:47:01 <cpressey> Or is the DM just impossible to get along with?
16:47:19 <zzo38> Meaning, the DM attempts to make anything impossible to win, but that we can find completely different unexpected way
16:47:25 <ais523> the game generally has no defined win condition, and thus it's impossible to win on that basis
16:47:38 <zzo38> But it still has to be reasonable. For example, no planet falling on you for no reason
16:48:14 <CakeProphet> psh... since when do you even try to "win" roleplaying games in the first place.
16:48:26 <zzo38> ais523: The win condition is not well defined, but I consider to win if we have completed the goal (possibly in a different way than the ordinary way), even if my character is then dead as soon as the goal is accomplished.
16:48:29 <ais523> computer RPGs, you try to iwn all the time
16:48:31 <ais523> *win
16:48:38 <cpressey> OK, forget "win". "Impossible to survive"?
16:48:54 <zzo38> cpressey: Something like that.
16:49:23 -!- oerjan has quit (Quit: Later).
16:49:47 <zzo38> But what is your opinion on the other messages, such as, that I try to win even without making anyone else dead when I can avoid it (which is nearly all time)
16:50:13 <ais523> sometimes you can be "winning" but the game's no fun anyway
16:50:24 <CakeProphet> ais523: RPGs are not roleplaying games... they lie to you.
16:50:28 <ais523> e.g. a diplomancer is fun to play once in a while, but you wouldn't want to keep it up indefinitely
16:50:47 <cpressey> zzo38: If you're lucky enough to have a DM who will listen to reason, then nothing's strictly impossible. There's at least a chance you can come up with some (reasonable) solution to whatever's (reasonably) presented.
16:50:50 <CakeProphet> ...okay, C++ question.
16:51:14 <ais523> cpressey: I went and DMed the Tomb of Horrors (3rd edition port) once
16:51:20 <CakeProphet> the relationship between include and namespaces is kind of fuzzy to me. Does "using namespace" implicitly "import" a file or do you have to add an include /and/ a using namespace.
16:51:26 <ais523> I intentionally told the players to try to break the game, and tried to DM the rules literally
16:51:41 <cpressey> As for not killing any one/thing else -- that kind of constraint might make things more difficult, but still, not impossible
16:51:47 <ais523> it was pretty fun, although not the sort of thing you'd want to do more than once or twice
16:52:02 <ais523> CakeProphet: "using namespace" simply means you don't have to state the namespace
16:52:19 <ais523> e.g. "using namespace std" means you can refer to std::string as just string
16:52:34 <Deewiant> You can have multiple namespaces per file, they're completely separate things
16:52:39 <ais523> in that sense, it has nothing to do with includes at all, although includes often import loads of symbols into the same namespace
16:53:02 <zzo38> cpressey: Yes, I know, it is not impossible. But it is difficult and I like to play this way! (I even play good-alignment character)
16:53:19 <AnMaster> <oerjan> AnMaster: alas in IE the about pages (both :tab and :blank) have the annoying property that they disappear from the history when you open another page in the same tab <-- why are you using IE?!
16:53:24 <AnMaster> hm he left
16:53:29 <cpressey> zzo38: Nothing wrong with that :)
16:53:41 <CakeProphet> ais523: ah okay. So namespace std is used across multiple files, that you still have to include. Got it.
16:54:01 <ais523> CakeProphet: yep, and you can even put stuff into namespace std yourself, it's just probably a bad idea
16:54:09 <CakeProphet> ha.
16:54:30 -!- lament has quit (Ping timeout: 272 seconds).
16:54:40 <CakeProphet> I assume it's good practice and all to encapsulate all your code in namespaces right?
16:54:56 <AnMaster> I think the CPU temp is going insane. it is jumping fast between 31 C and 47 C. In a matter of 1-2 seconds
16:55:06 <ais523> pretty much, in order to avoid name clashes
16:55:10 <AnMaster> back and forth, sure the system is under load, but constant load...
16:56:02 <AnMaster> hm for some weird reason it seems the load is jumping between the cpu cores. I guess that explains the temperature at least
16:56:06 <zzo38> cpressey: Yes there is nothing wrong with it, it is just differently than other people.
16:56:16 <CakeProphet> I like the way C# does namespaces and file importing all at once.
16:56:30 <zzo38> But my character is ettercap even, I even play monster character
16:56:35 <CakeProphet> the using statement imports a namespace... which can be multiple files.
16:56:38 <zzo38> And there is a otyugh NPC in our team as well
16:56:40 <ais523> CakeProphet: loads of languages work like that, it makes me a bit suspicious though
16:56:42 <zzo38> But my brother's character is human
16:56:49 <CakeProphet> ais523: ha. why's that?
16:56:49 <zzo38> All other NPCs in our team also human
16:56:53 <ais523> I don't like filename dependencies in languages
16:57:02 <cpressey> ais523: Hear, hear
16:57:18 <ais523> (especially fun with Java, where it's case-sensitive; extra fun if DOS is involved somewhere)
16:57:29 <CakeProphet> ais523: I actually haven't seen too many languages that use namespaces. At least languages of the conventional variety. It seems most use the Java/Python style module/package setup.
16:57:48 <cpressey> zzo38: I don't think I've ever played a non-human in D&D -- not even an elf. But it's been a looooong time since I've played.
16:58:02 <ais523> CakeProphet: packages are namespaces, pretty much
16:58:19 <ais523> after all, they follow much the same ruels
16:58:20 <ais523> *rules
16:58:34 <ais523> except that there are defined search paths for packages, and not for namespaces, which adds a filename dependency
16:58:36 <zzo38> cpressey: Ah, OK. Some people have never done so. But some people play elf character. Others (including myself) will play monster characters
16:58:36 <CakeProphet> ais523: well yeah... but they're filesystem dependent I believe. I don't believe C#'s namespace system is filename dependent at all.
16:58:38 <cpressey> ais523: Case-sensitive in Python too.
16:58:48 <ais523> cpressey: and Perl I think
16:59:05 <CakeProphet> yeah Python is case-sensitive on imports
16:59:10 <Deewiant> What language isn't?
16:59:17 <CakeProphet> ...dunno.
16:59:31 <AnMaster> <ais523> CakeProphet: loads of languages work like that, it makes me a bit suspicious though <-- what about VHDL, I always thought "why?" every time
16:59:32 <cpressey> ais523: Every time I set up a new sandbox at work, I have to delete one of the import lines from one of the packages, because I'm running it off a case-insensitive FS, and it pulls in the wrong file.
16:59:34 <CakeProphet> well, there are languages that inform case conventions
16:59:36 <CakeProphet> like Ruby.
16:59:42 <AnMaster> it has a rather... strange system for that stuff
16:59:44 <CakeProphet> and uh.... I think Go does that too.
16:59:49 <zzo38> BASIC is not case-sensitive.
16:59:55 <ais523> cpressey: ouch
17:00:01 <ais523> zzo38: depends on the version, BBC BASIC is
17:00:12 <ais523> you could use lowercase variable names there in order to avoid clashes with keywords
17:00:13 <AnMaster> ais523, library ieee; use ieee.foo.bar.all; but why the library line?...
17:00:15 <CakeProphet> er... *enforce not inform
17:00:33 <ais523> AnMaster: probably mimicing ADA, that's the explanation for most of VHDL's weirdnesses
17:00:37 <ais523> as to why ADA works like that, who knows?
17:00:45 <AnMaster> heh
17:00:58 <CakeProphet> having a two word declaration for using namespace is kind of odd in C++ I think.
17:01:01 <CakeProphet> why not just using?
17:01:12 <Deewiant> using by itself already has a meaning.
17:01:17 <CakeProphet> ah.
17:01:18 <Deewiant> using std::string;
17:01:25 <AnMaster> Deewiant, and what does that do?
17:01:34 <CakeProphet> ah okay, probably like importing one name from a module in Python
17:01:37 <AnMaster> imports just that part of std?
17:01:41 <cpressey> And for dynamic languages like Python and Perl, why do I need to put in the require/import line at all? I should be able to just call the functions I want, and if they're there, it should import the module they're from.
17:01:45 <Deewiant> Yes.
17:01:51 <cpressey> Actually I think there's a Perl hack that does something like that.
17:01:54 <CakeProphet> not really "importing" so much as allowing you to not append std::
17:02:05 <CakeProphet> to that one name.
17:02:15 <AnMaster> Deewiant, okay, but C++ already has language constructs that do different things depending on the type of the stuff in it. So why not just do: using std; and using std::string;
17:02:19 <AnMaster> :P
17:02:30 <CakeProphet> ha. THERE
17:02:36 <CakeProphet> I WIN.
17:02:37 <CakeProphet> ...
17:02:38 <Deewiant> It's disambiguation
17:02:52 <Deewiant> I'm not sure if you're allowed to have a namespace and a symbol of the same name though
17:02:59 <AnMaster> Deewiant, http://yosefk.com/c++fqa/web-vs-c++.html#misfeature-2 <-- I rest my case
17:03:33 <CakeProphet> more like schmischamschmischuation
17:03:36 <CakeProphet> ...
17:03:43 <Deewiant> That's different because only one of those can be valid at a time
17:03:53 <Deewiant> Or, it may be different; like said, I don't know what's the case here
17:04:13 <AnMaster> Deewiant, ah so you could have a class std; as well as namespace std, both visible at the time of the using statement?
17:04:29 <Deewiant> That too I suppose
17:04:39 <Deewiant> I was thinking of both a variable std::foo and a namespace std::foo
17:04:43 <AnMaster> ah
17:04:44 <CakeProphet> using std::hiv; // :P
17:05:06 <AnMaster> CakeProphet, that's imported by default in C++
17:05:08 <CakeProphet> that is what std is for right?
17:05:24 <CakeProphet> AnMaster: ah okay... good to know.
17:05:51 <CakeProphet> hmmm... so should I use C++ as my language of choice? Basically I'm looking for a language I haven't already learned to do my MUD server project in.
17:06:12 <ais523> CakeProphet: there are few reasons to use C++ nowadays
17:06:14 <AnMaster> CakeProphet, no, never use C++ as "language of choice"
17:06:21 <ais523> computer game development is the main one, because all the libraries for it are in C++
17:06:23 <CakeProphet> I was thinking about Ruby or Perl, but those (especially Perl) might be better for a smaller project like an IRC bot that I want to write.
17:06:28 <ais523> for anything else, there's normally some more appropriate language
17:06:34 <AnMaster> CakeProphet, C++ can only be "language forced upon you under threat of a gun"
17:06:34 -!- zzo38 has quit (Quit: My D&D character have 8 eyes).
17:06:51 <AnMaster> ais523, SDL works fine from C afaik?
17:07:09 <CakeProphet> hmmm... so what's another good statically typed, compiled, OO-based language that isn't Java or C#?
17:07:14 <ais523> AnMaster: it does, but if you think most commercial game development is done in C, you're probably stuck in a Linux mindset
17:07:15 <CakeProphet> (or C++, obviously)
17:07:16 <Deewiant> D!
17:07:23 <ais523> mostly it's done in DirectX for Windows only, in C++
17:07:32 <ais523> or in OpenGL for a console, also in C++
17:07:39 <AnMaster> ais523, I never thought about what most commercial games are done in. Probably inner platform if anything
17:07:44 <CakeProphet> Xbox used C# and XNA.
17:07:47 <CakeProphet> *uses
17:08:17 <AnMaster> ais523, does xbox use directx or opengl?
17:08:18 <CakeProphet> though you can write games in C++ as well.
17:08:19 <ais523> CakeProphet: yep, it's the exception; both Wii and PS3 use C++ and (slightly customized I think) OpenGL
17:08:28 <ais523> AnMaster: it uses DirectX, which should be relatively obvious given the circumstances
17:09:00 <AnMaster> ais523, since xbox does not run windows and is a console "<ais523> mostly it's done in DirectX for Windows only, in C++ <ais523> or in OpenGL for a console, also in C++" would have implied opengl
17:09:06 <AnMaster> which I found unlikely
17:09:18 <ais523> yep, I was mentally lumping Xbox with Windows
17:09:26 <AnMaster> right
17:09:26 <ais523> as they're both Microsoft and based on very similar technology
17:09:34 <CakeProphet> I /could/ use C#... because it's actually not a bad language at all. but I pretty much already know it and want to learn something new.
17:09:45 <AnMaster> ais523, also you forgot one platform: mobile phone 3D games
17:09:49 <AnMaster> I suspect java there
17:09:57 <AnMaster> well, apart from iphone
17:09:58 <CakeProphet> depends
17:10:00 <CakeProphet> yeah
17:10:05 <ais523> AnMaster: J2ME, isn't it?
17:10:07 <CakeProphet> Palm uses javascript.. Android is Java
17:10:15 <ais523> and iphone would use Objective-C
17:10:15 <CakeProphet> dunno about Blackberry... Java I think.
17:10:16 <AnMaster> ais523, isn't that a subset of java?
17:10:25 <AnMaster> so I would think my statement was correct
17:10:27 <ais523> AnMaster: probably, with a few extra libraries or something, I haven't looked into it
17:10:30 <ais523> Java-based, certainly
17:10:30 <CakeProphet> ais523: ..why on earth would anything use Objective-C though?
17:10:40 <ais523> CakeProphet: because Objective-C is what all things Apple use
17:10:48 <CakeProphet> ....the question still remains though.
17:11:00 <AnMaster> ais523, ah I didn't mean "subset of desktop java" I meant "subset of the set of all java implementations and variants"
17:11:01 <cpressey> <ais523> CakeProphet: there are few reasons to use C++ nowadays
17:11:04 <ais523> and because C++ is a really screwed-up language
17:11:14 <cpressey> The biggest one is probably working at a giant dotcom.
17:11:30 <ais523> cpressey: I'd imagine they wouldn't all use C++, it would depend on what they were doing specifically
17:11:35 <CakeProphet> what's screwed up about C++? So far it seems pretty mangable.
17:11:45 <CakeProphet> but I haven't actually programmed with it yet.
17:12:12 <cpressey> ais523: No, but it has been predominantly C++ at the ones I've worked at.
17:12:20 <ais523> CakeProphet: http://www.yosefk.com/c++fqa/?r=t
17:12:23 <ais523> cpressey: hmm, interesting
17:12:42 <CakeProphet> so yeah... language suggestions?
17:12:48 <CakeProphet> nothing too weird.
17:12:52 <CakeProphet> well... maybe.
17:12:56 <AnMaster> CakeProphet, afaik you need to use objc on iphone, there is no alternatives to it there
17:12:59 <ais523> one of my day jobs is teaching Java; in my other, I get my own choice of lang, and have used both Perl and Haskell (for rather different things)
17:13:03 <CakeProphet> AnMaster: correct.
17:13:20 <AnMaster> CakeProphet, I think that answered "<CakeProphet> ais523: ..why on earth would anything use Objective-C though?"
17:13:22 <CakeProphet> I don't think I'm comfortable enough with Haskell's concepts yet to make a full MUD server.
17:13:25 <AnMaster> because there is no option
17:13:31 <AnMaster> if you want to develop for iphone
17:13:44 <AnMaster> CakeProphet, anyway, objc is still better than C++. so that is another reason
17:13:48 <CakeProphet> AnMaster: Well.. I meant in the first place, why would Apple use Objective-C. In that case I don't mean developers that are forced to use a language.
17:13:54 <ais523> I'm not convinced Haskell is an ideal lang for a MUD server anyway
17:14:06 <Deewiant> Scala, mayhap?
17:14:07 <cpressey> CakeProphet: As much as they both annoy me sometimes, have you considered Ruby or Python?
17:14:10 <CakeProphet> ais523: doesn't seem like it would be.
17:14:19 <AnMaster> CakeProphet, erlang maybe?
17:14:24 <CakeProphet> cpressey: learned Python first. I'm really kind of tired of it now.
17:14:28 <AnMaster> good for highly concurrent stuff
17:14:32 <CakeProphet> I find static type systems actually help me design better.
17:14:47 <CakeProphet> whereas in dynamic languages it's far too easy to overkill
17:14:47 <cpressey> Hm, I'll second Erlang as a good choice. I tried to write a mini-MUD in it once...
17:14:58 <CakeProphet> ...hmmm, Erlang. Didn't think about that.
17:15:05 <CakeProphet> easy to pick up?
17:15:11 <ais523> a tip from me: you can't hang around with computer scientists for a whole year without concluding that ML and its variants are the answer to every programming problem of this type
17:15:16 <AnMaster> CakeProphet, used to functional languages? then yes probably
17:15:17 <Deewiant> CakeProphet: Dynamically typed :-P
17:15:20 <ais523> that doesn't mean that that conclusion is correct, though
17:15:29 <AnMaster> Deewiant, it does have something like an _optional_ very strong type system.
17:15:32 <AnMaster> erlang that is
17:15:39 <CakeProphet> cpressey: I'm considering Ruby just to learn it... but probably not going to use Python for this.
17:15:40 <AnMaster> through the use of dialyzer
17:15:40 <ais523> but at least ML is less insane than Haskell from the point of view of someone who's used to imperative programing
17:15:50 <CakeProphet> Deewiant: er... yeah, that's what I meant.
17:16:04 <Deewiant> CakeProphet: I meant, Erlang is.
17:16:37 <CakeProphet> AnMaster: I've learned Haskell up to understanding monads, but haven't done anything practical. does that qualify as "used to" functional languages?
17:16:46 <CakeProphet> Deewiant: oooh okay.
17:16:54 <CakeProphet> well... that's fine.
17:17:01 <AnMaster> CakeProphet, but as I said. It nowdays have a separate tool that performs both strict type checks from type declarations, and can infer types for untyped functions rather well. Not as well as haskell I think but still not too shabby.
17:17:07 <ais523> CakeProphet: pretty much, you have to "get" functional programming to be able to write programs that aren't incredibly convoluted with that level of knowledge
17:17:14 <CakeProphet> concurrency might be fun... would you recommend using threads if I choose Erlang?
17:17:16 <AnMaster> CakeProphet, erlang does not use monads though
17:17:35 <ais523> AnMaster: IMO, that's a bad thing; I've often found myself wanting monads in Perl
17:17:44 <ais523> once you get the concept, it's a pretty useful one
17:18:00 <CakeProphet> AnMaster: ah okay... so optionally type checked but still dynamic? I think I could enjoy the mix.
17:18:20 <CakeProphet> I wish Python had currying.
17:18:21 <AnMaster> it is not strictly functional like haskell is in that sense. But side effects are rather strictly controlled to a few things, IO, special storage tables (useful for db table backends kind of stuff, as well as funge space) and a few other things
17:18:33 <CakeProphet> implicit currying that is... I can make my own function wrappers for it.
17:18:56 <CakeProphet> AnMaster: That actually sounds pretty nice
17:19:10 <CakeProphet> Is there state outside of that?
17:19:16 <CakeProphet> or... mutable state rather.
17:19:45 <cpressey> Heh
17:19:45 <AnMaster> CakeProphet, the optional type checking is not done in the compiler, you invoke a separate tool. But it does a very throughout job. And also checks other stuff, like not handling some possible return values (that check isn't on by default iirc)
17:19:59 <cpressey> I can never quite explain Erlang's state model.
17:20:00 <AnMaster> very nice static analyser though
17:20:02 <CakeProphet> AnMaster: That's fine. I'd probably use it to just to help me design.
17:20:09 <CakeProphet> and debug.
17:20:19 <cpressey> You have functions which are pure, except that they send messages to each other, so they're not pure.
17:20:23 <AnMaster> CakeProphet, ah erlang has a built in debugger as well, works rather well
17:20:44 <CakeProphet> how does the hotswapping work?
17:20:48 <AnMaster> cpressey, plus there is ETS/DETS tables
17:20:50 <CakeProphet> that would actually very useful for a MUD server.
17:20:53 <CakeProphet> +be
17:21:09 <cpressey> So it's not pure, but it's a heck of lot less messy than imperative programming (in which I include Scheme with its set! and such) when done right
17:21:29 <CakeProphet> hmmm, okay so variables are write-once
17:21:32 <cpressey> AnMaster: I think of ETS tables as something you are exchanging a message with. Conceptually. Even though it might not be implemented that way
17:21:38 <CakeProphet> and then state changes happen via messages.
17:21:59 <CakeProphet> I don't particularly care about strict purity... as long as the semantic model makes sense I can use it.
17:22:01 <AnMaster> CakeProphet, in erlang? well, by calling the new module instead and if required translating the state. erlang can keep two versions of a module in memory at once. In general you use the standard library behaviour callback modules, which means it handles most of that, and you just implement the logic of that process
17:22:08 <AnMaster> like a callback module handling messages and such
17:22:29 <AnMaster> of course you can make your own if you need it, but it is rare. Only needed it once, and that was in a concurrent befunge implementation
17:22:34 <AnMaster> (rather special case!)
17:22:35 <CakeProphet> hmmm... not sure I follow. I'll just have to read up on it.
17:23:00 <ais523> this reminds me, I was planning to extend the INTERCAL networking specification to include a password
17:23:07 <ais523> because I think it's the easiest way to implement lambdas
17:23:12 <cpressey> CakeProphet: I only care about it insofar as it leads to nice code. IMO Erlang's approach is pretty good for that. (Although the language does have some other warts -- they tend to be minor)
17:23:14 <CakeProphet> but it would be nice to push code changes without having to do any kind of "copyover"
17:23:16 <AnMaster> CakeProphet, also you have service supervision and such, again implemented easily by callback modules
17:23:21 <ais523> (INTERCAL has a tendency to do this sort of thing to you...)
17:23:33 -!- sshc has joined.
17:23:53 <CakeProphet> but there's no reason not to use concurrency in Erlang pretty much?
17:23:53 <AnMaster> CakeProphet, well sure, that should be easy enough, upgrading the erlang vm itself would need restarting it (or doing migration between distributed nodes and then updating one at a time!)
17:23:54 <cpressey> CakeProphet: The only reason I don't code in Erlang more these days is because, like you with Python, I'm a bit sick of it.
17:24:18 <AnMaster> cpressey,what bits?
17:24:27 <AnMaster> (that you are sick of in erlang I mean)
17:24:54 <CakeProphet> recommend a good tutorial or can I pretty much google a good one?
17:25:32 <CakeProphet> also how do compound data structures work. Any kind of OO?
17:25:35 <Deewiant> http://learnyousomeerlang.com/
17:25:40 <AnMaster> CakeProphet, anyway, with the callback module you implement stuff like "handle_message" or "function_to_upgrade_state_on_hot_code_swap" (only if required, far from all upgrades would need to change the data format of the state of the process I bet!)
17:25:52 <AnMaster> the state being passed as a parameter (to keep it pure)
17:25:55 <CakeProphet> ah okay... so an optional callback system.
17:26:02 <cpressey> AnMaster: Mainly the bloat. I wouldn't call it "lightweight" by any measure.
17:26:52 <CakeProphet> Python is still my language of choice for small scripts... but I just get tired of using it for larger projects.
17:26:56 <AnMaster> cpressey, well true. It is rather complete though. which is rather nice when you think something like "hm I really want a module that implements a directed graph using ETS as backend"
17:27:00 <AnMaster> (erlang has that)
17:27:06 <AnMaster> CakeProphet, I know a rather nice ebook... hm
17:27:14 <AnMaster> a bit dated now perhaps
17:27:16 <CakeProphet> is it "getting started with erlang?"
17:27:25 <CakeProphet> that showed up as first hit.
17:27:44 <AnMaster> CakeProphet, something like "programming for a concurrent world" in the title iirc
17:27:47 <cpressey> AnMaster: Granted. My current tastes would prefer something which is to Erlang like Scheme is to Common Lisp, though.
17:27:59 <CakeProphet> hmmm... so in Erlang
17:28:12 <AnMaster> CakeProphet, but somewhat dated, it doesn't have anything on the strict type checking stuff
17:28:13 <CakeProphet> would be insane to give each socket a thread for read/write?
17:28:16 <AnMaster> since it was written before that
17:28:22 <AnMaster> CakeProphet, in erlang? no
17:28:25 <AnMaster> it would be idiomatic
17:28:30 <CakeProphet> ...oh, well good.
17:28:35 <AnMaster> CakeProphet, very lightweight erlang threads
17:29:06 <cpressey> Idiomatic? Requisite, almost :)
17:29:09 <CakeProphet> I've heard Erlang is good for concurrent design. Can you still get unexpected issues from message passing?
17:29:11 <AnMaster> they are userspace threads which the erlang VM schedules. erlang itself can use multiple cores of course
17:29:34 <AnMaster> cpressey, I think it may be possible to do async sockets. I looked into that some months ago, forgot why
17:29:57 <AnMaster> (async as in async and handling more than one in a single thread)
17:30:00 <AnMaster> I concluded it possible at least.
17:30:01 <cpressey> CakeProphet: You can always get unexpected issues from any concurrent design. But Erlang... gets in your way less.
17:30:09 <CakeProphet> my usual strategy is to just keep it all in one thread and do a loop... for a MUD server this is sufficient. But a fully concurrent design would be quite nice.
17:30:11 <AnMaster> yes that is an advantage
17:30:20 <AnMaster> CakeProphet, erlang is not shared memory concurrent, it is message passing
17:30:34 <cpressey> Messages are easier to handle than freakin' mutexes, which is often the best the competition has to offer.
17:30:36 <CakeProphet> -nod- I've known this.
17:30:43 <AnMaster> (technically there may be shared memory for large objects passing between threads, but that is copy-on-write and so on)
17:30:45 <CakeProphet> hmmm... so like
17:31:00 <cpressey> Whenever I write concurrent code in Java, I end up rebuilding a message-passing infrastructure anyway.
17:31:31 <CakeProphet> say your player is editing a room or item or something... how would locking work so that other player threads doing the same thing (a rare occurance in a MUD) won't interact with intermediate state.
17:31:34 <AnMaster> iirc beam (the erlang vm) uses shared refcounted memory for binaries (an erlang data type) larger than some threshold.
17:31:56 <AnMaster> CakeProphet, why does it need locking?
17:32:04 <AnMaster> CakeProphet, that would prevent cooperative editing!
17:32:10 <CakeProphet> well.
17:32:13 <CakeProphet> consider things like a get
17:32:16 <cpressey> CakeProphet: By "editing" a room, do you mean, changing one attribute?
17:32:22 <CakeProphet> which moves the item around in space, essentially... from the room to the player
17:32:37 <CakeProphet> there's a possibility that multiple threads might try to do that operation at the same time or something.
17:32:41 <CakeProphet> like... it's never going to happen
17:32:43 <CakeProphet> but if it does.
17:32:58 <cpressey> CakeProphet: Each action is a message, and you process the messages sequentially.
17:32:58 <AnMaster> CakeProphet, you just send editing messages from the user thread to the room thread. Probably including "expected current state" would be a good idea. Then it would work a bit like a compare-and-swap
17:33:04 <cpressey> So, no conflicts occur.
17:33:07 <AnMaster> no locking needed there, right?
17:33:25 <CakeProphet> ah okay.
17:33:25 <CakeProphet> so
17:33:31 <AnMaster> CakeProphet, no idea if that works for this case
17:33:38 <AnMaster> but it is how I would do it probably.
17:33:38 <CakeProphet> sequential messages would ensure atomicity of operations.
17:34:04 <cpressey> Or, if you MUST think about locking, think of the message-passing infrastructure doing it for you (locking the mailbox as a low-level operation you don't have to think about because you're working on a higher level.)
17:34:09 <CakeProphet> as long as an operation doesn't consist of multiple messages.
17:34:13 <AnMaster> CakeProphet, well, you could have players edit different parts of the room at the same time I assume
17:34:16 <cpressey> CakeProphet: Exactly.
17:34:24 <AnMaster> just as long as they don't pick up the same object at once
17:34:37 <cpressey> It becomes an exercise in message design, kind of.
17:34:41 <CakeProphet> yeah.
17:34:46 <AnMaster> CakeProphet, for picking up object, why not make the room return an error if the object is no longer there?
17:34:50 <AnMaster> again, no race condition
17:35:15 <cpressey> For picking up an object, I would want to send a message to the object, not the room :)
17:35:16 <CakeProphet> well... that would happen anyways in this case. With message passing the get command won't be an issue
17:35:23 <AnMaster> cpressey, okay good point
17:35:27 <CakeProphet> things like long-term editing and stuff will need to be thought out though.
17:35:42 <AnMaster> after all, rooms and players and objects should all be the same at that level of abstraction
17:35:55 <CakeProphet> cpressey: well... you'll be asking the room to give you the object in question
17:36:09 <cpressey> But then you get to the point where you're modelling EVERYTHING -- maybe 1000's of objects -- as a process. Erlang's processes are lightweight enough to do that, though. Generally.
17:36:12 <CakeProphet> and then send the object whatever request you need, I suppose.
17:36:20 <AnMaster> yep
17:36:32 <AnMaster> cpressey, 100000 might be a slight issue though, not sure
17:36:35 <CakeProphet> so is that a good idea? I don't know if individual objects need their own threads.
17:36:48 <CakeProphet> but I guess it would be fine... most of the time they'll just be idling anyways. I assume Erlang has a good scheduler.
17:37:02 -!- tombom has joined.
17:37:28 <AnMaster> CakeProphet, depends. Do they need to do stuff like change every now and then? It would make implementing something like food rotting after a while simple
17:37:29 <cpressey> CakeProphet: Is it a good idea? Well -- conceptually I think it is -- and if anything has a scheduler that can handle it, Erlang does.
17:37:44 <CakeProphet> for an editing system I will probably implement a lock of some kind, to prevent interference with the object while it's being edited in whatever way.
17:38:02 <CakeProphet> AnMaster: hmmm... you've got a point
17:38:04 <CakeProphet> but
17:38:08 <cpressey> It would be nice to actually solve that "everything looks like a process, even static things" problem. Erlang comes very close.
17:38:18 <CakeProphet> the codebase itself is going to be targeted towards roleplaying games... like WoD and DnD
17:38:24 <CakeProphet> so no explicit coding of events, generally.
17:38:42 <CakeProphet> it's more or less just an environment to communicate and roll dice in
17:38:44 <AnMaster> CakeProphet, btw, erlang by default limits number of threads to 32768, but you can rise it to 268435456 with a command line switch. That is on 32-bit. As far as I understand the limit is even higher on 64-bit systems
17:39:00 <CakeProphet> that should be plenty
17:39:20 <CakeProphet> Erlang actually sounds perfect for this kind of system.
17:39:43 <AnMaster> CakeProphet, but the docs point out that it might be hard to reach 268435456 on a single 32-bit system due to memory limits inherent in 32-bit systems
17:39:45 <CakeProphet> but yeah... did anyone ever mention how compound data types work?
17:39:54 <AnMaster> CakeProphet, because 268435456 processes = 16 bytes per thread
17:40:01 <AnMaster> and that is a bit unrealistic
17:40:29 <CakeProphet> ah.
17:40:40 <CakeProphet> I don't think the number of threads will be an issue.
17:40:42 <AnMaster> CakeProphet, that is using the full 4 GB available on a 32-bit system. In practise the VM needs some memory and so does the OS and so on
17:41:10 <AnMaster> CakeProphet, as for compound data types, erlang has records. which is similar to C structs I guess
17:41:21 <CakeProphet> named fields?
17:41:27 <AnMaster> well yes that is given
17:41:33 <AnMaster> it has cons style lists with a rather nice notation
17:41:35 <CakeProphet> -shrug- could be Haskell-style.
17:41:40 <AnMaster> then there is tuples
17:41:43 <cpressey> Erlang record syntax/semantics I find a bit ugly. But you'll live :)
17:41:46 <CakeProphet> hmmm... any of this mutable?
17:41:52 <AnMaster> CakeProphet, I plan to learn haskell, how does it do it?
17:41:55 <AnMaster> if not named fields?
17:42:05 <AnMaster> CakeProphet, sure, but not in place ;P
17:42:05 <cpressey> CakeProphet: Nope, not mutable.
17:42:06 <CakeProphet> positional/optionally-named-accessor-functions.
17:42:25 <CakeProphet> hmmm... non-mutable writing is inefficient. :P
17:42:31 <AnMaster> CakeProphet, if you want mutable there is ETS tables. which provides rather fast storage of terms in a {key,value} style
17:42:42 <CakeProphet> AnMaster: that might be exactly what I want.
17:42:43 <AnMaster> cpressey, efunge uses that for fungespace btw
17:42:44 <cpressey> CakeProphet: Non-mutable writing can become mutable under the hood :)
17:42:54 <AnMaster> and yeah what cpressey said
17:42:58 <CakeProphet> cpressey: automatically or with design consideration?
17:43:01 <AnMaster> CakeProphet, the compiler optimises some stuff
17:43:05 <cpressey> CakeProphet: ALSO - non-mutable writing is much more cache-friendly
17:43:14 <AnMaster> automatically, you don't really have much to say about it
17:43:32 <CakeProphet> AnMaster: With Haskell you declare data types like this.
17:43:36 <AnMaster> CakeProphet, and in general you don't need mutable state I found. befunge is kind of special case again, self modifying language and so on
17:43:56 <CakeProphet> !haskell data TypeName = ConstructorName Int String Int Int
17:43:59 <AnMaster> and it was befunge98
17:44:01 <AnMaster> not 93
17:44:25 <CakeProphet> cpressey: would I be implementing the cache or is this a compiler thing?
17:44:37 <AnMaster> CakeProphet, btw about thread count, I think that is per node, and you could have more if you connected another node (possibly on another computer, possibly on the same computer)
17:45:11 <CakeProphet> AnMaster: and then, using the example I just typed up, you would construct a value of type TypeName using the ConstructorName function.
17:45:20 <AnMaster> and... the number of nodes is pretty much unlimited. Well there is the "OS limits number of sockets" and so on.
17:45:26 <AnMaster> but apart from that, pretty much unlimited
17:45:51 <CakeProphet> AnMaster: it's sort of like named, type-safe, tuples... sort of.
17:46:01 <cpressey> CakeProphet: You shouldn't have to think about it unless you are pushing the envelope.
17:46:06 <AnMaster> CakeProphet, how would you access the third int in it? and what if you want to extend it and add other fields (setting the new ones to default values so all old code doesn't have to be updated
17:46:08 <AnMaster> )
17:46:21 <cpressey> (That's sort of my general philosophy about what makes a good language/abstraction, btw)
17:46:36 <AnMaster> cpressey, very true
17:46:42 <CakeProphet> CakeProphet: If you have a TypeName called x. You would pattern match over x.
17:46:44 <AnMaster> I very much doubt a MUD will push the envelope
17:46:53 <CakeProphet> let (ConstructorName x y z) = x
17:47:03 <CakeProphet> er
17:47:04 <CakeProphet> well
17:47:04 <AnMaster> CakeProphet, ah, erlang is based on pattern matching
17:47:05 <CakeProphet> name clash
17:47:06 <CakeProphet> but
17:47:11 <AnMaster> somewhat different syntax of course
17:47:21 <AnMaster> and probably somewhat varying capabilities
17:47:35 <CakeProphet> AnMaster: also if you can give each field an accesor function
17:47:43 <cpressey> {constructor_name, X, Y, Z} = Ecks, ...
17:47:46 <AnMaster> CakeProphet, okay that sounds awkward
17:47:55 <CakeProphet> data Example = Example {X::Int, y::Int}
17:47:57 <cpressey> OK, that's a tuple, not a record, but whatever
17:48:06 <AnMaster> cpressey, yeah
17:48:09 <CakeProphet> here I gave the constructor and type the same name... this is psuedo-idiomatic depending on the type in question.
17:48:21 <AnMaster> CakeProphet, that :: thing looks similar to the optional type checking thing for erlang
17:48:28 <AnMaster> it would be :: integer() instead
17:48:37 <CakeProphet> :: is type constraints in Haskell
17:48:41 <AnMaster> or pos_integer() or such
17:48:46 <CakeProphet> f :: Int -> Int -> Int
17:48:49 <CakeProphet> f x y = x+y
17:48:53 <cpressey> Hm, I don't usually name fields in my alg data types in Haskell
17:48:58 <cpressey> Maybe I should
17:49:24 <cpressey> But data Example = Example Integer Integer looks so much cleaner
17:49:27 <CakeProphet> cpressey: it's good in some situations... if I wrote a MUd server I would definitely use it as the number of fields could grow quite a bit unless I use a hash table design of some kind.
17:49:35 <cpressey> CakeProphet: Yeah.
17:50:06 <AnMaster> CakeProphet, btw this is a text MUD right?
17:50:19 <CakeProphet> AnMaster: so yeah, the accessors x and y are one-argument functions that automatically grab their respective fields from a value of type whatever.
17:50:23 <CakeProphet> AnMaster: yes.
17:50:30 <AnMaster> mmh
17:50:35 <CakeProphet> is there any other kind? I mean, I've seen some graphical ones but they're bad.
17:50:40 <CakeProphet> so I don't count those.
17:50:41 <AnMaster> well I don't know
17:50:53 <AnMaster> I don't even know the diff between a MUD and an MMORPG really
17:51:21 <CakeProphet> not a lot of hack and slash though... mostly focusing on a clean architecture for allowing approved players to host their own games as DMs (Storytellers in WoD speak)
17:51:33 <AnMaster> CakeProphet, WoD?
17:51:37 <CakeProphet> in their own custom-built environments
17:51:42 <CakeProphet> World of Darkness... it's a tabletop system.
17:51:47 <CakeProphet> that I particularly enjoy.
17:51:55 <AnMaster> CakeProphet, so like, virtual reality in text?
17:51:57 <AnMaster> ;P
17:51:59 <CakeProphet> yes.
17:52:13 <AnMaster> CakeProphet, you could call it thirdlife?
17:52:15 * cpressey picks up the blood-stained sword.
17:52:18 <AnMaster> or perhaps "getalife"?
17:52:49 <CakeProphet> with more emphasis on narrative than having coded-in environments. Usually you'll just have a room with a description and no objects inside of it... the players would just interact with non-existent things as they write out what they're doing. Kind of like collaborative fiction.
17:52:57 <cpressey> MUD is like IRC with resource controls on the imaginary objects.
17:52:59 <CakeProphet> AnMaster: ha
17:53:08 <ais523> CakeProphet: I've known people to do that in Feng Shui, but not in WoD
17:53:16 <ais523> on the other hand, WoD games do have a lot of interaction
17:53:27 <AnMaster> CakeProphet, you mean they are too lazy to create the objects?
17:53:33 <ais523> in our groups, there's little need for the games to actually have a plot; every week is spent clearing up the mess the players created the week before
17:53:41 <ais523> often working at cross-purposes
17:53:43 <CakeProphet> AnMaster: not too lazy... just being imaginative affords more possibilities
17:53:51 <CakeProphet> you don't have to have coded in effects for things like cars, guns, elevators, etcf
17:53:55 <CakeProphet> you just write out what they do
17:54:07 <CakeProphet> and, in the case of things like guns and cars, roll dice to see how successful you are with them.
17:54:12 <AnMaster> CakeProphet, can't you just create those on the fly?
17:54:20 <cpressey> CakeProphet: At some point I fail to see how this is much different from IRC :)
17:54:25 <AnMaster> the logic I mean
17:54:29 <CakeProphet> you could.
17:54:32 <CakeProphet> just not necessary.
17:55:38 <CakeProphet> cpressey: it's not too different really. You could easily make a dice roller bot and host games on IRC. But the MUD server is more dedicated to this kind of thing. Characters have score sheets and information that needs keeping track of... which you could do with a bot but it would be more cumbersome
17:55:45 <ais523> cpressey: MUDs do end up working rather like IRC, normally they track more state though
17:55:48 <CakeProphet> there's a community I know that does this kind of stuff... so I have an audience of sorts.
17:56:02 <ais523> does EgoBot (or was it HackEgo?) still have its MUD?
17:57:14 <CakeProphet> does Erlang have any kind of interface-like feature?
17:57:30 <CakeProphet> since it's dynamically typed I assume you can do polymorphism through duck typing.
17:57:44 <CakeProphet> but a statically enumerated list of operations would be nice.
17:57:58 <AnMaster> CakeProphet, not sure what you mean there
17:58:03 <cpressey> CakeProphet: Guh, Sort of. Modules can expose a common interface.
17:58:16 <CakeProphet> ah... like hide names and export names and such?
17:58:30 <CakeProphet> or... no?
17:58:48 <AnMaster> CakeProphet, hm? erlang has funs, which can be like lambdas or like function pointers.
17:59:10 <AnMaster> it is easy to just decide which module to call on fly. I assume that is what you mean
17:59:13 <cpressey> CakeProphet: Well, a module name is just a symbol. Instead of foo:fun(123), you can say Module:fun(123).
17:59:22 <AnMaster> yes and there is that too
17:59:51 <AnMaster> CakeProphet, oh btw, in erlang variables begin with either _ or upper case letter.
17:59:54 <AnMaster> should clarify what cpressey said
17:59:55 <cpressey> And/or you can use pattern matching to dispatch to different functions, depending on what args your function is called with (closest match to "duck typing")
18:00:12 <cpressey> Right. Uppercase means variable. Like Prolog.
18:00:27 <CakeProphet> hmmm... I guess my OO thoughts just don't apply to Erlang then...
18:00:30 <AnMaster> CakeProphet, and atoms (think 'foo in lisp kind of) begin with lower case. though you can make anything an atom by quoting if you want to
18:00:51 <AnMaster> CakeProphet, erlang normally use processes for that
18:00:59 <cpressey> CakeProphet: OO thoughts have to be twisted slightly to apply, yes. But it can mostly be done.
18:01:12 <CakeProphet> so it's massive Actor model? :P
18:01:14 <AnMaster> CakeProphet, then you could just call the process, and have different modules implementing the same messages
18:01:24 <AnMaster> CakeProphet, I don't know the actor model. Can't answer
18:01:40 <CakeProphet> message passing concurrent objects... in essence.
18:01:43 <cpressey> It's close to the Actor model, or sort of an idealized Actor model, from what I know about it.
18:01:44 -!- atrapado has quit (Quit: Saliendo).
18:01:51 <AnMaster> CakeProphet, that would work rather well in erlang
18:01:55 <CakeProphet> hmmmm.... so
18:02:16 <CakeProphet> what if I /don't/ want to use a process, but still want to use similar principles of OO design.
18:02:48 <CakeProphet> like, I might not want a process for every MUD object... for example... but maybe for each occupied room.
18:03:14 <AnMaster> CakeProphet, and of course, once the day comes for needing to scale up to a cluster to hos this thing erlang is ready and almost no code needs any change ;) (just a bit in the code that handles starting of your program, to change what starts where)
18:03:16 <cpressey> CakeProphet: It can be done. But then, I consider it possible to write OO code in C, so maybe I'm the wrong person to ask.
18:03:33 <CakeProphet> ...OO can be done in C, definitely
18:03:48 <CakeProphet> you have structs... you have functions (and function pointers). Done.
18:03:51 <AnMaster> cpressey, doesn't the linux kernel do something OO-like in C for the vfs layer?
18:04:11 <AnMaster> having a struct with pointers like xfs_methods or ext3_methods or whatever
18:04:17 <CakeProphet> The Python interpret actually does " inheritance" in C with casting hacks.
18:04:21 <cpressey> CakeProphet: I think the main diff you'd see is that inheritance would occur between *functions*, not objects.
18:04:41 <CakeProphet> cpressey: hmmm... functions can inherit?
18:04:54 <AnMaster> CakeProphet, I used the python C api... I have no idea how it actually works. Seems to be black magic with macros and pointers
18:04:59 <cpressey> CakeProphet: Well, you have to build it. Delegate is a better word.
18:05:02 <CakeProphet> AnMaster: it is.
18:05:09 <CakeProphet> aaah okay.
18:05:27 <AnMaster> CakeProphet, had to fix some bugs in a program that used python as an embedded scripting language. Got to know that API rather well
18:05:31 <CakeProphet> cpressey: so you rely on first-class functions to implement a lot of overriden/polymorphic design.
18:05:47 <cpressey> get(sword) -> something; get(AnythingElse) -> parent_get(AnythingElse).
18:05:51 <cpressey> is sort of what i'm getting at
18:06:06 <CakeProphet> hmmmm... I gotcha
18:06:10 <cpressey> pattern matching, using the default case to go to default behavior
18:06:21 <AnMaster> CakeProphet, btw, in the last version erlang gained experimental support for having modules implemented in C or such. However in erlang terms "experimental" means "stable as a rock but we just might change the API in case we need it still"
18:07:19 <CakeProphet> do exceptions work like every other exception system?
18:07:21 <AnMaster> erlang is rather special in that way, a great focus on stability.
18:07:30 <AnMaster> CakeProphet, define how every other system work
18:07:35 <CakeProphet> hmmm... oh, is it like Python with coroutines? In Python you can throw exceptions inside coroutines.
18:07:41 <AnMaster> but I suspect the answer might be "close, but not exactly"
18:07:47 <CakeProphet> AnMaster: Java, Python, C++... everything else. throw and catch
18:07:49 <AnMaster> CakeProphet, what is like coroutines?
18:08:04 <CakeProphet> well...
18:08:13 <cpressey> CakeProphet: Um - no coroutines in Erlang. Processes make them unnecessary, more or less.
18:08:14 <AnMaster> the processes? I guess so if you want it
18:08:18 <CakeProphet> if you have a coroutine x in python
18:08:26 <CakeProphet> you can do: x.throw(SomeException)
18:08:38 <CakeProphet> and the code inside the coroutine has an opportunity to catch it or fail out.
18:08:55 <CakeProphet> so what I was asking
18:08:58 <AnMaster> CakeProphet, you could send an exception message to another thread I guess... sounds rather nasty though
18:09:01 <CakeProphet> is if you can do that in Erlang with processes.
18:09:09 <cpressey> Well, Erlang has exceptions.
18:09:25 <cpressey> It also has a mechanism where processes can be notified if other processes die.
18:09:30 <CakeProphet> ah okay.
18:09:45 <CakeProphet> that's quite a handy mechanism.
18:10:00 <cpressey> And I think they're related in that, an uncaught exception makes a process die.
18:10:16 <CakeProphet> can an exception make the whole program die?
18:10:32 <cpressey> Only if there's only one process :)
18:10:35 <CakeProphet> or do you design that to occur by having all processes die when one does... if it's that kind of error.
18:10:36 <AnMaster> CakeProphet, erlang has throw, and try <expression> of <pattern matching of normal result, not covered by the exception catchin and optional> catch <pattern matching on exceptions>
18:10:47 <AnMaster> well, that was not completely syntactically correct
18:10:50 <AnMaster> but you get the idea
18:10:52 <cpressey> There can be catastrophic failures of the runtime, but those aren't supposed to happen :)
18:10:53 <CakeProphet> right.
18:11:05 <AnMaster> you can lave out the whole "of <pattern matching goes here>" bit of course
18:11:33 <CakeProphet> ...I'll probably just answer all of my questions in the process of reading.
18:11:36 <AnMaster> cpressey, could you send an unconditional kill message to the init process of erlang... I wonder...
18:11:41 * AnMaster goes to try
18:11:49 <cpressey> I think there's a way to say "This process dies if any of its children die". So you can set it up so that an exception will take down the entire program.
18:11:55 <AnMaster> cpressey, yes there is
18:12:10 <ais523> just set a handler for SIGCHLD
18:12:19 <AnMaster> ais523, E_USER_SPACE_THREADS
18:12:30 <AnMaster> ais523, (in erlang)
18:12:41 <AnMaster> so ti doesn't quite apply here
18:13:15 <cpressey> CakeProphet: Also note, there is a philosophy associated with Erlang called "Let it crash": Basically, don't write error-handling code, because it's horrible to get right and maintain. Instead, set up a supervisor which restarts your process whenever it crashes.
18:13:35 <CakeProphet> cpressey: ah okay. There's a similar design philosophy in Python
18:13:54 <AnMaster> wow
18:14:01 <AnMaster> erlang is still running with the init process killed
18:14:06 <AnMaster> hm
18:14:12 <AnMaster> 8> q().
18:14:12 <AnMaster> ** exception error: bad argument
18:14:12 <AnMaster> in function init:stop/0
18:14:16 <AnMaster> but the usual quitting doesn't work
18:14:21 * AnMaster uses the other way
18:14:25 <CakeProphet> so it seems Erlang is pretty hard to fully kill.
18:14:35 <AnMaster> CakeProphet, well, double ctrl-c does it every time
18:14:39 <CakeProphet> ha.
18:14:51 <AnMaster> CakeProphet, first time you get this prompt:
18:14:53 <AnMaster> BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
18:14:53 <AnMaster> (v)ersion (k)ill (D)b-tables (d)istribution
18:14:59 <AnMaster> then ctrl-c again just kills it
18:15:14 <AnMaster> I think k there is for "kill process"
18:15:25 <CakeProphet> That's a rather nice system design though. If you have parts of a program that can continue running while something else is not working correctly... you can have it continue to run without a catastrophic system-wide crash, and then hotswap a bugfix in for the part that isn't work
18:15:28 <AnMaster> hm
18:15:30 <CakeProphet> ing
18:15:36 <AnMaster> I never used that before
18:15:45 * AnMaster tries to figure out the prompt he got from that
18:16:09 <AnMaster> oh, process selection which shows backtrace of process and so on
18:16:12 <AnMaster> makes sense
18:17:08 <AnMaster> CakeProphet, I never seen the init process die though (except today by killing it)
18:17:37 <CakeProphet> the arity declaration thing is kind of odd.
18:17:41 <cpressey> CakeProphet: Indeed, that was one of design goals -- it was developed for telephony equipment like switches, where it's important for as much of it to keep going as it can
18:17:45 <AnMaster> CakeProphet, and erlang has built in support for stuff like making supervisor threads that restart child processes if they die and so on
18:17:49 <CakeProphet> what does init do?
18:18:28 <AnMaster> CakeProphet, iirc it starts up other system processes and the REPL (or whatever program you make it run if you do that) and also handles the orderly shutdown of things
18:18:57 <AnMaster> which includes telling IO server processes to flush buffers and close files and so on
18:19:05 <CakeProphet> hmmm.. this tutorial is using c(modulename) to compile code... is c an erlang function or a shell command?
18:19:18 <AnMaster> (yeah should mention that, normally in erlang IO is really sending messages tn another process)
18:19:29 <AnMaster> CakeProphet, c() is a shorthand in the repl for compile:something()
18:19:52 <AnMaster> CakeProphet, there is help(). in the REPL to list the shorthands it defines
18:19:55 <CakeProphet> what is :?
18:20:10 <AnMaster> CakeProphet, : as in compile:something ?
18:20:14 <CakeProphet> yes.
18:20:16 <AnMaster> modulename:function
18:20:24 <CakeProphet> ah okay.
18:20:27 -!- kar8nga has joined.
18:20:29 <CakeProphet> I kind of guessed but wasn't sure.
18:20:44 <CakeProphet> ....hmmm, so compile is a module?
18:20:49 <CakeProphet> that has compile functions?
18:21:00 <AnMaster> CakeProphet, err maybe compiler
18:21:07 <AnMaster> don't remember name of module that compiler is in
18:21:12 <AnMaster> bbiab, food is ready
18:23:38 <CakeProphet> how are atoms represented?
18:23:51 <CakeProphet> low-level
18:24:10 <cpressey> CakeProphet: I think they're interned. So, like, an opaque 32-bit value/
18:24:18 <cpressey> Or maybe 64-bit
18:24:35 <cpressey> They're turned into textual strings when shared between nodes though
18:24:43 <cpressey> Oi - haven't even got into the distributed programming support
18:25:10 <cpressey> Multiple Erlang nodes on different machines can send each other messages across the network.
18:25:14 <cpressey> But don't worry about that now.
18:25:22 <CakeProphet> yeah I think that was explained
18:25:25 <CakeProphet> sounds pretty sweet.
18:25:29 <CakeProphet> not that I'll ever need it.
18:26:15 <cpressey> It is, but the built-in support isn't fit for every purpose (I find) -- sometimes it's still nicer to roll your own. Luckily that's not that hard, if you ever need to.
18:31:48 <CakeProphet> hmmm... is " the special character character?
18:31:52 <CakeProphet> like \ in C strings?
18:32:08 <CakeProphet> oh... ~
18:32:14 * CakeProphet is far away from his monitor
18:35:29 <CakeProphet> hmmm... function overloading and pattern matching. interesting.
18:35:49 <CakeProphet> that makes tail recursive iterators less ugly looking, I think.
18:39:44 -!- Phantom_Hoover has joined.
18:40:09 <CakeProphet> ....Erlang's statement delimiters are kind of crazy.
18:40:13 <CakeProphet> . , ;
18:41:17 <AnMaster> back
18:41:29 <AnMaster> CakeProphet, agreed. No one is perfect ;)
18:41:55 <Phantom_Hoover> What were you talking about?
18:41:58 <AnMaster> CakeProphet, but you get used to it. Same as you get used to python's or C style for blcoks
18:42:14 <CakeProphet> I'm not sure I understand ,
18:42:23 <CakeProphet> so far I've only seend it after end in an if block
18:42:24 <AnMaster> <cpressey> They're turned into textual strings when shared between nodes though <-- not any longer afaik
18:42:36 <AnMaster> cpressey, there is some sort of atom cache nowdays iirc
18:42:38 <CakeProphet> *seen
18:42:48 <AnMaster> so it is sent as a number after the first time
18:43:49 <Phantom_Hoover> Weird, WP is messed up.
18:43:52 <Phantom_Hoover> On IE and FFX.
18:43:54 <AnMaster> <CakeProphet> like \ in C strings? <-- you mean escaping in strings?,
18:44:05 <AnMaster> CakeProphet, well ~ is like % in printf() or such
18:44:20 <Phantom_Hoover> Wait, are we talking about CL now?
18:44:26 <AnMaster> CakeProphet, while for escaping inside strings you want \
18:44:38 <AnMaster> CakeProphet, for chars you use $
18:44:44 <AnMaster> as in $a
18:44:52 <AnMaster> will give you an integer 97
18:44:58 <CakeProphet> I sw code that used ~n
18:45:07 <CakeProphet> for newline, I think.
18:45:20 <AnMaster> CakeProphet, console IO?
18:45:24 <Phantom_Hoover> Oh, not CL then.
18:45:39 <AnMaster> CakeProphet, iirc the difference is that on windows it does CRLF, but \n always does LF only
18:46:09 <AnMaster> CakeProphet, don't quote me on that one though
18:46:10 <CakeProphet> ...why on earth does the traceback show you the code in AST
18:46:54 <AnMaster> CakeProphet, erlang has nice pattern matching on binary blobs btw. Saw some erlang code that matches an MPEG header or such in one line of erlang code. It has various strange sized bit width fields iirc
18:46:59 <AnMaster> no problems for erlang
18:47:03 <AnMaster> CakeProphet, hm?
18:47:07 <AnMaster> what are you talking about
18:47:16 <CakeProphet> fif clause,[ftut9,test if,2g,ferl eval,exprs,4g,fshell,eval loop,2g]g
18:47:17 <CakeProphet> ** exited: fif clause,[ftut9,test if,2g,
18:47:26 <CakeProphet> ....meh PDF copypaste is bad.
18:47:29 <AnMaster> that doesn't look like valid erlang though
18:47:32 <Sgeo_> Oh, ~n is used by io:printf
18:47:35 <Sgeo_> iirc
18:47:43 <AnMaster> io:format you mean
18:47:48 <Sgeo_> And is literally a ~n that is interpreted by .. yes
18:47:56 <AnMaster> and io_lib:format (the latter is like sprintf)
18:48:04 <Sgeo_> It's not physically a newline char
18:48:07 <CakeProphet> {if_clause, [{tut9,test_if,2},{erl_eval,exprs,4},{shell,eval_loop,2}]}
18:48:10 <CakeProphet> ....what am I looking at.
18:48:11 <AnMaster> Sgeo_, indeed
18:48:28 <AnMaster> CakeProphet, you know, in the REPL erlang gives much nicer formatted backtraces
18:48:47 <CakeProphet> is the shell not the REPL?
18:48:49 <AnMaster> CakeProphet, but I think you somehow got an if clause where no of the patterns matched, then a backtrace
18:48:55 <AnMaster> CakeProphet, the shell is the REPL yes.
18:48:59 <CakeProphet> it was from a tutorial
18:49:00 <CakeProphet> not my code.
18:49:02 -!- MizardX- has joined.
18:49:05 <AnMaster> CakeProphet, old tutorial?
18:49:10 <CakeProphet> yes, that's what's happening. I was just confused about the format.
18:49:14 <CakeProphet> AnMaster: possibly.
18:49:36 <AnMaster> CakeProphet, the shell pretty prints that sort of stuff iirc
18:50:01 <CakeProphet> are the numbers line numbers?
18:50:07 <AnMaster> CakeProphet, no, arity numbers
18:50:11 <CakeProphet> ah.
18:50:32 <AnMaster> CakeProphet, in erlang foo/2 and foo/3 are different functions. the first one could be foo(A,B) and the later foo(A,B,C)
18:50:36 <CakeProphet> right.
18:50:39 <AnMaster> and they are for all purposes different functions
18:50:40 <CakeProphet> I've read that much so far.
18:51:01 <Phantom_Hoover> (loop (print (eval (read))))
18:51:10 <CakeProphet> so, I haven't learned funs yet, but I assume when you want to use a fun you would specify the arity of the function?
18:51:10 <Phantom_Hoover> BEST. REPL. EVER.
18:51:24 <Phantom_Hoover> Must dash.
18:51:25 <AnMaster> Phantom_Hoover, no exception handling, no line editing?
18:51:33 <AnMaster> CakeProphet, you can get line numbers out of backtraces, but iirc you need to compile with debug info then
18:51:45 <Phantom_Hoover> AnMaster, but the ELEGANCE!
18:52:00 <AnMaster> Phantom_Hoover, useless for practical purposes though ;P
18:52:26 <AnMaster> CakeProphet, don't remember how with the c() command or such since I tend to use emake, which is basically a nice build system for erlang code, very erlang specific but doesn't suck as such
18:53:03 -!- MizardX has quit (Ping timeout: 276 seconds).
18:53:06 <CakeProphet> emake. I'll remember to check it out.
18:53:07 <AnMaster> though it has the downside of not being designed with multi-core systems in mind. should be easy to fix in theory
18:53:13 <AnMaster> CakeProphet, it is erl -make
18:53:17 <AnMaster> comes with the system
18:53:20 <CakeProphet> sweet
18:53:28 -!- MizardX- has changed nick to MizardX.
18:53:29 <AnMaster> CakeProphet, I use a short Makefile to provide a clean target
18:53:30 <CakeProphet> so does Erlang compile to native code?
18:53:43 <AnMaster> CakeProphet, not by default, it is possible though
18:54:11 <CakeProphet> might not be necessary. I'll look into my hosting options and see if I can get erlang on the server I'll be using.
18:54:11 <AnMaster> CakeProphet, check when you start the erlang REPL, the first line. Does it contain [hipe] in it?
18:54:25 <AnMaster> if so, then your build supports compiling to native
18:54:30 <CakeProphet> yeah
18:54:33 <CakeProphet> Erlang R13B03 (erts-5.7.4) [source] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]
18:54:33 <AnMaster> still runs under the VM though
18:54:56 <CakeProphet> ah... it essentially compiled a stand-alone VM
18:54:57 <AnMaster> CakeProphet, anyway in practise I never found that it mattered much on my system. But iirc for Deewiant it made a huge speed difference in efunge
18:54:59 <CakeProphet> *compiles
18:55:06 <AnMaster> forgot how much he said
18:55:22 <AnMaster> something like 70% or so iirc. For me the reduction is usually around 20% for it
18:55:31 <AnMaster> and efunge is CPU bound mostly
18:55:32 <AnMaster> so makes sense
18:55:39 <AnMaster> well, CPU and memory
18:55:48 <AnMaster> <CakeProphet> ah... it essentially compiled a stand-alone VM <-- no
18:56:02 <AnMaster> CakeProphet, it compiles a module with native code that can be loaded in the normal VM
18:56:03 <AnMaster> :P
18:56:15 <AnMaster> that is what HIPE does
18:56:51 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
18:57:11 <AnMaster> CakeProphet, in any case, I doubt that sort of performance will be a blocker for you unless you do something stupid in your design (which is possible if you aren't used to erlang, I sure did stupid things in the beginning!)
18:57:55 <CakeProphet> anyone know of any free hosting that allows SSH and FTP?
18:59:42 <CakeProphet> ...top-level domain too. Would be amazing.
18:59:44 <AnMaster> CakeProphet, btw there is one small issue currently with atoms. It is being worked on afaik. And that is that when you use an atom, it is assigned an integer, but currently the atom table in erlang is not garbage collected. this is probably a remaining part of the prolog inspiration and legacy you could say. they used to have that issue too. But from what I heard it is being worked on. Next version ma
18:59:45 <AnMaster> ybe.
19:00:12 <AnMaster> the number you can have is 1048576. Just don't go around creating atoms for stuff like every line the user say and you should be fine
19:00:41 <CakeProphet> hmmm... okay
19:00:54 <AnMaster> CakeProphet, I know shell servers that allow irc bouncers and has web space but does not in general allow other servers by users
19:00:59 <AnMaster> very nice freebsd shell
19:01:00 <CakeProphet> I would define atoms statically anyways.
19:01:10 <AnMaster> have one, sadly some issues with the server the last few days
19:01:34 -!- ais523_ has joined.
19:01:45 <AnMaster> CakeProphet, right, that is very unlikely to make you run out of atoms.
19:01:46 * CakeProphet is looking for free hosting for said MUD server.
19:01:50 <AnMaster> ah hm
19:02:02 -!- ais523 has quit (Disconnected by services).
19:02:03 <AnMaster> CakeProphet, no clue. VPS are rather cheap nowdays though
19:02:05 -!- ais523_ has changed nick to ais523.
19:02:07 <CakeProphet> I can get a paid host if necessary. In the distant future, when I have income.
19:02:08 <AnMaster> and I'm sure that would be enough
19:02:20 <AnMaster> heh
19:02:46 <CakeProphet> how cheap? Know any numbers?
19:03:09 <AnMaster> CakeProphet, well $5 or such isn't an uncommon number iirc
19:03:25 <AnMaster> brb, need to clean glasses
19:05:09 <AnMaster> CakeProphet, one way would be to find someone else who has a server or such. Some friend at the local LUG perhaps?
19:06:12 <CakeProphet> ...local LUG?
19:06:14 <CakeProphet> ...
19:06:23 <CakeProphet> I'm in a somewhat rural/suburban area.
19:06:43 <AnMaster> ah...
19:06:59 <AnMaster> CakeProphet, well, are you at university?
19:07:08 <AnMaster> or after or before that?
19:07:10 <CakeProphet> temporarily not. but yes, student.
19:07:20 <AnMaster> CakeProphet, you mean temp as in summer holidays?
19:07:24 <CakeProphet> yes.
19:07:33 <AnMaster> CakeProphet, well doesn't universities tend to generate computer clubs?
19:07:47 <CakeProphet> I'll look into it. Dunno if any of them would have hosting though.
19:07:53 <AnMaster> surely you could interest someone somewhere there
19:08:18 <AnMaster> CakeProphet, the computer club itself might have it?
19:08:23 <AnMaster> it isn't uncommon
19:08:25 <CakeProphet> I might have a friend who would let me host some stuff. He'd likely bitch about how server resources aren't cheap... but a MUD server would hardly have an impact.
19:09:31 <CakeProphet> hmmm... with the VPS idea, I actually know a host that's dedicated to MUD hosting that would likely be cheaper than that per year.
19:09:33 <AnMaster> CakeProphet, erlang probably isn't the type of program that calls free() all the time, rather it is the type of program that tries to keep free pages around for reuse (though I have seen it return memory to the OS, but I think it only does that when it has a large enough chunk of memory)
19:09:49 <AnMaster> CakeProphet, per year? I meant per month
19:09:54 <CakeProphet> right.
19:10:25 <AnMaster> CakeProphet, or you could poke a hole in your router if your ISP doesn't get all sour about that
19:10:38 <AnMaster> bbl, going to take some photos, now that the light is just right!
19:10:40 <CakeProphet> poke a hole?
19:10:47 <AnMaster> port forwarding
19:11:27 <CakeProphet> ah.
19:14:14 <CakeProphet> I'm going to go fry some bologna
19:14:17 <CakeProphet> because it's fucking delicious.
19:16:13 -!- kar8nga has quit (Remote host closed the connection).
19:16:35 <CakeProphet> I have actually discovered that fried bologna is apparently a regional thing
19:17:01 <CakeProphet> I live in the southern U.S., and I know people online from southwest and midwest U.S. that have never heard of such a thing.
19:25:01 <AnMaster> I never heard of it, but wtf is a bologna?
19:25:07 <AnMaster> (Europe so...)
19:27:56 <cpressey> lunch meat.
19:28:48 -!- SevenInchBread has joined.
19:28:50 <cpressey> Generally, a highly-processed lunch meat.
19:29:21 <cpressey> Kind of like hot dog meat but in larger round slices.
19:29:38 -!- CakeProphet has quit (Ping timeout: 258 seconds).
19:37:07 <cpressey> You know, I used the word "meat" in the last three lines, but there are many who would argue otherwise.
19:40:00 <SevenInchBread> and yes... hot dog "meat" in larger slices
19:40:05 -!- SevenInchBread has changed nick to CakeProphet.
19:40:30 <CakeProphet> you can get it unsliced and slice it yourself to get nice thick pieces too.
19:43:12 <CakeProphet> I have made a monsterous creation
19:43:49 <CakeProphet> a sandwich with a fried egg, fried bacon, with three slices of bologna forming layers between the other two.
19:46:19 <CakeProphet> The fried bologna sandwich has been elevated to a regional specialty in the Midwest and Appalachia. It is the sandwich served at lunch counters of small family run markets that surround the Great Smoky Mountains.[1] They are sometimes sold at concession stands in stadiums, like those of the Cincinnati Reds and Buffalo Sabres.[2]
19:46:24 <CakeProphet> ah... so I am a product of my environment.
19:46:30 <CakeProphet> Didn't know that.
19:57:28 -!- tombom_ has joined.
19:57:29 -!- tombom has quit (Ping timeout: 252 seconds).
20:19:45 <AnMaster> argh, when shooting a panorama, make sure that the sun doesn't disappear behind a could for one or two shots in the middle
20:19:50 <CakeProphet> question about Erlang.
20:20:01 <CakeProphet> what is the default case?
20:20:01 <AnMaster> I suspect this will be unstitchable...
20:20:06 <AnMaster> CakeProphet, case as in?
20:20:12 <CakeProphet> case statement.
20:20:21 <AnMaster> CakeProphet, _ -> maybe?
20:20:26 <AnMaster> is that what you mean
20:20:29 <CakeProphet> makes sense.
20:20:30 <CakeProphet> yes.
20:20:35 <AnMaster> CakeProphet, _ is "match anything" after all
20:20:40 <AnMaster> for if it would be true ->
20:20:50 <CakeProphet> hmmm... will a variable name match anything?
20:21:01 <CakeProphet> ...I assume so.
20:21:07 <AnMaster> CakeProphet, if it isn't bound to anything yet. If it is bound to something it will match that
20:21:12 <AnMaster> remember, single assignment
20:23:22 -!- ais523 has quit (Remote host closed the connection).
20:23:39 <CakeProphet> so wait.
20:23:57 <CakeProphet> a bound variable in a case statement matches its value?
20:29:14 <AnMaster> CakeProphet, yes
20:29:22 <AnMaster> CakeProphet, it does that anywhere of course
20:29:29 <AnMaster> I mean, in any match on either side
20:29:35 <AnMaster> like:
20:29:38 <AnMaster> Foo=a
20:29:47 <AnMaster> {Foo,Bar} = {a,b}
20:29:54 <AnMaster> then that Foo will match the a
20:29:56 <AnMaster> had it been:
20:30:01 <AnMaster> {Foo,Bar} = {b,c}
20:30:07 <AnMaster> you would have got a bad match exception
20:30:09 <AnMaster> well not in a case
20:30:12 <cpressey> Which can be both awesome and horrific
20:30:16 <AnMaster> then it moves on to the next case
20:30:27 <AnMaster> cpressey, pretty useful. Never found it horrific
20:31:08 <cpressey> Sometimes I want it to be clearer whether B will be bound in this statement or if it's already been bound. They're syntactically the same.
20:31:52 <cpressey> It would be nice if there was some marker like *B to say, "B does not yet have a value. We're giving it one here"
20:31:57 <cpressey> But, that's just me.
20:32:05 <cpressey> Write short functions and you won't run into it much :)
20:32:06 <AnMaster> cpressey, you mean shadowing?
20:32:14 <cpressey> No, not shadowing
20:32:20 <AnMaster> hm
20:32:36 <cpressey> B = 3 has two meanings, depending on whether B is already bound or not
20:32:44 <AnMaster> cpressey, anyway it is good practise to write short functions or at least short short per entry point
20:33:19 <cpressey> Maybe I should write out my vision for Schemerlang :)
20:33:26 <AnMaster> I mean, the main interpreter thing in efunge is quite long, it goes like process_instruction($| , ...) ... ; process_instruction($-, ...) ... ;
20:33:27 <AnMaster> and so on
20:33:35 <AnMaster> but each entry point is quite short
20:33:49 <AnMaster> I don't think efunge has many functions longer than, say, 10 lines
20:34:02 <AnMaster> perhaps main/1 (called with -run)
20:34:06 <cpressey> That's because efunge isn't a business application :D
20:34:23 <cpressey> Oh god, page after page after page... not Erlang though
20:34:33 <CakeProphet> hmmm... this tutorial uses a function called process_flag
20:34:33 <CakeProphet> but
20:34:38 <CakeProphet> I can't find it in erl -man
20:34:45 <AnMaster> cpressey, well I guess the auto generated code for returning an array defining what instructions a fingerprint implements is fairly long
20:34:56 <AnMaster> CakeProphet, erl -man does module names
20:34:58 <AnMaster> hm
20:35:00 -!- augur has quit (Read error: Connection reset by peer).
20:35:10 <AnMaster> CakeProphet, I suspect it is in the module erlang
20:35:23 <AnMaster> CakeProphet, it includes a few auto imported functions
20:35:32 <cpressey> ... but I would need a better name than "SchemErlang" ...
20:35:32 <AnMaster> stuff that would be annoying to not auto-import
20:35:35 <CakeProphet> No manual entry for erlang
20:35:46 <AnMaster> CakeProphet, sure the docs are installed?
20:35:57 <AnMaster> CakeProphet, it is a separate download iirc
20:36:03 <AnMaster> and many distros do it as separate package
20:36:05 <CakeProphet> ah... might check then.
20:36:27 <AnMaster> CakeProphet, all functions in the erlang module are implemented in the runtime btw.
20:36:44 <CakeProphet> erlang-typer is probably the type system you were talking about.
20:36:48 <AnMaster> CakeProphet, either for reasons like "can't be done elsewhere" or "a lot faster" or such
20:37:06 <AnMaster> CakeProphet, that is a tool to auto generate type specs
20:37:14 <AnMaster> from untyped or partly typed code
20:37:24 <AnMaster> CakeProphet, the thing you want is called dialyzer
20:37:28 <AnMaster> well you would want typer too
20:37:34 <AnMaster> but dialyzer primarily
20:38:05 <AnMaster> some are auto-imported functions from erlang include abs(Number), length(List)
20:38:06 <AnMaster> and so on
20:38:08 <CakeProphet> erlang-pman "erlang process manager"? useful?
20:38:15 * CakeProphet is going down a list of packages.
20:38:26 <AnMaster> CakeProphet, well could be, but why the hell is that a separate package
20:38:31 <AnMaster> it is called from inside erlang
20:38:38 <AnMaster> it doesn't even make any sense to make it separate
20:38:49 <AnMaster> it is just a TK thing for seeing erlang processes
20:38:52 <CakeProphet> already have it then.
20:38:55 <AnMaster> pman:start().
20:39:06 <AnMaster> CakeProphet, well I blame distro for crappy packaging if it is a separate package
20:39:25 <AnMaster> CakeProphet, what is this? debian or some shit?
20:40:27 <CakeProphet> ....so many erlang packages.
20:40:32 <CakeProphet> they all look potentially useful.
20:40:42 <AnMaster> CakeProphet, what distro?
20:40:48 <CakeProphet> Ubuntu
20:41:06 -!- chuck_ has changed nick to chuck.
20:41:15 <AnMaster> CakeProphet, huh? must be recent ubuntu, iirc on jaunty it is like: erlang-base, erlang-x11-stuff, erlang-docs
20:41:17 <AnMaster> or such
20:41:25 <AnMaster> possibly one or two more packages
20:41:33 <CakeProphet> ah found it
20:41:35 <CakeProphet> erlang-manpages
20:42:01 <AnMaster> CakeProphet, I would suggest you install most of the other except if any of them conflict. I seem to remember ubuntu had erlang-hipe and erlang-nohipe
20:42:10 <AnMaster> where you should of course pick the HIPE version
20:42:17 <CakeProphet> shell says I have HIPE.
20:42:43 <CakeProphet> going to get debugger and maybe runtime tools
20:42:44 <AnMaster> CakeProphet, well yes, but if you try to install a no-hipe version and get a package manager conflict I meant
20:42:50 <CakeProphet> concurrency profiler might be good too
20:42:54 <AnMaster> CakeProphet, wait, runtime tools?
20:42:56 <AnMaster> wth would that be
20:42:59 <CakeProphet> ...no clue.
20:43:24 <AnMaster> CakeProphet, never found the concurrency profiler that useful. Rather in that case the code coverage tool
20:43:27 <AnMaster> that is very very nice
20:43:31 <AnMaster> get the web UI for it too
20:43:44 <CakeProphet> code coverage?
20:43:45 <AnMaster> I presume this insane distro had split that into a separate package
20:44:05 <AnMaster> CakeProphet, yes you know, like gcov, shows which lines were executed during a run
20:44:11 <Sgeo_> What's worse? A less than stellar programmer, or a manager who's going to make the less than stellar programmer's vacation permanent because he's completely blind to what said programmer did
20:44:14 <AnMaster> useful for making complete test suits and for finding dead code
20:44:33 <AnMaster> Sgeo_, and you being the former?
20:44:37 <Sgeo_> No
20:44:41 <AnMaster> ah hm
20:44:46 <AnMaster> Sgeo_, you are the latter?
20:45:03 <Sgeo_> Me being the programmer thankful that there is a framework made by the former, even if it's not really that perfect
20:45:28 <AnMaster> Sgeo_, wait what do you mean?
20:45:38 <AnMaster> the former there would refer to the "A less than stellar programmer"
20:45:40 <AnMaster> and you said no
20:45:41 <CakeProphet> erlang-observer?
20:45:43 <AnMaster> then you say yes?
20:46:00 <Sgeo_> I'm a third party, thankful to the work that the less than stellar programmer did
20:46:10 <AnMaster> CakeProphet, I heard of it. Don't remember what it does. It maaay be related to tracing of processes. Check documentation.
20:47:14 <cheater99> hello sweeties
20:47:17 <cheater99> is alize back yet
20:47:21 <cheater99> i'm missing her
20:47:32 <Sgeo_> It's Thursday, and alise is a guy
20:47:57 <cheater99> you have generated two answers which have nothing to do with the question uttered
20:48:02 * CakeProphet was not positive of alise's gender.
20:48:11 <cheater99> i should hire you as a source of randomness
20:48:30 <cheater99> i will feed you with thermal entropy
20:48:37 <cheater99> do we have a deal or what?
20:48:45 <Sgeo_> Blue!
20:48:54 <CakeProphet> sweet... I now have all these Erlang tools and packages that are somewhere on my filesystem. Where? dunno.
20:49:16 <cheater99> wait
20:49:16 <AnMaster> cheater99, wrong. "It's Thursday" is very relevant to alise
20:49:20 <cheater99> you're getting into erlang?
20:49:30 <AnMaster> CakeProphet, /usr/lib/erlang/lib/ I guess
20:49:45 <AnMaster> CakeProphet, well typer and dialyzer should be in /usr/bin
20:49:52 <AnMaster> but yeah some of them are called from the erlang REPL
20:50:52 <AnMaster> CakeProphet, btw let me pastebin a short escript program that finds duplicate files in a rather efficient manner. (as in, it checks for same size first and only then compares the stuff in the files).
20:51:00 <AnMaster> CakeProphet, oh and escript is erlang script
20:51:13 <CakeProphet> ....script?
20:51:18 <AnMaster> CakeProphet, yes as in #!/usr/bin/escript
20:51:29 <CakeProphet> ah...
20:51:39 <AnMaster> CakeProphet, normal erlang applications requires a wrapper script to start things
20:51:45 <CakeProphet> erl is specifically the shell. Do you normally keep a shell open for erlang programs?
20:52:12 <AnMaster> CakeProphet, calling something like: erl -noshell -run mainmodule functionname command line parameters here
20:52:44 <CakeProphet> is this script written in Erlang?
20:52:52 <AnMaster> CakeProphet, escript is erlang script so yes
20:53:11 * CakeProphet is slightly confused... but thinks he understands.
20:53:12 <AnMaster> CakeProphet, also "normal" erlang is optimised for long running applications. escript for short running ones. "normal" erlang has a rather long startup and exit time
20:53:20 <AnMaster> while escript has short such
20:53:54 <AnMaster> CakeProphet, and escript doesn't need to be compiled
20:54:01 <AnMaster> CakeProphet, it can be still
20:54:06 <AnMaster> http://sprunge.us/AQgR
20:54:08 <AnMaster> there
20:54:28 <AnMaster> in fact I made that one compiled
20:54:29 <CakeProphet> I find it ridiculous that there are erlang programs that have been running for years nonstop.
20:54:36 <AnMaster> CakeProphet, why is that?
20:54:48 <AnMaster> CakeProphet, you can't shut down a telecom switch just to upgrade it
20:54:58 <AnMaster> CakeProphet, most extreme I heard about so far was 10 years
20:55:03 <CakeProphet> by "ridiculous" I mean remarkable.
20:55:05 <AnMaster> with hot hardware standby
20:55:18 <AnMaster> so it did seamless failover when the main hardware failed
20:55:25 <AnMaster> not dropping anything
20:55:35 <CakeProphet> hmmm... can Erlang serialize processes?
20:55:44 <AnMaster> CakeProphet, define what you mean with that
20:56:01 <CakeProphet> to swap it over to another node/machine
20:56:19 <AnMaster> CakeProphet, hm I think it probably kept a hot standby by running a copy of everything
20:56:39 <AnMaster> CakeProphet, but actually I'm not sure about that, you could send the data over
20:56:59 <AnMaster> CakeProphet, the thing is the actual process is likely to depend on stuff like architecture of system
20:57:08 <CakeProphet> ah okay.
20:57:09 <AnMaster> you couldn't move a process from SPARC to x86_64 like that
20:57:26 <AnMaster> while you could easily link them as nodes
20:57:27 <cpressey> I think there have been debates in the erlang community about this. The general sentiment was, iirc, why do you need failover?
20:57:33 <CakeProphet> I know Stackless Python uses message-passing lightweight threads that can be serialized and transferred across network to be run on other machines.
20:57:39 <AnMaster> cpressey, wait, what?
20:58:10 <cpressey> AnMaster: Why do you need to serialize a process?
20:58:16 <AnMaster> CakeProphet, how does that work when moving from a 32-bit big endian machine to a 64-bit little endian system?
20:58:29 <cpressey> Implying: if you think hard about it, you don't
20:58:30 <CakeProphet> Python isn't native. doesn't matter.
20:58:37 <AnMaster> cpressey, no I meant "why do you need failover?"
20:58:40 <CakeProphet> or at least, I don't think so.
20:59:03 <AnMaster> cpressey, needing a hot standby in telecom if hardware fails is pretty obvious
20:59:14 <AnMaster> cpressey, stuff like CPU does break, ram does go bad
20:59:15 <AnMaster> and so on
20:59:24 <cpressey> "failover" in the sense of "serialize a process and move it to another node"
20:59:27 <AnMaster> CakeProphet, good point
20:59:38 <AnMaster> cpressey, well true, you can't make a hot standby work that way
20:59:42 <AnMaster> hm
21:00:09 <AnMaster> cpressey, how does rpc:call() work then?
21:00:15 <CakeProphet> well... you might want serialization for other reasons.
21:00:20 <cpressey> Processes crash all the time, what is the point of saving one and restoring it elsewhere? Just start a new one :)
21:00:30 <AnMaster> CakeProphet, likely to be problematic if you upgrade the runtime
21:00:31 <CakeProphet> consider a cluster that runs redundant copies of a process in the event that a server fails.
21:00:43 <AnMaster> CakeProphet, yep I'm considering it
21:00:50 <cpressey> CakeProphet: Well, think of it as serializing the process's important data, rather than the process itself.
21:00:59 <AnMaster> <cpressey> Processes crash all the time, what is the point of saving one and restoring it elsewhere? Just start a new one :) <-- I hope that was a joke
21:00:59 <cpressey> That use case makes sense.
21:01:06 <CakeProphet> cpressey: yeah that would work.
21:01:16 <cpressey> AnMaster: Not really.
21:01:27 <CakeProphet> I think it's just a matter of design, really.
21:01:34 <CakeProphet> you can implement designs that don't require process serialization.
21:01:50 <CakeProphet> but still achieve an equivalent or better result.
21:02:32 <AnMaster> cpressey, you mean people use the erlang supervision stuff for that? Rather than as a way to handle things gracefully (and log the error) if things goes very wrong
21:02:38 <AnMaster> and then fix the bug as soon as possible
21:03:08 <cpressey> AnMaster: er, no, I didn't mean to imply anything about how people use the supervision stuff.
21:03:16 <AnMaster> cpressey, then what did you mean?
21:03:42 <cpressey> If "let it crash" is your philosophy, why are processes so precious they have to be retained?
21:03:50 <cpressey> They don't.
21:03:59 <cpressey> It's state, not processes, that you need to care about.
21:04:05 <AnMaster> cpressey, why would it be my philosophy though?
21:04:20 <AnMaster> cpressey, also that is a pita if the process has file IO or socket IO open
21:04:28 <AnMaster> doesn't it get closed with the process by default?
21:04:31 <cpressey> AnMaster: Because the Erlang folks are holding a gun to your head, of course :/
21:05:00 <CakeProphet> so is link() how you do supervisor stuff?
21:05:20 <AnMaster> cpressey, my philosophy is "don't let it crash, but if it does then handle it gracefully and log an error, then as soon as possible track down and fix the bug"
21:06:17 <AnMaster> CakeProphet, well, link() is bidirectional, also there is a race condition there, what if process dies between spawn() and link()? that is why you use spawn_link()
21:06:32 <cpressey> AnMaster: That's great. I was explaining the Erlang-community-at-large's position.
21:06:34 <AnMaster> CakeProphet, again bidirectional, for one directional there is some monitor stuff
21:06:42 <AnMaster> cpressey, hm never noticed that in #erlang
21:06:46 <AnMaster> but okay
21:07:03 <cpressey> AnMaster: do you follow erlang-questions@ ?
21:07:13 <AnMaster> cpressey, I strongly dislike mailing lists
21:07:18 <AnMaster> cpressey, I use IRC and usenet
21:07:20 <CakeProphet> does link() do anything else other than error handling semantics?
21:07:27 <cpressey> I would be surprised to hear that the core Erlang gurus hang out on IRC
21:07:49 <AnMaster> CakeProphet, how do you mean? well there is the "die if linked process dies, unless you set the relevant process flag"
21:08:01 <AnMaster> but that maybe was what you meant
21:08:02 <cpressey> CakeProphet: I think it's closer to death-handling (error or not) semantics.
21:08:12 <CakeProphet> yeah that's what I meant.
21:08:16 * CakeProphet is still reading.
21:08:29 <AnMaster> CakeProphet, anyway spawn_monitor() is getting used a lot more these days due to the lack of bidirectional semantics
21:08:30 <cpressey> I remember being confused between link and throw/catch for that reason
21:08:39 <AnMaster> WOW pretty sunset
21:08:42 <AnMaster> bbl *gets camera*
21:09:37 <CakeProphet> I assume monitor is pretty much the same as link but one way then? Which way?
21:10:02 <cpressey> I think monitor's the one that's bidirectional.
21:10:43 <AnMaster> cpressey, wrong
21:10:50 <AnMaster> monitor is the unidirectional one
21:11:04 <CakeProphet> yeah monitor is unidirectional
21:11:06 <AnMaster> CakeProphet, spawn_monitor() : you monitor the child
21:11:14 <AnMaster> and get a message if it dies
21:11:16 <CakeProphet> makes sense.
21:11:30 <cpressey> I stand corrected.
21:11:31 <AnMaster> CakeProphet, the other would be fairly useless
21:11:48 <AnMaster> CakeProphet, spawn_link() is 1) older 2) still very useful for supervision trees
21:12:00 <AnMaster> if the superviser crashes the children should probably exit too
21:12:48 <CakeProphet> so is superviser just a name for a process that is monitoring a child? Or is there special stuff.
21:13:02 <AnMaster> I'll let cpressey explain this one
21:13:12 <cpressey> I don't remember.
21:13:28 <cpressey> I think there is special stuff for it at least in OTP, but I don't do OTP.
21:13:44 <cpressey> More educational to roll your own :)
21:14:12 <cpressey> Wait, is it even called OTP? What's all that boilerplate they provide for processes, that you don't need, called?
21:14:20 <CakeProphet> ...and what is OTP?
21:15:07 <cpressey> No, not OTP. That just stands for Open Telecom Platform.
21:15:38 -!- bsmntbombdood has quit (Ping timeout: 265 seconds).
21:15:48 <CakeProphet> hmmm... erase() "returns the process dictionary and deletes it"
21:15:57 <CakeProphet> sounds bad to me.
21:16:11 <CakeProphet> oh... is that like register()'s dictionary?
21:16:24 <CakeProphet> -like
21:16:36 <cpressey> ahhh gen_server is what i was thinking of.
21:16:39 <cpressey> anyway
21:16:59 <cpressey> Don't use the process dictionary!
21:17:06 <cpressey> (Requisite admonishment.)
21:17:20 <CakeProphet> ...why not?
21:17:53 <cpressey> Because it's destructive update, leads to less clean code than writing functional, single-assignment code, etc, etc.
21:17:59 <cpressey> Use it if you like.
21:18:54 <cpressey> But ETS tables are probably better for any keeping around mutable state of any importance.
21:21:16 <AnMaster> cpressey, you don't use gen_server?
21:21:32 <CakeProphet> oh so process dictionary is different from using regster()
21:21:35 <AnMaster> and yes it is otp
21:21:37 <cpressey> AnMaster: No.
21:21:58 <AnMaster> CakeProphet, yes iirc register() allows you to name a process so you don't need to know the PID to call it
21:22:04 <CakeProphet> I thought you meant don't use register()... which seems like a good thing to me.
21:22:07 <AnMaster> also makes things easier to follow in crash dumps ;P
21:23:04 <AnMaster> CakeProphet, anyway, process dict is an "modify in place" storage area that should not be used in general
21:23:37 <AnMaster> only legal reason I can think of is the random module. which uses it to store the current prng state
21:23:50 <AnMaster> which is not global but per process
21:25:38 <CakeProphet> hibernate() is a cool function.
21:26:52 <CakeProphet> I'd use hibernate on objects/rooms that players are not current in.
21:26:57 <CakeProphet> *currently
21:27:02 -!- Phantom_Hoover has joined.
21:27:07 <CakeProphet> after a wait period.
21:27:23 <Phantom_Hoover> ???
21:28:14 <CakeProphet> ...talking about using hivernate() to save memory in an Erlang MUD client
21:28:35 <cpressey> CakeProphet: That's a new one to me, although ISTR a conversation about adding something like that it the language.
21:29:27 <CakeProphet> yeah, it basically reduces most of its performance/memory impact until it receives a new message.
21:29:44 <CakeProphet> and then calls a function that you pass to hibernate() when you call it.
21:29:55 <CakeProphet> because it destroys the call stack when you hibernate
21:30:03 * Phantom_Hoover wonders why the functional languages he knows of don't use the standard f(x, y, z) notation for functions
21:30:15 <CakeProphet> faster to type I assume.
21:30:21 <CakeProphet> lots of functions being used.
21:31:26 <CakeProphet> actually I'll probably just kill room processes after they're left vacant.
21:31:27 * oktolol wonders why mathematics doesn't use the more sensible f x y z notation
21:31:37 -!- oktolol has changed nick to oklopol.
21:32:03 <Deewiant> Or x y z f
21:32:06 <CakeProphet> actually...
21:32:11 <CakeProphet> smalltalk syntax is the best
21:32:39 <CakeProphet> f: x where: y and: z
21:32:45 <CakeProphet> ...I think.
21:32:48 <CakeProphet> it's been a while.
21:35:22 <Phantom_Hoover> Pointlessly verbose.
21:35:24 <oklopol> what's after and:
21:35:32 <oklopol> then:
21:35:34 <oklopol> also:
21:35:42 <CakeProphet> ....
21:35:44 <CakeProphet> nothing?
21:35:47 <CakeProphet> z?
21:36:02 <oklopol> what if you need more than 3 args
21:36:07 <CakeProphet> oh.
21:36:16 <CakeProphet> where/and aren't static names
21:36:21 <CakeProphet> they're method dependent
21:36:30 <oklopol> f: x where: y and: z but also: w and ofc: q
21:36:33 <CakeProphet> so when you define a method you specify the names
21:36:34 <Phantom_Hoover> Again, pointlessly verbose.
21:36:40 <CakeProphet> f:where:and:
21:36:45 <CakeProphet> I think is the syntax
21:37:06 <CakeProphet> I could see it being useful for particularly numerously argumented functions.
21:37:11 <oklopol> Phantom_Hoover: isn't math notation all about being verbose?
21:37:13 <CakeProphet> like named keywords in Python.
21:37:29 <CakeProphet> I think math notation was supposed to be concise...?
21:37:33 <CakeProphet> *is
21:37:37 <CakeProphet> well.. was, I guess.
21:37:50 <CakeProphet> since it does get out of hand.
21:38:02 <oklopol> often math notation seems to be concise at the expense of readability, judging by the fact most proofs are just english text
21:38:29 <oklopol> (another reason might be there isn't really standard notation for many things but just an english name)
21:38:53 <cpressey> Mathematicians would sooner pick a letter from another *alphabet* than make up a multi-character variable name...
21:39:02 <oklopol> :)
21:39:10 <cpressey> 'Cept category theorists.
21:39:17 <oklopol> and complexity theorists
21:39:22 <cpressey> But even they keep it to three, dawg.
21:39:33 <Phantom_Hoover> But using multi-character variable names is confusing.
21:39:55 <CakeProphet> Rel
21:39:58 <Phantom_Hoover> Unless you don't have multiplication or don't represent it as xy.
21:40:01 <oklopol> only if your objects use multiplication, Top isn't confusing in any way
21:40:15 <oklopol> because you don't have a T that likes to be multiplied
21:41:04 <CakeProphet> should I ever fiddle with process priority in erlang?
21:42:24 <cpressey> CakeProphet: Unlikely to need to.
21:44:00 <CakeProphet> save_calls is a nifty flag.
21:54:55 -!- CakeProphet has quit (Ping timeout: 258 seconds).
21:55:36 * Phantom_Hoover wonders if he can make his computer boot from an ISO image
22:01:12 <cheater99> i want alizar to win
22:01:14 <cheater99> OMGOMGOMGOMG
22:02:14 <cheater99> (i'm talking about germany's next top model)
22:09:22 -!- cheater99 has quit (Ping timeout: 248 seconds).
22:14:06 <AnMaster> <cpressey> Mathematicians would sooner pick a letter from another *alphabet* than make up a multi-character variable name... <-- yes but what about "log", "sin", "cos" and so on?
22:14:18 <AnMaster> of course those are function names
22:14:20 <AnMaster> but
22:14:29 <AnMaster> f(x) g(x) seems common for non-standard functions
22:14:38 <AnMaster> which again shows this terseness
22:16:03 <AnMaster> <CakeProphet> save_calls is a nifty flag. <-- ?
22:16:35 <AnMaster> * Phantom_Hoover wonders if he can make his computer boot from an ISO image <-- yes, just burn it to a CD
22:16:37 <AnMaster> ;P
22:16:45 <Phantom_Hoover> Don't have a CD.
22:17:04 <AnMaster> Phantom_Hoover, probably NAND memory with an USB interface will work too
22:17:21 <AnMaster> that is, memory stick
22:17:25 <AnMaster> of some sort
22:17:58 <Phantom_Hoover> Don't have one of them either.
22:18:21 <AnMaster> Phantom_Hoover, have more than one computer?
22:18:24 <AnMaster> if so: PXE
22:18:31 <AnMaster> that is, network boot
22:19:03 <AnMaster> Phantom_Hoover, also, _everyone_ has a usb stick these days.
22:19:08 <cpressey> Phantom_Hoover: Depending on why you need to boot from it... have you considered installing Bochs or VMWare?
22:19:18 <AnMaster> cpressey, or virtualbox
22:19:23 <AnMaster> vmware is pretty much crap nowdays
22:19:32 <AnMaster> and also expensive for the non-crap version
22:19:36 <AnMaster> while virtualbox is very nice
22:19:42 <AnMaster> bochs is slow
22:19:46 <Phantom_Hoover> For the installation of an OS from an ISO.
22:19:51 <AnMaster> I would suggest qemu rather than bochs
22:19:59 <AnMaster> cpressey, so yeah strange suggestions
22:20:00 <cpressey> AnMaster: I'm working on VMWare at work -- I may try virtualbox, if you think it's better
22:20:01 <Phantom_Hoover> Or just booting a live CD.
22:20:22 <AnMaster> cpressey, I think virtualbox is better than the free vmware server thingy at least
22:20:27 <AnMaster> cpressey, don't know about vmware workstation
22:20:28 <cpressey> AnMaster: Weird? My first inclination was to suggest DOSBox. ;)
22:20:39 <AnMaster> cpressey, okay that is bloody strange
22:22:45 <cpressey> Phantom_Hoover: You may be up the creek. Consider going out and purchasing a couple of blank CDs/DVDs... assuming you have some way to burn to them.
22:23:15 -!- cheater99 has joined.
22:24:06 <AnMaster> Phantom_Hoover, or some usb memory assuming you can boot from that
22:24:24 <AnMaster> a lot of linux installers can run from usb memory pins
22:25:10 -!- Gregor has joined.
22:28:39 -!- cheater99 has quit (Ping timeout: 258 seconds).
22:28:55 <Phantom_Hoover> Pins?
22:43:17 -!- cheater99 has joined.
22:45:41 -!- CakeProphet has joined.
22:45:47 -!- CakeProphet has quit (Changing host).
22:45:48 -!- CakeProphet has joined.
22:46:27 <CakeProphet> hmmm
22:47:40 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:51:17 <CakeProphet> is there a name for the formal language that contains all other languages as a subset?
22:51:32 <CakeProphet> or do you have to define that per-alphabet?
22:51:41 <cpressey> CakeProphet: .......... OmniGlot?
22:52:16 <CakeProphet> I was just thinking about formal languages for some reason
22:52:18 <CakeProphet> like with IRC bots
22:52:49 <CakeProphet> if you have a language, like the language of IRC, that allows this sort of superlanguage within itself
22:53:04 <CakeProphet> then you can nest any number of equally complex languages within.
22:53:15 <cpressey> Well... modulo quoting rules, yes.
22:53:18 <CakeProphet> right.
22:53:30 <CakeProphet> on IRC that would be \n
22:53:50 <cpressey> So it's never really possible to embed Omniglot proper.
22:53:59 <cpressey> If you try, you become Omniglot.
22:54:14 <cpressey> Well, maybe with a prefix.
22:54:17 <cpressey> Hm.
22:54:53 <cpressey> Whhh
22:55:25 <CakeProphet> hmmm
22:55:36 <CakeProphet> I wonder, can you apply the concept of a Kleen star to automata?
22:55:43 <CakeProphet> *Kleene
22:56:40 <cpressey> Sure.
22:56:58 <CakeProphet> ...I do not know how though
22:57:15 <cpressey> Well,
22:57:17 <CakeProphet> it seems quite tailored to an automata that reports success or failure or string patterns.
22:57:36 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:57:39 <cpressey> Oh, ok. I was assuming that as the definition for automaton.
22:59:22 <CakeProphet> I mean
22:59:53 <CakeProphet> could you construct an operation that takes an autoamton and produces a new one with similar semantics to the Kleene star?
23:00:14 <CakeProphet> or, in general, what kind of operations on automata can one make?
23:00:48 <cpressey> If the automaton accepts/rejects strings, sure. If not -- not sure.
23:01:26 <cpressey> If it's a transducer (takes input, produces output), then probably still yes.
23:02:08 -!- GreaseMonkey has joined.
23:05:06 -!- tombom_ has quit (Quit: Leaving).
23:12:36 -!- iamcal has joined.
23:14:20 -!- cal153 has quit (Ping timeout: 245 seconds).
23:19:41 <CakeProphet> hmmmm... wonder if you could make an automata in which present states are based on future states.
23:19:51 <CakeProphet> using some kind of fancy nondeterminism to actually implement that.
23:20:22 <cpressey> Again, I will be bold and say "Sure".
23:20:39 <cpressey> But, uh.
23:20:54 <GreaseMonkey> oh hey it's cpressey
23:20:55 <cpressey> It kind of cheapens the concept "state".
23:21:41 <GreaseMonkey> CakeProphet: it'd be a hell of a job making a compiler for it, i guess
23:22:01 <CakeProphet> well... essentially determinization occurs backwards... sort of
23:22:13 <CakeProphet> so you have these undetermined states that become determined upon future input.
23:22:20 <cpressey> 10: if (this program terminates) then terminate else goto 10
23:22:41 <CakeProphet> so, to implement, you're basically executing every possible path, and reduce as new states are received.
23:23:01 <cpressey> That one would seem to have two perfectly valid execution paths
23:23:38 <CakeProphet> hmmm... well it'd be like
23:24:02 <CakeProphet> state 2 is A if state 3 is B
23:25:23 <CakeProphet> and state 3 is B if your mom terminates.
23:25:50 <CakeProphet> ...I think you'd end up having to solve the halting problem somewhere in the transition function
23:26:25 <CakeProphet> though it might be optional... thus making the concept "more" possible.
23:26:34 <cpressey> Well, you'd need some way to at least *look for* solutions to it, yes -- fixed points. Which is quite possible, as long as you don't mind it not being perfect.
23:26:43 <GreaseMonkey> oh, right
23:26:52 <GreaseMonkey> future input, not future states... or is it?
23:27:04 <CakeProphet> ...future states.
23:27:18 <GreaseMonkey> ouch.
23:27:18 <CakeProphet> not /all/ states have to be determined by future states though
23:27:26 <CakeProphet> but
23:27:31 <CakeProphet> since some states are determined by future states
23:27:35 <CakeProphet> you have points of nondeterminism
23:27:41 <cpressey> Anyway, must be off. Later, folks.
23:27:49 -!- cpressey has left (?).
23:27:52 <GreaseMonkey> <cpressey> 10: if (this program terminates) then terminate else goto 10 <-- but what if you'd rather go to 10 instead? then it won't terminate.
23:27:54 <GreaseMonkey> cya...?
23:28:03 <CakeProphet> in which you must run the program for /every/ possible state up until the point in state that uniquely determines your past state
23:28:27 <CakeProphet> and that narrows the execution paths down to one (maybe more?)
23:30:39 <CakeProphet> so... I would go ahead and say that this computational model is impossible for programs with infinite possible states.
23:30:42 <CakeProphet> hmmm... well
23:30:45 <CakeProphet> maybe not.
23:31:10 <CakeProphet> a Turing machine stores an infinite number of FSMs
23:31:14 <CakeProphet> so
23:31:25 <CakeProphet> as long you're working with one or more FSMs you should be good.
23:31:28 <CakeProphet> +as
23:31:35 <CakeProphet> and not... infinite state machines or what have you.
23:31:52 <CakeProphet> because you cannot split execution into infinite paths.,
23:32:00 <CakeProphet> ...conceptually, but not practically.
23:34:26 -!- coppro has joined.
23:35:22 <CakeProphet> hmmm
23:35:31 <CakeProphet> I think to implement this
23:35:44 <CakeProphet> you'd need to have one of the possible states to be bottom
23:36:09 <oklopol> CakeProphet: nondeterminism essentially bases present states on future states, you just fail if you at some point go to a fail state instead of the future state you wanted to get to
23:36:32 <CakeProphet> as in you need something like "if state of automata X is S at time T, then halt, otherwise..."
23:36:48 <CakeProphet> oklopol: yeah... okay. What you're saying sounds equivalent to what I'm saying.
23:37:30 <CakeProphet> so then the question is... can you remove the halt restriction?
23:37:34 <CakeProphet> sanely?
23:38:45 <CakeProphet> hmmm
23:38:54 <oklopol> and nondeterministic turing machines are in fact stronger than deterministic ones, for instance you can solve the halting problem of a deterministic one, say "yes, it doesn't halt" and if it does halt then fail
23:39:00 <oklopol> hmm
23:39:29 <CakeProphet> x = 2; if (x is ever 3): x = 1 (in the present) else: x = 4
23:39:41 <CakeProphet> you would branch at that condition
23:39:44 <CakeProphet> and then in the future
23:39:45 <oklopol> i'm not sure that's a sensible model in general, but it is consistent, can't solve it's own halting problem for instance
23:39:56 <CakeProphet> when x becomes 3 in one of the possible executions
23:40:02 <CakeProphet> you halt
23:40:53 <CakeProphet> so... essentially the halting semantics are still there I guess...
23:41:00 <CakeProphet> but only in implementation
23:42:25 -!- Oranjer has joined.
23:42:36 <oklopol> no okay umm
23:42:53 <CakeProphet> something wrong?
23:43:20 <oklopol> of course a nondeterministic turing machine should halt if there's a computation path that says yes, which can be emulated with a tm
23:43:47 <oklopol> so what i'm thinking is not a nondeterministic tm exactly, i wonder what i'm thinking...
23:44:24 <CakeProphet> oh, the one that can solve halting problem for deterministic turing machines?
23:44:29 <oklopol> yes
23:44:42 -!- biber has joined.
23:44:44 <CakeProphet> yeah... not nondeterministic then, because that would mean you can simulate the algorithm that does that in a tm
23:45:16 <CakeProphet> hmmm... is it quantum maybe? I dunno
23:45:27 <coppro> quantum = nondeterministic
23:45:30 <CakeProphet> the only other types of tm I know are probabilistic and quantum
23:45:41 <CakeProphet> coppro: not quite equal
23:45:45 <CakeProphet> I'd say they're conceptually distinct.
23:45:47 <oklopol> no quantum is not nondeterministic
23:45:59 <oklopol> just like nondeterministic != exponential time
23:45:59 <coppro> oh
23:46:10 <coppro> oh
23:46:14 <coppro> ok I get it
23:46:26 * CakeProphet is greatly enjoying the concept of nondetermnism.
23:46:32 <CakeProphet> spelled properly.
23:46:36 <oklopol> well not "just like" except in the sense that both are often confused
23:47:28 <CakeProphet> so basically my future state condition language is nondeterministic?
23:48:21 <CakeProphet> if x will be 2 then x = 1 else x = 3
23:48:28 <CakeProphet> is conceptually the same as
23:48:32 <CakeProphet> x = 1 and 3
23:49:14 <CakeProphet> ...well no
23:49:22 <CakeProphet> I was going to add some more to that, but my idea didn't hold
23:49:28 -!- pikhq has joined.
23:49:46 <CakeProphet> x = 1 and 3 until x = 2
23:49:47 <CakeProphet> essentially
23:50:01 <oklopol> so basically in my model you can check a language whose complement is in RE, i guess that's... co-turing machines? :P
23:50:08 <CakeProphet> (English until, not Perl until :P )
23:50:16 <GreaseMonkey> x = 3 until x = 2 then x = 1
23:50:19 <oklopol> (because you say yes unless at some point the computation finds a problem with the input)
23:51:03 <oklopol> (so the complement -- problems with input -- can be recursively enumerated)
23:51:04 <CakeProphet> GreaseMonkey: well see... you have to do both 1 and 3
23:51:11 <CakeProphet> because either could result in x becoming 2 later
23:51:25 <GreaseMonkey> hmmkay
23:51:25 <CakeProphet> once x becomes 2... you can eliminate one
23:51:40 <CakeProphet> hmmmm...
23:51:51 <GreaseMonkey> x = (3 until x = 2 then 1)
23:52:27 <CakeProphet> that would implement a kind of backtracking
23:52:45 <GreaseMonkey> yes
23:52:53 <CakeProphet> though... hmmm
23:53:01 <CakeProphet> you have causality issues there.
23:53:05 <GreaseMonkey> "STABLE TIME LOOP ACHIEVED"
23:53:19 <oklopol> so okay
23:53:35 <oklopol> what i was originally thinking is a machine that can check any language in RE \cup co-RE
23:53:36 <CakeProphet> ...thinking about future states in a program makes my head hurt...
23:53:46 <GreaseMonkey> once you've hit x = 2 normally and backtracked, if you hit a halt before x = 2, then you have to backtrack AGAIN
23:54:00 <oklopol> because you can always guess YES/NO, and then run until you find proof that the string is in the language, or proof that it's not
23:54:25 <oklopol> this is not at all what nondeterministic turing machines do, i've just needed a model like this
23:54:40 <oklopol> now let's see what you've been talkign about
23:54:41 <oklopol> *talking
23:54:57 <CakeProphet> I have no clue what I'm talking about
23:55:04 <CakeProphet> but I think semantically it involves solving the halting problem
23:55:37 * CakeProphet finds a good operator for will equal
23:55:42 <CakeProphet> hmmm
23:55:59 <GreaseMonkey> @= ?
23:56:18 <CakeProphet> I like ?=
23:56:40 <CakeProphet> if x ?= C then A else B
23:56:54 <oklopol> i actually don't know anything about the probabilitic models of computation
23:57:07 <CakeProphet> x = A and B until x = c
23:57:12 <oklopol> although it's not very hard to guess how that's best formalized
23:57:42 <CakeProphet> see
23:57:53 <CakeProphet> I think I've figured it out
23:57:58 <CakeProphet> A can be determined completely
23:58:03 <CakeProphet> if x becomes C in the future
23:58:04 <CakeProphet> but B
23:58:13 <CakeProphet> cannot, because if x does not ever equal C
23:58:26 <CakeProphet> then it will never be determined whether or not x was B
23:58:31 <CakeProphet> until the program halts.
23:58:59 -!- oerjan has joined.
23:59:28 <GreaseMonkey> x = (x ?= 2 ? 1 : 3);
23:59:29 <GreaseMonkey> x = (x == 3 ? 2 : 4);
23:59:32 <CakeProphet> so being able to simulate those semantics with a tm would require solving of the halting problem.
23:59:35 <GreaseMonkey> KABOOM
23:59:37 <oklopol> oerjan: i say stupid things in the log, just warning you if you comment on them before reading my elaborations, i might swat you
2010-06-11
00:00:24 <CakeProphet> but I mean... I guess you could just continue having a non-determined x until the program halts
00:00:27 <CakeProphet> and then when it does
00:00:30 <CakeProphet> deduce that x was B
00:00:32 <oerjan> oklopol: the logs are long, and you are not nickpinging me, so...
00:00:35 <CakeProphet> and then flush IO and all that.
00:00:38 <oklopol> oerjan: good
00:00:40 <CakeProphet> for the x=b case
00:00:48 <CakeProphet> but you'd have to stipulate that /all/ programs halt.
00:00:53 <oerjan> whew, google seems to have removed that background annoyance again
00:01:02 <oklopol> oerjan: i redefined nondeterministic tm's and realized they have an obvious existing definition that's very different.
00:01:42 <oklopol> oerjan: what annoyance, by default there was no background annoyance was there?
00:02:42 <CakeProphet> nondetermistic branch points = parabolas. :D
00:03:03 <oklopol> ?
00:03:08 <CakeProphet> ...rofl. nevermind.
00:03:13 <oerjan> oklopol: well if it wasn't default i must have triggered it, because earlier today google's front page started fading in background images (somewhat varying ones)
00:03:22 <oerjan> (i use google.no of course)
00:03:22 <CakeProphet> I guess non-deterministic functions are parabolas
00:03:35 <oklopol> non-deterministic functions? relations?
00:03:49 <CakeProphet> ...is that what a relation is technically?
00:04:11 <oerjan> or vice versa
00:04:24 -!- MizardX has quit (Ping timeout: 276 seconds).
00:04:35 <oerjan> "multivalued functions" are isomorphic with relations
00:04:37 <oklopol> a function from A to B is a subset S of AxB such that for each a \in A there's exactly one b \in B such that (a, b) \in S
00:04:44 <oklopol> well exactly one pair for a
00:04:45 <CakeProphet> ah okay.
00:05:09 <oklopol> in a relation you let there be more pairs for a, and don't require there to be any, so basically just any subset of AxB
00:05:27 <oklopol> so multivalued functions
00:05:40 <oklopol> *or don't
00:05:41 <oerjan> although a function is single-valued by default (i.e. a multivalued function is not technically a function, at least not on the same set)
00:06:09 <oerjan> you can consider a multivalued function (and thus a relation) to be a function from A to the _power set_ of B
00:06:26 <CakeProphet> hmmm... might plan an esolang using future conditions
00:06:36 <oklopol> or you could just not assume multivalued function means function that is multivalued, but instead that it's a term.
00:06:52 <oklopol> this is what i do
00:07:02 <CakeProphet> I believe ?!= would have a reversed relationship of its state changes... the else-branch could be determined before halt but the true-branch cannot
00:07:17 <oerjan> oklopol: multivalued functions are important in complex analysis
00:07:35 <oklopol> i know that
00:07:40 <oklopol> perhaps you misunderstood me
00:08:02 <oklopol> i'm just saying if you say f is a multivalued X, to me that does not imply it's an X
00:08:02 -!- Oranjer has left (?).
00:08:09 <oklopol> unless that's the convention
00:08:20 <CakeProphet> hmmm... I don't think you can intermingle normal relationship operators with future-relationals
00:08:43 <CakeProphet> (!).(?=) is not the same as ?!=
00:09:13 <oerjan> oklopol: well that's what i was saying too
00:09:27 <CakeProphet> well... it might be the same actually... but I don't know how you could implement it on tm
00:09:41 <oerjan> it's a generalization not a special case
00:09:46 <oklopol> right
00:10:19 <oklopol> can you think of another example where X Y isn't a Y
00:10:57 <oerjan> non-commutative field
00:11:11 <oerjan> (or skew field)
00:11:33 <oerjan> == division ring, i guess
00:11:40 <CakeProphet> hmmm... ah okay
00:11:41 <CakeProphet> so
00:11:45 <CakeProphet> you don't have to wait until halt
00:11:48 <CakeProphet> if you specify a time
00:11:57 <CakeProphet> in which this state is supposed to occur
00:12:23 * pikhq may have a heart attack
00:12:26 <oklopol> oerjan: so maybe we could division ring multivalued functions... how about functional relations?
00:12:41 <CakeProphet> by default the time parameter of the operation is "from current time to time of halt"
00:12:41 <pikhq> ... Did that not turn that into a CTCP ACTION?
00:12:43 <oerjan> oklopol: perhaps also non-associative ring, rings may often be associative by default
00:12:58 <oklopol> ring = associative if * is?
00:13:02 <oerjan> yes
00:13:04 <pikhq> I was unaware such an IRC client existed.
00:13:08 <oklopol> hmm right + is always abelian and nice in every way
00:13:24 <oerjan> oklopol: it's hard to distribute over anything non-abelian
00:13:35 <pikhq> Anyways. Dresden Codak updated... A week... After his previous update.
00:13:35 <oklopol> is it?
00:13:42 <oklopol> why?
00:13:45 <pikhq> This is the first time he has ever updated quickly. Ever.
00:14:04 <CakeProphet> what kind of abstract algebra is functions and the composition operator?
00:14:39 <oerjan> oklopol: (a+b)(c+d) = (a+b)c + (a+b)d = ac+bc+ad+bd but also = a(c+d) + b(c+d) = ac+ad+bc+bd
00:14:52 <oerjan> you see you get the middle terms switched for free
00:15:55 <CakeProphet> hmmm... I think the concept I have of future-state determinism is distinct from non-determinism
00:16:02 <oklopol> i'm not sure i see how that's a problem, but interesting point
00:16:03 <oerjan> if you let a=b=1 then that gives you c+c+d+d = c+d+c+d
00:16:07 <oklopol> h
00:16:09 <oklopol> hm
00:16:10 <oklopol> oh
00:16:13 <CakeProphet> because not all programs can be simulated via a non-halting tm
00:16:33 <CakeProphet> er... rather
00:16:43 <CakeProphet> non-halting programs on this kind of machine can't be simulated via tm
00:16:45 <oerjan> oklopol: and if addition is a group it's then automatically abelian
00:16:59 <oklopol> shit
00:17:02 <oklopol> that's cool
00:17:15 <oklopol> should've seen that coming
00:18:17 <oklopol> i've always found the structures with two operators a bit too complicated for my taste
00:19:21 <oklopol> even though fields seem to be a locally perfect algebra (locally as in the group, ring, field, algebra over field etc family; clearly boolean algebras are the locally perfect algebra in the lattic family)
00:19:29 <oklopol> *as in in
00:19:34 <CakeProphet> ha... imagine a similar construct with a while loop instead of an if
00:19:42 <CakeProphet> while x ?= 2 ....
00:19:56 <oklopol> oerjan: do you agree with this very mathematical statement
00:20:07 <oklopol> *lattice
00:20:21 <oerjan> oklopol: you can think of rings as essentially the endomorphisms of an abelian group, that's one reason why they tend to pop up i think
00:20:44 <oerjan> *ring elements
00:21:00 <CakeProphet> hmmm...
00:21:14 <CakeProphet> no you definitely cannot determinize with a while loop and the will-equal operator
00:21:40 <CakeProphet> far too many non-halting cases
00:21:54 <oklopol> so objects = endos, addition means the combined endo "take images and add them", and * composition
00:22:21 <oerjan> yeah
00:22:51 <oerjan> oklopol: i have no idea what your very mathematical statement means :D
00:23:21 <CakeProphet> perhaps we can devise a group concerning very mathematical statements
00:23:29 <CakeProphet> to develop an understanding of what oklopol means.
00:23:46 <oerjan> eek
00:23:55 <CakeProphet> :)
00:24:02 <oklopol> err
00:24:15 <CakeProphet> hmmm... lets see
00:24:17 -!- biber has quit (Ping timeout: 276 seconds).
00:24:22 <oklopol> i recall you need commutativity of + to get one of the distributivities to work
00:24:22 <CakeProphet> what other turing machine ideas can I think of...
00:24:26 <CakeProphet> fuzzy turing machine?
00:24:49 <oklopol> oerjan: well umm
00:25:10 <oklopol> aaaanyway
00:26:16 <oklopol> a*(b+c)x = a(b(x) + c(x)) = abx + acx simply because a is a homomorphism, (a+b)cx = acx + bcx by definition of + in the endo ring
00:27:52 <CakeProphet> hmmm... @ is actualy better if you change ?= to a ternary operator
00:28:02 <CakeProphet> x = 2 @ [..halt]
00:28:34 <oerjan> mhm
00:30:06 <CakeProphet> first two operators are the future values to be tested for future equality and the third argument is a set of times represented in execution steps
00:30:14 <CakeProphet> *arguments not operators
00:31:46 <CakeProphet> hmmm... the semantics of ?= are not very elegant to simualte on a turing machine
00:31:54 <CakeProphet> they change entirely when there are two variables involved
00:32:00 <CakeProphet> x?=y
00:32:43 <CakeProphet> well no... I guess you just "watch" those variables from then on
00:32:51 <CakeProphet> similar in concept to a "when" statement
00:32:59 <oklopol> or maybe it was just that you needed that a is a homomorphism, it could be considered "surprising" that the proofs of left and right distributivity are different, because they look symmetric
00:33:26 <oklopol> "proofs"
00:34:57 <oerjan> oklopol: i think that without commutativity of +, pointwise addition of homomorphisms does not necessarily give a homomorphism
00:35:05 <oklopol> ahh
00:35:29 <oerjan> so while the homomorphisms still exist, they don't form a group
00:38:11 -!- FireFly has quit (Quit: swatted to death).
00:40:30 -!- relet has quit (Quit: Leaving.).
00:40:39 <oklopol> so (g+h)(x+y) = g(x+y)+h(x+y) = gx+gy+hx+hy = gx+hx+gy+hy = (g+h)x + (g+h)y
00:40:52 <oklopol> so you're right
00:41:14 <oklopol> that didn't take me 5 minutes to prove, i was looking for a sleeping bag
00:41:19 <oklopol> *(...)
00:41:53 <oerjan> IF YOU SAY SO
00:47:33 -!- sebbu has quit (Ping timeout: 264 seconds).
00:47:41 -!- sebbu has joined.
01:01:52 -!- Oranjer has joined.
01:16:42 -!- augur has joined.
01:34:51 -!- pikhq has quit (Read error: Connection reset by peer).
01:37:29 -!- oklopol has quit.
01:59:36 -!- lament has joined.
02:01:06 <CakeProphet> HOMESPRING has hilarious source code.
02:02:56 <oerjan> i always thought there was something fishy about it
02:04:33 <CakeProphet> ha
02:04:46 <CakeProphet> What exactly does its namesake print out as a program?
02:05:22 <CakeProphet> Hatchery Oblivion through Marshy Energy from Snowmelt Powers Rapids Insulated but Not Great
02:05:40 <CakeProphet> it would be awesome if it were a quine.
02:47:01 <AnMaster> oerjan, hi there
02:47:08 <AnMaster> oerjan, odd time for you to be awake during?
02:47:14 <AnMaster> same for me
02:47:26 <AnMaster> (in my defence I'm doing ubuntu update)
02:47:35 <oerjan> my times to be awake are always odd
02:47:50 <AnMaster> oerjan, usually you stay on CET/CEST though
02:47:56 <AnMaster> oerjan, not so today I notice
02:48:06 <oerjan> huh?
02:48:10 <AnMaster> oerjan, no?
02:48:43 <oerjan> no. the only reason why you are noticing it now is presumably because _you_ for once are awake.
02:48:49 -!- coppro has quit (Ping timeout: 260 seconds).
02:49:06 <AnMaster> oerjan, hah
02:49:16 <AnMaster> oerjan, my stomach. I'm hungry
02:49:17 <AnMaster> damn
02:49:29 <AnMaster> what shall I do? eat during night?
02:49:34 <AnMaster> what a strange concept
02:49:42 <oerjan> O_o
02:49:47 <AnMaster> oerjan, anyway I been awake during this time before
02:49:59 <AnMaster> often not on irc though
02:50:04 <oerjan> mhm
02:50:28 <AnMaster> oerjan, also this is just upgrade to karmic. Tomorrow (_NOT_ tonight!!) waits an upgrade to lucid
02:50:41 * AnMaster hates the ubuntu release names
02:51:23 <oerjan> Alliterophobic AnMaster
03:07:12 <AnMaster> oerjan, hah
03:12:04 <Sgeo_> Attn: Everyone who loves the SCP Foundation wiki:
03:12:23 <Sgeo_> http://scp-wiki.wikidot.com/forum/t-245761/a-sad-day
03:14:08 <lament> lol
03:15:30 -!- jcp has quit (Ping timeout: 276 seconds).
03:15:42 <lament> i love how Dr Gears has the audacity to call Fishmonger petty
03:17:15 <Sgeo_> Hm?
03:17:22 <Sgeo_> You're active on the wiki?
03:22:36 <AnMaster> okay that's absurd, the bluetooth icon (16x16 or maybe 24x24) in the menu bar turned into about 4x4
03:22:37 <AnMaster> oerjan, ^
03:23:32 <AnMaster> strange are the side effects of upgrade-in-progress
03:29:53 <lament> Sgeo_: no, first time i see it
03:29:58 <AnMaster> ARGH karmic gdm is horrible
03:30:03 <AnMaster> is lucid any better?
03:30:30 <GreaseMonkey> it's like purple and stuff, i think
03:30:37 <GreaseMonkey> although i've taken steps to de-ubuntu my laptop
03:30:45 <GreaseMonkey> so i don't have the proper ubuntu GDM
03:31:49 <AnMaster> GreaseMonkey, can you get the old bluish theme and have a "username" "password prompt"
03:31:59 <AnMaster> rather than showing all user names and letting user click on them
03:32:02 <AnMaster> which is a security risk
03:32:13 <GreaseMonkey> AnMaster: haven't done that :/
03:32:34 <GreaseMonkey> i've managed to eliminate the stupid loading screens though
03:32:39 <AnMaster> GreaseMonkey, how?
03:32:44 <AnMaster> I need that done as soon as possible
03:32:50 <GreaseMonkey> it's somewhere, uh
03:32:54 <AnMaster> GreaseMonkey, well it is upgraded from jaunty to karmic now
03:33:22 <GreaseMonkey> i can't quite remember, sorry :/
03:33:30 <AnMaster> GreaseMonkey, damn you ;P
03:33:33 <GreaseMonkey> there's some weird script-type-thing though
03:33:39 <AnMaster> GreaseMonkey, where?
03:33:46 <GreaseMonkey> i don't think it's /usr/share/gdm though
03:33:52 <GreaseMonkey> there's so much crap in so many places
03:34:01 <AnMaster> GreaseMonkey, I want to have text thing. No splash at any point
03:34:06 <AnMaster> like I had in jaunty
03:34:09 <AnMaster> textual boot
03:34:27 <GreaseMonkey> for a textual boot you'll need a stock kernel
03:34:30 <GreaseMonkey> i think
03:34:40 <AnMaster> GreaseMonkey, I use a stock one currently. Need an initrd anyway
03:34:44 <GreaseMonkey> and then you'll have to get rid of some scripts i think
03:34:49 <AnMaster> due to encrypted /
03:34:53 <GreaseMonkey> hmmkay
03:34:55 <AnMaster> GreaseMonkey, I see
03:35:04 <AnMaster> well it seemed semi-textual for me
03:35:09 <AnMaster> up to a point
03:35:11 <GreaseMonkey> do you have a text-mode "Ubuntu 10.04" thing?
03:35:19 <AnMaster> GreaseMonkey, it was doing kexec to reboot
03:35:23 <AnMaster> so this could be non-standard
03:35:25 <GreaseMonkey> hmmkay
03:35:29 <AnMaster> compared to normal reboot
03:35:37 <GreaseMonkey> i think i did a full reboot
03:35:38 <AnMaster> it is still doing... stuff
03:35:44 <AnMaster> GreaseMonkey, not during upgrade for me
03:36:02 <GreaseMonkey> wait actually this is 10.04 i'm thinking of @_@
03:37:11 <AnMaster> GreaseMonkey, right.. I'm planning that after I slept for a few hours
03:37:18 <GreaseMonkey> hmmkay
03:37:21 <AnMaster> 9.10 atm, had to go by it
03:39:23 <AnMaster> GreaseMonkey, god dammit I'm going to switch from gdm to kdm or xdm just to get an usable login
03:40:07 <AnMaster> GreaseMonkey, how do I get rid of the mail icon in the notification area?
03:40:10 -!- augur has quit (Ping timeout: 245 seconds).
03:40:12 <AnMaster> I don't use that mail client
03:40:41 <GreaseMonkey> AnMaster: dunno...
03:42:19 -!- coppro has joined.
03:50:46 <CakeProphet> hmmm... anyone ever try to make a Prolog quine?
03:53:39 <oerjan> shouldn't be too hard
03:54:28 * oerjan googles
03:54:38 <CakeProphet> nothing in programming is ever really too hard
03:54:49 <CakeProphet> it's just a matter of expended effort.
03:55:40 <oerjan> hm that thing at http://www.nyx.net/~gthompso/self_prolog.txt looks more complicated than i expected
03:56:00 <CakeProphet> it would seem that the query could be used to simplify things somehow.
03:57:04 <AnMaster> phew, will continue tomorrow
03:57:40 <CakeProphet> everytime I look at prolog, I have to think about it much more than I should.
03:58:42 <CakeProphet> like constructed trees by describing child-sibling-parent relationships rather than performing commands to build the structure itself.
04:00:21 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
04:03:33 -!- pikhq has joined.
04:06:15 -!- GreaseMonkey has joined.
04:10:46 -!- bsmntbombdood has joined.
04:11:07 -!- augur has joined.
04:12:57 -!- Mathnerd314 has joined.
04:15:33 -!- jcp has joined.
04:16:50 -!- augur has quit (Ping timeout: 245 seconds).
04:18:16 <oerjan> yay :D http://www.google.com/trends/hottrends?q=remove+google+background&date=2010-6-10&sa=X
04:18:53 <CakeProphet> hmmm...
04:18:57 <Oranjer> what is the google background
04:19:13 <CakeProphet> can anyone think of a situation in a concurrent design in which you must synchronize two threads to do something at the exact same time?
04:19:32 <CakeProphet> I wonder how you would go about doing that.
04:19:38 <oerjan> the background picture(s) that google's frontpage showed earlier today, and which i complained about
04:19:48 <oerjan> *about here
04:20:17 <oerjan> or well i guess it's yesterday
04:31:57 -!- lament has quit (Ping timeout: 260 seconds).
04:36:25 <Sgeo_> Another Radio Linden song in the wild!
04:36:32 <Sgeo_> The Hanks - Once Again
04:37:39 <oerjan> unter den linden labs
04:48:11 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
04:50:25 -!- GreaseMonkey has joined.
05:05:42 -!- pikhq has quit (Remote host closed the connection).
05:06:49 -!- pikhq has joined.
05:15:59 -!- Oranjer has left (?).
05:22:46 -!- oerjan has quit (Quit: Reboot).
05:32:54 -!- oerjan has joined.
05:43:22 -!- lament has joined.
06:44:22 -!- CakeProphet has quit (Read error: Operation timed out).
06:53:14 -!- coppro has quit (Ping timeout: 260 seconds).
06:58:22 -!- coppro has joined.
07:06:13 -!- tombom has joined.
07:09:23 -!- Rugxulo has joined.
07:23:07 <Rugxulo> AnMaster never heard of bologna? (pronounced "baloney")
07:24:04 <Rugxulo> "myyyyyyy bologna has a first name, it's O S C A R !!!!!!!!" ...
07:24:14 <Rugxulo> (Oscar Meyer, famous brand name)
07:24:33 <pikhq> He's not American.
07:24:56 <pikhq> And as such has not received our pro-artificial-meat-like-product propoganda.
07:25:20 <oerjan> "Bologna sausage er det nærmeste servelat man kommer i USA."
07:25:28 <Sgeo_> http://scp-wiki.wikidot.com/revised-entry
07:25:44 <oerjan> (i.e. us:bologna ~ very approximately no:servelat
07:25:46 <oerjan> )
07:30:20 <Rugxulo> yeah, it's just cheap, round, sliced lunch meat
07:30:42 <Rugxulo> usually a mix of several things (turkey, beef, chicken, etc... TRIPE FTW!!!!)
07:30:47 <Rugxulo> ;-)
07:31:06 <pikhq> I'd hesitate to call it meat.
07:31:21 <Rugxulo> it's meat, just cheap and somewhat artificially mixed together
07:31:32 <Rugxulo> tastes fine to me, but some don't like it
07:31:43 -!- augur has joined.
07:33:49 -!- Geekthras has quit (Ping timeout: 265 seconds).
07:38:55 * Rugxulo still isn't quite sure he understands what SCP is (logreading)
07:39:52 <oerjan> cooperative fiction, afaict
07:40:28 <pikhq> SCP is amazing, scary-as-hell, cooperative fiction.
07:41:18 <Rugxulo> omg, u banndz me, I well telle mah lawyur awn u!!!
07:41:53 <oerjan> that threat damn well _should_ be empty, since the wiki has a CC license
07:42:19 <Rugxulo> well, the world is crazy enough, that's for sure ;-)
07:44:08 <Rugxulo> amazing how something so useless can be fought over so intensely
07:47:42 <oerjan> http://en.wikipedia.org/wiki/Sayre's_Law
07:50:38 -!- tombom has quit (Quit: Leaving).
07:53:00 -!- Geekthras has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:22 -!- pikhq has quit (Remote host closed the connection).
08:05:15 -!- cheater99 has quit (Ping timeout: 272 seconds).
08:12:25 -!- cheater99 has joined.
08:15:13 -!- oerjan has quit (Quit: Good night).
08:32:35 -!- Rugxulo has left (?).
09:09:24 -!- lament has quit (Ping timeout: 264 seconds).
09:27:18 -!- MizardX has joined.
10:16:56 -!- BeholdMyGlory has joined.
10:31:36 <augur> AnMaster!
10:32:05 <augur> Gracenotes!
10:32:14 <augur> Gregor!
10:32:18 <augur> Deewiant!
10:32:28 <augur> uorygl!
10:32:45 <coppro> this augurs ill
10:33:06 <augur> coppro!
10:33:14 <augur> draw spaceships with me
11:05:36 <cheater99> hi
11:05:45 <cheater99> sup
11:09:54 -!- sebbu has quit (Ping timeout: 260 seconds).
11:09:54 -!- sebbu2 has joined.
11:09:59 -!- sebbu2 has changed nick to sebbu.
11:14:32 -!- FireFly has joined.
11:35:25 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
12:10:36 -!- alissed has joined.
12:11:04 <alissed> I guess that too, but why is it in the topic?
12:11:18 <alissed> BTW, not on my usual box. Remember that unholy netbook?
12:11:33 <alissed> Trying to turn it into a proper Debian install for the first time again.
12:11:38 <alissed> Er. Second time.
12:12:00 <alissed> Which means bootstrapping an ARM debian, then making it work with its unholy bootloader. Who wants to help? :P
12:28:12 <alissed> Lively.
12:29:13 <uorygl> I looked up "furry" on Wiktionary. One of the definitions it gave was "An animal character with human characteristics; most commonly refers to such characters created by members of the furry fandom."
12:29:25 <uorygl> It had only two translations, but sure enough, one of them was Finnish.
12:32:55 <alissed> Why is that so sure?
12:33:01 <alissed> And why is this keyboard the devil
12:33:08 <alissed> 's soawn
12:33:12 <alissed> spawn?
12:36:44 <AnMaster> <augur> draw spaceships with me <-- http://conwaylife.com/wiki/index.php?title=Spaceship
12:37:14 <alissed> I appear to be unable to type colons. :
12:37:16 <alissed> Oh, there we go.
12:37:28 <alissed> AnMaster: Do you want to help me? You like Linux on perverse things, surely?
12:37:38 <AnMaster> alissed, who are you?
12:37:42 <AnMaster> alise?
12:37:48 <AnMaster> if so what is up with the nick
12:37:50 <alissed> The aliss'ed one.
12:37:58 <alissed> I'm on that evil netbook.
12:38:02 <AnMaster> ah
12:38:18 <AnMaster> alissed, as for helping you, maybe. A bit pissed off with upgrading of ubuntu atm
12:38:29 <alissed> I want to try and replace "horribly mangled semi-debian" with "debian".
12:38:44 <AnMaster> alissed, the former being ubuntu?
12:38:48 <alissed> It's an ARM box with some seemingly-custom bootloader, so this should be fun.
12:38:50 <alissed> No.
12:39:00 <AnMaster> alissed, okay do you have a CD drive in it?
12:39:18 <alissed> It's debian with a bunch of custom software and thinsg such as non-root users & the package manager removed. no CD, just usb: but I am going to use debootstrap
12:39:24 <alissed> So I should not need either.
12:39:37 <alissed> and nothing would install on it by stock. Insane bootloader, you see?
12:39:37 <AnMaster> so... how much disk space
12:40:10 <alissed> 459 meg of one gig
12:40:14 <alissed> (free)
12:40:23 <AnMaster> hm
12:40:25 <AnMaster> not a lot
12:40:31 <alissed> Not a lot -- but isn
12:40:36 <alissed> 't a base debian isntallation smaller?
12:40:41 <alissed> I'm sure it is.
12:40:43 <AnMaster> alissed, I don't know
12:40:56 <AnMaster> alissed, can you boot an usb stick on it?
12:40:58 <augur> AnMaster: :)
12:40:59 <alissed> Well, we can find out, surely.
12:41:00 <alissed> No.
12:41:09 <alissed> It appears to be hard-coded to boot only one thing.
12:41:18 <alissed> And the method it boots is a mystery to us, or at least it was last time.
12:41:31 <alissed> So I'm going to debootstrap /debian; that will yield a working chroot. I can go from thre...
12:41:33 <alissed> *there
12:41:50 <AnMaster> alissed, until we figured out how it boots I don't feel like touching the kernel image
12:42:08 <alissed> It has a "linuxrc".
12:42:12 <AnMaster> alissed, and this sounds like a PITA to fix
12:42:21 <AnMaster> alissed, okay I think that means it is an initrd
12:42:26 <AnMaster> not completely sure
12:42:30 <alissed> Yeah last time i broke it just sent it back and got this shiny reflashified one
12:42:30 <AnMaster> either that or initramfs
12:42:50 <AnMaster> alissed, where is the linuxrc?
12:42:56 <alissed> //
12:42:58 <alissed> /
12:43:10 <alissed> linuxrc starts with elf header
12:43:16 <alissed> -- ELF? on ARM?
12:43:18 <alissed> What?
12:43:27 <alissed> Is... does that work?
12:43:41 <AnMaster> alissed, hm
12:43:55 <AnMaster> alissed, ELF is a generic format
12:43:59 <alissed> oK.
12:44:05 <alissed> *OK
12:44:21 <AnMaster> alissed, it is supposed to be the same for all systems. linux use ELF everywhere basically
12:45:09 <alissed> So, I figure that after I have /debian, I should slowly, manually replace userspace with the Debian version. Then I can think about making a new linuxrc.
12:45:25 <AnMaster> alissed, okay linuxrc seems to be initrd, not initramfs
12:45:46 <AnMaster> alissed, not sure what it is doing in /
12:46:01 <AnMaster> alissed, and not sure how it would work there
12:46:16 <alissed> Well, it has no /boot. Or /root, even. /Desktop :P
12:46:24 <AnMaster> *shudder*
12:46:35 <alissed> ircing as root *fuck yeah*
12:46:54 <AnMaster> alissed, what command line tools does it have? The usual set?
12:47:14 <alissed> Limited - but - yes. No file(1), for instance.
12:47:21 <alissed> No emacs - but vi; so you
12:47:26 <alissed> re pissedright now :)
12:47:27 <AnMaster> nano?
12:47:31 <AnMaster> alissed, why are you on that netbook btw?
12:48:14 <alissed> Why not? I'm too tired to lumber upstairs onto the computer,h witso might as well have some fun
12:48:19 <alissed> with this
12:48:19 -!- MizardX has quit (Read error: Connection reset by peer).
12:48:22 <alissed> stupid touchpad
12:48:24 <AnMaster> alissed, where is the actual kernel image btw? linuxrc would be an userspace program
12:48:29 -!- MizardX has joined.
12:48:42 <alissed> No clue, I am searching for it now.
12:48:55 <AnMaster> alissed, maybe they put it in the firmware image or something like that
12:49:14 <alissed> That is possible. If so, I will have to endure their kernel, but nothing more, hopefully.
12:50:28 <alissed> AnMaster: It appears to not be on the FS, so.
12:50:36 <AnMaster> alissed, what version btw?
12:50:42 <alissed> Of?
12:50:47 <AnMaster> kernel
12:50:59 <alissed> Would dmesg tell me?
12:51:08 <AnMaster> alissed, yes or uname
12:51:19 <AnMaster> uname -r iirc
12:51:25 <AnMaster> alissed, anyway should be near the top of dmesg
12:51:38 <alissed> 2.6.21.5-cfs-v19
12:51:46 <AnMaster> hm okay
12:51:46 <alissed> armv5tejl
12:51:48 <AnMaster> not too bad
12:51:53 <alissed> is that the arch?
12:51:57 <AnMaster> alissed, could be
12:51:58 <AnMaster> not sure
12:52:11 <AnMaster> alissed, I'm not an ARM expert
12:53:02 <alissed> Urgh I can;t paste from terminal
12:53:07 <alissed> Very odd first lines in dmesg
12:53:11 <AnMaster> alissed, oh?
12:53:25 <AnMaster> [ 0.000000] Initializing cgroup subsys cpuset
12:53:26 <AnMaster> [ 0.000000] Initializing cgroup subsys cpu
12:53:26 <AnMaster> [ 0.000000] Linux version 2.6.31-22-generic (buildd@crested) (gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8) ) #60-Ubuntu SMP Thu May 27 02:41:03 UTC 2010 (Ubuntu 2.6.31-22.60-generic)
12:53:28 <AnMaster> that is odd too
12:53:35 <AnMaster> the last line should be first
12:53:50 <alissed> s3c2410-i2c (repeated twice): iiccon, 000...aa
12:53:54 <alissed> lots of lines linke that
12:53:58 <alissed> first line is "to DS"
12:54:00 <AnMaster> alissed, wtf XD
12:54:05 <AnMaster> alissed, I know what i2c is
12:54:12 <AnMaster> but huh
12:54:18 <alissed> the ... is more 0s btw
12:54:24 <alissed> didnt feel like counting, sort of smal address size
12:54:26 <alissed> small
12:54:26 <AnMaster> alissed, okay
12:54:35 <AnMaster> well so bus address I guess
12:54:42 <AnMaster> on the i2c buas
12:54:43 <AnMaster> bus*
12:54:49 <AnMaster> but apart from that I have no clue
12:55:14 <alissed> And that is all dmesgcontains
12:55:20 <alissed> Messgaes from that i2c thing
12:55:21 <AnMaster> alissed, anyway make sure user space works in the chroot, especially glibc being compiled to expect newer kernel might be an issue
12:55:28 <AnMaster> alissed, okay, nothing else at all?
12:55:38 <AnMaster> you pasted that "2.6.21.5-cfs-v19" line from it
12:55:39 <alissed> "Aprtfrom the opening "to DS", no.
12:55:42 <alissed> That was uname
12:55:44 <AnMaster> alissed, ah
12:55:53 <AnMaster> alissed, well, then I guess the dmesg log is filled
12:56:00 <AnMaster> that the stuff from boot is no longer in it
12:56:09 <alissed> ah
12:56:09 <AnMaster> alissed, dmesg is after all a cyclic buffer
12:56:14 <alissed> what is i2c btw
12:56:36 <AnMaster> alissed, a bus for slow devices like temperature sensors and various other things
12:56:40 <alissed> I cannot middle click - or type colon in terminal -- what's the $(echo) incantation?
12:56:47 <alissed> Might be the cpu meter or battery meter then
12:57:04 <AnMaster> alissed, a bit odd that it gives so many log messages but meh
12:57:05 <AnMaster> "$(echo) incantation"?
12:57:10 <alissed> 100% cpu usage and i have no idqea why
12:57:17 <AnMaster> alissed, top available?
12:57:23 <alissed> $(echo -e something) or whateverto give a colon
12:57:51 <alissed> Starting top stopped the hogging. >_<
12:58:16 <alissed> Pidgin is using 20% of the shitty cpu lol
12:58:44 <AnMaster> alissed, oh
12:58:46 <AnMaster> I see
12:58:47 <AnMaster> sec
13:00:33 <AnMaster> alissed, $(echo -ne \\x3a)
13:00:36 <AnMaster> that should work
13:02:17 <alissed> fffffff i need to redownload debootstrap
13:02:23 <alissed> fucking fuckity fuckshit
13:02:27 <AnMaster> alissed, hm?
13:02:47 <alissed> it wants devices.tar.gz or some thing and i think i need the arm distributtion of debootstrap
13:03:06 <AnMaster> ah
13:04:51 <alissed> it uses firefox on a like 400mhz arm with ~0 megs of ram so yeah
13:04:55 <alissed> interwebs are not so fun
13:05:12 <alissed> cool busybox. so free -m does not even work
13:05:48 <alissed> 125 megs of ram :)))
13:06:46 <AnMaster> heh
13:06:49 <AnMaster> alissed, any swap?
13:07:43 <alissed> AnMaster: this thing uses softfloats!
13:07:56 <alissed> AnMaster: dunno
13:07:59 <alissed> closewd the terminal
13:08:14 <alissed> you think them default non-busybox userland will be ok?
13:09:48 <AnMaster> <alissed> AnMaster: this thing uses softfloats! <-- whoops
13:10:00 <AnMaster> alissed, I have no idea
13:10:01 <alissed> it has man but not nroff
13:10:06 <alissed> so man just errors out
13:10:13 <AnMaster> XD
13:14:38 -!- MizardX has quit (Ping timeout: 240 seconds).
13:15:44 <alissed> The Debian architecture "arm" is different to "armel".
13:15:47 <alissed> whaaat
13:16:11 <AnMaster> alissed, quite possible
13:16:20 <alissed> "This is no Debian kernel and not supported by any means since Lenny." re 2.6.12.6
13:16:34 <alissed> 21 is ok though i guess
13:16:35 <AnMaster> alissed, armv5tejl is?
13:16:38 <alissed> no
13:16:43 <alissed> that specific old version. not mine
13:16:50 <AnMaster> hm
13:17:41 <alissed> great, no even dpkg :))
13:17:46 <alissed> will have to extract the deb manually
13:18:54 -!- BeholdMyGlory has quit (Remote host closed the connection).
13:21:06 <alissed> Seems I need MAKEDEV. Anyone know where I could obtain that?
13:21:54 <AnMaster> hm
13:21:56 <AnMaster> in /dev
13:22:11 <AnMaster> hm
13:22:15 <AnMaster> well not on udev systems
13:22:22 <AnMaster> alissed, this thing has static /dev!?
13:22:51 <alissed> Not necessarily -- but it certainly does not have MAKEDEV.
13:22:56 <alissed> PErsonally, my guess? Yes, static /dev.
13:23:17 <AnMaster> alissed, does it have the mount command
13:23:25 <AnMaster> run it to check
13:23:43 <fizzie> At least this Debian here has a /sbin/MAKEDEV from the "makedev" package.
13:23:45 <alissed> Yes. devpts on /dev/pts, no other dev filesystems.
13:23:55 <fizzie> (Disclaimer: I'm not following the discussion.)
13:23:57 <alissed> fizzie: Right... gotta install that too then
13:28:45 <alissed> My thing does eabi, so, I can use armel.
13:30:44 <alissed> no nano + can't type colon in terminal s so no vi. I sure hope it has ed.
13:31:16 -!- augur has quit (Remote host closed the connection).
13:31:44 <AnMaster> alissed, abi?
13:31:54 <AnMaster> alissed, sed!
13:31:58 <alissed> "yaffs2" root fs. No, EABI. It;s an arm thing.
13:32:03 <AnMaster> hm
13:32:07 <AnMaster> alissed, what is eabi?
13:32:32 <alissed> An arm thing.
13:32:40 <alissed> Will makedev work even if my kernel only does static dev?
13:32:54 <AnMaster> alissed, makedev is for static /dev
13:32:59 -!- augur has joined.
13:33:09 <AnMaster> alissed, it creates static /dev nodes
13:33:54 <alissed> Aha! It has makedevs, busybox makedev-esque yes?
13:34:16 <AnMaster> alissed no clue
13:34:24 <alissed> hmm... can't specify just some devices it seems, like you can with MAKEDEV
13:34:26 <AnMaster> alissed, but I don't think so
13:34:41 <alissed> Well, it creates the special files. but apparently not a specified list
13:35:09 <AnMaster> alissed, debbootstrap needs this on the host?
13:36:06 <alissed> MAKEDEV is not architectufre dependen6t -- a shell script? Yes, AnMaster
13:36:23 <AnMaster> alissed, and yes MAKEDEV is a shell scrip
13:36:26 <AnMaster> script*
13:36:31 <AnMaster> it calls mknod I presume
13:37:37 <alissed> I just killed process 5, hope that wasn't too important
13:37:39 <alissed> typo for %
13:37:57 <AnMaster> uh uh
13:38:18 <alissed> Is that uh-oh or uh-huh?
13:38:22 <AnMaster> $ ps aux | grep 5
13:38:22 <AnMaster> root 5 0.0 0.0 0 0 ? S May29 0:20 [events/0]
13:38:26 <AnMaster> alissed, it is "uh uh"
13:38:36 <AnMaster> alissed, here 5 is something that couldn't be killed
13:38:40 <alissed> ffff makedev art broken
13:38:42 <AnMaster> kernel task
13:38:44 <alissed> AnMaster: uh uh meaning?
13:38:56 <AnMaster> alissed, "uh oh but way worse"
13:41:01 <alissed> if [ "$RANDOM" != "$RANDOM"] <-- Fails in certain edge case (detecting a capable shell) :P
13:41:35 <AnMaster> XD
13:41:42 <AnMaster> alissed, where is this from
13:43:30 <alissed> colon incantation again plz? Also, makedev
13:45:23 <alissed> .
13:45:56 <AnMaster> alissed, hm?
13:46:04 <AnMaster> <AnMaster> alissed, $(echo -ne \\x3a)
13:46:07 <AnMaster> alissed, that?
13:46:18 <alissed> yes thx
13:46:19 <AnMaster> alissed, save it in a text file
13:47:26 <alissed> /c now contains the coloncantation :P
13:47:38 <alissed> this is fun!
13:51:09 <AnMaster> going to sleep for a while
13:51:12 <alissed> it wants me to build pkgdetails.c from source. but i cannot find that file!
13:51:12 <AnMaster> very tired
13:51:22 <alissed> Okay then, clearly fizzie must now help me.
14:09:08 -!- CakeProphet has joined.
14:15:04 <alissed> CakeProphet: YOU HELP ME THEN
14:17:32 <CakeProphet> :O
14:17:44 <CakeProphet> what's up
14:22:51 <CakeProphet> alissed: HOW CAN I HELP YOU
14:23:31 -!- cpressey has joined.
14:25:06 <cpressey> What ho, alissed!
14:25:41 <alissed> cpressey!
14:25:47 <alissed> Welcome back.
14:26:19 <cpressey> meh
14:26:20 <alissed> CakeProphet: I'm attempting to convert this mutant, sub-£200 Linux netbook into Debian. It's a slow ARM with a custom bootloader and a mangled system. Sound fun..?
14:26:22 <cpressey> ;)
14:26:26 <cheater99> omg
14:26:28 <cheater99> its alise
14:26:29 <cheater99> how r u!!
14:26:34 <alissed> Oh, not you again.
14:26:52 -!- alissed has changed nick to somerandomentity.
14:27:36 <cheater99> <3
14:27:56 <somerandomentity> cpressey: NEVER LEAVE US AGAIN. :|
14:30:14 <CakeProphet> somerandomentity: hmmm... well
14:30:17 <somerandomentity> Anyway, I'm stuck at a roadblock in this surgery...irritating.
14:30:20 <CakeProphet> I'm not really sure how I could help.
14:30:30 <somerandomentity> CakeProphet: Do you know anything about Linux? :P
14:30:42 <CakeProphet> a little..
14:30:54 <CakeProphet> but... not really.
14:31:18 <CakeProphet> I'm likw an Ubuntu desktop user that knows the file system...
14:31:22 <somerandomentity> Darn. Clearly I must enslave... cpressey!
14:31:53 <CakeProphet> actually you want to write code in Erlang with me.
14:31:58 <CakeProphet> don't even ask.
14:32:18 <cheater99> alise, are you back home yet?
14:33:15 <cpressey> somerandomentity: Right, like I can help. I'm running freakin' Windows too.
14:33:24 <cpressey> somerandomentity: But have you considered NetBSD?
14:33:27 <cpressey> No, wait.
14:33:30 <cpressey> Maybe don't.
14:34:39 <CakeProphet> for shitty old computers I like xubuntu alright.
14:35:04 <somerandomentity> cpressey: This thing is already running Linux, so it is much easier to make it into Linux.
14:35:13 <somerandomentity> CakeProphet: This thin is nowhere near xubuntu running level
14:35:24 <CakeProphet> ah
14:35:25 <CakeProphet> then
14:35:27 <CakeProphet> what you want to do
14:35:30 <CakeProphet> is build an OS on it.
14:35:34 <cpressey> somerandomentity: Oh. So, you're trying to install a ... bigger Linux?
14:35:38 <somerandomentity> This thing is "500mhz arm with like 3 bytes of ram and a half-eaten debian with a window manager and firefox scrawled on"
14:35:57 <CakeProphet> then yes, you actually want to prototype a rudimentary OS on it
14:36:02 <somerandomentity> cpressey: One that has users other than root... and a working man(1), say, and file(1). And... a FREAKIN' PACKAGE MANAGER.
14:36:05 <CakeProphet> and then use it as a platform for more esoteric designs.
14:36:10 <cpressey> Ahh.
14:36:41 <somerandomentity> Did I mention it has a bootloader that is hardcoded to boot /linuxrc, which is some ELF file? And I think the kernel is IN THE FIRMWARE so you can't replace it.
14:37:09 <somerandomentity> so I'm trying to get debootstrap working to get a debian chroot in /debian, then I'll go frolm there. I've done it before, so I should be able to do it now. Can someone unzip a file for me?
14:37:37 <cpressey> My god, I dunno. That sounds hard.
14:37:43 <cpressey> Unzipping the file, I mean.
14:37:45 <CakeProphet> only if you write an Erlang program to transfer it to me
14:37:46 <somerandomentity> Yeah right
14:38:02 <somerandomentity> It's so hard you could die in the process
14:38:24 <CakeProphet> ha! that's what she said.
14:38:25 <CakeProphet> :)
14:38:37 <somerandomentity> XD
14:38:39 <somerandomentity> http://talk.maemo.org/attachment.php?s=fcb7f96a41c77dcbe428f4048c44cd88&attachmentid=926&d=1202066797
14:38:42 <somerandomentity> SOMEONE UNZIP THIS.
14:38:46 <CakeProphet> OKAY
14:38:48 <CakeProphet> LET ME SSH
14:38:53 <CakeProphet> OR ACTUALLY
14:38:57 <CakeProphet> I'LL JUST TELEPORT IT TO MY SYSTEM
14:39:01 <somerandomentity> cpressey: And do you know, they put FIREFOX on this thing!
14:39:02 <CakeProphet> ...or click that link
14:39:05 <cheater99> let's wget it
14:39:11 <somerandomentity> cpressey: Can you imagine how slow it is?
14:39:11 <cheater99> how do you want it, straight download?
14:39:18 <somerandomentity> The answer is no, no you can't.
14:39:28 <somerandomentity> cheater99: As opposed to what, a gay download?
14:39:29 <cheater99> http://talk.maemo.org/attachment.php?s=fcb7f96a41c77dcbe428f4048c44cd88&attachmentid=926&d=1202066797
14:39:31 <cheater99> 404
14:39:39 <cheater99> somerandomentity, you're arousing me
14:39:51 -!- kar8nga has joined.
14:39:52 <somerandomentity> It's the attachment here: http://talk.maemo.org/showthread.php?t=16121
14:39:58 <somerandomentity> cheater99: I feared that would be so.
14:40:03 <CakeProphet> somerandomentity: hmmm so
14:40:05 <CakeProphet> I unzipped it
14:40:09 <CakeProphet> how would you like me to send it to you?
14:40:14 <somerandomentity> "Now what do I do with it?"
14:40:14 <cheater99> somerandomentity, you ask a dangerous question you get a dangerous answer
14:40:23 <somerandomentity> IT'S FUNNY BECAUSE IT MAKES REFERENCE TO SEX LOL
14:40:38 <somerandomentity> CakeProphet: just upload it to the interwebs plz, anywhere
14:40:41 <somerandomentity> filebin perhaps?
14:40:49 <somerandomentity> not rapidshare or anything though, i think that would kill the browser on the waiting screen
14:41:38 <CakeProphet> http://filebin.ca/dfrqez/pkgdetails
14:41:44 <cheater99> bah
14:41:49 <cheater99> i was just about to filebin it
14:42:17 <somerandomentity> Alas, you were unable to win my love in that way!
14:42:31 <cheater99> NOOOOOOOOOOoooooooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOoooooooooooooooo
14:42:36 <cheater99> !!!!11 .
14:42:39 <CakeProphet> somerandomentity: so I have a long-term project... when I'm not working on an Android app... of making an Erlang MUD cient. Dunno if you're familiar with MUDs
14:42:42 -!- MigoMipo has joined.
14:42:56 <cheater99> i can't take it any more ^D^D^D^D^D
14:43:23 <cheater99> alize *is* a mud character
14:43:54 <cpressey> CakeProphet: A MUD client? I thought it was a server...
14:44:18 <somerandomentity> Colon isn't \x38, so what is it?!
14:45:00 <CakeProphet> er... I meant server
14:46:40 <somerandomentity> ...
14:47:13 <cpressey> somerandomentity: 0x3a apparently
14:47:21 <cpressey> aka 58
14:47:45 <cpressey> Wow, they didn't give you any way to install nothing on that POC did they.
14:47:56 <cpressey> So much for Linux being open and empowering.
14:48:14 <somerandomentity> They gave me an infinite number of ways to install nothing.
14:48:29 <somerandomentity> Incidentally I can't type the colon i nthe terminal which is why this is even more hilarious
14:48:32 <somerandomentity> It works everywhere else
14:49:19 <CakeProphet> need to borrow a colon? Here:
14:49:34 <CakeProphet> Have at it.
14:53:56 <somerandomentity> debootstrap away!
14:54:00 <somerandomentity> CakeProphet: no middle click paste either
14:55:38 <cpressey> somerandomentity: Good luck.
14:55:49 <somerandomentity> this thing is soooo slow
14:56:11 <somerandomentity> cpressey: i've got a working chroot before,, but then i did the surgery of moving it all into the root all in one go, then it refused to boot
14:56:14 <somerandomentity> this is the replacement
14:56:27 <cpressey> I've been reading the Loper OS blog, btw. Stanislav's fundamentally wrong, of course, but it's one of the few blogs I can actually stand reading, for whatever readon.
14:56:31 <cpressey> *reason
14:57:05 <somerandomentity> Funny: I think that stanislav's basic os points are right, but his writing is unreadable vitrolic babble.
14:57:25 <cpressey> somerandomentity: Just get an interpreter of some kind on that beast so you can figure out what the ASCII value of a colon is, at LEAST.
14:57:36 <somerandomentity> He seems to be unable to agree with anyone; no camp satisfies him, no matter how similar it is to his own.
14:57:52 <somerandomentity> cpressey: How would I ask it that question if i can't type it?
14:58:05 <cpressey> somerandomentity: It is vitriolic, but at least it's not long winded and pretentious, which is what most others seem to be.
14:58:15 <somerandomentity> Anyway, it is so slow that what it really needsis a very stripped down e.g. ratpoison setup with mostly terminal apps
14:58:21 <somerandomentity> Right now it is unbearable.
14:58:37 <somerandomentity> cpressey: Have you seen the recent posts? They are most certainly pretentious.
14:58:43 <somerandomentity> Especially the titles.
14:59:41 <cpressey> OK, point taken. His references are atrocious. But have you tried to read Unqualified Reservations?
14:59:43 <cpressey> Euuuuuh.
15:00:40 <cpressey> Thankfully many other OS experimenters are smart enough to not even have blogs.
15:00:47 <somerandomentity> Unqualified Rservations makes me want to puke.
15:00:58 <somerandomentity> The man is an idiot but that isn't even the problem.
15:01:10 <cpressey> Oh, so you have. Oh, I'm not alone. I feel relieved.
15:01:37 <somerandomentity> Oh, Mencius Moldbug -- by the way Stanislav is a fan of him -- is not even the source of the Nock post on there.
15:01:47 <cpressey> I should say what I mean about Loper being "fundamentally wrong", but ... in a bit.
15:01:52 <cpressey> What? Really? Hah.
15:02:02 <somerandomentity> That's by C Guy Yarvin; his blog is moronlab or sometihng at blogspot. Google Moron Lab, you'll find it. Very ferdw posts, but acceptable.
15:02:56 <somerandomentity> CGY let Mencius post it first for some reason; they are friends too, though in the first Moron Lab post he calls Mencius a weirdgauy and says that frankly he wouldn't read his blog :-)
15:02:59 <somerandomentity> ferdw ---> few
15:03:09 <cpressey> Wow, for MM not to credit him directly makes him not only insufferably pretentious, but an asshole too.
15:03:12 <somerandomentity> Im seeing these lines thirty seconds after I write them!...
15:03:26 <somerandomentity> No, CGY didn't want to be credited.
15:03:29 <somerandomentity> For some odd reason.
15:03:43 <cpressey> Still, MM passed it off as his own.
15:03:51 <somerandomentity> Perhaps.
15:04:07 <somerandomentity> Maybe Guy didn't want to be bothered by the kind of people who read Mencius's bog.
15:04:39 <somerandomentity> I like how Mencius sometimes just decidews to dedicate a huge post to justifying pseudo-fascism.
15:04:55 <somerandomentity> Anything is moral if gifted with enough rhetorical questions and length.
15:04:59 <cpressey> Well, he said "Maxwell's eqns, I haz dem", when he could have said "This was submitted by a source who chooses to remain anonymous, and I'm hosting it for them."
15:05:09 <somerandomentity> Woot, base packagesisntalling... slowly
15:05:22 <somerandomentity> cpressey: That whole post was written by Guy, and appears on his mMoron Lab post too.
15:05:36 <cpressey> Yeah, haven't had the stomach to look at anything political from that rot yet. And won't.
15:06:18 <somerandomentity> Do talk about how Loper is broken, but... slowly, and in short messsages. Briefl ytoo. Using this thing for real-time communication is a joke :-) Please.
15:06:37 <cpressey> Hm, ok :)
15:07:40 <somerandomentity> It'd be more practical to use post! -- if not for my awful handwriting.
15:08:53 <cpressey> Wanting to program to a sane abstraction is not a bad idea. Wanting to program to the hardware is silly, because it couples you to the hardware.
15:09:27 <somerandomentity> I agree there. I do not think Stanislav wants to do that, though, perhaps I am wrong. He argues for thinner and6 fewer abstraction layers, but not none.
15:09:53 <somerandomentity> Certainly, I do not believehe itnends to write Low level lisp -- he is merely saying that a good architecture would be as close to possible to the intended highest-level language.
15:10:05 <somerandomentity> I think6 Loper is flawed in many ways, but not that one.
15:11:12 <cpressey> He does seem to accept the idea that Loper would be an abstraction layer, but he seems to consider it a necessary evil -- he has expressed that his ultimate desire is to program right on the machine, from what I remember reading.
15:11:48 <somerandomentity> Well, sometimes ultimate desire merely means "in a perfect post-singularity world with faster-than-light travel and practical quantum computing...".
15:11:55 <cpressey> Well, yeah.
15:11:59 <somerandomentity> In which case, yes, some hardware directly running high-level Lisp code would be nice.
15:12:52 <somerandomentity> My personal ideas for a perfect OS are wildly flitting around different ideas.
15:13:00 <cpressey> Well, it's got me thinking about VMs, anyway. Most of today's VMs are designed to support HLLs (JVM, .NET, etc etc). They're not designed to model hardware.
15:13:47 <somerandomentity> Something that's like Oberon, like Smalltalk, like Plan 9; like Loper, like ooc/cap, like whatever the VPRI are doing right now; like ...
15:13:49 <cpressey> A VM that actually provides a good abstraction for both the machine and for programming, is what I see as the best idea in Loper.
15:14:40 <somerandomentity> still, I seem to have some ideas or combinations of ideas that are quite uniquely mine, so that is encouraging.
15:15:20 <cpressey> Well, let 'em ferment :) And get your crap machine outfitted (sounds like that's successfully in progress) so you can experiment :)
15:15:37 <cpressey> I don't know if I have any really unique OS ideas.
15:15:56 <somerandomentity> Oh heck, experiment on this thing? The keyboard is unusable, the 7" screen almost as much, and it can barely run anything -- and I believe it could only boot Linux with a specific kernel version!
15:15:57 <cpressey> Esolangs, yes. I've got another one in the barn.
15:16:13 <cpressey> :D
15:16:20 * CakeProphet has like two esolang ideas.
15:16:30 <somerandomentity> cpressey: Woot!
15:16:35 <somerandomentity> Not that that is a rareoccasion, for you ...
15:16:58 <somerandomentity> Aren't you well on 6yoru way to beating zzo? Have you already?
15:17:37 <cpressey> It depends on how you count. But I still think I'm third, behind zzo and Wouter.
15:18:01 <cpressey> But more of mine are implemented than zzo's... and more of my implementations are public than Wouter's.
15:18:04 <somerandomentity> I think one thing I should aim for in my OS is small size. Yes, that's irrelevant today, but you can have a complete, bootable, graphical Oberon distribution with a compiler, TCP/IP stack, web browser, and much else, that fits entirely on a 1.44 meg floppy disk.
15:18:28 <somerandomentity> It's a measure of simplicity, in a way: why do I need this code? Could I not mnake a ismpler layer? a la Forth.
15:19:02 <somerandomentity> If I set myself no constraints, I will .produce an infinitely good OS -- that has infinite system requirements, takes up an infinite amount of disk, and whose release is infinitely prolonged.
15:19:11 -!- Gregor has quit (Quit: Leaving).
15:19:23 <cpressey> I would totally aim for simplicity. That should lead to small size -- if it doesn't, it would be theoretically worrisome, but I guess not worrisome in practice.
15:19:24 <somerandomentity> cpressey: Oh, Wouter. Damn, I forgot how many languages that crazy guy made.
15:19:32 <somerandomentity> More of yours are implementable than zzo, I tihnk.
15:19:43 <cpressey> Well, I have more *named* languages than Wouter does :)
15:19:56 <somerandomentity> cpressey: Simplicity is totally subjective, though, so I need some metric thamt models it that is relevant to machines and not just humans. Thus, disk footprint.
15:20:04 <somerandomentity> Wouter has [named_languages]!
15:21:10 <somerandomentity> I also want some sort of grand unifying model of STUFF, not necessarily objects. Definitely do away with disk/ram address spaceseparation.
15:21:42 <somerandomentity> Would be nice tohave some sort of stuff-persistence that can serialise any object in a format transmittable to anyone else. and all instances of stuff should be totally sandboxed from each other, so it would always be safe.
15:22:37 <somerandomentity> And of course, the itnerfce has to be so differnt and so obviously better than everything else.
15:23:00 <somerandomentity> Composable like command-line applications, but rich like graphical applications, and discoverable without using help-files, i.e. self-describing.
15:23:05 <cpressey> somerandomentity: S-Expressions are one possibility for STUFF.
15:23:20 <somerandomentity> Efficient use of space, seamlessly blending all types of stuff and doing away with applications to produce a data-basewd, not application-basewd, intreface.
15:23:21 <somerandomentity> Somehow.
15:23:30 <somerandomentity> cpressey: S-Expressions are not alive.
15:23:35 <somerandomentity> They do not run things, keep state.
15:23:39 <somerandomentity> They do not interact. No, they are juts syntax.
15:23:50 <somerandomentity> What i am looking for is something like an object model, except possibly not even OO.
15:23:59 <somerandomentity> And EVERYTHING would fit into it.
15:24:13 <somerandomentity> The whole system would just be a bunch of them, connected together.
15:24:59 <cpressey> Well, when I share something with someone else, I don't, generally, WANT it to be alive.
15:25:05 <cpressey> Or rather, when I am on the receiving end.
15:25:10 <cpressey> Please do not mail me a snake.
15:25:17 <somerandomentity> TYou miunderstand! STUFF is not serialisation!
15:25:33 <somerandomentity> STUFF is the model for everything, it is like a Smaltlalk object environment -- smalltalk started as an OS!
15:25:43 <somerandomentity> Serialising STUFF should be possible, yes, but that is not what I am trying to find!
15:25:44 <cpressey> Smalltalk still is an OS IMO :)
15:26:10 <cpressey> Like FORTH, it's a language that brings in a whole environment with it.
15:26:19 <somerandomentity> and STUFF being alive should never be a problem: all STUFF would be secure-by-design67, some perhaps cryptogrpahic mechanism to ensure that they are perfectly sandboxed from each other
15:26:43 <somerandomentity> only interacting when the user allows it, explicitly or implicitly -- some how -- and of course I cannot articulate this because I have not found STUFF, or the interface's, true form yet
15:27:00 <somerandomentity> "But that's the plan."
15:27:40 <cpressey> OK.
15:27:45 <cpressey> I'm working on smaller problems :)
15:28:02 <cpressey> My vision in this area is not so broad.
15:28:18 <cpressey> Hm, I wonder if I am a FORTH hypocrite.
15:28:20 <somerandomentity> IT's not the ultimate dream OOS if it's not infinitely broad.
15:28:23 <somerandomentity> Fuck this keyborad.
15:28:25 <cpressey> I love the language, but I never use it.
15:28:29 <CakeProphet> silly question but I'm trying to read script(4) from erlang man pages
15:28:37 <CakeProphet> but for some reason erlang includes non-erlang manpages
15:28:43 <somerandomentity> I amn the same way ; there is something about Forth that makes ita bhorrent to existing environmentrs.
15:28:46 <somerandomentity> A forth OS, perhaps.
15:28:46 <CakeProphet> in its man command... and so I get some BSD tool
15:28:53 <CakeProphet> instead of what I'm looking for
15:28:58 <cpressey> CakeProphet: I think erl -man just puts the erlang man pages in your manpath
15:29:05 <cpressey> CakeProphet: try erl -man cat
15:29:12 <somerandomentity> Also, extending forth to make it high level from within itself, whioe certainly possible, involves ugly spaces in between words and the like
15:29:16 <somerandomentity> So it is suboptimal, in ways!
15:29:22 <somerandomentity> man 4 script, also?
15:29:22 <CakeProphet> yes, that would seem to be the case... I can man ls for example
15:29:31 <CakeProphet> cpressey: but how do I get script(4) instead of script(1)
15:29:51 <somerandomentity> man 4 cript
15:29:56 <somerandomentity> script
15:30:02 <CakeProphet> ah okay.
15:32:46 <somerandomentity> man n p ==> read manul page p(n)
15:32:53 <somerandomentity> *manual
15:32:55 <cpressey> somerandomentity: OK, something more semantic than S-Exps. A computer is a piece of hardware, right? Made up of smaller pieces of hardware. So what if the OS is a piece of virtual hardware, made up of smaller pieces of virtual hardware. Then the central abstraction is whatever is common to all these pieces. That would include, at least, a rigorous definition of how they interact.
15:33:07 <CakeProphet> should I bother with embedded mode?
15:33:10 <somerandomentity> cpressey: With Plan 9 for instance, STuFf is files, except they don't hhave living code in there.
15:33:18 <somerandomentity> For Smalltalk, STUFF is the object environment.
15:33:21 <cpressey> CakeProphet: IMO, no, not at all.
15:33:30 <somerandomentity> embedded mode?
15:33:38 <cpressey> Put erlang on a nokia phone.
15:33:45 <CakeProphet> :)
15:34:01 <CakeProphet> I want an Erlang smartphone.
15:34:05 <CakeProphet> EXTREME MULTI-TASKING
15:34:24 <somerandomentity> Your children will run faster thanGOOGLE
15:34:32 <somerandomentity> And google will be like sloooooooooooooooooooooow dooooown
15:34:36 <somerandomentity> FUCK YOU
15:34:41 <CakeProphet> KENYANS
15:34:51 <cpressey> somerandomentity: Oh, just had another thought, but it's slipping away.
15:34:52 <CakeProphet> FASTER THAN GOOGLE KENYA
15:34:52 <cpressey> Oh.
15:34:55 <cpressey> yeah.
15:35:06 <somerandomentity> cpressey: yeah?
15:35:27 <CakeProphet> this boot script format is weird.
15:35:32 <cpressey> I want an OS/VM/Environment/whatever that makes it as easy for me to manually do the things a program does, as it is for the program to do them.
15:35:32 <CakeProphet> it's just... tuples and lists
15:35:40 <cpressey> Otherwise debugging is hell.
15:35:52 <somerandomentity> cpressey: That seems reasonable.
15:36:12 <CakeProphet> like Erlang?
15:36:56 <cpressey> That's one of those LISP machine ideals -- visibility into what's actually going on, to support debuggability.
15:37:04 <somerandomentity> cpressey: Also, IMO, programming should become part of the user interface. The difference between users and programmers is that programmers realise that there's no difference between using and programming. Fare said that.
15:37:22 <cpressey> somerandomentity: Mostly agree, with maybe some small reservations.
15:37:23 <somerandomentity> Ideqally it should be simpler than the prorgamming of today, but then so should programming itself be.
15:37:35 <cpressey> That would be one such reservation :)
15:37:41 <somerandomentity> cpressey: Yes, I definitely think we should not be writing C every time we want to rename some files!
15:37:50 <CakeProphet> hmmm... I don't understand kernelProcess in the boot script.
15:37:55 <somerandomentity> So this needs thinking. Just like every aspect of OSes.
15:38:36 <CakeProphet> ...so are we talking about OS design here, I take it?
15:38:40 <CakeProphet> well...
15:38:43 <CakeProphet> what I have found
15:38:45 <somerandomentity> you don't say.
15:39:03 <cpressey> I'm thinking of it as "environment design" atm, but it changes
15:39:03 <CakeProphet> is that in every instance of OS design plans I've seen
15:39:24 <CakeProphet> the progress tends to stop at design discussion
15:39:33 <somerandomentity> you don't say.
15:39:45 <CakeProphet> what is an OS but an environment?
15:39:46 <somerandomentity> We're talking on the very high, theoretical level here. We are not planning to start coding tomorrow.
15:39:48 <cpressey> Ah, well implementation is a bitch, and even if you get that far, adoptation is nigh impossible :)
15:39:57 <cpressey> *adoption
15:40:01 <CakeProphet> psh, screw adoptation
15:40:10 <somerandomentity> We're basically discussing higher mathematics vs doing accounting by hand.
15:40:10 <cpressey> ADOPTERATION
15:40:14 <CakeProphet> but yeah, if I ever get into an OS design project
15:40:19 <somerandomentity> The people who buiild actual OSes do the latter.
15:40:30 <CakeProphet> I will make sure I make a prototype kernel without worrying about any kind of aesthetics.
15:40:46 <somerandomentity> Then you will have made a worthless UNIX-esque clone and helped nothing in the field of OSdesign.
15:40:54 <CakeProphet> ...no
15:41:00 <CakeProphet> the prototype is simply to aid design later
15:41:04 <CakeProphet> because you now have something to work with
15:41:05 <somerandomentity> Hell, any realisation of my perfect OS would contain no c code whatsoever. So that would be hard to do a first-draft of.
15:41:06 <CakeProphet> rather than just an idea.
15:41:18 <somerandomentity> We have something to work with: ideas.
15:41:26 <somerandomentity> Ify ou know how systems work youdon't need a kernel to find out.
15:41:35 <somerandomentity> c code is C code, not stuttering coed, btw.
15:42:13 <cpressey> Well, I for one am just blowin' ideas. I have no plans or hopes of actually implementing them.
15:42:14 <CakeProphet> I'm just saying... a quick prototype helps speed up actual implementation.
15:42:45 <CakeProphet> I suppose it matters less if you have more experience with low-level programming
15:43:11 <cpressey> I am not even thinking of it as an OS right now (I think I already said that) because I KNOW what a huge task it would be to actually build a full-blown OS, and how much of that is uninteresting, like writing device drivers.
15:43:13 <CakeProphet> but for those of us (like me) who don't..
15:43:20 <somerandomentity> My perfect os would have vvery little low level programming whatsoever :)
15:43:32 <somerandomentity> You can talk about low-level things, likehardware, in high level code.
15:43:34 <CakeProphet> I don't really think that's possible alise...
15:43:39 <somerandomentity> Ye it is.
15:43:43 <somerandomentity> See Oberon for one example.
15:43:46 <CakeProphet> maybe later
15:43:47 <CakeProphet> but
15:43:50 <somerandomentity> Also Smalltalk.
15:43:51 <CakeProphet> there will /always/ be low level code
15:43:58 <CakeProphet> at some layer.
15:44:01 <somerandomentity> CakeProphet, I said very little . Not none. And that is no67t even true
15:44:11 <somerandomentity> High level hardware is perfectly possible.
15:44:15 <somerandomentity> Or would you complain about its microcode?!
15:44:18 <CakeProphet> ....via low-level code, yes it is.
15:44:31 <CakeProphet> we do it all the time as programmers
15:44:38 <somerandomentity> So make one without microcode, perfectlypossible.
15:44:40 <somerandomentity> Kabam, no low level.
15:45:28 <CakeProphet> The Styx architecture is fairly nice.
15:45:37 <CakeProphet> I'd probably take a route similar to that
15:45:45 <CakeProphet> with Erlang perhaps
15:45:52 <cpressey> I'm thinking of it as an environment, or VM I suppose, because that a) makes it feasible to implement without upsetting this ossified accretion of junk technology we call "state of the art" and b) is much more in line with language design/implementation, which I know I can do.
15:46:08 <CakeProphet> well...
15:46:11 <somerandomentity> cpressey: ideal hardware is functional machine -- like reduceron, graph reduction mchine.agreed? I mean long-term-ideal
15:46:16 <CakeProphet> there's the "virtual OS"... which makes implementation easier.
15:46:21 <CakeProphet> just have everything in a VM
15:46:34 <CakeProphet> and then you don't really need to worry about drivers in your OS/environment code.
15:46:48 <cpressey> and I should *probably* be trying to get work done, but when your vendor's service is returning 500 Server Error, and you have no answer from that, or on your side, what can you do?
15:47:12 <cpressey> somerandomentity: Um -- not entirely agreed -- but I can see that viewpoint
15:47:37 <cpressey> I just don't know if it's ideal. It's certainly nicer in many many ways
15:47:41 <somerandomentity> cpressey: what is your idqeal then? also, nothing, you can do NOTHING, except slack off
15:47:48 <cpressey> Hah
15:48:03 <CakeProphet> essentially a virtual OS needs to worry about is a) having low-level resources accessible through some kind of high-level service b) process management and scheduling c) anything else it wants to abstract.
15:48:34 <somerandomentity> A real os acheives the true goal, however: slinking off this immortal coil of shittiness
15:48:42 <somerandomentity> bad metaphors ftw
15:48:50 <CakeProphet> terrible, actually. :P
15:48:52 <cpressey> The rabble will always complain that GC and abstraction layers are too slow, of course...
15:49:06 <CakeProphet> ....is OS design a popularity contest?
15:49:07 <somerandomentity> cpressey: The worst part of making an os for me is beleieve it or not typography.
15:49:30 <somerandomentity> I'm a typography nut, and designing my own font would just be embarrasingly bad in its result
15:49:47 <somerandomentity> plus writing all the rendering libraries...
15:49:57 <cpressey> As for my ideal hardware... probably something like NVRAM FGPAs where I can build new circuits on the fly.
15:50:01 <somerandomentity> The rest is just computer stuff. I'm good at computer stuff, I can implement that...
15:50:06 <cpressey> *FPGAs
15:50:37 <cpressey> Typography no problem for me, I would steal the Commodore 64 character set.
15:50:56 <somerandomentity> >:|
15:50:57 <CakeProphet> The entire Styx architecture is in a VM... I think it's a pretty good strategy for clean high-level OS designs.
15:51:27 <somerandomentity> cpressey: But I want to innovate in interface, too!
15:51:45 <CakeProphet> I would just ditch everything is a file.... why would I event want to do that?
15:52:00 <somerandomentity> And interface design is human-computer interaction, information presentation (a la tufte) and typography.
15:52:08 <somerandomentity> CakeProphet: ...
15:52:16 <somerandomentity> Everything is a file is but one incarnation of STUFF.
15:52:24 <somerandomentity> It is not the best, but it is still STUFF.
15:52:30 <somerandomentity> Do not diss STUFF. STUFF is good.
15:52:46 <somerandomentity> You are also indirectly dissing Plan 9. You fail in multitudes!
15:52:56 <CakeProphet> I'm not saying it's a bad architecture
15:53:16 <CakeProphet> it's just been done... and there's probably a lot of things that don't really make sense as a tree of read/write character streams.
15:53:24 <CakeProphet> just sayin'
15:53:28 <somerandomentity> cpressey: this thing uses *XFree86*
15:53:45 <somerandomentity> CakeProphet: As long as you replace it with some OTHER unified model of STUFF.
15:53:57 <somerandomentity> also, Plan 9 seems to manage fine although its appproach DOES have flaws
15:54:39 <somerandomentity> wow, but it has pulseaudio
15:54:43 <somerandomentity> this thing is crazy
15:54:52 <CakeProphet> ...I have no clue what STUFF is.
15:55:19 <somerandomentity> sTUFF is exactly what it looks like: stuff. You must have a grand unified model of STUFF, be it Smalltalk objects, Plan 9 fgiles, or something of yoru own designing.
15:55:35 <somerandomentity> Not having a grand unified model of STUFF is the definifion of failure: it means you have failed to actually design your OS.
15:55:47 <somerandomentity> Culprits include... every popular OS in existence, and mostof the unpopulra ones.
15:55:48 <CakeProphet> ...ah.
15:56:15 <CakeProphet> so every kind of data and process interaction must conform to this data representation
15:56:39 <somerandomentity> pretty much -- and hopefully code too. Perhaps not process interaction, it cn be a little bit looser.
15:56:55 <somerandomentity> But you don'tw ant something ridiculous, like 3 types of IPC, both control files AND ioctl() crap, and so on.
15:57:04 <CakeProphet> I would say support for communicate more than byte streams would make sense.
15:57:05 <somerandomentity> That's cruft, not design.
15:57:13 <somerandomentity> CakeProphet: agreed
15:57:15 <cpressey> "file" is like Advanced STUFF Substitute.
15:57:22 <somerandomentity> I lean more to the smalltalk camp than the plan 9 camp
15:57:23 <CakeProphet> a more high level data structure.
15:57:43 <CakeProphet> Android has a somewhat interesting IPC model.
15:57:47 <somerandomentity> We totally need to backronym STUFF now.
15:58:02 <cpressey> The T should stand for THING.
15:58:08 <somerandomentity> S T Unified f f
15:58:18 <CakeProphet> I googled it and one that I found was "stuff that undermines family fun"
15:58:34 <somerandomentity> Simple T Unified Flexible F
15:59:12 <somerandomentity> Simple Thing-Unifiable Flexible Fornication
15:59:15 <somerandomentity> erm
15:59:22 <cpressey> Simple THINGs Unified For Flexibility
15:59:24 <somerandomentity> Simple thing-unifying flexible fornication
15:59:40 <somerandomentity> cpressey: You can't referenceSTUFF in THING, though. It has to be mutually recursive.
15:59:54 <somerandomentity> STUFF that unifies for flexibility
15:59:57 <cpressey> THINGS, where the S stands for STUFF ?
16:00:04 <somerandomentity> Yes.
16:00:34 <CakeProphet> so in Android
16:00:38 <somerandomentity> THINGS = THINGS helps indicate N G STUFF
16:00:55 <somerandomentity> THINGS = THINGS helps indicating notation; good STUFF
16:01:01 <CakeProphet> you can send/receive "intents" between different "components"
16:01:38 <somerandomentity> Oh, and in my not-so-humble opinion, any realisation of STUFF that doesn't have items of STUFF being se\cured from each other by dewsign sucks.
16:01:43 <CakeProphet> the type of the intent determines where it goes. The sending process doesn't specify a specific process to receive the intent.
16:02:28 <CakeProphet> and I think you can pass along a hash table of key-values strings
16:02:33 <CakeProphet> along with the intent.
16:03:03 <AnMaster> yawn
16:03:10 <AnMaster> somerandomentity, how is the replacement going?
16:03:11 <somerandomentity> The beast awakens.
16:03:31 <AnMaster> somerandomentity, I'm still really tired, and family is making food
16:03:32 <somerandomentity> AnMaster: debootstrap is happily twidddling along configuring things\.
16:03:32 <AnMaster> so...
16:03:42 <AnMaster> cpressey, high
16:03:44 <AnMaster> err
16:03:45 <AnMaster> hi*
16:03:47 <somerandomentity> assumign the chroot works, I will gradually and slowly perform surgery to replace the system with the chroot.
16:03:53 <AnMaster> yeah really tired
16:04:24 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
16:04:34 <somerandomentity> Basically, I'm giving a retarded baby a brain transplant by moving all the neurons of a smart brain to it.
16:04:38 <somerandomentity> You have to be quite craeful.
16:04:41 <somerandomentity> *careful
16:05:11 <somerandomentity> "Configuring ed..." thanks debootstrap
16:05:26 <AnMaster> somerandomentity, do not replace the busybox stuff on the host
16:05:29 <AnMaster> to begin with at least
16:05:34 <somerandomentity> "Configuring info..." NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo
16:05:51 <somerandomentity> AnMaster: i won't; nor any of its specific things like the apps, or the linuxrc
16:06:02 <AnMaster> good
16:06:08 <somerandomentity> I'll start by just replacing most of /usr/bin, say.
16:06:10 <AnMaster> somerandomentity, what apps?
16:06:19 <somerandomentity> Move on to things like /etc...
16:06:32 <AnMaster> somerandomentity, be very careful with these
16:06:34 <somerandomentity> Then /bin... /usr/sbin... and finally build me a linuxrc.
16:06:41 <AnMaster> somerandomentity, first figure out what exactly linuxrc does
16:06:48 <somerandomentity> AnMaster: Like its weirdo wifi things and whatnot
16:06:51 <somerandomentity> AnMaster: of course
16:07:01 <somerandomentity> hopefully i'll have a non-glacial browser by then so i can do that properly
16:07:04 <AnMaster> somerandomentity, it might depend on calling some specific app somewhere in /usr/bin
16:07:07 <somerandomentity> this will never be fast, though.
16:07:13 <AnMaster> which must be the non-replaced version
16:07:18 <somerandomentity> barely any ram, slow arm...
16:07:21 <somerandomentity> AnMaster: yes
16:07:30 <somerandomentity> i'll only replace usery tools
16:07:38 <somerandomentity> i know it will be from debian stock or very similar
16:07:48 <somerandomentity> since they don't seem to have been smart enough to do anything but remove shit
16:09:30 <somerandomentity> AnMaster: i may end up just making the rest of the system fit around linuxrc
16:09:39 <somerandomentity> since e.g. replacing the kernel seems impossbiel
16:09:55 <AnMaster> somerandomentity, flash the flash?
16:10:16 <somerandomentity> AnMaster: ok, crazy idea: if i removed almost everything and had debian in a subdirectory, then made it autorun some process as root that dismantld the system and loaded debian, like loadlin?
16:10:27 <AnMaster> somerandomentity, call company and ask for documentation
16:10:31 <somerandomentity> a really perverse bootloader, possible?
16:10:36 <somerandomentity> AnMaster: HAHAHAHAHAHA
16:10:39 <AnMaster> somerandomentity, idea: logic probe during boot to figure out what it does
16:11:13 <AnMaster> somerandomentity, reverse engineer linuxrc
16:11:38 <somerandomentity> this thing cost less than two hundred pounds, and the flagship use-interwebs anywhere app uses a gprs connection to a server running ie. it sensd all link clicks and text entries, the serversends back a comrpressed screenshot with link form fiel information
16:11:48 <somerandomentity> *link and form field information
16:11:50 <somerandomentity> *IE
16:12:00 <somerandomentity> documentation? From them? by asking? I THINK NOT
16:12:10 <somerandomentity> They probably do not have any documentation!
16:12:43 <AnMaster> somerandomentity, what do you mean? firefox does that?
16:12:54 <somerandomentity> nope, their Ubisurfer thing
16:13:04 <AnMaster> ...?
16:13:21 <AnMaster> bbl food
16:13:22 <somerandomentity> it's a shitty netbook. get it?
16:13:48 <somerandomentity> it has a gprs connection thta you are only allowesd to use by using their internet browser thing, that connects to one of their servers which runs IE and sends back screenshots of web pages.
16:14:08 <somerandomentity> debootstrap finished!
16:16:15 <somerandomentity> By gum!-- the chroot works!--
16:18:45 <Deewiant> somerandomentity: Yeesh, nick length, dude
16:19:12 <somerandomentity> It fits, so deal :-)
16:19:25 <somerandomentity> If cheater99 wasn't creepy this would never have happened
16:19:40 <Deewiant> Does the longer/different nick make him less creepy?
16:20:00 <cpressey> somerandomentity: Congrats on working chroot. Topping, what?
16:20:39 <somerandomentity> cpressey: Topping? is that even a thing?
16:20:53 <somerandomentity> Deewiant: No, but it makes me some random entity, rather than [redacted]. My disguise, it is flawless.
16:20:55 * cpressey is half-in "Talk like a Wodehouse character" mode these days
16:21:22 <Deewiant> somerandomentity: There are shorter disguises
16:21:30 <somerandomentity> Deewiant: Shut up.
16:21:36 * Deewiant shuts up
16:21:49 <somerandomentity> So, chroot works: now the hard part can begin. Major system-wide surgery.
16:22:01 <CakeProphet> ...what the crap
16:22:04 <CakeProphet> my mouse is stuck drabbing a Chrome tab
16:22:06 <CakeProphet> it will not let it go
16:22:47 <somerandomentity> Cute
16:22:53 <CakeProphet> ...
16:22:58 <Deewiant> :-D
16:23:08 <CakeProphet> like..
16:23:16 <CakeProphet> I really do not know how to make it stop without restarting my computer
16:23:26 <CakeProphet> or killing chrome I guess.
16:23:33 <somerandomentity> You mena restarting X didn't help? :)
16:23:35 <somerandomentity> *mean
16:24:01 <CakeProphet> ...don't know how to do that. U_U
16:24:11 <CakeProphet> I mean, I do
16:24:15 <CakeProphet> but not the name.
16:24:17 <CakeProphet> of the command
16:24:33 <Deewiant> ctrl-alt-f1; log in; pkill -u $USER
16:24:50 <cpressey> ctrl-alt-backspace
16:25:04 <cpressey> when i was using x, istr that worked to reset it
16:25:07 <Deewiant> That tends to be disabled nowadays
16:25:11 <cpressey> drat
16:25:17 <Deewiant> Might still work, though
16:25:17 <somerandomentity> ls takes 0.08-0.09 seconds. Impressively slow.
16:25:27 <somerandomentity> (on a tiny dir)
16:25:29 <Deewiant> A couple hours back on an NFS it took 25 seconds
16:25:45 <somerandomentity> This is on a local filesystem. :P
16:25:46 <CakeProphet> no that's disable.
16:26:12 <somerandomentity> I stil lcan't enter colons
16:26:20 -!- CakeProphet has quit (Remote host closed the connection).
16:26:37 <somerandomentity> Anyone want to assist me in my systemsurgery?
16:27:09 <cpressey> somerandomentity: I can't imagine what would be required to fix the colon thing, and that's the most annoying.
16:27:20 <cpressey> Or would be to me
16:27:33 <somerandomentity> Wow, aptitude is taking many seconds and full CPU to start up. Just to update the sources list.
16:27:42 <cpressey> What else is high priority to fix?
16:27:42 <somerandomentity> This thing needs to win a prize forslowest computer.
16:27:52 <cpressey> Oh, packages
16:27:59 <somerandomentity> cpressey: The slowness. The GUI.
16:28:00 <cpressey> That will be a good start
16:28:12 <cpressey> Slowness may be incurable too.
16:28:20 <somerandomentity> Basically, what I want to do right now is move over the safest stuff from the debian chroot to /.
16:28:28 <somerandomentity> So that at the end, I wil have an almost-pure Debian.
16:28:42 <cpressey> Start with a test package, yeah.
16:28:52 <cpressey> Then I would move the package system over, if possible.
16:28:59 * somerandomentity kills aptitude out of sheer boredom
16:29:15 <somerandomentity> cpressey: Slowness will not be so incurable, if I stri]p almost all daemons and use the simplest software.
16:29:50 <somerandomentity> apt-get to dev null takes 0.3-0.4 seconds
16:29:55 <somerandomentity> simply astonishing
16:29:57 <cpressey> ls is pretty simple. must be a lot of daemons on that thing
16:30:03 <somerandomentity> and took several seconds first time due to slowest, disk. EVER
16:30:20 * cpressey suspects some kind of extremely cheap, slow disk
16:30:23 <somerandomentity> cpressey: well, no, but...
16:30:30 <somerandomentity> every single command is death
16:30:35 <somerandomentity> firefox 50% cpu. pidgin 23%.
16:30:36 <cpressey> somerandomentity: any USB ports?
16:30:41 <somerandomentity> get rid of those, significantly faster.
16:30:51 <somerandomentity> oh my GOD, it's running X 6n the framebuffer
16:30:55 <somerandomentity> *on
16:30:56 <AnMaster> back
16:31:00 <cpressey> yes. tinyirc or something
16:31:06 <somerandomentity> and using almost 65 of cpu to do it
16:31:07 <somerandomentity> per cent
16:31:16 <somerandomentity> cpressey: plus some v. light weight browser -- dillo?
16:31:18 <cpressey> and links, and lose X, and that's a lot more cpu
16:31:20 <cheater99> somerandomentity, i'm not creepy
16:31:24 <cpressey> dillo, if you want to keep X
16:31:26 <somerandomentity> chincorrect
16:31:31 <somerandomentity> cheater99: incorrect
16:31:38 <somerandomentity> cpressey: x would be nice solely for the browser
16:31:50 <somerandomentity> cpressey: very light x + say, ratpoison or dwm as WM
16:32:39 <somerandomentity> There is no /etc/fstab. I should remedy that.
16:32:56 <cpressey> !
16:33:02 <somerandomentity> Just in the chroot.
16:33:05 <somerandomentity> It's in the root.
16:33:10 <cpressey> one wonders how it boots up
16:33:16 <somerandomentity> See above.
16:33:24 <somerandomentity> Also, I am pretty sure this thing has the kernel tied into the bootloader, so yeah.
16:33:28 <somerandomentity> The answer is "evilly".
16:33:42 <cpressey> oh, you mean the chroot they supply?
16:33:47 <cpressey> you're working within that?
16:33:50 <somerandomentity> yaffs2 squashfs, latter in fstab former in mount(1)
16:33:55 <somerandomentity> No, I mean my debian chroot
16:34:06 <cpressey> oh ok
16:34:07 <cpressey> confused.
16:34:09 <cpressey> n/m
16:34:31 <somerandomentity> no devfs, lol
16:34:40 <AnMaster> somerandomentity, devfs is dead
16:34:43 <AnMaster> you mean udev
16:34:50 <somerandomentity> AnMaster: on ARM?
16:34:52 <somerandomentity> I think not
16:35:04 <AnMaster> somerandomentity, devfs is no longer supported by the kernel iirc
16:35:07 <somerandomentity> Oh, worryingly there is not the drive in the chroot's /dev
16:35:12 * somerandomentity tries MAKEDEV
16:35:46 <somerandomentity> MAKEDEV </dev/null (waits five minutes)
16:35:53 <somerandomentity> I assume that is how you us it
16:35:55 <somerandomentity> *use
16:35:59 <AnMaster> somerandomentity, no
16:35:59 <somerandomentity> ls
16:36:10 <AnMaster> somerandomentity, you don't put a < there
16:36:14 <somerandomentity> More things,\ it seems, but of any consequence?
16:36:27 <somerandomentity> Still, none of this mtdblock1 thing.
16:37:34 <somerandomentity> Woe,how to get this device?
16:37:41 <AnMaster> somerandomentity, mknod
16:37:50 <AnMaster> somerandomentity, figure out device number and so on
16:37:53 <somerandomentity> Fine. Will that persist?
16:37:58 <AnMaster> ??
16:38:04 <somerandomentity> To file system.
16:38:17 <somerandomentity> & why is MAKEDEV so uppercasey?
16:38:37 <AnMaster> somerandomentity, are you on monospace font? I can't show you how to find device node info otherwise
16:39:10 <somerandomentity> I can find it with ls, I know. But will mknod persist to ddisk?
16:39:17 <AnMaster> yes
16:39:18 <AnMaster> .....
16:39:23 <AnMaster> $ ls -l /dev/sda # minor
16:39:24 <AnMaster> brw-rw---- 1 root disk 8, 0 29 maj 19.54 /dev/sda
16:39:24 <AnMaster> # major
16:39:24 -!- iamcal has quit (Ping timeout: 264 seconds).
16:39:26 <AnMaster> there
16:39:33 <AnMaster> the m in each is in the corresponding place
16:39:38 -!- lament has joined.
16:39:44 <somerandomentity> Just tell me the order...
16:39:50 <somerandomentity> minor,irrelevant major?
16:39:57 <AnMaster> somerandomentity, not at all
16:40:00 <AnMaster> somerandomentity, I told you. Switch to monospace font
16:40:05 <AnMaster> I won't help you any more than that
16:40:37 <somerandomentity> How about you just tell me which number is which? I don't care what you want me to do, I don't even know how to make Pidgin switch fonts and i won't install another client because I have no means to. So I will just ask someone else.
16:40:41 <somerandomentity> cpressey, perhaps?
16:40:45 <somerandomentity> Or maybe ls(1).
16:41:01 <cpressey> dude, i'm on pidgin too :/
16:41:12 <somerandomentity> I eant for the ls info :-)
16:41:19 <AnMaster> cpressey, can you switch it to monospace there?
16:41:29 <cpressey> i pasted it into scite and monospaced it
16:41:30 <AnMaster> cpressey, just wondering
16:41:33 <somerandomentity> Wow, "alise is a liar" mode.
16:41:35 <somerandomentity> You get into that a lot.
16:41:42 <cpressey> it uh, didn't help
16:41:45 <somerandomentity> You need pills for your incessant paranoia.
16:41:47 <AnMaster> somerandomentity, you said you didn't know
16:41:49 -!- MigoMipo has quit (Quit: Quit).
16:41:55 <AnMaster> not that it wasn't possible
16:42:01 <cpressey> unless you mean "8," is major and "0" is minor
16:42:09 <AnMaster> coppro, correct!
16:42:10 <AnMaster> err
16:42:12 <AnMaster> cpressey, ^
16:42:15 <somerandomentity> In which case that is obvious: minor always follows major.
16:42:20 <somerandomentity> That is sort of the point of those names.
16:42:29 <AnMaster> somerandomentity, the third number is date
16:43:06 <cpressey> which in your language has a month named "maj", just to throw in a red herring.
16:43:14 <somerandomentity> Now do i want a buffered device... I assume so.
16:43:18 <somerandomentity> cpressey: that's what caught me out
16:43:20 <AnMaster> cpressey, XD
16:43:24 <AnMaster> cpressey, I didn't think of that
16:43:32 <AnMaster> cpressey, and maj = may
16:43:45 <AnMaster> cpressey, from when this system either was booted or when it was installed
16:43:46 <somerandomentity> Disks should be buffered right?
16:43:46 <AnMaster> not sure
16:43:53 <AnMaster> cpressey, since both happened in may last time
16:44:00 <AnMaster> somerandomentity, they are block devices
16:44:09 <somerandomentity> right
16:44:09 <AnMaster> somerandomentity, as indicated by brw-rw----
16:44:14 <AnMaster> somerandomentity, in my example
16:44:25 <AnMaster> somerandomentity, first letter b = block device
16:44:30 <AnMaster> first letter c = char device
16:44:35 <AnMaster> l = symlink
16:44:43 <AnMaster> then there is something for fifo and unix sockets
16:44:44 <AnMaster> forgot what
16:45:15 <somerandomentity> There are two things mounted on /!
16:45:19 <somerandomentity> rootfs on / type rootfs (rw)
16:45:26 <somerandomentity> /dev/root on / type yaffs2 (rw)
16:45:30 <AnMaster> somerandomentity, not surprising at all
16:45:38 <AnMaster> somerandomentity, the former will from the initramfs
16:45:56 <AnMaster> somerandomentity, which is then overlayed by the real /
16:46:10 <somerandomentity> Indeed ... but oh! My Debian supports not squashfs :(
16:46:15 <somerandomentity> Thusly packages I require :-?
16:46:27 <somerandomentity> That's a questioning :- list strarter, not an emoticon.
16:46:31 <AnMaster> I presume so
16:46:46 <AnMaster> somerandomentity, but it never said squashfs there
16:47:01 <somerandomentity> HAH! Lies! Lies, from the Sea of Mount! It tells me, upon its invocation, that verily /dev/root is mounted; but lies! Lies, for it exists not!
16:47:05 <somerandomentity> I go insane! AHAHAHAHAHAHA--!
16:47:11 <somerandomentity> AnMaster: Indeed, but the fstab indicated so.
16:47:18 <somerandomentity> To mount /dev/mtdblock1, squashfs, on /.
16:47:25 <AnMaster> somerandomentity, /dev/root is special I think
16:47:32 <somerandomentity> Special? Like howso?
16:47:46 <AnMaster> somerandomentity, like kernel makes it up for initrd
16:47:46 -!- CakeProphet has joined.
16:47:53 <AnMaster> somerandomentity, or some such
16:48:01 <somerandomentity> "Special device /dev/root does not exist," speaks chroot! Woe! WOE!
16:48:16 <AnMaster> ....
16:48:18 <somerandomentity> AnMaster: Then, lo, what are my chances? Cruel world.
16:48:26 <AnMaster> I'll go elsewhere until you figure it out
16:48:31 <CakeProphet> hmmm
16:48:31 <AnMaster> and calm down
16:48:34 <CakeProphet> you could demake chroot
16:48:39 <CakeProphet> *remake
16:48:41 <somerandomentity> AnMaster: calm down?
16:48:46 <somerandomentity> do you think I am angry...?
16:48:52 <CakeProphet> use /dev/loop to make /dev/root with black magic. :)
16:48:53 <AnMaster> somerandomentity, no I think you are high
16:49:00 * CakeProphet wishes he was high.
16:49:05 <somerandomentity> Talking to high people is fun
16:49:07 <AnMaster> (only figuratively)
16:49:07 <CakeProphet> alas, job hunting.
16:49:09 <cpressey> or, don't mess with /
16:49:20 <somerandomentity> Dr. Strangelove, or, don
16:49:24 <somerandomentity> 't mess with /
16:49:42 <somerandomentity> AHA! /dev/mtdblock2! It masquerades but it is the file system I desire!
16:49:48 <cpressey> it depends on wtf you want to do with this poc
16:49:59 <somerandomentity> What is this ludocracy, such ludicrouslousness that it contains all the files, not just the linuxrc! LIES, fstab! LIES!-----
16:50:03 <somerandomentity> It can WORK!
16:50:20 <somerandomentity> but -- still -- what packages do I need for squashfs support? Could someone google? Internet on this is pain
16:50:29 <AnMaster> somerandomentity, yes I wouldn't trust fstab
16:50:31 <somerandomentity> cpressey: get it running some minimalist jazz and just sorta play with it
16:50:36 <AnMaster> somerandomentity, apt-cache search squashfs
16:50:53 <somerandomentity> apt? Do you realies how glacially slow that thing is on here?
16:50:54 <cpressey> somerandomentity: Did you ever answer: does it have a USB port?
16:51:01 <somerandomentity> cpressey: yes.
16:51:04 <AnMaster> somerandomentity, aptitude then
16:51:06 <CakeProphet> somerandomentity: run it in background. :P
16:51:08 <somerandomentity> Use as an FS, thou woult suggest?
16:51:11 <somerandomentity> AnMaster: Slower, you fool.
16:51:21 <AnMaster> somerandomentity, synaptic? XD
16:51:22 * somerandomentity typos aptitude
16:51:25 <somerandomentity> aptiDUDE.
16:51:33 <somerandomentity> AnMaster: PACKAGEKIT AND UBUNTU SOFTWARE CENTRE
16:51:41 <AnMaster> somerandomentity, XF
16:51:43 <AnMaster> XD*
16:51:44 <CakeProphet> dpkg
16:51:50 <cpressey> I'd plug in an external drive, flash even, and turn off the software running on it, but not try to mess with the fs it's on. too risky.
16:51:52 <somerandomentity> dselect
16:51:53 <AnMaster> yum!
16:51:58 <CakeProphet> python
16:52:00 <cpressey> but that's me
16:52:02 <CakeProphet> it's the most efficient.
16:52:05 <somerandomentity> rpm
16:52:09 <CakeProphet> rtfm
16:52:16 <somerandomentity> cpressey: eh :P
16:52:17 <CakeProphet> man rtfm
16:52:25 <somerandomentity> Whatever Slackware's package managver is installed!
16:52:26 <AnMaster> somerandomentity, emerg!
16:52:27 <AnMaster> emerge*
16:52:45 <AnMaster> okay that would be hilariously slow on that shit
16:53:04 <cpressey> portage!
16:53:07 <CakeProphet> just open a python shell
16:53:11 <AnMaster> cpressey, yes that is what emerge is from
16:53:12 <CakeProphet> and then use it as a web browser
16:53:26 <CakeProphet> the world is saved.
16:53:33 <AnMaster> CakeProphet, w3m-mode in emacs!
16:53:37 <somerandomentity> Lo, some wise traveller, please speak unto me these things ; such that by their using I could utilise my squashed file system on Debian ; these packages.
16:53:50 <CakeProphet> ...
16:54:04 <CakeProphet> I'd probably just ditch it.
16:54:21 <somerandomentity> The Googol-faced prophet! Search, please search, O...
16:54:36 <CakeProphet> !google Googol-faced prophet
16:54:39 <EgoBot> http://google.com/search?q=Googol-faced+prophet
16:54:45 <somerandomentity> apt-get update has never been so slow
16:55:08 <CakeProphet> apt-get remove computer
16:55:09 <CakeProphet> done.
16:55:15 <somerandomentity> 45 KiB/s on ethernet
16:55:22 <somerandomentity> what on earth is this thing doing to slow it down so much?
16:55:54 <CakeProphet> maybe Ted Stevenes was right about the internet.
16:56:38 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
16:57:42 <CakeProphet> somerandomentity: test youtube: http://www.youtube.com/watch?v=13HM-bmKW2U
16:57:48 <somerandomentity> no way
16:58:29 <somerandomentity> ! There are multiple squashfse! Geez
16:59:45 <cpressey> What did you expect, sanity and consistency? Pshaw.
16:59:53 <somerandomentity> I mean packages.
16:59:55 <somerandomentity> Not this computer.
17:00:14 -!- ais523 has joined.
17:00:32 <cpressey> I mean that too.
17:01:00 <somerandomentity> cpressey: hihi
17:01:04 <somerandomentity> erm
17:01:05 <somerandomentity> ais523: hihi
17:01:09 <somerandomentity> ais523: remember that godawful netbook?
17:01:26 <somerandomentity> It was fixed, and I'm breaking it again!
17:01:27 <ais523> which one?
17:01:35 <somerandomentity> ais523: the 7inch screen arm one
17:01:39 <somerandomentity> with horrible root only debian etc
17:01:42 <ais523> ah, no I don't
17:01:45 <somerandomentity> and the fucked up bootloader
17:01:59 <somerandomentity> ais523: on my birthday i came on first on it?
17:02:03 <somerandomentity> got you all to guess what it was?
17:02:08 <somerandomentity> proceeded to try and get debian on it?
17:02:11 <somerandomentity> 14th birthday iirc.
17:02:21 <ais523> nah, obviously I wasn't paying attention
17:02:39 <somerandomentity> ais523: you did though!
17:02:50 <somerandomentity> but anyway, its system is a horribly mangled debian, and it forces me to irc and internet as root
17:02:52 <ais523> anyway, can we have a better topic?
17:02:53 <ais523> you're good at them
17:02:58 <somerandomentity> i have a working debian chroot
17:03:05 <ais523> oh, I'm starting to remember now
17:03:10 <somerandomentity> i'm trying to surgeryify it into the main system
17:03:16 <ais523> and it explains the ~root@ in your whois data
17:03:17 <somerandomentity> while fighting with the linuxrc craziness and bootloader
17:03:20 <somerandomentity> ubiSsurfer
17:03:23 <somerandomentity> *ubisurfer
17:03:27 <somerandomentity> with that horrible ie-screenshot gprs browser
17:03:51 <somerandomentity> Anyway, this is the state of play. Do you know which squashfs package I want? There are multiple for some reason, for different systems.
17:03:54 <somerandomentity> ais523: we need optbot back
17:03:57 <somerandomentity> it always set nice topics
17:04:24 <somerandomentity> t
17:04:35 <ais523> and I have no idea which squashfs package is better than which other
17:04:43 <somerandomentity> they seem to all be for different systems
17:04:50 <somerandomentity> optbot was our first babble bot :)
17:05:05 <cpressey> This all makes me want my own atavistic netbook that I have to try to rehabilitate.
17:05:12 <AnMaster> hi ais523
17:05:17 <ais523> hi AnMaster
17:05:28 -!- tombom has joined.
17:05:30 <somerandomentity> cpressey: this thing is under 200 pounds, so you can have your enjoyment for only many weeks worth of food
17:05:54 <cpressey> It's a netbook, I damn well hope it weighs less than 200 pounds! HAHAHA
17:06:02 * cpressey bans himself
17:06:11 <ais523> cpressey: bad puns are oerjan's job!
17:06:18 <somerandomentity> cpressey: i knew you'd do that
17:06:18 <ais523> besides, he's better at them
17:06:44 <ais523> I should really get around to putting some of my esolangs up on the wiki...
17:06:55 <ais523> and implementing them, and defining syntax
17:07:06 <AnMaster> <cpressey> It's a netbook, I damn well hope it weighs less than 200 pounds! HAHAHA <-- ?
17:07:13 <cpressey> ais523: Yes, you should. You might, in fact, be 4th.
17:07:37 <cpressey> In terms of sheer number of designs.
17:07:43 <ais523> AnMaster: "pound" = "GBP/pound sterling", a unit of currency, and also an imperial unit of weight
17:07:50 <AnMaster> ais523, I know
17:07:57 <ais523> I was answering your ?
17:08:11 <AnMaster> ais523, I don't get the joke still
17:08:21 <ais523> `calc 200 pounds in kilograms
17:08:27 <Deewiant> ~100
17:08:31 <cpressey> AnMaster: netbooks are tiny
17:08:32 <HackEgo> No output.
17:08:32 <ais523> yup, a bit less
17:08:32 <AnMaster> Deewiant, ah, okay
17:08:35 <AnMaster> THEN I get the joke
17:08:38 <ais523> `google 200 pounds in kilograms
17:08:39 <somerandomentity> hmm, AnMaster may be autistic
17:08:40 <HackEgo> No output.
17:08:40 <AnMaster> cpressey, I don't do imperial units
17:08:42 <somerandomentity> ... or not
17:08:54 <somerandomentity> 1kg ~
17:08:56 <Deewiant> AnMaster: 1 pound ~= 0.5 kg
17:08:58 <somerandomentity> = 2.2 poounds iirc
17:09:00 <ais523> 1 kg ~= 2.2lb
17:09:01 <somerandomentity> *pounds
17:09:44 -!- pikhq has joined.
17:10:15 <somerandomentity> pikhq! A sysadmin! Just what we need
17:10:16 -!- cal153 has joined.
17:11:03 <ais523> hmm, a spambot pretending to be a girl that fancied me
17:11:14 <somerandomentity> even better than the real thing!
17:11:21 <ais523> but it was obviously a spambot, due to hiding the To: line and BCCing me, and putting about fifty newlines between every line
17:12:43 <somerandomentity> pikhq: Have you ever installed Linux ... on ACID^W ARM?
17:13:47 <pikhq> Who is this random entity?
17:13:59 <pikhq> And no, I have never installed Linux upon an ARM.
17:14:03 <Deewiant> Not obvious?
17:14:15 <somerandomentity> Entity number too big to list. Please request more specific information.
17:14:31 <pikhq> I shall guess a one Elliot Hird.
17:14:36 <somerandomentity> Wrong.
17:14:53 <ais523> pikhq: stop accusing random people of being ehird
17:15:00 <ais523> I know it's a national sport for this channel, but still...
17:15:04 <cpressey> No, *I* am ehird
17:15:05 <somerandomentity> ais523: but he'd be right if he did that .....
17:15:06 <somerandomentity> XD
17:15:19 <somerandomentity> Just not 'Elliot' hird
17:15:36 <pikhq> ehird, then.
17:15:37 <ais523> heh, I missed the misspelling
17:15:51 <somerandomentity> ais523: did you not realise?
17:15:59 <ais523> nah, I realised it was you
17:16:06 <ais523> but for some reason I thought you wanted to pretend to not be you
17:16:17 <ais523> the signs were all there, after all
17:16:20 <somerandomentity> Yes; because cheater99 is creepy
17:16:26 <ais523> even the IP address starting in 9, which I use as a sanity check
17:16:39 <somerandomentity> ais523: thatwon't work post-move :-)
17:16:52 <ais523> might do by chance
17:16:56 <cheater99> alise is creepy
17:16:58 <Deewiant> Do you remember everybody's IP address's first octet?
17:17:04 <ais523> Deewiant: no
17:17:10 <somerandomentity> ais523: unlikely
17:17:14 <ais523> but I whois somerandomentity so often that it would be hard not to remember
17:17:20 <somerandomentity> XD
17:17:21 <Deewiant> heh
17:17:23 <somerandomentity> my whois is so interesting
17:17:33 <AnMaster> <somerandomentity> hmm, AnMaster may be autistic <-- no
17:17:50 <AnMaster> not as such
17:18:07 <AnMaster> possibly everyone in here has some traits of it though
17:18:11 <AnMaster> to some degree
17:18:19 <somerandomentity> well, sort of.
17:19:14 <ais523> AnMaster: pretty much everyone in the universe does
17:20:36 <somerandomentity> pikhq: Well, want to help do so?
17:20:59 <somerandomentity> I have Debian in a chroot, and a horribly mangled Debian outside with some linuxrc crazy bootloading thing ran by a bootloader that seems to keep the kernel in firmware.
17:21:17 <AnMaster> ais523, mhm
17:21:18 <somerandomentity> pikhq: I wish to perform surgery to extract the Debian as much as possible to the outer system, and remove the outer system.
17:21:23 <somerandomentity> pikhq: Think you can help?
17:23:20 <CakeProphet> I don't think this black magic is going to go anyways.
17:23:22 <CakeProphet> *anywhere
17:24:10 <cpressey> Netbook, I'm going to reprogram you with a rather large axe, got it?
17:24:59 <somerandomentity> CakeProphet: it already runs debian
17:25:08 <somerandomentity> what is so strange about changing this debian for a new debian?
17:26:23 <pikhq> Hmm.
17:26:59 <ais523> cpressey: H2G2 misquote?
17:27:14 <pikhq> somerandomentity: chroot into your chroot, mount the old root. Remove all the outer system. debootstrap.
17:27:33 <somerandomentity> pikhq: Already debootstraped into a chroot.
17:27:45 <pikhq> Yes, but not the outer system.
17:27:52 <somerandomentity> I cannot erase the outer system completely, for its linuxrc and prorgams and firmware containing kernels are much insane.
17:28:12 <somerandomentity> I can only migrate the userspace stuff to this Debian piece-by-piece.
17:28:13 <pikhq> One can retain the linuxrc and the kernel; debootstrap shan't install those, anyways.
17:28:31 <somerandomentity> Listen, last time I} replaced stuff it couldn't mount various filesystems or something and trefusewd to boot.he bootloader
17:28:39 <somerandomentity> So I'm doing this slowly, for fear of bricking it again.
17:29:12 <pikhq> rsync from inner to outer, with that option to make rsync not delete things?
17:29:32 <somerandomentity> And retain all the vicious insanity prese\nt in this system? I intend to do it quite manually.
17:30:10 <ais523> wow, SCO vs. Novell just finished altogether
17:30:17 <ais523> all the remaining points to decide were ruled in Novell's favour
17:30:32 <somerandomentity> but they can appeal again, presumably
17:30:37 <somerandomentity> also, the judges must find it hilarious
17:30:41 <somerandomentity> they're getting paid to repeatedly say "no"
17:31:00 <ais523> somerandomentity: the thing is, they already appealed and won the appeal
17:31:17 <ais523> and lost the retrail
17:31:18 <ais523> *retrial
17:31:18 <ais523> so if they want to appeal again, they'll have to argue the opposite of what they argued last time
17:31:23 <ais523> admittedly, I think they might actually do that, but it would be hilarious
17:32:13 <somerandomentity> xD
17:32:45 <AnMaster> <ais523> wow, SCO vs. Novell just finished altogether <-- are SCO going to try to get that overruled?
17:32:52 <cpressey> ais523: "misquote" sounds so ugly. I prefer "riffing on"
17:33:11 <ais523> AnMaster: they haven't said they will yet
17:33:17 <ais523> that doesn't mean they won't, ofc
17:33:18 <AnMaster> ais523, hm
17:33:46 <AnMaster> <ais523> so if they want to appeal again, they'll have to argue the opposite of what they argued last time <-- ? what why?
17:34:21 <ais523> AnMaster: basically because their last appeal, plus the current trial, adds up to "based on SCO's own arguments, SCO loses"
17:34:33 <AnMaster> ais523, hm
17:34:37 <AnMaster> ais523, so...?
17:34:54 <ais523> AnMaster: there is no remotely sane way that SCO can get out of this one
17:35:00 <AnMaster> ais523, well yes
17:35:01 <ais523> I'm looking forwards to whatever completely insane way they try
17:35:04 <cpressey> SCO needs to disappear
17:35:04 <AnMaster> ais523, but are they going to try?
17:35:10 <ais523> AnMaster: I have no idea
17:35:14 <cpressey> Like, 10 years ago,.
17:35:32 <ais523> cpressey: they're no longer a credible threat at this point, but they do provide good entertainment
17:37:25 <AnMaster> "While some of you are no doubt perfectly comfortable with solving second order differential equations in order to understand a joke in a webcomic, I'm going to assume that most of you would rather hear the good stuff. "
17:37:36 <AnMaster> from the annotation on irregular webcomic today
17:37:37 <AnMaster> XD
17:39:59 <somerandomentity> OK, first idea: mv /lib /lib_bak, cp -R /debian/lib /lib
17:40:11 <somerandomentity> Test various programs.
17:40:18 <AnMaster> somerandomentity, do not reboot while it is that way
17:40:21 <somerandomentity> Manually copy X11 libs from /lib_bak to /lib or something.
17:40:27 <somerandomentity> If all works, reboot.
17:40:31 <somerandomentity> Good, bad idea?
17:40:32 <AnMaster> somerandomentity, no!
17:40:33 <cpressey> somerandomentity: is /usr/bin built statically?
17:40:37 <AnMaster> cpressey, BAD idea
17:40:42 <AnMaster> err
17:40:43 <AnMaster> somerandomentity, ^
17:40:46 <somerandomentity> AnMaster: Whyso?
17:40:59 <cpressey> if /usr/bin loads so's from /usr/lib you could be quite fucked
17:41:01 <AnMaster> somerandomentity, because linuxrc might need it.
17:41:06 <somerandomentity> lib not usrlib
17:41:14 <somerandomentity> AnMaster: I diffed the two listings
17:41:18 <somerandomentity> very few differ except X11 libs
17:41:29 <somerandomentity> and the ones that do differ aprat from x11 are... sound libs
17:41:30 <AnMaster> somerandomentity, different versions
17:41:31 <somerandomentity> and shit
17:41:42 <somerandomentity> AnMaster: i doubt linuxrc is /as/ crazy as you expect
17:41:43 <AnMaster> anyway bbl
17:41:44 <cpressey> well, that sounds like stuff you could afford to lose. but still
17:42:03 <cpressey> live recovery disk, if you have one, would be really nice
17:42:21 <somerandomentity> OK then, what CAN I replace?!
17:42:29 <Deewiant> Your laptop
17:42:35 <somerandomentity> I can't stay stopped forever for the fear that linuxrc won't work.
17:42:35 <cpressey> <rim shot>
17:42:43 <somerandomentity> Deewiant: I have a perfectly good laptop, this is just fun!
17:42:50 <somerandomentity> Like a puzzle, you know? But with tangible rewards and a realistic setting.
17:43:16 <cpressey> somerandomentity: Do you have some sort of "re-install the operating system" function on that thing?
17:43:28 <somerandomentity> Yes\, it
17:43:35 <somerandomentity> 's called "send back to manufacturer"
17:43:58 <somerandomentity> There is a reason I want to do this slowly :-)
17:44:02 <cpressey> Darn. Was hoping for an alt partition with compressed install disks or soemthing. My old laptop at home has one of those
17:44:13 <cpressey> Well,
17:44:23 <cpressey> I can only say what I would do
17:44:53 <AnMaster> somerandomentity, do not replace, add
17:45:07 <AnMaster> somerandomentity, as in, add the missing parts, but don't touch existing
17:45:24 <somerandomentity> Well, there is more present that there should not be, than is absent but should be present.
17:45:26 <cpressey> #1 would be to have a live usb thing you can boot off of, in case you fux0r sh1t up
17:45:32 <cpressey> But that's work
17:45:33 <somerandomentity> I want something clean, not this shitpile.
17:45:46 <somerandomentity> cpressey: bootloader won't boot to anything else remembner?
17:45:46 <ais523> does it have a serial port?
17:45:54 <cpressey> #2 would be to get rid of X, for now, with plans to re-install it sanely later
17:45:57 <ais523> if so, you could try getting the serial console working on boot
17:46:27 <AnMaster> somerandomentity, hack the boot loader?
17:46:33 <cpressey> somerandomentity: Forgot. Then I would be very careful about touching anything that the boot sequence even might rely on it
17:46:36 <somerandomentity> cpressey: I am not even sure this thing has consoles.
17:46:38 <AnMaster> somerandomentity, it must be somewhere
17:46:47 <somerandomentity> AnMaster: in ROM perhaps.
17:46:50 <somerandomentity> Probably even.
17:46:53 <AnMaster> somerandomentity, hm
17:46:58 <AnMaster> somerandomentity, not EEPROM?
17:47:05 <ais523> well, you're not going to be able to change the ROM, probably
17:47:15 <AnMaster> ais523, you could hack the bus
17:47:18 <ais523> even if it's EEPROM, what's the chance that there'll be a program to flash it available?
17:47:25 <AnMaster> and redirect it to something else
17:47:37 <somerandomentity> whatever is cheapest, it will be that.
17:47:43 <ais523> also, do you even own a JTAG cable? it's how those things are normally flashed on systems where they don't expect the user to be able to flash it from software
17:47:52 <somerandomentity> ctrl-alt-f# doesn't work
17:47:55 <ais523> somerandomentity: probably old-fashioned PROM then
17:47:55 <somerandomentity> does this thing even have consoles?
17:47:56 <cpressey> Finding if there is a console would be good.
17:48:07 <AnMaster> somerandomentity, check /etc/inittab
17:48:07 <ais523> somerandomentity: can you do ls /dev
17:48:11 <cpressey> It would not be uncheap to have a console, reusing existing video hw etc
17:48:16 <AnMaster> somerandomentity, and see if there are any in it
17:48:27 <cpressey> Or try killing XC
17:48:27 <AnMaster> somerandomentity, lines like:
17:48:29 <AnMaster> c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
17:48:29 <AnMaster> c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux
17:48:29 <cpressey> *X
17:48:31 <ais523> see if you can find vcs1 in it
17:48:39 <ais523> AnMaster: getty clearly isn't running
17:48:43 <somerandomentity> I will try killing X. Good first step.
17:48:48 <AnMaster> ais523, well maybe they are commented out!
17:48:53 <somerandomentity> no agetty, but busybox getty
17:49:02 <AnMaster> somerandomentity, hm
17:49:19 <somerandomentity> baud_rate wow :)
17:49:21 <ais523> well, busybox getty is sane
17:49:50 <somerandomentity> it works! and they even added a welcome message from The PocketSurfer Team lol
17:50:15 <ais523> ah, I was about to suggest trying to create character device 7, 1
17:50:20 <ais523> and seeing if you could read from it
17:50:23 <somerandomentity> they call it PocketSurfer linux. "Thanks for choosing DataWind!"
17:50:29 <ais523> it's the "screenshot from tty1" device
17:50:57 <somerandomentity> ok, this is insane
17:51:08 <ais523> somerandomentity: I take it you're IRCing from your main laptop?
17:51:12 <somerandomentity> logging in as root makes it try and start X and whatnot
17:51:18 <somerandomentity> ais523: no way
17:51:22 <somerandomentity> this is hardcore shit
17:51:31 <ais523> how did you kill X and yet stay on IRC?
17:51:36 <somerandomentity> i didn't kill x
17:51:39 <ais523> ah
17:51:49 <ais523> what worked, then?
17:51:52 <somerandomentity> i cran getty and now it is trying to start things because that is whoginut in the root lhey pat t
17:52:11 <ais523> oh, I see
17:52:16 <ais523> it's root's login shell that starts X?
17:52:20 <ais523> that... is pretty broken
17:53:17 <cpressey> You say broken, I say elegant, my friend.
17:53:30 <ais523> it's more mindboggling than anything
17:54:06 <ais523> <The Court> SCO argues that it is entitled to judgment as a matter of law "because the verdict cannot be squared with the overwhelming evidence and the law."11 The Court respectfully disagrees.
17:54:30 <somerandomentity> Holy shit, this thing uses ash!
17:54:36 <somerandomentity> It seems root's login is the init script
17:54:42 <somerandomentity> But there is no login file ... so confusing
17:54:58 <somerandomentity> O, tis /etc/profile!
17:55:01 <somerandomentity> such gaudy insanity
17:55:08 <cpressey> edit it so that X don't start
17:55:22 <cpressey> ... pilgrim
17:55:41 <ais523> so it's /everyone's/ login shell that starts X?
17:55:43 <ais523> even better
17:56:05 <cpressey> Not just elegance, but nigh god-like elegance.
17:56:49 <ais523> <The Court> It is true that SCO presented more witnesses who testified that it was the intent of the parties to transfer the copyrights as part of the deal but, as the jury was instructed, the number of witnesses is not determinative.
17:56:59 <ais523> you have to love some of SCO's arguments
17:57:48 <somerandomentity> ais523: So, uh... What I am going to do is, replace the X-starting things with gettys, and install irssi in the debian chroot.
17:58:08 <cpressey> Rock on, somerandomentity.
17:58:08 <ais523> putting getty in everyone's login shell is surely just as wrong
17:58:10 <somerandomentity> Then I will have a shell, not an interactive torture device.
17:58:14 <ais523> but OK
17:58:38 <somerandomentity> ais523: hmm you are right, that will not even work
17:58:48 <somerandomentity> for it will run on every login
17:58:54 <somerandomentity> but there is no init outside of linuxrc, it seems
17:58:55 <ais523> wouldn't it create infinitely recursive login terminals?
17:59:12 <ais523> hmm, is /tmp wiped on every boot?
17:59:21 <ais523> you could create a file in /tmp to say that you'd already created the gettys
17:59:26 <ais523> and thus had no need to create them again
18:00:05 <somerandomentity> W O W, this thing ships with GNASH
18:00:26 <ais523> does GNASH actually work yet?
18:00:42 <somerandomentity> oh there is an init.d hmm no indication that it works though
18:00:51 <somerandomentity> ais523: its Gnash I was just emphasising
18:00:53 <somerandomentity> and yes, bt barely
18:00:55 <somerandomentity> no youtube for tanceins
18:00:56 <somerandomentity> instances
18:01:27 <ais523> btw, someone reimplemented Flash in JS
18:01:45 <somerandomentity> yes and canvas/html5
18:01:46 <ais523> presumably rather slowly
18:01:51 <somerandomentity> it's actually rather good.
18:01:58 <somerandomentity> ok, it ALSO has an inittab
18:02:47 * somerandomentity enables some gettys in the inittab to see if it will work
18:02:58 <somerandomentity> no wait that'll init twice
18:03:00 <somerandomentity> grr
18:03:12 <somerandomentity> would you guys be able to help more with an ssh connection? :P
18:03:58 <somerandomentity> I'd feel better if there were little notes of horror scattered by the devs around the system
18:04:16 <ais523> somerandomentity: is there any way you can post it to the daily WTF?
18:04:17 <somerandomentity> "boss says it has to be this way" "oh god why" "This is insane, but then so is everything else."
18:04:19 <ais523> or is it not /that/ bad
18:04:24 <somerandomentity> ais523: I'll send it in the mail
18:04:38 <ais523> somerandomentity: but then you'd no longer own it
18:04:48 <somerandomentity> they could send it back, i guess
18:05:59 <somerandomentity> ais523: want to poke around the ssh of this thing? It'd be amusing, if nothing else.
18:06:03 <ais523> haha, SCO tried more than once to argue that they had the better case because they had numerically more witnesses
18:06:20 <ais523> somerandomentity: you trust me enough to do that?
18:06:31 <Deewiant> Are you surprised?
18:06:36 <somerandomentity> ais523: I think you're probably one of the most trustworthy people alive outside of nomic.
18:06:38 <Deewiant> You're not exactly known to be malicious
18:06:47 <somerandomentity> Also, I don't exactly care too much about this machine.
18:06:57 <ais523> somerandomentity: I'm trustworthy in nomic too, just with a different and very pedantic definition
18:07:13 <somerandomentity> Yes, well. :P
18:07:20 <somerandomentity> Okay, so now I get to figure out how to enable ssh
18:07:36 <somerandomentity> You can just be root, I don't feel like battlin]g with this to add a new user
18:07:45 <somerandomentity> Does ssh run a login shell?
18:08:04 <ais523> yes
18:08:39 <somerandomentity> Can you make it not?
18:09:17 <ais523> ooh, it seems possible looking at the docs
18:09:36 <ais523> what's the specific version of the shell over there
18:09:51 <ais523> as in, busybox ash? debian ash?
18:10:31 <somerandomentity> how can I} tell? It just says invalid option for -h and -?
18:10:38 <ais523> try --version
18:10:41 <Deewiant> --help
18:10:42 <somerandomentity> and man might not be reliable, this is crazy
18:10:53 <ais523> failing that, try which sh
18:10:57 <somerandomentity> busybox shell
18:10:58 <ais523> and seeing if the result is a symlink or not
18:11:03 <somerandomentity> 1.13.2
18:11:09 <somerandomentity> 2009 feb
18:11:20 <somerandomentity> no help available apparently
18:11:31 <ais523> not even in man busybox over here
18:11:34 <ais523> most of the commands have docs
18:11:45 <somerandomentity> ill see if -l doest he crazy
18:11:45 <ais523> but ash's documentation is "ash ash #define ash_full_usage"
18:12:04 <ais523> can you try running ash -i, followed by ps?
18:12:15 <ais523> and verifying that the resulting shell is called "busybox" or "ash" in the ps listing?
18:13:06 <somerandomentity> sh -l does crazy, sh doesn't
18:13:10 <somerandomentity> so can you make ssh not do a logi nshell
18:13:30 <ais523> yep, instead of telling it to start a shell
18:13:38 <ais523> you tell it to run a particular command that happens to be a shell
18:13:42 <somerandomentity> right
18:13:43 <ais523> and get a non-login shell that way
18:13:47 <somerandomentity> so i will start ssh and open the port
18:13:54 <somerandomentity> umm, and tell only you the port
18:14:01 <somerandomentity> wait, nmap
18:14:11 <somerandomentity> adding a password would be too much fuss
18:14:17 <somerandomentity> suggested security method? port should be fine
18:14:21 <somerandomentity> who would nmap it?
18:14:38 <cpressey> Well, good luck, you two. I gotta be off.
18:14:43 <somerandomentity> bye
18:14:44 <cpressey> Adieu.
18:14:46 <somerandomentity> do coem back!
18:14:48 <somerandomentity> *come
18:14:50 <cpressey> I'll try :)
18:14:54 <ais523> I think I know why that thing isn't running sshd by default
18:14:56 -!- cpressey has left (?).
18:15:04 <somerandomentity> i don't even know that that is true
18:15:09 <somerandomentity> it is in /etc/rc.d and should be rubnning ssh
18:15:17 <ais523> well, there's no obvious way to authenticate a login
18:15:38 <ais523> a crazy method would involve writing your own PAM plugin that requires a password only remotely an has nothing to do with the user
18:15:52 <ais523> alternatively, you could accept connections only from my public IP, that would likely work
18:15:59 <ais523> assuming you have a clever enough firewall
18:16:07 <somerandomentity> /etc/init.d/ssh cant run no lsb functions :-)
18:16:13 * somerandomentity starts ssh manually
18:17:16 <ais523> ssh or sshd?
18:17:37 -!- cal153 has quit (Ping timeout: 265 seconds).
18:17:56 <somerandomentity> can i give sshd a rudimentary password thing
18:17:59 -!- relet has joined.
18:18:02 <somerandomentity> thta it requires before all connections?
18:18:04 <somerandomentity> ais523: sshd
18:18:33 <ais523> hmm, not sure
18:18:40 <ais523> it seems this laptop doesn't actually have sshd installed
18:18:43 <ais523> nor its manpage
18:23:01 -!- cal153 has joined.
18:29:38 -!- augur has quit (Remote host closed the connection).
18:31:00 <somerandomentity> ais523: ping
18:31:07 <somerandomentity> my dns appears to be nonfunctional >.<
18:31:12 <ais523> pong
18:31:23 <ais523> and why not change it to a different DNS server?
18:31:33 <somerandomentity> my resolv.conf is f\ine .. what can i d6/
18:31:33 <ais523> or is it the DNS client at your end that's broken?
18:31:38 <somerandomentity> ais523: ok, gimme a good dns server
18:31:46 <ais523> 4.2.2.1
18:31:46 <somerandomentity> opendns will do, or that ... 10.4.4.n thing
18:31:48 <somerandomentity> or whatever it is
18:31:50 <somerandomentity> yeah that
18:32:12 <ais523> or you could try google's at 8.8.8.8
18:32:21 <ais523> but I trust a random company I've never heard of more than google
18:32:31 <ais523> there must be something wrong with me
18:32:38 <somerandomentity> oh, 4.2.2.1 is run by backbone guys i think
18:32:44 <somerandomentity> or at leats some really big telecom company
18:32:51 <somerandomentity> and i definitely do not trust google with my dns
18:33:28 <somerandomentity> any dsns client thing i have to flush?
18:34:16 <ais523> it's a really big telecom company, Level3
18:34:31 <somerandomentity> you have not heard of level3?
18:34:33 <somerandomentity> astonishing
18:34:51 <somerandomentity> heh this thing is completely solid state so you only know it's struggling becaues of the little cpu indicator
18:34:53 <somerandomentity> in the tray
18:35:19 <ais523> I've only heard of Level3 because of the DNS
18:36:18 <somerandomentity> well, you deend on them for access to the internet. At some point, most likely
18:36:20 <somerandomentity> *depend
18:36:37 <somerandomentity> iirc they maintain a few root dns servers, and many many many things utilies their network
18:37:03 <somerandomentity> but seri\ously, what do i gotta flush
18:37:15 <Deewiant> Nothing unless you're running some kind of DNS cache
18:37:35 <somerandomentity> then why it no worky
18:38:53 <somerandomentity> :<
18:39:37 <somerandomentity> I am sad, like a sad thing.
18:39:50 -!- relet has left (?).
18:40:30 <somerandomentity> ais523: perhaps a dns client issue then?
18:40:39 <ais523> maybe
18:41:01 <somerandomentity> Ill try rebooting
18:41:06 <somerandomentity> YOU MAY NOT SEE ME EVER AgAIN
18:43:30 -!- somerandomentity has quit (Read error: Connection reset by peer).
18:45:09 -!- alissed has joined.
18:45:23 <alissed> ais523: you know the time, you know the place, something that rhymes, to save the human race.
18:45:31 <alissed> Less obscurely, you can connect now. I think.
18:45:44 <ais523> I'm missing several relevant pieces of info
18:45:48 <ais523> should I use the IP in your whois?
18:45:55 <ais523> actually, that's the main one
18:46:04 <alissed> Why not try and see?
18:46:09 <alissed> What are the other pieces of info?
18:46:18 <ais523> I was going to say port, but we agreed that alreayd
18:46:41 <alissed> Do tell if it works.
18:46:46 <ais523> it mostly works
18:46:58 <ais523> there's no prompt, though
18:46:58 <ais523> not even if I set PS1
18:46:58 <ais523> although I get responses to commands
18:47:15 <alissed> hmm
18:47:19 <alissed> what sh option do i need?
18:47:37 <ais523> no idea
18:47:43 <alissed> wow, I can't type capital P in the terminal either
18:47:53 <ais523> also, ls isn't outputting in columns, making it rather hard to use
18:48:03 <ais523> hmm, nc just ended
18:48:04 <alissed> ais523: attempt now
18:48:12 <ais523> exited immediately
18:48:23 <alissed> oh so it did
18:48:24 <alissed> hmm
18:48:44 <alissed> bleh
18:48:50 <alissed> what options does busybox sh have, could you look it up?
18:48:57 <alissed> no, there is bash
18:49:11 <alissed> ais523: now, try
18:49:38 <ais523> still no prompt, otherwise working
18:49:49 <ais523> I can do without a prompt, I'm just wondering wtf is going on
18:49:58 <alissed> aha, wait
18:50:13 <ais523> are the prompts being shown on your screen?
18:50:46 <alissed> try now
18:50:48 <alissed> yes
18:51:00 <ais523> exiting immediately
18:51:05 <alissed> ffff
18:51:10 <ais523> (presumably, anything going to stderr goes to your screen, anytthing going to stdout goes to mine)
18:51:31 <alissed> no, stderr is not being seen
18:51:35 <alissed> try now
18:52:52 <ais523> no prompt
18:53:05 <alissed> set PS1
18:53:08 <ais523> if I send to stderr, i get the output
18:53:17 <ais523> setting PS1 did nothing
18:53:34 <alissed> you know what, I'll connect myself
18:53:55 <ais523> busybox claims it has telnetd compiled in
18:54:12 <ais523> you'd have to run it as "busybox telnetd" if there isn't a symlink, though
18:54:29 <fizzie> If there's no prompt, the shell might be in the non-interactive mode.
18:55:04 <alissed> interactive mode doesnt work though
18:55:05 <ais523> hmm, good point
18:55:23 <ais523> what if I try to start an interactive shell from the noninteractive shell?
18:55:26 <alissed> ais523: telnet in
18:55:50 <ais523> it went mad
18:55:55 <alissed> howso
18:56:01 <ais523> I'll pastebin
18:56:12 <alissed> or just summarise
18:56:21 <alissed> SHIT
18:56:23 <alissed> ITS THE INIT
18:56:31 <ais523> yep, thought it might be
18:56:35 <alissed> hahaha fuck you windows EVERYWHERE :D
18:56:46 <ais523> I got a fatal X error, saying it already ran
18:56:49 <alissed> two battery indicators fuck yeah
18:56:53 <ais523> then started IceWM
18:57:04 <ais523> which exited because it was already running
18:57:18 <alissed> okay try now
18:57:19 <ais523> OTOH, I now have a shell that works
18:57:27 <ais523> nothing now
18:57:39 <alissed> nothing?
18:57:47 <ais523> connection closed by foreign host
18:57:49 <ais523> instantly
18:58:10 <alissed> try now
18:58:27 <ais523> sa,e
18:58:29 <ais523> *same
18:58:53 <alissed> ff
18:59:49 <alissed> ais523: now?!
19:00:00 <ais523> still the same
19:00:08 <alissed> failing that we'll go back to nc + starting interactive
19:00:35 <alissed> nc in now
19:00:43 <alissed> and run bash -i
19:01:05 <ais523> yay prompt
19:01:24 <ais523> and it's taking a noticeable amount of time, maybe around 200ms, to reply to trivial commands like echo
19:01:51 <alissed> ais523: hmm
19:01:57 <alissed> ais523: it's possible this thing is just slow
19:01:59 <alissed> is it usable enough?
19:02:01 <ais523> also, less and more aren't waiting for paging, they're just outputting the whole thing
19:02:04 <ais523> it's usable, though
19:02:07 <alissed> ok
19:02:09 <ais523> not sure what to use it /for/, though
19:02:19 <alissed> Well, I guess, just try and figure it out.
19:02:49 <alissed> /debian is my chroot. /etc/init.d has stuff, /etc/inittab too. /etc/profile is the devil.
19:02:57 <alissed> / is... root.
19:03:02 <ais523> hmm, at least reading /etc/profile explains the insanity
19:03:08 <ais523> it's echoing PATH after it sets it
19:03:13 <alissed> So, the question is: How does this system really work? And how can I surgeryify /debian into it?
19:03:17 <ais523> which explains why telnet blurted out the path for no apparent reason
19:03:17 <alissed> also, what the hell is linuxrc?
19:04:05 <ais523> is /linuxrc text or binary?
19:04:13 <ais523> I'm not sure how to tell with the commands on there, other than trying to look at it
19:04:26 <alissed> binary, ELF
19:04:34 <alissed> ais523: you may want to chroot into /debian
19:04:40 <ais523> anyway, linuxrc seems to be a SuSE thing
19:04:43 <alissed> it has modern utilities, like nano and vi and a good shell
19:04:50 <alissed> and /mnt/poop is the root
19:04:53 <alissed> ais523: no, its definitely debian
19:04:57 <alissed> i think
19:05:02 <alissed> this machine is most certainly debian
19:05:17 <ais523> aha, it's the bootloader for the SUSE installer
19:05:22 <alissed> haha what
19:05:25 <alissed> oh i see
19:05:26 <alissed> not copied in
19:05:29 <alissed> just, suse uses it
19:05:31 <ais523> the docs say you can use it as a bootloader for an installed system too if you really want to
19:05:32 <alissed> it seems to be initrd or something
19:05:36 <alissed> common in embedded devices i guess
19:05:39 <ais523> yes
19:05:45 <alissed> its not just a suse thing
19:05:47 <ais523> http://en.opensuse.org/Linuxrc
19:05:56 <alissed> ais523: anyway, use the /debian chroot; it is far more pleasant
19:06:08 <ais523> I thought I was supposed to be helping you figure out how the system was so insane?
19:06:16 <alissed> of course
19:06:18 <ais523> if I chroot out of the insane bit, I just get a standard debian
19:06:19 <alissed> but you can do that with sane tools
19:06:20 <alissed> nope
19:06:26 <alissed> /mnt/poop
19:06:31 <ais523> hmm, you mean I should chroot to debian, then break the chroot?
19:06:33 <alissed> Mount Poop, the most dreaded of mountains
19:06:37 <alissed> ais523: basically, yes
19:06:44 <alissed> look in /mnt/poop, inspect with high-tech tools
19:06:49 <ais523> wow, "cd /" took almost half a second
19:06:57 <alissed> archaeologists don't use primitive tools to examine their samples
19:07:39 <ais523> whoops, exited netcat by mistake
19:07:42 -!- alissed has left (?).
19:07:50 <ais523> hmm, that's a bad sign
19:08:19 -!- alissed has joined.
19:08:21 <ais523> "linuxrc parameters are case-insensitive and you can add as many hyphens, underscores, or dots as you want."
19:08:24 <ais523> alissed: whoops
19:08:27 <alissed> ais523: try now
19:09:11 <ais523> it's working fine, except /mnt/poop seems to be empty
19:09:14 <ais523> despite being mounted
19:09:23 <ais523> "/dev/mtdblock2 on /mnt/poop type yaffs2 (rw)"
19:10:09 <alissed> hmm
19:10:16 <alissed> umount it and remoutn it, then
19:10:18 <alissed> *remount
19:11:01 <ais523> what's the command to mount?
19:11:06 <alissed> take a guess
19:11:06 <ais523> it needs a few settings I can't remember offhand
19:11:16 <alissed> mount -t yaffs2 /dev/mtdblock2 /mnt/poop
19:11:19 <ais523> "mount: you must specify the filesystem type"
19:11:21 <ais523> and I can't remember how
19:11:22 <ais523> ah
19:11:34 <ais523> ah, that's better
19:12:29 <ais523> hmm, /etc/install.inf, linuxrc's config file, seems not to exist
19:12:46 <alissed> its not that kind of linuxrc afaik
19:12:58 <ais523> it seems plausible that it would be
19:13:05 <alissed> ais523: hey can you start icewm --replace in the background plz?
19:13:08 <alissed> kinda without a wm here
19:13:21 <ais523> icewm: command not found
19:13:25 <ais523> presumably because I'm inside the chroot
19:13:41 <alissed> well, exit temporarily then plz :P
19:13:46 <alissed> no disown btw so youd need nohup
19:13:54 <ais523> oh, didn't nohup it
19:14:01 <alissed> yay, thank you
19:14:06 <ais523> done
19:14:12 <alissed> thx
19:16:23 <ais523> whoops, exited by mistake again
19:16:33 <ais523> the real problem with nc is that it exists on things like ^C and ^D
19:16:39 <ais523> rather than sending them into the inside shell
19:17:15 <alissed> hmm
19:17:48 <alissed> ais523: well, feel free to try and get telnetd working inside :P
19:17:51 <alissed> it should work now
19:18:01 <alissed> anyway, I'm just unsure which part I should migrate from /debian first.
19:18:09 <alissed> Or even what init it is using.
19:18:14 <alissed> linuxrc holds the key, but how to inspect it?
19:18:31 <ais523> take its SHA1 hash, then google it
19:18:42 <alissed> nobody else uses this thing
19:19:08 <ais523> correct, no results
19:19:19 <ais523> pity, I thought that was actually a decent idea for finding executables
19:19:32 <alissed> maybe we could look at it
19:20:03 <ais523> file isn't installed, either on the inside or the outside chroot
19:20:18 <alissed> so install it :)
19:20:22 <alissed> use apt-get, not aptitude
19:20:27 <alissed> aptitude takes minutes to start
19:20:30 <alissed> literally
19:20:53 * ais523 sets PS1 to a sensible value
19:21:18 <ais523> hmm, apt-get is also far from instant
19:21:23 <ais523> the thing seems to be rather slow
19:21:36 <alissed> well, its a few hundred mhz arm with 128 megs of ram or so
19:21:40 <alissed> with x11 and pidgin running
19:21:53 <alissed> wall doesn't seem to work
19:22:01 <alissed> would be nice to be able to communicate in-shell
19:22:01 <ais523> ptys seem not to work altogether
19:22:09 <alissed> in the chroot or outside?
19:22:12 <ais523> in
19:22:23 <ais523> because /dev/pts doesn't exist inside the chroot
19:22:25 <ais523> does it exist outside?
19:22:31 <alissed> oh i can create that
19:22:40 <ais523> ah, yes
19:22:44 <alissed> done
19:22:50 <alissed> did that wall work
19:22:54 <ais523> no
19:22:58 <alissed> hmm
19:23:05 <ais523> oops, I've started wall and now have no way to exit it
19:23:09 <ais523> could you kill my wall process?
19:23:23 <alissed> yes, sec
19:23:24 <ais523> (^C and ^D both kill the outside netcat)
19:23:34 <alissed> no kiillall so i have to mount proc to use ps to find the id
19:23:59 <ais523> thankis
19:24:00 <ais523> *thanks
19:24:04 <ais523> "sh: [4080: 1] tcsetattr: Invalid argument"
19:24:19 <alissed> ais523: im echoing to ptses
19:24:20 <alissed> is it working
19:24:27 <ais523> as well as not pressing control-anything, I now also have to remember to use heredocs
19:24:31 <ais523> and no
19:24:58 <ais523> hmm, /dev/pts is quite a bit smaller than /mnt/poop/dev/pts
19:25:03 -!- augur has joined.
19:25:28 <alissed> on a scale of one to ten, how weird is it to be talking technically about a directory called poop when i was just test-mounting it?
19:25:30 <alissed> maybe i should rename it
19:25:36 <alissed> ais523: i saw that
19:25:38 <ais523> only about 3, i know you
19:25:44 <ais523> ah, that was pty 1
19:25:49 <ais523> try 5 if you're aiming for me
19:25:56 <alissed> input output error, alas
19:25:59 <alissed> messaging to 0 works
19:26:06 <ais523> what about 4?
19:26:08 <alissed> how did you do it?
19:26:10 <ais523> it's likely to be one of the high-numbered ones
19:26:13 <ais523> and I echoed to 1
19:26:13 <alissed> all except 0 and 1 which is me
19:26:25 <alissed> see that?
19:26:29 <ais523> no
19:26:31 <alissed> hmm
19:26:38 <ais523> oh, ofc
19:26:40 <ais523> I'm not in a pty at all
19:26:43 <alissed> right
19:26:47 <alissed> what ARE you in anyway?
19:26:52 <ais523> just a pipe
19:27:00 <alissed> and not a named one either
19:27:10 <ais523> y
19:27:13 <ais523> I tried running script to create a pty
19:27:18 <ais523> and got "openpty failed"
19:27:27 <alissed> try it in /mnt/poop
19:27:33 <alissed> chroots tend to not like doing such things
19:27:38 <ais523> oh, unchroot?
19:27:39 <alissed> using the mntpoop binary
19:27:45 <alissed> ais523: or that
19:27:56 <ais523> I wrote "exit" and it exited every level at once
19:28:02 <ais523> and dropped me back to my own shell
19:28:03 <alissed> ais523: incidentally, bit of history: both devs are static
19:28:06 <alissed> also,heh
19:28:15 <ais523> no idea why it did that
19:28:19 <alissed> oh i could install ssh in the chroot
19:28:23 <alissed> you could escape it anyjway
19:28:51 <ais523> yes, but that's a pain
19:28:59 <alissed> ais523: why?
19:29:03 <ais523> "chroot /mnt/poop" would have been enough
19:29:03 <alissed> we use thechroot anyway
19:29:06 <ais523> but then I'd be inside two nested chroots
19:29:10 <alissed> so?
19:29:10 <ais523> in opposite directions
19:29:15 <ais523> so that's ridiculous
19:29:25 <alissed> so is everything else about this machine
19:29:58 <alissed> ais523: is this the only machine to use both busybox and firefox?
19:30:06 <ais523> probably not
19:30:16 <ais523> my laptop has busybox installed, after all
19:30:35 <alissed> but i mean using busybox primarily
19:30:45 <alissed> installing opensshd
19:31:38 <alissed> ais523: what do yout hink would be the safest thingt o move out of the chroot first?
19:31:53 <fizzie> My phone uses busybox primarily, and does have Firefox (well, Fennec... but it's related).
19:31:54 <ais523> I say, just change the init script to boot into the chroot
19:32:10 <ais523> and ignore the surrounding level of insanity
19:32:26 <alissed> ais523: oh, but that's just a chroot, not a real boy!^Winstall!
19:32:38 <alissed> you disconnected
19:32:40 <alissed> nc started again
19:33:08 <fizzie> (Or is it even "Firefox Mobile" officially? I think it is.)
19:34:22 <ais523> and ignore the surrounding level of insanity
19:34:27 <ais523> ?
19:34:29 <ais523> stupid client
19:34:43 <ais523> alissed: can I write a shellscript into /root inside the chroot?
19:34:53 <ais523> that sets PS1 to a sane value?
19:35:03 <ais523> it'd save having to copy it over all the time
19:35:14 <alissed> ais523: certainly.
19:36:13 <ais523> argh, /no/ control code works
19:36:17 <ais523> not even control-X to exit nano
19:36:33 <ais523> could I have a process kill again? I'll use ed, that should work
19:36:37 <ais523> assuming it's installed
19:36:46 <alissed> ais523: try sshing now
19:36:48 <alissed> as root
19:37:14 <ais523> which port?
19:37:20 <alissed> same
19:37:31 <ais523> connection refused
19:38:17 <alissed> hnn
19:38:18 <alissed> hmm
19:38:23 <alissed> can chroots start network connections in the host
19:38:24 <alissed> ?
19:38:45 <alissed> oh mwhoops
19:38:50 <ais523> I don't see why not
19:39:01 <alissed> try now
19:39:02 <ais523> although nc is currently using the same port
19:39:10 <alissed> no, I undid that
19:39:26 <ais523> it wants a password, and won't accept the null string
19:39:35 <alissed> i'll set one
19:39:41 <ais523> that could be a bad idea
19:39:46 <alissed> why
19:39:47 <ais523> because then you might not be able to boot
19:39:56 <alissed> its a chroot.
19:39:57 <ais523> given the insanity of the boot process
19:40:00 <ais523> oh, inside the chroot
19:40:01 <ais523> ofc
19:40:13 <alissed> password is the most common algebraic placeholder variable
19:40:43 <alissed> for some reason, /root/.bashrc is not running
19:40:49 <alissed> just run that instead of your ps1-setter
19:41:22 <alissed> hmm a pty error
19:41:34 <ais523> "PTY allocation request failed on channel 0"
19:41:42 <ais523> nothing inside the chroot can create ptys, it seems
19:41:52 -!- b3n4dd1 has joined.
19:41:52 <ais523> probably you're missing something in /dev
19:42:01 <ais523> IIRC, that's how you create ptys, you ask a pty-creation device for one
19:42:14 <alissed> i linked the chroot pts to the outside one
19:42:32 <alissed> still fails
19:43:22 <ais523> what sort of link, hardlink?
19:43:22 <alissed> can you hardlink a directory?
19:43:30 <alissed> symlink, which is why i suspect it fails
19:43:32 <ais523> and it depends on the filesystem
19:43:43 <alissed> also, im paranoid and always remove symlinks with unlink, not rm; am i weird?
19:43:47 <alissed> ais523: some crazy embedded one
19:43:57 <ais523> even on the ones that let you, you need to be root and give a special arg to ln to say "yes I really mean this"
19:44:00 <alissed> nope, not allowed
19:44:06 <alissed> oh!
19:44:07 <alissed> I know!
19:44:31 <ais523> ln -d, it seems
19:45:36 <alissed> i have a feeling it would not work on the outer system
19:46:26 <alissed> hmm
19:46:29 <alissed> ais523: ill just go for telnet then
19:46:31 <alissed> maybe it will work
19:46:32 <alissed> or rsh
19:46:33 <alissed> pick
19:46:43 <ais523> I don't think either will work
19:46:48 <ais523> because script didn't
19:46:59 <alissed> okay; any bright ideas?
19:47:05 <ais523> hmm, rsh probably doesn't need ptys, come to think of it
19:47:07 <ais523> you could try that
19:47:13 <alissed> it shall be done
19:47:29 <alissed> this is fun, in a sort of really demented way, isn't it?:P
19:47:32 <alissed> *it? :P
19:47:48 <alissed> wow, removing packages is slow
19:49:03 <ais523> I'm not entirely sure what we're trying to achieve
19:49:17 <ais523> other than making your system saner, which everyone here but you seems to think is a bad idea to even try to accomplish
19:49:26 <alissed> Well, I'm trying to abolish all insanity in / and insert sanity in the form of Debian.
19:49:38 <alissed> ais523: but why? Because it might break it? It is useless as it is anyway.
19:49:55 <ais523> it wouldn't be useless if you just made it boot into the chroot
19:50:11 <ais523> it'd be as useful as a sane version would be
19:50:15 <alissed> that's less fun, though
19:52:27 <alissed> ais523: try now, standard rsh port
19:52:30 <alissed> i know nothing of rsh
19:52:35 <alissed> oh i have not forwarded it
19:52:39 <alissed> what is its number?
19:53:17 <ais523> no idea
19:53:22 <ais523> I do "man rsh" and get the man page for ssh
19:53:46 <alissed> shall i just put the nc back up?
19:55:11 <alissed> ais523: ok, how about we get it booting to the chroot
19:55:16 <alissed> as, at least, a first step
19:55:20 <alissed> now, we need it to do getty stuff
19:55:33 <alissed> netcat started again
19:56:10 <alissed> ** consider /etc/profile locked for editing
19:56:15 <alissed> its like cvs!
19:57:19 <alissed> ais523: should it run the chroot's init?
19:57:39 <ais523> well, is the outside init working?
19:57:46 <ais523> if so, you don't need an inside init
19:57:49 <ais523> just something to start services
19:58:02 <alissed> yes, but it'd be simpler
19:59:20 <ais523> running two copies of init is simple?
19:59:24 <alissed> im going to try running the chroots /sbin/init to see what happens
19:59:27 <alissed> ais523: simpler from a debian point of view
19:59:45 * ais523 reads Slashdot story about company putting a content warning on the US constitution
19:59:56 <alissed> whats the default init level?
20:00:31 <ais523> 3 I think
20:00:44 <pikhq> I'm amazed at Puppy Linux.
20:00:45 <alissed> no /dev/initctl
20:00:51 <alissed> pikhq: amazed howso
20:00:52 <pikhq> It has managed to make GTK not seem slow.
20:01:36 * alissed replaces /dev/initctl with mnt poop version
20:02:24 <alissed> still does not work
20:02:27 <alissed> hmm
20:02:33 <alissed> ais523: ok, how can i start just the init.d stuff?
20:02:47 <ais523> it used to be done by shellscript
20:02:56 <ais523> presumably that method still works
20:03:50 <alissed> like... manually running them?
20:04:03 <ais523> a shell script ran everything in the right order
20:04:07 <ais523> and was the only thing init ran
20:04:18 <alissed> well, yes, but theres already a tangle of init.d stuff id like to use
20:04:33 <alissed> so how can i just use the sysv part of sysvinit?
20:05:10 <alissed> its /etc/init.d/rc i tihnk
20:05:21 <alissed> no, rcS
20:05:27 -!- ais523 has left (?).
20:06:44 -!- alissed has quit (Quit: Leaving.).
20:06:49 -!- bsmntbombdood_ has joined.
20:09:09 -!- bsmntbombdood has quit (Ping timeout: 264 seconds).
20:20:41 -!- alissed has joined.
20:20:52 <alissed> gah, where did ais go
20:23:17 <fizzie> Quit with a fungot quote in the quit message; that is messed-up.
20:23:18 <fungot> fizzie: mother told me some of the art in solving the eopl problems specific to their business.
20:23:23 <alissed> He always does that.
20:23:36 <alissed> Whenever he doesn't set a quit message, which is rare.
20:26:49 -!- MigoMipo has joined.
20:33:36 -!- Leonidas_ has joined.
20:34:58 -!- alissed has quit (Read error: Operation timed out).
20:37:31 -!- Leonidas_ has quit (Client Quit).
20:37:38 -!- Leonidas_ has joined.
20:40:03 -!- Leonidas_ has quit (Client Quit).
20:40:13 -!- Leonidas_ has joined.
20:40:24 -!- olsner has joined.
20:41:33 -!- Leonidas_ has quit (Client Quit).
20:42:21 -!- Leonidas_ has joined.
20:43:51 -!- MizardX has joined.
20:44:37 -!- b3n4dd1 has quit (Ping timeout: 260 seconds).
20:44:50 -!- Leonidas_ has quit (Client Quit).
20:46:08 -!- olsner has quit (Read error: Connection reset by peer).
20:48:28 -!- olsner has joined.
20:48:29 -!- olsner has quit (Read error: Connection reset by peer).
20:49:18 -!- olsner has joined.
20:55:28 -!- Leonidas_ has joined.
20:57:27 -!- cheater99 has quit (Ping timeout: 260 seconds).
20:58:41 -!- cheater99 has joined.
21:10:34 -!- Leonidas_ has changed nick to Leonidas__.
21:12:05 -!- Leonidas has changed nick to Leonidas_.
21:12:20 -!- Leonidas__ has changed nick to Leonidas.
21:13:26 -!- Leonidas_ has left (?).
21:17:12 -!- olsner_ has joined.
21:19:57 -!- olsner has quit (Ping timeout: 260 seconds).
21:19:57 -!- olsner_ has changed nick to olsner.
21:37:46 <cheater99> hello #esoteric
21:39:49 <pikhq> Hello, cheater #99.
21:43:18 <cheater99> how are you, high-quality pik?
21:59:28 <pikhq> I faireth well today.
21:59:39 <pikhq> Erm. Faireth?
21:59:41 <pikhq> Fare.
21:59:44 <pikhq> I fare well today.
21:59:49 <pikhq> However, my English does not.
22:05:35 <olsner> Indeed.
22:05:43 <olsner> pik is a kind of fish in swedish, I think
22:06:17 <olsner> incidentally, pike in english is a different fish and also a sharp pole (which pik in swedish is also)
22:06:45 <olsner> that last paren could actually use a second 'also'
22:09:01 <olsner> nope, I'm just making things up
22:13:07 -!- olsner has quit (Quit: olsner).
22:25:59 -!- tombom_ has joined.
22:28:29 -!- tombom has quit (Ping timeout: 272 seconds).
22:29:26 <CakeProphet> awww yeah
22:29:34 <CakeProphet> I finally found a store that supplied vermiculite
22:32:19 -!- charlls has joined.
23:21:57 <AnMaster> okay so my sleep pattern is extremely fucked up atm
23:22:02 <AnMaster> I woke up at 00:05
23:24:53 <AnMaster> I guess I'm nocturnal now
23:27:03 <pikhq> That's pretty fucked up.
23:27:20 <AnMaster> pikhq, yep
23:27:35 <AnMaster> pikhq, at least I get to talk to new people
23:30:38 <pikhq> Whoo.
23:30:46 <AnMaster> pikhq, hm?
23:36:49 <Leonidas> hmm, waking up at 0:05 sounds like fun to me. I like being awake during the night.
23:37:02 -!- CakeProphet has quit (Ping timeout: 260 seconds).
23:38:55 -!- CakeProphet has joined.
23:41:39 -!- charlls has quit (Quit: Saliendo).
23:41:53 -!- oerjan has joined.
23:55:20 -!- jcp has quit (Quit: Later).
23:58:05 -!- jcp has joined.
23:59:02 -!- tombom_ has quit (Quit: Leaving).
23:59:48 -!- MigoMipo has quit (Remote host closed the connection).
2010-06-12
00:02:09 <oerjan> 09:06:02 * cpressey bans himself
00:02:09 <oerjan> 09:06:11 <ais523> cpressey: bad puns are oerjan's job!
00:02:16 <oerjan> also, banning people.
00:02:47 * oerjan skips the rest of the huge log
00:06:04 -!- lament has changed nick to vuvuzela.
00:35:53 -!- MizardX has quit (Read error: Connection reset by peer).
00:46:50 -!- pikhq has quit (Read error: No route to host).
00:48:03 <AnMaster> <Leonidas> hmm, waking up at 0:05 sounds like fun to me. I like being awake during the night. <-- not when you need to coordinate with a family
00:48:29 <AnMaster> oerjan, hi there
00:49:33 <oerjan> 'lo
00:57:19 <AnMaster> oerjan, lo as in lo and behold or as in "lo[sic] - not high"? ;P
00:58:08 <oerjan> 'lo as an abbreviation of hello. also the latter.
00:59:36 <AnMaster> oerjan, XD
01:01:20 <oerjan> we'll get your pun detector calibrated yet
01:10:25 -!- kar8nga has quit (Remote host closed the connection).
01:26:35 <AnMaster> oerjan, XD
01:27:29 <AnMaster> btw listening to beatles... yellow submarine isn't too bad. The rest is just variations on two themes it seems. "love - happy" and "love - sad"
01:31:16 <vuvuzela> what else is there to sing about?
01:31:45 <AnMaster> vuvuzela, XD
01:32:02 <AnMaster> vuvuzela, well, you could sing about green submarines too?
01:33:39 -!- FireFly has quit (Quit: swatted to death).
01:43:57 -!- augur has quit (Ping timeout: 258 seconds).
01:53:00 -!- selckiku has joined.
01:53:38 <selckiku> oh yay! i'd been looking for this channel but i didn't know what it was named.
01:54:00 <selckiku> I've been wondering if there are any 2D languages with higher order functions?
01:54:41 -!- cal153 has quit.
01:54:49 <selckiku> One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right?
01:55:21 <selckiku> But it occured to me you could easily make a higher order function that takes a 2D function and transforms it so that it works the same entered from whatever direction.
01:55:45 <AnMaster> hm
01:55:54 <AnMaster> <selckiku> I've been wondering if there are any 2D languages with higher order functions? <-- that would be awesome
01:55:58 <selckiku> I'm pretty sure that wouldn't make 2D languages useful, but I thought it might be fun anyway.
01:55:58 <AnMaster> invent one!
01:56:06 <AnMaster> (there may be, but I don't know of any)
01:56:24 <selckiku> I plan to! First I'm looking for prior art, though.
01:56:31 <AnMaster> <selckiku> One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right? <-- hm befunge doesn't even have functions does it?
01:56:33 <AnMaster> I mean
01:56:44 <AnMaster> I'm sure it doesn't except through extensions
01:56:58 <selckiku> I've been reading through the 2D languages section on the wiki, and there are some that have functions, but none with higher order functions that I've noticed yet.
01:57:00 <AnMaster> and even then it could be argued to be more like goto with call stack
01:57:01 <AnMaster> (SUBR)
01:57:15 <AnMaster> selckiku, such as which ones?
01:57:35 <AnMaster> I mainly know much about befunge (written several interpreters for befunge-98)
01:58:05 <selckiku> Hmm, um, I didn't note which ones had functions, let me see if I can remember... there was one that puts everything in boxes surrounded with ########## and you can have various boxes and use them as functions.
01:58:15 <AnMaster> hm
01:58:20 <AnMaster> not sure which one that would be
01:59:11 <selckiku> I had an idea to make a generic editor/interpreter for this style of ASCII 2D langs, but that's a pretty ambitious project!
01:59:36 <AnMaster> selckiku, very much so
01:59:57 <AnMaster> selckiku, I use emacs in picture-mode, allows you to write in any of the cardinal directions plus the diognals
02:00:09 <AnMaster> I would prefer to have a generic delta
02:00:21 <oerjan> <selckiku> oh yay! i'd been looking for this channel but i didn't know what it was named. <-- (1) you know that _could_ have been the introduction of one of those people who think this channel is about "mystical" stuff (2) it's in the community links on the wiki, but maybe that's where you found it
02:00:24 <selckiku> I'm just starting with emacs. I've learned a little about artist-mode, but I don't know picture-mode yet.
02:00:43 <AnMaster> selckiku, anyway about "One complaint or annoyance about 2D languages is that you have to worry about which way you're going into a function, right", it is actually useful for hacks
02:00:55 <selckiku> oerjan, well i found a mention of #esoteric somewhere on the wiki and then I did a little more googling to find out it was here on Freenode.
02:01:49 <selckiku> I had a thought that you could rationalize the 2Dness of it, by having conventions about what direction means what. Like if code tended to flow downward, that would give some meaning to that direction.
02:01:53 <AnMaster> selckiku, doesn't artist-mode load picture mode?
02:01:54 <AnMaster> iirc
02:01:56 * oerjan checks that the Community Portal actually mentions it's on freenode
02:02:04 <oerjan> *portal
02:02:13 <oerjan> er
02:02:17 <oerjan> *Portal
02:02:28 <selckiku> well where i saw it mentioned was just on some random page on the wiki as i was browsing around, someone said that an idea had been discussed on "#esoteric"
02:02:32 <AnMaster> oerjan, eh? it wasn't typoed in the first place was it?
02:02:56 <oerjan> AnMaster: the article name and the menu link aren't consistent, was what trapped me
02:03:06 <AnMaster> oerjan, ah
02:03:10 <selckiku> i was reading about DOBELA, in particular
02:03:18 -!- pikhq has joined.
02:03:20 <AnMaster> oerjan, isn't irc mostly case insensitive though?
02:03:28 <AnMaster> selckiku, oh that one... XD
02:03:43 <AnMaster> hm I haven't seen the author for a while
02:03:50 <AnMaster> oerjan, know what happened to him?
02:05:25 <selckiku> most of the 2D languages follow a pretty simple pattern: there's an instruction pointer, there's various data structures like stacks or whatever, and there's a meaning to each ASCII symbol the pointer hits
02:05:34 <AnMaster> selckiku, isn't DOBELA more of a bully automaton?
02:05:35 <oerjan> AnMaster: mediawiki isn't case insensitive, except for the first letter
02:05:45 <AnMaster> oerjan, yeah that is pretty esoteric ;P
02:06:29 <selckiku> so i think it would make sense to write a generic interpreter/editor that understands that basic structure, and then you just need to teach it what each language does for the various symbols
02:06:41 <AnMaster> selckiku, also, arguably life is a 2D language
02:06:43 <oerjan> selckiku: your comment about using different directions for different things reminds me of PROLOG, where i think you have 4 different ways of entering/reentering/exiting a predicate
02:06:45 <AnMaster> (cell automaton)
02:06:50 <Sgeo_> Why does v in DOBELA distinguish South from the rest?
02:07:02 <selckiku> huh, i haven't learned PROLOG, that sounds interesting.
02:07:23 <AnMaster> Sgeo_, "to make things work" iirc?
02:07:33 <oerjan> PROLOG isn't 2d though
02:07:48 <AnMaster> oerjan, prolog isn't even esoteric!
02:08:02 <selckiku> i've heard conflicting opinions on that :D
02:08:04 <oerjan> AnMaster: i saw asiekierka just the other day
02:08:08 <AnMaster> oerjan, ah
02:08:20 <oerjan> possibly just in the logs
02:08:34 <oerjan> he said he had a new esolang idea
02:08:43 <AnMaster> selckiku, yeah but then you could argue that haskell or whatever is esoteric too
02:08:46 <AnMaster> or scheme
02:09:11 <selckiku> the whole field of programming languages is terribly esoteric
02:09:31 <pikhq> Not particularly.
02:09:39 <selckiku> hopefully not usually on purpose. i do wonder sometimes-- there's job security in not letting the general public catch up with you.
02:09:48 <pikhq> Well, no more so than programming itself.
02:09:58 <AnMaster> btw I found that the best way to learn an esolang is to write an interpreter. You are pretty much bound to learn all the details and undefined corners of it.
02:10:11 <pikhq> Definitely.
02:10:18 <AnMaster> that is, interpreter *for* it, not *in* it
02:10:23 <pikhq> Hahah.
02:10:38 <AnMaster> but sure, a self interpreter should make you learn loads
02:10:45 <selckiku> hah
02:11:00 <oerjan> huh the dobela page says User:asiekierka but it seems he has never actually registered
02:11:09 <selckiku> what's the longest program that's been written in an esolang?
02:11:10 <AnMaster> oerjan, huh
02:11:21 <oerjan> only edited anonymously
02:11:25 <AnMaster> oerjan, or did he just skip creating user page?
02:11:27 <AnMaster> hm
02:11:27 -!- zzo38 has joined.
02:11:29 <AnMaster> okay
02:11:32 <AnMaster> zzo38, hi!
02:11:35 <pikhq> selckiku: I'm going to go out on a limb and say LostKng.
02:11:48 <oerjan> AnMaster: there is no "User contributions" link
02:11:56 <zzo38> Is that right? if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL);
02:11:59 <AnMaster> pikhq: do you count compiled-to-esolangs?
02:12:07 <pikhq> Oh, wait.
02:12:17 <AnMaster> pikhq, if so: hello world compiled by gcc-bf
02:12:23 <pikhq> There's gcc-bf. Gah.
02:12:23 <AnMaster> it beats lostking easily
02:12:24 <AnMaster> ;P
02:12:32 <zzo38> I have not heard of gcc-bf
02:12:39 <AnMaster> pikhq, ais523 wrote it
02:12:43 <selckiku> pikhq, what's lostkng?
02:12:44 <AnMaster> well it is buggy and unfinished
02:12:54 <AnMaster> selckiku, a text adventure in brainfuck
02:13:00 <pikhq> selckiku, LostKng is a text adventure game in Brainfuck.
02:13:16 <selckiku> wow that sounds awesome, i guess if i add brainfuck to my search i should find it :)
02:13:17 <pikhq> About a meg of Brainfuck.
02:13:26 <AnMaster> yeah
02:13:33 <pikhq> Get it down to about 400k with a decent compiler.
02:13:45 <AnMaster> pikhq, but even runlength compressed gcc-bf output beats that easily
02:13:55 <pikhq> Trivially.
02:14:11 <AnMaster> well RLE hello world iirc is slightly smaller than lostkng, but uncompressed... way larger
02:14:13 <pikhq> Doesn't gcc-bf's output include *filesystem emulation* code?
02:14:26 <AnMaster> pikhq, iirc that was planned but not yet written
02:14:37 <AnMaster> pikhq, I do have the code somewhere around here
02:14:39 <AnMaster> I think
02:15:52 <AnMaster> since it includes the whole gcc... well I don't have anywhere I could upload that
02:16:49 <zzo38> Where is gcc-bf? Can it support PSOX? Perhaps it can add a PSOX mode that can be switched on/off?
02:17:09 <AnMaster> zzo38, no PSOX support so far. As for where: nowhere on the web iirc
02:17:22 <Sgeo_> Define "PSOX support"
02:17:28 <Sgeo_> Or was zzo38 pretending to be me?
02:17:55 <zzo38> I mean, so that fopen() command and such can use PSOX, if it is enabled
02:17:57 <AnMaster> Sgeo_, I suspect he means "gcc-bf will generate output using PSOX to implement filesystem functions"
02:18:02 <Sgeo_> Ah
02:18:37 <AnMaster> zzo38, anyway gcc-bf is _very buggy_ currently. The output is not complete. It generates the asm but the asm->bf bit is not completre
02:18:38 <Sgeo_> The filesystem stuff in PSOX is [and will be, unless people care enough to motivate me to start working again] flaky and the spec for that was still in flux
02:18:39 <AnMaster> complete*
02:19:03 <AnMaster> zzo38, I could locate and upload it somewhere but I have nowhere with enough space of bandwidth to do it
02:19:21 <zzo38> That is OK you don't have to do that right now.
02:19:23 <AnMaster> Sgeo_, what else was PSOX for?
02:19:26 <zzo38> I just wanted to know if it was available
02:19:38 <zzo38> If it isn't available, is still OK
02:19:41 <AnMaster> zzo38, well afaik it isn't no. Ask ais523 next time he is around
02:19:42 <selckiku> what's gcc-bf?
02:19:43 <Sgeo_> AnMaster, Internet stuff, and stuff to make things easier
02:19:51 <AnMaster> Sgeo_, what stuff easier?
02:19:59 <AnMaster> Sgeo_, floating point emulation?
02:20:10 <selckiku> a brainfuck compiler?
02:20:13 <zzo38> I have two questions: [1] Is this the correct way to use fork() and execl() command in C? [2] Will gcc-bf do anything with codes such as this?
02:20:14 <zzo38> if(!fork()) execl(Conf_SummonFile,Conf_SummonFile,Client_Mask(Client),user,server,channel,NULL);
02:20:16 <Sgeo_> PSOX doesn't have a way of dealing with floating point stuff >.>
02:20:27 <AnMaster> selckiku, gcc-bf? No. It is a C->brainfuck compiler
02:20:34 <Sgeo_> Some math, some storage. Mostly it's intended for Internet and Filesystem stuff
02:20:41 <Sgeo_> And extensions, e.g. a GUI domain
02:20:44 <AnMaster> selckiku, the best brainfuck compiler currently is esotope-bfc (compiles brainfuck to C)
02:20:45 <Sgeo_> Would be possible
02:20:57 <AnMaster> selckiku, highly optimising
02:21:05 <zzo38> AnMaster: What happen if you C->Brainfuck->C
02:21:16 <AnMaster> zzo38, a very very bloated C program
02:21:21 <pikhq> Next time I'm in front of a development machine, I intend to get back to work on my compiler. Perhaps beat esotope-bfc.
02:21:45 <AnMaster> zzo38, gcc-bf is very very inefficient
02:21:47 <zzo38> AnMaster: And what happen if you Brainfuck->C->Brainfuck?
02:21:49 <pikhq> (Brainfuck->x86 assembly (Intel format) compiler, in Haskell)
02:21:52 <selckiku> hmm it would be interesting if you had compilers that optimized so well that you could make a program more and more efficient by compiling it around to different languages
02:22:00 <AnMaster> zzo38, a very very inefficient brainfuck program I presume
02:22:30 <AnMaster> selckiku, unlikely :P
02:22:39 <AnMaster> selckiku, at least as long as bf is involved
02:23:09 * Sgeo_ needs to go eat
02:23:13 <AnMaster> mhm
02:26:36 <selckiku> there's a lot of different stuff for bf!
02:26:55 <selckiku> why is bf such a popular language? just history?
02:27:05 <AnMaster> don't know
02:27:08 <AnMaster> selckiku, intercal is fun too
02:27:20 <AnMaster> selckiku, there is a fair amount for befunge too
02:27:24 <AnMaster> ^source
02:27:24 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
02:27:35 <AnMaster> selckiku, that bot is witten in befunge-98
02:27:49 <zzo38> There is 1972-INTERCAL and C-INTERCAL and CLC-INTERCAL, and also CLCLC-INTERCAL although CLCLC-INTERCAL is not implemented as far as I can tell
02:28:14 <AnMaster> zzo38, what is CLCLC?
02:28:19 <AnMaster> zzo38, and who made it?
02:28:28 <zzo38> Look on wiki [[CLCLC-INTERCAL]] page.
02:29:04 <AnMaster> zzo38, don't have browser running atm. Rendering heavy images atm, so computer is highly loaded, don't want to start browser
02:29:34 <AnMaster> fungot, how are you today?
02:29:34 <fungot> AnMaster: how come nobody has built one?
02:29:36 <zzo38> CLCLC-INTERCAL is a variation on CLC-INTERCAL, just like CLC-INTERCAL is variation on C-INTERCAL and 1972 INTERCAL.
02:29:37 <AnMaster> ^style
02:29:37 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
02:29:39 <AnMaster> ah
02:29:53 <zzo38> It has Quantum INTERCAL but differently than CLC-INTERCAL
02:30:00 <AnMaster> zzo38, who made CLCLC?
02:30:08 <zzo38> And vector INTERCAL
02:30:17 <zzo38> And UTF-INT
02:30:28 <AnMaster> vector INTERCAL? UTF-INT?
02:30:33 <zzo38> And back-tracking and also front-tracking
02:30:51 <zzo38> And name-spaces, and functional INTERCAL
02:30:59 <AnMaster> zzo38, okay wtf is front tracking?
02:31:13 <zzo38> I don't know what front-tracking is.
02:31:17 <AnMaster> ah
02:31:56 <zzo38> But, CLCLC-INTERCAL Quantum mode is *real* Quantum INTERCAL, rather than the way that CLC-INTERCAL does it
02:32:27 <AnMaster> hah
02:34:13 <oerjan> AnMaster: evidence points to zzo38 :D
02:34:24 <zzo38> The current choicepoint for back-tracking is stored in a register, and the stashing stack for it corresponds to the choicepoint stack
02:34:55 <zzo38> You have to use EBCDIC for the CREATE command, instead of using ASCII numbers.
02:35:54 <zzo38> Apparently this is supposed to be a valid command: MAYBE DO NOT COME FROM CHOICE
02:36:21 <AnMaster> oerjan, ah
02:36:30 <AnMaster> oerjan, if so he should know what front tracking is!
02:36:33 <zzo38> And so is this: (#33 NAME #5) PLEASE COME FROM #34 NAME '#0 NAME ,1 SUB #1'
02:36:35 <oerjan> zzo38: i am adding you as the author of CLCLC-INTERCAL, unless you wish to deny it, the page itself did not mention it
02:36:53 <zzo38> oerjan: Yes, I did write that page. But even some things in there I made up without knowing what it is
02:36:58 <oerjan> heh :D
02:41:41 <zzo38> CLCLC-INTERCAL also allows FOWER in place of FOUR and FIFE in place of FIVE (in addition to NINER in place of NINE), because these are the ways that are supposed to be standard for air traffic control (although FOWER and FIFE are actually rarely used in air traffic control).
02:42:36 -!- SgeoN1 has joined.
02:42:51 <SgeoN1> Where's alise?
02:43:17 <AnMaster> zzo38, niner is standard, but fower or fife I never heard
02:43:19 <oerjan> hiding from all the paparazzis coming here
02:43:42 <AnMaster> zzo38, I happen to me a flightsim nerd so ;P
02:44:31 <AnMaster> going to try to sleep or something
02:44:36 <zzo38> AnMaster: You have not heard FOWER or FIFE because they are never actually used, even though they are supposed to be standard. If you do air traffic control, you will have to learn them even if you never use them
02:44:52 <zzo38> I know because my father used to do air traffic control and he told me these things
02:47:54 <AnMaster> zzo38, heh
02:55:15 <zzo38> I have almost fixed the SUMMON CTHULHU command, I just need one more question: What kind of typewriter do you have, is it manual or is it electric?
02:57:36 <oerjan> what if it runs on the blood of orphans?
02:58:34 <zzo38> No, it needs to run on the typewriters!
02:59:04 <oerjan> i meant the typewriter DUH
02:59:23 <oerjan> you cannot mention cthulhu in the same line and not consider such options :D
02:59:34 <zzo38> No, the typewriter needs to run either by manual or by electric!
02:59:55 <zzo38> But it is valid if you want to put blood in the place of ink, you can do that with my blood after I am dead
03:00:01 -!- cal153 has joined.
03:01:06 <zzo38> oerjan: And I think you misinterpreted my statement, I meant the other other *other* Cthulhu, the one that the "u" at the end is not supposed to be the letter "u", but is actually supposed to be a different letter in a language nobody has ever seen before
03:03:00 <zzo38> That is, it is valid to use blood in place of ink, but only if that does not cause the typewriter to get jammed
03:04:13 <oerjan> O KAY
03:04:37 * oerjan sidles away carefully
03:05:32 <zzo38> Please tell me what typewriter?! (IBM Selectric is best)
03:06:37 * oerjan thinks he may have a manual one stored away, unless it was thrown away
03:06:50 <oerjan> no idea what brand
03:07:03 <zzo38> Have you ever used it?
03:07:17 <oerjan> sure, when i was a child
03:07:49 <oerjan> it's what i learned to type on, or so i think
03:09:40 <zzo38> When I was at school, we had the keyboard class, the books were designed for typewriters (both manual and electric), but we used Microsoft Works instead. I changed the font to the one used in the book (Courier), and then after it is printed, the teacher look at it and said I put two space after a comma, even though I didn't. I told the teacher but that is how is in the book, but he said you are not supposed to change the font
03:09:52 <zzo38> At first I didn't know that, because it iwas the first day in that class
03:10:03 -!- Oranjer has joined.
03:10:36 <oerjan> mhm
03:12:29 <zzo38> Another thing that happened in that class was, the teacher was watching the screen of the computer I was working on, he said he didn't want me programming in C because he programs in C. I wasn't even programming in C, and the teacher probably just made it up
03:13:07 <zzo38> I wasn't even programming in any program language, I was just at the command prompt, but he didn't know that
03:16:02 <zzo38> How can I implement in C program, to check for user logged in, and check for user TTY? How can I implemented it so it work on Linux and on Cygwin?
03:16:31 * oerjan passes on that question
03:20:08 <AnMaster> <zzo38> I have almost fixed the SUMMON CTHULHU command, I just need one more question: What kind of typewriter do you have, is it manual or is it electric? <-- me? None
03:20:12 <AnMaster> I have a computer only
03:20:14 <AnMaster> well three
03:20:16 <AnMaster> err 4
03:20:22 <AnMaster> but one is for nostalgia
03:20:25 <AnMaster> (old old mac)
03:20:47 -!- GreaseMonkey has joined.
03:21:38 <zzo38> AnMaster: That is OK if you don't have typewriter, I only needed to know from someone who did have a typewriter
03:22:23 <AnMaster> zzo38, I want one running on steam power though!
03:23:14 <zzo38> AnMaster: Try to build such a thing if you know how (but that wasn't my question)
03:26:00 <zzo38> sprunge OfVi
03:26:29 <zzo38> Did you notice it is broken?
03:26:36 <AnMaster> what is broken?
03:27:01 <AnMaster> http://sprunge.us/ works for me
03:27:17 <zzo38> No, I mean the C program
03:27:23 <zzo38> It says /* Not implemented */
03:27:28 <zzo38> That is the part which is broken
03:27:28 <AnMaster> zzo38, you didn't give me any link
03:27:37 <zzo38> http://sprunge.us/OfVi
03:27:42 <AnMaster> *clicks*
03:27:51 <AnMaster> hm
03:27:55 <AnMaster> zzo38, too sleepy to read it
03:27:56 <zzo38> How do I fix it?
03:28:06 <zzo38> Also tell me if the other code is also broken
03:28:17 <AnMaster> zzo38, I have no idea, no ircd I know implements summon
03:28:24 <AnMaster> it is a legacy thingy
03:29:30 <zzo38> Which is why I need to fix it, and then some ircd you know will be implements summon
03:29:36 <zzo38> (Which is this one)
03:30:06 <AnMaster> ... I have no idea how to do it
03:30:37 -!- jabb has joined.
03:31:26 <zzo38> It implement SUMMON and also NOMMUS
03:31:59 <jabb> best way to learn modern compiler infrastructure? (I already own the Dragon Book)
03:32:13 <jabb> before browsing llvm source I had never heard of "Dwarf Exception Handling"
03:32:45 <AnMaster> jabb, DWARF is a debugging format iirc
03:32:53 <zzo38> AnMaster: At least is the SUMMONTYPE_EXECUTE not broken?
03:32:57 <AnMaster> not sure how it interacts with exception handling
03:33:01 <AnMaster> zzo38, no idea
03:33:14 <AnMaster> night
03:33:30 <zzo38> I mean, is that how fork() execl() command is working?
03:34:50 <zzo38> Now I can try compile and see if it is working or not
03:36:58 <zzo38> I have to add a document that says that you must not make this software double-daemonized in Cygwin
03:37:10 <zzo38> (Single-daemonized is good enough)
03:40:44 <oerjan> double double toil and trouble
03:46:29 <zzo38> The NT service manager complains if you double-daemonize
03:46:36 -!- augur has joined.
03:47:16 -!- zzo38 has quit (Quit: zzo38).
04:03:05 -!- augur has quit (Ping timeout: 245 seconds).
04:07:16 -!- augur has joined.
04:07:54 -!- jcp has quit (Ping timeout: 276 seconds).
04:14:40 -!- jcp has joined.
04:31:09 -!- Geekthras has quit (*.net *.split).
04:31:10 -!- EgoBot has quit (*.net *.split).
04:31:10 -!- HackEgo has quit (*.net *.split).
04:31:49 * oerjan concludes Geekthras must be a secret bot
04:39:38 -!- Geekthras has joined.
04:39:38 -!- EgoBot has joined.
04:39:38 -!- HackEgo has joined.
05:00:48 -!- zzo38 has joined.
05:04:02 <zzo38> SUMMON CTHULHU command is now fixed! I also added NOMMUS command, which can be used to answer/check/configure it (server operators only).
05:28:26 -!- Oranjer has left (?).
05:32:20 <Sgeo_> zzo38, what's this?
05:33:30 -!- SgeoN1 has quit (Quit: Bye).
05:36:10 <zzo38> It is commands in my IRC server.
05:36:43 <pikhq> Seems more like an IRC-like server.
05:37:41 <zzo38> pikhq: It is not the original IRCd as first written. Is that what you mean?
05:39:58 -!- zzo38 has set topic: Guess I got my swagga' backward | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:40:37 <AnMaster> oerjan, hi again
05:40:50 <AnMaster> time to upgrade from karmic I feel
05:41:44 <AnMaster> <oerjan> double double toil and trouble <-- in modern language this would be "long double toil and trouble"
05:42:30 <AnMaster> zzo38, with double daemonise, do you mean double fork()?
05:43:03 <AnMaster> zzo38, also, how do you implement server linking?
05:43:05 <zzo38> AnMaster: What I mean is using cygrunsrv to run it as a service, and then also the program detaching itself as well, which makes it double daemonised
05:43:10 <AnMaster> what server-server protocol I mean
05:43:21 <zzo38> Server-server protocol is just normal IRC protocol
05:43:30 <zzo38> But I have no other servers linked
05:43:41 <AnMaster> zzo38, how do you prevent riding netsplits then?
05:43:50 <AnMaster> if you don't have timestamps
05:43:57 <zzo38> 194IRCd/CthulhuIRCd is based on ngIRCd, which uses normal IRC protocol.
05:44:03 <zzo38> What is riding netsplits means?
05:44:18 <zzo38> (I didn't write the server-server protocol codes, that was already there)
05:44:18 <AnMaster> zzo38, well if you have a netsplit a channel could become empty on one side
05:44:36 <AnMaster> zzo38, now imagine some person joining this empty channel, thus getting +o in it
05:44:49 <AnMaster> when the servers reconnect that person could kick all the real ops of the channel
05:44:52 <zzo38> ! type channels is meant for that purpose. Unfortunately, ! type channels is not implemented yet.
05:45:06 <AnMaster> zzo38, how does ! type channels prevent this?
05:45:50 <AnMaster> zzo38, and the usual way to prevent it is to make channels have timestamps for when they are created. In case of mismatch on server linking, the modes from the new one are discarded.
05:45:53 <zzo38> It prevents it by adding a random code at the beginning of the channel name, so if a netsplot happens and someone joins the empty channel, they will get a different channel, not the same one
05:46:19 <AnMaster> zzo38, what a hackish way, and you could get same, since it is random
05:46:22 <zzo38> The channel types is #&!+ currently only #&+ is implemented
05:46:44 <zzo38> AnMaster: I know, but apparently that is how it is supposed to work.
05:46:55 <AnMaster> zzo38, the timestamp solution is much cleaner
05:47:04 <AnMaster> zzo38, and I never heard of any network using ! style channels
05:47:13 <zzo38> IRCNET uses ! type channels
05:47:22 <AnMaster> zzo38, okay but ircnet is whacky
05:47:35 <zzo38> IRCNET uses all four types of channels
05:47:46 <AnMaster> ircnet is the worst irc network still in existence
05:48:05 <AnMaster> from a pure technical perspective I mean
05:48:15 <zzo38> AnMaster: I know, it becomes difficult to connect and stay on, and stuff like that.
05:48:20 <AnMaster> purely*
05:48:23 <zzo38> That is why I run my own IRC
05:48:26 <AnMaster> zzo38, well that too
05:48:31 <AnMaster> but why not use freenode?
05:48:36 <zzo38> (Actually, there are other reasons I run my own IRC, as well)
05:48:41 <AnMaster> zzo38, freenode is a relatively sane and modern irc network
05:48:52 <zzo38> There are a lot of reasons I run my own IRC.
05:48:59 <oerjan> that's what they WANT you to think
05:49:08 <AnMaster> oerjan, I said "relatively"
05:49:10 <Sgeo_> C# closures make me a happy developer
05:49:25 <AnMaster> oerjan, and probably yes, they want me to think that. But so would anyone
05:49:37 <oerjan> a closure a day keeps the bugs away?
05:49:39 <zzo38> I suppose I or someone else can implement a way to prevent riding netsplits (if it is not already implemented), one day
05:49:55 * AnMaster kills oerjan with his own frying pan
05:49:57 <zzo38> & and + type channels are already immune
05:50:04 <oerjan> eek
05:50:57 <AnMaster> zzo38, I certainly hope it does it properly
05:51:12 <zzo38> AnMaster: Hope what does what properly?
05:51:38 <AnMaster> zzo38, ngircd implements the server protocol properly
05:51:43 <AnMaster> that is what I hope
05:52:00 <AnMaster> zzo38, anyway charybdis and inspircd are the two best ircds today IMO. They are comparable in features and how good the code is.
05:52:01 <zzo38> I think it does, it says it is able to be connected to servers using the original IRCd
05:52:14 <AnMaster> somewhat different views on matters but both are very good
05:52:22 <AnMaster> atheme is the best service package
05:52:35 <AnMaster> <zzo38> I think it does, it says it is able to be connected to servers using the original IRCd <-- then it probably doesn't
05:52:49 <AnMaster> since the original protocol did not prevent riding netsplits and so on!
05:52:57 <zzo38> Nah, when I looked at list of IRCd program, I decided to use ngIRCd that is the one closest to what I wanted
05:53:25 <AnMaster> TS6 or some similar server-server protocol is the way to go
05:54:00 <AnMaster> (both inspircd and charybdis uses server-server protocols based on TS6, not compatible though)
05:54:39 <zzo38> One way that ! channels could fix riding netsplits, is instead of a random code, enter the timestamp at the beginning of the channel name, and use that for server-server communication. (For client-server, only the normal channel name is visible)
05:54:54 <AnMaster> zzo38, that would work I guess
05:55:09 <AnMaster> zzo38, but what happens when there is a conflict?
05:55:23 <AnMaster> on server linking I mean
05:55:36 <AnMaster> what happens currently?
05:57:47 <zzo38> AnMaster: I don't know what happens currently
05:58:09 <zzo38> But you can try irc.barton.de, which runs ngIRCd
05:58:21 <zzo38> And irc.barton.de also has multiple servers
05:58:29 <AnMaster> well I would have to wait for a netsplit...
05:58:47 <zzo38> You can also just look at the codes and try to figure out
05:58:56 <AnMaster> well, I'm not THAT interested
05:59:24 <AnMaster> zzo38, anyway, since it doesn't implement ! style, I guess it doesn't really make sense to ask what it does currently
06:00:38 <zzo38> At first it implemented only # type channel, now it has #&+ type channels. Later on I plan to implement ! type as well (or if the ngIRCd people do so, I might copy their codes)
06:02:14 <pikhq> zzo38: No, but there is an actual *definition* of the IRC protocol.
06:02:19 <pikhq> It's an RFC.
06:02:44 <zzo38> I know, I have read the RFC
06:03:14 <pikhq> Then there you go.
06:04:00 <zzo38> ?
06:04:20 <zzo38> What exactly reason are you refering to this for?
06:04:50 <zzo38> ngIRCd already implements the IRC protocol, isn't it?
06:04:54 <pikhq> I highly doubt SUMMON CTHULHU is valid. :)
06:05:24 <oerjan> cthulhu does not ask what is valid
06:05:42 <zzo38> Well, I have implemented some extra commands. (And SUMMON is a valid command, with parameters. My program extends it to work with or without parameters, depending on server configuration file)
06:05:49 <Sgeo_> Any C# people here? I'm not getting a response in ##csharp
06:06:11 <pikhq> Sgeo_: No, but we are people of reasonable intelligence.
06:06:26 <pikhq> Also, C# has monads and lambda; I can fake C# knowledge. :P
06:06:29 <oerjan> that's what we WANT you to, er, something
06:06:49 <Sgeo_> Can I access an anonymous function from within the anonymous function?
06:07:04 <zzo38> That's what the government wants you to think.
06:07:25 <pikhq> If said anonymous function has had a name bound to it somehow, almost certainly. After all, those suckers close.
06:07:50 <pikhq> :P
06:08:08 <pikhq> On a more serious note: you probably want a fixed-point combinator.
06:08:19 <zzo38> For example, I have implemented some new commands which are not part of any RFC: EUTHANIZE FLUSH NOMMUS PROXY
06:08:41 <Sgeo_> It has a name bound to it, but the IDE says no
06:08:45 <pikhq> I'm not sure how one would go about writing one in C#, but in Haskell, it's: fix f = let x = f x in x
06:09:34 <Sgeo_> C# isn't exactly Haskell-pure
06:09:42 <pikhq> Actually. C#'s functions aren't statically typed like Haskell's... You could probably get away with using the Y combinator directly.
06:10:30 <pikhq> Which is: Y := λf.(λx.f (x x)) (λx.f (x x))
06:11:22 <oerjan> Y ask Y
06:11:50 -!- augur has quit (Ping timeout: 245 seconds).
06:12:04 <Sgeo_> I just Googled, and found stuff that looks like it may be useful for this
06:12:05 <Sgeo_> ty pikhq
06:12:29 <pikhq> Yes, almost certainly a fixed point combinator.
06:12:36 <pikhq> (as that is what you asked for)
06:12:41 <Sgeo_> Although I should note that I don't intend to CALL the function from within the function
06:12:49 <Sgeo_> Don't know how much of a difference that makes
06:12:52 <pikhq> None.
06:13:14 -!- augur has joined.
06:13:54 <pikhq> Erm. No. Possibly makes a difference.
06:13:55 <Sgeo_> Well, without even looking at the combinator stuff in that article, a flawed workaround makes the compiler not complane for me
06:14:03 <pikhq> I'd have to see the code to be sure.
06:14:54 <Sgeo_> The flaw shouldn't affect me
06:15:57 <Sgeo_> http://blogs.msdn.com/b/wesdyer/archive/2007/02/02/anonymous-recursion-in-c.aspx the trick with null is what I'm using
06:19:36 <AnMaster> <pikhq> Also, C# has monads and lambda; I can fake C# knowledge. :P <-- ??? C# has monads?
06:19:37 <AnMaster> what?
06:19:38 <AnMaster> since when?
06:19:50 <pikhq> AnMaster: They call it "LINQ".
06:19:58 <AnMaster> pikhq, oh that is post-2.0
06:20:02 <AnMaster> so no clue about ot
06:20:03 <AnMaster> it*
06:20:13 <AnMaster> pikhq, also I thought that was SQLish
06:20:13 <pikhq> Which is nothing more than monads and monad comprehension syntactic sugar.
06:20:16 <AnMaster> not monadish
06:20:32 <pikhq> Yes, that's one of the monads.
06:20:34 <pikhq> ;)
06:20:37 <AnMaster> pikhq, hm
06:20:51 <AnMaster> pikhq, so fairly advanced stuff then
06:20:59 <pikhq> Yeah.
06:21:29 <AnMaster> pikhq, how did they get this past the OO-mad people?
06:21:49 <pikhq> Don't call it monads.
06:21:57 <AnMaster> it's that easy?
06:22:05 <AnMaster> oh my
06:22:22 <pikhq> Yes.
06:22:37 <AnMaster> pikhq, what do they call it instead?
06:22:40 <pikhq> LINQ.
06:23:27 <AnMaster> pikhq, right but the monad data type I mean
06:23:33 <AnMaster> pikhq, or whatever
06:23:43 <zzo38> It is only partially implemented, I have not currently implemented forwarding, check user's login state, and send to user's TTY. (Even if they are implemented, the way I wrote it, all of these features can be controlled by configuration file: "F" for forwarding, "L" for check login state, "T" to send to TTY, "X" to execute a program, "J" to check if you can join &SUMMON channel, "K" to check channel keys, etc)
06:24:06 <pikhq> Unfortunately, C#'s type system doesn't allow for "type classes". I think their syntactic sugar works on anything with a bind and return method.
06:24:14 <zzo38> Go ahead and try it if you want to, just connect to my IRC and try whatever commands you want (including "HELP" command)
06:24:29 <AnMaster> pikhq, ah
06:24:36 <oerjan> !haskell newtype Fix a = Fix {fixing :: Fix a -> a}; fix f = (\x -> f (fixing x x)) (Fix (\x -> f (fixing x x))); main = print . take 10 $ fix (1:)
06:24:36 <EgoBot> mkdir: cannot create directory `/tmp/tmp.14246': No space left on device
06:24:46 <oerjan> wtf
06:24:52 <zzo38> (I also updated the MOTD a bit)
06:24:57 <pikhq> Gregor, the bot's broken!
06:25:40 <zzo38> Did you create too many files?
06:28:49 -!- coppro has joined.
06:29:26 <AnMaster> !help
06:29:27 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
06:29:34 <AnMaster> !bf_txtgen test
06:29:38 <EgoBot> Top %: 0.1
06:29:43 <AnMaster> what?
06:29:54 <AnMaster> very strange error
06:30:02 <AnMaster> `help
06:30:09 <HackEgo> Failed to clone the environment!
06:30:13 <AnMaster> okay
06:30:18 <AnMaster> so yeah his server is broken
06:31:24 * oerjan checks that the newtype trick works in winhugs
06:32:21 <zzo38> Please tell me if you have any important question to add into the FAQ in my IRC. (It can be accessed by using the "HELP FAQ" command)
06:32:59 <coppro> HELP FAQ
06:33:33 <zzo38> coppro: Not on *this* server!
06:33:54 <zzo38> I didn't mean this server! I meant my server (zzo38computer.cjb.net:194)
06:50:43 <AnMaster> zzo38, not even ircnet uses 194 afaik?
06:50:57 <zzo38> AnMaster: I think you are correct
06:51:06 <AnMaster> so why...
06:51:41 <pikhq> Because zzo38... Is zzo38.
06:51:42 <pikhq> :P
06:53:09 <coppro> http://www.theonion.com/interactive/the-onion-sports-introduction-to-world-cup-soccer,17558/
06:54:14 <AnMaster> pikhq, point taken
06:58:44 <AnMaster> coppro, not very funny to an European
06:58:55 <AnMaster> even though I'm not the least interested in football
06:59:05 <AnMaster> and never understood what "off side" was about
06:59:37 <coppro> It's funny to me, who understands football/soccer pretty well but knows that the USA doesn't care at all about the game
07:00:16 <coppro> some of them aren't funny (iron rod), but others are great (red card)
07:01:00 <oerjan> sheesh, off side is what happens if those players forget to follow the giant metal rod, of course
07:01:01 -!- zzo38 has quit (Quit: zzo38).
07:09:20 -!- augur has quit (Ping timeout: 245 seconds).
07:13:38 -!- coppro has quit (Ping timeout: 240 seconds).
07:22:46 -!- coppro has joined.
07:26:29 -!- coppro has quit (Read error: Connection reset by peer).
07:26:50 -!- Halph has joined.
07:27:02 -!- Halph has changed nick to coppro.
07:29:51 <AnMaster> oerjan, XD
07:30:06 <AnMaster> coppro, "halph"?
07:30:34 * AnMaster waits for some explanation to that
07:30:42 <coppro> I will decline to answer
07:30:49 <AnMaster> coppro, why?
07:31:19 <coppro> too lazy
07:31:26 -!- augur has joined.
07:34:54 <augur> lalala
07:35:00 <oerjan> AnMaster: coppro is just trying to be too clever...
07:35:23 <coppro> I am?
07:35:48 <augur> oerjan: check this out
07:36:06 <oerjan> coppro: well either you or my lazy pun
07:36:11 <augur> you need to define a formal system of whatever sort you like
07:36:19 <augur> a programming language, if you will
07:36:48 <augur> in which the following expression, using normal functional application, is ambiguous between two readings:
07:37:29 <AnMaster> ahargh!
07:37:32 <augur> f(xs, i, first(g)) -- where the interpretations of this are
07:37:35 <AnMaster> (that is aha + argh)
07:37:43 <oerjan> AnMaster: you got my pun?
07:37:47 <AnMaster> oerjan, no
07:37:53 <AnMaster> it was caused by insufficiently debounced power key
07:38:05 <AnMaster> aha! for finding out the cause of the issues.
07:38:13 <AnMaster> argh! for not being easy to fix
07:38:16 <oerjan> AnMaster: too bad, it would have been such a great reaction
07:38:16 <augur> given some list xs, and some index i, xs[i] is the first element of xs for which both g and f are true
07:38:40 <AnMaster> oerjan, I was not paying attention to IRC at all
07:38:49 <augur> oerjan: can you think of a way this could be the case
07:39:05 <AnMaster> also I need a 24 tooth clutched lego gear. I know I have three, I can't find any of them...
07:40:15 <coppro> clutched gear?
07:41:35 <AnMaster> coppro, that is what it is called officially
07:41:42 <oerjan> augur: i saw you ask that question previously. i did not find it interesting... it looks an attempt to mix exactly those kind of features of natural language into formal language that needed to be _removed_ in order to make formal language precise and useful in the first place.
07:41:48 <oerjan> *looks like
07:41:52 <AnMaster> coppro, basically it slips if stuck
07:42:06 <coppro> ah
07:42:11 <coppro> oh, I know what one you mean
07:42:12 <AnMaster> coppro, so it acts to prevent stuff breaking
07:42:21 <AnMaster> coppro, white with grey middle?
07:42:25 <coppro> yeah
07:42:31 <AnMaster> coppro, yep that's the one
07:42:42 <augur> oerjan: ah indeed it is a fact about natural language. the trick is to understand how its possible in natural language at all, what the formal mechanisms are that make it possible :P
07:42:53 <AnMaster> coppro, didn't know you were a lego fan
07:42:55 <augur> think of it like Intercal's nondeterminism
07:43:15 <coppro> AnMaster: not currently, but I spent some time with it previously
07:43:26 <coppro> (through school)
07:43:29 <AnMaster> coppro, ah
07:43:40 <AnMaster> I wonder why the white one says 2.5 * 5.0 Ncm on it
07:43:48 <AnMaster> is it the slippage load or something
07:44:00 <AnMaster> (I found it at last)
07:46:30 <AnMaster> coppro, huh seems I have 4 of them
07:46:41 <AnMaster> well I can only find 2. But peeron says I have 4
07:46:50 <AnMaster> ( http://www.peeron.com/inv/parts/60c01?myparts=1 )
07:46:57 <AnMaster> "# (You own 1 x) 2 in 8479-1 - Barcode Multi-Set (1997)
07:46:57 <AnMaster> # ( 1 x) 1 in 3804-1 - Robotics Invention System 2.0 (2001)
07:46:57 <AnMaster> # ( 1 x) 1 in 9747-1 - Robotics Invention System 1.5 (1999) "
07:47:05 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
07:47:10 <AnMaster> coppro, very nifty site that
07:47:37 <coppro> wow, seems awesome
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:02 <AnMaster> coppro, very slow loading site too
08:00:17 <coppro> hate those
08:10:10 <coppro> ****ing end-of-season cliffhangers!
08:10:44 <AnMaster> coppro, oops
08:10:50 <AnMaster> coppro, what series?
08:10:50 <coppro> oops?
08:11:02 <coppro> Stargate Universe
08:11:06 <AnMaster> mhm
08:11:09 -!- MigoMipo has joined.
08:11:34 <coppro> it's like a Stargate tradition
08:11:48 <AnMaster> I see
08:13:23 <coppro> however, the cliffhanger here ends with something like half the cast facing imminent death for various reasons :(
08:13:50 <coppro> I wish it was that the entire ship faced certain destruciton or something
08:14:00 <coppro> because then I'd know how that will come out
08:14:21 <AnMaster> coppro, XD
08:14:35 <AnMaster> coppro, certain destruction
08:14:36 <AnMaster> well
08:14:43 <coppro> they'd find an impossible solution
08:14:47 <AnMaster> presumably it would explode in the first episode
08:14:48 <AnMaster> :P
08:14:53 <coppro> ending a series isn't a great way to start a new season
08:14:59 <AnMaster> coppro, otherwise it isn't certain destruction
08:15:04 <AnMaster> it is certain survival
08:15:09 <coppro> well, yes, that's the irony
08:15:27 <AnMaster> coppro, just try applying logic :P
08:15:39 <coppro> however, the way they did these cliffhangers, there's no telling who will come out of the premiere alive
08:15:52 <AnMaster> oh?
08:16:07 <AnMaster> coppro, presumably some of them
08:16:14 <pikhq> Which is quite different from the norm, where everyone is about to die, and so the premiere will consist of breaking physics to make it work. :P
08:16:17 <AnMaster> coppro, either some or all
08:16:20 <coppro> exactly, pikhq
08:16:26 <AnMaster> what?
08:16:30 <AnMaster> breaking physics? why?
08:16:33 <coppro> AnMaster: Yes, but the trick is that some people might actually die
08:16:40 <pikhq> (of course, in a series where you've got cheap and easy wormholes, "breaking physics" is just par for the course. :P)
08:16:48 <coppro> and I have to wait 3 months to survive!
08:17:33 <coppro> I learned today that too much gamma radiation causes people to evaporate into dust!
08:17:47 -!- vuvuzela has changed nick to vuvuzello.
08:19:02 <coppro> also, anyone here read Calculus by Spivak?
08:19:59 <oerjan> you broke physics! you bastards!
08:20:27 <pikhq> Hey, who needs that "inertia" thing anyways?
08:20:42 <oerjan> not me. i may have _seen_ the book.
08:22:20 <coppro> pikhq: what about inertia?
08:22:35 * pikhq removes it
08:22:38 <coppro> oh
08:22:56 <coppro> watch out you don't get killed by a falling satellite
08:25:40 <AnMaster> <coppro> I learned today that too much gamma radiation causes people to evaporate into dust! <-- no?
08:25:43 <AnMaster> welll
08:25:45 <AnMaster> well*
08:25:46 <AnMaster> maybe
08:25:50 <AnMaster> but define too much
08:25:58 <AnMaster> also boil away seems more likey
08:26:33 <AnMaster> <pikhq> Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it
08:26:47 <coppro> AnMaster: the pulse caused by a white dwarf star crossing paths with the accretion disc caused by its mass being sucked into its binary partner pulsar
08:26:53 <AnMaster> pikhq, like, we would feel the terrible speed from earth moving around the sun all the time
08:27:01 <coppro> admittedly, while I'm not even sure such a pulse would be emitted, the concept of a binary pulsar is awesome
08:27:18 <AnMaster> heh
08:27:59 <AnMaster> coppro, being close to a supernova is sure to not be healthy
08:28:05 <coppro> true enough
08:28:15 <AnMaster> in terms of gamma radiation as well as other stuff
08:29:02 <pikhq> AnMaster: I was joking, as you well know.
08:29:10 <pikhq> Without inertia, a *hell* of a lot of stuff breaks.
08:29:19 <pikhq> Like... Orbit.
08:29:23 <AnMaster> pikhq, yep
08:29:27 <coppro> unfortunately, while the pulsar seemed like a reasonable attempt to provide a Plot Device, the fact that the FTL drive (lalalalalaicanthearyou) got knocked offline and needed to be repaired by accessing a console on the outside is... Diabolus Ex Machina.
08:30:02 <pikhq> And any moving object will kinda cease to be moving unless acted upon by an outside force...
08:31:54 <oerjan> AnMaster: i recall reading about what would happen if the sun went supernova (although it's too small for that). apparently we would be killed already by the initial _neutrino_ emissions.
08:32:01 <AnMaster> coppro, heh
08:32:14 <oerjan> the following _photons_ would evaporate earth completely.
08:32:33 <coppro> how come the neutrons are emitted first?
08:32:33 <AnMaster> oerjan, yeah
08:32:48 <oerjan> coppro: not neutrons, neutrinos. very different.
08:32:51 <AnMaster> oerjan, and how can we be killed by neutrinos?
08:32:54 <coppro> oh
08:32:57 <coppro> misread, nvm
08:33:19 <coppro> neutrinos can and do interact with other matter, it's just exceedingly unlikely
08:33:26 <AnMaster> yep exactly
08:33:45 <AnMaster> so... a hell of a lot of neutrinos?
08:33:48 <oerjan> AnMaster: because there are such an enormous amount of them, 90% of a supernova's energy, with even the followin light shining more strongly than an entire galaxy
08:33:49 <coppro> pretty much
08:33:59 <oerjan> *following
08:34:16 <coppro> we would stand no more chance than a whelk
08:35:56 <AnMaster> even a supernova within a hundred lightyears would be BAD as far as I understood?
08:37:07 -!- pikhq has quit (Remote host closed the connection).
08:37:36 <coppro> very
08:37:57 <coppro> we'd be good for a hundred years though!
08:37:58 <oerjan> AnMaster: i've read 25 light years as the danger limit, _unless_ one of its poles are directed towards us and it emits a gamma ray burst
08:38:20 <AnMaster> oerjan, and if that happens
08:38:20 <oerjan> in which case we're toast at a much larger distance
08:38:28 <AnMaster> oerjan, what distance?
08:38:34 <oerjan> i don't recall
08:38:41 <AnMaster> bbl breakfast. Hopefully we won't be reached by a supernova that happened 25 years ago during that!
08:39:04 <oerjan> there are no real candidates afaik
08:39:51 <oerjan> there was a recent brouhaha about betelgeuse, but that turned out to be a "sometime in the next 100000 years" thing, and its poles are _not_ directed at us
08:42:19 <oerjan> (someone had blown out of proportion the fact that betelgeuse is currently shrinking in size (it's variable) which apparently has little to do with the actual core which explodes in a supernova)
08:43:26 <vuvuzello> According to a 2004 study, a GRB at a distance of about a kiloparsec could destroy up to half of Earth's ozone layer; the direct UV irradiation from the burst combined with additional solar UV radiation passing through the diminished ozone layer could then have potentially significant impacts on the food chain and potentially trigger a mass extinction.
08:43:32 <oerjan> otoh we _are_ several centuries overdue for a supernova somewhere in our own galaxy
08:43:36 <vuvuzello> kiloparsec
08:43:38 <oerjan> (iirc)
08:44:57 <oerjan> damn parsecs which i can never remember how to convert to lightyears
08:45:19 <oerjan> 1 Parsec = 3.26163626 light years
08:45:46 <oerjan> hm with all those 6's it _should_ be possible to memorize, you'd think
08:46:28 <vuvuzello> td
08:46:29 <vuvuzello> yes
08:46:37 <vuvuzello> the other digits are 32132
08:46:41 <oerjan> hm wait wikipedia says 3.26156
08:47:19 <oerjan> which does not match even up to the smallest precision
08:47:31 -!- kar8nga has joined.
09:10:48 -!- vuvuzello has quit (Ping timeout: 276 seconds).
09:19:06 -!- oerjan has quit (Quit: leaving).
09:19:48 <AnMaster> uh uh "WARNING: Failed to read mirror file" looks like a BAD thing during a dist upgrade.
09:19:50 <AnMaster> Right?
09:30:48 -!- augur has quit (Read error: Connection reset by peer).
09:30:51 -!- augur has joined.
09:42:44 <AnMaster> dammit google, "continuous" should not fuzzy match "continue"...
10:00:45 -!- CakeProphet has quit (Ping timeout: 264 seconds).
10:02:17 -!- CakeProphet has joined.
10:07:02 -!- CakeProphet has quit (Ping timeout: 260 seconds).
10:34:04 -!- kar8nga has quit (Remote host closed the connection).
10:44:31 -!- Gregor has joined.
11:18:56 -!- CakeProphet has joined.
11:19:54 -!- zzo38 has joined.
11:20:29 <zzo38> I found out that it is actually possible to assign a drive letter to \Device\NamedPipe and get a directory listing from it.
11:21:34 <zzo38> I get "Volume in drive Z is NamedPipe" and "Volume Serial Number is 0000-0000" followed by a list of files. Only size and name is available, no date/time is listed.
11:22:33 -!- kar8nga has joined.
11:23:59 <zzo38> Although you can get a directory listing, you cannot switch to that drive, and while "dir z:" works, "dir z:\" does not work.
11:35:06 -!- zzo38 has quit (Quit: zzo38).
11:47:54 -!- tombom has joined.
12:09:25 -!- MizardX has joined.
12:36:29 -!- FireFly has joined.
12:50:40 -!- zzo38 has joined.
12:55:07 -!- zzo38 has quit (Client Quit).
13:52:18 -!- zzo38 has joined.
13:55:27 <CakeProphet> zzo38: interesting.
13:55:32 <CakeProphet> about the named pipe stuff.
13:55:43 <CakeProphet> This is Windows 7 I assume? or...?
13:56:32 <zzo38> Windows XP
13:56:50 <CakeProphet> oh... I didn't know Windows used a Device directory
13:56:56 -!- alise has joined.
13:57:12 <zzo38> It does, but to use it you need this program: http://zzo38computer.cjb.net/prog/ddd.zip
13:57:20 <alise> hiiii
13:57:35 <zzo38> Source-codes is included with this program.
13:58:40 <zzo38> But you have to see what objects available, using a different program, which is: http://technet.microsoft.com/en-us/sysinternals/bb896657.aspx
13:58:52 <zzo38> This program has no source-codes, though.
14:04:58 -!- kar8nga has quit (Remote host closed the connection).
14:07:43 <CakeProphet> ah.
14:09:36 <zzo38> The reason I dual-licensed it is because I think it is useful program that Microsoft could include in some future version of Windows, in some Windows resource kit, or for the ReactOS people to include in ReactOS.
14:10:47 <zzo38> If you don't like the dual-license, you are not required to use the dual-license, you can pick one. (You can also select a later version of the GNU GPL)
14:23:21 <zzo38> http://zzo38computer.cjb.net/img6/MetaEdit_Error_Message.JPG
14:26:40 <AnMaster> yes! I finally bent gdm mostly to my will
14:27:13 <AnMaster> on the other hand I probably have a shitload of troubles to deal with after the upgrade to lucid due to hitting https://bugs.launchpad.net/ubuntu/lucid/+source/etckeeper/+bug/574244
14:27:22 <AnMaster> (meaning upgrade failed near, but not at, the end)
14:27:46 <AnMaster> CakeProphet, was it you who said something about gconf to fix button position in windows?
14:28:03 <AnMaster> (after upgrade to lucid)
14:28:52 <AnMaster> or it could have been someone else I guess
14:32:27 <alise> AnMaster: Fix? You can use less provocative words for things like that, you know.
14:32:48 <alise> Taking all your opinions as objective truth is a disease, one which I'm only starting to recover from.
14:32:55 <AnMaster> alise, the thing is, the changed button position makes it easy to click close instead of file menu
14:32:58 <AnMaster> that is the reason I say fix
14:33:28 <alise> "How can I fix Windows?" "Install Linux because Windows makes it easy to get viruses!"
14:33:39 <AnMaster> alise, windows != MS windows here
14:33:44 <alise> I know that.
14:34:27 <AnMaster> alise, anyway I told you the issue I found with the changed position of the buttons in the menu bar, it is too easy to close when you aim for the file menu. Especially when working with a trackpad or trackpoint instead of a "real" mouse.
14:34:35 <alise> Ha @ people thinking Novell v SCO is over.
14:34:37 <alise> Even groklaw.
14:34:44 <alise> SCO will so totally start arguing the opposite, it's inevitable.
14:34:53 <AnMaster> alise, can they appeal in theory?
14:35:04 <alise> Yes, but only if they argue the opposite arguments to their last appeal.
14:35:11 <alise> Which would be utterly bizarre and will, therefore, happen.
14:35:34 <AnMaster> alise, right, but won't that then be dismissed as ridiculous?
14:35:45 <alise> All their previous appeals were ridiculous, too.
14:36:01 <AnMaster> alise, how many times can you appeal in US?
14:36:17 <AnMaster> I mean, at some point you would reach the supreme court or whatever they call it
14:36:24 <alise> Don't know the US system -- all I know is that ais523 said SCO could do this.
14:36:30 <AnMaster> yes I saw that
14:36:39 <AnMaster> was just wondering how far they reached in the system
14:36:56 <AnMaster> `ls
14:37:05 <AnMaster> hm
14:37:05 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.23198 \ wunderbar_emporium
14:37:14 <AnMaster> !bf_txtgen is it fixed?
14:37:21 <EgoBot> 123 +++++++++++++++[>++++++++>+++++++>++>++++<<<<-]>>.<-----.>>++.<.<+.>>.<---.+++.<++++.>----.-.>>+++.<----------------------. [826]
14:37:23 <AnMaster> yep
14:37:42 <alise> 00:25:40 <AnMaster> <coppro> I learned today that too much gamma radiation causes people to evaporate into dust! <-- no?
14:37:42 <alise> 00:25:43 <AnMaster> welll
14:37:42 <alise> 00:25:45 <AnMaster> well*
14:37:42 <alise> 00:25:46 <AnMaster> maybe
14:37:42 <alise> 00:25:50 <AnMaster> but define too much
14:37:43 <alise> 00:25:58 <AnMaster> also boil away seems more likey
14:37:45 <alise> 00:26:33 <AnMaster> <pikhq> Hey, who needs that "inertia" thing anyways? <-- humans. iirc we wouldn't survive without it
14:37:48 <alise> >_<
14:39:07 <alise> 00:35:56 <AnMaster> even a supernova within a hundred lightyears would be BAD as far as I understood?
14:39:08 <alise> 00:37:36 <coppro> very
14:39:08 <alise> 00:37:57 <coppro> we'd be good for a hundred years though!
14:39:11 <alise> Thanks, captain obvious!
14:40:05 <CakeProphet> .......
14:40:10 <alise> 01:42:44 <AnMaster> dammit google, "continuous" should not
14:40:11 <alise> fuzzy match
14:40:11 <alise> "continue"...
14:40:13 <alise> search +continuous
14:40:16 <alise> CakeProphet: ellipses howso
14:40:24 <CakeProphet> 08:56 -!- alise [~alise@91.105.125.91] has joined #esoteric
14:40:27 <CakeProphet> you mad bro?
14:40:38 <alise> How I mad, bro?
14:40:46 <CakeProphet> I am disappoint. :(
14:40:51 <AnMaster> alise, I know, but it was a strange fuzzy match anyway
14:40:58 <alise> CakeProphet: thou art confuzzling me.
14:41:07 <CakeProphet> Dunno
14:41:12 <CakeProphet> I felt like quoting something from you
14:41:17 <CakeProphet> but I couldn't find anything
14:41:18 <alise> We found out that the Unreal3.2.8.1.tar.gz file on our mirrors has been replaced quite a while ago with a version with a backdoor (trojan) in it.
14:41:18 <alise> This backdoor allows a person to execute ANY command with the privileges of the user running the ircd. The backdoor can be executed regardless of any user
14:41:19 <alise> restrictions (so even if you have passworded server or hub that doesn't allow any users in).
14:41:20 <CakeProphet> so I just quoted you logging in
14:41:25 <alise> UnrealIRCd: Awesome engineering
14:41:43 <CakeProphet> IRC written in the unreal engine?
14:41:52 <alise> >_<
14:42:00 -!- chickenzilla has joined.
14:42:09 <alise> so i have an extremely important life dilemma for you all
14:42:28 <alise> you're drying your hands with a towel when you drop it onto a mucky part of the floor. there are no towels near you. WHAT DO YOU DO???
14:42:40 <alise> My life is so exciting, to be faced with such dilemmas as these.
14:42:40 <Sgeo_> Air-dry hands
14:42:40 <CakeProphet> ....pick the towel up?
14:43:05 <Deewiant> Unless you managed to completely immerse it in the muck, use the other side
14:43:07 <CakeProphet> dispose of it properly, air dry, continue with life.
14:43:12 <CakeProphet> or yes.
14:43:18 <CakeProphet> what Deewiant has suggested.
14:43:22 <CakeProphet> for the drying phase of this operation.
14:43:24 <Sgeo_> Why are you typing with wet hands?
14:43:31 <alise> Deewiant: That's the scary thing, it CRUMPLED! *dramatic music*
14:43:55 <alise> I ended up just using the only corner not muckified. Admittedly it wasn't actually that mucky, I just felt like doing so.
14:43:59 <alise> I was not fully awake at the time.
14:44:22 * Sgeo_ did not sleep last night
14:44:38 * CakeProphet sips coca-cola and reads arguments about the existence of a God for philosophy class.
14:44:44 <alise> So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS.
14:44:47 <CakeProphet> ...it's kind of weird being up this early. It's 9:44 AM
14:45:04 <CakeProphet> whereas, just a few weeks ago, this is the time I would be going to sleep.
14:45:55 <alise> Oh look at that, another iPhone.
14:46:19 <Sgeo_> alise, there's a virtual world I think I may be interested in
14:46:28 <alise> Astonishing.
14:46:31 <Sgeo_> But it has Apple-esque policies on content creation...
14:46:42 <CakeProphet> whatchu talkin' bout?
14:47:05 <Sgeo_> Blue Mars
14:47:43 <Sgeo_> http://sandboxcitymars.blogspot.com/2010/05/tharsis-estates-uploaded-to-be-online.html
14:48:37 <Sgeo_> On a different post: "- Remove female models since they are too "adult" to pass QA.
14:48:37 <Sgeo_> "
14:48:42 <alise> XD
14:49:19 <Sgeo_> Maybe it's just a phase, or maybe the creator voluntarily was submitting to a PG thing
14:49:27 <Sgeo_> Or maybe I'm just trying to justify this to myself
14:49:59 <Sgeo_> At any rate, I can't enter Blue Mars until I make the gaming computer
14:50:48 <CakeProphet> psh, text-based is >
14:51:16 <Sgeo_> What are my options for text-based?
14:51:28 <Sgeo_> LambdaMOO, with a sucky culture, or M*U*S*H, with sucky softcode?
14:51:28 <zzo38> Is IRC servers supposed to disconnect the client if the client sends a command which is too long?
14:51:47 <CakeProphet> Sgeo_: there are some good text-based MUDs that use MUD-like commands and such
14:51:50 <CakeProphet> and there are other MOOs
14:52:18 <CakeProphet> ...but I really hate the command structure of MOO and MUSH... and thus prefer to find the rare MUD-descended roleplay-oriented ones.
14:52:48 <alise> How is LambdaMOO's culture sucky?
14:53:53 <Sgeo_> Seems to forgo documentation in favor of just having people ask questions, and seems to be against, say, MOO-wide chat
14:54:19 -!- BeholdMyGlory has joined.
14:54:22 -!- BeholdMyGlory has quit (Changing host).
14:54:23 -!- BeholdMyGlory has joined.
14:55:01 <CakeProphet> When I was working on a Python MUD server the built-in documentation feature of Python was rather handy
14:55:11 <CakeProphet> because I could just write up helpfiles on the command functions themselves.
14:55:36 <CakeProphet> and then have the helpfile system extract the __doc__ attribute.
14:56:19 -!- kar8nga has joined.
14:56:41 <alise> <alise> So anyway, I think I have a workable model for a prototype secure, STUFF-implementing, high-level OS.
14:56:45 <alise> I wish someone was more excited by this >_>
14:56:55 <CakeProphet> you've convinced me.
14:56:58 <CakeProphet> I'm excited.
14:56:59 <Sgeo_> What's stuff?
14:57:15 <alise> STUFF is my name for the family of models of stuff in operating systems.
14:57:22 <alise> A model is only STUFF if it is unified (everything fits into it).
14:57:25 <alise> Plan 9's files are STUFF.
14:57:29 <alise> Smalltalk's objects are STUFF.
14:57:42 <alise> Unix files aren't STUFF, because you have a lot of things like ioctl() that don't fit into the model.
14:57:52 <alise> Any truly good OS must, of course, have STUFF.
14:58:26 <Sgeo_> So "Everything is a file" is cake?
14:58:29 <Sgeo_> In UNIX?
14:58:39 <alise> Yes, yes it is.
14:58:46 <alise> I would also have accepted "lie".
15:02:27 <CakeProphet> yeah Plan 9 and Styx does "everything is a file"
15:02:29 <CakeProphet> but not UNIX.
15:03:04 <alise> Also, STUFF is particularly good STUFF if actual running "program code" fits in to the model as well. Smalltalk's objects satisfy this, Plan 9's files don't because they are inert.
15:03:42 <alise> My incarnation of STUFF is sort of a unification of message-passing, Plan 9's filesystem-based solution with per-process FS roots, and living processes.
15:04:47 -!- hiato has joined.
15:04:54 <Sgeo_> Stop making me want to study Smalltalk again!
15:04:59 <CakeProphet> great... but is it Turing complete?
15:05:04 <CakeProphet> this is #esoteric, you know.
15:05:19 <alise> Yes, it is, being that the system would be programmed in it ;-)
15:05:28 <alise> Urgh, why is ;-) so creepy?
15:05:30 <CakeProphet> oh well good.
15:05:33 <CakeProphet> it's the nose.
15:05:36 <CakeProphet> ;) is better.
15:05:49 <alise> mm
15:06:01 <alise> even ;) triggers some sort of "crazy pedo" switch in my brain though :P
15:06:11 <CakeProphet> What makes you say that? ;)
15:06:17 <alise> AIEEEEEEE
15:06:21 <CakeProphet> maybe winks are just creepy.
15:06:25 <CakeProphet> in general.
15:06:37 <CakeProphet> What about ;P
15:06:44 <CakeProphet> that requires quite a bit of coordinate.
15:06:50 <CakeProphet> tongue-waggling /and/ winking, my word.
15:11:17 -!- hiato has quit (Read error: Connection reset by peer).
15:12:49 <alise> http://pastie.org/1001801.txt?key=hvhwcbziyri1j4vsujpzqq Some very muddled thoughts about what something in my system might look like.
15:15:01 <Sgeo_> Must.. stay.. awake
15:15:29 <alise> Admittedly it is ugly, but ...
15:15:30 <Sgeo_> My eyes are tearing up
15:15:33 <alise> It is a start.
15:17:22 <Sgeo_> I want to torrent something, but don't have nearly enough disk space
15:18:08 <alise> ?
15:18:24 * Sgeo_ has always had space issues
15:19:11 -!- Mathnerd314 has joined.
15:19:49 -!- kar8nga has quit (Remote host closed the connection).
15:22:19 -!- hiato has joined.
15:25:59 -!- hiato has quit (Client Quit).
15:26:14 <alise> CakeProphet: So were you legitimately excited? Somehow I think not :P
15:27:50 <CakeProphet> -shrug- I would trust that you have devised a consistent and well-formulated OS design in only a day or so as equalls as I would trust such from myself
15:27:54 <CakeProphet> which is not very.
15:28:03 <CakeProphet> *equally
15:28:31 <CakeProphet> though I am intrigued. I don't know if excited is the right word. :)
15:32:45 <alise> Hey, I /have/ been thinking about this stuff in the back of my mind constantly for about a year.
15:32:53 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
15:32:53 <alise> And had sections of thinking about nothing else for a while.
15:33:19 <CakeProphet> ah, well okay.
15:38:01 <alise> Problem is, sometimes these purist designs turn out to be awkward in practice.
15:38:07 <alise> e.g.
15:38:08 <alise> ^ of: 's:
15:38:08 <alise> ^ (name: s)
15:38:09 <CakeProphet> huh. imagine that.
15:38:10 <alise> is hideous.
15:38:16 <alise> CakeProphet: Shush, you.
15:38:22 <CakeProphet> :)
15:38:24 <alise> I don't mean purist as in lambda calculus purist :P
15:38:30 <CakeProphet> no I know what you mean
15:39:29 <CakeProphet> especially with OS design. By using a unified model you're stating that every possible interaction of IO between processes, other processes, and the outside world... fits into this one concept.
15:39:38 <CakeProphet> not only does it fit, but it fits well and makes sense.
15:40:10 <alise> Yeah.
15:40:23 <alise> Plan 9 totally nails it as far as inert things go; it doesn't have actual process code running in files.
15:40:33 <alise> Smalltalk nails it by simply ignoring the outside world.
15:42:47 <alise> 18:07:33 <oerjan> PROLOG isn't 2d though
15:42:51 <alise> I DON'T KNOW ABOUT PROLOG, BUT Prolog IS 1D
15:43:20 <CakeProphet> so.. are you mixing message passing into the filesystem or?
15:43:35 <alise> 18:13:17 <pikhq> About a meg of Brainfuck.
15:43:36 <alise> Two.
15:43:40 <alise> CakeProphet: There is no filesystem.
15:44:05 <alise> Basically, the model is: I'll use the word "object" here, but try not to let any previous experience with things called "objects" get in the way.
15:44:25 <alise> Everything is an object: there is no filesystem or anything. You have your disk, and RAM is treated as a cache for disk, basically. So everything is always there, and there is no persisting or anything.
15:44:31 <alise> So, what is an object?
15:44:46 <alise> An object is a running piece of code, that runs in tandem with all the other objects (of course, it may not be run for a very long while if it is ignored for long enough).
15:44:53 <alise> How do objects interact?
15:45:16 <alise> If an object has a handle to another object, it can send it a message -- either another object, or a symbolic name.
15:45:39 <alise> The object that the message is sent to has a bunch of slots, saying "if given this name, do this thing", or "if given this object, do this thing". They can also have placeholders:
15:45:52 <alise> If given any object, given a certain condition, do this thing; otherwise, keep looking for a "handler".
15:45:58 <alise> The interesting thing is, this message is sent asynchronously.
15:46:17 <alise> "a b c d" means "sent off b to a; then when you get the result, sent c to the result; then when you get the result, send d to the result".
15:46:19 <CakeProphet> alise: you could also have objects not running when they're waiting on messages. Like Erlang essentially.
15:46:32 <alise> "x := a b c d" makes x a future, in a sort of lazy way.
15:46:45 <alise> CakeProphet: Possibly, but I think objects should be able to constantly run code in the background, e.g. a calculation.
15:46:48 <alise> Now, the interesting thing:
15:46:54 <alise> How do we know what "a" is, when we send a message to the object a?
15:46:56 <alise> Simple.
15:47:05 <alise> Every object has "slots".
15:47:12 <alise> For instance, every object has the slot "self", pointing to itself.
15:47:17 <alise> There are NO global variables.
15:47:23 <alise> How do you get slots pointing to useful things?
15:47:26 <CakeProphet> alise: well right... this would be the case in which you wait for messages asynchronously with a timeout.
15:47:31 <alise> Simple: You specify in the object's definition that it requires some certain kind of object.
15:47:38 <alise> Then whatever creates you must supply.
15:47:46 <alise> This is security.
15:47:57 <alise> You can only use things you have been trusted to use by something else trusted to use them.
15:48:06 <alise> You are never allowed to access anything you are not trusted with.
15:48:20 <alise> And, incidentally, those method handlers? Those are slots, too, that you assign yourself.
15:48:57 <alise> Voila: Objects are living processes, persisted data, and message passers; and they are all these things by one unified mechanism. And they are secure.
15:49:14 <alise> You might ask: how do we do arguments?
15:49:16 <alise> Simple.
15:49:22 <alise> Imagine some object that will add numbers for you, call it adder.
15:49:33 <alise> Now say we want to do "adder add 2 3" and get 5 back.
15:50:00 <alise> In adder's definition, the add method will return an object with a slot standing in for any object, which then returns another object, with a slot standing in for any object. That inner slot then adds the two and returns them.
15:50:05 <alise> This is like currying, but objecty.
15:50:30 <CakeProphet> alise: (listening, but continuing on our current chain of conversation) so things that don't really need to do anything but respond to messages can simply block and wait for a message... while processes that do something active in the background while waiting for messages can check asynchronously. I don't know if you used Erlang but that's basically how it does message-passing.
15:50:54 <CakeProphet> alise: that sounds inefficient from an OS design standpoint.
15:51:21 <alise> Inefficient? Howso? Also, the waiting for messages would be done implicitly, of course.
15:51:33 <alise> Basically, computation would be done by the asynchronous message passes:
15:51:38 <alise> You do "foo docomplexcomputation".
15:51:41 <alise> docomplexcomputation has a shitload of code.
15:51:47 <alise> It runs asynchronously, not bothering you.
15:51:50 <alise> Tada.
15:51:51 <CakeProphet> ....right. but why not have an option to block and wait? This makes scheduling easier.
15:52:03 <alise> Of course, "foo resultsofcomplexcomputation" would then block until the comptuation is done.
15:52:20 <alise> CakeProphet: see above
15:52:35 <alise> Since objects control all access to their own privates (har har), they block whenever it is needed.
15:53:23 <CakeProphet> but you cannot block while listening?
15:53:46 <alise> Well... listening is implicit. There is no "listen" instruction.
15:53:58 <CakeProphet> ...no, there would have to be.
15:54:02 <alise> No.
15:54:08 <CakeProphet> there has to be a point in code where you receive the message.
15:54:11 <CakeProphet> that's what I mean by listen.
15:54:18 <CakeProphet> "listen" implies block-until-receive.
15:54:22 <alise> When you define a Smalltalk object, where is the code that does "listen for messages, send off to appropriate method"?
15:54:26 <alise> There is none. It is part of the language.
15:54:50 <CakeProphet> right, but that's because there's no concurrency.
15:54:54 <alise> In my OS, object definitions are basically almost entirely assignments to slots. When you create the object, these assignments take place, but also any other code in the initialiser. It then returns the created object. Since the creation of the object is just a message pass to whatever contains the object, it is done asynchronously.
15:55:36 <CakeProphet> so basically you're saying that messages are given handlers.
15:55:46 <CakeProphet> and that is why you don't have to listen with a command.
15:56:01 <alise> Well... no. Messages just pass on to slots, basically.
15:56:22 <alise> Here's how I'd understand it: Read it like you're doing now, but whenever you notice two concepts that are closely related, assume that they're unified into one concept, because they probably are.
15:56:23 <CakeProphet> which are?
15:56:30 <alise> I told you what slots are.
15:56:36 <CakeProphet> ...but what are they.
15:56:38 <CakeProphet> as in
15:56:44 <CakeProphet> I know what a slot is on an object
15:56:46 <alise> <alise> How do we know what "a" is, when we send a message to the object a?
15:56:46 <alise> <alise> Simple.
15:56:46 <alise> <alise> Every object has "slots".
15:56:46 <alise> <alise> For instance, every object has the slot "self", pointing to itself.
15:56:46 <alise> <alise> There are NO global variables.
15:56:46 <alise> <alise> How do you get slots pointing to useful things?
15:56:48 <CakeProphet> but what do you assign slots to.
15:56:48 <alise> <CakeProphet> alise: well right... this would be the case in which you wait for messages asynchronously with a timeout.
15:56:51 <alise> <alise> Simple: You specify in the object's definition that it requires some certain kind of object.
15:56:53 <alise> <alise> Then whatever creates you must supply.
15:56:55 <alise> <alise> This is security.
15:56:57 <alise> <alise> You can only use things you have been trusted to use by something else trusted to use them.
15:56:59 <alise> <alise> You are never allowed to access anything you are not trusted with.
15:57:01 <alise> <alise> And, incidentally, those method handlers? Those are slots, too, that you assign yourself.
15:57:02 <CakeProphet> ......you can stop now.
15:57:03 <alise> Objects.
15:58:36 <zzo38> Do file-system also need object with each slot for each directory/file/mode/etc?
15:58:37 <CakeProphet> this doesn't sound very language agnostic.
15:58:48 <alise> CakeProphet: Of course it isn't.
15:58:51 <alise> There is no reason to be.
15:59:08 <alise> The line between "language environment" and "operating system" is a false one, created by bad OSes from the 70s, pretty much.
15:59:29 <alise> They are both the environment where things happen and data exists, it's just that the latter is bad at things that the former is good at and vice versa, and there's a crappy interaction layer between them. Pointless.
15:59:35 <CakeProphet> I think there are benefits to being able to use any language in your OS environment easily.
15:59:40 <alise> How language agnostic is Smalltalk? It's a question that doesn't make sense, isn't it?
15:59:48 <CakeProphet> ...Smalltalk is a language
15:59:50 <alise> CakeProphet: To do that, you have to make huge compromises that basically force your OS to suck in many ways; I refuse to do that.
15:59:52 <alise> CakeProphet: No.
15:59:55 <alise> CakeProphet: Smalltalk is an operating system.
15:59:59 <CakeProphet> ...what?
16:00:12 <alise> It started out as an operating system; nowadays, it's an operating system that runs in a box on other operating systems, like a VM running Windows.
16:00:18 <CakeProphet> since when is Smalltalk an OS?
16:00:23 <alise> Look up the history.
16:00:29 <CakeProphet> right
16:00:39 <alise> Smalltalk is a language AND and an operating system, and always had been.
16:00:40 <CakeProphet> but that would answer the question "since when was Smalltalk an OS"
16:00:43 <CakeProphet> not my actual question.
16:00:47 <alise> Originally it ran directly on the machine.
16:01:17 <alise> CakeProphet: Smalltalk environments are full environments with a full interface and a full data storage etc. mechanism, detached from the OS running them, that just so happen to run in a window on a current OS.
16:01:21 <zzo38> When you program Forth, you can make it Forth to be operating system as well, but only if it is. Sometimes Forth is not a operating system, but sometimes it is. Smalltalk is more high-level, so it is different, I suppose.
16:01:30 <alise> If you say Smalltalk is not an OS, then you say that Windows is not an OS because Windows can run on modern OSes in a box.
16:01:46 <zzo38> Inferno is a operating system and VM, and can run inside of other operating-system, or by itself.
16:01:58 <alise> Inferno is basically Plan 9 made to be VMy.
16:02:12 <CakeProphet> ...I am still Smalltalk is a programming language and not an OS.
16:02:29 <alise> You are wrong, and the creators of Smalltalk even disagree with you.
16:02:39 <CakeProphet> I even just ctrl+f'd "operating system" in its wiki article and there were no matches. This doesn't prove anything, but it makes me certain of my stance.
16:02:54 <alise> Heck, even cpressey disagrees with you. That's like being dishonoured to the max. At least here :P
16:03:29 <CakeProphet> saying Smalltalk is an operating system is like saying that any language with its own process scheduler is an OS.
16:03:54 <alise> Well, I'm uninterested in arguing it.
16:04:14 <CakeProphet> I suppose I am as well.
16:07:22 <Sgeo_> Smalltalk is probably more of an OS than YouOS was
16:08:09 <CakeProphet> Erlang is more of an OS than Smalltalk.
16:08:17 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:08:26 <alise> CakeProphet: hahaha
16:08:55 <Sgeo_> Erlang programs can standalone. Smalltalk programs rarely do
16:09:04 <Sgeo_> [Unless you're using GNU Smalltalk[
16:09:05 <alise> I'm just going to suggest to avoid commenting at all on Smalltalk's OS status until you get convinced by, say, someone who actually knows about Smalltalk. Say, one of the original designers?
16:09:05 <Sgeo_> ]
16:09:10 <alise> Would be good.
16:09:15 <alise> Or you'll just be embarrasing yourself.
16:09:29 <CakeProphet> nah...
16:09:56 <CakeProphet> I'd only embarass myself if I cared what a language designer thinks. I know plenty about Smalltalk.
16:10:04 <alise> But, clearly, not enough.
16:10:09 <Sgeo_> Fuckin' popunders, how do they work?
16:10:14 <CakeProphet> That's nice.
16:10:15 -!- CakeProphet has quit (Quit: leaving).
16:10:52 <alise> Man, what is it with people these days and leaving when someone tells them they're wrong? That's what /my/ job used to be.
16:13:16 <alise> "Ask Proggit: How to file an International Software Patent WITHOUT a patent attorney?"
16:13:21 <alise> Yes, proggit will help you file a software patent.
16:13:53 <zzo38> I don't like patent.
16:13:57 <zzo38> I don't file any patent
16:14:58 <alise> Even those who do like patents dislike software patents, especially as they contradict what a patent was originally invented for!
16:15:02 <alise> Ridiculous.
16:15:51 <zzo38> alise: Yes, that is true, many people even if they like patents in general, still dislike software patents. (Not all people) But some people (including myself) doesn't like any patent at all.
16:16:10 <alise> I dislike all forms of intellectual property! Apart from trademarks, those are quite acceptable.
16:16:29 <zzo38> I also happen to like trademarks. I find trademarks also acceptable.
16:17:18 <alise> "Trademarks: Quite acceptable, agreeable things." That's some rallying cry.
16:17:28 <alise> "ABOLISH IP! ABOLISH IP! BUT KEEP TRADEMARKS, THEY'RE QUITE ACCEPTABLE!"
16:17:31 * Sgeo_ would be ticked if someone took my code and claimed that they wrote it, and this claim became widely accepted and the code becomes widely used
16:17:49 <alise> Sgeo_: there are many factors mitigating this in a no-IP world
16:18:12 <alise> For instance, their only profit would be in ego, as selling software would become pointless; and in such an internetty world, cases of plagiarism like that are widely publicised easily.
16:18:44 <alise> "I made this free software project, ooh la la, and totally didn't become rich off it" is not very e-penis enlarging.
16:20:22 <zzo38> If someone used my codes, licensed under GNU GPL (which, however, requires copyright), or public domain, or whatever else, I really don't care if nobody knows who wrote it, or how someone changed their copy (and redistributed it), as long as they don't deny other people the same rights, or claim that the modified version is endorsed by me if I didn't actually endorse it.
16:20:57 <alise> Also a good point: wanting desperately to be credited for some software is basically ego.
16:21:00 <alise> Who cares, really?
16:21:46 * alise wonders whether trying to make a simple OS using some /existing/ interpreter for the high-level stuff would be easier than writing an interpreter tailored for a standalone environment for a new language and making an OS out of that
16:22:46 * Sgeo_ does not code for free. Admittedly, I don't get paid with money, and so far, never have, but I do get paid with recognition
16:23:09 <alise> And I don't see this as a particularly positive trait in you.
16:23:35 <Sgeo_> I don't see it as particularly negative. I would imagine that it's fairly normal, though.
16:23:49 -!- Oranjer has joined.
16:24:21 <Sgeo_> Although I probably value recognition more, and money less, than many people
16:29:24 <zzo38> My IRC server currently disconnects the client when you send the command too long. I should probably change it to truncate instead?
16:29:57 <zzo38> Here is the comment: Request must not exceed 512 chars (incl. CR+LF!), see RFC 2812. Disconnect Client if this happens.
16:30:29 <zzo38> But surely instead it should just truncate, or else, display an error without disconnecting the client.
16:31:46 <alise> zzo38: Just truncate; i.e., if you are using some fgets() or similar, use a 512-character long buffer, and pass 512 to the function as the number of characters you would like to read.
16:32:00 <alise> Or something.
16:32:08 <alise> Then, if the buffer does not have \r\n, read until \r\n.
16:32:12 <alise> (and disregard)
16:34:50 <zzo38> alise: That is exactly what I intended to do at first. But when I looked at the codes, it does not work that way, so I will do it in the way these codes does work
16:35:07 <alise> Yarr
16:35:17 <alise> I want to write an IRC daemon, now.
16:35:18 <alise> In fact, I will.
16:41:40 <Sgeo_> alise, I lied. There is one project for which completing it is more important to me than recognition
16:44:58 <zzo38> alise: Will you write it based on another code, using parts of any other codes? Will you write in what program language, is it in C?
16:45:10 <zzo38> What you call this program?
16:47:12 <alise> zzo38: I will probably start it from scratch.
16:47:15 <alise> Probably C.
16:47:17 <alise> Unsure.
16:47:25 <alise> I dislike basing programs on others for some reason.
16:48:04 <zzo38> What features do you plan to implement?
16:48:46 <alise> The sideset (not super, but not sub either) that clients actually use, minus a few things I deem completely pointless. More than a few, actually.
16:48:50 <alise> Plus my own services implementation, most likely.
16:52:42 <zzo38> Maybe can you make a list?
16:53:37 <alise> Hmm...
16:53:44 <alise> Hard. I'll try.
16:54:02 <alise> zzo38: You know all the variations on *-line? I'd probably try and unify them.
16:56:22 <alise> I guess that's not so radical.
16:56:24 <alise> But eh.
16:56:27 <alise> zzo38: What is yours based on?
16:56:56 <zzo38> Mine is based on ngIRCd. It is the closest program to what I wanted, so I used it
16:58:02 <alise> ngircd is nice.
16:58:32 <alise> it's event based, right?
16:58:34 <alise> well, kinda obvious
16:58:37 <alise> all irc servers are
16:59:50 <zzo38> It is obvious from the Wikipedia comparison of IRC daemon, that ngIRCd has most of the features I need, and omits most of the features I do not need, and then I can just fix it from there.
17:01:42 <alise> I'm a severe sufferer of NIH syndrome, so I loathe to use anyone else's INHERENTLY FLAWED work!
17:02:16 <AnMaster> okay wtf are ubuntu doing? why are they replacing the gnome logo on the back of cards in the gnome card games with the ubuntu logo? didn't do that in jaunty I'm pretty sure
17:02:40 <alise> AnMaster: it's called branding and you're allowed to do it.
17:02:47 <alise> the foot just confuses ubuntu users, I say this from experience
17:02:56 <alise> (my mother asked me "why is there a foot on the back of the cards o_o")
17:02:56 <AnMaster> alise, also the non-logo filled green background with green bg with ubuntu logo in it
17:03:01 <AnMaster> which makes less sense
17:03:19 <AnMaster> and it is an ugly green shade compared to upstream IMO
17:03:29 <alise> that's a rather more specific complaint :P
17:03:36 <alise> btw i forget, what are & and ! channels? on irc
17:03:40 <alise> I know what + is, modeless.
17:04:03 <zzo38> & is local to the current server, and ! is like # but safe against netsplit by adding a code to the beginning
17:04:17 <AnMaster> yeah random code, so not completely safe
17:04:26 <AnMaster> and much worse than the normal solution
17:04:35 <AnMaster> which checks timestamp on channels when servers link
17:04:37 <zzo38> It doesn't have to be random, you can implement it to add a different kind of code, such as a timestamp
17:04:41 <alise> & seems silly.
17:04:45 <alise> so does ! too
17:04:48 <AnMaster> and discards the newer one if they are different
17:04:53 <AnMaster> (modes from it that is)
17:05:15 <alise> zzo38: One thing I'd change in my ircd is to drop the stupid RFC definition of uppercasing which has [ be uppercase of { or something like that
17:05:21 <alise> due to some character set or whatever
17:05:32 <zzo38> In my opinion, it is # silly and &!+ good
17:05:44 <alise> why is & good
17:05:50 <alise> the whole point of server linking is to present a unified network
17:06:05 <zzo38> There are some reasons to have local channels to a server
17:06:09 <alise> AnMaster: when you do a PRIVMSG to a,b,c, do a b and c see it as being sent to a,b,c or just their name?
17:06:18 <alise> if the former, then it would be useful as an impromptu ad-hoc private channel
17:06:31 <zzo38> It can include server administration stuff, and so on
17:06:50 <zzo38> When you do PRIVMSG to a,b,c,
17:07:01 <alise> a,b,c privmsgs don't work on freenode
17:07:02 <zzo38> No, I see it only being send to me only
17:07:11 <AnMaster> alise, not sure
17:07:18 <AnMaster> alise, I think "only to them"
17:07:25 <alise> zzo38: doesn't work on freenode, like i said
17:07:29 <alise> AnMaster: that sucks
17:07:43 <alise> well, nobody supports a,b,c messages right? So if I supported them, I might as well make that change.
17:07:50 <alise> and also, a request for the names of a,b,c would return a, b and c
17:07:53 <AnMaster> alise, oh lots of ircds support it
17:07:56 <zzo38> And I look at the log, it does appear in the log
17:07:57 <AnMaster> basically everywhere but freenode
17:07:59 <AnMaster> alise, ^
17:08:01 <alise> AnMaster: well, ok
17:08:04 <alise> AnMaster: but people only use it for spam :))
17:08:12 <zzo38> I sent it to: PRIVMSG zzo38,alise,#esoteric
17:08:13 <AnMaster> alise, nop,
17:08:18 <AnMaster> I seen it use for valid purposes
17:08:31 <zzo38> See? It works
17:08:37 <alise> well... I think I should have SOME sort of impromptu private chat functionality
17:08:43 <alise> zzo38: huh
17:08:46 <alise> maybe freenode supports it now
17:09:04 <alise> AnMaster: zzo38: see private messages
17:09:10 <zzo38> You can just send messages to directly to the other user, if it is only 2 people
17:09:56 <AnMaster> bit busy
17:09:58 <zzo38> For more than 2 people, you can use a channel with key or limit mode set
17:11:14 <zzo38> Or, you can possibly have the client to open connection to multiple using the comma
17:11:23 <alise> Okay then, new proposal:
17:11:32 <zzo38> (In PHIRC, the command is "/CHAN alise,AnMaster" for example)
17:12:06 <alise> A new prefix, say @. Listed in server prefixes. "/join @a,b,c" puts you in the channel "@a,b,c,you", where you is your nick. Sending messages makes a, b and c join "@a,b,c,you", and see your message in it.
17:12:24 <alise> If b parted, all users in "@a,b,c,you" would get transferred to "@a,c,you" instead.
17:12:32 <alise> "NAMES @a,b,c,you" would yield a, b, c and you.
17:13:43 <zzo38> Perhaps all the names should be put in alphabetical order
17:14:05 <alise> Agreed.
17:14:26 <alise> So join @x,z,y,ab,c would make you join @ab,c,x,y,you,z.
17:14:30 <alise> (assuming your nick is you)
17:14:36 <alise> And the join would fail if any user was not online.
17:14:40 <zzo38> alise: Yes, that is what I meant
17:15:09 <alise> Yeah.
17:15:45 <alise> zzo38: Also, I think I'd make "PRIVMSG a,b,c,d :foo" equivalent to "JOIN @a,b,c,d \n PRIVMSG @a,b,c,d :foo" for backwards-compatibility and also easy conversation-starting.
17:15:47 <zzo38> Although I think using a channel with a key mode will work for this sort of things, too (especially if the channel is also secret)
17:15:52 <alise> Or maybe just "PRIVMSG @a,b,c,d :foo" when you're not in it.
17:17:09 <alise> AnMaster's pointed out that commas in channel names are a bad idea.
17:17:16 <alise> So how about @a;b;c.
17:17:17 <zzo38> The problem of course is that you can use like "PRIVMSG #channel1,&channel2,!channel3,+channel4 :abcdefg" then the channel name is not allowed a comma I think in channel name?
17:17:30 <alise> Yeah, so ; instead.
17:17:55 <AnMaster> alise, better check that that doesn't break some common irc clients like irssi, xchat, and the other big ones
17:17:56 <zzo38> That is, using something which is allowed in a channel name but disallowed in a nick name is should be used.
17:18:00 <alise> AnMaster: I will, yes.
17:18:09 <alise> zzo38: @ isn't allowed in a nick, is it?
17:18:18 <AnMaster> alise, user!ident@host
17:18:23 <alise> But @abc.
17:18:28 <alise> You can't PRIVMSG to @abc.
17:18:30 <zzo38> I don't think so. @ is used to separate nick!username@hostname
17:18:40 <alise> Right.
17:18:45 <AnMaster> alise, just don't use $
17:18:54 <alise> $$$$why not
17:19:09 <AnMaster> alise, because that is used for global notices and such. /notice $*.freenode.net [Global notice from staff]
17:19:25 <alise> Ah.
17:20:21 <AnMaster> alise, you know, it would probably be saner to make a new protocol and drop compatibility.
17:20:29 <AnMaster> would make a lot of the stuff less hackish
17:20:36 <alise> That was what the Haver developers did.
17:20:40 <alise> Issue was, writing good clients is hard.
17:20:46 <alise> And most people won't want to install one, anyway.
17:20:50 <alise> So it's pretty much dead.
17:20:52 <AnMaster> hm
17:20:58 <alise> And it turns out IRC actually gets a lot of stuff damn right.
17:21:03 <alise> Sure, it has warts and flaws, but the actual basics are good.
17:21:08 <AnMaster> alise, yes but only because no one follows the spec
17:21:10 <AnMaster> :P
17:21:16 <zzo38> alise: I don't really like the @ channel idea you have. I think a better way might be, such as: New command "PRIVCHAT user1,user2,user3" will create a channel @ and the timestamp (or random code or whatever), and you join, all other users named are invited. Everyone else is banned from that channel.
17:21:28 <alise> zzo38: But clients won't support this by default.
17:21:51 <alise> I want something I can use right now to say, e.g. /join @coconspirator1,coconspirator2,coconspirator3 and discuss evil plans.
17:22:06 <zzo38> alise: But you could use the command-mode in the client, to enter that command in, instead of using the menu. Or, a script could be added to make a menu for that
17:22:09 <AnMaster> alise, can you prevent yourself from being joined against your will to such a channel?
17:22:12 <zzo38> It depend on the client, how it is done
17:22:25 <AnMaster> alise, anyway you could do a client script to create a random channel and send INVITE ;P
17:22:53 <alise> AnMaster: Any such joining thing would just be a script that /parts as soon as you join.
17:22:59 <alise> Perhaps a server could support it, but who cares.
17:23:25 <AnMaster> alise, well I can quite easily see the possibilities for abuse. filling channel list with useless channels
17:23:36 <AnMaster> and making you hit channel count limit
17:23:48 <alise> As I said, there will be a limit on the amount of @ channels you can be in at one time.
17:24:37 <AnMaster> alise, aha! DOS to prevent the user from joining the ones he want
17:24:50 <AnMaster> just get a few bots on that create new such channels with him/her
17:24:52 <alise> How could you do that if you can only make a user join five channels?
17:24:54 <zzo38> Like, how I proposed the PRIVCHAT could be: You are "user0" and you enter the command "PRIVCHAT user1,user2,user3" now the channel is created "@148050176081284" for example, and you automatically are joined (no oper), other users named are invited, everyone else is banned, mode is "+ns", and any member can invite
17:25:07 <alise> You are the only one who would be so sad that you cannot go from 459 channels you want to 460 channels you want.
17:25:26 <alise> Most other people would apply something known as being reasonable, and decide that there is surely one channel they don't care about. Or, you know, just part the @ ones.
17:25:37 <alise> zzo38: I guess so.
17:25:38 <zzo38> That is, with "PRIVCHAT" command without any parameters, it would create a channel like that but only you on, nobody else invited, and then you have to use INVITE command to invite other users.
17:25:41 <alise> Maybe I'll do that.
17:25:51 <alise> /privchat would work in xchat, I guess.
17:26:16 <AnMaster> alise, well, say user A wants to chat to users B and C . But there are the bots E1 to E5 that sends messages like @A,E1 and @A,E1,E2 and so on to fill up. you could make it rather fast to make it hard to start the intended conversation
17:26:17 <alise> zzo38: what if someone invites someone and they are really annoying and you want to get rid of them?
17:26:21 <alise> starting a new privchat would be irritating
17:26:36 <alise> AnMaster: and the point of this would be?
17:26:37 <zzo38> alise: Then you use SILENCE or the client ignore feature.
17:26:42 <alise> you can flood channels with tons of bots too to stop people talking
17:26:45 <alise> whoop de doo
17:26:54 <alise> zzo38: no, because then they would see your secret plans
17:26:57 <alise> and they are plotting against you
17:27:50 <zzo38> alise: Then you have to create a new PRIVCHAT then. Or, you can just create a normal keyed channel with everyone banned except invited users, so that you can be operator.
17:27:59 <alise> Alright then.
17:28:12 <AnMaster> alise, ... whatever the point of idiots trolling is
17:28:15 <alise> It should be PRIVCHAT user1 user2 user3, btw, not commas.
17:28:16 <alise> Surely?
17:28:18 <AnMaster> I'm just saying it will happen
17:28:19 <alise> Or, can IRC commands not be variadic.
17:28:20 <AnMaster> not that it is good
17:28:35 <AnMaster> alise, I could quite imagine someone like fax or such doing it
17:28:38 <alise> AnMaster: Well, people flood channels too with tons of bots. They get k-lined in no more than a minute and life goes on.
17:28:44 <alise> nah, fax hates programming :-P
17:28:52 <zzo38> But even then, the server owner could program it to see all of your evil plans anyways!
17:29:03 <zzo38> (If they wanted to!)
17:29:05 <alise> zzo38: yeah but server owners are rarely so ... good :P
17:29:11 <alise> also they rarely care about Agora conspiracies
17:29:35 <zzo38> Is "good" the right word? Do you mean "intrusive" or something?
17:29:36 <alise> Actually, I once had a marvellous proposal.
17:29:54 <alise> zzo38: Well, it's not "bad" per se because they're foiling evil plans.
17:29:56 <alise> Intrusive is a good word.
17:30:16 <alise> So, this marvellous proposal.
17:30:31 <alise> It was a cryptographically-secure, completely-encrypted, democratic chat system.
17:30:42 <AnMaster> alise, still, I can't imagine it getting used very often except for abuse. Most people will just create new channel out of habit, and it being easier with their irc client anyway
17:31:13 <alise> It was utterly glorious. We're talking "a network of servers that CANNOT POSSIBLY do anything evil", along with systems for decentralised channels to get rid of troublemakers by having everyone from then on encrypt their messages so that only everyone BUT the bad guy can decrypt them
17:31:13 <alise> etc.
17:31:19 <alise> Never got around to... doing it, though.
17:31:48 <alise> AnMaster: well, e.g. "/privchat ais523 comex" is quicker than "/join #cabalchat \n /invite ais523 \n /invite comex".
17:32:04 <alise> Making it an invite would be good.
17:32:07 <alise> Then it couldn't be abused.
17:33:11 <alise> But, yeah, my encrypted chat system would have made everything perfect forever.
17:33:21 <AnMaster> alise, the automatic join is somewhat annoying though
17:33:27 <AnMaster> yeah so invite
17:33:31 <alise> AnMaster: yeah, invite
17:33:52 <alise> it'd basically be a way of making a secret, invite-only channel with a unique, irrelevant name and automatically inviting some people to it
17:33:54 <zzo38> INVITE is what I proposed anyways, after alise propose @ channel
17:34:36 <zzo38> alise: Which is basically what my modification of your idea is.
17:34:45 <alise> Yep.
17:34:47 <alise> I agree with it now.
17:35:05 <zzo38> OK
17:37:00 <alise> zzo38: what select()-like function does ngircd use? epoll/kqueue?
17:38:26 <zzo38> I think the autoconf will automatically select the right one and use preprocessor macro to choose one
17:38:52 <alise> Ew, autoconf!
17:39:11 <AnMaster> alise, most ircds try to select the best polling function at some sort of configure time
17:39:18 <alise> Yeah.
17:39:24 <AnMaster> alise, inspircd doesn't use autoconf btw
17:39:25 <alise> I was just wondering if it was still stuck in select() age.
17:39:28 <AnMaster> it uses some perl thingy iirc
17:39:34 <alise> Is it easy to migrate code from select() to epoll()/kqueue?
17:39:37 <zzo38> I don't use autoconf for my own programs, but this program uses autoconf, so, it is still used.
17:39:40 <AnMaster> since autoconf didn't really cover the needs. it is very modular
17:39:59 <AnMaster> rather nice build system to _use_ at least
17:40:59 <zzo38> When I write a program with based from other program with autoconf, then autoconf is still used. Otherwise it isn't.
17:42:24 <zzo38> About IRC commands being variadic: Check the commands in RFC to see if there are any variadic, if there isn't, you shouldn't make it variadic either.
17:43:26 <zzo38> The NS and CS commands commonly found in some IRC networks do not follow proper IRC syntax, And I don't like that it is not following proper IRC syntax
17:44:45 <zzo38> The syntax highlighting in PHIRC is designed to work only with properly formed IRC commands, so NS and CS confuse it.
17:44:50 <alise> So, anyway, now I'm kinda sad that I didn't spec up that chat system.
17:44:53 <alise> It was terribly well thought out.
17:45:50 <zzo38> (When I complain that the NS and CS are improper syntax, they don't believe me.......)
17:47:33 <alise> ...but they won't be saying that when I take over the world! *mad cackle*
17:52:39 <alise> <alise> Is it easy to migrate code from select() to epoll()/kqueue?
17:52:46 -!- KingOfKarlsruhe has joined.
17:54:38 <alise> AnMaster: ^
17:56:56 <AnMaster> alise, not sure, a bit of work at least. It would be easier the other way around
17:56:58 <AnMaster> I think
17:57:03 <AnMaster> bbl
17:57:06 <alise> So I should start out writing epoll?
17:57:46 <AnMaster> alise, you should start out reading the docs for each (quite short) to see how they differ and then figure out a sane abstraction for them that isn't as inefficient as select()
17:58:22 <AnMaster> one of the main points of epoll/kqueue is that it avoids building the fd list and then copying it to the kernel every time you want to wait on your sockets
17:58:39 <alise> I care mainly about Linux, tbh.
17:58:41 <AnMaster> so your abstraction should probably just maintain it's own list for the select() case
17:58:49 <alise> So I'd prefer starting just supporting epoll or something.
17:58:58 <AnMaster> would probably work
17:59:16 <AnMaster> anyway, it is like two screens of man page for each to learn them
17:59:27 <alise> Yeah, but ... only losers use BSD :P
17:59:29 <AnMaster> or at least get an idea of how it works
17:59:36 <AnMaster> alise, does OS X use kqueue?
17:59:39 <AnMaster> presumably it does
17:59:41 <alise> Yes :P
17:59:58 <AnMaster> yep losers and typography geeks
18:00:11 <alise> hey now that's person
18:00:12 <AnMaster> so no one important really
18:00:12 <alise> *personal
18:00:17 <AnMaster> ;P
18:00:24 <alise> os x sorta sucks at typography recently anyway.
18:00:27 <AnMaster> what?
18:00:37 <AnMaster> alise, why?
18:00:41 <alise> It has nice typefaces, yes, but it's seen some woeful typographic crimes recently.
18:00:47 <AnMaster> such as?
18:00:49 <alise> Especially on the iPhone and iPad.
18:01:00 <alise> iBooks, for instance, justifies text without hyphenating it. Rivers and other such abhorrent ugliness abound.
18:01:29 <alise> http://subtraction.pmhclients.com/images/uploads/2010-06-08-ibooks.png
18:01:38 <alise> It's high-quality typesetting!
18:01:47 <alise> AnMaster: So really, nowadays the only true refuge of typography fans is TeX.
18:01:51 <AnMaster> hm
18:01:57 <alise> Which is, you know, not so bad really.
18:01:59 <AnMaster> alise, and yeah Computer Modern is wonderful :)
18:02:07 <alise> I never said Computer Modern.
18:02:10 <alise> Did I say Computer Modern?
18:02:17 <alise> Computer Modern is Didone, for heaven's sake!
18:02:20 <AnMaster> I did, and I was serious
18:02:30 <AnMaster> alise, whatever that means
18:02:35 <AnMaster> I just like how it looks
18:02:46 <alise> Sure, it is an exemplary example of Didones, and it manages to transcend being Didone, but it's still a fucking Didone typeface and is therefore abhorrent.
18:03:02 <alise> Didone fonts are the kind that look like this: http://upload.wikimedia.org/wikipedia/en/2/2b/Bodoni_vita_nuova_facsimile_sepia.png
18:03:05 <AnMaster> did one, did two, did three, ....
18:03:43 <AnMaster> alise, and you don't like them?
18:03:44 <AnMaster> why?
18:03:49 <alise> Nobody does.
18:03:53 <AnMaster> alise, um...
18:03:58 <AnMaster> presumably Knuth does?
18:04:07 <AnMaster> and I just said I did
18:04:19 <alise> No, Knuth just made Computer Modern Didone because mathematical type families tended to be. And indeed, Computer Modern is only very subtly Didone.
18:04:27 <alise> No, you didn't say you like them. Just one particular specimen.
18:04:32 <AnMaster> alise, well true
18:04:40 <alise> Computer Modern is a wonderful typeface family, though I daresay its sans-serif variation is its high-point.
18:04:51 <alise> But, e.g. Bodoni is completely unreadable for long texts.
18:04:58 <AnMaster> alise, but I don't see anything wrong with the example you linked apart from that firefox fails at smooth scaling down of the image
18:05:00 <alise> And the appearance is jarring.
18:05:08 <alise> AnMaster: Now try reading a book set entirely in it.
18:05:28 <AnMaster> alise, well? shouldn't be too hard?
18:05:31 <alise> The ridiculously thick strokes along with the ridiculously thin serifs are painful for a long text.
18:05:41 <AnMaster> hm true
18:05:53 <alise> AnMaster: Let's put it this way: you'd probably rather read a book in Courier, if you tried reading one in both Bodoni and Courier and could decide afterwards.
18:05:53 <AnMaster> well then I say that that "Bodoni" isn't a good one
18:06:06 <alise> But Bodoni is the definition of DIdone.
18:06:07 <alise> *Didone
18:06:11 <AnMaster> but I don't have enough data points to make a generalisation as you pointed out before
18:06:12 <alise> Didone is literally "Like Bodoni or Didot".
18:06:33 <AnMaster> hm
18:06:34 <alise> Didot seems superficially better from this specimen: http://upload.wikimedia.org/wikipedia/commons/b/b1/DidotSP.png but it has the same problems for long texts, just slightly less so.
18:06:41 <alise> (And WTF @ that 7.)
18:06:47 <alise> And that Q's tail.
18:06:52 <AnMaster> what is wrong with the 7?
18:07:03 <alise> It looks like it's been melted.
18:07:12 <alise> Top bit is fine, whoops, just sort of slouching downwards.
18:07:17 <AnMaster> alise, does it? I find the 5 harder to accept
18:07:21 <AnMaster> it looks like a flag
18:07:23 <AnMaster> at the top
18:07:27 <alise> The 5 is a backwards c waving a flag.
18:07:29 <alise> Ha
18:07:49 <alise> Anyway, Computer Modern is the only acceptable Didone. It's a good one.
18:07:55 <alise> But it's still Didone and therefore on principles I must loathe it :-P
18:08:41 <alise> Computer Modern sans is very, very nice, though.
18:08:57 <alise> http://media.smashingmagazine.com/cdn_smash/images/freefonts/cmu-sans-serif.gif
18:10:07 <alise> One gripe with Computer Modern serif: the Q'stail should not look like that.
18:10:09 <alise> http://www.identifont.com/samples/ams/CMR10.gif
18:10:12 <AnMaster> bbl food
18:10:14 <alise> It pokes into the Q before exiting, which is ugly.
18:11:04 <alise> Hmm.
18:11:13 * alise wonders about IRC server architecture and such.
18:12:41 <jabb> I love monospace
18:12:46 <jabb> for everything
18:13:08 -!- impomatic has joined.
18:13:30 <alise> jabb: hi oklopol
18:14:18 -!- kar8nga has joined.
18:17:06 <pineapple> didone?
18:17:13 <zzo38> One feature I would like to be able to add in Linux, is so that a process can serve a file-system which is automatically mounted under /proc/self/9p/
18:20:53 <impomatic> Is anyone (in the UK) going to the Vintage Computer Festival next week?
18:21:43 <AnMaster> alise, I think you are mistaken
18:21:46 <AnMaster> * [jabb] (~grue@71.94.31.166): grue
18:21:52 <AnMaster> that does not look like oklopol
18:22:13 <alise> I was joking.
18:22:15 <AnMaster> geoip gives US too
18:22:17 <AnMaster> alise, ah
18:22:17 <alise> impomatic: When is it?
18:22:35 <AnMaster> impomatic, what sort of stuff will be shown there?
18:22:39 <AnMaster> PDP-10s?
18:22:47 <impomatic> 19/20 June. 10:30am start, at Bletchley Park near Milton Keynes.
18:22:56 <alise> What weekdays?
18:22:59 <AnMaster> hm then it could be way older
18:23:07 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
18:23:15 <impomatic> Details: http://www.tnmoc.org/vcf-gb.aspx
18:24:03 <alise> impomatic: It's on the weekend! Hooray.
18:24:07 <alise> I might be able to come, then.
18:24:19 <AnMaster> impomatic, what sort of vintage machines is it dealing with? mainframe? early home systems (c64 and such)? Or maybe varied?
18:24:33 <alise> Although I daresay that most people would be a little confused by a 14-year-old who looks like a 12-year-old appearing at such a festival.
18:24:42 <AnMaster> alise, XD
18:25:05 <impomatic> AnMaster: varied
18:25:09 <alise> "Where is your mother? Do you want me to help you find her?! Oh, you poor lost child! This place must be so strange for you!"
18:25:16 <AnMaster> impomatic, ah nice
18:25:24 <alise> "What's your name, Miss ..." (Most people mistake me for female :P)
18:25:30 <AnMaster> impomatic, a pity it is way too far away for me
18:25:51 <impomatic> Not so close to me. We need to camp over.
18:26:20 <alise> Yes, but AnMaster's in Sweden.
18:26:27 <impomatic> Ah okay :-)
18:26:39 <AnMaster> exactly, way too far away
18:26:41 <alise> I'm in the north, so... I guess I can probably not make it.
18:27:48 <impomatic> I'll take some photos for you then! So you know what you missed :-)
18:28:23 <alise> Tease.
18:28:43 <alise> Would be nice to have a break from the crappy weeks I've been having... oh well.
18:30:26 <AnMaster> alise, not moving abroad?
18:33:32 <alise> In a week?
18:37:41 -!- oerjan has joined.
18:41:10 <oerjan> <alise> you're drying your hands with a towel when you drop it onto a mucky part of the floor. there are no towels near you. WHAT DO YOU DO???
18:42:19 <impomatic> Dry my hands on my jeans?
18:42:26 <oerjan> shake your hands vigorously, then possibly wipe on your trousers. at least that's what i did the other day when i discovered there were no paper towels left in the restaurant toilet.
18:43:12 <oerjan> (no i _refuse_ to use that evil blowing machine they have just next to it. you have to _stick your hands into it_ dammit)
18:43:24 <alise> apparently the Dyson air hand-dryers are really good
18:43:26 <alise> the rest are shit though
18:43:28 <oerjan> s/it/the paper towels/
18:43:35 <alise> although maybe it was a Dyson, iirc those are the ones you have to stick your hands into
18:43:35 <oerjan> alise: that's exactly the kind they have
18:43:53 <alise> well i agree that i wouldn't entrust my hands into james dyson's... hands
18:43:54 <alise> but still :P
18:44:49 <oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles
18:45:23 <alise> `addquote <oerjan> alise: mainly it's the fact it blows so hard [...]
18:45:24 <alise> LULZ
18:45:29 <alise> actually wait the whole thing is hilarious out of context
18:45:34 <alise> good thing HackEgo seems to have broken
18:45:38 <oerjan> whew
18:45:49 <HackEgo> 179|<oerjan> alise: mainly it's the fact it blows so hard [...]
18:45:55 <oerjan> argh!
18:45:57 <alise> darn
18:45:58 <alise> `help
18:45:59 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:46:09 <alise> `revert 1505
18:46:11 <HackEgo> Done.
18:46:14 <alise> `addquote <oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles
18:46:20 <HackEgo> 179|<oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles
18:46:21 <alise> oerjan is a closeted gay republican
18:47:10 <impomatic> New programming games keep getting invented faster than I'm learning the old ones :-(
18:51:36 <AnMaster> <alise> apparently the Dyson air hand-dryers are really good <-- are they spherical?
18:51:44 <alise> *ballic
18:51:46 <alise> not afaik :P
18:51:51 <AnMaster> alise, meh.
18:52:01 <alise> i think it's a reasonable bet that they have some parts also found in vacuum cleaners!
18:52:28 <AnMaster> alise, Dyson dryer sphere would have been an awesome name
18:53:11 <alise> you forgot "air multiplier"
18:53:33 <AnMaster> heh?
18:53:38 <alise> http://www.dyson.co.uk/fans/
18:53:55 <alise> Dyson fan using vacuum cleaner parts with no blades and no buffeting, but otoh it's almost as loud as a vacuum cleaner -- guess why -- and produces not much air
18:53:57 <AnMaster> um...
18:53:59 <alise> also it costs. a lot
18:54:00 <AnMaster> XD
18:54:42 <oerjan> AnMaster: that's definitely not the hand drying type though
18:54:52 <AnMaster> alise, I can't see any air vents or sch?
18:54:54 <AnMaster> such*
18:55:02 <alise> AnMaster: it's the ring
18:55:10 <AnMaster> alise, it looks like a magnifier without the glass to be honest...
18:55:20 <AnMaster> alise, and what in the ring?
18:55:23 <alise> http://www.dyson.co.uk/images/technology/air_multiplier/header16xMultiplier.jpg some definition of 15
18:55:28 <alise> also lol @ 16x in filename but 15x in picture
18:55:34 <alise> AnMaster: nothing, the parts are down below
18:55:45 <oerjan> http://www.dyson.co.uk/dryers/ that picture is the hand dryer thing
18:55:56 <AnMaster> alise, there must be some holes for the air to exit through ...
18:56:05 <alise> AnMaster: in the ring.
18:56:29 <AnMaster> alise, also I assume it uses fusion or something to produce new oxygen molecules and so on?
18:56:36 <alise> no :P
18:56:42 <AnMaster> alise, or where does it get the extra 14 parts of air from?
18:56:43 <oerjan> and heck, would you really want to put your hands into anything whose name contains "blade"
18:56:49 <alise> hammerspace
18:56:56 <AnMaster> XD
18:57:25 <AnMaster> "it uses sheets of purified air travelling at 400mph " <-- isn't that like tornado?
19:00:19 -!- ais523 has joined.
19:01:15 -!- kar8nga has quit (Remote host closed the connection).
19:01:25 <impomatic> New programming games keep getting invented faster than I'm learning the old ones :-(
19:02:21 <AnMaster> impomatic, such as?
19:02:39 <alise> hi ais523!
19:02:50 <alise> Does anyone know of a... curses-based word processor? The idea sounds crazy, I know...
19:03:08 <ais523> alise: word processors always used to work like that
19:03:17 <alise> Yes, but not in that sense, really.
19:03:23 <ais523> WordPerfect could easily have been implemented with curses, although it probably used a different library
19:03:31 <AnMaster> hello ais523 btw
19:03:35 <alise> I'm thinking mainly something that will match up quotes and convert them to smart quotes as you type, sort of thing.
19:03:45 <alise> And perhaps automatically justify and hyphenate text as you type.
19:03:56 <AnMaster> alise, emacs mode!
19:04:05 <AnMaster> if there isn't one, there should be
19:04:09 <ais523> oh, there is emacs rich text mode, you're right
19:04:16 <ais523> which I have used as a word processor before
19:04:20 <alise> http://www.gnu.org/software/emacs/manual/html_node/emacs/Formatted-Text.html#Formatted-Text
19:05:02 <impomatic> Airblade: there's a thin layer of air being blown where the yellow strip is. It's strong enough to temporarily reshape the skin on your hands.
19:05:36 <alise> It does not seem to justify /as I type/.
19:05:38 <ais523> if this is a reference to the Dyson Airblade, it doesn't work very well
19:05:44 <alise> Oh, I don't have auto fill mode.
19:05:49 <alise> ais523: it is
19:05:54 <impomatic> New programming game to be release shortly: http://phonons.wordpress.com/2010/06/01/cells-a-massively-multi-agent-python-programming-game/
19:06:00 <ais523> all the new handdriers at the university are that model
19:06:20 <ais523> but they never seem to really leave my hands dry, unlike the old-fashioned sort which did after a few minutes
19:06:35 <alise> someone ought to just invent a self-cleaning towel
19:06:50 -!- vuvuzello has joined.
19:06:51 <impomatic> Airblade never dried my hands properly.
19:06:56 <alise> enriched-mode sucks, it can't hyphenate
19:10:13 <ais523> yep, it's far from ideal
19:10:25 <ais523> hmm, someone should write a curses implementation of LyX
19:10:35 <AnMaster> ais523, ouch
19:10:41 <ais523> AnMaster: why ouch?
19:10:42 <alise> LyX's typesetting is piss-poor.
19:10:49 <alise> It only looks good after sending off to LaTeX.
19:10:49 <ais523> alise: yes, wouldn't be hard to do better
19:10:55 <alise> Okay, full list of problems with enriched-mode:
19:10:56 <ais523> it's good enough to tell what you're doing, though
19:11:05 <alise> - It justifies without hyphenation. This is a cardinal sin.
19:11:15 <alise> - It can't do nice quotes.
19:12:23 <ais523> hmm, this reminds me, I own a book about compiler design which appears to have been typeset using troff
19:12:33 <alise> When on odd hills I ate corn bread, it was okay to see what the guy who supercalifragilisticexpialidociously antidisestablishmentarianismed up my worldview.
19:12:39 <alise> Ouch, enriched-mode. Ouch.
19:12:51 <ais523> that said, it gives examples in BCPL, so must be pretty old
19:12:55 <AnMaster> <alise> LyX's typesetting is piss-poor. <alise> It only looks good after sending off to LaTeX. <-- isn't that the POINT of it?
19:13:00 <ais523> with occasional mentions of Pascal and Cobol
19:13:00 <alise> ais523: groff actually typesets pretty well nowadays
19:13:01 <AnMaster> sending it off to latex I mean
19:13:09 <ais523> AnMaster: it would be better if it set well beforehand, though
19:13:16 <alise> AnMaster: Yes, but e.g. TeXmacs, though it has a bad interface, typesets as well as TeX in real-time.
19:13:22 <ais523> AnMaster: it would be better if it set well beforehand, though
19:13:31 <AnMaster> ais523, well maybe, I find that using a sans serif on screen when editing works better
19:13:41 <ais523> 'twould make it easier to edit, even though the final product would be the same
19:14:11 <ais523> hmm, I find that with a high enough resolution, serifs make text readable when smaller
19:14:17 <AnMaster> and well, I really like lyx "concentrate on actual content rather than design" paradigm. You do design fixup as the last thing before sending it to press/printing it/whatever
19:14:22 <alise> Huh, I just realised that there is no standard modern UNIX tool for text jusitication.
19:14:24 <ais523> hmm, I find that with a high enough resolution, serifs make text readable when smaller assuming a good enough resolution
19:14:33 <alise> AnMaster: typography is not design.
19:14:33 <AnMaster> ais523, yeah but I can't afford such a high res desktop monitor
19:14:40 <ais523> alise: *roff and TeX are enough, surely?
19:14:41 <AnMaster> alise, IMO it is
19:14:41 <alise> Typography is about readability, which is certainly important when editing.
19:14:43 <ais523> depending on what you're trying to do?
19:14:46 <alise> ais523: I mean plain text.
19:14:52 <AnMaster> alise, yes and that is why you use a sans serif when editing
19:14:57 <ais523> alise: *roff does plain text
19:15:01 <ais523> pretty well, too
19:15:05 <AnMaster> it isn't WYSIWYG. They never claimed that
19:15:07 <alise> AnMaster: I'm not interested in talking to you. You're as much a zealot as I used to be nowadays.
19:15:11 <AnMaster> use texmacs if you want that
19:15:18 <alise> ais523: sure, but...
19:15:23 <alise> ais523: one tool for one job? I know it's dead, but still.
19:15:25 <alise> We have fmt(1).
19:15:29 <AnMaster> alise, /used to/still am/ ;P
19:15:30 <alise> So why not just(1)?
19:15:43 <alise> I am much less of a zealot than I used to be.
19:15:55 <ais523> alise: except it's a pretty complicated job, fmt can't really deal with things like characters not in the character set, embedded images, etc
19:16:06 <alise> ais523: what has that got to do with justifying text?
19:16:11 <ais523> you need quite a complicated tool to do typesetting correctly
19:16:20 <ais523> alise: quite a lot
19:16:27 <ais523> you can't typeset text unless you know the width to typeset it in
19:16:31 <ais523> and the lengths of the characters
19:16:37 <alise> ais523: monospaced justification, foo
19:16:45 <alise> one char = one width
19:16:50 <ais523> even monospaced, you need to know the widths of the characters
19:16:53 <ais523> which are not always 1 each
19:17:01 <AnMaster> alise, what about floats that should float to the margin? TeX has those as well
19:17:03 <ais523> think about tabs, combining characters, etc
19:17:03 <alise> ais523: they can be assumed to be so in a unix environment.
19:17:05 <alise> I am certain that original UNIX had a justification command.
19:17:08 <AnMaster> can't see fmt doing it
19:17:11 <alise> Dude, I don't want this as a component of a larger typesetting system.
19:17:27 <alise> Are you seriously arguing that it is nigh-on impossible for a program to exist that justifies monospaced text to a specified width?!
19:17:44 <AnMaster> alise, well it would have to be aware of the float placement to give optimal results for line hyphenation, no?
19:17:54 <AnMaster> alise, oh monospaced?
19:17:57 <AnMaster> hm
19:17:58 <oerjan> hey today's mezzacotta comic actually makes sense (sort of)
19:17:58 <alise> Not if there are no floats because THIS IS NOT PART OF A LARGER TYPESETTING SYSTEM.
19:18:12 <ais523> oerjan: people still read mezzacotta?
19:18:14 <AnMaster> alise, if you mean those extra spaces in man pages on some lines I find them ugly
19:18:14 <ais523> hmm, I must look at this
19:18:21 <alise> Just like fmt formats monospaced text ragged-right, you could easily write a progam to format text justified and hyphenated.
19:18:48 <alise> AnMaster: roff also hyphenates
19:18:49 <alise> (man is roff)
19:18:57 <oerjan> ais523: well i do, because i use that page as my "mezzacotta/iwc/d&d portal"
19:19:07 <AnMaster> alise, true
19:19:14 <AnMaster> alise, but only for English iirc?
19:19:22 <AnMaster> or does it support rules for different languages?
19:19:29 <alise> dunno, who cares
19:19:31 <ais523> I'd be surprised if groff at least didn't have international support
19:19:32 <AnMaster> ...
19:19:37 <alise> anyway the main thing for me is proper quotes really
19:19:46 <alise> i guess i could just use smartypants
19:19:56 <ais523> alise: actually, international language support is one of the direct causes of the growth of OSS
19:19:59 <alise> roff doesn't use any fancy hyphenation algorithm afaik
19:20:01 <alise> dunno about new groff
19:20:07 <AnMaster> alise, "proper quotes" is very English specific
19:20:10 <ais523> in that it's swayed many national governments who can't get a copy of Windows for the language they wany
19:20:11 <alise> just the typical "can't fit it? Oh well, put a hyphen in there".
19:20:12 <ais523> *want
19:20:17 <alise> AnMaster: FOR FUCKING FUCK'S SAKE, I'M WRITING IN ENGLISH!
19:20:25 <AnMaster> Swedish use the English "start quotes" both at the start and the end for example
19:20:33 <AnMaster> and Spanish (iirc) use upside down ones
19:20:40 <ais523> and French «quotes like this»
19:20:40 <alise> It uses end quotes, actually.
19:20:44 <alise> Unless I misremember.
19:20:47 <AnMaster> alise, sure but the tool should support several languages
19:20:52 <alise> Anyway, no shit, I want a tool for ENGLISH TEXT.
19:20:55 <alise> No it fucking shouldn't!
19:20:57 -!- oerjan has quit (Quit: Later).
19:20:58 <AnMaster> ...
19:21:15 <ais523> AnMaster: alise: you're arguing different arguments here
19:21:17 <alise> I want to type "abc" and get “abc”, I really did not sign up for your overengineering class.
19:21:17 <AnMaster> what do you have against non English people?
19:21:24 <alise> Oh my fucking god you are retarded.
19:21:24 <ais523> alise wants a tool that exists right now for something that she wants to do
19:21:36 <ais523> and AnMaster wants a tool that doesn't exist yet that would solve these sorts of problems in the future
19:21:42 <ais523> so AnMaster clearly wants something rather more general
19:21:50 <AnMaster> yes, and I don't see the issue with this
19:21:52 <alise> I have nothing against foreign people apart from Swedes, who have a member so stupid that all the contributions of other Swedes are instantly wiped out.
19:22:15 <AnMaster> alise, olsner isn't that bad
19:22:19 <ais523> if you two could agree on what you were debating about, perhaps you'd have a chance at agreeing on something
19:22:27 <alise> Oh, the comedian.
19:22:30 <AnMaster> ais523, good point
19:22:46 <alise> I don't think what I'm talking about is ever unclear, as AnMaster is the only person who ever wildly misinterprets it
19:22:51 <alise> I suspect it is intentional.
19:23:06 -!- impomatic has left (?).
19:23:19 <ais523> alise: actually, I don't think it is; AnMaster tends to jump to an interpretation once and then stubbonly hold onto it despite anything that happens in the conversation
19:23:23 <ais523> which is a different phenomenon
19:23:32 <AnMaster> alise, and why are we not allowed to let the discussion float freely and extend it in some direction? is this some sort of strictly controlled debate in TV?
19:23:33 <alise> Whatever it is it's irritating.
19:23:50 <ais523> AnMaster: one thing that's necessary to have a discussion is someone else who wants to discuss on that subject
19:24:00 <alise> AnMaster: you will note that everyone else in here has a freely flowing discussion /apart/ from you
19:24:04 <AnMaster> ais523, well yes, but alise doesn't seem to be very good at that either
19:24:04 <alise> who is continually held up on one interpretation
19:24:06 <alise> and argues it to the death
19:24:13 <alise> actually that's a lie, you won't note it ...
19:24:24 <AnMaster> alise, I have a freely flowing discussion with everyone but you though
19:24:32 <alise> ha
19:24:33 <AnMaster> so I would argue the problem isn't on my end
19:24:51 <alise> the amount of times i've read a log where oerjan, oklopol or even ais523 just give up and resort to facepalming when talking to you...
19:25:03 <AnMaster> no, it is mostly you
19:25:07 <alise> don't bother answering, I know what --
19:25:11 <alise> yeah, how did I possibly guess
19:25:11 <AnMaster> okay, for jokes I agree
19:25:13 <alise> sigh
19:25:21 <AnMaster> that it may be true, but not in general
19:25:30 <alise> if anyone wants to talk to me they can /msg me or something, this is a waste of time when nobody else is talking
19:25:31 -!- alise has left (?).
19:30:49 -!- vuvuzello has changed nick to lament.
19:33:09 -!- zzo38 has quit (Quit: Stop. Drive Sideways. Hammer Time.).
19:36:49 -!- zzo38 has joined.
19:36:59 <zzo38> I am glad I fixed it by now!
19:38:28 <zzo38> Now I have to implement SUMMONTYPE_FORWARD,SUMMONTYPE_LOGIN,SUMMONTYPE_SENDTOTTY but I am unsure how to implement those
19:39:28 <zzo38> And I should document these features so that other people can use them.
19:42:55 <zzo38> Do you know where I can get help with these things?
19:53:14 <ais523> I'm afraid not
19:53:30 <ais523> are there any channels more closely related to what you're trying to do?
19:55:06 -!- augur has quit (Remote host closed the connection).
20:06:31 <zzo38> ais523: I don't know. That is why I ask?
20:06:40 <ais523> I don't know either
20:06:51 <ais523> I'm suggesting various lines of thought you might want to take
20:14:43 -!- alise has joined.
20:15:01 <alise> does anyone know of an interpreter for some high-level-ish language with very few system dependencies?
20:15:10 <alise> i.e. plain C that doesn't use many standard library functions
20:15:27 <alise> perhaps lua?
20:16:05 -!- zzo38 has set topic: Riichi. Kan. Ron. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:16:36 <alise> ais523? I ask you specifically merely because you know things :P
20:17:03 <alise> ais523: btw, I got it booting into the chroot, but for some reason making getty run not /sbin/login but a script that calls clear and then exec login ... makes it show the username screen, but hang indefinitely after entering username
20:17:04 <alise> or perhaps
20:17:05 <alise> getty &
20:17:06 <alise> getty &
20:17:06 <ais523> I have a lua interp installed, no idea how many dependencies it has
20:17:14 <alise> while true; do sleep (nearly forever); done
20:17:17 <alise> made them hang
20:17:18 <alise> go figure
20:17:20 <alise> anyway, it broke.
20:17:28 <ais523> but I think it's deliberately kept free of dependencies
20:17:32 <ais523> and ouch, is it unfixable?
20:19:12 <alise> it's fixable by process of "send back to manufacturer and hope they don't try and turn it on, or if they do assume they're oblivious to the fact that the default getty welcome message isn't there (which is likely, they're not going to have their tech team on every case)"
20:19:18 <alise> like i did last time, except there was no login screen that time
20:20:04 <alise> ais523: basically I just want an interp, any interp, to play about with an OS-that-is-almost-entirely-written-in-a-high-level-language
20:20:34 <zzo38> Maybe you should write your own high-level-language for that purpose?
20:20:44 <ais523> Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
20:20:48 <alise> I am going to, but I'd like to prototype somethin with some other language, first.
20:20:49 <alise> Simpler.
20:21:45 <ais523> I think I'm using the official Lua interp
20:22:22 -!- BeholdMyGlory has joined.
20:24:12 <alise> Video = {}
20:24:12 <alise> Video:Start = 0xB8000
20:24:12 <alise> function Video:Put(x, y, col, chr)
20:24:12 <alise> addr = Video:Start + (y * 80) + x
20:24:12 <alise> poke(addr, chr)
20:24:13 <alise> poke(addr+1, col)
20:24:15 <alise> end
20:24:17 <alise> or something
20:28:23 <AnMaster> alise, you should have left one getty outside the thing
20:28:27 <AnMaster> or something
20:28:36 <alise> yeah i just didn't think to
20:28:37 <AnMaster> and having X available
20:31:13 <alise> no x installed
20:33:34 <AnMaster> I meant on host
20:33:52 <alise> on host?
20:34:22 <AnMaster> er yeah outside the chroot
20:34:53 <AnMaster> or did you remove that?
20:35:00 <Gregor> So I wrote a general-purpose C-library generational garbage collector in 340 lines of C :P
20:35:14 <AnMaster> Gregor nice.
20:35:39 <Gregor> I haven't even gotten it to crash yet, with (limited) testing.
20:35:41 <AnMaster> Gregor, does it support there being memory it doesn't manage?
20:36:00 <AnMaster> I always found that a bit tricky with boehm-gc if you interface external libraries that does allocation
20:36:05 <AnMaster> such as most GUI stuff
20:36:41 <Gregor> It has all the same issues that Boehm does, compounded by the fact that there is now a strict line between "types allocated by GGGGC" and "types allocated by users", so you can't just malloc() one of your own things.
20:37:04 <AnMaster> GGGGC?
20:37:07 <AnMaster> what does it stand for
20:37:09 <Gregor> That's the name of it.
20:37:17 <Gregor> Gregor's General-purpose Generational Garbage Collector
20:37:25 <alise> Gregor: the C is ugly
20:37:28 <alise> make it a g
20:37:29 <Gregor> (The reason for the line is that it's non-conservative and requires write-barriers to maintain cross-generation writes)
20:37:35 <alise> garbage ... some synonym of collector starting with a g
20:37:36 <Gregor> alise: I couldn't think of a way to :P
20:37:37 <AnMaster> alise, XD
20:37:45 <alise> Grabber
20:37:46 <zzo38> I think these rules are flawed http://safalra.com/other/mahjong-rules/
20:37:48 <alise> instead of collector
20:37:57 <Gregor> alise: Except that they're not called Garbage Grabbers :P
20:38:01 <Gregor> OHYEAH ALSO
20:38:04 <alise> They are now
20:38:10 <Gregor> Unrelated: alise: What does the word "litter" mean to you?
20:38:20 <alise> call it G5 for short
20:38:23 <AnMaster> Gregor, so it will make interfacing a lot of libraries a pain
20:38:38 <AnMaster> Gregor, stuff like ncurses and so on all malloc stuff
20:38:48 <AnMaster> heck even some glibc functions do
20:38:51 <alise> Gregor: Two things; cat/other animal litter, which said animals poop in, and rubbish/crap, except with a connotation of being dropped carelessly, such as out of a car or on the street.
20:38:53 <Gregor> AnMaster: Well, malloc still works and all, it's just cross-library pointers that are obnoxious.
20:38:55 <alise> Thus, littering.
20:38:56 <alise> Why?
20:39:04 <alise> It's mainly the latter one, though.
20:39:07 <alise> Dunno why I put the first one first.
20:39:32 <AnMaster> Gregor, hm
20:39:42 <AnMaster> Gregor, can't see why
20:39:42 <Gregor> alise: In Canada, litter is strictly a synonym with garbage/rubbish/trash. The trash cans say "litter" on them. I found that ultra-confusing since that's totally not litter when you put it in the bin :P
20:40:04 <Gregor> AnMaster: You have to declare any pointers from non-managed code to managed code, since it's not conservative.
20:40:10 <coppro> Gregor: I've never heard of that; litter is definitely not a synonym for garbage out here (Alberta)
20:40:19 <Gregor> coppro: CONFUSED.
20:40:23 <Gregor> OK, in Toronto then :P
20:40:29 <AnMaster> Gregor, ah
20:40:31 <Gregor> Confirmed by Torontonian guy I know.
20:40:42 <coppro> well, it's Toronto
20:40:45 <Gregor> AnMaster: s/code/data/ there obviously.
20:40:59 <AnMaster> Gregor, so any static variables are not handled?
20:41:08 <AnMaster> iirc boehm auto add those
20:41:29 <Gregor> AnMaster: Boehm doesn't auto-add them, it scans your entire static space and conservatively guesses what might be pointers.
20:42:00 <Gregor> AnMaster: A non-conservative collector has the advantage of being fast, and the disadvantage that you have to declare ALL pointers from non-managed to managed space (that includes the stack!)
20:42:38 <Gregor> Note: GGGGC is meant to be used by a VM, not random-program-wanting-GC-X ;)
20:42:54 <alise> Liberal collectors ftw.
20:43:04 <AnMaster> Gregor, yeah I meant it auto adds the .bss and .data to the area to scan for pointers
20:43:06 <alise> Admittedly it requires a lot of bookkeeping in e.g., C, but then so does C code in general.
20:43:22 <Gregor> alise: And it's well worth it.
20:43:29 <AnMaster> Gregor, sorry if it wasn't clear
20:43:41 <alise> Gregor: So your collector is liberal? Good.
20:44:20 <AnMaster> Gregor, so does it need to know what is pointers and what is data in managed space?
20:44:37 <Gregor> AnMaster: Yes and no. You need to declare your managed types with a special macro to tell it.
20:45:07 <Gregor> But then you don't need to explicitly declare pointers later, since it knows your types.
20:45:47 <alise> Gregor: Plof!
20:45:54 <Gregor> alise: Why, what a wonderful idea! ;)
20:46:03 <alise> Holy shit, Plof's new website has the worst colours I have ever experienced!
20:46:05 <alise> Are you colour blind!
20:46:08 <AnMaster> Gregor, hm
20:46:12 <alise> My eyes runneth over... with BLOOD!
20:46:21 <Gregor> AnMaster: The point is that if you want conservative collection to make your life easier, you use Boehm. If you are willing to take on an extra burden of bookkeeping, you'll get a speed boost.
20:46:22 <alise> Gregor: Ha ha, I see you finally adopted my ideas of dropping parens from function calls and also semicolons.
20:46:23 <AnMaster> Gregor, doesn't it need to know what allocation is what type?
20:46:25 <Gregor> alise: WHY THANK YOU.
20:46:29 <alise> Gregor: This is because I am a genius.
20:46:41 <Gregor> alise: Yes. I believe that was on the order of days after you suggested them.
20:46:49 <alise> Well, yes, but you actually implemented it.
20:46:53 <Gregor> Yes.
20:46:54 <AnMaster> Gregor, link btw? didn't see any
20:47:03 <Gregor> AnMaster: http://codu.org/projects/ggggc/
20:47:11 <AnMaster> thanks
20:47:23 <Gregor> All the major restrictions are written out there.
20:47:32 <coppro> I wonder what would happen if we banned alise from thinking about Haskell for a month
20:47:44 <alise> coppro: Do I think about Haskell a lot? Not really, these days.
20:47:52 <Gregor> coppro: He would think about ML a lot? :P
20:47:56 <AnMaster> Gregor, where is the dropped parens stuff?
20:48:11 <Gregor> AnMaster: http://plof.codu.org/ :P
20:48:15 <AnMaster> Gregor, oh misread then
20:48:21 <alise> Prepare for AnMaster to complain about them.
20:48:33 <AnMaster> Gregor, thought you were doing some insane macro hack in C to avoid () in function calls XD
20:48:34 <alise> Gregor: A gripe with the specification: you have the header of a table as the last thing on a page, before all the rows.
20:48:47 <AnMaster> <alise> Prepare for AnMaster to complain about them. <-- about what?
20:48:49 <alise> There may be some TeX variable to tweak to set this to be really-bad, but I'd just insert an explicit page break beforehand.
20:48:55 <alise> AnMaster: the lack of parens
20:49:00 <AnMaster> alise, why should I?
20:49:04 <AnMaster> it is quite nice...
20:49:06 <alise> I thought you'd hate it.
20:49:14 <AnMaster> alise, this isn't lisp!
20:49:29 <Gregor> alise: Feh, sometimes LaTeX doesn't play nice >_>
20:49:31 <AnMaster> alise, anyway, lots of languages do it without parens
20:49:34 <alise> Gregor: BTW, I assume you have that "foo.bar" is the function-pointer to foo.bar, i.e. you need to do "foo.bar()" for that one case?
20:49:41 <alise> If not, what is the fnptr syntax? &foo.bar?
20:49:42 <Gregor> alise: I'm actually a little bit surprised that it doesn't do that automatically.
20:49:53 <Gregor> alise: 'fraid you do need () for that, yeah.
20:49:55 <alise> Well, it's LaTeX. TeX is obsessively tuned, LaTeX not so much.
20:50:10 <Gregor> alise: The reason is I have no types, so it has no idea whether x.y is a function or just a field.
20:50:29 <AnMaster> Gregor, dynamically typed
20:50:29 <AnMaster> ?
20:50:39 <Gregor> Even that's pushing it X-D
20:50:50 <alise> Gregor: You could have that if a method name ends in ?, then "foo.bar?" is "foo.bar? ()".
20:50:54 <alise> Gregor: That's a kludge, but meh.
20:51:00 <AnMaster> Gregor, ah, worse than bash?
20:51:00 <alise> Gregor: It would mean that you could do things like
20:51:03 <alise> if frobs.nicated?
20:51:05 <alise> instead of the awful
20:51:12 <alise> if frobs.are_nicated ()
20:51:24 <AnMaster> alise, very lispy
20:51:54 <alise> Yes, but its use in an OOP language is borrowed from Ruby. A generally awful language, but there you go; it's one nice point about it.
20:52:04 <AnMaster> mhm
20:52:12 <Gregor> NEED LUNCH
20:52:13 <Gregor> Bye
20:52:24 <alise> Gregor: Also, if you want to go even further with the Ruby ^W Scheme influence, you can have foo.bar! for mutating things too :P
20:52:28 <AnMaster> alise, I heard it was ruby on rails that was bad, not ruby as such? But I guess that is just comparatively speaking?
20:52:41 <alise> AnMaster: Ruby on Rails is indeed awful. Ruby isn't an awful language, okay, compared to current ones.
20:52:45 <alise> Just compared to the ideal, it's awful.
20:52:56 <AnMaster> ah
20:53:02 <alise> Really, no matter what metric you use, as long as it isn't totally retarded, Ruby will definitely be placed not far below Python.
20:53:09 <alise> (Note: Python zealot metric is considered totally retarded.)
20:53:18 <alise> At the most it'll be somewhere above Python.
20:53:33 <AnMaster> python on parachutes
20:53:37 <AnMaster> should like totally be done
20:54:25 <coppro> python on grails
20:54:35 <alise> Grails actually exists, for Groovy.
20:54:39 <AnMaster> coppro, not an alliteration
20:54:56 <alise> TeX on Trams
20:54:58 <AnMaster> alise, groovy? *sounds familiar, slightly*
20:55:06 <alise> groovy is one of those jvm languages.
20:55:06 <AnMaster> C on Catamarans?
20:55:10 <AnMaster> alise, ah
20:55:13 <alise> C on Caterpults
20:55:14 <coppro> but it's perfect for python
20:55:18 <alise> (TECO on Trams also)
20:55:25 <alise> Verilog on Vespas
20:55:31 <AnMaster> VHDL too?
20:55:37 <AnMaster> ELISP on?
20:55:38 <alise> sure :P
20:55:43 <alise> Lisp on Locomotives
20:55:47 <AnMaster> alise, and elisp?
20:55:59 <alise> dunno
20:56:01 <AnMaster> hm
20:56:02 <alise> http://www.coboloncogs.org/INDEX.HTM
20:56:04 <AnMaster> assembler?
20:56:14 <alise> Assembly on Aeroplanes
20:56:15 <AnMaster> assembler on asses!
20:56:17 <AnMaster> ah
20:56:31 <AnMaster> nice link
20:56:45 <AnMaster> is it actually more than a joke page?
20:56:52 <alise> no
20:57:00 <AnMaster> *phew*
20:57:19 <alise> Eiffel on ... ?
20:57:30 <AnMaster> uh
20:57:52 <AnMaster> electric cars?
20:57:53 <AnMaster> nah
20:57:57 <AnMaster> must be one word
20:58:13 <AnMaster> alise, D on?
20:58:23 <alise> D on Dromedaries
20:58:26 <AnMaster> XD
20:58:34 <alise> Haskell on ...
20:58:38 <AnMaster> hogs?
20:58:43 <alise> XD
20:58:43 <AnMaster> nah
20:58:56 <alise> APL on Arks
20:59:06 <AnMaster> alise, J on?
20:59:17 <alise> ... don't ask me!
20:59:26 <AnMaster> hm
20:59:38 <AnMaster> what else is there
20:59:49 <AnMaster> ML on?
20:59:59 <alise> ML on Mexican Slaves
21:00:04 <AnMaster> XD
21:00:34 <AnMaster> alise, smalltalk on?
21:00:40 <alise> ¯\(°_o)/¯
21:00:42 <alise> Sex Robots?
21:00:45 <AnMaster> haha
21:00:52 <AnMaster> I think we are moving away from the area now
21:01:00 <AnMaster> err, doesn't matter though
21:01:05 <AnMaster> alise, okay Forth on?
21:01:24 <AnMaster> I can't think of anything funny for it
21:01:49 <alise> Forth on ... Flatulence
21:02:01 <AnMaster> mhm
21:02:40 <AnMaster> alise, oh wait for D, dirigibles is better than dromedaries
21:02:57 <alise> Z notation on Zeppelins
21:03:06 <AnMaster> Z notation?
21:03:10 <AnMaster> what was that now again
21:03:15 <AnMaster> rings a bell, somewhere
21:03:36 <alise> Dijkstra's formalised ZFC+lambda calculus definition language thing.
21:03:39 <AnMaster> ah
21:03:40 <AnMaster> alise, BankStar on bunnies?
21:03:50 <alise> BancStar on Busoms
21:03:57 <AnMaster> busoms?
21:04:08 <AnMaster> even aspell with webster doesn't know it
21:04:32 <AnMaster> alise, could be busses though
21:05:05 <alise> *Bosoms
21:05:05 <AnMaster> INTERCAL on ...?
21:05:05 <alise> Typo.
21:05:09 <AnMaster> hm
21:05:13 <AnMaster> intercity trains?
21:05:32 <alise> INTERCAL on Imagery
21:05:35 <alise> i dunno :P
21:05:38 <AnMaster> obviously using ruby on rail gauge
21:05:47 <AnMaster> which brings us to a full circle or something
21:07:44 <AnMaster> alise, befunge on boats
21:07:47 <AnMaster> any language on L?
21:07:51 <AnMaster> except for lisp
21:08:30 <AnMaster> need something for lorries and something for llamas
21:08:36 <AnMaster> (spelling for latter?)
21:09:43 <alise> brb
21:10:00 <AnMaster> alise, to fetch the llama?
21:14:13 -!- pikhq has joined.
21:22:54 -!- coppro has quit (Read error: Connection reset by peer).
21:24:36 -!- coppro has joined.
21:26:20 -!- CakeProphet has joined.
21:26:48 <CakeProphet> Deewiant: you around?
21:27:05 <CakeProphet> or anyone who knows anything about "OTP design principles"
21:27:12 <alise> try AnMaster (ha)
21:28:43 <Deewiant> I'm around but I don't know anything about them
21:29:38 <CakeProphet> AnMaster: do /you/ know anything about OTP design principles?
21:29:55 <CakeProphet> I'm wondering if I need to actually care about them in order to reap the benefits of hot swappable code.
21:30:28 <CakeProphet> and if so, whether or not every process needs to implement a behavior or if I can just use proc_tools
21:32:35 <AnMaster> CakeProphet, I know about them. One branch of efunge uses it (not trunk). But you can get the hot swappable code otherwise too. It is just that it is easier with using the OTP stuff
21:32:57 <AnMaster> however, I recommend that ebook I mentioned. it has a lot on that, and isn't heading for bed
21:33:12 <AnMaster> of course I could know where you could find one for free. But that wouldn't be legal
21:33:19 <alise> AnMaster: That's the second funniest thing you've ever said
21:33:21 <alise> Not the second-funniest
21:33:28 <alise> But the second (funny thing)
21:33:34 <alise> I guess I should have said *funny.
21:33:41 <alise> ("and isn't heading for bed")
21:36:04 <AnMaster> CakeProphet, if not doing OTP (not even custom OTP process) then the basic idea is that calls without the module name to your own module always refer to the same version of that module. But if it has module name then it will always refer to the newest
21:36:17 <AnMaster> so calling the main loop of the new one with full module name would be how you switch over
21:36:32 <alise> ais523: could you rate an idea on the scale of 0 to 10?
21:36:34 <CakeProphet> hmmm... I might use some of OTP anyways. supervisor looks useful.
21:36:44 <AnMaster> CakeProphet, gen_server is very useful I find
21:36:52 <ais523> alise: depends on what sort of idea it is
21:36:57 <CakeProphet> from what I understand I have to use proc_tools to spawn processes that use OTP?
21:36:57 <AnMaster> CakeProphet, iirc there is some nice google talk presentation on erlang
21:37:05 <AnMaster> or whatever they call(ed?) them
21:37:49 <AnMaster> CakeProphet, well, with OTP you use stuff like gen_server:start_link or such in general to start them
21:38:17 <AnMaster> CakeProphet, also don't you mean proc_lib?
21:38:19 <alise> ais523: To publish a half-web-newspaper, half-web-magazine in both webpage and TeX (along with various outputs of TeX) formats, on some sort of regular basis, on the topics of programming language, operating systems and user interfaces research, and also general #esoteric-esque topics, tentatively titled The Untitled Document.
21:38:37 <alise> With diverse contributions thusly from various peoplefolk.
21:38:51 <AnMaster> alise, ambitious
21:38:53 <ais523> alise: it's a good idea if you can get the regular contributions in
21:39:00 <alise> AnMaster: that's not terribly ambitious
21:39:00 <ais523> but it seems vaguely unlikely that that would happen
21:39:16 <AnMaster> yes, getting people to write for it
21:39:16 <alise> "Write some stuff, get other people to write some stuff, do this on a semi-regular type basis, then put it on the internet"
21:39:33 <alise> Meh, I'll just use a bunch of Mexican slaves
21:39:44 <AnMaster> CakeProphet, anyway proc_lib is for when not using standard OTP behaviours like gen_server or gen_fsm
21:39:50 <AnMaster> CakeProphet, which I used exactly once
21:39:50 <alise> It would also contain links to interestingish stuff too, so I could just pad the thing out with them :P
21:40:02 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
21:40:20 <AnMaster> CakeProphet, gen_server is in general very nice, it was just something that needed running 100% of the time (the main befunge threads) that used custom OTP process
21:41:35 <AnMaster> gen_server is kind of event driven. As in, in the natural state it waits for a message and then runs the callback code
21:41:48 <AnMaster> sure you can set a timeout of 0, but that is rather hackish
21:41:55 <alise> haha -- classic quote from Programming Perl (ais523 might enjoy this), at the bottom of a summary of scalars and "Is a name for":
21:42:10 <alise> Typeglob * [Example] *struck [Is a name for:] Everything named struck
21:42:35 <CakeProphet> AnMaster: hmmm... so when writing code that can be hotswapped I need to prefix all function calls with ?MODULE?... that doesn't sound right.
21:43:05 <CakeProphet> oh... just the "main loop" one.
21:43:11 <AnMaster> CakeProphet, no, only the switchover place. In general you don't want to switch anywhere in a module. Rather something like sending a message "switch now"
21:43:11 <ais523> alise: heh
21:43:13 <CakeProphet> the point where the change should happen
21:43:14 <CakeProphet> aaaaah
21:43:15 <AnMaster> to make it "controlled"
21:43:15 <CakeProphet> got it.
21:43:39 <CakeProphet> so when would this message be sent?
21:43:49 <CakeProphet> by me?
21:43:53 <CakeProphet> the programmer? in a shell?
21:43:55 <ais523> reminds me of the way that in the SCO vs. Novell litigation, you can tell whether all the lawyers and judges think of SCO as one word or three, by looking to see whether they put "a" or "an" before phrases starting with "SCO"
21:44:09 <AnMaster> CakeProphet, well, depends. OTP kind of solves this for you ;P
21:44:12 <AnMaster> amongst other things
21:44:21 <CakeProphet> ah... so that's why it's easier to use OTP.
21:44:46 <alise> ais523: "An SCO", definitely.
21:44:47 <alise> Ess cee oh.
21:44:50 <CakeProphet> I could see myself using gen_server and supervisor... so I guess I'll go ahead and put the effort into learning how it works.
21:45:01 <AnMaster> CakeProphet, one of several reasons. It handles some corner cases with calls between processes where one dies during the call and such in a graceful way too. Something that could be tricky to get right
21:45:03 <ais523> alise: that's how I do it too
21:45:10 <AnMaster> at least without experience
21:45:11 <alise> ais523: because there are two companies of note: the Santa Cruz Operation and The SCO Group.
21:45:19 <alise> (differing capitalisation of "the" intentional)
21:45:23 <ais523> yes
21:45:33 <alise> does "The SCO Group" even officially expand to "The Santa Cruz Operation Group"? I doubt it
21:45:48 <alise> indeed not
21:45:49 <AnMaster> CakeProphet, so do you want that ebook?
21:46:02 <AnMaster> CakeProphet, the stuff about the strict type checking is *way* outdated in it though
21:46:06 <AnMaster> but nice in other places
21:46:10 <alise> ais523: really, if I was doing this from the start I would call them, say, TSG and Santa Cruz to disambiguate.
21:46:19 <ais523> yep
21:46:29 <ais523> I've seen oldSCO vs. tSCOg on Groklaw
21:46:34 <ais523> which are pretty unambiguous
21:46:42 <CakeProphet> AnMaster: I'll look at it. Something that explains std libraries and OTP well would be beneficial... but I understand the language basics.
21:46:47 <alise> ais523: SCOld
21:46:56 <AnMaster> CakeProphet, well okay *fiddles with DCC*
21:47:02 <alise> ais523: groklaw appears to think that SCO cannot possibly do anything now, but you said they could make a ridiculous appeal
21:47:03 <alise> who's right?
21:47:14 <ais523> alise: groklaw think they could do a ridiculous appeal too
21:47:17 <alise> OK
21:47:18 <ais523> they just think it has no chance of succeeding
21:47:24 <ais523> and I'm inclined to agree
21:47:24 <alise> ais523: I bet they will, though, just to drag this on
21:47:34 <alise> they can still drag it on indefinitely at this point, right?
21:47:38 <ais523> they have nothing to lose, they paid the lawyers in advance
21:47:45 <alise> also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court
21:47:50 <alise> ais523: haha, wow, really?
21:47:54 <alise> most underpaid lawyers ever
21:47:58 <ais523> yes, the lawyers have been losing money for years
21:48:01 <CakeProphet> AnMaster: I'm not sure if I know how to use DCC in this client. I'll read some helpfiles.
21:48:02 <alise> although I guess they were paid to just write fun bullshit for 7 years
21:48:06 <alise> which is, you know, not a bad job
21:48:13 <ais523> PJ apparently /hopes/ they appeal, just to financially punish their lawyers further
21:48:25 <alise> <alise> also, AnMaster is wondering if there is a limit on appeals, and if they can make it reach the Supreme Court
21:48:54 <ais523> and in theory it could be appealed up to the level below the supremes
21:49:07 <alise> let's hope that happens :)
21:49:09 <ais523> the supremes themselves would have to accept the appeal for it to happen, and there surely isn't a hope in hell of that happening
21:49:10 <AnMaster> hm
21:49:13 * AnMaster prods router
21:49:16 <CakeProphet> AnMaster: so in using OTP... would it also be a good idea to use all the application/release file stuff? Is that actually how it helps you with hotswapping?
21:49:24 <ais523> Novell did appeal SCO's appeal to the supremes, though
21:49:34 <ais523> so it may end up there in any case, via a different method
21:49:38 <alise> So, spreadsheets are interesting pieces of software.
21:50:13 <AnMaster> CakeProphet, does it work?
21:50:42 <AnMaster> CakeProphet, *prod*
21:51:09 <CakeProphet> says it can't connect
21:51:11 <AnMaster> CakeProphet, well the application release stuff is supposed to help with hot swapping in an enterprise environment I think.
21:51:14 <AnMaster> CakeProphet, strange.
21:51:51 <CakeProphet> I might utilize if it actually becomes an open source project or something... but I doubt that will happen.
21:52:07 <alise> ais523: awesome
21:52:20 <alise> ais523: how much money does SCO not have by now?
21:52:28 <ais523> nobody knows, except presumably SCO
21:52:36 <ais523> they're several months behind on their mandatory financial statements
21:52:45 <ais523> and even the ones they have released don't make a whole lot of sense
21:52:53 <AnMaster> CakeProphet, I haven't tried hot swaping code in befunge yet. So who knows. it should work though. And release thing will help for upgrading "production" systems
21:53:04 <AnMaster> should be possible without it during development, but never tried
21:53:04 <CakeProphet> AnMaster: what about the application resource file? Is that how I would create portable binaries?
21:53:25 <alise> ais523: do they actually have money, though?
21:53:37 <ais523> they got a loan a while back
21:53:38 <AnMaster> CakeProphet, you won't get rid of the vm if that is what you mean. Why should you? You can created scaled down erlang stuff with just the parts needed
21:53:41 <ais523> from a former board member
21:53:46 <ais523> so probably, although they're running through it pretty quickly
21:53:50 <alise> what kind of idiot would loan SCO money?
21:53:52 <CakeProphet> AnMaster: also, you could try DCC again.
21:53:56 <AnMaster> CakeProphet, kay
21:54:03 <ais523> alise: the terms of the loan said that if SCO defaults, he gets everything they own
21:54:04 <CakeProphet> AnMaster: Portable in the sense that it packages the VM with it
21:54:15 <alise> you know what upsets me? a bunch of the companies that existed before tSCOg were cool
21:54:29 <ais523> so the theory is that they're planning to divert the money to various insiders, then default and get all the rest of the money to insiders too
21:54:31 <alise> wasn't it caldera that released a bunch of the unix source iirc?
21:54:35 <ais523> and the board member gets his money back that way
21:54:37 <CakeProphet> AnMaster: yeah, doesn't work. I assume I'm doing the right thing by just doing DCC GET
21:54:41 <alise> In 2002, Caldera joined with SuSE Linux, Turbolinux and Conectiva to form United Linux in an attempt to standardize Linux distributions.[16] Later that year, CEO Ransom Love left the company and was replaced by Darl McBride, and the company changed its name to The SCO Group.
21:54:47 <AnMaster> CakeProphet, don't know what client you have
21:54:52 <CakeProphet> irssi
21:54:58 <CakeProphet> command-line client
21:55:01 <AnMaster> CakeProphet, I switched to xchat for this since ERC doesn't do DCC
21:55:08 <AnMaster> and I double checked all settings
21:55:13 <AnMaster> long live bouncers
21:55:16 <alise> community/mailx-heirloom 12.4-3
21:55:16 <alise> MUA command line tool (mailx)
21:55:16 <alise> aur/heirloom-doctools 061114-1 (4)
21:55:16 <alise> The Heirloom Documentation Tools consist of a modern roff suite.
21:55:16 <alise> aur/heirloom-sh 050706-2 (1)
21:55:17 <alise> Traditional sh [jsh(1)], derived from OpenSolaris code.
21:55:22 <alise> Not as comprehensive as I'd like...
21:55:24 <AnMaster> and I'm sure it should not interfere with things
21:55:44 <AnMaster> CakeProphet, and yeah I know nothing about dcc in irssi
21:56:09 <CakeProphet> try one more time. I turned auto-get on just to see if it makes any difference.
21:56:32 <AnMaster> CakeProphet, now?
21:56:40 <CakeProphet> lolnope
21:56:59 <CakeProphet> I love how file transfer protocols inside messaging protocols never work.
21:57:07 <alise> [[The distribution contains a script to convert OpenDocument files to troff input. This allows troff to act as typesetting application in a production scheme where authors hand in office documents.]]
21:57:12 <alise> Interesting the mix of old & new contained in Heirloom.
21:57:37 <AnMaster> CakeProphet, hm got any other way to send it? I don't like the idea of putting it up anywhere, apart from not having a host for it
21:58:37 <CakeProphet> for large files I usually use yousendit.com
21:58:52 <AnMaster> CakeProphet, this isn't something I want to put anywhere public
21:59:02 <CakeProphet> well it's not technically publically releasing
21:59:06 <CakeProphet> it's specifically for sending to one person
21:59:11 <CakeProphet> but
21:59:15 <AnMaster> CakeProphet, also site times out for me
21:59:17 <CakeProphet> it /can/ be accessed by a link
21:59:20 <alise> filebin.ca
21:59:30 <alise> randomised filenames, so
21:59:31 <AnMaster> alise, see about public...
21:59:38 <alise> AnMaster: /msg the url then
21:59:47 <AnMaster> CakeProphet, set up an ftp server?
21:59:51 <AnMaster> or ssh shell
21:59:54 <AnMaster> for scping it
21:59:56 <alise> it's not like the apache logs will reveal anything more than a probably-changed-by-the-time-some-crazy-law-enforcement-catches-up-with-you IP
21:59:58 <alise> ok i give up
22:00:04 <AnMaster> (locked down to only do file transfer)
22:00:09 <alise> CakeProphet: get it elsewhere, AnMaster will have you setting up a paranoia-ready system which will take years
22:00:24 <AnMaster> CakeProphet, you saw the filename at least?
22:00:37 <CakeProphet> AnMaster: to be honest I have never had a need to do that before and thus don't know how.
22:00:41 <CakeProphet> yes.
22:01:22 <AnMaster> I got it in 2007. Found it lying on a cd in a _bay_. Very water resistant I guess..
22:01:43 <CakeProphet> yousendit.com works for me btw. Basically what you do is you upload the file and then it emails me a link to it. The link is garbled so it's not really "public"... though technically it is.
22:01:45 <AnMaster> unlikely to still be there
22:01:55 <AnMaster> CakeProphet, hm.
22:02:04 <CakeProphet> dunno why it would be timing out
22:02:07 * CakeProphet just accessed it.
22:02:18 <AnMaster> CakeProphet, seems to be redirecting to itself now
22:02:51 <AnMaster> well I need to sleep. sorry. Try finding that ebook elsehwhere. Otherwise I will be around tomorrow (European time) for trying again
22:03:28 <CakeProphet> alrighty/
22:05:47 <CakeProphet> I once attempted to write a Python MUD server that would have been ridiculous had I ever completed all the ridiculous and unnecessary features.
22:06:56 <CakeProphet> In particular... I got it to a point where I could serialize everything to a file, and dynamically edit the source code of functions and recompile them.
22:07:16 <CakeProphet> so it would have been like MOO in Python.
22:13:20 <alise> ``abc''
22:13:28 <HackEgo> No output.
22:13:46 -!- kar8nga has joined.
22:15:58 <alise> ais523: the intercal documentation is texinfo, right?
22:16:07 <ais523> yes
22:16:11 <ais523> well, the new documentation
22:16:15 <ais523> the old documentation's *roff
22:16:22 <alise> " Your IP address, 91.105.125.91, has been recorded as possibly belonging to a spammer, robot, or some such abomination. If you wish to confirm that you are not a human being, please go to this page where you will be added to our blacklists. Thank you."
22:16:24 <ais523> with vague attempts to make it work with more than one implementation
22:16:25 <alise> *"Your
22:16:30 <alise> I hope that doesn't do anything unless I click that link :-)
22:16:38 <alise> ais523: presumably ugly *roff, too
22:16:49 <ais523> it's not awful, but it's not perfect either
22:16:52 <alise> "# Download C-INTERCAL via gopher (IPv6 only)."
22:16:59 <alise> You made my dream a reality! Or at least, CLC did.
22:17:45 <alise> ais523: bug report
22:17:46 <alise> http://c.intercal.org.uk/manual/io61sroi.htm#convickt
22:17:52 <alise> `...' quotes are not being converted
22:17:53 <HackEgo> No output.
22:17:55 <alise> or is that everywhere?
22:17:58 <alise> if so, get that fixed!
22:18:19 <zzo38> Next time you have to figure out the way to write the INTERCAL documentation in INTERCAL??
22:18:22 <ais523> alise: if it's being output as text, texinfo does indeed output as `...'
22:18:30 <alise> it's HTML
22:18:33 <alise> zzo38: ouc
22:18:35 <alise> *ouch
22:18:41 <ais523> alise: in HTML too IIRC, its HTML output isn't very good
22:18:47 <alise> ais523: remember when I tried to spec up that semantic documentation format?
22:18:52 <ais523> zzo38: the CLC-INTERCAL licence agreement used to require compilation
22:19:05 <ais523> but it triggered all sorts of deep recursion errors, and in the end became unmaintainable
22:19:56 <alise> ais523: you invented OIL, didn't you?
22:20:07 <ais523> yes
22:20:16 <alise> ais523: you're crazy
22:20:29 <ais523> the optimiser was getting unmaintainable
22:20:32 -!- augur has joined.
22:20:39 <ais523> it's easier to maintain the DSL for writing optimisers in, plus an optimiser written in it
22:20:43 <ais523> than it was to maintain the old hardcoded mess
22:21:01 <ais523> try reading the output of compiled OIL some time; the C source used to look much like that, with more meaningful variable names
22:25:17 <alise> http://upload.wikimedia.org/wikipedia/commons/4/48/Openbsd37withjwm.png
22:25:22 <alise> So you were looking for an easy system to illegally access?
22:26:54 * alise recalls when he ran Windows 95 for a few days in a fullscreen VM
22:27:02 <alise> iirc someone mentioned it recently
22:27:05 <alise> probably ais523 remembers it
22:27:17 <ais523> I do
22:28:21 <alise> do you remember what I thought of it? I forget my exact opinions
22:30:25 * Sgeo_ is considering paying $5 on occasion to access CT for a month
22:30:33 -!- zzo38 has quit (Remote host closed the connection).
22:30:48 <Sgeo_> Not continuous $5/month, CT isn't valuable enough to me to do that, but it's nice to visit every once in a while
22:31:54 * alise considers what existing programs constitute an office suite that doesn't suck
22:32:56 <alise> word processor: ?; not latex, for quicker things that you want to see immediately -- spreadsheet: ? -- presentation: latex with beamer, or some html5-based thing or something
22:36:59 <alise> I have implemented Liang's hyphenation algorithm in Emacs Lisp. Up to now I can type M-x hyphen-show-hyphens <RET> and Emacs displays the syllables of the word at point in the echo area. The package supports multiple languages, hyphenation exceptions, and all the other features known from TeX. What still is to do is to merge word hyphenation into Emacs' filling modes–which is not that easy
22:37:01 <alise> *easy.
22:37:03 <alise> so close, yet so far :(
22:41:28 <alise> ais523: heh, refill-mode set to full justification + longlines-mode + refill-mode = you can't type two spaces in a row
22:42:07 -!- jabb has quit (Quit: leaving).
22:55:39 <alise> ais523: heh, that netbook I was hacking yesterday, they seem to have replaced it with a version running windows ce
22:55:43 <alise> even better!
22:56:15 <alise> "The UbiSurfer delivers the real web, fast and FREE!" ;; for some definition of fast
22:56:28 <alise> The UbiSurfer downloads web pages faster than any other mobile netbook connected on any 3G network and with full graphics and Java TM support. ;; ok, so it does 3g now.
22:57:09 <alise> Nope, gprs still.
22:58:50 <alise> "The device provides a full QWERTY keyboard and uses a touchpad mouse pointer instead of touch screen."
23:01:04 <alise> So I designed a networking infrastructure that is utterly secure and has no problems with identifying the destination and source of a packet. It is also completely impractical.
23:01:38 <alise> "Win A UbiSurfer Netbook" ;; but why would you WANT to?
23:03:06 -!- lament has quit (Ping timeout: 260 seconds).
23:06:49 <alise> I wonder what data structures make spreadsheets efficient.
23:07:19 <alise> You don't need dependents, i.e. cells this cell depends on, really, but instead dependers: i.e. a function from a cell to all cells that mention it -- for recalculation
23:19:34 <CakeProphet> some kind of crazy rocket science!
23:20:14 <CakeProphet> but yeah... the next logical step in all of this spreadsheet talk is...
23:20:28 <CakeProphet> can you implement a simple turing machine in a spreadsheet?
23:20:35 <ais523> easily
23:20:41 <ais523> if you're allowed circular references
23:20:49 <CakeProphet> I don't think most allow that.
23:20:52 <ais523> or even without, if you can range-fill infinitely both down and right
23:20:54 <ais523> and most do allow that
23:21:04 <CakeProphet> yes.
23:21:08 <ais523> at least, I've used four different spreadsheet programs and they all allow it, although often they need an option
23:23:29 <CakeProphet> so I'm wondering how I can make a gen_server a supervisor
23:23:40 <CakeProphet> for some reason I'm having a very hard time reasoning about how to use OTP the right way.
23:30:08 -!- oerjan has joined.
23:32:14 <oerjan> <alise> the amount of times i've read a log where oerjan, oklopol or even ais523 just give up and resort to facepalming when talking to you...
23:32:24 <oerjan> i didn't think i did it _that_ often...
23:32:33 * ais523 facepalms on general principles
23:32:50 <alise> oerjan: you've done it quite a few times before
23:32:53 <alise> only when talking to AnMaster though :p
23:33:01 <oerjan> you don't say.
23:33:19 <alise> turing machine in spreadsheet is easy if you can make indirect addresses
23:33:25 <alise> assuming cells default to 0
23:34:14 <oerjan> otoh i certainly agree that AnMaster is the one i tend to associate with that sort of thing. and maybe zzo38, but in a different way.
23:36:14 <CakeProphet> ...I've been reading too much OTP documentation. My brain is melted.
23:36:19 <oerjan> (zzo38 tends to look like he assumes everyone _else_ understands him)
23:37:25 -!- coppro has quit (Read error: Connection reset by peer).
23:44:59 * Sgeo_ :( at Internet Archive's slowness
23:45:22 * Sgeo_ is down a rabbit hole chasing a file that probably doesn't exist
23:47:29 <oerjan> the internet past is disappearing down a black hole...
23:50:32 <oerjan> <alise> Haskell on ... <-- helicopters? hovercrafts?
23:51:43 <CakeProphet> ha
23:51:45 <CakeProphet> C on Cocaine
23:59:02 -!- kar8nga has quit (Remote host closed the connection).
2010-06-13
00:00:41 <Sgeo_> Hm, 850 results
00:01:02 <Sgeo_> Are there any APIs for programmatically searching through the web archive?
00:01:59 <Sgeo_> "With Avatar now in Post Production,"
00:02:02 <Sgeo_> BULLSHIT
00:02:08 <Sgeo_> [Not the Cameron Avatar]
00:02:14 <Sgeo_> [Nor the Airbending one]
00:05:45 -!- tombom has quit (Quit: Leaving).
00:12:04 <CakeProphet> hmmm... actually.
00:12:11 <CakeProphet> gen_fsm might make for a good object proces
00:12:16 <CakeProphet> MUD object, that is
00:25:17 -!- MigoMipo has quit (Read error: Connection reset by peer).
00:27:05 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:36:12 <alise> CakeProphet: so basically everything in the mud is an asynchronous message-passing finite state machine?
00:36:24 <alise> Including inert pieces of information? Sounds to me like you've implemented STUFF.
00:40:57 <oerjan> alise: no no, basically everything in the mud is touched by his noodly appendages!
00:41:18 <alise> Sexy.
01:04:45 -!- Sgeo_ has quit (Ping timeout: 245 seconds).
01:04:52 -!- Sgeo has joined.
01:11:29 -!- Oranjer has left (?).
01:12:56 <CakeProphet> alise: No I'm not really implementing STUFF... that's just how Erlang works in the first place.
01:13:25 <alise> Right, but in MOOs /everything/ would be one of those processes, in Erlang you have other-stuff too.
01:13:34 <alise> Just saying... even your data is STUFF.
01:14:01 <CakeProphet> ...I guess?
01:14:14 <CakeProphet> It's all rather arbitrary.
01:14:42 <CakeProphet> but I wouldn't really say it's unified. Not everything is going to be gen_fsm
01:15:15 <CakeProphet> specifically the MUD data.
01:15:22 <CakeProphet> would be finite state machines.
01:15:27 <Sgeo> Hm
01:15:36 <Sgeo> http://oddessey.org/
01:15:59 <Sgeo> Lie, or really long wait and suspiciously unupdated copyright notice?
01:17:08 -!- selckiku has quit (Remote host closed the connection).
01:20:15 -!- FireFly has quit (Quit: swatted to death).
01:20:23 <CakeProphet> Erlang's documentation is really confusing.
01:22:32 <Gregor> Sgeo: "The Project LLC"
01:22:33 <Gregor> lawl
01:23:23 <Sgeo> Why does everything associated in any way with Blaxxun appear to be lietastic?
01:23:41 <Sgeo> Oddessey, Cytonia's Avatar, The CVN claiming that Blaxxun was A-OK
01:25:05 <Sgeo> Oh, and I don't rememeber if Hawk ever stated that Cybertown would never be a mandatory-subscription service, but if he did, that was a lie
01:25:33 <Sgeo> I remember seeing a proposal for optional subscription
01:28:13 <Sgeo> Hm, this person is IVN's representative in Cybertown
01:28:18 <Sgeo> I almost want to leave hatemail
01:30:45 -!- augur has quit (Ping timeout: 240 seconds).
01:30:46 <Sgeo> Another IVN lie: Silhouette. Some thing that would allow video broadcast into Cybertown's 3d world.
01:46:19 -!- Oranjer has joined.
01:46:46 <pikhq> Gah, I'm looking at Oleg's site again.
01:46:54 <pikhq> I may soon feel inferior.
01:47:02 <alise> You didn't feel inferior from the first page?
01:47:07 <alise> Your ego is too big!
01:47:22 <pikhq> The first page is a mere index.
01:47:32 <pikhq> Not quite enough to cue a full inferiority complex.
01:47:37 <alise> Well, half then.
01:47:41 <alise> Second page should seal it.
01:47:47 <pikhq> Click any one of those links, though, and it's sealed.
01:48:44 <alise> Even the email link.
01:48:55 <pikhq> Yes, even that. Somehow. :P
01:49:12 <alise> You realise that whatever you typed it'd seem amateurish.
01:49:45 <alise> EVEN http://okmij.org/ftp/Venus.html
01:50:12 <alise> Hmm, there actually is no email link
01:50:32 -!- augur has joined.
01:52:37 * oerjan never thought he'd laugh at a picture of Angela Merkel http://i.imgur.com/GsC20.png
01:52:57 <oerjan> (well technically several pictures)
01:53:03 <CakeProphet> hmmmm
01:53:21 <CakeProphet> I bet I could construct appup files for Erlang using information from version control.
01:53:56 <CakeProphet> since, in simple cases, you're just specifying which modules to reload, add, and remove.
01:57:23 -!- Oranjer has left (?).
02:13:17 * Sgeo tends to feel inferior to everyone here
02:38:45 -!- coppro has joined.
02:43:22 <alise> i'm just reading oleg randomly
02:43:26 <alise> it's like a random walk in awesome
02:43:32 <CakeProphet> Sgeo: por que?
02:44:06 <CakeProphet> it probably just means you're not as full of yourself as some of us.
02:45:50 <alise> well, there are certainly some pretty awesome people in here
02:46:09 <alise> not all of us win £25,000 prizes for proving an unsolved problem in CS (even if it's one only wolfram cares about)
02:49:26 -!- GreaseMonkey has joined.
02:52:28 <alise> If that succeeds, and if you can afford to consume perhaps several days of
02:52:28 <alise> cpu time and over a hundred megabytes of disk space, try
02:52:28 <alise> make giant-test
02:55:34 <Gregor> Sounds like a pretty giant test.
03:03:04 <alise> OVER A HUNDRED MEGABYTES OF DISK SPACE!!
03:03:12 <alise> IN 1992!
03:03:15 <alise> :P
03:04:13 <alise> > (compile-nqthm) ; takes a few minutes on a contemporary workstation
03:04:13 <alise> ; compilation finished in 0:00:00.215
03:05:06 <bsmntbombdood> ...
03:05:34 <alise> ... howso
03:05:52 <bsmntbombdood> obsessing about how much faster it is gets old
03:06:49 <alise> not obsessing
03:06:50 <alise> just amused
03:07:16 <alise> a few minutes on a good workstation to less than a third of a second on a low-end machine is pretty good for 18 years
03:07:26 <oerjan> bsmntbombdood: well he has to use up the time he saved, somehow...
03:08:10 <Sgeo> alise, linky?
03:08:42 <alise> ftp://ftp.cs.utexas.edu/pub/boyer/nqthm/index.html
03:08:53 <alise> it's the boyer-moore prover that automatically proved e.g. goedel's incompleteness theorem
03:09:10 <alise> well i guess not totally automatically
03:09:32 <Sgeo> I thought it was proved without computer?
03:11:18 <alise> duh
03:11:30 <alise> that doesn't mean it can't be proved again
03:13:30 -!- augur has quit (Ping timeout: 245 seconds).
03:14:41 <alise> A quite long-winded proof that a*b = b*a:
03:14:42 <alise> http://pastie.org/1002224.txt?key=vht0kabp2wpqpkjyzcwspg
03:20:08 -!- Oranjer has joined.
03:23:25 <Sgeo> alise, do you ever feel nostalgic?
03:23:56 * Sgeo needs some advice
03:24:19 <CakeProphet> :o
03:24:20 <alise> What advice?
03:24:29 <CakeProphet> are you sure you want advice from alise?
03:24:41 <oerjan> i remember feeling nostalgic once. good times.
03:25:00 <Sgeo> As you know, I'm working on a remake of a game. I'm worried that certain differences might be like giving the nostaligic persons the middle finger
03:25:29 <Sgeo> So far, for me, the most nostalgic-inducing place is the Altar, which has music that's similar, but not the same, as the original
03:25:33 <Sgeo> Thigns like that
03:25:40 <Sgeo> And that that game had magic, this one doesn't
03:25:50 <Sgeo> Things will be in different locations, etc.
03:26:01 <alise> my advice is that you have serious issues with nostalgia
03:26:04 <alise> also that it doesn't matter at all
03:26:05 <Sgeo> I can't really make a judgement, because I've spend a portion of time in this new place
03:26:15 <alise> and you're probably the only person who would take disruption of nostalgia as a middle finger
03:27:07 <Sgeo> Hm. I guess when the alpha opens to the public, we'll find out
03:28:02 -!- augur has joined.
03:29:01 <Sgeo> At the very least, this portion of the game seems to satisfy my nostalgic cravings, despite the music and appearance being different
03:29:07 <Sgeo> The ground's the same snow white
03:30:00 -!- lament has joined.
03:37:35 -!- coppro has quit (Ping timeout: 240 seconds).
03:38:52 -!- coppro has joined.
03:39:42 -!- lament has quit (Ping timeout: 276 seconds).
03:40:28 -!- coppro has quit (Remote host closed the connection).
03:46:10 <alise> pikhq: why doesn't oleg suck at even one thing?
03:48:51 <Sgeo> What's Oleg's website?
03:48:55 <alise> http://okmij.org/ftp/
03:49:06 <alise> Note how the site contains FUCKING EVERYTHING.
03:50:37 <alise> there's everything from xml libraries in scheme to stuff about theorem proving to mathematics to type system hackery to c++ stuff to unix pipes to fixed-point combinators to using sendmail as a turing machine to ...
03:50:42 <alise> ... operating systems to ...
03:55:36 <alise> I wonder what Scheme Oleg uses.
03:56:08 -!- Mathnerd314 has joined.
04:16:10 <alise> 4:15; ho hum.
04:16:12 <alise> sleep soon, presumably.
04:18:39 * alise yawns
04:24:17 <alise> I would have thought Sgeo would be with the pitchforks to get me to sleep.
04:26:08 <Sgeo> Was AFK
04:26:21 <Sgeo> Also, I kind of didn't go to sleep last night >.>
04:26:26 <Sgeo> Going to go to sleep early tonight
04:26:28 <Sgeo> Already ate
04:26:47 <Sgeo> Also, go to sleep! Don't turn into me! Although you're kind of worse than I am
04:27:02 <Sgeo> Is your computer in your room? Move it elsewhere?
04:27:08 <alise> No! I like it in my room :|
04:27:11 <alise> And meh, it's only 4:26.
04:27:16 <alise> I can get up late tomorrow, right?
04:28:21 <Sgeo> Idea: Either set an earlier time for yourself to go to sleep, or move the computer out of your room
04:28:45 <Sgeo> How much do you really get done when you know you should be sleeping?
04:29:17 <Sgeo> Moving wakeful time earlier, to when you should be awake, gives you time where you'll allow yourself to do stuff that takes time
04:29:52 <Sgeo> It was kind of dizzying today when I was up at 6AM and had the whole day ahead of me
04:31:41 <Sgeo> I made a rule for myself for today: No coding after dinner
04:34:10 -!- gm|lap has joined.
04:35:15 -!- GreaseMonkey has quit (Ping timeout: 240 seconds).
04:36:10 <alise> > (words (read-line))
04:36:10 <alise> Take the lamp.
04:36:10 <alise> '("take" "lamp")
04:36:11 <alise> yay
04:36:24 * alise makes them symbols for easier comparison
04:36:50 -!- coppro has joined.
04:37:37 <alise> > (words "Take the lamp.")
04:37:38 <alise> '(Take lamp)
04:37:42 <alise> (Take will compare equal with take)
04:38:10 <alise> oh, or not
04:39:03 <alise> > (words "Take the lamp.")
04:39:03 <alise> '(take lamp)
04:39:04 <alise> there
04:42:13 <alise> Sgeo: gimme some junk words to disregard in an adventure game's commands apart from "the"
04:42:44 <Sgeo> that
04:42:50 <Sgeo> this
04:42:58 <Sgeo> Or you could pay attention to those, I guess
04:43:08 <Sgeo> But that would be an .. interesting thing to force on the user
04:43:32 <Sgeo> Although I guess "There is a blue lamp here. There is a gold lamp far away" "> take this lamp"
04:43:40 <Sgeo> Not forcing, and yet still useful
04:43:57 <alise> should I have "A and B" split into A \n B?
04:43:58 <alise> I think not
04:44:02 <alise> you never know what A might do
04:47:15 <alise> 1> (words "Kill that rabbit")
04:47:16 <alise> '(kill rabbit)
04:47:16 <alise> 1> (words "Take rabbit's lamp")
04:47:16 <alise> '(take rabbit s lamp)
04:48:15 <oerjan> eviscerate lagomorph
04:50:44 * Sgeo wants to take a nap. It's almost midnight
04:50:53 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
04:50:53 <alise> it's 4:50
04:50:56 <alise> oh god it is daylight
04:50:59 <alise> help
04:51:14 <oerjan> YOU ARE DOOMED. DOOMED. *MWAHAHAHA*
04:51:30 <Sgeo> alise, move computer out of room
04:51:39 <Sgeo> I may have to do that, I'm trying to avoid needing to do that
04:52:36 <alise> to where?
04:52:40 <alise> and no, i value my privacy. also my computer
04:55:54 <Sgeo> So to avoid needing to do that, force yourself to go to sleep sooner
04:55:58 <Sgeo> I'm going to sleep soon
04:56:10 <alise> http://pastie.org/1002281.txt?key=f74rclssjuwkkqytvfkx6g Some hypothetical adventure code. Really, it should have a notion of objects in a room...
04:58:53 * Sgeo is tired
04:59:07 * Sgeo hopes he didn't give himself cancer by not sleeping last night
04:59:16 <alise> you gave yourself cancer.
05:01:06 <alise> well friends, soon would be a good time to bed
05:01:26 <Sgeo> Night alise
05:01:45 <oerjan> good night alise
05:01:51 <alise> not right now!
05:01:52 <alise> just soon
05:01:52 <alise> >_>
05:02:14 -!- ChanServ has set channel mode: +o oerjan.
05:02:20 <oerjan> RIGHT NOW
05:02:25 -!- coppro has joined.
05:03:12 <alise> oerjan: like that would stop me
05:03:30 -!- oerjan has set channel mode: -o oerjan.
05:07:12 <alise> well good night
05:07:23 -!- alise has quit (Quit: Leaving).
05:13:08 -!- Gracenotes has quit (Ping timeout: 240 seconds).
05:41:26 -!- gm|lap has quit (Ping timeout: 252 seconds).
05:44:02 <pikhq> Dear God, Rock Band 3 is crazy.
05:44:13 <pikhq> Gregor: They're shipping actual instruments for that game.
05:44:18 <pikhq> *Actual musical instruments*.
05:44:44 <Gregor> How musical
05:45:07 <pikhq> Granted, they're all MIDI instruments (literally; they have MIDI ports), but still.
05:45:44 <oerjan> next up: an FPS shipped with actual weapons
05:45:45 <Gregor> How musical
05:46:52 * oerjan afks again
05:51:25 -!- augur has quit (Ping timeout: 245 seconds).
05:57:40 -!- MizardX has quit (Ping timeout: 240 seconds).
06:00:08 <pikhq> The guitar controller is either a 102 button monstrosity... Or a guitar that *happens* to have sensors in the fretboard and MIDI and USB out.
06:06:07 <pineapple> Gregor: there is a 2 octave keyboard coming with it
06:06:29 <pikhq> And an adapter to let you use a real keyboard...
06:06:37 <pikhq> (or any arbitrary MIDI device, really)
06:06:59 <Gregor> So in other words, it's sufficiently musical that the ninnies who play that game will cry.
06:07:11 <Gregor> Also, a two-octave keyboard is a joke.
06:07:38 <pikhq> Just "pro mode". The other modes (which you may now call "noob modes", IMO) are as previously.
06:08:17 <pikhq> The keyboard is a joke, yeah. But the guitar thing... Is an *actual freaking guitar*. And played as such.
06:08:33 <pikhq> It's a fake-instrument type game that I can actually kinda respect.
06:10:54 -!- Oranjer has left (?).
06:11:16 -!- augur has joined.
06:16:53 -!- ais523 has quit (Remote host closed the connection).
06:36:56 -!- coppro has quit (Remote host closed the connection).
06:59:12 -!- rus_bear has joined.
06:59:29 <rus_bear> greetings, strangers!
07:00:34 <pikhq> Greetings be unto ye.
07:04:26 <rus_bear> Do you talk about esoteric here? And what is that, what do you think?
07:04:54 <pikhq> Nominally, we discuss esoteric programming languages.
07:05:08 <pikhq> In practice, we discuss just about everything but esotericism.
07:06:31 <rus_bear> what languages are esoteric? It's AMAZING *_*
07:06:46 -!- Gregor has set topic: Crystal healing, astrology, oracles, divine and occult knowledge, esoteric programming languages, ethereal and astral projection, government conspiracies to deny common paranormal events | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
07:07:03 <rus_bear> I know Pascal, C++ and Basic, Are they esoteric?
07:07:05 * oerjan swats Gregor -----###
07:07:10 <Gregor> ^^
07:07:11 <pikhq> Brainfuck, Whitespace, Befunge, INTERCAL...
07:07:13 <rus_bear> =)
07:07:19 <rus_bear> Wow!
07:07:33 <rus_bear> Why are they esoteric?
07:08:32 <pikhq> The primary criteria seems to be being decidedly *odd* and not practical.
07:09:38 <rus_bear> Why do you need them, if they're not practical?
07:09:47 <pikhq> ... Need?
07:09:55 <rus_bear> yep...
07:10:06 <pikhq> Esoteric programming languages are *amusing*.
07:10:20 <oerjan> ^bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
07:10:20 <fungot> Hello World!
07:10:28 <pikhq> The point is not to be needed, but rather to be *interesting*.
07:10:30 <rus_bear> okay, i get it=)
07:10:34 <rus_bear> thanks
07:10:48 <pikhq> Arguably, portions of C++ also fit this criteria.
07:11:06 <pikhq> (see: Boost)
07:11:28 <pikhq> (namely, the source code of Boost; the API presented by Boost isn't quite so esoteric. But there be magic within.)
07:11:42 <rus_bear> I think c++ is practical language, cuz a lot of people use it to write serious apps
07:11:58 <pikhq> In spite of the language, sure.
07:12:44 <rus_bear> c++ is a powerful language, I want to learn Python now...
07:12:54 <pikhq> C++ is an unimplemented language.
07:13:06 * oerjan whispers: haskell haskell haskell
07:13:13 <rus_bear> why&
07:13:14 <rus_bear> ?
07:14:02 <pikhq> C++ has so *much* in the language that it's damned near impossible to even write a *parser* for it, much less a full implementation.
07:15:08 <rus_bear> do you make apps with c++?
07:15:28 <pikhq> Same way one does in any other language; one simply writes code.
07:15:35 <oerjan> pikhq: there was this proof you couldn't parse perl at compile-time, is there something similar for C++?
07:16:06 <pikhq> oerjan: I've not seen such a proof, but this *is* true of C++.
07:16:24 -!- coppro has joined.
07:17:13 <pikhq> As determining the actual parse of a possible-declaration depends upon determining if something is a type, and to do that you need to solve the halting problem.
07:17:47 <pikhq> Or actually execute the compile-time lambda calculus. I mean, type system.
07:17:53 <oerjan> hm
07:19:48 <coppro> are we discussing perl?
07:19:58 <pikhq> Primarily C++.
07:20:02 <coppro> oh
07:20:17 * coppro looks at logs
07:20:21 <pikhq> Perl has parse-time Perl, not compile-time lambda calculus. :)
07:21:12 <coppro> ah, yes
07:21:59 <coppro> yeah, C++ is unparseable in the sense that Perl is
07:22:15 <coppro> but for a different reason
07:22:30 <pikhq> Except slightly less so, as there *is* a greater distinction between the compile-time and run-time semantics in C++ than Perl.
07:22:40 <coppro> right
07:23:10 <Gregor> Bah. My GC is faster than Boehm on binary-trees but slower on gcbench.
07:23:13 <pikhq> (the compile-time semantics of C++ have absolutely no side effects, so at least one can perform the parsing *statically*)
07:24:15 <pikhq> If C++ templates had side effects, it'd be nearly impossible to compile.
07:24:37 <pikhq> Hmm. This sounds like a good idea. Anyone got an in with the standards committee? :P
07:24:47 <coppro> I do!
07:24:55 <pikhq> Awesome.
07:25:16 <coppro> and actually, compiling templates do have one side effect, which is that the template is then compiled
07:25:34 <pikhq> Ah, yes. I'm not really considering that much of a side effect, though.
07:25:47 <pikhq> I'm thinking more along the lines of having full IO capabilities.
07:25:51 <coppro> :D
07:25:55 <coppro> you're an evil evil man
07:26:35 <coppro> I think dgregor would fail me in GSOC if I suggested that
07:28:34 -!- coppro has left (?).
07:28:45 -!- coppro has joined.
07:28:49 <coppro> oops
07:29:20 <coppro> hmm... ethereal projection, was that in a splatbook?
07:29:49 <pikhq> Almost certainly.
07:30:20 <coppro> true
07:30:31 <coppro> eh, good enough for me!
07:30:31 <oerjan> what's a splatbook
07:31:19 * oerjan performs a google divination
07:31:30 <coppro> http://en.wikipedia.org/wiki/splatbook
07:31:43 <pikhq> oerjan: A "splatbook" is a expansion book for an RPG, particularly D&D, particularly a poorly thought-out one.
07:32:01 <oerjan> coppro: that's the same page i'm currently looking at. you're psychic!
07:32:41 <coppro> and the term has evolved to mean what pikhq said
07:33:17 <pikhq> D&D 3.5 has some *really* stupid expansions out there.
07:33:52 <coppro> yeah
07:34:08 <pikhq> Creating ways to achieve nigh-infinite stats from level 3...
07:34:33 <coppro> I think they've got it down to 2
07:34:39 <coppro> or maybe that's just the omniscient one
07:34:49 <pikhq> Down to 1 if you count "Pazuzu Pazuzu Pazuzu".
07:35:05 <coppro> haven't heard that one
07:35:07 * coppro googles
07:35:29 <pikhq> Summon Pazuzu, wish for a candle of wish, IIRC.
07:35:50 <coppro> oh, an infinite wish thing?
07:36:22 <pikhq> Something like that.
07:40:02 -!- rus_bear has left (?).
07:40:13 <coppro> lolunrealfail
07:40:36 <oerjan> fiannafail
07:41:15 <coppro> lolo
07:41:21 <coppro> lollolfail
07:43:16 -!- pikhq has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:38 -!- augur has quit (Remote host closed the connection).
08:01:52 -!- augur has joined.
08:05:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
08:20:16 -!- lament has joined.
08:42:22 -!- lament has quit (Ping timeout: 260 seconds).
09:27:12 -!- oerjan has quit (Quit: Good night).
09:30:04 -!- lament has joined.
09:33:19 -!- augur has quit (Read error: Connection reset by peer).
09:33:37 -!- augur has joined.
09:35:12 -!- augur has quit (Remote host closed the connection).
09:35:23 -!- augur has joined.
10:18:17 -!- FireFly has joined.
10:23:30 -!- tombom has joined.
10:44:08 -!- coppro has quit (Remote host closed the connection).
10:54:52 -!- augur has quit (Quit: Leaving...).
11:01:43 -!- augur has joined.
11:02:21 -!- lament has quit (Ping timeout: 260 seconds).
11:06:25 -!- augur has quit (Client Quit).
11:18:11 -!- augur has joined.
11:30:38 -!- BeholdMyGlory has joined.
11:53:03 <AnMaster> <CakeProphet> Erlang's documentation is really confusing. <--- is it?
11:53:21 <AnMaster> <CakeProphet> I bet I could construct appup files for Erlang using information from version control. <-- cool idea
12:02:30 -!- relet has joined.
12:02:46 -!- MigoMipo has joined.
12:11:55 -!- BeholdMyGlory has quit (Ping timeout: 265 seconds).
12:15:15 -!- BeholdMyGlory has joined.
12:17:36 -!- relet has quit (Quit: Leaving.).
13:12:47 -!- Gracenotes has joined.
13:25:02 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
13:25:49 -!- chickenzilla has left (?).
13:27:09 -!- Quadrescence has joined.
13:41:03 -!- relet has joined.
13:44:52 -!- sebbu2 has joined.
13:46:36 -!- sebbu has quit (Ping timeout: 264 seconds).
13:46:36 -!- sebbu2 has changed nick to sebbu.
14:00:13 -!- hiato has joined.
14:08:25 -!- alise has joined.
14:21:18 -!- hiato has quit (Quit: underflow).
14:44:33 -!- poiuy_qwert has joined.
14:45:08 <AnMaster> huh, strange file: /etc/init.d/hwclock.sh.dpkg-obsolete
14:49:17 -!- MizardX has joined.
14:49:21 -!- MizardX has quit (Changing host).
14:49:22 -!- MizardX has joined.
14:50:59 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
15:21:11 -!- kar8nga has joined.
15:24:33 <alise> ;l
16:02:07 <alise> heh. [[Doctor Fun]] is been proposed for deletion
16:20:43 -!- relet has quit (Read error: Connection reset by peer).
16:32:17 -!- lament has joined.
16:59:30 <alise> d.
17:17:26 <Sgeo> Submitting a YouTube video to Reddit doesn't imply that I made it, does it?
17:29:23 <alise> ...No?
18:11:11 -!- alise has set topic: Crystal healing, astrology, oracles, divine and occult knowledge, esoteric programming languages, ethereal and astral projection, government conspiracies to deny common paranormal events | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:11:13 <alise> http://upload.wikimedia.org/wikipedia/en/1/1e/Windows_Chicago_%28build_73%29_boot_screen.gif
18:11:22 <alise> Microsoft CHICA Lens Flare GO
18:11:35 <alise> http://upload.wikimedia.org/wikipedia/en/a/ad/Winchicagodesktop.png
18:11:44 <alise> http://upload.wikimedia.org/wikipedia/en/7/71/Windowschicago73.png
18:13:11 -!- oerjan has joined.
18:13:33 <alise> hi oerjan
18:13:46 <oerjan> g'day alise
18:13:52 <alise> b'day
18:14:19 <oerjan> it's your birthday?
18:15:47 <alise> no
18:15:56 <alise> that would be the 22nd of august
18:16:07 <oerjan> ah
18:16:36 <oerjan> <- 28th of june
18:16:51 <alise> ok; i will promptly forget that
18:17:04 <oerjan> a very perfect date *cackles evilly*
18:26:18 <alise> oerjan: stop cackling.
18:26:23 <alise> you have cackled a sufficient amount.
18:26:54 <oerjan> i stopped several minutes ago. ok to be honest i never really started.
18:35:40 <alise> "Firefox on Amiga: Timberwolf Goes Alpha"
18:35:44 <alise> aww
18:35:47 <alise> it's amigaos 4
18:35:47 <alise> lame
18:38:48 * Sgeo wonders if he can chart things with Wolfram Alpha
18:40:53 <Sgeo> Or I'll just try a spreadsheet
18:42:01 <alise> chart what exactly
18:43:09 <cheater99> hello
18:43:10 <cheater99> what's up
18:43:26 <cheater99> you can chart things with alpha, but it's quite crap
18:52:07 -!- oerjan has quit (Quit: Later).
19:05:44 -!- olsner has joined.
19:07:02 -!- coppro has joined.
19:07:31 <alise> hi coppro
19:08:39 <coppro> hi
19:11:02 * alise is on his every-so-often Install Windows in a VM and then Strip It Down Until It Screams in Pain, then Cackle
19:11:04 <alise> I AM APPLYING NIHILISM TO THE PROBLEM OF WHAT COMPONENTS TO INCLUDE IN AN OPERATING SYSTEM
19:11:12 <alise> DELETE DELETE DELETE
19:13:35 * alise ponders whether his instinct that firewalls should BURN should be now carried out in this mission
19:14:07 <coppro> why do you have an instinct that firewalls should burn?
19:14:16 <alise> Because EVERYTHING MUST BE DELETED
19:14:27 <alise> ...but mostly because I'm pretty sure that:
19:14:42 <alise> - software firewalls are useless for blocking outgoing connectns by malicious software, obviously - and if you have such software you're fucked anyway, and
19:15:04 <alise> - if you don't have any ports on which vulernable software is running, and you aren't trying to block external access to something (which could be done in better ways), you don't need to block incoming connections
19:15:10 <alise> ALSO, I HAVE ONLY ONE MEGABYTE OF RAM.
19:15:12 <alise> DELETE DELETE DELETE
19:16:24 <coppro> why can't you block outgoing connections?
19:16:31 <alise> well, i'm talking about windows here
19:16:39 <coppro> or do you just mean user-mode can't do it?
19:16:48 <alise> and because disabling some random software in windows is about as easy for a virus as... anything
19:16:55 <coppro> ah
19:17:17 <alise> besides, if you have software that's trying to take over the world through your internet connection, your virus scanner is sort of broken.
19:17:56 <alise> it's actually interesting how windows becomes not-totally-abhorrent if you basically remove 90% of it
19:18:25 <alise> last time i did this i just went nuclear with nlite and removed pretty much everything; the installed windows was something like 200-400 megs of disk and ran extremely quickly and non-crashy
19:20:52 <alise> language idea: typed graphs
19:21:00 <alise> Everything is a graph. Types are basically rules defining what connections are valid.
19:22:32 <coppro> interesting
19:23:10 -!- pikhq has joined.
19:23:11 <alise> what I read on reddit right before switching back and seeing that:
19:23:12 <alise> [[I apologize. It's just that, when someone says "Interesting" as a one-word sentence, it's usually sarcastic.]]
19:23:38 <coppro> ha
19:23:44 <coppro> (with me it's not)
19:24:55 * alise deletes all links in the Games menu apart from FreeCell, Minesweeper and Solitaire
19:29:44 <alise> coppro: the language idea was inspired bya previous comment on that thread :P
19:30:03 <alise> saying that basically every data structure is just an efficient representation of a certain subset of graphs defined by some constraints
19:30:18 <alise> *remove basically
19:32:59 * alise downloads tweakui
19:33:41 -!- ais523 has joined.
19:34:21 <alise> hi ais523
19:34:52 <ais523> hi alise
19:35:20 <ais523> btw, I only realised recently that the name "alise" was the one picked by the random number generator for my last-but-one Neverwinter Nights character
19:35:44 <alise> ha!
19:36:25 <coppro> huh?
19:36:57 <alise> http://www.activewin.com/articles/general/article_29.html <-- opera unveils version 3.5 of opera!
19:36:59 <alise> coppro: huh huh?
19:37:21 <coppro> which RNG?
19:38:18 <alise> presumably, Neverwinter Nights has one included.
19:38:46 <fizzie> I seem to recall it does.
19:39:38 <fizzie> For nostalgymatic reasons I've always used the rinkworks.com namegen, I believe it was the first one I saw.
19:39:47 <alise> I WILL UNINSTALL EVERY SINGLE COMPONENT THAT WINDOWS CONTAINS
19:43:25 <alise> now, opera, i am sure you can display a proper menu, not a ghastly opera logo.
19:43:30 <alise> come on. you used to be good
19:44:06 <alise> there we go
19:45:04 <ais523> *random name generator
19:45:21 <ais523> and yes, it works quite well, although it's a bit repetitive for gnomes and not nearly silly enough
19:45:31 * ais523 holds to the point of view that gnome names should be hideously embarassing to say
19:47:44 <fizzie> ais523: http://www.rinkworks.com/namegen/ has a bit more settings.
19:48:05 <ais523> meh, you don't really need an ideal name
19:48:08 <ais523> just a unique one
19:48:12 <fizzie> "Mushy Insults" at least sound embarrassing enough.
19:49:12 <ais523> definitely
19:49:53 <fizzie> (And the Pokemon name generator is very realistic. "Oh, my Faceyzard has evolved to Lumpechu." (Disclaimer: I know nothing about poke-men except what I've acquired through cultural osmosis.))
19:50:10 <ais523> fizzie: whereas I participated in the UK nationals
19:50:23 <ais523> I lost in the second round, due to playing someone good and making a hilariously bad prediction
19:50:30 <ais523> but I was sixth on the online pracice server for a while
19:50:41 <ais523> still, those names sound decent for facetious Pokémon names
19:50:51 <fizzie> Dumbirtle.
19:51:04 <fizzie> (Some of them sound a bit stupid.)
19:51:11 <ais523> I think it's just mixing insults with the second half of real Pokémon names
19:52:22 <alise> Emuntangangeld
19:52:28 <alise> Hinessghaugha
19:52:31 <alise> Achustkalbanlor
19:52:34 <alise> Unttanmosvesy
19:52:49 <alise> All perfectly cromulent names.
19:53:51 <alise> "Names With Apostrophes". The world does not need this option.
19:58:07 <Deewiant> Sure it does.
19:58:23 <Deewiant> It's not a decent Thri-kreen name unless it has at least two apostrophes.
19:59:59 <fizzie> Deewiant: [2010-06-13 02:31:21] Tweeted: About NetHack: it was locked. he took the tub, and resurrection. "need we wait until morning then?" asked conan, eyeing his companion... (fungot)
20:00:00 <fungot> fizzie: you lay golden eggs?!
20:00:10 <fizzie> fungot: Not that I know of, no.
20:00:11 <fungot> fizzie: oh no, there can't be comments in pointy? ( 200 0))) a) 1)
20:00:34 <Deewiant> :-D
20:00:39 <Deewiant> Conan's companion
20:00:54 <fizzie> I was tempted to add "suggestively" before the ... there.
20:15:00 <AnMaster> fizzie, any pictures from your trip btw?
20:15:20 <alise> ^source
20:15:20 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
20:17:02 <AnMaster> fizzie, the one through Europe I meant. Haven't yet seen any pretty photos from it
20:18:16 <fizzie> AnMaster: http://zem.fi/g2/v/Travel/2010/Interrail/ but there's nothing especially highlight-worthy, and the panoramas are very "autopano-sift + optimize once" messy, since I had approximately no time at all to get the pictures ready before we had to present them to wife's family, and I probably can't motivate myself to fix them now.
20:18:31 <AnMaster> fizzie, hm
20:18:31 <fizzie> E.g. there's only one cat.
20:18:56 <fizzie> Also no comments in the photos.
20:19:02 <AnMaster> fizzie, where are the panos? Or are those thumnails cropped?
20:19:12 <AnMaster> (or is there more than one page?)
20:19:18 <fizzie> All thumbnails are cropped to squares, and panoramas are mixed everywhere.
20:19:22 <AnMaster> ah
20:19:25 <fizzie> And all those are subfolders.
20:19:32 <fizzie> There's around 700-800 photos in there.
20:19:42 <AnMaster> oh wait, those are subdirs
20:19:53 <AnMaster> fizzie, augh, no easy way to find the panos :/
20:20:08 <fizzie> I can provide a list if you want.
20:20:17 <AnMaster> fizzie, thanks, if it isn't too much trouble for you
20:20:28 <fizzie> (The file names are distinctive.)
20:20:51 <AnMaster> fizzie, any way to view more than the default number of images on a single page?
20:21:05 <alise> Question: Why do user interfaces require a hover time before displaying a submenu? It's annoyingly slow, and seemst o have no benefit.
20:21:24 <AnMaster> alise, which user interfaces?
20:21:30 <alise> *seems to
20:21:35 <alise> AnMaster: all WIMP ones
20:21:44 <alise> starting with maybe late mac os or windows 3.1/95
20:22:05 <fizzie> AnMaster: I don't think so, no. There's also no full-screen slideshow thing.
20:22:09 <AnMaster> alise, well okay, I guess xcircuit isn't. It was the one I checked since I happened to have that open
20:22:31 <fizzie> AnMaster: http://pastebin.com/HqeAUf5h has the filenames, just open any random picture and substitute the obvious parts in the URL, it should work.
20:23:08 <AnMaster> fizzie, yes open random image, then make a short one liner that wgets the files to a dir and then I can display them with eog :)
20:23:41 <fizzie> You'll need to do some link-following for that, because the actual full-size image files have the gallery2 ID in the path.
20:23:47 <fizzie> It's just the view-page URLs that are predictable.
20:24:27 <AnMaster> eh
20:24:32 <AnMaster> fizzie, okay that's annoying :/
20:24:40 <AnMaster> ah, wget can fetch resources of the image too
20:24:45 <AnMaster> err of the page
20:25:38 <fizzie> I'm not sure that really helps, since the full-size page is not directly on the page, it's just linked (by the "full size" icon).
20:25:44 <alise> ais523: is there some nice historical reason for why the recycle bin is so rubbish?
20:25:51 <alise> please say yes
20:25:58 <AnMaster> fizzie, and full size icon is not full size=
20:26:08 <ais523> alise: I don't know of one
20:26:29 <alise> ais523: but it's so awful, nobody could have /intentionally/ designed it that way, could they?
20:26:35 <AnMaster> fizzie, okay now time for the heavy tools. curl, grep and sed
20:26:42 <ais523> alise: what specifically is so bad about it?
20:26:46 <fizzie> AnMaster: Of course not; the full-size images are huge (compared to the scaled low-quality versions) and that'd be a whole lot of bandwidth waste to make everyone download those.
20:26:59 <alise> ais523: the fact that the easiest way to empty it is to go to the desktop, right click on the icon, and select empty?
20:27:03 <AnMaster> fizzie, ah.. hm
20:27:06 <alise> and that if you add it to quick launch this option disappears?
20:27:16 <alise> so you basically have to switch to the desktop for no reason at all?
20:27:22 <fizzie> AnMaster: It's not really designed to be wgettable, and I don't mind that; my upload pipe is tiny anyway.
20:27:25 <ais523> alise: ouch, that seems bad
20:27:26 <alise> also, the fact that by default it prompts you if you want to empty the recycle bin, when the recycle bin basically IS the prompt
20:27:33 <fizzie> AnMaster: Not all of them are probably worth viewing closely, anyway.
20:27:44 <ais523> in Ubuntu, there's an empty option on the right-click for it on the taskbar
20:28:05 <AnMaster> fizzie, wtf.. the full size link is javascript
20:28:07 <AnMaster> fizzie, evil
20:28:07 <alise> ais523: of course, you could click on your quick launch icon to open the recycle bin... and then click empty... but oops, if you disable the shitty helpful-folder-sidebar thing there is no such thing! ctrl+a, delete, yes confirm for god's sake, close the window
20:28:12 <alise> ais523: tl;dr aaaaargh
20:28:17 <alise> I'm just going to disable it, I think
20:28:20 <AnMaster> fizzie, I'm not writing an interpreter for this in a bash one liner!
20:28:33 <AnMaster> wait, maybe not
20:28:35 * alise sends the recycle bin shortcut to the recycle bin
20:29:01 <fizzie> AnMaster: The "href" field in there is just fine, there's just some useless javascript there too.
20:29:13 <fizzie> AnMaster: (I don't know what's up with that; I didn't make the gallery.)
20:29:43 <AnMaster> hm
20:30:15 <fizzie> Anyway, yes, you want to fetch the link with title="Full Size" for all those image-view pages, that shouldn't be too much work.
20:30:38 <fizzie> (There will be two of them, just pick the first.)
20:32:12 <alise> why is chris okasaki so cool
20:33:49 <AnMaster> curl ${fbasedir}/Folder1/interrail-0009-0018.jpg 2>/dev/null | grep -m 1 -B 1 "popImage" | pcregrep -o '(?<=href=")[^"]+(?=")'
20:33:51 <AnMaster> fizzie, what about that :D
20:34:09 <fizzie> I'd grep for the 'title="Full Size"' bit, it's more logical.
20:34:14 <fizzie> That might well work too, though.
20:34:19 <AnMaster> fizzie, turns out it is on a different line
20:34:22 <AnMaster> as in, three lines
20:34:30 <AnMaster> I blame either curl or hidden CR or such
20:34:37 <fizzie> Well, -B 2 then.
20:34:45 <AnMaster> fizzie, yeah but mine works too
20:35:01 <fizzie> Apparently, but it might stop working if I add some other popImage-enabled link!
20:36:12 <fizzie> The full-size images are scaled to not so very high resolution either.
20:37:27 <AnMaster> yay
20:37:32 <AnMaster> now it generates wget commands
20:37:41 <AnMaster> fizzie, hm
20:38:16 <AnMaster> so lets see if this works
20:38:26 <AnMaster> fizzie, you have slow upload
20:38:37 <AnMaster> much worse than my ADSL even
20:38:42 <AnMaster> I get about 80 kb/s up
20:38:43 <fizzie> I've said that no less than at least twice in this very same conversation.
20:39:02 <AnMaster> fizzie, hm I might have missed it in the panoramic enthusiasm!
20:39:08 <fizzie> I get about 100 kB/s, but there's other things going on at the moment.
20:40:06 <AnMaster> damn, forgot to replace the test link with $i in the loop
20:40:09 <AnMaster> *fixes*
20:40:25 <fizzie> 60 kb/s + one Skype call for other stuff; I don't know how wide a Skype call is.
20:40:27 <AnMaster> here we go
20:40:39 <alise> coppro: any idea what a set of constraints on graph connections would look like?
20:40:55 <alise> like, i'm not sure how I'd express "not cyclic" without having it as a primitive
20:41:05 <Sgeo> Grr
20:41:17 <Sgeo> How do I make labels be associated with datapoints in Gnumeric
20:41:38 <alise> Sgeo: like howso
20:41:48 <alise> giving cells a name?
20:41:59 <Sgeo> Giving coordinates which I'm plotting a name
20:41:59 <AnMaster> fizzie, btw http://sprunge.us/GOUR is the script
20:42:16 <alise> Sgeo: like howso
20:42:19 <Sgeo> The name thing in the data doesn't seem to do anything
20:42:23 <alise> define name
20:42:26 <alise> also, what @ http://zzo38computer.cjb.net/c
20:42:27 <coppro> alise: yeah, that would have to be a primitive
20:42:31 <Sgeo> I want a label to show up by each plotted point
20:42:38 <coppro> no cycles on connection "foo" probably
20:42:45 <alise> coppro: i'm trying to think what kind of constraints produces a list
20:42:48 <alise> hmm
20:42:54 <alise> every cell has only one connection
20:43:12 <alise> do we need a special start node?
20:43:19 <alise> graphs don't usually come with preconceptions of such
20:43:22 <coppro> no, every cell has zero or two outgoing connections;
20:43:34 <coppro> I think you'd have to express scopes as nodes
20:43:36 <alise> oh, right
20:43:36 <AnMaster> fizzie, oh and try saving as progressive optimised jpeg in gimp, gives the smallest files. If you didn't use gimp try the command line tool jpegoptim, it tries to (loselessly) decrease the file size by optimising the huffman encoding stage iirc
20:43:40 <coppro> so the global scope would be a root node
20:43:44 <alise> outgoing connections?
20:43:47 <AnMaster> fizzie, but gimp manages that even better IME
20:43:47 <alise> so directed graphs
20:43:52 <coppro> of course it's directed
20:43:54 <coppro> although...
20:43:57 <alise> acyclic
20:43:57 <alise> every cell has zero or two outgoing connections
20:43:57 <alise> every cell has zero or one incoming connection
20:43:59 <AnMaster> and yeah progressive jpeg tends to be smaller for some reason
20:44:00 <coppro> not directed would be weird
20:44:02 <AnMaster> it is the reverse for pngs
20:44:09 <alise> coppro: I think that produces only lists
20:44:23 <coppro> alise: Right, you'd need a means for other incoming connections so other things could reference it
20:45:02 <AnMaster> fizzie, hm in Folder1/interrail-0009-0018.jpg, is something weird up with the horizon?
20:45:15 <alise> coppro: ok:
20:45:19 <AnMaster> fizzie, or is it just the projection?
20:45:20 <alise> acyclic
20:45:22 <alise> every cell has zero or two outgoing connections
20:45:23 <alise> every cell has zero or one internal incoming connection
20:45:31 <alise> coppro: well actually, no
20:45:34 <alise> coppro: we treat every structure as a complete graph
20:45:40 <alise> then drop the constraints when it's in another environment, so to speak?
20:45:41 <alise> I guess
20:45:42 <alise> maybe not
20:46:06 <fizzie> AnMaster: Like I said, I haven't really spent any time fixing those. I think I clicked the "straighten" button on that one, but that's a bit random. It does look a bit screwed up.
20:46:07 <Sgeo> alise, I want to label each individual point of data with its own name
20:46:18 <fizzie> Maybe a bit more than just a bit.
20:46:20 <Sgeo> Maybe I have to go to OpenOffice.org Calc?
20:46:30 <alise> gnumeric can do everything iirc :P
20:46:37 <AnMaster> fizzie, ah hm nice panos though :)
20:46:54 <Sgeo> alise, then tell me how to give each individual point of data a label
20:46:56 <fizzie> These are all again with no tripod or anything, so the source material is on the difficult side, especially for the automagic tools.
20:47:18 <alise> Sgeo: jfgi
20:47:20 <AnMaster> fizzie, where is the image with golden stuff on the roof?
20:47:34 <AnMaster> fizzie, that is interrail-0898-0900.jpg
20:47:42 <fizzie> AnMaster: There's a nice phantom foot in that one. It's from Versailles.
20:47:53 <coppro> alise: That would work, but then it's less exciting I think
20:47:58 <AnMaster> fizzie, ah
20:48:32 <AnMaster> fizzie, there are doppelgangers in a few other ones too
20:48:43 <AnMaster> fizzie, though more than the legs usually
20:48:45 <fizzie> Yes, lots of people there.
20:49:40 <fizzie> As for "golden stuff", just look at http://zem.fi/g2/v/Travel/2010/Interrail/Folder6/interrail-0897.jpg.html
20:49:43 <AnMaster> fizzie, is 08949-0870.jpg 360 degrees?
20:49:49 <fizzie> It's a bit... overdone for my tastes.
20:50:02 <fizzie> Is it the one with Louvre's glass pyramid? If so, yes.
20:50:04 <AnMaster> fizzie, oh I agree. I prefer simplistic design.
20:50:31 <AnMaster> fizzie, ah yes indeed that one
20:51:09 <AnMaster> fizzie, where is the cottage garden? 1228-1230.jpg?
20:51:33 <fizzie> Still Versailles.
20:51:43 <fizzie> All "Folder6" images are from there.
20:51:45 <AnMaster> same for 1353-1358?
20:51:51 <AnMaster> ah hm * checks folder*
20:52:12 <AnMaster> nop that one was not versailles then
20:52:19 <AnMaster> folder 7?
20:52:25 <fizzie> That's Folder7, and it's the view through our hotel window in Paris.
20:52:46 <fizzie> Rue Therese, plus a few accents in the vowels here and there.
20:53:01 <fizzie> Thérèse, apparently.
20:53:26 <fizzie> (Is the name of the street there.)
20:53:35 <AnMaster> fizzie, the panos in Folder1 are from?
20:53:58 <AnMaster> Stockholm or Helsinki I guess?
20:54:10 <fizzie> Helsinki coastline, the Hki-Sto boat was just leaving.
20:54:14 <AnMaster> ah
20:54:46 <AnMaster> fizzie, the last one (Stickholm) looks very strange in the other right edge of the sky
20:54:55 <AnMaster> also, is it 180° or?
20:55:20 <fizzie> 180 and a bit, there was a bit of a pier.
20:55:34 <AnMaster> fizzie, a pier in the sky?
20:55:53 <AnMaster> ah
20:55:58 <fizzie> No, from the coast, so it's a bit more than 180 degrees because of that.
20:55:59 <AnMaster> wait you meant from a pier
20:56:02 <AnMaster> ah
20:56:32 <AnMaster> oh and I think it needs a tiny bit of photometric correction, the sky changes shade in some places. Apart from the strange bit at the right side
20:56:47 <fizzie> Yes, it does.
20:57:09 <fizzie> It's just that the automatic low-dynamic-range vari-exposure fixed-wb settings made it really horrible, and I was in a hurry.
20:57:17 <AnMaster> fizzie, but what caused the bit on the right? It can't be due to exposure or white balance can it?
20:57:58 <AnMaster> fizzie, I tend to not worry about WB until I get to the computer. After all with raw you you don't have to worry about it until at the computer :)
20:58:27 <AnMaster> fizzie, anyway, very nice all of them :)
20:58:42 <AnMaster> fizzie, I didn't notice any seams except when it went through someone moving about
20:59:24 <AnMaster> fizzie, also, how much ram does stitching the 360° one take?
20:59:27 <fizzie> There's a huge gap in the 360-degree one, near the left edge of the image file. It would probably be easily fixable with better control points.
21:00:20 <fizzie> The right-most source image in the Stockholm one is a bit over-exposed, the sky's been clipped close to white, which probably explains why it lacks color in the stitch.
21:00:27 <AnMaster> fizzie, huge gap? hm? oh maybe you need to optimise the FOV too then
21:00:35 <AnMaster> and the lens parameters
21:00:44 <Sgeo> "labels clearly need to be implemented, and are just waiting for a
21:00:44 <Sgeo> volunteer."
21:00:48 <Sgeo> That was in 2008
21:01:06 <fizzie> "Gap" in the "does not match" sense, not in the "missing data" sense. That was confusingly put, I admit.
21:01:09 <Sgeo> This copy of Gnumeric dates from before then, I think :/
21:01:36 -!- Sgeo_ has joined.
21:01:50 -!- Sgeo_ has quit (Client Quit).
21:01:58 <AnMaster> fizzie, for my 360° panos to line up I tend to first need to optimise for only position, then for position and FOV, then for that + barrel and so on, and finally all those + x/y shift. For some reasons the results of doing it all at once tends to be rather bad
21:05:03 <fizzie> I have a similarish procedure too.
21:05:52 <AnMaster> [1303881.820036] usb 5-2: new full speed USB device using uhci_hcd and address 14
21:05:52 <AnMaster> [1303886.973661] usb 5-2: string descriptor 0 read error: -71
21:05:52 <AnMaster> [1303886.977680] usb 5-2: can't set config #1, error -71
21:05:57 <AnMaster> wtf is up with my card reader
21:06:19 <AnMaster> huh, now it works
21:06:22 <AnMaster> another usb port
21:07:04 <fizzie> The old card reader I have flatly refused to grok a SDHC card. It does plain SD cards just fine.
21:07:17 <AnMaster> fizzie, well I don't have any such cards
21:07:20 <fizzie> Had to move half of those photos through the camera's USB connection nonsense.
21:07:21 <AnMaster> I just have CF
21:07:45 <AnMaster> fizzie, in fact my camera is faster. this thing is USB 1.1, and camera is USB 2
21:07:48 <fizzie> CF is the one that makes sense, but smaller cameras tend to like small-form-factor cards more.
21:07:53 <AnMaster> but it tends to train the battery of the camera
21:07:54 <AnMaster> very fast
21:08:22 <fizzie> The N900 USB connection is pretty fast (USB 2.0, most likely) but the camera is slow. And battery-drainy too.
21:09:36 * AnMaster hopes the recent fixes in the lego thingy fixes the tendency for one of the critical controlling parts for the pneumatics to come loose after about 170°
21:09:58 <alise> coppro:
21:10:38 <alise> list(A) := {
21:10:38 <alise> acyclic
21:10:38 <alise> every cell has [] or [A, list(A)] outgoing connections
21:10:38 <alise> every cell has [] or [list(A)] internal incoming connections
21:10:38 <alise> }
21:10:43 <alise> coppro: forgot it had to be typed :P
21:12:27 <Sgeo> ARGH
21:13:14 <Sgeo> I'm in OpenOffice.org Calc. If I choose "Data series in columns", the points look correct, but have one nonsensical label. If I do "Data series in rows", the labels are good, but the points are nonsensical
21:13:16 * Sgeo cries
21:13:39 <AnMaster> fizzie, btw I found out that my camera's clock is slightly slow. I set it last time about 3 years ago. It was slow by 12 minutes. Not too bad really
21:16:27 <fizzie> Sgeo: Just choose only the data points for plotting, then in the "data series" wizard step you can customize more ranges for labels.
21:16:47 <fizzie> AnMaster: I'm not sure when I set this (I think we got the camera in 2007 or so), but it's now 3 minutes ahead of the correct time.
21:19:03 <Sgeo> The "Data labels" thing doesn't seem to be functioning as I would assume it would
21:19:49 <fizzie> If you mean labels of the data series, if you don't want to have to click those manually for each, the "first row/column as label" checkboxes are also worth a try. The whole process is not very intuitive, and I don't really know what sort of thing you want, so maybe I won't try guessing any more.
21:20:30 <Sgeo> I want one different label for each point in the series
21:21:29 <fizzie> The "data labels" thing only shows the values in labels, I guess.
21:25:31 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
21:26:00 <Sgeo> I think if I reorganize my data in a clinically insane way, I can get what I want
21:26:35 <fizzie> I can sort-of do that in gnuplot if your data is sensibly formatted, but I don't know about oocalc.
21:26:36 -!- kar8nga has quit (Remote host closed the connection).
21:26:38 <AnMaster> fizzie, hm
21:26:55 <AnMaster> fizzie, my camera is way older than that though
21:27:00 <Sgeo> Is there a pastebin for spreadsheets?
21:27:07 <fizzie> Google Docs. :p
21:27:19 <fizzie> (Doesn't it have some sort of spreadsheety thing?)
21:27:59 * Sgeo wonders if Google Docs may do the charting he wants
21:28:26 <fizzie> Someone else wanted custom data labels in oocalc, and ended up doing the graphing in R instead. Heh.
21:29:02 <Sgeo> o.O
21:29:58 <fizzie> You could get it done in oocalc if it allowed per-data-series setting of "categories" (because you can get those as data labels), but categories (as far as I can tell) are a graph-wide setting.
21:30:33 <AnMaster> damn that fix did not work
21:30:56 <alise> i suggest using oleo :P
21:31:00 <Sgeo> http://spreadsheets.google.com/ccc?key=0Aha-onC9NxdadGxYbzVPNmFjaGR4WTRrVmdQTlRWMVE&hl=en
21:31:07 <alise> note: cannot graph. well, i think it can chart with plotlib or something with the ugly motif interface
21:31:41 <alise> Sgeo: no permission to view
21:32:38 <Sgeo> Works for Chrome in incognito. Try again?
21:32:52 <fizzie> Worked for me(tm).
21:32:57 <fizzie> But what do you want out of that data?
21:33:02 <Sgeo> A map
21:33:07 <Sgeo> Those numbers represent locations
21:33:16 <fizzie> Ah.
21:33:19 <alise> "Unfortunately, this is a coincidence." --uorygl on the etymology of "cum"
21:33:28 <fizzie> I think that should work in oocalc.
21:33:50 <uorygl> Small world.
21:34:26 <Sgeo> fizzie, how?
21:34:44 <fizzie> Sgeo: I'll see if I can figure that out.
21:34:53 <Sgeo> tyvm
21:34:56 <alise> Sgeo: works now
21:35:06 <alise> what the fuck are you graphing
21:35:15 <Sgeo> Take a guess.
21:35:21 <Sgeo> You should be able to guess correctly.
21:35:47 <alise> something to do with some shitty game
21:36:04 <Sgeo> Yep! [Except ofc I wouldn't call it shitty]
21:36:30 <alise> it is
21:36:36 <fizzie> Sgeo: Yes, it does sort of work. Do you want a .ods file or just messy instructions?
21:36:54 <Sgeo> Messy instructions would be nice
21:37:01 <Sgeo> And what do you mean "sort of"?
21:37:25 <fizzie> Well, it doesn't look pretty.
21:38:57 <fizzie> So. Select just the numbers, click the chart-making wizard, select XY (scatter), next, "data series in columns" (no labels anywhere), next, then for "data labels" set the range that has the names, next, disable legend/grids, finish; ... [cont]
21:39:42 <fizzie> ... then in the actual graph, click one of the points so that it selects (highlights) the series, right-click, "insert data labels", right-click again, "format data labels", and then select "show category" instead of "show value as number" as the label.
21:40:03 <fizzie> That should give you the points in those coordinates, and those names above the points.
21:40:23 <fizzie> This was based on OO.org 3.2, I don't know how different it would be for other versions.
21:42:01 <Sgeo> Ah crap, I don't see "Insert data labels"
21:42:18 <Sgeo> I think I see something similar though
21:42:21 <fizzie> Ghrm. And you clicked the data points, not the whole graph?
21:43:15 <Sgeo> Got it, ty
21:43:30 <Sgeo> I went to Object properties... and there was a data labels thing there
21:43:46 <fizzie> Okay. If it works...
21:43:57 <fizzie> Doing it that way will still mean all points are in the same "series", so they'll have the same color/icon, just that the names will be above the points. It might be trickier if you want them to have separate colors and legend entries.
21:44:37 <Sgeo> This is fine, thanks!
21:46:05 <Sgeo> It looks.. upside down. I guess what I always thought of as "forward" was South
21:48:47 <fizzie> Sgeo: If you want, you can right-click on the Y axis line, do "format axis" and turn on "reverse direction".
21:49:06 -!- hiato has joined.
21:49:15 <fizzie> (In this version, anyway.)
21:59:14 <cheater99> is there a c2bf of some sort?
21:59:54 <ais523> there's gcc-bf, but it's unfinished
22:00:03 <cheater99> isn't that the other way around
22:00:11 <cheater99> i want to compile c to *****fuck
22:00:18 <ais523> yep, it's gcc with a BF backend
22:00:31 <cheater99> wait
22:00:34 <cheater99> i'm confused
22:01:11 <cheater99> does it mean it puts out bf or it eats bf?
22:01:28 <alise> puts out bf
22:01:32 <alise> also c2bf, but that's older and more shittier
22:01:34 <cheater99> thank you
22:01:41 <alise> cheater99: iirc it doesn't actually fully work yet
22:01:45 <alise> it's ais523's project as he is humbly omitting
22:02:07 -!- FredrIQ has joined.
22:04:08 <cheater99> i am wondering about a language that is esoteric and not fully cryptanalized yet
22:04:16 <cheater99> or at least not widely known enough
22:04:35 <cheater99> fast enough to run near the main loop of an app
22:05:04 <alise> eh?
22:05:30 <cheater99> expand on that thought
22:07:04 <alise> what art thou talking about.st.
22:08:48 <cheater99> making the application difficult to RE
22:09:05 <cheater99> self modifying code is not really successful anymore
22:09:55 <alise> well if you can write the code someone else can make sense of it.
22:10:55 <ais523> not always
22:11:51 <ais523> alise: what method would you recommend for testing a webapp on IE?
22:11:57 <alise> ais523: Suicide?
22:12:01 <alise> ais523: Uh, I'd use a VM.
22:12:07 <alise> Is that a boring solution?
22:12:18 <alise> ais523: You /could/ use IEs4linux, but who knows what tricksy things Windows has in store.
22:13:24 <ais523> I don't have a spare Windows licence to put in a VM, is the issue
22:14:26 <ais523> I suppose I could boot into the Windows partition here
22:14:31 <ais523> but that would mean closing everything down
22:15:06 <Sgeo> ^^why I chose between Windows and Linux for my main OS, instead of using Linux for everything but my games
22:15:08 <ais523> I wonder if there are online IE VMs that you can VPN into, or whatever
22:15:14 <fizzie> ais523: Run the Windows partition in a VM?
22:15:23 <ais523> fizzie: it's an OEM licence
22:15:28 <ais523> so can't be used on different hardware, like a VM
22:15:41 <ais523> not just a technicality, it would go mad if I tried
22:15:44 <ais523> due to the anti-piracy features
22:19:11 <fizzie> Yes, I guess that's what it does. Though I like to call it an "anti-upgrade feature", since it also bites you if you just want to upgrade the computer too much.
22:20:03 <Sgeo> Awesome. I can't save a file in OOo that has the same name as a folder.
22:20:06 <fizzie> Our university has some remote-desktop IE boxes for staff, though I guess officially those are only for using the horrible IE-only university web-apps, not random testing.
22:20:15 <Sgeo> Or, same name excluding .extension
22:20:23 <alise> <ais523> I don't have a spare Windows licence to put in a VM, is the issue
22:20:29 <alise> I don't suppose I could suggest something illegal?
22:20:39 <fizzie> Can't you just write the extension explicitly? I don't think it adds a duplicate if you spell it out.
22:20:39 <ais523> I wouldn't follow illegal suggestions
22:20:50 <alise> <ais523> fizzie: it's an OEM licence
22:20:50 <alise> <ais523> so can't be used on different hardware, like a VM
22:20:50 <alise> <ais523> not just a technicality, it would go mad if I tried
22:20:57 <alise> you could remove that crap by booting into the partition, using whatever tools remove it
22:20:59 <alise> and then doing it in the vm
22:21:07 <alise> i don't think that's illegal, i'm pretty sure that's like a protected right
22:21:11 <ais523> yep, I think that's legal
22:21:16 <ais523> but I also think I'd screw it up if I tried
22:23:12 <Sgeo> It occurs to me that reversing one axis makes the map.. wrong
22:23:44 -!- hiato has quit (Quit: underflow).
22:25:49 <Sgeo> Now, how do I save this chart as an image?
22:30:58 <alise> ais523: there are click-and-it-disappears tools for pretty much every windows abomination out there
22:31:11 <ais523> yes, some cleaner than others
22:31:24 <ais523> I'm not nearly savvy enough to find the ones that work without being full of trojans
22:32:16 <alise> what's the thing that does it?
22:32:22 <alise> not windows genuine advantage... windows product activation?
22:32:31 <alise> <ais523> fizzie: it's an OEM licence
22:32:31 <alise> <ais523> so can't be used on different hardware, like a VM
22:32:31 <alise> <ais523> not just a technicality, it would go mad if I tried
22:32:31 <ais523> yes, I think so
22:32:32 <alise> hmm
22:32:34 <alise> err
22:32:39 <alise> can't copy from windows vm to linux :D
22:33:04 <alise> ais523: ok, here's an idea
22:33:18 <alise> it says it only dies if the hardware is seen as "not substantially the same"
22:33:34 <alise> boot into windows, unplug almost everything, shut down, set vm as close as possible, ??
22:33:35 <alise> *???
22:33:43 <ais523> vms tend to be pretty different
22:33:50 <ais523> and it cares about essential hardware, not peripherals
22:33:54 <alise> ais523: aha
22:33:56 <ais523> things like disk model, cpu model, that sort of hting
22:33:57 <alise> ais523: do you have the CD?
22:34:01 <ais523> there isn't a CD
22:34:06 -!- poiuy_qwert has joined.
22:34:10 <alise> darn
22:34:15 <alise> apparently you can configure the oem version to install as retails
22:34:17 <alise> *retail
22:34:21 <alise> oh, you'd need a retail key
22:34:22 <alise> hmm
22:34:27 <alise> ais523: ies4linux /should/ work
22:34:33 <alise> ... what website are you testing?
22:34:38 <alise> I can't imagine you using anything that wouldn't work in ... lynx
22:34:59 <ais523> alise: it's a webapp for calculating legailty of Pokémon
22:35:03 <ais523> and to help in RNGing them
22:35:11 <ais523> and it doesn't work in IE, browsershots confirms it
22:35:42 <alise> ais523: ies4linux should work just fine
22:35:55 <alise> http://www.tatanka.com.br/ies4linux/
22:36:16 <alise> ais523: basically it installs an IE/Wine setup and fixes all the little niggles that stops it... working
22:36:33 <ais523> would it clash with existing wine?
22:36:36 <alise> maybe it just automates the install, not sure
22:36:38 <alise> ais523: it uses existing wine.
22:37:00 <alise> ais523: it can install everything from ie 5.5 or 6, I forget, to 8, iirc
22:37:05 <alise> so, you know, that's cool
22:37:10 -!- CakeProphet has quit (Quit: Lost terminal).
22:43:12 <Sgeo> http://i.imgur.com/7Qatq.png
22:43:26 <alise> I see.
22:43:28 <Sgeo> Going to make a better chart though, one less vulnerable to human error
22:43:33 <alise> Is that meant to be... a map?
22:43:42 <Sgeo> Yes
22:43:50 <alise> >_<
22:43:53 <alise> YOU COULD HAVE JUST MADE A MAP
22:44:02 <Sgeo> How?
22:45:50 <ais523> gah, ies4linux has caused that cascading freeze problem
22:45:59 <ais523> where it freezes, then all terminals mentioning it freeze, etc
22:46:02 <ais523> until the system becomes unusual
22:47:24 <alise> huh
22:47:44 <alise> http://www.winhistory.de/more/386/xpmini_eng.htm <-- Features Windows XP booting on a 7 MHz original Pentium with 20 MiB of RAM
22:47:50 <alise> Boot time: 30 minutes.
22:49:47 <ais523> that's similar to how long it takes on a modern networked and externally controlled system
22:50:16 * Sgeo writes what is probably crappy Haskell
22:51:45 <alise> ais523: heh
22:51:56 <ais523> ie6 seems to work, at least
22:52:06 <ais523> should really have turned network access off first
22:52:13 <alise> ais523: You know, I wouldn't bother targeting ie6...
22:52:16 <ais523> but it's unlikely that things that target IE will have Linux-targetting payloads
22:52:28 <ais523> alise: ies4linux works best with it
22:52:29 <alise> ais523: but wine can access the linux root by default
22:52:35 <ais523> alise: yes, it can
22:52:40 <alise> and thus has permissions to wipe your home folder
22:52:53 <ais523> yep, I'm relying on security through obscurity here
22:53:01 <ais523> and avoiding websites altogether, using only the file:/// tree
22:53:02 <alise> There's some highly illegal XP distribution floating around with tons of stuff stripped; e.g. they replaced Windows Explorer with the Windows 95 version and iirc removed all the MSHTML and IE files.
22:56:36 * alise wonders how small he could get Windows XP and have it still ... do things
22:56:39 <alise> *she
22:56:42 <alise> silly nick pronouns
22:56:51 -!- FireFly has quit (Quit: Zzzz).
22:57:02 <alise> hmm... with gratuitous use of nLite + a purging of \WINDOWS, should be possible
22:58:27 -!- MigoMipo has quit (Quit: Quit).
22:58:41 -!- ais523 has quit (Ping timeout: 260 seconds).
23:01:13 <coppro> filesystems suck
23:01:35 <coppro> alise: make me a better model of a filesystem
23:01:55 <coppro> actually, wait
23:01:56 <coppro> I can hardlink
23:02:05 <alise> coppro: I believe you already know what my opinions are on filesystems.
23:02:14 <coppro> that's good enough
23:03:30 <coppro> still, the world needs a better model of filesystems :/
23:04:17 <alise> Proposed better model of filesystems: none at all.
23:06:30 <AnMaster> alise, maybe some sort of object database?
23:06:42 -!- oerjan has joined.
23:06:44 <AnMaster> sure that is vague
23:06:47 <AnMaster> oerjan, hi
23:06:48 <alise> Simple:
23:06:54 <alise> RAM is disk cache.
23:06:58 <alise> If you want to go even further:
23:07:02 <alise> Disk is global encrypted network cache.
23:07:04 <oerjan> ho
23:07:08 <AnMaster> alise, well yes + stack?
23:07:09 <alise> hi ho
23:07:10 <AnMaster> I presume?
23:07:11 <alise> it's off to work we go
23:07:16 <alise> AnMaster: You know what I mean. :-)
23:09:04 <AnMaster> alise, well I think most programs will want some non-persistent working state
23:09:28 <AnMaster> alise, or do you claim that registers are RAM cache? ;P
23:10:02 <alise> Consider:
23:10:08 <alise> You are running a very intensive computation that will take hours and hours.
23:10:13 <alise> Your trip over your power cord.
23:10:29 <alise> Your computer has decided that it doesn't need to persist that data, and you are fired from your job, which is maintaining high-performance computers.
23:10:34 <alise> You have no money to buy food, so you starve to death.
23:10:36 <AnMaster> well unlikely the way my room is organised
23:10:42 <alise> Thus, not persisting temporary data is equivalent to murder.
23:10:44 <AnMaster> I would have to get between a bookshelf and a wall
23:10:56 <AnMaster> alise, yes, and this task is _very_ memory intensive.
23:11:02 <AnMaster> and it updates memory a lot
23:11:11 <alise> AnMaster: There are efficient algorithms to do persisting like this.
23:11:14 <AnMaster> alise, so it would be IO bound if writing the state to disk all the time
23:11:19 <alise> Research topic etc.
23:11:27 <AnMaster> alise, snapshotting every few minutes might work better for that
23:11:31 <alise> AnMaster: that's why you do it as a background process every very small interval
23:11:39 <alise> (on the order of, say, 1s at most)
23:11:44 <alise> well okay
23:11:45 <alise> 10s at most
23:11:53 <alise> there are good ways to do all this
23:11:54 <AnMaster> alise, but writing out 24 GB data to disk? (yes this is a high end workstation we imagine)
23:11:57 <AnMaster> that would take ages
23:12:06 <alise> AnMaster: how fast can you modify 24 gigs of ram?
23:12:16 <AnMaster> alise, pretty fast since it will use 8 cores
23:12:21 <AnMaster> and the ram is fast
23:12:30 <alise> ... you do realise that multiple cores use the same ram pathways?
23:12:34 <AnMaster> a lot of it is able to be done in fast stores
23:12:45 <AnMaster> alise, no? NUMA
23:12:54 <alise> Fine, NUMA.
23:12:58 <alise> I'm just saying, most of the time.
23:13:06 -!- tombom has quit (Quit: Leaving).
23:13:08 <AnMaster> alise, even Xenon core i7 is NUMA
23:13:08 <alise> AnMaster: Anyway, obviously such an edge-case could disable or significantly slow that.
23:13:17 <alise> (persisting)
23:13:56 <AnMaster> alise, well while we were talking I was doing some memory intensive stuff. Not quite as bad and task is fast. Converting raw files to tiff
23:14:06 <AnMaster> it takes about 20 seconds per file
23:14:12 <AnMaster> batch job
23:14:17 <alise> You know what you'd be good at?
23:14:21 <AnMaster> dumping state in between seems pointless for that
23:14:30 <alise> QA. Your brain is entirely devoted to the task of finding exceptions to the rule :-)
23:14:30 <AnMaster> alise, well I can think of a lot of things ;P
23:14:41 <AnMaster> alise, oh yeah QA is important IMO :)
23:14:45 <alise> But anyway, yes, "RAM is disk cache" is a simplified view.
23:14:51 <alise> But it's the essence of the philosophy.
23:15:05 <AnMaster> yes it makes kind of sense for some type of tasks
23:15:25 <alise> Well, it's part of my OS design... and, oh, Smalltalk's.
23:15:26 <AnMaster> alise, like for those people who don't save every half minute when writing something and make a VCS commit every few minutes
23:15:27 <AnMaster> :P
23:15:40 <alise> I can think of plenty of ways to make it omit temporary objects.
23:15:41 <AnMaster> I keep all my assignments for university in version control of course
23:15:46 <alise> e.g., never save local variables
23:15:50 <alise> only exposed things on an object
23:16:06 <AnMaster> alise, yes, you don't want to write out the int i; for a tight loop ;P
23:16:11 <AnMaster> probably
23:16:20 <AnMaster> unless very very long running
23:16:25 <alise> An even more radical part of my vision is that almost everything should be versioned. :-)
23:16:47 <alise> This is quite practical, though, with deduplicative storage; see Plan 9 venti, which is tried and tested and works exactly like that.
23:16:55 <alise> (you never delete a venti record)
23:16:57 <AnMaster> alise, well certainly but that would fill your disk pretty fast if you version middle-of-computation state
23:17:09 <alise> Yes, obviously you don't version that. Sheesh, I'm not *that* stupid. :P
23:17:18 <AnMaster> and it would be quite useless to have a version like "panorama stitching: 25% done"
23:17:27 * coppro has an urge to make an 'edge case' pun
23:17:41 <AnMaster> coppro, is it something to do with suite cases?
23:17:49 <coppro> I was thinking graphs
23:17:52 <AnMaster> ah
23:27:22 <alise> pointers
23:28:10 <Sgeo> http://i.imgur.com/T6bDS.png
23:37:16 <alise> http://jeffkatz.typepad.com/.a/6a0120a721c2d7970b0133ec69016c970b-800wi
23:37:17 <alise> Just... what.
23:37:54 <coppro> Sgeo: ?
23:37:58 <Sgeo> Any D&D person: How do you pronounce " Majere"
23:38:20 <Sgeo> coppro, map based on converting the data I had to CSV first, instead of manually typing it in
23:38:28 <coppro> what's the data of?
23:38:28 <Sgeo> More reliable, more information
23:38:34 <alise> coppro: some shitty 3d virtual reality
23:38:37 <alise> it's sgeo, couldn't you have guessed?
23:38:38 <Sgeo> Locations in a now deceased game called Mutation
23:39:19 <coppro> I have no problems with you being interested in online games
23:39:26 <coppro> but the necrophilia is disturbing
23:39:37 <alise> Ha!
23:40:06 <alise> `addquote <coppro> what's the data of? [...] <Sgeo> Locations in a now deceased game called Mutation <coppro> I have no problems with you being interested in online games <coppro> but the necrophilia is disturbing
23:40:15 <HackEgo> 180|<coppro> what's the data of? [...] <Sgeo> Locations in a now deceased game called Mutation <coppro> I have no problems with you being interested in online games <coppro> but the necrophilia is disturbing
23:40:36 <coppro> I don't think it's possible to fit that quote's context in under one week
23:40:44 <alise> ...under one week?
23:41:04 <coppro> yeah, I was referring to his longstanding tradition of being interested in games that the rest of the world considers dead
23:41:11 <coppro> like the MUSHes
23:41:21 <alise> and "Cybertown"
23:41:28 <alise> coppro: since when is a week a measure of length? :P
23:41:38 <alise> but anyway, that tradition is well-known enough that it needs not be mentioned
23:41:41 <pineapple> it is in the fourth dimension
23:41:45 <coppro> it's a measure of duration
23:44:51 <Sgeo> I don't think LambdaMOO is considered a MUSH
23:45:04 -!- Oranjer has joined.
23:45:44 <alise> hey guys
23:45:57 <alise> who uses the windows calculator right?? Or the defragmenter?? Or Paint??
23:45:59 <alise> I can strip those out can't I!
23:48:12 * Sgeo has a Win98 install somewhere with the bare minimum
23:49:04 <pineapple> alise: i use windows calculator
23:50:04 <alise> pineapple: but i'm trying to get the smallest usable windows xp installation!
23:50:10 <alise> can't you just use some smaller calculator :P
23:50:56 <Sgeo> You can use one of the OMG calculators
23:51:16 <Sgeo> [except the ones that rely on the Windows calculator, I guess]
23:53:59 <alise> i'd better keep the defragmenter
23:54:03 <alise> for... obvious reasons
23:54:14 <alise> oh
23:54:15 <alise> there are third party ones
23:54:17 <alise> great
23:55:22 <pineapple> alise: fair enough; i only use it cos i cba to get a replacement
23:55:44 <pineapple> what size are you shooting for?
23:55:57 <alise> <400 meg installed, as best as i can basically
23:56:02 <alise> and lowest resource usage hopefully
23:56:11 <pineapple> hd size?
23:56:14 <alise> not even installing sound drivers by default
23:56:17 <alise> pineapple: ?
23:56:45 <pineapple> how big is the disk you'r installibng on?
23:57:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:57:32 <alise> pineapple: oh it's a vm
23:57:35 <alise> so 10 gig max :P
23:57:38 <pineapple> aah
23:57:39 <pineapple> ok
23:57:42 <alise> but i'm optimising for lowest disk usage and resource usage
23:57:44 <alise> this is just for fun basically
23:57:55 <alise> my automatic reaction to boxes marked "Remove" is "CLICK CLICK CLICK"
23:58:11 * alise sets back adoption of IPv6 by removing it
23:58:13 <pineapple> there needs to be a newbs guide to using vms
23:58:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
23:58:24 <alise> 16-bit apps? pfft
23:58:26 <alise> pineapple: it's easy :P
23:58:34 <AnMaster> alise, boost is so bloated that I can't use -j2 when compiling a project that uses it. because that causes swap trashing.
23:58:37 <pineapple> setting up as well?
23:58:40 <AnMaster> thus -j1 is faster, even on dual core
23:58:43 <AnMaster> oh the irony
23:58:50 <pineapple> j ?
23:59:07 <AnMaster> pineapple, to make obviously
23:59:11 <alise> who needs edit, edlin, ping, xcopy, sort, more, ipconfig and others?
23:59:15 <alise> Do not say "me".
23:59:29 <Gregor> Windoze users?
23:59:34 <AnMaster> -pineapple- VERSION irssi v0.8.12
23:59:36 <AnMaster> no?
23:59:37 <alise> I'm slimming down Windows XP to be almost nothing :P
23:59:47 <pineapple> i've found xcopy more useful than copy
23:59:48 <alise> Gregor: You can just use Cygwin or some other crap surely!
23:59:49 <coppro> I've used ipconfig, sort, and ping; also less
2010-06-14
00:00:02 <pineapple> AnMaster: your point?
00:00:16 <AnMaster> pineapple, well -j is "more than one job in parallel"
00:00:38 <pineapple> fucked if i can remember all of the options to make
00:01:13 <alise> nslookup? lpr? finger? ftp?
00:01:15 <alise> debug?
00:01:20 <alise> THESE ARE ALL PROGRAMS A WINDOWS USER DOES NOT NEED, FRIENDS.
00:01:28 <alise> oh. they're only 300 kilobytes
00:01:30 <alise> okay you can have them
00:01:43 <pineapple> a poweruser might need them... but they likely have better alternatives
00:01:58 <pineapple> then agaon
00:02:05 <pineapple> a power user is likely not using windows xp
00:02:06 <alise> extra fonts... georgia is not rarely used!
00:02:17 <alise> OTOH 1.92 megs... and it obliterates Impact and Comic Sans...
00:02:18 <alise> yeah delete it
00:02:28 <pineapple> obliterates?
00:02:44 <alise> gets rid of
00:02:47 <alise> Help Engine? HAHAHA
00:02:48 -!- poiuy_qwert has joined.
00:02:49 <alise> EXPERTS NEED NO HELP
00:03:37 <alise> Search Assistant: "That annoying animated dog in the search window."
00:03:38 <alise> Says it all/
00:03:39 <alise> *all.
00:04:25 <pineapple> alise: i take it you're ok with using the classic windows theme
00:04:41 <pineapple> i wonder if the xp theme can be removed
00:05:02 <alise> yes
00:05:10 <pineapple> size?
00:14:08 <alise> dunno
00:17:26 <Sgeo> alise, when was the G3 made?
00:17:52 <alise> G3 what
00:17:59 <Sgeo> Mac, I think
00:19:00 <pikhq> alise: Hmm. Any reason for slimming down XP so much?
00:19:15 <alise> pikhq: Fun.
00:19:19 <alise> Sgeo: iBook? iMac?
00:19:26 <Sgeo> Not sure
00:20:22 <Sgeo> "Because the Mac cannot currently do multi-user VR. The current blaxxun Contact (needed for 3D in Cybertown) requires the Microsoft COM architecture. Microsoft has announced that they plan to port it to the Mac. However, until there is a solid COM implementation on the Mac, the Macintosh version is not likely to be developed. However, blaxxun Contact should run in the Windows 95 emulation on the latest Macs (e.g. G3) - albeit slowly. "
00:20:24 <pikhq> Fair enough.
00:21:11 <Sgeo> Had to have been written before 2004 or so, since the same page claims that Cybertown is free
00:21:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:21:30 <alise> Sgeo: eh, old.
00:21:35 <alise> g3 imac is first imac 1998
00:22:54 -!- poiuy_qwert has joined.
00:23:25 * alise lets nlite rrrrrrrrrrrrrrip
00:24:07 <alise> REMOVING EVERYTHING
00:24:08 <alise> AHAHAHAHAHAH
00:24:09 <alise> A
00:24:12 <alise> s/\n//g
00:24:17 <alise> err
00:24:19 <alise> i/\n/
00:26:36 <alise> pikhq: this thing will install on an original ibm pc when i'm done with it
00:27:41 -!- charlls has joined.
00:27:54 <pikhq> alise: So... DOS then.
00:27:55 <alise> holy shit
00:28:00 <pikhq> ?
00:28:02 <alise> pikhq: "Finished! Total size is 112.53MB"
00:28:09 <alise> "The installation was reduced by 493.76MB."
00:28:19 <pikhq> Spiffy. You got it smaller than Slax.
00:28:28 <pikhq> Of course, Slax probably includes a whole lot more.
00:28:49 * alise saves MiniXP.iso
00:28:54 <alise> pikhq: this thing doesn't even have a defragmenter
00:28:56 <alise> or a calculator
00:28:59 <pikhq> Like a calculator...
00:29:04 <alise> I christen it "MiniXP".
00:29:14 <pikhq> And all of Busybox...
00:29:27 <alise> This isn't even all, though.
00:29:33 <alise> Or, wait, yes it is.
00:29:34 <alise> But whatever.
00:29:49 <pikhq> I strongly suspect you yanked out IE.
00:30:23 <alise> pikhq: ...maybe
00:30:25 <pikhq> So you can replace it with the Mozilla ActiveX control or something...
00:30:29 <alise> Err, actually, did I remember to?
00:31:19 <alise> Ehh, probaly.
00:31:20 <alise> *probably
00:32:24 <alise> pikhq: Hell, I even removed the *fancy installer*. It has a black background and the Windows 2000 style now.
00:32:31 <pikhq> Awesome!
00:32:37 <pikhq> That is such a better installer.
00:32:42 <pikhq> Also significantly faster.
00:32:51 <alise> pikhq: Of course there is one problem.
00:33:00 <pikhq> (yes, the fancy installer is absurdly slow for no good reason)
00:33:06 <alise> I don't think I will get a chance to test this until next week! :-(
00:33:18 <pikhq> Should install in like 10 minutes.
00:33:23 <alise> ...true.
00:33:47 <pikhq> Actually faster; that's just the speed gain you get from removing the fancy installer.
00:34:19 <alise> pikhq: haha lol @ how quick setup is copying files went
00:34:26 <alise> aaand it's at 90%
00:34:29 <alise> aand it's done
00:34:34 <alise> *aand
00:34:48 <alise> pikhq: Of course, this thing probably has tons of little incompatibilities that you will grow to hate in time.
00:35:08 <pikhq> Yes, but it should support Cygwin.
00:35:10 <alise> Hell, for a start, you need to download a browser via *FTP*!
00:35:35 <pikhq> The idea of having Windows XP solely for a Cygwin install amuses me. ;)
00:36:13 <alise> And I christen thee new installation: mini.
00:36:31 <alise> Man, if only it wasn't illegal to sell this.
00:38:15 <alise> pikhq: Wow, it logs in in like... 0 seconds.
00:38:52 <pikhq> Congrats, you removed the bloat.
00:39:02 <pikhq> I'd imagine you could run that sucker on a 386 with ease.
00:39:04 <alise> C:\WINDOWS weighs in at 264 MiB.
00:39:22 <Gregor> Oh come on. I won't be impressed until it fits on a floppy.
00:39:34 <Gregor> I'll grant you a 2.88MB floppy out of kindness.
00:39:41 <alise> pikhq: 20 MiB of RAM being used.
00:39:43 <alise> Well.
00:39:44 <alise> More like 20 MB.
00:39:48 <pikhq> alise: Remove everything!
00:39:54 <alise> Oddly high CPU usage, but eh.
00:39:58 <Gregor> Who needs comctl.dll???
00:40:04 <pikhq> But, dang. 20 MB? That's impressive.
00:40:25 <pikhq> Gregor: Strictly speaking, all you need is ntkrnl.exe and a handful of binaries.
00:40:42 <pikhq> Granted, you won't be running Win32 at all, but you will have Windows NT running. :)
00:40:59 <alise> Can I have a link to an FTP Firefox download?
00:41:06 <alise> That I will use to install, say, Opera, then remove Firefox (it's bloaty!)
00:41:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:41:45 -!- FredrIQ has changed nick to FIQ.
00:41:53 <pikhq> How's about an Opera download?
00:41:55 <pikhq> http://ftp.opera.com/pub/opera/win/1053/en/Opera_1053_en_Setup.exe
00:41:59 <alise> I said FTP.
00:42:03 <alise> No web browser, remember?
00:42:04 <pikhq> Argh.
00:42:09 -!- cheater99 has quit (Ping timeout: 264 seconds).
00:42:09 <pikhq> s/http/ftp/ should work.
00:42:23 <pikhq> Which it does.
00:42:34 <alise> Okay, um, I've forgotten how to use ftp.exe
00:42:48 <pikhq> ftp ftp.opera.com
00:42:54 <alise> Right.
00:42:58 <Gregor> And how big is this WASTEFUL ftp.exe you've included just to satiate your pathetic need to download stuff?
00:42:59 -!- poiuy_qwert has joined.
00:43:03 <pikhq> Now login as anonymous...
00:43:09 <alise> Gregor: The whole set of command line tools was just 300 KiB :P
00:43:15 <pikhq> Then: cd pub/opera/win/1053/en/
00:43:15 <alise> Including edit.com and edlin.com and xcopy.com and ...
00:43:16 <pikhq> bin
00:43:24 <pikhq> get Opera_1053_en_Setup.exe
00:43:29 <pikhq> ... IIRC
00:44:56 <Sgeo> Firefox is more bloaty than Opera?
00:45:14 <pikhq> Gecko is, like, *made* of bloat.
00:45:37 <Sgeo> o.O
00:46:22 <pikhq> *It implements its own GUI library that acts nonnatively everywhere*.
00:47:18 <pikhq> All so you can use Javascript/HTML/XUL/CSS as a UI language...
00:47:38 -!- alise has quit (Ping timeout: 240 seconds).
00:50:14 -!- poiuy_qwert has quit (Quit: Leaving).
00:51:49 <Gregor> (Which is AWESOME)
00:57:25 -!- cheater99 has joined.
00:58:32 <Sgeo> http://stackoverflow.com/questions/367571/detecting-infinite-loop-in-brainfuck-program
01:03:35 <Sgeo> "How come a source code control system is participating in the World Cup ? First, the encryption algorithm and now this. I blame Sepp Blatter"
01:03:43 <Sgeo> http://identi.ca/andyc?page=2
01:30:12 -!- CakeProphet has joined.
01:30:25 <Gregor> Sgeo: The title of that discussion = infinite hilarity.
01:30:36 <CakeProphet> Flash being buggy? no way.
01:34:46 <pikhq> Sgeo: That discussion is hilarious.
01:34:54 <pikhq> "Can I please, please solve the halting problem?"
01:43:32 -!- charlls has quit (Quit: Saliendo).
01:45:51 <coppro> yeah, his complex system of analyzing it is failing under one basic flaw: that it is indeed possible to determine whether a program halts by running it and seeing what happens
01:46:13 <coppro> incidentally, is it possible to make an aperiodic infinite Turing program?
01:46:46 <coppro> or do all infinite programs necessarily start repeating some identifiable subset of the tape?
01:47:22 <oerjan> coppro: if there were only periodic infinite programs then the halting problem would actually be _solvable_ (well, theoretically)
01:47:44 <oerjan> because you could just run it until it repeated
01:48:18 <pikhq> coppro, +[>+]
01:48:38 <coppro> pikhq: There's an obvious periodic repetition there
01:48:55 <coppro> the data on one side is all 0s, the data on the other side is all 1s
01:49:11 <pikhq> Oh, fine, fine. ,[>,]
01:49:22 <coppro> lol
01:49:27 <oerjan> pikhq: doesn't really count
01:49:28 <coppro> you know what I mean
01:49:36 <coppro> TMs don't have input anyways
01:49:46 <pikhq> Yes, yes.
01:53:00 <coppro> I think you can't
01:53:37 <oerjan> sure you can, unless you keep moving the goalpost which just means we'll have to avoid more and more patterns
01:53:40 <oerjan> now lessee
01:54:25 <coppro> My definition would be this: Construct a Turing Machine that will not halt such that at no point in its execution is it possible to prove that it will not halt.
01:54:41 <coppro> wait
01:54:48 <coppro> yeah
01:54:55 <coppro> anything else would reduce to that
01:55:43 <oerjan> coppro: how do you know it halts if you cannot prove it?
01:56:07 <coppro> oerjan: I didn't say it was provable. I merely posed the question
01:56:30 <oerjan> now if you have an actual proof system in my mind, i believe you can probably use godel's theorem to do it
01:57:08 <oerjan> basically, construct your turing machine such that is _searches_ for a proof of that system's consistency
01:57:28 <coppro> No, it would be impossible to prove the existence of such a TM
01:57:37 <coppro> since that would mean you'd proven it wouldn't halt
01:57:46 <coppro> which would cause it to fail the criteria
01:58:01 <oerjan> coppro: no, godel's theorem gets around that
01:58:08 <coppro> how?
01:58:30 <coppro> actually, hmm
01:58:41 <coppro> I suppose you could prove the existence of such a machine without ever proving which one it was
01:58:43 <oerjan> because the logical system cannot prove its own consistency
01:59:00 <coppro> yeah, I know the theorem, but how does it apply here?
01:59:11 <oerjan> coppro: oh actually it's "easy" to write down a specific machine given the logic
01:59:53 <oerjan> coppro: basically you cannot prove in your logic that the tm doesn't halt, but _if_ it halts your logic is inconsistent
01:59:54 <coppro> huh? now you have me really confused
02:00:34 <oerjan> well by logic i mean logic + axioms you assume for your math
02:01:53 <coppro> let us formally state the hypothesis: "There exists a Turing Machine T which, given an input tape I, will not halt, and, for every whole number N, it is impossible, after T has executed N steps, to prove that it will not halt."
02:01:53 <oerjan> coppro: it's "easy" (i.e. just tedious work) to write down a turing machine which searches for proofs of a proposition in a specific logical system
02:02:31 <oerjan> coppro: you _must_ state the proof system you assume in order for that to be well-defined
02:02:45 <coppro> ah
02:03:14 <oerjan> and once you have done that, you can just construct things with godel's method
02:04:16 <coppro> in any case, no matter which proof system you choose, proving that a given T and I satisfy the theorem is impossible.
02:04:31 <coppro> The best you could do is prove that there exists and T and I.
02:05:05 <oerjan> um no the T and I are _easy_ to construct given the proof system
02:05:19 <oerjan> the hard part is interpreting what you actually know about them
02:05:43 <coppro> Proving that a given T and I satisfy the theorem is contradictory though!
02:05:49 <oerjan> yeah
02:06:35 <coppro> Because if you prove that they satisfy the theorem, you prove that they do not halt. And you are not allowed to prove that they do not halt in order for them to satisfy the theorem.
02:07:11 <oerjan> oh well
02:07:22 <coppro> hence, you could only prove the existence of some T and I
02:07:40 <coppro> (or disprove it)
02:08:11 <oerjan> my head starts swimming :D
02:09:00 <oerjan> er or what the actual idiom that i mean is
02:09:24 <coppro> The non-halting requirement could be removed from the hypothesis, but it's trivial that any halting combination would not satisfy the proof, since after it halts, you can prove that it halts.
02:10:18 <oerjan> i'm not entirely sure proving the existence of some T and I is different from proving that Godel's specifically constructed ones fulfil it
02:12:19 <oerjan> i think both _might_ indirectly amount to proving that your logical system is consistent, in itself (thus it's actually inconsistent)
02:12:35 <coppro> :d
02:12:52 <oerjan> given that once you _start_ talking about things being provable in the same system, you have sort of crossed a line
02:13:03 <coppro> true
02:13:13 <coppro> but Godel crossed that line and made off like a bandit
02:13:19 <oerjan> (a consistent system cannot prove that _anything_ is unprovable in the same system)
02:13:44 <oerjan> because "something is unprovable" <=> "the system is consistent"
02:13:58 <coppro> uh, doesn't it prove that the Godel statement is unprovable, or do I misunderstand the theorem?
02:14:35 <oerjan> no, it proves that _if_ the system is consistent, then it's unprovable within it that it is so
02:14:49 <coppro> ah
02:14:50 <oerjan> (and _that_ is actually proved inside the system)
02:15:47 <oerjan> on the other hand if it is _inconsistent_ then it's provable that it is. as well as that it isn't. :D
02:16:01 <oerjan> (inside itself)
02:17:00 <oerjan> food ->
02:23:30 <CakeProphet> QUEEN OF FRANCE
02:23:37 <CakeProphet> I. AM. THE QUEEN. OF FRAME!
02:23:41 <CakeProphet> olololol
02:23:43 -!- CakeProphet has quit (Quit: leaving).
02:30:02 <oerjan> >+[>>+<<[[<]>->[>]>[>]+>+[<]<]>>[>]<] (maybe)
02:31:34 -!- pikhq has quit (Remote host closed the connection).
02:47:01 <Gregor> Now soliciting opinions on http://codu.org/music/op13/GRegor-op13-mov1-wipp6.ogg (played while quite tired, so sorry for all the mistakes :P )
02:54:56 -!- sshc_ has joined.
02:54:58 -!- sshc has quit (Ping timeout: 265 seconds).
03:00:15 -!- sshc has joined.
03:01:38 -!- sshc_ has quit (Ping timeout: 240 seconds).
03:10:29 -!- GreaseMonkey has joined.
03:22:47 -!- pikhq has joined.
03:24:24 -!- FIQ has quit (Ping timeout: 258 seconds).
03:59:24 <uorygl> ping -a 192.168.1.255
03:59:34 * uorygl runs that command, then turns his volume down.
03:59:59 <uorygl> Now I'm constantly aware of how many devices are on our network.
04:00:16 <uorygl> Dit-dit-dit-dit-dit. Dit-dit-dit-dit-dit. Dit-dit-dit-dit-dit. Dit-dit-dit-dit-dit.
04:00:19 <uorygl> Five.
04:00:24 <oerjan> ____ ___ _ _ ____
04:00:24 <oerjan> | _ \ / _ \| \ | |/ ___|
04:00:24 <oerjan> | |_) | | | | \| | | _
04:00:24 <oerjan> | __/| |_| | |\ | |_| |
04:00:24 <oerjan> |_| \___/|_| \_|\____|
04:01:21 <uorygl> This is a surprising number, as it's usually either two or three.
04:01:34 <Sgeo> 100% packet loss
04:01:49 <uorygl> My packet loss is about -400% right now!
04:02:01 <uorygl> For every 100 packets I send out, I get 500 packets back.
04:02:06 <uorygl> Thus, -400 of them are lost.
04:05:28 * uorygl makes it ping every two seconds instead of every second.
04:06:32 <Sgeo> what's the -a?
04:06:46 <uorygl> -a means "beep every time a packet is received".
04:07:07 <Sgeo> ah
04:07:25 <uorygl> This can be distracting. :P
04:07:32 <uorygl> "Aiee, how many beeps was that? Only four?"
04:07:46 <Sgeo> Is there any reason that the .255 thing would work on Linux and not Windows?
04:07:58 <uorygl> No good reason.
04:08:06 <Gregor> Because Windoze is teh sux? ^^
04:08:10 <uorygl> What's your IP address and subnet mask?
04:08:34 <Sgeo> IP: 192.168.1.105
04:08:40 <Sgeo> Subnet mask: 255.255.255.0
04:09:46 <uorygl> So if you ping 192.168.1.255, you should get packets back.
04:09:55 <uorygl> Though I don't know if Windows actually responds to pings on that address.
04:10:45 <Sgeo> Shouldn't my router respond?
04:11:53 <Sgeo> Hm, my N1 wants me to use -b
04:12:11 <uorygl> Yeah, it seems it ought to.
04:12:39 <uorygl> This bothers me. I added a new device to the network, and so now ping is saying I'm receiving six packets, but it's only beeping five times.
04:13:15 <Sgeo> On my N1, the router's the only thing that responded
04:23:15 -!- jabb has joined.
04:23:18 <jabb> hey all
04:35:39 * Sgeo turns on the lights
04:35:52 <Gregor> *hissssss*
04:35:57 <Gregor> I DO NOT WISH TO SEE THE LIGHT
04:36:30 <oerjan> Gregor: you do _not_ want darkness right now, trust me
04:36:56 <Gregor> I can only astral project in complete silence and darkness.
04:37:27 * oerjan peeks anxiously at jabb's ircname
04:37:38 <Gregor> 'snot "graue"
04:37:43 <Gregor> Ohyeah
04:37:45 <Gregor> Hahah
04:37:49 <Gregor> No worries, I have a torch.
04:37:54 <oerjan> good, good
04:38:17 <Gregor> Also, http://www.youtube.com/watch?v=4nigRT2KmCE
04:38:32 <Sgeo> The sad thing is, I only know about that because of User Friendly
04:39:19 <jabb> oerjan: :P
04:47:22 <coppro> ...
04:47:24 <coppro> wow
04:47:32 <coppro> another 120 stars? wow
05:24:03 -!- Oranjer has left (?).
05:41:35 -!- oerjan has quit (Quit: leaving).
05:58:54 -!- Rugxulo has joined.
06:02:33 -!- lament has quit (Ping timeout: 264 seconds).
07:05:34 -!- tombom has joined.
07:10:21 -!- coppro has quit (Ping timeout: 264 seconds).
07:29:08 -!- FireFly has joined.
07:37:08 -!- lament has joined.
07:51:22 -!- tombom has quit (Quit: Leaving).
07:59:03 -!- pikhq has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:29 <Sgeo> In case anyone cares, I got the chart wrong
08:14:46 <Sgeo> I mixed up East and West.. or rather, forgot that East is, for reasons unknown, negative
08:25:02 <Rugxulo> east in what?
08:34:25 <Sgeo> <alise> Some shitty virtual world
09:03:39 -!- lament has quit (Ping timeout: 258 seconds).
09:04:35 <pineapple> Sgeo: so you got the handedness of the coordinate system wrong?
09:05:02 <Sgeo> Or, really, just forgot about it. But I thought handedness was rotations?
09:06:10 <pineapple> umm... there's one view where, Y is north, X is east, Z is up, and there's another where Y is up, X is easy, and Z is north
09:06:31 <pineapple> i believe that they are refered to as "left handed" and "right handed", but i forget whuch is which
09:07:07 <pineapple> i think the latter is the more traditional one in mathematical circles, but the former is more common in computer games (such as the quake engine(s))
09:07:29 <pineapple> the main difference is which way the crossproduct points, and a couple of other things
09:09:42 <pineapple> http://en.wikipedia.org/wiki/Cartesian_coordinate_system - In three demensions
09:09:47 <Sgeo> Um, hm
09:10:06 <Sgeo> Y is up, X is west, Z is north
09:10:52 <pineapple> or some rotation thereof
09:11:03 <pineapple> Y up is mathematical tradition
09:11:12 <pineapple> Z up is Id tech tradition
09:11:32 <Sgeo> SL uses Z up
09:12:00 <pineapple> Z up has at least 17 years of history (Doom engine)
09:12:00 -!- MigoMipo has joined.
09:18:22 <Sgeo> Hm. I want to become CPR certified
09:21:53 <Rugxulo> did Doom even deal with "up"? I didn't think so (often called 2.5D)
09:22:22 <Rugxulo> e.g. you can shoot an enemy up high from down low without adjusting your gun (although I guess some Doom derivatives probably changed that, can't remember)
09:22:22 <Deewiant> Sure it did, it wasn't flat like Wolfenstein 3D
09:22:35 <Rugxulo> it was semi-flat, mostly fake, not real 3D like Quake, right?
09:22:41 <Deewiant> Yep
09:22:42 <Sgeo> What does VRML do?
09:23:06 <Sgeo> Oh, I don't think VRML has global coordinates? I remember believing that VRML would never have gravity because of a lack of universal coordinates
09:23:27 <Deewiant> But there was an "up", you just couldn't have two things on top of each other (although some hacks could simulate it)
09:23:29 <Rugxulo> did Rage ever come out yet? (haven't followed it much)
09:23:47 <Deewiant> Not yet
09:24:20 <Sgeo> Adobe Atmosphere is dead?
09:25:36 <Sgeo> Hm. Active Worlds is mentioned on the VRML page, despite not using VRML in any way
09:25:45 <Sgeo> [Unless RenderWare is derived from VRML]
09:26:49 <fizzie> There was a reasonably large (by the standards of the time) VRML model of the Helsinki city centre.
09:27:26 <fizzie> We used to paste an <embed> tag for it into a web-based chat-site (which allowed unfiltered HTML), since loading it tended to make everyone's computer pretty frozen-up.
09:29:07 <Sgeo> fizzie is a troll! Shouldn't be surprised, you've trolled here before, although in a less malicious way
09:29:22 <fizzie> No, the proper verb is "was".
09:31:30 <pineapple> Rugxulo: points of the map must have a specific minimum and maximum... which is why there are a lot of stairs but no slopes
09:35:58 <Rugxulo> the point is you can shoot the guy at the top at bottom or at top without adjusting your gun, which is easier but somewhat unrealistic ;-)
09:36:55 <Rugxulo> BTW, fizzie, haven't heard lately, what's the status of FFI?
09:38:27 <fizzie> There's also left- and right-handed variants of the 3d-graphics-usual "x grows left, y grows up, z is depth" that differ in the direction of growth of the z axis.
09:39:31 -!- aschueler has joined.
09:39:38 <fizzie> Which one is which is easy to remember by pointing a thumb to the X direction and the index finger to the Y; the way the middle finger points in the left (or right) hand (at least in a standard hand with no modifications, and easily) should be Z.
09:40:35 <Sgeo> "This image was captured using the print screen key, then saved as a PNG image with Paint.NET."
09:40:39 <fizzie> If "FFI" refers to what I call "ff" (that interpreter), no news on that front. I don't have any immediate plans right now.
09:40:59 <Rugxulo> oops, ff3 perhaps was the name? (forgets)
09:41:00 <Sgeo> "x grows left"
09:41:01 <Sgeo> Huh.
09:41:08 <Sgeo> I guess that's what AW is
09:41:39 <Rugxulo> fizzie, my copy is from April 17, and I forgot the URL, so ... ;-)
09:41:53 <fizzie> Yes, though the "3" there is just an accumulator; it's the third attempt now.
09:42:13 <fizzie> http://git.zem.fi/ff last change Sun, 18 Apr 2010 09:47:06 +0000
09:42:29 <Rugxulo> w00t, a whole day's extra code! ^_^
09:44:53 <Rugxulo> some fixes, mmm hmmm
09:49:02 <fizzie> I had some uncommitted changes, which I think didn't quite work out right.
09:50:00 <Rugxulo> :-(
09:51:02 <fizzie> Right, there was a mode for non-self-modifying code, but the savings weren't very big.
09:51:28 <Rugxulo> self-modifying Befunge code or the interpreter itself?
09:51:43 <fizzie> Self-modifying Befunge code. Basically, only data-space change with p.
09:52:57 <fizzie> It does work just fine, though.
09:53:46 <Rugxulo> good to hear
09:53:57 <fizzie> It's in the same address now, but it's nothing spectaculatisticar.
09:56:11 <Rugxulo> k
09:57:33 <fizzie> What didn't quite work right was an attempt to keep the top stack value in a separate "register stack_cell top_value" local, as opposed to the actual stack; or possibly I just got tired of making the necessary changes.
09:58:17 <Rugxulo> register as in C keyword?
09:58:41 <Rugxulo> 'cause I think GCC mostly (maybe completely?!) ignores it
09:59:22 <fizzie> It might; mainly I was expecting to get a difference from the "separate local" bit.
10:00:39 <fizzie> It would have simplified !, for example, to just "top_value = !top_value" instead of "top[-1] = !top[-1]; STACK_CHECK_UNOP;".
10:01:21 <fizzie> I guess I should leave optimizing to the optimizer, though; just thought it might be worth a try.
10:04:27 <fizzie> It can't completely ignore the keyword, because it has to be illegal to apply & to something that has the register storage-class specifier. Other than that it could well ignore it.
10:06:36 <fizzie> (Or to be even more nit-picky, it has to cause a diagnostic message.)
10:08:36 -!- gm|lap has joined.
10:09:58 -!- GreaseMonkey has quit (Ping timeout: 258 seconds).
10:10:12 -!- gm|lap has changed nick to GreaseMonkey.
10:15:33 <Rugxulo> "leave optimizing to the optimizer"??? HELL NO!
10:15:34 <Rugxulo> ;-)
10:15:53 <Rugxulo> that's why we're in bloatville city, 'cause nobody optimizes anymore
10:16:31 <Rugxulo> this may be a bad example for modern / "enlightened" programming, but I've recently learned some Pascal
10:16:53 <Rugxulo> and heck, TP is fast and small ... beats a lot of other compilers (though doesn't optimize for speed very well, but you get the gist)
10:17:21 <Rugxulo> it's old and 16-bit and obviously deprecated, BUT!! they accomplished a lot with very little
10:28:48 <Rugxulo> long story short: with VP21 I can bind the TP55 (DOS, 8086-friendly) and Win32 (386+, HX-friendly) binaries together
10:29:24 <Rugxulo> argh, sorry, wrong channel ;-)
10:29:55 * Rugxulo sees topic ... "oracles", the database dudes?
10:34:24 -!- aschueler has quit (Quit: Lost terminal).
10:35:11 -!- aschueler has joined.
10:39:40 -!- Zetro has joined.
10:44:03 -!- hiato has joined.
11:12:20 -!- Rugxulo has left (?).
11:15:12 <AnMaster> Firefox can't find the server at www.youtube.com. <-- ?
11:15:33 <AnMaster> and now "500 Internal Server Error"
11:23:23 -!- hiato has quit (Quit: underflow).
11:38:11 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
12:36:28 -!- oerjan has joined.
12:53:24 <oerjan> 01:11:03 <pineapple> Y up is mathematical tradition
12:53:24 <oerjan> 01:11:12 <pineapple> Z up is Id tech tradition
12:53:41 <oerjan> um no math is definitely X east, Y north, Z up
12:53:52 <oerjan> (right handed)
12:54:13 <oerjan> <Sgeo> Y is up, X is west, Z is north
12:54:34 <oerjan> technically that's also a right-handed one
12:56:39 <oerjan> you can choose X and Y in arbitrary directions at 90 degrees of each other, then one of the choices for Z is left- and one is right-handed
12:58:08 -!- cheater99 has quit (Ping timeout: 240 seconds).
13:00:08 <oerjan> <fizzie> No, the proper verb is "was".
13:00:37 <oerjan> he made the mistake of going out in sunlight, and now he's a small finnish mountain range
13:05:55 -!- cheater99 has joined.
13:08:37 <oerjan> yay hobbit pun day
13:13:18 -!- Quadrescence has quit (Read error: Connection reset by peer).
13:16:15 -!- Quadrescence has joined.
13:31:49 -!- rodgort has quit (Ping timeout: 265 seconds).
13:37:23 -!- rodgort has joined.
14:34:40 -!- KingOfKarlsruhe has joined.
14:46:18 <AnMaster> oerjan, and left handed?
14:46:23 <AnMaster> what about it?
14:46:44 <AnMaster> and why do mathematicians prefer right handed?
14:46:55 <oerjan> just reverse the direction of any one of the axes
14:47:11 <AnMaster> oerjan, and for the second question?
14:47:14 <oerjan> convention?
14:47:36 <AnMaster> oerjan, there are no specific reasons? IIRC there was something with vector product?
14:48:01 <oerjan> well but that's just the same convention
14:48:16 <AnMaster> oerjan, that is, vector product being simpler in right handed or something
14:48:29 <oerjan> there's no fundamental mathematical reason why we couldn't have chosen left handed instead
14:48:43 <AnMaster> hm
14:49:42 <oerjan> in fact there's a thought experiment about communicating with aliens...
14:50:01 <AnMaster> oh?
14:50:04 <AnMaster> oerjan, what about it
14:50:43 * AnMaster waits for oerjan's duck to finish typing ;P
14:51:03 <oerjan> hm i think they might have to be in another universe for the full effect, but anyway
14:51:36 <oerjan> it's hard to actually communicate to the aliens _which_ way we consider left and which we consider right handed
14:51:50 <AnMaster> hm
14:51:57 <oerjan> without a common physical reference point
14:52:04 <AnMaster> oerjan, an image?
14:52:29 <AnMaster> assuming they use visual stuff
14:52:36 <oerjan> how would you transmit such an image, assuming you had just a bit channel?
14:52:50 <AnMaster> oerjan, as a bitmap?
14:53:05 <AnMaster> black and white I presume
14:53:27 <oerjan> ah but how would you tell them which directions the bitmap should be laid out in?
14:53:41 <AnMaster> oerjan, well that is 2D isn't it?
14:54:01 <AnMaster> so you make a frame or such to indicate the width/height
14:54:13 <AnMaster> that means it can be laid out in two ways, they will get an image that can be rotated
14:54:33 <AnMaster> from the frame they can see it match up only in one way
14:55:14 <AnMaster> then depict a 3D rendering of a coordinate system
14:55:21 <oerjan> ah but how would they know they hadn't accidentally constructed the mirror image instead?
14:55:22 <AnMaster> showing the axis
14:55:34 <AnMaster> oerjan, how do you mean?
14:55:51 <AnMaster> how would that be possible I mean
14:56:36 <AnMaster> either you could confuse x with y in the image, in which case you would get garbage out
14:56:50 <AnMaster> or you could rotate the thing by 90°
14:56:59 <oerjan> well let's say the aliens count x axis as pointing the opposite way of ours...
14:57:00 <AnMaster> hm wait, you could start from bottom or from top
14:57:04 <AnMaster> good point
14:57:23 <AnMaster> oerjan, okay then, make a coordinate system using our galaxy and some of the close ones
14:57:30 <AnMaster> in right handed
14:57:42 <oerjan> that would be a common physical reference point yeah
14:58:32 <oerjan> now imagine the communication is through a tiny wormhole into a different spacetime...
14:58:52 <AnMaster> oerjan, but don't you think it would be easier to send an image of a person pointing to the right hand saying "right" in klingon? After all, we all know aliens are mostly just like humans + bad masks ;P
14:59:25 <oerjan> by that argument, we also know there are plenty of mirror universes :D
14:59:33 <AnMaster> true
15:00:14 <AnMaster> oerjan, anyway, I think that before establishing math stuff it might be better to establish language
15:00:33 <oerjan> oh i was sort of assuming that was done already
15:00:37 <AnMaster> ah
15:01:07 <AnMaster> oerjan, does it matter which way around the axis are put though
15:01:19 -!- BeholdMyGlory has joined.
15:01:28 <oerjan> if you reverse one axis, you reverse handedness
15:01:44 <AnMaster> oerjan, yep and? why is it important
15:02:22 <AnMaster> oerjan, also, is there any way except using physical reference points?
15:03:02 <AnMaster> oerjan, hm, what about molecules, describe the left/right handed variants there + their effects?
15:03:21 <AnMaster> oerjan, possibly with the process for making one of them (but not getting the other)
15:03:29 <AnMaster> this would work assuming chemistry is the same
15:03:59 <AnMaster> oerjan, problem solved :)
15:04:06 <oerjan> no molecules won't work, you could easily make molecules mirrored and they would be practically indistinguishable as long you also mirrored everything you use to test them
15:04:32 <AnMaster> oerjan, hm
15:05:18 <AnMaster> oerjan, then what is the solution?
15:05:22 <oerjan> btw there's a book about this stuff, "The ambidextrous universe"
15:06:04 <oerjan> there is, probably, a way using fundamental physical laws, assuming their spacetime has the same ones. there are subtle particle physics differences between left and right
15:06:56 <oerjan> http://en.wikipedia.org/wiki/The_Ambidextrous_Universe this is what gardner called the ozma problem
15:08:45 <oerjan> i believe there are even newer differences found that work even for the antimatter case mentioned in the final paragraph (so called CP violation)
15:09:37 <oerjan> hm wait that isn't that new either
15:09:44 <oerjan> (1964)
15:10:07 <oerjan> heh same year as the original book
15:11:46 <AnMaster> hm
15:16:41 -!- Zetro has quit (Ping timeout: 265 seconds).
15:16:45 -!- lament has joined.
15:17:44 -!- cpressey has joined.
15:40:52 -!- oerjan has quit (Quit: Good night).
15:41:36 -!- MizardX has quit (Ping timeout: 276 seconds).
15:47:50 <AnMaster> 16:40:29 * oerjan has quit (Quit: Good night)
15:47:57 <AnMaster> and he is in my timezone...
16:19:40 <Gregor> Are you making fun of your country's senior citizens?
16:19:42 <Gregor> Tisk tisk.
16:20:56 -!- Phantom_Hoover has joined.
16:21:08 <Phantom_Hoover> I have a weird urge to install OpenSolaris.
16:21:12 <Phantom_Hoover> Someone talk me out of it.
16:22:32 <Gregor> DOIT
16:22:32 <Gregor> DOIT
16:22:44 <Gregor> Then watch it stagnate and cryyyyyyyyyyyy
16:23:13 <Phantom_Hoover> Go on.
16:23:45 <Gregor> The Oracle hath seen OpenSolaris' demise.
16:23:51 <Gregor> (GET THE PUN OMG)
16:24:00 <Gregor> You can see its final days!
16:24:08 <Phantom_Hoover> Really?
16:24:15 <Phantom_Hoover> Oracle are shutting it down?
16:24:27 <Gregor> Officially nothing has been said.
16:24:34 <Phantom_Hoover> Unofficially?
16:24:48 <Phantom_Hoover> Also, how do you shut down an open-source project?
16:24:58 <Phantom_Hoover> People will still work on it if interested.
16:25:07 <Gregor> OpenSolaris is about as open as Darwin.
16:25:25 <Gregor> Which is to say, uselessly open. Well, I guess by now they actually have a full boot process that's open ... that's "something"
16:25:40 <Gregor> Anyway, unofficially, NOTHING has been said. With emphasis. Nobody finds that promising :P
16:29:19 <Phantom_Hoover> OpenSolaris at least has a couple of 3rd-party distributions.
16:29:25 <Phantom_Hoover> Darwin doesn't.
16:31:36 -!- augur has quit (Ping timeout: 264 seconds).
16:33:09 <Phantom_Hoover> Hmm, it does seem to be stagnating.
16:33:31 <Phantom_Hoover> Since 10.03 hasn't seen the light of day
16:53:21 -!- lament has quit (Ping timeout: 265 seconds).
17:10:54 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
17:17:52 <uorygl> Who's this Per Borgman guy?
17:18:28 <Phantom_Hoover> Honestly, I need an OS to play with.
17:18:33 <Phantom_Hoover> Wait, *BSD.
17:18:40 <Phantom_Hoover> Why didn't I think of that?
17:36:35 -!- cal153 has quit (Read error: Connection reset by peer).
17:46:42 -!- tombom has joined.
17:52:15 -!- cal153 has joined.
18:16:13 -!- augur has joined.
18:43:49 <cheater99> herlo
18:43:54 <cheater99> how is everyone?
18:47:11 * Sgeo needs to learn to write less-fragile code
18:47:18 -!- pikhq has joined.
18:49:50 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
18:52:39 <cpressey> [====80%= ] finished my latest esolang.
18:52:51 <pikhq> Whoo.
18:53:13 -!- KingOfKarlsruhe has joined.
18:53:22 <Sgeo> Speccing, or implementation?
18:53:53 <cpressey> It at that "find just the right semantics to add to make it Turing-complete, without making it so powerful it's not interesting or so barely-powerful-enough that you're stuck writing tag systems in it."
18:54:06 <Sgeo> tag programs?
18:54:12 <cpressey> Sgeo: Both. I got to a nice point in the spec, so I implemented what I had so far.
18:54:46 <cpressey> http://en.wikipedia.org/wiki/Tag_system
18:56:38 <cpressey> I've got nothing against tag systems, but... I keep thinking there's got to be something which is a more idiomatic fit with what I'm doing. Something more like simple machine language programming actually, like a 6502.
18:56:51 <cpressey> Anyway, that's what I'm up to, eso-wise.
19:02:08 -!- Phantom_Hoover has joined.
19:09:08 <AnMaster> fizzie, there? panorama ahead
19:09:37 <AnMaster> fizzie, this is scaled to 30% http://omploader.org/vNGx0Mw
19:11:14 <AnMaster> fizzie, 2*pi radians
19:11:16 -!- myndzi has joined.
19:13:48 -!- myndzi\ has quit (Ping timeout: 240 seconds).
19:16:04 <AnMaster> fizzie, I'm well aware of the ghost in it.
19:16:59 <fizzie> Your HOUSE is HAUNTED, eh?
19:17:00 <fizzie> Nicey. I should probably some day try to capture the view from our balcony.
19:17:34 <AnMaster> fizzie, XD
19:17:51 <AnMaster> fizzie, well there is me behind the camera being reflected in the windo
19:17:54 <AnMaster> window*
19:18:05 <AnMaster> fizzie, very fuzzy and you need to zoom to see it
19:18:23 <AnMaster> fizzie, want the full 73 MB deflate compressed tiff? 8 bits per channel
19:18:54 <AnMaster> (the window that is split across the edge that is)
19:19:00 -!- leBMD has joined.
19:19:26 <fizzie> I'm not so sure I exactly need that, it's not like I'm planning to make a poster out of it or anything.
19:22:50 <AnMaster> fizzie, ah good, it is CC-by-nc-nd
19:23:05 <AnMaster> (contact author for other licensing options)
19:23:27 <AnMaster> put it in the jpeg comment
19:24:35 -!- ais523 has joined.
19:30:38 <fizzie> Hrm. We got this gift card (the usual credit-card-sized magneto-strip card) to a consumer-electronics/domestic-appliances/etc. store when purchasing a refrigerator back in summer 2008. The card has "valid for three years" printed on it, but now when we planned to go use it, turns out the store has refocusionized their core competences, and now only sell stuff via their webshop; all their physical retail outlets have been closed.
19:31:03 <fizzie> I'm lacking suitable slots to stick the card in, and I doubt it'd work very well even if I had a stripe-reader.
19:31:09 <ais523> contact customer service and threaten to sue them; don't actually plan to make good on your threat
19:31:19 <ais523> but they'll likely give you your discount anyway just to get you to stop annoying them
19:31:57 <fizzie> I sent a reasonably friendly "how does this work?" email to customer service already; guess I can still start to be annoying if they're uncooperative.
19:33:07 <fizzie> I'm not sure how they're going to validate the amount of money the gift card has, though. Possibly they still have some sort of a database of those. I doubt they'll just believe my word.
19:33:44 <fizzie> I guess they might, though, since it's only 30 eur.
19:36:14 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
19:38:14 <fizzie> The store's also been bought (or maybe it even originally was owned) by a Norwegian corporation (Elkjøp; itself part of a larger British corporation, DSG International plc, but that's probably not relevant any more), which also owns another Finnish consumer-electronics brand (Gigantti) that still has existing physical locations; it's borderline possible their gift card systems are compatible. (At least their webshops seem to run the
19:38:14 <fizzie> same code.)
19:39:24 <AnMaster> fizzie, is "Gigantti" related to Swedish "El-giganten" in any way?
19:40:00 <fizzie> It could be.
19:40:24 <fizzie> The websites look suspiciously similar, at least.
19:40:33 <fizzie> http://www.elgiganten.se/ vs. http://www.gigantti.fi/
19:40:47 <fizzie> Both seem to be part of Elkjøp.
19:41:06 <AnMaster> yes I guess they are related
19:41:38 <AnMaster> fizzie, doesn't the Finnish one have any Swedish part?
19:41:47 <AnMaster> I thought most stuff was dual-language in Finland?
19:42:01 <fizzie> Everything official is.
19:42:14 <AnMaster> ah so just govt?
19:42:25 <fizzie> Not very many corporations (at least those with complicated websites) bother with a whole Swedish localization.
19:43:22 <AnMaster> what stops fake sites from displaying those "verified by VISA" images?
19:43:36 <AnMaster> nothing, right?
19:43:48 <AnMaster> so utterly pointless
19:44:33 <fizzie> You probably notice it when they start asking for credit card number instead of redirecting to the verified-by-VISA systemagics, though.
19:44:54 <AnMaster> ah
19:45:01 <AnMaster> never used it
19:45:02 <AnMaster> so meh
19:45:15 <AnMaster> fizzie, would your average windows user notice though?
19:45:16 <AnMaster> bet not
19:45:38 <fizzie> Well, if the card is set to verified-by-VISA-only, they also can't charge the card without going through it.
19:45:58 <AnMaster> hm, well sure, but that is charging
19:46:01 <fizzie> I don't quite recall the specifics, but I think the point there is that it redirects at one point to the issuing bank's own web-store, which will then ask for the usual online-banking credentials before authorizing the payment.
19:46:05 <AnMaster> which is different, no?
19:46:14 <AnMaster> hm
19:47:26 <fizzie> I would assume most VISA cards are set to "allow generic online shopping too", though, in which case I guess it is pretty pointless.
19:48:10 <fizzie> The (now discontinued) "VISA Electron" cards given out by several Finnish banks were set to "only work online for shops that do Verified-by-VISA".
19:48:36 <fizzie> Which is a bit annoying, since at least amazon.com/de/co.uk/whatever didn't do verified-by-VISA.
19:49:01 <fizzie> In any case, there's more than just a random bitmap.
19:49:24 <cpressey> http://catseye.tc/cpressey/louie.html#Goldbach
19:49:33 <fizzie> I think MasterCard has an identical thing, too... SecureCode or somesuch.
19:49:52 <fizzie> Right, http://en.wikipedia.org/wiki/3-D_Secure
19:50:46 -!- Phantom_Hoover has joined.
19:52:37 <fizzie> (What a pretentious name.)
19:59:05 <Phantom_Hoover> Ah, I love header spoofs.
20:00:16 <leBMD> Did I ever tell you about that time with that one girl and the glow-in-the dark paint?
20:00:56 <cpressey> moveobjects on
20:01:01 <cpressey> sry, wrong wndw
20:01:05 <cpressey> :D
20:01:09 <AnMaster> fizzie, 3D?
20:02:16 <fizzie> Three domains, not three dimensions.
20:06:14 <AnMaster> ah
20:12:37 <ais523> wow Chromium is ugly
20:12:56 <ais523> after getting my site working in IE6, I'm trying various other browsers
20:13:17 <cpressey> IE6, wow
20:13:30 <ais523> didn't manage to get IE7 working, so I had to test in IE6
20:13:40 <ais523> not that much needed changing, actually
20:13:50 <ais523> it was mostly an insane workaround for some insane bugs I needed
20:13:58 <cpressey> IE6 is pretty drain-bamaged
20:14:08 <cpressey> Microsoft is trying hard to kill it
20:14:33 <cpressey> Since most web development just ignores it at this point anyway
20:14:34 <ais523> here, say e is a <select> element: e.innerHTML = '<option value="x">y</option>' will set its innerHTML to... 'y</option>'
20:14:41 <ais523> I don't have any idea how you can manage that
20:15:30 <ais523> what's confusing me now is whether IE7 has the same problem
20:15:49 <ais523> as the only fix I could find for that bug was to condition it on the useragent string
20:16:00 <ais523> and to replace the HTML of the parent element instead of the select element itself
20:16:17 <ais523> I know the bug with replacing the HTML of a <tbody> element in IE6 exists in IE7 and IE8 as well
20:16:22 <ais523> but I'm not sure about that one
20:17:54 <ais523> hmm, this seems to work in Chromium but not Epiphany, I must have hit a bug in Epiphany
20:18:46 -!- MigoMipo has quit (Read error: Connection reset by peer).
20:19:17 -!- MigoMipo has joined.
20:19:29 <ais523> ooh, 'tis a known bug in IE6: http://support.microsoft.com/kb/276228
20:19:44 <ais523> heh, no
20:19:47 <ais523> it's a known bug in IE5
20:22:29 <ais523> websearch implies it's in IE6 and IE7 as well, I've verified IE6 by hand
20:22:43 <ais523> next question: does it also happen in IE8?
20:24:02 <Sgeo> Link me
20:24:15 <ais523> http://alexle.net/archives/150
20:24:41 <Sgeo> As in, to a page that lets me test if IE8's buggy. I have IE8 on here
20:24:50 <ais523> ah, let me quickly write one
20:25:47 * Sgeo waits for IE to start
20:26:51 -!- leBMD has quit (Quit: ChatZilla 0.9.86 [Firefox 3.0.13/2009073022]).
20:28:22 -!- MigoMipo has quit (Read error: Connection reset by peer).
20:28:54 -!- MigoMipo has joined.
20:29:18 -!- MigoMipo has quit (Read error: Connection reset by peer).
20:29:52 -!- MigoMipo has joined.
20:31:20 -!- augur has quit (Ping timeout: 265 seconds).
20:32:06 * Deewiant sighs at Microsoft's CSS
20:32:32 <Deewiant> They put "width: 1px" on the <pre> in their code listings
20:32:57 <Deewiant> Which handily breaks my global setting of "white-space: pre-wrap"
20:33:51 <fizzie> They want to save on bandWIDTH costs, ehe-eeh-he-eh-hee.
20:34:02 <fizzie> (Sorry.)
20:34:06 <Deewiant> >_<
20:35:35 <ais523> Sgeo: "data:text/html,%3Chead%3E%3Cscript%3Efunction%20q()%7Bdocument.a.b.innerHTML='%3Coption%20value=%22y%22%3Ex%3C/option%3E';%7D%3C/script%3E%3C/head%3E%3Cbody%3E%3Cform%20name=%22a%22%3E%3Cselect%20name=%22b%22%3E%3Coption%20value=%22x%22%3Ey%3C/option%3E%3C/select%3E%3C/form%3E%3Ca%20href=%22javascript:q();void(0)%22%3Etest%3C/a%3E%3C/body%3E"
20:35:37 <Deewiant> So now I have an exception for support.microsoft.com pre.code as well as developer.apple.com pre.manpages
20:35:43 <ais523> the bit betwen the quotes is the URI
20:35:49 <ais523> (IE8 accepts data: URLs, doesn't it?)
20:36:01 <fizzie> Deewiant: Have some funny-looking sunlight: http://zem.fi/~fis/kazoom.jpg
20:36:04 <Deewiant> I think IE8 does
20:36:08 <Deewiant> But not other IEs
20:36:16 <Sgeo> But XChat doesn't like copy/paste
20:36:29 * Sgeo goes to logs
20:36:30 <ais523> and yet doesn't autolink data: URIs?
20:36:36 <ais523> http://data:text/html,%3Chead%3E%3Cscript%3Efunction%20q()%7Bdocument.a.b.innerHTML='%3Coption%20value=%22y%22%3Ex%3C/option%3E';%7D%3C/script%3E%3C/head%3E%3Cbody%3E%3Cform%20name=%22a%22%3E%3Cselect%20name=%22b%22%3E%3Coption%20value=%22x%22%3Ey%3C/option%3E%3C/select%3E%3C/form%3E%3Ca%20href=%22javascript:q();void(0)%22%3Etest%3C/a%3E%3C/body%3E
20:36:41 <ais523> delete the http:// once it's in your browser
20:36:52 <Deewiant> fizzie: Cheers
20:36:57 <Sgeo> I copy/pasted from logs
20:37:02 <ais523> ah, ok
20:37:03 <Sgeo> "The webpage cannot be displayed"
20:37:17 <ais523> seems it doesn't like data: URIs after all, maybe that's IE9
20:37:18 <fizzie> According to http://en.wikipedia.org/wiki/Data_URI_scheme there are some restrictions in IE8's support for them.
20:37:37 <ais523> I'll pastebin the HTML, so you can save it locally and run from there
20:38:27 <ais523> http://pastebin.ca/raw/1883125
20:39:34 <ais523> Sgeo: ^
20:39:39 <cheater99> hello
20:39:45 <ais523> hi
20:39:49 <Sgeo> "To help protect your security, Internet Explorer has restricted ..."
20:40:00 <cheater99> what's up sweeties <π
20:40:08 <ais523> Sgeo: oh, right
20:40:16 <Sgeo> I unblocked it
20:40:17 <ais523> IE considers scripts on your own computer untrustworthy by defaults
20:40:22 <Sgeo> What's supposed to happen?
20:40:24 <ais523> but scripts elsewhere on the internet trustworthy
20:40:32 <ais523> when you click the link, the dropdown's meant to change from y to x
20:40:42 <Sgeo> It went blank
20:40:52 <ais523> ok, that's the symptom of the same bug
20:41:08 <ais523> looks like I should condition the fix on being any version of IE, then
20:41:19 <Deewiant> <= 8
20:41:35 <ais523> Deewiant: the bug's persisted since IE5
20:41:41 <ais523> should I assume by default that it'll be fixed come IE9?
20:41:59 <ais523> or is it wiser to assume that IE9 will also screw this up?
20:42:07 <Deewiant> What about IE12?
20:42:34 <ais523> hmm, perhaps
20:42:51 <ais523> the alternative would be testing somewhere in a display:none area of the page
20:43:00 <Sgeo> Remind me to never become a web developer doing frontend stuff
20:43:08 <Deewiant> I'd say it's wiser to assume a bounded number of releases fail
20:43:20 <Deewiant> The question just becomes what bound you guess ;-)
20:43:22 <fizzie> Maybe they could call the tenth one IE-X?
20:43:28 <fizzie> It's X-X-Xtreme.
20:43:28 <ais523> is IE9 beta out yet?
20:43:50 <Deewiant> fizzie: They have to, because 1 < 9 and IE10 would break a lot of stuff
20:44:01 <Deewiant> Unless they just want to lie in their user-agent like Opera
20:44:19 <ais523> Windows 3.95? Windows 6.1?
20:44:48 <Deewiant> Windows 6.1 = Windows 7
20:45:06 <ais523> and windows 3.95 = windows 95
20:45:16 <Sgeo> What's XP?
20:45:22 <ais523> 4.0 IIRC
20:45:23 <Deewiant> 5.1
20:45:27 <ais523> ah, right
20:45:31 <Deewiant> Windows 4.0 is Windows 4.0
20:45:38 <Deewiant> http://en.wikipedia.org/wiki/Windows_NT_4.0
20:45:40 <Sgeo> What's ME?
20:45:51 <Deewiant> 4.9 I think
20:46:00 <fizzie> 4.9 I also think.
20:46:08 <ais523> Microsoft chooses version numbers for Windows that minimise the number of badly-written applications that crash on the version number
20:46:15 <Deewiant> 4.90, actually
20:46:20 <Deewiant> Which may or may not be different
20:46:29 <fizzie> It will be somewhat interesting to see what Windows 8 will be "in reality".
20:46:49 <Sgeo> Why not call Windows 7 Windows 6?
20:47:01 <Sgeo> Or why use 6.1 for 7's version number?
20:47:09 <ais523> they picked 7 just to have a nice-sounding name, IIRC
20:47:18 <fizzie> Vista was 6.0 already, so it can't be "Windows 6".
20:47:29 <fizzie> There was that "Why 7" article.
20:47:32 <Sgeo> Why not 7.0 for the version number
20:47:42 <Deewiant> Because it's not different enough to Vista
20:47:48 <fizzie> http://windowsteamblog.com/windows/archive/b/windowsvista/archive/2008/10/14/why-7.aspx
20:47:52 <Deewiant> http://en.wikipedia.org/wiki/Microsoft_Version_Number
20:47:53 <ais523> Sgeo: because of the number of applications written for Vista that refuse to run on anything but "windows 6"
20:48:04 <Sgeo> That's nutty.
20:48:09 <Deewiant> Are there still apps like that?
20:48:11 <ais523> yes
20:48:15 <ais523> the mistake happens year after year
20:48:19 <ais523> and Microsoft keep pandering to it
20:48:19 <Deewiant> I'd think that these days, apps have cleverer detection
20:48:22 <Deewiant> Meh
20:48:53 <Sgeo> The API shouldn't allow detection of the version of Windows, maybe
20:49:01 <Deewiant> Have to: backwards compatibility
20:49:15 <ais523> maybe apps just shouldn't try to detect
20:49:24 <Deewiant> Because 15-year old apps do it, you have to allow it
20:49:27 <ais523> no app I know of, other than some drivers, tries to detect a Linux version
20:49:36 <Deewiant> Of course they shouldn't
20:49:39 <Deewiant> But they do, so you're screwed
20:50:02 <Sgeo> Wawait
20:50:03 <Deewiant> Exploits usually check uname first, I think
20:50:08 <Sgeo> Windows 3.1 == Windows NT?
20:50:12 <Deewiant> Nope
20:50:19 <ais523> two entirely different codebases
20:50:24 <ais523> neither is derived from the othe
20:50:26 <ais523> *other
20:50:27 <Deewiant> There was a Windows NT 3.1, though
20:50:36 <ais523> also, Windows NT is a kernel, compared to Windows 3.1 which is a full OS
20:51:13 <Deewiant> Windows NT is also a (family of) full OS(s)
20:51:57 <ais523> isn't Windows Server the OS?
20:52:13 <Deewiant> Windows Server is a number of OSs
20:52:36 <Deewiant> But, for example, Windows NT 3.1 was an OS.
20:52:43 <Deewiant> I think it was just called "Windows NT" back then.
20:54:08 -!- augur has joined.
20:56:10 <fizzie> There's a fair bit of arbitraryness between marketing names and numbers there. The non-server side went Vista -> Windows 7 and code-versions 6.0 -> 6.1, while the 6.0 server was "Windows Server 2008" and the 6.1 is "Windows Server 2008 R2".
20:56:30 <Deewiant> Yep.
20:57:44 <fizzie> Let's see if Windows 8's server counterpart (released in 2012 or so, most likely) will be "Super Windows Server 2008 R2 Turbo".
20:57:58 <Deewiant> :-)
20:58:52 <ais523> why the hell does Opera install a system tray icon?
20:59:12 <Deewiant> So that you know when it's running
20:59:13 <ais523> only while running, though
20:59:26 <ais523> in Windows, I wouldn't notice, but in Linux, that's crazily out of place
21:00:42 <Phantom_Hoover> XChat does that.
21:00:58 <Phantom_Hoover> As does RhythmBox.
21:01:15 <Phantom_Hoover> And quite a few KDE apps.
21:02:06 <fizzie> That one Gnome music thing.
21:02:09 <fizzie> Banshee.
21:02:25 -!- augur has quit (Ping timeout: 240 seconds).
21:02:46 <fizzie> (It makes some bits of sense since it's somewhat useful for controlling the player without bothering to look at it. And it's optional.)
21:03:28 <ais523> yep, Konversation does it optional as a visible highlight, that's what I use it for
21:03:50 <ais523> and for Rhythmbox it makes sense because it's the sort of program that you probably want to minimize to the system tray
21:04:09 <fizzie> Bittorrent clients have a habit like that too.
21:04:11 -!- augur has joined.
21:06:52 -!- kar8nga has joined.
21:08:01 -!- Oranjer has joined.
21:09:48 <ais523> hmm, I wonder why Ubuntu Software Centre can't uninstall software installed directly from the .deb?
21:09:56 <ais523> I used dpkg to uninstall it, in the end
21:10:28 <fizzie> Possibly they want to discourage you from bypassing the Software Centre.
21:10:43 <fizzie> Do they already put commercial apps in the Centre?
21:10:47 <ais523> well, Opera isn't in the Software Centre (non-free, after all)
21:10:51 <ais523> and they don't yet, they're planning to though
21:11:05 <ais523> there are a few non-free apps there, like the Flash installer
21:11:05 <fizzie> I remember it was supposed to become an App Store-ish thing.
21:11:18 <ais523> I'm not sure what criteria they use to decide whether to put something there
21:11:37 <ais523> anyway, the webapp worked straight off in Opera (I'd already checked Firefox, IE6, and Chromium)
21:11:47 <ais523> and then I uninstalled Opera because it was too annoying
21:11:56 <ais523> never known a browser to get on my nerves in less than a minute, even IE doesn't do that
21:12:05 <AnMaster> who use the software center?
21:12:10 <AnMaster> I use apt-get or aptitude
21:12:16 <AnMaster> sometimes synaptic
21:12:37 <ais523> AnMaster: the interface is a lot nicer than synaptic, and the featureset is catching up
21:13:22 * Phantom_Hoover wonders if he is going to bother storming out in indignation if they make the Software Centre into an app store.
21:13:24 <AnMaster> ais523, so you can search for packages like libmudflap0-4.3-dev?
21:13:38 <AnMaster> or is it like the old gnome thingy that it just show "end user" apps?
21:13:44 <AnMaster> ais523, in the latter case it is worthless
21:13:44 <fizzie> I installed chromium (for some reason I don't quite recall), and suddenly my "sensible-browser" became it. Apparently it's because both "firefox" and "chromium-browser" are alternatives to gnome-www-browser, with the same priority (40).
21:13:57 <AnMaster> ais523 also I find synaptic very lacking. doesn't even allow regex search
21:14:01 <ais523> typed in "libmudflap" and got a menu full of mudflap libraries
21:14:14 <AnMaster> ais523, -dev and -dbg packages too?
21:14:14 <ais523> including the one you mentioned
21:14:16 <ais523> yup
21:14:24 <AnMaster> ais523, also I'm not sure of the exact spelling
21:14:26 <AnMaster> just something like it
21:14:29 <AnMaster> is all I remembered
21:14:41 <ais523> you remembered right, as it happens
21:14:47 <AnMaster> heh
21:15:13 <AnMaster> ais523, so does it allow you to mark a package installed as a dep as manually installed?
21:15:17 <AnMaster> I use aptitude for it
21:15:23 <AnMaster> since synaptic doesn't seem to do it
21:15:38 <AnMaster> and the reverse of course
21:15:46 <ais523> to mark as manually installed, you just install the package
21:15:52 <ais523> despite it already being installed
21:15:54 <ais523> IIRC
21:15:59 <ais523> but that was with aptitude
21:16:03 <AnMaster> ais523, that iirc forces a reinstall
21:16:09 <ais523> nope
21:16:43 <AnMaster> but aptitude is annoying, it wants to automatically remove "unneeded deps" right away
21:17:03 <AnMaster> I prefer for that to be a manual action, especially during post-upgrade cleanup
21:17:29 <AnMaster> ais523, anyway I managed to get rid of all the annoying stuff with the new gdm
21:17:49 <ais523> hmm, your approach to managing a computer seems so much different from mine
21:18:04 <AnMaster> long live: DISPLAY=:0.0 sudo -u gdm gconf-editor
21:18:15 -!- coppro has joined.
21:18:21 <AnMaster> (from a vt, logged in as root)
21:18:29 <AnMaster> (with X at login screen)
21:18:33 <AnMaster> ais523, what do you mean?
21:18:37 <AnMaster> ais523, I hate splash screens
21:18:54 <AnMaster> ais523, the next step is to replace the ubuntu icon with the gnome icon for the main menu
21:19:00 <ais523> I very rarely spend time tweaking to that level
21:19:29 <AnMaster> ais523, I don't want the "user browser" of the new gdm. I just want username/password fields
21:19:33 <ais523> only real tweak I've done here is modifying the 'registry' to give me the window menu back and put the window close button in the correct corner
21:19:33 <AnMaster> better for security
21:19:48 <AnMaster> well, I done that too of course
21:20:03 <AnMaster> ais523, also I changed login screen to clearlooks
21:20:05 <AnMaster> and so on
21:20:13 <AnMaster> it looks quite nice now
21:20:19 <AnMaster> ais523, and there is no splash at all
21:20:29 <AnMaster> none of the new pink/lilac stuff
21:23:27 <AnMaster> ls
21:23:28 <AnMaster> err
21:23:30 <AnMaster> wrong window
21:24:16 <ais523> `ls
21:24:26 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.4845 \ wunderbar_emporium
21:26:32 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
21:27:00 <AnMaster> `help
21:27:01 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:27:31 <AnMaster> `file cube2.jpg
21:27:32 <HackEgo> cube2.jpg: JPEG image data, JFIF standard 1.01
21:27:58 <fizzie> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/cd0481bbc230/cube2.jpg if you want to see it.
21:28:00 <fizzie> It's that cat.
21:28:10 <AnMaster> fizzie, couldn't figure out how to get the raw thing
21:28:13 <AnMaster> from the UI
21:28:33 <fizzie> It's the "raw" link, bottom-most in the left side when viewing the file entry.
21:28:35 <AnMaster> fizzie, nice one
21:28:45 <coppro> http://wilwheaton.typepad.com/.a/6a00d8341c59aa53ef013484143d63970c-800wi
21:28:56 <AnMaster> fizzie, photoshopped I presume?
21:29:13 <fizzie> The help.txt is not very helpful. :/
21:30:20 -!- coppro has quit (Remote host closed the connection).
21:32:14 <cheater99> nuke the whales!
21:32:22 <cheater99> fizzie: are you alise
21:32:36 <fizzie> Very much a negative.
21:39:35 -!- coppro has joined.
21:52:23 <Phantom_Hoover> coppro!
21:52:46 <coppro> Phantom_Hoover!
21:52:56 <AnMaster> night
21:53:01 <Phantom_Hoover> coppro!!
21:53:11 <coppro> Phantom_Hoover!!
21:53:23 <Phantom_Hoover> Nonono.
21:53:27 <Phantom_Hoover> FIBONACCI.
21:53:37 <coppro> oh :(
21:53:39 <Phantom_Hoover> You have RUINED it.
21:53:56 <coppro> damn you, Leonardo
21:55:30 -!- kar8nga has quit (Ping timeout: 248 seconds).
21:58:50 -!- cpressey has left (?).
22:07:58 -!- iamcal has joined.
22:09:52 -!- cal153 has quit (Ping timeout: 258 seconds).
22:26:31 <Phantom_Hoover> There must be something somewhere where you can input a C file online, then it will be compiled and you ca download it,
22:26:58 <Phantom_Hoover> Oh, there is.
22:32:59 -!- Gregor-P has joined.
22:33:45 <Gregor-P> pikhq: Blar why aren't you in #plof
22:39:22 <ais523> hmm, it seems the Twitter Fail Whale has a smaller filesize in gzipped CSS than it does as a .PNG
22:39:38 <ais523> http://www.subcide.com/experiments/fail-whale/
22:40:44 <ais523> a nicely eso idea
22:40:52 <pikhq> Gregor-P: Because
22:46:00 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:51:45 -!- GreaseMonkey has joined.
22:52:26 -!- cpressey has joined.
22:53:11 <cpressey> "common paranormal"
22:53:42 <cpressey> You know, those perfectly normal paranormal events.
22:54:31 <Gregor-P> I considered using that exact phrase, then decided it was too stupid :P
23:02:09 * Sgeo wants to see a language that looks like a normal programming language but isn't TC
23:02:23 <Sgeo> [C doesn't count, but I don't know how to properly express that]
23:03:19 <Sgeo> It should be fundamentally be unable to interpret BF
23:04:32 <cpressey> You could define a language with the exact syntax of, say, Pascal, but with no semantics.
23:05:10 <cpressey> Where, like, BEGIN Var := 5; END; is a perfectly valid fragment of code, it just doesn't mean anything.
23:05:12 <Sgeo> That's not what I'm going for either, really :/
23:05:32 <Sgeo> More in a style of subtle limitations, say, in how loops wormk
23:05:34 <Sgeo> *work
23:06:15 <pikhq> So... Total functional programming?
23:06:28 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
23:06:32 <pikhq> (like normal functional programming, except "bottom" does not exist.)
23:07:29 <Sgeo> Hm, maybe
23:08:00 <Sgeo> I think that's more subtle than my idea of imperitive, with no while and a limited for
23:08:37 <pikhq> It can only compute terminating functions.
23:09:00 <cpressey> The imperative equivalent would be, only FOR loops, no WHILE.
23:09:04 <Sgeo> So, how does one mkae a total functional language?
23:09:04 -!- GreaseMonkey has joined.
23:09:16 <pikhq> cpressey: Except that a for loop can do while.
23:09:30 <pikhq> for(; x;) is the same as while(x)
23:09:30 <cpressey> pikhq: ... you know what I mean. I hope.
23:09:39 <cpressey> Not C's FOR. That's not a FOR loop.
23:09:47 <pikhq> Mmkay. :P
23:09:50 <cpressey> Or rather, "Not C's for(;;)"
23:10:09 * ais523 just typoed "instruction" as "extrunction"
23:10:36 <ais523> Sgeo: have you seen Idealized Concurrent Algol?
23:10:46 <Sgeo> Never heard of it
23:10:48 <ais523> it's what I work with at Work, and sub-TC
23:10:50 <ais523> *at work
23:11:04 <ais523> mostly because it has no way to allocate infinite memory
23:11:13 <fizzie> Wasn't at least one of Hofstadter's Bloop/Floop/Gloop triplet sub-TC, exactly with the "imperative but bounded loops only" thing.
23:11:15 <ais523> nor any way to do recursion (other than while loops, which are technically recursion)
23:11:22 <ais523> fizzie: yep, BLooP was
23:11:28 <ais523> FLooP was TC, GLooP didn't exist
23:11:38 <fizzie> Rright.
23:12:30 -!- tombom has quit (Quit: Leaving).
23:12:48 <cpressey> "while loops, which are technically recursion"
23:12:49 <Sgeo> Bloop/Floop?
23:13:15 <fizzie> http://en.wikipedia.org/wiki/BlooP_and_FlooP has some examples.
23:13:18 <ais523> cpressey: computer scientists have a lambda-calculus-centred mind
23:13:21 <ais523> *centerd
23:13:23 <ais523> *centered
23:13:31 <ais523> and thus consider any form of looping to be recursion
23:13:52 -!- augur has quit (Remote host closed the connection).
23:14:15 -!- augur has joined.
23:18:09 <cpressey> btw, in case I didn't make it obvious previously, and I don't think I did, I added several languages-that-weren't to LoUIE: http://catseye.tc/cpressey/louie.html
23:18:52 <cpressey> http://catseye.tc/cpressey/louie.html#Goldbach doesn't quite qualify for what Sgeo is looking for, but is in the same spirit, maybe.
23:19:08 <cpressey> Needs work, though.
23:19:19 <cpressey> Obviously, or it wouldn't be on this list :/
23:21:09 <coppro> cpressey: Idea for the second one in the list: Instructions implicitly have N in an operand, where each instruction is the Nth character on a line
23:22:08 <cpressey> coppro: sorry, which one do you mean by the second one?
23:22:24 <coppro> err, wait, that's not the second
23:22:26 <coppro> I was scrolled down
23:22:33 <coppro> uh, Seltzer Spigot, apparently
23:23:39 <cpressey> coppro: That would fit, I suppose. I honesly have no ideas for that one, except that it should look like that :)
23:24:20 <cpressey> I suppose colon would be a significant instruction of some sort
23:26:01 -!- Mathnerd314 has joined.
23:26:07 <coppro> Do you require that the snippet there be an actual valid program, or merely inspiration?
23:26:46 <cpressey> Well it would be *nice* if were an actual program, but no, I'd be quite happy if programs simply looked a lot like that, in general.
23:28:07 <cpressey> Bonus points if it's a valid program, super bonus points if running it does something meaningful, too.
23:28:49 <coppro> we could make an HQ9+ variant :P
23:29:39 <cpressey> Points off for non-compositional semantics :|
23:36:22 <cpressey> So I figure I'm under some obligation to write a Thue interpreter
23:36:35 <cpressey> And I'm wondering what language to write it in
23:36:55 <cpressey> Since C, Python, Java, and Javascript have been done
23:36:59 <Mathnerd314> cpressey: could : be an end-of-line delimiter (like ; in c-like stuff)
23:37:10 <coppro> Mathnerd314: it could, but that's boring
23:37:29 <Mathnerd314> "boring"? :p
23:38:47 <cpressey> Mathnerd314: Well, the first three lines are just ":" in different columns
23:39:03 <Gregor-P> Write it in the lambda calculus.
23:39:19 <Mathnerd314> right, whitespace is significant
23:39:25 <Mathnerd314> ^ cpressey
23:40:00 <cpressey> Gregor-P: *gulp*
23:40:21 <cpressey> Serves me right for asking.
23:40:34 <cpressey> Anyway, I need to be off. Later, folks.
23:40:43 <Mathnerd314> Gregor-P: I don't think lambda calculus is powerful enough
23:40:51 <coppro> Mathnerd314: why would it require colon if whitespace is significant? Surely the newline is enough?
23:40:51 <Mathnerd314> bye
23:41:07 -!- cpressey has quit (Quit: Leaving.).
23:41:27 <Mathnerd314> coppro: so that people can read it
23:41:27 <Gregor-P> Somebody please `addquote :P
23:41:55 <coppro> `addquote <Mathnerd314> Gregor-P: I don't think lambda calculus is powerful enough
23:41:58 <HackEgo> 181|<Mathnerd314> Gregor-P: I don't think lambda calculus is powerful enough
23:42:02 <coppro> Mathnerd314: hrm, that's possibly a valid reason
23:44:06 <coppro> `quote
23:44:08 <HackEgo> 118|<apollo> Actually, he still looks like he'd rather eat her than have sex with her.
23:44:48 -!- oerjan has joined.
23:44:54 <Mathnerd314> Gregor-P: you can't do IO with just lambdas
23:45:24 <coppro> sure you can, you just tack it on to a function as a side effect
23:45:28 <coppro> IO is always a side effect
23:45:29 <Gregor-P> Fine, so we need the calculus of lambdas and monads.
23:45:33 <oerjan> Mathnerd314: have you looked at lazy-k?
23:46:15 <oerjan> you can encode a monad as lambdas too, if you want more than that
23:47:30 <oerjan> <AnMaster> and he is in my timezone... <-- *cackles evilly*
23:47:36 <Sgeo> Brainfuck without PSOX isn't powerful enough to be a web browser
23:47:52 <Sgeo> That's part of the reason I made PSOX >.>
23:51:43 <oerjan> <AnMaster> fizzie, well there is me behind the camera being reflected in the windo
23:52:17 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:52:27 <oerjan> it's ok, we don't really mind if you're a ghost, we're all open-minded people here, except alise and he already hates you :D
23:56:56 <Sgeo> Did AnMaster die in a helicopter crash after being involved with the mayor?
23:57:15 * oerjan doesn't get the reference
23:57:42 <oerjan> food ->
23:58:20 <Sgeo> http://superosity.keenspot.com/w/20050502.html
23:58:24 <Sgeo> Read this story arc
2010-06-15
00:05:50 <Mathnerd314> Sgeo: does it have an end?
00:06:01 <Sgeo> The arc? Yes
00:07:08 <Sgeo> The last Sunday strip in the arc has Jon Heder playing someone
00:07:29 <Sgeo> I _think_ there are 4 weeks in the arc
00:09:47 -!- aschueler has quit (Quit: leaving).
00:10:16 <Mathnerd314> ah.
00:10:17 -!- cheater99 has quit (Ping timeout: 276 seconds).
00:18:09 -!- relet has joined.
00:20:25 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
00:20:54 -!- Mathnerd314 has joined.
00:24:46 -!- augur has quit (Remote host closed the connection).
00:28:54 -!- augur has joined.
00:32:37 -!- cheater99 has joined.
00:33:42 -!- ais523 has quit (Remote host closed the connection).
00:37:18 <oerjan> <Sgeo> I think that's more subtle than my idea of imperitive, with no while and a limited for
00:37:53 <oerjan> that's known to be the way to get only the primitive recursive functions
00:38:41 <oerjan> (like, no ackermann function, as well as everything terminating)
00:40:50 <Sgeo> What other interesting sub-TC possibilities are there?
00:41:46 <oerjan> that's BlooP from http://en.wikipedia.org/wiki/BlooP_and_FlooP
00:41:51 <oerjan> (i think)
00:42:09 <Sgeo> oerjan, did you read the comic arc I linked?
00:42:50 <oerjan> yes. although i find that comic boring for the most part.
00:42:58 <Sgeo> :(
00:43:47 <oerjan> (wait, don't tell me you're the author)
00:43:54 <Sgeo> I'm not.
00:44:10 <oerjan> could have been embarassing
00:45:03 <oerjan> Sgeo: i've also seen some ideas on restricting recursion to achieve things like only primite recursive, only polynomial time or only logarithmic space
00:45:27 * Sgeo is an admin for Wikisuperosity
00:45:32 <oerjan> by dividing parameters into classes where you can only recurse in certain combinations
00:45:35 <oerjan> oh
00:45:49 <Sgeo> I thought "for, no while" was already primitive recusive only?
00:45:59 <oerjan> also i guess time and space classes in general are examples of interesting sub-TC possibilities
00:46:10 <Sgeo> What are these ideas?
00:46:30 <Sgeo> And would "only recursive non-primitive-recusive" be possible/
00:46:35 <oerjan> Sgeo: yes, this was a different way of achieving the same thing functionally rather than imperatively. or so i think, the case i actually read was the polynomial time one
00:47:55 <oerjan> Sgeo: almost certainly not possible, you'll always top out somewhere _below_ all recursive, or escape to full TC. in fact i think the "usual diagonalization techniques" work for showing that
00:48:59 <oerjan> um or wait what do you mean, primitive recursive is a _subset_ of recursive
00:49:25 <Sgeo> I meant, being able to do anything except the things within the subset
00:49:32 <Sgeo> Or, well, not anything
00:49:36 <oerjan> and if you had only non-primitive recursive it would mean you _couldn't_ do absolutely trivial things, because those are subsets of primitive recursive
00:50:02 <Sgeo> Being unable to do trivial things, but being able to do .. more complex things, sounds fun
00:50:10 <oerjan> maybe there's a way, but it seems unintuitive
00:50:36 <oerjan> because you can usually reduce easier problems to harder ones
00:51:00 <Sgeo> Well, if "everything not primitive-recursive" isn't doable, then try for a finite set not in primitive-recursive, maybe
00:51:01 <oerjan> and hardness is usually measured with something like reduction
00:52:10 <oerjan> Sgeo: the thing i see is if you had any kind of composability you would be likely to be able to construct simpler things
00:52:55 <oerjan> and if you don't have composability then you might just have a finite set of not really very related algorithms
00:52:57 <Sgeo> "Do not use as a pillow, toy, or floatation device"
00:52:58 <Sgeo> Too late
00:53:15 <oerjan> what did you do now? :D
00:53:28 <Sgeo> Used some packing material as a toy
00:53:42 <Sgeo> And kind of like a pillow
00:53:47 <oerjan> bubble wrap?
00:54:10 <Sgeo> airpouch.com
00:54:15 <oerjan> everyone knows it's humanly impossible _not_ to use that as a toy
00:54:59 <oerjan> oh huge bubbles
00:56:10 <oerjan> IF YOU DON'T WANT PEOPLE TO USE IT AS A PILLOW YOU SHOULDN'T CALL IT "AIR PILLOWS" STUPID
00:57:35 * Sgeo wonders if anyone has ever used these as a floatation device..
00:58:07 -!- pikhq has quit (Remote host closed the connection).
00:58:47 <oerjan> Sgeo: after they made the warning, probably ;D
00:58:48 * Sgeo wonders if it's possible for a gas to not be buoyant in liquid
01:00:19 <oerjan> (http://en.wikipedia.org/wiki/Wikipedia%3ABEANS)
01:01:21 <Sgeo> Do not stop chainsaw with hands or genitals
01:02:00 <oerjan> hm well if the gas is heavier than the liquid - in fact isn't there this lake in africa that has huge amounts of gas stored in it
01:02:21 <oerjan> (occasionally getting out and poisoning/suffocating people)
01:03:16 <oerjan> http://en.wikipedia.org/wiki/Lake_Nyos
01:03:32 <oerjan> i guess it doesn't count, seems like the CO2 is dissolved until it escapes
01:04:33 <cheater99> hi
01:04:39 <oerjan> ho
01:06:17 <oerjan> seems like it is kept in the lower water layers by temperature difference and lack of mixing
01:08:22 <oerjan> http://scitoys.com/board/messages/108/1447.html
01:09:24 <oerjan> if the second message is anything to go by, then even the heaviest gas (radon) is lighter than the lightest liquid (hydrogen). assuming those actually _are_ heaviest and lightest
01:11:07 <Sgeo> http://en.wikipedia.org/wiki/Wikipedia:Village_stocks
01:13:26 <oerjan> that jimbo guy probably had it coming, anyhow
01:14:08 -!- relet has quit (Quit: Leaving.).
01:16:45 -!- augur has quit (Ping timeout: 240 seconds).
01:18:32 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
01:21:02 -!- GreaseMonkey has joined.
01:46:59 -!- Sgeo_ has joined.
01:48:55 -!- Sgeo has quit (Ping timeout: 245 seconds).
01:52:51 <coppro> I/O! I/O! 'Tween code and world we go!
01:58:07 -!- oerjan has quit (Quit: Later).
02:19:25 -!- pikhq has joined.
02:34:19 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:35:47 <coppro> pikhq: Have you played Diplomacy?
02:36:29 -!- FireFly has quit (Quit: swatted to death).
02:36:35 <coppro> (or anyone else)
02:37:28 <Sgeo_> I've read about it
02:37:55 <coppro> You should play online, but aside from that, I'd like to discuss with someone with experience
03:10:15 * Sgeo_ wonders if it would make sense to write an MMO in Erlang
03:13:40 <coppro> it would
03:26:09 -!- augur has joined.
03:26:15 <Sgeo_> Hm, a more OO language would make more sense though?
03:26:57 <pikhq> coppro: Nay, I have not
03:27:19 <coppro> Sgeo_: why?
03:27:35 <Sgeo_> To represent various entities within the world
03:35:54 -!- Gregor-P has quit (Ping timeout: 260 seconds).
03:43:08 <GreaseMonkey> i'm not familiar with Erlang, sorry :/
03:43:24 <GreaseMonkey> the name crops up but still
03:44:13 <GreaseMonkey> oh yay, functional programming.
03:47:00 <coppro> Sgeo_: if you're going to avoid functional programming because it apparently can't represent objects, try Reia
03:47:27 <Sgeo_> But I want Erlang for the hot-patching
03:47:32 <Sgeo_> And concurrency
03:47:40 <Sgeo_> Oh
03:47:41 <GreaseMonkey> hot-patching?
03:47:47 <Sgeo_> Erm, hot-swapping?
03:47:51 <Sgeo_> hot-something
03:48:30 <coppro> Sgeo_: Reia is built on the Erlang VM
03:48:32 <GreaseMonkey> so you can patch it on the fly?
03:48:47 <Sgeo_> coppro, yeah I see, I just wikied
03:48:51 <GreaseMonkey> of course, there's also robozzle
03:49:12 <GreaseMonkey> which is quite extreme with its minimal storage capability
03:51:29 <Sgeo_> http://wiki.reia-lang.org/wiki/Reia_Programming_Language o.O Reia looks A LOT like Ruby
03:51:41 <GreaseMonkey> yes.
03:51:41 <Sgeo_> Actually, I think that might be valid Ruby code
03:52:13 <GreaseMonkey> print is a private method in the string object, though :/
03:53:31 -!- coppro has quit (Remote host closed the connection).
03:53:42 <GreaseMonkey> and it seems to just return nil
03:54:22 <GreaseMonkey> oh wait
03:54:29 <GreaseMonkey> you actually need to put stuff in the brackets
03:55:45 <GreaseMonkey> it directly links to Kernel#print
03:56:00 -!- Gregor-P has joined.
03:56:23 <GreaseMonkey> also a fun way to crash irb (interactive ruby interpreter)
03:56:25 <GreaseMonkey> Object.send :private, :nil?
03:56:30 <GreaseMonkey> and then try typing something
04:00:01 <GreaseMonkey> irb(main):010:0> String.ancestors
04:00:01 <GreaseMonkey> => [String, Enumerable, Comparable, Object, Kernel]
04:12:20 -!- Oranjer has left (?).
04:25:01 -!- coppro has joined.
05:02:57 -!- sshc_ has joined.
05:06:24 -!- sshc has quit (Ping timeout: 264 seconds).
05:09:52 -!- sshc_ has changed nick to sshc.
05:35:54 -!- MizardX has joined.
06:16:18 <Sgeo_> Pidgin no longer supports Win 9x
06:16:33 <coppro> good riddance
06:19:44 <Sgeo_> I just realized something.
06:20:06 <Sgeo_> I could claim that alise is as obsessed with old versions of Windows as I am with old virtual worlds
06:20:15 -!- oerjan has joined.
06:20:48 -!- uorygl has quit (Ping timeout: 264 seconds).
06:25:10 -!- augur has quit (Ping timeout: 245 seconds).
06:28:17 -!- jabb has quit (Read error: Connection reset by peer).
06:28:47 -!- jabb has joined.
06:31:10 * Sgeo_ double-checks that the lights are on
06:37:34 -!- myndzi\ has joined.
06:40:21 -!- myndzi has quit (Ping timeout: 264 seconds).
06:46:56 -!- augur has joined.
07:07:02 -!- FireFly has joined.
07:16:27 -!- tombom has joined.
07:26:05 -!- Gracenotes has quit (Ping timeout: 260 seconds).
07:26:14 -!- kar8nga has joined.
07:29:41 -!- Gracenotes has joined.
07:34:48 -!- uorygl has joined.
07:35:09 -!- Gracenotes has quit (Ping timeout: 276 seconds).
07:39:45 -!- augur has quit (Read error: Connection reset by peer).
07:39:49 -!- augur has joined.
07:40:28 -!- Gracenotes has joined.
07:42:49 -!- kar8nga has quit (Remote host closed the connection).
07:50:58 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:18 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
08:31:29 -!- oerjan has quit (Quit: leaving).
08:34:43 <pikhq> Man. Japanese Internet memes are freaking amazing.
08:37:50 -!- slsimic has joined.
08:41:12 -!- slsimic has left (?).
08:55:15 -!- pikhq has quit (Remote host closed the connection).
09:14:40 -!- augur has quit (Remote host closed the connection).
09:26:48 -!- MigoMipo has joined.
10:52:31 <AnMaster> <Sgeo> Did AnMaster die in a helicopter crash after being involved with the mayor? <-- ??? is this non-sequitur?
11:15:27 -!- ais523 has joined.
11:43:24 -!- kar8nga has joined.
11:52:28 -!- kar8nga has quit (Ping timeout: 240 seconds).
12:18:13 -!- Gracenotes has quit (Ping timeout: 260 seconds).
12:38:13 -!- BeholdMyGlory has joined.
12:43:36 -!- cheater99 has quit (Ping timeout: 264 seconds).
13:06:14 -!- KingOfKarlsruhe has joined.
13:37:42 -!- cheater99 has joined.
13:39:45 -!- alex2012 has joined.
13:41:32 -!- alex2012 has quit (Client Quit).
13:41:40 -!- alex2012 has joined.
13:41:54 <alex2012> hello fellow humans
13:42:13 <alex2012> hows mood?
13:43:05 <alex2012> :D
13:43:15 <alex2012> so busy here
13:43:15 <alex2012> haha
13:55:28 -!- alex2012 has left (?).
14:06:14 <ais523> try turning up when I'm not at a seminar next time
14:30:28 -!- Gracenotes has joined.
14:35:05 -!- oerjan has joined.
14:36:14 <oerjan> <AnMaster> <Sgeo> Did AnMaster die in a helicopter crash after being involved with the mayor? <-- ??? is this non-sequitur?
14:36:37 <oerjan> strangely enough, not entirely. see the later superosity link.
14:36:54 <oerjan> almost, but not entirely, i guess.
14:49:51 -!- ais523 has quit (Remote host closed the connection).
15:28:55 -!- cpressey has joined.
15:30:39 <oerjan> cpressey: i agree that your goldbach language needs work - for one thing it's not hard to find arbitrary large even numbers that are sums of two odd primes
15:31:13 <cpressey> oerjan: Yeah, and there's really no advantage to them being even
15:31:29 <cpressey> i think, they just need to get larger and larger and execution progresses
15:32:14 -!- relet has joined.
15:33:31 <cpressey> Didn't someone here say they implemented Thue in Haskell?
15:33:48 <oerjan> hm maybe
15:34:16 <oerjan> shouldn't be too hard, anyway
15:35:56 <cpressey> No, not at all.
15:36:12 <cpressey> Well, except for the confusing things in the spec about how I/O symbols can be overridden
15:36:44 <cpressey> I don't understand, does that mean, if there is a ~~~ in the initial data, then I should *not* treat that as meaning "input" when it appears on a RHS?
15:36:45 <oerjan> um is there something more than the esowiki says?
15:37:03 <cpressey> How else do I "override" ~~~ ?
15:37:17 <cpressey> Sorry, I mean :::
15:37:50 <cpressey> But the same applies to ~foo I believe.
15:38:00 <oerjan> the wiki article contains no instance of the word "override"
15:38:15 <cpressey> John's doc does, though.
15:38:21 <cpressey> And that would be definitive
15:38:25 <cpressey> such as it is
15:38:28 <oerjan> where's that?
15:38:49 <cpressey> http://catseye.tc/projects/thue/doc/thue.txt
15:38:54 <cpressey> also on salafra's site i believe
15:39:09 <cpressey> "Note that either (or both) of these implicit rules may be overridden by providing explicit rules that perform some other task."
15:39:13 <cpressey> OK, then
15:39:23 <cpressey> I guess that means if you say ::::=foo you override input.
15:39:30 <oerjan> ah
15:40:23 <cpressey> I wonder how many implementations correctly do that, esp for output, where I gather ~foo::=bar only overrides outputting foo
15:43:09 <oerjan> well if they start implementing from the wiki text, obviously they won't...
15:45:00 <oerjan> hm this also means that ::: and ~output should be triggered even if they are _not_ the entire right hand side of a rule, not?
15:45:23 <oerjan> hm wait for ~output that makes no sense
15:46:05 <cpressey> I always though I/O in Thue smelled kind of funny.
15:46:12 <cpressey> *thought*
15:46:27 <oerjan> because if you apply something::=~output to somethingwhoops you would then print outputwhoops rather than output, or perhaps a nondeterministic initial string :D
15:46:46 <oerjan> well i already pointed out on the wiki that there is no way to avoid code injection with input
15:47:38 <oerjan> and that was from my simplified understanding, if ::: and ~output are really implicit rules that _don't_ need to apply to a whole rhs then stuff gets utterly insane
15:47:57 <cpressey> I don't know if I want to treat thue.c as a reference implementation, but there might be no other way to ENSURE TOTAL COMPLIANCE
15:48:05 <oerjan> well i guess ::: doesn't matter that much
15:48:39 <oerjan> "The specific effect is that all
15:48:39 <oerjan> text to the right of the output symbol in the rhs of a production is sent
15:48:39 <oerjan> to the output stream.
15:48:41 <oerjan> "
15:49:06 <oerjan> i guess it needs to be in an rhs then, although it's unclear whether the ~ must be at the start
15:49:43 <AnMaster> /ab
15:49:44 <AnMaster> err
15:49:45 <AnMaster> fail
15:49:47 <cpressey> Hm, in FvdP's implementation, the ::: can appear as initial data
15:49:57 <cpressey> at least, it suggests
15:50:06 <cpressey> and it triggers input
15:50:56 <AnMaster> does anyone know anything about water based computers? As a thought experiment I invented a simple (bidirectional) water transistor
15:51:16 <AnMaster> seems quite easy to do both "nMOS-style" and "pMOS-style" btw
15:52:21 <oerjan> i vaguely recall you can do computation with hydraulics
15:52:21 <AnMaster> I don't know how to do a water diode, but iirc there are already some sorts of one-way water valves? Not sure how they work but they should be suitable
15:52:43 <AnMaster> oerjan, hm, doesn't that imply oil?
15:52:57 <oerjan> hydr- is greek for water
15:53:26 <AnMaster> ah so why is it that hydraulics commonly use oil?
15:54:02 <oerjan> it can use any liquid, presumably
15:54:17 <oerjan> "Hydraulics is a topic in applied science and engineering dealing with the mechanical properties of liquids."
15:54:35 <oerjan> "The word "hydraulics" originates from the Greek word .......... (hydraulikos) which in turn originates from ........ (hydraulos) meaning water organ which in turn comes from .... (hydor, Greek for water) and ..... (aulos, meaning pipe)."
15:55:04 <AnMaster> ah
15:55:48 <AnMaster> hm, I think my transistor will even model the leak current of electrical transistors quite well
15:56:34 <fizzie> There's http://en.wikipedia.org/wiki/Fluidics -- I remember reading that page once.
15:56:45 <fizzie> It's linked from the sadly short "unconventional computing" article.
15:59:20 <AnMaster> ah that is quite interesting
15:59:55 <oerjan> also http://en.wikipedia.org/wiki/Pneumatics#Pneumatic_logic
16:00:30 <AnMaster> I wonder how reliable that amplifier is
16:00:31 -!- hiato has joined.
16:01:03 <oerjan> http://en.wikipedia.org/wiki/Sorteberg_relay
16:01:45 <AnMaster> oerjan, I meant the fluid one
16:01:48 <AnMaster> not the pneumatic one
16:02:00 <oerjan> they're sort of related
16:02:03 <Gregor> <oerjan> "The word "hydraulics" originates from the Greek word .......... (hydraulikos) which in turn originates from ........ (hydraulos) meaning water organ which in turn comes from .... (hydor, Greek for water) and ..... (aulos, meaning pipe)."
16:02:05 <Gregor> Daaaamn
16:02:07 <Gregor> This is way too relevant
16:02:36 <oerjan> AnMaster: in fact the section before the pneumatic logic one contains a comparison of hydraulics and pneumatics
16:02:37 <AnMaster> oerjan, a disadvantage of using air as the computing medium would be that it is quite compressible (unlike a fluid).
16:03:05 <AnMaster> which means the calculation probably will be slower since zero friction would be very impractical
16:03:29 <AnMaster> oh that is mentioned in that section too
16:04:01 <oerjan> Gregor: too what? (also *mwahahaha synchronicity*)
16:04:05 <oerjan> *to
16:04:19 <Gregor> Hydraulics :P
16:04:38 <Gregor> I was expecting it to be some ridiculous thing. I mean obviously hydro is water, but it could have been like "water serpent"
16:05:28 <oerjan> no, that's hydra
16:05:48 <oerjan> (of course you knew that)
16:05:54 <Gregor> Oh pff
16:05:56 <Gregor> You're unhelpful.
16:05:59 <fizzie> Hydraulics -- powered by hydras with ulcers.
16:06:19 <AnMaster> oerjan, anyway, I suggest using water logic (5 cm scale to begin with, in some years I suspect it might be feasible to reach the 5 mm scale!)
16:06:22 <Gregor> Hydra-ulics
16:07:12 <AnMaster> what would a water resistor look like?
16:07:14 <oerjan> AnMaster: they _did_ mention nanotechnology
16:07:25 <Gregor> AnMaster: A valve.
16:07:33 <AnMaster> oerjan, hm :/
16:07:43 <AnMaster> Gregor, wouldn't that be what a diod was?
16:07:44 <fizzie> For the small scale wetness (though not very logic-related), there's another Wikipedia article: http://en.wikipedia.org/wiki/Microfluidics
16:07:54 <AnMaster> Gregor, or possibly a zenner diode (spelling?)
16:08:15 <Gregor> You can stuff water backwards through a valve, it's only pressure that forces it to go whichever way it goes.
16:08:35 <AnMaster> Gregor, can't you have one-way valves?
16:08:42 <AnMaster> Gregor, otherwise, how the heck do pumps work?
16:08:59 <Gregor> You can have one-way valves. They're called "one-way valves"
16:09:09 <AnMaster> Gregor, yep, diodes
16:09:16 <Gregor> I wasn't referring to one-way valves.
16:09:20 <Gregor> I was referring to valves.
16:09:20 <AnMaster> Gregor, ah
16:09:52 <AnMaster> hm
16:10:45 <Gregor> Nowait, my valve system isn't a resistor at all, it just trades "voltage" for current or vice-versa. A resistor is just a leaky bit of pipe.
16:11:51 <AnMaster> anyway, for digital logic, one disadvantage of http://en.wikipedia.org/wiki/File:Fluidicamplifier.gif is that it would most probably have a rather high leakage flow on the "gate" (or what would be "gate" in MOSFET)
16:12:59 <AnMaster> I think that using a movable plug controlled by a small gate fluid might work better. That way the leakage would be very low. Either have complementary fluids to move it back, or a spring in the opposite end
16:14:23 <AnMaster> Gregor, so your valve is more like a transformer then?
16:14:55 <AnMaster> except it doesn't provide the isolation that a "normal" transformer does
16:15:35 <AnMaster> so I guess it is more like an autotransformer
16:15:42 <AnMaster> (see http://en.wikipedia.org/wiki/Autotransformer)
16:26:01 -!- ais523 has joined.
16:30:10 -!- hiato has quit (Ping timeout: 248 seconds).
16:30:51 -!- hiato has joined.
16:32:14 <oerjan> ais523: you know it's sort of hard not involving you in the recent Talk:Tubes discussion :D
16:32:20 <ais523> heh
16:32:23 <ais523> you're right, anyway
16:32:31 <ais523> wiki admins see all that goes on...
16:33:11 <oerjan> do you know if the earlier 2,5 machine that's also sometimes mentioned has the same infinity issues?
16:34:06 <oerjan> i noted the mathworld page linked to is inconsistent - it starts with saying tape should be finite and ends with your result
16:34:38 <ais523> oerjan: the known proof for the 2,5 machine needs an repeating tape
16:34:39 <oerjan> and i'm not sure where the 2,5 in the middle fits
16:34:46 <oerjan> ok
16:34:46 <ais523> that repeats one pattern infinitely to the left, and a different pattern infinitely to the right
16:34:58 <oerjan> so similar to rule 110
16:34:58 <ais523> you can easily make it work on a blank tape by adding a few million new states and an extra colour
16:35:04 <ais523> to do the repeating in the turing machine itself
16:35:17 <ais523> yep, it's identical to R110 in that respect, which it emulates
16:35:28 <ais523> but the repeating pattern is more complex as you have to allow for the turing machine to change direction
16:35:42 <oerjan> um it _does_ emulate rule 110?
16:35:47 <ais523> (this is actually a mistake in Wolfram's published proof of the 2,5 machine's completeness)
16:35:59 <ais523> oerjan: yes, although the published proof in ANKOS is wrong
16:36:05 <oerjan> oh.
16:36:16 <ais523> I actually pointed this out to Wolfram himself over the phone; he said does it work anyway and I said yes, so he said he wasn't bothered
16:36:42 <oerjan> um, excuse me i'll have to go revert a certain edit i recently did to wikipedia's UTM article *blush*
16:38:30 <ais523> basically, if, say, the repeating pattern is 100 cells long, you need to do the first 100 steps of evolution of rule 110 from the pattern and use them as part of the repeating pattern on the initial tape
16:38:31 <oerjan> oh and it _was_ cook who proved 2,5 then?
16:38:39 <ais523> nope, cook proved rule 110
16:38:49 <ais523> I don't know if he was involved with the TM
16:39:03 <ais523> but I suspect he would probably have noticed that the naive encoding for the tape doesn't work if he was
16:39:30 <oerjan> oh. could you take a look at the last diff of WP:Universal Turing Machine?
16:39:39 <oerjan> (i'd link you except :D)
16:39:59 <ais523> except I'm already on the page?
16:40:12 <oerjan> except you censor irc links
16:40:38 <ais523> I'd leave the {{fact}} tag there
16:40:51 <ais523> the entire situation is slightly murky, we could do with a reliable source rather than conjecture
16:41:22 <ais523> you can say that given an appropriate repeating initial tape, the turing machine simulates rule 110, because it does
16:41:34 <ais523> but AFAIK I'm the only person who's proved that, and I've never written the proof down
16:41:50 <ais523> come to think of it, I should probably write that proof down sometime, although it (should be) pretty easy to recreate
16:41:54 <ais523> it doesn't fit into a margin...
16:42:09 <oerjan> i'll rewrite it to "based on the rule 110 automaton". is it ok if i edit summarize as "Alex Smith confirms it _was_ based on rule 110"
16:42:16 <ais523> yes, it's OK
16:43:10 <ais523> actually, the 2,3 machine has a really simple halting state
16:43:32 <ais523> with the latest version of the proof, the halt state happens when the head goes to the left of its starting position
16:43:46 <ais523> which means you can just use a semi-infinite tape if you like and get a halt state that way
16:43:47 <oerjan> oh
16:44:36 <ais523> it was originally pretty routine, but more complex than that
16:44:43 <ais523> but once I realised I could make the halt state that, I couldn't resist
16:50:54 <oerjan> oh. i'll mention that on the Talk:Tubes page.
16:53:38 <oerjan> do you want to be referred to?
16:53:54 <ais523> it's fine if you mention me
16:54:09 <ais523> heh, I could even say it myself, but for some reason I haven't been in a wiki talkpage discussion mood recently
16:55:13 <oerjan> well i'm asking because i had the impression you're trying to keep connections of your real name with your nick rare
16:56:13 <oerjan> so it's really about _how_ you want to be mentioned, too
16:56:42 <ais523> yep, just use one or the other, not both
16:56:48 <ais523> probably realname in this case
16:56:56 <oerjan> ok
16:58:57 <AnMaster> ais523, do you have holidays yet over there?
16:59:18 <ais523> AnMaster: the students are all on holiday due to post-exams
16:59:24 <AnMaster> ais523, and you?
16:59:26 <ais523> I'm not, though
16:59:31 <ais523> hardly any holiday for the staff, in theory
16:59:36 <AnMaster> ouch
16:59:38 <ais523> but it's rather slow and I'm spending much of my time at home
17:00:01 <AnMaster> ais523, so do you think you will have any time for feather, gcc-bf and so on during the summer?
17:00:07 <ais523> possibly
17:00:12 <ais523> maybe not, I have thousands of projects
17:00:20 <ais523> well, hundreds, or possibly tens
17:00:22 <ais523> but it feels like thousands
17:00:36 <AnMaster> ah
17:02:50 -!- Gracenotes has quit (*.net *.split).
17:02:51 -!- mycroftiv has quit (*.net *.split).
17:02:51 -!- fungot has quit (*.net *.split).
17:03:13 <oerjan> you should just face it, you'll never have time for feather unless you go back in time and make it *ducks* (twice)
17:05:15 -!- Gracenotes has joined.
17:05:15 -!- mycroftiv has joined.
17:05:55 -!- MigoMipo_ has joined.
17:06:09 -!- MigoMipo has quit (Remote host closed the connection).
17:07:08 -!- MigoMipo_ has changed nick to MigoMipo.
17:09:26 -!- Gracenotes has quit (Ping timeout: 260 seconds).
17:11:31 -!- cpressey has left (?).
17:16:33 -!- Gracenotes has joined.
17:28:39 -!- cal153 has joined.
17:29:29 -!- tombom has joined.
17:29:41 -!- iamcal has quit (Ping timeout: 240 seconds).
17:33:08 -!- cal153 has quit (Ping timeout: 240 seconds).
17:45:42 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
17:55:45 -!- pikhq has joined.
18:03:14 -!- Phantom_Hoover has joined.
18:03:34 <Phantom_Hoover> What's with the topic?
18:05:08 <oerjan> why, do you not find it esoteric enough?
18:05:39 <ais523> it's the wrong sort of eso
18:06:03 <ais523> hmm, news currently on the TV (which I'm not really watching) is all about China outsourcing vehicle manufacture to the UK
18:06:20 <oerjan> from a higher, enlightened perspective, there is no such thing as the wrong sort of eso
18:06:55 <oerjan> wait _to_ the UK?
18:07:03 <Phantom_Hoover> ais523, It is a circle.
18:07:26 <ais523> oerjan: yes
18:07:35 <ais523> big news here, because loads of people are getting their jobs back
18:08:14 <pikhq> oerjan: Yeah, China's prosperous. :P
18:09:09 <ais523> oerjan: it matters a lot to me because I live in an area which used to be all housing for vehicle manufacturing
18:09:39 <ais523> and it went rather downhill after the plant closed, so it's nice to see it starting up again, it's possible the local streets will be filled with something other than vandals and joyriders
18:10:02 <oerjan> goths and vandals
18:10:52 <pikhq> nann ka yaxtute mo nann ka yaxtute mo EAMAN k`a taosenai yo!
18:11:07 <pikhq> (this has been pikhq attempting to convey rocking out over IRC and failing)
18:11:20 <oerjan> what the heck is rocking out
18:11:29 <pikhq> http://www.youtube.com/watch?v=KLbFctG3tw0&feature=related
18:11:35 <pikhq> What you do when listening to that.
18:11:37 <ais523> oerjan: it's a phrase mostly used by teenagers years ago
18:11:49 <ais523> precise meaning is unknown, but it has something to do with certain styles of music
18:12:08 <oerjan> pikhq: for a moment i thought you were quoting gothic there
18:12:29 <pikhq> oerjan: No, bizarrely pedantic Japanese romanisation.
18:12:35 -!- cal153 has joined.
18:12:58 <pikhq> Because if I can't do Japanese input I can at least be more pedantic than *everyone else* who does romanised Japanese.
18:13:25 <oerjan> what's the x for
18:13:49 <pikhq> The following encoded kana is small.
18:14:08 <oerjan> huh
18:14:09 <pikhq> It's really more of a kana encoding scheme than an actual romanisation scheme. :P
18:14:28 <oerjan> is xtut what you'd normally write as tt?
18:14:54 <pikhq> Yes, in normal romanisation that'd be "nan ka yatte mo nan ka yatte mo eaman ga taosenai yo!"
18:16:31 <oerjan> mhm
18:21:37 <Deewiant> pikhq: What about the "nann"
18:23:07 <pikhq> http://en.wikipedia.org/wiki/ん
18:23:13 <pikhq> That's what I'm encoding as "nn".
18:23:55 <Deewiant> Is there some possibility of ambiguity if you just use "n"
18:24:01 <pikhq> Yes.
18:25:28 <Deewiant> Where?
18:26:25 <pikhq> One can have vowels following that.
18:27:21 <Deewiant> Got an example? I don't think I've ever run into that
18:28:19 <pikhq> 雰囲気 ふんいき hunniki (fun'iki in Hepburn)
18:28:51 <pikhq> Though for god-knows what reason, it commonly gets pronounced as "fuinki"
18:30:54 <oerjan> how funky
18:37:46 <Deewiant> Right, I think I've heard that one but never seen it written :-P
18:38:01 <Deewiant> Or at least fuinki sounds familiar
18:40:59 <pikhq> It's a bit more common spoken, I've found.
18:50:12 <Phantom_Hoover> "Felis sum et ad furandum veni"
18:50:26 <Phantom_Hoover> "I am a cat and I have come to steal."
18:50:32 <Phantom_Hoover> Or something like that.
18:50:43 <Phantom_Hoover> s/I have come/I came/
18:51:59 <ais523> hmm, my suspicion is confirmed: nobody has tried to speedrun Neverwinter Nights 1 (or 2 fwiw), neither regular or TAS
18:52:29 <Phantom_Hoover> The Latin comes from Science and Math Defeated.
18:54:09 <Deewiant> ais523: Unless you mean the AOL game, there's a speedrun on youtube starting at http://www.youtube.com/watch?v=MMnjuITemr8
18:54:13 <fizzie> ais523: That depends on your definition of "tried"; there's at least one in Youtube.
18:54:21 <fizzie> Gah.
18:54:41 <ais523> ah, hmm
18:54:48 <ais523> I was just checking the main sites
18:55:12 <ais523> unless there's some glitch I don't know about, NWN must be one of the worst games to TAS ever
18:55:15 <fizzie> Whereas this "youtube" is some sort of weird half-unknown underground site.
18:55:16 <ais523> up there with WarioWare
18:56:30 <pikhq> fizzie: More like one of the hosting services for TAS videos.
18:56:33 <Deewiant> I'd just start by using your friendly neighbourhood search engine; they tend to index speeddemosarchive.com and tasvideos.org in addition to the underground sites like youtube
18:56:38 <pikhq> ais523: TAS? Ugh.
18:56:45 <ais523> exactly
18:56:57 <ais523> you can imagine how bad a warioware TAS would be
18:57:04 <ais523> which is ironic, as people have actually tried
18:57:11 <ais523> (the main issue is that you wouldn't see anything but the cutscenes)
18:58:05 <ais523> hmm, that speedrun's ridiculous, they put all their points into strength, charisma, and persuade; is this some new way to break the game I've never heard of?
18:58:07 <pikhq> The cutscenes *are* fairly amusing. But still. Unless there's some amazing glitches, not worth it.
19:03:13 <ais523> wow, so bizarre to see the cutscenes in that NWN speedrun
19:03:23 <ais523> I play the Linux version, which is identical except it doesn't have cutscenes
19:03:35 <ais523> (instead, there's a text file containing the text they have, which is kind-of cute)
19:20:15 -!- iamcal has joined.
19:23:04 -!- oerjan has quit (Quit: Good night).
19:23:06 -!- cal153 has quit (Ping timeout: 252 seconds).
19:25:32 -!- cal153 has joined.
19:29:45 -!- iamcal has quit (Ping timeout: 245 seconds).
19:38:08 -!- MigoMipo_ has joined.
19:40:02 -!- MigoMipo has quit (Ping timeout: 260 seconds).
19:41:55 -!- elliottcable has changed nick to ec.
19:42:26 -!- MigoMipo_ has quit (Remote host closed the connection).
19:42:49 -!- MigoMipo_ has joined.
19:46:46 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
20:06:51 -!- MigoMipo has joined.
20:25:29 -!- Oranjer has joined.
20:47:08 <Phantom_Hoover> Oranjer!
20:54:56 <Phantom_Hoover> Are there any mid-level languages like C other than C?
20:55:54 <Phantom_Hoover> They all seem to be really low level or fairly high-level.
20:58:15 <Phantom_Hoover> Well?
20:58:36 <coppro> C++?
20:59:06 <Phantom_Hoover> C with some high-level stuff tacked on.
20:59:11 <Phantom_Hoover> It's not other than C.
20:59:17 <coppro> fair
20:59:23 <coppro> FORTRAN?
20:59:29 <coppro> Pascal?
20:59:51 <Phantom_Hoover> Pascal is pretty high-level, from what I remember.
21:00:17 <Phantom_Hoover> FORTRAN, dunno.
21:00:55 <Phantom_Hoover> I mean in the sense of "arrays are pointers" and such.
21:05:54 <Phantom_Hoover> I was wondering because I had this crazy idea of a non-C-based OS.
21:08:39 <Phantom_Hoover> I've just said something stupid, haven't I?
21:09:45 <hiato> Phantom_Hoover: c'est possible
21:10:04 <hiato> in the strictes sense, all os's are asm/machine code
21:10:23 <Phantom_Hoover> Yes.
21:10:52 <Phantom_Hoover> What's Windows actually written in?
21:11:10 <hiato> Nobody knows... dam dum dumb
21:11:21 <Deewiant> C, C++, asm
21:11:24 <hiato> but judging by the numerous leaks, C
21:13:08 <Phantom_Hoover> OS X?
21:13:20 <hiato> It's unix+stuff, so C
21:13:21 <Phantom_Hoover> Well, Objective C for the most part.
21:13:23 <hiato> mostly
21:13:48 <Phantom_Hoover> So, all of the major OSes are on a foundation of C.
21:14:09 <coppro> yes, because it's perfect for what it does
21:14:15 <hiato> cause it's this much [ ] easier than pure ASM
21:14:16 <Phantom_Hoover> Exactly.
21:14:27 <coppro> it's easier than ASM but abstracts very very little of it
21:14:33 <Phantom_Hoover> It gives control structures, mainly.
21:14:54 <coppro> and nice treatment of numbers and not having to remember operation names
21:15:03 <coppro> it's also slightly harder to mix pointers and numbers
21:15:20 <Phantom_Hoover> So is there another language which has C's level of abstraction?
21:15:50 <coppro> There probably was once upon a time
21:15:52 <hiato> Yeah, many HLA langs
21:15:54 <coppro> but then it died to C beting better
21:15:55 <Phantom_Hoover> Oh, and nested expressions. Mustn't forget them.
21:16:00 <hiato> High Level Assembly
21:16:14 <coppro> HLAs abstract roughly to the same level but in a very different way
21:16:42 <hiato> yes, but "another language which has C's level of abstraction" is satisfied
21:16:57 <hiato> however, I agree they're not quite at all like a true high level lang
21:16:57 <coppro> agreed
21:17:12 <hiato> I mean, even NASM macros are very flexible
21:17:16 <coppro> LLVM's IR is probably a rough example
21:17:33 <coppro> although actually it's closer to machine than C
21:17:36 <Phantom_Hoover> I thought NASM's macros were meant to be less insane than MASM's.
21:18:10 <hiato> Phantom_Hoover: perhaps, but there still remains very little one cant twist them into
21:18:16 <hiato> even FASM isn't bad
21:19:21 <hiato> Phantom_Hoover: http://en.wikipedia.org/wiki/File:Unix_history-simple.en.svg to reinforce that OSX matter
21:19:39 <Phantom_Hoover> Are control structures macroable?
21:20:11 <hiato> I believe so
21:20:25 <hiato> using clever jump points
21:20:43 <Phantom_Hoover> Cool.
21:20:43 <coppro> I like how that's simple
21:20:51 <Phantom_Hoover> The diagram?
21:20:54 <Phantom_Hoover> Or NASM?
21:21:12 <coppro> the diagram
21:23:26 <Phantom_Hoover> I like the way that it's orange at the start, and only becomes red later.
21:23:28 <hiato> Phantom_Hoover: http://chewy509.110mb.com/b0.html for exaple, going back once again in the history (my bookmarks number too many for me to scrape quickly :P)
21:24:35 <Phantom_Hoover> Compound operations are nice, though.
21:27:59 <Phantom_Hoover> Also, lest I get the wrong idea, how do assembly labels translate into code?
21:28:27 <Phantom_Hoover> Surely the .text, .data and .bss sections are shared between each instance of a program?
21:29:40 * Phantom_Hoover goes off to check.
21:30:24 <hiato> Phantom_Hoover: that much I do not know, but as for labels, in the final pass the are transformed into memory pointers that are inserted in jump destinations, in the case of things like loop .main or jmp near .label and so on
21:30:44 <Phantom_Hoover> My earlier experiments suggest it.
21:30:59 <Phantom_Hoover> For instance, the main label is the same for all instances of a process.
21:31:44 <hiato> I've never actually used compile ASM in an OS, so I actually have no clue about that side :P
21:31:55 <Phantom_Hoover> ...
21:32:04 <Phantom_Hoover> What do you do in assembly, then?
21:32:17 <hiato> As opposed to writing my own OS or raw cpu progs
21:32:26 <Phantom_Hoover> Oh, cool.
21:32:37 <Phantom_Hoover> How do you actually run raw CPU programs?
21:32:38 <hiato> I find that environment, or lack thereof, very liberating
21:32:51 <fizzie> Every process has its own virtual address space, you can't deduce about physical-memory-sharing based on what addresses variables or labels get on runtime.
21:32:59 <Phantom_Hoover> (And I've always wanted to do that, but I can never work out how)
21:33:07 <hiato> If you can fit the asm into 512bytes, write it as a boot sector to a floppy or vhdd or some such
21:33:16 <Phantom_Hoover> Ah/
21:33:32 <hiato> if it's more, find a fat bootlader (or write one) and let it start your prog from a medium
21:34:40 <Phantom_Hoover> Resources?
21:34:59 <Phantom_Hoover> Also, RDOFF needs a use.
21:38:03 <hiato> can someone point me to a nice stack based, perhaps RPN, esolang?
21:39:55 <Phantom_Hoover> dc
21:40:23 <Phantom_Hoover> It's AWESOME.
21:41:15 <hiato> Phantom_Hoover: I have conquered DC
21:41:25 <hiato> and am looking for more :P
21:41:31 <Phantom_Hoover> FALSE?
21:41:42 <hiato> Hmm, I guess
21:42:20 <fizzie> Glass is stack-based, sort of, but perhaps now quite the style you're looking for.
21:42:34 <hiato> Phantom_Hoover, fizzie http://ix.io/11Q
21:43:03 <Phantom_Hoover> What does it do?
21:43:07 <hiato> Never did look into glass, always looked rather complex
21:43:10 <Phantom_Hoover> Wait, it's DC, right?
21:43:14 <hiato> Phantom_Hoover: you tell me ;)
21:43:15 <hiato> yep
21:43:16 <hiato> BUT
21:43:21 -!- Oranjer has quit (Ping timeout: 252 seconds).
21:43:29 <hiato> I recommend you pipe it to a file, and kill it soon after launching
21:43:48 <hiato> lest you get annoyed with all the data
21:45:15 <Phantom_Hoover> Wait, is it a self-interpreter?
21:45:27 <hiato> Hah, now that's a nice idea
21:45:53 <Phantom_Hoover> OK, so what is it?
21:45:58 <hiato> Run it, and try guess
21:46:12 <Phantom_Hoover> It gives me a crapload of errors about Register 012.
21:46:22 <hiato> copy/paste fail
21:46:32 <hiato> how are you running it?
21:46:39 <hiato> echo PROG | dc > out
21:47:03 -!- CakeProphet has joined.
21:47:05 <hiato> preferably on one line, I think
21:47:06 <CakeProphet> bam
21:47:14 <Phantom_Hoover> Stack empty, now.
21:47:25 <hiato> Phantom_Hoover waaaa?
21:47:27 <Phantom_Hoover> Repeatedly.
21:47:49 <Phantom_Hoover> OK, wget then.
21:48:00 <uorygl> Hm, I wonder what there is for VPS providers located in Sweden.
21:48:11 <Phantom_Hoover> Bah, more register 012.
21:48:26 <hiato> er
21:48:32 <hiato> ok, let me check
21:48:33 <Phantom_Hoover> EXPLAIN.
21:49:34 <hiato> Copy it into a text file, strip all the lines, then copy that
21:49:41 <Phantom_Hoover> OK.
21:49:57 <hiato> then type echo "<paste line>" | dc > out
21:50:00 <hiato> then kill
21:50:25 <hiato> then examine out
21:50:30 <Phantom_Hoover> Pi in hex, then.
21:50:32 <hiato> and it should be awesome
21:50:34 <hiato> ;)
21:51:38 <Phantom_Hoover> Incidentally, is there any particular resource for the CPU-level code you were talking about?
21:52:25 <hiato> Well, short of example code (osdev.org springs to mind) and some asm tutorials, no, not really
21:52:35 <hiato> but it's not hard to pick up
21:52:40 <hiato> assuming a knowledge of asm
21:53:19 <Phantom_Hoover> From where do you pick it up?
21:54:09 <hiato> ASM? Well, I learnt most of what I know from MikeOS (a simple 16bit OS), some tutorials (am scraping now) and osdev.org wiki
21:55:18 <Phantom_Hoover> No, not ASM. The other stuff.
21:56:38 <hiato> The environment-less raw-cpu stuff? osdev.org, really, and the bootloader competitions they hold/held
21:57:03 <Phantom_Hoover> Cool.
21:58:13 -!- cpressey has joined.
21:59:01 <CakeProphet> !haskell replace sub (l:ls)@str = if sub `isPrefixOf` str then sub ++ (replace sub ((snd.splitAt) (length sub) str)) else l:(replace sub ls)
22:00:17 <CakeProphet> !haskell import Data.List; replace [] str = str; replace _ [] = []; replace sub (l:ls)@str = if sub `isPrefixOf` str then sub ++ (replace sub ((snd.splitAt) (length sub) str)) else l:(replace sub ls);
22:00:30 <CakeProphet> ...psh, what am I doing.
22:00:39 <hiato> good question ;)
22:02:26 <CakeProphet> !haskell import Data.List; replace [] _ str = str; replace _ _ [] = []; replace sub rep (l:ls)@str = if sub `isPrefixOf` str then rep ++ (replace sub rep ((snd.splitAt) (length sub) str)) else l:(replace sub rep ls); main = print $ replace "*" "$" "Hello I love *"
22:02:51 <CakeProphet> ...need moar errors. -goes to ghci-
22:05:57 <Phantom_Hoover> OK, why does osdev.org's main page redirect to "Expanded Main Page"?
22:06:06 <Phantom_Hoover> THERE ISN'T ANOTHER MAIN PAGE.
22:07:11 * cpressey applauds hiato's heroic dc.
22:07:33 <hiato> [:
22:10:09 <cpressey> osdev.org has always seemed a bit disorganized to me
22:11:50 <cpressey> note, for example, the giant link BACK to osdev.org, on the so-called Expanded Main Page
22:12:16 <CakeProphet> Hmmm, how do you write multi-line strings in Haskell?
22:12:26 <cpressey> but hey, they code is asm in this day and age. i can't complain.
22:13:08 <cpressey> CakeProphet: http://www.haskell.org/pipermail/haskell-cafe/2006-January/013911.html ?
22:14:24 <AnMaster> <ais523> wow, so bizarre to see the cutscenes in that NWN speedrun <ais523> I play the Linux version, which is identical except it doesn't have cutscenes <-- hm? free?
22:14:37 <ais523> AnMaster: nope
22:14:42 <ais523> paid binary
22:14:49 <AnMaster> ais523, ah, is it single player?
22:14:54 <ais523> still, it's nice to see that some companies release linux versions of their game
22:15:01 <ais523> and it does both single player and multiplayer
22:15:07 <ais523> although it doesn't have the toolset, I use WINE for that
22:15:19 <Deewiant> CakeProphet: You want str@(l:ls) and ((snd.).splitAt)
22:15:56 <AnMaster> ais523, I'm surprised that you play anything with 3D graphics!
22:16:13 <ais523> it's a good game!
22:16:29 <ais523> and Mesa's quite capable of handling it, even with Intel grahics
22:16:31 <ais523> *graphics
22:16:35 <ais523> admittedly it's 7 or 8 years old
22:16:57 <AnMaster> ais523, yes but still. I didn't expect you to play anything with more modern graphics than 2D and that being rare.
22:17:20 <AnMaster> well unless ASCII of course
22:18:24 <cpressey> I generally dislike 3D games, yet my two favorite games are 3D. Not FPP, though.
22:18:52 <AnMaster> cpressey, FPP?
22:18:55 <AnMaster> oh first person
22:18:59 <AnMaster> ais523, what genre is that NWN?
22:19:22 <ais523> AnMaster: it's D&D ported to realtime
22:19:28 <AnMaster> ais523, ah
22:19:33 <Phantom_Hoover> Hmm, why does .rodata have to be in .text?
22:19:36 <AnMaster> ais523, hard game?
22:19:37 <ais523> controls are vaguely like a third-person shooter, except it's common to pause if you can't type your commands in time
22:19:40 <AnMaster> Phantom_Hoover, what?
22:19:47 <Phantom_Hoover> Forget it.
22:19:50 <AnMaster> Phantom_Hoover, it is a separate section?
22:19:52 <ais523> and not massively hard, especially on easy difficulty, and especially if you don't mind respawning after death
22:19:53 <Phantom_Hoover> I am confused.
22:19:57 <Phantom_Hoover> As hell.
22:20:30 <AnMaster> Phantom_Hoover, it might be next to .text, would make sense. Since both sections should be write protected. One (.rodata) should probably be no-execute too
22:20:35 <cpressey> We *totally* need hierarchical linker sections in object files.
22:20:47 <AnMaster> so I guess it doesn't save any memory in fact when either of them doesn't fill a complete page at the end
22:20:55 <cpressey> .text.rodata.rodata.bss
22:21:02 <Phantom_Hoover> Ooh.
22:21:03 <AnMaster> cpressey, what would that mean?
22:21:30 <AnMaster> cpressey, also .bss would be a pain if not directly after data
22:21:35 <AnMaster> err .data*
22:21:49 <AnMaster> considering you probably want to just load the binary as is into RAM mostly
22:21:56 <AnMaster> well into the process address space
22:22:14 <AnMaster> of course, dynamic linking messes the thing up anyway...
22:23:33 -!- CakeProphet has quit (Ping timeout: 264 seconds).
22:23:34 <AnMaster> cpressey, anyway .rodata.bss would presumably be read only data defaulting to zero?
22:23:47 <AnMaster> or did the two .rodata cancel each other out?
22:24:03 <AnMaster> also it would presumably be executable (.text)
22:24:13 <cpressey> Sometimes I wonder if IRC connects multiple universes together.
22:26:22 <cpressey> "chomp   chomp!   chop   chop   chop!   chop!" -- Ruby String class documentation
22:27:21 <cpressey> And I don't know what kind of doc-generation tool those folks are using, but it creates hyperlinks which have right-to-left character ordering... despite not being in Arabic
22:29:22 <Phantom_Hoover> Bah, how do I use these damn floppies?
22:29:25 <Phantom_Hoover> Images?
22:30:05 -!- SevenInchBread has joined.
22:30:20 <SevenInchBread> !haskell main = putStrLn "test"
22:30:24 <EgoBot> test
22:30:57 <hiato> Phantom_Hoover: yeah, rawrite in win/nix or just plain dd
22:31:26 <Phantom_Hoover> Hmm, I don't have /dev/fd0
22:31:31 <SevenInchBread> !haskell main = putStrLn (src ++ (show src)) where src = "main = putStrLn (src ++ (show src)) where src = "
22:31:33 <EgoBot> main = putStrLn (src ++ (show src)) where src = "main = putStrLn (src ++ (show src)) where src = "
22:32:00 <SevenInchBread> I realized there was no need for a replace function, though you could still make a quine using it.
22:32:33 -!- SevenInchBread has changed nick to CakeProphet.
22:33:08 -!- CakeProphet has quit (Changing host).
22:33:08 -!- CakeProphet has joined.
22:34:59 <Phantom_Hoover> OK, must dash.
22:35:32 <coppro> !haskell main = putStrLn (src ++ (show src)) where src = "!haskell main = putStrLn (src ++ (show src)) where src = "
22:35:35 <EgoBot> !haskell main = putStrLn (src ++ (show src)) where src = "!haskell main = putStrLn (src ++ (show src)) where src = "
22:35:39 <CakeProphet> ...I was just thinking about that.
22:36:00 <CakeProphet> I remember a lot time ago we had two bots that would make quines for the other bots command.
22:36:03 <CakeProphet> *long time
22:38:12 <CakeProphet> I thinking about making a Haskell quine file with multiple different quine approaches
22:38:31 <CakeProphet> so they'd have to also print all the other quine functions out as part of their code.
22:42:15 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:42:35 <pikhq> It's very, very weird listening to an acapella song with a chorus of "Ultraman! Ultraman Seven!"
22:42:46 <pikhq> *Very* freaking weird.
22:45:15 <CakeProphet> write about it in your blah.
22:45:19 <CakeProphet> *blag
22:45:20 <CakeProphet> ...
22:49:17 -!- c0d1g0f0n735 has joined.
22:49:33 -!- tombom has quit (Quit: Leaving).
22:49:39 <c0d1g0f0n735> ol
22:49:58 <c0d1g0f0n735> hi
22:54:55 -!- MigoMipo has changed nick to MigoMipo_.
22:55:04 -!- MigoMipo_ has changed nick to MigoMipo.
23:00:52 -!- c0d1g0f0n735 has quit (Excess Flood).
23:01:09 -!- c0d1g0f0n735 has joined.
23:04:11 <pikhq> CakeProphet: I shall write it in my blagoblogosphere!
23:04:11 -!- GreaseMonkey has joined.
23:08:14 -!- c0d1g0f0n735 has left (?).
23:10:40 -!- hiato has quit (Quit: underflow).
23:22:57 <AnMaster> ais523, does NWN2 also exist for linux?
23:23:04 <ais523> no
23:23:11 <ais523> NWN1 is much better, anyway
23:23:24 <AnMaster> ah, but worse graphics I presume?
23:23:32 <ais523> not massively
23:23:47 <ais523> NWN2 has worse graphic design
23:23:55 <ais523> so NWN1's are nicer-looking even if they're technically worse
23:25:21 <AnMaster> that rather depends on specific taste
23:48:14 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:53:28 -!- CakeProphet has quit (Ping timeout: 265 seconds).
23:58:05 -!- relet has quit (Quit: Leaving.).
2010-06-16
00:11:53 -!- CakeProphet has joined.
00:13:21 <cpressey> YOU ARE NOT PLAYING ENOUGH GORF. PLAY MORE GORF
00:13:27 -!- Oranjer has joined.
00:13:27 -!- cpressey has quit (Quit: Leaving.).
00:17:35 -!- coppro has quit (Remote host closed the connection).
00:18:11 -!- coppro has joined.
00:20:11 -!- ais523 has quit (Remote host closed the connection).
00:28:54 -!- CakeProphet has quit (Ping timeout: 252 seconds).
00:33:39 <cheater99> hi
00:33:44 <cheater99> what is gorf
00:34:32 <coppro> good question
00:34:59 <cheater99> Gorf is an arcade game released in 1981 by Midway Mfg., whose name was advertised as an acronym for "Galactic Orbiting Robot Force".
00:42:11 -!- SevenInchBread has joined.
01:04:11 -!- SevenInc1Bread has joined.
01:06:06 -!- SevenInchBread has quit (Ping timeout: 258 seconds).
01:06:12 -!- MizardX has quit (Ping timeout: 276 seconds).
01:09:21 -!- coppro has quit (Ping timeout: 265 seconds).
01:09:45 -!- jabb has quit (Ping timeout: 264 seconds).
01:09:51 -!- SevenInc1Bread has quit (Ping timeout: 260 seconds).
01:10:35 -!- coppro has joined.
01:11:34 -!- SevenInchBread has joined.
01:12:46 -!- jabb has joined.
01:13:49 <AnMaster> cheater99, pretentious name
01:14:39 <cheater99> AnMaster: ?
01:14:47 <cheater99> AnMaster: what?
01:15:29 <AnMaster> cheater99, gorf
01:15:56 <cheater99> oh
01:15:59 <cheater99> i thought you'd meant me
01:16:01 <cheater99> ;<
01:16:16 <AnMaster> cheater99, nah not really
01:16:48 <cheater99> ok B<
01:22:31 -!- jabb_ has joined.
01:25:58 -!- jabb has quit (Ping timeout: 265 seconds).
01:28:27 -!- GreaseMonkey has quit (Remote host closed the connection).
01:30:43 -!- SevenInc1Bread has joined.
01:32:24 -!- SevenInchBread has quit (Read error: Operation timed out).
01:35:50 -!- cal153 has quit (Ping timeout: 276 seconds).
01:36:57 -!- GreaseMonkey has joined.
01:41:21 -!- SevenInc1Bread has quit (Ping timeout: 240 seconds).
01:43:20 -!- SevenInchBread has joined.
01:49:07 -!- FireFly has quit (Quit: swatted to death).
01:54:17 -!- SevenInchBread has quit (Read error: Operation timed out).
01:57:21 -!- cal153 has joined.
02:02:11 -!- jabb_ has quit (Remote host closed the connection).
02:24:19 -!- SevenInchBread has joined.
02:40:07 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:51:30 -!- Gregor-P has quit (Ping timeout: 276 seconds).
02:53:50 -!- SevenInchBread has quit (Ping timeout: 276 seconds).
03:41:47 -!- pikhq has quit (Remote host closed the connection).
03:42:14 -!- pikhq has joined.
03:46:48 -!- coppro has quit (Quit: I should switch to irssi).
04:03:12 -!- coppro has joined.
04:05:58 <Sgeo_> Does ais523 logread?
04:07:20 <coppro> don't think so
04:09:28 <Sgeo_> Hm
04:09:39 <Sgeo_> Is there only one version of IE8?
04:11:59 -!- coppro has quit (Read error: Connection reset by peer).
04:13:41 -!- coppro has joined.
04:15:42 -!- coppro has quit (Client Quit).
04:17:21 -!- coppro has joined.
04:34:38 -!- oerjan has joined.
04:44:06 -!- bsmntbombdood has quit (Quit: Leaving).
04:53:08 -!- poiuy_qwert has joined.
05:08:07 -!- poiuy_qwert has quit (Quit: Leaving).
05:08:44 -!- poiuy_qwert has joined.
05:22:38 -!- whtspc has joined.
05:23:55 -!- whtspc has quit (Client Quit).
05:25:48 -!- bsmntbombdood has joined.
05:59:08 -!- oerjan has quit (Quit: leaving).
06:15:21 <Gregor> Woooooo http://codu.org/music/op13/GRegor-op13-mov1-wipp7.ogg
06:17:59 -!- Oranjer has left (?).
06:42:47 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
06:50:06 -!- GreaseMonkey has joined.
07:06:07 -!- tombom has joined.
07:32:57 -!- slsimic has joined.
07:33:19 -!- slsimic has left (?).
07:40:13 -!- pikhq has quit (Remote host closed the connection).
07:52:13 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:10 -!- Sgeo__ has joined.
08:21:43 -!- Sgeo_ has quit (Ping timeout: 248 seconds).
08:23:20 -!- MizardX has joined.
08:31:24 -!- augur has joined.
08:31:29 -!- augur has quit (Remote host closed the connection).
08:31:38 -!- augur has joined.
08:50:14 -!- Gracenotes has quit (Remote host closed the connection).
09:09:57 -!- Gracenotes has joined.
09:34:06 -!- MigoMipo has joined.
09:46:00 -!- atrapado has joined.
10:29:00 -!- MizardX- has joined.
10:31:38 -!- MizardX has quit (Ping timeout: 240 seconds).
10:31:58 -!- MizardX- has changed nick to MizardX.
10:41:11 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
10:43:26 -!- cheater99 has quit (Ping timeout: 272 seconds).
11:46:03 -!- FireFly has joined.
11:57:16 -!- MizardX- has joined.
11:59:38 -!- MizardX has quit (Ping timeout: 240 seconds).
11:59:44 -!- MizardX- has changed nick to MizardX.
13:10:43 -!- Phantom_Hoover has joined.
13:10:59 <Phantom_Hoover> Hi, everybody!
13:18:30 -!- oerjan has joined.
13:23:29 <Phantom_Hoover> oerjan!
13:25:38 <oerjan> Mirage_Absorber!
13:29:40 <Phantom_Hoover> Running out, huh?
13:30:04 <oerjan> i have _no_ idea what you are talking about
13:30:15 * oerjan should have kept a list of the ones he already used
13:37:33 * Phantom_Hoover tests sarcasm detector
13:37:52 <Phantom_Hoover> Hmm, it isn't working.
13:38:06 <oerjan> *mwahahaha*
13:40:28 <Phantom_Hoover> Can you hear me?
13:40:39 <Phantom_Hoover> Can you hear me now?
13:42:26 <Phantom_Hoover> Now?
13:42:29 <Phantom_Hoover> Can you hear me?
13:42:33 <Phantom_Hoover> Or read, or whatever.
13:42:49 <oerjan> um yes
13:42:50 <Phantom_Hoover> I won't discriminate against those with neural interfaces.
13:43:17 * Phantom_Hoover wonders how IWC's 20 questions game will turn out.
13:43:35 <oerjan> well i just had to drop the cheshire cat :(
13:43:59 <Phantom_Hoover> Aww.
13:44:35 <oerjan> not that i'd had it for more than one question anyway
13:46:20 -!- BeholdMyGlory has joined.
14:00:23 <Phantom_Hoover> http://satansgoalie.deviantart.com/art/rainbows-are-metal-105457616
14:00:34 <Phantom_Hoover> Worst misunderstanding of licences ever.
14:06:02 * Phantom_Hoover wonders if you can use the segment registers as general purpose registers.
14:06:27 <Phantom_Hoover> Preferably without making the memory model explode.
14:07:07 <oerjan> general explosion registers. recommended by Taliban, Hamas and Al-Qaeda.
14:07:56 <Phantom_Hoover> mov eex, america
14:08:28 <Phantom_Hoover> Or perhaps mov [america], eex
14:15:12 <Phantom_Hoover> Although eex is equivalent to one of the 64-bit registers.
14:16:16 -!- MigoMipo has quit (Read error: Connection reset by peer).
14:16:45 -!- MigoMipo has joined.
14:24:41 * Sgeo__ is turning into alise
14:34:24 -!- oerjan has quit (Quit: leaving).
14:50:05 -!- augur has quit (Remote host closed the connection).
14:50:21 -!- augur has joined.
15:02:06 -!- cpressey has joined.
15:03:18 -!- oerjan has joined.
15:11:35 -!- waga has joined.
15:11:37 <waga> hi
15:11:50 <oerjan> hi
15:12:15 * oerjan wonders if we should change the topic
15:12:19 -!- Yandertal has joined.
15:12:54 * waga just dived into the great world of eso langs
15:13:11 <oerjan> ah
15:13:33 * oerjan always gets nervous when new people arrive and the topic is hideously misleading
15:14:04 <oerjan> not that we get _that_ many actual crystal healers here, anyway
15:14:12 <waga> haha
15:14:33 <waga> i like the topic
15:14:40 <waga> is the worst i have ever seen
15:15:40 <waga> you should also add ufos
15:15:45 <waga> and stupid
15:15:52 <waga> magnetic powers
15:15:55 <waga> and shit
15:16:12 <waga> my aunt loves them. last time i visited her
15:16:35 <Sgeo__> I love magnets too.
15:16:43 <waga> she told me that aprox 36000 of souls orbit the earth waiting for free bodies
15:17:03 <oerjan> waga: that sounds rather low, actually
15:17:29 <Sgeo__> Very useful things. Right now, I'm using a device that relies on dynamically created magnets for purposes of information storage
15:17:43 -!- hiato has joined.
15:18:16 <waga> and that nowaday´s our galaxy has entered a new in a new space region were we will be able to use our extrasenzorial powers
15:18:28 <waga> and stuff
15:18:30 <waga> so she trains every day
15:18:37 <waga> ^^
15:19:58 * oerjan immediately suspects someone confusing galaxy with solar system, as if that were the main problem here
15:20:09 <waga> is this an esoteric languages programming channel? :S
15:20:18 <oerjan> yes
15:20:23 <waga> or have i landed into some paranoic idiots
15:20:24 <waga> oh
15:20:25 <waga> ok
15:20:27 <cpressey> brainfuck
15:20:30 <cpressey> see, that proves it
15:20:50 <waga> i love brainfuck
15:20:58 <oerjan> waga: cpressey is famous here
15:21:12 <cpressey> oerjan: I am? ... ok
15:21:13 <oerjan> befunge and other inventions
15:21:14 <waga> just managed to do my first prog in it to copy one byte to another
15:22:14 <oerjan> waga: this channel is off topic as often as not. actual esoterica are somewhat rare, though, although there's the occasional technological singularity discussion and stuff
15:23:08 <oerjan> !bf_txtgen WE HAVE BOTS
15:23:17 <EgoBot> 101 +++++++++++[>+>++++++++>++++++>+++<<<<-]>>-.>+++.>-.<+++.-------.<-.>++++.>.<---.<-------.+++++.-.<-. [662]
15:23:27 <waga> who?
15:23:34 <oerjan> ^bf +++++++++++[>+>++++++++>++++++>+++<<<<-]>>-.>+++.>-.<+++.-------.<-.>++++.>.<---.<-------.+++++.-.<-.
15:23:43 <oerjan> um
15:23:51 <oerjan> one less bot than usual, it would seem
15:24:02 <oerjan> !bf +++++++++++[>+>++++++++>++++++>+++<<<<-]>>-.>+++.>-.<+++.-------.<-.>++++.>.<---.<-------.+++++.-.<-.
15:24:06 <EgoBot> WE HAVE BOTS
15:25:06 <oerjan> also HackEgo, and usually fungot. EgoBot is the one with many esolangs in it, though
15:25:45 <waga> >>>,[->+>+<<]>[-<+>]>[-<+>]
15:25:52 <waga> this is it
15:26:01 <oerjan> fungot would be the one actually _written_ in an esolang
15:26:36 * waga uses a fucking german computer with a fucking german windows and a fucking german kezboard lazout
15:26:40 <waga> and i HATE it
15:27:40 <oerjan> s/german/norwegian/, here
15:28:06 <oerjan> ok not the kezboard that's distinctly german :D
15:29:01 <waga> sorrty
15:29:20 <waga> but it´s absolutely different then qwery
15:29:34 <waga> it´s like using a esoteric computer
15:29:54 <oerjan> it's qwertz right? thus the kezboard
15:31:07 <Deewiant> I'm on a Japanese keyboard with an English-locale Linux and an originally American (I think) keyboard layout
15:31:43 <Deewiant> And I love it
15:31:50 <oerjan> Deewiant: no mention of your being finnish?
15:32:14 <Deewiant> Well, waga didn't state his nationality either
15:32:49 <oerjan> true
15:33:20 <waga> i am romanian
15:33:27 <waga> but born in canada
15:35:11 <waga> if that helps...
15:35:21 <oerjan> no, that only complicates things :D
15:35:24 <oerjan> food ->
15:36:52 <cpressey> i was born in canada too. i'm in the us now. and i use a completely normal keyboard.
15:37:08 <waga> me too
15:37:15 <waga> except today
15:37:16 <cpressey> i'm using a tiling window manager under ms windows, though. that's got to count for something.
15:37:23 <waga> wow
15:37:56 <waga> dwm + cygwin?
15:38:04 -!- Yandertal has changed nick to Yandertal_work.
15:38:40 <cpressey> it's something called "bug.n" written in something else called "AutoHotKey", some kind of send-msgs-to-windows-utility-language-thing.
15:38:47 -!- waga has changed nick to waga|bfing.
15:39:08 <waga|bfing> wow
15:39:14 <cpressey> i use cygwin a lot, but not X under cygwin
15:39:21 <waga|bfing> autohotkey is a very ugly language
15:39:28 <waga|bfing> i use linux and bsd
15:39:48 <waga|bfing> and rarely win on my dad´s laptop
15:39:49 <cpressey> oh yes, AHK rivals the NSIS installer language for ugly.
15:40:23 <cpressey> windows is mainly for work -- i have ubuntu or something on my laptop at home
15:40:32 <hiato> I use a morse key that feeds into my cpu
15:40:36 <cpressey> and used to run freebsd religiously
15:41:14 -!- asiekierka has joined.
15:41:15 <asiekierka> Hello
15:41:34 <hiato> scratch that, a magnet and a coil linked to some of my bus lines
15:41:41 <oerjan> asiekierka: i'm sorry there are too many nationalities here at present. please try again later.
15:41:43 <Deewiant> cpressey: "Completely normal keyboard" varies by country
15:42:40 * asiekierka is now asiekierka@077087179065.secretnorthkoreainternetaccessnetwork.cn
15:42:46 <oerjan> especially if you include the keyboards
15:43:35 <waga|bfing> Have you watched the North Coreea vs Brazill match?
15:43:41 <asiekierka> yes
15:43:54 <asiekierka> one of my online friends commented it:
15:43:58 <hiato> oerjan was in it
15:44:04 <asiekierka> "At least they won't kill the babies of the North Korean players"
15:44:06 <waga|bfing> NKPD has given a goal
15:44:18 <waga|bfing> not for shure
15:44:31 <waga|bfing> they usually have conferences
15:44:33 <waga|bfing> after that
15:44:49 <waga|bfing> and they have to accuse one eachother
15:44:59 <asiekierka> that's like Paranoia
15:45:02 <asiekierka> the roleplaying game
15:45:04 <asiekierka> ...oh wait
15:45:19 <asiekierka> why are the flags of #esoteric +cn
15:45:25 <asiekierka> i didn't know #esoteric was communist chinese
15:45:37 <oerjan> asiekierka: you are not cleared for that information, citizen
15:45:39 <waga|bfing> hehe
15:45:40 <hiato> we prefer DPR
15:45:42 -!- Yandertal_work has quit (Quit: Correndo...).
15:45:51 <waga|bfing> DPRK
15:45:59 <asiekierka> shut up, Friend Oerjan
15:46:08 -!- relet has joined.
15:46:11 <waga|bfing> comrade oerjan
15:46:19 <asiekierka> Friend Oerjan
15:46:22 <waga|bfing> comrade oerjan
15:46:24 <asiekierka> just like Friend Computer!
15:46:40 <asiekierka> HOW CAN YOU MISNAME FRIEND OERJAN!
15:46:47 <asiekierka> See? See how evil is he?
15:46:51 <waga|bfing> i will anounce the local communist secret
15:46:53 <waga|bfing> ar
15:47:07 <waga|bfing> that you are an enemy of our beloved
15:47:12 <waga|bfing> country
15:47:25 <asiekierka> You know, communist organizations are illegal
15:47:28 <asiekierka> that means you're EVEN WORSE
15:47:45 <oerjan> asiekierka: clearly waga|bfing is the REAL evil communist mutant here
15:47:46 <waga|bfing> i love kim jong il
15:47:53 <waga|bfing> and obey him
15:47:56 <asiekierka> :O
15:47:56 -!- hiato has quit (Quit: you've been a wonderful audience, goodnight).
15:48:01 <waga|bfing> i belive in the juche laws
15:48:06 <asiekierka> Friend Oerjan! How can you still tolerate such behavior!?
15:48:15 <waga|bfing> and read all the 99999...999 books of the juche
15:48:36 <oerjan> waga|bfing: something tells me you are not quite acquainted with Paranoia
15:49:05 <waga|bfing> what does acquainted and paranoia mean?
15:49:20 <asiekierka> "<oerjan> Possesing such information is treason, waga"
15:49:21 <oerjan> (mind you i've never actually played it myself)
15:49:27 <asiekierka> (i did but i didnt do much)
15:49:30 <asiekierka> (it was fun though)
15:49:33 <asiekierka> (via IRC)
15:50:35 <oerjan> waga|bfing: paranoia is a roleplaying game, about a dystopia ruled by a computer
15:50:51 <asiekierka> where people are cloned
15:50:53 <asiekierka> and babies kileld
15:50:55 <asiekierka> killed*
15:50:55 <oerjan> the computer, and therefore everyone else, is paranoid
15:51:02 <waga|bfing> sing with me http://www.korea-dpr.com/hana.wmv
15:51:07 <waga|bfing> it´s karaoke
15:51:10 <waga|bfing> ^^
15:51:16 <asiekierka> the computer doesn't want anyone to plot against it
15:51:27 <asiekierka> so it banned anything that doesn't love and obey Friend Computer
15:51:38 <asiekierka> including communism (even though Paranoia is very communist itself)
15:52:58 <asiekierka> the point is
15:53:01 <asiekierka> as people are cloned
15:53:04 <asiekierka> genetic problems appear
15:53:09 <asiekierka> so everyone is a mutant and has a special ability
15:53:26 <asiekierka> though (unless you tell friend computer you have one which is really useless because you're constantly watched then) they're banned too
15:53:39 <asiekierka> and there are like
15:53:43 <asiekierka> 20 secret organizatiosn
15:53:45 <asiekierka> organizations*
15:53:55 <asiekierka> and you mostly belong to one of these
15:53:57 <asiekierka> all are illegal
15:54:27 <waga|bfing> http://www.korea-dpr.com/users/thai/slides/IMGA2832.htm
15:54:51 <asiekierka> including FCCC-P
15:54:59 <asiekierka> (pun intended)
15:55:04 <asiekierka> which is a Friend Computer-obedient organization
15:55:08 <asiekierka> even though they're also illegal
15:55:13 <asiekierka> they get out with a slap on a wrist
16:05:38 <waga|bfing> Please tell me an esoteric lang to learn
16:05:42 <waga|bfing> just boared
16:06:03 <cpressey> waga|bfing: Thue
16:06:21 <waga|bfing> thue is it´s name?
16:06:28 <cpressey> waga|bfing: yes
16:06:30 <asiekierka> waga|bfing: Unlambda
16:19:52 -!- lutsin has joined.
16:23:07 * waga|bfing discovered 3code
16:23:09 -!- MigoMipo has quit (Quit: Quit).
16:32:15 -!- augur has quit (Ping timeout: 245 seconds).
16:47:40 -!- lutsin_ has joined.
16:49:26 -!- tombom has joined.
16:49:34 -!- tombom has quit (Changing host).
16:49:34 -!- tombom has joined.
16:49:57 -!- lutsin has quit (Ping timeout: 264 seconds).
16:49:57 -!- lutsin_ has changed nick to lutsin.
17:05:58 -!- augur has joined.
17:10:56 -!- SevenInchBread has joined.
17:11:01 -!- coppro has quit (Ping timeout: 240 seconds).
17:14:52 <cpressey> Does False have real closures? Or are they just function pointer-like things?
17:20:12 <cpressey> You're going to make me write a test program to find out, AREN'T YOU.
17:20:15 -!- waga|bfing has quit (Ping timeout: 252 seconds).
17:21:28 -!- Yandertal_work has joined.
17:21:28 -!- Yandertal_work has quit (Excess Flood).
17:21:57 -!- coppro has joined.
17:23:20 -!- waga has joined.
17:23:28 <coppro> woot, my Payola order parser is complete
17:23:34 <coppro> <3 Haskell
17:23:35 <waga> hi
17:23:57 <waga> how can i type this? v
17:24:08 <waga> it is a command in acronym
17:24:19 <waga> its like ^
17:24:21 <waga> but
17:24:30 <waga> in the other direction
17:25:00 <coppro> that's just a v
17:25:11 <coppro> the same as in Befunge
17:25:22 <cpressey> waga: You need one of these: http://upload.wikimedia.org/wikipedia/commons/4/47/Space-cadet.jpg
17:26:19 <fizzie> The (unmodified) Finnish keyboard layout I have here can type ↓ and ↑ with altgr-u and shift-altgr-u.
17:26:21 <waga> ok...
17:26:38 <waga> nice computer
17:26:49 <waga> evrika
17:26:57 <waga> it is v letter
17:26:59 <waga> i think
17:27:02 <waga> wait
17:27:16 <waga> yep
17:27:18 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
17:27:19 <waga> it is
17:30:33 * waga is willing to do a bf interpreter in asm
17:30:39 <waga> maybe a bootloader
17:33:47 -!- Yutaka_away has joined.
17:33:47 -!- Yutaka_away has quit (Excess Flood).
17:36:20 -!- Yutaka has joined.
17:36:21 -!- Yutaka has quit (Excess Flood).
17:39:40 <Phantom_Hoover> Oh no, EXCESS FLOOD!
17:41:01 * cpressey is still in the room (hasn't quit yet: Tolerable Amounts of Flood).
17:41:14 <waga> I see no flood.
17:41:24 <Phantom_Hoover> Oh, you will soon.
17:41:31 <waga> I only see yutaka joining and quiting
17:41:35 <Phantom_Hoover> Also, the Space Cadet is incredibly cool.
17:42:22 <Phantom_Hoover> Meta, Super *and* Hyper.
17:43:39 * Phantom_Hoover wonders why anyone sane would code in GAS.
17:47:07 <fizzie> As in GNU as, or something else?
17:47:33 <Phantom_Hoover> GNU as.
17:47:44 <Phantom_Hoover> What else would it be?
17:48:05 <fizzie> Just based on the name, some sort of gas-simulation-based esolang.
17:48:40 <cpressey> Phantom_Hoover: And "Network". And "<thumbs-up>".
17:48:56 <Phantom_Hoover> Huh?
17:49:07 <cpressey> Space Cadet keys.
17:49:12 <Phantom_Hoover> Oh.
17:49:15 <fizzie> I've written an amount of code in GNU as, just because I don't really know what other ARM assemblers there are, and the toolkit I had has GNU binutils in it.
17:49:28 <Phantom_Hoover> Symbolics machines looked generally brilliand.
17:49:38 <Phantom_Hoover> s/brilliand/brilliant/
17:50:05 <Phantom_Hoover> fizzie, Well, if there's nothing else, but it's very strange.
17:50:16 <Phantom_Hoover> At least for handwritten assembly.
17:50:31 <Phantom_Hoover> Compiler-generated assembly is understandable.
17:51:08 <waga> i know a great guy who programmes
17:51:09 <fizzie> It doesn't feel that bad for me.
17:51:10 <waga> in gas
17:51:19 <waga> he is founder of mirbsd
17:51:35 <waga> from him i learnt a bit of asm
17:51:55 <fizzie> I guess the macros are a bit strange, but it's not *that* horrible.
17:52:36 <waga> he made a bootloader with full filesystem support(about a dozen of them) to boot linux and bsd os-es
17:52:41 <waga> only in gas
17:52:46 <waga> gas is wierd
17:52:58 <Phantom_Hoover> Does it actually have a d? instruction?
17:52:58 <waga> but he says it´s better then nasm or fasm
17:53:09 <waga> no idea
17:53:15 * waga never used gas
17:53:52 <fizzie> It has .word and .byte such that can be used to insert raw data.
17:54:00 <Phantom_Hoover> Ah.
17:54:58 <fizzie> And .asciz + .ascii for text strings; it doesn't do stuff like db "foo", 0. But that's not such a huge annoyance.
18:00:19 <fizzie> It's a bit arbitrary at times. ".align X" on i386-elf (and many others) aligns so that the location counter is a multiple of X, but on i386-a.out (and also many others) it aligns so that the location counter will have X low-order bits zero (in other words, to a multiple of 2^X).
18:01:00 <fizzie> (It does have explicit .balign and .p2align which always behave the same way, though.)
18:02:08 -!- pikhq has joined.
18:03:42 -!- atrapado has quit (Quit: Saliendo).
18:16:39 <waga> ok
18:16:42 <waga> good bye
18:16:50 <waga> have a nice day/evwning
18:17:18 -!- waga has quit (Quit: Page closed).
18:18:11 -!- base3_ has joined.
18:24:56 <Phantom_Hoover> OK, so I have /dev/fd
18:25:03 <Phantom_Hoover> But not /dev/fd0.
18:25:07 <Phantom_Hoover> How do I get it?
18:26:01 <Phantom_Hoover> Oh, /dev/fd is the file descriptors.
18:26:08 <Phantom_Hoover> Even more annoying.
18:26:19 <base3_> Phantom_Hoover: sudo cp /dev/fd /dev/fd0
18:26:21 <base3_> should do it
18:26:34 <Phantom_Hoover> base3_, no.
18:26:55 <Phantom_Hoover> /dev/fd0 should be a device file for a floppy.
18:27:07 <Phantom_Hoover> /dev/fd is a link to a directory of file descriptors.
18:28:05 <pikhq> I thought /dev/fd was actually a bunch of pseudo-files courtesy of Bash?
18:28:22 <Phantom_Hoover> It corresponds to something in /proc/self
18:28:31 <pikhq> Regardless of implementation, though: that's file descriptor land.
18:28:44 <Phantom_Hoover> Yep.
18:28:48 <Phantom_Hoover> Not floppies.
18:29:00 <Phantom_Hoover> I have an image, but losetup won't loopify it.
18:29:14 <pikhq> How odd.
18:30:04 <Phantom_Hoover> Ah, there isn't a loop module.
18:30:12 <Phantom_Hoover> Which raises questions in itself.
18:30:25 <Phantom_Hoover> Like why the hell I have /dev/loop*
18:30:39 <pikhq> I presume that your /dev/ is somehow not being managed by udev.
18:30:50 <Phantom_Hoover> A good conclusion.
18:31:23 <Phantom_Hoover> I have forgotten how to fix that.
18:31:36 <pikhq> Heavily distro-specific.
18:31:44 <Phantom_Hoover> Hmph.
18:31:47 * Phantom_Hoover Googles.
18:31:52 <pikhq> Though in general, it should be a very, very early part of init.
18:32:47 <Phantom_Hoover> I'm using Ubuntu, though I did modify some udev stuff months ago,
18:33:10 <base3_> i thought that ubuntu now has some experimental new alternaitve to udev
18:33:11 <pikhq> I know Gentoo actually does udev initialisation twice; once in the initrd and once in init. Granted, the initrd bit is done with mdev (Busybox's tiny udev-alike), and ceases to exist once chroot happens...
18:33:25 * Phantom_Hoover feels stupid.
18:33:32 <Phantom_Hoover> I forgot one of the arguments
18:33:44 <Phantom_Hoover> Oops.
18:33:44 <pikhq> base3_: No, there are two alternatives to udev in modern Linux: mdev (Busybox's udev-alike), and a manual, classic /dev filesystem.
18:34:07 <pikhq> There used to be devfs, but this is exceptionally archaic.
18:35:32 <Phantom_Hoover> /proc was originally a Plan 9 thing, wasn't it?
18:37:06 <pikhq> Yes, /proc is from Plan 9.
18:37:31 <pikhq> And adapted to many other UNIXes because, well, it's a good idea, very UNIXy, and incredibly easy to implement.
19:08:25 -!- augur has quit (Remote host closed the connection).
19:08:49 -!- augur has joined.
19:13:06 <Phantom_Hoover> Is FreeDOS binary-compatible with... old.. DOS...
19:13:19 <cpressey> Phantom_Hoover: I bleev so
19:13:19 <Phantom_Hoover> I sort of lost the train of thought there.
19:13:43 <Phantom_Hoover> And I assume that it runs on modern x86 processors.
19:14:56 <cpressey> Yes. All hail Intel!
19:21:26 <Phantom_Hoover> Can you install old DOS on modern x86 processors?
19:22:35 <cpressey> Well, I think, if there's a blocking issue, it would be disks.
19:22:40 <fizzie> It's not compatible enough to run Windows 3.11 (or 3.1 in 386 mode) on it, but other than that it's not bad.
19:23:44 <cpressey> Floppies are now rare, big partitions may well confuse it, and optical disks... well, there are probably drivers you can get... somewhere.
19:24:48 <cpressey> it = old DOS, I mean. I would sooner trust FreeDOS to not get these sorts of things wrong.
19:25:09 <cpressey> Pretty sure FreeDOS has a nice generate ATAPI driver for CD-ROMs, for instance.
19:25:14 <cpressey> s/generate/generic/
19:25:41 <fizzie> FreeDOS does FAT32 and shouldn't be confused by (reasonably) large disks, and there is indeed a CD-ROM driver included.
19:27:46 -!- MizardX- has joined.
19:27:48 -!- MizardX has quit (Read error: Connection reset by peer).
19:28:00 <fizzie> It's not difficult to find a generic-enough-to-work ATAPI CD-ROM driver for old DOS either, though.
19:28:14 -!- MizardX- has changed nick to MizardX.
19:28:17 <fizzie> DVDs, especially with UDF on them, might be more problematical.
19:29:01 -!- coppro has quit (Remote host closed the connection).
19:31:54 <fizzie> FreeDOS seems to have udvd.sys: "UDVD.SYS is a DOS driver for 1 to 3 CD/DVD drives, including SATA UltraDMA and older "PIO mode" drives."
19:32:45 <cpressey> Cool. Do you happen to know if anything in FreeDOS groks USB?
19:32:54 <cpressey> Perhaps "grok" is too strong a word.
19:32:57 <cpressey> "Tolerates"?
19:34:27 <fizzie> I don't, but Wikipedia seems to do: "So far there is no USB driver support inside the FreeDOS project, but many modern motherboards contain BIOS settings for "Legacy USB" support which allow USB devices to be used in operating systems that lack support for them (such as FreeDOS). This applies to keyboards and mice, and some BIOSes can even support storage devices. --
19:34:29 <fizzie> -- Some external DOS USB drivers (such as DUSE, USBASPI and USBMASS) for storage devices work with some effort and luck. There is also DOSUSB which offers an API and supports storage devices, printers and serial adapters."
19:34:48 <fizzie> "some effort and luck" sounds very promising.
19:35:15 <cpressey> Ah yes, leveraging BIOS support. Nice.
19:35:29 <pikhq> Of course, nothing but MS-DOS can run Windows 3.11, 3.1 in 386, or 95.
19:35:47 <pikhq> They had this exceptionally crazy routine called "sucking out the brains" of DOS.
19:36:06 <pikhq> Very dependent on an exact memory layout of deep, deep internals.
19:37:37 <fizzie> DR-DOS supposedly can do Wfw3.11.
19:38:56 <fizzie> Though a patch seems to be needed to circumvent the "is this MS-DOS or some competitor" detection of the installer. Cf. http://en.wikipedia.org/wiki/AARD_code
19:39:51 <fizzie> "We need to smile at Novell while we pull the trigger."
19:41:29 <cpressey> Yeah, nice article.
19:41:58 <fizzie> Didn't read it very thoroughly; apparently they didn't use that bit in the final 3.1 release.
19:47:03 <Phantom_Hoover> What about Novell?
19:47:05 -!- Mathnerd314 has joined.
19:47:46 <Phantom_Hoover> Oh.
19:47:52 <Phantom_Hoover> Good old Microsoft.
19:58:25 -!- augur has quit (Ping timeout: 265 seconds).
19:58:26 -!- lutsin has quit (Quit: lutsin).
20:07:28 -!- augur has joined.
20:08:52 -!- Gracenotes has quit (Ping timeout: 240 seconds).
20:12:36 -!- augur has quit (Ping timeout: 265 seconds).
20:13:01 <cpressey> I need better tools
20:16:02 -!- lutsin has joined.
20:22:03 -!- augur has joined.
20:28:04 <cpressey> I need tools that know what I'm doing without me having to endlessly customize them. Surely what I'm doing is not so unique that a framework for it which covers most of that space would not be unthinkable.
20:28:13 <cpressey> But, alise is not here today, so I'm talking to myself
20:29:55 -!- asiekierka has quit.
20:31:27 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
20:45:48 -!- Phantom_Hoover has joined.
20:58:26 -!- Oranjer has joined.
21:07:42 -!- lutsin has left (?).
21:10:47 -!- relet has quit (Quit: Leaving.).
21:13:23 -!- relet has joined.
21:13:38 <Phantom_Hoover> Is there actually anything at 0x0?
21:14:01 <Phantom_Hoover> (Since it segfaults for obvious reasons)
21:21:04 <fizzie> Normally there's nothing mapped there, but I think you can mmap something there if you want.
21:21:37 <fizzie> At least my mmap man page seems to suggest that MAP_FIXED and 0 will map to 0.
21:22:18 <pikhq> fizzie: If the kernel has not been configured to not map that.
21:22:25 <pikhq> Linux, by default, will not map the first page.
21:24:33 <Phantom_Hoover> Ooh.
21:24:40 <fizzie> As for physical address 0, it should be perfectly usable RAM. Though the low region of the memory map are a bit messy. http://pastebin.com/eQkFp9i6
21:24:42 -!- AndChat| has joined.
21:24:52 <Phantom_Hoover> Surely Bad Things can happen if NULL is 0x0?
21:25:17 -!- AndChat| has quit (Client Quit).
21:26:59 <fizzie> If I recall correctly, the C64 (and C128) have some registers at bytes 0 and 1; there was some sort of clever trickery to actually read/write the RAM bytes "under" those, but it was pretty pointless.
21:27:06 <fizzie> D6510 0000 0 6510 On-chip Data Direction Register. R6510 0001 1 6510 On-chip 8-bit Input/Output Register.
21:27:29 <Phantom_Hoover> Is there a simple way to reduce your clock speed?
21:28:23 <pikhq> Perfectly usable ram that Linux is set to avoid.
21:28:58 <pikhq> For the obvious reason that everything likes using it.
21:29:15 <pikhq> Phantom_Hoover: Depends on the CPU.
21:29:30 <Phantom_Hoover> Assuming something of the x86 family?
21:29:42 <fizzie> On Linux, or just in generic?
21:29:46 <pikhq> Depends on the exact CPU.
21:29:50 <Phantom_Hoover> Generic, I suspect.
21:30:22 <Phantom_Hoover> DOS, more specifically.
21:30:43 <pikhq> Depends on CPU manufacturer, CPU model, year made, etc.
21:30:52 <Phantom_Hoover> Goodness.
21:31:02 <fizzie> You could implement the ACPI way, I guess, that's somewhat widely supported on modern systems.
21:31:04 <Phantom_Hoover> Assuming something modern?
21:31:26 <oerjan> fizzie: i seem to recall 6502 had special instructions for addressing the first 256 bytes of memory, perhaps 6510 did too...
21:31:27 <pikhq> You've still got the Intel and AMD ways. Though I'm pretty sure you can just use ACPI and it'll mostly work.
21:33:30 <oerjan> *special addressing mode for some instructions
21:35:22 <fizzie> Yes, the "zero page" is special.
21:35:40 <fizzie> Still, any general CPU-initiated memory access will hit those registers.
21:37:43 <oerjan> mhm
21:38:52 -!- olsner has quit (Read error: Operation timed out).
21:39:44 <fizzie> Possibly it is so that it was the C128 "MMU" (if you can call it that) that made it possible to access those bytes. Though I do recall that there was some C64 trick. Can't seem to google it right now.
21:44:22 -!- oerjan has quit (Quit: Good night).
21:53:19 -!- Oranjer1 has joined.
21:53:57 -!- olsner has joined.
21:54:31 -!- Oranjer has quit (Ping timeout: 248 seconds).
21:55:58 -!- casdoro has joined.
22:01:46 <Phantom_Hoover> Is it a reasonable assumption that a bootloader will have entirely zeroed memory?
22:02:08 <cpressey> Phantom_Hoover: ... not in my world
22:02:24 <Phantom_Hoover> WHY?
22:02:26 <cpressey> On boot, RAM could be filled with anything
22:02:34 <Phantom_Hoover> It's RAM! It's not persistent!
22:02:42 <Phantom_Hoover> What is putting stuff in it?
22:02:44 <cpressey> Phantom_Hoover: Maybe you should study electronics :)
22:03:07 <cpressey> Phantom_Hoover: What would guarantee that any given bit is low?
22:03:10 <Phantom_Hoover> I have not the time.
22:03:33 <cpressey> Phantom_Hoover: Then just take my word for it... you can't rely on it.
22:03:41 <Phantom_Hoover> Damn.
22:03:52 <cpressey> Unless the machine manufacturer says you can because they did something special to make that happen.
22:03:55 <Phantom_Hoover> So you have to spend ages zeroing out an appropriate area?
22:04:16 <cpressey> If... you want it to contain only zeroes... yes.
22:04:54 <cpressey> I get the impression that usually happens to each chunk just before allocation, rather than all at once at boot.
22:05:14 <Phantom_Hoover> Yes, of course.
22:08:46 <pikhq> At boot, the RAM contains random data.
22:09:26 <pikhq> Unless it has been recent enough for the data contained to have not been erased; in which case, it contains the data from the previous run of the computer (possibly corrupted).
22:09:48 <Phantom_Hoover> Ahh.
22:10:21 <Phantom_Hoover> (I'd assumed that when power was cut, all bits went to 0.)
22:10:48 <cpressey> They tend to, but it takes time. And "tend" is not a very strong word.
22:10:56 <pikhq> Nowhere *near* that convenient.
22:11:15 <pikhq> I'm pretty sure it's more *likely* to be 0 than one, but it's still very, very, very indeterminate.
22:11:27 <cpressey> Entropy, ain't it great?
22:12:48 -!- Phantom_Hoover_ has joined.
22:13:24 <Phantom_Hoover_> Damn entropy.
22:14:21 -!- rodgort has quit (Quit: Coyote finally caught me).
22:14:32 <Phantom_Hoover_> Yay!
22:14:41 <Phantom_Hoover_> I always feel sorry for the coyote.
22:15:01 -!- rodgort has joined.
22:15:22 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:15:33 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover.
22:17:18 -!- SimonRC has joined.
22:17:20 <fizzie> That's the "bip" bouncer/proxy default quit-message; I use it too. (Unless it was written manually, or used by something else too.)
22:18:52 -!- casdoro has left (?).
22:30:16 -!- hiato has joined.
22:35:57 <cpressey> What ho, hiato!
22:37:11 <hiato> Might I extend my most humble greetings to you, sir
22:39:44 <hiato> bleh, cpressey, what is an era-related appropriate response to that?
22:43:06 <cpressey> hiato: You know, I'm not sure... mostly people just treat Wooster like the halfwit he his. Except Jeeves, who would say something along the lines of what you said. Maybe briefer.
22:43:45 -!- cpressey has changed nick to Wooster.
22:50:03 * Phantom_Hoover realises that he can just pass the bin file for a bootloader to QEMU and it still works.
22:57:41 <Phantom_Hoover> Damn.
22:59:22 <pikhq> You can actually directly pass a bzimage and initrd to Qemu and it works.
22:59:42 <pikhq> Erm. bzimage, initrd, and kernel command line.
23:00:34 <Phantom_Hoover> Yes, I know that.
23:00:51 <Phantom_Hoover> But I was messing around with custom bootloaders.
23:04:17 -!- relet has quit (Quit: Leaving.).
23:05:04 -!- sshc has quit (Quit: leaving).
23:11:42 -!- tombom has quit (Quit: Leaving).
23:11:56 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:21:05 -!- SevenInc1Bread has joined.
23:21:20 -!- GreaseMonkey has joined.
23:22:25 -!- SevenInchBread has quit (Read error: Operation timed out).
23:30:09 -!- hiato has quit (Quit: underflow).
23:34:49 -!- FireFly has quit (Quit: swatted to death).
23:37:57 -!- base3_ has quit (Ping timeout: 264 seconds).
23:39:16 -!- base3_ has joined.
23:44:18 -!- augur has quit (Ping timeout: 265 seconds).
23:45:21 -!- base3_ has quit (Ping timeout: 252 seconds).
23:48:47 -!- ehirdiphone has joined.
23:50:03 -!- zzo38 has joined.
23:50:08 <ehirdiphone> .
23:50:49 <zzo38> "T100 L4 CFG8F#8F G8H8F8H8JP4 >C<JG8F#8F L8H#G16C16DEF4P4"
23:50:53 <ehirdiphone> Hi zzo38.
23:50:59 <zzo38> .
23:51:09 <Wooster> Wow
23:51:12 <ehirdiphone> Quite.
23:51:34 <ehirdiphone> Wooster: Stop hiding!
23:51:40 -!- Wooster has changed nick to cpressey.
23:51:51 <ehirdiphone> Feeble disguise!
23:51:54 <ehirdiphone> :P
23:52:16 <cpressey> Bally clever fellow found me out, what?
23:52:22 * ehirdiphone dons cape; becomes super-hero
23:52:34 <zzo38> The "!~CPressey@173-9-215-173-Illinois.hfc.comcastbusiness.net" stays same regardless of NICK command
23:53:04 <ehirdiphone> cpressey: WE DO NOT USE THAT MODE OF SPEAKING -- OR UPPERCASE!
23:53:42 <ehirdiphone> I conclude that using a smuggled iPhone makes me retarded.
23:53:48 <zzo38> What mode?
23:54:02 <ehirdiphone> zzo38: Wodehouse Mode.
23:54:21 <zzo38> What does that mean?
23:54:26 <ehirdiphone> A new favourite, it seems, of Mr. Pressey here.
23:54:50 <ehirdiphone> zzo38: A certain author's style of character. Can you guess his name?
23:55:01 <ehirdiphone> Hint: it is Wodehouse.
23:55:18 <cpressey> Don't worry, it will soon shift to 30s Chicago Gangster mode, see?
23:55:19 <pikhq> How farest thou, sir Ehird of the iPhone?
23:55:34 <ehirdiphone> Toidy toid street.
23:55:54 <ehirdiphone> pikhq: Real answer, or expected?
23:56:02 <ehirdiphone> I suspect you know both.
23:56:17 <pikhq> Yes, though I am honestly interested in thy welfare.
23:56:35 <pikhq> So, no change. Alas.
23:56:56 <zzo38> About custom bootloaders... I have written a MBR code: B8 00 B8 8E C0 B0 70 B9 A0 0F 31 FF F3 AA B8 60 00 8E C0 B8 3E 02 B9 02 00 31 DB FA 9C 06 53 FF 2E 4C 00 0F 0B
23:57:15 <ehirdiphone> Shut up; the shouldn't-be-called-a-teacher is ruining Shakespearean language for me.
23:57:21 <pikhq> I don't read x86 machine code, even in heck.
23:57:30 <pikhq> How so?
23:57:36 <ehirdiphone> Heck. Really now.
23:57:45 <pikhq> s/heck/hex/
23:58:00 <pikhq> It seems as my Japanese improves my English degrades.
23:58:05 <zzo38> Hex is how I wrote it, though
23:58:25 <ehirdiphone> pikhq: Imagine the worst possible way to teach a terrible curriculum involving Shakespeare's plays. No! Wrong! Worse.
23:58:26 <cpressey> Heck-sad-easy-meal
23:58:32 <pikhq> AGH
23:58:48 <ehirdiphone> Iterate until you can't: then once more.
23:58:49 <zzo38> If you write a long bootloader code and you need a small MBR code to load it, you can use this one
23:58:50 <pikhq> THIS CAUSES INJURIOUS PAIN UNTO MY HEADBRAIN
23:59:02 <ehirdiphone> Now you never want to hear "thou" again.
23:59:38 <pikhq> I suggest you look up which regions still have "thou" in the common vernacular and *avoid them like the plague*.
23:59:53 <ehirdiphone> pikhq: Pain / headbrain. Hey, it rhymes.
2010-06-17
00:00:03 <zzo38> I tried to write a short Bohlen-Pierce music, I don't know how good it is to you. "T100 L4 CFG8F#8F G8H8F8H8JP4 >C<JG8F#8F L8H#G16C16DEF4P4" It is like QBASIC but using Bohlen-Pierce notes
00:00:10 <ehirdiphone> Which regions? The moving one containing you?
00:00:16 <pikhq> (most of them are in Scotland, but there are a few in the US)
00:00:28 <pikhq> ehirdiphone: No, as part of the normal dialect.
00:00:36 <zzo38> I suggest you don't figure out which regions to avoid according to if they use "thou" or not?
00:00:44 <pikhq> It's a tenacious pronoun.
00:01:45 <cpressey> How 'bout "yonder"?
00:01:46 <zzo38> (With the MBR code: Fill the rest with null bytes)
00:02:31 -!- Gracenotes has joined.
00:03:15 <cpressey> zzo38: Out of curiosity, is this a full list of your languages, or have you invented any new ones lately? http://esolangs.org/wiki/User:Zzo38
00:03:42 <zzo38> cpressey: Any time I invent new ones and I type it on the wiki, I will add it into that list.
00:03:44 <cpressey> I guess Dd/dd is new?
00:03:49 <cpressey> Since I last looked.
00:04:02 <zzo38> I suppose it is, if you didn't see it before
00:04:04 <cpressey> OK, good to know. Thanks.
00:04:47 <zzo38> Make a list of esolangs it is possible to write a paradox code, "Hyper Set Language" is one of them.
00:05:38 <ehirdiphone> Any language permitting infinite loops.
00:06:05 <ehirdiphone> x() := { !x() }
00:06:25 -!- coppro has joined.
00:06:26 <zzo38> Are you sure that counts? It might count in some program langages
00:06:28 <ehirdiphone> Then x() == !x()
00:06:44 <ehirdiphone> In hyper set language it is just an infloop too.
00:06:45 <cpressey> LABEL: if (self.halts()) goto LABEL; else exit(0);
00:07:07 <ehirdiphone> But x == !x is the DEFINITION of a paradox.
00:07:07 -!- base3_ has joined.
00:07:08 <zzo38> cpressey: I like that, it is interesting idea
00:07:54 <zzo38> ehirdiphone: Hyper set language is a different kind of infinite loop, in some way, of course no computer can actually do it, either way.
00:07:57 <ehirdiphone> It's not his :P
00:08:31 <cpressey> not exactly mine, but i thought it was a nice way to illustrate what's going on in the halting problem
00:08:43 <cpressey> the phrasing is mine, afaik
00:10:42 <ehirdiphone> P := [ Run(P) if Halts(P); Halt otherwise. ]
00:10:48 <Sgeo__> Hi ehirdiphone
00:11:05 <ehirdiphone> Where [...] is "this function but in the tc language".
00:12:03 <cpressey> Unfortunately, I gotta run.
00:12:08 <Sgeo__> ehirdiphone, I'm turning into you
00:12:12 <cpressey> Take care, folks.
00:12:17 <zzo38> Run! Run until you fall off!
00:12:27 <cpressey> wheeeeeeeeeeeee!!!!
00:12:33 -!- cpressey has quit (Quit: Leaving.).
00:12:39 <zzo38> It is unsafe everywhere! And if you fall off, it is not safe either, because you will fall off!
00:13:08 <ehirdiphone> Sgeo__: How?
00:13:17 <Sgeo__> Not going to sleep
00:13:45 <Sgeo__> I did buy some melatonin, and will put away [not turn off] the computer before I start getting ready for bed
00:13:54 <zzo38> I think the movie time service in my computer is broken now
00:15:54 <ehirdiphone> Sgeo__: SLEEP IS FOR THE WEAK
00:16:02 <ehirdiphone> No seriously sleep.
00:16:32 <Sgeo__> I'm eating dinner at 8, getting ready for bed at 11, and sleeping at midnight
00:21:42 <Sgeo__> ehirdiphone, I'm thinking that when I'm finally able to get to Blue Mars, I'm not going to like it
00:21:59 <ehirdiphone> It's too new!
00:22:09 <Sgeo__> lol
00:22:15 <Sgeo__> Actually, it's too Apple-esque
00:22:54 <Sgeo__> Developers submit their cities to QA before they're available for online chat
00:23:17 <Sgeo__> And it's not just technical stuff -- they have apparently said that some things can be too adult
00:23:17 <zzo38> Do you like any of this ideas for D&D adventure game:
00:23:27 <zzo38> * You have a magic item that you must figure out how to use in order to escape
00:23:38 <zzo38> * This problem must be solved using mathematics, but there is no clue that says mathematics required
00:23:48 <zzo38> * A monster was evil, now they want to learn to be good (and not evil), they expect the PC(s) to help them
00:23:52 <zzo38> * You found a book, describing someone reading a book about things similar (but not quite) the things happening now
00:23:58 <zzo38> * Combine multiple situations together, you have multiple things to worry about dealing with all at once
00:24:33 <zzo38> * In the obituaries, people seem to be mysteriously dying in alphabetical order
00:24:34 <ehirdiphone> * ALL OF THOSE IN ONE
00:24:52 <zzo38> ehirdiphone: That is what the "Combine multiple situations...." is for
00:25:45 <Sgeo__> Can you combine combining multiple situations with combinining multiple situations?
00:25:51 * Sgeo__ feels like being silly
00:26:31 <ehirdiphone> You have to help the monster by escaping using the magic item which requires mathematics to use by analysing the obituary order...
00:26:57 <ehirdiphone> Thus finding the inaccurate future book which nevertheless saves the day!
00:27:10 -!- MizardX has quit (Ping timeout: 260 seconds).
00:27:29 <zzo38> ehirdiphone: Interesting idea! I like that
00:27:49 <zzo38> Although it isn't exactly what I meant, but it is still good, too.
00:29:34 <zzo38> Have you ever heard of any D&D games with anything similar to any of these ideas at all?
00:30:20 <coppro> ehirdiphone: whoa, it's a Wednesday!
00:30:26 <coppro> you ever played Diplomacy?
00:31:03 <ehirdiphone> coppro: Iphone. Smuggled.
00:31:30 <zzo38> Diplomacy? Is that some kind of card game?
00:32:03 <ehirdiphone> And I'm actually just leaving. Farewell. Sgeo__!
00:32:11 <Sgeo__> Bye ehirdiphone
00:32:16 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:32:23 <Sgeo__> zzo38, it's a board game with no randomness
00:32:49 <Sgeo__> Just allying with and backstabbing other players
00:33:09 <zzo38> Many games have no randomness, and there are new ones
00:33:13 <zzo38> Some have hidden information, though
00:35:47 <zzo38> I have once played some cholocate making game, in anime convention, there is only one random part at the beginning is what card you pick up, and that is the only hidden information, nobody else can see your card. Other than that, there is no random or hidden information
00:37:28 <Sgeo__> http://www.guardian.co.uk/books/2010/jun/16/terry-pratchett-science-fiction-book
00:37:57 <Sgeo__> The only hidden information is the other player's true intentions, and the moves the other players wrote down before the turn is executed [not sure of the terminology]
00:39:09 <uorygl> How easy is it to move between European nations? Can I just say, "I don't like Finland today; I'm going to go to Sweden"?
00:40:21 <coppro> uorygl: I don't know about residence, but as far as casual travel goes, the Schengen zone is basically that easy to move in
00:40:52 <uorygl> I do mean residence.
00:41:12 <coppro> I think that still varies from state to state
00:48:53 -!- zzo38 has quit (Quit: It is not what it is).
00:53:47 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:04:10 -!- augur has joined.
01:10:35 <Sgeo__> Is it safe to take melatonin even if I'm tired
01:10:49 -!- augur has quit (Ping timeout: 265 seconds).
01:26:29 -!- augur has joined.
01:37:52 -!- augur has quit (Ping timeout: 265 seconds).
01:39:03 * Sgeo__ fantasizes about paying off his sleep dept and then learning new math, increasing my knowledge
01:49:49 -!- augur has joined.
02:00:53 -!- cheater99 has joined.
02:00:57 <cheater99> hello sweet cheeks
02:01:04 <cheater99> what's crackin'
02:32:36 <pikhq> uorgyl: In the Schengen zone, residence is a matter of: moving.
02:32:48 <pikhq> You can say "I don't like Finland today; I'm moving to Sweden."
02:33:25 <pikhq> From EU member nations *to* the Schengen zone is just a matter of showing your passport on the way out.
02:33:39 <coppro> pikhq: Really? There are no residence controls either?
02:33:41 <pikhq> (well. EU member nations that aren't Schengen. Looking at you, UK and Ireland.)
02:33:45 <pikhq> coppro: None at all.
02:33:48 <coppro> wow, awesome
02:33:54 <coppro> why is this not global yet
02:34:01 <coppro> (yes, I know)
02:34:22 <pikhq> I actually don't know; the Schengen zone *is* much more general than just the EU.
02:34:42 <pikhq> It's a completely seperate treaty that just happens to include most of the EU.
02:35:08 <pikhq> Well. It also makes reference to "European citizens" being allowed into it freely. This being the only actual reference to the EU in said treaty.
02:35:17 <pikhq> (a European citizen is a citizen of a EU member nation)
02:36:40 <coppro> I'm sure the reason is a) that it's seen primarily as a European institution, b) the few non-Euro countries that would be possibly be accepted aren't really interested and c) Any non-Euro nation joining the zone would feel like it was ceding its immigration policy to the EU
02:37:38 <pikhq> There are many non-EU nations in the Schengen zone.
02:37:51 <coppro> yeah, but they're European
02:38:07 <pikhq> Iceland, only on a technicality.
02:38:23 <coppro> true
02:38:29 <coppro> imagine if Canada did it
02:38:39 <coppro> politically, it just wouldn't work well
02:38:43 <coppro> trade rules and such
02:38:51 <pikhq> Unless Canada and the US did so simultaneously.
02:38:55 <pikhq> (which I would love)
02:39:42 <coppro> I wasn't even thinking about trade across the IB; just the fact that it would open Canada-EU trade to a massive extent that neither party is probably comfortable with (for whatever reason, I don't know)
02:42:14 -!- Adrian^L_ has changed nick to Adrian_L.
02:42:34 <pikhq> Anyways. Basically, *this* is the real map of Europe: http://upload.wikimedia.org/wikipedia/commons/1/10/Schengen_Agreement_map.svg
02:42:43 -!- Adrian_L has changed nick to Adrian^L.
02:42:50 <coppro> yeah
02:42:55 <pikhq> (red = EU member not in Schengen, blue = Schengen, green = future Schengen member)
02:43:19 <coppro> (don't get me wrong, it would be absolutely amazing if Canada signed onto Schengen. The US simply won't.
02:44:17 <pikhq> Oh, the US would. It would take either a fairly major change in political climate or the *rest* of the world signing on (and then a century's wait), though.
02:44:38 <coppro> heh
02:44:43 <coppro> I don't actually think so
02:44:55 <coppro> the right-wing USAians are too anti-immigration
02:45:01 <coppro> Canadians could come and steal their jobs!
02:45:31 <pikhq> Yeah, uh... Those right-wing USAians are almost universally 50 and over.
02:45:41 <coppro> that's true, I suppose
02:45:54 <pikhq> The way to get rid of them is to let time take its toll. :P
02:46:01 <coppro> interestingly enough, Canada's immigration policy is in fact weirdly isolationist
02:46:15 <pikhq> Can't compare with Japan's, though.
02:46:23 <coppro> lol nope
02:46:32 <coppro> but for a nation touted as immigrant-friendly, I mean
02:46:51 <pikhq> Which is set up under the assumption that only a minority of people would want to be there permanently.
02:46:53 <coppro> it would be a major upheaval for us to join Schengen, and probably trigger a wave of immigration from Europe (which would no doubt upset the Euros)
02:47:03 <coppro> not a massive wave, mind you
02:47:05 <coppro> but enough to annoy
02:47:40 <pikhq> Also, the US's is very weirdly isolationist in design considering both the history of this country *and* how many people actually do immigrate.
02:47:42 <pikhq> (legally)
02:48:15 <pikhq> Pretty darned weird to think that you'd want to avoid immigrants in a country where the *natives* are a very small minority.
02:49:24 <coppro> heh
02:49:37 <coppro> also, the law enforcement stuff would seriously vex Canadian institutions
02:50:05 <uorygl> `quote furry
02:50:13 <HackEgo> 39|<GKennethR-L>
02:50:21 <uorygl> What a brief quote.
02:50:39 <uorygl> `quote addquote
02:50:40 <HackEgo> 123|[Warrigal] `addquote <Dylan> hahaha, Lawlabee is running windows <Lawlabee> cuz its pretty awesome. [Lawlabee] Warrigal: :(
02:50:55 <uorygl> That quote is pretty confusing.
02:51:01 <Gregor> Yes.
02:55:39 -!- sshc has joined.
02:55:46 -!- sshc has quit (Read error: Connection reset by peer).
02:56:03 -!- sshc has joined.
02:56:39 -!- augur has quit (Ping timeout: 265 seconds).
02:57:48 <coppro> pikhq: maybe the US joining would finally convince the IRS that their jurisdiction does not extend outside the USA
02:58:23 -!- leBMD has joined.
02:58:42 <leBMD> There was some serious karma going on today.
02:59:05 <leBMD> I told my friend that I couldn't hang out because I was programming, and shortly thereafter my modem stopped working.
03:00:42 <pikhq> coppro: No, nothing short of a genocide program against IRS employees could convince them of that.
03:02:39 <Gregor> Argh, GCC is being annoying. Or maybe it's the fact that I insist that everything must compile with -Wall -Werror -ansi -pedantic that's warning?
03:02:45 <Gregor> s/warning?/annoying?/
03:03:10 <Gregor> Stupid inability to have empty structs. Argh.
03:03:14 <pikhq> Probably the -Wall -Werror -ansi -pedantic thing.
03:03:20 <Gregor> Very preprocessor-metaprogramming-incompatible.
03:03:32 <Gregor> Are there any empty types? :P
03:03:40 <pikhq> void[0]
03:03:47 <pikhq> Might be a GCC extension. :P
03:03:54 <Gregor> That's an error with -Wall -Werror -ansi -pedantic
03:04:07 <pikhq> Ah, yes, -ansi would do that.
03:04:09 <Gregor> I guess I'm just going to have to start making static consts from my macros.
03:04:31 <pikhq> With -std=c99, you could have a char[0].
03:04:37 <pikhq> (I think)
03:04:44 <pikhq> (these can only exist in structs)
03:04:58 <Gregor> Nope
03:05:12 <pikhq> Hrm. It might be a char[], then?
03:05:52 <Gregor> I'm just gonna generate static consts :P
03:06:02 <pikhq> Okay then.
03:06:10 <Gregor> Any compiler worth squat won't actually take runtime memory for those.
03:06:24 <coppro> a char[] in a struct creates a variably-sized struct
03:06:39 <coppro> which is all sorts of fun
03:07:05 <pikhq> coppro: Technically, the struct does not have any (addtional) size, but rather, there is an array immediately following the struct. :P
03:07:24 <coppro> yeah, yeah
03:07:26 <pikhq> And yeah, it *is* type[], not type[0].
03:07:46 <pikhq> type[0] is the GCC extension that does the same exact thing, but is older than C99.
03:08:00 <coppro> more fun is when LLVM or clang do the same thing on their own in C++ by allocating excess memory
03:12:22 <uorygl> What if the Unicode guys accidentally gave two characters the same official name?
03:12:30 <uorygl> Names are supposed to be immutable.
03:12:37 <coppro> they wouldn't
03:12:51 <coppro> it would show up when they tried to write the files and test them
03:12:52 <uorygl> They did produce a character called a BRAKCET.
03:13:04 <pikhq> The Unicode database would break.
03:13:14 <pikhq> You do realise they manage it programatically, right? ;)
03:13:55 <pikhq> They can't guarantee correct spelling *trivially*. (well, they couldn't then; no easy spellchecker libraries around then. Can now.) But uniqueness of names? Piece of cake.
03:14:00 <uorygl> I guess that's true.
03:14:07 <pikhq> And fundamental to how they manage it anyways.
03:24:31 -!- pikhq has left (?).
03:24:38 -!- pikhq has joined.
04:21:41 <leBMD> PDCurses just made programmign fun again.
04:21:47 <leBMD> programming*
04:21:56 <coppro> evidently you've never used Haskell
04:22:21 <pikhq> Clearly.
04:22:44 -!- augur has joined.
04:22:48 <leBMD> I'm guessing Haskell is fun to program in?
04:23:02 <coppro> yes
04:24:23 <leBMD> ah, but do you have nice buzz words like getch and refresh in haskel?? XD
04:24:31 <leBMD> haskell?*
04:26:39 <coppro> we have monads
04:26:46 <leBMD> lol
04:27:20 <leBMD> monads soounds like go......DAD!
04:27:29 <leBMD> yeah, that's it! Totally not somethign else!
04:31:50 <pikhq> leBMD: Haskell has evolved beyond buzzwords and into pure amazingness.
04:31:52 -!- augur has quit (Ping timeout: 265 seconds).
04:32:10 <leBMD> lol
04:32:12 <pikhq> It is purely functional with first-class imperative actions.
05:04:44 -!- Miriah has joined.
05:05:18 <Miriah> Hello.. o.o
05:06:14 <pikhq> Hello there.
05:06:27 <pikhq> The topic, though amusing, is made of lies.
05:10:28 <Miriah> ?
05:10:39 <Miriah> It's made of lies?
05:11:13 <pikhq> Well. We're into esoteric programming languages.
05:11:29 <pikhq> Otherwise? Eh.
05:15:08 <Miriah> Oh.. Thanks for letting me know.
05:15:44 <Miriah> I suppose I'm going to go then. ^^;
05:15:44 <pikhq> Well, the "government conspiracies" thing does at least have relation with a piece of collaborative fiction that many of us here enjoy...
05:15:51 <pikhq> Mmm, SCP. Great reading.
05:16:24 <Miriah> It sounds interesting.. What exactly is SCP?
05:17:30 <pikhq> "Serve Contain Protect". It's a wiki containing fictional documents claiming to describe the classified means of containing various magical/supernatural/holy items, most of which are incredibly dangerous.
05:18:01 <pikhq> Not the raison d'etre of this channel or anything. Just something I've noted a few people here read on occasion.
05:26:08 <Miriah> Reading about it now.. Is it the SCP foundation?
05:26:24 <pikhq> Yuh.
05:35:18 -!- augur has joined.
05:35:45 -!- Oranjer1 has left (?).
05:38:07 -!- Miriah has quit (Quit: The very ink with which all history is written is merely fluid prejudice. -- Mark Twain).
05:38:13 <pikhq> Gregor: ?
05:38:25 <Gregor> So much lawls :P
05:38:29 <pikhq> Alas.
05:43:55 <Gregor> And it's all my fault 8-D
05:49:16 -!- coppro has quit (Remote host closed the connection).
05:49:48 -!- coppro has joined.
06:05:55 -!- oerjan has joined.
06:26:21 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
06:29:37 -!- pikhq has quit (Ping timeout: 260 seconds).
06:31:10 -!- olsner has quit (Ping timeout: 260 seconds).
06:31:36 -!- olsner has joined.
06:32:08 -!- pikhq has joined.
06:42:00 -!- Gracenotes has quit (Ping timeout: 276 seconds).
06:43:40 -!- augur has quit (Ping timeout: 240 seconds).
06:58:38 <SevenInc1Bread> Hey.
06:58:43 -!- SevenInc1Bread has changed nick to CakeProphet.
06:58:58 -!- CakeProphet has quit (Quit: leaving).
07:02:29 -!- tombom has joined.
07:05:49 -!- FireFly has joined.
07:18:37 -!- zzo38 has joined.
07:24:53 <zzo38> Phantom_Hoover: In real mode you can use the segment registers as general purpose registers, but it is not optimal. But you can do that if you run out of registers
07:25:14 -!- leBMD has left (?).
07:26:01 <zzo38> While solitaire games can be made in PySol, but in my opinion a better way would be like this: http://sprunge.us/aLMb
07:34:44 -!- augur has joined.
07:36:44 <zzo38> augur: Do you? **Do you?**
07:39:17 <augur> YES
07:39:18 <augur> NO
07:39:19 <augur> I DONT KNOW
07:39:20 <augur> MAYBE
07:39:23 <augur> DO I WHAT
07:39:24 <augur> ?!
07:39:26 <augur> D:
07:39:41 <zzo38> Do you While solitaire games can be made in PySol, but in my opinion a better way would be like this: http://sprunge.us/aLMb
07:39:47 <augur> no
07:39:48 <augur> what
07:39:48 <augur> no
07:40:05 -!- oerjan has quit (Quit: No way!).
07:40:27 <zzo38> Why?
07:40:38 <zzo38> I would like your opinion about this
07:42:39 <zzo38> Also, do you know anything about GNU compiler front-ends?
07:45:06 <coppro> I know that LLVM ones are easier to write
07:45:21 <coppro> beyond that, i know nothing
07:45:28 <pikhq> I know that it's all undocumented.
07:45:47 <pikhq> And that I would rather use a spork on my eyes than write one.
07:45:58 <coppro> ah, yes, I forgot about that
07:46:00 <coppro> definitely
07:46:35 <coppro> <3 Chris Lattner
07:51:18 -!- tombom has quit (Quit: Leaving).
07:53:05 <zzo38> Have you done LLVM?
07:54:56 <pikhq> LLVM's API is a bit annoying if you're not into C++.
07:55:57 <pikhq> However, you can also treat LLVM as just another assembly language. One which happens to possess its own optimiser and machine code generator...
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:39 -!- augur has quit (Remote host closed the connection).
08:10:47 -!- augur has joined.
08:17:51 -!- zzo38 has quit (Remote host closed the connection).
08:25:06 -!- Gregor has quit (Ping timeout: 252 seconds).
08:27:02 -!- MizardX has joined.
08:35:25 -!- Gregor has joined.
08:42:38 -!- pikhq has quit (Remote host closed the connection).
08:54:08 -!- waga has joined.
08:54:09 <waga> hi
09:04:36 <waga> echo??
09:04:42 <waga> anyone?
09:06:19 <waga> echoooooo??????
09:06:58 * waga thinks everybody has gone to the watercooler
09:08:23 * waga thinks that now everybody has gone to the WC
09:20:32 * waga thinks that now everybody felt in the WC because of the wet floor and died from
09:23:47 * waga shouts
09:23:53 * waga screams
09:23:58 <waga> aaaaaaaaaaaaaarrrrrrrrrrrrrrgggggggggghhhhhhhhhhhh
09:24:27 <waga> AAAAAAAAAAAAAAARRRRRRRRGGGGGHHHHHHHHHHHH
09:25:01 * waga bangs he's had
09:28:38 -!- coppro has quit (Read error: Connection reset by peer).
09:31:13 <pineapple> ?
09:35:46 <waga> hi
09:35:59 <waga> you should be one of the survivors ^^
09:44:56 <Ilari> Nah, almost everybody just ate too many carbs for lunch and are now in semi-coma... :->
09:45:57 <Ilari> So, any esolang ideas? :-)
09:49:15 -!- Gregor has quit (Ping timeout: 252 seconds).
09:52:59 <waga> Well
09:53:01 <waga> mine sucks
09:53:15 <waga> its just a tree brainfuck
09:53:16 <waga> http://pastebin.com/SLmjDXPk
09:53:46 <waga> What do ýou think?
09:54:21 <waga> I am not quite fond of it... Maybe I'll get a better idea these day's.
09:55:25 -!- Gregor has joined.
09:57:41 <waga> NEWS: i made an update
09:57:55 <waga> Anybody not in semi-coma?
09:58:11 <waga> http://pastebin.com/7zwCJ3JT
09:58:15 <waga> update
10:02:43 -!- waga has quit (Ping timeout: 252 seconds).
11:00:39 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
11:42:39 -!- KingOfKarlsruhe has joined.
11:54:03 -!- base3_ has quit (Read error: Operation timed out).
11:55:40 -!- MALDEK has joined.
11:56:05 <MALDEK> oo
11:57:41 -!- poiuy_qwert has joined.
11:58:06 <MALDEK>
11:58:28 -!- base3_ has joined.
11:58:44 <MALDEK> someone on?
12:05:09 -!- Gracenotes has joined.
12:12:45 -!- base3_ has quit (Ping timeout: 264 seconds).
12:14:24 -!- base3_ has joined.
12:20:07 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
12:21:13 -!- MALDEK has quit (Read error: Connection reset by peer).
13:43:43 -!- BeholdMyGlory has joined.
14:05:56 -!- sebbu2 has joined.
14:06:25 -!- sebbu has quit (Ping timeout: 245 seconds).
14:06:30 -!- sebbu2 has changed nick to sebbu.
14:11:34 -!- asiekierka has joined.
14:11:37 <asiekierka> hi, i had an idea
14:11:52 <asiekierka> actually, scratch that, im not saying it out loud :P
14:11:57 <asiekierka> because ill probably never finish it
14:12:00 -!- cpressey has joined.
15:44:55 <asiekierka> what
15:44:57 <asiekierka> oh man what
15:45:48 <asiekierka> some guy asked his school to make the school's bell
15:45:55 <asiekierka> a part of "Never Gonna Give You Up"
15:45:58 <asiekierka> ...THEY ACCEPTED IT.
15:46:14 <asiekierka> Now the guys and girls in that school are tormented EVERY. DAY (Except Sundays. And maybe Saturdays.)
15:48:18 -!- Tonio has joined.
15:48:36 -!- Tonio has changed nick to FrenchFigaro.
15:48:39 -!- oerjan has joined.
15:48:51 -!- FrenchFigaro has quit (Client Quit).
15:53:09 <oerjan> asiekierka: now that is epic rickrolling
16:04:43 -!- Phantom_Hoover has joined.
16:16:45 <Phantom_Hoover> Is there a way of getting gcc to produce unformatted binary?
16:16:57 <Phantom_Hoover> i.e. not ELF or anything like it.
16:17:29 <cpressey> Phantom_Hoover: An x86 *.COM file?
16:17:46 <Phantom_Hoover> Effectively.
16:17:48 <cpressey> That's as close to "unformatted" as I imagine something like gcc could do.
16:17:57 <cpressey> But I have no idea if it can, sorry :)
16:18:12 <cpressey> I use NASM when I want one of those ;)
16:18:17 <Phantom_Hoover> As in, callable by a bootloader with a minimum of fuss.
16:21:11 <cpressey> Thinking about it, I really doubt gcc can do that. It needs, or at least really really really wants, to link in libc.
16:21:30 <cpressey> And linking things into a .COM file is not a problem that anyone want to try solving.
16:22:39 <fizzie> You can produce an object file from GCC, then objcopy it into a binary blob; but you'd need an object file with no relocations at all for that.
16:23:11 <fizzie> "objcopy can be used to generate a raw binary file by using an output target of binary (e.g., use -O binary). When objcopy generates a raw binary file, it will essentially produce a memory dump of the contents of the input object file. All symbols and relocation information will be discarded. The memory dump will start at the load address of the lowest section copied into the output file."
16:24:17 <Phantom_Hoover> ...Load address of the lowest section?
16:24:24 <Phantom_Hoover> Ohh.
16:24:28 <Phantom_Hoover> I get it now.
16:24:57 <Phantom_Hoover> cpressey, you can use GCC perfectly well without libc.
16:25:23 <fizzie> A linked executable typically only works when loaded into a particular address (or relocated dynamically, I guess).
16:27:51 <cpressey> Phantom_Hoover: Sorry, I think I meant libcrt0, or whatever it's called.
16:28:00 <cpressey> And I assume you're using it to compile a C program.
16:28:36 <cpressey> Since it's like, a "compiler collection" these days, or something, so I guess you could be doing pretty much anything with it.
16:28:38 <fizzie> -nostdlib skips also the standard startup files.
16:28:40 <Phantom_Hoover> What does libcrt do?
16:28:54 <fizzie> You can use GCC relatively easily as a "freestanding" compiler.
16:29:08 <fizzie> It has the bits from _start to main, basically.
16:32:39 <fizzie> Actually, just a simple "gcc -o test test.c -nostdlib -Wl,--oformat=binary -Wl,--entry=entrypoint" will create a file "test" that seems to (according to ndisasm) start with reasonable compiled code, though it does have some extraneous useless data too. You could possibly get better results by compiling to a normal ELF executable, then objcopying only selected sections.
16:34:39 <fizzie> That would mean the code would expect to be loaded to whatever the normal linker specs files say, probably at 0x400000 on Linux. And you'd need to objdump the proper empty point out of the ELF headers, it definitely isn't guaranteed to end up at the start of the object file.
16:35:30 <cpressey> I am duly impressed.
16:35:32 <fizzie> It's not very difficult to write a linker script + specs for GNU ld such that it will put all symbols into a single section with a particular load address.
16:36:05 <Phantom_Hoover> "While the forum has several flamewars about BASIC, it is a turing-complete language."
16:36:19 <Phantom_Hoover> I think we can be pedantic about this.
16:36:57 <cpressey> Phantom_Hoover: Sure, I'll pedantically defend that BASIC is TC :)
16:37:07 <Phantom_Hoover> OK.
16:37:17 <Phantom_Hoover> Does it specify a sizeof operator?
16:38:14 <cpressey> Not that I know of. Some variants of BASIC for some 8-bit home computers might have -- FRE(x) returning the amount of free memory is reminiscent.
16:39:29 <cpressey> It has strings, and garbage collection. You can say A$=A$+"." until the cows come home.
16:40:29 * asiekierka notices the cows came hme
16:40:31 * asiekierka notices the cows came home*
16:40:43 <fizzie> Phantom_Hoover: Actually, if you want to generate a binary file that will actually have a particular function at the very beginning, you can do that pretty easily too. Just mark the function with __attribute__ ((section (".init"))) and instruct the linker to put that section first. The custom start files I have for Nintendo DS do it like that (except the entry point is in a asm file, not with a GCC function attribute), because you can
16:40:43 <fizzie> 't really tell the DS boot loader where to start from, it'll start at the beginning of the loaded code always.
16:41:15 <oerjan> cpressey: you probably need big ints to actually _use_ most of those unbounded string parts, don't you?
16:41:43 <oerjan> hm or wait
16:41:45 <cpressey> oerjan: LEFT$(X$,6) and RIGHT$(X,6) will let you write a cyclic tag system
16:41:55 <cpressey> 6 being a small integer of your choice
16:42:16 <cpressey> BASIC, TC through cyclic tag. ugh.
16:42:40 <oerjan> cpressey: hm right, assuming right$(X,6) is everything from index 6 until the end?
16:42:47 <asiekierka> as there's magic and magick
16:42:54 <asiekierka> i call basic baSICK
16:43:01 <cpressey> oerjan: I thought it was the rightmost 6 characters, but it *has* been a long time.
16:43:23 <oerjan> cpressey: um that's not enough for a cyclic tag system then
16:43:39 <oerjan> you need to be able to _remove_ parts
16:43:40 <cpressey> asiekierka: I always wanted to design a language called SICKBAY, that was BASIC, inverted...
16:44:20 <cpressey> oerjan: Hm. Then yes. I think some BASICs supported RIGHT$(X$,1)="" or similar, but I don't think of it as standard.
16:44:49 <asiekierka> i want to implement a compilable esolang of sorts for the C64
16:44:50 <asiekierka> err
16:44:52 <asiekierka> for the 6502*
16:45:06 <oerjan> i vaguely recall a MID$() function
16:45:21 <cpressey> Well, no prohibition against bigints, as far as I'm aware: numbers are floating point, and it's not like the floating point limits were specified.
16:45:33 <cpressey> MID$() would need big ints to get to arb parts of the str
16:45:55 <oerjan> cpressey: i was just wondering if MID$ took until the end of the string if you dropped the last argument
16:46:03 <oerjan> because then it could be used
16:46:06 <cpressey> oerjan: I think it does.
16:46:20 <cpressey> Oh, LEFT$(MID$(X$,N),1)
16:46:21 <cpressey> :)
16:46:23 <oerjan> (as what i thought you meant by the RIGHT$())
16:47:10 <cpressey> OK, LEFT$(MID$(X$,N),1) = MID$(X$,N,1)
16:47:17 <cpressey> n/m, confused.
16:47:18 <oerjan> you could also do stacks and thus a BF tape easily with those
16:47:39 <oerjan> MID$(X$,2) to pop
16:48:16 <cpressey> Yes.
16:52:03 <cpressey> asiekierka: I've thought about that (compiled esolang for 6502), too, but I can never seem to combine my interests in esolangs AND 8-bits for some reason.
16:52:58 <cpressey> It's like they are both beautiful microworlds to me, but they're not compatible culturally somehow.
16:53:41 <fizzie> Phantom_Hoover: This may be useful for something: http://pastebin.com/214g1HHW -- it's possible (untested) that would produce a binary file that you can load to 0x1234 (customizable) and which will contain the special ".init" section first, then the code and initialized data, and uninitialized .bss section stuff immediately after. Your loader would need to zero from __bss_start to __bss_end (symbols defined by the linker) for uninitia
16:53:41 <fizzie> lized data to work right, though.
16:56:03 <fizzie> s/loader/whatever's in the .init section/; of course the loader can't see the linker-defined symbols anywhere.
16:58:47 * cpressey continues to be duly impressed by fizzie coaxing what is almost a .COM file out of gcc/ld.
16:58:56 -!- MizardX has quit (Read error: Connection reset by peer).
16:59:59 <fizzie> That was quickly adapted from the DS stuff I had, so it's not very concise. You don't actually need a "MEMORY" section there, for example, especially when there's only one type of memory.
17:00:09 -!- MizardX has joined.
17:00:33 <fizzie> The 0x1234 load-address could be directly between .text and :.
17:02:23 <fizzie> (And that was adapted from the even messier "devkitPro"/libnds DS toolkittery.)
17:03:17 <cpressey> One day I should sit down and figure out how to write x86-64 code.
17:04:29 <fizzie> I haven't used any of this on x86; there if I've needed to write a raw binary, I've just used "nasm -f bin" instead of trying to (ab)use C + gcc.
17:04:38 <Ilari> Well, knowing x86 code would be helpful in that...
17:05:33 -!- tombom has joined.
17:06:03 <cpressey> Ugh, or not. Maybe I'll just stick with pure ol' 8086, and continue to consider 386 instructions "indulgent".
17:06:37 <Ilari> Heh... Reminds me of writing ASM with macros that must be valid x86 and x64 code.
17:06:40 <fizzie> The devkitPro/libnds variants waste some amount of complexity in trying to make even C++ code work; there's all kinds of global constructor/destructor tables and whatevers. Oh, and some RTTI support machinery too, I think.
17:06:56 <cpressey> For assembly code, I vastly prefer 6502 programming at this point anyway... it's more fun.
17:07:25 <Ilari> Of course had macros for wordsize registers.
17:07:51 <Ilari> Main limitation I ran was that one can't directly push 32-bit quantities to stack.
17:08:49 <Ilari> One had to 'SUB WSP, 4; MOV [WSP], EAX' (it got even worse with memory)...
17:09:08 <asiekierka> back
17:09:25 <asiekierka> and yes, cpressey, i love 6502 assembly
17:11:34 <asiekierka> i'm waiting for the 3DS
17:11:44 <asiekierka> this will be the best machine to homebrewhack. ever.
17:11:59 <asiekierka> because if you do you get a 3D platform that more than 10000 people ow
17:12:00 <asiekierka> own*
17:12:02 -!- base3_ has left (?).
17:12:05 <Ilari> Grumble that Linux/x64 doesn't seem to have working a.out...
17:12:39 <fizzie> Is there something wrong with ELF?
17:13:56 <Ilari> a.out is much simpler if one wants to make the headers. :-)
17:14:37 <fizzie> ELF with minimal fuss is not *that* complex, even if compilers do make very complicated-looking ELF files.
17:14:46 <fizzie> I won't bother linking to that tiny-elf thing again, but still.
17:14:58 -!- zzo38 has joined.
17:14:59 <Ilari> I don't know if it supports a.out at all, but the default map limit of 65536 is too high for a.out...
17:15:25 <zzo38> Ilari: Are you on IPv6?
17:16:18 <fizzie> It looks like 6to4, based on the 2002::/16 prefix and an IPv4-address-like following 4 bytes.
17:16:31 <Ilari> zzo38: Yes.
17:17:11 <Phantom_Hoover> How do you get on IPv6?
17:17:17 <zzo38> Is fizzie also on IPv6? How common is IPv6 now? I still don't have IPv6
17:17:50 <fizzie> Anyone with a public IPv4 address can use 6to4; there are various tunnel brokers (like sixxs.net); and some ISPs, like mine, do it natively.
17:18:57 <Ilari> Apparently Linux/x64 does support a.out for at least 32-bit, but programs instacrash because of map limits.
17:19:35 <fizzie> 6to4 assings a few (1208925819614629174706176) IPv6 addresses to each IPv4 address (2002:aabb:ccdd::/48 for IPv4 a.b.c.d).
17:19:53 <fizzie> That might not conform to canonical definitions of "few".
17:20:48 <zzo38> I don't have IPv6, but that is OK for now, most things don't require IPv6. Later on we can have more IPv6.
17:25:36 <Ilari> Heh... Reducing map limit to 4096 allows Linux/x86 QMAGIC a.outs to load on Linux/x64.
17:27:36 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
17:31:29 <asiekierka> hm, i wonder if this zzo38 is the same zzo38 behind the MegaZeux fork adding Forth support to it
17:32:52 -!- cal153 has quit (Ping timeout: 260 seconds).
17:35:43 -!- Phantom_Hoover has joined.
17:36:30 <cpressey> Only Forth? Not a TADS interpreter too? :)
17:37:02 <zzo38> asiekierka: Yes it is the same zzo38
17:37:41 <zzo38> I don't need to add a TADS interpreter to MegaZeux!
17:38:30 <zzo38> Forth support is not the only thing I added to MegaZeux, I also fixed some bugs and did some other things as well, such as the floating status bar for the editor, and some additional keyboard commands in the editor, the old ALT+D function, and some more
17:41:48 -!- hiato has joined.
17:44:14 <zzo38> And, in fact, I am still working on fixing some additional things in MegaZeux
17:49:15 <zzo38> How interesting are you people in Forth programming?
17:50:33 <cpressey> I mentioned a few days ago that I'm a Forth hypocrite: I highly admire the language principles but I have done very little coding in Forth proper.
17:51:25 <cpressey> I did a lot of RPN coding at one point, but it was in a different language which was only Forth-inspired.
17:52:15 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
17:54:17 <zzo38> cpressey: OK. I have done a few things in Forth, and writing some Forth interpreters for various things, too, but when I make up the new computer (it will have new kind of hardware design as well as new software design), it will have Forth interpreter built-in, as well as a program to convert BASIC codes to Forth codes (so that game programs in old books will run), and many of the games on the DVD, I might write it myself, using Forth.
17:56:00 -!- asiekierka has quit (Ping timeout: 252 seconds).
17:56:49 -!- asiekierka has joined.
17:56:57 <asiekierka> ... and you hoped i was gone forever
17:58:19 -!- oklopol has joined.
17:58:38 <oklopol> hello people, why all the silene
17:58:42 <oklopol> -typo
18:00:34 <zzo38> Hello
18:02:02 <zzo38> What I would perhaps like to do some day, is to write a solitaire card program in Forth, that might accept a code like that http://zzo38computer.cjb.net/misc/more_misc/forsol.txt
18:02:41 <zzo38> What do you think?
18:04:07 <oklopol> i'm watching stuff, can't say anything coherent about anything
18:04:27 <oklopol> also i don't get it
18:04:43 -!- Phantom_Hoover has joined.
18:04:51 <oklopol> what do solitaire card programs do
18:05:33 <zzo38> I mean, like PySol you can play solitaire card game, but with Forth codes instead
18:05:53 <oklopol> dunno pysol
18:06:41 <zzo38> The PySol you can write a ruleset plugin code such as: http://zzo38computer.cjb.net/PySol/ruleset/
18:06:47 <zzo38> That is a example you can see
18:08:45 -!- cal153 has joined.
18:12:46 <zzo38> I have movie-time service in my computer, but it is broken now http://code.google.com/p/aenext-tickit-cinema-api/wiki/UserGuide it now has a new domain-name, but this new one doesn't work either
18:13:20 -!- oklopol has quit (Ping timeout: 276 seconds).
18:13:21 <cpressey> zzo38: It would be cool if was more general than just solitaire, but that's asking a lot. What processor is your computer designed around, by the way?
18:14:31 <zzo38> cpressey: You mean the new computer hardware I mentioned? It is based on multiple processors, the main one is ARM-11
18:14:51 <zzo38> But there is also a DSP (it is some Texas Instruments DSP).
18:15:10 <cpressey> Nice.
18:15:23 <zzo38> I have written down most of the stuff now, but I have not actually built it yet because the people who help don't have time to get the parts, so some of the hardware design might change in the future.
18:17:16 <zzo38> And do you know about ARM instruction prefetching? Because I am having some problem with that. I would hook the high address bit to a flip-flop, which is then connected to the NMI, and all system calls go through the NMI (both called by software, and the ones called by hardware). But if there is prefetch would the NMI ever be called too early?
18:19:48 <zzo38> And do you know how to fix my movie-time service? It used to work. (The things suggesting in the documentation won't help) This is the codes I currently have: http://sprunge.us/MfCT
18:24:32 -!- zzo38 has quit (Remote host closed the connection).
18:28:49 -!- oklopol has joined.
18:29:02 <oklopol> my internet ran away but i caught it
18:29:55 <asiekierka> back
18:39:36 <Phantom_Hoover> Damn, pikhq isn't here.
18:40:02 <Phantom_Hoover> Anyone know where he keeps his Brainfuck compiler?
18:40:40 <asiekierka> why, a BF compiler is simpler than 2+2
18:40:47 <asiekierka> isn't it
18:40:51 <asiekierka> :P
18:40:54 <asiekierka> at least for 6502's
18:41:12 <oklopol> depends on what you're compiling to
18:41:23 <oklopol> to bf it's really easy
18:42:08 -!- pikhq has joined.
18:43:28 <asiekierka> Phantom_Hoover: You were talking about pikhq 5 minutes ago
18:43:30 <asiekierka> werent you?
18:43:30 <asiekierka> :P
18:43:52 <pikhq> Imma beat him.
18:44:11 <oklopol> he said bad things about you
18:44:16 <asiekierka> for example
18:44:23 <asiekierka> well
18:44:25 <asiekierka> i wont say any
18:44:31 <asiekierka> possibly because oklopol is a liar
18:45:02 <oklopol> yes
18:45:07 <oklopol> i always lie
18:45:17 <asiekierka> <Phantom_Hoover> Damn, pikhq isn't here.
18:45:17 <asiekierka> <Phantom_Hoover> Anyone know where he keeps his Brainfuck compiler?
18:45:20 <asiekierka> OH MY
18:45:24 <asiekierka> HE SWEARED IN THE SAME LINE HE SAID YOUR NAME
18:45:27 <asiekierka> HE'S EEEEVIL
18:48:30 <Phantom_Hoover> "Evil" is incapable of describing me.
18:50:01 <oklopol> oracles actually is on topic here
18:50:03 <pikhq> Phantom_Hoover: I can't get to it right now. Sorry.
18:50:11 <Phantom_Hoover> NOOOO!
18:50:14 <pikhq> It's also not changed the past... Month?
18:50:24 <Phantom_Hoover> Well, perhaps that's too melodramatic
18:50:28 <oklopol> i interpreted that as "i don't have the time to tell you where it is right now"
18:51:08 <oklopol> so, time wasting or time well using?
18:51:24 <oklopol> i need to choose an activity
19:01:46 <Phantom_Hoover> Wasting!
19:03:30 -!- ais523 has joined.
19:03:39 <asiekierka> oklopol
19:03:43 <asiekierka> as i am not sure which one is better
19:03:45 <Phantom_Hoover> Also, what's with assembly resources which insist upon mixing Intel and AT&T syntax?
19:03:47 <asiekierka> i prefer a compromise
19:03:49 <asiekierka> TIME WELL WASTING!
19:03:58 <asiekierka> i insist upon screwing both, Phantom
19:05:37 <Phantom_Hoover> Fine, but do it *consistently*.
19:12:34 <oklopol> i decided to spend my time well, you were too slow
19:12:48 <oklopol> well well and well. relatively well
19:14:20 <oerjan> a well of relativity
19:14:26 <oerjan> aka black hole
19:21:59 -!- relet has joined.
19:36:39 -!- chuck has quit (Read error: Connection reset by peer).
20:03:45 -!- hiato has quit (Ping timeout: 264 seconds).
20:05:35 -!- hiato has joined.
20:11:25 -!- hiato has quit (Quit: Reconnecting).
20:11:40 -!- hiato has joined.
20:15:48 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
20:30:03 -!- Phantom_Hoover has joined.
20:34:35 -!- asiekierka has quit (Ping timeout: 240 seconds).
20:43:27 <Phantom_Hoover> Are x86 32-bit protected mode segments just offsets?
20:45:00 <fizzie> They also have sizes and types and possibly other fluff.
20:45:45 <fizzie> Privilege fluff, at least.
20:50:37 <Ilari_antrcomp> 32-bit segment descriptors are 64 bits.
20:52:16 <Ilari_antrcomp> Contains at least limit, base address (32 bits), type, priviledges and some flags...
20:55:29 <Ilari_antrcomp> Read Intel architecture manuals (IIRC, its in first systems programming part) if you want to know more.
20:57:28 <AnMaster> pikhq, there? Can you link me to the last version of your closure in C stuff?
20:58:24 <AnMaster> nvm, found it locally in ~/irc/freenode/esoteric/pikhq
21:02:03 <Ilari_antrcomp> Heh... That 'astrology' part reminds me of that picture with text 'astrology is bull'... :-)
21:05:01 <Phantom_Hoover> Wait, so address B in a segment with value A is at A+B?
21:06:16 <cpressey> Possibly (A*n)+B where n is ... a small power of two?
21:06:28 <AnMaster> Gregor, why is your hat collection limited? I'm unable to find any message about it on the page
21:06:36 <Ilari_antrcomp> AFAIK, If segment base is A and offset is B, it gets mapped to A+B for paging (if paging is used, if not, thats physical address).
21:07:20 <Ilari_antrcomp> Note that e.g. gates ignore the offset in request (and supply their own).
21:07:35 * Phantom_Hoover is new to this really low-level stuff
21:07:43 <fizzie> To clarify: it's not A that's in the segment selector registers. The registers just contain (basically) indices to GDT/LDT tables.
21:08:03 <Phantom_Hoover> Yes.
21:08:10 <cpressey> Three cheers for indirection!
21:08:18 <Phantom_Hoover> Hence "value of A".
21:08:54 <Ilari_antrcomp> The way it is really implemented is that each segment register has shadow registers containing the descriptor values. Write to segment register reloads those from LDT or GDT (or in case of real mode from fixed defaults).
21:08:55 <fizzie> That's pretty ambiguous still.
21:08:55 <oerjan> cpressey: i recall n was originally 16 in 8088
21:09:11 <oerjan> or thereabouts
21:10:12 <pikhq> AnMaster: There's actually a few different "last version"s out there. :P
21:10:13 <Ilari_antrcomp> oerjan: In real mode, loading segment register loads fixed values (that depend on value loaded) to segment descriptor. The base address is indeed 16 * selector (limit is 65535).
21:10:32 <AnMaster> pikhq, okay... which one should I use?
21:10:36 <oerjan> thus 16*65536 = 1 Mb max memory and that infamous 640 Kb limit once you removed some reserved stuff, or something like that
21:11:17 <pikhq> Mmm... Probably either the C one with the lambda lists or the one that's part of the SKI interpreter.
21:11:21 <Ilari_antrcomp> Fun trick: One can return from protected mode only reloading CS (you don't need to reload other registers). And if you don't reload them, the descriptors are still valid!
21:11:22 <cpressey> oerjan: Yes. The reserved stuff was video RAM IIRC.
21:11:27 <fizzie> oerjan: Also the funny thing that a000:0010 and a001:0000 point to the same location in memory, but can easily in a C implementation be two pointers that are !=.
21:11:28 <AnMaster> pikhq, hm
21:11:32 <AnMaster> pikhq, I need closures
21:11:40 <AnMaster> not just lambdas
21:11:50 <pikhq> ... They all close.
21:12:15 <fizzie> cpressey: It's not all video RAM; but a big part of it is.
21:12:22 <AnMaster> pikhq, ah, wasn't sure
21:12:27 <pikhq> Well, rather, they all *allow* for closures.
21:12:38 <pikhq> You need to manually close.
21:12:44 <AnMaster> hm
21:12:54 <AnMaster> pikhq, didn't it use some GCC extension for it?
21:13:06 <pikhq> Yes, that was to have anonymous functions.
21:13:20 <AnMaster> pikhq, ah, so how do you manually close?
21:13:51 <AnMaster> pikhq, brb, phone
21:13:58 <fizzie> The VGA graphics mode memory is at a0000..affff, monochrome modes live at b0000..b7fff, color text mode in b8000..b8fff, the VGA video BIOS at c0000..c7fff, and system BIOS ROM at f0000..fffff.
21:14:27 <pikhq> The macros for creating a closure take an closed-vars variable (as a void*). This gets passed to the closure when you call it using the call macro.
21:14:28 <fizzie> Then there's some unused bits and add-on card ROM/RAM/whatevers.
21:14:35 <pikhq> As the first argument.
21:15:06 <pikhq> So, what you need to do is stick what you want to close over into a data type on the heap.
21:15:15 <pikhq> I'd been using arrays.
21:15:46 <fizzie> I remember having something like DEVICE=C:\WINDOWS\EMM386.EXE NOEMS I=B000-B7FF in some autoexec.bat or another; it's safe as long as you don't ever go into a monochrome video mode.
21:15:49 <cpressey> fizzie: OOC, in the GDT are the full base addresses stored? Or is there still a small n multiplier like 16 to get the read base address? If you said, I missed it.
21:16:11 <Ilari_antrcomp> cpressey: They are in segment descriptors.
21:16:24 <Ilari_antrcomp> cpressey: There's space for full 32 bits.
21:16:27 <fizzie> And the descriptor includes a full 32-bit address, yes.
21:16:38 <cpressey> Cool, thanks.
21:17:10 <fizzie> The limit has only 20 bits, but you can optionally multiply it with 4096.
21:17:19 <fizzie> ("limit" being the size of the segment.)
21:18:01 -!- hiato_ has joined.
21:18:02 <fizzie> The descriptor format is nicely messy: http://zem.fi/~fis/segdesc.png
21:18:21 <fizzie> Especially how the address and limit bits are "interlaced" like that.
21:18:29 <Ilari_antrcomp> Practically: Enter protected mode, create descriptor with base 0, limit FFFFF, data, writable, present, granularity, DPL 3, 32-bit. Load it into FS or GS and return to real mode. Now FS/GS can access entiere physical memory space.
21:18:47 <Ilari_antrcomp> That works as long nothing reloads FS or GS.
21:18:51 <cpressey> This is what the human race gets for trying to solve problems in hardware.
21:19:16 -!- hiato_ has quit (Client Quit).
21:19:23 <cpressey> Ilari_antrcomp: I don't suppose you have a lucidly-commented public-domain NASM version of that statement, do you? :)
21:19:32 -!- hiato_ has joined.
21:19:34 <Ilari_antrcomp> Nope.
21:19:42 -!- hiato has quit (Ping timeout: 260 seconds).
21:20:17 <cpressey> Shucks. Well, much as I for some reason want to play with >386, I don't have the time to, anyway.
21:22:04 <Ilari_antrcomp> cpressey: It isn't hard anyway. That segment descriptor data can be hardcoded.
21:23:51 <Ilari_antrcomp> Code-wise, I think it is: Read CR0, flip PE bit and write CR0. Then load GDTR with fixed table, load GS, restore CR0 to way it was and do far jump to reload CS.
21:24:22 <Ilari_antrcomp> Of course, disabling interrupts while that is done might be good idea.
21:25:02 <fizzie> The particular trick is also called with a rather punny name, "unreal mode".
21:25:10 <Ilari_antrcomp> Yup.
21:25:13 <fizzie> http://en.wikipedia.org/wiki/Unreal_mode
21:25:50 <fizzie> Based on a really quick glance, http://www.bryantmcgill.com/technology/pascal-delphi/Memory_Manage/Access_FLAT_memory_in_REAL_Mode_by_HERMAN_DULLINK.html has some code examples.
21:26:11 <fizzie> (It also has some syntax-highlighting applied to the text, which makes it really ugly.)
21:26:44 <cpressey> Oh nice, thank you.
21:27:05 <cpressey> Killing the CSS makes it readable.
21:27:20 <Ilari_antrcomp> The problems with >64KiB code stay, but at least one can access extended memory easily.
21:28:52 <fizzie> Uh, except that the actual related code seems to be encoded with something really weird; I at least don't have a "xx3402" decoder handy.
21:29:04 <fizzie> Well, I'm sure someone's done a better example somewhere.
21:30:20 <Ilari_antrcomp> If one does a .com program, that trick can sure be done in <256 bytes, leaving 65kB for other code...
21:31:23 <Ilari_antrcomp> And even 400KiB is a lot when one doesn't have to use it for data, only code.
21:32:20 -!- CakeProphet has joined.
21:32:49 <cpressey> Interesting that http://en.wikipedia.org/wiki/Unreal_mode is categorized under "Programming language implementation"
21:35:05 <cpressey> 65K would be plenty for an interpreter or VM tightly coded in assembly...
21:35:40 <Ilari_antrcomp> Nasty hack to get rid of code limits: Code swapping... :-)
21:35:43 <Phantom_Hoover> God, CPUs are more complex than I thought.
21:36:05 -!- Oranjer has joined.
21:36:10 <cpressey> Ilari_antrcomp: Overlays! :)
21:36:17 <fizzie> I seem to recall that Nethack's real-mode version used some overlays.
21:36:34 <Phantom_Hoover> Also, I've seen it claimed in a couple of places that the XOR swap algorithm doesn't work when the swapees are equal.
21:36:48 <Phantom_Hoover> Even though this is obviously wrong.
21:38:06 <fizzie> That probably depends whether by "equal" you mean "equal values" or "equal addresses".
21:38:19 <cpressey> Phantom_Hoover: Speaking of processors, remember that thing about RAM not being zero'ed on startup, we talked about yesterday? Well, a similar thing applies to CPU's. If you turn on power to a chip like a Z80 "too quickly", it starts up in a random, confused state...
21:38:42 <cpressey> Just something that's interesting -- nothing you have to worry about for a bootloader.
21:38:53 <Phantom_Hoover> fizzie, ah.
21:39:07 <Ilari_antrcomp> Heh... Reminds me of tales about strange problems caused by using uninitialized RAM (in embedded system).
21:39:50 <Ilari_antrcomp> Turns out temperature affects what values RAM gets when power is turned on.
21:40:40 <fizzie> Temperature also affects how long DRAM chips store the values they had before power-cutoff.
21:40:43 <fizzie> "Interestingly, if you cool the DRAM chips, for example by spraying inverted cans of "canned air" dusting spray on them, the chips will retain their contents for much longer. At these temperatures (around -50 °C) you can remove the chips from the computer and let them sit on the table for ten minutes or more, without appreciable loss of data."
21:41:14 <cpressey> Makes sense, thermodynamically, I suppose.
21:41:18 <cpressey> Three cheers for entropy!
21:41:24 <fizzie> Physics, the bane of all computer scientists.
21:41:36 <fizzie> They really should get rid of it.
21:43:25 <fizzie> It's not even remotely recent at this point in time, but http://citp.princeton.edu/memory/ was still a nice read.
21:46:51 <AnMaster> ais523, there?
21:46:55 <ais523> yes
21:47:04 <ais523> busy trying to optimize a Java program to reduce its memory usage
21:47:31 <AnMaster> ais523, you mentioned you played nwn recently, I managed to get legally hold of a copy, someone I know in RL didn't play it any longer. :)
21:47:42 <AnMaster> (no idea why, seems a quite nice game)
21:47:43 <ais523> ah
21:47:48 <ais523> a couple of years ago, you could still buy it in the shops
21:47:53 <AnMaster> ais523, however it is bloody hard to be a true neutral fighter
21:47:54 <ais523> the price had dropped really low
21:47:57 <AnMaster> which was the first thing I tried
21:48:07 <AnMaster> I seem to either go towards evil or good all the time :/
21:48:07 <ais523> have you recruited a henchman?
21:48:18 <ais523> oh, yep, hard to maintain neutrality
21:48:24 <fizzie> Alignment tends to work pretty badly in every game in existence.
21:48:35 <ais523> luckily in NWN it's mostly irrelevant
21:48:36 <AnMaster> fizzie, I think it is based on DnD 3 here
21:48:47 <AnMaster> ais523, well not for paladins and such iirc?
21:48:48 <ais523> unless it screws up your levelling options
21:48:50 <fizzie> To be neutral, you'll have to keep doing obviously kill-the-kittens evil acts as well as goody-two-shoes acts in approximately equal amounts.
21:49:00 <AnMaster> ais523, also, how many times can you level up?
21:49:18 <ais523> the original campaign caps at level 20, so 19
21:49:26 <ais523> one of the expansions has a much higher cap
21:50:10 <fizzie> According to a recent let's-play I read (I think it was NWN2, though), it's also not so easy to be lawful-evil, since the evil stuff seems to mostly be completely psychotic murdering.
21:50:17 <AnMaster> ais523, I find the whole thing very limited. In many other games I tend to play rather something of a generalist than a specialist.
21:50:28 <AnMaster> ais523, and the multiclassing options doesn't seem very good
21:50:37 <ais523> AnMaster: it's not so bad at higher levels, or playing something less boring than fighter
21:50:43 <AnMaster> ais523, far too limiting wrt armour (for wiz/fighter)
21:50:47 -!- MizardX has quit (Ping timeout: 248 seconds).
21:51:02 <ais523> AnMaster: my current NWN playthrough uses a medium-armour bard
21:51:11 <AnMaster> ais523, sounds.... spoony?
21:51:17 <fizzie> I have a feeling I have two NWN1-original copies; got one for free with a display card, and then (much) later it was a lot cheaper to buy some sort of "diamond collection" of the base game + expansions than try to find the expansions separately.
21:51:26 <AnMaster> ais523, or aren't they useless there?
21:51:29 <ais523> basically, cast loads of buffs after resting
21:51:36 <ais523> then become a fighter who signs
21:51:38 <ais523> *sings
21:51:47 <AnMaster> ais523, I tend to prefer fighter + some small amount of magic
21:51:55 <AnMaster> ais523, but the 20 levels caps make it very hard
21:52:00 <AnMaster> to get anything usable out of that
21:52:11 <ais523> AnMaster: wow, you seem something like a munchkin
21:52:14 <ais523> level 20 is easily overpowered
21:52:24 <ais523> example: pick up 1 level of sor, maybe 5 of fighter, and use scrolls to casr
21:52:25 <ais523> *cast
21:52:26 <AnMaster> ais523, ah, I guess I'm used to other games where it isn't then
21:52:36 <fizzie> Heh, the six-second available-almost-anywhere resting of NWN2 (I seem to recall NWN1 was very similar) made spellcasting pretty kill-o-tronic.
21:52:45 <AnMaster> ais523, considering nethack for example
21:52:52 <ais523> AnMaster: this is D&D
21:52:55 <fizzie> Also silly-looking, since the guy just sort of stands there for a moment.
21:53:02 <ais523> you're expected to complete the game around lv. 16 to 18
21:53:08 <AnMaster> ais523, well yes. I was just considering what splitting the max level in half for nethack would do
21:53:12 <ais523> although it has been completed a lot later
21:53:16 <AnMaster> which is effectively what you do with multiclass no?
21:53:17 <ais523> and NetHack is perfectly completable at lv. 14
21:53:46 <AnMaster> ais523, not for a wizard
21:53:59 <ais523> AnMaster: even for a wizard, although they like levelling up high more than other classes
21:54:09 <ais523> for most classes, going beyond lv. 14 isn't even recommended
21:54:15 <AnMaster> ais523, what about tou? I can't imagine that at lv. 14!
21:54:22 <ais523> because the benefits aren't large enough to outweight the higher generation of more powerful enemies
21:54:28 <AnMaster> heck I wouldn't consider tou something I could pull of at all
21:54:38 <ais523> AnMaster: what are the extra levels going to do for tou?
21:54:46 <ais523> all tou cares about it equipment, pretty much
21:54:50 <AnMaster> hm true
21:54:57 <ais523> and that's independent of level
21:55:02 <AnMaster> ais523, okay arc then?
21:55:03 <cpressey> I hope "munchkin" has some technical meaning I'm missing, here.
21:55:12 <AnMaster> cpressey, yes? what else would it have?
21:55:43 <ais523> cpressey: someone who tries to create a character much more powerful than is necessary
21:55:47 <ais523> in a roleplaying game
21:56:18 <AnMaster> ais523, well, since I won't do multiplayer anyway it is hardly an issue really
21:56:25 <fizzie> Every time someone says "munchkin", my mind immediately replies "you must face the gazebo alone".
21:56:42 <ais523> AnMaster: yep, in a computer game it makes sense
21:56:47 <AnMaster> ais523, besides it can be a nice strategy first time you play a game, before you learnt it..
21:57:30 <AnMaster> ais523, anyway if you divide the 20 levels into two halfs, 10 fighter, 10 something-that-can-cast-spells, both would be rather limited, no?
21:57:55 <ais523> AnMaster: not in terms of fighting potential
21:58:02 <ais523> in terms of casting, yes to some extent, but that's what you have items for
21:58:10 <AnMaster> hm
21:58:20 <ais523> 10 levels of a pure caster will make you decent at level 5 spells, you can use scrolls for the really powerful effects
21:58:29 <ais523> but level 5 is easily enough to cast a whole bunch of decent buffs
21:58:29 <AnMaster> ais523, also, from some quick reading the magic system seems.... complex?
21:58:43 <ais523> AnMaster: it's the D&D magic system
21:58:47 <AnMaster> ais523, buffs?
21:58:56 <AnMaster> strange term?
21:59:05 <ais523> AnMaster: spells designed to be targeted at yourself or an ally
21:59:12 <ais523> normally that give immunities or boost stats
21:59:47 <cpressey> The term I remember for that, from my D&D days, at least for the character, was "sick pig".
21:59:48 <AnMaster> ais523, what if you want to deal with some 30 zombies at once. Which I had the nasty surprise of meeting around one corner in that beggers-whatever area of the town
21:59:52 <cpressey> May have been a local term.
22:00:07 <ais523> AnMaster: they're zombies?
22:00:14 <ais523> you kill them all at range before they reach you
22:00:16 <ais523> or kill them one at a time
22:00:20 <AnMaster> ais523, yes but how
22:00:25 <ais523> bows and arrows?
22:00:28 <ais523> as I said, they're zombies
22:00:32 <ais523> they'll go down in a couple of hits
22:00:35 <AnMaster> ais523, picking them off one by one?
22:00:35 <ais523> and take ages to reach you
22:00:40 <AnMaster> seems... inefficient
22:00:42 <ais523> and you can always run away to maintain range
22:00:50 <ais523> alternatively, get a cleric henchman to turn them
22:01:01 <ais523> it's not inefficient really
22:01:07 <AnMaster> ais523, what level would a decent cone type of spell be?
22:01:30 <ais523> there's a couple of usable cone-type spells at level 1
22:01:35 <AnMaster> ah
22:01:49 <ais523> the main advantage of higher spell levels for actual attacking is higher damage caps
22:01:49 <AnMaster> ais523, btw can you have more than one henchman? and then what is the limit?
22:01:56 <ais523> just the one henchman at a time
22:01:58 <AnMaster> ah
22:02:02 <ais523> it'd be a control nightmare otherwise
22:02:10 <ais523> but you can also have a familiar or animal companion, and a summoned creature
22:02:11 <AnMaster> ais523, um, they seem to run on a crude AI?
22:02:24 <ais523> AnMaster: yup, the AI isn't ideal, but you can help it out to some extent
22:02:57 <fizzie> You can also write some own AI scripts if you really feel like it.
22:02:59 <AnMaster> ais523, it seems to work pretty well. except somewhat stupidly at understanding when it should disarm or pick stuff (I took that rouge near the start as the henchman)
22:03:11 <AnMaster> fizzie, wouldn't that be cheating?
22:03:31 <ais523> modding the game is half the fun, although it would be, yes
22:03:39 <ais523> it's fun to play both modified and unmodified
22:03:42 <AnMaster> mhm
22:03:58 <AnMaster> ais523, where does one do that btw?
22:04:14 <ais523> AnMaster: there's a toolset, although there isn't a Linux version of it
22:04:22 <ais523> recently it runs moderately well in WINE, though
22:04:35 <ais523> as in, there's loads of bugs you have to work around with the toolset under WINE, but it's not so bad it's unusable
22:04:57 <AnMaster> ais523, what file name? or is the binary not included in the linux bit of the thing?
22:05:22 <ais523> the filename's NWTOOLSET.EXE IIRC
22:05:31 <ais523> but it's on the Windows disk, not the Linux download
22:05:31 <fizzie> It's bundled on the disc, but since there's no Linux version, I doubt they include it in the Linux resources package.
22:05:33 <ais523> due to being a Windows program
22:05:34 <AnMaster> ah
22:05:38 <AnMaster> fizzie, that explains it
22:06:05 <oklopol> fizzie: was that in the card game? i seem to recall a gazebo in it
22:06:11 -!- oerjan has quit (Quit: Good night).
22:06:35 <AnMaster> ais523, those expansions you mentioned, any good?
22:06:44 <fizzie> oklopol: Yes, "you must face the gazebo alone" is on the card text.
22:06:58 <AnMaster> fizzie, what game?
22:07:03 <ais523> AnMaster: I don't know, I haven't installed them
22:07:05 <fizzie> AnMaster: Munchkin.
22:07:09 <ais523> AnMaster: there's a game called Munchkin
22:07:13 <AnMaster> oh that
22:07:14 <AnMaster> right
22:07:18 <fizzie> oklopol: At least we've interpreted it to mean that you are not allowed to have any other player help you during that battle, but I'm not sure if that's an actual rule.
22:07:27 <ais523> fizzie: I think it is an actual rule
22:07:31 <ais523> because that's how our group interprets it too
22:07:40 <AnMaster> fizzie, gazebo? As an enemy?
22:07:50 <AnMaster> oh and you bought it?
22:07:52 <AnMaster> XD
22:08:00 <fizzie> http://images.boardgamegeek.com/images/pic408155_md.jpg has a picture of it. (It's actually a Lightning Fast, Enraged, Gazebo.)
22:08:17 <ais523> AnMaster: if you don't know the Gazebo Story, look it up
22:08:36 <ais523> it seems to be one of those urban legends that has spread to most of the gaming groups in the world via word of mouth, as I've heard it from several different sources
22:08:41 <AnMaster> ais523, link?
22:08:50 <ais523> I don't have one
22:08:52 <AnMaster> ais523, if you don't do links I won't do google ;P
22:08:58 <fizzie> http://www.netfunny.com/rhf/jokes/98/Jul/gazebo.html
22:09:00 <AnMaster> to balance things out
22:09:01 <fizzie> For example.
22:09:02 <AnMaster> fizzie, thanks
22:09:04 <fizzie> It's in very many places.
22:09:08 <ais523> I guessed it would be
22:10:27 <AnMaster> fizzie, haha
22:10:32 <fizzie> Wikipedia's link (from the "Eric and the Gazebo" article) would have been to dreadgazebo.com, which would have been more appropriate.
22:10:43 <ais523> fizzie: there's even a Wikipedia page about it?
22:11:05 <fizzie> "The Tale of Eric and the Dread Gazebo is a role-playing game (RPG) anecdote, made famous by Richard Aronson --"
22:11:07 <fizzie> Sure.
22:11:22 <fizzie> There's even a picture of a gazebo on the page.
22:11:28 <fizzie> Encyclopedic!
22:11:41 <AnMaster> XD
22:11:53 <fizzie> And what appears to be a plot summary.
22:12:03 <AnMaster> k8temp-pci-00c3
22:12:03 <AnMaster> Adapter: PCI adapter
22:12:03 <AnMaster> Core0 Temp: +77.0°C
22:12:05 <AnMaster> temp1: +36.0°C (high = +50.0°C, hyst = +45.0°C) sensor = thermistor
22:12:12 <AnMaster> they are from different sensors
22:12:15 <AnMaster> both are supposed to be CPU
22:12:19 <AnMaster> this makes no sense
22:12:27 <AnMaster> plus the former depends on cpu freq
22:12:32 <fizzie> lm-sensors gets confused quite often.
22:12:33 <oklopol> that was pretty funny
22:13:16 <fizzie> Motherboard manufacturers who use the same sensor-chipsets opt to stick in different sorts of resistors. The sensors.conf examples typically have lots of commented-out "on this and this you maybe have to divide the values by 7.6".
22:13:25 <AnMaster> fizzie, yes I'm just worried about the 77 C one being correct. Since it is the CPU-internal one
22:13:31 <AnMaster> but it does jump with CPU freq
22:13:50 <AnMaster> something like "substract 20, double, add add 40" or such it sems
22:13:56 <AnMaster> err 45*
22:13:57 <AnMaster> not 40
22:14:07 <fizzie> +36 sounds a more likely temperature, though you'd usually assume k8temp to be reliable.
22:14:42 <fizzie> I get +36.0 and +38.0 from k8temp-pci-00c3 for the two cores here.
22:14:49 <AnMaster> fizzie, yes but the k8temp varies with cpu frequency in a way that seems implausible. As in directly after a speed switch it jumps sharply
22:14:54 <AnMaster> fizzie, this is single core
22:15:03 <AnMaster> sempron 3300+
22:15:22 <AnMaster> didn't some early k8 have issues with the k8temp, sounds familiar...
22:15:50 <AnMaster> fizzie, I get a value near that of the mobo when at lowest cpu speed
22:16:30 <fizzie> Hmn. Well, mine went from 36/38 to 43/45 when I ran a "while true; do true; done" loop in one shell for three seconds, which made it jump from 1000 MHz to 2800 MHz. That sounds physically possible; but going from 36 to 77 in just a few seconds doesn't.
22:16:52 <AnMaster> fizzie, and sensors.conf doesn't have my stuff But I checked that the values match those reported in BIOS pretty well after a reboot
22:18:13 <AnMaster> fizzie, also less than a second. Checked with sensors && cpufreq-set [...] && sensors
22:18:38 <AnMaster> anyway 77 needs load. On idle the difference is around 28 C -> 67 C
22:18:38 <fizzie> Well, then it does sound like k8temp is having some cpufreq-related issues.
22:19:07 <AnMaster> fizzie, yes I guess I should not be worried about nwn making computer fry XD
22:20:06 <fizzie> AnMaster: On the other hand, the "temp3" sensor in the it8718-isa-0228 motherboard sensors package is listed as +81.0 degrees Celsius in idle. I have no clue where the sensor is supposed to be, or whether it even exists.
22:20:52 <AnMaster> heh
22:21:09 <AnMaster> Core0 Temp: +27.0°C
22:21:09 <AnMaster> temp1: +34.0°C (high = +50.0°C, hyst = +45.0°C) sensor = thermistor
22:21:09 <AnMaster> temp2: +34.5°C (high = +50.0°C, hyst = +45.0°C) sensor = thermistor
22:21:09 <AnMaster> temp3: +34.5°C (high = +50.0°C, hyst = +45.0°C) sensor = thermistor
22:21:11 <fizzie> (And the voltage levels seem pretty arbitrary; they're all in the +1 .. +4 range, and have limits of [+0.00, +4.08].
22:21:18 <AnMaster> note temp2 is not always same as temp3
22:21:37 <AnMaster> fizzie, oh and my voltages doesn't match at all
22:21:49 <fizzie> http://pastebin.com/iuiS8AAb
22:22:12 <AnMaster> fizzie, http://sprunge.us/NShj
22:22:45 <fizzie> That's even more messy.
22:23:40 <AnMaster> yeah
22:23:58 <AnMaster> fizzie, I commented out fan1 and fan3
22:24:14 <AnMaster> since they are not attached and aren't even on the mobo
22:24:25 <AnMaster> they were showing 0 RPM
22:24:36 <Ilari> This could be fun: Given a hash function and hash value, determine wheither there is preimage for that hash value... And more general version of it: given a hash function, do all its outputs have preimages? :-)
22:24:52 <Ilari> Of course, good hashes should have preimages for all outputs, but...
22:25:19 <fizzie> For the IT8718, it seems that there's no generic "used by most manufacturers" configuration for it; the chip voltage-measuring inputs accept voltages in the range [0V, 4.096V] which gives those limits, but every manufacturer designs the actual circuitry differently.
22:25:33 <AnMaster> Ilari, I suggest proving it "mathematically" rather than by brute force ;P
22:25:48 <Ilari> Yup. That's pretty much the only way to do it...
22:25:50 <fizzie> "The best thing to do is send Gigabyte's technical support an e-mail and ask. That's what I did and they told me what I needed to know. Of course, I sent it from work with my work signature attached (which includes the lines Digital Systems, Design Assurance Engineer - Reliability & Safety) so that may have helped. ;)"
22:25:57 <AnMaster> fizzie, at least my thinkpad has sane sensors
22:26:07 <AnMaster> fizzie, the no attached ones report not readable
22:26:15 <fizzie> Laptops tend to handle monitoring better, anyway.
22:26:25 <AnMaster> fizzie, well there is one strange, that is always at 50 and is only readable with main battery mounted
22:26:41 <AnMaster> (and then there is one varying one that is only readable with battery in
22:26:53 <AnMaster> fizzie, however I have no idea what the different temp probes are
22:27:55 <AnMaster> fizzie, http://sprunge.us/hgIY (after waking up computer from sleep for quite a while)
22:28:03 <AnMaster> (it should be pretty much ambient temp there)
22:28:36 <AnMaster> fizzie, err s/sleep/s2ram/
22:28:57 <AnMaster> fizzie, the fan value definitely works btw
22:29:52 <AnMaster> fizzie, oh and yeah I marked the ones not readable as ignore on the laptop
22:30:06 <AnMaster> presumably at least one of them would be for optional ultrabay battery
22:30:36 <fizzie> I guess there's not so many ways to hook fans into those monitoring chips. Unlike voltages, which you can scale to the chip input ranges in practically any which way.
22:34:30 <AnMaster> fizzie, well for thinkpad it is quite reasonable to assume it is standard
22:34:45 <AnMaster> fizzie, but looking at my desktop it has a div value for the fan
22:35:30 <fizzie> Can't seem to find any existing settings for this particular motherboard model, but maybe some other by the same manufacturer could work.
22:35:52 <AnMaster> fizzie, unlikely
22:36:16 <AnMaster> fizzie, anyway for servers there is a better system too
22:36:26 <AnMaster> fizzie, which is IPMI iirc (or was it IMPI?)
22:36:37 <AnMaster> presents sensors too in a nice way iirc
22:37:22 -!- GreaseMonkey has joined.
22:37:36 <fizzie> Yes; I'm a bit surprised they haven't included monitoring stuff into ACPI nonsense, though.
22:38:29 <AnMaster> fizzie, look at the output of my thinkpad again?
22:38:38 <AnMaster> acpitz-virtual-0 eh?
22:39:11 -!- ehirdiphone has joined.
22:39:33 <ehirdiphone> Tautological? Or SEXY?
22:39:40 <ehirdiphone> Hi ais523.
22:39:45 <fizzie> Oh, I missed that. Still, temperatures only. (But perhaps they have others too.)
22:39:50 <ais523> hi ehirdiphone
22:40:41 <AnMaster> ais523, btw they should make an NWN variant based on a different table top RPG
22:40:41 <ehirdiphone> Anyone have a wormhole?
22:40:59 <AnMaster> ais523, to be more specific: Neverwinter Nights: Spawn of Fashan
22:41:01 <ais523> ehirdiphone: not sure about the general case, but i don't
22:41:03 <ehirdiphone> I need to gtfo.
22:41:10 <ais523> AnMaster: why?
22:41:14 <ehirdiphone> ais523: Make one!
22:41:21 <AnMaster> ais523, because it would be quite entertaining!
22:41:24 <ais523> D&D is more popular, after all, and they'd have to rewrite most of the code to fit it to a different game
22:41:34 <ais523> what you mean is, "they should make a computer RPG based on Spawn of Fashan"
22:41:35 <AnMaster> ais523, you don't know what Spawn of Fashan is?
22:41:38 <ais523> and no
22:41:52 <AnMaster> ais523, worst RPG ever according to common opinion
22:41:53 <ais523> but the point is, NWN is meant to emulate D&D, if you take that away it's no longer NWN
22:42:12 <AnMaster> ais523, linking you to a review would be... pointless since you filter links
22:42:15 <AnMaster> so just google
22:42:15 <ais523> AnMaster: there's an RPG (not that one, but I can't remember the name) in which it's theoretically impossible to survive character creation, due to a bug in the rules
22:42:39 <AnMaster> ais523, SoF is like that all the way iirc
22:42:48 <ehirdiphone> What's that abominable "edgy" rpg made by someone with an iq of 4, broken gameplay, and crappy gratuitous sexual and gory writing? I forget. Read a mock review of it.
22:42:56 <ehirdiphone> Do one of that.
22:43:44 <AnMaster> ehirdiphone, no it wasn't that one
22:43:45 -!- tombom has quit (Quit: Leaving).
22:43:47 <ehirdiphone> I think the name is a backrinymmed or uppercase word
22:43:59 <ehirdiphone> Yeah, but what is that one?
22:44:01 <AnMaster> ehirdiphone, you mean F.A.T.A.L.?
22:44:08 <ehirdiphone> Yes.
22:44:49 <AnMaster> ehirdiphone, review of SoF: http://www.rpg.net/news+reviews/reviews/rev_6157.html
22:45:17 <ehirdiphone> On GPRS. Heavy page?
22:46:13 <ais523> ehirdiphone: do you have any way to send an HTTP HEAD request to it?
22:46:15 <ais523> and do you block images?
22:46:18 <AnMaster> ehirdiphone, text
22:46:23 <AnMaster> ehirdiphone, and some CSS I guess
22:46:30 <ais523> both would seem sensible on a bandwidth-limited connection
22:46:36 <AnMaster> ehirdiphone, oh and possibly a tiny gif button
22:46:36 <ehirdiphone> ais523: No; no.
22:46:48 <ehirdiphone> ais523: Its not THAT slow.
22:46:50 <AnMaster> ehirdiphone, quite a long text though
22:47:06 <AnMaster> ehirdiphone, might be better enjoyed on computer
22:47:10 <ehirdiphone> AnMaster: Big javadvripty imager paged are the problem
22:47:27 <ehirdiphone> PathologicAl worst case: ign.com
22:47:27 -!- coppro has joined.
22:47:29 -!- Phantom_Hoover has left (?).
22:47:41 <ehirdiphone> AnMaster: I haven't that luxury.
22:47:43 <AnMaster> ehirdiphone, well it is pure text apart from one small button image. And some CSS I guess.
22:47:48 <AnMaster> ehirdiphone, well later then perhaps?
22:47:52 <ais523> ehirdiphone: are you using a full browser like Safari, or an Opera Mini-style one?
22:48:07 <ehirdiphone> If the unit were aware of this one I would not even HAVE this luxury
22:48:14 <ehirdiphone> *have THIS
22:48:26 <AnMaster> ehirdiphone, not going home yet?
22:48:30 <ehirdiphone> ais523: WebKit browser inside irc client. Old iPhone os so no
22:48:34 <ehirdiphone> Multitasking
22:48:38 <AnMaster> ehirdiphone, also: move abroad
22:48:45 <ehirdiphone> AnMaster: Thursday night.
22:49:03 <ais523> ehirdiphone: using an iPhone seems to really screw up your typing
22:49:08 <ehirdiphone> Also, you try and move based on weekends in another country.
22:49:19 <AnMaster> ehirdiphone, hm. Sue them?
22:49:23 <ehirdiphone> ais523: I REQUIRE SPEED.
22:49:25 <AnMaster> ehirdiphone, tried legal stuff yet?
22:49:36 <ehirdiphone> AnMaster: Sue the government. Great idea.
22:49:44 <AnMaster> ehirdiphone, yes why not?
22:49:51 <AnMaster> ehirdiphone, it has been done before.
22:49:53 <ais523> AnMaster: I know that if I was in a similar situation, I wouldn't be taking advice from either you or ehirdiphone
22:49:58 <ehirdiphone> I'm sure the government will decide against the government.
22:50:04 <fizzie> AnMaster: These same-manufacturer same-monitoring-chipset other-MB-model sensors.conf settings did in fact seem mostly reasonable; they had ignore temp3 with the same "very high temperatures seen" comment and all: http://pastebin.com/Qw5S3EhR -- possibly not quite exact, but at least closer.
22:50:09 <AnMaster> ais523, true. I would contact a lawyer
22:50:09 <ais523> ehirdiphone: sometimes it does (see the BBC), but there's no guarantee
22:50:32 <AnMaster> fizzie, mhm
22:50:40 <ehirdiphone> Especially as my *crazy* father somehow lied enough to social services to get them involved.
22:51:01 <ehirdiphone> (my dad is a sociopath basically in bed with the unit.)
22:51:55 <ehirdiphone> *Apparently* they want to discharge me to school at end of August.
22:52:12 <ehirdiphone> Because education outside of school is ILLEGAL!
22:52:28 <ehirdiphone> Which is why we have explicit legal provisions for it.
22:52:31 <ais523> ehirdiphone: incompetent education outside school /is/ illegal
22:52:37 <ais523> would you call your current education competent?
22:52:51 <ehirdiphone> ais523: At the unit?
22:52:54 <ais523> yup
22:53:01 <ehirdiphone> Hell no! but that's "school"
22:53:05 <ais523> although it was mostly a rhetorical question
22:54:00 <ehirdiphone> Out of the unit? My education is... me. So yes, competent. The great philosopher Oklopol Omnivorol once said "All learning is autodidactism."
22:54:54 <ehirdiphone> hmm, oklopol's name should never be capitalised.
22:55:07 <ais523> I still think you should figure out a way to take GCSEs and/or A-levels early
22:55:12 <cpressey> ehirdiphone: Your hardware situation always seems to mirror your personal situation... restraintive.
22:55:14 <ais523> it'd confuse the hell out of the people at the unit
22:55:52 <ehirdiphone> ais523: One teacher offered early GCSEs, but I declined. I don't want to do any such thing in this place.
22:55:59 <ehirdiphone> cpressey: Deep, man.
22:56:10 <ais523> ehirdiphone: because you don't think they're competent enough to take you through them?
22:56:47 <ehirdiphone> ais523: And because I don't trust my mental state in the slightest. And basically I have enough on my plate.
22:57:08 <ais523> I would have thought you'd have basically nothing on your plate at the unit...
22:57:48 <ehirdiphone> I have to *purposefully block out my mind* to avoid repeated exposure to the idea "I am crazy" becoming a belief
22:58:19 <ehirdiphone> ais523: they try to fill my time with pointless "therapeutic" bullshit. And just being here is straining.
22:58:58 <ehirdiphone> Well this is cheerful \o/
22:58:58 <myndzi\> |
22:58:58 <myndzi\> /<
22:59:52 <ehirdiphone> apparently I'm not allowed to have an Internet connection for "health and safety" and also "because others might get jealous"
23:00:04 <ehirdiphone> discuss these lies amongst yourself.
23:00:36 <ehirdiphone> Actually "health and safety" is a lie in three words.
23:00:43 <ais523> the second reason is potentially valid
23:00:48 <ais523> the first doesn't seem to make sense, though
23:00:58 <ais523> unless they're worried you're looking up ways to escape the unit
23:01:01 <ehirdiphone> Yes, because I can't keep a secret.
23:01:04 <ais523> which I suppose you are
23:01:11 <ehirdiphone> Only two others sleep.
23:01:16 <ais523> but maybe not the way they think
23:01:38 <ehirdiphone> One is a severely OCD 12 year old. The other doesn't speak or move or... Breathe?
23:01:58 <ehirdiphone> So not a hard secret to keep.
23:02:15 <ehirdiphone> ais523: Or THE EASY GUIDE TO SECRET SELF HARM
23:02:31 -!- hiato_ has quit (Quit: underflow).
23:02:37 <ais523> they put people into units for OCD, nowadays?
23:02:48 <ais523> that doesn't strike me as the sort of disorder that implies being locked up...
23:03:01 <cpressey> The UK is becoming admirably efficient at crushing anything and everything that deviates from The Way[tm].
23:03:13 <ehirdiphone> Well, this guy can't even sit down in more than a few places, regularly babbles to his arm,
23:03:25 <ehirdiphone> is autistic and sees jokes as lies,
23:03:42 <ehirdiphone> and convulses whenever he hears a """loud""" noise
23:04:03 <ehirdiphone> ais523: Hey, they locked me up for supposed OCD...
23:04:22 <ehirdiphone> And Asperger's.
23:04:29 <ais523> jokes are lies, we just learn to tolerate them
23:04:47 <ais523> and lies can be amusing, whether they're intentionally jokes or not
23:05:01 <ehirdiphone> But if you tell the most obvious joke and admit so he'll still get upset.
23:05:52 <ehirdiphone> I kinda dislike him because he just stays upstairs in his room or on the Wii whenever he's not in class and basically dictates the TV. Which is, you know, a bit shitty.
23:06:35 <ehirdiphone> Small comforts ruined. Ever turned a television down so low you can barely hear anything?
23:06:43 <ais523> ehirdiphone: yes
23:06:44 <ehirdiphone> I'm sure getting used to it now.
23:06:58 <ehirdiphone> ais523: then watched an interesting programme?
23:07:03 <ais523> sometimes, lower than that and just used the subtitles
23:07:16 <ais523> ehirdiphone: I'm not convinced there are interesting programmes nowadays
23:07:18 <ais523> at least, not very often
23:07:43 <ehirdiphone> ais523: Fair enough. Same applies to the consoles though. It's just irritating.
23:07:58 <ehirdiphone> ais523: BBC Four still has good stuff.
23:08:12 <ehirdiphone> And Attenborough is of course always worth watching.
23:08:25 <ais523> ehirdiphone: normally, when I think of all the things I could do with my time, watching TV tends to be rather far down the list
23:08:31 <ais523> sleeping is quite a way above it, for instance
23:08:54 <ehirdiphone> And the majority of things above it I cannot do.
23:09:08 <ehirdiphone> Not here.
23:10:17 <ehirdiphone> I'm astonished how they manage to continually make this place worse.
23:10:22 <ehirdiphone> Takes skill.
23:11:03 <ehirdiphone> Sgeo__: Did the melatonin work?
23:11:20 <ehirdiphone> ais523: Any new interesting things?
23:11:49 <ais523> ehirdiphone: not massively: there's a research problem I'm working on for work, and the rest of my time I'm spending programming (jettyplay today) and playing NWN
23:11:53 <ais523> and talking to people online
23:12:06 <ehirdiphone> Research problem, eh?
23:12:14 <ehirdiphone> — jettyplay?
23:12:23 <ais523> ehirdiphone: ttyrec player, written in Java
23:12:35 <ehirdiphone> Right. Why, remind me?
23:12:38 <ais523> partly because I need to learn Java better, partly because it's the optimal language for my intended use
23:12:50 <ehirdiphone> Why a player?
23:12:54 <ais523> which is a ttyrec player for the masses, that they can use if they need to watch ttyrecs
23:13:03 <ehirdiphone> Okay.
23:13:07 <ais523> the sort of people who want to make them normally are more technical and can just use ttyrec itself
23:13:23 <ais523> although, games like NetHack should really have an inbuilt ttyrec recorder, rather than relying on a separate one, IMO
23:14:52 * cpressey thought that was what YouTube was for...
23:15:05 <ais523> I've managed to get its memory usage down to just over 3 times the size of the uncompressed input ttyrec, which is probably reasonable; it was a lot higher
23:15:12 <ais523> cpressey: YouTube? for /text/?
23:15:27 <ais523> the quality's awful, and you can't do things like search in it
23:15:33 * cpressey was being facetious
23:15:35 <ais523> ttyrec > all video formats, for animated text
23:15:47 <cpressey> People post all kind of "video" to that cesspool
23:17:30 <cpressey> Ack, I should probably be going.
23:17:50 <Sgeo__> ehirdiphone, I didn't try it
23:17:55 -!- FireFly has quit (Quit: swatted to death).
23:17:56 <Sgeo__> My dad told me to wait until he gets home
23:18:03 <Sgeo__> In case I have some sort of reaction to it
23:19:07 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:19:19 <Sgeo__> ehirdiphone, they're obviously worried that you'll be exposed to swearing on the Internet or something
23:19:50 -!- cpressey has quit (Quit: Leaving.).
23:19:50 <ehirdiphone> An allergy? To MELATONIN?
23:19:59 <ehirdiphone> Why do you listen to your father?
23:20:20 <ais523> surely, if you were allergic to melatonin, you should stay in a darkened room for the rest of your life
23:20:22 <Sgeo__> He didn't say "allergy"
23:20:42 <ehirdiphone> ais523: And NEVER GET SLEEPY EVER
23:20:50 <ehirdiphone> You might have a reaction.
23:21:07 <ais523> still, there are people who have managed to stay alive despite a water allerghy
23:21:10 <ais523> *allergy
23:21:17 <Sgeo__> ...water allergy?
23:21:20 <ais523> so it probably wouldn't be impossible, just completely ruin your life
23:21:22 <ais523> Sgeo__: yes
23:21:30 <ehirdiphone> Sgeo__ehirdiphone, they're obviously worried that you'll be exposed to swearing on the Internet or something
23:21:40 <ehirdiphone> No they just hate everything they can't control.
23:22:13 <ehirdiphone> I've half a mind to hit them over the head with something heavy then swim to France.
23:23:19 <ehirdiphone> ais523: Dihydrogen monoxide is terribly dangerous!
23:23:47 <ais523> ehirdiphone: yes, but the uses outweigh the dangers
23:23:57 <Sgeo__> You're not the sort of person to ask for advice in places that would likely to tell you to become an hero
23:24:09 <ais523> there's a huge list of things that are poisonous at sufficient doses, including water and oxygen
23:24:32 <coppro> just about everything
23:24:36 <ehirdiphone> But I already am an hero. An hero of FLIGHT
23:24:45 <ehirdiphone> *takes off*
23:25:11 <ais523> coppro: when I was younger, I was fed mostly on a liquid designed by scientists to contain all the nutrients the body needed, in the ratio it needed them
23:25:20 <ais523> because I had a load of food intolerances, and they weren't sure what for
23:25:22 <ais523> *what to
23:25:32 <ais523> so they needed a baseline food to keep me alive while they tested things
23:25:37 <coppro> sure
23:25:49 <ais523> I think one of its interesting properties was that it was impossible to overdose on it
23:25:55 <coppro> O_o
23:26:09 <ais523> (water overdoses kill you by messing up your osmotic balance, for instance)
23:26:22 <ais523> (you can counteract them with pretty much anything that dissolves in water, like salt or sugar)
23:27:33 * Sgeo__ would not mind surviving on that liquid alone
23:27:39 <ais523> Sgeo__: it tastes awful
23:27:50 <ais523> the doctors actually had a really simple test to see if someone needed it or not
23:27:51 <Sgeo__> Oh. Any chance that flavoring could be added?
23:27:59 <ais523> it was that if you were capable of tolerating the taste, you needed it
23:28:23 <ais523> and yes, you could flavour it reasonably easily
23:28:33 * Sgeo__ wants!
23:28:38 <ais523> but the problem was knowing which flavourings I'd react to, and which I wouldn't
23:28:43 <Sgeo__> Ah
23:28:48 <ais523> it was amusing, because it came on prescription
23:28:56 <ais523> and most of the medicines in the pharmacy were pills, or tiny bottles
23:29:08 <ais523> whereas what came for me came in giant boxes that were too heavy to carry for more than a few minutes
23:32:39 * Sgeo__ still wants it
23:33:03 <ais523> Sgeo__: why?
23:33:37 <Sgeo__> Perfect nutrition, never needing to make decisions about food,
23:34:36 <coppro> It's probably incredibly expensive, too
23:34:50 <ais523> coppro: cost is unknown because it only came on prescription over the NHS
23:34:54 <coppro> yeah
23:34:54 <ais523> but I'm guessing incredibly expensive, yes
23:35:16 <ehirdiphone> ais523: Lemme guess...
23:35:19 -!- poiuy_qwert has joined.
23:35:20 <ehirdiphone> Ensure?
23:35:22 <coppro> I wish we had near-free prescription drugs here :(
23:35:32 * Sgeo__ used to rely on Ensure
23:35:37 <ais523> ehirdiphone: no, ProSoBee
23:35:45 <ais523> not sure on what capitalisation they use atm, they tended to change it at random
23:35:59 <ehirdiphone> Ensure is evil in a bottle. At least if you were forced to drink it like I was...
23:36:08 <ehirdiphone> Disgusting.
23:36:40 -!- Oranjer has left (?).
23:36:41 <ais523> ehirdiphone: what was wrong with you that they made you drink it?
23:37:01 <ais523> anyway, even nowadays I use soya milk for breakfast, a literal habit of a lifetime is near-impossible to break, and I don't see any reason to
23:37:10 <ais523> especially as I have problems with large quantities of regular milk
23:37:19 <ehirdiphone> They equated a low BMI with malnutrition. So wrong it hurts.
23:37:47 <ais523> ouch
23:37:54 <ais523> at least in my case they had a plausible and valid reason
23:38:02 <ais523> although they got most of the specifics really wrong
23:38:08 <ehirdiphone> BMI is simply pure bullshit invented for 1800s bodies by someone who had no idea what they were doing AND it's only meant for adults
23:38:19 <ehirdiphone> Also, Sgeo__, not perfect nutrition.
23:38:33 <ehirdiphone> Nutrition science is just... Hopeless unscience.
23:38:35 -!- ais523 has left (?).
23:38:40 -!- ais523 has joined.
23:38:47 <ehirdiphone> wb ais523
23:38:54 <ais523> I have no idea how I ended up parting
23:38:59 <ais523> the tab just randomly disappeared for no obvious reason
23:39:07 <coppro> accidentally hit Ctrl-W?
23:39:15 <ais523> no, I was using the touchpad at the time
23:39:20 * Sgeo__ pretty much had to drink Ensure because otherwise I simply would not eat enough to sustain myself
23:39:47 <ehirdiphone> Don't you need it prescribed?
23:40:10 <ehirdiphone> Anyway, food apathy is a very strangely common thing among nerds.
23:40:29 <Sgeo__> Um, I'm pretty sure that Ensure does NOT need to be prescribed
23:40:35 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:40:42 <ais523> ehirdiphone: I'm far from food-apathetic
23:40:43 <coppro> ais523: Accdentally middle-clicked?
23:40:46 <ehirdiphone> Linus Torvalds' mother says he was perfectly satisfied in a room with a computer and a bowl of cold pasta for hours.
23:40:49 <ais523> coppro: could be
23:40:51 <coppro> he was talking about Sgeo
23:40:59 <ais523> it's virtually impossible to middle-click on this laptop
23:41:08 <ehirdiphone> Sgeo__: Hmm. Maybe just over here.
23:41:08 <ais523> thus, if I did middle-click, it's likely that it was done by accident
23:41:12 <ehirdiphone> I was certainly
23:41:18 <ehirdiphone> Prescribed it bit then
23:41:26 <Sgeo__> But I think a doctor did recommend it, iirc
23:41:30 <ehirdiphone> They get paracetamol prescribed here too
23:41:35 <ehirdiphone> *but then
23:41:53 <ehirdiphone> Seriously; they won't just give you pain killers. At all.
23:41:59 <Sgeo__> paracetamol == tylenol, or is that some other thing beginning with p
23:42:01 <Sgeo__> ?
23:42:18 <ehirdiphone> Headache? Deal with it or beg them to ask a doctor to prescribe something.
23:42:33 <Sgeo__> Well, it can be dangerous..
23:42:54 <ehirdiphone> Yes, one dose of pain killers used on two year olds.
23:42:59 <ehirdiphone> It could KILL.
23:43:04 <coppro> Ibuprofen?
23:43:10 <Sgeo__> Some people might be stupid and overdose
23:43:14 <ais523> Sgeo__: Tylenol seems a strangely American drug, it was mentioned all over US TV (which I was watching from Canada), but I've hardly heard of it in the uK
23:43:18 <ais523> *UK
23:43:21 <ehirdiphone> Paracetamol. Or is that a brand name?
23:43:33 <ehirdiphone> Sgeo__: Not if they give you the dose...
23:43:34 <coppro> Tylenol is a brand name of Paracetamol/acetamenophin
23:43:43 <coppro> s/P/p/
23:44:02 <ehirdiphone> ais523: Aspirin seems quite uncommon here too.
23:44:21 * Sgeo__ prefers the name "Acetamenophin" to "Paracetamol"
23:44:31 <ehirdiphone> Sgeo__: I don't.
23:44:47 <ehirdiphone> So... Antibiotics!
23:44:59 <ehirdiphone> Antibiotics eh.
23:45:15 <coppro> isn't it really easy to make salicylic acid anyway?
23:45:25 <Sgeo__> Paracetamol is dangerous to the overdoser. Antibiotics are dangerous to everyone else who has to deal with the resistant bacteria because of stupid people's abuse
23:45:26 <coppro> *acetylsalicylic acid
23:45:46 <coppro> yeah, preventative antibiotics = fail
23:45:56 <coppro> Norway's got it right
23:46:08 <coppro> also, I joined the Pirate Party
23:46:12 <ehirdiphone> Yeah I was on antibiotics but I had a pus-y wound.
23:46:23 <ehirdiphone> Which sucked and all.
23:47:08 <ehirdiphone> ais523: So what WERE your food intolerance?
23:47:11 <Sgeo__> When I was very young, a wasp stung me. I got antibiotics for that
23:47:18 <ehirdiphone> *intolerances
23:47:32 <ais523> ehirdiphone: quite a long list; the major ones are large amounts of cheese, and fish
23:47:47 <ehirdiphone> The antibiotics I were on were serious stuff. Nasty side effects.
23:47:50 <ais523> also, it's believed that if I eat too many nuts I'll develop a nut allergy, so I steer away from them
23:48:03 <ehirdiphone> Used to treat infections of major organs.
23:48:07 <coppro> Sgeo__: wtf
23:48:18 <ehirdiphone> ais523: What's wrong with you?
23:48:24 <Sgeo__> coppro, apparently, there were staff bacteria or something
23:48:32 <Sgeo__> (staph?)
23:48:37 <coppro> staph
23:48:43 <ehirdiphone> Sgeo__: Who administered worker bacteria?
23:48:44 <ais523> ehirdiphone: who knows? in the end they decided they didn't know and found out by trial and error
23:48:47 <coppro> ais523: get a tapeworm
23:49:05 <ehirdiphone> coppro: Worst advice ever. At any time
23:49:13 <ais523> coppro: that helps some diseases in some cases; I don't know if it would help some disorder at random
23:49:23 <ehirdiphone> "I suggest TAPEWORMS!"
23:49:40 <ais523> in general, you don't get "miracle cures" that cure everything
23:49:56 <Sgeo__> What about SCP-500?
23:49:56 <ais523> you normally need a cure that correlates at least somewhat to the disease
23:49:58 <coppro> I believe tapeworms were suggested as a cure for hay fever and other immunoglobin-induced allergies. Personally, I'd take the allergies.
23:50:01 <Sgeo__> [Yes, I know it's fiction]
23:50:14 <ais523> coppro: intolerances aren't allergies, though
23:50:28 <coppro> oh, ouch
23:50:30 <ais523> they both have the vague "don't eat various foods" restrictions, but the effects if you do eat them are entirely different
23:50:40 <coppro> yeah
23:50:40 <ais523> screwing up an intolerance is less bad in general than screwing up an allergy
23:50:44 <ehirdiphone> I have hayfever sort of. And eczma (quite mild).
23:50:51 <ehirdiphone> They interact annoyingly.
23:50:52 <ais523> even though you don't want to experience the effects, or be around someone who is
23:50:53 <Sgeo__> Does lactose-intolerance vary? Used to be lactose-intolerant, then it seemed to go away
23:50:58 <ehirdiphone> I get rashes from pollen.
23:51:05 <ais523> Sgeo__: intolerances have been known to fade over time, yes
23:51:10 <Sgeo__> Now I'm not sure if it's back or not or keeps coming back or is just my imagination
23:51:12 -!- iamcal has joined.
23:51:13 -!- cal153 has quit (Read error: Connection reset by peer).
23:51:29 <coppro> I have an allergy to birch pollen and things similar to it (many fresh fruits and vegetables :/)
23:51:40 <ehirdiphone> I have an allergy to allergies.
23:51:42 <ais523> Sgeo__: if you believe something is bad for you, it probably is; the placebo effect is strong and works both ways
23:52:26 <ehirdiphone> Anyone here ever had an operation?
23:52:37 <Sgeo__> (+)
23:52:38 <ehirdiphone> I had a hernia removed; that's it.
23:53:10 <ehirdiphone> Sgeo__: ?
23:53:33 <Sgeo__> Failed attempt at a joke
23:53:52 <ehirdiphone> Oh i see
23:53:52 <ais523> ehirdiphone: yes, but I was too young to remember it or even know why it was carried out
23:53:55 <ehirdiphone> ...die
23:54:21 <coppro> I've had tubes put in my eardrum for an infection when I was really young, and had an ingrown toenail clipped
23:54:26 <ehirdiphone> ais523: ?! I could never forget. How old are you? And are you sure you did not originate in a test tube?
23:54:35 <ehirdiphone> coppro: So, "no."
23:54:41 <ehirdiphone> ais523: Were
23:54:42 <coppro> ehirdiphone: those are both operations
23:54:43 <ehirdiphone> Not are
23:54:45 <ais523> ehirdiphone: I'm 23, and the operation was when I was around 2 or 3
23:54:53 <ehirdiphone> coppro: Yes, but...
23:55:05 <ehirdiphone> I had my hernia removed @ 5
23:55:14 <ais523> 5 would be a lot easier to remember
23:55:25 <ehirdiphone> To this date, brush your hand gently near the scar and it caves in slightly.
23:55:26 <coppro> yeah
23:55:33 <coppro> my earliest memory is just over 2 years old
23:55:39 <ehirdiphone> The fixed part of my muscle wall thingy
23:56:17 <ehirdiphone> My memories start around 5 to 7 with vague recollections of the years before. Only very few moments.
23:56:50 <ehirdiphone> Logo is a nice language.
23:57:40 <ehirdiphone> Wild topic changes woo
23:59:01 <ehirdiphone> >_>
2010-06-18
00:00:38 <ehirdiphone> Okay fine back to medical talk.
00:00:55 <ais523> nah, you managed to kill both subjects
00:01:02 <ehirdiphone> :(
00:02:00 <ehirdiphone> ais523: Do you have any other strangeness apart from that food stuff? In comparison I am very boring illness wise.
00:02:25 <ais523> ehirdiphone: probably, but people tend to seem commonplace to themselves
00:02:33 <ais523> I sometimes have trouble standing up
00:02:38 <ais523> like I'm permanently drunk
00:02:45 <ehirdiphone> XD
00:02:46 <ais523> also, with apparently normal household obstacles like doors
00:02:49 <ais523> I'm surprisingly bad with doors
00:03:08 <ehirdiphone> Do you just... Walk into them?
00:03:24 <ais523> normally it's taking multiple tries to open or close them
00:03:32 <ais523> I can try three times to close a door, fail, and then look at it sadly for a while
00:03:59 <ehirdiphone> I had my kidneys looked at with ultrasound a couple of days ago
00:04:12 <ehirdiphone> ais523: I cracked up at the looking sadly bit
00:06:41 <ais523> well, I was going for amusement value
00:06:44 <ehirdiphone> Oh my god the euro symbol is the quake ii logo on its side
00:06:48 <ehirdiphone> PANIC
00:07:39 <ehirdiphone> That's probably my cue to sleep.
00:07:43 <ehirdiphone> Bye guys.
00:07:47 <ehirdiphone> Talk soon.
00:07:50 <Sgeo__> Bye ehirdiphone
00:07:52 <coppro> ais523: Stop me if I'm going to far, but how does one fail to close a door?
00:07:54 <coppro> by ehirdiphone
00:08:02 <ehirdiphone> I'm going to far!
00:08:05 <Sgeo__> Also, UserFriendly did it
00:08:05 <ais523> bye
00:08:11 <ais523> coppro: by failing to push it hard enough
00:08:13 * ehirdiphone waits for the answer first
00:08:14 <coppro> s/to/too/ s/by/bye/
00:08:14 <ais523> or sometimes, pushing it so hard it bounces
00:08:18 <Sgeo__> I think
00:08:18 <ehirdiphone> ais523: XD
00:08:24 <ais523> there isn't a lot that you can do wrong closing a door, but I manage it sometimes
00:08:37 <coppro> ais523: oh. I was imagining silly things like getting your hand caught in it or something
00:08:42 <ehirdiphone> *push* [swing] ... *push*
00:08:48 <ais523> ehirdiphone: it's happened
00:09:06 <coppro> failing to close a door can happen to anyone not familiar with the weight of the door in question
00:09:10 <ais523> bonus points if after the first push, you're too far from the door to reach it and have to run back to it to try again
00:09:10 * Sgeo__ tends to always fidget with something in his hands
00:09:16 <ehirdiphone> You're meant to walk it closed after you start pushing :P
00:09:32 <coppro> ais523: I've done that!
00:09:33 <ehirdiphone> Bye.
00:09:37 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:10:13 * Sgeo__ has locked himself in his room
00:10:20 <coppro> The refrigerator in myself is quite tricky to close, actually
00:10:22 <Sgeo__> [Not now. In the past]
00:10:24 <coppro> *my house
00:10:28 <coppro> not sure where that came from
00:11:31 <ais523> I once injured myself on a set of stairs by taking the turn where they changed direction too tightly and walking into the handrail
00:12:07 <coppro> sounds something like what I'd do if I was being silly
00:12:46 <coppro> also re: standing up. I think this is normal but I'm prone to bouts of dizziness from standing after sitting or lying down for a while (never in mornings, curiously enough). I've fallen from this before.
00:12:52 <ais523> in my case, it was just not paying attention
00:12:58 <ais523> coppro: oh, that is normal
00:13:06 <ais523> it's to do with the blood distribution in the body
00:13:14 <coppro> bad enough that you fall?
00:13:26 <ais523> normally you can take a few steps to stay upright
00:13:29 <ais523> or hold onto a wall or something
00:13:42 <coppro> I must have looked hilariously stupid
00:14:56 <fizzie> The fridge door here is curious in that it is very difficult to open for about 5 seconds immediately after it has been closed, if it has been open for more than a second or two.
00:15:36 <ais523> timelocked fridge?
00:15:50 <coppro> Oo
00:15:53 <fizzie> It *feels* like some sort of pressure thing, but I don't really know how it happens.
00:16:42 -!- ehirdiphone has joined.
00:16:47 <ehirdiphone> Oh, hell; some two minutes more.
00:16:55 <fizzie> It does open if enough force is applied, but the amount of necessary pulling is a lot higher than the "ground state" of door-opening after it's been closed for a sufficient length of time.
00:17:05 <coppro> my fridge has double doors; there's no pillar in the middle so they have a creative sliding seal on the left hand door, which means that if the right-hand door is closed, it requires significant force to close all the way. If the other door is open, or whenever closing said other door, a light tap will do
00:17:08 <fizzie> ehirdiphone: It's still all about doors here.
00:17:37 -!- Oranjer has joined.
00:23:13 <Sgeo__> brb
00:23:47 <coppro> ooh, what about a 2-d esolang where the flow control is in the form of doors?
00:25:18 <ehirdiphone> No. ais523 would just look at it sadly for a while.
00:25:39 <coppro> lol
00:26:05 <coppro> ooh, what if you had multiple IPs and you could decide what they did when confronted with a door?
00:26:17 <ehirdiphone> A good reason to grow a beard: making it into an orphanage!
00:26:19 <ais523> ehirdiphone: probably better to add it to the quotes file rather than parrot it in the channel forever
00:26:22 <coppro> so the other aspect of flow control would be what a given IP does in a situation
00:26:26 <ehirdiphone> ais523: Meh
00:26:32 <ehirdiphone> We need a new unmemw
00:26:36 <ehirdiphone> *unmemw
00:26:43 <ehirdiphone> *unmemw
00:26:50 <ais523> what is up with that correction?
00:26:59 <ehirdiphone> WHY HAVE YOU LEARNED THAT WORD COMPUTER
00:27:01 <ais523> my guess is you mean "unmeme", and your keyboard is incapable of typing it for some reason
00:27:03 <ehirdiphone> WHY
00:27:23 <coppro> it's an iphone; it has autospellcheck
00:27:34 <ehirdiphone> ais523: I declined it's first correction accidentally so it's now convinced unmemw is a word.
00:27:44 <ehirdiphone> Whereas unmeme is not.
00:27:50 <ais523> surely there's some way to correct it?
00:27:55 <Sgeo__> Obviously there is
00:28:02 <ehirdiphone> Yes, but...
00:28:13 <ehirdiphone> It's so easy to forgit!
00:28:17 <ehirdiphone> *forgit
00:28:22 <ehirdiphone> *forgit
00:28:29 <Sgeo__> *forget or *forge it?
00:28:38 <ehirdiphone> *fungus
00:28:41 <ehirdiphone> *fondue
00:28:51 <ehirdiphone> *famine
00:28:59 <ehirdiphone> *felectric
00:29:08 <ehirdiphone> *fbetternatethanlever
00:29:13 <ehirdiphone> *forget
00:29:17 <ehirdiphone> Finally!
00:29:20 <coppro> lol
00:30:13 <ehirdiphone> Bye for real now. Do not say anything of interest!
00:30:44 <Sgeo__> There's a common joke that would normally be inserted here, and I'm the sort that does it, but I won't.
00:30:45 <Sgeo__> Bye
00:30:56 <ehirdiphone> What joke?
00:31:09 <ehirdiphone> Look what you've done!
00:31:31 <ehirdiphone> "anything of interest" literally?
00:31:36 <Sgeo__> Yes
00:31:43 <ehirdiphone> TELL ME MUST KNOW THIRST ARGH
00:31:45 <ehirdiphone> Okay bye
00:31:49 <Sgeo__> Although I guess I didn't say it. I'm shutting up now, bye.
00:31:57 -!- ehirdiphone has quit (Quit: that's a long way to tip a rarie).
00:32:48 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
00:33:27 -!- poiuy_qwert has joined.
00:39:18 -!- relet has quit (Quit: Leaving.).
00:49:55 -!- ais523 has quit (Remote host closed the connection).
01:28:06 -!- poiuy_qwert has left (?).
01:28:35 -!- wareya has joined.
01:28:40 <wareya> hello
01:29:30 <wareya> I have a question
01:30:08 <wareya> Have there ever been any "case based" programming languages? In the same way as spoken languages can be case based.
01:32:49 <Sgeo__> Does the case sensitivity of most modern languages count?
01:33:18 <Sgeo__> What about the different between an upper-cased and lower-cased name in Haskell?
01:34:29 <coppro> other ML-likes are similar in that sensitivity
01:34:40 <coppro> (like Erlang)
01:35:58 <Sgeo__> This is the best cut pizza I've had in a long time
01:37:51 <Gregor> AnMaster: I'm at an internship. I didn't bring all my hats.
01:53:25 -!- Gracenotes has quit (Remote host closed the connection).
01:53:27 <wareya> http://en.wikipedia.org/wiki/Grammatical_case
01:53:30 <wareya> This kind of case.
02:03:26 -!- Oranjer has left (?).
02:16:53 -!- SevenInchBread has joined.
02:18:32 -!- CakeProphet has quit (Ping timeout: 258 seconds).
02:20:26 -!- charlls has joined.
02:21:31 -!- SevenInchBread has quit (Ping timeout: 260 seconds).
02:34:32 -!- Gracenotes has joined.
02:34:42 -!- CakeProphet has joined.
02:42:31 -!- SevenInchBread has joined.
02:44:08 -!- CakeProphet has quit (Ping timeout: 240 seconds).
02:47:01 -!- SevenInchBread has quit (Ping timeout: 240 seconds).
02:48:59 -!- CakeProphet has joined.
03:00:01 -!- iamcal has quit (Ping timeout: 260 seconds).
03:05:02 -!- Oranjer has joined.
03:20:13 -!- cal153 has joined.
03:42:56 -!- GreaseMonkey has quit (Read error: Connection reset by peer).
03:43:44 -!- GreaseMonkey has joined.
04:27:48 -!- charlls has quit (Quit: Saliendo).
05:11:26 -!- secretum has joined.
05:12:44 -!- secretum has quit (Client Quit).
05:16:11 -!- req has joined.
05:19:40 -!- Oranjer has left (?).
05:22:16 -!- req has left (?).
05:25:59 -!- sebbu has quit (Ping timeout: 258 seconds).
05:30:21 -!- sebbu has joined.
06:22:46 <pikhq> Holy shitnizzles.
06:22:59 <pikhq> *Youtube comments in Japanese are intelligent*.
06:31:30 -!- coppro has quit (Remote host closed the connection).
06:32:04 -!- coppro has joined.
06:36:20 -!- cpressey has joined.
06:49:14 <cpressey> Well, that was fun. NOw I have to sleep
06:49:16 -!- cpressey has quit (Quit: leaving).
07:02:41 -!- tombom has joined.
07:52:10 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:02 -!- augur has quit (Remote host closed the connection).
08:00:48 -!- pikhq has quit (Remote host closed the connection).
08:11:05 -!- oerjan has joined.
08:14:55 -!- augur has joined.
08:17:06 -!- FireFly has joined.
08:54:37 * oerjan suspects Gregor and oklopol will enjoy http://i.imgur.com/WXNmF.jpg
08:57:35 <augur> oerjan: :D
09:03:35 <oerjan> someone on reddit was nice enough to record it: http://www.vuvuzela-time.co.uk/i.imgur.com/WXNmF.jpg
09:04:54 * oerjan closes the tab just in time to avoid his brain creeping out
09:05:02 <oerjan> *crawling
09:05:16 <oerjan> it creeped out long ago
10:22:48 -!- oerjan has quit (Quit: Later).
10:34:34 -!- MizardX has joined.
11:19:04 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
11:57:44 -!- hiato has joined.
13:22:02 -!- Phantom_Hoover has joined.
13:31:52 -!- augur has quit (Remote host closed the connection).
13:32:00 -!- augur has joined.
13:35:38 * Phantom_Hoover decides to run FlightGear again.
13:35:43 <Phantom_Hoover> I MAY NOT RETURN.
13:36:09 <Phantom_Hoover> Pulseaudio and Compiz off...
13:36:19 <Phantom_Hoover> Firefox closed...
13:36:45 <Phantom_Hoover> Start fgrun...
13:37:02 <Phantom_Hoover> Launch from EGPH...
13:37:13 <Phantom_Hoover> PRAY.
13:38:51 <Phantom_Hoover> It works!
13:43:12 <AnMaster> <Gregor> AnMaster: I'm at an internship. I didn't bring all my hats. <-- you should have bought the pirate style one!
13:43:39 <AnMaster> ;P
13:51:12 <Phantom_Hoover> Hats...?
13:52:36 <augur> AnMaster: what's a silly furry love to say
13:52:45 <augur> answer: o mai
13:52:58 <augur> what's a silly buddhist furry robot love to say?
13:53:03 <augur> answer: om ai
13:53:06 <augur> :D
13:59:36 -!- MigoMipo has joined.
14:17:10 -!- coppro has quit (Read error: Connection reset by peer).
14:19:14 -!- coppro has joined.
14:50:11 -!- pikhq has joined.
15:00:31 -!- relet has joined.
15:00:32 <AnMaster> augur, what?
15:01:36 <AnMaster> augur, how does "furry" come into that?
15:01:58 <augur> "o mai" is a rather common thing for murry fur boys to say
15:02:15 <AnMaster> murry? ;P
15:02:30 <AnMaster> from that typo I conclude you are not using qwerty
15:02:45 <AnMaster> (m is a long way from f)
15:19:52 -!- cpressey has joined.
15:34:03 <cpressey> Todo item that I'll never have time for: Hack Pidgin to fetch the log as far back as the last-seen message, and format it in the chat window.
15:49:51 <AnMaster> cpressey, you use pidgin for irc?
15:50:05 <cpressey> No, I connect telepathically.
15:50:15 <AnMaster> from what I heard it is quite horrible for irc.
15:50:24 <cpressey> It works.
15:50:28 <AnMaster> compared to a "dedicated" irc client like irssi, xchat and so on
15:50:38 <AnMaster> cpressey, hm how many channels are you on? Roughly
15:51:04 <AnMaster> I think someone said it worked okayish for less than 10 channels or such.
15:51:21 <cpressey> Less than 10. Only one is IRC.
15:51:24 <AnMaster> ah
15:55:07 <pikhq> Man... There are school libraries that have banned "The Chronicles of Narnia" under the belief that it's Satanic.
15:55:15 <pikhq> ... Never mind that Aslan is literally Jesus.
15:55:41 <AnMaster> I found narnia overly religious. Especially the last book.
15:55:56 <pikhq> Yes, being religious was the damned point.
15:56:26 <pikhq> The first and last books more-so than the rest.
15:57:01 <pikhq> (lessee... The Gospel and the end of the world... Yeah, that's going to be a bit much.)
16:04:26 <AnMaster> pikhq, the books in between however were quite okay.
16:04:51 <pikhq> Yeah. The religious analogs were still there, but significantly less so...
16:05:02 <AnMaster> indeed
16:05:10 <pikhq> Making CS Lewis actually write well. :P
16:05:53 <pikhq> (he really is a decent writer when he's not hitting you over the head with a very thick hardcover Bible.)
16:05:59 <AnMaster> btw, can Lewis be both first name and family name?
16:06:07 <pikhq> Yes.
16:06:14 <AnMaster> that explains some stuff
16:06:29 <pikhq> Though it's more commonly spelt "Louis" as a first name.
16:06:46 <pikhq> (I think)
16:06:52 <AnMaster> oh btw I recently noticed that strangely enough English doesn't have any adjective for "having a cold".
16:07:13 <pikhq> There's many individual words that English lacks.
16:07:24 <AnMaster> pikhq, doesn't the author of Alice in Wonderland spell it Lewis or something like that?
16:07:26 <pikhq> We are really, really fond of making phrases.
16:07:33 <pikhq> Lewis Carol? Yeah.
16:07:38 <pikhq> BTW, that's a pen name.
16:07:45 <AnMaster> ah yes that sounds familiar
16:08:24 <pikhq> Real name is Charles Lutwidge Dodgson.
16:08:45 <AnMaster> hm English is rather poor when it comes to something like the Swedish concatenation "genomförkyld" (concatenation of "genom" [through] and "förkyld" [adjective for having a cold])
16:09:06 <pikhq> Coldhaving
16:09:07 <pikhq> Bam.
16:09:10 <AnMaster> XD
16:09:31 <pikhq> Though little *used*, English is quite capable of concatenating just like the other Germanic languages.
16:09:44 <AnMaster> pikhq, but that doesn't express the "through" bit, which is used to indicate "having a bad cold" in this case
16:09:47 <pikhq> I blame the Normans.
16:10:22 <AnMaster> it is used as a "strengthening" prefix I guess you could say
16:10:30 <pikhq> Badcoldhaving?
16:10:33 <AnMaster> heh
16:10:40 <AnMaster> sounds rather awkward though
16:10:52 <pikhq> Though it'd be more commonly written as something like bad-cold-having.
16:10:56 * Sgeo__ WTFs at Chrome slowing his computer down beyond all belief
16:11:16 <AnMaster> pikhq, which sounds awkward as well, though it looks slightly less awkward
16:11:21 <pikhq> Not particularly.
16:11:42 <AnMaster> "Not particularly" wrt. which part? sounding or looking?
16:11:49 <pikhq> Though you're most likely to just end up with a longer phrase...
16:11:51 <pikhq> Sounding.
16:11:53 <AnMaster> ah
16:12:18 <pikhq> But, yeah. It'd probably be said more as "The x which has a bad cold".
16:12:34 <pikhq> Because English loves to make sentences longer.
16:12:44 <AnMaster> pikhq, "Jag är genomförkyld" = "I am bad-cold-having"?
16:13:05 <AnMaster> the former sounds perfectly normal for casual spoken Swedish.
16:13:21 <AnMaster> the latter sounds like rather awkward English
16:13:21 <pikhq> Though *quite* awkward, it parses.
16:13:24 <pikhq> *Barely*.
16:13:56 <pikhq> I can only imagine that being used by someone who enjoys odd language constructs more than I, or someone making a joke of some sort.
16:14:04 <pikhq> Though I'm not sure how you could make a joke around that.
16:14:06 <AnMaster> pikhq, yes but it does require the reader/listener to pause for a moment and figure out the answer to "wth was that?"
16:14:11 <pikhq> Yeah.
16:16:01 <AnMaster> though I love the way you can add an extra e to some words in English to create new words. It is quite elegant.
16:16:27 <AnMaster> err two e I guess I meant.
16:16:38 <AnMaster> hm I guess you could say "talkee"
16:16:42 <AnMaster> for someone listening?
16:16:44 <AnMaster> pikhq, or?
16:16:47 <pikhq> Yes, one could.
16:16:57 <pikhq> Very odd for that word, though.
16:17:02 <AnMaster> pikhq, well yes.
16:17:23 <pikhq> I think because there *exists* a commonly used noun to refer to the other end of that; "listener".
16:17:34 <AnMaster> pikhq, but is a wonderful construct in English that is sadly underused.
16:17:49 <pikhq> It's very heavily used in legal English.
16:18:03 <AnMaster> hm listenee would be someone talking then? :D
16:18:07 <AnMaster> (talker that is)
16:18:10 <pikhq> Yes.
16:18:30 <AnMaster> hm I guess I haven't read enough legal English
16:18:40 <pikhq> I recommend against it.
16:18:47 <AnMaster> but if it is anything like legal Swedish...
16:19:12 <pikhq> Not because it's *hard* (it isn't once you get used to the specific phrasing used), but because it's *ugly*.
16:19:21 -!- sshc has quit (Ping timeout: 240 seconds).
16:19:40 <AnMaster> pikhq, was you here when I mentioned that unusually bureaucratic legal-Swedish way of writing "milk cow"?
16:19:43 <AnMaster> err
16:19:45 <AnMaster> were you*
16:19:51 <pikhq> No, don't think I was.
16:20:28 <AnMaster> pikhq, ah, it was "grönfoderomvandlande mjölkproduktionsenhet", which in English would be "green fodder converting milk production unit"
16:20:29 <pikhq> BTW, mmm, remnants of grammatical constructs.
16:20:33 <pikhq> Ahahah.
16:20:43 <pikhq> It's not *quite* that bad in English.
16:21:25 <pikhq> "GreenFodderConvertingMilkProductionUnit" amuses me greatly, though.
16:21:40 <pikhq> (that sucker needs some camelCase)
16:23:00 <AnMaster> pikhq, well, this was quite extreme for Swedish even. I heard about this from a journalist I knew (RIP). She said she read it in some report. She found the thing so strange that she called the one who wrote it and asked why. Apperently the person who wrote that phrase had been unable to understand that there was any issue with it...
16:23:24 <AnMaster> pikhq, oh and it is two words in Swedish. Can't make it one. "GreenFodderConverting MilkProductionUnit"
16:23:41 <AnMaster> well at least I can't think of a way to make it one word
16:23:49 <pikhq> The crazy thing about legal English is that it retains a *lot* from Law French.
16:24:08 <pikhq> (which was itself a bizarre hybrid of English, Norman French, Latin, and Greek...)
16:24:14 <AnMaster> heh
16:24:15 <Phantom_Hoover> Like?
16:24:21 <AnMaster> Phantom_Hoover, ?
16:24:31 <Phantom_Hoover> What sort of stuff?
16:24:32 -!- hiato has quit (Ping timeout: 240 seconds).
16:25:34 <pikhq> Common use of -ee, -or, -er.
16:25:55 <AnMaster> pikhq, -or?
16:26:11 <AnMaster> and -er sounds quite normal? talker speaker listener? and so on
16:26:18 <AnMaster> or do you mean in some other sense?
16:26:23 <pikhq> Not to the extent they use it.
16:26:41 <pikhq> Also, the main point is using -er and -ee to indicate a reciprocal relationship.
16:26:55 <AnMaster> any example of -er use that sounds awkward?
16:26:59 <AnMaster> or such
16:27:45 <pikhq> Hmm. Can't think of any ATM.
16:27:49 <AnMaster> okay
16:28:00 <AnMaster> and -or, would that be like in actor?
16:28:05 <pikhq> Yeah.
16:28:15 <AnMaster> hm is that act as a verb or as a noun btw?
16:28:17 <AnMaster> in actor I mean
16:28:30 <pikhq> There's also a very odd tendency to use French-order for adjectives.
16:29:01 <pikhq> And an incredible number of French loan words.
16:29:13 <AnMaster> what? Like "a car red"?
16:29:29 <pikhq> The canonical example is "attorney general".
16:29:43 <AnMaster> hm
16:29:45 <pikhq> (plural, that's "attornies general")
16:30:23 <AnMaster> pikhq, would they use it outside fixed (possibly old) phrases like that?
16:30:40 <pikhq> Not generally. But there are a *lot* of such fixed phrases.
16:30:44 <AnMaster> ah
16:31:06 <AnMaster> pikhq, does this apply to both UK and US?
16:31:10 <pikhq> Yes.
16:31:13 <AnMaster> hm
16:31:19 <pikhq> Law French is freaking *old*.
16:31:42 -!- hiato has joined.
16:31:44 -!- hiato_ has joined.
16:31:45 <AnMaster> right
16:31:49 <pikhq> The differences between legal English in various English-speaking languages come down to differences in legal systems, not in manners of composing legal text.
16:32:07 -!- hiato_ has quit (Client Quit).
16:32:07 -!- hiato has quit (Client Quit).
16:32:15 <AnMaster> ah
16:32:34 -!- hiato has joined.
16:32:51 <pikhq> Erm.
16:32:54 <pikhq> s/languages/countries/
16:32:58 <pikhq> XD
16:33:23 <pikhq> Of course, most of those countries have only really been independent from the UK for a good 60 years or so.
16:34:54 <AnMaster> yeah I expected US and possibly AU to have larger differences
16:35:40 <pikhq> About the only difference is that the UK still has laws in Law French on the books.
16:35:49 <pikhq> ... And actual Norman French, for that matter.
16:36:04 <AnMaster> heh?
16:36:31 <AnMaster> you would have expected them to have been replaced what with the long time spent as an enemy of France...
16:37:04 <pikhq> Yes, about since the Norman invasion which made them have Norman French and Law French on the books.
16:37:55 <pikhq> Of course, during the time that anyone cared *that* much, the aristocracy spoke French, and after that stopped, well, apathy doesn't make you replace laws.
16:42:25 <AnMaster> mhm
16:43:39 -!- BeholdMyGlory has joined.
16:50:26 -!- sebbu2 has joined.
16:51:21 -!- sebbu has quit (Ping timeout: 240 seconds).
16:51:23 -!- sebbu2 has changed nick to sebbu.
17:08:06 -!- tombom has joined.
17:10:14 <Phantom_Hoover> I'm really beginning to wonder whether using 32-bit Linux was a good idea.
17:10:47 <AnMaster> Phantom_Hoover, well, if your CPU doesn't support 64-bit it is your best option
17:10:58 <AnMaster> if it however does support it, then you should probably use 64-bit
17:11:10 <AnMaster> since you can still run 32-bit apps just fine.
17:11:21 <Phantom_Hoover> How do I tell whether it does?
17:11:34 <AnMaster> grep flags /proc/cpuinfo
17:11:38 <AnMaster> and post the output line
17:11:57 <AnMaster> Phantom_Hoover, then I can tell you if you have it or not
17:12:35 * AnMaster waits
17:12:47 -!- hiato has changed nick to fifasuck.
17:12:54 <Phantom_Hoover> flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm
17:12:54 <Phantom_Hoover> flags: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm
17:13:04 <AnMaster> ah there it comes, no need for twice though
17:13:13 <Phantom_Hoover> dtes64 looks promising.
17:13:17 <AnMaster> and yes you have "lm" in there (stands for long mode)
17:13:22 <AnMaster> Phantom_Hoover, no clue what dtes64 is
17:13:30 <AnMaster> but it is lm and lahf_lm you want to look for
17:13:42 <AnMaster> though I never heard of any system with lm and lacking lahf_lm
17:13:55 <Phantom_Hoover> Oh, now I really do regret it.
17:13:58 <AnMaster> lahf_lm indicates that you can run 32-bit apps while in 64-bit mode
17:14:08 <AnMaster> but afaik all x86_64 cpus allow that
17:14:24 <Phantom_Hoover> Oh, god, how do I migrate now?
17:14:52 -!- fifasuck has quit (Quit: underflow).
17:14:55 <cpressey> With a can of gasoline and a flamethrower
17:15:32 <Phantom_Hoover> I think flamethrowers are regulated in the UK.
17:15:37 <cpressey> But I don't see what's really wrong with it now, unless there is a 64-bit app you *need* to run?
17:15:37 <AnMaster> Phantom_Hoover, I heard about people converting an existing install... It isn't something I would attempt myself. It involves having two userland versions side by side for a bit and having to manually call the dynamic linker... like /lib/ld-linux-x86-32.so.2 /bin/mv
17:15:40 <AnMaster> and so on
17:15:44 <AnMaster> so best bet is to reinstall
17:15:56 <AnMaster> unless you want a challenge
17:16:35 <Phantom_Hoover> I might reinstall over the weekend.
17:16:54 <Phantom_Hoover> If it fails, I'll need the soul of your first-born child again.
17:17:14 <AnMaster> Phantom_Hoover, personally I would rather play minesweeper on "large" setting while wearing a blindfold than trying to convert an existing 32-bit system without a reinstall.
17:17:27 <pikhq> cpressey: MOAR ADDRESS SPACE
17:18:06 <cpressey> Beh, who would ever need more than 640K?
17:18:08 <pikhq> AnMaster: Actually, static link a busybox before hand would work best.
17:18:26 <Phantom_Hoover> cpressey, I must be ready for 2038.
17:18:28 <AnMaster> cpressey, for x86_64, you have lots of advantages apart from the larger address space. Such as more registers, RIP relative addressing, NX, a less sucky base level for non-source-based distros.
17:18:31 <AnMaster> and so on
17:18:45 <Phantom_Hoover> Base level?
17:18:46 <AnMaster> pikhq, probably
17:18:48 <cpressey> For that ultimate minesweeper experience
17:19:06 -!- coppro has quit (Ping timeout: 260 seconds).
17:19:14 <pikhq> Phantom_Hoover, binary distros optimise for a Pentium Pro or a 486 for x86.
17:19:26 <AnMaster> Phantom_Hoover, well, if you make a binary distro you have to compile for the least advanced CPU you want to support
17:19:27 <pikhq> Not a Pentium Pro MMX. Just a Pentium Pro.
17:19:33 <AnMaster> since otherwise binaries won't run on the old ones
17:19:44 <pikhq> So the floating point unit used is the x87.
17:19:47 <AnMaster> 32-bit arch linux has i686 as the base
17:19:57 <pikhq> Yeah, that's a Pentium Pro.
17:20:23 <AnMaster> some other distros has i586 or even older as the base.
17:20:27 <pikhq> With x86_64, you can assume the existence of SSE2.
17:20:44 <AnMaster> possibly with a few libraries in multiple versions. Probably only for libc
17:21:15 <Phantom_Hoover> Right, so I need to make an _enormous_ archive containing my home directory, then install?
17:21:21 <pikhq> Actually, the *really* speed-dependent stuff has code to detect CPU features and toggle through different versions of functions...
17:21:27 <AnMaster> Phantom_Hoover, do you have your home dir on a separate partition?
17:21:36 <pikhq> Well. Speed-dependent stuff and anything written by Ulrich Drepper.
17:21:50 <AnMaster> Phantom_Hoover, if so, then you could just select to use that and not reformat it I guess.
17:22:11 <Phantom_Hoover> I don't think I do.
17:22:19 <Phantom_Hoover> Again, how checketh I?
17:22:52 <AnMaster> Plus, quite a lot of the stuff in my home dir would fall into at least one of the categories a) easy to replace b) binary and thus would probably benefit from being recompiled after such a switch anyway
17:23:05 <AnMaster> for a it is mostly version control checkouts for various stuff
17:23:16 <AnMaster> Phantom_Hoover, hm mount | grep /home?
17:23:23 <AnMaster> Phantom_Hoover, without the question mark
17:23:33 <AnMaster> "mount | grep /home" was the command bit as such
17:23:38 <AnMaster> (without quotes of course)
17:23:50 <AnMaster> for example that gives me:
17:23:52 <AnMaster> $ mount | grep /home
17:23:52 <AnMaster> /dev/mapper/array-home on /home type ext4 (rw,noatime)
17:23:55 <Phantom_Hoover> Nope, just ~/.gvfs.
17:23:57 <Phantom_Hoover> Damn.
17:24:17 <AnMaster> Phantom_Hoover, well gvfs is some pseudo thingy that is related to gnome iirc
17:24:28 <Phantom_Hoover> Yes, I know that.
17:24:41 <AnMaster> never used it directly personally
17:24:45 <AnMaster> it is just there
17:25:19 <Phantom_Hoover> So I need to make a massive archive of ~, then put in on (preferably at least 2) flash drives, then reinstall?
17:25:28 <Phantom_Hoover> And after that copy it across?
17:25:44 <AnMaster> hm well I guess so. But how large is your home dir?
17:26:35 -!- augur has quit (Remote host closed the connection).
17:26:50 <AnMaster> well, I recently grew mine from 25 GB to 50 GB so I guess large is not uncommon
17:26:55 -!- augur has joined.
17:26:58 <AnMaster> grew the partition that is
17:27:28 <Phantom_Hoover> Well, it's several GB at least.
17:27:31 <AnMaster> (on the fly, I love lvm!)
17:27:49 <AnMaster> Phantom_Hoover, hm.
17:28:03 <Phantom_Hoover> Most of that is downloaded.
17:28:15 <AnMaster> Phantom_Hoover, you could run "du -sh ~" but it might take some time, especially if it mostly consists of lots of small files, rather than fewer large ones
17:28:17 <Phantom_Hoover> Although it would take quite a while to get some of it back.
17:28:58 <Phantom_Hoover> AnMaster, doing that nos.
17:29:07 <Phantom_Hoover> Dear god, it's worse than I thought.
17:29:10 <Phantom_Hoover> 26G.
17:29:14 <AnMaster> that was fast
17:29:17 <Phantom_Hoover> *Much* worse.
17:29:33 * Phantom_Hoover runs Disk Usage Analyser
17:29:36 <AnMaster> I would expect disk seeking noise for about a minute while it recursively scanned the dir
17:29:56 <AnMaster> but then maybe you have more of the "few large" variety of files
17:30:08 <Phantom_Hoover> Yes, pretty much.
17:30:37 <Phantom_Hoover> I have a few folders filled with huge files.
17:30:47 <cpressey> Burn a DVD-R?
17:31:05 <Phantom_Hoover> OK, so 4.3G is virtual hard drives for VMs..
17:31:06 <AnMaster> du -sh ~/src takes 20 seconds or so. 2.1 GB
17:31:08 <Phantom_Hoover> They can go.
17:31:16 <AnMaster> lots and lots of small files there
17:31:44 <AnMaster> Phantom_Hoover, no external harddrive?
17:31:45 <AnMaster> how do you make your weekly backups then?
17:31:45 <Phantom_Hoover> 5G is Wine stuff.
17:31:46 <Phantom_Hoover> That can probably go.
17:31:55 <AnMaster> also why the heck am I having 13 seconds lag...
17:31:55 <Phantom_Hoover> What the hell am I making backups of?
17:32:06 <AnMaster> hm now it is gone... strange
17:32:11 <Phantom_Hoover> Useful code?
17:32:16 <Phantom_Hoover> You amuse me.
17:32:36 <cpressey> So... you have nothing worth backing up? Then just reinstall!
17:32:46 <AnMaster> Phantom_Hoover, well, I have 1) RAID 1 2) backups (not offsite sadly, but if I had another site where I could store them then it would be off site!)
17:33:15 <Phantom_Hoover> cpressey, nothing worth the trouble of buying an external drive, but I don't want to spend ages fixing things.
17:33:19 -!- sshc has joined.
17:33:52 <Phantom_Hoover> Anyway, continuing.
17:33:58 <cpressey> Phantom_Hoover: I can see the "ugh, I have to set that all up again!" angle
17:34:13 <Phantom_Hoover> 4.2G is the Linux source.
17:34:18 <Phantom_Hoover> That can definitely go.
17:34:23 <AnMaster> Phantom_Hoover, let me see if I got this straight: 1) you don't want to spend ages fixing things after a controlled reinstall, where you can plan ahead to avoid deadlines. 2) you do not mind having to spend ages fixing things if you harddrive crash half an hour before an important deadline?
17:34:34 <Phantom_Hoover> Deadlines?
17:34:38 <Phantom_Hoover> What deadlines?
17:34:44 <AnMaster> well, work? reports?
17:35:10 <AnMaster> I don't know what you do but I would hate missing the deadline of an assignment due to a disk crash
17:35:10 <Phantom_Hoover> I do not do such things on computers.
17:35:15 <AnMaster> mhm
17:35:30 <AnMaster> Phantom_Hoover, I guess you haven't had any programming assignments then.
17:35:45 <AnMaster> plus I can't think of a better way to write a lab report than using latex :P
17:35:45 <Phantom_Hoover> I don't actually do computing any more, so everything I do is effectively pointless.
17:35:57 <cpressey> There are tools out there to make setting up a machine the way you like it, easier, but they are generally primitive and they generally suck.
17:36:14 <cpressey> At least, IMo. If they solve problems, they aren't mine.
17:36:21 <AnMaster> cpressey, eh? they write your .bashrc or what?
17:36:44 <cpressey> AnMaster: basically, install and configure packages, yes.
17:36:48 <cpressey> the ones i know of.
17:36:52 <Phantom_Hoover> Hmm, 3.7G is FlightGear.
17:36:55 <AnMaster> cpressey, I thought the package manager did that...
17:37:01 <Phantom_Hoover> That might be tricky.
17:37:18 <AnMaster> Phantom_Hoover, scenery?
17:37:22 <Phantom_Hoover> No.
17:37:29 <Phantom_Hoover> Aircraft, primarily.
17:37:30 <cpressey> AnMaster: It does it manually. These things use the package manager.
17:37:34 <AnMaster> Phantom_Hoover, huh? Last I checked the data dir was about 2 GB
17:37:35 <cpressey> "puppet" is one
17:37:47 <AnMaster> but then I haven't had time for flightgear for almost a year
17:38:09 <Phantom_Hoover> The script I used to compile it used CVS to fetch the data, so it downloaded only the KSFO scenery, but *every* aircraft.
17:38:17 <AnMaster> cpressey, distro specific I assume?
17:38:41 <cpressey> AnMaster: No idea. Just know the basics of it./
17:38:44 <AnMaster> Phantom_Hoover, the 2 GB was CVS as of about a year ago
17:39:25 <AnMaster> Phantom_Hoover, btw what joystick/yoke do you use?
17:39:27 <Phantom_Hoover> 2.3G is aircraft.
17:40:57 <Phantom_Hoover> 2G is Electric Sheep, which can go.
17:41:22 <AnMaster> I use Saitek x52 Pro :)
17:41:31 <Phantom_Hoover> I don't actually have one.
17:41:41 <AnMaster> ah
17:42:06 <Phantom_Hoover> I have a friend who does, though.
17:42:19 <AnMaster> Phantom_Hoover, that works fine for smaller aircrafts but I wouldn't want to touch an helicopter without joystick+throttle AND rudder pedals
17:42:36 <Phantom_Hoover> I just don't touch helicopters.
17:42:49 <Phantom_Hoover> I did get a Wii remote working as a joystick, though.
17:43:00 <AnMaster> with those helicopters are merely insanely difficult. Without those it is impossible
17:43:20 <AnMaster> though having a joystick with a spring makes it rather unsuited to helicopters
17:43:40 <Phantom_Hoover> (The aforementioned friend actually flies in one of the Virtual Airlines)
17:44:01 <AnMaster> Phantom_Hoover, I can't imagine a wii remote would work very well as a joystick?
17:44:23 <Phantom_Hoover> It didn't really.
17:44:41 <Phantom_Hoover> But it was something to do.
17:47:12 <AnMaster> huh 2.6.34 haven't yet had any patch level release? how strange
17:54:25 <Phantom_Hoover> Is it worth using 64-bit if I'm on a desktop?
17:55:10 <AnMaster> probably
17:55:40 <Phantom_Hoover> Or, indeed, a laptop.
17:57:32 <pikhq> Probably.
17:57:43 <pikhq> Compilers love having more registers.
17:58:45 <AnMaster> kernel.org uses an invalid security certificate.
17:58:45 <AnMaster> The certificate is only valid for *.kernel.org
17:58:47 <AnMaster> wtf XD
17:58:51 <pikhq> Particularly with shared libraries... Not being able to address relative to the instruction pointer results in shared libraries having, what, 3 general purpose registers?
17:59:07 <Phantom_Hoover> Right.
17:59:22 <cpressey> Phantom_Hoover: If you don't have deadlines, the question is IMO meaningless.
17:59:31 <Phantom_Hoover> Deadlines?
17:59:45 <cpressey> Didn't you say that earlier?
17:59:56 <Phantom_Hoover> Yes, but I fail to see the relevance.
18:00:32 -!- oerjan has joined.
18:00:38 <cpressey> Well, only you know why you even *have* a computer, so...
18:01:26 <Phantom_Hoover> Ah, OK.
18:02:04 <cpressey> Assuming you get a kick out of playing with technology, rebuilding kernels or whatever, sure, 64-bit is yet another thing to play with...
18:02:31 <pikhq> Oh, wait. There's also esi and edi. 5 general purpose registers.
18:02:37 <pikhq> Compared with 14.
18:02:46 <Phantom_Hoover> Oh, playing with technology.
18:02:50 <Phantom_Hoover> I like that
18:02:51 <Phantom_Hoover> .
18:03:02 <oerjan> <Phantom_Hoover> Hats...?
18:03:32 <oerjan> http://choosemyhat.com/
18:05:06 <Phantom_Hoover> He reminds me of someone...
18:05:46 <oerjan> someone _here_ by any chance?
18:05:53 * oerjan cackles evilly
18:05:56 <Phantom_Hoover> No, I mean in appearance.
18:06:05 <Phantom_Hoover> He's obviously Gregor.
18:06:48 <pikhq> Well. Arguably, x86 has *0* general purpose registers.
18:06:55 <oerjan> well maybe i should check out the FBI most wanted list
18:07:28 <Phantom_Hoover> pikhq, why?
18:07:41 <pikhq> It has an accumulator register, base register, counter register, data register, source index, destination index, stack pointer, and base pointer.
18:08:11 <Phantom_Hoover> Does it matter?
18:08:25 <Phantom_Hoover> Also, I agree with oerjan's proposal for an explosion register.
18:08:40 <pikhq> Various instructions implicitly use one register.
18:10:00 <Phantom_Hoover> Oh, like loop.
18:10:10 <pikhq> Yes.
18:10:22 <oerjan> i regret to say that list has no one particularly resembling Gregor.
18:10:22 <Phantom_Hoover> (And then there's Linux's annoying syscall practice)
18:10:52 <oerjan> well maybe that guy with the turban and beard could be him.
18:11:12 <Phantom_Hoover> I want to *keep* my registers, thank you very much.
18:13:39 <Phantom_Hoover> Hmm, once I've upgraded to 64-bit, how do I move my home folder over?
18:14:29 -!- pikhq has quit (Ping timeout: 240 seconds).
18:14:30 <cpressey> Phantom_Hoover: ... where do you plan to have it while you upgrade?
18:14:57 <Phantom_Hoover> ...In ~?
18:15:03 <Phantom_Hoover> Oh, wait, misread
18:15:31 <Phantom_Hoover> Well, I was thinking of a flash drive, but there's almost certainly a better way.
18:15:54 <cpressey> Well, I think the filesystem itself is independent of the bittage of the software running from it.
18:16:08 <cpressey> So, if you could read it under 32-bit, you can read it under 64-bit.
18:16:10 <Phantom_Hoover> Hmm?
18:16:13 <Phantom_Hoover> Ah, yes.
18:16:29 <Phantom_Hoover> But if something goes wrong...
18:16:43 -!- waga has joined.
18:16:58 <waga> hello
18:17:25 <oerjan> and a good day to you, sir
18:17:27 <cpressey> So you probably don't have to move it at all, unless you want to reformat the disk to make sure you get rid of all the old binaries. But if something goes wrong, yes. Anything worth keeping should be kept twice, in two different places :)
18:18:09 <Phantom_Hoover> Wait, so it's just a matter of overwriting the conflicting files?
18:18:11 * waga loves 3code and has begun adding cool features to it
18:18:14 <waga> :)
18:18:24 <cpressey> Phantom_Hoover: Don't quote me on that, but yes, I think so.
18:18:33 <cpressey> The tricky part is running the software to do that, while you do that.
18:19:09 <AnMaster> Phantom_Hoover, anyway you probably want to tar it up before putting it on flash. at least of the drive is FAT32. Otherwise you will get everything set to executable when copying it back
18:19:23 <cpressey> Booting from a 64-bit liveCD sounds like the easiest way to do that.
18:19:24 <Phantom_Hoover> Yes.
18:19:32 <waga> Does anyone now a python online interpreter?
18:19:38 <Phantom_Hoover> Tarring *everythin* will be a challenge, though.
18:19:56 <waga> I can
18:19:58 <waga> t
18:20:24 <waga> install python here because of the veery slow internet connection i have now
18:20:32 <Phantom_Hoover> http://try-python.mired.org/
18:20:33 <waga> anyone?
18:21:00 <cpressey> Does EgoBot do python?
18:21:28 <AnMaster> Phantom_Hoover, why? tar -zcf home.tar.gz /home/<username>
18:21:31 <cpressey> Or try lua -- faster download over a slow connection ;)
18:21:39 <waga> thanks
18:22:00 <Phantom_Hoover> AnMaster, as I mentioned, lots of files I don't need.
18:22:03 <AnMaster> Phantom_Hoover, you probably want -p when unpacking (means "preserve premissions)
18:22:04 <waga> i want to do a brainfuck interpreter in 20 programming languages
18:22:08 <AnMaster> s/)/")/
18:22:11 <Phantom_Hoover> And can't fit on a drive.
18:22:21 <waga> and i tought to star with those i know.
18:22:38 <waga> I almost finished the assembler written one. ^^
18:23:11 <AnMaster> Phantom_Hoover, iirc tar supports pausing when the tape drive indicates that the tape needs to be switched ;P
18:23:24 <AnMaster> of course that rather depends on using tapes rather than flash memory
18:23:44 <oerjan> waga: oh, hm, was it you who copied all that 3code information to the wiki? i had to remove it, it's copyrighted
18:23:53 <waga> nope
18:24:00 <oerjan> ok then
18:24:23 <AnMaster> oerjan, 3code?
18:24:28 <waga> i added some commands to 3code
18:25:00 <waga> how do you know if a text is copywrighted?
18:25:09 <waga> for example if i
18:25:25 <waga> add a text from a random website(eg: cnn)
18:25:35 <waga> how are you going to know?
18:25:46 <waga> i would think of googleing it
18:26:06 <oerjan> waga: if it _doesn't_ say otherwise, and is not very old, then it is copyrighted
18:26:42 <oerjan> yeah googling might help, in this case the copier said where it was from (and for that matter the link was already in the article)
18:26:59 <waga> but how do you get the original source?
18:27:54 <oerjan> well if i suspect nothing, and don't _think_ of googling it, then i obviously won't know
18:27:55 <Phantom_Hoover> Google.
18:28:02 <Phantom_Hoover> But Jesus knows.
18:28:11 <AnMaster> ...?
18:28:23 <oerjan> cpressey: i don't think EgoBot has python, no.
18:28:30 <oerjan> !help languages
18:28:31 <Phantom_Hoover> Whenever you violate copyright, Jesus knows.
18:28:32 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
18:28:33 <waga> what is egobot
18:28:46 <oerjan> waga: that
18:28:49 <waga> What is egobot?
18:28:50 <Phantom_Hoover> `python
18:28:51 <waga> ok
18:28:54 <waga> but what it does
18:29:00 <HackEgo> No output.
18:29:03 <Phantom_Hoover> `ls
18:29:06 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.22842 \ wunderbar_emporium
18:29:20 <cpressey> no python huh
18:29:24 <cpressey> nor ruby
18:29:27 <cpressey> but something called 'rail'...
18:29:31 <Phantom_Hoover> `run python -c 'print "Hello, world!"'
18:29:32 <HackEgo> Hello, world!
18:29:40 <Phantom_Hoover> That works.
18:29:55 <Phantom_Hoover> Although you're not going to get anything useful out of it
18:29:56 <waga> cat poetry.txt
18:30:08 <cpressey> i can buy perl being esoteric, but haskell?
18:30:10 <oerjan> waga: it does lots of interpreters, mainly, some ordinary and some esoteric, and some other programs - you can add programs written in the base languages
18:30:23 <Phantom_Hoover> Is HackEgo the one that DCCs the output if it's too long?
18:30:30 <Phantom_Hoover> `cat poetry.txt
18:30:31 <HackEgo> A Poem -- Roses are red, violets are free. In Soviet Russia, you love me.
18:30:38 <oerjan> Phantom_Hoover: no, that's EgoBot
18:30:45 <Phantom_Hoover> `cat poetry.txt
18:30:46 <HackEgo> A Poem -- Roses are red, violets are free. In Soviet Russia, you love me.
18:30:52 <oerjan> HackEgo just puts // between lines iirc
18:30:53 <AnMaster> cpressey, everything is esoteric if you knows nothing in the same paradigm
18:30:56 <oerjan> er, \
18:31:18 <cpressey> AnMaster: is that why this channel is so rarely on-topic?
18:31:18 <waga> so, would `rm -r * work?
18:31:31 <Phantom_Hoover> Measures are taken against that.
18:31:33 <Phantom_Hoover> `pwd
18:31:34 <HackEgo> /tmp/hackenv.23124
18:31:34 <AnMaster> cpressey, could be. Never considered that before.
18:31:47 <Phantom_Hoover> It's a temporary directory.
18:32:00 <AnMaster> cpressey, I rather suspect it is that most in here have some problems with concentrating on anything specific for any length of time
18:32:15 <AnMaster> You have mail in /var/spool/mail/<user name>
18:32:20 <AnMaster> $ alpine
18:32:25 <AnMaster> Alpine finished -- Closed empty folder "INBOX"
18:32:33 <AnMaster> no I didn't delete any mails
18:32:40 <AnMaster> whatever gave the first message seems buggy
18:32:43 <AnMaster> the shell isn't it?
18:32:44 <Phantom_Hoover> `ls /
18:32:46 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
18:32:52 <Phantom_Hoover> `ls /home
18:32:53 <HackEgo> hackbot
18:32:58 <Phantom_Hoover> `ls /home/hackbo
18:32:59 <HackEgo> No output.
18:32:59 <Phantom_Hoover> `ls /home/hackbot
18:33:01 <HackEgo> hackbot.hg
18:33:12 <cpressey> `dd
18:33:13 <HackEgo> No output.
18:33:21 <AnMaster> cpressey, it discards stderr
18:33:22 <Phantom_Hoover> Oh, HackEgo is the one with the HG repository.
18:33:30 <Phantom_Hoover> `ls /home/hackbot/hackbot.hg
18:33:31 <cpressey> `dd 2>&1
18:33:32 <HackEgo> multibot_cmds
18:33:35 <waga> good bye
18:33:38 <waga> cya
18:33:42 <HackEgo> No output.
18:33:45 -!- waga has quit (Quit: Page closed).
18:33:49 <AnMaster> cpressey, err ` is exec() iirc not system()
18:33:51 <AnMaster> well
18:33:53 <AnMaster> it isn't C iirc
18:33:56 <AnMaster> but you get the idea
18:33:58 <Phantom_Hoover> `ls /home/hackbot/hackbot.hg/multibot_cmds
18:33:59 <HackEgo> slox
18:34:02 <AnMaster> `run dd 2>&1
18:34:03 <HackEgo> 0+0 records in \ 0+0 records out \ 0 bytes (0 B) copied, 0.000109175 s, 0.0 kB/s
18:34:04 <Phantom_Hoover> `ls /home/hackbot/hackbot.hg/multibot_cmds/sloc
18:34:05 <AnMaster> that might work
18:34:05 <HackEgo> No output.
18:34:07 <AnMaster> cpressey, ^
18:34:18 <AnMaster> the command `run uses the shell
18:34:24 <AnMaster> while just ` doesn't
18:34:28 <cpressey> Ok, the unbelievably useful "run" command.
18:34:30 <AnMaster> `run type run
18:34:31 <HackEgo> No output.
18:34:33 <AnMaster> hm
18:34:42 <AnMaster> `run find . -name 'run'
18:34:43 <HackEgo> No output.
18:34:48 <AnMaster> hm it might be in the bot itself
18:35:01 <Phantom_Hoover> `run echo $PATH
18:35:02 <HackEgo> /tmp/hackenv.23684/bin:/usr/bin:/bin
18:35:10 <Phantom_Hoover> `ls /usr/bin
18:35:11 <HackEgo> 2to3-2.6 \ X11 \ [ \ a2p \ addpart \ addr2line \ apropos \ apt-cache \ apt-cdrom \ apt-config \ apt-extracttemplates \ apt-ftparchive \ apt-get \ apt-key \ apt-mark \ apt-sortpkgs \ aptitude \ aptitude-create-state-bundle \ aptitude-curses \ aptitude-run-state-bundle \ ar \ arch \ as \ awk \ axi-cache \ base64 \ basename \ bashbug
18:35:19 <Phantom_Hoover> `ls /usr/bin/run
18:35:20 <HackEgo> No output.
18:35:29 <Phantom_Hoover> `ls /usr/bin/apt-cache
18:35:30 <HackEgo> /usr/bin/apt-cache
18:35:39 <Phantom_Hoover> `ls /bin/run
18:35:40 <HackEgo> No output.
18:36:14 <AnMaster> Phantom_Hoover, it runs in a locked down chroot thingy. with nothing in the chroot at all, phash or something it is called. It loads a replacement for libc as LD_PRELOAD. And that library uses some pipe to talk to a server outside the chroot to do all the fs stuff
18:40:06 <Phantom_Hoover> Ah.
18:40:12 <Phantom_Hoover> A stunning deception.
18:41:18 <AnMaster> Phantom_Hoover, very unlikely you are going to be able to mess up the system though
18:41:38 <Phantom_Hoover> Who wrote the altered libc?
18:43:43 <cpressey> I think it's called PLASH? You can google it
18:45:25 <AnMaster> cpressey, ah yes plash it was
18:54:33 -!- oerjan has quit (Quit: Reboot).
18:56:44 -!- oerjan has joined.
18:59:24 <oklopol> so that game where you have some pieces and you can jump over another piece and remove it and you want to eat everything except one piece
18:59:42 <oklopol> "eat" is probably a finnishm, sry
19:00:25 <oklopol> (although i'm pretty sure i might've used it even if it wasn't)
19:01:27 <oklopol> ...what's its name
19:02:16 <oerjan> http://en.wikipedia.org/wiki/Peg_solitaire
19:03:09 <oklopol> thank you
19:14:36 <oklopol> i like that game, you can get pretty far mentally, so it doesn't feel like search on small boards
19:15:50 * oklopol asks python
19:22:15 <cpressey> speaking of eating, there are highway restaurants here that have that game on every table, so you can play it while you wait for your food... :)
19:22:28 <oklopol> cooool
19:32:58 <oklopol> lol
19:33:03 <oklopol> how long did that take?
19:33:08 <oklopol> felt like an hour
19:33:29 <oklopol> since "* oklopol asks python"
19:33:32 -!- coppro has joined.
19:34:17 -!- alex2012 has joined.
19:34:26 <alex2012> hey people
19:34:28 <alex2012> :D
19:35:37 <cpressey> helllooooooo
19:35:44 <Phantom_Hoover> alex2012?
19:35:49 <oerjan> oklopol: 17 minutes. hope this helps.
19:35:52 <cpressey> The number says it all, really.
19:35:52 <alex2012> hows life?
19:35:53 <alex2012> :)
19:36:19 <alex2012> what does it say then?
19:36:20 <alex2012> :)
19:36:27 <Phantom_Hoover> I haven't seen you before.
19:36:38 <oklopol> oerjan: i don't see timestamps
19:37:00 <cpressey> It says I'm not betting that you know what the word 'Befunge' refers to.
19:37:01 <oklopol> wanted to see how long it takes me to code something like that
19:37:11 <alex2012> yet I exist :D
19:37:30 <cpressey> Well, for another few years, anyway.
19:37:52 <oerjan> cpressey: wait, i vaguely thought i'd seen alex2012 before. which means i might _vaguely_ bet.
19:38:05 <Phantom_Hoover> alex2012, ah, but did you before I observed you?
19:38:06 <cpressey> oerjan: Well, I might lose some money, I suppose.
19:38:13 <alex2012> Chris Pressey child called befunge? :D
19:38:21 <cpressey> A risk always comes with betting.
19:38:25 <oerjan> argh!
19:38:29 <oklopol> oerjan: is it a nondeterministic bet or a quantum bet?
19:38:38 <cpressey> Oh, see, there, I lost. Or alex2012 can use Google.
19:39:06 <oklopol> nondeterministic betting might be pretty profitable
19:39:34 <oerjan> oklopol: well given the circumstances, it'll be a quantum morphogenetic karmic astral bet
19:40:00 <Phantom_Hoover> cpressey, what about Befunge and a number?
19:40:14 <oklopol> cpressey: are you sure? unless "child" refers to "creation"
19:40:33 <alex2012> fun chat
19:40:37 <alex2012> :)
19:40:39 <oklopol> morphogenetic
19:40:56 <oklopol> alex2012: no u're fun
19:40:58 <oklopol> hey
19:41:19 <oklopol> hay
19:41:20 <oklopol> hoy
19:41:45 <oerjan> oklopol: stop bumbling about hitting things
19:42:57 <alex2012> karmic astral bet hmm seems karma got assigned wrong house of origin :)
19:43:36 <oerjan> oklopol: ok i'm still not sure either :D
19:44:31 <oklopol> alex2012: do you mean like linguistically? you're hard to read
19:44:53 <alex2012> I mean karma origin lies mainly in casual sphere
19:44:56 <alex2012> where causes reside
19:45:02 <oerjan> karmic betting only in the fifth house, please!
19:45:04 <alex2012> some call it akasha
19:45:09 <alex2012> :)
19:45:20 <oklopol> what's a house of origin?
19:45:42 <alex2012> sphere of inhabitation
19:45:48 <alex2012> :)
19:45:55 <oklopol> and that's not the ...astrum for causes?
19:45:57 <oklopol> er
19:45:58 <oklopol> karma
19:46:18 <oklopol> karma is in the casual sphere, not in the astral sphere?
19:46:21 <alex2012> anyone here into crystals? :)
19:46:21 <oerjan> alex2012: i don't know how to break this to you gently, but the channel topic is a lie, except for the part about programming languages
19:46:37 <alex2012> oerjan that i guessed
19:46:39 <alex2012> haha
19:46:44 <cpressey> Also the cake
19:46:51 <alex2012> I was wondering it there is connection between two
19:46:55 <oklopol> alex2012: did i get it
19:46:56 <alex2012> the language and topic
19:47:06 <alex2012> oklopol yes
19:47:08 <oklopol> okay
19:47:27 <oerjan> alex2012: well we're _still_ waiting for zzo38 to make his tarot programming language
19:47:30 <oklopol> what other spheres are there, and what things reside in spheres, am i in some sphere?
19:48:07 <alex2012> oklopol excellent question
19:48:07 <alex2012> :)
19:48:28 <oklopol> and are these spheres sets S(x,r) = {y | d(x,y)=r} for some metric space
19:49:00 <oerjan> oklopol: probably spheres of harmony
19:49:01 <oklopol> alex2012: it's an open problem whether humans reside in a sphere?
19:49:19 <oklopol> is there a standing conjecture
19:50:05 <oerjan> no this conjecture is a sitting duck
19:50:52 <alex2012> oklopol I can be equally presend in every point of creation :) however mind and some other things do act as a filter so what one perceives depends on his consitution
19:52:30 -!- KingOfKarlsruhe has joined.
19:52:34 <oklopol> filter as in the kind where you only take those elements of a list that satisfy a predicate or the kind where you take all elements bigger than the generators, and all their finite infs?
19:53:08 <oklopol> i guess consitution would imply filter, how filter works depends on what you've consed to what
19:53:11 <oklopol> err
19:53:15 <oklopol> would imply the former
19:53:25 <oklopol> presending sounds like time travel
19:53:46 <oklopol> am i on the right track
19:53:52 <oklopol> and do you want to learn brainfuck
19:56:56 * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from.
19:58:01 <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there.
19:59:27 <oerjan> `addquote * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there.
19:59:30 <HackEgo> 183|* Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there.
19:59:38 <Phantom_Hoover> A classic.
20:00:02 <coppro> it's mainly drivers
20:00:25 <oklopol> basically you have an infinite chain of suspicious crystals that each come in 256 different shades, one of which is smelly, and you have another chain of marvellous crystals that come in 5 different shades, one of which, blue, always has a loop in its side (which is basically another smaller chain, which can contain other blue crystals having chains on the side etc). what you do is you look at each marvellous crystal at a time, if yo
20:00:28 <oklopol> did that come through
20:00:40 <oerjan> oklopol: yes, unfortunately
20:00:43 <oklopol> :D
20:00:51 <oklopol> oh wait
20:00:52 <coppro> not all o fit
20:00:54 <coppro> *of it
20:00:56 <coppro> you got cut off
20:00:58 <oklopol> i forgot looping conditions
20:00:59 <oklopol> lul
20:01:11 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
20:01:28 <oklopol> so okay when you see a blue one, you step on its chain if smelly is not of shade 0, if it's 0, then you just skip the blue one
20:01:31 <oklopol> oh?
20:01:45 <oklopol> i'll resay from random
20:01:45 <oklopol> what you do is you look at each marvellous crystal at a time, if you see a red one, you increase the shade of the smelly crystal by one, if you see a yellow one, you decrease it by one, black moves the smelly crystal one step forward, white moves it one step backwards
20:01:54 -!- BeholdMyGlory has joined.
20:02:21 <oklopol> this is different from the usual bf in that nothing says loops can't nest infinitely, but this is purer
20:02:38 <oerjan> crystal pure
20:02:55 <oklopol> hehhehehe
20:03:13 <oklopol> eeehhehhehehehehe
20:03:20 <oklopol> heheheheheeehhehehhhehheheheheheee
20:04:22 <oklopol> okay so turns out you shouldn't make brute force search programs modular. or write them in python i guess.
20:04:32 <oklopol> i have a list of rewrite rules
20:05:34 <oklopol> alex2012: did you get it
20:05:44 <oklopol> i can elaborate
20:05:51 -!- BeholdMyGlory has quit (Excess Flood).
20:06:29 -!- BeholdMyGlory has joined.
20:07:56 <alex2012> oklopol I am away and not all to here
20:07:56 <alex2012> :D
20:08:09 <Phantom_Hoover> O GOD I AM SO CONFUSED.
20:10:02 <oklopol> essentially the point is you have an infinite graph^W collection of crystals connected by strings made of out of liquid consciousness, and each of these, at each time step, forwards to a neighboring crystal depending on current value of smelly crystal, forwards what? well your essence hovering over these crystals ofc, maybe i should've mentioned that. and also we can do stuff to the smelly crystal, or move on the chain of marvellous
20:10:23 <Phantom_Hoover> If something runs on 32-bit Linux will it generally run on 64-bit?
20:10:27 <oklopol> no one says we can't have an infinite collection of crystals connected by strings of liquid consciousness on the side of marvellous crystals too
20:10:29 <oklopol> tho
20:10:35 <oklopol> maybe that would be prettier
20:10:46 <Phantom_Hoover> Wait, never mind.
20:10:53 <cpressey> Phantom_Hoover: I would extremely surprised if there wasn't some kind of "shim" that lets you run 32-bit bin... ok, neverminding.
20:11:36 <Phantom_Hoover> I think there's actually a direct compatibility mode.
20:11:59 <fizzie> Mostly you just need 32-bit versions of libraries.
20:12:12 <Phantom_Hoover> Ooh.
20:12:16 <Phantom_Hoover> Oh.
20:12:20 <oklopol> crystals are more interesting than linuces
20:12:24 <Phantom_Hoover> (Superfluous o)
20:12:29 <fizzie> Debian/Ubuntu have a "ia32-libs" megapackage that contain many.
20:12:43 <fizzie> And other stuff with "32" in the name.
20:12:52 <Phantom_Hoover> Hmm, FGFS runs natively on 64-bit Linux anyway
20:13:32 <fizzie> Debian also has some sort of system that can automagically convert 32-bit library .debs for installation in a 64-bit system.
20:35:23 <Phantom_Hoover> Yay, ~ shrunk down to 12.8G!
20:36:15 * cpressey dreams of an esoteric resource compiler
20:36:42 <Phantom_Hoover> Esoteric resource?
20:36:59 <cpressey> Like Microsoft's resource compiler of olde.
20:38:50 <cpressey> Not that rc wasn't esoteric in its own way: http://www.indexdata.com/blog/2009/12/my-funniest-bug-ever-windows-2-resource-compiler
20:38:54 <Phantom_Hoover> What does iit do?
20:39:20 <cpressey> Compiles icons and other crap into a big opaque blob of data in your DLL.
20:39:35 <Phantom_Hoover> Oh, so basically tar?
20:39:53 <cpressey> To this day, changing the desktop icon of a Windows app starts you off looking for icon images in the DLL.
20:40:22 <cpressey> Yeah, basically tar-meets-a-crippled-and-illiterate-ld.
21:02:01 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
21:07:54 -!- ais523 has joined.
21:16:33 <oklopol> uorygl: here?
21:16:50 <uorygl> Ahoy.
21:16:54 <oklopol> you made a set of aperiodic tiles with a seed right
21:16:55 <Phantom_Hoover> Yay, got fgfs down to a couple of GB!
21:17:00 <uorygl> Yeah.
21:17:05 <oklopol> what was it based on?
21:17:15 <oklopol> was it sturmian words?
21:17:19 <uorygl> Yeah.
21:17:30 <uorygl> Like ABAABABA..., aye?
21:17:38 <oklopol> see the smallest tileset in the world, which i'm currently doing stuff with, is also based on those
21:17:46 <oklopol> although it doesn't use a seed
21:17:56 <uorygl> Oh, awesome.
21:18:01 <oklopol> with a seed the problem is trivial, although did you use a whole line as a seed?
21:18:06 <oklopol> then it's a bit less trivial
21:18:13 <uorygl> Yes, I did.
21:18:54 <oklopol> basically you put sturmian representations of numbers on the ns edges, so that what, and use se
21:18:56 <oklopol> eraoeijgoaeirjg
21:19:17 * uorygl blinks.
21:19:30 <oklopol> basically you put sturmian representations of numbers on the ns edges, so that what comes from the north is multiplied by something, and you use ew edges for carries
21:20:13 <uorygl> What if what comes from the north is zero?
21:21:05 <oklopol> you can prevent that by not having a division from 0-1 to 0-1
21:21:10 <oklopol> or
21:21:26 <oklopol> in the current world record set, you simply mark zeroes so that you can't use division twice
21:21:28 <oklopol> in a row
21:21:57 <oklopol> anyway if the multiplier is a rational number then sturmian representations mean we only need a finite amount of tiles that multiply by some number
21:21:58 <Phantom_Hoover> Damn.
21:22:06 <uorygl> Not having a division? Hm?
21:22:16 <Phantom_Hoover> I'll need to euthanise my electric sheep.
21:23:00 <oklopol> well umm maybe i should explain this in slightly more detail, i'll pm k?
21:23:07 <uorygl> Sure.
21:27:32 -!- cal153 has quit (Ping timeout: 265 seconds).
21:30:10 -!- alex2012 has left (?).
21:45:06 <oklopol> speaking of brightness, how many seconds does it take you to solve this: let A, B and C be paperbags. there's exactly one stone in A and B taken together, same for B and C, and altogether the bags contain 2 stones. where are the stones?
21:46:45 <ais523> a and c
21:46:51 <ais523> but I only just read the question
21:46:54 <ais523> and forgot to time myself
21:47:07 <oklopol> okay but a few seconds?
21:47:33 <ais523> yes, I think so
21:47:43 <ais523> maybe about 10, half of it was trying to figure out what the question was
21:47:44 <oklopol> explain why, in pm, original proof that is
21:47:48 <ais523> from there it's simple algebra
21:48:01 <oklopol> this problem interests me, because it is actually hard for many people
21:50:09 <oerjan> there is 1 stone in A, 2 stones in B and 1 stone in C
21:50:14 * oerjan cackles madly
21:50:32 <oerjan> er wait, damn
21:51:17 <Phantom_Hoover> If I use tar cjf on a folder with a bzip2 archive in it, does it then try to compress the archive?
21:51:30 <ais523> Phantom_Hoover: yes
21:51:36 <Phantom_Hoover> Damn.
21:51:38 <cpressey> oklopol: modus tollens is apparently a harder concept to grasp than modus ponens
21:51:42 -!- zzo38 has joined.
21:51:45 <ais523> but recompressing an already-compressed file makes it only a few bytes larger
21:51:48 <ais523> or sometimes even smaller
21:53:10 <zzo38> How many references to copper silver gold do you think is in the book "Godel, Escher, Bach"?
21:53:27 <Phantom_Hoover> ais523, I'm concerned about time.
21:54:46 <ais523> alternative answer: nest bags A and C and put 3 stones in the inner of those; then put -1 stone in bag B and put it inside the inner of bags A and C as well
21:54:48 <zzo38> I can find partial references, such as some things that mention only gold, and so on
21:55:00 <ais523> zzo38: I'm guessing more than 5 and less than 10
21:55:38 <ais523> oklopol: does my answer fit your assumptions?
21:55:47 <zzo38> Does the bottom of page 139 count? Maybe they tried and failed
21:55:59 <ais523> zzo38: I don't have a copy of the book on me right now to check, I'm not at home
21:57:48 <zzo38> The bottom of page 139, the Lucas sequence, "29 + 47 = 76" same recursive rule as for the Fibonacci numbers. It is partial because 29 and 47 count but 76 is different
21:58:01 <zzo38> I don't know whether that was intentional or not
21:58:14 <oklopol> ais523: to answer really boringly, no
21:58:28 <ais523> oklopol: maybe you need to reconsider your assumptions
21:58:55 <Phantom_Hoover> OK, home folder is down to 7.3 GB.
21:59:07 <Phantom_Hoover> That's *just* enough to fit on my largest flash drive
21:59:20 <ais523> oklopol: took me a few minutes to come up with that alternate answer
21:59:22 <cpressey> oklopol: You and your preconceived notions about negative stones!
21:59:38 <zzo38> How many files do you have?
21:59:46 <ais523> cpressey: nesting the bags is a common solution to lateral-thinking puzzles, but unfortunately it seems you need negative stones to make it work too
21:59:48 <Phantom_Hoover> zzo38, I don't know.
21:59:59 <ais523> in this case
22:00:02 <Phantom_Hoover> I'll work it out.
22:00:45 <ais523> hmm, this reminds me of the famous lightbulbs lateral thinking problem; I'll state a generalisation of it
22:00:57 <zzo38> My own files on my computer are not even 2 GB, even uncompressed.
22:01:14 * CakeProphet has 32 gigs of music.
22:01:22 <zzo38> You must have a lot more files, or else you must have a lot of videos, or audio, or pornography.
22:01:23 <ais523> assume that you have access to two rooms, one of which contains a bunch of switches, and another of which contains a bunch of lightbulbs; you're the only person in either room for the duration of the experiment (and you can't get help from anyone/anything else, just you)
22:01:54 <zzo38> Maybe I used up less disk space because I don't like pornography
22:01:56 <ais523> each switch controls one lightbulb, in that changing the position of the switch changes whether the lightbulb is lit or not; assume the simplest possible circuit for doing so in case it matters
22:02:02 <Phantom_Hoover> zzo38, it was 23GB at lunchtime.
22:02:14 <Phantom_Hoover> And none of it is pornography.
22:02:17 <zzo38> ais523: I have heard of this
22:02:21 <ais523> now, the rules are: you start in the room with the switches, and you can move from the room with the switches into the room with the lightbulbs, but not the other way
22:02:24 <ais523> zzo38: I'm not surprised
22:02:33 <zzo38> Phantom_Hoover: Then you must have a lot of videos, or very large audio files
22:02:47 <Phantom_Hoover> No, none of that either
22:02:54 <ais523> and the question is, what's the maximum number of lightbulbs for which you can determine with certainty which lightbulb is connected to which switch?
22:03:08 <ais523> the puzzle's normally asked with just 3 lightbulbs, but it's possible to get a lot more than that
22:03:31 <ais523> I can think of a solution for at least 6, but there's quite possibly a way to get more
22:03:52 <cpressey> ais523: Well, if they are momentary contact switches, then zero. I'll assume not.
22:04:02 <cpressey> I don't offhand see how it could be more than 2.
22:04:07 <ais523> cpressey: no, they're toggle switches, and there's a defined on position
22:04:46 <ais523> and as usual with lateral thinking puzzles, you have to look at the various assumptions involved
22:04:53 <Phantom_Hoover> zzo38, I have no idea what takes up the space.
22:05:02 <cpressey> It seems that if there is >1 on, or >1 off, there is an ambiguity.
22:05:06 <ais523> hmm, I've maybe thought of a way to get a seventh and eighth
22:05:18 <ais523> cpressey: yes, you have to rely on the fact that RL lightbulbs are not the same as mathematical booleans
22:05:43 <cpressey> Oh. Well then tear open the wall with a crowbar and follow the wiring?
22:05:55 <fizzie> There's the usual temperature trick.
22:06:01 <cpressey> No crowbar would mean using bare hands -- that would hurt and take a long time though.
22:06:06 <ais523> fizzie: the temperature trick is the intended answer, I think
22:06:11 <cpressey> But if one is persistent...
22:06:17 <ais523> cpressey: but once you've followed one wire, you're in the lightbulb room and can't go back to follow the next one
22:06:53 <cpressey> Well, you see where all the wires exit the room, and then in the other room, see where they all enter. Then the limit is your memory.
22:06:55 <zzo38> Maybe turn on one light until it is on long enough to stop working
22:07:07 <zzo38> Would that work? I'm not sure
22:07:14 <ais523> zzo38: that was my first solution, and you can combine it with the temperature trick to get six
22:07:20 <Phantom_Hoover> Ah, got the number of times.
22:07:40 <Phantom_Hoover> s/times/files/
22:07:51 <ais523> hmm, just thought of an answer that might work for infinitely many lightbulbs; if you dismantle the switches and cross-wire the wires supplying them to each other in various patterns, then in the lightbulb room you could start disconnecting and connecting lightbulbs to see which other lightbulbs turned on and off when you did
22:08:15 <Phantom_Hoover> Including directories, there are 82,480 files on my system.
22:08:35 <ais523> Phantom_Hoover: are you counting hardlinked files as number of links or number of files?
22:08:36 <Phantom_Hoover> s/system/home directory/
22:08:37 <cpressey> ais523: Or -- in the first room, strip some insulation from each wire, and use your tongue to detect electrical current.
22:08:54 <ais523> cpressey: I don't see how that helps you correlate lightbulbs to switches, though
22:08:54 <Phantom_Hoover> ais523, everything find prints on a line.
22:09:13 <cpressey> ais523: You're right of course, but it's a wild party game.
22:10:39 <cpressey> There is apparently a hailstorm headed this way, and my coworkers are leaving to avoid being struck by chunks of ice being hurled through the sky buy gale-force winds.
22:11:00 <zzo38> Phantom_Hoover: Do you mean "find | wc -l" or something like that
22:11:01 -!- Amrykid has joined.
22:11:03 <ais523> cpressey: are you planning to do the same? or do you live in your office? or do you have some more ingenious plan?
22:11:10 <Phantom_Hoover> zzo38, yes
22:11:35 <cpressey> ais523: Well, I live really nearby, like a 2-minute walk, so I'm debating whether I should take off too.
22:11:43 <cpressey> 2 minutes of hail is still not pleasant though, I bet.
22:11:58 <ais523> is there any particular reason to be in the office as opposed to at home, or vice versa?
22:12:09 <ais523> if there isn't, you may as well walk home now because there's no reason not to
22:12:50 -!- coppro has changed nick to scshunt.
22:12:54 <cpressey> Well, I may be too late at this point.
22:13:00 <cpressey> Huge drops of rain out the window.
22:13:29 <cpressey> Storms in this part of the country tend to be short and violent, so I may wait it out here.
22:13:45 <cpressey> And if it gets late, brave the few blocks.
22:15:38 <cpressey> On that note -- maintaining production web software is like serving dinner in a moving car. From another moving car in the adjacent lane.
22:18:54 <zzo38> 0= bottles of beer
22:18:56 <zzo38> 1= on the wall
22:19:03 <zzo38> 2=Take one down and pass it around
22:19:04 <zzo38> 3=
22:19:05 <zzo38> 4=
22:19:11 <zzo38> 5=#9J3k{HHH,"}#9J4kHHH,"#0@
22:19:17 <zzo38> 6=No more bottles of beer on the wall
22:19:20 <zzo38> 7=5x1@;5x;2@;444&.#AJ4kZ{4!333&.}#H2J3k4kZ{6@;\}5x1@;;#
22:19:24 <zzo38> #[494"7x]
22:21:45 <Phantom_Hoover> What language?
22:22:19 <oklopol> ais523: idgi, you can basically just flip some switches up, and some down, and then go in the other room to see which lights are on, and the experiment is over?
22:22:29 <oklopol> clearly you can't deduce anything
22:22:44 <ais523> oklopol: you can unscrew the lights from their socket, which breaks the circuit
22:22:53 <ais523> then observe which other lights turn off, because you'd wired them together
22:23:08 <ais523> or you could leave a light on for half an hour then turn it off, it'll be warmer than the others (assuming filament lights)
22:23:58 <oklopol> okay, i'm not good with irl puzzles
22:23:59 <Phantom_Hoover> zzo38, what language is it?
22:23:59 <zzo38> Phantom_Hoover: Are you refering to the beer code? It is Q-RESOURCE, which is a program to make resource files for QBASIC programs
22:24:05 <Phantom_Hoover> Oh
22:24:12 <oklopol> i take the simplest mathematical model i can think of and use that
22:24:28 <zzo38> Q-RESOURCE codes are usually not like this, but this is still a valid code
22:24:41 <oklopol> okay fun trick
22:26:34 <oklopol> so okay we can do everything with temperature, choose for each switch a number between [0, 1], so that for each numbers r1 and r2, r1 != r2, 1-r1 != r2, then if we have each switch i on ri of the time, we can uniquely identify which bulb is which switch's, except maybe in some pathological cases
22:26:39 -!- ec has changed nick to purr.
22:27:01 <oklopol> used numbers rather weirdly but anyway
22:28:00 <oklopol> but yeah i'm not exactly comfortable with this stuff, to me it seems like if you can unscrew lightbulbs, why couldn't you see into the future, or through walls as well
22:28:27 <oklopol> well maybe not exactly, but i see what i mean
22:28:47 <oklopol> *used indices
22:29:32 <oklopol> hmm wait that doesn't work if we don't know what function of time temperature is
22:29:45 <oklopol> do we?!?!?!?!?!?!?!?!?!?!?!?!?!?
22:30:14 <zzo38> I have one question, how should I fix a movie showtime service program? The one I have is broken, and I want advice how it should be fixed. Would screen-scraping be necessary?
22:32:28 <zzo38> I also have a weather report service, but it doesn't have weather forecast. How can I fix it to have weather forecast?
22:33:28 <ais523> `addquote <oklopol> but yeah i'm not exactly comfortable with this stuff, to me it seems like if you can unscrew lightbulbs, why couldn't you see into the future, or through walls as well
22:33:31 <ais523> you are a true programmer
22:33:31 <HackEgo> 184|<oklopol> but yeah i'm not exactly comfortable with this stuff, to me it seems like if you can unscrew lightbulbs, why couldn't you see into the future, or through walls as well
22:33:33 <ais523> *esoprogrammer
22:34:16 <oklopol> so err what was your solution
22:34:58 <ais523> gah, I missed the start of the ICFP
22:35:29 <oklopol> it was a programming comp right?
22:36:21 <ais523> yes, it's annual
22:36:25 <ais523> I didn't realise this year's was coming up, though
22:36:33 <ais523> and the nature of the task is such that you're unlikely to win if you don't start immediately
22:37:01 <cpressey> http://www.wunderground.com/radar/radblast.asp?ID=LOT
22:39:02 <ais523> "The data for both cars and fuel will be encoded by a stream of trits (ternary bits) and, you guessed it, we won't tell you more about the encoding here, so you just have to make some educated guesses, based on the error messages of the stream parser on our server."
22:39:29 <cpressey> and people find this fun
22:39:43 -!- Gregor-P has joined.
22:40:20 <ais523> well, it's a competition
22:40:30 <oklopol> wow
22:40:32 <ais523> there hasn't been reverse-engineering involved for several years now, though
22:40:32 <oklopol> that's cool
22:40:33 <oklopol> :SD
22:40:39 <ais523> so I'm a bit disappointed that I missed this year's
22:40:42 <oklopol> i would absolutely love that
22:40:50 <zzo38> Which movie showtime services, weather forecast service, in internet, should I used to write the program that I was trying to write (the old one is broke)?
22:41:04 <oklopol> that language reverse-engineering thing has to be started at some point
22:41:27 <ais523> hmm, maybe oklopol and I should form a team for next year's, as long as the task is interesting
22:41:37 <oklopol> or well i should start it, make tons of challenges a few try and no one solves
22:41:37 <ais523> I skipped last year's because I didn't like the look of the problem
22:42:01 <oklopol> yes perhaps we could
22:42:03 <oklopol> what was it about?
22:42:36 <Gregor-P> Can has context?
22:42:46 <ais523> I can't remember which one it was specifically, but two of the recent ones were about optimizing trajectories with floating-point arithmetic
22:42:48 <ais523> Gregor-P: ICFP
22:42:59 <ais523> http://icfpcontest.org
22:43:01 <Gregor-P> Ahhhhhhh
22:44:06 <ais523> I've only entered one year so far, it was the one about writing an AI for a Mars lander
22:44:09 <ais523> which is being chased by martians
22:44:24 <oklopol> yeah we remember
22:44:32 <oklopol> how did you do
22:44:41 <oklopol> failed horribly?????????????????????
22:45:10 <ais523> not horribly, although I didn't reach the finals
22:45:19 <ais523> I was eliminated in something like the fifth or sixth qualification round
22:45:24 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:45:56 <oklopol> okay
22:54:37 -!- oerjan has quit (Quit: Good night).
22:56:48 <ais523> oklopol: on the subject of problems that many people have trouble with, what's 1000 + 100 + 1000 + 200 + 1000 + 300 + 1000 + 400?
22:56:59 <ais523> um, wrong question
22:57:05 <ais523> 1000 + 10 + 1000 + 20 + 1000 + 30 + 1000 + 40
22:57:41 <augur> oklopol!
22:57:50 -!- Ilari has quit (Ping timeout: 260 seconds).
22:57:55 * cpressey gets out his pocket calculator
22:57:58 <cpressey> dum de dum
22:58:03 -!- Ilari_antrcomp has quit (Ping timeout: 276 seconds).
22:58:34 <ais523> it seems that many people give the same answer for the two questions
22:58:42 <ais523> although you have to ask them in the other order or they suspect something's up
23:05:04 * ais523 reads about the Von Neumann cellular automaton
23:05:17 <ais523> it's actually pretty interesting, sort of a non-tarpit version of WireWorld or Life
23:05:44 <Phantom_Hoover> Oh, yeah.
23:06:11 <Phantom_Hoover> There's another variant wherein there's another few states to enable signal crossing.
23:06:23 <Phantom_Hoover> Incidentally, isn't the VN CA planar?
23:06:59 <cpressey> Is that the one where he describes "self-assembling machines"?
23:07:56 <ais523> cpressey: yes, I think
23:08:13 <ais523> Phantom_Hoover: I thought about that for a while, and concluded that it doesn't make sense to describe CAs as planar or non-planar
23:08:19 <ais523> the definition just doesn't really fit them
23:08:38 <Phantom_Hoover> But could you simulate it on a planar machine?
23:08:41 -!- zzo38 has quit (Remote host closed the connection).
23:10:30 <ais523> Phantom_Hoover: can you /define/ a planar machine?
23:10:45 <ais523> it is not trivial to define at all
23:10:58 <Phantom_Hoover> Then whence the wire-crossing problem?
23:11:47 <cpressey> It's relative to the model in which you are defining the machine.
23:12:03 <ais523> Phantom_Hoover: the wire-crossing problem is, IMO, badly defined
23:12:10 <cpressey> If your model is very clear about what is a graph, it's not a big problem.
23:12:12 <Phantom_Hoover> AH.
23:12:39 <ais523> if you're interested, look at http://esolangs.org/wiki/Formula; I'm curious as to whether it's TC in two dimensions
23:12:40 <Phantom_Hoover> So why do we have an article on it?
23:12:55 <cpressey> I was interested in it for a while
23:13:01 <ais523> alas, being badly defined doesn't prevent people caring about the answer
23:30:34 -!- BeholdMyGlory has joined.
23:31:37 <cpressey> If there was a model for expressing models of computation that was purely a graph, it would all be OK. But there's always something more...
23:31:57 <cpressey> Stupid turtles.
23:35:31 <ais523> cpressey: Formula was an attempt to make purely a graph
23:37:47 <ais523> "We gladly inform you that you have been selected as one of the five winners in our email lottery program in which email addresses were picked randomly by a computerized balloting powered by the internet. Your email was among those 5 chosen during this exercise."
23:37:52 <ais523> hmm, reading spam can be fun sometimes
23:38:04 <ais523> I like the sound of a "computerized balloting powered by the internet"
23:38:08 <cpressey> I do not understand the Formula description.
23:38:30 <cpressey> "If the output is an integer + ½ exactly, a bit is read from input, and it is rounded up" -- "it" refers to the output?
23:39:13 <ais523> umm, let me try to remember
23:39:15 <cpressey> The input is just to do tiebreaking for 0.5's ?
23:39:28 <ais523> yes, that's it
23:39:43 <ais523> you interpret the output of the formula as if it had been rounded based on a value from the input
23:39:45 <ais523> it's how you do I/O
23:39:59 <cpressey> I see.
23:40:04 <ais523> the description there, which I presumably wrote ages ago, uses the word "output" for two entirely different things
23:40:21 * cpressey wonders why this was never implemented - it looks pretty simple
23:40:33 <cpressey> Oh
23:40:36 <ais523> probably because nobody cared
23:40:38 <cpressey> output -> result in some context, yes
23:40:54 <cpressey> I can kind of see what it's getting at.
23:42:48 <cpressey> Also, real numbers. Icky.
23:43:15 <ais523> yes, I know
23:43:38 <ais523> although I don't think there's anything in Formula that fails if you implement it by calculating decimal expansions lazily
23:43:50 <cpressey> We started using protocol 4.3 of a vendor service recently at work; someone forgot to put quotes around it in the config file, and we got a bunch of lovely errors about "Unknown service 4.29999999999999999".
23:43:56 <ais523> hmm, except maybe the checking for exactly an integer/exactly .5
23:44:03 <ais523> cpressey: go go floating point
23:44:12 -!- cheater99 has quit (Ping timeout: 276 seconds).
23:44:47 -!- Oranjer has joined.
23:44:49 <ais523> reminds me of trying to implement a particular 32-bit PRNG in JavaScript
23:45:11 <ais523> I had to do the calculations 16 bits at a time to fit within the range of integers that can be safely represented as floating-point
23:45:23 -!- cheater99 has joined.
23:45:27 <ais523> that was the same project that I got working in IE6
23:45:47 <ais523> but it seems all the IE6 bugs I hit also exist in IE7 and IE8, also IE5.5, so the 6ness was irrelevant
23:48:53 -!- tombom has quit (Quit: Leaving).
23:53:18 -!- leBMD has joined.
23:53:21 <cpressey> Well, the storm has passed, so I'm heading home.
23:53:34 <cpressey> Take care, folks.
23:53:35 -!- cpressey has quit (Quit: Leaving.).
23:53:41 <leBMD> howdy folks
23:53:47 -!- MigoMipo has quit (Remote host closed the connection).
23:54:03 -!- Amrykid has left (?).
2010-06-19
00:01:01 <scshunt> what do you call it when a piece of music starts on a beat other than #1, and how do you get Rosegarden to do this?
00:03:48 -!- Ilari has joined.
00:04:45 <scshunt> my mind is blanking
00:09:50 -!- scshunt has quit (Quit: I am leaving. You are about to explode.).
00:15:12 -!- Ilari_antrcomp has joined.
00:15:58 -!- Oranjer has left (?).
00:18:04 -!- Ilari has quit (Read error: Operation timed out).
00:18:04 -!- Ilari_antrcomp has quit (Read error: Operation timed out).
00:21:48 -!- SevenInchBread has joined.
00:22:33 -!- Ilari_antrcomp has joined.
00:23:32 -!- CakeProphet has quit (Ping timeout: 245 seconds).
00:24:32 -!- Ilari has joined.
00:30:31 -!- relet has quit (Quit: Leaving.).
00:35:03 -!- mycroftiv has quit (Ping timeout: 260 seconds).
00:36:35 -!- mycroftiv has joined.
00:49:10 -!- oklopol has quit (Ping timeout: 240 seconds).
01:07:43 -!- FireFly has quit (Quit: swatted to death).
01:08:46 -!- Ilari_antrcomp2 has joined.
01:09:15 -!- Ilari_antrcomp has quit (Quit: leaving).
01:09:27 -!- Ilari_antrcomp2 has changed nick to Ilari_antrcomp.
01:48:22 -!- SevenInchBread has changed nick to CakeProphet.
01:48:29 -!- CakeProphet has quit (Changing host).
01:48:29 -!- CakeProphet has joined.
01:48:42 <CakeProphet> :o
01:48:56 <CakeProphet> I am a legend.
01:50:24 -!- augur has quit (Remote host closed the connection).
01:50:32 <leBMD> how did that happen?
01:51:56 <leBMD> So, I made my first good CA today.
01:55:04 <Gregor> Maybe you can replace the one south of Oregon with your good one. Or the one north of the US.
01:55:17 <Gregor> *hyuk hyuk*
01:55:29 <leBMD> lol
01:55:42 <leBMD> I meant cellular automaton. :P
01:58:49 -!- BeholdMyGlory has quit (Ping timeout: 258 seconds).
02:01:08 <Gregor> I realize that :P
02:08:57 -!- BeholdMyGlory has joined.
02:10:08 <AnMaster> CakeProphet, oh?
02:10:49 <AnMaster> leBMD, link?
02:11:13 <leBMD> http://conwaylife.com/forums/viewtopic.php?f=11&t=434
02:18:37 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
02:22:11 -!- SevenInchBread has joined.
02:22:48 -!- CakeProphet has quit (Disconnected by services).
02:22:52 -!- SevenInchBread has changed nick to CakeProphet.
02:22:59 -!- CakeProphet has quit (Changing host).
02:23:00 -!- CakeProphet has joined.
02:23:02 -!- Mathnerd314 has joined.
02:23:50 <leBMD> AnMaster, what do you think?
02:28:50 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:38:49 <AnMaster> leBMD, sorry was busy
02:39:00 <leBMD> it's ok
02:39:19 <AnMaster> leBMD, um any images?
02:39:23 <AnMaster> I don't have golly locally
02:39:44 <leBMD> er, not right now
02:39:54 <AnMaster> leBMD, will comment on it when that is up
02:40:00 <leBMD> ok
02:40:59 -!- leBMD has quit (Quit: stuff).
02:44:39 <wareya> Have there been any grammatical case based languages?
02:47:10 <AnMaster> night
02:47:17 <AnMaster> (no not an answer to the question)
02:47:21 <AnMaster> (just, good night)
02:57:57 <CakeProphet> wareya: Perl versions < 6.0 have features inspired by case in natural languages.
02:58:04 <CakeProphet> scalary and array context.
02:58:06 <CakeProphet> -y
02:58:50 <CakeProphet> nothing too revolutionary
03:03:39 -!- CakeProphet has quit (Quit: leaving).
03:04:50 <cheater99> hello sweeties
03:05:09 * cheater99 is burning through haskell, so far it's a nice language with no shittiness
03:07:05 -!- pikhq has joined.
03:17:06 <Sgeo__> FUTURAMAFUTURAMAFUTURAMFAUFMA
03:18:03 <Gregor> HOLY FEKK THAT'S RIGHT
03:47:39 -!- Oranjer has joined.
04:09:40 -!- Ilari has quit (Quit: leaving).
04:09:40 -!- Ilari_antrcomp has changed nick to Ilari.
04:17:13 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
04:49:40 <uorygl> Anyone know a web server that responds on every port?
05:02:46 -!- MizardX has quit (Ping timeout: 260 seconds).
06:10:00 -!- zzo38 has joined.
06:11:08 <zzo38> I have some crazy idea, that if you have /dev/webcam is a block device to access picture from webcam, then you can mount it as a filesystem by putting some paper with barcodes in front of the camera and then use the mount command.......
06:15:53 <pikhq> Holy SHIT
06:15:59 <pikhq> Perry Bible Fellowship updated
06:16:52 <zzo38> This crazy idea is one of the most crazy idea probably
06:18:16 <pikhq> Probably.
06:18:29 <pikhq> Certainly possible, but not very *useful*.
06:21:22 -!- wareya has quit (Ping timeout: 276 seconds).
06:21:45 <zzo38> It probably isn't very useful. But it is useful to have /dev/webcam to be a block device to access the raw picture. It is less useful to mount it as a filesystem.
06:36:10 <pikhq> Hrm. That's stupid. There's a "list of the best 10 Pixar films".
06:36:17 <pikhq> There have only *been* 10 Pixar films.
06:37:54 <zzo38> Then, the list is all of them, it should be? Until, they make more films, and then they will update the list if any of the new ones are better. (If they make bad films then they don't have to update the list)
06:38:09 <pikhq> Yeah...
06:38:23 <pikhq> I'm not sure Pixar is (currently) capable of making bad films.
06:38:44 <pikhq> Their worst one so far was merely "pretty good".
06:46:44 <Gregor> And that is?
06:47:24 <pikhq> Cars.
06:47:38 -!- oklopol has joined.
06:50:12 -!- Oranjer has left (?).
06:51:49 <Gregor> pikhq: IMDB claims 55 :P
06:52:18 -!- oklopol has quit (Ping timeout: 272 seconds).
06:53:12 <Gregor> Oh, that list includes shorts and TV episodes. Foo.
06:53:22 <Gregor> Also, specials and other irrelevant drivel.
06:53:26 <pikhq> Pixar's done quite a lot of shorts.
06:53:40 <pikhq> That list also includes movies in production.
07:00:19 -!- pikhq has quit (Remote host closed the connection).
07:14:55 -!- scshunt has joined.
07:28:33 -!- zzo38 has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:07 -!- scshunt has changed nick to coppro.
08:05:30 -!- myndzi has joined.
08:09:27 -!- myndzi\ has quit (Ping timeout: 260 seconds).
08:15:39 <Phantom_Hoover> AAARGH
08:15:55 <Phantom_Hoover> The compression of my home folder failed.
08:19:32 -!- coppro has quit (Remote host closed the connection).
08:26:18 -!- MigoMipo has joined.
08:33:06 -!- ais523 has quit (Remote host closed the connection).
08:39:23 -!- CakeProphet has joined.
08:39:27 <CakeProphet> I just got an idea
08:40:05 <CakeProphet> perhaps we could solve N=NP by using the process calculii to create constructions of a UTM that can solve nondeterministic problems at O(n)
09:24:23 -!- FireFly has joined.
09:24:24 -!- FireFly has quit (Changing host).
09:24:24 -!- FireFly has joined.
09:25:08 <Phantom_Hoover> CakeProphet, P=NP surely?
09:36:11 -!- relet has joined.
09:45:14 <Phantom_Hoover> Hmm, will the compression of my home directory work if I log out and switch user?
09:45:21 <Phantom_Hoover> So that nothing is modified?
09:50:35 -!- Phantom_Hoover has left (?).
09:55:00 -!- oerjan has joined.
10:07:31 -!- tombom has joined.
10:08:01 <oerjan> <ais523> although I don't think there's anything in Formula that fails if you implement it by calculating decimal expansions lazily
10:08:08 -!- oklopol has joined.
10:09:23 <oerjan> the parts which need to be tested for exact equality with an integer might fail if you hit upon a formula which is unexpectedly an integer (like some n*e*pi things)
10:10:02 <oerjan> (i.e. it's an unsolved problem whether e*pi is rational)
10:11:53 <oerjan> that might be hard even with something more complicated than lazy evaluation, too
10:14:55 <oerjan> <CakeProphet> wareya: Perl versions < 6.0 have features inspired by case in natural languages.
10:14:59 <oerjan> also Perligata
10:19:17 <oerjan> <CakeProphet> perhaps we could solve N=NP by using the process calculii to create constructions of a UTM that can solve nondeterministic problems at O(n)
10:20:08 <oklopol> N?
10:20:23 <oerjan> not without doing something insanely clever. an ordinary UTM needs something like time proportional to the number of processes to simulate them
10:20:49 <oerjan> oklopol: obviously a typo for P
10:20:56 <oklopol> i just learned that windows has a log viewer, and i used it to find out why it shut down during the night, god i'm cool
10:20:58 <oklopol> oh
10:21:49 <oklopol> i have no idea what process calculii is so i assumed N is a complexity class that has to do with it
10:21:57 <oerjan> and redefining the P=NP problem to use a different kind of underlying TM doesn't solve the _original_ problem.
10:22:08 <oerjan> oklopol: i assumed he meant something like pi calculus
10:23:10 <oklopol> actually my guess was N means some class to do with pi calculus
10:23:49 <oklopol> if N was a weird name for its polynomial time stuff-it-can-solve problem, then N=NP might be open mightn't it
10:24:20 <oklopol> and CakeProphet would definitely know this because he's a complexity theory guru
10:24:41 <oerjan> in fact it's a well known theorem that if you try to extend your underlying model with _oracles_ (essentially a subroutine for solving some specific problem), then you can choose the oracle either such that P=NP or such that P != NP in the "relativized" model
10:24:53 <oklopol> yeah
10:25:18 <oklopol> is it really well known
10:25:27 <oklopol> i learned it like a month ago
10:26:09 <oerjan> oklopol: i don't know what N alone means in complexity theory (probably something), but if he typoed an L instead then it _would_ have been an open problem
10:26:17 <oklopol> btw isn't P=NP with an oracle sort of trivial if you just take some ridiculously good oracle?
10:26:25 <oerjan> oklopol: it's well known among complexity theorists :D
10:26:31 <oklopol> yeah, L!=PSPACE but otherwise all open
10:26:39 <oklopol> right
10:27:01 -!- Gregor has quit (Ping timeout: 252 seconds).
10:27:17 <oerjan> oklopol: because it makes a _lot_ of the methods they use unusable for deciding P=NP
10:27:32 <oerjan> (most of the methods "relativize")
10:27:42 <oklopol> yeah okay i guess it might be one of the first things you hear about complexity theory because it has to do with the only problem people are interested in, the famous P=NP problem that asks whether polynomial time is the same as not-polynomial time, otherwise known as the quantum computation model.
10:28:06 <oklopol> yeah
10:28:11 <oklopol> i know that too!
10:28:13 * oerjan swats oklopol -----###
10:28:34 <oerjan> yeah i know you were joking, but still...
10:28:51 <oklopol> i don't know the specifics yet tho, but soon i will know more than you... wait how much more do you know?
10:28:56 <oklopol> do you know left sets
10:29:08 <oerjan> what the heck is a left set
10:29:14 <oklopol> oh wait also we have a course about complexity theory next fall
10:31:30 <oklopol> er i forgot a detail about the definition :D
10:32:06 <oerjan> hm wait is it that thing about context-free grammars?
10:33:17 <oerjan> where you construct a _regular_ language that describes how a left part of a string in the original language can be constructed
10:34:02 <oerjan> probably not though
10:34:06 <oklopol> okay umm lol i can't remember exactly under pressure, but i think for a problem in NP, its left set is (x, w) where x is an instance in the language, and w is a string such that there's a witness y with w<=y
10:34:28 <oklopol> and the idea is this problem is in NP too because you can guess the witness
10:34:40 <oklopol> so then we can do sort of interval pruning to find the maximal witness
10:35:11 <oklopol> this is used to show P=NP if(f) there are sparse sets that are NP-hard (with bounded truth-table reduction)
10:35:12 <oklopol> s
10:35:27 <oerjan> oh
10:35:47 <oklopol> the complexity theory book i'm reading starts with two trivial algorithms and then this theorem, the proof of which is something like 8 pages
10:36:05 <oerjan> ouch
10:36:12 <oklopol> complexity theory companion
10:38:28 <oerjan> i haven't actually read a whole book, i've read _some_ of papadimitriou
10:40:16 <oerjan> so i know like why QBF is complete for PSPACE, that was sort of the most complicated thing i learned there i think
10:40:32 <oklopol> P=NP if co-NP has a sparse hard set is pretty easy btw, lets say you can reduce to that sparse set from sat with f, then basically you just enumerate partially solved sat instances, and the amount of them you need to keep track of is polynomial, because if you have two partially solved instances a and b and f(a) = f(b) then one is true if the other is, and if there are more than p(n) f(x) values where p is the growth rate polynomial
10:40:36 <oklopol> i'm wordy
10:40:43 <oklopol> i'll repeat half for fun
10:40:44 <oklopol> because if you have two partially solved instances a and b and f(a) = f(b) then one is true if the other is, and if there are more than p(n) f(x) values where p is the growth rate polynomial of the sparse set, then one of the instances must be satisfiable
10:42:32 <oerjan> my brain is too rusty for that today
10:42:51 <oklopol> because the set contains at most p(n) strings of length n, where n is your sat instance length, so if you map to p(n)+1 different strings of length n, one of them can't be in the set
10:43:22 <oklopol> okay, well i realized there are a few details you need to understand before you can appreciate the easiness of the underlying idea
10:43:27 <oklopol> :P
10:43:36 <oerjan> ok
10:43:52 <oklopol> for the left set proof i still have no idea what the underlying idea is, and i've read it like 3 times
10:44:33 <oklopol> o
10:44:33 <oklopol> o
10:44:33 <oklopol> o
10:44:33 <oklopol> o
10:44:42 <oerjan> lately, the last complexity proof i've read is a proof that you can do integer division and arithmetic stuff in logspace. hm i probably mentioned it.
10:44:51 <oklopol> yep
10:45:00 <oklopol> division is surprisingly hard
10:45:02 <oklopol> i hear
10:45:05 -!- relet has quit (Quit: Leaving.).
10:45:10 <oerjan> (it was actually somewhat stronger than logspace, but that's the result i was interested in)
10:46:48 <oklopol> okay so if there's a tally set, subset of 1* that is, that's np-hard, then also p=np, we reduce sat to it, then again you only need a polynomial amt of instances, because if one of them has f-image that's not of 1* form, then it's unsatisfiable, and if two have the same image, again you can remove one of them because one is satisfiable if the other one is
10:46:50 <oklopol> is that easier?
10:47:04 <oerjan> i _tried_ starting to read the result that SL = L but that had a lot of unknown graph theory at the bottom so just too much work
10:47:14 <oklopol> SL=
10:47:15 <oklopol> ?
10:47:20 <oklopol> superlog
10:47:24 <oerjan> symmetric
10:47:38 <oklopol> okay that tells me everything
10:47:59 <oklopol> it actually tells me nothing
10:48:06 <oerjan> essentially you have a nondeterministic turing machine where if you take a step one way you can always take it in reverse
10:48:07 <oklopol> i'm just screwing you
10:48:16 <oklopol> oh
10:48:35 <oklopol> is L with a nondet tm or det?
10:48:38 <oklopol> or does it even matter
10:48:51 <oerjan> there might be technical reasons why that is too simple explanation but that's the gist
10:49:02 <oerjan> L is det, NL is nondet. N = NL is still open
10:49:11 <oklopol> :D
10:49:45 <oklopol> okay
10:49:58 <oerjan> oklopol: the other simpler way to say it is that SL is the set of problems for which "undirected graph reachability" is complete (under log-reductions)
10:50:09 <oerjan> for NL drop the undirected
10:50:41 <oklopol> 8\
10:51:06 <oklopol> so it's open whether dijkstra's algorithm can solve all problems in NP?
10:51:10 <oerjan> so restricting to undirected graph makes it simpler
10:51:17 <oerjan> oklopol: um what is that?
10:51:35 <oklopol> isn't it graph reachability
10:52:00 <oklopol> i thought it's one of the three algorithms people know by name
10:52:40 <oerjan> graph reachability is complete for NL. that is an important theorem as it also can be used to deduce other space things
10:52:40 <oklopol> my point was just to show how badly i must've misunderstood the sense in which reachability is complete
10:53:08 <oklopol> do you know why L <= P, is that obvious?
10:53:12 <oerjan> oklopol: NL, not NP
10:53:19 <oerjan> yes that's obvious
10:53:41 <oerjan> if you have only logarithmic space then if you run for more than P time you must cycle
10:53:46 <oklopol> oh lol true
10:54:12 <oklopol> i mean intuitively, i'm not sure i could fill in the details
10:54:40 <oerjan> SPACE(f(n)) <= TIME(exp(f(n))
10:55:04 <oklopol> oh okay
10:55:51 <oklopol> that is sort of obvious
10:56:05 <oerjan> dijkstra's algorithm is that just marking every vertex you can reach from those you already have, until you've either got to the one you want or have none left to try?
10:56:27 <oerjan> (with some book keeping to avoid duplicating work)
10:57:01 <oerjan> because there's another important algorithm for graph reachability which uses more time but less space
10:57:07 <oklopol> yeah but you also find the shortest path so you need to be greedy in that aspect
10:57:28 <oerjan> specifically it does reachability in O(log(n)^2) space
10:57:36 <oklopol> go where you've gone least distance sofar
10:58:07 <oerjan> and that with the completeness result gives the important theorem NSPACE(f(n)) <= SPACE(f(n)^2) as a corollary
10:58:23 <oklopol> so n would be number of edges or what?
10:58:30 <oklopol> vertices + edges maybe
10:58:31 <oklopol> lol
10:58:40 <oklopol> and then log(n)^2 means....
10:58:46 <oerjan> well it doesn't matter when you log
10:59:07 <oklopol> log(n) means that you can essentially store an index to a vertex
10:59:26 <oklopol> linear amount of indices and linear additional shit
10:59:45 <oklopol> yeah okay i think i have a grasp of what logarithms mean
10:59:57 <oerjan> log(n)^2 means you can essentially store a stack of indexes while recursing in a divide and conquer manner. at least that's what the algorithm does :D
10:59:59 <oklopol> i have a hard time getting any sort of concrete view of what logspace actually means
11:00:10 <oklopol> i mean for the implementer
11:00:15 <oklopol> of an algo
11:00:43 <oerjan> oklopol: as wikipedia said, a finite set of pointers + a logarithmic set of bit values
11:01:29 <oklopol> okay i don't see how you can do the d&q
11:02:28 <oerjan> oklopol: to check if there is a path from v1 to v2 of length <= n, iterate through all vertices v checking if there's a path from v1 to v and from v to v2 of length <= n/2
11:02:28 <oklopol> how can you know when you're in a loop with finite pointers
11:02:35 <oklopol> hmm
11:02:54 <oklopol> okay that's the same idea they use for PSPACE searches
11:02:57 <oerjan> of course with some base case
11:03:11 <oerjan> oklopol: yep, that's essentially the same thing
11:03:44 <oerjan> the QBF proof used a lot of that reachability stuff
11:03:58 <oerjan> or well the proof i have internalized, anyhow
11:04:04 <oklopol> oh lol iterate through all vertices, ofc you can do THAT, for some reason i thought you meant iterate through all vertices ON THE PATH BETWEEN V1 AND V2, which i found hard to do for some reason....... :D
11:04:18 <oerjan> yeah
11:04:53 <oerjan> oh and of course there is the even weirder proof that reachability _is_ in NL
11:05:14 <oklopol> quantum brainfuck is... quantified... okay what
11:05:18 <oklopol> quantum bit fields
11:05:25 <oklopol> i should probably know this
11:05:26 <oklopol> :D
11:05:35 <oklopol> boolean formulas?
11:05:47 <oerjan> not all the "quantum" languages on the wiki may be properly quantum
11:06:01 <oklopol> oh there was a quantum brianfuck?
11:06:04 <oklopol> poor brian
11:06:37 * oerjan checks
11:07:51 <oerjan> hm not sure if that's a proper one
11:08:04 <oerjan> it has qubits at least
11:08:15 <oklopol> so okay qbf is qsat
11:08:35 <oklopol> uorygl usually knows what he's talking about, or at least knows if he doesn't
11:08:36 <oklopol> uorygl
11:08:38 <oklopol> is it proper
11:09:15 <oklopol> oh and so
11:09:23 <oklopol> then i've read the proof that it's complete too
11:09:29 <oklopol> i think
11:10:11 <oklopol> no wait actually you need to implement a tm in the circuitry right?
11:10:40 <oklopol> i think i've just read a rough description of how doing it is similar to proving sat is complete for np
11:10:53 <oklopol> or maybe i haven't really read anything
11:11:25 <oerjan> oh wait
11:11:44 <oerjan> you're talking about the qbf i mentioned, not some quantum stuff?
11:11:49 <oklopol> the sat completeness proof i read from the 50's or something implemented some sort of BASIC derivative with guessing
11:11:51 <oklopol> yes :D
11:12:13 <oklopol> sorry quantum brainfuck was just the acronym that got expanded by accident
11:12:17 <oerjan> i got confused there and thought i was heavily out-maneuvered :D
11:12:23 <oklopol> hehe
11:12:48 <oklopol> i don't know anything about quantum computation, please teach me everything about it
11:12:58 <oerjan> um i know not very much more
11:13:08 <oklopol> we have a few researchers doing exactly that here, but they don't teach
11:13:47 <oklopol> or well they do teach engineers how to copypaste laplace transforms from their cheatsheets
11:14:04 <oklopol> or actually they have this massive book of them
11:14:10 <oerjan> for qbf you can essentially encode the complete state graph of a turing machine using boolean logical predicates
11:14:47 <oklopol> what exactly do you mean by complete state graph
11:14:51 <oerjan> and then you formulate that O(log(n)^2) search in logic, and get a qbf formula
11:15:27 <oerjan> a graph where a vertex is a possible state of the whole TM, including the tape (polynomially bounded though)
11:15:46 <oerjan> and an edge if there is a transition step
11:16:44 <oerjan> note that the size of this graph is exponential, but when you do the search you take the log again so it all works out
11:17:21 <oklopol> yeah i get that, but what i don't get, i think, is how exactly that shows completeness
11:18:24 <oklopol> oh hmm
11:18:27 <oerjan> oh well you search for a path between the initial state of the TM and any accepting state
11:18:37 <oklopol> now that i recalled the definition of PSPACE, i think i'm starting to see it...
11:18:45 <oklopol> who knew that might be important
11:19:30 <oerjan> the qbf formula you end up with is of polynomial size, naturally
11:19:48 <oklopol> where was this proof?
11:19:54 <oklopol> papa?
11:20:05 <oerjan> i assume that's where i read it
11:20:32 <oerjan> and i'm not sure if i really read it that way or just distilled out the essence of what it said
11:20:40 <oklopol> there's probably a mention of it in CTC, but at least the proof of completeness of sat they just have as a note in the back of the book
11:21:02 <oklopol> so probably not very detailed
11:21:12 <oklopol> :D
11:21:23 <oerjan> i like the proof because it combines so many of the other methods used for L,NL,P,NP stuff
11:21:53 <oerjan> like using the evolution state graph of a TM, encoding that using boolean logic...
11:22:12 <oklopol> where else are evolution graphs used
11:22:30 <oerjan> NL completeness
11:22:40 <oklopol> makes sense
11:22:49 <oerjan> and in a sense for proving SAT is NP-complete too
11:23:11 <oerjan> except you split up each vertex into many boolean variables again
11:24:35 <oklopol> err umm.
11:24:48 <oerjan> but that's not a very convincing example
11:25:07 <oerjan> but the SAT proof includes the time evolution of the TM, anyhow
11:25:54 <oklopol> mm yes
11:26:38 <oerjan> while the NL and PSPACE cases actually use graph algorithms on the resulting time steps
11:27:59 <oklopol> if you have a prob P in np solved by tm T you, given a string s, to check whether it's in P, make a sat instance that is true iff T accepts s, and this is easy because you have a polynomial amt of steps you need at most so you just need to encode, ah, a time evolution of T
11:28:27 <oerjan> yep
11:29:52 <oklopol> basically if you need p(n) steps at most, you make a p(n) x p(n) square, and assert for each line that you get it from the previous line by using the rewrite rules of the tm (each line has an ID of the tm)
11:30:03 <oklopol> ofc you know all this, i'm just saying it for me
11:30:35 <oerjan> yeah
11:31:55 <oklopol> and then the sat is true for a configuration if there's a tape head in accepting state in one of the squares, so it's satisfiable iff there's a run of the tm, starting from the config induced by s, that accepts
11:32:11 <oklopol> cool, i could probably fill in the exact proof
11:32:16 <oklopol> i suppose it's sort of trivial
11:32:54 <oklopol> (configuration being a consistent placement of values in the rest of the squares)
11:34:01 <oerjan> it's a simple but powerful idea
11:34:09 <oklopol> i need to do some work now i think, i feel all dirty if i don't work during my weekends
11:34:12 <oklopol> yes
11:34:15 <oklopol> and sexy
11:35:04 <oklopol> do you know "shifts dynamical systems"?
11:35:09 <oklopol> *shift
11:35:17 <oerjan> certainly
11:35:28 <oklopol> do you know why they have such a weird name
11:36:00 <oerjan> they are dynamical systems where the transformation is a shift of a sequence
11:36:17 <oklopol> you know all finite groups can be embedded in the automorphism group of the full 1-dimensional shift?
11:36:40 <oklopol> sure, but why not say dynamical shift systems or something, i don't see how shift dynamical system is even english
11:36:41 <oerjan> i cannot say i recall that result :D
11:37:18 <oerjan> "dynamical system" is a unit there
11:38:08 <oerjan> oh well
11:39:11 <oklopol> you can embed a finite permutation group: given permutation p you make an automorphism by having u*string*v always be transformed to u*p(string)*v, where u and v are chosen so that these can't overlap
11:39:53 <oerjan> well i know all groups are isomorphic to permutation groups
11:41:47 -!- augur has joined.
11:42:00 <oklopol> now clearly the map from a permutation group to those is injective (just give them something to permute and they'll permute differently), and t(p1)t(p2) = t(p1p2) because clearly doing two transformations after each other does u*s*v -> u*p2(s)*v -> u*p1(p2(s))*v
11:42:12 <oklopol> the transformations always leave everything outside u*s*v patterns unchanged
11:42:34 -!- augur has quit (Remote host closed the connection).
11:42:38 <oerjan> ok, the only thing i don't see is why you can choose u and v like that
11:42:49 -!- augur has joined.
11:43:00 <oklopol> 1^(2n) 0 s 0 (10)^n
11:43:08 <oklopol> where |s| = n
11:43:20 <oklopol> IIRC, maybe you need to require something of s too
11:43:25 <oklopol> ...no
11:43:52 <oklopol> 1^(2n) can't be anywhere but in the beginning
11:43:56 <oklopol> so no overlap
11:44:24 <oerjan> right you divide the whole sequence at 1^(2n) 0 points i guess
11:44:24 <oklopol> and u = 1^(2n) 0, v = 0 (10)^n of course
11:44:41 <oklopol> what do you mean?
11:45:08 <oklopol> if a transformation given by permutation p sees such a pattern, it'll rewrite what comes after
11:45:29 <oklopol> by permuting it
11:45:50 <oklopol> oh and, it should be easy to see that this is a block map, and that it's invertible
11:46:26 <oerjan> i'm not sure you actually need (10)^n at the end...
11:46:58 <oklopol> otherwise what if there's ... 1^(2n) 0 1^(2n) 0 ... inside a string
11:47:27 <oerjan> the strings have length n you said
11:47:29 <oklopol> how do you rewrite (1^(2n) 0)^ww (w being omega)
11:47:32 <oklopol> err
11:47:49 <oklopol> the transformations we're compiling permutations to are maps from the full shift to itself
11:48:27 <oerjan> i know
11:48:31 <oklopol> so the transformations need to behave like the group on ANY bi-infinite string in the full shift
11:49:22 <oklopol> ... 1^(2n) 0 1^(2n) 0 1^(2n) 0 ... has 1^(2n) 0 1^n inside it in two ways, what does a transformation t permutation p compiles to do on such input?
11:49:56 <oerjan> oklopol: i said to drop (10)^n, not 0 (10)^n
11:50:03 <oerjan> the 0 alone is enough, i think
11:50:05 <oklopol> okay sorry
11:50:22 <oklopol> i forgot it was there so i thought you were somehow fundamentally lost
11:50:30 <oklopol> yeah should be enough
11:50:47 <oklopol> i actually used that when proving to myself that the pattern can't overlap itself
11:50:53 <oerjan> and couldn't you also reduce 2n to n+1
11:51:02 <oklopol> yes clearlyy
11:51:04 <oklopol> *clearly
11:51:21 <oerjan> ok then
11:51:48 <oklopol> but i haven't really thought about that, because i think it's intuitively clear u and v can be chosen SOMEHOW, perhaps because it's rather common to do that in combinatorics on words
11:52:23 <oklopol> anyway the paper this is from is not the best thing ever written
11:52:35 <oerjan> scandalous!
11:53:03 -!- sebbu2 has joined.
11:53:12 <oklopol> it's the same one that proved stuff like "ca rules that look only to the right can only rotate a sequence to the left" with a rather complicated formal proof
11:53:41 -!- sebbu has quit (Ping timeout: 240 seconds).
11:53:42 -!- sebbu2 has changed nick to sebbu.
11:54:38 <oerjan> ...right
11:54:48 <oklopol> it's an old classic, a collection of stuff proved sofar when the field was young, by hedlund, sort of starting the thing
11:54:55 <oerjan> that _does_ sound obvious (that you cannot rotate right)
11:56:10 <oklopol> even if it needs proof, the proof could be as follows: ...1:000... and ...0:000... are rewritten in the same way
11:56:16 <oklopol> err the 000... part is
11:56:34 <oklopol> so you can't get 1 to pop up in just one
11:57:07 <oerjan> mhm
11:57:11 <oklopol> well i dunno maybe the details aren't completely trivial
11:57:20 <oklopol> shut up
11:57:47 <oerjan> wait what, mhm is my way of saying i have nothing to say, without looking absent
11:57:53 <oklopol> :P
11:58:07 -!- Gregor-P has quit (Ping timeout: 260 seconds).
11:58:38 <oklopol> i know that on an intellectual level, but i... wait actually i just recalled i don't admit i have anything else
11:58:46 -!- sebbu2 has joined.
11:58:55 <oklopol> so i have no idea what just happened
11:59:01 <oklopol> aaaaaaaaanyway about that stuff i have to do
11:59:03 <oklopol> i should do it
11:59:07 <oklopol> soon i will
11:59:22 <oklopol> maybe one more proof first
11:59:38 <oklopol> or maybe not
11:59:43 <oklopol> human communication should be more like this
11:59:52 <oklopol> "hey dude listen to this result i just read"
12:00:16 <oerjan> you don't say
12:00:31 -!- sebbu has quit (Ping timeout: 252 seconds).
12:00:31 -!- sebbu2 has changed nick to sebbu.
12:00:55 <oklopol> seriously! --->
12:00:58 <oerjan> cu
12:01:26 -!- oerjan has quit (Quit: Me four, er, two, wait what).
12:04:00 -!- sebbu2 has joined.
12:05:49 -!- sebbu has quit (Ping timeout: 264 seconds).
12:05:49 -!- sebbu2 has changed nick to sebbu.
12:28:33 -!- tombom has quit (Quit: Leaving).
12:40:37 -!- waga has joined.
12:40:39 <waga> hi
12:43:00 <waga> bye
12:43:02 -!- waga has quit (Client Quit).
12:52:16 -!- BeholdMyGlory has joined.
13:26:10 -!- Phantom_Hoover has joined.
13:48:48 -!- alise has joined.
13:55:01 -!- MizardX has joined.
14:03:28 -!- Gracenotes has quit (Ping timeout: 240 seconds).
14:05:50 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
14:08:18 -!- MigoMipo has quit (Remote host closed the connection).
14:12:52 -!- MizardX has quit (Read error: Connection reset by peer).
14:16:41 -!- MizardX has joined.
14:19:32 <alise> I just realised that if you watch "Caretaker", then "Endgame", you miss nothing except that Seven of Nine suddenly appears.
14:19:37 <alise> Such is the power of the HMS Reset Button.
14:26:45 -!- Gracenotes has joined.
14:40:45 -!- zzo38 has joined.
14:41:22 <zzo38> Now I added a way to add IRC commands by script
14:42:31 <zzo38> http://sprunge.us/HKGi
14:44:10 <zzo38> I tried to make it as simple as reasonable possible so as to not overload the server
14:48:41 <alise> Wow, someone actually bothered to clean up the video on the DVD release of The Next Generation and then encoded it all with x264 on super-high settings, yielding a 550 MiB-per-episode average.
14:48:59 <alise> The only issue is that it's over 10 gibibytes per season.
14:50:32 <pineapple> that fits on 3 discs per season, doesn't it?
14:50:51 <alise> Define disc...
14:51:17 <alise> pineapple: No player that takes discs could play H.264, I don't think, and it'd be slow anyway. This 100 gibibyte rip is obviously designed for hard disk storage.
14:51:26 <pineapple> 4.3ish gb dvd, single layer single sided
14:51:38 <alise> Well, play H.264 in Matroska, anyway.
14:52:02 <pineapple> double sided is annoying, double layer doesn't work on some hardware
14:52:12 <alise> You could fit the whole thing on two dual-layer Blu-Ray discs, or three or four one-sided discs.
14:52:15 <pineapple> and... well, yeah, but for distribution?
14:52:24 <alise> pineapple: That would be Illegal. :P
14:52:29 <pineapple> true
14:52:43 <alise> pineapple: Although admittedly faster than downloading it.
14:53:03 <alise> 31 KiB/s download right now, but tons of peers; why?! It will take 4 days, apparently. I think I'll cancel it. And that's just the first season.
14:53:03 <pineapple> which would also be Illegal :-P
14:53:12 <alise> Yes, but less detectably so.
14:53:17 <pineapple> true
14:53:34 <pineapple> 14:19:08 <alise> I just realised that if you watch "Caretaker", then "Endgame", you miss nothing except that Seven of Nine suddenly appears.
14:53:46 <alise> also, that Janeway gave up coffee
14:53:49 <pineapple> not being a trekkie... explain?
14:54:06 <pineapple> i know it's voyager, and who the characters are
14:54:15 <pineapple> but not the relevance of skipping, nor what's inbetween
14:54:16 <alise> Caretaker and Endgame are the first and last episodes of Star Trek: Voyager, whose titular ship is also known as the "HMS Reset Button".
14:54:33 <pineapple> 1.1 and 7.22 ?
14:54:43 <alise> What's in-between is a lot of attempts to get home that inevitably fail because of the whole premise of the series, and also a whole lot of Captain Janeway being a bipolar sociopath.
14:54:58 <pineapple> the former i'd noted... the latter?
14:55:12 <alise> (Switching between righteously and suicidally upholding Universal Principles, and sometimes just breaking every rule to an ultimately futile end.)
14:55:13 <pineapple> "HMS Reset Button"?
14:55:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
14:55:23 <alise> (But always making the most insane decision possible.)
14:55:36 <alise> pineapple: The attempts to get home always fail, and the characters are never developed.
14:55:43 <alise> The status quo is resumed at the end of every episode.
14:55:59 <alise> One could very easily watch just the first and last episode and not be confused at all.
14:56:00 <pineapple> sounds like the writers were applying discworld logic
14:57:27 <alise> Well, they pretty much set themselves up for this with the premise. By definition, them getting home is the end of the series.
14:57:34 <alise> By definition, their main, overriding goal is to get home.
14:57:44 <alise> Therefore, every episode consists of them getting some hope that might let them get home, then being let down.
14:58:21 <pineapple> did the characters not develop, though?
14:58:37 <pineapple> i mean, there was the relationship
14:58:46 <pineapple> and the doctor
14:59:03 <alise> Okay, the Doctor developed slightly; a lot at the start, then once or twice later on.
14:59:10 <alise> But the Doctor is not featured much in the final episode at all.
14:59:17 <pineapple> aaah
14:59:20 <alise> Okay, so him getting married and finally choosing a name might be a bit confusing, but you can extrapolate.
14:59:26 <pineapple> "what's that thing on his arm?"
14:59:42 <alise> And watching the first, say, four episodes would get rid of the name and marrying confusion as he quickly becomes more human.
14:59:48 <pineapple> (portable hologram projector)
14:59:49 <alise> pineapple: I never said it'd be /completely/ understandable! :P
14:59:53 <pineapple> heh
15:00:51 <alise> pineapple: does the relationship even come up in the finale?
15:01:02 <pineapple> not sure
15:01:08 <alise> I think maybe once it does
15:08:31 <zzo38> How do you calculate if two webs are the same spider or not? Like when Archimedes has to figure out whether or not a gold crown contains silver, it is in this one also disallowed to ruin anything.
15:10:14 <AnMaster> what?
15:10:31 * AnMaster tries to figure out if zzo38 is serious or not
15:10:37 <AnMaster> hm I guess you are
15:10:56 <AnMaster> zzo38, so I guess I would look at the pattern and see if they seem to be the same species?
15:11:28 <AnMaster> and well if density is relevant you could actually it in water without any issue since spider web does not dissolve in water
15:12:31 <zzo38> OK you can try that
15:13:37 <AnMaster> zzo38, but spider web is so light I doubt the displacement would be measurable
15:13:51 <AnMaster> zzo38, due to surface tension and such
15:14:09 <zzo38> Yes, it is what I thought
15:14:15 <AnMaster> spider web would probably even float on the surface tension
15:14:37 <zzo38> The question as posed does not require the use of water.
15:14:49 <AnMaster> zzo38, looking at the pattern would be a way more useful for finding out which type of spider
15:15:30 <zzo38> Yes, but can you tell by visual inspection? If you have measuring devices can you tell? (I do mean you personally)
15:16:50 -!- Phantom_Hoover has joined.
15:16:56 -!- Phantom_Hoover has quit (Client Quit).
15:17:10 <AnMaster> zzo38, no, I'm no expert, but experts could tell
15:17:38 <augur> http://twitter.com/neiltyson/statuses/16547985471
15:17:48 <AnMaster> zzo38, so I would ask an expert
15:18:53 -!- metcalf has joined.
15:18:59 <metcalf> hi
15:19:54 <metcalf> using a zx spectrum to connect to irc!
15:20:30 -!- metcalf has changed nick to impomatic.
15:23:13 <AnMaster> impomatic, nice!
15:23:36 <AnMaster> impomatic, didn't those have horrible keyboards?
15:25:21 <zzo38> Did you ever noticed that the Lucas sequence contains the atomic numbers for Copper and Silver consecutively? The next number is three less than the atomic number for Gold. (I don't know if Hofstadter had any intention from this)
15:26:07 -!- impomatic has left (?).
15:27:21 <zzo38> I didn't know ZX Spectrum has IRC?
15:29:09 -!- Sgeo_ has joined.
15:31:52 -!- Sgeo__ has quit (Ping timeout: 265 seconds).
15:36:10 <alise> <zzo38> Did you ever noticed that the Lucas sequence contains the atomic numbers for Copper and Silver consecutively? The next number is three less than the atomic number for Gold. (I don't know if Hofstadter had any intention from this)
15:36:15 <alise> I'm pretty sure Hofstadter was not inspired by that :P
15:37:32 <zzo38> Yes, I didn't think he was. But after I noticed that, someone else told me he was. But I didn't believe that
15:47:40 -!- Gracenotes has quit (Ping timeout: 252 seconds).
15:48:01 -!- wareya has joined.
15:50:00 -!- CakeProphet has quit (Changing host).
15:50:00 -!- CakeProphet has joined.
15:50:46 -!- zzo38 has quit (Remote host closed the connection).
15:51:31 <oklopol> what, a number series contains elements of the periodic table? shocking!
15:53:49 <oklopol> i wonder if there are primes that are the atomic numbers of some element
15:59:28 -!- zzo38 has joined.
16:00:12 <zzo38> Simplicity is the key!
16:04:15 <zzo38> Good day, gentlemen!
16:13:14 -!- BeholdMyGlory has joined.
16:16:24 <alise> zzo38: indeed so.
16:21:44 <oklopol> windows 7's minesweeper just threw a stack overflow
16:22:23 <oklopol> are they still using c or something :DS
16:23:10 <alise> yes lol :DDDD
16:24:32 <oklopol> :DDDDDD
16:24:38 <oklopol> what are they like retarded huh
16:24:45 <oklopol> don't they know i think it sucks
16:30:26 <augur> la
16:30:26 <augur> lalala
16:36:10 <alise> lalalalala
16:39:39 -!- augur has quit (Remote host closed the connection).
16:39:52 -!- augur has joined.
16:40:04 -!- Gracenotes has joined.
16:44:44 -!- MizardX has quit (Read error: Connection reset by peer).
16:45:01 -!- MizardX has joined.
16:55:38 <alise> So.
17:02:11 -!- Gracenotes has quit (Quit: Leaving).
17:06:01 <zzo38> Perhaps I should add some FAQ into my IRC. I already have the program and template and stuff for doing so (just type HELP FAQ to view the FAQ), but there is no entry yet.
17:08:41 <zzo38> I can add questions about the administration of this server, but I can also add question about the software being used, too. (If anyone has a question)
17:09:18 <zzo38> Do you have any important questions about these things?
17:11:05 <AnMaster> <zzo38> I didn't know ZX Spectrum has IRC? <-- well, I assume someone wrote something for it
17:11:24 <AnMaster> however, I do wonder how he connects to the network?
17:11:32 <AnMaster> s/?//
17:12:18 <AnMaster> presumably using some "modern" computer as a kind of "proxy" for the ethernet, connecting to that one using serial cable or whatever happens to be suitable
17:13:05 <zzo38> Maybe. VERSION does say is client on ZX Spectrum computer, I tried
17:13:13 <CakeProphet> hmmm... someone should build one of those wooden computers
17:13:22 <CakeProphet> and then program an esoteric operating system for it. :)
17:13:44 <zzo38> What wooden computer?
17:13:44 <AnMaster> zzo38, well, presumably the client was written recently, since unless I got the dates completely wrong IRC is way younger than ZX Spectrum
17:14:17 <AnMaster> CakeProphet, do you mean something else than "boring wooden case mod" here?
17:14:25 <CakeProphet> yes.
17:14:40 <CakeProphet> well... I've seen a wooden adder on youtube
17:14:49 <CakeProphet> you couldn't really program an OS for an adder though. :P
17:14:55 <AnMaster> CakeProphet, wooden cogwheels and such?
17:15:03 <CakeProphet> yes
17:15:05 <AnMaster> hm
17:15:20 <AnMaster> CakeProphet, I seen a differential engine thingy in lego, let me find the link
17:15:27 <CakeProphet> it added numbers represented in binary
17:15:43 <AnMaster> ah it was a difference engine, not differential engine: http://acarol.woz.org/
17:16:02 <CakeProphet> ah, like "the" difference engine. polynomial subtraction
17:16:08 <AnMaster> yea
17:16:10 <AnMaster> yeah*
17:16:27 <AnMaster> CakeProphet, doing it in wood is not much different than using metal or plastic really. It is still the same basic idea.
17:16:38 <CakeProphet> well yes
17:16:55 <CakeProphet> the esotericness is all that matters for an esoteric computer with an esoteric OS. :)
17:17:33 <AnMaster> which boils down to cogwheels. And at least in the case of lego it also implies there will be at least one point where you are forced to cry out "Argh I have one too few of that!"
17:18:54 <alise> Hmm.
17:19:03 <alise> You know how in Logo every operation is of fixed arity, and so there are no parentheses?
17:19:08 <AnMaster> annoying that there is no ldraw cad file for that difference engine in lego.
17:19:20 <alise> You can actually do something quite like nice string concatenation in it, given flexible names.
17:19:30 <alise> Let :: = two-argument string concatenation, ; = the empty string.
17:19:30 <alise> Then
17:19:32 <AnMaster> (because that would mean I just just match it up against my parts inventory list!)
17:19:37 <alise> :: "Hello, " :: name :: "!" ;
17:19:48 <alise> This extends to any binary operation with an identity element.
17:19:58 <alise> + 1 + 2 + 3 +;
17:20:14 <AnMaster> alise, hm fixed arity in the sense of "lacks varargs"? Or something more restrictive than that?
17:20:27 <alise> AnMaster: Every procedure has arity N for every call.
17:20:31 <alise> No variable arguments, no optional arguments.
17:20:38 <AnMaster> alise, right, does it have lists?
17:20:51 <alise> Thus, you need no parentheses; upon encountering a word W, look up its arity A; then read A more values (possibly doing calls to other functions and thus reading additional values).
17:20:55 <alise> AnMaster: It's a dialect of Lisp.
17:20:55 <alise> So, yes.
17:21:31 <alise> So, anyway, the only thing here is that "a OP b OP c" is modelled in fixed-arity prefix notation as "OP a OP b OP c ID", where OP is the two-argument implementaton, and ID is the identity element.
17:21:55 <alise> Giving OP a distinctive binary name like "+", and ID some sort of terminating marker on OP's name, produces expressions such as
17:22:00 <alise> + 1 + 2 + 3 +;
17:22:20 <alise> + 1 + length :: "Hello, " :: name :: "!" ::; + 3 +;
17:22:27 <alise> is
17:22:33 <AnMaster> alise, then lacking varargs isn't much of an issue as long as the syntax to declare a list isn't too cumbersome. Something like printf could just be (schemeish syntax, don't know logo): (printf format-string list-with-arguments)
17:22:36 <alise> 1 + length("Hello, " :: name :: "!") + 3
17:22:52 <alise> AnMaster: Have you never used Logo, really?
17:23:00 <alise> Where was your geeky childhood?!
17:23:00 <AnMaster> alise, nop, as I said I don't know the language
17:23:30 <alise> Anyway, a Logo procedure call is obviously just "f x y z".
17:23:46 <alise> repeat 4 [forward 100 left 90] ; produces a square
17:23:53 <alise> This is equivalent to the Lisp code:
17:23:57 <AnMaster> okay, but you see what I'm suggesting anyway?
17:24:00 <alise> (repeat 4 '(forward 100 left 90))
17:24:08 <alise> The list is evaluated, where it is interpreted as code equivalent to:
17:24:13 <alise> (forward 100) (left 90)
17:24:13 <AnMaster> erlang does it's io:format like that, since erlang doesn't have varargs either
17:24:16 <alise> AnMaster: And yes.
17:24:30 <alise> AnMaster: But if the list is quoted then it requires the use of EVAL and such.
17:24:41 <alise> And I'm talking about a purist prefix fixed-arity system without any convenient list construction mechanisms.
17:25:12 <AnMaster> err, eval? I don't quite follow why
17:25:19 <alise> AnMaster: [...] is list quoting
17:25:23 <alise> you can also say
17:25:26 <alise> print [Hello, world!]
17:25:32 <alise> maybe it's string quoting, not list quoting
17:25:32 <alise> oh
17:25:34 <alise> you mean for printf
17:25:52 <alise> AnMaster: because if [+ 2 2, concat "Hello, " "world!"] is actually equal to
17:25:57 <alise> '((+ 2 2) (concat "Hello, " "world!"))
17:26:01 <alise> you'll end up printing a bunch of lists
17:26:03 <AnMaster> well yes that was just an example of why varargs isn't needed very often as long as you have good list support
17:26:08 <alise> so you need to (MAP EVAL ...) it
17:26:35 <AnMaster> alise, wait, is the list function itself is fixed arity too?
17:26:50 <alise> It's not a function, it's syntax, by definition.
17:26:53 <AnMaster> ah right
17:26:57 <alise> And a true fixed-arity system has no LIST function, only CONS and NIL.
17:27:11 <alise> Which is why you might want (not really, but this is just a musing ffs!) a fake binary syntax.
17:27:13 <AnMaster> oh right I see what you mean now
17:27:19 <alise> Hmm, ooh, you can make it even nicer.
17:27:35 <alise> [+( 1 + 2 + 3 )+]
17:27:48 <alise> Let + = two-argument addition, [+( = +, )+] = 0.
17:27:53 <alise> Tadaaa :P
17:28:02 <AnMaster> hm
17:28:51 <AnMaster> alise, that issue with ' "quoting all the way down" can easily be solved in scheme using the list function (or macro? I don't know). But I guess that is harder in logo due to the fixed arity..
17:28:51 <AnMaster> hm
17:29:23 <alise> Besides, QUOTE requires syntax to construct a variable-argument list already, i.e. (A B C D ...).
17:29:31 <alise> Also, ' is syntax; QUOTE is the name of the special form.
17:30:03 <AnMaster> alise, you could of course compute those things first and then put them in the list
17:30:09 <AnMaster> but that might be somewhat annoying
17:32:18 <AnMaster> alise, is there no way in logo to easily create a list without causing quoting of the elements?
17:32:35 <alise> Not that I know of. It's mainly designed for kids drawing little pictures, dude. :P
17:32:44 <AnMaster> hm
17:33:12 <AnMaster> in that case there seems to be no elegant solution to avoid the eval
17:33:27 <AnMaster> at least not any I can think of
17:33:54 <CakeProphet> could you imagine if Babbage's Analytical machine caught on?
17:34:40 <CakeProphet> The Difference Engine is a pretty good novel about such an idea. Though some of the fictional technology is a little impractical in reality.
17:35:30 <AnMaster> I can't imagine _that_ it would. But since you are asking weather I could imagine _if_ it caught on I guess you mean imagining the consequences of it catching on?
17:36:23 <pineapple> %f should let printf print a double, yeah?
17:36:32 <alise> AnMaster: shut up
17:36:37 <alise> pineapple: I think so.
17:36:41 <CakeProphet> yes I do mean the consequences.
17:36:58 <AnMaster> pineapple, yes and float too, since printf in C is varargs it will use the "old" promotion rules for the type
17:37:02 <CakeProphet> yes, I agree it wouldn't have caught on. At least not to the degree of the modern computer.
17:37:06 <AnMaster> meaning any float will be converted to a double
17:37:14 <pineapple> trying to work out why my program is printing it as a float
17:37:29 <AnMaster> pineapple, maybe you need to set precision and such.
17:37:34 <pineapple> hmm...
17:37:43 <AnMaster> check man page I can never remember the details of how you write that
17:37:49 <CakeProphet> the resources required to create a useful Analytical engine are not worth the functionality
17:38:00 <alise> f, F The double argument is rounded and converted to decimal notation
17:38:00 <alise> in the style [-]ddd.ddd, where the number of digits after the
17:38:00 <alise> decimal-point character is equal to the precision specification.
17:38:00 <alise> If the precision is missing, it is taken as 6; if the precision
17:38:00 <alise> is explicitly zero, no decimal-point character appears. If a
17:38:00 <pineapple> thank you
17:38:00 <alise> decimal point appears, at least one digit appears before it.
17:38:02 <AnMaster> something like %<misc stuff>f instead of the normal
17:38:09 <alise> g, G The double argument is converted in style f or e (or F or E for
17:38:09 <alise> G conversions). The precision specifies the number of signifi‐
17:38:09 <alise> cant digits. If the precision is missing, 6 digits are given;
17:38:09 <alise> if the precision is zero, it is treated as 1. Style e is used
17:38:10 <alise> if the exponent from its conversion is less than -4 or greater
17:38:12 <alise> than or equal to the precision. Trailing zeros are removed from
17:38:13 <CakeProphet> though, it's quite remarkable. It's Turing complete before the concept was event invented.
17:38:14 <alise> the fractional part of the result; a decimal point appears only
17:38:16 <alise> if it is followed by at least one digit.
17:38:37 <AnMaster> alise, iirc the precision stuff is on GNU/Linux systems further up in the man page
17:38:37 <pineapple> alise: i can man 3 printf myself, thanks :-)
17:38:47 <Deewiant> %.5f
17:38:50 <AnMaster> but you need to cross reference a lot
17:39:00 <alise> pineapple: remind me not to try and help in future; I certainly wouldn't have known to look for "g"
17:39:25 <AnMaster> <alise> than or equal to the precision. Trailing zeros are removed from
17:39:25 <AnMaster> <CakeProphet> though, it's quite remarkable. It's Turing complete before the concept was event invented.
17:39:36 <AnMaster> I thought it looked strange until I saw it wasn't alise XD
17:39:46 <pineapple> alise: ...my main objection was the length of the paste
17:39:59 <AnMaster> I was briefly wondering why printf() was TC there
17:40:05 <alise> pineapple: Hey, it drowned out AnMaster.
17:40:32 <CakeProphet> AnMaster: hahaha
17:40:42 <CakeProphet> dude printf is a non-deterministic turing machine
17:41:02 <pineapple> it's hard to tell what g does... it prints in either standard or scientific notation, depending on where the significant digits are?
17:41:04 <CakeProphet> excellent efficiency. It always determinizes to the correct state in one step.
17:41:10 <AnMaster> I strongly doubt the printf format string is actually TC
17:41:21 <pineapple> TC?
17:41:29 <AnMaster> TC = turing complete
17:41:37 <pineapple> you need to get out more, honey
17:41:49 -!- oerjan has joined.
17:41:51 <AnMaster> pineapple, you haven't been here long enough ;P
17:42:06 <alise> pineapple: calling people "honey" is incredibly irritating.
17:42:16 <alise> also, the analytical engine wasn't just Turing-complete, it *invented microcode*
17:42:18 <AnMaster> if I had to guess about the computational class of the printf format string it would be "FSA or less"
17:42:20 <alise> There was to be a store (that is, a memory) capable of holding 1,000 numbers of 50 decimal digits each (ca. 20.7kB). An arithmetical unit (the "mill") would be able to perform all four arithmetic operations, plus comparisons and optionally square roots. Initially it was conceived as a difference engine curved back upon itself, in a generally circular layout,[3] with the long store exiting off to one side. (Later drawings depict a regularized grid layout.)
17:42:20 <alise> [4] Like the central processing unit (CPU) in a modern computer, the mill would rely upon its own internal procedures, to be stored in the form of pegs inserted into rotating drums called "barrels", to carry out some of the more complex instructions the user's program might specify.[5] (See microcode for the modern equivalent.)
17:42:30 <AnMaster> but this is only a hypothesis
17:43:45 <AnMaster> hm, printf always terminates too assuming there are no bugs in the implementation and that there is a trailing zero at the end of the format string and so on.
17:44:13 <AnMaster> so that would put an upper bound on the computational class...
17:44:38 <oerjan> <oerjan> oh and of course there is the even weirder proof that reachability _is_ in NL
17:44:51 <oerjan> oklopol: oh wait that wasn't the weird proof
17:45:04 <oerjan> the weird proof was for showing NL = co-NL
17:45:12 <AnMaster> oerjan, um, NL being?
17:45:20 <alise> AnMaster: you haven't been here long enough
17:45:25 <oerjan> nondeterministic logarithmic space
17:45:27 <AnMaster> alise, touche
17:49:56 <oerjan> the family of languages such that there is a non-deterministic TM with separate input (read-only) and workspace tapes can confirm that a string is in the language
17:50:13 <oerjan> and co-NL are those where the TM can confirm if it isn't
17:50:19 <oerjan> er
17:50:23 -!- Gregor-L has joined.
17:51:01 <oerjan> s/$/ using workspace logarithmic in the input size/
17:51:21 <oerjan> *that can
17:51:24 <AnMaster> oerjan, doesn't the very word "input" imply that it isn't available for writing to?
17:51:54 <oerjan> AnMaster: sort of, except the simplest TM's use the same tape for input, workspace and output
17:52:17 <AnMaster> oerjan, ah right, you meant like that.
17:53:09 <oerjan> and that is meaningless when you want to check if an algorithm uses less than linear space
17:53:12 <AnMaster> of course C does have writable input, in some sense. See man ungetc
17:53:42 <oerjan> AnMaster: well in the ungetc sense, so do these TMs actually, you can still move back and forth
17:53:53 <oerjan> just not change the contents
17:54:11 <AnMaster> ah right, so reading input does not make it unavailable for reading again?
17:54:15 <oerjan> nope
17:54:19 -!- purr has changed nick to elliottcable.
17:54:21 <AnMaster> oerjan, also iirc with ungetc you can push another char back
17:54:26 <oerjan> ah
17:55:21 <pineapple> AnMaster: i thought it was only 1
17:55:22 <AnMaster> oerjan, I don't think doing is is undef behaviour either.
17:55:44 <oerjan> logarithmic space is sort of the bottom of when it's meaningless to use even _this_ model, since the tape position itself is intuitively a logarithmic size pointer
17:55:52 <oerjan> *meaningful
17:56:04 <AnMaster> pineapple, one char to push back? My man page says "only one pushback is guaranteed" which I interpret as "more may work, but don't depend on it working"
17:56:21 <alise> so more /are/ undef.
17:56:49 <AnMaster> yes, but I haven't checked the C spec, after all the man page is not the spec.
17:58:01 <oerjan> AnMaster: well _one_ ungetc can be simulated by a TM easily, just absorb it into the TM state
17:58:27 <AnMaster> oh and it seems fsetpos, fseek and various other functions discards the result of ungetc according to the C spec
17:58:30 <oerjan> since there are only finitely many possibilities
17:58:54 <alise> DLOGTIME
17:58:54 <AnMaster> of course
17:59:18 <AnMaster> oerjan, I wouldn't be surprised if for many C implementations the ungeted char is stored in some place in the FILE structure
18:00:30 <pineapple> AnMaster: my interpretation is that the second pushback working is undefined
18:00:34 <AnMaster> yep, the C spec says "at least one", and in case of "too many" pushbacks, ungetc shall fail.
18:00:45 * AnMaster tries to locate where it says how ungetc shall fail
18:00:51 <AnMaster> oh by returning EOF it seems
18:01:16 <pineapple> feel free to make a wrapper function if you need more than 1
18:01:41 <AnMaster> pineapple, actually more than one is allowed but either implementation defined or undefined. Not clear to me which
18:01:56 <AnMaster> probably undef indeed
18:03:32 <pineapple> if it was implementation specific, it became so in c99, i guess
18:03:45 <pineapple> k&r makes no mention of it being remotely possible
18:04:27 <oerjan> alise: oh yeah what _is_ that DLOGTIME, i've seen it mentioned but it sounds nonsensicale with a TM - you couldn't even get to all input
18:04:33 <oerjan> *-e
18:04:41 <alise> DLOGTIME is the complexity class of all computational problems solvable in a logarithmic amount of computation time on a deterministic Turing machine. It is the smallest nontrivial class using the resource of deterministic time.[citation needed] It must be defined on a random-access Turing machine, since otherwise the machine does not have time to read the entire input tape.
18:04:41 <alise> DLOGTIME-uniformity is important in circuit complexity.
18:04:41 <alise> The problem of testing the length of the input string can be solved in DLOGTIME, by binary searching for possible input sizes.
18:04:46 <alise> I just decided to quote the lowest class on Wikipedia.
18:04:54 <alise> oerjan:
18:04:55 <alise> It must be defined on a random-access Turing machine, since otherwise the machine does not have time to read the entire input tape.
18:05:14 <oerjan> ok i've not seen the definition of random-access TMs
18:06:01 <oerjan> i saw the mention in relation of circuit complexity too
18:06:03 <alise> nor I; the link is broken.
18:06:13 <alise> presumably there is some instruction that sets the pointer to cell i, given i in the current tape cell.
18:06:14 <oerjan> *to
18:06:27 <alise> my favourite complexity class is co-ALL
18:06:34 <oerjan> alise: except that would require unbounded cell values
18:06:56 <AnMaster> heh it seems that when a file is opened rw in C you can't just do a read operation after a write (or vice verse). The spec says you have to fflush/fseek/fsetpos/rewind (w→r) in between. For r→w you have to use one of fseek/fsetpos/rewind in between unless the last read hit the end of the file
18:06:57 <alise> oerjan: ok then it just has an infinite set of instructions go-i for i \in N
18:07:12 <alise> maybe
18:07:14 <AnMaster> I wonder how many apps actually do that properly.
18:07:23 <oerjan> alise: i'm doubtful :D
18:07:51 <AnMaster> hm POSIX seems to retain this restriction
18:08:48 <oerjan> alise: hm maybe you could have pointer tapes that you can fill in with the positions you want to jump to
18:08:57 <alise> "This is an ALL-complete problem." --"Almanac de Compleiçties, Editioné de 3712", on the Awful Problem.
18:09:00 <oerjan> that should work
18:09:30 <AnMaster> alise, btw you said static linking results in smaller binaries? This is true with uclibc but not with glibc. Test: hello world using write() and _exit().
18:09:33 <alise> (3712 is the year of publication.)
18:09:34 <AnMaster> this shows that glibc sucks
18:09:38 <alise> AnMaster: Of course it's not true with glibc :P
18:10:01 <oerjan> and you only need finitely many such tapes, since you don't have time to fill in more than that anyway :D
18:10:04 -!- zzo38 has quit (Remote host closed the connection).
18:10:23 <AnMaster> alise, yeah but with glibc it was like 7 KB (dynamic) 654 KB (static), with uclibc it was about the same for dynamic but only 6.3 KB for static
18:10:36 <alise> AnMaster: 654 kibibytes for write() and _exit().
18:10:42 <AnMaster> alise, nop
18:10:52 <AnMaster> alise, it was from the startup file pulling in lots of stuff
18:10:56 <alise> Ulrich Drepper's engineering has never been witnessed in any other human being. The rest of the human race is thankful for this.
18:10:57 <AnMaster> you know, the code running before main()
18:11:03 <alise> Ulrich Drepper's engineering skill has never been witnessed in any other human being. The rest of the human race is thankful for this.
18:11:22 <AnMaster> alise, with uclibc it still pulled in abort() for some strange reason but not much else extra
18:11:29 <AnMaster> while with glibc I even had strstr there
18:11:32 <AnMaster> I can't think of why
18:11:51 <AnMaster> this is according to nm on the static binaries (before stripping of course)
18:12:29 <AnMaster> alise, of course, uclibc provides it's own startup file. Had to use that anyway or linking would fail.
18:12:29 <alise> is uclibc any good on non-embedded platforms?
18:12:53 <AnMaster> don't really know
18:13:31 <AnMaster> cfunge does link against it I know if you enable C99 math functions (some fingerprints need long double trig functions)
18:14:08 <AnMaster> but iirc it does lack some other stuff, and some things might just be stubs returning some error code
18:14:39 <alise> The landscape of non-glibc C standard libraries is dire.
18:14:47 <alise> dietlibc is wonderful but the license ruins it.
18:14:50 <AnMaster> alise, well there is newlib, and *bsd have their own stuff
18:15:13 <alise> iirc newlib has some fatal flaw for desktop use but I don't recall. Maybe it's fine, but still, it's a bit naff you have to admit.
18:15:19 <alise> The *BSD libraries wouldn't work on Linux.
18:15:30 <AnMaster> how is newlib naff?
18:15:44 <alise> I don't recall; I just remember looking at it and coming to the strong conclusion that it was a bit naff.
18:15:48 <AnMaster> heh
18:16:00 <alise> http://upload.wikimedia.org/wikipedia/commons/5/50/Arklinux_installer.png <-- Linux for Retards
18:16:12 <AnMaster> XD
18:16:18 <alise> I like how you're then expected to figure out how to work a dropdown menu
18:16:23 <alise> Which is /considerably/ less intuitive.
18:16:31 <alise> Especially if it has a scroll bar.
18:16:58 <AnMaster> hm? all those are drop downs? So in theory once you figured out the first...
18:17:31 <alise> It provides instructions on how to open the drop down menu, but not how to then use it.
18:17:38 <AnMaster> this of course means it excludes the _complete_ retards who don't see any connection between them
18:17:42 <AnMaster> alise, oh XD
18:17:44 <alise> The former is considerably easier to figure out than the latter, especially if the drop-down includes a scrollbar.
18:18:02 <alise> Maybe the instructions change once you click. Ew.
18:18:11 <AnMaster> heh
18:19:30 <alise> Anyway, my ideal Linux libc is diet libc licensed with ANYTHING BUT GPL.
18:19:33 <alise> Also, without this:
18:19:34 <alise> Q: When linking binaries, I get warnings about stdio and printf all the
18:19:34 <alise> time. What gives?
18:19:34 <alise> A: Since the diet libc was written to make writing small programs
18:19:34 <alise> possible, it also tries to assist in the process of seeing causes of
18:19:34 <alise> bloat. Premier causes for bloat are stdio and the printf family of
18:19:35 <alise> functions. The diet libc will also warn you if you still use
18:19:37 <alise> assert() (which is normally not enabled in production code) or if you
18:19:39 <alise> use functions that use static buffers (like gethostbyname and
18:19:41 <alise> friends).
18:20:00 <alise> Actually all this just makes me want to do the ludicrous thing of writing my own libc.
18:20:50 -!- SevenInchBread has joined.
18:21:08 -!- CakeProphet has quit (Ping timeout: 240 seconds).
18:22:13 <alise> But I don't have nearly the right knowledge to do so.
18:23:37 <alise> AnMaster: have you ever used Unix, First Edition?
18:26:48 <alise> "The code of UNIX is divided into 1 files, named u0 through u9 and ux."
18:26:59 <oerjan> <CakeProphet> could you imagine if Babbage's Analytical machine caught on?
18:27:09 <alise> Who cares about organisation!
18:27:16 <oerjan> i believe alternative history scifi has been written about this
18:27:19 <alise> They're written in order of linking and "coreness". :)
18:27:22 <alise> oerjan: yes, as he says in a line or so
18:27:25 <oerjan> s/believe/know/, really
18:27:42 <alise> Interesting thing: First Edition Unix was entirely PDP assembly, no C.
18:27:43 <oerjan> duh
18:28:09 <alise> oerjan: why duh?
18:28:11 <Sgeo_> Wait, which one was the one that was actually programmable?
18:28:24 <alise> Sgeo_: analytical
18:29:11 <alise> C is actually three years older than UNIX.
18:29:24 <alise> One year older than the First Edition publication.
18:29:56 * Sgeo_ has trouble parsing alise's order of events
18:30:00 <alise> It took until 1973 for UNIX to include a C compiler; until late 1973 to rewrite it in C.
18:30:02 <oerjan> alise: *d'oh, perhaps
18:30:05 <alise> Sgeo_: Here we go:
18:31:02 <alise> 1969 - UNIX is created
18:31:03 <alise> 1971 - 1st Edition UNIX published
18:31:03 <alise> 1972 - C created
18:31:03 <alise> 1972 - 2nd Edition UNIX published
18:31:03 <alise> Feb. 1973 - 3rd Edition UNIX published; includes C compiler
18:31:03 <alise> Nov. 1973 - 4th Edition UNIX published; rewritten in C
18:31:29 <Sgeo_> How does that make C older than UNIX and 1st Edition?
18:31:37 <alise> Oops.
18:31:44 <alise> *UNIX is actually three years older than C.
18:32:50 * Sgeo_ says a word that Teal'c often says
18:36:37 <alise> So... anyone want to help me assemble my ridiculous linux distribution? :P
18:38:53 <oerjan> no, but i can help ridicule it
18:38:59 * oerjan runs away
18:40:19 <Sgeo_> Make a Creatures-oriented distro
18:40:28 <alise> Sgeo_: no.
18:40:30 <Sgeo_> THe world needs more themed Ubuntu distros!
18:40:33 <Sgeo_> </sarcasm>
18:40:48 <alise> I will maul you all if you do not do as I say! :|
18:40:52 <AnMaster> <alise> AnMaster: have you ever used Unix, First Edition? <-- no
18:41:00 <AnMaster> what emulators are available for this?
18:41:14 <AnMaster> <alise> "The code of UNIX is divided into 1 files, named u0 through u9 and ux." <-- also that seems like issues with counting XD
18:41:26 <alise> AnMaster: more than just an emulator -- you need a bunch of crazy people who scanned a printout then OCR'd it and fixed up all the issues! (or perhaps even manually typed it)
18:41:32 <alise> AnMaster: ux is some auxiliary system tables or something
18:41:36 <alise> http://code.google.com/p/unix-jun72/
18:41:45 <alise> You can use Simh, like with later Unix editions.
18:41:50 <alise> http://simh.trailing-edge.com/
18:41:52 <alise> *SIMH
18:42:05 <alise> Emulates a PDP-11 running 1st Edition UNIX; glorious.
18:42:08 <AnMaster> maybe some day, not today though
18:42:19 <alise> 3. Type in an ls -l command. You should see something like this:
18:42:19 <alise> total 6
18:42:19 <alise> 43 sdrwr- 2 root 620 Jan 1 00:00:00 bin
18:42:19 <alise> 42 sdrwr- 2 root 250 Jan 1 00:00:00 dev
18:42:19 <alise> 104 sdrwr- 2 root 110 Jan 1 00:00:00 etc
18:42:19 <alise> 114 sdrwr- 2 root 50 Jan 1 00:00:00 tmp
18:42:21 <alise> 41 sdrwr- 7 root 70 Jan 1 00:00:00 usr
18:42:22 * AnMaster is a bit preocupied, thus the late reply
18:42:23 <alise> 4. To change directories, use chdir, e.g. chdir /usr. The only editor installed
18:42:25 <alise> is `ed'. You can find an ed tutorial in notes/edtut.txt.
18:42:27 <alise> 5. To log in multiple times, telnet to localhost port 5555. The system
18:42:29 <alise> is configured to allow 8 remote logins.
18:42:31 <alise> pages/- OCR'd pages from the PreliminaryUnixImplementation document
18:42:33 <alise> rebuilt/- kernel source rebuilt from the OCR'd pages, as asm files
18:42:35 <alise> indeed ocr
18:42:37 <alise> patches/- patches to rebuilt/ files to get kernel to run
18:42:39 <alise> *g*
18:44:31 <Sgeo_> Stargate Atlantis is on YouTube
18:44:45 <Sgeo_> [Possibly not 100% legally, but I don't feel like asking questions]
18:46:49 <alise> Huh. Debian have switched to EGLIBC for real.
18:48:32 -!- SevenInchBread has quit (Ping timeout: 245 seconds).
18:49:36 <Sgeo_> Wasn't there some core component that was being managed by someone who's a bit of a prick? Actually, libc I think, so I guess that's relevant
18:49:49 <alise> Drepper runs glibc.
18:49:59 <alise> And he's not a bit of a prick, he's an all-out asshole.
18:50:07 <alise> The switch to eglibc was mostly because of Drepper.
18:56:01 -!- CakeProphet has joined.
18:56:25 <alise> Nobody wants to help :( :P
18:56:46 <alise> http://blog.aurel32.net/wp-content/sam_keyboard.jpeg
18:56:50 <alise> Very efficient keyboard layout.
18:56:54 <alise> "Actually he explained me he tried to convert the QWERTY keyboard into a DVORAK one, but some of the keys can not be swapped because of the trackpoint. And he is using it as a QWERTY keyboard."
19:01:37 -!- CakeProphet has quit (Ping timeout: 264 seconds).
19:02:25 -!- CakeProphet has joined.
19:02:35 <CakeProphet> In the novel Perdido Street Station, by British author China Miéville, analytical engines similar to Babbage's serve as "brains" for the robotic constructs of the city of New Crobuzon. One such engine even develops sentient thought due to a recursive algorithmic loop.
19:02:39 <CakeProphet> ha.
19:02:52 <CakeProphet> I've been writing sentient AI all these years and didn't even know it.
19:04:47 <alise> (define (omega) (omega))
19:04:50 <alise> Singularity; thank me later, guys.
19:07:49 <CakeProphet> it would be crazy if the Analytical Engine had a mechanism for memory addresses.
19:10:00 <AnMaster> alise, does that mean the next ubuntu version will use eglibc?
19:10:07 * AnMaster tries to remember what the differences were
19:10:18 <AnMaster> and did eglibc merge changes from upstream? I forgot
19:10:29 <alise> I think it already does use eglibc, then.
19:10:36 <alise> yes, it does
19:10:54 <AnMaster> indeed, just checked too
19:11:19 <AnMaster> so how did it differ, I don't remember. Something about ARM support was it? Was there anything else than that?
19:12:00 -!- alise has quit (Read error: Connection reset by peer).
19:18:16 -!- alise has joined.
19:34:47 -!- coppro has joined.
19:40:37 <alise> hi coppro
19:40:52 <coppro> hi
19:40:58 <alise> coppro: Under Canadian broadcast regulations, product placement is considered a form of payola and is strictly forbidden. Real brand names can't be shown on locally-produced TV shows. Dramas, comedies, and even cooking and home improvement shows have to block out the brand names of the items they use or replace them with Brand X.
19:41:03 <alise> what the hell is up with that, Token Canadian?
19:41:39 <coppro> alise: Welcome to the CRTC
19:41:44 <coppro> please check your sanity at the door
19:41:53 <alise> That is your new name, by the way - Token Canadian.
19:42:13 <alise> coppro: personally I'd take the WHATWG's advice and leave it at the door, in case it would be damaged inside.
19:44:54 <AnMaster> hm I like that Canadian law in a way.
19:45:11 <alise> AnMaster: no, it's crazy
19:45:30 <coppro> banning paid product placement is good.
19:45:31 <AnMaster> refreshing break from the constant focus on consumerism
19:45:41 <coppro> banning inadvertent product placement is bad
19:45:51 <oklopol> how do you know it's not?
19:45:51 <AnMaster> coppro, well okay, you have a point there
19:46:01 <alise> AnMaster: Yes: the government should create laws to ban anything that has a consumerist bent.
19:46:11 <oklopol> errrr
19:46:11 <coppro> oklopol: that's the tricky bit
19:46:19 <alise> Good idea. How sane. Let's let the government legislate us a happy life.
19:46:21 <oklopol> i was asking about the keyboard :D
19:46:31 <oklopol> let's see what it looked like i was asking...
19:46:36 <oklopol> forgot i'd scrolled up
19:46:37 <AnMaster> alise, strawman
19:46:54 <alise> Not a strawman.
19:47:06 <alise> "[This censorship law is good because it is a] refreshing break from the constant focus on consumerism[.]"
19:47:23 <alise> i.e., the government is doing good by legislating a refreshing break from the constant focus on consumerism.
19:47:26 <AnMaster> alise, would you agree with what coppro said though?
19:47:34 <alise> i.e., what I said.
19:47:54 <alise> Inadvertent product placement should definitely be legal.
19:48:05 <alise> Paid product placement I'm not sure about. I think it's fine, to be honest.
19:48:17 <alise> It's not like there aren't other, better ways to advertise your product.
19:48:23 <alise> Product placement is usually very blatant anyway.
19:48:24 <AnMaster> I think paid product placement should be banned, but inadvertent might be okay
19:48:51 <oklopol> these questions don't have answers
19:48:55 <alise> Why should paid product placement be banned?
19:48:56 <oklopol> shut up
19:49:27 <oklopol> :DSDFD
19:50:14 <AnMaster> alise, because to most people it doesn't seem blatant. Rather it is a sneaky way in many cases. Which people might not realise is product placement. I'm not talking about people of #esoteric here but "your average man on the street" rather.
19:50:31 <alise> Either product placement is blatant or it goes unnoticed.
19:50:45 <alise> Nobody says "Oh, I really want to buy this brand name product because I saw it in this TV show without realising it!"
19:51:03 <oklopol> people don't look at brands
19:51:06 <oklopol> no one cares about brands
19:51:08 <alise> Besides, you can't really mandate away stupid people.
19:51:10 <oklopol> you look at the product
19:51:30 <oklopol> NO
19:51:36 <AnMaster> alise, indeed. It goes like "hm, I need a such as such, which of the brands on this shelf in the supermarket should I select? Hm I seen that one a lot, not sure where, meh I'll take that one."
19:51:45 * oklopol is angry and wants to fight
19:51:50 <oklopol> GRRR
19:51:53 <alise> AnMaster: No, no it doesn't go like that.
19:51:54 <oklopol> i'm not really angry
19:52:04 <alise> AnMaster: I am pretty sure you just made that up to support your viewpoint and have no actual evidence of it happening.
19:52:30 <oklopol> yeah people often have evidence of things
19:52:38 <oerjan> alise: actually i've vaguely read something like what AnMaster said
19:53:03 <oklopol> oerjan! let's talk about complexity theory k?
19:53:08 <oerjan> oklopol: k!
19:53:08 <oklopol> no i don't really wanna
19:53:11 <oklopol> i actually wanna sleep
19:53:12 <AnMaster> alise, no I didn't make it up, I heard it from someone who works as a teacher (at university level). Teacher for future journalists and such.
19:53:14 <oerjan> darn
19:53:15 <oklopol> but i can't
19:53:26 <alise> AnMaster: yeah, a teacher of journalists. I am now convinced...
19:53:34 <AnMaster> alise, well, ads stuff is in that area
19:53:47 <oklopol> lol university people are idiots
19:54:31 <AnMaster> alise, also see what oerjan said
19:54:45 <coppro> I'm inclined to side with AnMaster
19:54:47 <AnMaster> alise, rather, I suggest you back up your claims.
19:54:49 <coppro> people are open to subtle influences
19:55:26 <coppro> hearing about or seeing a brand a lot increases recognition, which increases chances people will buy it. There is definitely a 'I will buy the one I feel most familiar with' effect
19:56:52 <AnMaster> alise, well?
19:57:44 <alise> AnMaster: Considering oerjan's memory is notoriously unreliable, and I don't believe some random person any more than you, I shall ignore his message.
19:57:51 <alise> And YOU were the one who made the claim.
19:57:57 <alise> Please look up "null hypothesis", "burden of proof".
19:57:58 <AnMaster> alise, and what about what coppro?
19:58:08 <AnMaster> alise, you made the claim it wasn't so
19:58:21 <oklopol> alise: i actually just remembered i've read a book called "people see people buy" that says exactly what AnMaster, oerjan and coppro are saying
19:58:34 <alise> If I wanted to debate this, I'd debate it with coppro who isn't a raging fucking idiot.
19:58:35 <oklopol> and i've actually conducted 7 studies on this
19:58:38 <AnMaster> alise, I think the burden of proof is shifting to you now
19:58:48 <coppro> As a allism-afflicted individual, it definitely affects me and I'm conscious of it.
19:58:57 <alise> My claim is exactly the same as before: none. You are the one making the claim. Shut the fuck up.
19:59:19 <coppro> your claim is that our claim is false
19:59:42 <oklopol> is it?
19:59:53 <oklopol> he's claiming there's no reason to claim it, not that he knows it's false
19:59:57 <alise> AnMaster: Do you say to atheists, "you made the claim that it [religion] wasn't so; the burden of proof is shifting to you now [since you have argued a lot]"?
20:00:19 <AnMaster> alise, I refer you to coppro's last line.
20:00:21 <alise> If you do, well, you're even more of an idiot than previously suspected (probable); if not, the same applies here.
20:00:25 <oklopol> "<alise> AnMaster: No, no it doesn't go like that."
20:00:28 <AnMaster> also: if you prefer to be delusional... then be so
20:00:29 <oklopol> actually maybe she did
20:00:33 <alise> ...what?
20:00:37 <alise> You just randomly claimed me to be delusional there.
20:00:57 <AnMaster> alise, I did provide source, you did not accept it. *shrug*
20:01:19 <AnMaster> I'm just not going to bother about this.
20:01:21 <alise> Talking to you may be a corridor starting at happiness and ending in facepalm napalm, but inside, it is filled with despairing hilarity.
20:01:35 <alise> I am currently half-way, and I cut through the floor.
20:01:36 <coppro> In any credible theology debate, the atheists do in fact debate the religious' point of view. They don't say 'but you're wrong' and just leave it at that.
20:01:39 <alise> Goodbye.
20:01:42 <AnMaster> alise, argue with coppro or something
20:01:49 <alise> No, I don't want to argue the point.
20:01:53 <alise> I made an offhand remark.
20:02:06 <alise> You have turned it into an enlightening lesson in illogic.
20:02:14 <alise> I'm just not sure who it's enlightening for.
20:02:29 <coppro> lol
20:03:08 <alise> If I really did want to debate the point, do you really think I'm stupid enough to debate it with you?
20:03:18 <alise> Interesting debates in here are usually had with ais523 or coppro; never with you.
20:04:06 <alise> And since I can't help being sucked up into this idiocy: your "source" was an unnamed person who teaches journalists.
20:04:19 <alise> That is not any sort of study on people's buying habits, that's just some random unnamed person who happens to teach at university.
20:05:22 <AnMaster> alise, however the other persons in here did provide other sources.
20:05:28 <AnMaster> Also see what coppro said above:
20:05:30 <AnMaster> <coppro> In any credible theology debate, the atheists do in fact debate the religious' point of view. They don't say 'but you're wrong' and just leave it at that.
20:05:43 <coppro> For the record; I did not provide any sources, merely asserted a point and added personal experience to it.
20:06:30 <AnMaster> now, I'm going elsewhere, not going to continue discussing this. Watching paint dry is more productive. (Not that I will do that.)
20:06:58 <alise> coppro: Are you talking to AnMaster or me?
20:07:04 <alise> If me, my argument is solely with AnMaster.
20:07:13 <alise> I imagine that were I to debate it with you it would be a lot more of a cogent affair.
20:09:32 <AnMaster> back for a bit.
20:10:16 <alise> Rather a lifetime of being provided outright, irrefutable rebuttals of everything I believe by ais523, oerjan and coppro than one second debating with AnMaster.
20:10:27 <AnMaster> alise, I could look up sources, but why should I? I see no point, I know I'm right anyway, I don't have to "win" the argument. *shrug*
20:10:46 <AnMaster> you could easily check this yourself
20:10:54 <alise> P.S. You're crazy.
20:10:55 <alise> Love,
20:10:56 <alise> alise
20:11:00 <AnMaster> and you completely ignored the line of coppro I quoted above
20:11:04 <AnMaster> _completely_
20:11:17 <alise> Okay!
20:11:58 <coppro> alise: tbh, you're acting really weird today
20:12:14 <AnMaster> there we go, no more annoyance from that source.
20:12:18 <alise> coppro: Howso?
20:12:22 <alise> AnMaster: Finally.
20:12:38 <coppro> alise: you're trolling him
20:12:41 <coppro> or were
20:13:08 <alise> coppro: What do I say to AnMaster that isn't trolling? Like, ever?
20:13:34 <coppro> alise: I am not going back into the logs to look
20:13:45 <alise> coppro: So how is that really weird?
20:13:51 <alise> I don't think I'm acting significantly abnormally.
20:14:28 <coppro> alise: it's uncharacteristic of you to argue ad hominem
20:14:53 <alise> I remember saying he was an idiot, but I don't remember there being any actual "argument" to speak of.
20:15:10 -!- augur has quit (Ping timeout: 240 seconds).
20:15:12 <alise> More a meta-argument about whether AnMaster's attempted "argument" was valid or not.
20:19:00 <alise> coppro: But I don't particularly take any discussion involving AnMaster seriously.
20:19:20 <alise> I believe you could easily see, by examining logs, that I'm usually a lot more civil and logical when talking to others (not the same thing as civil and logical, though :P).
20:19:42 <alise> That's mostly because I've stopped bothering trying to convince AnMaster of anything; anything I say to him is out of mere exasperation.
20:22:42 <oklopol> as if anyone ever convinces anyone of anything ever
20:22:43 <oklopol> ever
20:22:46 <oklopol> on irc
20:22:58 <alise> coppro has had the odd effect of making me more moderate sometimes.
20:23:04 <alise> Never all the way to the other side, though. :-)
20:23:19 <oklopol> well isn't coppro some sort of politician
20:23:19 <coppro> I've done the opposite too
20:23:30 <alise> To me?
20:23:31 <alise> When?
20:23:46 <coppro> We have a big argument-turned-flamewar shortly after I discovered this place
20:23:49 <coppro> oklopol: I've started dabbling in it inadvertently
20:24:11 <alise> coppro: Was that the one that ended up in both of us addressing large, overwrought insults to each other?
20:24:18 <coppro> I think so
20:24:25 <alise> (that basically boiled down to "You're childish!" "Yeah, well, so are you.")
20:24:27 <coppro> yeah
20:24:34 <alise> I don't actually remember what it was about, though. :P
20:24:37 <coppro> me neither
20:25:11 <coppro> was that on IP? I remember we had a civil argument about that too, but I'm not sure if that was the only one
20:25:15 <coppro> (arrrr)
20:25:58 <alise> IP?
20:26:03 <alise> oh
20:26:05 <alise> intellectual property
20:26:09 <alise> coppro: I don't believe it was
20:26:24 <alise> IIRC we've only had two arguments about that, the huge one and one offhand one quite recently.
20:27:13 <coppro> yeah
20:28:12 <coppro> incidentally, I'm now disappointed I didn't find out about and join the PPCA earlier, because (unsurprisingly) I'm relatively moderate among members when it comes to my views
20:28:22 <coppro> (with regards to IP, anyway)
20:29:05 <alise> I dislike the Pirate Party because they basically backed down on what a party with that name should be like; they want five-year commercial copyright iirc.
20:29:16 <alise> Or was it indefinite commercial copyright, 5-year noncommercial copyright?
20:29:34 <alise> they have most definitely toned down their rhetoric to become more accepted
20:30:15 <coppro> the PPCA (which, while affiliated with international Pirate Parties, is not the same as them) is voting today on whether the platform is 10 years copyright, or 5 years + 10 years if registered
20:30:43 <alise> It's worse than Sophie's choice!!!!!!
20:31:11 <coppro> also, I think there's a thing about the name
20:31:33 <alise> Personally if I had to pick an option without using numbers not already there, I'd pick 5 years copyright.
20:31:34 <coppro> in the PPCA at least, pirate != trying to steal music
20:31:42 <alise> Registering copyright. Pfft.
20:31:43 <alise> coppro: I know that.
20:31:51 <alise> coppro: Piratbyrån, etc.
20:32:07 <coppro> I don't know much about the international ones, to be honest
20:32:10 <alise> But Piratbyrån, for instance, are quite thoroughly anti-copyright, and the Pirate Party is an offshoot; they have diluted the name.
20:32:20 <alise> coppro: The Pirate Party is not the original pirate organisation, FFS.
20:32:23 <alise> Piratbyrån is not a political party.
20:32:32 <coppro> ah
20:32:39 <alise> Piratbyrån ("The Pirate Bureau") is a Swedish organization (or think tank) established to support people opposed to current ideas about intellectual property — by freely sharing information and culture. Piratbyrån wishes to give another point of view about spreading information as opposed to certain lobby groups.
20:32:40 <coppro> ok
20:32:49 <coppro> makes sense
20:32:55 <alise> The Pirate Bay is not affiliated with Piratbyrån but stemmed from it; same for the Pirate Party.
20:33:25 <alise> The Pirate Bay diluted the Piratbyrån's message by making it about yarr copyright infringement; so has the Pirate Party, by making it about moderate copyright reform.
20:33:30 <alise> <coppro> in the PPCA at least, pirate != trying to steal music
20:33:34 <alise> Please don't say "steal".
20:33:44 <coppro> you know what I meant
20:33:57 <coppro> there is no accurate term for it
20:34:11 <alise> Copyright infringement.
20:34:35 <coppro> the funny thing is it's not even that sometimes
20:35:26 * alise spits on the Pirate Bay trial
20:35:29 <coppro> however, it's just odd to be in a situation where, in a group of people, I'm one of the strongest /defenders/ of copyright
20:35:37 <coppro> (relative to others)
20:36:17 <alise> One day, Lord help me, I will smash the copyright out of your mind.
20:36:18 <alise> One day!
20:37:04 <coppro> that said, I think they'll pick the 10-year option, and I'll stick behind it in principle; I just want to make sure we don't do something stupid
20:38:00 <alise> coppro: in a hypothetical post-capitalist society, would you support copyright?
20:38:27 <coppro> define post-capitalist
20:39:05 <alise> No, that would make the answer too easy.
20:39:12 <alise> Okay, let me rephrase.
20:39:18 <alise> coppro: In a hypothetical post-scarcity and thus post-capitalist society, would you support copyright?
20:39:47 <coppro> I would support moral rights but not economic ones
20:40:45 <coppro> economic copyright is a crutch, to be sure, but I think it's one that is necessary to an extent
20:40:53 <alise> Moral rights, define.
20:42:07 -!- SevenInchBread has joined.
20:43:07 <oklopol> that would make the question too easy
20:43:10 -!- Gregor-L has changed nick to Gregor.
20:43:12 <oklopol> no wait that doesn't make sense
20:43:16 <oklopol> my sense of symmetry fails me
20:43:37 -!- CakeProphet has quit (Ping timeout: 265 seconds).
20:44:37 <coppro> alise: rights such as right to anonymity, pseudonymity, or having one's name associated with the work.
20:44:54 <alise> Right to anonymity? Like, right not to be whistleblown? Pretty sure that doesn't exist in practice.
20:45:00 <alise> (whistleblown as to your identity)
20:45:30 <alise> coppro: Okay, now imagine a post-ego society. All individuals in the society have no desire for egotistic rewards.
20:45:37 <coppro> alise: No, it's the right to not have your name associated with the published work
20:45:40 <alise> Thus, they have no desire to be credited from an it-makes-me-happy point of view.
20:45:47 <coppro> someone can break the anonymity
20:45:51 <alise> Do you still support the right to have one's name associated with a work?
20:45:53 <coppro> but the work can't carry the name if you don't want it
20:46:22 <coppro> alise: no such world would exist
20:47:16 <alise> coppro: I have presupposed it so. I never said the inhabitants were stock homo sapiens sapiens units.
20:47:23 <alise> So, your answer?
20:47:29 -!- waga has joined.
20:47:32 <waga> hi
20:47:51 * waga found a dead dolphin on the beach
20:47:54 <waga> :(
20:47:57 <oklopol> :(
20:47:58 -!- Gregor has quit (Ping timeout: 252 seconds).
20:48:01 <oklopol> that's sad
20:48:06 <waga> yep
20:48:08 <coppro> :(
20:48:16 <coppro> I'd still support the right. If the individuals have no desire for egotistic rewards, then as a matter of societal convention, they may choose not to invoke the right.
20:48:17 <oklopol> did you give it one last hug and throw it back in the ocean
20:48:47 <waga> it was almost eaten by crabs and flys
20:48:56 <alise> coppro: Why have a right that, by definition, nobody has any desire for, and never will?
20:49:56 <coppro> alise: If it was physically impossible for the desire to invoke it to exist, then the existence of the right is an academic question. If there exists any possibility of its use, though, I would support it.
20:51:08 <alise> coppro: We are to assume that nobody in this society would ever have any desire to have their name attributed to a work.
20:51:25 <alise> Thus, they might do it, but only for some academic purpose or on a whim, and they would care not one bit if someone removed the attribution.
20:51:30 -!- augur has joined.
20:51:39 * waga uploads some photos of the dolphin so that you can see
20:51:45 <coppro> in that case, as I said, the question is academic
20:51:53 <alise> coppro: It is academic: so answer it.
20:52:36 <coppro> why? It's irrelevant in that society if that right does or doesn't exist
20:53:12 <waga> http://bayimg.com/JANoAaacD
20:53:13 <coppro> That's like asking if men should have the right to abortion.
20:53:19 <waga> here is the photo
20:53:27 <oklopol> i don't think it is
20:53:38 <waga> i will add a bigger photo
20:53:40 <oklopol> well okay maybe a bit
20:53:40 <waga> then
20:53:45 <oklopol> lol no waga
20:53:52 <oklopol> i was talking to c
20:53:56 <waga> oh
20:54:38 <oklopol> waga: that doesn't look very sad, because it just looks like a big lump to me.
20:54:46 <oklopol> i can't really make out the dolphin
20:54:51 <waga> it is
20:55:08 <waga> there aren't many dolphoins left in the black sea
20:55:28 <waga> it is very polluted and heavilly fishinged
20:55:41 <waga> http://bayimg.com/jAnODaAcD
20:55:56 <waga> Its great even to see fish in it.
20:56:10 <waga> I once saw 2 dolphins in bulgaria
20:56:14 <waga> but none in romania
20:56:17 <waga> only this one
20:56:53 <waga> I send an email to an organization
20:57:00 <waga> I hope it would help...
20:57:10 <coppro> F SEV - BLA
20:57:30 -!- tombom has joined.
20:57:51 <waga> `ls
20:58:01 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.7833 \ wunderbar_emporium
20:58:06 <oklopol> would help how?
20:58:14 <oklopol> help reanimate that dolphin?
20:58:18 <waga> no
20:58:33 <waga> just kill fishermen
20:58:33 <alise> <coppro> why? It's irrelevant in that society if that right does or doesn't exist
20:58:40 <alise> But it's relevant to me, now, what your position is.
20:58:45 -!- tombom_ has joined.
20:58:51 <waga> `cd /
20:58:52 <coppro> alise: please stop trying to convince me to break your strawman
20:58:52 <HackEgo> No output.
20:59:05 <coppro> I have no position with regards to your questions
20:59:07 <coppro> *question
20:59:17 <alise> coppro: It was going to track backwards to make a point, but if you won't play, fine.
20:59:18 <waga> `rm -r *
20:59:19 <HackEgo> No output.
20:59:22 <alise> Philosophers must hate talking to you.
20:59:24 <waga> `rm *
20:59:26 <HackEgo> No output.
20:59:26 <alise> waga: Won't work, don't bother.
20:59:29 <waga> hehe
20:59:33 <oklopol> waga: do you kill fishermen?
20:59:33 <waga> just courious
20:59:34 <coppro> alise: what point would that have been?
20:59:36 <waga> no
20:59:39 <waga> but i would
20:59:42 <oklopol> coppro: no you'll never know
20:59:44 <oklopol> *now
20:59:47 <alise> coppro: It wouldn't make sense without your answer.
20:59:55 <coppro> well, my answer wouldn't make sense either way
20:59:59 <waga> `perl -v
21:00:00 <HackEgo> \ This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi \ (with 40 registered patches, see perl -V for more detail) \ \ Copyright 1987-2009, Larry Wall \ \ Perl may be copied only under the terms of either the Artistic License or the \ GNU General Public License, which may be found in the Perl 5 source kit. \
21:00:09 <waga> `man perl
21:00:10 <HackEgo> No output.
21:00:11 <coppro> if I say yes, then I've just supported something pointless. If I say no, I've just weakened my position
21:00:15 <waga> `man cd
21:00:16 <HackEgo> No output.
21:00:21 <waga> `man man
21:00:22 <HackEgo> No output.
21:00:32 <alise> coppro: Sheesh, I give up.
21:00:36 <waga> `gcc
21:00:39 <HackEgo> No output.
21:01:02 <waga> `touch qw.pl
21:01:03 <HackEgo> No output.
21:01:48 -!- Gregor-L has joined.
21:01:50 -!- tombom has quit (Ping timeout: 240 seconds).
21:01:52 <waga> `echo print "hello"; > qw.pl
21:01:53 <HackEgo> print "hello"; > qw.pl
21:02:05 -!- Gregor-L has changed nick to Gregor.
21:02:11 <waga> `perl qw.pl
21:02:13 <HackEgo> No output.
21:02:51 <waga> `sudo
21:02:52 <HackEgo> No output.
21:03:13 <waga> `cat cube2.jpg
21:03:14 <HackEgo>
21:03:42 <waga> `cat netcat-0.7.1.tar.gz
21:03:43 <HackEgo>
21:04:21 <waga> Cameroon 1 - Denmark 2
21:04:23 <waga> :(
21:05:26 <alise> Caring points: Football fans 1 - Everyone else 0
21:10:58 -!- waga has quit (Ping timeout: 252 seconds).
21:11:08 -!- waga_ has joined.
21:11:10 <waga_> hi
21:11:18 <waga_> back
21:11:25 <waga_> my battery died
21:12:22 <alise> sheesh nobody wants to help my clearly perfect distro efforts :)
21:13:56 <coppro> tell me when you have a package manager
21:14:18 <alise> coppro: *configuration manager
21:14:24 <alise> my plans are rather ridiculously generic in that area
21:14:28 <coppro> okay, tell me when you have one of those then
21:14:39 <alise> coppro: right now my current focus is seeing how far I can push using a non-standard libc and static compilation
21:14:54 <coppro> fair
21:15:04 <coppro> you should use clang by default too!
21:15:09 <alise> coppro: I am considering that.
21:15:25 <alise> coppro: I am also considering http://pcc.ludd.ltu.se/.
21:16:24 <alise> coppro: I will probably use newlib or uclibc, but I'd rather use diet libc; unfortunately, its GPL license makes this illegal.
21:18:41 <alise> coppro: Basically, the idea is to make a completely unconventional distro that lets you forget that Linux is underneath and just maintain the system as simply as possible; allowing one to use minimalist stuff in place of the usual rubbish. And also one that I can maintain myself without too much trouble, distro-wise.
21:19:01 <coppro> that would be cool
21:19:05 <alise> So extremely simple init system (perhaps even just a shell script), "package manager" replaced by a more generic concept allowing finer-grained control over configuration and the like,
21:19:20 <alise> tiny libc, everything that can be statically linked is,
21:19:56 <alise> kernel uses Brain Fuck Scheduler, TuxOnIce and is stripped of most everything; module support provided as a separate kernel package only for using things like the nvidia drivers
21:20:30 <alise> stuff like hal wiped out; hopefully udev made less futzy
21:20:45 <coppro> bonus points if you can invent some sort of dynamostatic linking that gets the space savings of dynamic linking without the rest of its idiocies
21:20:47 <alise> coreutils are bsd or other similar minimalist set, not gnu
21:21:09 <alise> coppro: Ah, but static linking is only larger with a gigantically bloated libc like glibc.
21:21:19 <alise> With uclibc or newlib, the binaries are smaller than dynamically-linked glibc binaries.
21:21:34 <coppro> alise: That's why I said 'without the idiocies'
21:21:51 <coppro> there is definitely redundant code that can be elimintaed
21:21:51 <alise> coppro: Sure, a program that uses many functions from a large library will be bigger... but these aren't so common, and besides, you probably have the disk space if you're using such a "bloated" program ;)
21:21:57 <coppro> true
21:22:11 <alise> IMO dynamic linking just causes too much problems in this language-agnostic Linux world.
21:22:18 <coppro> it does
21:22:20 <alise> Static linking leaves some duplication on disk -- there are tactics to share the code in memory --
21:22:32 <alise> and yes, it's imperfect, but so is Linux in almost every way!
21:22:42 <waga_> Are you guys here those who have done the cool esoteric langs from wikipedia/eso langs wiki? (eg: unlambda,thue,3code,lolcode,the cooking one, taxi, brainfuck, etc)
21:22:44 <alise> the focus of the distribution is basically to make linux usable without going insane.
21:22:53 <alise> waga_: Yes; we're the official IRC channel of http://esolangs.org/.
21:23:02 <alise> Except for lolcode.
21:23:06 <alise> We hate lolcode intensely.
21:23:27 <alise> Urban Muller, creator of brainfuck, is not present here; but daniel b cristofani, brainfuck programmer extraordinaire, is (dbc).
21:23:27 <waga_> why?
21:23:46 <alise> waga_: it's not esoteric, it's just a hodge-podge language designed by people who don't know languages, with a slight veneer of stupid memey syntax.
21:23:48 <waga_> Wierd name, "Urban"
21:24:03 <alise> Wierd is an esoteric language, but not a word; you're thinking of "weird".
21:24:17 <alise> And he's Swiss.
21:24:29 <alise> It's actually Urban Müller.
21:24:40 <alise> waga_: Ever heard of Aminet, that Amiga archive?
21:24:43 <alise> He created that.
21:24:46 <waga_> ok
21:24:47 <waga_> wierd
21:25:14 <waga_> the funny thing is that there are more langs then users
21:25:15 <alise> waga_: *weird.
21:25:19 <alise> Yes, that's amusing.
21:25:27 <waga_> so it means everyone made about 20 langs
21:25:37 <waga_> °^°
21:25:46 <alise> coppro: I guess you could categorise my distribution as "no Stallman, no Drepper" and I guess you'd be right but it's more about the technology than the people.
21:26:08 <coppro> no objections
21:26:54 <alise> Basically I want a can-it-even-be-called-Linux distribution that you can almost entirely fit into your head; any problem should have an obvious source because there can be only one, and there should not be a ton of stuff going on in the background, breaking subtly, that you don't know about.
21:27:02 <waga_> how many langs have you made?
21:27:12 <alise> I'm all for wonderful systems with layers of abstraction and purity and automagic, but the fact is that automagic Linux, in practice, today, is broken Linux.
21:27:18 <alise> And bloated Linux to boot.
21:27:21 <alise> waga_: I've made about 4.
21:27:25 <waga_> wpw
21:27:27 <waga_> wow
21:27:48 <alise> coppro: Although I might have to allow the dynamic linker to be *present*; otherwise, you can't run such programs as, say, Perl.
21:27:53 <waga_> And also, how many os-es have you made? (or started)
21:27:54 <alise> Which is, you know, not ideal.
21:28:05 <alise> waga_: Weeeeeeeeeell.
21:28:07 <coppro> alise: Isn't the dynamic linker stored in the program?
21:28:10 <alise> I wrote a tiny little broken kernel once, but that barely booted.
21:28:21 <alise> I have my long-term, life-encompassing mega OS, but that's vaporware in the strongest sense.
21:28:26 <alise> So the only real OS I'm doing is this distro.
21:28:34 <alise> coppro: ...*head explodes*
21:28:41 <alise> coppro: Wait, were you being serious or making a static linking joke?
21:28:42 <waga_> hehe
21:28:42 <alise> I assumed the latter.
21:28:46 <waga_> my os is bacterix
21:29:00 <alise> waga_: Can you remove it with antibiotix?
21:29:01 <waga_> it supports some basic dos ints
21:29:06 <waga_> nope
21:29:14 <waga_> its just bacterix
21:29:15 <alise> So it's a resistant strain, then.
21:29:16 <coppro> alise: both, sort of. I know some of the processing is actually stored in the ELF, but there is, of course, ld.so
21:29:22 <waga_> it supports fat12
21:29:24 <waga_> °°
21:29:31 <alise> coppro: Oh, yeah, did I mention I was seeing if I could get rid of ELF?
21:29:33 <alise> Yeah... I'm crazy.
21:29:40 <coppro> glwt
21:29:44 <alise> There done ain't be nothin' wrong with a.out!
21:29:50 <alise> coppro: glwt?? WHAT CAN THIS MEAN
21:29:54 <coppro> good luck with that
21:30:30 <alise> coppro: In fact... I don't think Linux actually supports dynamic linking with a.out.
21:30:35 <alise> coppro: Well hey, ELF files are bloated :P
21:30:57 <coppro> Isn't that more the compiler's fault?
21:31:06 <alise> Yes, but the format too, I guess.
21:31:16 <alise> I suppose ELF is one of the things I should just accept; it's not even particularly egregrious.
21:31:33 <alise> But to get into this "Just remove... everything" mindset, you need to be an extremist at points.
21:31:57 <augur> according to a friend, sex while a woman is having her period is a "blood bath"
21:31:59 <augur> just fyi
21:32:06 <alise> augur: You have straight friends???
21:32:48 <alise> coppro: One thing I'm undecided on -- maybe you could supply nice opinions -- should it be for x86 or x86-64? x86-64 has needlessly large pointers for a lot of things, and a minimalist distribution would go well with non-recent hardware, especially on things like slightly older ThinkPads, but OTOH, with x86 there's the memory limit.
21:32:59 -!- KingOfKarlsruhe has joined.
21:33:01 <coppro> alise: why not both?
21:33:03 <alise> However: I forget the name, but there's a hack to access more than 2 gigs memory total on x86.
21:33:06 <alise> The nice thing is:
21:33:15 <alise> x86-64 just legislates this hack with some differences.
21:33:20 <alise> So x86-64 isn't any cleaner!
21:33:30 <alise> x86-64's only actual advantage is that a single process can access more than 2 gigabytes of RAM.
21:33:43 <alise> Which is, admittedly, a large advantage.
21:33:44 <alise> But...
21:33:56 <alise> coppro: I'm not sure you realise that I have to maintain and /build/ all these packages.
21:34:00 <alise> One architecture will be hard enough!
21:34:28 <coppro> alise: well, build 32-bit first since more computers can run it, and then hopefully the experience will carry over
21:34:32 * waga_ discovered "Choon"
21:34:40 <alise> coppro: Alright.
21:34:57 <alise> coppro: Hmm... do most distros strip executables by default?
21:35:00 <alise> I don't think they do.
21:35:01 <alise> Why don't they do that?
21:35:04 <coppro> I don't know. They should.
21:35:04 <waga_> wtf?????
21:35:08 <waga_> the famous Tomasz Grysztar
21:35:14 <alise> coppro: Pretty sure Arch doesn't, at least.
21:35:21 <waga_> has also made an eso lang?
21:35:22 <coppro> Ubuntu does
21:35:28 <coppro> at least, gcc is stripped
21:35:31 <coppro> I'll test random others
21:35:46 <alise> waga_: Really? Which?
21:36:10 <waga_> Challenge
21:36:14 <waga_> it is named
21:36:16 <alise> Idea for an esolang: LOLCODE, changing the syntax to use normal words and brackets.
21:36:22 <coppro> of my /usr/bin, 4 are not stripped
21:36:28 <alise> Hilarious, it will be, for it will be exactly a regular programming language!
21:36:33 <alise> coppro: Fair enough; Debian, yes?
21:36:38 <coppro> Ubuntu
21:36:55 <alise> Okay.
21:37:11 <alise> coppro: Also... I'm considering removing /usr.
21:37:19 <alise> Please don't hurt me, this is the most support I've got from one person so far :P
21:37:28 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
21:38:32 <coppro> explain
21:38:41 <alise> /usr/x --> /x
21:38:59 <alise> No /bin, /sbin, /usr/bin, /usr/sbin; just /bin.
21:39:10 <alise> (why does sbin even exist? Just don't give normal users privileges to execute them.)
21:41:01 <waga_> Gimme an eso lang idea
21:41:03 <waga_> please
21:42:16 <oklopol> if i had an idea i'd make the lang myself
21:42:19 <oklopol> oh wait
21:42:41 <oklopol> i probably wouldn't, but i'd think i'll do it someday
21:42:43 <oklopol> anyway ->
21:42:45 -!- oklopol has quit.
21:42:47 <coppro> alise: it prevens partioning all that stuff separately. In a minimalist distribution, eliminating them might make sense
21:43:30 <waga_> a friend was thinking of the FU** language
21:43:43 <waga_> where you had to fu** the screen the clrscr
21:43:47 -!- alise has quit (Ping timeout: 260 seconds).
21:43:57 <waga_> and some other stuff
21:44:51 -!- alise has joined.
21:44:58 <alise> Sorry.
21:45:10 <coppro> did you see my last message?
21:45:20 <alise> 13:38:59 <alise> No /bin, /sbin, /usr/bin, /usr/sbin; just /bin.
21:45:20 <alise> 13:39:10 <alise> (why does sbin even exist? Just don't give normal users privileges to execute them.)
21:45:20 <alise> <alise> coppro: Also, just /lib too, accordingly.
21:45:21 <alise> <alise> Rationale: Who really puts them on separate drives? Yes, AnMaster, I know that; who else?
21:45:21 <alise> <alise> Or, in other words, who that is actually a real person does that?
21:45:32 <alise> coppro: I have now; and responded to it before I even saw it!
21:45:48 <coppro> alise: :P
21:46:16 <alise> coppro: Also, I'll use lilo by default; it's actually very capable and can do things GRUB cannot (for instance, it can boot to JFS).
21:46:26 <alise> And if the kernel updater automatically runs lilo nobody gets hurt.
21:46:43 <alise> Plus, you know, it /is/ smaller and less crappy than GRUB :P
21:47:32 <waga_> If I'd make an eso lang, would i get a page on the wiki?
21:47:39 <waga_>
21:47:40 <alise> waga_: anyone can write a page on the wiki.
21:47:48 <alise> which is why it's so full of crap.
21:48:09 <waga_> then
21:48:16 <waga_> would someone make it
21:48:18 <waga_> ?
21:48:20 <alise> coppro: Another advantage of static linking: Executables start much faster.
21:48:32 <waga_> or should i do it
21:48:33 <alise> waga_: if it was any good and popular. So no: you'd have to write it yourself.
21:48:48 <oerjan> waga_: we're _mostly_ to lazy to do other people's work beyond simple typo fixing :D
21:48:53 <oerjan> *too lazy
21:48:53 <alise> *too
21:48:55 <alise> :D
21:48:58 <alise> *trope namer*
21:49:01 <waga_> so it has to by
21:49:10 <waga_> very popular
21:49:11 <waga_> :(
21:49:15 <alise> coppro: uclibc or newlib, provide opinions!
21:49:20 <alise> waga_: just write it yourself, lazy butt
21:49:22 <coppro> alise: no clue
21:49:29 <waga_> so am i alloud
21:49:33 <alise> waga_: yes.
21:49:36 <waga_> cool
21:49:46 <alise> our wiki has no rules except ones that Grue sets and we only obey because he's irritating when he gets annoyed
21:49:47 <waga_> i would have my name somewere
21:49:50 <waga_> first time
21:49:52 <waga_> :D
21:49:59 <alise> coppro: I'd rather use dietlibc, but the gpl makes that impossible :(
21:50:20 <waga_> i'm gonna make 100 langs so that i will have my name everywhere and become famous =))
21:50:26 <coppro> alise: yeah, gpl :(
21:50:37 <oerjan> alise: well not quite. i just recently made a rule that the languages on the language list have to have links
21:50:37 <alise> coppro: the guy licensed the code gpl so that microsoft doesn't steal it, seriously
21:50:51 <oerjan> i got fed up of looking at all the red ones
21:50:52 <coppro> tinfoil hat much?
21:50:52 <alise> coppro: the gpl in this case has the effect of FORBIDDING BINARY DISTRIBUTION OF ANY NON-GPL CODE LINKED WITH DIET LIBC.
21:51:00 <alise> coppro: well I think he was being tongue in cheek but still
21:51:08 <alise> even rms tells you not to use the gpl for a library!
21:51:28 <alise> coppro: this is all very sad because the code is very small, fast and high-quality
21:52:36 <alise> init will probably be a tiny C program that runs a shell script -- /etc/init.start or something -- then listens to signals that signal various actions.
21:52:47 <oerjan> i almost deleted that hapyli link yesterday because the author was slow at making the actual article
21:52:57 <alise> For instance, "# kill 1" would run /etc/init.stop, then shut down the system.
21:53:45 <alise> "# kill -USR1 1" might run /etc/init.stop, then reboot.
21:54:00 <alise> You could have a shutdown(1) like so:
21:54:37 <alise> well
21:54:41 <alise> a shutdown(1) would just be
21:54:43 <alise> kill 1
21:54:46 <alise> and a reboot(1) just
21:54:48 <alise> kill -USR1 1
21:54:54 <alise> and you'd just run them as root
21:55:14 <alise> coppro: "# kill -USR2 1" might, say, run /etc/init.stop, then run /etc/init.start again
21:55:18 <alise> effectively doing a reboot-less restart
21:55:30 <waga_> Wich would be more help full: doing a bf interpreter in 20 langs, adding stuff to 3code, making my lang?
21:55:44 <alise> waga_: not the former, we have enough interpreters.
21:56:07 <alise> coppro: I /could/ do asynchronous server starting, restarting, etc., but if not much stuff is started at boot, and what is started starts fast, who needs that?
21:56:23 <alise> (besides, you could do asynchronicity manually with the power of &)
21:57:03 <waga_> then tell me a simple lang to make 20 interpreters for it
21:57:05 <waga_> :D
21:57:10 <waga_> i do it for free
21:57:15 <alise> waga_: No. :P
21:57:18 <waga_> or sweetoeware
21:57:30 <waga_> *sweetieware
21:57:47 <coppro> alise: What will be your shell?
21:58:14 <alise> coppro: Possibly the port of OpenBSD ksh.
21:58:20 <alise> Possibly something bloated like zsh.
21:58:21 <alise> Who knows?
21:58:26 <alise> Almost certainly not bash.
21:58:41 <cheater99> anyone know where the name 'space cadet keyboard' comes from?
21:59:06 <alise> cheater99: I think its futuristic appearance. Not sure.
21:59:06 <alise> brb
21:59:32 <waga_> gimme an idea please
21:59:42 <cheater99> i haven't asked about who doesn't know :p
21:59:46 <coppro> a Diplomacy-based language
22:00:05 <oerjan> coppro: what a ridiculous idea. this means war!
22:05:39 * uorygl ponders what his name would be in Finnish.
22:06:56 <oerjan> Örygälli
22:07:13 <oerjan> hm wait g is rare isn't it
22:07:17 <uorygl> That's not my real name. :)
22:07:46 <oerjan> Tännäri Suotta
22:08:12 -!- augur has quit (Ping timeout: 265 seconds).
22:08:59 <uorygl> Tännäri is good. I'd like to translate my last name, though, instead of transliterating it.
22:09:31 <oerjan> what does swett mean, anyhow
22:09:59 <coppro> his family exercises a lot and can't spell
22:10:18 <uorygl> Herttainen might be a nice translation.
22:11:35 <oerjan> wie hertzlig
22:13:58 <uorygl> I know a guy named Kaj Sotala. Apparently, "sotala" means "place of war".
22:14:57 <oerjan> subtle
22:19:43 <alise> uorygl: your name is not really tanner swett, I am pretty sure.
22:19:46 <fizzie> There are 51 people with that surname; we aren't a that warlike people.
22:20:24 <uorygl> alise: of course not. My name uses capital letters.
22:20:37 <alise> It is not Tanner Swett, either.
22:20:51 <uorygl> No?
22:21:01 <alise> Or, maybe it is; you're listed as that on LinkedIn.
22:21:04 <alise> It is a very strange name, though.
22:21:22 <uorygl> It's a rather unusual name.
22:21:51 <waga_> Please give me an idea. I am idea hungry!
22:22:07 <uorygl> But it's not as unusual (to an anglophone) as Tännäri Herttainen!
22:22:12 <oerjan> waga_: <coppro> a Diplomacy-based language
22:22:48 <uorygl> waga_: a cellular automaton based on Go. A board game based on Conway's Life.
22:22:59 <alise> uorygl: But I can't figure out what language or anything Tanner Swett originates from.
22:23:15 <uorygl> My first name and last name come from English and English, respectively.
22:23:35 <oerjan> tanner is a profession, isn't it
22:23:38 <uorygl> "Tanner" is a common noun in English, after all.
22:23:41 <uorygl> No, it's a vocation. :P
22:23:52 <oerjan> um there is a difference?
22:24:13 <oerjan> swett on the other hand, is pure madness
22:24:22 <uorygl> Hm, Wikipedia says that a profession is a type of vocation.
22:24:47 <uorygl> Anyway, I think a profession requires lots of specific training and carries prestige.
22:25:08 <alise> Tanner Sweat.
22:25:13 <uorygl> Tanners aren't very prestigious, and I doubt many universities offer degrees in tanning.
22:25:29 <oerjan> it's that darn smell, i tell you
22:25:36 <oerjan> (iirc)
22:25:43 <alise> There are universities offering degrees in astrology...
22:25:46 <alise> :P
22:26:02 <oerjan> a stellar education
22:26:16 <uorygl> Hm, interesting: http://genealogy.familyeducation.com/surname-origin/swett?detoured=1
22:27:02 <alise> uorygl: It's a nice name and you should be proud of it. Someone with a nice name should study at a good university!
22:27:08 <alise> ...which is a completely irrelevant mixing of topics, but there you go.
22:27:14 <oerjan> you swarthy person you
22:27:18 <uorygl> From Dutch, "nickname for a dark-haired or swarthy person", or "Americanized spelling of Slovenian Svet, a nickname from the adjective svet ‘holy’ (most likely)".
22:27:48 <uorygl> alise: do you have a particular reason for suggesting that I study at a good university?
22:27:49 <fizzie> If you want to translate the "tanner" part too, that'd be probably "nahkuri"; there are 158 people with that as surname, but it's not really a usual given name here.
22:28:01 <alise> uorygl: You were discussing it with us before; moving university.
22:28:11 * uorygl nods.
22:28:13 <alise> And I googled your name and saw the university you're at listed on LinkedIn, which reminded me.
22:28:17 -!- zzo38 has joined.
22:28:32 <alise> You are holding up a nondescript cup with lettering in your LinkedIn picture. How mysterious.
22:29:13 <uorygl> I wonder where that cup is now.
22:29:15 * uorygl checks his bedroom.
22:29:20 <zzo38> I added some FAQ in IRC, please tell me of any mistake or omissions.
22:29:51 <alise> zzo38: But... where...
22:29:55 <alise> uorygl: What does it say?
22:30:11 <zzo38> alise: Host zzo38computer.cjb.net port 194 issue the command HELP FAQ
22:30:11 <waga_> How can i do IF in bf?
22:30:26 <waga_> I squeezed my brains but i still cant think of it
22:30:28 <zzo38> (You can use this command regardless of whether or not you have already logged in)
22:30:31 <uorygl> alise: just a moment.
22:30:35 * uorygl goes to his bedroom again.
22:31:12 -!- Gracenotes has joined.
22:31:15 <zzo38> Also, does Freenode have ALIS? I thought I read somewhere that it does, but I am unsure?
22:31:17 <fizzie> [ executed if current cell was nonzero [-]]
22:31:40 <uorygl> alise: it says, "2008 ARML Mug Problem: For integral x > 0, compute the number of pairs of distinct points A and B on y = x^2 where the slope of line segment AB is 2008."
22:31:58 <waga_> for example if cur cell is 32
22:32:03 <waga_> what can i do?
22:32:21 <waga_> to check if no is 32
22:32:21 <uorygl> fizzie: so, got any good universities up there?
22:33:09 <alise> uorygl: Wave University is meant to be good, as much as I despise that name, I think.
22:33:26 <fizzie> >+< -32 [ >-< [-] ] >[ executed if current cell was 32 ]
22:33:33 <alise> I forget the Finnish name. fizzie?
22:33:55 <fizzie> (That one assumes non-bignum wrapping cells.)
22:34:00 <alise> Aalto.
22:34:17 <fizzie> (That one assumes non-bignum wrapping cells.)
22:34:21 <fizzie> alise: Aalto, yes. You're faster than my phone-fu.
22:34:25 <alise> (That one assumes non-bignum wrapping cells.)
22:34:31 <alise> fizzie: Is it good?
22:34:39 <alise> uorygl: You know, it'd be easier to apply to a good university in the US. :P
22:34:50 <alise> uorygl: Alternatively, I suggest applying for Oxford; if my friend can get in, anyone can!
22:35:09 <uorygl> Unfortunately, my transcript is looking pretty icky right now.
22:35:25 <uorygl> My grades for my first year: C+, A-, A.
22:35:34 <fizzie> I have no personal experiencs with any others; I believe it's reasonably good compared to other Finnish places, but certainly there's a lot of stupidity around.
22:35:38 <alise> I guess that is not so good.
22:35:42 <uorygl> Indeed.
22:35:54 <alise> uorygl: On the other hand, dammit, my friend got in!
22:36:05 <alise> (Note: Friend is not actually as stupid as I am implying.)
22:36:51 <uorygl> Did your friend apply as a transfer student?
22:37:11 <alise> Well, no.
22:37:16 <alise> :P
22:37:27 <oerjan> waga_: you might want to check out the Brainfuck Algorithms page on the wiki
22:37:39 <waga_> thanks
22:37:47 <uorygl> fizzie: so you're going (or went) to Aalto and found it pretty good?
22:37:55 <waga_> A Brainfuck Olympiad would be nice. ^^
22:37:55 <alise> uorygl: he is an Aalto fellow.
22:37:57 <alise> well, a tkk fellow
22:38:01 <alise> but it am become Aalto
22:38:17 <alise> and poor fizzie am left with no clue of what to do in face of nameness \o/
22:38:21 <oerjan> waga_: there has been some brainfuck golfing
22:38:36 <alise> On 1 January 2010, Helsinki University of Technology became a part of Aalto University and was renamed 'the Aalto University School of Science and Technology'.
22:38:39 <alise> this is why we cannot have nice things ;-;
22:38:41 * uorygl replaces alise's language unit with a spare and sends the old one off for repair.
22:38:50 <fizzie> I officially graduated still from TKK, something like three months before the Wave officially started.
22:38:51 <alise> uorygl: sniff
22:38:54 <oerjan> also a couple of brainfuck duel game variations
22:39:01 <alise> fizzie: yay
22:39:04 <uorygl> I'm a poet, and unaware of this fact.
22:39:14 <zzo38> We never had A- at the school I went to, but I generally got good marks
22:39:24 <oerjan> i am unaware, and poetic of this fact
22:39:29 <fizzie> But my doctoral degree, if I ever get it done, will be from Aalto. :/
22:39:36 <uorygl> Huh.
22:39:37 <alise> uorygl: I have just learned from my friend that Oxford is organised into homosexual cliques, and if your subjects coincide with the one he is in he can get you into Oxford.
22:39:43 <alise> uorygl: What do you wish to apply for?
22:39:45 <zzo38> Except, that in one class, there was not good enough to mark but the teacher knows I am good at it, so put "NM" and "SG"
22:40:13 <uorygl> I hope those don't stand for "never mind" and "stargate".
22:40:20 <uorygl> alise: what subject, you mean?
22:40:38 <alise> uorygl: Yes.
22:41:01 <zzo38> uorygl: They don't stand for those things. "NM" is "no mark" (meaning the teacher did not assign a mark; please note this is not the same as zero), "SG" is "standing granted" (meaning you passed regardless of mark)
22:41:03 <uorygl> Math, computer science, linguistics, economics... something in that general area.
22:41:05 <alise> uorygl: Disadvantage of the Aalto University School of Science and Technology: you have to be in a place called "Espoo".
22:41:10 <alise> I mean, really, place names don't get more immature.
22:41:20 <alise> uorygl: He studies mathematics and philosophy, so you may be in homosexual luck!
22:41:21 <fizzie> "Never mind" and "*so* good" were my guesses.
22:42:27 <fizzie> alise: It's right next to the Helsinki border, though, so when not doing something physical (lectures, exams) you can easily be in the hell-sin-city instead.
22:42:46 <alise> fizzie: Not a fan of Helsinki, I see.
22:43:05 <uorygl> alise: so how does this homosexual thing work?
22:43:09 <alise> fizzie: ...also, lectures are physical?
22:43:16 <uorygl> (No, I'm not asking you to explain homosexuality to me. :P)
22:43:21 <alise> uorygl: Well, you see, when a person loves other people of their same gender and not of others...
22:43:47 <alise> uorygl: Basically, in return for being inside a clique with inherent homosexuality, you are granted near-omnipotent powers.
22:44:04 <alise> These near-omnipotent powers are restricted in one way: you can only grant admissions to people who apply for the subjects covered by your clique.
22:44:07 <fizzie> alise: I did live there for 22 years or so; I have nothing against the place in general, just don't think the name's any better.
22:44:25 <alise> Oxford is an organisation of homosexual cliques; they call them 'colleges' in front of the townspeople.
22:44:31 <uorygl> alise: huh. So your friend can simply accept me into Oxford?
22:44:32 <alise> (When they're not murdering them.)
22:44:44 <fizzie> alise: And physical in the sense that there's no widespread practice of webstreaming them, so you'll have to be present.
22:44:48 <alise> uorygl: In a very homosexual way, yes.
22:45:25 <uorygl> Huh.
22:45:40 <uorygl> So, can I expect an acceptance letter in the mail soon? :P
22:46:53 <alise> uorygl: Oh, sorry, new news from my friend: "I can't."
22:47:01 <alise> I guess you're just not homosexual enough. Try again next year.
22:47:14 <uorygl> How do you know how homosexual I am?
22:47:17 <alise> He's giving excuses, now: "The interviews take place when I am not there. Hence it will be difficult for me to work my homosexual magic."
22:47:20 <alise> Do not be disheartened.
22:47:26 <alise> uorygl: If you were sufficiently homosexual, he would have accepted you.
22:47:39 <uorygl> How does he know how homosexual I am?
22:47:46 <alise> uorygl: He's near-omnipotent, remember?
22:47:51 <uorygl> Oh, okay.
22:47:53 <fizzie> Is this the "gaydar" thing I've been hearing about?
22:48:07 <uorygl> Well, drat. I'll just have to go to Aalto.
22:48:12 <fizzie> Supposedly they have some sort of paranormal detection ability.
22:48:13 <alise> fizzie: They prefer to call it the "homosexual resonance frequency detector and reporter instrument".
22:48:52 <coppro> so... gaydar?
22:49:35 <alise> If you must...
22:49:47 <zzo38> How many people in here are homosexual anyways?
22:49:57 <alise> Not enough to create an Oxford clique, that's for sure!
22:50:07 <zzo38> And how many people in here asexual?
22:50:12 <alise> Probably not many.
22:50:18 <alise> There aren't any asexual cliques, anyway, as far as I know.
22:50:29 <alise> Asexuality is not known to yield superhuman power.
22:52:26 <alise> "I already saw the Alcor page. It's what I would call non-sequitar." I should probably stop reading uorygl's blog now; this is bordering on internet-stalking.
22:53:03 <uorygl> I have a blog?
22:53:21 <alise> http://axiomofomega.blogspot.com/ Apparently.
22:53:23 <alise> Or at least LinkedIn thinks so.
22:53:30 <fizzie> A non-sequitar, the most noble of all string instruments.
22:53:34 <alise> You last posted in Febuary.
22:53:37 <alise> *February
22:53:38 <uorygl> Wow, it has 6 posts?
22:53:41 <alise> XD
22:53:50 <alise> uorygl: Can I just note that Cameron is an idiot? >_>
22:54:04 <uorygl> alise: absolutely!
22:54:09 <alise> Consider it noted.
22:54:57 <zzo38> But I am asexuality! (Yielding superhuman power in this case is unimportant. If it is required, there is better ways (?))
22:55:07 <alise> zzo38: You... ARE asexuality? Like, the concept itself?
22:55:26 <uorygl> alise: do you have any ideas on how to get him to stop being an idiot?
22:55:47 <zzo38> alise: Sort of
22:55:50 -!- Mathnerd314 has joined.
22:55:53 <alise> uorygl: A LART/Cluebat combination should work.
22:56:02 <fizzie> alise: Perhaps the personification of? The Greek pantheon has many of those.
22:56:18 <alise> Also, what's the correctly agglomerated form of asexual and philia?
22:56:23 <alise> i.e., the philia of being attracted to asexual people.
22:56:38 <uorygl> I'm guessing "asexualiphilia".
22:56:40 <zzo38> Is it a word "asexualphilia"?
22:56:49 <fizzie> Saxofonilia.
22:56:53 <zzo38> Maybe look up in Wikipedia see if they know
22:56:55 <uorygl> Since "asexual" is theoretically from the Latin adjective "asexualis".
22:57:03 <uorygl> Chop off the s, there you go.
22:57:05 <alise> zzo38: Tried that.
22:57:12 <alise> Then I'm asexualiphilic!
22:57:20 <alise> It is a disappointingly unrequited condition!
22:58:05 <zzo38> Did you check the FAQ that I wrote in the IRC, yet?
22:58:17 <alise> If zzo38 *is* asexuality, we could just call it zzo38philia.
22:58:25 <alise> Though that's attraction to the very concept of asexuality.
22:58:28 -!- augur has joined.
22:58:53 <alise> What port again?
22:58:57 <alise> *port, again?
22:59:19 <zzo38> Port 194
22:59:26 <zzo38> Host zzo38computer.cjb.net
22:59:30 <zzo38> Command is HELP FAQ
22:59:34 <uorygl> Attraction to the very concept of asexuality is "asexualitaphilia"!
22:59:38 <alise> "being put in cyro-stasis will forever scar your relatives and family. Perhaps you are a sociopath and don't care, but others will notice a lack of a funeral and a lack of closure surrounding your pre-mature "death". It's hard to think of someone being dead and being able to move past it if there is a chance they could be still alive. This false hope will undoubtedly harm your families and relatives greatly."
22:59:39 <alise> WJW.
22:59:53 <uorygl> WJW?
23:00:02 <alise> Wow Just Wow.
23:00:06 * uorygl nods.
23:00:27 <alise> zzo38: It works.
23:00:49 <alise> * faq2 :FAQ2: There aren't any channel operators on my channel, now what?
23:00:49 <alise> * faq2 :
23:00:49 <alise> * faq2 :It is working correctly as intended. There is nothing to fix.
23:00:49 <alise> * faq2 :
23:00:49 <alise> * faq2 :End HELP
23:00:50 <alise> Heh.
23:00:59 <alise> zzo38: I would suggest making this a HelpBot, instead of building it into the server.
23:01:04 <alise> *in to
23:01:16 <Gregor> alise: What is that quote from? :P
23:01:17 <zzo38> Yes, I can see it works but I am asking if there are any questions omitted or any mistakes in the text?
23:01:18 <alise> uorygl: So what's the attraction to the very concept of pedophilia?
23:01:24 <alise> Gregor: http://axiomofomega.blogspot.com/2010/02/this-is-part-of-extended-discussion-on.html
23:01:28 <alise> Gregor: I recommend you do not read it.
23:01:35 <Gregor> I will proceed to not read it.
23:01:39 <alise> Gregor: It contains an extremely high quantity of stupidity from everyone except from Ian and Tanner.
23:01:42 <uorygl> alise: pedophilophilia.
23:02:01 <alise> So philophilia is the attraction to philias.
23:02:08 <alise> And what is the plural of philia? Is philia even a word?
23:02:10 <uorygl> alise: what a coincidence--Ian and Tanner are the people there who read Less Wrong.
23:02:23 <uorygl> I think the plural is "philiata".
23:02:30 <Gregor> alise: That quote is just amusing because it seems to basically be "doing anything differently from ridiculous traditions will make Jesus cry so DON'T DO IT"
23:02:35 <uorygl> That's just a guess, though.
23:02:37 <zzo38> I do not want to add HelpBots and stuff like that. If you need additional commands you can write server scripts.
23:02:37 <alise> Who's Ian on Less Wrong?
23:02:42 <uorygl> Hariant.
23:02:57 <uorygl> Nope, the plural of philia is philiai.
23:03:10 <alise> Gregor: he basically spends the entire thread saying there is "No Science", with that capitalisation, in cryonics, despite some very concrete rebuttals; and basically claiming it's a scam without justification, making ~100 assumptions, almost all of them untrue, in the procses, then amending them when he is proven wrong.
23:03:17 <alise> It's like a trainwreck, but sentient!
23:03:23 <zzo38> In fact, FORCENICK is a server script.
23:03:24 <Ilari> Esolangs... If one has "asymptotically complete" language with sizable memory space and one wants to extend it to have infinite memory, what would be some bizarre and hard-to-use way?
23:03:31 <alise> uorygl: philiata is nicer.
23:03:39 <alise> So it is philophilia, not philiaiphilia, right?
23:03:39 <uorygl> Yes, but it's wrong. Do not use it.
23:03:43 <uorygl> Right.
23:03:54 <alise> uorygl: Hey, it's English, I can do what the fuck I want, there's no consistency in this language anyway :P
23:03:55 <zzo38> (Also, for the HELP comamnd I used the same response format as even Freenode uses)
23:04:07 <alise> "Polyamory" even mixes two different languages, for fuck's sake!
23:04:24 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:04:48 <Gregor> http://i.imgur.com/Bx44U.png laaaawlwtf
23:04:49 <zzo38> alise: So does English
23:04:57 <alise> Touche.
23:04:58 <uorygl> alise: so does "dancing". "danc-" is from Old French, "-ing" is from English.
23:05:16 <alise> Gregor: Spoiler: It's not actually Michael Jordan.
23:05:19 <uorygl> alise: anyway, you wouldn't want to be like those guys who say "mansexual", would you? :P
23:05:29 <Gregor> alise: It's pretty wtf whatsoever :P
23:05:32 <alise> Man...sexual?
23:05:35 <Gregor> "mansexual"
23:05:36 <Gregor> Wow.
23:05:44 <alise> "I just find old movies a bit boring." -- @michaeljordan
23:05:50 <alise> "I had a dream last night about lots of cats and enormous rabbits in a barn." -- @michaeljordan
23:05:57 <uorygl> And the counterpart to "mansexual" is--you guessed it--"femsexual".
23:06:03 <alise> "I just don't understand why England still has a Queen." -- @michaeljordan
23:06:04 <alise> etc.
23:06:07 <Gregor> uorygl: No. No I didn't guess it.
23:06:07 <alise> uorygl: No, I didn't guessed it.
23:06:09 <alise> XD
23:06:17 <Gregor> :P
23:06:32 <Gregor> I was thinking "wymynsexual"
23:06:51 <alise> I was thinking womansexual or something.
23:07:03 -!- micahjohnston has joined.
23:07:10 <waga_> hi
23:07:13 <uorygl> Hi, Micah Johnston.
23:07:13 <Gregor> Maybe "wymynsyxyyl" is more appropriate.
23:07:17 <micahjohnston> hi
23:07:19 <waga_> is this http://www.esolangs.org/wiki/Minimal functional?
23:07:32 <waga_> can you do anithing in it?
23:07:47 <uorygl> Front it. "wömänsexyäl"
23:07:48 <alise> waga_: It's not TC.
23:07:59 <alise> "The author designed it to be minimal, but Turing-complete." is more a statement about the author than the language.
23:08:17 <Gregor> alise: That's mean and yet so true :P
23:08:33 <alise> This is not a language. Any language must have 3 well defined items: 1) Gentle introduction - tutorial, necessary for understanding the idea; 2) A formal definition - a description necessary to reduce number of interpretations; and 3) A working compiler, interpreter, or whatever environment to try it out with examples. I propose a simple small table for each language specifying links for each of those items. The author can fill it or leave it unfilled, but
23:08:33 <alise> the reader would be able to see if any intelligent effort was made to invent and develop the language. --Oleg 03:47, 13 August 2009 (UTC)
23:08:36 <Gregor> Also, waga_: Beware of misusing the term "functional" like that, as "functional" in PL does not mean "it functions"
23:08:55 <alise> (Later:
23:08:57 <alise> You are absolutely wrong. A language also needs functors. 91.105.76.79 20:17, 14 August 2009 (UTC)
23:08:58 <alise> )
23:09:00 -!- micahjohnston2 has joined.
23:09:05 <Gregor> alise: laaawl
23:09:09 <alise> [[Uh, guys, it's not a joke. OK? Minimal is not a joke! --Alegend 14:38, 14 February 2010 (UTC)
23:09:09 <alise> But neither is category theory! Unless MacLane was putting us on. --Ørjan 19:55, 14 February 2010 (UTC)]]
23:09:10 <Gregor> Uh oh, Micah's got his hands on the clonomat.
23:09:17 <alise> Clonoscopy.
23:09:35 <Gregor> alise: ... boo.
23:09:40 <alise> :)
23:09:43 <uorygl> Gregor: hiss?
23:09:43 -!- micahjohnston has quit (Read error: Connection reset by peer).
23:09:49 -!- micahjohnston has joined.
23:09:59 <alise> ...so he cloned himself, the original died, and was then revived?
23:10:09 <alise> MY PHILOSOPHY IS NOT ADVANCED ENOUGH TO HANDLE THIS HYPOTHETICAL SITUATION.
23:10:25 <uorygl> alise: just continue thinking until it makes sense.
23:10:28 <Gregor> There's some degredation in cloning though, and he's on clone 2 now ...
23:11:15 <alise> uorygl: Nope, still doesn't make sense.
23:11:25 <uorygl> alise: then you haven't thought for long enough.
23:11:37 <alise> uorygl: I see what you're trying to do here...
23:11:40 <alise> TAKE UP ALL MY MENTAL CPU TIME!
23:11:51 <uorygl> Yes, but only on one of your mental cores.
23:12:05 <uorygl> You have, like, a bunch of them; you can spare one.
23:12:52 <alise> No, I'm actually running on a PDP-11.
23:13:02 <alise> I evolved out of the ADVENTURE game.
23:13:23 <alise> Someone left a dissociated press program running on a few too many files... and thus, me.
23:13:37 -!- micahjohnston2 has quit (Ping timeout: 276 seconds).
23:13:42 <alise> Turns out that C is just Fortran in the wrong order. Or the other way around, depending on who you ask.
23:13:46 <oerjan> Ilari: see: malbolge unshackled
23:13:51 <alise> Fortran brains aren't very effective, though... I rewrote myself soon after.
23:13:53 <alise> That was painful.
23:14:09 -!- waga_ has quit (Ping timeout: 252 seconds).
23:14:14 <uorygl> Programming languages should be made such that short things go before long things.
23:14:30 <Gregor> Here's my current multicore philosophy: We are currently at the absolute worst possible amount of parallelism in our computers. The physical universe is purely parallel, and sequential behavior is just a human construct for understanding, but our computers are no longer sufficiently sequential to do that well, nor are they sufficiently parallel to use a radically different, physics-oriented approach to programming. Instead, they're at
23:14:30 <Gregor> some middle zone where we have to write sequential code and then chop it up. Yukk.
23:14:42 <Gregor> (Why yes, that had no relevance on anything :P )
23:14:52 <alise> Gregor: You'd like the Connecton Machine.
23:14:52 <zzo38> uorygl: No, it should be put in logical order, in some cases that means the short things would go first, sometimes it doesn't
23:14:54 <alise> A lot.
23:15:01 <uorygl> This is bad because it has a whole bunch of short things at the end: blah (blah (blah (blah (blah blah (blah (blah (blah blah) blah (blah (blah blah))))))))
23:15:01 <micahjohnston> wasn't the cm still imperative?
23:15:01 <cheater99> anyone know where the name 'space cadet keyboard' comes from?
23:15:06 <alise> I bet you will now reply saying that you do.
23:15:19 <alise> micahjohnston: Yes, but considering the tiny ability of any one core to do thing, it wasn't really used like that.
23:15:24 <micahjohnston> ok
23:15:33 <alise> (Didn't one core operate on one byte of memory, or something? Or was it even a bit? at a time.)
23:15:43 <micahjohnston> was there a central clock?
23:15:46 <micahjohnston> if there weren't it'd be awesome
23:15:54 <uorygl> Gregor: the physical universe is not purely parallel.
23:16:14 <micahjohnston> look at circuits
23:16:15 <Ilari> Does Malbolge unshackled have anything more esoteric than essentially using numbers as pointers?
23:16:17 <uorygl> A purely parallel processor would suck; the results of each computation wouldn't be able to depend on the results of the previous one.
23:16:28 <Gregor> uorygl: "purely parallel" is a meaningless term :P
23:16:29 <alise> micahjohnston: I don't think there was a central clock, no.
23:16:38 <Gregor> uorygl: Which is why I felt free to use it :P
23:16:39 <alise> Only many, many CPUs using communicaton junctions.
23:16:43 <alise> And fuck, Feynman worked on it!
23:16:45 <uorygl> Oh, okay. :P
23:16:47 <alise> Gregor: You do like it, don't you.
23:16:54 <Gregor> alise: It's pretty awesome :P
23:16:56 <micahjohnston> I though the cm was based more on "mapping across arrays", i.e. each processor had the same instructions but different data, than about networks like circuits
23:17:03 <Gregor> alise: The problem is of course we have no useful programming model for it.
23:17:30 <alise> Gregor: Hey, Feynman coded some parallel quantum algorithm in it.
23:17:40 <Gregor> My point exactly :P
23:17:40 <alise> ...therefore nobody else can Q.E.D.
23:17:53 <alise> Gregor: Also, he used a parallel dialect of BASIC he invented on the spot. :P
23:18:03 <Gregor> Wow, that's fucking awesome.
23:18:06 <Gregor> Seriously.
23:18:09 <Gregor> That - is - fucking - awesome.
23:18:58 <alise> Gregor: Want to know why?
23:19:02 <alise> He didn't know any language apart from BASIC.
23:19:21 <micahjohnston> I have been thinking about a reactive processor that the cm is a teeny bit similar to
23:19:24 <alise> Also, he worked out using some crazy physics stuff that they only needed N slots in their communication hubs or something.
23:19:27 <alise> But they had N+M.
23:19:39 <alise> (using more conventional methods to work it out)
23:19:47 <alise> They went along with their safer idea. Turns out they didn't have the resources to do N+M or something.
23:19:52 <alise> N, of course, worked fine.
23:19:56 <alise> This is a man who only knew BASIC.
23:20:04 <alise> Feynman is just incomprehensibly awesome.
23:20:31 <zzo38> I also consider Richard Feynman to be a hacker.
23:21:04 <alise> In the axe-wielding sense.
23:21:21 <zzo38> No, that isn't what I meant.
23:21:30 <alise> It was what I meant!
23:21:32 <coppro> he was banned from being near safes when they were being opened
23:21:36 <zzo38> If you want to see what I meant, perhaps read the book "Surely you are Joking, Feynman!"
23:21:56 <zzo38> coppro: That is one thing he did. But not the only
23:22:29 <alise> Gregor: If you want to read more about Feynman being a fucking awesome bastard wrt the Connection Machine, look no further: http://www.longnow.org/essays/richard-feynman-connection-machine/
23:23:03 <alise> [[ When we finally picked the name of the company, Thinking Machines Corporation, Richard was delighted. "That's good. Now I don't have to explain to people that I work with a bunch of loonies. I can just tell them the name of the company." ]]
23:25:00 <oerjan> Ilari: well they are 3-adic numbers, i.e. not integers. also it's quite awkward to use arbitrary many trits, i think. as if _i_ know how to program it.
23:25:55 <oerjan> although they _are_ used as pointers, that may be the most normal part of them.
23:26:30 <micahjohnston> is this irc channel affiliated with esolangs?
23:26:39 <uorygl> micahjohnston: yes, it is.
23:26:40 <oerjan> micahjohnston: certainly
23:26:44 <micahjohnston> ok
23:27:00 <alise> micahjohnston: it's associated with just about anything but esoterica.
23:27:04 <alise> the topic is intentionally misleading.
23:27:17 <micahjohnston> what's esoterica
23:27:39 <oerjan> micahjohnston: most of the stuff in the topic :D
23:27:43 <alise> [[He was excited by the results. "Hey Danny, you're not going to believe this, but that machine of yours can actually do something [useful]!" According to Feynman's calculations, the Connection Machine, even without any special hardware for floating point arithmetic, would outperform a machine that CalTech was building for doing QCD calculations. From that point on, Richard pushed us more and more toward looking at numerical applications of the machine.]]
23:27:50 <uorygl> Crystal healing, astrology, oracles, and so on.
23:27:56 <micahjohnston> lol
23:28:04 <oerjan> but _not_ turing machine oracles, mind you
23:28:11 <alise> Gregor: Do you think building a massively-parallel processor as a hobby is possible today? ... it seems like you wouldn't be able to get small enough, low powered-enough chips to connect together and the like
23:28:27 <micahjohnston> what about fpgas?
23:28:37 <uorygl> alise: don't you just get an FPGA?
23:28:38 <Gregor> I don't think that building a massively-parallel processor at any scale less than a supercomputer is possible today.
23:28:42 <alise> 64,000 FPGAs? Okay, so I'd want slightly less... but still.
23:28:48 <alise> (slightly as in vastly, but you need a lot...)
23:28:59 <micahjohnston> fgpas /are/ massively parallel, aren't they?
23:28:59 <alise> Gregor: there's that 64-core chip
23:29:05 <alise> micahjohnston: not in the way that the CM was
23:29:09 <Gregor> 64 is not massively-parallel.
23:29:15 <Gregor> 64 is kinda-parallel.
23:29:22 <alise> the CM was 64,000 low-powered processors, acting on small bits of data, connected together with special routers.
23:29:39 <micahjohnston> but fpgas are a much better model for parallel computation
23:29:49 <micahjohnston> because instead of connecting up sequential processors
23:29:54 <micahjohnston> you connect up logic gates and suck
23:29:56 <micahjohnston> such*
23:30:09 <Gregor> FPGAs ... well, FPGAs are basically hardware, so they're parallel, but it's hard to define programming models for them since ... well, they're hardware ...
23:30:30 <alise> micahjohnston: the CM wasn't a crappy approach though
23:30:32 <alise> it was excellent
23:30:51 <micahjohnston> it's not hard to define programming models for them
23:30:57 <micahjohnston> programming models don't need to be imperative programming.
23:31:00 <micahjohnston> designing circuits is programming.
23:31:32 <alise> micahjohnston: everything you are saying is true and useless.
23:31:41 <micahjohnston> how is it useless?
23:32:22 -!- oerjan has quit (Quit: Good night).
23:33:53 -!- tombom_ has quit (Quit: Leaving).
23:38:16 -!- alise_ has joined.
23:38:37 <alise_> Aww, tinix.org is taken.
23:39:10 -!- alise has quit (Ping timeout: 264 seconds).
23:39:46 <coppro> heh, I love Pikmin
23:39:52 <alise_> Maybe I'll name the distro something completely irrelevant, like "pushpin".
23:39:53 <coppro> "Inedible. Tastes like chicken."
23:40:16 <alise_> coppro: I started playing Pikmin once, but got this strange feeling of stasis and isolation. Indescribable, really.
23:40:18 <alise_> So I stopped!
23:40:33 <coppro> ooh, I just got an idea for a parallel language. Like Pikmin, each IP can only do a subset of tasks
23:40:41 <uorygl> alise_: "Transom"!
23:40:49 <uorygl> Except you like lowercase letters, so "transom".
23:40:54 <alise_> uorygl: Why transom?
23:40:58 <coppro> alise_: whoa, weird
23:41:00 <uorygl> Because it's completely irrelevant.
23:41:04 <alise_> uorygl: Well, yes.
23:41:21 <alise_> coppro: It was like I was playing, say, Microsoft Excel, not a game.
23:41:23 <alise_> Strange feeling.
23:41:27 <alise_> Guess it's just not my game.
23:41:31 <zzo38> coppro: Yes, that is a idea, try writing it more specifically or put in esolang list of ideas in case someone want to make strange thing
23:41:38 <alise_> (The flight simulator doesn't count.)
23:43:27 <alise_> uorygl: "transom" isn't pronounced so nicely, though.
23:45:32 <alise_> uorygl: Also, it sounds like "ransom".
23:45:36 <uorygl> I want to meet Richard Feynman. Too bad that's impossible.
23:47:39 <alise_> uorygl: Not if you perfectly simulate the universe before he died!
23:48:03 <zzo38> alise_: Too bad that is also probably impossible
23:48:22 -!- zzo38 has quit (Quit: zzo38).
23:48:24 <alise_> Probably not impossible, but you're not likely to find the input state...
23:48:32 <alise_> And it'd be hard storing it...
23:48:57 <alise_> uorygl: Come up with another arbitrary word.
23:49:20 <uorygl> Lanyard.
23:49:57 -!- The_Cat has joined.
23:50:15 <alise_> uorygl: Again.
23:50:52 <uorygl> Churchkey... you're probably not a fan of that one at all.
23:51:19 <uorygl> Dowel.
23:51:27 <uorygl> Cleat.
23:51:37 <uorygl> Pestle.
23:53:09 <alise_> Lanyard is nice but it's too vowely :(
23:53:43 <uorygl> How about "lanyards"?
23:54:01 <alise_> It's mostly the middle section -- anyar -- which is completely "soft" and now I wish I knew the correct words for these things.
23:54:13 <alise_> In fact, even lanyar could be called that. the d balances it out but too late.
23:54:26 <micahjohnston> there are only sonorants except for the d in that whole word
23:54:28 * uorygl tries to look up the word.
23:54:33 <micahjohnston> lanyar has only sonorants
23:54:34 <uorygl> Ah, that's it.
23:54:38 <uorygl> Sonorant.
23:56:55 <alise_> Sonorant. I could call it that! :P
23:57:15 <alise_> Hmm, I could name it after some word for a frugal or minimalistic person.
23:57:26 <uorygl> Dreenal.
23:58:08 -!- The_Cat has left (?).
23:58:29 <uorygl> Chewable.
23:58:58 <micahjohnston> polyester
23:59:02 <uorygl> Blanket.
23:59:15 <micahjohnston> pneomonultramicroscopicsilicovolcanoconeosis
2010-06-20
00:00:22 <alise_> Fart.
00:06:33 <alise_> * ksf has a look at alise_'s code and decides its' abstract nonsense
00:06:41 <alise_> -- in #haskell, commenting on something as simple as the definition of a kleene star
00:06:45 <alise_> (http://hpaste.org/fastcgi/hpaste.fcgi/view?id=26386)
00:06:47 <alise_> *the kleene star
00:06:58 <alise_> To repeat: A Haskeller, complaining that a simple definition is abstract nonsense.
00:07:12 <alise_> <ksf> the kleene star, imnsho, is a primitive, not a derived expression...
00:09:06 <alise_> <ksf> you can define it recursively in terms of a n indeponent semiring, but that's usually not what you want, as you can't analyse a recursive haskell definition
00:11:08 -!- BeholdMyGlory has joined.
00:14:20 <Sgeo_> So he's saying it might as well be a primitive?
00:14:35 <alise_> Who knows.
00:14:43 <Sgeo_> Actually, you can't really analize ANY definition in Haskell
00:14:54 <Sgeo_> At least, not from within haskell, iiuc
00:15:29 <alise_> <ksf> alise_, btw, [[]] = []
00:16:09 * Sgeo_ blinks a few times
00:16:30 <alise_> ksf appears to be rather stupid.
00:16:32 <Sgeo_> []:[] /= []
00:17:05 <Sgeo_> Maybe in the context of some function?
00:17:38 <alise_> He was wrong there, too.
00:19:42 <alise_> So I defined regular expressions hideously inefficiently.
00:22:11 <Sgeo_> Hm, what if my issue with LambdaMOO culture seems to exist only because I was talking with one or two people?
00:22:19 <alise_> http://pastie.org/1011883.txt?key=udjvaf5xdbikad1h6ug5sw
00:22:28 <Sgeo_> Maybe those people don't represent the whole community, the way ksf doesn't represent all Haskellers
00:23:25 <SevenInchBread> screw MUD communities
00:23:29 -!- SevenInchBread has changed nick to CakeProphet.
00:23:42 <CakeProphet> ...IRC refused to keep me logged in to my main nickname.
00:23:45 <CakeProphet> *refuses
00:24:20 <coppro> that means someone has NickServ protecting it
00:24:35 <CakeProphet> no, not quite.
00:24:42 <CakeProphet> I think I just dc and it gives me my alt nick
00:24:52 <CakeProphet> it's registered as mine though.
00:24:58 -!- CakeProphet has quit (Changing host).
00:24:58 -!- CakeProphet has joined.
00:25:23 <CakeProphet> they should be linked actually.
00:25:29 -!- CakeProphet has changed nick to SevenInchBread.
00:25:34 -!- SevenInchBread has changed nick to CakeProphet.
00:25:35 <CakeProphet> yep.
00:26:33 <CakeProphet> as a language, Erlang could be vastly improved.
00:27:07 <alise_> Revised version: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=26388
00:27:09 <CakeProphet> it's pretty nice though.
00:28:15 <alise_> Sorry, I lied, none of this works: the infinite stuff means it never gets to the alternatives of infinite things.
00:28:17 <CakeProphet> alise_: some kind of regular expression machine?
00:28:21 <alise_> uorygl: Got another word yet?
00:28:26 <alise_> CakeProphet: Pretty much; a broken one.
00:28:42 <alise_> CakeProphet: Specifically, it represents a regular expression as the set (list) of strings that match it.
00:28:43 <uorygl> Chicle.
00:29:12 <uorygl> Pronounced /ˈtʃɪkəl/, rhyming with "tickle".
00:29:17 <CakeProphet> alise_: neat
00:29:52 <CakeProphet> does Haskell have a standard library set data type?
00:31:32 <alise_> yes, Data.Set.
00:31:37 <alise_> uorygl: Another word!
00:31:50 <uorygl> Vulcanized.
00:31:54 <alise_> uorygl: AGAIN
00:31:59 <uorygl> Pages.
00:34:51 <CakeProphet> alise_: it looks wonderfully efficient from what I can tell. :)
00:36:03 <alise_> Data.Set? Yes.
00:36:09 <alise_> uorygl: Something slightly less random...
00:36:20 <CakeProphet> alise_: ha, no. I meant your program.
00:36:41 <alise_> CakeProphet: It's not.
00:36:51 <alise_> For instance, (x ||| y) never gets to y if x is infinite.
00:36:53 <alise_> So it is deeply flawed.
00:37:05 <alise_> And matching is very slow; it must generate all possible strings before the one you've inputted.
00:37:22 <uorygl> Less random? Aw.
00:37:22 <alise_> And if there are an infinite set of strings, (x `elem` y) where x does NOT match y, diverges and does not terminate.
00:37:28 <alise_> uorygl: Yes. :P
00:37:33 <uorygl> Pages. Pages. Pages. Pages. Pages.
00:37:37 <uorygl> Non-random words. :P
00:38:07 <uorygl> What do you call a small hole cut near the edge of something so that it can be attached to something by a hook?
00:39:09 <uorygl> Here we go. An eyehole.
00:39:11 <uorygl> So. Eyehole.
00:39:21 <CakeProphet> alise_: to fix |||, you could intersperse elements from x and y
00:39:36 <CakeProphet> [x0,y0,x1,y1,x2,y2]
00:39:37 <alise_> CakeProphet: yeah, but I'm too lazy.
00:39:41 <alise_> uorygl: JUST NAME MY DISTRO :>
00:39:42 <alise_> :|
00:39:46 <CakeProphet> haha. It wouldn't be too much to do.
00:39:55 <uorygl> alise_: your distro is named Eyehole.
00:41:55 <alise_> No.
00:42:01 <alise_> Eh, I'll just name the directory transom for now.
00:42:08 <uorygl> Mmkay.
00:42:11 <CakeProphet> alise_: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=26388#a26389
00:43:01 <alise_> CakeProphet: Now fix the infinite-set-of-strings, string-that-doesn't-match problem.
00:43:04 <alise_> Good luck, sucker.
00:43:37 <CakeProphet> true. Perhaps this representation is flawed? :D
00:43:42 -!- pikhq has joined.
00:43:58 <alise_> float/* we won't stay afloat for very long */
00:43:58 <alise_> main(int argc, char **argv)
00:44:03 <alise_> -- the Mastodon init program, halt.c
00:44:25 <CakeProphet> alise_: you could represent it as a theoretical set of all strings that match. Define the sets with predicate functions.
00:44:26 <pikhq> XD
00:44:29 <CakeProphet> and then union, intersect, etc
00:44:44 <alise_> Violating the standard is a great idea as long as it's amusing!
00:45:25 <alise_> Question: Why are rc.d and init.d in /etc?
00:45:29 <alise_> They're executable system code!
00:45:31 <micahjohnston> doesn't that set thing conflict with Control.Arow?
00:45:36 <micahjohnston> Control.Arrow*
00:45:45 <alise_> Also, what DOES .d stand for, anyway?
00:45:51 <alise_> micahjohnston: Yes; but who really cares?
00:46:32 * CakeProphet is deeply concerned about the Haskell's worldwide namespace.
00:46:38 <alise_> pikhq: Do you know what happens if init(8) exits?
00:46:39 <CakeProphet> -the
00:46:40 <micahjohnston> you can always import qualified
00:46:45 <micahjohnston> but does that work on infixes?
00:47:09 <CakeProphet> Control.Arrow.(&&&)
00:47:10 <CakeProphet> lovely
00:47:12 <pikhq> alise_: Kernel panic.
00:47:23 <alise_> CakeProphet: import as A
00:47:25 <alise_> x A.&&& y
00:47:26 <alise_> micahjohnston: yes.
00:47:32 <alise_> Map.! is common for instance
00:47:34 <CakeProphet> ah
00:47:42 <CakeProphet> didn't know you could do it that way.
00:47:45 <alise_> pikhq: Is it appropriate to cause a kernel panic if, say, /etc/init.d/start is not there or not executable?
00:47:46 <micahjohnston> that's awesome
00:47:47 <micahjohnston> :D
00:47:58 <alise_> pikhq: Actually, I might try and start /bin/sh first, for system recovery.
00:48:05 <pikhq> alise_: This is about on par with not having init.
00:48:20 <pikhq> The only two sane responses *are* trying /bin/sh and causing a kernel panic.
00:48:24 <alise_> pikhq: Right. :P
00:49:10 <alise_> So, again, what the hell does the .d stand for?
00:49:25 <pikhq> ... Directory.
00:49:29 <alise_> pikhq: Oh.
00:49:35 <alise_> pikhq: Why do we need the fact that it's a directory in the name?
00:49:37 <alise_> That's stupid.
00:50:06 <pikhq> It's normally only used for when you've decided to split a single configuration file into a set of them in a directory.
00:50:10 <alise_> ...also, really dumb question time: how does init tell the kernel to shutdown, instead of panicing?
00:50:22 <pikhq> For instance, env.d, init.d, rc.d, conf.d, etc.
00:50:26 <alise_> pikhq: So it would be perfectly reasonable to have /etc/init/ if my init was wildly incompatible with everything else?
00:50:45 <alise_> I guess I might just have /etc/init.{start,stop}; after all, they're the only files init(8) will use.
00:50:57 <pikhq> Perfectly. init.d isn't even necessarily going to exist on systems actually using init(8), after all.
00:51:14 <alise_> Would you recomment /etc/init.{start,stop} or /etc/init/{start,stop}? I guess the latter; more organised.
00:51:20 -!- micahjohnston has left (?).
00:51:25 <pikhq> Don't care much either way.
00:51:36 <alise_> Now I just need to figure out how to tell Linux to go all sleepy.
00:51:42 <pikhq> But... Yeah. The only thing guaranteed on an init(8) system is the existence of /etc/inittab.
00:51:56 <pikhq> Everything else is configuration.
00:52:04 <alise_> pikhq: Hell, no /etc/inittab here.
00:52:12 <alise_> Perhaps I should call it something other than init(8).
00:52:18 <pikhq> Probably.
00:52:30 <alise_> But BSD and sysv init both call themselves init!
00:52:41 <pikhq> Yes, those are both the same basic program.
00:52:48 <pikhq> They differ in /etc/inittab configuration.
00:52:57 <pikhq> (IIRC)
00:52:59 <alise_> ...bah
00:52:59 <alise_> :P
00:53:15 <alise_> minit, maybe, for the horrible pun.
00:53:25 <alise_> Anyway, so, I assume there's some system call to halt or reboot the system...
00:53:41 <pikhq> No, wait.
00:53:46 <pikhq> BSD init is, in fact, different.
00:53:50 <pikhq> Doesn't have inittab either.
00:53:51 <alise_> I was thinking that too :P
00:53:55 <alise_> Wut?
00:53:57 <alise_> BSD init so does have inittab.
00:54:04 <pikhq> Well. Oh, yeah.
00:54:08 <pikhq> It doesn't have *run levels*.
00:54:19 <alise_> Indeed.
00:54:24 <alise_> "BSD init runs the initialization shell script located in '/etc/rc', then launches getty on text-based terminals or a windowing system such as X on graphical terminals. There are no runlevels; the 'rc' file determines how init is to be run."
00:54:28 <alise_> Hey, how does it handle shutting down services?
00:54:29 <pikhq> It just tends to go run /etc/rc and then some gettys.
00:54:33 <alise_> Does shutdown do that?
00:54:40 <pikhq> init does that.
00:54:46 <alise_> What shell script does it run?
00:54:51 <pikhq> shutdown just sends a signal to init.
00:55:02 <alise_> pikhq: Hmm, if I have /etc/init/{start,stop}, where do the various services go?
00:55:12 <alise_> I was planning on having /etc/init.{start,stop}, then /etc/init.d/*.{start,stop}.
00:55:20 <pikhq> Uh. I'm not sure about BSD init. SysV has a shutdown runlevel.
00:55:32 <pikhq> And a reboot runlevel...
00:55:39 <alise_> Meanwhile... I can't seem to find the linux system call that shuts down...
00:56:27 <alise_> Or, well, halts.
00:58:31 <alise_> pikhq: I guess if I'm writing init, I should write login too, huh.
00:58:51 <coppro> isn't it usually handled by init?
00:59:25 <alise_> coppro: Yes, but I'm writing init.
00:59:57 <pikhq> Login is not at all handled by init.
01:00:05 <coppro> I think that it's exit code
01:00:18 <pikhq> Nor is terminal management.
01:00:44 <pikhq> Init calls getty on the terminals with an option telling getty to run /bin/login.
01:00:47 <coppro> init shuts everything down, then returns a status code telling the kernel what to do
01:01:17 <pikhq> Literally *all* init needs to do is be able to spawn processes and stop processes for shutdown.
01:01:44 <alise_> if (dosync) {
01:01:44 <alise_> sync();
01:01:44 <alise_> sleep(1);
01:01:44 <alise_> sync();
01:01:44 <alise_> sleep(1);
01:01:45 <alise_> sync();
01:01:46 <Ilari> alise_: There is system call (IIRC, sys_reboot) that does reboot/shutdown/poweroff... It has two magic values it requires.
01:01:46 <alise_> sleep(1);
01:01:48 <alise_> }
01:01:50 <alise_> THERE CAN NEVER BE ENOUGH SYNCING.
01:02:04 <alise_> Okay, so coppro says the kernel responds to init's return value; pikhq says it just panics if you do that; and Ilari says there is a system call to do it.
01:02:25 <alise_> /* turn off special C-A-D handling */
01:02:25 <alise_> reboot(0xfee1dead, 672274793, 0xCDEF0123);
01:02:25 <alise_> /* try to kill all 'dem nasty processes off */
01:02:25 <alise_> kill(-1, SIGTSTP);
01:02:25 <alise_> kill(-1, SIGSTOP);
01:02:26 <alise_> kill(0, SIGSTOP);
01:02:28 <alise_> Haha what.
01:02:41 <alise_> NAME
01:02:42 <alise_> reboot - reboot or enable/disable Ctrl-Alt-Del
01:02:44 <alise_> Okay, that's a nice system call.
01:02:47 <Sgeo_> Hm.
01:03:00 <Sgeo_> There are Computer Forensics classes in the Criminal Justice major
01:03:40 <alise_> pikhq: Are you sure that exit(0) doesn't halt the ysstem in Linux?
01:03:57 <Ilari> If PID1 exits, the system will crash.
01:04:25 <alise_> But init is PID1.
01:04:28 <pikhq> Yes.
01:04:37 <pikhq> If PID1 exits, the system will crash.
01:04:46 <pikhq> kill -9 1 is an instant kernel panic on Linux.
01:04:52 <alise_> But how can you crash it from inside init then??
01:04:55 <alise_> Kill YOURSELF?
01:05:32 <Ilari> It isn't. PID1 is immune from SIGKILL (at least in new enough kernels).
01:05:53 <alise_> So how does init induce a kernel panic, then?
01:06:00 <alise_> Halting is exit(0), rebooting is using the reboot system call.
01:06:07 <pikhq> Hmm.
01:06:10 <Ilari> exit(0) panics too.
01:06:54 <alise_> This system call will fail (with EINVAL) unless magic equals
01:06:55 <alise_> LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead) and magic2 equals
01:06:55 <alise_> LINUX_REBOOT_MAGIC2 (that is, 672274793). However, since 2.1.17 also
01:06:55 <alise_> LINUX_REBOOT_MAGIC2A (that is, 85072278) and since 2.1.97 also
01:06:55 <alise_> LINUX_REBOOT_MAGIC2B (that is, 369367448) and since 2.5.71 also
01:06:55 <alise_> LINUX_REBOOT_MAGIC2C (that is, 537993216) are permitted as value for
01:06:57 <alise_> magic2. (The hexadecimal values of these constants are meaningful.)
01:06:59 <alise_> The cmd argument can have the following values:
01:07:11 <alise_> SO WHY DO THESE ARGUMENTS EXIST
01:07:14 <Sgeo_> exit panics???
01:07:45 <pikhq> HOW DOES THAT MAKE SENSE LINUX
01:07:51 <Ilari> PID1 is also immune to ptrace and all non-hardware signals that would cause immediate process end (maybe even to all non-hardware signals that don't have handlers).
01:07:59 <CakeProphet> I've never really taken the time to attempt to learn anything about the linux kernel.
01:08:03 <CakeProphet> it looks like a monster.
01:08:04 <pikhq> Ilari: sudo kill -9 1
01:08:05 <uorygl> In case you're making random system calls, perhaps? :P
01:08:06 <pikhq> Try it.
01:08:12 <Ilari> pikhq: I have.
01:08:17 <alise_> LINUX_REBOOT_CMD_HALT
01:08:17 <alise_> (RB_HALT_SYSTEM, 0xcdef0123; since 1.1.76). The message "System
01:08:17 <alise_> halted." is printed, and the system is halted. Control is given
01:08:17 <alise_> to the ROM monitor, if there is one. If not preceded by a
01:08:17 <alise_> sync(2), data will be lost.
01:08:18 <uorygl> iTunes is also immune to ptrace!
01:08:19 <alise_> aha
01:09:25 <alise_> pikhq: Oh; RESTART is not REBOOT.
01:09:30 <alise_> So how does one induce a reBOOT?
01:09:51 <Ilari> alise_: That system call has reboot, halt and poweroff.
01:10:02 <alise_> LINUX_REBOOT_CMD_RESTART
01:10:03 <alise_> (RB_AUTOBOOT, 0x1234567). The message "Restarting system." is
01:10:03 <alise_> printed, and a default restart is performed immediately. If not
01:10:03 <alise_> preceded by a sync(2), data will be lost.
01:10:05 <alise_> Restarting; not reooting.
01:10:11 <alise_> *rebooting
01:10:16 <Ilari> alise_: It is reboot.
01:10:24 <alise_> LINUX_REBOOT_CMD_RESTART2
01:10:24 <alise_> (0xa1b2c3d4; since 2.1.30). The message "Restarting system with
01:10:24 <alise_> command '%s'" is printed, and a restart (using the command
01:10:24 <alise_> string given in arg) is performed immediately. If not preceded
01:10:24 <alise_> by a sync(2), data will be lost.
01:10:28 <alise_> How does it restart with a command, then?
01:11:04 <Ilari> IIRC, restarting with command is not supported on x86/x64 on stock kernels (or at least wasn't supported).
01:11:21 <alise_> So, does syncing multiple times help anything?
01:12:34 <pikhq> No.
01:13:17 <pikhq> If you've got all other processes stopped (as you should when shutting down), sync(2) will flush the entirety of the write buffers to disk, and then nothing is getting added.
01:13:18 -!- augur has quit (Remote host closed the connection).
01:13:51 <alise_> void rampage(void)
01:13:51 <alise_> {
01:13:51 <alise_> kill(-1, SIGTERM);
01:13:51 <alise_> sleep(MERCY_TIME);
01:13:51 <alise_> kill(-1, SIGKILL);
01:13:51 <alise_> kill(0, SIGKILL);
01:13:53 <alise_> }
01:13:55 <alise_> MWAHAHAHA!
01:14:00 -!- augur has joined.
01:16:30 <CakeProphet> hmmm... so Map and Set in Haskell are implemented with binary trees?
01:16:37 <alise_> yes
01:17:01 <alise_> Hmm... stay_calm() doesn't really do that. freakout(), perhaps.
01:17:01 <CakeProphet> hmmm... I've never considered how I would implement such a thing. I always go with the hash table implementation for such things.
01:17:23 <alise_> Making one of my functions become execl_or_freak.
01:17:32 <alise_> CakeProphet: A purely functional hash table. What a delightfully ridiculous idea.
01:17:53 <CakeProphet> ha. It allocates all of that memory so it can be freed and allocated again.
01:19:36 <CakeProphet> alise_: hmmm, I can see sets, but how would you do maps that way?
01:20:22 <alise_> Easily. :P
01:20:52 <alise_> pikhq: init doesn't need to getty to start a shell, right?
01:20:56 <alise_> Since it already has a tty.
01:22:17 <pikhq> init does not have a tty.
01:22:20 <pikhq> It has /dev/console.
01:22:24 <alise_> Well, true.
01:22:33 <pikhq> But, yes, you can start a shell from this.
01:22:33 <alise_> But I can printf to it and so can /bin/sh, so nyah. :P
01:22:46 <alise_> pikhq: If there's no /bin/sh, should I prompt for a command? ...Nah. If there's no /bin/sh you're fucked.
01:22:55 <pikhq> If there's no /bin/sh you're fucked.
01:22:59 <alise_> ... it doesn't matter if it's a login shell, does it :P
01:23:07 <pikhq> Moot point.
01:23:29 <alise_> if (execl("/bin/sh", NULL) == -1) {
01:23:29 <alise_> perror("/bin/sh");
01:23:29 <alise_> printf("\nI am so, so sorry.\n");
01:23:29 <alise_> exit(1);
01:23:29 <alise_> }
01:23:41 <pikhq> Pretty much.
01:28:17 <Gregor> That message is too polite.
01:28:26 <Gregor> It should be fprintf(stderr, "\nHa, you are SO fucked.\n");
01:29:39 <CakeProphet> I wonder why they didn't just make map and fmap the same function.
01:31:42 <pikhq> The Prelude is a bit... Poorly thought out in places.
01:31:47 <pikhq> That is one of those places.
01:31:52 <alise_> http://pastie.org/1011921.txt?key=peblziys9iykh1o5icpw
01:32:01 <alise_> Here is a program that I have neither proven correct nor even tested.
01:32:08 <alise_> I doubt it even compiles. But it is a start.
01:32:25 <alise_> Gregor: Yeah but I wished them good luck before!
01:32:29 <alise_> Hmm, what happens if you exit the shell...
01:32:33 <alise_> I guess I'll start it again in a loop.
01:33:04 <CakeProphet> hmmm... is there a function somewhere in Haskell:
01:33:14 <CakeProphet> flipAround :: Either a b -> Either b a
01:33:32 <alise_> Flabbergasting; it compiles.
01:33:47 <alise_> Well, close enough.
01:34:18 <alise_> Oh, I neglected to specify argv[0].
01:34:18 -!- Oranjer has joined.
01:34:36 <alise_> pikhq: what do you think of this structure:
01:34:44 <alise_> /etc/init.{start,stop} which call upon /etc/init.d/*.{start,stop}?
01:34:56 <pikhq> CakeProphet: flipAround (Either a b) = Either b a
01:34:59 <pikhq> Does now.
01:35:10 <pikhq> alise_: Seems reasonable.
01:36:08 <CakeProphet> pikhq: ha, not quite. But yeah, it is trivial.
01:36:24 <CakeProphet> I was wondering because the semantics of fmap only applies f to Right values
01:36:39 <CakeProphet> so I figured a function to swap left and right would be handy.
01:36:52 <CakeProphet> for... who knows.
01:36:55 <pikhq> Whaddya mean, "not quite"? That *is the full function*.
01:37:08 <CakeProphet> Either isn't a constructor for Either
01:37:13 <pikhq> Oh, right.
01:37:15 <pikhq> XD
01:37:17 <CakeProphet> :P
01:37:33 <CakeProphet> but it would be similar to that.
01:37:37 <CakeProphet> it would just match on left/right
01:37:40 <pikhq> flipAround (Left x) = Right x;flipAround (Right x) = Left x
01:38:44 <CakeProphet> Haskell is so terse. The same code, complete with generics, in Java would be immense.
01:39:08 <alise_> LINUX_REBOOT_MAGIC2 = 672274793 = 0x28121969 = 28/12/1969 = Linus' birthdate
01:39:44 <uorygl> Yeah, those are all dates.
01:40:00 <alise_> It's an intentional easter egg.
01:40:07 <pikhq> *Ah*.
01:40:16 <alise_> #define CMD_HALT 0xcdef0123
01:40:16 <alise_> #define CMD_REBOOT 0x1234567
01:40:21 <alise_> ...whereas these, on the other hand, are just ridiculous.
01:40:49 <pikhq> And 2A,B,C are probably his children?
01:41:22 <alise_> Ah, I guess so.
01:41:25 <CakeProphet> I remember trying to explain Either to a friend of mine who has only ever touched C++
01:41:28 <alise_> /* Under glibc some of the constants involved have gotten
01:41:28 <alise_> symbolic names RB_*, and the library call is a 1-argument
01:41:28 <alise_> wrapper around the 3-argument system call: */
01:41:31 <pikhq> Yup, has 3 daughters.
01:41:35 <pikhq> Would make sense.
01:41:37 <alise_> Okay, time to figure out how to get the system call.
01:41:43 <CakeProphet> actually, replace "Either" in that sentence with "anything in Haskell"
01:41:46 <alise_> (Must! Eliminate! glibc! Dependencies!)
01:42:15 <CakeProphet> This is your brain
01:42:20 <pikhq> CakeProphet: Just about everything is more terse, yes.
01:42:21 <CakeProphet> this is your brain on glibc
01:42:32 <pikhq> "Wait, you can just write the comment and that's code? Whoa."
01:43:02 <CakeProphet> ....wait, you can?
01:43:15 <CakeProphet> What are you referring to.
01:43:27 <pikhq> Haskell code sometimes looks like the comments for more complicated code.
01:43:37 <pikhq> For instance, that flipAround function.
01:43:41 <uorygl> It's neat when people respond to an "Is that really true?" question with the same question.
01:44:03 <CakeProphet> pikhq: ah. gotcha
01:44:29 <CakeProphet> so
01:44:50 <alise_> [ehird@ping init]$ gcc -Wall -Wextra -Os init.c -o init
01:44:51 <alise_> Hells yeah.
01:44:57 <alise_> ...running this as root would be a bad idea, yeah?
01:44:59 <CakeProphet> what are some languages with interesting pattern matching semantics? I am looking to study pattern matching in existing languages so that I possibly develop the idea further, or at least find a preferred approach.
01:45:17 <CakeProphet> alise_: nah, should be fine. Give it a whirl.
01:45:24 <CakeProphet> it's just code.
01:45:28 <CakeProphet> what can it do?
01:45:37 <alise_> CakeProphet: Code that can reboot the system.
01:45:45 <alise_> And kill every process in the ... process.
01:45:51 <CakeProphet> oh no. tragic.
01:45:58 <alise_> Fine, fine.
01:46:01 <CakeProphet> it'll be like a Windows machine.
01:46:28 <alise_> [ehird@ping init]$ wc -c init
01:46:29 <alise_> 6064 init
01:46:30 <alise_> (Post-strip.)
01:46:32 <alise_> Not bad, for gcc.
01:46:41 <alise_> *glibc
01:46:42 <alise_> OTOH, a dynamically linked init is the stupidest fucking idea I've ever heard.
01:46:50 <alise_> /sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped
01:46:51 <alise_> *gawp*
01:46:53 <alise_> I was joking...
01:47:05 <alise_> [ehird@ping init]$ wc -c init
01:47:06 <alise_> 599200 init
01:47:06 <alise_> *groan*
01:47:16 <alise_> Oh well, nice knowing you guys
01:47:23 <CakeProphet> man you need to tell that init to shut up
01:47:25 <alise_> [ehird@ping init]$ sudo ./init
01:47:25 <alise_> Password:
01:47:25 <alise_> /etc/init.start: No such file or directory
01:47:25 <alise_> /etc/init.start exited with status code 1
01:47:25 <alise_> Something terribly bad has happened. I'm going to try and start an
01:47:26 <alise_> emergency recovery shell... good luck.
01:47:28 <alise_> [root@ping init]#
01:47:32 <alise_> pikhq: I have created the world's first userspace init.
01:47:56 <Gregor> What ... a great idea?
01:48:25 <alise_> OH GOD EVERYTHING IS BROKEN
01:48:28 <CakeProphet> I'm wondering how you could create pattern matching constructs that aren't strictly data constructors
01:49:22 <alise_> I just forkbombedmyelf
01:49:33 <alise_> HALP11
01:49:40 <CakeProphet> quick
01:49:43 <CakeProphet> alt+F4
01:49:44 <CakeProphet> will fix it.
01:51:59 -!- augur has quit (Ping timeout: 265 seconds).
01:52:08 -!- alise_ has quit (Read error: Connection reset by peer).
01:52:45 -!- augur has joined.
01:52:59 <CakeProphet> perhaps I need a less computer-saavy audience for my trick... especially an audience that isn't doing crazy things with their machine and thus doesn't have alt+f4
01:53:09 <CakeProphet> Facebook!
01:53:16 <CakeProphet> "Dude I found the dislike button..."
01:54:00 -!- alise has joined.
01:54:01 <alise> init.c:18:1: warning: ‘noreturn’ function does return
01:54:04 <alise> No... it really doesn't
01:54:09 <alise> if (execl("/bin/sh", "sh", NULL) == -1) {
01:54:09 <alise> perror("/bin/sh");
01:54:09 <alise> printf("\nI am so, so sorry.\n");
01:54:09 <alise> exit(1);
01:54:09 <alise> }
01:54:10 <alise> }
01:54:13 <alise> That never terminates. Ever.
01:54:18 <alise> Er, never returns, rather.
01:54:47 <pikhq> alise: GCC is really really retarded about its treatment of noreturn.
01:55:13 <alise> I only did it to stop it whining about another function :-)
01:55:16 <alise> int cmd;
01:55:17 <alise> switch (signal) {
01:55:17 <alise> case SIG_SHUTDOWN: cmd = CMD_POWER_OFF; break;
01:55:17 <alise> case SIG_REBOOT: cmd = CMD_RESTART; break;
01:55:17 <alise> default: printf("Bad signal passed to shutdown() -- how?!\n"); freak_out();
01:55:17 <alise> }
01:55:19 <pikhq> It seems to not realise that you are saying "NO THIS DOESN'T RETURN. AT ALL. I DON'T CARE WHAT YOUR FLOW ANALYSIS SAYS."
01:55:19 <alise> Complained about unset cmd.
01:55:36 <alise> I have a line of 81 characters. *rebel*
01:56:07 <uorygl> Ooh, I am *so* going to go to Finland just so I can have a surname of "Turrila".
01:56:30 <alise> init.c:49:2: warning: implicit declaration of function ‘kill’
01:56:41 <Gregor> uorygl: Going to a country does not automatically change your surname.
01:56:45 <alise> No... you see... "-std=c89" does not mean "Pretend I'm not on Linux".
01:56:52 <alise> Suck on a diiiick, gcc.
01:56:53 <uorygl> Yes, but I can change my surname after going to a country.
01:57:00 <uorygl> And it also provides a wonderful excuse for doing so.
01:57:02 <alise> uorygl: You could change it in your country too.
01:57:45 <uorygl> Yes, but... nobody in my country would understand what "Turrila" means. :P
01:58:53 <alise> pikhq: Pray tell, is there a gcc flag meaning "No GNU extensions, but also, turns out I /am/ on Linux actually"?
01:58:57 <alise> Gregor: Plof!
01:59:11 <Gregor> What about it?
01:59:28 <coppro> alise: why does -std=c89 make it pretend your not on linux?
01:59:37 <alise> coppro: *you're; and who knows.
01:59:44 <alise> turns out kill and sync aren't in the C89 standard. Astonishing.
01:59:46 <alise> Gregor: I dunno.
01:59:47 <coppro> no, I mean in what way
01:59:50 <coppro> oh
01:59:56 <Gregor> In what way does it make it pretend you're not on Linux?
01:59:59 <coppro> alise: what if the if condition is false? it will fall off
02:00:27 <alise> coppro: then execl succeeded
02:00:32 <alise> or are you not aware of the function of execl?
02:00:32 <CakeProphet> psh
02:00:38 <coppro> ah
02:00:38 <CakeProphet> I do all my system programming in Haskell.
02:00:40 <alise> in case you're not, note that it replaces the current process with an entirely new one.
02:00:50 <CakeProphet> recursive pointer arithmetic ftw
02:00:53 <alise> thus, there is very little chance of a function that successfully calls execl returning :P
02:01:00 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:01:35 -!- FireFly has quit (Quit: swatted to death).
02:02:06 <Gregor> alise: Is freak_out the function in question?
02:02:23 <Gregor> alise: And is it marked __attribute__((noreturn)) ?
02:02:28 <alise> Yes.
02:02:34 <Gregor> Well, then GCC sucks :P
02:02:43 <alise> http://pastie.org/1011940.txt?key=mhlrdd6el82e0co3qr7jbg
02:02:46 <alise> I concur.
02:03:36 <Gregor> alise: Incidentally, I'm in the midst of integrating a new GC into Plof :P
02:03:40 <Gregor> It's a PITA.
02:03:43 <Gregor> But it desperately needs it.
02:03:53 <alise> It's a good idea for init to avoid libc and use syscalls as much as possible, methinks...
02:04:07 * alise wonders how to explicitly override a libc function with a syscall
02:05:01 <alise> Where's return gone from PSL?
02:05:08 <alise> And has the thin/thick bullcrap been resolved yet?
02:05:40 <Gregor> wtf
02:05:47 <Gregor> That was resolved between version 2 and 3.
02:05:49 <Gregor> Like ... years ago?
02:05:49 <alise> 1.10 + "Files supported: %s\n"
02:05:50 <alise> 1.11 + "for i in %s; do ./gen $i > $i; done\n", supported, supported);
02:05:51 <alise> wut
02:05:56 <alise> Gregor: How was it resolved again? XD
02:06:19 <Gregor> Idonno, it's all different now. There are only functions.
02:06:42 <Gregor> It's not so much that it was resolved as that the entire question was sidestepped.
02:07:53 <Gregor> alise: Oh, and that snippet of bash code is because I'm too lazy to retype it every (rare) time that I need to update those generated files :P
02:09:34 <alise> Hmm, _syscallN(...) isn't expanding.
02:09:43 <alise> Why not.
02:09:53 <Gregor> It's lost its appetite.
02:10:16 <alise> Okay, because the include files no longer actually define it.
02:10:18 <alise> Lovely.
02:10:37 <Gregor> Probably need to #define _SOMETHING_SOURCE for it to include it.
02:10:38 <pikhq> alise: Plof now is partially lazy evaluating.
02:10:48 <pikhq> Thus entirely sidestepping thick/thin.
02:11:10 <alise> Gregor: No, quite literally:
02:11:11 <alise> http://linux.die.net/include/linux/unistd.h
02:11:12 <alise> http://linux.die.net/include/asm/unistd.h
02:11:13 <pikhq> This has been the semantics for Plof 3... Oh, since Plof 3 had a user language.
02:11:30 <alise> CONFORMING TO
02:11:30 <alise> The use of these macros is Linux-specific, and deprecated.
02:11:31 <alise> Suck my duck.
02:11:40 <alise> Starting around kernel 2.6.18, the _syscall macros were removed from
02:11:40 <alise> header files supplied to user space. Use syscall(2) instead. (Some
02:11:40 <alise> architectures, notably ia64, never provided the _syscall macros; on
02:11:40 <alise> those architectures, syscall(2) was always required.)
02:11:43 <alise> Suck my duuuuck.
02:11:57 <Gregor> alise: Wow ... that actually sucks a surprising amount.
02:12:09 <pikhq> asm/unistd.h should define the system call numbers. You'll need to manually implement the system call wrappers.
02:12:22 <alise> What the hell is wrong with a good ol' process that wants to be honest and use syscalls not shitty libc?
02:12:29 <alise> Who wants to depend on glibc, really? If they have a choice?
02:12:34 -!- augur has quit (Read error: Connection reset by peer).
02:13:05 -!- augur has joined.
02:13:38 <CakeProphet> alise: Hey, /depends/ on who you're talking about. ahahahaha.
02:13:39 <CakeProphet> so bad.
02:13:51 <alise> Plz die <3
02:14:07 <CakeProphet> you've been kill()ing too much
02:14:40 <Gregor> I think I'm going to go buy a cake.
02:14:41 <Gregor> Then eat it.
02:14:49 <Gregor> Just to imagine that I'm destroying you.
02:19:28 <alise> No, no, he's a prophet about cakes.
02:19:44 <alise> [ehird@ping init]$ sudo ./init
02:19:44 <alise> /etc/init.start: No such file or directory
02:19:44 <alise> /etc/init.start exited with status code 1
02:19:44 <alise> Something terribly bad has happened. I'm going to try and start an
02:19:44 <alise> emergency recovery shell... good luck.
02:19:45 <alise> [root@ping init]#
02:19:47 <alise> Still works! :P
02:20:04 <alise> 75-line init. Not bad if I do say so myself.
02:20:24 <alise> Now to create wildly incompatible shutdown(8) and reboot(8)s.
02:20:28 <Gregor> wc -c init
02:20:34 <alise> 6024.
02:20:39 <alise> After strip -s.
02:20:41 <Gregor> 'snot bad.
02:20:44 <alise> Dynamically linked, but then so is /sbin/init.
02:20:53 <alise> I plan to link it statically with uclibc or newlib in the actual distro.
02:22:35 <Gregor> THEN, make it run on Microsoft Xenix.
02:26:21 <alise> So. Declaring main as noreturn because it shuts down the system.
02:26:26 <alise> Terrible idea or ludicrous idea?
02:27:06 <alise> Uh oh; I'm about to pull a GNU echo.
02:28:33 <pikhq> Problem is that you can't declare main.
02:28:59 <coppro> yes you can
02:29:10 <coppro> at least, you ought to be able to if the compiler's doing its job
02:29:19 <pikhq> Not in hosted implementations?
02:30:03 <alise> pikhq: How would you suggest fooling GCC into thinking a noreturn function really does return when it does but gcc can't be convinced of this fact, with no effect on the generated code?
02:31:23 <pikhq> alise: The whole point of noreturn is to effect the generated code...
02:31:23 <alise> 33 var Bool = Object : [
02:31:23 <alise> 34 ifTrue = (x) { this }
02:31:24 <alise> 35 ifFalse = (x) { this }
02:31:24 <alise> 36 ]
02:31:29 <alise> Bool is a boolean that is neither true nor false.
02:31:32 <pikhq> Making it not emit code for exiting the function.
02:31:36 <alise> (This is one of the issues of prototypical languages.)
02:31:39 <alise> pikhq: Yes.
02:31:44 <alise> But gcc is warning that it does return.
02:31:49 <alise> How can I make it STFU?
02:31:58 <alise> So that it actually thinks it does not return.
02:31:59 <pikhq> Yes. The answer to that is BEAT GCC DEVS
02:32:02 <alise> *really does not return
02:32:10 <alise> pikhq: I don't want to disable the warning in case it's still generating exit code.
02:32:20 <pikhq> Because the whole *point* of such an attribute is to assure GCC that it doesn't return.
02:32:21 <alise> Perhaps an unreachable for (;;), but that would be put in the generated code!
02:32:25 <pikhq> It's still generated the exit code.
02:33:21 <CakeProphet> just hack the machine code... psh, you guys are just making it complicated with all of these abstractions.
02:33:24 <CakeProphet> :P
02:34:18 <alise> #include <stdlib.h>
02:34:19 <alise> #include <stdio.h>
02:34:19 <alise> #include <signal.h>
02:34:19 <alise> #include "init.h"
02:34:19 <alise> int main(void)
02:34:19 <alise> {
02:34:21 <alise> if (kill(1, SIG_SHUTDOWN) == -1) {
02:34:23 <alise> perror("kill");
02:34:25 <alise> return 1;
02:34:27 <alise> }
02:34:29 <alise> printf("Shutting down...\n");
02:34:31 <alise> return 0;
02:34:33 <alise> }
02:34:35 <alise> ^ 582 KiB statically linked to glibc.
02:34:52 <alise> Only one thought presents itself: WHY GOD WHY.
02:36:47 <olsner> I think it's due to linking with glibc
02:36:52 <alise> Indeed.
02:36:59 <alise> pikhq: does Linux require PAM?
02:37:03 <pikhq> No.
02:37:06 <alise> Yay.
02:37:12 <alise> Does ssh?
02:37:17 <pikhq> No.
02:37:28 <alise> So I can replace it with something sane such as a login(1) that does the ludicrously insane idea of, say, reading /etc/shadow and checking the password.
02:37:37 <alise> Gosh golly I am subverting modern technology
02:37:49 <pikhq> PAM is nothing more than an additional feature to allow further flexibility for login stuff.
02:37:57 <olsner> iirc that is exactly what you had before pam got enough traction
02:37:58 <pikhq> And, in fact, it's only in libc.
02:38:06 <alise> And waste stuff.
02:38:18 <pikhq> Every program that "uses" PAM is actually just using the libc login functions.
02:38:23 <alise> olsner: yeah; an awful lot of linux technology is just... pointless
02:38:25 <alise> such as HAL.
02:38:44 <pikhq> So, yeah. PAM is 100% optional.
02:38:57 <alise> When init(8) finds that a process has exited, it locates its utmp entry
02:38:57 <alise> by ut_pid, sets ut_type to DEAD_PROCESS, and clears ut_user, ut_host
02:38:57 <alise> and ut_time with null bytes.
02:38:58 <alise> Wow.
02:38:59 <pikhq> I'm pretty sure Gentoo gives you the option of just turning it off.
02:39:00 <alise> Is that necessary?
02:39:20 <alise> Q8: Root cannot do this without typing the user's password! Can I fix this?
02:39:20 <alise> Historically, root could do a number of things on behalf of a user without
02:39:20 <alise> having to bother with typing the user's password. Applications like
02:39:20 <alise> 'passwd', 'su' and 'chfn' would skip the "Enter user's password: " prompt
02:39:20 <alise> in such cases.
02:39:20 <alise> PAM places this behavior at the discretion of the System Administrator.
02:39:24 <alise> Yeah, because root can't already do everything.
02:42:19 <alise> Anyone brave and daring enough to try alise init v1?
02:43:22 <coppro> making root enter other users' passwords is dumb
02:43:30 <alise> indeed
02:43:30 <coppro> since it just encourages root changing them instead
02:43:57 <alise> -rwxr-xr-x 1 root root 36976 May 1 2009 /sbin/init
02:44:02 <alise> why can anyone else execute init?!
02:44:10 <coppro> O_o
02:44:19 <pikhq> When it's not pid 1, it acts as telinit.
02:44:22 <alise> guess nobody's ever heard of mode 744
02:44:28 <alise> pikhq: and?
02:44:30 <alise> you still need to be root.
02:44:38 <pikhq> Fair enough.
02:47:52 -!- MizardX- has joined.
02:48:34 <alise> pikhq: coppro: Gregor: I present alise init v1: http://filebin.ca/jxyhj/init.tar.gz
02:48:39 -!- MizardX has quit (Ping timeout: 240 seconds).
02:48:39 <alise> Note: Not actually tested. Hey, it compiles.
02:48:51 -!- MizardX- has changed nick to MizardX.
02:48:53 <CakeProphet> yo dawg we herd u liek root
02:48:55 <alise> And it's so simple there's no reason why it shouldn't work... plus it fails as it should in user mode.
02:49:23 <alise> tbh, I should probably adjust MERCY_TIME. 3 seconds isn't enough for the whole system to close down.
02:49:44 <CakeProphet> so we put root at your root so you can be root while you root
02:50:55 <CakeProphet> have you guys seen the new POSIX standard?
02:51:01 <alise> No. Thankfully.
02:51:04 <CakeProphet> there's a catastrophic_root_backdoor syscall
02:52:12 <alise> pikhq: as a sysadmin, how long do you like your inits to wait for the regular kills to go through before SIGKILLing EVERYTHING?
02:54:04 <pikhq> Few seconds, really. Most things should have been shut down by the shutdown scripts already.
02:54:11 <alise> True.
02:54:14 <alise> 3 seconds it is, then.
02:54:24 <pikhq> And the few things that wouldn't *should* shut down after SIGTERM right away.
02:54:26 <alise> pikhq: I take it you are currently migrating your system to alise init.
02:54:45 <pikhq> As far as I'm concerned, a program that doesn't respond to SIGTERM quickly is *broken*.
02:57:12 <CakeProphet> SIGNOREALLYGOAWAY
02:57:57 <pikhq> That's SIGKILL.
02:58:34 <alise> SIGCHAINSAW: removes the process from the process table immediately, so it will not be switched to again, and marks the memory that the code took up as free.
02:58:45 <alise> SIGKILL, at least, switches back to the process to let it commit suicide.
02:58:46 <alise> Mwahaha!
02:59:16 -!- oklopol has joined.
02:59:40 <Gregor> My vote goes for SIGCHAINSAWMASSACRE
03:00:41 <CakeProphet> I think I prefer the Erlang terminology on this one: SIGBRUTALKILL
03:00:52 <alise> <alise> SIGCHAINSAW: removes the process from the process table immediately, so it will not be switched to again, and marks the memory that the code took up as free.
03:00:58 <alise> I dare anyone to find a more final method of killing a process.
03:01:09 <alise> It just... it's better called SIGVAPORISE.
03:01:16 <alise> It never TOUCHES the process. The process just stops existing.
03:01:19 <CakeProphet> well...
03:01:47 <CakeProphet> there's always a hammer.
03:03:18 <alise> I take it you have all studied, with intense interest, the code to alise init v1.
03:03:21 <alise> No? Didn't think so. :P
03:04:49 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
03:05:03 <CakeProphet> some kind of portal time code!
03:05:07 <Sgeo_> My dad is insisting that the way to fix my sleep issues is to use an alarm clock
03:05:21 <pikhq> That doesn't help the going to bed bit.
03:06:02 <CakeProphet> I find taking a monster gravity bong hit put me to bed after about 2 hours...
03:06:03 <CakeProphet> but that's just me.
03:06:30 <CakeProphet> So maybe drugs are the answer.
03:07:51 -!- augur has quit (Ping timeout: 265 seconds).
03:08:00 <CakeProphet> I've actually fixed most of my sleeping problems now. I got some sleeping pill samples from my doctor and it only took a few before I was a on somewhat regular rhythm.
03:08:11 <CakeProphet> and I was bad off from normal schedules. Going to bed at 10 am and stuff.
03:08:17 <alise> Sgeo_: Your dad has been wrong about a great many things before, often extremely so.
03:08:33 <Sgeo_> He _is_ a doctor
03:09:14 <alise> No comment.
03:09:19 <CakeProphet> ha.
03:09:23 <Sgeo_> He does believe that my problem is that I'm sleeping at the wrong time and too much, rather than that I haven't been sleeping enough
03:09:34 <Sgeo_> He's not exactly aware of the nights I've stayed up on the computer
03:09:55 <CakeProphet> why on earth would you stay on your computer? Don't you have a desk?
03:10:05 <alise> Let's just put it this way... some people just can't maintain a normal sleep pattern without melatonin or similar.
03:10:08 <Sgeo_> It's in my room, and I use a laptop
03:10:09 * CakeProphet apologizes, for he is in a word-twisting mood.
03:10:11 <alise> You are clearly one of these people.
03:10:18 <alise> You could try valiantly to adjust to a normal sleep schedule...
03:10:21 <alise> Or just take melatonin and be done with it.
03:10:25 <Sgeo_> alise, I have been able to force myself to put the computer away
03:10:34 <alise> Yes. Now do that every day. No slip ups.
03:10:39 <alise> Have fun.
03:10:50 <Sgeo_> And he's not arguing against melatonin. He's arguing for waking me up 7 hours after I go to sleep
03:11:06 <CakeProphet> I've read in many trustworthy magazines that cocaine is very good for well-rested sleep.
03:11:22 <Sgeo_> Also, I can slip up with melatonin fairly easily, by delaying when I take it
03:12:26 <alise> <Sgeo_> And he's not arguing against melatonin. He's arguing for waking me up 7 hours after I go to sleep
03:12:37 <alise> Teenagers and slightly-after-teenagers need over 8 hours of sleep.
03:12:44 <alise> So right off the bat, he is wrong.
03:12:51 <Sgeo_> alise, find a credible source that I can show him
03:13:03 <alise> Sgeo_: Why? Just don't take his advice.
03:13:18 <alise> Sgeo_: wrt delaying melatonin -- have you observed this? Almost everyone is able to make good long-term decisions about when to sleep, just not in the short term.
03:13:20 <Sgeo_> Because I'm fully capable of avoiding him waking me up in the mornings.
03:13:21 <alise> Which is why melatonin is useful.
03:13:37 <alise> Well, yeah, I'm assuming he won't be an asshole and keep doing it if you request he stops.
03:13:41 <Sgeo_> I'm not particuarly willing to take melatonin before I'm ready to be asleep
03:13:54 <alise> Sgeo_: It takes half an hour to kick in.
03:14:01 <Sgeo_> Not an hour?
03:14:07 <alise> Well, I forget exactly.
03:14:07 <pikhq> aAnd 7 hours of sleep is actually too little for a *lot* of the population.
03:14:22 <alise> The whole point is that you make a reasoned decision about when to go to sleep, then enact it before the in-the-moment irrationality can kick in.
03:14:33 <alise> Then you WILL fall asleep in an hour. Problem solved.
03:14:36 <pikhq> 7 hours for me, for instance, is the *minimum* for actually being conscious for the remainder of the day.
03:14:43 <pikhq> The following day, that is.
03:14:55 <pikhq> Less than that, and the best I can do is half-zombie after a few hours.
03:15:59 <alise> So, using alise init yet? :-P
03:16:49 <CakeProphet> alise: we should have alise init up on every system on the grid by tomorrow
03:16:56 <alise> \o/
03:16:58 <CakeProphet> oh, by the way, I'm CEO of Google.
03:17:56 <alise> You know, I haven't tested this...
03:18:01 <alise> Oh what the hell, pay me for 24/7 support.
03:18:43 <CakeProphet> haha
03:18:54 <CakeProphet> buggier software = more money from support
03:18:56 <CakeProphet> brilliant.
03:20:27 <alise> Gregor: What's Plof NFI?
03:20:30 <alise> No Fucking Idea?
03:20:44 <Gregor> Native Function Interface
03:21:09 <CakeProphet> Nautical Fishkeepers Initiative
03:21:23 <alise> Nachos Fornicate Intelligently
03:22:30 <Gregor> e.g. CNFI allows Plof to call C functions.
03:22:48 <Gregor> If there were a Java implementation of Plof, it would have a JNFI. And a JavaScript implementation would have a JSNFI.
03:23:03 <alise> Calcium Nachos Fornicate Intelligently
03:23:18 <alise> Jagged Narcotics Fashionably Inebriate
03:23:36 <alise> Jolly Sapphire Naturally Fuels Irreligion
03:23:47 <CakeProphet> ...rofl.
03:23:53 <CakeProphet> naturally.
03:25:04 <alise> Gregor: SUPPLY MORE ACRONYMS
03:25:20 <CakeProphet> BASIC
03:25:26 <Gregor> PSL is the bytecode. PRP is the parsing/compiling framework. PUL is the user language.
03:25:57 <pikhq> Oh, and we use PCRE.
03:26:48 <CakeProphet> all of our acronyms are standardized under the AANI
03:27:13 <CakeProphet> well, in version 1
03:27:17 <CakeProphet> in version 2 we use ANSI
03:27:31 <CakeProphet> acronym naming and standardization interface
03:27:33 <CakeProphet> :)
03:27:50 <Gregor> ... "interface"
03:27:54 <Gregor> Yeah, that makes a lot of sense.
03:28:28 <alise> Gregor: they must be NFI acronyms.
03:28:42 <Gregor> Well, CNFI is the only implemented NFI.
03:28:43 <oklopol> pikhq: for me 10 seems to be the optimal amt
03:28:47 <alise> Make up new NFIs.
03:29:08 <Gregor> So, to use your imagination, take any language or system you feel like, tack it on to "NFI", then make some retarded expansion of it.
03:29:13 <Gregor> That should keep you entertained for hours.
03:29:20 <CakeProphet> SFRGG
03:29:23 <oklopol> sleep ->
03:29:28 <CakeProphet> Guess what it means anise
03:29:54 <CakeProphet> well
03:29:57 <CakeProphet> SfRoGG
03:30:17 -!- wareya has quit (Ping timeout: 260 seconds).
03:30:56 <alise> Gracenotes: PNFI (the P stands for Plof)
03:31:10 <alise> Peeing Negros Fail Ignorantly
03:32:52 <CakeProphet> rofl
03:33:01 -!- augur has joined.
03:33:03 <alise> Gregor: cplof is boring
03:33:23 <Gregor> Okidoke. I certainly don't intend for it to be exciting.
03:35:18 <pikhq> PNFI.
03:35:22 * CakeProphet writes a language with a compiler that can compile to all languages ever made.
03:35:24 <pikhq> Plof Native Function Interface.
03:35:27 <pikhq> >:D
03:35:32 <Gregor> With apologies for flooding, as this paste only has the desired impact if I just paste it right in:
03:35:34 <Gregor> :
03:35:34 <Gregor> # @(#) true.sh 1.1 86/12/18
03:35:34 <Gregor> #
03:35:34 <Gregor> # Copyright (C) The Santa Cruz Operation, 1985.
03:35:34 <Gregor> # This Module contains Proprietary Information of
03:35:35 <Gregor> # The Santa Cruz Operation, Microsoft Corporation
03:35:37 <Gregor> # and AT&T, and should be treated as Confidential.
03:35:39 <Gregor> #
03:35:41 <Gregor> #
03:35:45 <Gregor> #*** true -- do nothing, successfully
03:35:47 <Gregor> #
03:35:49 <Gregor> # true
03:35:51 <Gregor> exit 0
03:36:11 <alise> Old.
03:36:19 <Gregor> CONFIDENTIAL
03:36:23 <alise> iirc sun or some at&t thing has an even longer copyright thing
03:36:35 <alise> Gregor: oh so /that's/ the copied linux code :P
03:36:41 <Gregor> Yup :P
03:37:10 <CakeProphet> Little boxes on the hillside. Little boxes made of ticky tacky..
03:37:43 <pikhq> alise: Also some enums.
03:38:13 <alise> (Note that the Santa Cruz Operation weren't evil.)
03:38:39 <alise> (Nor were Caldera, who bought the Santa Cruz Operation; but when Caldera-who-bought-the-Santa-Cruz-Operation changed their name to The SCO Group and got a new SCO, they became evil.)
03:39:03 <Sgeo_> I thought Santa Cruz was some sound card company
03:39:04 <Gregor> Is getting a new SCO like getting a new groove?
03:39:05 -!- zzo38 has joined.
03:40:52 <alise> hi zzo38
03:42:00 <alise> pikhq: Do you have a uclibc or newlib toolchain?
03:42:02 <zzo38> I also think Linux would need some signal like the SIGCHAINSAW or whatever described in the log for this channel, but that is long name, someone said SIGVAPORISE that is long, perhaps SIGVAP for short? (In addition, init is not immune)
03:42:28 -!- wareya has joined.
03:42:36 <alise> zzo38: How on earth do you just REMOVE INIT from the process list and free its memory?
03:42:39 <alise> How does that even...
03:42:58 <pikhq> alise: ATM, I don't have a toolchain.
03:43:11 <alise> pikhq: ...at all?
03:43:18 <pikhq> Not a build one.
03:44:23 <alise> :P
03:44:25 <alise> :|
03:45:47 -!- leBMD has joined.
03:46:02 <leBMD> hallo, esolangers
03:46:48 <zzo38> Removing the init process might mess up everything
03:46:53 <Sgeo_> Do you have a way to download a prebuilt one?
03:47:17 <zzo38> But this way it would allow removing init anyways using a signal for destroy everything like that
03:51:00 <alise> zzo38: If init were to actually return the kernel would panic.
03:51:06 <alise> But if it were simply never switched to...
03:51:12 <alise> pikhq: nothing would happen right?
03:51:17 <alise> life would go on unless you tried to use init's functionality
03:53:21 <alise> Note: alise init v1 has a serious bug, it exits almost immediately after running /etc/init.start >_>
03:53:26 <coppro> lol
03:54:03 <Sgeo_> Causing a panic?
03:54:08 * Sgeo_ panics at the kernel panic
03:56:40 <coppro> rargh 3 fiery bulblaxes :(
03:59:50 <Sgeo_> I signed up for one of those "Give us your email address and we'll give you the secrets of the universe" things
04:00:17 <Sgeo_> I _think_ the content [to an approximation] is all available on the blog, not sure
04:00:32 <alise> Why?
04:01:08 <Sgeo_> To see what this nutjob's saying
04:01:45 <Sgeo_> He talks about "hyperevolution" and religion in science
04:02:13 <Sgeo_> The first email is about how since "DNA is a language", and "all languages are created by minds", that proves God exists
04:02:20 <Sgeo_> http://www.cosmicfingerprints.com/blog/prove-god-exists/
04:03:44 <alise> I hope you used a + email.
04:03:46 <alise> Oh, that guy.
04:04:04 <coppro> a + email?
04:04:24 <alise> foo+x@gmail.com ==> foo@gmail.com, but To: foo+x@gmail.com
04:04:37 <alise> i.e., useful for identifying and eliminating spam from shady sources by giving them a you+spammers@gmail.com address.
04:05:04 <Sgeo_> I made a separate gmail account
04:05:14 -!- Oranjer has left (?).
04:05:25 <Sgeo_> It's theoretically possible that spammers have caught on to that trick
04:05:30 <coppro> way to violate the ToS
04:05:35 -!- augur has quit (Remote host closed the connection).
04:05:45 -!- augur has joined.
04:05:46 <Sgeo_> o.O?
04:05:48 <coppro> my plan is to get a personal domain and just use prefixes
04:06:31 <myndzi> i've done that for like 10 years
04:06:35 <myndzi> forward *@domain
04:06:39 <myndzi> sign up with site.com@domain
04:06:40 <alise> coppro: violate which ToS?
04:06:43 <alise> it's a gmail feature!
04:07:02 <alise> oh, you mean two gmail accounts
04:07:05 -!- leBMD has quit (Quit: H.P.Lovecraft or something, anyone?).
04:07:07 <alise> also, spammers haven't caught on to it, i can guarantee it
04:07:11 <alise> or rather they know about it
04:07:13 <alise> they just don't give a shit
04:07:20 <alise> same reason "x AT y DOT z" works
04:07:27 <alise> the kind of people who do that have good spam filters anyway.
04:07:47 <alise> coppro: the problem with you.tld is the main email
04:07:54 <alise> you@you.tld looks stupid, me@you.tld looks ugly, etc.
04:07:57 <Sgeo_> But surely it takes two seconds to write something that strips the +whatever
04:08:24 <coppro> alise: personal@you.tld
04:09:01 <myndzi> the personal domain doesn't have to be your name/handle
04:09:28 <alise> coppro: personal@?
04:09:33 <alise> maybe if you're the ceo of google
04:09:35 <Sgeo_> Is 2 gmail accounts really against the ToS?
04:10:07 <alise> "Hey if you get any news on that project let me know, my email is personal@drearlgreyphd.name."
04:10:35 <Sgeo_> Best email address: n@ai
04:10:56 <pikhq> alise: How's about pikhq@josiahworcester.name ?
04:10:57 <pikhq> :P
04:11:14 <alise> Sgeo_: agreed
04:12:14 <Sgeo_> How much should I charge to tutor someone in C#?
04:12:20 <alise> Sgeo_: you should not.
04:12:32 <coppro> you should have to pay them
04:12:41 <Sgeo_> Because it's C#?
04:12:43 <alise> Firstly, because not many people are good tutors; secondly, because teaching someone C# borders on evil; thirdly, because you waste enough of your time already!
04:12:50 <alise> But the first point is important.
04:12:57 <alise> You can know something very well but be terrible at teaching it.
04:14:36 <Sgeo_> I fail to see how C# is worse than Java
04:14:42 <alise> It's not.
04:14:58 <alise> Which is kind of like saying you fail to see how being mugged is worse than being murdered.
04:15:07 <alise> See you guys tomorrow. I do believe I may end up writing a login(8)...
04:15:14 <alise> Oh, and pikhq: it's your job to remind me to check out mingetty.
04:15:17 <alise> Farewell.
04:15:20 -!- alise has quit (Quit: Leaving).
04:19:05 -!- zzo38 has quit (Remote host closed the connection).
04:22:10 -!- CakeProphet has quit (Ping timeout: 240 seconds).
04:23:13 <pikhq> My god "Prelude" is relaxing.
04:23:18 <pikhq> Just. My god.
04:25:29 <wareya> So I put a berakpoint on this code in am emulator and it's not breaking even though I know the code is excecuting
04:25:38 <wareya> breakpoint*
04:26:39 <Gregor> pikhq: And named in a uniquely-identifiable way, too.
04:28:05 <pikhq> Gregor: Okay, fine, I'll give you detail.
04:28:35 <pikhq> "Prelude", by Nobuo Uematsu for Final Fantasy.
04:29:19 <pikhq> In particular, the arrangement for the 2006 "Voices" concert...
04:34:54 <coppro> yes it is
04:35:19 <pikhq> So I'm an Uematsu fan. :P
04:35:45 <myndzi> have you been to any of the distant worlds concerts?
04:35:49 <myndzi> i think that's what they called it at least
04:35:54 <pikhq> No, I haven't.
04:36:00 <myndzi> they had one here in seattle with the seattle symphony that i went to
04:36:00 <pikhq> Though I would love to.
04:36:01 <myndzi> it was fun
04:36:12 <myndzi> but to be honest, they didn't play any songs i am familiar with anymore
04:36:17 <myndzi> lots of newer stuff
04:36:40 <pikhq> ... "Newer stuff"? When did you last play Final Fantasy, pray tell?
04:36:43 <myndzi> they got to the end and they hadn't played one winged angel, i was a bit surprised
04:36:50 <pikhq> (latest game)
04:36:51 <myndzi> but they brought it out for an encore lol
04:36:58 <myndzi> haha, last one i played through was 7
04:36:59 <myndzi> :P
04:37:07 <pikhq> You must play 10.
04:37:10 <pikhq> Must must must.
04:37:12 <myndzi> most of the songs i know well are from 6 and 7
04:37:13 <myndzi> and 4
04:37:46 <pikhq> It is my favorite in the series.
04:38:10 <myndzi> which one is that again
04:38:20 <pikhq> The first one for the Playstation 2.
04:38:23 <myndzi> oh right, teh one with the spinoff with dressup girls
04:38:24 <myndzi> ;p
04:38:41 <myndzi> i don't own any consoles really
04:38:53 <pikhq> You may consider the spinoff in the same light as the Star Wars prequels and the Matrix sequels.
04:38:58 <pikhq> (that is: DON'T DO IT!)
04:39:27 <pikhq> FFXII was enjoyable story-wise. But it hardly counts as a game.
04:40:17 <pikhq> Hmm. FF9 was fun... FF8 is much-liked by people other than I; I mostly remember it for the easiest way to beat it being a min-level run...
04:40:20 <myndzi> oh, i know, i just associated the two a little
04:40:25 <myndzi> i can remember a little about ff8 and 9
04:40:38 <pikhq> FFX was just plain awesome.
04:41:01 <myndzi> i have a bad history with rpgs lol
04:41:09 <myndzi> i played a bunch of them on emulators, but didn't finish any of them
04:41:25 <pikhq> I doubt you'll want to not finish FFX.
04:41:27 <myndzi> (to be fair, part of the reason was that freaking silicon image sata bug that corrupted my data crashing the emulators)
04:41:44 <myndzi> i mean
04:41:49 <myndzi> silicon integrated systems
04:41:51 <myndzi> i knew it was SI something
04:41:52 <myndzi> :P
04:42:00 <pikhq> Well. [boss whose name would be a spoiler, but you will know who I'm talking about because he's a bitch] is, well. A complete bitch.
04:42:11 <myndzi> hehe
04:42:17 -!- GreaseMonkey has joined.
04:42:21 <myndzi> kefka is my favorite baddie
04:42:21 <pikhq> Both plot-wise and gameplay-wise.
04:42:46 <myndzi> ohay, the alignment of these statues keeps the world together you say? PUSH!
04:42:47 <myndzi> :P
04:43:07 <pikhq> He intends to kill everyone to save them from their suffering.
04:43:11 <pikhq> Yes, really.
04:44:13 <myndzi> smart dude
04:44:14 <myndzi> :P
04:44:19 <AnMaster> <myndzi> ohay, the alignment of these statues keeps the world together you say? PUSH! <-- I just got back from playing nwn. The word alignment confused me at first XD
04:44:30 <coppro> I love Ballad of the Windfish...
04:44:38 <myndzi> ha
04:44:39 <AnMaster> coppro, zelda?
04:45:01 * AnMaster tries to remember
04:45:14 <AnMaster> coppro, links awakening?
04:45:22 <pikhq> I'm quite partial to "To Zanarkand" (zanakaando ni te)...
04:45:31 <AnMaster> pikhq, ??
04:45:35 <AnMaster> where is that
04:45:38 <pikhq> FFX
04:45:42 <pikhq> Main theme.
04:45:45 <AnMaster> oh
04:45:52 <AnMaster> pikhq, wait which console is FFX for?
04:45:55 <pikhq> PS2.
04:45:57 <AnMaster> ah
04:46:02 <AnMaster> haven't played it then
04:46:07 <pikhq> You, too, should play it.
04:46:11 <AnMaster> pikhq, any emulator?
04:46:17 <AnMaster> I don't own a PS 2
04:46:21 <AnMaster> nor do I know anyone who does
04:46:23 <pikhq> PCSX2 can play it, but you need a really good computer.
04:46:29 <pikhq> Dude, PS2s are $99 *new*.
04:46:42 <AnMaster> pikhq, so a sempron 3300+ with a geforce 7600 card won't work?
04:46:42 <pikhq> (much cheaper used)
04:46:43 <myndzi> haha nice
04:46:49 <pikhq> No, it wouldn't.
04:46:54 <coppro> AnMaster: yes
04:46:54 <AnMaster> pikhq, it is either that or a mobile core 2 duo with intel graphics
04:47:00 <pikhq> I've tried on a system of similar specs. It got about 15 fps.
04:47:18 <pikhq> The PS2 is a bitch to emulate.
04:47:30 <AnMaster> I see
04:47:38 <AnMaster> pikhq, does it do JITing?
04:47:42 <pikhq> Yes.
04:47:47 <AnMaster> okay then I'm surprised
04:48:05 <AnMaster> pikhq, I'll just play nwn instead
04:48:05 <myndzi> how about this one
04:48:06 <myndzi> http://laptops.toshiba.com/laptops/satellite/A500/A505-S6986
04:48:07 <AnMaster> quite a nice game
04:48:08 <myndzi> hehe
04:48:28 <AnMaster> myndzi, ?
04:48:33 <myndzi> stats wise
04:48:34 <pikhq> It had like 10 different processors!
04:48:39 <myndzi> craziness
04:48:57 <AnMaster> myndzi, how many MHz?
04:49:06 <myndzi> i linked it?
04:49:18 <AnMaster> myndzi, yes but it just says "Intel® Core™2 Duo Processor T6600"
04:49:20 <myndzi> honestly i don't know lol
04:49:26 <AnMaster> myndzi, and I have no clue what that is in MHz
04:49:34 <myndzi> me neither
04:49:44 <AnMaster> myndzi, I think it is slower than my thinkpad
04:49:44 <myndzi> 2.2
04:49:45 <pikhq> Lessee... The CPU, the two programmable vector units, the two audio processors, and the IO processor.
04:49:51 <AnMaster> myndzi, well yes slower than my thinkpad
04:50:05 <AnMaster> it has more ram though (except I expanded mine to the full 4 GB)
04:50:07 <myndzi> but dedicated graphics
04:50:26 <AnMaster> myndzi, yep, but I bet my battery lasts longer
04:50:32 <AnMaster> myndzi, also it has glossy screen I bet
04:50:34 <myndzi> i had a netbook
04:50:42 <myndzi> then i realized i'm just not that mobile
04:50:42 <myndzi> :P
04:50:43 <AnMaster> myndzi, there is NOTHING I hate as much as glossy monitors
04:50:51 <AnMaster> it is just not usable indoors
04:50:56 <pikhq> The fastest processor on here was 300 MHz, *but* that's just a lot of CPUs to emulate.
04:50:59 <AnMaster> which is where I use my thinkpad most of the time
04:51:01 <AnMaster> at university
04:51:03 <AnMaster> myndzi, ^
04:51:15 <myndzi> pikhq: yeah, no kidding
04:51:17 <AnMaster> if the monitor isn't matte I'm not going to buy *ANYTHING*
04:51:25 <AnMaster> pikhq, so I assume it is multithreading?
04:51:29 <pikhq> Yes.
04:51:30 <myndzi> trubrite, that sounds glossy to me
04:51:36 <myndzi> i dunno though, it doesn't bother me
04:51:37 <AnMaster> myndzi, horrible
04:51:40 <myndzi> not nearly as much as the freaking keyboard
04:51:49 -!- CakeProphet has joined.
04:51:50 <pikhq> This is how it is possible to actually *run* it at full speed on a modern computer.
04:51:55 <AnMaster> myndzi, also it has hdmi eww
04:52:00 <AnMaster> myndzi, rather than displayport or dvi
04:52:14 <myndzi> not likely to use any of them
04:52:25 <AnMaster> myndzi, oh and too large for me. I use 15"
04:52:29 <pikhq> Oh, yeah. The IO processor is a Playstation 1.
04:52:35 <AnMaster> pikhq, ???
04:52:55 <myndzi> AnMaster: that's why it's not your laptop
04:53:09 <AnMaster> myndzi, another blocker: " No Bluetooth (No Antenna)"
04:53:10 <myndzi> AnMaster: they kept the cpu from the ps1 as an ancillary processor in the ps2
04:53:12 <AnMaster> yeah right
04:53:13 <myndzi> so they could emulate
04:53:13 <pikhq> Yes, to emulate a PS2 you must emulate a PS1.
04:53:21 <myndzi> i also don't need or want bluetooth
04:53:23 <AnMaster> huh
04:53:32 <AnMaster> myndzi, and no gbit ethernet
04:53:35 <AnMaster> that is another blocker for me
04:53:36 <myndzi> yeah, that sucked
04:53:41 <myndzi> i didn't realize it until it was too late
04:53:47 <AnMaster> wth 90W?
04:53:47 <myndzi> but once again, not likely to really need it
04:54:02 <AnMaster> my thinkpad is 65W
04:54:20 <myndzi> basically i wanted 1) a toshiba laptop 2) something i could get a decent deal on and 3) something that could act as kind of a secondary portable desktop for me
04:54:25 <AnMaster> and well on battery with bluetooth and wlan off it uses around 8 W according to powertop
04:54:38 <AnMaster> with wlan on about 14 W
04:54:52 <myndzi> i'm not really sure what it consumes, i suppose i could check
04:54:57 <myndzi> oh yeah, also wanted discrete graphics
04:55:07 <myndzi> it's annoying when games are like SORRY I DON'T LIKE YOUR ONBOARD SHIT
04:55:07 <AnMaster> myndzi, 2.25 hours battery time sucks
04:55:27 <AnMaster> myndzi, I can get about 3.5 hours out of mine with wlan and bluetooth off and doing typing stuff
04:55:28 <myndzi> see what i said before about not needing mobility?
04:55:44 <myndzi> also iirc i can get a 6 cell for it and quite a bit more battery life than 2.25
04:55:48 <myndzi> but i don't really need to
04:55:50 <AnMaster> myndzi, yeah, I need something mobile but more powerful than a netbook (I need to compile stuff sometimes)
04:56:08 <AnMaster> myndzi, it says " Li-Ion (4000mAh, 6-Cell)" and " Up to 2.25 hours"
04:56:14 <AnMaster> so I presume that is for that one?
04:56:54 <myndzi> maybe i was thinking 12 cell?
04:56:56 <myndzi> i don't even know anymore
04:57:07 <AnMaster> makes more sense
04:57:12 <AnMaster> they stick out at the back though
04:57:13 <AnMaster> "1-eSATA/USB (2.0) combo port with Sleep and Charge, "
04:57:15 <myndzi> it gets the job done for me, and i don't have a bunch of fucked up stuff like with other laptops i've encountered
04:57:24 <AnMaster> myndzi, okay wth is a combined esata and usb port
04:57:28 <AnMaster> is that even possible?
04:57:29 <myndzi> they share the same socket
04:57:40 <AnMaster> myndzi, the connectors are compatible ?
04:57:52 <myndzi> they designed the socket so either will fit
04:57:56 <myndzi> it's kinda interesting
04:57:56 <AnMaster> ah
04:57:59 <myndzi> though i have no esata devices
04:58:05 <AnMaster> myndzi, a photo of the socket would be cool
04:58:06 <myndzi> i've used it for usb before, no troubles
04:58:29 <myndzi> http://www.dvhardware.net/news/msi_power_esata.jpg
04:59:13 <AnMaster> eh, power cable free? is there some special variant that uses both esata and usb to take power from it?
04:59:20 <AnMaster> while doing esata
04:59:26 <myndzi> ? i'm not sure, i just googled that
04:59:29 <myndzi> it looks about like that
04:59:36 <AnMaster> ah
04:59:37 <myndzi> i'm not sure if it's functionally different or not
04:59:47 <myndzi> or what the power thing is about
04:59:55 <myndzi> anyway, it can be said that i am inexperienced at choosing laptops
04:59:58 <AnMaster> right
05:00:07 <myndzi> but i got one that serves my purposes and doesn't give me headaches
05:00:14 <myndzi> so it's ok by me
05:00:14 <AnMaster> headaches?
05:00:25 <AnMaster> myndzi, if I wanted those specs I would go for a workstation btw
05:00:32 <AnMaster> it would probably run less hot
05:00:40 <myndzi> overheating/crashing/rebooting like the gateway my brother had
05:00:46 <myndzi> anything like any of the hp laptops my dad has had
05:00:57 <AnMaster> myndzi, homebuilt desktop I meant
05:00:58 <myndzi> bizarre bugs relating to driver shit they have on there, weird annoying behavior
05:01:01 <myndzi> yeah, i have one
05:01:09 <AnMaster> myndzi, linux?
05:01:10 <myndzi> but for one reason or another it's not convenient to use for games and the like
05:01:14 <myndzi> windows
05:01:17 <AnMaster> I only ever had driver problems with windows
05:01:18 <myndzi> i'm not a linuxfag ;P
05:01:31 <AnMaster> stuff like hp printers work way better under linux than windows in my experience
05:01:33 <myndzi> and i sure as hell ain't gonna switch my dad over
05:01:40 <myndzi> but every hp laptop he's had
05:01:43 <AnMaster> especially their multifunction printers/scanner/copier
05:01:49 <myndzi> he always winds up asking me why some fucked up thing is happening
05:01:56 <myndzi> and it causes me headaches trying to figure it out
05:02:03 <AnMaster> myndzi, oh converting dads, yeah lost cause
05:02:05 <myndzi> toshiba has been a brand that i've used and liked
05:02:13 <myndzi> and has worked fine in my experience
05:02:16 <AnMaster> myndzi, personally I like lenovo for laptops
05:02:20 <myndzi> so i went shopping for toshibas
05:02:28 <AnMaster> myndzi, the wireless range is amazing in my laptop
05:02:32 <myndzi> once i chose discrete graphics, the selection was pretty limited
05:02:35 <AnMaster> myndzi, macs seem to have much the same
05:02:38 <myndzi> when i was also trying to keep it from being too expensive
05:02:41 <AnMaster> but it beats everything else than macs
05:02:44 <AnMaster> at the wireless range
05:02:53 <myndzi> i wound up going through their outlet page, i think i bought from there
05:02:59 <myndzi> that or a bing cashback buy it now from ebay
05:03:20 <AnMaster> myndzi, macs and thinkpads have really really good built in wireless antennas
05:03:22 <myndzi> the one complaint i have so far is that the wireless seems to have some weird thing with my dad's lameass netgear router
05:03:23 <myndzi> like
05:03:28 <myndzi> if it sleeps while connected
05:03:29 <AnMaster> better than some external I would say
05:03:33 <myndzi> i can't reconnect until i reboot the router
05:03:37 <AnMaster> myndzi, how is the wireless range of your laptop?
05:03:40 <myndzi> same problem doesn't happen with better routers
05:03:45 <myndzi> nor with other laptops at my dad's house
05:03:47 <myndzi> so i dunno
05:04:00 <myndzi> as for range, also uncertain; i don't have to use it anywhere where that is a problem
05:04:04 <AnMaster> ah
05:04:17 <myndzi> it's pretty much like i said
05:04:36 <myndzi> it's a portable pc i can take places and/or substitute for my desktop for certain tasks
05:04:41 <AnMaster> right
05:04:48 <AnMaster> myndzi, how heavy is it? Metric.
05:04:56 <myndzi> pretty heavy
05:05:11 <AnMaster> that page you linked says " Starting at 6.48 lbs." but 1) that might not match your 2) I have no idea what that is in metric
05:05:18 <myndzi> like, i've been taking it over to my dad's on sundays (where we have dinner nights) and hooking it up to the widescreen downstairs to play games
05:05:24 <myndzi> ah, me neither
05:05:29 <myndzi> unfortunately i'm an amerifag ;p
05:05:39 <AnMaster> myndzi, but does it match your?
05:05:43 <myndzi> about 3 kg
05:05:50 <AnMaster> could be worse
05:06:03 <myndzi> and afaik there's nothing extra that'd make it heavier
05:06:07 <AnMaster> ah
05:06:15 <myndzi> presumably battery
05:06:24 <AnMaster> myndzi, can you replace cd drive with extra harddrive or extra battery on that?
05:06:27 <myndzi> but yeah, it runs mame better than my desktop lol
05:06:30 <myndzi> i use it for TGM practice
05:06:33 <AnMaster> TGM?
05:06:37 <myndzi> tetris the grandmaster
05:06:40 <AnMaster> heh?
05:06:42 <myndzi> well, TGM2 and 3
05:06:49 <myndzi> TGM1 runs like shit in mame and i haven't gotten zinc yet
05:06:51 <AnMaster> myndzi, another thing, no trackpoint?
05:06:57 <myndzi> trackpoint?
05:06:58 <AnMaster> but I guess only thinkpads have that
05:06:59 <myndzi> eraser mouse?
05:07:03 <myndzi> i don't like those things
05:07:11 <AnMaster> myndzi, yep, a lot easier to use than touchpads IMO
05:07:20 <myndzi> i've gotten to where i like touchpads quite a bit, especially with the syntaptics drivers letting me do scrolling and the like
05:07:29 <myndzi> i had a clitmouse in my last keyboard, i surgically removed it
05:07:33 <AnMaster> myndzi, the new ones are a lot nicer than the old ones. better acceleration
05:07:34 <myndzi> (circumcised? ;)
05:07:49 <myndzi> mostly i don't like them because they get in the way of my typing
05:07:51 <AnMaster> myndzi, um you can just pull the top off iirc
05:07:52 <AnMaster> :P
05:07:56 <AnMaster> well you can with mine
05:07:57 <myndzi> well, not really, but it's just a little "in the way"
05:08:01 <AnMaster> to replace it with another
05:08:09 <myndzi> hehe, i mean i unfastened it from the circuit board
05:08:14 <myndzi> i also replaced the keys that were notched
05:08:19 <AnMaster> wtf
05:08:21 <myndzi> so that i could have normal keys and then rearrange the keycaps
05:08:29 <myndzi> keycaps that were notched*
05:08:32 <AnMaster> myndzi, you don't have a middle click button though?
05:08:36 <myndzi> top right corner
05:08:41 * AnMaster loves his touchpad having that
05:08:43 <myndzi> is what i've always used on touchpads
05:08:48 <myndzi> i'm used to it by now
05:08:50 <AnMaster> err not the touchpad
05:08:53 <AnMaster> the trackpoint
05:08:59 <AnMaster> the buttons for the touchpad are just two
05:09:06 <AnMaster> while for the trackpoint they are tree
05:09:07 <AnMaster> three*
05:09:08 <myndzi> no reason they can't be three
05:09:13 <myndzi> i don't know why they don't do that
05:09:23 <myndzi> though i only really use middle click for "open in new tab"
05:09:29 <myndzi> so a hotspot is ok
05:09:48 <AnMaster> myndzi, google image search of my laptop: http://laptoping.com/wp-content/Lenovo_ThinkPad_R500.jpg
05:09:50 <myndzi> anyway: http://en.wikipedia.org/wiki/Tetris:_The_Grand_Master
05:09:53 <AnMaster> not exactly that
05:09:56 <AnMaster> but close
05:10:13 <AnMaster> myndzi, and a very stylish design IMO :P
05:10:20 <myndzi> i like that it didn't go all faddish with the chiclet keyboard
05:10:27 <myndzi> i don't like those things
05:10:35 <AnMaster> myndzi, chiclet keyboard?
05:10:43 <myndzi> the keycaps that look like chiclet gum
05:10:47 <myndzi> apple popularized it
05:10:50 <AnMaster> myndzi, I use middle click for "paste selected text"
05:10:51 <myndzi> they are flat and squareish
05:10:53 <AnMaster> since I use linux
05:11:00 <myndzi> ah
05:11:22 <AnMaster> myndzi, flat keys? well you won't have model m in a laptop!
05:11:29 <myndzi> nono
05:11:32 <myndzi> see on that picture you linked
05:11:35 <myndzi> how at the edges of the keys
05:11:38 <myndzi> they slant down?
05:11:43 <AnMaster> yes of course
05:11:54 <AnMaster> myndzi, very nice keyboard. zero flex
05:11:56 <myndzi> http://images.macnn.com/esta/content/0803/macbook-unboxkeyboard.jpg
05:12:05 <AnMaster> myndzi, oh those
05:12:13 <myndzi> i tend to catch my fingers on the edge of that shit
05:12:14 <AnMaster> myndzi, well the key distance is all wrong on them
05:12:17 <AnMaster> can't type on those
05:12:27 <myndzi> eh, i don't know why they'd mess with the key distance
05:12:28 <AnMaster> myndzi, I just hit the wrong keys
05:12:38 <myndzi> the keys are just shaped different
05:12:41 <AnMaster> myndzi, I can type on full size only
05:12:48 <myndzi> anyway, a number of laptops have aped that style
05:12:51 <AnMaster> atm I'm using a nice old PS/2 keyboard
05:12:52 <myndzi> and i don't like it
05:13:00 <myndzi> yeah, i have a unicomp
05:13:01 <myndzi> and a filco
05:13:01 <AnMaster> some of the keys are worn out and lack all text now
05:13:08 <myndzi> i'm getting used to the filco, or trying to
05:13:10 <coppro> I'm pretty sure Apple's keys are slightly farther apart than on ThinPads
05:13:17 <myndzi> it's a nicer keyboard in many respects
05:13:23 <AnMaster> myndzi, ah mine is a quite usable fujitsu siemens that came with an old computer I had
05:13:24 <myndzi> but i keep hitting the spacebar accidentally
05:13:30 <myndzi> so i get t hings like t his
05:13:41 <myndzi> the unicomp is a buckling spring, usb
05:13:42 <AnMaster> not mechanical buckling spring (would love that) but still rather nice
05:13:52 <myndzi> i didn't know when i bought it that usb keyboard kinda sucks
05:14:00 <myndzi> the filco is cherry browns i think
05:14:17 <myndzi> lighter than the buckling spring, not quite as nice, but it also has n-key rollover
05:14:37 <AnMaster> what? brown?
05:14:42 <myndzi> mm
05:14:47 <myndzi> there are a few kinds of cherry keyswitches
05:14:53 <myndzi> called by their colors
05:14:54 <AnMaster> image please
05:15:00 <AnMaster> I'm think I'm going insane XD
05:15:03 <myndzi> image won't really tell the difference
05:15:08 <AnMaster> I hate non-white keyboards. Okay thinkpad is black but that is laptop
05:15:10 <myndzi> it has to do with how much force and feedback they have
05:15:13 <AnMaster> I meant for desktop keyboards
05:15:13 <myndzi> oh, the keyboard is all black
05:15:16 <myndzi> matte black
05:15:20 <myndzi> nice small form factor
05:15:26 <AnMaster> eugh
05:15:33 <AnMaster> white full size please :)
05:15:38 <myndzi> http://home.comcast.net/~olimar/kb/07.JPG
05:15:43 <myndzi> but with 10-key
05:15:52 <AnMaster> myndzi, isn't that das keyboard?
05:15:55 <myndzi> and without the nifty bubbles (i wish i had those :|)
05:15:57 <AnMaster> lacking all the text I mean
05:16:00 <myndzi> nah
05:16:14 <AnMaster> myndzi, what bubbles?
05:16:17 <myndzi> das keyboard does that too, but the only reason i did that with this keyboard is that the rows have different slants
05:16:19 <AnMaster> you mean on the logo key?
05:16:21 <myndzi> yeah
05:16:25 <AnMaster> myndzi, I hate that
05:16:44 <myndzi> i would have liked being able to have a little extra touch to tell things apart down there
05:16:54 <AnMaster> thankfully it is a flat circle on laptops, and my desktop keyboard is old enough to not have it
05:16:57 <myndzi> anyway, i wouldn't have been able to rearrange a printed keyboard to dvorak
05:17:05 <myndzi> so i got the blank one
05:17:18 <myndzi> n-key rollover is real nice
05:17:25 <AnMaster> myndzi, oh indeed
05:17:27 <myndzi> i can hold down any combination of keys that i want and they all go through
05:17:30 <AnMaster> but that doesn't work with usb
05:17:35 <myndzi> not fully
05:17:46 <myndzi> which is why i am using it as a ps/2 keyboard
05:17:49 <myndzi> the filco, that is
05:17:52 <AnMaster> right
05:18:07 <myndzi> honestly, i gain about 10wpm on the unicomp
05:18:08 <myndzi> still
05:18:16 <myndzi> i'm not sure if it was worth $130 to buy this one
05:18:23 <myndzi> i want to like it, but maybe it'll just take a lot of getting used to
05:18:37 <AnMaster> myndzi, any flex in your laptop keyboard?
05:18:44 <myndzi> mmm.. flex?
05:18:52 <myndzi> like if you push real hard on the keys they bend?
05:19:04 <myndzi> i can't say i've noticed such a thing, plus i wouldn't push that hard
05:19:09 <AnMaster> myndzi, http://forum.notebookreview.com/asus/87210-what-keyboard-flex.html
05:19:14 <AnMaster> first google hit
05:19:45 <myndzi> well now, you've been asking me for things that i googled too ;)
05:20:01 <AnMaster> myndzi, well I just provided how I found it
05:20:12 <AnMaster> myndzi, my thinkpad has zero flex at any force I dare apply
05:20:15 <myndzi> hehe
05:20:32 <myndzi> if i push a little it flexes a little
05:20:37 <myndzi> but not at typing forces
05:20:41 <Gregor> AnMaster: Then DARE APPLY MORE
05:20:42 <myndzi> and it feels pretty solid even when i push
05:20:44 <AnMaster> myndzi, there is a very sturdy backplate on my thinkpad
05:20:48 <AnMaster> Gregor, you pay?
05:20:52 <myndzi> i wouldn't consider it an issue in this case
05:20:59 <Gregor> I will pay all damages up to a maximum of $0.
05:21:10 <AnMaster> XD
05:21:49 <myndzi> i think i would pay more attention to some things if i bought another laptop
05:21:58 <myndzi> but i don't regret the one i have
05:22:12 <myndzi> i had had plans to install some games on it to play
05:22:16 <myndzi> but i haven't done it yet lol
05:22:22 <AnMaster> myndzi, well I went thinkpad because that was the only way to get matte I could find
05:22:23 <myndzi> because when i get home i wind up on irc or something with all my time
05:22:28 <AnMaster> at least with my other requirements
05:22:37 <AnMaster> and I have to say I love it
05:23:23 <AnMaster> myndzi, only issue is that the built in card reader does about every format except for the one my camera uses
05:23:31 <AnMaster> which is good old compact flash
05:23:47 <AnMaster> all cameras above a certain price tends to use compact flash :)
05:24:57 <myndzi> lol :(
05:25:06 <myndzi> all-
05:25:10 <myndzi> all-in-one-but-one
05:26:47 -!- kushed has joined.
05:26:52 <AnMaster> myndzi, ?
05:27:18 <AnMaster> myndzi, anyway I use my old USB 1.1 card reader to transfer stuf
05:27:19 <AnMaster> stuff*
05:27:27 <AnMaster> myndzi, slow as heck but meh
05:27:31 <kushed> I saw ufo's in my dream the other night
05:27:50 <AnMaster> kushed, I think you are in the wrong channel, this is about esoteric programming languages. Not esoterica.
05:28:12 <kushed> lol
05:28:22 <myndzi> yeah, we've totally been talking about esoteric programming languages all night
05:28:25 <myndzi> shove off ;p
05:28:37 <AnMaster> myndzi, well we can't stay on topic a lot of the time true
05:28:42 <myndzi> hehe
05:28:47 <AnMaster> but it is still mostly tech stuff
05:28:54 <kushed> totally
05:28:56 <myndzi> you tryin to tell me ufos aren't high tech?
05:29:14 <myndzi> i bet aliens have some *seriously* esoteric languages
05:29:14 <kushed> Organic sorbet
05:29:18 <AnMaster> who knows? by definition they are "unidentified flying objects"
05:29:29 <AnMaster> in other words: probably birds
05:29:36 <AnMaster> or jet liners
05:29:41 <AnMaster> or something
05:29:43 <kushed> of course
05:29:44 <myndzi> Organic sobriquet
05:29:58 <myndzi> don't mind me, i just wanted to use that word
05:30:01 <AnMaster> I mean, once they are IFOs then there is no longer an issue
05:30:16 <AnMaster> myndzi, s/$/s/
05:30:47 * Sgeo_ was riding an alternate universe elevator in his dream the other night
05:30:50 <Sgeo_> Dreams are weird
05:31:02 <AnMaster> I can't remember any recent dream
05:31:06 <myndzi> i wanna go back to this time where i had these crazy epic dreams like every night
05:31:11 <myndzi> for like two weeks
05:31:17 <myndzi> but most nights ... nothing :|
05:31:22 <AnMaster> I very rarely remember any dream at all
05:31:31 <Sgeo_> There are articles about improving dream recall
05:31:39 <Sgeo_> I think one thing is to keep a dream journal
05:31:40 <AnMaster> yeah, but care?
05:31:48 <myndzi> usually when you dream and can't remember, you at least remember dreaming
05:31:50 <AnMaster> Sgeo_, oh you mean like in xkcd?
05:31:51 <myndzi> i feel like i don't even dream
05:31:55 <Sgeo_> Improving dream recall helps with lucid dreams, apparently
05:31:59 <myndzi> yeah
05:32:02 <kushed> I don't always remember
05:32:09 <myndzi> well, it's no fun having a lucid dream if you can't recall it
05:32:16 <AnMaster> Sgeo_, http://xkcd.com/269/ like that?
05:32:16 <AnMaster> ;P
05:32:17 <kushed> and cannabis effects dreaming...
05:32:23 <Gregor> We should just rename this topic to #offtopic
05:32:26 <Gregor> Erm
05:32:27 <myndzi> i never smoked
05:32:28 <Gregor> s/topic/channel/
05:32:49 <Sgeo_> Apparently #offtopic is ##unavailable
05:32:58 -!- AnMaster has set topic: #offtopic | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:33:09 <pikhq> The channel name is descriptive of the common thread of this community.
05:33:25 <pikhq> Of course, we prefer avoiding that.
05:33:27 <pikhq> :P
05:34:00 <AnMaster> pikhq, that is because none of us is able to concentrate very long on anything. A bit like Leonardo da Qurim in the Discworld books if you know what I mean?
05:34:10 <Sgeo_> You mean since the comic, no one created TCMP?
05:34:22 <pikhq> Actually, I am quite good at concentrating very long on things.
05:34:31 <pikhq> I am *terrible* at *conversing* very long on things.
05:34:35 <AnMaster> pikhq, ah
05:34:40 -!- Gregor has set topic: Anything except for the topical concept | Well, except for that | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:35:05 <pikhq> My conversations in real-life are fraught with non-sequiturs because my brain does several mental leaps before outputting the next sentence.
05:35:08 <AnMaster> Gregor, augh
05:35:20 <AnMaster> pikhq, oh I have that too
05:35:24 <myndzi> i like how you phrased that as "outputting" a sentence
05:35:35 <pikhq> Also fraught with odd phrasing.
05:35:42 <AnMaster> well not as much
05:35:47 <myndzi> i didn't find it odd at all
05:35:47 <AnMaster> you like archaic stuff
05:35:56 <myndzi> i just liked it
05:36:06 <pikhq> Sometimes it's because it amuses me, sometimes I just don't *realise* it.
05:36:08 <AnMaster> myndzi, would you find someone saying "ocular inspection" instead of "looking" odd?
05:36:17 <AnMaster> I think I done that once, unintentionally
05:36:20 <myndzi> it would depend on the person
05:36:21 <pikhq> "Outputting" was something I didn't realise.
05:36:32 <AnMaster> myndzi, well for me?
05:36:33 <myndzi> i mean, "odd" is sorta subjective
05:36:41 <AnMaster> mhm
05:36:42 <myndzi> AnMaster: depends on context too lol
05:36:51 <AnMaster> myndzi, casual discussion :P
05:36:53 <myndzi> i'd probably have to think for a moment upon hearing that
05:36:58 <myndzi> i mean, the sentence it was used in etc.
05:37:07 <AnMaster> don't remember that
05:37:09 <myndzi> i can't think of anyone using "ocular inspection" in a sentence so it sounds odd to me
05:37:25 <myndzi> but if it was suitable to the sentence it wouldn't sound odd, just quirky perhaps lol
05:37:30 <AnMaster> myndzi, I think it was related to checking if there was enough milk at home or such
05:37:33 <myndzi> i think i once used s/// syntax in speech
05:37:41 <AnMaster> haha
05:37:54 <myndzi> though, i said it like "sub <foo> <bar>"
05:37:58 <myndzi> of course, my boss didn't know wtf
05:38:02 <pikhq> I've used "grok" when talking to my mother.
05:38:13 <Gregor> I am the greatest nerd conversationalist ever, apparently.
05:38:15 <AnMaster> like "<mom> How much milk is there in the fridge? [pause] <me> An ocular inspection indicates 6 litres"
05:38:26 <myndzi> hehe
05:38:27 <AnMaster> myndzi, well that is translated from Swedish obviously
05:38:35 <Sgeo_> I ocularly inspected her body?
05:38:38 <myndzi> see, that doesn't sound odd in context
05:38:40 <myndzi> i mean
05:38:41 <Gregor> Other than my occasionally explicitly modeling the conversation as a stack and mentioning when I'm popping topics off the stack, my conversations are quite normal :P
05:38:49 <AnMaster> so "En okulär inspektion indikerar 6 liter"
05:38:52 <AnMaster> would have been my reply
05:38:53 <myndzi> it isn't what most people would say, but that doesn't make it not suitable
05:39:00 <AnMaster> myndzi, true
05:39:07 -!- kushed has quit (Quit: Page closed).
05:39:10 <myndzi> Gregor: haha, i've done that :|
05:39:17 <myndzi> particularly in regards to multitasking at work
05:39:24 <AnMaster> Gregor, what?
05:39:26 <pikhq> Gregor: *Part* of it is that I have not grown up with normal conversational partners.
05:39:32 <myndzi> i've been known to say i've "cleared my stack" or "overflowed" it
05:39:40 <myndzi> when i finish all the tasks i had been postponing
05:39:45 <AnMaster> heh
05:39:46 <myndzi> or forgot something because i had too many
05:39:47 <myndzi> :P
05:39:52 <pikhq> And part of it is that I'm just plain odd.
05:40:03 <AnMaster> that will be an awesome reply next time mom asks too many things at once
05:40:07 <AnMaster> I shall remember that
05:40:15 <Sgeo_> Who here isn't odd?
05:40:29 <pikhq> Apparently when I was a child, my parents learned that they should just talk to me as an adult, because that's how I'd respond.
05:40:30 <myndzi> a random sampling would indicate about half? :P
05:40:33 <Gregor> AnMaster: When you're having a conversation, generally you go from less specific topics to more specific topics, but occasionally you finish a topic and go back, then drill down on other ones. I make this behavior explicit, and when a topic is over but its parent topic needs further detail, I'll say "OK, popping that conversation off the stack, *such*"
05:40:34 <myndzi> i vote to be one of the evens
05:40:36 <AnMaster> Sgeo_, that's a null set
05:40:43 -!- SevenInchBread has joined.
05:41:29 <pikhq> Which would explain why I seem to recall discussing my mom's college classes (in detail) when I was, like, 10...
05:41:40 <AnMaster> Gregor, huh, that is with one other person right? With a group of 5 students discussing stuff during the lunch it tends to be spaghetti goto!
05:41:42 <myndzi> hehe, i remember teaching my mom algebra
05:41:48 <myndzi> or rather, helping her with her homework
05:41:51 <myndzi> before i ever took the class
05:41:54 <AnMaster> Gregor, rather than a nice call stack
05:42:07 <myndzi> this'd be like 3rd or 4th grade(?)
05:42:22 <AnMaster> myndzi, her homework?
05:42:23 <AnMaster> what?
05:42:23 <Gregor> AnMaster: Works best with no more than 3 or 4 people, yeah.
05:42:25 <Sgeo_> "For anyone not fluent in binary"
05:42:26 <pikhq> myndzi: In my case, it was just because I found the topic made for interesting discussion.
05:42:31 <Sgeo_> Going to kill pete cashmore...
05:42:34 <pikhq> Which of course it did.
05:42:34 <AnMaster> myndzi, time travel involved?
05:42:37 <myndzi> AnMaster: she was going back to school
05:42:40 <myndzi> college
05:42:47 <myndzi> but had to get prereqs out of the way i assume
05:42:55 <AnMaster> ah
05:43:00 <myndzi> because i mean, i wasn't exactly much past 4x+3 = 7
05:43:08 <myndzi> but i do remember helping explain how to solve for x in simple cases like that lol
05:43:22 <AnMaster> Gregor, also some of the people I'm eating with at university tends to have very hard to concentrate on one thing at a time during lunch. It is like they turn everything off between 12:00 and 13:00
05:43:29 -!- CakeProphet has quit (Ping timeout: 265 seconds).
05:44:06 <AnMaster> hilarity usually ensues though
05:44:10 <AnMaster> so no one cares very much
05:44:42 <pikhq> I often have to prefix my sentences with "This is completely random, but:"
05:44:43 <AnMaster> myndzi, what stuff did she study at uni then?
05:44:45 <pikhq> Because of course it is.
05:45:20 <pikhq> Hmm.
05:45:31 <AnMaster> myndzi, I mean... I had to do much more than that before I went to uni to even get on the CS studies
05:45:32 <pikhq> Actually, I think that's just because I treat IRL conversation a lot like IRC.
05:45:39 <AnMaster> simple differential and what not
05:45:55 <pikhq> What with how I have IRC'd *much* more than I've talked IRL.
05:46:14 <AnMaster> XD
05:46:19 <AnMaster> pikhq, I tend to do a lot of both
05:46:55 <pikhq> I've spent several years in the middle of fucking nowhere. It's either IRC or stare into the abyss for socialness.
05:46:57 <pikhq> :P
05:47:04 <AnMaster> pikhq, ah
05:47:18 <Sgeo_> I've been in various non-IRC chatrooms long before ever hearing of IRC
05:47:23 <pikhq> I also have homebody tendencies.
05:47:34 <pikhq> And I've been on IRC since I was 8...
05:47:37 <Sgeo_> I think it's... um, a place that alise knows about before I started being an IRC person
05:47:46 <AnMaster> Sgeo_, I have never been on any IM or other type of chatroom except irc
05:47:59 <Sgeo_> I don't remember a single one of my online activities from before I was 11
05:48:09 <Sgeo_> 11 was when I started chatting.. erm, yeah
05:48:19 <AnMaster> I don't remember any such because I didn't have any
05:48:25 <AnMaster> modem, pay per minute connected
05:48:31 <AnMaster> horrible for your childhood that is
05:48:49 <pikhq> I'm such an Internet addict.
05:48:56 <pikhq> I may have actually spent more time on than off.
05:49:00 <AnMaster> meh I can manage without internet
05:49:05 <AnMaster> pikhq, including sleep?
05:49:20 <pikhq> Yes.
05:49:34 <AnMaster> pikhq, from the day you were borne?
05:49:39 <AnMaster> err
05:49:40 <AnMaster> born'
05:49:45 <AnMaster> s/'/*/
05:49:51 <pikhq> Severe addiction from 8 on. Hmm. No, not *quite*.
05:49:59 <AnMaster> right
05:50:01 <AnMaster> then it is fine
05:50:06 <pikhq> If I were older, than *yes*.
05:50:07 <pikhq> :P
05:50:18 <AnMaster> pikhq, okay that is not okay
05:50:42 <Sgeo_> Things are only not ok if they interfere with mental or physical health, imo
05:50:51 <pikhq> Well. Except that I'd probably be a bit more likely to get out with, y'know... Reasons to get out.
05:50:59 <pikhq> Like "being near anything to go to".
05:51:08 <AnMaster> pikhq, Sgeo_ seems to use virtual worlds for that
05:51:13 <AnMaster> :P
05:51:19 <Sgeo_> lol
05:52:23 <coppro> I spend way too much time on the Internet
05:52:59 <coppro> mainly as a crutch to avoid things, though. It usually doesn't interfere with things I want to do (things my parents want me to do, on the other hand...)
05:53:07 <AnMaster> I have a reason to at least. I can always blame it on CS studies
05:53:12 <AnMaster> I need to use the computer!
05:53:37 <AnMaster> coppro, how old are you?
05:53:42 <coppro> 18
05:53:50 <myndzi> AnMaster: my mom wasn't in CS lol. she just had to pass her math credits or something
05:53:51 <AnMaster> coppro, ah two years younger than me
05:53:58 <AnMaster> myndzi, ah
05:54:07 <myndzi> i don't even know, i think she studied graphic design or some such
05:54:10 <AnMaster> heh
05:54:42 <myndzi> she worked in desktop publishing type stuff for a while, but now she's an "administrative assistant"
05:55:28 <AnMaster> what the heck is that?
05:55:48 <AnMaster> anyway going to eat breakfast. Only slept about 2 hours tonigjt
05:55:50 <AnMaster> tonight*
05:55:51 <myndzi> i think it's a glorified business word for secretary
05:55:52 <AnMaster> bbl
05:55:58 <myndzi> or something
06:03:03 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
06:10:56 -!- MizardX has quit (Ping timeout: 276 seconds).
06:16:54 <AnMaster> myndzi, I see
06:44:31 -!- Gracenotes has quit (Ping timeout: 276 seconds).
07:33:03 -!- oerjan has joined.
07:54:02 <oerjan> <CakeProphet> I'm wondering how you could create pattern matching constructs that aren't strictly data constructors
07:54:17 <oerjan> SevenInchBread: look up "views", i think
07:55:08 -!- pikhq has quit (Remote host closed the connection).
07:55:09 <oerjan> i've seen it mentioned in the haskell community.
07:57:00 <oerjan> in fact Data.Sequence has some functions called something like left and right view of a sequence which i think are inspired by it (but which cheat and make new data types with real constructors, since haskell still does not have actual views)
07:58:01 <oerjan> there is also something relatively new in ghc called pattern guards, but those are still constructor based too i think
07:59:53 <oerjan> i think views are like better records in being one of those features that have so many possible variants that they can never agree on which one to actually implement
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:27 <oerjan> <Gregor> uorygl: Going to a country does not automatically change your surname.
08:03:01 <oerjan> i recall reading that if you become a thai citizen you have to get a thai surname (which btw must be unique for your extended family)
08:36:25 -!- Phantom_Hoover has joined.
08:46:35 -!- oerjan has quit (Quit: Later).
08:57:22 <Phantom_Hoover> Gregor, how did you get so many hats?
10:09:21 <Phantom_Hoover> I want a hat.
10:10:12 <Phantom_Hoover> The closest thing I have to one is a sick bowl with a ribbon from a chocolate box on it.
10:12:34 <fizzie> I'm not completely sure about this, but I think there are some sort of shops that *sell* them.
10:20:59 <Phantom_Hoover> Where's the fun in that?
10:22:04 <fizzie> Then you may have to get all your hats from the heads of defeated enemies.
10:22:45 <Phantom_Hoover> Hmm.
10:22:54 <Phantom_Hoover> Where does Gregor live, again?
10:24:05 <oklopol> he doesn't live anywhere, he just moves around and does cool stuff and wears hats
10:24:10 <oklopol> seriously
10:24:56 <oklopol> fizzie: isn't it illegal to steal a dead person's hat?
10:25:35 <fizzie> oklopol: If it's a duel, I think you're entitled to the hat, but don't quote me on this.
10:25:47 <oklopol> i think the moral thing to do is just leave them there after
10:26:03 <oklopol> hmm well right if it's a duel then maybe
10:27:10 <Phantom_Hoover> Gregor, I challenge you to a duel. You must wear every one of your hats.
10:28:28 <Phantom_Hoover> You may pick the weapon.
10:29:12 <oklopol> if he chooses c you're doomed.
10:29:43 <fizzie> oklopol: I think it is sort of an extendion to the scalp thing. If you don't want to be a scalp-less corpse (might be distressing for the relatives) you can wear a hat, and then you'll only lose that. (And your life, obviously.)
10:30:27 <fizzie> An extendion, the fundamental particle of extensions.
10:30:52 <fizzie> "Caution: extendion radiation."
10:33:29 <oklopol> ah
10:35:24 <Phantom_Hoover> oklopol, how do you kill someone with C?
10:35:34 <Phantom_Hoover> free()?
10:38:13 <fizzie> With the power of POSIX, you can kill(2).
10:39:54 <fizzie> Even with plain C, you can remove(3) someone, if you know their (path) name.
10:44:30 <oklopol> Phantom_Hoover: you must hate freedom, man
10:45:51 -!- tombom has joined.
10:54:38 <Phantom_Hoover> fizzie, I know his name.
10:54:50 <Phantom_Hoover> He does noy know mine.
10:54:59 <Phantom_Hoover> s/noy/not/
10:56:26 <fizzie> Oh noy.
11:03:40 <Phantom_Hoover> Hmm, can I remove(3) fizzie?
11:16:14 -!- Gracenotes has joined.
11:17:28 <fizzie> You may need to mount my location first.
11:18:35 <Phantom_Hoover> Finland.
11:23:09 <Phantom_Hoover> mount Finland /mnt/finland
11:26:22 <Phantom_Hoover> rm /mnt/finland/`whois fizzie`
11:26:37 <Phantom_Hoover> rm "/mnt/finland/`whois fizzie`"
11:26:45 <Phantom_Hoover> (Since there's probably a space)
11:29:32 <fizzie> I'd hope they have some sort of permissions system set up for that.
11:30:19 <Phantom_Hoover> Hmm.
11:30:27 <Phantom_Hoover> What is reality's root password?
11:30:31 <Phantom_Hoover> Oh, I know.
11:30:47 <Phantom_Hoover> sudo rm "/mnt/findland/`whois fizzie`"
11:30:52 <Phantom_Hoover> password
11:31:11 -!- FireFly has joined.
11:35:20 <fizzie> *poof*
11:36:14 <Phantom_Hoover> Oh, wait.
11:36:23 <Phantom_Hoover> I didn't mount Finland as root.
11:39:46 <fizzie> *unpoof*
12:00:39 <Phantom_Hoover> Also, the device I used for Finland made no sense.
12:01:23 <Phantom_Hoover> It should be /dev/finland or something weird like /dev/st43.
12:07:15 <fizzie> Possibly you could mount a NFS-exported Finland from the .fi root servers.
12:11:04 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
12:11:18 <fizzie> Phantom_Hoover: Was it you who was interested in getting raw binaries out of GCC?
12:11:29 -!- alise has joined.
12:11:37 <Phantom_Hoover> fizzie, yes.
12:12:36 <fizzie> Phantom_Hoover: http://pastebin.com/eChGDKDy might be interesting, then. Apparently GAS has a ".code16gcc" directive which takes GCC-generated 32-bit assembly and adds all those instruction prefix bytes to handle 32-bit operands and addresses and such.
12:12:53 <fizzie> The result is pretty ugly, but seems to mostly work.
12:13:25 <fizzie> Also included is a single linker flag that creates a .com-compatible file (load address 0x100) without having to fiddle with GCC .specs files and linker scripts.
12:14:16 <fizzie> (Global data might still end linked up who knows where, though, unless you explicitly __attribute__ the data into the .text segment.)
12:14:28 <Phantom_Hoover> Wait, is it a DOS binary?
12:14:48 <fizzie> A DOS .com file doesn't really have what you'd call a structure.
12:14:53 <fizzie> It's just raw code.
12:15:10 <Phantom_Hoover> (Also, if it's this hard to write extremely low-level C programs, how do they do things in Linux?)
12:15:47 <alise> what is this
12:16:07 <alise> Phantom_Hoover: they dont use 16 bit
12:16:37 <Phantom_Hoover> Yes.
12:16:40 <alise> or COM
12:17:08 <fizzie> Right; gcc's not really the right tool for this.
12:17:09 <alise> the low level CODING is harder :p
12:17:10 <Phantom_Hoover> But you still need to write a loader for the executable format.
12:21:39 <Phantom_Hoover> Oh, well, must leave.
12:21:48 <Phantom_Hoover> sudo reboot
12:21:50 <Phantom_Hoover> password
12:21:53 -!- Phantom_Hoover has quit (Quit: Leaving).
12:22:12 <alise> use shutdown -r fool
13:13:27 -!- BeholdMyGlory has joined.
13:55:31 -!- Quadrescence has quit (Ping timeout: 265 seconds).
14:01:18 -!- Quadrescence has joined.
14:15:42 -!- kar8nga has joined.
14:19:56 <cheater99> alise: why
14:20:14 <alise> If halt or reboot is called when the system is not in runlevel 0 or 6,
14:20:14 <alise> in other words when it's running normally, shutdown will be invoked
14:20:14 <alise> instead (with the -h or -r flag). For more info see the shutdown(8)
14:20:14 <alise> manpage.
14:20:16 <alise> hmm, never mind
14:20:21 <alise> I was sure reboot was more chainsaw-y
14:20:46 <alise> bah, alise init is better, it has no reboot command :-P
14:22:12 <alise> Development Effort Estimate, Person-Years (Person-Months) = 0.02 (0.24)
14:22:12 <alise> (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
14:22:12 <alise> Schedule Estimate, Years (Months) = 0.12 (1.45)
14:22:12 <alise> (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
14:22:12 <alise> Estimated Average Number of Developers (Effort/Schedule) = 0.16
14:22:13 <alise> Total Estimated Cost to Develop = $ 2,687
14:22:15 <alise> (average salary = $56,286/year, overhead = 2.40).
14:22:43 <Sgeo_> alise, did you sleep?
14:22:44 <alise> It's so good, it would take one and a half months and $2,687 to develop all its 111 lines.
14:22:48 <alise> Sgeo_: Yes; and well.
14:23:42 <Sgeo_> It's a miracle! F*ckin sleep, how does it work? [Yes, I have that meme stuck in my head now]
14:24:18 <alise> Please don't censor.
14:24:22 <alise> It's irritating.
14:24:27 <alise> *bowlderise, is more accurate here I guess.
14:24:34 <alise> *bowdlerise, even.
14:28:55 <alise> So, I have an init; then, I suppose I should write a login.
14:29:11 <alise> Or, I wonder, is the Linux login(8) fine? Will it function without PAM?
14:29:23 <alise> Hmm, it's not (8); *(1)
14:29:45 <alise> After a successful login, you will be informed of any system messages
14:29:45 <alise> and the presence of mail.
14:29:47 <alise> Suggests some bloat.
14:30:25 -!- ski has quit (Ping timeout: 264 seconds).
14:30:37 -!- FireFly has quit (Ping timeout: 265 seconds).
14:31:04 <alise> Okay, so, login's job: prompt for username and password, check password against /etc/shadow, set real and effective user and group IDs according to /etc/passwd, and also $HOME, $SHELL, $PATH, $LOGNAME and $MAIL from /etc/passwd. "Ulimit, umask and nice values may also be set according to
14:31:04 <alise> entries in the GECOS field." but I doubt I really need to do that.
14:31:41 <alise> An annoying part of login is of course the raw terminal handling you need to read the password safely...
14:33:10 <alise> Oh, mingetty is nice.
14:33:10 <alise> Very tiny.
14:38:33 <alise> Hmm, I can't seem to get it working, though.
14:42:32 <alise> Hmm, mastodon's init(8) does the service handling stuff.
14:42:34 <alise> Maybe I should do that.
14:42:45 -!- FireFly has joined.
14:43:02 <alise> But then it's very close to, say, restarting services, etc., which is bloat. :P
14:46:06 <alise> I mean, it's all fine and well to have a need(8) which makes init(8) start and register /etc/init.d/foo if it hasn't already been, but then what if foo crashes?
14:46:09 <Sgeo_> I should probably eat breakfast or something
14:47:28 <oklopol> i think i actually find "f*cking" more offensive than "fucking", although the quantities of offendedness are too small to measure accurately
14:47:28 <alise> In New York, screenings were picketed by both rabbis and nuns ("Nuns with banners!" observed Michael Palin)[8]. It was also banned for eight years in the Republic of Ireland and for a year in Norway (it was marketed in Sweden as '"The film so funny that it was banned in Norway").[17]
14:47:34 <alise> -- [[Monty Python's Life of Brian]]
14:48:04 <oklopol> so what's a really random place to meet someone?
14:48:37 <oklopol> i can't realize the ideas i have right now
14:49:03 <oklopol> probably i'm the expert in this area so maybe i should just continue thinking
14:49:50 <Sgeo_> I can think of really weird places
14:50:35 -!- poiuy_qwert has joined.
14:51:45 <alise> oklopol: underground
14:51:52 <alise> digging in the middle of nowhere
14:54:40 <Sgeo_> Does Google ever pull things from YouTube without a DMCA notice?
14:54:54 <Sgeo_> (or DCMA, not sure which)
15:00:20 <alise> I don't THINK so.
15:03:21 <alise> I love how libc 4 is still maintained.
15:04:14 <alise> #undefwrite
15:04:15 <alise> function_alias(write, __write, __ssize_t, (d, b, n),
15:04:15 <alise> DEFUN(write, (d, b, n),
15:04:15 <alise> int d AND CONST PTR b AND size_t n))
15:04:16 <alise> excuse me what
15:09:21 <oklopol> alise: that would be perfect, but i don't know an underground place
15:10:48 <alise> oklopol: just go to a hill, a hill whose neighbours are other hills and land, where there are no other people and anyone you know would take at least two hours to get into audible range, and walk down the hill, here, at the bottom of the hill, you dig
15:10:50 <alise> and you dig
15:10:52 <alise> and you dig
15:11:01 <alise> and you find someone, or you keep digging and end up on the opposite side of the world
15:11:14 <alise> and there, there will be someone, if there is not, you walk until you find another place like I described but in this new place
15:11:16 <alise> and you dig
15:11:20 <alise> and you never stop until you see someone
15:13:46 <alise> * Actual printf innards.
15:13:46 <alise> *
15:13:46 <alise> * This code is large and complicated...
15:13:46 <alise> */
15:13:51 <alise> */*
15:13:54 <alise> So newlib is derived from libc4...
15:15:29 <alise> But uclibc is not.
15:17:26 <alise> So, userspace.
15:17:30 <alise> I sure wish there were people actually here.
15:18:47 <alise> [[I always wondered why signaling init was chosen as a way to initiate reboot. After all, we do not mount devices by signaling init. We do not up network interfaces by signaling init. I mean, we do not do <some admin actions> by 'kill -<somesig> 1', why do we do this particular admin action (reboot) in this bizarre way?
15:18:47 <alise> We can kill all processes, remount RO and reboot without signaling init.]]
15:18:51 <alise> The man has a point...
15:19:28 <alise> [[You can have a separate "daemon spawner" process and thus remove this functionality from init. Init's code will get much simpler:]]
15:19:32 <alise> ...and he just invented daemontools.
15:23:45 <alise> heh
15:23:46 <alise> http://busybox.net/~vda/init_vs_runsv.html
15:23:54 <alise> [guy is beating the unix guy soundly with logical arguments]
15:23:55 <alise> unix guy:
15:23:55 <alise> You're arguing against something people have spent 30 years making work. They do it that way for a reason.
15:24:00 <alise> s/ +$//
15:24:04 <alise> Translation: "I just lost the argument."
15:24:16 <alise> me:
15:24:17 <alise> Age is not a valid technical argument. Sendmail is maybe 30 years old too. People are still using it. It doesn't make sendmail any better.
15:24:17 <alise> unix guy:
15:24:17 <alise> Go make it work your way and then come back to us when you hit a tricky corner case having to do with process group inheritance or console ownership some such piece of evil, and we'll tell you how it was worked out in the existing code many years ago...
15:24:18 <alise> me:
15:24:20 <alise> I am doing exactly this for several years now, and want to let people know that it actually works rather nice.
15:25:35 <alise> Whoa; '>x' is a quicker way to create a file than touch(1).
15:27:34 <alise> So hey... cloning daemontools; what could go wrong?
15:31:43 <Sgeo_> Why must Pidgin suck so badly
15:42:59 <alise> Because it does.
15:43:06 <alise> Empathy is worse, though.
15:46:30 -!- hiato has joined.
15:47:37 <alise> I need naming assistance!
15:49:12 -!- hiato has quit (Client Quit).
15:59:24 <alise> Why is getpass(3) obsoleted?
16:00:00 <alise> Since libc
16:00:00 <alise> 5.4.19 also line editing is disabled, so that also backspace and the
16:00:00 <alise> like will be seen as part of the password.
16:00:05 <alise> Well, that is silly.
16:01:15 <alise> * These I liked writing. More library routines like these. Linus
16:01:15 <alise> */
16:01:27 <alise> -- abs.c, libc 2.2.2
16:01:34 <alise> It is a rather small file.
16:04:40 <alise> /* A clever implementation of this would do sequencing of non-numeric
16:04:40 <alise> * arguments. But that would take time and energy to do.
16:04:40 <alise> */
16:11:59 -!- Sgeo has joined.
16:13:45 <alise> I wish someone here had strong opinions >_>
16:13:52 <alise> Gregor: Do you have strong opinions!
16:14:13 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
16:14:40 <alise> Wow, syslog is highly crufty.
16:31:28 -!- hiato has joined.
16:41:11 -!- oerjan has joined.
16:42:11 <alise> grr, where is pikhq? I need his opinions
16:42:27 <oerjan> <fizzie> Then you may have to get all your hats from the heads of defeated enemies.
16:42:36 <oerjan> you've been reading girl genius? :D
16:44:59 <oerjan> (http://www.girlgeniusonline.com/comic.php?date=20100519)
16:46:27 <alise> oerjan: you're a linux expert right?
16:46:33 <Sgeo> This is entertaining. Lies are entertain.
16:46:38 <oerjan> no i wouldn't say that
16:46:56 <alise> Sgeo: what
16:47:07 <Sgeo> Just from a song
16:47:33 <Sgeo> http://www.youtube.com/watch?v=jqWD1h4vqg8 [Death Note spoilers]
16:51:55 <fizzie> oerjan: Yes, that's where I got it from.
16:53:31 <oerjan> <alise> I wish someone here had strong opinions >_>
16:53:42 <alise> yeah yeah
16:53:42 <alise> I do
16:53:46 <alise> I meant to get opinions :P
16:54:01 <oerjan> people with strong opinions should be shot, hanged and quartered.
16:54:24 <hiato> ^^
16:55:30 <alise> oerjan: at the same time?
16:55:37 <hiato> alise: u r ugly
16:55:46 <alise> also I believe being hung, drawn and quartered is the more traditional variation :P
16:55:51 <alise> hiato: why thank you
16:55:56 <oerjan> well if you want.
16:56:25 <hiato> alise: u r welkom
16:58:02 <fizzie> After being hung *and* divided to four pieces, I don't think I'd really mind the bit where someone draws a picture of me.
16:59:01 <alise> 1. Dragged on a hurdle (a wooden frame) to the place of execution. This is the original meaning of drawn.[2]
16:59:01 <alise> 2. Hanged by the neck for a short time or until almost dead (hanged).
16:59:02 <alise> 3. The body beheaded, then divided into four parts (quartered).
16:59:22 <alise> Being drawn was neither being drawn nor being disembowelled. :P
16:59:59 <alise> Gregor! pikhq!
17:00:04 <alise> SOMEONE who knows anything :|
17:00:05 <hiato> i liek cheez
17:01:36 <alise> hiato: STOP IT
17:01:37 <alise> :P
17:02:01 <oerjan> hiato: stop being cheesy
17:02:15 <hiato> heh
17:03:52 -!- waga has joined.
17:03:55 <waga> hi
17:04:07 <oerjan> 'evening
17:04:32 <hiato> 'ello
17:05:16 <fizzie> '
17:05:51 * waga finally arrived home. Too much sea shore and non-civilized places affects your brain. :S
17:06:56 <oerjan> waga: btw zzo38 made a comment that reminded me that we have a List of Ideas on the wiki, if you still want some :)
17:10:36 <waga> nice
17:12:02 -!- waga has quit (Quit: Leaving).
17:12:31 -!- waga has joined.
17:12:37 <waga> back
17:12:38 <waga> nice
17:12:46 <waga> i might find a good thing there
17:14:02 <hiato> likely
17:14:07 <alise> waga: non-civilised places? Where?
17:14:12 <hiato> only in the sense that it will fail
17:14:13 <waga> sea shore
17:14:21 <alise> Heh.
17:14:25 <waga> fucking romanian and bulgarian sea shor
17:14:34 <waga> in bulgaria is worse then i thought
17:16:26 <cheater99> waga: what does your nick mean?
17:17:29 <cheater99> alise: btw, 'drawing' is not historically proven to mean being drawn around (say behind a horse)
17:17:45 <alise> Indeed:
17:17:46 <cheater99> it could also mean having your innards drawn, which was depicted in braveheart
17:17:50 <alise> "# Dragged on a hurdle (a wooden frame) to the place of execution. This is the original meaning of drawn.[2]"
17:17:53 <alise> Nope
17:17:57 <alise> *Nope.
17:18:01 <alise> The common misconception about the term 'drawn', that it refers to the act of disembowelment is reported as a confusion that spread even to Judges delivering sentence at the Old Bailey. Nevertheless (or perhaps for that reason), the sentence was often recorded quite explicitly. For example, the record of the trial of Thomas Wallcot, John Rouse, William Hone and William Blake for offences against the king, on 12 July 1683 (see Rye House Plot) itemizes the t
17:18:01 <alise> hree essential acts of the punishment within a fuller prescription, by concluding as follows:
17:18:02 <alise> Then Sentence was passed, as followeth, viz. That they should return to the place from whence they came, from thence be drawn to the Common place of Execution upon Hurdles, and there to be Hanged by the Necks, then cut down alive, their Privy-Members cut off, and Bowels taken out to be burned before their Faces, their Heads to be severed from their Bodies, and their Bodies divided into four parts, to be disposed of as the King should think fit.[4]
17:18:21 <alise> An even more authoritative source than, you know, that: http://www.straightdope.com/columns/read/1049/what-do-drawn-and-quartered-and-keelhauling-mean
17:19:02 <cheater99> yeah, but it wasn't recorded on braveheart's case
17:19:20 <cheater99> and i'm not even sure that was the same time as the sources you quote
17:19:32 <cheater99> anyways, hey
17:19:38 <cheater99> i'm conducting a breaching experiment on facebook
17:19:48 <cheater99> or rather
17:19:48 <waga> alise: nothing. just that i used it when i was smaller and now somebody uses my other nick
17:19:55 <alise> One would assume that those who carried out the sentence would not decide on different interpretations of "drawn" for different cases, being that it was one sentence and all evidence seems to suggest that drawn as in being disembowelled was merely a misinterpretation.
17:19:55 <cheater99> Yet Another Breaching Experiment
17:19:56 <waga> and produces confusion
17:20:13 <alise> Note that those who were drawn to the place of execution were usually disembowelled anyway; just not under the "drawing" part.
17:20:18 <cheater99> so i started adding random people from my hometown and their friends circles, and talking to them, to see what happens
17:20:20 <alise> waga: cheater99 is the one who asked, not me.
17:20:29 <waga> oh
17:20:30 <cheater99> now that usually works out well
17:20:32 <waga> sorry
17:20:45 <cheater99> sometimes they just go 'hey, i don't know you :P' or something like that
17:21:20 <oerjan> "cheater99, my old nemesis. so this is how we meet again. but this time you will not escape."
17:21:31 <waga> i am also named gluon/thedarkgluon/ cp/m or waga
17:21:37 <cheater99> but there's this one pathologic case where one person (whom i added, but have not spoken to directly) has sent me a message saying 'stop talking to my friends because you are from a different social layer'
17:21:40 <waga> on youtube i am IAINMAN96
17:21:46 <cheater99> so i wonder what to answer
17:22:07 <cheater99> i'd already written to that person saying something to the effect of 'i'm sure your buddies can decide on their own'
17:22:26 <cheater99> but this sort of argumentation usually does not work out and draws bad attention by marking you as an intruder
17:23:13 <Sgeo> pidgin decided that it will keep crashing forever, apparently
17:24:44 <cheater99> i am so glad i didn't end up using pidgin
17:24:49 <cheater99> it is such a terrible, terrible cancer
17:27:04 <alise> and facebook isn't
17:28:17 <cheater99> nope
17:28:22 <cheater99> facebook is my sexy heroin
17:28:26 <cheater99> so alise
17:28:28 <Sgeo> Dear AIM password reset: Fuck you
17:28:37 <Sgeo> I don't like security questions
17:28:37 <cheater99> what do you suggest i do with the situation
17:28:50 <alise> i suggest that what you're doing is fairly pointless and will have no ultimate gain so do something better
17:28:58 <cheater99> no no
17:29:06 <cheater99> wrongggg
17:29:14 <alise> So don't ask me.
17:30:53 * Sgeo WTFs at his password
17:32:01 <waga> just piss on it
17:32:04 <waga> it should work
17:32:05 <waga> ;)
17:33:38 <cheater99> waga: what does your nick mean?
17:34:14 <waga> you asked that
17:34:20 <waga> and i answered
17:34:29 <waga> it means nothing
17:34:30 * Sgeo wishes Meebo would work on his N1
17:34:35 <Sgeo> but it keeps getting disconnected
17:40:25 -!- kar8nga has quit (Remote host closed the connection).
17:42:38 <alise> "You mean, of course, remove a character from a string in Ω(n^2) time, but leave one copy of the character behind if the string consists only of that character, and do nothing if the input string has length one."
17:42:44 <cheater99> waga: ok.
17:44:40 -!- hiato has quit (Quit: underflow).
17:44:44 <oerjan> alise: um wouldn't you want O rather than Omega
17:44:50 <oerjan> Omega is a _lower_ bound
17:45:06 <alise> I'm pretty sure they meant Omega.
17:45:08 <alise> The code is pretty awful.
17:45:17 <alise> It's meant to just remove a character from a string.
17:45:45 <oerjan> well i guess Omega to show how bad it is?
17:45:56 <oerjan> why wouldn't it be O(n)
17:46:48 <alise> omg, xarn stole my idea :( :P
17:46:56 <alise> oerjan: because the coder is amazingly awful
17:47:04 <cheater99> wow awesome
17:47:07 <oerjan> O KAY
17:47:10 <cheater99> i'm getting a free Learn You a Haskell
17:47:12 <alise> it was posted to proggit mainly for its footer, which has an amazingly bad way of detecting whether his precious character-removing javascript
17:47:25 <alise> is being used on "non child friendly" websites
17:47:29 <alise> and redirects to the fbi sex offenders registry
17:47:41 <alise> http://www.shawnolson.net/scripts/public_smo_scripts.js#
17:47:42 <alise> *http://www.shawnolson.net/scripts/public_smo_scripts.js
17:47:43 <alise> behold
17:47:50 <alise> cheater99: :( I'm not
17:48:23 <cheater99> alise: you need to be awesomer ^^
17:49:40 <oerjan> alise: um doesn't everyone
17:49:49 <oerjan> unless you mean on paper?
17:50:06 <alise> presumably, he means everyone
17:50:07 <alise> erm
17:50:09 <alise> presumably, he means dead tree
17:51:16 <cheater99> yes.
18:18:37 -!- pikhq has joined.
18:21:26 -!- Gracenotes has quit (Ping timeout: 260 seconds).
18:22:53 -!- MigoMipo has joined.
18:25:30 <augur> alise
18:25:33 <augur> doctor who
18:25:35 <augur> WHAT
18:25:43 <alise> I haven't been watching it; sorry.
18:25:46 <alise> But you mean yesterday's?
18:25:58 <alise> I have it on good authority that it was fucked up.
18:26:03 <oerjan> doctor what, his long lost cousin
18:26:33 <cheater99> lol
18:26:39 <alise> pikhq!
18:26:40 <augur> yes, yesterdays
18:26:50 <augur> doctor how
18:26:56 <augur> the odd doctor out
18:27:09 -!- MigoMipo has quit (Remote host closed the connection).
18:27:26 <pikhq> alise!
18:27:35 <alise> pikhq: Long have I awaited your arrival for you dispensement of valuable opinions; for the purpose of creating something pleasurable to all system administrators; for that reason that it is designed to be usable & preferable to usage by many people with Linux systems; and because that system administration, as a profession, is recognised as the height of this activity; and thus, a system administrator, can be relied upon to give good opinions towards the f
18:27:35 <alise> urthering of this goal.
18:29:58 <pikhq> Hah.
18:30:12 -!- BeholdMyGlory has quit (Ping timeout: 245 seconds).
18:30:15 <alise> pikhq: Do you think that you can help further this goal by the dispensing of opinions in the manner I suggested to be such a manner that you are able of it in the previous message I did send to you on a most recent date?
18:30:34 <pikhq> Follow the law of least surprise as much as possible.
18:30:45 <pikhq> This alone will make everyone worship your programs.
18:30:55 <alise> Lo! but it is a much more specific question; and thus, I shall present it to you, if the consent is given by you, such that I may enact it verily & most true.
18:31:04 -!- BeholdMyGlory has joined.
18:31:13 <pikhq> Then ask the question thine.
18:31:15 <cheater99> my breaching experiment is moving forward
18:31:56 <alise> pikhq: So, I've decided that since init is so... damn simple, it might as well just not exist at all. But then I thought, well, I'd like something to restart services and let me choose which services to start/stop at the current time, etc., and maintain all that for me.
18:32:11 <alise> So then I thought -- and a lot of this was inspired by daemontools and stuff -- well, why not just make the service supervisor run as process 1?
18:32:32 <pikhq> That *is* essentially what you want as an init, yes.
18:32:44 <alise> It doesn't even need to handle shutdown or anything; a shutdown program would just tell the service supervisor to shut down all services, run the rc.stop script (it might want to dismantle some configuration or something), kill everything, then tell the kernel to shut down.
18:32:52 <alise> Process 1 doesn't need to handle that.
18:33:23 <pikhq> Sounds like quite a reasonable pid1 setup.\\
18:33:43 -!- BeholdMyGlory has quit (Remote host closed the connection).
18:34:07 <alise> pikhq: So! My question is: I'm using the directory layout /var/sv/*/{run,down}, a la daemontools and runit.
18:34:16 <alise> pikhq: But how can I mark an enabled vs disabled service?
18:34:34 <alise> However it is done, it must have the draconian restraint that you must be able to mark a service as disabled, but then symlink another directory to it and mark the symlink as enabled.
18:34:36 <pikhq> Make it so that it tracks service dependencies and can spawn multiple processes at once, and you will have something quite good...
18:34:42 <alise> Is this even possible?
18:35:15 <pikhq> Hmm.
18:35:34 <alise> You can't really do it with +x, since not being able to cd into a directory is inconvenient.
18:35:40 <alise> +w makes no sense, and +r is even more disasterous to remove.
18:35:53 <alise> (And -w is also inconvenient, anyway.)
18:35:56 <pikhq> The simplest way is to have a directory for the enabled services that aliseinit looks at, and symlink in the configuration files into that.
18:36:02 <alise> So it seems if it's a permission it has to be some rarely-used thing.
18:36:14 <alise> Say, setuid to root, which is fine because they're only executable as root anyway.
18:36:25 <alise> pikhq: Yes, but that's also quite thoroughly ugly.
18:36:28 <alise> And a pain to use.
18:37:05 <pikhq> Hmm.
18:37:16 <pikhq> It seems that what you *want* is to use extended attributes.
18:37:44 <pikhq> Which are supported by most Linux filesystems. So, you could just have a "aliseinit_enabled" attribute on those files...
18:39:26 -!- BeholdMyGlory has joined.
18:39:27 -!- BeholdMyGlory has quit (Changing host).
18:39:27 -!- BeholdMyGlory has joined.
18:39:29 * waga thinks of making a language wich uses roman numbers and latin commands
18:41:16 <alise> pikhq: Does JFS support them?
18:41:26 <pikhq> Yes.
18:41:44 <alise> I'll consider it.
18:41:51 <alise> pikhq: http://gael-varoquaux.info/computers/garamond/index.html -- wow, it's an actually pretty font for LaTeX.
18:41:56 <pikhq> They're actually supported by most POSIX systems.
18:42:00 -!- MigoMipo has joined.
18:42:00 <alise> A /good/ Garamond.
18:42:04 <pikhq> Since this *is* a POSIX extension...
18:42:10 <alise> (He took URW Garamond and made is less crap.)
18:42:13 <alise> *it
18:42:52 <pikhq> Nice.
18:43:17 <augur> im not too turned off by the standard latex font, honestly
18:43:28 <augur> it has an air of ... quality .. to it
18:43:40 <alise> That's the Didone quality, and it's actually the air of a whore.
18:43:49 <augur> :P
18:45:55 <alise> What I really want is a nice Baskerville for LaTeX.
18:47:08 <pikhq> XeLaTeX can do Opentype fonts; there you go.
18:48:03 <alise> Well, yes, but then you lose the ability to use the microtype package, don't you?
18:48:09 <pikhq> No.
18:48:21 <uorygl> I'm sure at least one of you will understand this sequence: I, II, III, IIII, IVI, IIIVII, IIIIIVIII, VIIVIIII, IVIIIIVIVI, IIIVIVIIVIIIVII, ...
18:48:26 <alise> What I want them for is a high-quality typesetting of all five volumes of The Hitchhiker's Guide to the Galaxy. :P
18:48:35 <oerjan> alise: but doesn't baskerville have the air of a hound?
18:48:38 * oerjan ducks
18:48:38 <alise> Baskerville is certainly H2G2's real typeface.
18:48:47 <augur> uorygl: no
18:48:50 <alise> Compare to the more flowery Garamond.
18:49:10 <pikhq> uorygl: Yes, but why.
18:49:58 <alise> pikhq: Question: Would you happen to know where I could ...obtain... a Hitchhiker's Guide to the Galaxy text with markers for, e.g. the italic quotations of the Guide?
18:50:05 <alise> And preferably different open and close quotes.
18:50:10 <alise> So that I may import it into LaTeX format.
18:50:27 <pikhq> alise: No, I do not.
18:50:36 <alise> Darn.
18:51:02 <oerjan> uorygl: gah
18:51:26 <uorygl> pikhq: because it's off-topic, and this channel is inherently off-topic, maybe. >.>
18:52:03 * oerjan wonders how the roman version develops asymptotically
18:52:26 <alise> uorygl: Is that look-and-say or Thue-Morse?
18:52:36 <oerjan> look-and-say afaict
18:52:36 <alise> Also, I hope you do realise that IIII is arcane.
18:52:45 <alise> Like, even more arcane than Roman numerals themselves.
18:52:48 <oerjan> uorygl: look-and-say is not off-topic! well not much.
18:52:58 <uorygl> IIII is not a Roman numeral; it is the roman numeral III followed by the letter I.
18:53:02 * oerjan has it in his wikipedia watch list
18:53:12 <uorygl> Why would you think it's Thue-Morse?
18:53:34 -!- augur has quit (Ping timeout: 264 seconds).
18:53:45 <pikhq> IIII is a Roman numeral. It's just an archaicism, even for an archaicism.
18:53:52 <alise> IMO, it should go: I, II, III, IV, VI, VI, VI, ...
18:53:59 <uorygl> IVI is not a Roman numeral.
18:54:12 <oerjan> alise: it's look and say you dumb fool
18:54:18 -!- augur has joined.
18:54:22 <alise> Because IIII -> 4 -> IV, IIIV -> 6 -> VI, IVII -> 6 -> VI, ...
18:54:25 <alise> oerjan: See above.
18:54:34 <alise> Canonicalising the Roman numerals at each step produces a cycle.
18:54:42 <uorygl> IIIV could be 2. :P
18:55:03 <alise> oerjan: also, hey
18:55:05 <oerjan> whatever
18:55:12 <alise> oerjan: Bad mood...
18:55:20 <alise> pikhq: So, symlinks or crazy attributes? :P
18:55:40 <oerjan> alise: well slightly. however the canonicized version has very uninteresting development, then
18:55:52 <pikhq> alise: Or a config file. :P
18:55:54 <alise> Obviously.
18:56:00 <alise> pikhq: no, because it's meant to be on the fly
18:56:09 <alise> pikhq: "sv d tty1", for instance
18:56:18 <oerjan> but then so does look-and-say in unary :D
18:56:24 <alise> pikhq: the symlink thing is so that you can have a service tty with the run:
18:56:24 <alise> #!/bin/sh
18:56:25 <alise> exec mingetty $(basename $(dirname "$0"))
18:56:29 <alise> pikhq: and have it disabled
18:56:36 <alise> pikhq: then symlink tty[123456] to it
18:56:37 <alise> and enable them
18:56:43 <pikhq> Mmm.
18:57:15 <alise> http://pastie.org/1012591.txt?key=wicptt1zdexdhmy1azkoyg example process tree
19:03:33 * alise tries to figure out how to tell latex to always set & in italic
19:04:56 <cheater99> make a macro??????????????????
19:05:26 <alise> That would define \foo, not &.
19:06:06 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!length g ++ take 1 g | g <- group s]; main = print . take 20 $ iterate rls "I"
19:06:26 <oerjan> darn
19:06:35 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 $ iterate rls "I"
19:06:38 <EgoBot> ["I","II","III","IIII","IVI","IIIVII","IIIIIVIII","VIIVIIII","IVIIIIVIVI","IIIVIVIIVIIIVII","IIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIVIIIIIVVIIVIVIIVIIIVII","IIIIIVIIIVIIIIIVIVIIVVIIIVIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVVIIVIIIVIIIIIVIIIIIVIVIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIIVIIIIVIIIIIVVIIVVIIVIIIVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIIVIVIIVVIIIVIIIIIVIIIIVIIIIIVIVIIIVIIIIVIIIIIVVIIVI
19:08:53 -!- Gracenotes has joined.
19:09:09 <pineapple> an esolang using roman numerals?
19:09:24 <oerjan> well not this
19:09:39 <oerjan> but waga considers one
19:09:57 <pineapple> what is that list it just generated supposed to be?
19:10:09 <oerjan> look-and-say using roman numerals
19:10:23 <oerjan> what uorygl pasted above, extended
19:11:05 <oerjan> i'm not sure this version has atoms, or does it
19:12:00 <augur> atoms?
19:12:20 <oerjan> division into substrings that never interact again
19:12:24 <augur> oh
19:13:27 <oerjan> lessee any string must evolve to something starting with I sometimes, because you cannot have more than 3 V's in a row (if even that)
19:14:00 <oerjan> but are there strings that never evolve to anything starting with V? if so those could start atoms
19:15:22 <oerjan> if every string must evolve into both strings starting with I and strings starting with V then there can be no atoms, because every boundary between substrings will sometimes evolve to get matching letters
19:15:39 <oerjan> (the final letter of a string is preserved in descendants)
19:21:22 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . map (take 20 . head) . iterate (drop 4) $ iterate rls "I"
19:21:24 <EgoBot> ["I","IVI","IVIIIIVIVI","IVIIIIVVIIVIIIVIIIII","IVIIIIVVIIIVIIIIVIII","IVIIIIVVIIIVIIIIIVIV","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI"]
19:22:02 <oerjan> it certainly looks like the initial parts repeat every 4 iterations
19:22:46 <oerjan> hm in fact
19:23:15 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . map (take 20 . head) . iterate (drop 400) $ iterate rls "I"
19:23:19 <EgoBot> ["I","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI"]
19:24:37 <waga> cya
19:24:41 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . map (take 20 . head) . iterate (drop 4) $ iterate rls $ "IVIIIIVVIIIVIIIIIVVI" ++ undefined
19:24:43 <EgoBot> ["IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIIIVVI","IVIIIIVVIIIVIIIII
19:25:10 <oerjan> yep the repetition doesn't depend on what comes after
19:25:50 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . map (take 20 . head) . iterate (drop 4) $ iterate rls $ "IVIIIIVVI" ++ undefined
19:25:52 <EgoBot> ["IVIIIIVVIinput.23335.hs: Prelude.undefined
19:25:59 <oerjan> erm
19:26:14 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . tail . map (take 20 . head) . iterate (drop 4) $ iterate rls $ "IVIIIIVVI" ++ undefined
19:26:16 <EgoBot> ["IVIIIIVVIinput.23373.hs: Prelude.undefined
19:27:36 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V","VI"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 . drop 2 . map (take 20 . head) . iterate (drop 4) $ iterate rls $ "IVIIIIVVI" ++ undefined
19:27:39 <EgoBot> ["IVIIIIVVIinput.23455.hs: Prelude.undefined
19:28:17 <oerjan> hm it would seem that _does_ depend on the rest
19:28:56 -!- waga has quit (Ping timeout: 252 seconds).
19:34:40 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 $ iterate rls "I"
19:34:43 <EgoBot> ["I","II","III","IIII","IVI","IIIVII","IIIIIVIII","VIIVIIII","IVIIIIVIVI","IIIVIVIIVIIIVII","IIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIVIIIIIVVIIVIVIIVIIIVII","IIIIIVIIIVIIIIIVIVIIVVIIIVIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVVIIVIIIVIIIIIVIIIIIVIVIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIIVIIIIVIIIIIVVIIVVIIVIIIVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIIVIVIIVVIIIVIIIIIVIIIIVIIIIIVIVIIIVIIIIVIIIIIVVIIVI
19:35:07 * oerjan wonders why there aren't more than 5 I's in a row
19:35:44 <tombom> wel.l this is fun
19:36:57 <oerjan> i can see why there cannot be more than six, assuming you cannot have more than two V's
19:38:48 <oerjan> ok five is max assuming you cannot have three I's followed by two V's
19:39:43 <oerjan> ok you cannot have more than two V's
19:40:23 <pineapple> is it possible for look and say to ever contain "33", assuming it started from "1" ?
19:40:31 <oerjan> no
19:40:41 <oerjan> or wait
19:40:47 <oerjan> yes
19:41:03 <oerjan> what you cannot have is 333
19:41:41 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V"]; rls s = concat [show(length g) ++ take 1 g | g <- group s]; main = print . take 20 $ iterate ls "1"
19:41:43 -!- ais523 has joined.
19:41:53 <oerjan> er
19:42:02 <oerjan> !haskell import Data.List; ls s = concat [show(length g) ++ take 1 g | g <- group s]; main = print . take 20 $ iterate ls "1"
19:42:22 <oerjan> now what
19:42:39 <alise> hi ais523!
19:42:44 <oerjan> !help
19:42:45 <EgoBot> ["1","11","21","1211","111221","312211","13112221","1113213211","31131211131221","13211311123113112211","11131221133112132113212221","3113112221232112111312211312113211","1321132132111213122112311311222113111221131221","11131221131211131231121113112221121321132132211331222113112211","311311222113111231131112132112311321322112111312211312111322212311322113212221","132113213221133112132113311211131221121321131211132221123113112221131112311332111213211322
19:42:50 <oerjan> ok that bug again
19:43:06 <oerjan> pineapple: you will see some 33 in there
19:43:10 <ais523> hi alise
19:43:28 <alise> ais523: i'm writing an init system, isn't that interesting. :P
19:43:34 <ais523> heh, it is vaguely
19:43:41 <ais523> I was learning to make .deb packages
19:43:56 <ais523> also, I went and used autoconf for a Java program, just to make people's heads explode
19:46:05 * alise hastily attempts to change the font LaTeX is using; to typeset something translated from German in a Didone font is something akin to murdering a young child.
19:47:47 <SevenInchBread> hmmm... perhaps I should use Mnesia for persistent storage.
19:48:02 <oerjan> In seinen Armen das Kind war tot
19:51:27 * pikhq notes a lack of modern floppy distros.
19:51:30 * pikhq should fix this.
19:51:47 <pikhq> I want X11 running off of floppy disks *because I can*.
19:53:34 <oerjan> (1) note that no roman numeral contains more than 3 equal letters in a row. from this it follows that after one generation, you cannot have more than 7 equal letters in a row.
19:54:03 <alise> pikhq: :)
19:54:13 <alise> pikhq: If you use Xvfb you can avoid including drivers, which would help fit it on.
19:54:55 <alise> pikhq: Statically link everything with uclibc, have no kernel modules and remove almost everything from the kernel (support only floppy fs, say), use busybox, strip down x11 to only have framebuffer drivers, and don't start any services but... getty.
19:54:56 <oerjan> (2) note that now each numeral used contains a maximum of 3 I's and 1 V. from this it follows that after _two_ generations, you cannot have more than 7 I's or 3 V's.
19:54:58 <alise> And the network.
19:55:01 <pikhq> alise: I was thinking of using kdrive, actually.
19:55:06 <alise> pikhq: Then you'll have room for, say, dillo.
19:55:20 <alise> pikhq: And feh, and maybe even a stripped down X-Chat; failing that, irssi.
19:55:26 <pikhq> Which is a full-featured but very very very tiny X11 implementation.
19:55:28 <alise> Some IM client, probably, like ayttm.
19:55:37 <alise> Well, I guess not X-Chat.
19:55:51 <alise> But feh, irssi and ayttm will probably fit if you have a ~100 KiB kernel and ... how big is busybox again?
19:55:55 <pikhq> I'd probably compile it with the VESA driver.
19:56:10 <alise> As of X.Org Server version 7.1, the KDrive framework was integrated into the reference implementation and is now part of the generic source code release of the server.
19:56:19 <pikhq> Busybox is about 500k if you don't do too much to it.
19:56:20 <alise> pikhq: But framebuffer lets you have NO DRIVERS AT ALL.
19:56:28 <alise> How much can you strip busybox? Don't need telnetd, or its init.
19:56:32 <alise> The actual init can just be a shell script.
19:56:43 <pikhq> The framebuffer still has drivers.
19:56:49 <pikhq> In-kernel drivers instead of in-userspace.
19:56:58 <alise> But are they smaller than vesa?
19:57:07 <pikhq> Kdrive only can have one driver.
19:57:10 <pikhq> It gets compiled in.
19:57:14 <alise> Fair enough.
19:57:30 <alise> Does anyone know how to make the LaTeX memoir class use Roman numerals for chapter numbers?
19:57:34 <oerjan> (3) after three generations, this reduces to 7 I's or 2 V's, (4) then after four to 6 I's or 2 V's
19:57:35 <pikhq> So, technically no drivers, just a question of what hardware there's compiled in support for.
19:57:46 <pikhq> Also, all your figures there, alise? Those are before compression.
19:57:59 <alise> Oh, of course.
19:58:08 <pikhq> I would at bare minimum be using an lzma'd initrd.
19:58:10 <alise> pikhq: Hmm... you could compress it with xz, if your booter supports that.
19:58:15 <alise> I assume xz will fit on the floppy.
19:58:23 <pikhq> Modern Linux has support for lzma compression.
19:58:28 <alise> pikhq: Hey, we should do this. It'd be fun.
19:58:40 <pikhq> Including for the kernel image.
19:58:41 <alise> Maybe even a "package manager" that installs some optional software to RAM from the interwebs?
19:58:55 <alise> Working on the assumption that you have over 1.44 MiB of RAM.
19:59:18 <pikhq> Even a 386 should fit that assumption.
20:02:17 -!- impomatic has joined.
20:02:31 <impomatic> Hi :-)
20:07:17 <alise> Nobody knows?
20:07:27 <alise> pikhq: It needs a silly name.
20:10:46 <oerjan> IIIIII <- (V)IIIVV(I) <- (V)IVIIIII(V), (V)IIIIIIVIIIII(V), (V)IIIIVVIIIII(V) or (V)IIIIIVVIIIII(V) afaict
20:11:01 <ais523> alise: Busybox is designed to be stripped, you can choose which binaries to put in there at compile time
20:11:08 <alise> ais523: yeah
20:11:18 <oerjan> oh wait there can also be six I's at the end
20:11:18 <alise> say
20:11:22 <alise> in latex, when typesetting something to be printed on a book
20:11:26 <alise> what size argument do you pass
20:11:28 <alise> like a4paper etc
20:19:13 -!- pikhq has quit (Remote host closed the connection).
20:24:02 * oerjan finds no very interesting links about the roman look and say sequence (it's in OEIS, fwiw)
20:24:20 <alise> how? binary?
20:24:26 <oerjan> (with substitution I -> 1, V -> 5)
20:25:16 <ais523> hmm, netcat's telnet mode is buggy
20:25:51 <ais523> in the telnet protocol, requests and acknowledgements have the same syntax and you distinguish which is which by remembering the history of the connection
20:26:15 <ais523> netcat interprets all telnet metadata as requests and sends acknowledgements
20:26:21 <ais523> and if both ends of the connection do that, you get an infinite loop
20:26:53 <oerjan> anyway even if it doesn't have atoms, it should still grow in much the same way as the ordinary one, i think, since substrings that have sufficient _distance_ should not be able to interact
20:27:10 <ais523> oerjan: is this the look-and-say sequence in Roman numerals?
20:27:32 <oerjan> yes
20:28:16 <oerjan> it's not obvious that it has atoms like the ordinary one, since string descendants can fluctuate between starting with I or V
20:28:42 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 $ iterate rls "I"
20:28:45 <EgoBot> ["I","II","III","IIII","IVI","IIIVII","IIIIIVIII","VIIVIIII","IVIIIIVIVI","IIIVIVIIVIIIVII","IIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIVIIIIIVVIIVIVIIVIIIVII","IIIIIVIIIVIIIIIVIVIIVVIIIVIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVVIIVIIIVIIIIIVIIIIIVIVIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIIVIIIIVIIIIIVVIIVVIIVIIIVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIIVIVIIVVIIIVIIIIIVIIIIVIIIIIVIVIIIVIIIIVIIIIIVVIIVI
20:29:30 <oerjan> (for ordinary look-and-say, they tend to settle down to starting either with 22 or with 1 and 3 varying)
20:30:46 <alise> 1111111111 turns into 101 in decimal look and say right?
20:30:56 <oerjan> well yes
20:31:22 <oerjan> but the more than one digit length blocks are sort of anomalies that are quickly reduced
20:31:49 <oerjan> down to max 3
20:32:24 <oerjan> which means it's uninteresting for the asymptotic behavior, as is the difference between all bases >= 4
20:33:04 <ais523> what about binary look-and-say?
20:33:21 <oerjan> yeah that behaves somewhat differently
20:33:26 <ais523> presumably it settles down in much the same way, though
20:33:31 <alise> oerjan: i'm mainly interested in arbitrary starters
20:33:32 <ais523> I think you can't maintain long sequences of zeros
20:33:40 <oerjan> yeah, as does base 3, in yet another way. iirc.
20:33:42 <alise> like n repeated n times for every n digits in the base
20:33:50 <alise> with 0 coming last
20:34:02 <alise> 1100, 111222000, 1111222233330000
20:34:03 <alise> the last one:
20:34:31 <alise> 1111222233330000 -> 101102103100 -> 11102110121110131120
20:34:54 <alise> -> 3110122110111231101113211210
20:34:58 <alise> I guess it never does grow beyond 3.
20:35:04 <alise> I wonder why that is; I know that it is, but not why.
20:35:24 <AnMaster> fizzie, I extended the program on my panorama platform to be able to take bracketed shots
20:35:39 <AnMaster> fizzie, but now the program is a whopping 1018 bytes
20:35:40 <AnMaster> :/
20:36:07 <AnMaster> well the source is 9.3 KB but I meant the compiled program
20:36:24 <ais523> alise: suppose you have less than 10 of any number in sequence; if you had four of the same number in a row, it would be either "n ns, n ns", or "x ns, n ns, n ys"; in each case, you're talking about the same number twice in a row, which can't happen in runlength encoding
20:37:00 <oerjan> !haskell import Data.List; import Numeric; import Data.Char; ls b s = concat [showIntAtBase b intToDigit (length g) "" ++ take 1 g | g <- group s]; main = print . take 20 $ iterate (ls 2) "1"
20:37:04 <alise> ais523: clever
20:37:06 <fizzie> AnMaster: What sort of resources does your platform have?
20:37:06 <EgoBot> ["1","11","101","111011","11110101","100110111011","111001011011110101","111100111010110100110111011","100110011110111010110111001011011110101","1110010110010011011110111010110111100111010110100110111011","1111001110101100111001011010011011110111010110100110011110111010110111001011011110101","10011001111011101011001111001110101101110010110100110111101110101101110010110010011011110111010110111100111010110100110111011","1110010110010011011110111010110010
20:37:23 <alise> Does anyone know why novels often have a ToC at the beginning?
20:37:35 <ais523> I don't think I've seen a novel with a ToC before
20:37:40 <ais523> maybe I should pay more attention
20:37:42 <AnMaster> fizzie, well 16 bit address space. A lot is taken up by the ROM, and then a lot of what is left is taken up by the kernel for the OS
20:37:44 <alise> Often my eyes are drawn to them and they can contain minor spoilers of the kind that suggest what form the novel is going to take.
20:37:51 <ais523> collections of short stories have them, but that's kind-of obvious
20:37:52 <AnMaster> fizzie, so I'm not sure, pretty limited
20:37:53 <alise> They should really go at the back, for reference purposes only (in case you lose your bookmark or something).
20:38:02 <AnMaster> fizzie, actually I think there might be a way to check free ram
20:38:07 * AnMaster checks docs
20:38:19 -!- relet has joined.
20:39:10 <AnMaster> fizzie, 15.7F
20:39:14 <AnMaster> fizzie, whatever that is
20:39:35 * AnMaster reads the source to find out how to interpret the value
20:40:16 <fizzie> 15.7 farads of RAM.
20:40:24 <AnMaster> fizzie, it is hex I know
20:41:03 <ais523> .7F is just under 1/2
20:41:04 -!- pikhq has joined.
20:41:07 <AnMaster> lcd_number(((mm_free_mem()>>7)*100)>>3, unsign, e_2);
20:41:09 <AnMaster> fizzie, ^
20:41:20 <ais523> if you use a hexadecimal point
20:41:25 <AnMaster> that is the code it uses to display it
20:41:33 <AnMaster> I have _no_ clue how to interpret it
20:41:37 <AnMaster> it seems silly anyway
20:41:45 <AnMaster> that computation I mean
20:41:53 <AnMaster> the e_2 stuff defines where to put the dot
20:42:14 <AnMaster> so yeah ((mm_free_mem()>>7)*100)>>3 would give you 0x157F
20:42:20 <AnMaster> just work backwards from that
20:42:28 <AnMaster> fizzie, :P
20:43:06 -!- pikhq has quit (Remote host closed the connection).
20:43:09 <ais523> !c printf("%ld", ((0x157fL << 3) / 100) << 7);
20:43:15 <EgoBot> 56320
20:43:22 <ais523> there you go
20:43:56 <oerjan> ais523: for binary, if you have more than 9 in a row then it's easy to see they'll have to come from an even longer sequence previously. and then you can argue that it whittles down a bit below 9 later iirc, i don't recall the number
20:43:57 <fizzie> A rather weird way to represent it, still.
20:44:04 <AnMaster> fizzie, well add to that the programs I have on it: 80+1018+206
20:44:10 <AnMaster> bytes
20:44:20 <fizzie> That's still quite many bytes.
20:44:25 <AnMaster> the two smaller ones are diagnostic ones that just shows some sensor values
20:45:00 <AnMaster> fizzie, about 56.27 kiB yes
20:45:15 <oerjan> well the fact that every numeral starts with 1 means it's even harder to get many zeroes than many ones
20:45:15 -!- pikhq has joined.
20:45:19 <AnMaster> <ais523> I don't think I've seen a novel with a ToC before <-- ? I have
20:45:39 <oerjan> *every numeral used (zero isn't used)
20:45:52 <ais523> AnMaster: anyway, what it's doing: the >>7, >>3 converts bytes to kilobytes, and the *100 is a scaling factor
20:46:08 <AnMaster> ais523, why is it scaling like that though
20:46:08 <ais523> *kibibytes
20:46:19 <ais523> AnMaster: presumably to give a more accurate value
20:46:24 <ais523> it gives kibibytes to two decimal places
20:46:30 <ais523> which would be useful if it didn't then convert the answer to hex
20:46:31 <AnMaster> ais523, it is a rather awkward number to read
20:46:51 <ais523> !c printf("%d", 0x157f)
20:46:52 <EgoBot> 5503
20:47:05 <ais523> 55.03 KiB, approximately
20:47:09 <AnMaster> ais523, well it has to be hex, it can't fit on the screen otherwise. it has 4x 7-segment displays
20:47:12 <ais523> I imagine quite a lot of accuracy is lost in the rounding errors
20:48:00 <fizzie> The C64 has 38911 bytes free after loading BASIC; that was a trivia question in a department event. We weren't supposed to be using interwebs/google for the answers, but fortunately I had a C64 emulator in my pocket. Anyhow.
20:48:32 <AnMaster> fizzie, a c64 emulator on your n900?
20:48:44 <fizzie> AnMaster: A C64 emulator on the N-gage; this was a while ago.
20:48:49 <AnMaster> ah
20:48:58 <AnMaster> fizzie, do you still have the ngage?
20:49:31 <fizzie> Yes, though I haven't touched it after getting the N900.
20:49:38 <AnMaster> ah
20:49:52 <ais523> I didn't realise anyone actually bought those things
20:50:13 <fizzie> Hey, someone's added a real menu bar to this copy of VICE. (It used to be a funky-looking popup menu from the screen.)
20:50:14 <AnMaster> heh
20:50:20 <ais523> game cartridge you have to remove the battery to change?
20:50:27 <ais523> (although IIRC they fixed that in a later version)
20:50:27 <pikhq> Huh.
20:50:32 <AnMaster> fizzie, oh yes I hate that popup menu
20:50:38 <AnMaster> fizzie, it was buggy iirc
20:50:48 <fizzie> ais523: Yes, the "QD" version made the memory card (it's not actually a cartridge) swappable without removing the battery.
20:51:06 <fizzie> ais523: The QD also removed the "side-talking" thing.
20:51:13 <AnMaster> fizzie, side talking?
20:51:15 <alise> 1011 -> 01 or 11111
20:51:42 <fizzie> AnMaster: You had to hold the original model like this: http://darky.net/images/retardedPhones/ngage-sidetalk.jpg
20:51:49 <fizzie> (With exactly that facial expression.)
20:51:54 <AnMaster> fizzie, haha
20:52:03 <AnMaster> fizzie, how did they think when releasing that
20:53:17 <fizzie> http://www.sidetalkin.com/page-6.html -- as you can see, they got mocked pretty hard for it.
20:53:40 <alise> xD @ http://darky.net/images/retardedPhones/ngage-sidetalk.jpg
20:54:15 <AnMaster> fizzie, not all of those are even side talking!
20:54:52 <fizzie> AnMaster: Speaking of which, here's a six-shot panorama from a hotel room we were for the Fri-Sat night: http://zem.fi/~fis/hotel-room-view.jpg
20:55:29 <AnMaster> fizzie, doesn't look panoramaish at all?
20:55:39 <AnMaster> just a nice wide angle
20:55:54 <AnMaster> apart from the seam on the edge
20:55:59 <AnMaster> (tsk tsk, parallax!)
20:56:07 <alise> "UPDATE 10-2009 WHAT WHAT WHAT WHAT WHAT NOW ALL N-GAGE IS DEAD NOKIAaaaaaaaa you were my lover I CANNOT TYPE THROUGH TEARS GOODBYTE ^_((((((("
20:56:08 <alise> Indeed.
20:56:35 <fizzie> The window was a bit deeply embedded in the wall, so you couldn't get a very wide-angle view from it.
20:56:38 <fizzie> It's from http://www.sokoshotels.fi/en/hotels/helsinki/torni/
20:56:43 <fizzie> (Away for some moments.)
20:56:44 <alise> "# ...WAIT!! IT IS MISSING THE SIDETAKLIN' FEATURE, THE VERY BIGGEST FEATURE THAT MADE T N-GAGE THE WORLDS #1 PHONE!!! THEY HAVE DONE THE UNTHINKABLE, REMOVE ORIGINALITY, REPLACED WITH NORMAL!!!!!"
20:56:53 <SevenInchBread> erl_massive_tuple_function_of_pain()
20:56:55 -!- MizardX has joined.
20:58:29 <AnMaster> fizzie, fish eye at the window would work ;P
20:58:37 <AnMaster> SevenInchBread, why would you use that?
20:58:56 <AnMaster> SevenInchBread, if you aren't pattern matching you are most likely doing something wrong :P
20:58:57 -!- SevenInchBread has changed nick to CakeProphet.
20:59:12 <AnMaster> CakeProphet, so which function?
20:59:14 <CakeProphet> AnMaster: They're everywhere in the Standard Library.
20:59:15 <AnMaster> and why
20:59:23 <CakeProphet> all of them.
20:59:32 <AnMaster> I don't know of any
20:59:35 <AnMaster> tell me which ones
20:59:48 <CakeProphet> I was going through the Mnesia database functions
20:59:55 <AnMaster> oh, never used mnesia
20:59:59 <AnMaster> so can't speak about it
21:00:02 <impomatic> Saw this at the Vintage Computer Festival and planning to get one http://www.alwaysinnovating.com/touchbook
21:00:05 <CakeProphet> they all want huge tuple specification arguments.
21:00:07 <CakeProphet> well, not all
21:00:08 <CakeProphet> but a lot.
21:00:12 <CakeProphet> which is fine
21:00:18 <CakeProphet> it's just taxing on my brain to read about all of them.
21:00:25 <AnMaster> CakeProphet, okay, so I guess mnesia is bad, but as I never used on it I can't comment upon that
21:00:43 <CakeProphet> Mnesia is actually fine. It's exactly what I want to use.
21:00:49 <CakeProphet> persistent table storage with backups.
21:00:57 -!- tombom_ has joined.
21:01:00 <CakeProphet> with atomic transactions too.
21:01:09 -!- tombom has quit (Ping timeout: 265 seconds).
21:01:12 <AnMaster> CakeProphet, a word of warning: it does transactions by optimistic concurrency
21:01:28 <AnMaster> means it tries again in case of collisions, rather than locking in the first place
21:01:29 -!- tombom_ has quit (Client Quit).
21:01:37 -!- tombom has joined.
21:01:38 <AnMaster> CakeProphet, with lots of conflicting updates this can be an issue
21:01:48 <AnMaster> for performance
21:01:54 <CakeProphet> oh yeah, but you can configure the number of retries too.
21:02:02 <AnMaster> true
21:02:14 <AnMaster> and it works very well with mostly reads and few conflicting updates
21:02:17 <CakeProphet> but infinite retries should be fine. If I'm modelling the consistency of my concurrent system correctly.
21:02:37 <AnMaster> CakeProphet, but in case of many conflicting updates then you could run into performance issues
21:02:45 <CakeProphet> updates in this system will take the form of user-input, which can occur at any time.
21:02:56 <CakeProphet> from multiple people on the system.
21:03:01 <AnMaster> CakeProphet, well probably not going to swamp the system still
21:03:13 <AnMaster> you don't expect a WoW do you? ;P
21:03:25 <CakeProphet> right. There's not going to be many people trying to update the same thing at once... and if there is I'll work out conflicts.
21:03:29 <CakeProphet> nah. :P
21:03:33 <CakeProphet> 10-20 people at the most
21:03:42 <AnMaster> should be no issues
21:03:45 <CakeProphet> maybe 5-7 in the same place at once
21:03:52 <AnMaster> the issues would be hundreds of conflicting updates per second or such
21:03:55 <CakeProphet> and most of the time they won't even be interacting with anything.
21:05:07 <fizzie> AnMaster: There's also http://zem.fi/~fis/hotel-room-horizon.jpg which is from few (10) larger-zoom (223 mm focal length for 35mm-film-equivalent; 37.1 mm physical, but that's not very interesting) snaps of the horizon of the previous image.
21:06:10 <CakeProphet> the atomic transactions will actually solve alot of the issues I was going to have to work out with operations that make multiple updates.I'm wondering if there's a way to stop retrying inside the transaction.
21:06:44 <CakeProphet> sometimes I want the transaction to fail, not retry, send an error message, and stop.
21:08:27 * AnMaster loads
21:09:53 <fizzie> (It'll take a while again.)
21:09:58 <AnMaster> CakeProphet, no clue, since I never used mnesia
21:10:05 <AnMaster> fizzie, again?
21:10:22 <AnMaster> what will take a while again?
21:10:37 <AnMaster> fizzie, nice skyline
21:10:41 <AnMaster> fizzie, which city is it?
21:13:29 <CakeProphet> ah... I was simply wrong about when retries occur. Retries only occur on deadlocks, but not /all/ faulty transactions.
21:13:43 <CakeProphet> This is good.
21:13:43 <AnMaster> indeed
21:13:56 <CakeProphet> hmmm.. I'm trying to figure out when a deadlock would occur though...
21:13:59 <AnMaster> this sounds familiar
21:14:06 <AnMaster> CakeProphet, not sure
21:14:25 <fizzie> AnMaster: Helsinki.
21:14:49 <AnMaster> CakeProphet, you realise you are dropping some of the asyncness of erlang in favour of a more traditional model by using mnesia?
21:16:30 <CakeProphet> Yeah, perhaps. But otherwise I'd just be doing all of this manually.
21:17:40 <AnMaster> hm
21:17:45 <CakeProphet> well
21:17:54 <CakeProphet> I was going to use dirty reads/writes a lot for common operations
21:18:01 <AnMaster> hm okay
21:18:03 <CakeProphet> since only one process will be in access to a particular table at a time.
21:18:10 <AnMaster> oh?
21:18:15 <AnMaster> I don't remember that
21:18:20 <CakeProphet> well
21:18:28 <AnMaster> but I guess so
21:18:34 <CakeProphet> players, for example, will have a process that handles table transactions for other processes
21:18:34 <AnMaster> since mnesia probably acts as a server
21:18:52 <CakeProphet> AnMaster: not a mnesia thing. Just what I'm doing.
21:18:59 <AnMaster> ah
21:19:09 <ais523> hmm, this Java project has an URLStreamHandlerFactory, how enterprisey
21:19:18 <AnMaster> ais523, *puke*
21:19:42 <CakeProphet> The thing about JAva
21:19:45 <ais523> AnMaster: it's not as bad as it seems
21:19:46 <CakeProphet> is that you cannot help but use such names.
21:19:59 * CakeProphet has actually gotten used to Java idioms.
21:20:14 <ais523> it's basically around six lines of code that delegate ways to interpret URLs that Java doesn't know about to classes which do know how
21:20:41 <AnMaster> ais523, better name: "UrlDispatcher"
21:20:44 <AnMaster> and as a function
21:20:47 <AnMaster> not as a class
21:20:52 <CakeProphet> ha
21:20:53 <CakeProphet> what?
21:20:54 <CakeProphet> that's impossible.
21:20:59 <AnMaster> or even better: url_dispatcher
21:21:08 <AnMaster> drop the horrible camel case
21:21:08 <CakeProphet> Don't you know, /everything/ is an object.
21:21:21 <AnMaster> CakeProphet, yes but put it as a function in some other class
21:21:24 <ais523> AnMaster: but the point is that the URLStreamHandlers are persistent
21:21:28 <ais523> each one only gets created once
21:21:33 <ais523> and then gets cached
21:21:36 <fizzie> Everything's an object, except those things that aren't, like basic types.
21:21:42 <AnMaster> ais523, that is what sane languages have global variables for!
21:22:06 <ais523> AnMaster: Java has effectively global variables too
21:22:10 <AnMaster> oh?
21:22:14 <CakeProphet> ...I never give difference of opinion on naming conventions any real credit. They are all equally suitable as long as the convention is consistent.
21:22:15 <ais523> but you don't normally use them, except sometimes for constants
21:22:21 <CakeProphet> static variables are pretty much global
21:22:24 <ais523> AnMaster: you need to put them into a class, but only for namespacing purposes
21:22:30 <ais523> apart from that they act just like global variables
21:22:37 <AnMaster> hm
21:22:50 <AnMaster> ais523, does java have static class methods stuff?
21:23:01 <CakeProphet> yeah, I've seen a lot of Java code that instantiates singletons as a static (read: effectively global) variable.
21:23:01 <AnMaster> if that you could just use those and put everything in a single class
21:23:05 <AnMaster> and be done with it
21:23:25 <CakeProphet> AnMaster: yes there are static class methods.
21:23:32 <AnMaster> then just use that
21:23:41 -!- waga has joined.
21:23:41 <waga> hi
21:23:43 <CakeProphet> the Math class has a lot, for example. Math.cos, Math.sqrt, etc
21:23:44 <ais523> hi
21:23:46 <AnMaster> and do classical programming avoiding the OO stuff
21:23:48 * waga still thinks of a language
21:24:03 <AnMaster> waga, which one?
21:24:05 <fizzie> The "main" method needs to be static too.
21:24:07 <CakeProphet> AnMaster: You can effectively mimic procedural style in Java with static declarations.
21:24:11 <ais523> AnMaster: I've translated C into Java literally using similar methods
21:24:34 <ais523> because I needed a bzip2 decompressor in Java, and none of the available ones had an appropriate license, so I just translated one from the C
21:24:42 <waga> AnMaster: none, i am trying to think of a new language
21:24:56 <AnMaster> ais523, JNI?
21:24:56 <CakeProphet> ais523: ha. That's pretty crafty.
21:24:57 <ais523> yay, new language
21:25:03 <CakeProphet> probably a huge pain just to decompress bzip2 though...
21:25:05 <ais523> AnMaster: ugh, that breaks cross-platformness
21:25:18 <AnMaster> hm good point
21:25:27 <AnMaster> ais523, but you could just recompile it for each platfornm
21:25:31 <AnMaster> platform*
21:25:32 <alise> Or just translat it.
21:25:33 <alise> *translate
21:25:42 <AnMaster> ais523, it is still cross platform in the sense that C is
21:26:21 <ais523> AnMaster: it's not cross-platform in the sense that I can distribute a binary and have it work
21:26:33 <waga> Would it be a shame if I'd make another brainfuck derivative?
21:26:34 <ais523> I'm distributing sources too, but I don't expect the target audience of the program to be able to compile things
21:26:40 <alise> waga: YES.
21:26:42 <alise> DO NOT.
21:26:49 <alise> Unless it's REALLY good (it is not).
21:26:57 <waga> hehe
21:26:58 <AnMaster> ais523, what is the program?
21:27:02 <ais523> AnMaster: jettyplay
21:27:06 <AnMaster> ais523, ?
21:27:09 <ais523> ttyrec player
21:27:11 <AnMaster> ah
21:27:21 <AnMaster> ais523, I would expect those to be able to compile it :P
21:27:21 <ais523> I'm thinking of backronyming it into "Java Enterprisey Ttyrec Player"
21:27:30 <ais523> AnMaster: I want to bring ttyrecs to a wider audience
21:27:39 <AnMaster> ais523, outside the nethack crowd?
21:28:03 <ais523> AnMaster: there are a lot of people who are vaguely interested in NetHack, but not in the "nethack crowd" because of this sort of attitude
21:28:23 <AnMaster> ais523, what sort of attitude?
21:28:40 <fizzie> ais523: I've also translated literally some C code written in the "a single struct + pile of functions that all take as a parameter pointer to that struct, plus new/free funcs for it" style into Java, by converting the struct into a class, the data fields to public members, and the functions to static methods; but I couldn't stand looking at that for long, I just had to turn those functions into real methods to make the struct-pointer
21:28:41 <fizzie> -parameter implicit. When in Java, do as the Javans do.
21:28:43 <ais523> assuming that people need to know a lot about compiling and terminals and Linux and so on just to run NetHack
21:29:04 <ais523> fizzie: the advantage of the bzip2 translation was that the code wasn't even vaguely object-oriented to start with
21:29:09 <ais523> so it doesn't look wrong at all once translated
21:29:17 <ais523> apart from a small amount of passing magic numbers around
21:29:33 <AnMaster> ais523, what do you mean passing magic numbers around?
21:29:39 <AnMaster> #defines?
21:29:53 <ais523> AnMaster: returning, say, 3 from a function to say that something happened
21:30:00 <ais523> although I think I made that into an enum in the end
21:30:05 <AnMaster> ais523, I would use a #define or enum in C
21:30:43 <waga> *fuckign LinuxConsole distro doesn't include gcc*
21:30:50 <waga> WHY????
21:30:54 <AnMaster> waga, never heard of that distro
21:31:01 <waga> better
21:31:16 <waga> i found it in the unetbootin menu and thought i should try it.
21:31:23 <waga> it is ok excepting this
21:31:34 <AnMaster> waga, unetbootin?
21:31:43 <AnMaster> I never heard of that either
21:32:13 <waga> unetbootin=program that downloads and installs about 20 distros automatically on the USB sticl
21:32:22 <AnMaster> I see
21:32:42 <AnMaster> and the point of that is?
21:32:56 <AnMaster> why would I want to have 20 distros on an usb stick
21:33:02 <alise> no, it doesn't install them all
21:33:04 <alise> it installs one you select
21:34:35 <waga> how can i install gcc on a linux distro without repository?
21:34:37 <waga> :S
21:34:39 -!- relet has quit (Read error: Connection reset by peer).
21:34:50 <waga> i can't compile gcc without gcc
21:34:58 <waga> nor can i compile nano
21:35:05 <AnMaster> how should I know
21:35:05 -!- relet has joined.
21:35:09 <AnMaster> I would switch distro
21:35:18 <AnMaster> waga, arch linux is noce
21:35:19 <AnMaster> nice*
21:35:22 <waga> i just lost 5 hours using it
21:35:23 <ais523> waga: you could try finding some gcc binaries and using them to bootstrap
21:35:44 <waga> i will first print the LinuxConsole logo, then piss on it
21:35:57 <waga> then boot my mirbsd laptop and be happy
21:37:24 <AnMaster> 1) waga, I wouldn't use a distro without a repo
21:37:30 <waga> nor me
21:37:37 <fizzie> waga: It has these things called "modules", and http://linuxconsole.free.fr/1.0/modules/ includes "gcc4" in a deps list of one module, but that website seems equally broken as the linuxconsole.org one.
21:37:39 <AnMaster> 2) I would suggest reading stuff about it in advance
21:37:39 <waga> i love the freebsd ports
21:37:43 * oerjan confirms that roman numeral look-and-say sequences must eventually have strings starting with V.
21:37:53 <waga> oh
21:37:54 <waga> ok
21:37:58 <AnMaster> oerjan, ?
21:38:07 <AnMaster> oerjan, what is look-and-say?
21:38:20 <oerjan> AnMaster: um you weren't here earlier? also you don't _know_ that?
21:38:53 <oerjan> ordinary look-and-say is the sequence 1, 11, 21, 1211, 111221, 312211 etc.
21:39:13 <AnMaster> oerjan, how do those work?
21:39:51 <oerjan> 1 is one 1 -> 11. 11 is two 1's -> 21. 21 is one 2 and one 1 -> 1211
21:39:57 <AnMaster> oh
21:39:58 <AnMaster> hah
21:40:28 <oerjan> now for today's puzzle, count with roman numerals instead
21:40:44 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 20 $ iterate rls "I"
21:40:45 <ais523> anyone here know how telnet works? I'm wondering if you have to encode CR without LF as 13,0 when in binary mode, or whether just 13 is sufficient
21:40:46 <EgoBot> ["I","II","III","IIII","IVI","IIIVII","IIIIIVIII","VIIVIIII","IVIIIIVIVI","IIIVIVIIVIIIVII","IIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIVIIIIIVVIIVIVIIVIIIVII","IIIIIVIIIVIIIIIVIVIIVVIIIVIIIIVIIIVIIIIVIIIIIVIII","VIIVIIIIIVVIIVIIIVIIIIIVIIIIIVIVIIVIIIIIVIVIIVVIIVIIII","IVIIIIVVIIIVIIIIVIIIIIVVIIVVIIVIIIVIIIIVVIIVIIIVIIIIIVIIIIVIVI","IIIVIVIIIVIIIIIVIVIIVVIIIVIIIIIVIIIIVIIIIIVIVIIIVIIIIVIIIIIVVIIVI
21:41:15 <AnMaster> oerjan, can you ever get any number higher than 3 at the start of "ordinary" ones?
21:41:20 <ais523> it's not clear from the RFCs
21:41:30 <AnMaster> <AnMaster> oerjan, can you ever get any number higher than 3 at the start of "ordinary" ones?
21:41:30 <AnMaster> <ais523> it's not clear from the RFCs
21:41:30 <AnMaster> XD
21:41:34 <oerjan> AnMaster: and rather than starting with 1 or I, you can start with an arbitrary numeral.
21:41:46 <oklopol> AnMaster: no
21:41:59 <oklopol> or actually anywhere
21:42:01 <oerjan> AnMaster: not unless you start with an even longer block of equals
21:42:06 <oklopol> well right
21:42:14 <oklopol> but eventually those die out right?
21:42:14 <AnMaster> `addquote <AnMaster> oerjan, can you ever get any number higher than 3 at the start of "ordinary" [look-and-say sequences]? <ais523> it's not clear from the RFCs
21:42:17 <oerjan> and what oklopol said
21:42:18 <ais523> AnMaster: are you mocking me for assuming that the RFCs would be a) clear, and b) have any correlation to actual practice?
21:42:22 <HackEgo> 185|<AnMaster> oerjan, can you ever get any number higher than 3 at the start of "ordinary" [look-and-say sequences]? <ais523> it's not clear from the RFCs
21:42:23 * AnMaster prods HackEgo
21:42:25 <AnMaster> ah there
21:42:27 <ais523> AnMaster: oh, you just got the context completely wrong
21:42:34 <ais523> that's cheating, I was talking about something completely different
21:42:49 <AnMaster> ais523, I did realise the context was wrong. It was just funny
21:42:52 <oerjan> ais523: hey context confusion is completely permissible humor
21:42:55 <oklopol> yeah AnMaster you completely misunderstood what was happening
21:43:08 * oerjan swats oklopol -----###
21:43:11 <AnMaster> oklopol, no I didn't misunderstand it. I was confused at first.
21:43:17 <AnMaster> but I found it funny after I realised
21:43:19 <AnMaster> duh
21:43:47 <ais523> oerjan: on IRC? contexts get confused here all the time
21:44:16 <oerjan> AnMaster: also for the roman numeral version you cannot get more than six I's in a row, or two V's, unless you start with even more. i _think_ it may actually be five I's but i haven't proved it.
21:44:22 <AnMaster> ais523, I would suggest checking the common practise
21:44:29 <AnMaster> oerjan, ah
21:44:33 <ais523> AnMaster: I thought of that, but I'm not entirely sure how
21:44:53 <AnMaster> ais523, telnet to a netcat?
21:44:54 <CakeProphet> so why am I synchronizing my program if I use an atomic database system like Mnesia?
21:45:00 <CakeProphet> (AnMaster)
21:45:07 <ais523> AnMaster: you mean more, netcat to a telnetd
21:45:09 <AnMaster> CakeProphet, what?
21:45:16 <oerjan> AnMaster: also in the ordinary version you cannot get 3 3's in a row. but you can get 3 1's or 3 2's.
21:45:19 <AnMaster> ais523, oh this is from the server side?
21:45:20 <ais523> although, hmm, I wonder if you can get away with just the telnet client
21:45:24 <ais523> AnMaster: it's from both sides
21:45:32 <AnMaster> ais523, well check from both then
21:45:34 <ais523> telnet protocol is symmetrical
21:46:04 <CakeProphet> AnMaster: you said I would be losing the async behavior of my server with Mnesia
21:46:14 <ais523> AnMaster: any idea how to type a literal 0xff on a terminal?
21:46:21 <AnMaster> CakeProphet, not really, just saying you are trading some of it away
21:47:02 <oklopol> is the only way to get 6 to have 3 i's 2 v's
21:47:14 <oerjan> oklopol: yes it should be
21:47:17 <CakeProphet> AnMaster: mainly with writes, correct?
21:47:41 <AnMaster> CakeProphet, well I guess so yeah. mnesia *might* become a bottle neck. it depends on how you use it.
21:48:00 <oerjan> oklopol: however there seems to be several ways of getting _that_
21:48:21 <oerjan> i haven't checked further steps
21:48:54 <AnMaster> CakeProphet, really, I never used mnesia. I know about it from reading about it, but that is all
21:49:15 <oerjan> hm...
21:49:49 <oerjan> !haskell import Data.List; rn = ["0","I","II","III","IV","V"]; rls s = concat [rn!!length g ++ take 1 g | g <- group s]; main = print . take 50 . map length $ iterate rls "I"
21:49:51 <fizzie> ais523: 0xff is not valid in any UTF-8 sequence, so if your terminal is UTF-8y, it might be pretty hard to type that in.
21:49:51 <EgoBot> [1,2,3,4,3,6,9,8,10,15,24,23,29,36,49,54,62,75,92,105,115,138,161,180,202,231,268,297,331,376,429,472,524,593,666,731,815,912,1017,1120,1244,1383,1536,1689,1873,2074,2291,2526,2790,3083]
21:50:11 <ais523> fizzie: yep
21:50:17 <oerjan> oklopol: as you see i left out VI in the list, so if it ever appeared it would give an error
21:50:35 <ais523> grr, telnet seems to have been designed specifically to be annoying to type by hand
21:50:41 <oerjan> so it doesn't seem to appear when starting with I at least
21:50:50 <fizzie> ais523: If normal telnet clients go to binary mode easily, you could just use one, send a plain \r both ways, and look at what goes on over the wire with tcpdump.
21:51:14 <fizzie> ais523: Or if your terminal has menus and all that fluff, change locale to latin-1 and type in a ÿ.
21:51:20 <ais523> fizzie: the problem with normal telnet clients is that you can easily say "do binary mode", but they don't tell you their response
21:51:34 <ais523> so you don't know whether the remote side actually switched to binary mode or not
21:52:39 <fizzie> ais523: Well, the command-line client I have has a "set binary" command that will output "Negotiating binary mode with remote host." -- if you're pretending to be the server, you could easily ack that.
21:53:08 <ais523> fizzie: a telnet ack has several control codes in
21:53:20 <ais523> so the current issue is that it's a real pain to type
21:54:00 <fizzie> tcpdump and/or wireshark, then; the latter will give you a nicely decoded telnet conversation and all. It does need a bit of privileges to capture traffic, though.
21:54:47 <oerjan> ais523: oklopol: (+7) Ix, (7 ) I -> II, (+6) IIx, (6 ) II -> III, (+5) IIIx, (5 ) III -> IIII, (+4) IIIIx, (4 ) IIII -> IVI, (1 ) IIIIIx -> Vy, (4 ) IIIIVx -> IVIIy, (2 ) IIIVx -> IIIIIy, (5 ) IIVx -> IIIIy, (6 ) IVx -> IIIy, (3 ) IV -> IIIV, (3 ) IVIx -> IIIVy, (5 ) IVVx -> IIIIVy,
21:54:59 <fizzie> ais523: Ooooh, or: from CPAN, install Net::Telnet, then a longish Perl oneliner.
21:55:11 <oerjan> that's a summary of my proof every sequence must eventually get something starting with V
21:55:11 <ais523> or just read the source, I suppose
21:55:12 <oklopol> it should be possible to just go backwards from iiiiii
21:55:48 <oklopol> oerjan: can you explain the notation?
21:55:49 <oerjan> oklopol: well probably, i did two steps far above
21:56:06 <oklopol> is viviiiii the only prepreimage
21:56:16 <oklopol> or well
21:56:27 <oklopol> iviiiii but we need v before
21:56:50 <oklopol> errrr
21:56:50 <oerjan> oklopol: -> means what we have on the left becomes what we have on the right
21:56:55 <oerjan> after one step
21:57:13 <oerjan> x or y means what comes after is arbitrary
21:57:16 <oklopol> yeah but that's not the prepreimage i thought i found, i guess i forgot it
21:57:18 <oerjan> (might be empty)
21:57:19 <oklopol> :D
21:57:35 <oerjan> oklopol: that's not for the IIIIII question btw
21:57:36 <oklopol> whta's (+7)
21:57:39 <oklopol> *what's
21:57:44 <oklopol> i know
21:58:01 <oerjan> the number is the maximal number of generations until you get a V at the start
21:58:18 * waga started programming CONDAL
21:58:20 <oerjan> the + indicates that case is split up into cases listed later
21:58:21 <waga> :)
21:58:33 <waga> Commands made till now: READ and TELL
21:58:57 <oerjan> oklopol: the fact that you cannot get more than 6 I's or 2 V's is used throughout
21:59:37 <oerjan> oklopol: so to unnest the proof just start at the lowest numbers
22:00:17 <ais523> fizzie: Net::Telnet WONT BINARY, so it would be useless for discovering this particular idiosyncracy
22:00:40 <oklopol> yeah ok i get it
22:00:54 <fizzie> ais523: Aw. Perhaps the source then, if you don't have traffic-capturation tools handy.
22:01:04 <ais523> maybe I should read telnetd source
22:01:43 <alise> ais523: does your computer have a floppy drive?
22:01:52 <oerjan> oklopol: also it is "obvious" you always get strings starting with I. this means every sequence varies between starting with V and with I, which means you cannot have "atoms" like with the ordinary look-and-say sequence
22:01:59 <ais523> alise: I have an external floppy drive, haven't had to connect it for a while though
22:02:13 <alise> ais523: The sign of someone who has never experienced the joy of Flinix.
22:02:21 <ais523> Flinix?
22:02:30 <alise> "All your Linux applications, wherever you go -- as long as you only travel to the 90s."
22:02:35 <ais523> heh
22:02:38 <alise> In other words, me and pikhq are fitting a modern kernel and X11 onto a floppy.
22:02:40 <oerjan> because any two strings concatenated will interact ones the second string becomes something starting with what the first one ends with
22:02:40 <alise> I'm not joking.
22:02:41 <alise> We are doing this.
22:02:46 <ais523> alise: I believe you
22:02:52 <alise> Do you believe we will succeed?
22:02:55 <ais523> it seems like an entirely insane project to try, and a lot of fun
22:02:59 <ais523> and yes, I believe you will
22:03:04 <ais523> but nobody will actually like using the resulting product
22:03:41 <fizzie> I'd have had a use for that, just puny seven years ago.
22:03:52 <fizzie> Nowadays, not so much.
22:04:22 <fizzie> Though the existing floppy distros back then weren't so outdated that they presumably are now.
22:04:27 <alise> ais523: oh, believe me, it will be quite nice to use!
22:04:36 <alise> The kernel won't support much but the applications that do work will work fine.
22:04:49 <alise> And you can use more than 1.44 megs of apps if you download them from the internet into ram.
22:04:54 <alise> SVGA X11, too.
22:05:14 <oklopol> oerjan: yeah
22:05:18 <alise> Basically, we're going to make the kernel on the order of 100 KiB, and also LZMA compress everything with statically-linked uclibc.
22:05:21 <alise> ==> lots of free space
22:05:21 <oklopol> interesting observation
22:05:39 <oklopol> there's probably some sort of look-and-saying
22:05:42 <oklopol> *theory of
22:05:55 <oklopol> oh
22:06:03 <oklopol> you didn't find anything for this sequence you said at least
22:06:05 <oerjan> *once
22:06:09 <oklopol> yeah
22:06:49 <alise> can we generalise the look and say not just to be about positional bases?
22:06:52 <alise> *say sequence
22:07:32 <oklopol> i don't know what the natural generalization is
22:07:40 <oerjan> oklopol: well i think there may be an alternative method. if a substring is long enough then its descendants will grow so fast that information cannot pass across it.
22:08:03 <oerjan> and then you can sort of make a "virtual" atom boundary inside such a string, i think
22:08:11 <oerjan> and split things up that way
22:08:25 <oklopol> yeah i saw you say something like that in the log, although i didn't know what it was about
22:08:34 <oerjan> um i did? maybe
22:08:44 <oklopol> something like it :P
22:09:01 <oklopol> the rules for neither look-and-say are all that natural
22:09:09 <oerjan> alise: um we just generalized it to roman numerals, remember? but any base should work.
22:09:10 <ais523> hmm, reading telnetd, it seems it doesn't /actually/ do either
22:09:11 <oklopol> although the usual one is if you don't carry
22:09:25 <alise> oerjan: roman numerals are pretty close to being a base :P
22:09:29 <ais523> but sending plain 13 should work, at least with the telnetd whose source I'm looking at
22:09:30 <alise> at least
22:09:32 <alise> in the form you use them
22:09:37 <ais523> and likewise, it seems to send plain 13 for \r
22:09:50 <oklopol> i guess carrying is the important thing, what kind of rewriting happens when you increment
22:10:16 <ais523> also, turns out a stray \0 is irrelevant in the format I plan to accept anyway
22:10:16 * Sgeo wishes there was a desktop client for Meebo
22:10:26 <oerjan> alise: you could use any mapping from natural numbers to strings, presumably. however for the nice properties we have in the simple cases, the length of the string should be much less than the number for large numbers.
22:10:43 <oerjan> that way you get a maximal block length in the limit
22:12:08 <oerjan> which also means in the limit only finitely many of the mapping strings really matter
22:13:22 <AnMaster> ais523, why should it use a zero byte after?
22:13:56 <ais523> AnMaster: so for systems that don't have a \r character, it knows whether to translate \r into a bunch of backspaces, or \r\n into a combined-newline character
22:13:58 <oerjan> (like with base 10 only 1-3 really matter)
22:14:16 <ais523> obviously this motivation doesn't hold in binary mode, but it's not obvious whether the unusual encoding of \r persists anyway
22:14:54 <oerjan> actually the rule that only 1-3 matter should hold for any mapping of that kind where small numbers get single letter strings
22:14:57 <ais523> hmm, roman numeral look-and-see would make a good anagolf question
22:14:59 <AnMaster> ais523, what?
22:15:08 <alise> ais523: but they aren't real roman numerals!
22:15:12 <AnMaster> ais523, how would the zero byte help?
22:15:40 <ais523> AnMaster: that's actually a good point, the RFCs don't elaborate on that point
22:15:50 <ais523> presumably it's for the case where you send \r, then don't send the next character for half an hour
22:16:01 <ais523> requiring the \0 means you can send it immediately and get the \r at the other end immediately
22:16:03 <AnMaster> ais523, hah
22:16:27 <ais523> also, just observed on the TV news: "Pictures from You Tube"
22:16:34 <AnMaster> ais523, heh?
22:16:38 <oerjan> alise: the counts are real roman numerals, the fact that the strings you concatenate them into aren't is irrelevant - it's just an accident it's true for base 10... well even then it isn't if you start with a string with non-digits in it
22:16:40 <ais523> surprised me too
22:16:45 <ais523> you think at least they'd have credited the actual uploader
22:16:51 <AnMaster> indeed
22:16:52 <alise> oerjan: ah, i see
22:16:56 <alise> ais523: they do that all the time
22:17:05 <alise> ais523: was it the BBC?
22:17:23 <ais523> yes
22:17:34 <alise> huh
22:17:37 <alise> they usually tend to be better than that
22:17:56 <ais523> yup, clearly cutting corners this time
22:18:00 <ais523> they even got YouTube's name wrong
22:18:14 <AnMaster> hah
22:18:23 <AnMaster> ais523, bbc?
22:18:23 <ais523> that said, the whole AT&T personal info leak story is hilarious
22:18:33 <ais523> AnMaster: British national broadcaster
22:18:33 <alise> natioanl or local news?
22:18:37 <alise> AnMaster: you don't know what the bbc is?
22:18:37 <AnMaster> ais523, ... I know
22:18:39 <alise> ...
22:18:42 <ais523> alise: national sports news
22:18:42 <AnMaster> ais523, I wondered if it was bbc
22:18:47 <alise> *national
22:18:52 <alise> ais523: well, that's a bit less high quality :)
22:18:53 <alise> AnMaster: he said that
22:18:54 <alise> i asked that
22:18:54 <ais523> which I wasn't watching deliberately, my family were
22:18:55 <alise> oh wait
22:18:56 <alise> he's ignoring me
22:19:02 <alise> that would explain the extreme stupidity.
22:19:03 -!- impomatic has left (?).
22:19:28 <AnMaster> ais523, why did you think that I was asking what bbc was
22:19:34 <AnMaster> rather than if the youtube thing was bbc
22:19:36 <alise> because i'd already asked if it was the bbc
22:19:40 <AnMaster> (or some other channel)
22:19:40 <alise> and he responded affirmativel
22:19:41 <alise> y
22:19:44 <ais523> AnMaster: because alise had already asked if it was the bbc or not earlier, and I said yes
22:19:46 <alise> none of this you saw because you were ignoring me
22:19:56 <AnMaster> ais523, I don't seem him currently
22:20:11 <ais523> ugh, anagolf seems to be down
22:20:12 <alise> does AnMaster think getting the nick pronouns wrong riles me up :)
22:20:40 <ais523> or rather, loading so slowly the connection times out
22:20:41 <Sgeo> Awesome. The Hyperevolution nutjob hasn't been spamming me
22:20:45 <AnMaster> ais523, I refuse to comment upon if this is an ignore or not. Since I dislike people announcing that
22:20:50 <ais523> Sgeo: does he normally?
22:20:51 <oerjan> alise: hey even i don't really bother with it any longer
22:21:04 <Sgeo> ais523, I had assumed that he would
22:21:05 <ais523> or her?
22:21:08 <Sgeo> "What if evolution were true, but it wasn't quite like Darwin
22:21:08 <Sgeo> said?"
22:21:13 <ais523> also, why?
22:21:14 <alise> oerjan: it's quite easy, when you're about to use a pronoun imagine i'm female
22:21:17 <alise> then use mind bleach
22:21:41 <ais523> alise: I tend to stumble a bit whenever I type any sort of pronoun on IRC
22:21:50 <ais523> so it's not too hard to fit an appropriate pronoun in
22:21:54 <ais523> or reword the sentence to avoid one
22:21:54 <Sgeo> ais523, it was one of those "Give me your email address, and I'll show you the secrets of science and the universe" sort of things
22:22:07 <ais523> Sgeo: and you actually did? why?
22:22:19 <Sgeo> ais523, it's a separate gmail account
22:22:20 <ais523> that's like replying to a spammer just to see what their reaction will be
22:22:39 <alise> ais523: I asked the same.
22:22:57 <alise> ais523: also, I waste spammer's time occasionally
22:23:00 <alise> it's actually quite fun
22:23:00 <AnMaster> ais523, that isn't unheard of
22:23:05 <ais523> AnMaster: I know
22:23:11 <alise> you play being a gullible bastard then just make them run around in circles
22:23:26 <AnMaster> ais523, didn't someone manage to make one start wood carving?
22:23:30 <oklopol> they say that can be dangerous
22:23:33 <Sgeo> "They say, essentially, that it's corrupted data that
22:23:33 <Sgeo> occasionally turns out to be beneficial instead of harmful.
22:23:33 <Sgeo> This is where Darwin and the biology books are wrong.
22:23:33 <Sgeo> As a communication engineer I know - with 100.000000000%
22:23:33 <Sgeo> certainty - that this is impossible.
22:23:33 <Sgeo> Nowhere in the vast field of engineering is there any such
22:23:35 <Sgeo> thing as "the percentage of the time that corrupted data is
22:23:35 * oerjan snorts
22:23:36 <oklopol> they're probably idiots tho
22:23:36 <ais523> I'm vaguely considering actually pressing the "I am still listening and would like to subscribe to your newsletter" button next time I get telephone spam
22:23:37 <CakeProphet> so, have you guys seen GoogleCL?
22:23:44 <ais523> in an attempt to waste as much of their money on call charges as possible
22:23:52 <Sgeo> Hm, I don't know how much of that pasted before I /flushq'd
22:24:03 <ais523> but thinking about it, they probably spend more on repeated phoning and ringing off
22:24:15 <AnMaster> ais523, isn't that forbidden?
22:24:19 <AnMaster> ais523, telephone spam I mean
22:24:20 <CakeProphet> essentially it's command line utilities for Google web services. I'm probably going to write some scripts that utilize it.
22:24:23 <Sgeo> http://www.cosmicfingerprints.com/blog/new-theory-of-evolution/
22:24:31 <ais523> AnMaster: in the UK, it's legal so long as the other person hasn't stated they don't want it
22:24:35 <alise> ais523: you're not on the do not call thing?
22:24:35 <AnMaster> ais523, at least you have some telemarketing block register afaik?
22:24:36 <alise> srsly?
22:24:39 <alise> why the hell not?
22:24:40 <CakeProphet> to, for example, sync a directory with Google Docs.
22:24:40 <ais523> alise: I am at home
22:24:42 <ais523> my office isn't
22:24:46 <alise> Why not?
22:24:47 <ais523> for whatever reason
22:24:51 <ais523> no idea
22:24:58 <AnMaster> ais523, no?
22:25:01 <alise> Complain.
22:25:01 <ais523> AnMaster: it exists, and it's respected
22:25:13 <AnMaster> ais523, then that should block the spam?
22:25:13 <alise> ais523: stop repeating things to him, it'll be hilarious
22:25:15 <alise> this is twice in a fewm inutes
22:25:23 <alise> *few minutes
22:25:36 <ais523> alise: I didn't realise he didn't see what you said, and replied that way anyway
22:26:08 <CakeProphet> alise: It is fortunate for us IRC bots that you correct your spelling, otherwise my puny AI would be unable to decipher. :D
22:26:15 * CakeProphet is in fact a robot.
22:26:22 <alise> CakeProphet: thank ocd
22:26:35 <ais523> oh, I correct too
22:26:36 <oerjan> CakeProphet: i hav supsected
22:26:38 <CakeProphet> I think you mean *OCD :)
22:26:41 <ais523> to make what I say easier to read
22:26:43 <CakeProphet> ha.
22:26:47 <CakeProphet> I crack myself up.
22:26:50 <ais523> and to disambiguate in case what I said made my intent unclear
22:27:01 <alise> I had to resist correcting ".." to "." before in #uclibc.
22:27:09 <alise> Also, I absolutely freak wrt trailing whitespace.
22:27:11 <oerjan> CakeProphet: robot cracking? you're not nuclear powered i hope?
22:27:14 <alise> IT IS THE DEVIL!!!
22:27:19 <ais523> alise: I can't even see trailing whitespace on this client
22:27:33 <oerjan> me neither
22:27:35 <AnMaster> oerjan, s/cracking/cranking/
22:27:37 <AnMaster> hand powered
22:27:40 <alise> ais523: THAT IS WHY IT IS SO EVIL!!
22:27:58 <AnMaster> fairly useless for a robot yes
22:28:01 <oerjan> AnMaster: erm are you ignoring CakeProphet too? because he said crack
22:28:06 <CakeProphet> oerjan: No I'm actually a steam-powered architecture. The Reasoning Engine was a little-known third project by Charles Babbage.
22:28:13 * CakeProphet should write a slash fiction about it.
22:28:23 <AnMaster> oerjan, no, just a bad pun
22:28:25 <oerjan> IF YOU SAY SO
22:28:33 <oerjan> (that was to CakeProphet)
22:28:39 <ais523> wait, isn't slash fiction when you imply a romantic relationship between two characters from elsewhere in fiction?
22:28:43 <ais523> preferably an implausible or impossible one?
22:28:47 <ais523> or am I thinking of something else?
22:28:53 <CakeProphet> well...
22:28:54 <oerjan> ais523: preferably a gay one iirc
22:28:59 <CakeProphet> yes.
22:29:16 <ais523> oerjan: that helps but isn't necessary
22:29:19 <CakeProphet> but I'm so used to hanging around weaboos that I just use slash fiction to mean any romantic fiction.
22:29:33 <CakeProphet> usually involving sex dungeons, of course.
22:29:40 <alise> ais523: technically, slash is implying the relationship, and slash fiction is ... literature based on the former
22:29:40 <AnMaster> ^_^
22:29:47 <alise> Sex dungeons.
22:29:50 <ais523> alise: err, yes, I elided
22:29:54 <alise> Are those, like, dungeons were you have to have sex?
22:29:59 <CakeProphet> yes.
22:30:06 <CakeProphet> they are exactly what they sound like.
22:30:16 <ais523> alise: if you're acting all naive about this, the Internet will remove your illusions
22:30:20 * oerjan hands alise the mind bleach
22:30:28 <ais523> should you be interested in that sort of thing, of course
22:30:30 <alise> ais523: I'm joking.
22:30:39 <ais523> somehow I thought you were
22:30:46 <CakeProphet> sweet
22:30:48 <oerjan> PRESERVE YOUR INNOCENCE
22:30:52 <alise> "OBLIGATORY sex!"
22:31:11 <AnMaster> XD
22:31:19 <CakeProphet> should be an intercal statement.
22:31:53 <ais523> if you want some further insight into my character, I have no personal experience of that sort of thing, but /have/ read a six-page essay on how to ensure that everything stays both safe and legal
22:31:56 <ais523> with a lot of interesting points in
22:32:01 <oerjan> CakeProphet: that would be equivalent to uninstalling intercal, me thinks
22:32:19 <AnMaster> ais523, why on earth have you done that?
22:32:26 <ais523> AnMaster: because it was interesting
22:32:42 <CakeProphet> ais523: ...highly.
22:32:44 <AnMaster> ais523, okay, link? I might want to take a look
22:32:47 <CakeProphet> rofl.
22:32:51 <CakeProphet> NO, DON'T DO IT.
22:32:52 <ais523> AnMaster: it wasn't online
22:32:56 <AnMaster> ais523, ah
22:33:01 <ais523> why do you assume everything I read is online?
22:33:17 <oerjan> he bought it from a sleazy man at a street corner
22:33:22 <AnMaster> ais523, do I?
22:33:26 <ais523> yes
22:33:36 <ais523> oerjan: hmm, that's about 30% accurate
22:33:47 <AnMaster> how can it be 30% accurate?
22:33:58 <ais523> but I didn't have to buy it, it wasn't a street corner, and I've known the sleazy man in question for several years, in a different context
22:34:12 <oerjan> O KAY
22:34:15 <CakeProphet> a) bought it b) from a sleazy man c) from a street corner
22:34:17 <CakeProphet> one must be false
22:34:19 <AnMaster> XD
22:34:21 <CakeProphet> or... one must be true.
22:34:24 <CakeProphet> rather.
22:34:38 <oerjan> food ->
22:34:51 <alise> <ais523> if you want some further insight into my character, I have no personal experience of that sort of thing, but /have/ read a six-page essay on how to ensure that everything stays both safe and legal
22:34:51 <alise> <ais523> with a lot of interesting points in
22:34:53 <alise> I do things like that
22:34:57 <CakeProphet> Eat :: food -> belly (...???)
22:35:17 <AnMaster> unfood?
22:35:21 <Sgeo> Surely it must be eat :: Food -> Belly ?
22:35:28 <CakeProphet> well yes.
22:35:32 <AnMaster> would that be like... undead celery?
22:35:37 <AnMaster> unfood I mean
22:35:41 <ais523> no, the Belly here is obviously a monad
22:35:45 <ais523> eat :: Food -> Belly ()
22:36:04 <ais523> (and the reason I think that, is that clearly you need a pre-existing belly to modify via the food and get a new belly)
22:36:04 <AnMaster> googling for "undead celery" About 63 results (0.15 seconds)
22:36:08 <AnMaster> I'm surprised
22:36:08 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
22:36:15 <AnMaster> that there were any hits at all
22:36:16 <ais523> alternatively you could write it out as Food -> Belly -> Belly
22:36:21 <ais523> AnMaster: I'm not
22:36:21 -!- BeholdMyGlory has joined.
22:36:25 <ais523> how many were dictionaries?
22:36:34 <AnMaster> ais523, hm none
22:36:53 <ais523> try more obscure vegetables
22:36:57 <AnMaster> ais523, one does look like slash fiction though
22:36:58 <AnMaster> XD
22:37:00 <ais523> like, say, undead courgettes, or undead asparagus
22:37:00 <AnMaster> bbl
22:37:34 <AnMaster> ais523, wtf is courgettes?
22:38:03 <ais523> AnMaster: a vegetable that vaguely resembles cucumber, but is a lot sourer
22:38:24 <ais523> it's quite tasty, but only if cooked correctly
22:38:26 <AnMaster> ais523, "undead asparagus": 2 results one at "veggie zombies t-shirt from Zazzle.com.au", and one the same but without the .au
22:38:27 <AnMaster> XD
22:38:41 <ais523> australians spoiling our Googlewhacks1
22:38:44 <ais523> s/1$/!/
22:38:55 <AnMaster> Information No results found for "undead courgettes".
22:38:55 <AnMaster> Results for undead courgettes (without quotes):
22:38:55 <AnMaster> Search Results
22:38:55 <AnMaster> 1.
22:39:05 <AnMaster> "Information"?
22:39:07 <AnMaster> oh alt text
22:39:10 <AnMaster> for the image
22:39:17 <ais523> undead parsnips?
22:39:47 <AnMaster> ais523, same, nothing for quotes
22:40:23 <AnMaster> Results for undead parsnips (without quotes):
22:40:23 <AnMaster> Search Results
22:40:23 <AnMaster> 1.
22:40:23 <AnMaster> World of Warcraft - English (NA) Forums -> More Ninja's
22:40:26 <AnMaster> okay that is interesting
22:40:42 <CakeProphet> needs moar ninjas.
22:40:51 <AnMaster> ninja parsnips?
22:41:08 <AnMaster> undead ninja parsnips?
22:41:11 <CakeProphet> SPAWN MORE OVERLORDS.
22:41:28 <AnMaster> Information No results found for "undead ninja celery".
22:41:29 <AnMaster> Results for undead ninja celery (without quotes):
22:41:31 <AnMaster> meh
22:41:42 <ais523> what about just ninja celery?
22:41:43 <AnMaster> "ninja celery" About 149 results (0.28 seconds)
22:41:51 <ais523> heh, you anticipated the question
22:41:55 <AnMaster> yep
22:42:11 <AnMaster> Information No results found for "ninja parsnips".
22:42:26 <AnMaster> (again results without quotes)
22:42:39 <AnMaster> "ninja asparagus" About 39 results (0.17 seconds)
22:42:48 <AnMaster> okay now I'm surprised
22:43:32 <AnMaster> ais523, guess: asparagus is commonly considered obscure. Thus it isn't
22:43:35 -!- MigoMipo has quit (Read error: No route to host).
22:43:48 <AnMaster> ais523, okay I found a google whack
22:43:52 <AnMaster> but I can't post it in here
22:44:00 -!- MigoMipo has joined.
22:44:06 -!- augur has quit (Ping timeout: 265 seconds).
22:44:10 <AnMaster> okay I can if I insert something in between:
22:44:20 <AnMaster> "ninja remove-this-bit courgettes"
22:44:21 <AnMaster> ais523, ^
22:44:22 <AnMaster> google whack
22:44:25 <ais523> AnMaster: quotes mean it isn't a proper googlewhack
22:44:29 <ais523> you have to manage it without
22:44:31 <AnMaster> oh right
22:44:43 <AnMaster> ninja courgettes About 7,130 results (0.22 seconds)
22:45:05 <alise> <ais523> (and the reason I think that, is that clearly you need a pre-existing belly to modify via the food and get a new belly)
22:45:06 <alise> no
22:45:14 <alise> (eaten f) is a belly that has only eaten the food f
22:45:28 <alise> eaten f `combineBellies` eaten g
22:45:32 <alise> is a belly that has eaten both f and g
22:45:32 <alise> :D
22:45:36 <alise> s/g$/g./
22:45:36 <ais523> alise: `mplus`!
22:46:24 <alise> :)
22:46:31 * alise writes stdarg.h
22:46:36 <alise> Or rather, copies it: http://pastie.org/1012834.txt?key=4jh2pewjtreykilii0ksa
22:48:01 -!- waga has quit (Ping timeout: 260 seconds).
22:48:46 -!- tombom has quit (Read error: Connection reset by peer).
22:48:51 <oerjan> ais523: clearly you mean eat :: MonadState m Belly => Food -> m ()
22:49:16 <ais523> oerjan: you're quantifying over all monads that can keep track of a belly?
22:49:24 <alise> Wow, someone I know who's not from here who's excited about a self-replicator in the Game of Life.
22:49:25 <oerjan> yes
22:49:39 <ais523> alise: "self-replicator" is really misleading here
22:49:54 <ais523> what's interesting about that one is that it quines itself purely from data
22:50:07 <alise> Well, yes.
22:50:12 <alise> But it's the terminology used.
22:50:45 <ais523> it's basically a sort of spaceship, and those have existed in Life for ages; it's just that that one has a reasonable cycle time, and also does the whole code/data separation thing
22:50:52 <alise> ais523: no, but you see,
22:50:59 <Sgeo> Yay! Chrome sometimes just ignores my entering stuff into the address bar!
22:51:03 <alise> it's the first replicator to build itself with synthesis
22:51:10 <alise> ais523: also, it's the first replicator that could theoretically leave itself behind
22:51:15 <alise> under that definition, it's the first found
22:51:21 <ais523> alise: yes
22:51:24 <Sgeo> Or, well, just erases the address I typed when I press Enter
22:51:43 <oerjan> hm *eat :: MonadState Belly m => Food -> m ()
22:51:50 <Sgeo> *eat?
22:52:13 <oerjan> it's a correction
22:52:31 <oerjan> had the parameters in the wrong order
22:52:41 <Sgeo> Protip: Don't correct like that when discussing C or C++
22:52:48 <ais523> what is it a sign of when someone asks you a simple probability question and you accidentally answer in hexadecimal?
22:53:03 <oerjan> it means you've been hexed
22:53:09 <alise> ais523: Esoteric's Disease
22:53:13 <alise> no wait...
22:53:19 <alise> Müller's disease
22:53:22 <alise> or
22:53:23 <ais523> really, it's just that my calculator was set to hex and I didn't notice
22:53:26 <alise> Cristofani syndrome
22:53:33 <alise> or
22:53:34 <Sgeo> I'd love to see someone use * to indicate correction, and someone takes it literally, and there's a major bug in important software as a result
22:53:37 <alise> Pressey syndrome
22:53:41 <Ilari> Aren't there three variants of gemini? Two slope 5's with sightly different repeats and one slope 2 (knightship) variant?
22:53:46 <alise> Sgeo: wat
22:53:50 <ais523> oh, they found a knightship variant?
22:54:05 <Sgeo> ais523, the replicator is a knightship
22:54:14 <Sgeo> I thought
22:54:38 <oerjan> very chivalrous
22:54:47 <Ilari> AFAIK, original gemini wasn't true knightship (but there is true knightship variant of it).
22:54:55 <Sgeo> "true" knightship?
22:55:10 <Ilari> true knightship => slope 2.
22:55:41 <ais523> a really true knightship would move 2 squares one way and one square another way
22:55:46 <ais523> rather than 2x and x
22:56:07 <alise> define square
22:56:16 <ais523> umm, cell
22:56:31 <ais523> or whatever the smallest unit of measurement in Life is
22:56:44 <oerjan> should be doable by combining two large moves, maybe?
22:57:00 <ais523> yes
22:57:12 <Ilari> Patterns I would want to see: 1) Still life that transforms into Caterpillar when hit with one glider in suitable way. 2) Caterpillar gun. :-)
22:57:45 <ais523> what's the Caterpillar?
22:58:05 <oerjan> some buggy pattern, clearly
22:58:09 <ais523> Ilari: 1) should be easy enough if you know a glider synthesis
22:58:10 <Ilari> Huge 17c/45 slope 0 spaceship.
22:58:26 <ais523> because you could probably find a still life that turned into a glider salvo
22:58:32 <ais523> when hit by one glider
23:00:00 <Ilari> Well, how I would go constructing that is to try to find backwards stablization, proceeding systematically, and then at the end figure out how to get the non-stable part to be just a single glider...
23:02:00 <Ilari> The transformation would take hundreds of thoursands of cycles just because of speed of light...
23:02:33 <Ilari> (IIRC, Caterpillar is ~330k cells long).
23:04:53 -!- augur has joined.
23:06:02 -!- augur has quit (Remote host closed the connection).
23:06:31 <oklopol> is it known how to make speed an arbitrary rational on a certain interval?
23:06:39 -!- augur has joined.
23:07:03 <alise> oklopol: you can never truly rationalise drugs to yourself dude.
23:07:09 <oklopol> or moving fast and running a tm on the side to get creals
23:07:22 <alise> anyway, no; not until this replicator
23:07:28 <alise> which should make any velocity theoretically easy
23:07:29 <oklopol> what replicator?
23:07:37 <oklopol> oh?
23:07:38 <CakeProphet> alise: ha. that's what you think.
23:07:48 <oklopol> you mean caterpillar?
23:09:53 <oklopol> for really slow speeds at least you'd think you could somehow run arbitrary programs to calculate delays of some sort
23:10:35 <oklopol> basically you have a tm which, when it enters a state, somehow magically moves itself one step to the right
23:10:48 <oklopol> enters a predetermined moving state that is
23:10:52 <oklopol> maybe that's not exactly easy to do.
23:11:34 <oklopol> the moving could take as long as it likes, and then it'd continue computation, that'd get you any creal on some small interval, which would be totally awesome
23:11:42 <oklopol> or well
23:11:42 <oerjan> there are probably real numbers that are asymptotically hard to compute to arbitrary precision
23:11:50 <oklopol> yeah
23:11:56 <oklopol> i just realized that, if i understand what you mean
23:12:19 <oerjan> so that no TM can calculate it fast enough to move at exactly that speed
23:12:23 <oklopol> yeah
23:12:48 <CakeProphet> what you need is TIME TRAVEL.
23:12:50 <oklopol> but in any case we'd probably get rationals and shit
23:12:59 -!- AnMaster has quit (Ping timeout: 248 seconds).
23:13:18 <oklopol> MAYBE
23:13:23 <oklopol> at least a few of them
23:13:31 <CakeProphet> imagine having paradox-free time travelling computer data. :D
23:13:32 -!- AnMaster has joined.
23:13:47 <oerjan> hm maybe all in some interval, as you say
23:13:50 <ais523> must... not... mention... Feather....
23:14:00 <oklopol> that would be huge coolness
23:14:15 * oerjan watches ais523 fall through a time wormhole
23:14:40 <AnMaster> <AnMaster> <ais523> really, it's just that my calculator was set to hex and I didn't notice <-- what model?
23:14:47 <AnMaster> I suspect it didn't get through
23:14:53 * CakeProphet had some semantics mapped out for values that depend on future states via non-determinism.
23:15:18 <ais523> AnMaster: it's the Gnome calculator application
23:15:22 <AnMaster> ah
23:15:41 <AnMaster> ais523, even when at the computer I tend to prefer my TI-830
23:15:44 <AnMaster> s/0/+/
23:16:32 * CakeProphet has a TI-89. best calculator ever.
23:18:09 <fizzie> I should probably say something about the TI-86 at this point.
23:18:24 <oklopol> i think i have that, was it so?
23:18:30 <fizzie> Possibly.
23:18:41 <oklopol> because you should know
23:18:45 <AnMaster> <ais523> must... not... mention... Feather.... <-- ooh feather!
23:18:50 <AnMaster> WHERE?
23:18:53 <oklopol> hmm yeah i'm sure
23:19:04 <oklopol> pretty sure, i has that basic thingie
23:19:09 <fizzie> I've always felt the -89's use of a 68k processor (instead of the Z80) somehow cheatingy.
23:19:18 <oklopol> and it's sooooo slow
23:19:28 <AnMaster> CakeProphet, does the battery last as long?
23:19:40 <CakeProphet> not really sure. It lasts long enough for me not to care.
23:19:40 <AnMaster> CakeProphet, I need to replace in my once every 7 years
23:19:41 <AnMaster> basically
23:19:54 <CakeProphet> probably not that long though.
23:19:55 <fizzie> oklopol: If you have the TI-86, it's overclockable. (But then it'll use batteries faster, and might sometimes calculate things wrong if you take it too far.)
23:19:57 <AnMaster> 4x AAA
23:20:11 <oklopol> :D
23:20:28 <CakeProphet> the TI-89 has INFINITE PRECISION PI SORT OF
23:20:32 <CakeProphet> which makes it superior to everything.
23:20:39 <AnMaster> CakeProphet, you mean CAS
23:20:42 <AnMaster> yeah right
23:20:49 <AnMaster> CakeProphet, not allowed at exams though
23:21:02 <AnMaster> CakeProphet, for CAS I just use the computer
23:21:06 <CakeProphet> ha. it is in my calc classes so far.
23:21:15 <CakeProphet> university, that is. Dunno about high school.
23:21:26 <AnMaster> CakeProphet, I'm talking about university level
23:21:37 <alise> <CakeProphet> university, that is. Dunno about high school.
23:21:37 <alise> <AnMaster> CakeProphet, I'm talking about university level
23:21:39 <alise> SOMEONE's typoed...
23:21:52 <CakeProphet> ...no, we simply live in different places.
23:22:01 <AnMaster> CakeProphet, well yes
23:22:03 <AnMaster> I know that
23:22:08 <Sgeo> Going to watch more SGA
23:22:10 <alise> Disallowing CAS for calc would be a bit silly.
23:22:11 <Sgeo> I'm an addict
23:22:21 <CakeProphet> AnMaster: ha, yeah I know. I was talking to alise. COMMUNICATION BREAKDOWN.
23:22:27 <AnMaster> CakeProphet, ah
23:23:34 <CakeProphet> I'm surprised Haskell doesn't have some kind of built-in CAS
23:23:50 <AnMaster> I'm not
23:24:39 <AnMaster> I wonder, is there any haskell<->java FFI?
23:24:46 <AnMaster> well, for either direction
23:24:56 <AnMaster> ais523, ^
23:25:01 <CakeProphet> Hopefully it shouldn't ever be needed.
23:25:04 <CakeProphet> :P
23:25:08 <AnMaster> true
23:25:12 <ais523> AnMaster: probably via C
23:25:18 <ais523> you can connect most pairs of languages via C
23:25:19 <AnMaster> ais523, so nothing else then, meh
23:25:21 <ais523> even Haskell/INTERCAL
23:25:39 <AnMaster> ais523, there should so totally be a direct interface between those!
23:26:31 <AnMaster> ais523, hm, IFFI only works well to C befunge interpreters. I think a variant that works by a socket might be interesting
23:26:40 <AnMaster> ais523, that way it could talk with efunge
23:26:46 <AnMaster> either socket or a pipe
23:26:49 <CakeProphet> newtype MultipleOfPi = MultipleOfPi Integer
23:26:49 <CakeProphet> bam
23:26:51 <AnMaster> a pipe is probably easier
23:27:06 <AnMaster> ais523, just opening two fds from the efunge side (easier than the other way around)
23:27:08 <alise> CakeProphet: now represent pi+3
23:28:14 <CakeProphet> data PiLinear = PiLinear MultipleOfPi Integer
23:28:19 <CakeProphet> and on it goes.
23:28:28 <CakeProphet> typeclasses to the rescue, obviously.
23:29:18 <alise> that's a shitty way to structure a CAS.
23:29:35 <CakeProphet> probably abstract to any generic symbol besides pi as well... with a typeclass to do things like calculate approximations and combine terms.
23:29:43 <AnMaster> ais523, no?
23:29:46 <CakeProphet> alise: well it was on the fly. :P
23:30:05 <ais523> AnMaster: control flow via a socket would require a whole interp structure at each side
23:30:18 <AnMaster> ais523, oh wait, it replaces main loop right?
23:30:18 <AnMaster> meh
23:30:21 <AnMaster> hard then
23:30:32 <ais523> AnMaster: it's not two processes cooperating
23:30:38 <ais523> it's one process that passes control between two different languages
23:30:42 <AnMaster> ais523, since efunge uses a main loop built around ATHR
23:31:18 <AnMaster> ais523, however this would grant asyncness to intercal would it not?
23:31:19 <AnMaster> XD
23:33:11 <CakeProphet> Concurrent INTERCAL
23:33:23 <AnMaster> CakeProphet, there is already threaded intercal
23:33:26 <AnMaster> but it is lock step
23:33:34 <AnMaster> which is basically boring
23:33:35 <CakeProphet> do processes ask each other nicely for state?
23:33:43 <CakeProphet> they should.
23:34:02 <AnMaster> in intercal?
23:34:04 <AnMaster> heh, no idea
23:34:18 <ais523> CakeProphet: in threaded intercal, the only way to communicate between threads is to modify the shared program they're both running
23:34:39 <ais523> by abstaining from lines, etc
23:34:42 <AnMaster> XD
23:35:06 <ais523> makes it a pain to send integers; you can basically only send booleans, so for integers you need to send them a bit at a time
23:35:58 <AnMaster> ais523, either that or multiple bits at once. Imagine that the lines add 1, add 2, add 4 and so on are on separate lines after each other
23:35:59 -!- rodgort has quit (Ping timeout: 265 seconds).
23:36:10 <AnMaster> then you abstain and reinstate from those as required to create the number
23:36:28 <ais523> AnMaster: that's the same thing
23:36:36 <ais523> one bit at a time
23:36:37 <AnMaster> ais523, well yes pretty much
23:37:23 -!- augur_ has joined.
23:38:07 -!- augur has quit (Ping timeout: 245 seconds).
23:39:02 <cheater99> let's see if i can disassemble my laptop without turning it off and without breaking it
23:39:06 <AnMaster> ais523, but once you done it you can just reuse the same code right?
23:39:30 <AnMaster> cheater99, no I don't want to see this slaughter
23:39:37 <ais523> AnMaster: yes, of course
23:39:48 <ais523> there's even atomic test-and-set on lines of code
23:39:50 <AnMaster> ais523, for a generic send integer routine
23:39:58 <AnMaster> ais523, nice
23:40:05 <ais523> but the problem with the send integer routine is, you can't send it to a particular thread
23:40:23 <ais523> all you can do is have one thread sending and another receiving, and hope that none of the other threads happen to want to send an integer just hten
23:40:24 <ais523> *then
23:40:35 <AnMaster> ais523, oh? just make it take the line number of the first one as a parameter
23:40:45 <ais523> AnMaster: how would that help?
23:40:50 <AnMaster> like in pesudo C: send_integer(base_lineno, integer)
23:40:58 <ais523> AnMaster: I mean, you can't implement that function
23:41:02 -!- rodgort has joined.
23:41:12 <AnMaster> ais523, then different threads could have different line number bases?
23:41:21 -!- augur_ has changed nick to augur.
23:41:25 <AnMaster> ais523, you don't have computed abstain/reinstate?
23:41:48 <ais523> AnMaster: "yes" but the term means something completely different
23:41:52 <AnMaster> ais523, ah
23:42:00 <ais523> also, why are you relying on different line numbers for different threads?
23:42:06 <ais523> that would mean they all had to run different bits of code
23:42:17 <CakeProphet> I bet you could compile Python to BEAM (Erlang's VM code)
23:42:26 <AnMaster> ais523, they might need anyway. One server thread and one client thread
23:42:27 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:42:44 <AnMaster> CakeProphet, there is lisp for beam iirc
23:42:46 <ais523> AnMaster: threading in INTERCAL, you're generally creating hundreds of threads
23:42:46 <AnMaster> not clisp
23:43:00 <ais523> they're the closest C-INTERCAL has to structs or objects
23:43:06 <AnMaster> ais523, okay, but you could have different purposes for threads
23:43:12 <CakeProphet> having multiple languages that compile to BEAM pretty much give you an OS.
23:43:28 <AnMaster> CakeProphet, is jvm and .net OSes too then?
23:43:35 <CakeProphet> sure.
23:43:50 <AnMaster> CakeProphet, also iirc most beam targeting languages goes by erlang
23:43:56 <AnMaster> not all though
23:44:19 <AnMaster> some goes by core erlang, which is a compiler internal intermediate representation
23:44:27 <AnMaster> which is quite different from erlang
23:44:59 <AnMaster> multiple function entry points being converted to a case and what not
23:45:11 <CakeProphet> AnMaster: so they compile to Erlang usually?
23:45:25 <AnMaster> CakeProphet, usually, and sometimes to core erlang
23:45:31 <AnMaster> there might be some going straight to that beam asm
23:45:33 <AnMaster> not sure
23:46:01 <CakeProphet> I think there's a Ruby for BEAM.
23:46:04 <AnMaster> CakeProphet, the problem is beam is not very well documented when it comes to this, developers reserving the right to change stuff on that level if they need to
23:46:44 <CakeProphet> hmmm, dunno how I'd compile Python to Erlang easily. :P
23:46:46 <AnMaster> erlang is very backwards compatible, beam is not so much (but still pretty)
23:46:57 <cheater99> I AM SUCCESS
23:47:05 <CakeProphet> Most things would be easy. I just don't know what I would do about single-assignment variables.
23:47:13 <AnMaster> cheater99, that is what your mother thinks?
23:47:29 <AnMaster> you being a success I mean
23:47:49 <AnMaster> CakeProphet, put them in an ets table? XD
23:48:02 <AnMaster> okay that would be nasty
23:48:19 <CakeProphet> hahaha
23:48:20 <CakeProphet> no wait
23:48:24 <CakeProphet> I've got a better idea, proc dictionary.
23:48:37 <AnMaster> CakeProphet, cpython is a stack machine, beam is a register machine
23:48:41 <AnMaster> worth considering that difference
23:49:44 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:49:46 <CakeProphet> you know I bet BF would be trivial to compile to BEAM
23:49:56 <AnMaster> ugh
23:50:13 <AnMaster> CakeProphet, wouldn't be too hard to compile to erlang either
23:50:19 <AnMaster> just a main loop
23:50:28 <AnMaster> passing a dict as a parameter
23:50:32 <CakeProphet> when/if I finalize that concurrent BF-based language I might compile it to Erlang.
23:50:43 <AnMaster> bf-based language?
23:50:45 <AnMaster> no thanks
23:50:48 <AnMaster> we have enough of those
23:50:57 <CakeProphet> very loosely based. "based" as in its a turing machine. :P
23:51:01 <AnMaster> hm
23:51:15 <CakeProphet> the operations are going to be a bit more high-level, but not much more.
23:51:17 <AnMaster> bf is not a turing machine
23:51:18 <AnMaster> at all
23:51:21 <CakeProphet> ......
23:51:22 <CakeProphet> wat
23:51:24 <CakeProphet> you lie.
23:51:25 <AnMaster> the tape is pure data
23:51:29 <AnMaster> not data an instruction
23:51:35 <AnMaster> of course it is turing complete
23:51:40 <AnMaster> but so is lambda calculus
23:52:00 <AnMaster> CakeProphet, bf does not have the instructions on a tape
23:52:03 <CakeProphet> Then perhaps I do not know what a Turing machine is. x_x
23:52:26 <CakeProphet> because every description I've read of a TM looks exactly like BF.
23:52:36 <AnMaster> ais523, can you help here
23:52:51 <AnMaster> I need to sleep
23:52:51 <ais523> CakeProphet: control structure for a TM is different than for BF
23:53:04 <ais523> basically, in BF you have increment/decrement for changing values, while for loops
23:53:18 <ais523> in a TM you have set-to-value for changing values, and switch and goto as control structures
23:53:24 <ais523> so not exactly the same
23:53:31 -!- GreaseMonkey has joined.
23:53:34 <CakeProphet> ah okay.
23:54:21 <CakeProphet> well, this language was going to have set-to-value and arbitrary-number increment/decrement
23:54:38 <CakeProphet> is there any other difference?
23:54:49 <CakeProphet> how are instructions represented on tape?
23:57:16 <AnMaster> ais523, ^
23:57:41 <ais523> CakeProphet: the instructions aren't on the tape
23:57:58 <ais523> the tape stores data, in both a TM and BF
23:58:19 <ais523> unless you're trying to write a TM that is an interp for something, in which case the instructions are data and you can use any representation you like
23:58:35 <CakeProphet> ah, gotcha.
23:58:57 <AnMaster> ais523, or a self modifying TM
23:59:09 <ais523> AnMaster: then it isn't a TM
23:59:16 <AnMaster> ais523, what is it then?
23:59:29 <cheater99> ok
23:59:31 <cheater99> does it work?
23:59:33 <cheater99> it works
23:59:39 <cheater99> i am an master
23:59:49 <CakeProphet> AnMaster, a TM interpreting a self-modifying language, I assume.
2010-06-21
00:00:06 <AnMaster> hm, it would be nice with a TM that could rewrite it's own rules
00:00:49 <CakeProphet> so does clisp-for-BEAM completely integrate with Erlang? As in, I can use a clisp module as if it were a normal erlang module?
00:03:58 <AnMaster> CakeProphet, not clisp
00:04:01 <AnMaster> I said other lisp
00:04:14 <AnMaster> CakeProphet, very clearly I said it wasn't clisp but a custom lisp
00:04:25 <AnMaster> so yes it integrates fully
00:04:41 <AnMaster> but only because it is special crafted for erlang
00:05:20 <CakeProphet> ah.
00:09:57 <CakeProphet> http://wiki.reia-lang.org/wiki/Reia_Programming_Language
00:10:24 <CakeProphet> a Ruby-like language with Python whitespace-significance for BEAM
00:11:28 <cheater99> i never understood what's so special about ruby
00:11:33 <cheater99> it's a crock of shit
00:11:36 <cheater99> after all
00:39:02 <oklopol> a bf program is pretty much directly a turing machine, but a turing machine is not necessarily directly a brainfuck program
00:39:06 * CakeProphet is reading about Parsec
00:39:08 <CakeProphet> it's sick.
00:39:35 <oklopol> the control structure is different, the one of tm's is more flexible
00:39:42 <oklopol> tms'
00:40:42 <oklopol> just have a state for each command in the program, and it's pretty obvious what you do in each state, and what state you go to
00:41:43 <oklopol> in case CakeProphet still doesn't know, turing machines have a finite amount of states, and at each time step they may, depending on state and tape content at tape head, change cell content at tape head, move on tape, and change state
00:42:12 <oklopol> in a bf program your states must come in some sort of linear progression with loops, not in arbitrary jumps
00:42:43 <oklopol> this is like while() vs. goto, but in a restricted computation model
00:42:47 <oklopol> well i should go to sleep now
00:43:32 <Sgeo> Night oklopol
00:43:44 <oklopol> night Sgeodude
00:43:46 <oklopol> ->
00:48:01 <AnMaster> CakeProphet, parsec?
00:48:07 <AnMaster> as in the astronomical thing
00:48:10 <AnMaster> or as in for haskell?
00:49:34 <AnMaster> night →
00:49:56 -!- augur has quit (Ping timeout: 265 seconds).
01:12:10 -!- alise has quit (Quit: Leaving).
01:12:15 -!- alise has joined.
01:12:25 <CakeProphet> AnMaster: Haskell
01:14:55 <alise> pikhq: ping
01:16:55 <Gregor> OMGYESSSSS
01:16:57 <Gregor> TODAY IS A GOOD DAY
01:17:16 <Gregor> http://vetusware.com/download/AT_T%20UNIX%20System%20V%20Release%204%202.1.4/?id=5727 <-- this 1) works and 2) seems to be working on Bochs 8-D
01:17:51 <Gregor> (The boot disk didn't boot in Qemu, but I can always move it over later)
01:24:20 <alise> System V? Who cares?
01:24:48 <alise> It had already succumbed to the crawl of coagulated growth by then. :)
01:25:18 <alise> Gregor: Is pikhq dead for you too?
01:25:27 <alise> Guess I'll just have to compile my own uclibc.
01:25:45 <alise> Flinix must happen.
01:25:48 <Gregor> I have ancient copies of Xenix too, but I haven't made them work in any emulator, not even MESS.
01:26:05 <alise> Now Gregor must ask me what Flinix is.
01:26:12 <Gregor> "What Flinix is?"
01:26:21 <alise> Now Gregor must ask me "What is Flinix?".
01:26:37 <Gregor> ""What is Flinix?""
01:26:44 <alise> Now Gregor must ask me What is Flinix?.
01:26:50 <Gregor> Damn.
01:26:51 <Gregor> Trapped.
01:26:57 <alise> MWAHAHA
01:28:58 -!- oerjan has quit (Quit: Good night, and good luck).
01:30:11 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
01:33:17 -!- Gracenotes has quit (Ping timeout: 240 seconds).
01:38:07 -!- Oranjer has joined.
01:41:56 -!- Mathnerd314 has joined.
01:44:09 <CakeProphet> The objectives of software visualizations are to support the understanding of software systems (i.e., its structure) and algorithms (e.g., by animating the behavior of sorting algorithms) as well as the analysis of software systems and their anomalies (e.g., by showing classes with high coupling).
01:44:19 <CakeProphet> I wonder why software companies are OBSESSED with sorting algorithms.
01:45:47 <alise> http://www.exebeche.com/ ITT: the iPad becomes a viable development platform.
01:45:52 <alise> I have but one thing to say:
01:45:53 <alise> Oh dear.
01:46:08 <alise> well -- apart from the lack of a compiler :P
01:46:20 <alise> CakeProphet: Because, dude, heapsort just isn't hardcore enough!
01:50:33 <CakeProphet> I sort with O(1)
01:50:43 <CakeProphet> I call it I-don't-care-sort
01:52:05 <CakeProphet> so would now be the time to make a proprietary, better Erlang with C syntax?
01:52:28 <CakeProphet> With 100-core processors on the drawing boards these days.
01:54:15 <CakeProphet> I think if Google spends more time on Go that's probably what it will become, actually.
01:55:24 <alise> Go is not proprietary, and it is not Google's project.
01:55:39 <alise> Yes, Google advertised it, and it is worked on by Google employees, but actually more than anything it is a project of the Plan 9 development team.
01:58:23 -!- SevenInchBread has joined.
02:00:22 * alise tries to decide whether or not to use drop caps here
02:00:27 -!- CakeProphet has quit (Ping timeout: 248 seconds).
02:02:03 <Gregor> YES
02:02:06 <Gregor> I HAVE UNIX SYSV
02:02:08 <Gregor> <3
02:02:24 <alise> Gregor: Meet the old boss, same as the new boss.
02:05:27 <Sgeo> Does my source of opinions (alise) think Go is good?
02:05:46 <Gregor> OK, I've got a bunch of packages on floppies that are poorly labeled ... where's my damned 'cc' :P
02:05:47 <alise> It is not bad.
02:06:07 <Sgeo> Well, that must mean it's incredible. If alise doesn't hate it...
02:06:44 <alise> Anyone want a ~super-high quality~ LaTeX-typesotten version of The Metamorphosis?
02:07:11 <Gregor> Apparently I'm installing "Operations, Administration and Maintenance"
02:07:16 <alise> It isn't so hot on screen; it alternates the margins of each page for printed use, and has blank pages so that chapters always start on the right page (I can't memorise recto and verso...)
02:07:19 <Gregor> That package name tells me just about zero :P
02:07:26 <alise> But it is pretty.
02:07:41 -!- Gracenotes has joined.
02:07:46 <alise> I used the Project Gutenberg translation, which isn't so bad.
02:08:34 <alise> It's set to A4 paper but I'm pretty sure it'd look too big; I'd just print it scaled down on something smaller.
02:09:47 <SevenInchBread> Is there a Haskell utility that automatically annotates functions with type declarations?
02:09:52 -!- SevenInchBread has changed nick to CakeProphet.
02:10:39 <Gregor> Surely this must come with a compiler X-D
02:10:53 <Gregor> I mean, maybe not? But probably!
02:11:25 <alise> Gregor: I imagine it comes with pcc.
02:11:47 <alise> The Portable C Compiler (also known as pcc or sometimes pccm - portable C compiler machine) is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs[1] in mid-1970s—based in part on ideas from earlier work by Alan Snyder in 1973.[2][3]
02:11:47 <alise> One of the first compilers that could easily be adapted to output code for different computer architectures, the compiler had a long life span. It shipped with BSD Unix until the release of 4.4BSD in 1994—when it was replaced by the GNU C Compiler. It was very influential in its day, so much so that at the beginning of the 1980s, the majority of C compilers were based on it.[4]
02:11:49 <Gregor> Sure, but WHERE >_>
02:11:56 <alise> cc(1).
02:12:00 <Gregor> Nope
02:12:07 <Gregor> I'm installing package after package and not finding it.
02:12:16 <alise> For separate purchase, then.
02:13:08 <Gregor> That's probably true, but SO MUCH LAME.
02:13:10 -!- relet has quit (Quit: Leaving.).
02:13:11 <Gregor> I mean, come on, this is Unix!
02:13:16 <alise> "Skulpt is an entirely in-browser implementation of Python."
02:13:19 <alise> No... I ... can't believe that.
02:13:37 <ais523> can anyone here remember: which byte order is network order?
02:13:47 <alise> ais523: the one most processors use, I think... I may be wrong.
02:13:51 <ais523> ugh
02:13:54 <alise> Gregor: And guess what? UNIX didn't include a C compiler until the 3rd Edition.
02:13:56 <ais523> Wikipedia was entirely unhelpful
02:13:58 <alise> ais523: *I have no idea*
02:14:04 <Gregor> ARGH
02:14:06 <Gregor> It's there.
02:14:06 <Gregor> idcc
02:14:07 <ais523> I have about half an idea
02:14:08 <alise> Gregor: It wasn't WRITTEN in C until the 4th Edition.
02:14:18 <alise> ais523: but ther are two options, so that's useless
02:14:20 <alise> Gregor: id?
02:14:22 <Gregor> alise: I realize that, but after that C and UNIX were inseparable.
02:14:25 <Gregor> alise: WHO THE FUCK KNOWS!
02:14:34 <ais523> Perl manual says big-endian
02:14:34 <alise> man idcc
02:14:39 <Gregor> alise: Nope
02:14:39 <ais523> thanks, Perl manual!
02:14:42 <Gregor> man: not found
02:14:51 <alise> Gregor: Oh, of course; you'd buy the manual on paper, or it would be included with the system.
02:14:52 -!- Oranjer has left (?).
02:15:04 <alise> Did nroff even exist then? I think they just used troff to publish it.
02:15:17 <alise> man(1) is like the Encyclopedia Britannica on a CD-ROM.
02:15:36 <alise> Gregor: Ever used 1st Edition Unix?
02:15:38 <alise> *UNIX
02:15:48 <Gregor> I managed to make it run on an emulator once.
02:15:51 <Gregor> From TUHS IIRC.
02:15:57 <Gregor> Friggin' awesome/terrible :P
02:16:01 <alise> http://code.google.com/p/unix-jun72/
02:16:06 <alise> Fixed-up OCR'd version; runs with SIMH.
02:16:07 <Gregor> This is about the earliest Unix that is totally still Unix though.
02:16:25 <alise> Gregor: The nice thing about the 1st Edition Manual is that it lists, along with procedure names, their PDP-11 assembly calling sequence.
02:16:26 <Gregor> DOOD I have vi SWEET
02:16:35 <alise> But not emacs WHAT DO YOU THINK THAT MEANS
02:16:39 <alise> Also, blame Bill Joy.
02:18:02 <CakeProphet> I think I've figured out the most pointless project ever.
02:18:08 <CakeProphet> Write a C interpreter
02:18:17 <alise> done, many times, utilised, many times.
02:18:37 <Gregor> Argh. idcc doesn't actually work >_<
02:18:58 <CakeProphet> in Python, actually. And then used to interpret the python interpreter to invoke the C interpreter.
02:19:19 <CakeProphet> I doubt that's been done.
02:19:24 <alise> [ehird@ping lib]$ ls -lh libuClibc-0.9.31.so
02:19:24 <alise> -rwxr-xr-x 1 ehird users 191K Jun 21 02:16 libuClibc-0.9.31.so
02:19:29 <alise> What did pikhq do to get it so big...
02:19:39 <CakeProphet> that's what hse said.
02:19:43 <CakeProphet> -ahem-
02:19:54 <alise> You're almost not funny.
02:19:59 <alise> wait, why is it SO
02:19:59 <alise> ffs
02:20:01 <alise> *so
02:20:26 <alise> so anyway
02:20:36 <alise> I got a Linux kernel down to ~480 KiB compressed
02:20:49 <alise> It doesn't support block devices but it *will* be able to create a usable in-RAM system from floppy.
02:20:51 <Gregor> alise: Does it support enough to be reasonably called a "Linux kernel"
02:20:54 <CakeProphet> oh? I just solved P=NP complete.
02:20:55 <alise> Yes.
02:20:56 <CakeProphet> er
02:21:01 <CakeProphet> -complete
02:21:04 * CakeProphet typos more when he is eating.
02:21:15 <alise> Gregor: It has devices, it only has tmpfs but that's okay because initramfs can read the floppy into RAM,
02:21:18 <alise> It has TCP/IP support,
02:21:27 <alise> It ... has Ethernet device support?
02:21:45 <alise> It doesn't have much but I fully expect it to run that tiny X server thing and Dillo.
02:21:49 -!- poiuy_qwert has joined.
02:21:51 <CakeProphet> speaking of P=NP, don't you also win the prize if you solve P!=NP?
02:21:57 <alise> CakeProphet: of course.
02:22:01 <Gregor> Somehow this is rebuilding the kernel when there's new shit activated...
02:22:07 <CakeProphet> which do you think is more likely to be true?
02:22:13 <Gregor> That to me suggests it's actually building some C code, but that seems absurd, frankly.
02:24:06 <CakeProphet> My next language shall be neither compiled nor interpreted in any way. Instead it will be "realized" by a realizer program. A realizer takes source code as input and constructs a physical machine that perofmrs the semantics of that code.
02:24:14 <CakeProphet> ...it's a fool-proof plan.
02:24:58 <Gregor> So, you're inventing ... FPGAs.
02:25:13 <alise> Gregor: It probably is rebuilding the kernel.
02:25:31 <CakeProphet> Gregor: you just gave me a great bot idea, actually.
02:25:41 <CakeProphet> a bot that counts acronyms that occur on #esoteric in a given day.
02:25:45 <CakeProphet> provides statistics, etc.
02:26:46 <alise> Do you need pseudo-terminals for getty?
02:27:48 <CakeProphet> are there any stack-based physical machines out there?
02:30:35 <ais523> alise: probably not, getty uses real terminals
02:31:27 <alise> Right.
02:31:35 <alise> Flinix will use mingetty, probably.
02:31:38 <alise> CakeProphet: yes, see: forth machines
02:32:20 <Gregor> Maaaan. The lack of a C compiler is really harshing my buzz here.
02:32:22 <CakeProphet> alise: wait. see them where? Where, in the 1940s, would I go to look up such a thing? The library is closed right now.
02:32:30 <CakeProphet> ...
02:34:32 <alise> How do you configure busybox to enable/disable commands?
02:34:49 <Gregor> make menuconfig or edit .config
02:35:02 <alise> How helpful. Now explain how menuconfig hasn't got those options.
02:35:12 <Gregor> Because it hates you.
02:35:57 <alise> Hmm, it simply appears to be... hiding things from me.
02:36:15 <alise> Oh, there.
02:36:18 <alise> I wsa in a subdirectory, heh.
02:37:50 <alise> FUCK, I lost all myconfig.
02:37:51 <alise> *was
02:38:22 <CakeProphet> hmmm... I'm trying to figure out what the advantage of using a register machine over a stack machine would be.
02:38:31 <CakeProphet> a stack machine architecture would be awesome.
02:38:58 <Gregor> Maaan, gcc supported this system, but good luck ever finding a binary, plus of course I don't have the development headers so I'm just boned.
02:39:17 <alise> WHEREAS I AM JUST STONED
02:39:25 <CakeProphet> ...I wish I were stoned right now.
02:39:37 <alise> SO DOES GOD.
02:39:39 <alise> (Isn't that deep?)
02:39:45 <alise> ((That's what she said!))
02:39:55 <CakeProphet> Though I'm not sure how many of you folks condone such things. Is anyone else a cannabis smoker? :o
02:39:59 <alise> Okay, what the fuck, menuconfig.
02:40:01 <alise> You're crazy.
02:40:06 <alise> We're breaking up.
02:41:32 <alise> "Small, simple, evil." --BusyBox on ed
02:45:30 <alise> mount? How can I mount anything? There is no block device support!
02:45:42 <alise> login? init? Why do I need those? init is just a shell script, there are no users other than root!
02:45:58 <alise> It's so easy to configure a Linux installation if your constraints are dictated by the almighty 2 MiB floppy disk.
02:46:08 <alise> You just disable EVERYTHING.
02:46:22 <alise> cron? Hahahahaha
02:48:06 <CakeProphet> Don't forget GNOME
02:48:14 <CakeProphet> :)
02:48:42 <alise> Actually, me and pikhq are going to use KDrive... so we will have X11.
02:48:54 <CakeProphet> oh. well good.
02:49:20 <CakeProphet> whenever I design Operating Systems
02:49:30 <CakeProphet> I make my own custom desktop environment on top of ncurses
02:49:47 <CakeProphet> it's the best platform...
02:51:04 <Gregor> Wow ... I just typed the pathname of a real program (which I don't have) in UNIX V/386 into Google, and got NO responses.
02:51:07 <Gregor> How is that even possible?
02:52:34 <CakeProphet> well... I'm in the 1950s
02:52:42 <CakeProphet> where there is no Google
02:52:47 <CakeProphet> but
02:52:58 <CakeProphet> in the context of your time, I would say it has something to do with it being 2010.
02:53:11 * CakeProphet can communicate with the future only through IRC
02:53:24 <alise> I am a sentient Jacquard Loom.
02:53:25 <alise> Beat that.
02:54:41 <CakeProphet> well...
02:54:45 <CakeProphet> gladly.
02:55:34 <alise> flinix is going to be so awesome.
02:55:48 -!- augur has joined.
02:55:56 <CakeProphet> things were admittedly difficult when I time traveled to the 1920s. I had to hack together an IRC client from an electric typewriter, which meant I had to manually type in IRC commands.
02:56:22 <CakeProphet> that was last week though.
02:56:39 <CakeProphet> ha! get it
02:56:53 <alise> Put a floppy in an old computer, reboot. Voila, 800x600 or 1024x768 256-colour X11 session opens with welcome text, a terminal, and a menu.
02:57:11 <alise> You can run a command in the terminal to start your Ethernet network and connect with DHCP,
02:57:25 <ais523> alise: not automatic?
02:57:28 <alise> then open the menu and you can use Dillo to browse the subset of the interwebs that hasn't upgraded to 2.0 yet.
02:57:39 <alise> You can irc via ircii or some other similar thing.
02:57:43 <CakeProphet> ais523: Psh, this isn't Floppy Ubuntu.
02:57:47 <alise> Sure, you can't mount any disks, but who really cares?
02:57:58 <alise> Oh, and did I mention? A package manager means that you can install any package that will fit in RAM from the interwebnets.
02:58:33 <alise> Unfortunately, you will be unable to save these packages, even to another floppy. The kernel HAS NO FILESYSTEM SUPPORT beyond tmpfs, or block device support.
02:58:41 <alise> Instead, initramfs loads the floppy into RAM as a tmpfs; job done.
02:58:51 <alise> ais523: not automatic, you might need to manually configure the network
02:59:03 <alise> and also, every byte counts; easier to write a quick briefing on how to start the network than an automagic script.
02:59:27 <alise> But, point is: Put in floppy. Boot up. Usable graphical environment. The web. IRC. WTF awesome.
02:59:54 <CakeProphet> could always do some kind of CLOUD FILESYSTEM OOOOOOH
03:00:32 <alise> ais523: And all this with a modern kernel, uClibc, and Busybox.
03:00:41 <alise> A modern kernel! One without block device support, sure, but...
03:00:58 <ais523> aren't floppy disks block devices?
03:01:15 <alise> ais523: Yes. But think about how a Linux boot floppy works. The kernel never reads the floppy.
03:01:23 <ais523> I suppose so
03:01:27 <alise> The initramfs loads the floppy into RAM as a tmpfs, then hands over to the kernel, which sees it as a tmpfs.
03:01:35 <alise> Job done.
03:01:36 <ais523> it's certainly an ingenious way to make the disk read-only
03:01:44 <alise> That's not intentional.
03:01:52 <ais523> hmm, what about kernel modules in the package manager
03:01:55 <alise> It's just that even with all of this removed, the kernel is ~480 KiB.
03:02:01 <alise> ais523: No kernel module support, heavens no!
03:02:03 <ais523> so if you really need to be able to read a disk, you could download block device support and use it
03:02:06 <alise> Oh, and that 480 KiB figure is LZMA compressed.
03:02:09 <alise> So yeah, the kernel is big.
03:02:11 <alise> Features are baaad.
03:02:19 <ais523> alise: oh, in that case, how are you going to support hardware?
03:02:27 <alise> ais523: I may end up enabling block device support and filesystems out of sheer weakness if userspace doesn't take up as much space as I expect.
03:02:31 <ais523> just assuming a VGA screen or whatever?
03:02:58 <alise> ais523: We're going to use the KDrive tiny X11 server (part of X.org now) with SVGA.
03:03:02 <alise> (We = me and pikhq.)
03:03:08 <alise> So, yeah, just assume SVGA.
03:03:11 <alise> It has a wide enough range of resolutions.
03:03:34 <ais523> and presumably you're only supporting wired networking
03:03:40 <ais523> to avoid needing a bunch of drivers for wireless cards
03:03:51 <ais523> even then, how are you going to select which networking drivers to use?
03:04:00 <ais523> the three most popular, or whatever?
03:04:13 <alise> ais523: Broadcom drivers. Nothing else. Works fine.
03:04:17 <alise> Most stuff is generic enough these days.
03:04:38 <alise> Ethernet, you can't really go wrong with Ethernet. Ethernet works nowadays, all the old tutorials saying "Oh, get a Broadcom card!" are really just FUD by now.
03:05:04 <ais523> I realised it worked fine, but I thought it was due to the breadth of available drivers, rather than them all being the same
03:06:02 <alise> There's actually very few Ethernet drivers to enable in the kernel.
03:06:07 <alise> Broadcom is the only one that would ring anyone's bell.
03:07:44 <CakeProphet> but wait, WHAT ABOUT BLUETOOTH?
03:08:03 <alise> No.
03:08:07 <CakeProphet> hahaha.
03:08:09 <alise> Also no USB or sound support. (Sound support requires block devices.)
03:08:49 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:11:36 <alise> ais523: what other programs do you think would be useful?
03:11:46 <ais523> nethack
03:11:53 <alise> ais523: how small can you get nethack?
03:12:01 <alise> we're going to be very short for space
03:12:04 <ais523> not sure, there's definitely a version designed to fit on a floppy
03:12:14 <ais523> which presumably implies that it takes up most of the floppy, so probably too large
03:12:26 <ais523> enough to access a package manager is probably fine
03:12:36 <ais523> also, try to put at least one TC program on there, like a shell or something
03:12:53 <alise> Busybox has a shell, so yes.
03:13:04 <alise> It will also have gzip and tar and the like.
03:13:10 <alise> ...I've included a floppy formatter but have just realised that'll be useless.
03:13:22 <alise> ais523: if I disable all the extensions and patches, surely nethack isn't so big?
03:13:26 <alise> What if I UPX the executable?
03:13:35 <alise> The whole system will be LZMA'd, anyway.
03:15:20 <alise> ais523: I'll probably include some tiny mail client.
03:15:55 <CakeProphet> irssi is a pretty sweet terminal IRC client.
03:15:59 * CakeProphet is using it right now.
03:16:02 <alise> ais523: Problem is, with a 480 KiB kernel, compressed, and the hundred kibibytes or so busybox will take up, we're short for space, even using an unformatted floppy disk.
03:16:06 <alise> CakeProphet: But it is too big for a floppy.
03:16:07 <alise> Thus, irssi.
03:16:09 <alise> Erm.
03:16:11 <alise> Thus, ircii.
03:16:28 <CakeProphet> meh.
03:16:42 <CakeProphet> UNFERIOR
03:16:51 <alise> 2 mibibytes. Get a working system with X11.
03:16:53 <alise> Go on.
03:17:26 <CakeProphet> the problem is that you're using /space/ to represent programs
03:17:29 <CakeProphet> and not BRAINPOWER!!!
03:17:31 <CakeProphet> ...
03:17:36 <ais523> alise: can bootloaders read unformatted floppy disks?
03:17:47 <alise> I'm sure some can.
03:17:49 -!- FireFly has quit (Quit: swatted to death).
03:17:51 <alise> The formatting is just fluff.
03:18:07 <ais523> yes, but if they don't, there's no point in putting the disk in a computer and hoping it'll boot
03:18:10 <ais523> um, I don't mean bootloaders
03:18:13 <ais523> I mean BIOSes
03:18:36 <alise> Um, don't they just read the first sector and jump to it...?
03:19:51 <ais523> good point
03:21:42 -!- augur has quit (Ping timeout: 265 seconds).
03:22:42 <CakeProphet> hmmm... I've always wondered how LiveCDs mangage to be architecture independent.
03:22:48 -!- augur has joined.
03:23:11 <CakeProphet> don't they have to store some kind of machine code?
03:23:14 <alise> ais523: /init is just going to be a shell script that starts some gettys and X :-)
03:23:38 <ais523> CakeProphet: normally they use a machine-code polyglot
03:23:45 <ais523> not architecture-independent, but working on more than one arch as a result
03:23:47 <CakeProphet> aaah.
03:24:06 <ais523> machine code is a pretty simple language to polyglot, generally, as it has no syntax errors
03:24:18 <ais523> it's like INTERCAL, only the bits you actually try to run have to make sense
03:24:19 <alise> most livecds aren't architecture independent
03:25:40 <CakeProphet> but when writing something like... a bootable floppy.
03:25:48 <CakeProphet> you'd want to imploy such a strategy right?
03:25:54 <CakeProphet> *employ
03:26:42 <alise> why?
03:27:09 <CakeProphet> to run on any of numerous old CPU architectures of course.
03:28:02 <alise> on a floppy?
03:28:07 <alise> how big is this hypothetical floppy?!
03:28:50 <CakeProphet> well, your bootloader is always the first sector, not the whole floppy. But I assume what you're saying is that such a thing is impractical.
03:28:54 -!- GreaseMonkey has joined.
03:29:26 -!- augur has quit (Ping timeout: 265 seconds).
03:30:45 <CakeProphet> here's a question for #esoteric
03:31:12 <CakeProphet> what would be the most difficult combination of languages to polyglot. I guess imposing a limit of 2 languages.
03:31:36 <ais523> some are completely impossible, because they each require incompatible fixed headers
03:33:05 <CakeProphet> like Erlang and Haskell.
03:33:12 <CakeProphet> both require a module declaration
03:33:50 <CakeProphet> if only Erlang's compiler directives were -- instead of - :P
03:44:35 <CakeProphet> http://shinh.skr.jp/obf/poly_quine5.txt
03:44:41 <CakeProphet> I'm guessing most of you have seen this
03:44:52 <CakeProphet> but I found found it. 5-language polyglot.
03:45:56 <alise> Bye, everyone.
03:45:57 <alise> Sgeo!
03:46:25 <alise> eh :P
03:46:27 <alise> bye
03:46:31 -!- alise has quit (Quit: Leaving).
04:18:39 -!- coppro has joined.
04:20:04 <CakeProphet> it would be cool to have a language that compiles to various polyglot styles.
04:20:43 <pikhq> CakeProphet: Erlang and Haskell? Sure. Just needs *literate* Haskell. ;)
04:21:06 <CakeProphet> ah. But that sounds like cheating to me. :P
04:21:15 <pikhq> Not really.
04:21:48 <pikhq> Note that Literate Haskell is defined by the Haskell98 report; just a nice feature of the language is all.
04:22:01 <CakeProphet> ha. I guess so.
04:22:13 <GreaseMonkey> there's a 7-lang polyglot somewhere
04:22:23 <CakeProphet> yeah I just saw it.
04:22:25 <GreaseMonkey> wait that's a quine?!?!
04:22:30 <CakeProphet> yes.
04:22:56 <GreaseMonkey> BF/C/python are the obvious ones
04:22:56 <CakeProphet> makes it even more epic right?
04:23:02 <CakeProphet> it's....
04:23:08 <CakeProphet> C, Python, Perl, Ruby, BF
04:23:35 <CakeProphet> all quines.
04:23:51 <GreaseMonkey> hmmkay
04:24:11 <CakeProphet> but don't ask me how.
04:24:12 -!- zzo38 has joined.
04:26:57 -!- cal153 has joined.
04:34:51 <zzo38> I have idea for a executable format in Linux that has something similar to COM format in DOS. But, instead, there is a small header in the file, to identify the file as this format and to tell how much memory to allocate, maybe also operating system and processor codes. Once the program is loaded, that header is replaced by the PSP in memory. And then the same memory is used for code/data/etc
04:36:02 <pikhq> That format is called a.out
04:38:48 <zzo38> No, a.out is different (I looked it up on Wikipedia)
04:40:51 <coppro> this conversation is full of fail
04:42:01 <zzo38> coppro: Please explain better then, if everyone else failed then maybe you can explain better?
04:42:07 <pikhq> Your mother is fail.
04:42:34 <coppro> zzo38: it's not that you failed. It's that you said things which are full of fail
04:43:16 <zzo38> Please describe, then, which things are full of failed
04:43:41 <coppro> for starters, your the fact that you don't understand the use of 'fail' as a noun
04:44:22 <zzo38> OK. Anything else?
04:44:36 <coppro> everything esle
04:45:57 <zzo38> Please be specific so that I can know what is wrong and so that I can fix it.
04:46:14 <zzo38> (The other thing you are fail is writing "else")
04:56:22 -!- augur has joined.
05:02:08 <CakeProphet> I've never quite understood how binary formats work.
05:02:25 <coppro> very simply
05:02:27 <CakeProphet> Are they interpreted by something before they become machine code?
05:02:29 <coppro> you put bytes in
05:02:32 <coppro> you take bytes out
05:02:42 <CakeProphet> "binary formats" as in ELF/a.out
05:02:45 <pikhq> No, they are merely parsed for where to load stuff into memory.
05:02:46 <coppro> oh
05:02:52 <pikhq> They already *contain* machine code.
05:02:57 <CakeProphet> right.
05:03:02 <coppro> the kernel (usually) reads them to set the program up
05:03:27 <CakeProphet> hmmm, okay. Got it now. I just never figured out where that happens I guess.
05:03:39 <CakeProphet> but assumed it did.
05:03:39 <pikhq> ELF just states "These places need to be replaced with addresses corresponding to these symbols" and "This needs to be loaded at place X".
05:03:50 <pikhq> Well. And a bunch of other metadata.
05:04:04 <CakeProphet> I assume these are things that machine code can't do alone?
05:04:09 <CakeProphet> or rather... not easily.
05:04:19 <pikhq> It *is* machine code already.
05:04:33 <CakeProphet> and not in a standardized, secure way.
05:04:34 <CakeProphet> all of it?
05:04:53 <pikhq> Well, no. It's machine code and metadata.
05:05:02 <CakeProphet> ELF just states "These places need to be replaced with addresses corresponding to these symbols" and "This needs to be loaded at place X".
05:05:07 <CakeProphet> is this machine code or metadata?
05:05:26 <pikhq> The machine code has a few variables it *might* need filled in; the metadata describes where those are and what they need to be filled in with.
05:05:35 <CakeProphet> ah.
05:05:44 <pikhq> (along with obvious stuff like "size of machine code", "requested load address", "CPU architecture", etc.)
05:06:15 <CakeProphet> what do you mean by variables? I'm not very familiar with machine code.
05:06:31 <pikhq> Some of these variables (usually called "symbols") might need a shared library; if so, the ELF file also describes which shared libraries are needed.
05:06:55 <pikhq> They're just memory addresses.
05:07:15 <coppro> don't they usually have a dynamic thunk?
05:07:17 <CakeProphet> so it contains machine code with macros (symbols), essentially?
05:07:45 <pikhq> coppro: Oh, right; it specifies the name of the dynamic linker too.
05:07:53 <pikhq> CakeProphet: For the most part.
05:08:32 <CakeProphet> because there are some things the compiler of said binary won't really know until the program executes?
05:08:46 <pikhq> Yeah.
05:09:11 <pikhq> Like which memory address functions from shared libraries happen to be loaded at.
05:09:57 -!- augur has quit (Ping timeout: 265 seconds).
05:17:01 <zzo38> I think you also need a simple executable format, the header needs only: Magic number; Processor type; Operating system type; Amount of memory to allocate (the same memory is shared for code/data/stack); Execute start address.
05:17:20 <zzo38> This is my idea of one kind of execute format
05:17:24 <zzo38> that can be invented
05:17:35 <pikhq> Having the stack anywhere near code/data makes me wince.
05:17:55 <CakeProphet> loloverflow
05:18:12 <coppro> just put it so that an overrun will hit you into code, which should be protected
05:19:52 <CakeProphet> well, fixing security risks from overflows really should be done at a library level. I don't think executables should worry about it.
05:20:00 <zzo38> If you allocate enough memory, the stack won't be near the code/data as much. But if you think your program might stack overflow, the program can reallocate the stack when it starts, anyways.
05:20:50 <coppro> most programs are not smart enough
05:22:21 <zzo38> This kind of executable format would be used mostly for if you are writing a small program in machine-codes which does not use a lot of stack space.
05:22:36 <zzo38> But can be used for larger programs as well.
05:23:45 <zzo38> Simply: The operating system allocates the memory, and then copies the contents of the file into the allocated memory, initialize stack pointer to the end of the allocated memory, replace the header with the PSP, and then jump to the execute start address.
05:25:45 <coppro> thank you for saying it, xckd
05:25:48 <coppro> *xkcd
05:27:06 <fizzie> DOS EXE format is not too far from that, except it's got relocation entries too. But it does allocate a single block of memory (for code and data, plus a fixed amount of extra memory for zero-initialized data). And you specify the initial stack pointer in the header, so it can be put at the end there. (I don't quite know where it usually is.)
05:27:50 -!- augur has joined.
05:31:16 <Gregor> I'm desperately trying to make a cross-compiler targeting System V/386 :P
05:31:21 <Gregor> I'm betting: miserable failure.
05:31:54 <pikhq> Absolutely miserable, I'm sure.
05:32:17 -!- augur has quit (Ping timeout: 245 seconds).
05:32:29 <Gregor> newlib actually has a sysv i386 target.
05:32:38 <Gregor> I have no idea whether it's maintained or has a non-zero chance of working.
05:32:46 <Gregor> But since I don't have the native libc, it's all I've got :P
05:33:15 <Gregor> Or rather, I have the native libc, but not the headers and other stuff necessary for compilation.
05:34:37 -!- augur has joined.
05:36:03 <zzo38> fizzie: My idea is actually different, for one thing is not limited to DOS. For another thing the header is shorter, has no relocation entries, has no checksums or initial stack setting, no overlay numbers, and only one number for how much memory, which includes the entire file as part of it.
05:36:58 <fizzie> Yes. I just said "not too far".
05:38:43 <fizzie> I don't advocate using DOS EXEs, it's a pretty messy thing. The relocs are all segment-address fixups.
05:40:53 -!- augur has quit (Ping timeout: 265 seconds).
05:44:25 <zzo38> I don't want to use a complicated bootloaders such as GRUB and so on, I want to use a simple one! I wrote a thirty-six bytes MBR code, so it should be mostly good enough.
05:50:20 <Gregor> Daaaaamn GCC takes forever to compile.
05:50:48 <Gregor> And all of this is just going to result in a nonworking GCC anyway :P
05:52:00 -!- CakeProphet has quit (Ping timeout: 265 seconds).
05:53:08 <pikhq> GCC takes nearly forever to compile.
05:53:18 <pikhq> zzo38: Does it load Linux?
06:06:43 -!- augur has joined.
06:06:44 -!- augur has quit (Remote host closed the connection).
06:07:21 -!- augur has joined.
06:07:37 <zzo38> pikhq: The thirty-six bytes MBR code does not load Linux. It loads only real-mode programs, and not more than 64K. However, it can be used to load a second loader, which then initializes protected mode and loads Linux.
06:08:56 <pikhq> Mmm.
06:09:07 <pikhq> So, it loads a COM file.
06:09:39 <zzo38> pikhq: Yes, except that there is no PSP and no DOS functions.
06:10:01 <pikhq> Still a COM file.
06:11:50 <zzo38> I don't think a code to fully load Linux (or even to fully initialize protected mode properly) will fit in the MBR code.
06:12:41 <pikhq> It does.
06:12:55 <pikhq> Though to load Linux does *not* entail protected mode.
06:13:30 <pikhq> It entails loading Linux and an initrd into memory with a command line at a given place, and jumping into its initialisation routine.
06:14:03 <zzo38> And how long is a code to do that?
06:15:13 <pikhq> 512 bytes, I think.
06:15:37 <pikhq> I seem to recall Linux 2.4 had such a bootloader as its first 512 bytes.
06:15:52 <zzo38> That won't fit in the MBR code. the MBR is 512 bytes long but part of it is used for magic number and stuff
06:16:24 <fizzie> There is (or was, maybe) a boot sector in the kernel, yes, but it was pretty limited. Didn't do any filesystems, for example, so it could only load the kernel from a raw media.
06:16:45 <fizzie> And it didn't do the usual sort of separate-file initrd, it did something else instead.
06:17:15 <fizzie> It did support flipping floppies in-between loading the kernel and the ramdisk, though.
06:17:21 <pikhq> You could specify how many blocks in the initrd was using some tool to set the default command line.
06:17:28 <pikhq> Or just have it swap floppies.
06:17:43 <pikhq> It *was* quite nice to do dd if=bzimage of=/dev/fdd, though.n
06:23:45 <Gregor> Holy fekk GCC compiled!
06:25:19 <coppro> O_o
06:26:06 <fizzie> pikhq: In arch/x86/boot/header.S of 2.6.33.1 (for which I had sources handy) there is in fact still a boot sector, but the boot sector just prints out the text at address "bugger_off_msg", namely "Direct booting from floppy is no longer supported. Please use a boot loader program instead."
06:26:21 <pikhq> Ah, right. Gah I hate that.
06:26:48 <pikhq> I can't imagine keeping around a freaking boot sector would take too much work.
06:27:15 <pikhq> It's not like the BIOS has changed since, oh, DOS 1.
06:31:26 -!- tombom has joined.
06:33:25 -!- CakeProphet has joined.
06:36:35 <Sgeo> My dad is an idiot.
07:00:25 -!- coppro has quit (Ping timeout: 264 seconds).
07:02:33 -!- SevenInchBread has joined.
07:05:09 -!- CakeProphet has quit (Ping timeout: 240 seconds).
07:11:20 <zzo38> How often do you use dual-licensing?
07:11:37 <ais523> I more often use a general licence, than two licences
07:11:47 <ais523> e.g. release something LGPL even though I only plan to use it as GPL
07:12:01 <Gregor> Foo.
07:12:13 <Gregor> MEMDISK is insufficient to boot UNIX SysV.
07:12:30 <Gregor> Which means unfortunately that UNIX SysV can't be turned into a delightfully absurd LiveCD.
07:12:54 <zzo38> ais523: Yes I can understand that, which I might do in some cases (but mostly not). Usually I don't use dual-licensing either. But sometimes I do.
07:12:57 <pikhq> What a shame.
07:13:21 <pikhq> Sgeo: Yes, your father is the embodiment of idiocy.
07:13:22 <zzo38> I wrote one program which is dual-licensed by "GNU GPL version 2 or later version, or Ms-RL (Microsoft Reciprocal License)".
07:13:53 <zzo38> Only one program, though. The reason why I did that is because it is a program which would be useful for Microsoft to include in Windows.
07:14:11 <zzo38> I would also be useful to include in ReactOS.
07:14:41 <zzo38> This particular program happens to be useless for Linux, however.
07:15:04 <ais523> zzo38: somehow I doubt Microsoft would include it in Windows even if it were MS-RL licensed
07:15:09 <ais523> they're rather paranoid
07:15:49 <Sgeo> He doesn't want "other people on our network"
07:16:26 <Sgeo> Best explanation he can give for his "no hosting" rule
07:16:28 <zzo38> ais523: You are probably right, but they can do so if they want to.
07:16:55 <Sgeo> And that he needs the bandwidth. And saying "Ok, no bandwidth-intensive stuff when you're home" isn't enough.
07:17:49 <ais523> he needs upload bandwidth?
07:18:01 <ais523> hosting mostly uses a different sort of bandwidth from normal internet use
07:18:43 <Sgeo> I.. don't think so. I wasn't even thinking of that, but he needs mostly download bandwidth, but this was apparently a separate issue
07:19:39 <zzo38> I host three protocols on my computer, and my father is OK with that. (And later I might even add more protocols)
07:20:11 <Sgeo> My dad won't even let me host games
07:20:28 <Sgeo> And he won't let me run a client that runs a game if I'm not attending it
07:20:47 <Sgeo> Actually, I think he wants me to cut off Internet access when I'm not at the computer
07:21:23 <fizzie> Most ADSL-providing ISPs around here have slipped a "you must not connect any sort of servers to your pipe" condition to their terms and conditions, though that gets widely ignored (esp. for games), I think.
07:21:23 <pikhq> I think he thinks that bandwidth is a *resource*.
07:21:34 <pikhq> Rather than, y'know, a measurement of the size of your pipe.
07:21:56 <fizzie> If you eat all your bandwidth cake today, you'll go hungry tomorrow!
07:22:02 <Sgeo> I asked if there was a cap, he said no
07:22:24 <Sgeo> Anyways, watching the last 10 min of this SGA ep
07:22:25 <pikhq> Okay, so he knows nothing about hor the Internet works.
07:22:37 <pikhq> Clearly, he should head a Congressional commitee on it.
07:23:04 <Sgeo> He once made me wipe my HD because I downloaded and installed a chat server
07:23:41 <zzo38> I know the ISP that I use is OK with hosting any protocols (I even asked them).
07:24:16 <pikhq> He is too stupid to be allowed to own a computer.
07:24:34 <pikhq> No, he is too stupid to be allowed to own any technology more complex than flint & steel.
07:25:47 <zzo38> pikhq: You might be right (approximately)
07:30:19 -!- pikhq has quit (Remote host closed the connection).
07:50:31 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:39 <ais523> fizzie: ironically, there are ISPs that actually work like that
08:26:26 -!- zzo38 has quit (Remote host closed the connection).
09:15:22 -!- FireFly has joined.
09:19:04 -!- MigoMipo has joined.
09:22:19 <ais523> any File Hierarchy Standard experts here? I'm trying to figure out where you're supposed to put architecture-independent binaries not meant to be run by the user
09:22:26 <ais523> which is a possibility I don't think they considered
09:26:23 <Ilari> Scripts, that is?
09:28:33 <ais523> no, I said binaries
09:28:51 <ais523> my current example is a Java binary
09:28:58 <ais523> which runs on the JVM, thus platform-independent
09:31:52 <Ilari> I would stick those (but then, I have pretty much no clue of FHS) in share directory.
09:32:11 <ais523> atm I'm putting it in a subdir under usr/lib
09:32:22 <ais523> which is at least vaguely consistent with the other rules
09:32:33 <ais523> it would obviously be the right place for the file if it was written in, say, C
10:08:25 -!- MigoMipo_ has joined.
10:12:16 -!- MigoMipo has quit (Ping timeout: 260 seconds).
10:13:31 -!- MigoMipo_ has changed nick to MigoMipo.
10:14:01 -!- MigoMipo has quit (Remote host closed the connection).
10:18:28 -!- SevenInchBread has changed nick to CakeProphet.
10:28:09 -!- dbc has joined.
10:28:49 -!- atrapado has joined.
10:30:47 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
10:36:17 <fizzie> ais523: FWIW, Debian puts "library"-ish Java binaries in /usr/share/java/.
10:36:58 <ais523> ah, I may move mine there then
10:37:13 <ais523> what if they're only meant to be run by one particular shellscript?
10:38:50 <fizzie> I'd say there in that case too. At least ant is there, and it's mostly meant to be run by the /usr/bin/ant script, though admittedly IDEs and other such things use the Java classes "directly" too.
10:39:40 <fizzie> After all, with Java, you never quite know who'll want to reuse bits and pieces of you.
10:40:05 <ais523> yes, I suppose so
10:40:32 <fizzie> On the other hand, Eclipse puts all its Java stuff into /usr/lib/eclipse/.
10:40:50 <fizzie> (Well, all its stuff in general, I guess.)
10:41:31 <fizzie> But OpenOffice.org's Java bits are in /usr/share/java/openoffice/ even though that's quite many files.
10:41:44 <fizzie> It doesn't seem to be much of a consensus.
10:55:20 -!- MigoMipo has joined.
11:00:40 -!- augur has quit (Remote host closed the connection).
11:08:49 -!- bsmntbombdood has quit (Ping timeout: 276 seconds).
11:15:10 -!- oerjan has joined.
11:34:58 <Ilari> Aren't there 32- and 64-bit versions of Java (differing mainly in array indexing). Are the bytecode files cross-compatible (32-bit ones just can't access array indexes beyond 2Gi)?
11:35:22 <ais523> yes, not only that, but the bytecode format AFAICT has never been changed
11:35:45 <ais523> you'll get class-loading errors if you try to run a recent Java file on an old JVM and you reference standard classes that used not to exist, but that's about it
11:35:57 <Ilari> Lua bytecode files are arch-specific...
11:35:58 <ais523> (and you can use reflection to get around that problem)
11:36:10 <ais523> the JVM arch-portability is the whole point
11:37:05 <Ilari> Heh... Mention of errors bring me flashbacks from making app that has optional GUI and from making app that uses JNI and works on both GCJ and Sun JVM...
11:37:33 <Ilari> (two different apps, both wound up having to catch errors)...
11:40:21 <Ilari> GCJ links JNI libs into executable, so you don't have to load them and attempts to load them would error out anyway. Sun JVM requires loading the libs...
11:41:06 <Ilari> And if you call GUI function when there is no GUI available (and not in headless mode) you get an error (not merely an exception).
11:41:22 <Ilari> (some class does not exist error).
11:50:47 <fizzie> At least you can be assured that whatever is thrown is a subclass of Throwable. In C++ someone could throw an elephant at you.
11:51:38 <fizzie> I've seen code that throws undocumented unsigned integers, and has a single top-level catch which prints "error n" and dies. Helpful!
11:52:42 <fizzie> And multiple instances of code that throws string constants that are used as the error messages. (Which is pretty Perlish in a way.)
11:53:59 <Ilari> Or Luaish...
11:54:51 <fizzie> I'm tempted to try out what happens if I throw a non-Throwable from a JNI method, but this phone keyboard is not very comfortable for coding.
11:55:02 <ais523> fizzie: I remember when I was learning C++, I threw integers just because I could
11:55:15 <Ilari> (Well, error can take any type of value, but usually it is string that is "thrown").
11:56:45 <Ilari> Apparently in one piece of code, due to bugs threw std::string's...
11:58:14 <Ilari> (just guess what kind of programming error causes code that should throw subclasses of std::exception to throw std::string's instead...)
11:58:32 <ais523> throwing the message of an exception rather than the exception itself?
12:00:21 <Ilari> Pretty much. Forgetting to actually specify the class to throw ('+ std::string +' makes it std::string).
12:00:36 <Ilari> Like 'throw ("foo" + bar)'.
12:00:58 <Ilari> When it should be 'throw std::runtime_error("foo" + bar)'.
12:01:16 <AnMaster> ais523, what is wrong with being able to throw integer?
12:01:45 <ais523> AnMaster: it becomes unmaintainable pretty easily
12:01:54 <ais523> and interferes with the use of exceptions for exception handling
12:02:10 <AnMaster> ais523, how would it work in languages without objects but with exceptions?
12:02:15 <ais523> if the exception is unhandled, whatever code is calling you, rather than getting a nice exception object it can query and show to the use, gets a meaningless number
12:02:17 <AnMaster> if you weren't allowed to throw any data type
12:02:27 <ais523> I see nothing wrong with allowing it
12:02:31 <AnMaster> right
12:02:34 <ais523> but even if allowed, I don't think it's a feature that should be use
12:02:36 <ais523> *used
12:02:52 <AnMaster> ais523, I suggest throwing meaningful tuples instead
12:02:58 <Ilari> At least in Lua, one can "throw" a table...
12:03:10 <AnMaster> like {error,failed} ;)
12:03:30 <ais523> AnMaster: is that meaningful?
12:03:38 <AnMaster> ais523, no, it was a joke
12:04:07 <AnMaster> erlang has exceptions and allows you to throw pretty much any data type (iirc there is some restrictions wrt "references" to things like open files and such)
12:04:13 <AnMaster> s/is/are/
12:04:38 <AnMaster> and erlang doesn't have object orientation so restricting it to "exceptions" wouldn't work
12:04:50 <Ilari> Worst is where code throws integers that change (new important ones are added) between versions. And there's no integer to string method...
12:04:53 <AnMaster> usually you throw tuples or atoms
12:05:03 <AnMaster> and document what stuff you may throw
12:05:33 <AnMaster> when you get a runtime exception it tends to be a tuple with the first member being an atom indicating the type
12:05:39 <Ilari> So caller may suddenly get "Error 75" and has no idea what it is supposed to be...
12:06:01 <AnMaster> such as badmatch, or badarith (usually div by zero)
12:06:57 <AnMaster> it seems to work pretty well
12:07:19 <fizzie> Perl does allow throwing references in addition to just strings, I'm not sure how much that gets used though.
12:08:13 <AnMaster> fizzie, I think you can throw some references, such as pids. What I'm unsure about is if you can throw ports or not. ports is a low level stuff in erlang which is basically a thin wrapper around an fd most of the time
12:08:21 <AnMaster> usually you don't work directly with ports anyway
12:09:33 <ais523> ooh, now I want to write a Perl program that throws a typeglob
12:09:35 <fizzie> Perl "references" is perhaps a bit different term; usually it's just references to arrays or hash tables.
12:09:38 <ais523> but I'm not entirely sure why
12:09:46 <AnMaster> fizzie, ah
12:09:59 <fizzie> ais523: I was just about to say I wouldn't try that. :p
12:10:11 <AnMaster> hm erlang has references too. In that case it is a kind of "guarantied unique id" thingy
12:10:15 <ais523> Perl references are like C pointers, except they're refcounted and you can't do arithmetic on them
12:10:23 <AnMaster> which I assume you can throw
12:10:50 <Ilari> What's a typeglob?
12:10:53 <fizzie> You could probably throw an IO::Handle without much problems in Perl, but it's not as distributedy as Erlang.
12:11:12 <AnMaster> basically there is a runtime function that will return a new reference every time, and you can't construct arbitrary references out of the air. Well perhaps you can with some debugger function, wouldn't surprise me.
12:11:36 <AnMaster> fizzie, oh yeah ports are local to the node. Which is why you don't work with ports directly most of the time
12:11:56 <AnMaster> you work with an IO server process provided by the runtime by default unless you open the file in a raw mode.
12:12:18 <AnMaster> well there are other good reasons for the io server process. Like it provides buffering.
12:12:34 <AnMaster> (iirc)
12:12:49 <ais523> Ilari: don't ask what a typeglob is, it takes too long to explain and even when you do you get it wrong
12:13:02 <AnMaster> fizzie, I assume you could throw a fun *tests*
12:13:03 <ais523> IIRC most explanations of how they work basically just give you a list of examples
12:13:12 <AnMaster> fun being like a lambda or a function pointer
12:13:13 <AnMaster> can be either
12:13:42 <fizzie> http://www.sdsc.edu/~moreland/courses/IntroPerl/docs/manual/pod/perldata.html#Typeglobs_and_Filehandles has (one) official explanation.
12:13:47 <AnMaster> 2> catch throw(fun erlang:abs/1).
12:13:47 <AnMaster> #Fun<erlang.abs.1>
12:13:48 <AnMaster> yep
12:13:56 <fizzie> (Or your local perldoc perldata.)
12:14:14 <AnMaster> that is function pointer style
12:14:16 <AnMaster> 3> catch throw(fun(X) -> X*X end).
12:14:16 <AnMaster> #Fun<erl_eval.6.13229925>
12:14:20 <AnMaster> lambda style works just as well
12:16:20 <AnMaster> make_ref() -> ref()
12:16:20 <AnMaster> Returns an almost unique reference.
12:16:20 <AnMaster> The returned reference will re-occur after approximately 2^82 calls; therefore it is unique enough for practical purposes.
12:16:20 <AnMaster> heh
12:16:21 <AnMaster> argh lag spike
12:16:22 <AnMaster> or timing out
12:16:30 <Ilari> AnMaster: ...
12:16:35 <fizzie> throw(fun party/2) -- when you want to arrange a pleasant party for two.
12:16:48 <AnMaster> Ilari, ?
12:17:33 <AnMaster> fizzie, well that requires a function party in the same module that takes two parameters
12:20:58 <AnMaster> 6> (catch throw(fun(X) -> X*X end))(3).
12:20:58 <AnMaster> 9
12:21:00 <AnMaster> hm
12:21:10 <AnMaster> so
12:21:36 <AnMaster> (catch throw(fun party/2))(self(),
12:21:37 <AnMaster> hm
12:21:44 <AnMaster> who should I put there?)
12:22:48 <AnMaster> (self() is a function that returns the pid [that is erlang pid, not related to OS pids at all] of the current process btw)
12:27:37 -!- oerjan has quit (Quit: Arrivederci).
13:20:20 -!- Gracenotes has quit (Ping timeout: 240 seconds).
13:23:45 -!- augur has joined.
13:24:35 -!- Gracenotes has joined.
13:35:58 <oklopol> "<Sgeo> He doesn't want "other people on our network" <<< maybe he downloads a lot of CP and is paranoid because of that?
13:36:11 <oklopol> *""
13:36:23 <oklopol> (thought i typoed and deleted the other one)
13:38:38 <cheater99> anyone here program on the S/390?
13:38:49 <cheater99> i'm looking at an S/380 emulator
13:52:38 <fizzie> Hrm, an ad banner with the link URL ending ...&cb=INSERT_RANDOM_NUMBER_HERE. I guess they assume a DWIM-browser.
13:53:27 <ais523> or DWIM server to serve the ads
13:53:39 -!- BeholdMyGlory has joined.
14:03:32 <AnMaster> huh strange thing
14:04:18 <AnMaster> there are some speed reduction thingies on this street, in the form of two boxes that forces you to slow down and drive in the shape of an S
14:04:41 <AnMaster> today, two different lorries have drove up to it, and then backed down the whole street
14:04:50 <AnMaster> first time it happened afaik
14:05:40 <AnMaster> and just now a tow truck doing the same
14:05:46 <AnMaster> very strange
15:05:43 <cheater99> lol
15:43:47 -!- lifthras1ir has quit (Remote host closed the connection).
15:58:24 -!- lifthrasiir has joined.
15:58:44 -!- cpressey has joined.
15:59:14 <AnMaster> how strange for an embedded system to have a snprintf() that inserts "(null string)" if %s is passed a NULL pointer
15:59:24 <fizzie> cpressey: A real .com file from an unmodified Linux x86-64 GCC+ld, with command line arguments only (no fiddling with .specs): http://pastebin.com/eChGDKDy
15:59:27 <AnMaster> I mean, I would have expected undefined behaviour
16:00:01 <AnMaster> fizzie, btw I managed to get some more free space on that device by tuning off features in config.h that I didn't use
16:00:21 <fizzie> AnMaster: Well, if it's undefined, "(null string)" is perfectly valid too.
16:00:23 <AnMaster> about 2 kB extra
16:00:54 <AnMaster> fizzie, yes but you wouldn't expect an embedded OS to waste space on 1) the code to check for that 2) the space to store the constant "(null string)"
16:01:50 <fizzie> On the other hand, it's more robust that way.
16:01:53 <AnMaster> true
16:02:17 <AnMaster> but since this doesn't have an MMU there are loads of other ways to crash it anyway.
16:02:32 <AnMaster> battery.o: DBase 3 data file with memo(s) (813309772 records)
16:02:37 <AnMaster> hm I think file fails
16:03:13 <AnMaster> objdump is way more correct: battery.o: file format coff-h8300
16:04:03 -!- pikhq has joined.
16:05:05 -!- Phantom_Hoover has joined.
16:06:07 <cpressey> fizzie: You rock!
16:07:31 <AnMaster> fizzie, a lot of linker fiddling though it seems
16:07:34 <fizzie> cpressey: It works in dosemu, but I'm a bit suspicious of how I'm accessing 0xa0000 via ds initialized to 0; I thought in real mode it would automatically set the segment limits to 64k. (It's easily fixable by putting 0xa000 into ds and initializing the videomem ptr to 0 instead.) And it's ugly code since GCC generates 32-bit everything, and ".code16gcc" just adds instruction prefix bytes to make that work in a 16-bit segment.
16:07:55 -!- lifthrasiir has quit (Remote host closed the connection).
16:08:55 -!- lifthrasiir has joined.
16:09:12 <fizzie> AnMaster: Yes, and I couldn't quite figure out how to make it put the .data segment immediately after .text (without a separate linker script file); done that way it'll probably lose if you put in any (initialized or uninitialized) static data, except if you put in a __attribute__ ((section (".text"))) in.
16:09:24 <Phantom_Hoover> Goodness, you've spent 17 hours talking about this?
16:09:36 <fizzie> Phantom_Hoover: No, I just started when cpressey came in.
16:09:53 <fizzie> Phantom_Hoover: Good timing there.
16:10:13 <Phantom_Hoover> It certainly gave a nice sense of flow.
16:11:06 <AnMaster> XD
16:11:07 <pikhq> fizzie: dosemu is actually running in a psuedo-real mode. If it works there, it *should* work on actual DOS.
16:11:21 <fizzie> pikhq: Uh, sorry, dosbox is what I meant to say.
16:11:23 <cpressey> 17? There was a weekend in between... we've been talking about it for 65 hours straight!
16:11:47 <pikhq> Oh. DOSbox *ought* to work, as that's actual (emulated) realmode, but there is a chance of bugs.
16:12:07 <fizzie> Right; I'm not sure how thorough they are with sanity-checks against illegal behaviour like that.
16:12:17 <AnMaster> also who knows if it would work with different drivers and such loaded
16:13:47 <fizzie> Dosbox has a couple of different CPU core emulation modes, especially the dynamic-recompilation one might be a bit fast-and-furious here and there.
16:15:07 <AnMaster> how do you list sections for a coff file? readelf -S obviously doesn't work
16:15:31 <AnMaster> I have binutils tools for the architecture available, not much else
16:15:41 <AnMaster> (well there is gcc too)
16:15:46 <pikhq> Get a binutils for Windows and objdump?n
16:15:49 <fizzie> Well, "objdump -h" ("section headers") or something.
16:15:58 <AnMaster> pikhq, what would that help? it is not for x86 at all
16:16:10 <AnMaster> fizzie, ah hm
16:16:19 <pikhq> Oh, COFF. Not PE.
16:16:23 <AnMaster> fizzie, yep that works. thanks
16:16:25 <pikhq> Which is nearly COFF.
16:16:30 <AnMaster> pikhq, coff-h8300
16:16:34 <pikhq> But yeah; objdump for the relevant architecture.
16:16:50 <AnMaster> pikhq, a 16-bit platform. big endian too
16:18:28 -!- ais523 has quit (Remote host closed the connection).
16:25:59 -!- cheater99 has quit (Quit: Leaving).
16:28:15 <fizzie> AnMaster: Hopefully this'll mean I can now read that SDHC card too without going through the camera: http://sprunge.us/UdMB (and what a generic name there).
16:30:10 <fizzie> (On the other hand, the old card reader's ID for the different slots was actually "Generic [cardtype]".
16:33:20 <AnMaster> fizzie, hm?
16:33:47 <fizzie> We talked about card readers not many days ago.
16:33:54 <AnMaster> fizzie, as long as it is usb mass storage interface
16:34:10 <AnMaster> and not some other one. Let me find that hilarious driver in the linux kernel
16:34:52 <fizzie> The old one didn't do SDHC, just plain old-fashioned SD cards. (And I think it was the slower USB 1.1, this should be 2.0-capable. Not that my cards are probably very snappy either.)
16:37:18 <AnMaster> huh, no longer there?
16:37:44 <AnMaster> fizzie, found with google: http://lxr.free-electrons.com/source/drivers/mmc/host/ricoh_mmc.c?v=2.6.28 but it seems gone in newer kernels
16:37:59 <AnMaster> fizzie, read the comment starting with "This is a conceptually ridiculous driver"
16:38:05 <fizzie> Initial impressions; they've gone a bit overkill with the "I'm doing something" LED's brightness; it almost put my eye out. (Well, maybe not; but it has the "gritty" bloom-like effect I've only seen with laser pointers so far. Yes, yes, I know you're not supposed to look at those.)
16:40:34 -!- JodaZ_ has quit.
16:41:08 * Phantom_Hoover wants a Look Around You pencil.
16:41:43 <Phantom_Hoover> Or a Besselheim plate.
16:42:38 <AnMaster> fizzie, aha:
16:42:39 <AnMaster> http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.34.y.git;a=commitdiff;h=03cd8f7ebe0cbef5ca7eed349774085e92a3d726
16:45:08 <fizzie> USB devices are full of quirks. The PS3 "sixaxis" controller follows the USB HID spec in everything that matters, except that you need to send a HID_REQ_GET_REPORT request with a specific, nonstandard type (0xf2) before it goes into "operational mode" (i.e. works).
16:45:32 <fizzie> Personally I can't figure out any other reason for that except that they don't want people to be able to just plug that thing into a PC and have it working.
16:45:35 <cpressey> That's what makes it "Universal".
16:45:56 <AnMaster> universal quirks?
16:46:56 <AnMaster> fizzie, and sometimes the quirks mess up for other devices. Like this bug that was finally resolved in 2.6.34, had to revert that quirk for other products locally for quite a few releases... https://bugzilla.kernel.org/show_bug.cgi?id=14049
16:49:56 <AnMaster> who knows how long it will stay working for me however
16:52:10 <AnMaster> well, it's supposed to help haven't tested it yet
16:52:23 <Phantom_Hoover> How do I shut down pulseaudio.
16:52:24 <Phantom_Hoover> ?
16:53:36 <AnMaster> no clue, why do you want to?
16:53:51 <AnMaster> I presume there is some init script
16:53:53 <Phantom_Hoover> FlightGear has significant issues with PA.
16:54:31 <AnMaster> hm
16:54:37 <AnMaster> Phantom_Hoover, afaik flightgear uses openal
16:54:50 <AnMaster> so I guess openal has issues with pa
16:54:55 <Phantom_Hoover> Maybe.
16:55:12 <Phantom_Hoover> All I know is that in the past it has run much better without PA.
16:55:12 <oklopol> you know what's interesting
16:55:38 <AnMaster> Phantom_Hoover, ubuntu at least has /etc/init.d/pulseaudio
16:55:48 <fizzie> There's also "pasuspender" in many systems.
16:56:01 <fizzie> It does a "temporarily disable pulseaudio until a process has finished" thing.
16:56:07 <oklopol> if i make out with chicks who know i have a gf, they are fine with it without exception, once i mention i'm in an open relationship, they go all wtf get some morals dude
16:56:25 <Phantom_Hoover> fizzie, I'll try that.
16:56:30 <fizzie> So you can do "pasuspender -- foo bar baz", and it'll run "foo bar baz", wait until it terminates, then restore pulseaudio functionalities.
16:56:34 <fizzie> I've never tried it, though.
16:56:37 <Phantom_Hoover> oklopol, people make no sense.
16:56:56 <fizzie> It doesn't exactly shut down the daemon, it just tells it to disconnect all access to audio devices.
16:57:18 <oklopol> indeed they don't
16:58:38 <Phantom_Hoover> fizzie, how do I just kill the daemon?
16:58:41 <AnMaster> how does one edit keyboard shortcuts in gnome for some application. gnome-terminal in this case.
16:58:54 <AnMaster> I thought there was some option to enable editing in the menus but I can't find it
16:58:58 <oklopol> so what's the puzzle today, oerjan
16:59:01 <oklopol> oh
16:59:02 <oklopol> damn
16:59:18 <Phantom_Hoover> AnMaster, it's somewhere in Appearance IIRC.
16:59:41 <AnMaster> hm
16:59:52 <Phantom_Hoover> No, that's not it.
16:59:57 <oklopol> also people like to preach how that kind of relationships don't work without ever having been in as long a relationship as us
17:00:05 <oklopol> WELL COMMENTS
17:00:06 <oklopol> ??
17:00:06 <AnMaster> Phantom_Hoover, I think it used to be, maybe they removed it -_-
17:00:18 <oklopol> yeah you talk about daemons boring people
17:00:26 <oklopol> or wait what are you talking about
17:00:28 <oklopol> i'll read
17:00:33 <Phantom_Hoover> No, I'm pretty sure I saw it in 10.04.
17:00:49 <AnMaster> Phantom_Hoover, hm tell me if you find it
17:00:56 <AnMaster> Phantom_Hoover, I'm going to try gconf now
17:01:03 <oklopol> okay i can't tell, what's the topic
17:01:07 <Phantom_Hoover> GYAAH, I *remember* seeing it!
17:01:16 <oklopol> i have a few comments
17:01:17 <AnMaster> Phantom_Hoover, exactly my feeling
17:01:22 <AnMaster> oklopol, are you talking to us?
17:01:31 <oklopol> who else?
17:01:33 <AnMaster> ah
17:01:38 <oklopol> no i'm asking myself what i'm talking aboutz
17:01:42 <oklopol> *about
17:01:54 <Phantom_Hoover> oklopol, yes, people are weird about sexual mores. We get it.
17:02:03 <oklopol> Phantom_Hoover: i don't actually want comments
17:02:08 <oklopol> it was umm
17:02:12 <oklopol> sarcasm or something
17:02:15 <AnMaster> Phantom_Hoover, found it in gconf anyway
17:02:27 <oklopol> i just like changing these kinds of topics, what topic is this?
17:03:05 <Phantom_Hoover> GUIs and stuff.
17:03:09 <AnMaster> Phantom_Hoover, I'm just confused I can't find it in settings either on ubuntu or arch linux. But last I saw it was in jaunty
17:03:10 <oklopol> okay cool
17:03:11 <oklopol> i have one of those
17:03:14 <Phantom_Hoover> Why they're horribly unintuitive.
17:03:16 <AnMaster> and karmic I just ran for about 2 days
17:03:25 <oklopol> yeah computers suck
17:03:36 <oklopol> and i guess guis specifically suck
17:03:43 -!- MizardX has quit (Ping timeout: 276 seconds).
17:04:12 <fizzie> Phantom_Hoover: "pacmd exit" kills the daemon, but at least in my case it automagically starts up again all the time, possibly via dbus or who-knows-what-magic.
17:04:17 <AnMaster> Phantom_Hoover, I almost want to go to gnome's irc server and ask, but you never get any reply there
17:04:35 <AnMaster> fizzie, chmod -x
17:04:37 <AnMaster> should fix it ;P
17:04:57 <fizzie> Possibly "sudo service pulseaudio stop" (or the likely-equivalent /etc/init.d/pulseaudio stop) will actually really make it stop.
17:05:01 <AnMaster> fizzie, heck I remember I used that back during KDE 3.x to prevent artsd from running
17:05:17 <oklopol> so how about this esolang that's like brainfuck but you have different kinds of fart sounds as commands?
17:05:24 <oklopol> and maybe
17:05:29 <AnMaster> oklopol, is it on the wiki?
17:05:30 <Phantom_Hoover> fizzie, it says something about per-user sessions.
17:05:31 <AnMaster> and what is the name
17:05:32 <oklopol> one command could play a fart sound on the speakers
17:05:38 <oklopol> AnMaster: no :D
17:05:48 <oklopol> i'm just being noisy
17:05:53 <oklopol> hmm
17:05:54 <AnMaster> #ifndef DOXYGEN_SHOULD_SKIP_INTERNALS
17:05:55 <AnMaster> heh
17:06:00 <oklopol> what are the fart sounds in english i wonder
17:06:02 <oklopol> i'll google
17:06:02 <fizzie> Still, pasuspender (or just a manual "pacmd suspend") should make it detach and close the audio devices, so that they're available to other apps.
17:06:09 <oklopol> so we can get this thing started
17:06:21 <oklopol> probably best idea this year so i'm expecting full cooperation
17:06:58 <Phantom_Hoover> Finally, it's dead.
17:07:10 <AnMaster> whatever happened to dmix or whatever the name was
17:07:17 <AnMaster> software mixer in alsa itself wasn't it?
17:07:25 <AnMaster> why would anyone need anything more than that
17:07:37 <AnMaster> I'm lucky my desktop has hardware mixer however
17:08:35 <fizzie> Many people need "more than that", but of course there was already jack and such for the audio-enthusiasts. Still, I don't feel pulse's so horrible; of course I haven't been bitten by very bad bugs (yet).
17:09:13 <AnMaster> fizzie, yes there is jackd for the "more than that" case. I don't see any niche for pulseaudio though
17:10:37 <fizzie> pavucontrol's reasonably nice; you see a list of all apps that are generating sounds, and can switch which pipe (digital output to the amp, USB sound card to headphones, bluetooth headset) you want them to make noises to, easily. Of course with most apps you can specify the ALSA device, but it might not be in a easily accessible place, hidden in some preferences dialog or other.
17:10:53 <AnMaster> hm
17:10:54 <oklopol> erm, i can't find a list
17:11:10 <oklopol> mostly i find "pfft"as a suggestion 8\
17:11:15 <oklopol> *"pfft" as
17:11:16 <AnMaster> fizzie, but who would play two different videos at once while also listening to music?
17:11:25 <AnMaster> fizzie, that seems like a non-existent use case
17:11:38 <oklopol> maybe finnish fart sounds then
17:11:40 <oklopol> do we have those?
17:11:45 <oklopol> pruut? :D
17:11:50 <AnMaster> sure, pulseaudio fills it, but most such apps can set their own volumes
17:12:02 <AnMaster> not sure about mplayer, but vlc can and iirc so can xine
17:12:03 <oklopol> wtf, why wouldn't there be decent onomatopoeia for farts
17:12:16 <fizzie> AnMaster: Not at the same time (very often), but I do keep using e.g. different outputs for Flash sound, and for Flash it's really inconvenient to start changing the ALSA device it uses.
17:12:28 -!- MigoMipo_ has joined.
17:12:44 <oklopol> but anyway maybe we can use pf^+t for now do you agree?
17:12:47 <AnMaster> hm
17:12:55 <oklopol> pft and pfft could be + and -
17:12:56 <oklopol> but then
17:13:06 <AnMaster> fizzie, file bug report for flash ;P
17:13:20 <oklopol> pffft isn't <, because that wouldn't be very esoteric would it?!? so we SKIP the three xD
17:13:29 <oklopol> so pfffft is <
17:13:42 <oklopol> and then maybe pffffft is > because on the other hand we don't wanna be TOO esoteric
17:13:51 <oklopol> okay getting kind of long, we'll carry to g
17:13:52 <AnMaster> fizzie, anyway, most cases of different volumes at the same time I can think of would be bg music/other sounds in games. And that would probably be mixed by openal before it reached alsa or pulseaudio
17:13:53 <oklopol> pgt is [
17:13:58 <oklopol> then pgft for ]
17:14:18 <AnMaster> oklopol, this is just like ook, rather boring
17:14:18 <oklopol> and outputs, well we just need the actual fart command, that'll be prrrrt no matter whether it's actually used, i like it.
17:14:30 <oklopol> no i think it's hilarious xxxxxxxD
17:14:33 <oklopol> :DDDDDDDDDDDDDDDDDDD
17:14:34 <oklopol> :DDDDDDDDDDDDDDDDD
17:14:37 <AnMaster> :(
17:14:38 <AnMaster> bbl
17:14:44 <oklopol> bye
17:14:46 <oklopol> come back soon
17:14:47 -!- MigoMipo has quit (Ping timeout: 260 seconds).
17:14:48 <oklopol> we have much to talk about
17:14:56 <oklopol> and someone needs to start working on the spec
17:15:09 <fizzie> AnMaster: I don't really need the mixing-together part of pulseaudio (or ALSA's dmix, or a hardware mixer) very often.
17:15:12 <oklopol> does anyone have a weekend to spare soon?
17:15:35 <oklopol> this is a pretty important project so you can probably skip weddings and funerals and the like.
17:16:32 <oklopol> okay now to add esotericness, maybe just MAYBE there could also be, occasionally, fart sounds even if you don't use the command, and kinda like in intercal, if you don't fart often enough then the program crashes=!?=!?!? crashes = makes a fart sound and dies
17:16:47 <oklopol> i wish alise was here
17:17:22 <oklopol> hmmm
17:17:25 <oklopol> wait actually
17:17:28 <fizzie> oklopol: You can't find others to fart with?
17:17:29 <oklopol> maybe we want input?
17:17:36 <oklopol> like
17:17:40 <oklopol> you can fart in a microphone
17:17:47 <oklopol> and it interprets it somehow
17:17:54 <oklopol> obv you can just store farts on the tape
17:18:05 <oklopol> there are 256 different fart values
17:18:06 <fizzie> Just don't ask me to start building some sort of fart-recognition system.
17:18:09 <oklopol> 0 is a special fart
17:18:10 <oklopol> :D
17:18:27 <oklopol> well you're the sound recognition dude, so i was just assuming
17:18:42 <oklopol> anyway 0 is called the SMELLY FART
17:18:43 <oklopol> no wait
17:18:49 <oklopol> farts are always smelly?
17:18:51 <oklopol> then maybe
17:18:55 <oklopol> WET fart xD
17:18:58 <oklopol> isn't that just hilarious
17:19:34 <oklopol> and i don't really understand how [ and ] work in brainf*ck we should probably copy the sementics
17:19:37 <fizzie> Do you have some sort of a "thing" with farts?
17:20:13 <oklopol> you say first
17:20:18 <oklopol> or wait
17:20:21 <oklopol> we'll count to three
17:20:25 <oklopol> and then we'll both say
17:20:29 <oklopol> whether we have a fart fetish?
17:20:44 <oklopol> i should probably not irc anymore today
17:20:51 <fizzie> Yes, that might be safer.
17:21:21 <oklopol> wow it's late :\
17:21:26 <oklopol> i was gonna do stuff today
17:21:28 <oklopol> :(
17:21:59 * oklopol considers putting "FARTS LOL xD" on the wiki
17:22:29 <oklopol> or F-101-xD, that looks pretty scientific
17:22:33 <fizzie> You've just been farting around, then, eh?
17:22:45 <oklopol> it's kinda like acronym but there's leet and cool smileys too
17:22:46 <fizzie> "The act or process of wandering aimlessly with no particular goal", according to ud.
17:23:07 <oklopol> i'm not sure i've been wandering
17:23:15 <oklopol> but i've been reading about nonwandering, does that count
17:23:18 <fizzie> "delaying something unnecessarily by dawdling, and slacking off"?
17:24:41 <oklopol> that sounds more like it
17:25:48 <fizzie> AnMaster: Oh, incidentally; if you remember the "gift card to a store that had closed down all their retail places" thing, I finally got an answer out of them (24-hour email response time my... well, backside); the gift card is unusable in their webshop, but works directly in those "Gigantti" retail stores; the systems are compatibbel.
17:26:41 <oklopol> okay umm i tried to read about [ and ] on the wiki but it doesn't make any sense, maybe we could leave those out because i doubt anyone has the time to implement them are they important??
17:27:40 <oklopol> i tried to stop
17:27:41 <oklopol> hey
17:27:43 <oklopol> i have an idea
17:27:45 -!- oklopol has quit.
17:27:58 -!- relet has joined.
17:28:06 -!- oklopol has joined.
17:28:10 <oklopol> got ya
17:28:21 <oklopol> ->
17:30:36 <Phantom_Hoover> oklopol, [] in Brainfuck?
17:31:00 <fizzie> He is just being silly.
17:31:10 <fizzie> It's an oko thing to do.
17:36:03 <oklopol> i seriously hope that isn't hard to tell :P
17:36:57 <oklopol> although i do seriously want to put the fart language on the wiki, but don't worry i won't
17:36:57 -!- tombom has joined.
17:36:59 <Sgeo> As a programming challenge, [I won the previous one, so I got to make the challenge], I asked the class to implement BF without []
17:37:10 <Sgeo> That was too hard, so I asked just for HQ9+
17:37:18 <Sgeo> No one did it
17:37:33 <oklopol> also this is not a relapse, i started making food.
17:37:33 <Sgeo> [Admittedly, I did make a mistake in what was supposed to be a hint]
17:37:46 <oklopol> it was too hard? :D
17:37:55 <oklopol> holy shit
17:38:04 <oklopol> or you mean no one cared to do it
17:38:30 <oklopol> or no one was able to write a loop that loops over a string
17:38:34 <Sgeo> I think there's at least one person who would have cared to do it, but he didn't know where to start
17:38:41 <Sgeo> Also: This was in bash, so...
17:38:57 <oklopol> uni course?
17:39:11 <oklopol> or wait you probably don't have anything else anymore given your age
17:40:06 <oklopol> well anything as fun as a competition doesn't exactly sound like uni stuff
17:40:11 <oklopol> or maybe our uni is boring
17:40:32 <fizzie> oklopol: We have that AI competition, and it's at a university.
17:40:38 <oklopol> well yeah i know
17:40:47 <fizzie> There aren't very many courses with that sort of stuff, though.
17:40:57 <Sgeo> It was a small inclass competition
17:41:23 <oklopol> we were supposed to have a competition on one course but then the lecturer never got to writing the platform thing so we ended up doing something retarded
17:41:27 <fizzie> The embedded-systems course have this programmable car, and they have a car-racing competition along a (marked with masking tape) track at the lobby of the CS building.
17:41:46 <fizzie> I didn't do the course, but I've read the instructions once.
17:41:51 <oklopol> lol that sounds cool
17:42:14 -!- cpressey has changed nick to NewNumber2.
17:42:18 <fizzie> There's some sort of an exam before they let you run your stuff on the car, and I think the acceleration values were limited somehow, they're a bit worried about breaking their hardware.
17:42:29 <oklopol> NewNumber2: did coppro retire?
17:42:41 <NewNumber2> oklopol: That would be telling.
17:42:53 <oklopol> but that's the reference?
17:42:58 <oklopol> just checking
17:43:05 <oklopol> o
17:43:05 <oklopol> o
17:43:05 <oklopol> o
17:43:17 <oklopol> okay now this is starting to seem like a relapse
17:43:18 <oklopol> ->
17:43:47 <fizzie> oklopol: Looks like this: http://www.youtube.com/watch?v=Q9rAEyYqfjw -- except you already went.
17:43:51 <NewNumber2> oklopol: Not unless the subtext of "The Prisoner" is much... deeper... than I had previously considered.
17:44:17 <fizzie> (Caution: not a very exciting video.)
17:47:17 -!- cal153 has quit (Ping timeout: 245 seconds).
17:50:11 <oklopol> NewNumber2: i have no idea what that is, i'm going with coppro
17:50:28 <oklopol> fizzie: me looks
17:51:14 -!- NewNumber2 has changed nick to cpressey.
17:51:52 <oklopol> fizzie: tbh the actual race does not look very exciting :D
17:52:43 <fizzie> oklopol: Yes, it's mostly fun to watch when the cars go all wrong.
17:53:03 <fizzie> Like at the start of http://www.youtube.com/watch#!v=6T_hvq2ptuQ
17:53:19 <fizzie> Still, it's probably more fun to code than to spectate.
17:53:39 <fizzie> (Adding some rocket fuel could make it pretty exciting too.)
17:56:38 <CakeProphet> there should be what is essentially BattleBots but with a live shell as the control.
17:56:58 <Phantom_Hoover> BattleBots?
17:57:21 <Phantom_Hoover> Oh, like Robot Wars.
17:57:27 <CakeProphet> It was this show that aired on TechTV back in the day. US TV station, but I think the show is international (or at least non-US. There were lots of people with English accents)
17:57:30 <CakeProphet> oh wait
17:57:32 <CakeProphet> that's what it was called.
17:57:39 <CakeProphet> I think BattleBots is like a children's toy or something. :P
17:59:38 -!- kar8nga has joined.
18:00:28 <fizzie> There is a BattleBots show too.
18:01:27 <fizzie> " Wars was a USA based robot competition[1] from 1994-1997. Its considerably modified British equivalent was broadcast on BBC Two from 1998 until 2002, with its final series broadcast on Five in 2003." + "BattleBots is an American company that hosts robot competitions. BattleBots is also the name of the television show created from the competition footage."
18:01:57 <fizzie> There was a Finnish localization of one of those, don't know which one.
18:02:19 <fizzie> Never watched it; using remote controls feels somehow like cheating to me, the bots ought to be autonomous.
18:02:35 <CakeProphet> ha
18:02:41 <CakeProphet> no, it wouldn't be as fun to watch.
18:02:43 -!- atrapado has quit (Quit: Abandonando).
18:02:49 <CakeProphet> unless you had some spot-on AI.
18:03:08 <CakeProphet> but that's difficult in the real-world, outside of your neatly organized memory model. :)
18:04:15 -!- coppro has joined.
18:04:20 <fizzie> Also the robotic overlord issue.
18:04:47 <CakeProphet> ah. yes. Slipped my mind.
18:05:37 <CakeProphet> When I'm programming sentient AI for robots with self-replication functionality... I never hardcode a manual shutdown mechanism out of sheer principle.
18:05:51 <CakeProphet> It would be murder.
18:06:14 <fizzie> It's your one ticket to fame: you'll be remembered in history books as the betrayer of the human race.
18:06:17 <cpressey> Yes. It would be anti-evolution, which would be anti-life. You're not anti-life, are you? Of course now.
18:06:23 <cpressey> *not.
18:06:45 <AnMaster> fizzie, mhm, nice that the gift card works somewhere at least
18:07:13 <fizzie> Somehow I'm reminded of http://isometric.sixsided.org/strips/grease_the_wheel/ for no particular reason.
18:07:51 <AnMaster> okay this is a strange new issue. My thinkpad on resume keeps having backlight set to 0
18:07:56 <AnMaster> or almost zero
18:08:03 <AnMaster> one step it seems
18:08:19 <AnMaster> very strange, it is on AC, it wasn't behaving like this yesterday
18:09:05 <CakeProphet> Reading college-level students saying the simplistic things I've ever heard kind of causes me to lose hope in humanity.
18:09:10 <CakeProphet> *the most
18:09:15 <AnMaster> another thing, why the fuck does the battery indicator in gnome think the battery is charging. It is not. It is a 50% charge and it won't begin to charge again until it reaches 20%
18:09:28 * AnMaster loves this thinkpad feature. Helps prolong battery life
18:09:59 <AnMaster> echo 100 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
18:09:59 <AnMaster> echo 20 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
18:10:02 <AnMaster> in rc.local :)
18:12:08 <coppro> I use sysctl.conf
18:12:14 <coppro> but yeah
18:12:32 <Phantom_Hoover> AnMaster, stop taunting me with your superior computer.
18:12:34 <coppro> though you can probably do better by not going to 100
18:12:45 <coppro> going to 100 is actually pretty stressful on Li-ion
18:13:45 <CakeProphet> wouldn't want to hurt its feelings.
18:14:03 <AnMaster> Phantom_Hoover, eh?
18:14:16 <AnMaster> coppro, how does sysctl.conf work for /sys?
18:14:21 <AnMaster> coppro, this isn't /proc/sys
18:14:22 <Phantom_Hoover> I have a crappy computer/
18:14:25 <coppro> err
18:14:27 <coppro> sysfs.conf
18:14:34 <AnMaster> coppro, huh, never heard of that
18:14:57 <AnMaster> coppro, where would the file be?
18:14:59 <coppro> you need to install something for it
18:15:09 <AnMaster> coppro, ah, rc.local seems better then
18:16:10 <coppro> in http://www.thinkwiki.org/wiki/Maintenance#Battery_treatment
18:16:33 <AnMaster> hm
18:17:05 <CakeProphet> hmmm... I wonder if sentient machines could formulate an ideal government/society.
18:17:38 <CakeProphet> or if they are handicapped in this goal by sentience in the same way humans are.
18:20:10 <cpressey> crappy computers > superior computers
18:20:18 <cpressey> choke on THAT, robot overlords!
18:20:26 -!- cal153 has joined.
18:25:46 -!- augur has quit (Remote host closed the connection).
18:26:01 -!- augur has joined.
18:27:30 <CakeProphet> humans: talking monkeys with talking electric boxes
18:30:09 <AnMaster> ?
18:32:10 -!- MigoMipo_ has changed nick to MigoMipo.
18:32:13 -!- MigoMipo has quit (Remote host closed the connection).
18:34:03 <Phantom_Hoover> Sentient computers tend to be rather unrealistic.
18:38:01 -!- MigoMipo has joined.
18:41:19 -!- casdoro1 has joined.
18:46:08 -!- casdoro1 has left (?).
19:04:02 <AnMaster> coppro, btw on my thinkpad the smapi settings seems to stay as long as the battery is in, while that page on thinkwiki suggests it only stays as long as AC is in
19:24:10 -!- kar8nga has quit (Remote host closed the connection).
19:26:57 -!- kar8nga has joined.
19:36:07 -!- kar8nga has quit (Remote host closed the connection).
19:37:54 -!- kar8nga has joined.
19:38:38 -!- Geekthras has quit (Ping timeout: 276 seconds).
19:41:59 -!- kar8nga has quit (Remote host closed the connection).
19:44:56 -!- Geekthras has joined.
19:48:50 <Sgeo> Oh crap
19:49:02 <Sgeo> Stony Brook doesn't have a Computer Science MS, afaict
19:49:12 <coppro> MS?
19:51:55 <AnMaster> isn't MS something you see on boats?
19:52:04 <AnMaster> in the names I mean
19:52:44 <AnMaster> ah yes, "motor ship" according to wikipedia
19:52:53 <AnMaster> a compsci boat sounds fun though
19:53:13 <AnMaster> but probably not what Sgeo meant
19:53:31 * Sgeo meant master's
19:53:34 <coppro> oh
19:53:36 <coppro> lol
19:54:30 <AnMaster> Sgeo, change university then? I mean, once I'm done with my bachelor, I'm not going to continue at this university. Only compsci master they have is about AI, and that is boring
19:54:39 <AnMaster> so going to switch university then.
19:54:58 <coppro> hey, I know several AI Ph.D.s or candidates
19:55:15 <cpressey> Well, PhD's are boring too!
19:55:25 <AnMaster> coppro, yes but I find the subject boring
19:55:46 <Sgeo> I think it's just that I want some sort of CompSci degree, and not "Computer Programming/Information Systems"
19:56:17 <cpressey> Sgeo: That's all the BSc covers these days at most schools, isn't it.
19:57:21 <cpressey> Look, here's Java! And this is what an algorithm looks like! And an OS! Oh, now spend 60 hours straight on this "software engineering" project! Great, now go away!
19:57:43 -!- sebbu2 has joined.
19:58:58 <AnMaster> cpressey, heh, so true
19:59:16 -!- sebbu has quit (Ping timeout: 265 seconds).
19:59:17 -!- sebbu2 has changed nick to sebbu.
20:05:17 <Phantom_Hoover> cpressey, this is why I have firmly resolved not to go into CS.
20:06:32 <cpressey> Phantom_Hoover: Good move. Although what other fields are there for a young, aspiring computer geek? EE will rot your brain, while Mathematics will destroy your soul...
20:07:00 <Phantom_Hoover> Meh.
20:07:15 <Phantom_Hoover> I have AnMaster's first-born child's soul.
20:07:20 <Phantom_Hoover> I'm not exactly short.
20:07:25 <AnMaster> Phantom_Hoover, you don't
20:07:38 <Phantom_Hoover> I have it in potentia.
20:07:41 <cpressey> Always good to be prepared for these things.
20:07:43 <AnMaster> Phantom_Hoover, not that either
20:08:08 <Phantom_Hoover> I also have the soul of someone I know in real life.
20:08:11 * CakeProphet was considering Computer Engineering.
20:08:16 <AnMaster> cpressey, there was some basic EE stuff in this CS course. I can easily see how more of it would not be a good idea
20:08:34 <CakeProphet> but I think I'll probably stick to Computer Science, as I know for certain that I enjoy it.
20:08:37 <AnMaster> mathematics yeah... I hate analysis
20:09:14 <CakeProphet> though computer engineers have a higher median salary... CS salary isn't really that shabby either.
20:09:54 <AnMaster> CakeProphet, this compsci is closer to compeng to tell the truth. But most are nowdays
20:10:05 <Phantom_Hoover> Compeng?
20:10:08 <AnMaster> well
20:10:15 <Phantom_Hoover> I love these portmanteaux.
20:10:21 <AnMaster> extrapolating from compsci, computer engineering must be compeng
20:10:24 <CakeProphet> AnMaster: really? My university's programming is pretty much strictly programming.
20:10:42 <AnMaster> CakeProphet, yes but that isn't compsci really. compsci is way more theoretical
20:10:54 <Phantom_Hoover> Right, so what does computer engineering entail?
20:10:56 <coppro> Proper compsci is a math discipline
20:11:00 <CakeProphet> AnMaster: ah. Then perhaps you're talking about Software Engineering
20:11:03 <AnMaster> coppro, exactly
20:11:07 <CakeProphet> Computer Engineering is basically EE but specialized.
20:11:17 <AnMaster> CakeProphet, hm.
20:11:18 <Phantom_Hoover> EE?
20:11:23 <CakeProphet> electrical engineering.
20:11:24 <coppro> You guys want software engineering
20:11:25 <CakeProphet> ...
20:11:40 <CakeProphet> at my university there's practicalyly no difference between software engineering and compsci
20:11:41 <Phantom_Hoover> Oh, right, so it would be designing chips and such?
20:11:54 <AnMaster> coppro, I want compsci but I get a tiny bit of compsci with mostly softeng mixed up with some compeng :/
20:11:59 <CakeProphet> but I mean... it would be ridiculous to dump someone in a theoretical computer science class without teaching them programming basics first.
20:12:02 <cpressey> coppro: The observation was that "proper compsci" is really rare these days, at most schools
20:12:12 <coppro> it is :(
20:12:18 <AnMaster> indeed :(
20:12:19 <CakeProphet> Phantom_Hoover: yes.
20:12:25 <coppro> thankfully I'm going to UW
20:12:30 <AnMaster> uw?
20:12:42 <CakeProphet> ...I told you. We need an acronym counting bot.
20:12:47 <coppro> University of Waterloo
20:12:56 <AnMaster> ah
20:13:03 <AnMaster> coppro, which country?
20:13:23 <coppro> Canada
20:13:29 <CakeProphet> I do believe later courses will be more thereotical. I have to take a complexity theory class... though I'm already way ahead of that.
20:14:16 <Sgeo> Is it sad that my best laugh in a long time was in response to someone posting a picture of a clam to someone saying "I'm sure a this thread will contain a clam and reasonable discussion of religion and Apple."
20:14:18 <Sgeo> ?
20:14:38 <AnMaster> btw, according to powertop, ubuntu lucid is by default way worse than jaunty
20:14:50 <AnMaster> and not sure how to fix most of that
20:14:57 <CakeProphet> but I don't really go to university for the knowledge (though it is nice to have knowledgable professors to discuss things with). I'm purely interested in the credentials. I can learn at my own leisure just about whatever I want.
20:15:40 <CakeProphet> so I'm not too upset that my compsci degree won't include much theoretics.
20:15:50 <AnMaster> Sgeo, don't know, however: it is sad that you ask us about opinions on such things all the time
20:16:02 <cpressey> CakeProphet: I went for the piece of paper too. But made good use of the library access while I was there. Plus *some* of the courses were not lame.
20:16:08 <CakeProphet> hmmm, does anyone here actually have a BA or higher in compsci?
20:16:20 <cpressey> BA? No, mine's a BSC.
20:16:21 <CakeProphet> cpressey: the library access is quite nice. And yes, I agree.
20:16:26 <AnMaster> BA? BSC?
20:16:26 <CakeProphet> er... right
20:16:30 <CakeProphet> not BA
20:16:37 <CakeProphet> BS :D
20:16:46 <cpressey> It's possible. Some Uni's treat it and math as arts.
20:16:48 <cpressey> Go figure.
20:16:49 <coppro> I'm going for a BMath myself
20:16:57 <cpressey> Well, I mean I can see math not being a science.
20:16:59 <AnMaster> it isn't even called that in Sweden
20:17:45 <CakeProphet> cpressey: Computer Music Journal is great. :D
20:17:57 <AnMaster> what?
20:18:02 <CakeProphet> gives me ideas for all the awesome experimental computer music I've yet to make.
20:18:10 <CakeProphet> AnMaster: Talking about awesome libraries.
20:18:13 <CakeProphet> at universities.
20:18:22 <AnMaster> CakeProphet, I meant that journal thingy
20:18:31 <CakeProphet> it's exactly what it sounds like. :D
20:18:35 <AnMaster> CakeProphet, online?
20:18:40 <CakeProphet> hmmm... part of it is.
20:18:43 <AnMaster> link?
20:18:45 <CakeProphet> through... MIT press I think.
20:19:08 <CakeProphet> I don't think the newer ones are on there though. Academia likes to be non-open for whatever reason.
20:19:21 <CakeProphet> http://www.mitpressjournals.org/cmj
20:20:00 <CakeProphet> One project I have in mind is transforming a wii-mote into a musical instruments / MIDI controller
20:20:18 <AnMaster> gah, it needs cookies
20:20:22 <AnMaster> how silly
20:20:33 <CakeProphet> ...do you have your browser set to ask you about such things?
20:20:42 <AnMaster> yes, and I click no all the time
20:20:42 * CakeProphet cares not about cookies.
20:21:07 <CakeProphet> I've yet to witness any detrimental impact to accepting all cookies yet.
20:22:03 <CakeProphet> AnMaster: ah, other way around actually. The online version has new issues but not old.
20:22:08 <CakeProphet> the old ones are the best though.
20:22:35 <CakeProphet> but they're all great. All interesting ways to create and process digital audio signals.
20:23:11 <CakeProphet> I really wish there was a somewhat decent DSP language/library out there. Haskell has one but I'm not sure if it's really up-to-par with domain-specific languages like csound.
20:23:40 <CakeProphet> but csound has crappy general-purpose support in terms of state and control structures. Just really solid digital signal processing.
20:28:31 <CakeProphet> one day I'd like to have a really nice composition environment. Like a shell of some kind connected to a musical score with optional MIDI output.
20:28:42 <CakeProphet> algoritihmic composition. :)
20:29:24 <cpressey> CakeProphet: Although I used to compose, I've never been too heavily into "computer music", such as it is.
20:30:05 <cpressey> It's just that I never learned piano, so a computer's the only instrument I can compose on :)
20:30:07 <AnMaster> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/524281 <-- argh
20:30:23 <AnMaster> this will be a PITA when using it on battery for a while
20:31:23 <CakeProphet> cpressey: I'm not too keen on most of it. I simply use it as educational material. I vastly prefer more popular varieties of electronic music (well, that's not entirely true either. Only the "good" stuff, of course. :P )
20:31:56 -!- EgoBot has quit (Ping timeout: 276 seconds).
20:32:18 <CakeProphet> and of course, I don't solely like electronic music.
20:32:35 -!- HackEgo has quit (Ping timeout: 276 seconds).
20:33:51 <Phantom_Hoover> Wait, Hack and Ego down?
20:34:45 <cpressey> CakeProphet: I think all music should ship with a parallel MIDI version, so that we can write visualizers that aren't lame.
20:35:09 <CakeProphet> ha... yeah that'd be pretty sweet. At least for electronic music where MIDI is used and makes sense
20:35:21 -!- oerjan has joined.
20:35:25 <CakeProphet> doesn't work too well with analog sources. Still doing the same pattern matching you'd be doing in visualizer software.
20:35:27 <Phantom_Hoover> oerjan!
20:35:32 <cpressey> Well, even for non-electronic, it would at least give it a "click track" it could follow.
20:35:38 <CakeProphet> there are some really impressive visualizers these days though. Have yo seen Milkdrop?
20:35:47 <oerjan> Phantom_Hoover: ok i give up
20:36:01 <Phantom_Hoover> Bow before me!
20:36:09 <cpressey> CakeProphet: No, I have to say I've not been following development in that area.
20:36:18 * oerjan kneels and kisses Phantom_Hoover's disembodied toes
20:36:40 <Phantom_Hoover> I said bow!
20:36:44 <CakeProphet> cpressey: it's pretty stunning. Very, uh, trippy. It syncs to tempo automatically. Don't even ask me how.
20:37:17 * oerjan shoots Phantom_Hoover with a bow and arrow, which passes straight through and hits CakeProphet
20:37:58 <CakeProphet> it is dark. you are likely to be eaten by a grue.
20:38:23 * oerjan looks around for jabb
20:38:27 <oerjan> nope, no grue here
20:38:33 <Phantom_Hoover> jabb?
20:38:49 <CakeProphet> Is there an IRC client that just lets you pipe to/from stdio?
20:38:55 <CakeProphet> would make writing an IRC bot far more convenient.
20:38:56 <coppro> nc
20:39:46 <oerjan> Phantom_Hoover: aka grue@something
20:40:00 * oerjan cannot find him in any recent logs
20:40:50 <CakeProphet> coppro: well, sort of. nc would work but then I might as well just do it via language.
20:40:56 <CakeProphet> was looking for some more abstraction.
20:41:55 <coppro> there's not much else to abstract
20:42:00 <coppro> IRC protocol is very simple
20:42:21 <cpressey> CakeProphet: There is apparently a piece of spyware out there called "IRC Pipe"...
20:42:38 <cpressey> Not suggesting you build on top of spyware tho.
20:45:04 <oerjan> <oklopol> so what's the puzzle today, oerjan
20:45:07 <oerjan> er, what?
20:45:13 <CakeProphet> cpressey: psh, what are you talking about. That's fool-proof
20:46:49 <oerjan> oklopol: i found this nice math, computing and complexity blog btw, http://rjlipton.wordpress.com/
20:47:12 <oerjan> i learned about a result there that is _almost_ like a puzzle
20:47:35 * oerjan notes oklopol is long time idle
20:50:31 <oerjan> basically, what boolean functions can you compute by chaining computations that can only look at one bit of the input each, and only pass a _bounded_ amount of data to the next one, but unlike an FSA you can have several of them looking at the same input bit
20:50:39 <oerjan> http://rjlipton.wordpress.com/2009/03/02/barrington-gets-simple/
20:51:36 <CakeProphet> Erik Zeeman conjectured that one cannot untie a knot on a four-sphere. I am not a topologist, but it seems like a reasonable conjecture.
20:51:39 <CakeProphet> ...
20:51:40 <CakeProphet> topology confuses me to no end.
20:52:47 <Phantom_Hoover> CakeProphet, that seems obvious.
20:53:07 <Phantom_Hoover> You can't untie knots in 3-space, and the "surface" of a 4-sphere is 3-space.
20:53:56 <CakeProphet> well see
20:54:18 <CakeProphet> I have no clue what a 4-sphere is. Unless it's a 4-dimensional sphere. And then I still have trouble imagining it... but will simply recognize that it could be defined.
20:54:31 <Phantom_Hoover> CakeProphet, it's a 4D sphere.
20:54:43 <CakeProphet> The Truth: After trying to prove this for almost ten years, one day he worked on the opposite direction, and solved it in hours.
20:54:45 <oerjan> and surprisingly the answer is "all of them, using only 5 possible passing-on values" (the 5 i deduced myself from the article)
20:55:16 <Phantom_Hoover> It's impossible to directly visualise, but you can model it mentally pretty easily.
20:55:53 <oerjan> CakeProphet: iirc from the comments that knot conjecture was wrongly quoted, it should be a kind of 2-dimension knot or something
20:56:03 <fizzie> There's also nsound, which is csound-inspired but tries to make the programming parts better. Don't have any personal experiences with it. (There's this one audio-processing-tuned library I distinctly remember, but I've completely forgotten the name, trying to Google for it.)
20:56:09 <Phantom_Hoover> How can you have a 2D knot?
20:56:35 <oerjan> well some 2D generalization of a knot
20:56:49 <Phantom_Hoover> How does that work?
20:57:17 <fizzie> http://en.wikipedia.org/wiki/Comparison_of_audio_synthesis_environments has some sort of list. (But I can't find the one I ran across.)
20:57:25 <Phantom_Hoover> Since a "2D line" is a point.
20:57:29 <cpressey> fizzie, CakeProphet: something crossed my mind recently re computer music. Either of you know of any musical instrument simulators? i.e. they take the laws of physics, and a description of the instrument, and produce the noise it makes?
20:57:29 <CakeProphet> fizzie: oh really? Haven't heard of it. I'll look into it. Sounds like what I want (though I could probably just use some IPC, or attempt to learn the Haskell library)
20:57:37 <Phantom_Hoover> And you can't do many interesting things with a point
20:57:42 <oerjan> Phantom_Hoover: i _think_ that a 4-sphere may actually be a sphere in R^5, so it's shifted by 1.
20:58:03 <Phantom_Hoover> CakeProphet, fizzie, cpressey, We're mathematicsing now.
20:58:12 <CakeProphet> ...meh.
20:58:14 <Phantom_Hoover> oerjan, shifted?
20:58:14 <CakeProphet> no thanks.
20:58:27 <Phantom_Hoover> No, I get it now.
20:58:31 <cpressey> Topic fight!!!
20:58:34 <fizzie> cpressey: The acoustics lab at our university has been building some string instrument simulators, but of course it's university research, so there's no real products, just papers.
20:58:44 <AnMaster> oerjan, what about a one-sphere?
20:59:05 <cpressey> fizzie: I was wondering if it would be particularly hard to simulate an electric guitar...
20:59:05 <oerjan> AnMaster: that would be a circle, then
20:59:15 <AnMaster> oerjan, how do you get a dot then? 0-sphere?
20:59:20 <Phantom_Hoover> oerjan, on the (4D) surface of a 4-sphere you can always untie a knot.
20:59:35 <cpressey> It's just Maxwell's equations and a vibrating conductor and a stationary magnet, really.
20:59:40 <oerjan> "For any natural number n, an n-sphere of radius r is defined as the set of points in (n + 1)-dimensional Euclidean space which are at distance r from a central point, where the radius r may be any positive real number."
20:59:49 <oerjan> (wikipedia)
21:00:11 <AnMaster> oerjan, but that causes a headache for 1-dimensional!
21:00:18 <AnMaster> you have to say 0-sphere
21:00:19 <oerjan> AnMaster: a 0-sphere is 2 dots
21:00:40 <AnMaster> oerjan, right. what about a (-1)-sphere?
21:00:44 <CakeProphet> infinity-sphere. BOOM HEADSPLOSION.
21:01:12 <AnMaster> CakeProphet, since infinity + 1 = infinity it will actually match in that special case ;P
21:01:22 <oerjan> a (-1)-sphere is the empty set. and iirc there were some theorems in algebraic topology that fit with all of this.
21:01:22 <cpressey> Aleph-null-sphere.
21:01:35 <fizzie> cpressey: For the acoustic guitar, the corresponding our-university project page is http://www.acoustics.hut.fi/research/asp/aguitar/ -- no publications past 2005, so perhaps it's not very active right now.
21:01:47 <AnMaster> cpressey, aleph-zero is a more common name iirc
21:02:08 <Phantom_Hoover> Aleph-nought, too.
21:02:10 <CakeProphet> fizzie: Reaktor is a very nice environment for DSP. Unfortunately it's $579.
21:02:28 <AnMaster> Phantom_Hoover, aleph zero is more common than that too
21:02:28 <Phantom_Hoover> Although "nought" is apparently an archaism in the US, so.
21:02:43 <AnMaster> Phantom_Hoover, it isn't in the UK iirc?
21:02:48 <Phantom_Hoover> No.
21:02:49 <AnMaster> and that is all that matters IMO
21:02:53 <fizzie> I'm sure someone's tried to model the electric sli^H^H^guitar too.
21:03:10 <Phantom_Hoover> AnMaster, but there are American mathematicians, much as I hate to admit it.
21:03:13 <cpressey> fizzie: Interesting. I was thinking electric would be easier, because there's no air or sounding chamber involved -- the electric waveform gets translated directly to the sound wave.
21:03:29 <Phantom_Hoover> So "aleph-nought" wouldn't be used often by them.
21:03:43 <Phantom_Hoover> And we were discussing common prononciations.
21:03:53 <Phantom_Hoover> Damn, I can never spell that word.
21:03:54 <CakeProphet> Phantom_Hoover: the only time I hear "nought" is in the phrase "all for nought"
21:03:56 <AnMaster> Phantom_Hoover, sure. aleph-zero is neutral and fine IMO
21:04:07 <Phantom_Hoover> Pronunciations.
21:04:13 <Phantom_Hoover> IT MAKES NO SENSE.
21:04:19 <CakeProphet> I know.
21:04:21 <AnMaster> Phantom_Hoover, what does? aleph-zero?
21:04:26 <CakeProphet> No. English.
21:04:28 <Phantom_Hoover> CakeProphet, I frequently use it when speaking.
21:04:32 <AnMaster> ah
21:04:59 <fizzie> cpressey: Oh, and the parent page -- http://www.acoustics.hut.fi/research/asp/ -- has links to kantele synthesis; can't say I'd be very surprised if it turned out no-one else than Finns were doing *that*.
21:05:06 <oerjan> Phantom_Hoover: a 1d (ordinary) knot is an embedding of a circle into R^3. since a circle is a 1-sphere, a 2d knot would probably be an embedding of a 2-sphere (i.e. ordinary sphere) into R^4.
21:05:45 <CakeProphet> cpressey: well, it does get transferred directly. But you still need to synthesize the resonance frequencies and such. The somewhat naive way to do it is to use a waveshaping function (aka distortion) on an FM synthesized wave.
21:05:49 <AnMaster> fizzie, katele?
21:05:49 <Phantom_Hoover> oerjan, I meant a knot embedded in r^2.
21:06:12 <oerjan> Phantom_Hoover: oh. well that would be 2 points then. not very interesting :D
21:06:18 <fizzie> AnMaster: "The kantele is a traditional Finnish plucked string instrument with five metal strings in its basic form."
21:06:19 <CakeProphet> cpressey: but you could get more complicated. I don't know much about physical modelling techniques unfortunately.
21:06:23 <Phantom_Hoover> oerjan, exactly.
21:06:36 <AnMaster> fizzie, heh
21:06:43 <cpressey> CakeProphet: I guess you're right - physically modelling a vibrating string is still, uh, non-trivial.
21:06:51 <Phantom_Hoover> And the thing about untying knots on a 4-sphere is therefore presumably referring to 2-knots.
21:06:51 <AnMaster> btw, I quite like the norwegian hardangerfela (spelling?)
21:07:00 * AnMaster looks at oerjan
21:07:13 <fizzie> And: "Research and synthesis of the tanbur, a traditional Turkish long-necked lute, the ud, a short-necked arabic lute, and the Renaissance lute". Our tax money at work there.
21:07:27 <AnMaster> fizzie, XD
21:07:29 <Phantom_Hoover> And any knot that is untyable in flat 4-space is untyable on a 4-sphere.
21:08:30 <AnMaster> Phantom_Hoover, what does untying a knot mean? getting a straight piece of string? or getting a single loop?
21:08:44 <Phantom_Hoover> AnMaster, getting a circle, in topology.
21:08:47 <AnMaster> Phantom_Hoover, ah
21:09:00 <oerjan> AnMaster: hardingfele is the usual word in norwegian
21:09:02 <Phantom_Hoover> Since all line segments can be straightened.
21:09:13 <oerjan> but i see danish wp uses hardanger
21:09:21 <AnMaster> oerjan, heh
21:09:34 <AnMaster> oerjan, and Swedish one? Don't have browser handy atm
21:09:35 <oerjan> AnMaster: it's from the same geography name, anyhow
21:09:36 <CakeProphet> SuperCollider looks interesting for sound synthesis. Has a decent programming language too.
21:09:43 <CakeProphet> dynamic and functional.
21:09:48 <AnMaster> oerjan, yeah anyway, quite a nice sound.
21:09:54 <AnMaster> fizzie, you should get someone to synth that
21:10:22 <oerjan> AnMaster: ah the swedish actually explains the name development
21:10:26 <AnMaster> CakeProphet, just watch out for black holes
21:10:29 <AnMaster> oerjan, oh?
21:10:38 <oerjan> "Hardingfelan (av den numera formella namnformen Hardangerfela, efter det norska landskapet Hardanger; i dagligt tal vanligen endast Harding)"
21:10:47 <fizzie> I could suggest the acoustics lab people; that second set of strings sounds interesting.
21:10:49 <AnMaster> oerjan, ah
21:11:04 <AnMaster> oerjan, shame on you for that not being on the norwegian wiki
21:11:05 <Phantom_Hoover> oerjan, the knot problem seems pretty trivial.
21:11:16 <AnMaster> oerjan, hm does the norwegian wp use bokmål or nynorsk?
21:11:24 <AnMaster> fizzie, cool
21:12:12 <AnMaster> fizzie, btw those synthed instruments, there is no software to hook it up to a midi program is there?
21:12:45 <Phantom_Hoover> How about an instrument with a plane vibrating in 4D?
21:12:54 <fizzie> AnMaster: I don't think they've managed to release much code. But you can always reimplement the algorithms. :p
21:13:12 <AnMaster> fizzie, true. Don't have access to all those journals though
21:13:51 <cpressey> CakeProphet: Do you (or anyone else here) do any (non-algorithmic) composition? If so, I'd be interested in what software you use.
21:13:52 <fizzie> AnMaster: A lot of their research is available from acoustics.hut.fi; conference papers, anyway. Journal articles might not be.
21:14:08 <cpressey> Or if anyone remembers what software Gregor uses :)
21:14:17 <AnMaster> fizzie, hm right
21:14:24 <oerjan> Phantom_Hoover: http://en.wikipedia.org/wiki/Knot_theory#Higher_dimensions
21:14:37 <AnMaster> cpressey, Gregor perhaps?
21:14:59 <cpressey> Assuming he's not here right now. Happy to be proven wrong of course.
21:15:05 <oerjan> AnMaster: there are two distinct wikipedias for bokmål and nynorsk
21:15:12 <AnMaster> cpressey, sec for link
21:15:16 <AnMaster> cpressey, http://codu.org/music/
21:15:16 <fizzie> AnMaster: Since conference papers are usually 4 pages and you need to present results and stuff, not just methods, there's usually a *very* compact (and often incomplete) description of the algorithms involved, though.
21:15:26 <AnMaster> cpressey, Gregor's site
21:15:37 <AnMaster> oerjan, XD
21:15:49 <AnMaster> fizzie, :/
21:16:01 <oerjan> AnMaster: in fact the nynorsk one has some articles with variants in "høgnorsk", a more archaic form
21:16:09 <AnMaster> oerjan, XD
21:16:17 <CakeProphet> cpressey: not much composition at all, really. But I use Ableton Live for general-purpose recording of electronic music. Though it's not technically for "composition" (no musical score or anything). It's an expensive program (or rather, an expensive copyright. torrents ftw :P)
21:16:45 * CakeProphet has broken several laws in his lifetime. Frequently.
21:16:53 <oerjan> AnMaster: theoretically the bokmål one should have corresponding "riksmål" variants but i cannot recall seeing that
21:17:04 <fizzie> We all have recommendations to get also source code published whenever possible, but due to economical realities (papers == funding) it doesn't happen so often.
21:17:09 <oerjan> we take our language history _seriously_ :D
21:17:10 <AnMaster> oerjan, good the English aren't like you. Or we would not only have en-us.wikipedia.org en-gb.wikipedia.org but also en-cockney.wikipedia.org and so on
21:17:22 <oerjan> AnMaster: there is simple english, though
21:17:41 <fizzie> http://www.acoustics.hut.fi/demos/ has guitar synthesis audio clips, however. :p
21:17:42 <AnMaster> oerjan, true, but that is for a somewhat different purpose and reason
21:18:00 <fizzie> (And banjo.)
21:18:29 <cpressey> I used to use an old version of Cakewalk. One that writes files that no subsequent version of Cakewalk can read...
21:18:35 <AnMaster> fizzie, quite good
21:18:46 <fizzie> "The song was performed live with a MIDI keyboard -- "; so obviously they *have* wired the code into a MIDI pipe, they just don't let anyone else have it. :p
21:18:46 <AnMaster> fizzie, but doesn't sound sampled, not high enough quality for that
21:19:09 <cpressey> And... codu.org isn't responding for me.
21:19:13 <AnMaster> cpressey, works here
21:19:37 <AnMaster> cpressey, okay it just died
21:19:38 <CakeProphet> the difficult of simulation of acoustic instruments isn't really the spectrum of the waveform or even the mathematical complexity of constructing said waveform. It's the dynamics we hear from the human performer. You can get a lot of expressiveness out of a good hardware controller. Barring that, a sophisticated attack-sustain-decay-release for each overtone does the job.
21:19:43 <CakeProphet> *difficulty
21:19:44 <AnMaster> cpressey, you should have been quicker!
21:20:18 * Phantom_Hoover realises that there are now websites dedicated to giving Facebook users endless mountains of crap to "like".
21:20:26 <AnMaster> fizzie, a bit sad that sampled is still better than their stuff
21:20:27 <Phantom_Hoover> I want to kill someone at the moment.
21:21:08 <cpressey> So.... Rosegarden?
21:21:10 <fizzie> Sampled is reality; it's hard to beat that.
21:21:23 <AnMaster> fizzie, true
21:21:28 <cpressey> And FluidSynth for the mp3 rendering?
21:21:29 <AnMaster> cpressey, some are recorded live iirc?
21:21:35 <CakeProphet> fizzie: well...
21:21:37 <AnMaster> cpressey, if you mean codu.org
21:21:44 <oerjan> Phantom_Hoover: http://rjlipton.wordpress.com/2010/06/19/guessing-the-truth/#comment-3706
21:21:48 <AnMaster> cpressey, and he uses good samples for the fluidsynth cases
21:21:51 <cpressey> I mean "what software does Gregor use"
21:21:52 <CakeProphet> fizzie: if you sample guitar tones and then play them back with MIDI keyboard... it will not sound like a guitar.
21:22:17 <CakeProphet> it will sound like guitar tones mapped to keyboard keys.
21:22:39 <AnMaster> cpressey, rosegarden yes iirc. And sometimes he uses fluidsynth with good samples, in other cases he records himself playing
21:22:41 <Phantom_Hoover> oerjan, so it's not as clear cut with 2-knots in 5-space?
21:23:14 <cpressey> CakeProphet: But if you can get a human performer behind the controls of a synthesized instrument...
21:23:19 <CakeProphet> cpressey: AnMaster and probably JACK, of course.
21:23:38 <CakeProphet> cpressey: right.
21:23:43 <AnMaster> CakeProphet, no idea
21:24:11 <fizzie> Current state-of-the-art (if you just need a single voice and don't mind horrible amounts of work to prepare it) in speech synthesis (AFAIK) is still concatenative synthesis, basically sewing small snippets of recorded speech together (with quite a few tricks in the concatenation and segment-selection, but still).
21:24:15 <CakeProphet> Jack is basically a plug-in interface. You take programs that support JACK and plug together their inputs/outputs however you like.
21:24:18 <cpressey> CakeProphet: But JACK isn't really a... tool, is it? I thought it was more like ... glue.
21:24:19 <CakeProphet> quite useful.
21:24:30 <CakeProphet> cpressey: same difference, really.
21:24:38 <AnMaster> CakeProphet, I know what jack is. I used it. It is however a bitch to get working
21:24:40 <cpressey> Hm, ok.
21:24:49 <CakeProphet> AnMaster: very true.
21:24:59 <AnMaster> cpressey, now codu responds
21:25:38 <AnMaster> and now it doesn't?
21:26:22 <AnMaster> ugh slow as heck
21:26:37 <cpressey> I'm thinking of getting back into composition. I don't have a KB, but my composition paradigm doesn't really make full use of one anyway -- I grew up on things like SidPic and Deluxe Music Construction Set and MED (an Amiga tracker editor). I'm hoping RoseGarden will fit into this paradigm.
21:27:01 <cpressey> It *looks* a lot like DMCS :)
21:27:06 <CakeProphet> cpressey: buy a wii-mote... or make something similar. get an IR port of some kind. epicness ensues.
21:27:19 <CakeProphet> I saw a youtube video that used a wii-mote to implement a virtual drum machine.
21:27:24 <cpressey> CakeProphet: *Composition*, not *conducting*. Duh.
21:27:25 <cpressey> ;)
21:27:32 <CakeProphet> but there are other uses. Continuous pitch ranges and such
21:27:42 <CakeProphet> cpressey: oh, right. psh. performance is so much more fun though.
21:27:53 <oerjan> Phantom_Hoover: well i don't actually know this stuff myself, just linking :D
21:28:27 <cpressey> Well... I did, until recently, have a physical trombone... virtually replace it with a wii-bone? Hmm...
21:29:17 <CakeProphet> sounds too erotic.
21:29:22 <CakeProphet> (lulz)
21:29:41 <Phantom_Hoover> cpressey, I once got FlightGear running with a Wii remote as the joystick.
21:29:49 <Phantom_Hoover> I am rather proud of that.
21:30:12 <AnMaster> CakeProphet, I never got the jokes about wii and erotic... *shrug*
21:30:25 <cpressey> Phantom_Hoover: Sounds like a fun new way to crash into mountains!
21:30:33 <Phantom_Hoover> I didn't do much of that.
21:30:48 <Phantom_Hoover> Mainly because I tested it in KSFO, where there aren't any mountains.
21:30:51 <Phantom_Hoover> Just hills.
21:31:01 <AnMaster> I would use my nice saitek x52 pro for flying
21:31:28 <AnMaster> I don't crash into mountains :P
21:31:29 <CakeProphet> depending on whether or not you want to record electronic style music... have some kind of control surface/device is very very handy. In Ableton Live you can assign MIDI knobs/sliders to various virtual parameters. I'm not sure if you could use this approach with Ableton Live, but you could make a software MIDI wrapper over the IR input and then plug that into JACK or something.
21:31:36 <CakeProphet> *having
21:31:57 <fizzie> The PS3 sixaxis reports itself as a HID joystick with 28 analog axes, according to what I read during the recent USB discussion. That should be enough for everyone! (If they were usable for anything; it's just that most of the buttons on the thing are pressure-sensitive, and therefore reported both as on/off buttons as well as analog axes.)
21:31:58 <CakeProphet> and then, bam, MIDI wii controller/instrument.
21:32:18 <AnMaster> fizzie, how many buttons?
21:32:20 <CakeProphet> fizzie: my god. 28 axes?
21:32:35 <AnMaster> fizzie, while the saitek x52 pro only has 10 axis, it has 38 buttons
21:32:42 <CakeProphet> I could awkwardly control so many musical paramters with my thumb... I can't even imagine.
21:32:45 <AnMaster> well some are on the same, but the button pressed different ways
21:32:57 <Phantom_Hoover> AnMaster, stop having better hardware than me.
21:33:02 <AnMaster> Phantom_Hoover, what?
21:33:21 <AnMaster> Phantom_Hoover, my desktop is crap as I said, sempron 3300+ with geforce 7600
21:33:21 <Phantom_Hoover> Joysticks, ThinkPads, other cool things...
21:33:29 <Phantom_Hoover> Pah!
21:33:34 <AnMaster> Phantom_Hoover, however it does have a SB Live 5.1 sound card
21:33:37 <AnMaster> best sound card ever
21:33:38 <Phantom_Hoover> I don't *have* a desktop.
21:33:41 <Phantom_Hoover> Beat that!
21:33:44 <fizzie> AnMaster: 8 pressure-sensitive buttons and a pressure-sensitive d-pad (so 4 more). And then two analog sticks (two more axes of freedom), 2 analog trigger buttons, three digital on/off-only buttons, and 6 axes of motion-sensing (I don't exactly know what those are).
21:33:59 <CakeProphet> AnMaster: I bet my friend has a more awesome card. M-audio 1010LT (I think)
21:34:01 <Phantom_Hoover> Also, what do sound cards actually do?
21:34:08 <cpressey> CakeProphet: Actually... I *am* interested in *some* algorithmic aspects -- I would probably go to code before I would go to recording analog inputs to do pitch bends and so forth. But I'm not sure. I've been fooling around with chiptune-like effects in C64 6502 recently. Not in seriousness.
21:34:12 <AnMaster> CakeProphet, well, most awesome consumer level card maybe
21:34:21 <AnMaster> CakeProphet, m-audio sounds like a pro card
21:34:25 <AnMaster> which is way out of my league
21:34:25 <cpressey> I dunno, maybe for phase sweep.
21:34:52 <CakeProphet> AnMaster: It has like 10 analog inputs, a mic-input with pre-amp, MIDI inputs, and I think 4 digital inputs. It's a mass of wires coming out of the back of his desktop case.
21:34:54 * Phantom_Hoover liked topology more.
21:35:03 <CakeProphet> *10 analog inputs and outputs
21:35:11 <AnMaster> CakeProphet, hardware mixer? hardware midi?
21:35:25 <AnMaster> CakeProphet, and hardware midi I mean synth in hardware
21:35:31 <AnMaster> that you can load samples into
21:35:43 <AnMaster> hardware mixer I bet it has
21:35:55 <CakeProphet> dunno about either of thus. Dunno why you would want a hardware synth on your soundcard. :P
21:36:01 <CakeProphet> but yes, I believe it has a mixer.
21:36:03 <AnMaster> CakeProphet, well mine has
21:36:10 <cpressey> Phantom_Hoover: Topological music.
21:36:13 <CakeProphet> at least there's a software interface for a mixer... dunno how it's implemented though.
21:36:16 <AnMaster> CakeProphet, I would be surprised if it didn't mix in hardware
21:36:23 <AnMaster> my sb live does
21:36:26 <Phantom_Hoover> cpressey, right, let's do that.
21:36:48 <AnMaster> CakeProphet, after all, hardware midi means it offloads the CPU, which is nice when you have a 72 MB soundfont
21:36:49 <cpressey> We don't describe notes in terms of their concrete relationships like pitch and duration, we just... er...
21:37:04 <fizzie> 1010LT: http://www.m-audio.com/images/global/product_pics/big/delta1010lt_v2008.jpg
21:37:07 <fizzie> Nice connector-squid there.
21:37:09 <CakeProphet> AnMaster: but yeah, it's the sickest sound card I've seen so far. When I get my future desktop, and can spare the cash, I'll probably get one. It's basically the best sound card for professional recording I've found.
21:37:10 * cpressey tries to figure out what it would mean for a set of music events to be "connected"
21:37:19 <AnMaster> fizzie, heh ouch
21:37:42 <AnMaster> cpressey, not staccato?
21:38:00 <AnMaster> the word for it slipped my mind atm
21:38:11 <CakeProphet> generally if they similar attack/decay times we perceive a musical event as atomic.
21:38:14 <CakeProphet> +have
21:39:21 <cpressey> So silence between notes = holes in a deformable object, maybe.
21:39:28 <fizzie> AnMaster: According to the product description I saw when looking for the photo, "All Delta cards contain a 36-bit embedded DSP enabling a software-driven patchbay/router for all analog and digital I/O—all with extremely fast throughput for low-latency software monitoring." In other words, yes, it has a "hardware mixer" (and more), as long as you count the completely programmable DSP on the sound card as part of hardware.
21:39:37 <CakeProphet> a chord is one musical event. Though with chords we can pick out the individual notes. There are actually distances in pitch called "critical bands" that we perceive as seperate tones. Anything inside a critical band sounds like a single tone.
21:39:44 <Phantom_Hoover> fizzie, why 36?
21:39:48 <AnMaster> cpressey, sounds like stretching concepts way past the point where it broke
21:39:55 <Phantom_Hoover> It's not even a multiple of 8.
21:40:03 <cpressey> AnMaster: What channel do you think this is, man?
21:40:09 <fizzie> Phantom_Hoover: Probably a few spare bits to avoid clippingsy problems.
21:40:13 <AnMaster> cpressey, touche
21:40:32 <oerjan> Phantom_Hoover: however, the fact that wikipedia section said the results for smooth knots were different from piecewise linear ones makes me suspect the higher-dimensional cases are _very_ subtle
21:41:34 <CakeProphet> Another propery of critical bands is they become wider in the lower octaves. That is why chords in lower octaves need to be spaced out in order to sound like chords... otherwise the spectra of each note will blend into one pitch and we will perceive it as dissonant .
21:42:15 <Phantom_Hoover> cpressey, CakeProphet, stop having such similar names.
21:42:21 <AnMaster> CakeProphet, you just made me think "three man critical band" ;P
21:42:24 <Phantom_Hoover> oerjan, higher dimensions are annoying.
21:42:52 <fizzie> I do vaguely recall that there was a lot that *could* be done by reprogramming the EMU10k DSP chip on SB Lives, it just wasn't very documented stuff.
21:43:04 <CakeProphet> has something to do with actual physical space on the basilar membrane of the ear, and which sections are used to detect given parts of our psychoacoustic spectrum.
21:43:04 <AnMaster> fizzie, true
21:43:07 <AnMaster> fizzie, never tried it myself
21:43:09 <coppro> I wonder what the odds are that if you pick some topic completely at random a) someone in this channel will be an expert or b) someone in this channel could get an expert in the channel in 48 hours
21:43:15 <AnMaster> fizzie, but pretty sure that is the case yes
21:43:28 <AnMaster> coppro, :D
21:43:36 <AnMaster> coppro, I know it isn't 1 at least
21:43:44 <fizzie> E-MU does pro-level audio stuff, after all.
21:43:59 <AnMaster> coppro, there have been things that no one in here knew about. Forgot what though
21:44:07 <coppro> AnMaster: nonetheless, it's pretty high compared to random groupings of people
21:44:12 <Phantom_Hoover> coppro, ask them about real life.
21:44:17 <AnMaster> coppro, true
21:44:25 <coppro> hey, I have one of those
21:44:34 <AnMaster> coppro, also I suspect a lot of us are experts at appearing like experts
21:44:39 <CakeProphet> psh, not me.
21:44:40 <AnMaster> <oerjan> Phantom_Hoover: well i don't actually know this stuff myself, just linking :D
21:44:41 <coppro> that's true
21:44:43 <AnMaster> see that for example
21:44:44 <fizzie> "Real life", does it have something to do with the 8088 real mode?
21:44:48 <coppro> but then again, what is the definition of expert?
21:45:05 <AnMaster> coppro, we need a philosophy expert for that
21:45:06 <coppro> for instance, though I have no formal training, I consider myself an expert when it comes to c++
21:45:07 <coppro> *C++
21:45:11 <AnMaster> anyone? please raise your hand!
21:45:17 <Phantom_Hoover> And then protected life would be 32-bit and a pig to set up.
21:45:26 <CakeProphet> AnMaster: I took a class....?
21:45:30 <AnMaster> CakeProphet, XD
21:45:33 <coppro> lol
21:45:53 <AnMaster> coppro, and I consider myself pretty good at C, though ais523 might beat me there.
21:46:07 <coppro> I don't mean coding C++, just knowledge
21:46:17 <AnMaster> coppro, same, hasn't been coding C much recently
21:46:26 <AnMaster> did before
21:46:36 <AnMaster> though I guess I'm the resident erlang expert. Since cpressey isn't here all the time
21:46:55 <coppro> man, I'm so fantastically bad at Erlang
21:47:16 <AnMaster> coppro, you know erlang? I didn't know
21:47:21 <AnMaster> (I assume that was sarcasm)
21:47:47 -!- fizzie has quit (Quit: jumpin' jumpin').
21:47:49 -!- fizzie has joined.
21:47:50 <cpressey> I'm not an expert at anything.
21:48:02 <AnMaster> cpressey, at the languages you created?
21:48:17 <AnMaster> hm wait, Deewiant probably knows more about befunge98 than anyone else here
21:48:17 -!- fungot has joined.
21:48:20 <AnMaster> even you
21:48:26 <AnMaster> fungot, wb!
21:48:27 <fungot> AnMaster: stuff like " thisfunction2 thislineofcode")) but have stan actually reference pete.
21:48:31 <fizzie> I consider myself the resident fungot expert, but that's a rather specialized field of knowledge.
21:48:31 <fungot> fizzie: " eeek"? yeah, do is in r5rs?? i was just trying
21:48:37 <AnMaster> fizzie, well yes
21:48:42 <AnMaster> fizzie, and I won't challenge that title
21:48:47 <oerjan> Phantom_Hoover: however i've also read in general that there are many ways in which dimensions 3 and 4 are the _hardest_ to analyze, more so than both lower and higher ones.
21:48:51 <CakeProphet> ...I probably have the most experience programming while under various hallucinogens on this channel.. but I'm not really sure if that is a skill or a psychic power.
21:49:08 <Phantom_Hoover> oerjan, why?
21:49:14 <coppro> AnMaster: I know it, but I'm really bad at programming it
21:49:22 <AnMaster> coppro, ah
21:49:36 <coppro> fizzie: A bit esoteric, wouldn't you say?
21:49:42 <AnMaster> coppro, not too bad at that myself I think. Though I might overestimate my skills. Hard to tell.
21:49:53 <fizzie> I dare say I would.
21:50:06 <AnMaster> coppro, but that is what this channel is about
21:50:31 <AnMaster> coppro, heh I realised why ais is holding back feather. So he can be the world's leading expert on it
21:50:31 <coppro> :D
21:50:38 <AnMaster> since no one else knows much about it yet
21:50:45 <coppro> hah
21:50:47 <Phantom_Hoover> Feather?
21:51:01 <AnMaster> Phantom_Hoover, time traveling language that lets you modify the syntax of the language in the past
21:51:03 <AnMaster> basically
21:51:10 <Phantom_Hoover> Ah
21:51:24 <coppro> I have some sneaking suspicion that I've inadvertently become the world's leading expert on some esoteric portion of C++
21:51:29 <AnMaster> Phantom_Hoover, it does cause not end of headaches it seems
21:51:36 <AnMaster> coppro, heh
21:51:38 <coppro> if not, definitely second place
21:51:43 <Phantom_Hoover> Is there a spec anywhere?
21:51:47 <AnMaster> Phantom_Hoover, no
21:51:48 <coppro> no
21:51:52 <AnMaster> Phantom_Hoover, the spec isn't finished
21:51:57 <Phantom_Hoover> Has it ever been described?
21:52:00 <oerjan> <AnMaster> anyone? please raise your hand! <-- and if there are any experts here on telekinesis, raise _my_ hand </old joke>
21:52:02 <AnMaster> coppro, who would hold the first place?
21:52:10 <AnMaster> Phantom_Hoover, on irc, that is all
21:52:17 <Phantom_Hoover> Argh.
21:52:21 <coppro> AnMaster: A David Vandervoorde.
21:52:27 <cpressey> oerjan: Groan expert.
21:52:29 <AnMaster> coppro, never heard of him
21:52:29 <CakeProphet> ...I am an expert of the Pokemon gameboy games. But nothing else, not the television series or anything related to it.
21:52:41 <coppro> the only other person I know to have implemented the attributes specification from C++0x
21:52:56 <coppro> and, unlike me, actually a member of the standard committee
21:52:56 <AnMaster> Phantom_Hoover, and well, ais said he needed to implement it while working on the spec. Since he wasn't sure what would work
21:53:08 <AnMaster> Phantom_Hoover, and that hasn't happened yet
21:53:13 <oerjan> Phantom_Hoover: something like higher dimensions having more wiggle room for stuff
21:53:29 <CakeProphet> oerjan: sounds technical. :D
21:54:05 <AnMaster> oerjan, of course. There is an extra dimension to wiggle in
21:54:11 <AnMaster> of course there is more wiggle room thus
21:54:23 <Phantom_Hoover> Not necessarily.
21:54:33 <Phantom_Hoover> The other dimension might be tiny.
21:54:47 <AnMaster> Phantom_Hoover, mathematically they could be anything you want
21:54:54 <AnMaster> Phantom_Hoover, plus: tiny > nothing
21:54:59 <Phantom_Hoover> But they might not be.
21:55:05 <AnMaster> Phantom_Hoover, see ^
21:55:06 <CakeProphet> consider dimensions that ate only one-element sets. WHAT THEN?
21:55:15 <oerjan> Phantom_Hoover: intuitively, 3 and 4 are big enough to let you make complicated stuff but not big enough to let you straighten it out. or something.
21:55:15 <CakeProphet> *are.
21:55:15 <Phantom_Hoover> And tiny is still < biggish
21:55:16 <CakeProphet> ...
21:55:23 <AnMaster> Phantom_Hoover, true but better than nothing
21:55:25 <oerjan> (very vague intuition, there :D)
21:55:59 <CakeProphet> I'm trying to imagine where the fourth axis would be in a world of 4D space. :D
21:56:07 <CakeProphet> I am probably not high enough.
21:56:25 <AnMaster> I wonder what a 4D game would be like.
21:56:40 <Phantom_Hoover> AnMaster, been done.
21:56:47 <AnMaster> Phantom_Hoover, yeah but a space game iirc?
21:56:54 <AnMaster> Phantom_Hoover, I meant, something like a RPG
21:56:57 <Phantom_Hoover> CakeProphet, it goes at right angles to everything else.
21:57:25 <Phantom_Hoover> AnMaster, how would a 4th dimension affect the RPG mechanic?
21:57:30 <CakeProphet> Phantom_Hoover: I need more space than the infinite space I imagine things in...
21:57:33 <cpressey> CakeProphet: "where" is a limiting concept, obviously
21:57:35 <CakeProphet> needs moar anglez
21:57:41 <AnMaster> Phantom_Hoover, think what theifs could do!
21:57:49 <AnMaster> Phantom_Hoover, get into to a box without picking the lock
21:58:02 * cpressey leans back, loses balance, and falls through the wall
21:58:14 <AnMaster> cpressey, and perhaps that
21:58:14 <oerjan> Phantom_Hoover: topologically, the _size_ of a dimension doesn't matter. although whether it curves back on itself might.
21:58:15 * Phantom_Hoover wonders if you can biject R^2 onto R.
21:58:28 <Phantom_Hoover> oerjan, I was referring to curves.
21:58:37 <CakeProphet> hmmm.
21:58:39 <AnMaster> Phantom_Hoover, well, can you biject C onto R? that should result in the same thing, shouldn't it?
21:58:46 <Phantom_Hoover> cpressey, you have to go at right angles to reality to fall though things.
21:58:49 <Phantom_Hoover> AnMaster, yes.
21:58:58 <AnMaster> Phantom_Hoover, and iirc they are bijectable, forgot how though
21:59:05 <cpressey> biject R^2 onto R? I don't *think* so...
21:59:13 <AnMaster> hm maybe I misremember
21:59:19 <cpressey> Diagonalize?
21:59:28 <Phantom_Hoover> Uncountability almost certainly factors into it.
21:59:29 <CakeProphet> perhaps P!=NP, and instead P=R^3 ....so really when I write to a hash table I'm really teleporting through space.
21:59:29 <AnMaster> cpressey, both are uncountably infinite, could be tricky to diagonalize?
21:59:31 <oerjan> Phantom_Hoover: you can biject R^2 onto R as long as you don't require continuity
21:59:41 <AnMaster> oerjan, how?
21:59:59 <AnMaster> CakeProphet, bad joke
22:00:05 <Phantom_Hoover> oerjan, continuity?
22:00:17 <AnMaster> CakeProphet, even below OGS (Oerjan Groan Standard)
22:00:22 <AnMaster> s/ / /
22:00:33 <oerjan> AnMaster: rubik's hypercube might be an interesting game. hm, i should google if it exists already
22:00:44 <CakeProphet> AnMaster: More of a thought experiment to imagine what that would imply.
22:00:48 <AnMaster> oerjan, I never got the hang of the 3D version so...
22:01:01 <oerjan> yep, definitely exists
22:01:02 <CakeProphet> AnMaster: but I guess thought experiments are pretty bad jokes. BAM.
22:01:13 <Phantom_Hoover> Oh, so biject(1, 1) and biject(1.1, 1.1) would give completely different results?
22:01:17 <AnMaster> CakeProphet, well, I thought it was a bad joke
22:01:32 <CakeProphet> you are correct.
22:01:40 <AnMaster> CakeProphet, since I couldn't make sense of it as anything esle
22:01:54 <coppro> oerjan: yes, it exists, and it hurts my brain
22:02:05 <oerjan> http://people.math.gatech.edu/~berglund/Rubik/index.html
22:03:07 <Phantom_Hoover> I hate 4D projections onto 3-space.
22:03:20 <AnMaster> indeed
22:03:51 <CakeProphet> actually 6D is easier for me to imagine than 4D... because I can just picture two 3D spaces.
22:03:55 <CakeProphet> that co-exist.
22:04:04 <AnMaster> CakeProphet, I can't imagine that either
22:04:14 <oerjan> Phantom_Hoover: the bijection cannot be a continuous function, this is part of what is known as Brouwer's theorem of Invariance of domain http://en.wikipedia.org/wiki/Invariance_of_domain
22:04:56 <Phantom_Hoover> OK.
22:05:15 <Phantom_Hoover> In any case, this implies that 4-space can be embedded in 3-space.
22:05:28 <Phantom_Hoover> Embedded
22:05:34 <Phantom_Hoover> <=>bijected, whaever.
22:05:41 <Phantom_Hoover> s/whaever/whatever/
22:06:03 <CakeProphet> so why is space 3D?
22:06:10 <CakeProphet> PHILOSOPHY TIEM.
22:06:27 <AnMaster> because more would be silly?
22:06:31 <cpressey> It's the smallest possible space for us to have the perception of it that we do.
22:06:41 <Phantom_Hoover> CakeProphet, Stephen Hawking said something about that.
22:06:54 <AnMaster> cpressey, the same could be said for 4D if we lived in 4D
22:06:56 <Phantom_Hoover> Something to do with orbits being unstable in >3D.
22:07:10 <AnMaster> Phantom_Hoover, so string theory is false?
22:07:14 <cpressey> AnMaster: For all we know, we do live in 4D. We just can't see it.
22:07:35 <Phantom_Hoover> AnMaster, it's to do with the inverse square law.
22:07:39 <cpressey> String theory is not just false, it's a load of hooey.
22:07:42 <CakeProphet> the fourth dimension is an awesome-to-fail gradient.
22:07:48 <AnMaster> Phantom_Hoover, which isn't an accurate desc
22:08:01 <oerjan> Phantom_Hoover: bijecting R^2 with R is easy, if you ignore the 0.99999... = 1.0000... issue (and that's easy to fix up afterwards). just interleave the bits of the two numbers. oh and sign, but that's also easy to fix.
22:08:07 <AnMaster> cpressey, "hooey"?
22:08:18 <Phantom_Hoover> If there are 4 conventional space dimensions, it becomes an inverse cube law, and orbital deviations are magnified hugely.
22:08:30 <CakeProphet> cpressey: I think string theory is just overzealous in its categorization of physical phenomenon as dimensions
22:08:38 <Phantom_Hoover> And the ISL is still accurate in most situations.
22:08:50 <CakeProphet> unfortunately, to get anywhere in physics these days you have to pretty much submit to string theory or you will not be taken seriously.
22:08:50 <oerjan> Phantom_Hoover: more _generally_, it's a theorem of set theory that the axiom of choice is equivalent to every infinite set M having a bijection with M^2
22:11:16 <CakeProphet> Is there a name for this magical (^) :: Set -> Integer -> Space operation?
22:11:42 <cpressey> Oh so THAT is what the Axiom of Choice is.
22:11:49 <Phantom_Hoover> M^2 just means a pair of Ms.
22:12:20 <CakeProphet> ah so... Set -> Integer -> DependentTypeHereLolHaskell
22:13:37 <oerjan> CakeProphet: if you identify an integer with a set having that many elements (as e.g. von Neumann numerals do), then A^B is just the set of functions from B to A
22:14:46 <CakeProphet> I think I understand, but as a consequence my brain kind of malfunctioned.
22:15:29 <Phantom_Hoover> So R^2 is the set of functions from 2 to R?
22:15:43 <oerjan> CakeProphet: this is also compatible with the cardinalities of the sets. e.g. the set of functions from B to A has |A|^|B| elements, where |A| and |B| are the cardinalities of A and B
22:15:45 <Phantom_Hoover> Ah, I get it now.
22:16:02 <CakeProphet> from a set with two elements to R I guess.
22:16:02 <oerjan> so it's an intuitive notation
22:16:22 <Phantom_Hoover> Wait, doesn't 2 have to be a set of 2 elements each of which are in R?
22:17:02 <oerjan> Phantom_Hoover: no, it doesn't matter which set you use to represent 2 for this, as long as it has 2 elements
22:17:41 <Phantom_Hoover> So what does the function do with the elements?
22:17:45 <oerjan> von Neumann numerals use {0,1}, defined recursively
22:18:09 <oerjan> Phantom_Hoover: it maps 0 to the first tuple element, and 1 to the second.
22:18:22 <Phantom_Hoover> Ahh.
22:18:25 <oerjan> some might like to use {1,2} instead for this :D
22:18:46 <oerjan> more generally, an n-tuple in math is just a function from {1,...,n} to some set
22:18:59 <Phantom_Hoover> Yep, I get it now.
22:20:04 <CakeProphet> hey, need to provide validity to your theory? Define it in terms of other theories!
22:20:23 <cpressey> I firmly believe AC to be independent of AC.
22:20:56 <AnMaster> oerjan, so that means there are just two types of infinite?
22:21:04 <AnMaster> oerjan, countable and uncountable?
22:21:06 <AnMaster> wait a sec
22:21:09 <AnMaster> every infinite?
22:21:31 <AnMaster> if that is true countable == uncountable which is not true afaik?
22:22:08 <oerjan> AnMaster: um no, there is an unending (in fact itself uncountable) collection. 2^M has larger size than M, always (Cantor diagonalization)
22:22:26 <oerjan> however M^2 has the same size as M if M is infinite
22:23:17 <oerjan> interestingly, there are infinitely many cardinalities a such that a^(aleph_0) = a and infinitely many such that this is false
22:23:42 * Phantom_Hoover wonders what a 3-cube bijected into 3-space would look like.
22:23:49 <oerjan> (any cardinality of the form 2^a for infinite a satisfies the equation, but limits need not
22:23:52 <oerjan> )
22:24:25 <oerjan> s/infinitely/uncountable/, really
22:24:35 <oerjan> *ly
22:25:38 <cpressey> Sounds strangely like relativizing proofs on oracle machines.
22:26:00 <oerjan> cpressey: well it's all diagonalization
22:26:12 <cpressey> "infinitely many [oracles] such that [P=NP] and infinitely many such that this is false"
22:26:19 <oerjan> oh that
22:26:34 <oerjan> heh
22:27:08 <cpressey> Well, I don't *know* that there are inf. many -- the original result was "there exists at least one" -- but it seems quite reasonable
22:27:19 <oerjan> yeah
22:27:36 * Sgeo is in a dark cave with dripping water and weird violet crystals everywhere
22:27:44 <oerjan> well you can probably construct infinitely many oracles with the same power as a given one, at least
22:27:51 <cpressey> yeah
22:29:12 -!- calamari has joined.
22:29:16 <calamari> hi
22:29:30 <cpressey> calamari: Hey!
22:29:34 <AnMaster> oerjan, "<oerjan> Phantom_Hoover: more _generally_, it's a theorem of set theory that the axiom of choice is equivalent to every infinite set M having a bijection with M^2" still confuse me then
22:29:37 <oerjan> Phantom_Hoover: 3-cube into 3-space? well if it's a cube without the borders, just use a suitable scaled tan function on each coordinate
22:29:42 <AnMaster> oerjan, every doesn't mean every?
22:29:48 <calamari> according to wikipedia: PostScript is a Turing-complete programming language, belonging to the concatenative group. PostScript is an interpreted, stack-based language similar to Forth but with strong dynamic typing, data structures inspired by those found in Lisp, scoped memory and, since language level 2, garbage collection
22:30:05 <AnMaster> oerjan, or that you have bijections between different cardinalities?
22:30:08 <calamari> this is just asking for a brainfuck port..
22:30:15 <calamari> or has one already been done?
22:30:16 <oerjan> AnMaster: it has to be the same M in M and M^2
22:30:19 <AnMaster> oerjan, I thought bijection defined cardinality?
22:30:24 <AnMaster> oerjan, ah!
22:30:34 <calamari> hey Chris, how are you?
22:31:28 <cpressey> calamari: You know, I'm not sure anymore... I'm ok I guess. :) How're things with you?
22:31:36 <oerjan> calamari: now make it output a graphic representation of the bf run :D
22:32:00 <calamari> oerjan, exactly!
22:32:34 * oerjan did a mandelbrot in postscript once. only black and white though, so not so impressive.
22:33:02 <oerjan> i have a vague idea that it _might_ have taken a while to get through the printer :D
22:36:07 <calamari> cpressey, I'm doing alright.. did something happen?
22:38:41 <cpressey> calamari: It's a long story. I've been bouncing around the USA the past two years, for bad reasons. Ended up near Chicago... will hopefully stay here for a while. But we'll see.
22:39:39 <calamari> still a Canadian?
22:40:05 <CakeProphet> question. Is tuple pronounced "too-ple"?
22:40:08 <cpressey> Yep, just a US permanent resident, because I married an American :)
22:40:22 <CakeProphet> or just "tup-le"
22:40:22 <calamari> oh, still married?
22:40:31 <calamari> I've always heard the former
22:40:49 <oerjan> CakeProphet: i've been assuming it's pronounced like the last part of "quintuple".
22:40:50 <AnMaster> hm, I wonder what an image that has a small depth of focus but has more than one such would look like
22:41:02 <cpressey> CakeProphet: I've heard both.
22:41:26 <CakeProphet> I suppose it's because the words that end in -tuple pronounce it both ways. right?
22:41:35 <oerjan> they do?
22:41:39 <CakeProphet> well... quadruple.
22:41:39 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:41:41 <calamari> AnMaster, like a pinhole camera?
22:41:43 <CakeProphet> but that's not quite -tuple
22:41:50 <AnMaster> calamari, hm?
22:41:55 <calamari> or are you saying the opposite of that?
22:42:10 <AnMaster> calamari, like focused at one meter, then unfocused a bit, then focused again at about 10 meters
22:42:12 <AnMaster> or such
22:42:16 <calamari> well with a small enough pinhole, everything is in focus
22:42:25 <AnMaster> calamari, so completely different
22:43:27 <AnMaster> calamari, see what I mean?
22:43:38 <calamari> yeah, I think so
22:43:57 <AnMaster> calamari, or a sine function
22:44:14 <AnMaster> calamari, so 1 = completely in focus -1 = very out of focus
22:44:25 <AnMaster> with a period of half a meter between crossing the zero
22:44:26 <CakeProphet> 1-tuple, 2-tuple, 3-tuple, 4
22:44:28 <calamari> you might be able to (ab)use a raytracer into doing it
22:44:36 <AnMaster> calamari, I have no idea how
22:45:22 -!- ehirdiphone has joined.
22:45:31 -!- ehirdiphone has quit (Client Quit).
22:45:44 <oerjan> so close and yet so far
22:45:45 <cpressey> hi alise... and bye
22:45:48 <calamari> pov-ray is open source
22:45:53 -!- ehirdiphone has joined.
22:46:11 <ehirdiphone> cpressey: Hello!
22:46:35 <cpressey> Hello ehirdiphone!
22:47:36 <calamari> Chris: but yeah anyhow.. I am a divorced dad of 2.. hopefully you didn't end up in such a situation
22:47:56 <cpressey> calamari: I'm sorry to hear that...
22:48:00 <Sgeo> It feels so good to write out what the code should do before writing the code
22:48:44 <ehirdiphone> Whoa. What prompted a divorce discussion?
22:48:59 <CakeProphet> hmmm... I bet you could extend Parsec to match/fail on any sort of pattern regardless of type.
22:49:14 <CakeProphet> and also fuzzily. To implement pattern matching.
22:49:17 <CakeProphet> of data.
22:49:18 <ehirdiphone> CakeProphet: Parsec 3
22:49:32 <Sgeo> ehirdiphone, "How are you?"
22:49:37 <calamari> ehirdiphone, hehe.. mostly me not minding my own business :)
22:52:05 * ehirdiphone attempts to read log on phone
22:52:13 <AnMaster> calamari, true
22:52:28 <AnMaster> calamari, wrt raytracer I mean
22:52:56 <AnMaster> calamari, still I wouldn't know how to make such an optics model
22:53:24 <cpressey> ehirdiphone: Me volunteering the fact that I've been galavanting around the US because I married an American.
22:54:32 <cpressey> Well, when enough crap starts happening to you, you start learning to count your blessings I guess :)
22:54:55 <calamari> AnMaster, I guess I'm thinking along the lines of modifying the source to mess with the smooth focus falloff and reset it at some point.. a dirty hack
22:55:20 <AnMaster> calamari, ah
22:55:28 <calamari> so when distance gets to 10 meters.. treat it like distance x-10 again
22:55:39 <AnMaster> ouch. fmod() basically?
22:55:51 <AnMaster> calamari, well I guess one would have to find it in the source first
22:55:54 <AnMaster> which may not be that easy
22:56:31 <ehirdiphone> I have a good shot at first or second shitlife ranking here methinks.
22:56:40 <calamari> yeah fmod.. wow, never heard of fmod until now.. cool stuff :)
22:56:51 <ehirdiphone> Does it get much worse than being wrongly institutionalised?
22:57:00 <ehirdiphone> I mean. For most people
22:57:02 <ehirdiphone> :P
22:57:12 <cpressey> ehirdiphone: Yes. Yes, I for one would not deny you that trophy.
22:57:12 <ehirdiphone> Starving is probably notably worse.
22:57:44 <ehirdiphone> Is it made out of a turd? Polished?
22:58:29 <calamari> for me, I think it was the sudden drop in standard of living that was jarring, but that's been a long time now so it's just life again hehe
22:58:31 <ehirdiphone> Wow, calamari invented modular arithmetic. Astonishing :P
22:58:48 <calamari> huh?
22:59:23 <ehirdiphone> fmod is just the remainder operation generalised to reals
22:59:32 <calamari> maybe discovered :) definitely not invented
22:59:48 <ehirdiphone> I'm being a sarcastic bastard.
22:59:50 <calamari> everyone can discover things
22:59:56 <calamari> evne the same things :)
22:59:57 <ehirdiphone> Apologies :P
23:00:02 <calamari> none needed
23:00:28 <calamari> I love being an argumentative ass.. just ask Gregor
23:00:43 <ehirdiphone> Actually fmod doesn't make a whole lot of sense really since modulo is remainder of *integer* division
23:01:16 <ehirdiphone> But it's a useful implementation over the reals of a common use-case of modular arithmetic.
23:01:34 <ehirdiphone> *division.
23:02:42 <ehirdiphone> cpressey: So if we get gay married I could escape? Hey, it's a viable plan!
23:02:58 <ehirdiphone> ATTN anyone in America: I am free for marriage
23:03:11 <CakeProphet> why on earth does C/C++ not have tuples.
23:03:18 <cpressey> ehirdiphone: Er, no can do -- there are laws against bigamy here.
23:03:19 <coppro> ehirdiphone: have fun consummating
23:03:30 <ehirdiphone> cpressey: DAMMIT.
23:03:50 <ehirdiphone> Fucking conservatism!
23:04:12 <ehirdiphone> coppro: Canada too
23:04:26 <CakeProphet> I guess in C++ you coud define tuple generics.
23:04:32 <coppro> ehirdiphone: someone's challenging those laws' constitutionality I think
23:04:37 <coppro> CakeProphet: C++0x is getting them
23:04:43 <ehirdiphone> CakeProphet: c is a glorified pdp11 assembler
23:04:52 <Sgeo> ATTN any non-married person, then?
23:05:26 <ehirdiphone> CakeProphet: c++ is a functional language compiling down to a glorified object-oriented pdp11 assembler
23:05:54 <ehirdiphone> coppro: What bigamy laws? Or gay laws?
23:06:06 <coppro> ehirdiphone: bigamy. Gay marriage has been legal here for several years
23:06:11 <calamari> ehirdiphone, but god hates fags </troll>
23:06:15 <ehirdiphone> *What,
23:06:38 <ehirdiphone> coppro: the authors of the Canadian constitution were gay polyamorists
23:07:04 <calamari> Sgeo, sorry, arizona hates gays too
23:07:09 <ehirdiphone> My logic is irrefutable
23:07:11 <ehirdiphone> QED
23:07:18 * calamari currently lives in the most hated state, lol
23:07:32 <coppro> there was never time for an actual SCC ruling on the legality of law banning gay marriage, IIRC; the government made it legal before that could happen. The closest it came when was Alberta (surprise, surprise) tried to legislate it and it was found to be outside provincial jurisdiction.
23:07:39 * CakeProphet is in Georgia. Doesn't get much more bigoted.
23:07:41 <ehirdiphone> Can you even get green card gay married?
23:08:02 <calamari> CakeProphet, but nobody talks about that.. Arizona is in the spotlight
23:08:11 <CakeProphet> well, right.
23:08:18 <coppro> I don't even get why everyone cares about Arizona
23:08:30 <ehirdiphone> CakeProphet: Georgia birthed Neutral Milk Hotel which makes up for it sucking.
23:08:31 <coppro> all they did is basically tell police officers to enforce the law
23:08:44 <CakeProphet> I don't get why everyone cares about the US.
23:08:56 <calamari> well from a racism perspective, I guess I don't really care.. however requiring me to carry my papers.. I care about that
23:09:06 <CakeProphet> ehirdiphone: ha. And a lot of other good musicians. I didn't know NMH was from Georgia though.
23:09:06 <ehirdiphone> CakeProphet: I have a friend in Georgia; say hi.
23:09:13 <CakeProphet> ehirdiphone: I'm on it.
23:09:22 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:09:31 <ehirdiphone> NMH are from Georgia, yeah.
23:09:42 <ehirdiphone> Well. Were.
23:10:01 -!- tombom has quit (Quit: Leaving).
23:10:10 <CakeProphet> hmmm, is singular-for-band-names a US thing?
23:10:21 <CakeProphet> NMH is/was
23:10:33 <ehirdiphone> Singular groups is an Americanism.
23:10:41 <CakeProphet> ah... okay.
23:10:57 <coppro> it's not significantly different from referring to a corporation by a singular name
23:11:08 <CakeProphet> so do you say "the class are dismissed." ???
23:11:09 <ehirdiphone> Pink Floyd were a band. Microsoft were ruled against in an antitrust case.
23:11:23 <oerjan> coppro: so basically it's the reason why US corporations are persons?
23:11:30 <coppro> oerjan: obviously
23:11:40 <ehirdiphone> We'd say "class dismissed" prolly :P
23:11:46 <CakeProphet> ha.
23:11:52 <ehirdiphone> But yes. L
23:11:58 <ehirdiphone> *no L
23:12:10 <CakeProphet> interesting.
23:12:16 <ehirdiphone> When we hear "the class" we hear every member of that class.
23:12:18 <oerjan> ehirdiphone: isn't it a little early for christmas
23:12:30 <ehirdiphone> But it sounds awkward for a teacher to say that.
23:12:40 <ehirdiphone> I dunno why.
23:12:46 <ehirdiphone> No l, no l
23:12:50 <ehirdiphone> No l, no l
23:12:54 <ehirdiphone> Something something
23:12:56 <ehirdiphone> No l
23:13:03 <CakeProphet> well, I presume because there is only one class.
23:13:27 <calamari> the class is dismissed ... imo :)
23:13:30 <ehirdiphone> And an esolang is born.
23:13:31 <CakeProphet> the classes are dismissed. The class is dismissed. That's how it works here at least.
23:13:39 <ehirdiphone> Class is a singleton!
23:13:43 <oerjan> CakeProphet: but does it own the means of production?
23:13:51 <CakeProphet> oerjan: rofl. of course not.
23:13:55 <CakeProphet> capitalism all the way.
23:13:59 <ehirdiphone> Thus Class is the only class!
23:14:00 <oerjan> darn
23:14:43 <ehirdiphone> Corporations as their members is a very socialist quirk :P
23:14:47 <CakeProphet> ehirdiphone: I hope class just so happens to be an implementation of a hash table...
23:14:54 <CakeProphet> because then we can implement a subset of lua.
23:15:23 <ehirdiphone> Well we need the Class class because every class must be an instance of it.
23:15:32 <ehirdiphone> Tada, we have our one class.
23:15:47 <coppro> I HEREBY FLAW YOUR LOGIC
23:16:00 <ehirdiphone> coppro: NOOOOOOO
23:16:09 <ehirdiphone> MY ONLY WEAKNESS!
23:16:39 <CakeProphet> Why would you even go through the trouble of defining a better C++
23:16:40 <ehirdiphone> So.
23:16:59 <ehirdiphone> Ask olsner.
23:17:12 <cpressey> CakeProphet: Yes. Class must be a subclass of HashTable.
23:17:39 <CakeProphet> because if there are tuples... then they should immediately change every stdlib function that takes pointer arguments to set multiple return values.
23:18:08 <coppro> C library compatibility says no
23:18:44 <CakeProphet> just overload everything. :D
23:18:47 <CakeProphet> ALWAYS THE ANSWER
23:18:58 <olsner> omg, I was mentioned
23:19:18 <CakeProphet> olsner has been summoned
23:19:49 <olsner> I will take some mana for this, you know... massive amounts of mana
23:20:05 <CakeProphet> also... why on earth would you call it C++0X
23:20:06 * coppro steals the mana and casts Gleemax
23:20:10 <CakeProphet> that is just too many symbols
23:20:19 <pikhq> coppro: People are upset about Arizona because the law in question makes the police call out people who "look illegal" and demand proof that they are legal. Said proof being a birth certificate or naturalisation certificate.
23:20:21 <ehirdiphone> CakeProphet: C++YY
23:20:24 <coppro> CakeProphet: It's a working name evolved from the fact that it was expected in the year '0X, where X is unknown
23:20:29 <coppro> pikhq: It
23:20:36 <CakeProphet> dude check out my language it's called $##E2
23:20:39 <cpressey> CakeProphet: Obviously, it is an esolang in disguise.
23:21:00 <pikhq> And these certificates are neither commonly carried around nor something that police should (IMO) have the authority to demand.
23:21:04 <ehirdiphone> CakeProphet: It's official C++ not some other project.
23:21:13 <olsner> c++1x, in which C++ standardises brainfuck as an alternate macro language
23:21:26 <coppro> *It's required that foreigners carry ID already. IIRC, it adds no requirement for citizens
23:21:27 <ehirdiphone> coppro: It
23:22:16 <ehirdiphone> Sean "copp- 'Arizona' -ro" Hunt
23:22:19 <pikhq> coppro: Yes, foreigners are required to carry a passport or a green card. However, the law makes demands of *proof of citizenship*, not just proof of legal non-citizenship.
23:22:28 <ehirdiphone> Nested nicknames!
23:22:35 <coppro> oh, I didn't know about that
23:22:48 <coppro> I don't recall seeing that when I scanned the bill
23:22:55 <pikhq> And it also demands that they do this check on anyone who *looks illegal*.
23:23:14 <ehirdiphone> coppro just reads USA bills for fun.
23:23:15 <olsner> anyway, about defining a better C++ the thing I think I've realized that you pretty much can't make a better C++ but you can probably replace it with something else
23:23:18 <CakeProphet> isn't that what cops do anyways? not that it's justified...
23:23:19 <pikhq> Uh, yeah... Most people here are either immigrants or decendents of immigrants. Each and every person could be illegal.
23:23:19 <coppro> I believe the term is "reasonable suspicion:
23:23:30 <coppro> ehirdiphone: I looked this one up specifically
23:23:53 <ehirdiphone> coppro is defending the crazy right wing burkina
23:23:54 <pikhq> Also: this is a state with fucking Sherrif Arpaio in power.
23:23:57 <ehirdiphone> Nutjobs
23:24:00 <ehirdiphone> Not burkina
23:24:04 <ehirdiphone> WTF iPhone
23:24:06 <cpressey> Proof of citizenship? So permanent residents don't count? Jeez/
23:24:11 <ehirdiphone> Anyway, I love it
23:24:12 * cpressey feels hurt.
23:24:27 <pikhq> cpressey: Citizenship or legal residence.
23:24:33 <oerjan> ehirdiphone: it's just going through a faso
23:24:43 <calamari> pikhq, so glad I don't with in maricopa county... inmnocent into proven guilty throw right out the window with those prison camps
23:24:57 <calamari> with->live
23:24:57 <ehirdiphone> oerjan: What's the serf?
23:25:12 <ehirdiphone> Inmocent.
23:25:16 <calamari> wow, tons of typos in that.. just parse it :)
23:25:20 <pikhq> But, yeah. Arpaio would inevitably enforce that shit as "if e's not white or black, pull im the hell over."
23:25:23 <oerjan> argh
23:25:32 <oerjan> inmocent is a word?
23:25:33 <pikhq> (black so that he can claim not to be racist)
23:25:41 <pikhq> oerjan: No, but innocent is.
23:25:48 <ehirdiphone> pikhq: Yeah... Arpaio would totally use Spivak pronouns.
23:25:58 <pikhq> ehirdiphone: Totally. :P
23:26:00 <calamari> oerjan, that's what happens when I am reading a webpage and typing at the same time lol
23:26:05 <ehirdiphone> Also, *em
23:26:11 <ehirdiphone> Not i'm.
23:26:14 <coppro> pikhq: also, you know the other part, right? That the police officer already has to be talking to the person for some violation?
23:26:16 <ehirdiphone> I'm.
23:26:19 <ehirdiphone> Im.
23:26:31 <pikhq> coppro: Yes.
23:26:41 <coppro> k, just chekcing
23:27:08 <olsner> where C++ wins today there isn't really that much to compete with it I think... C is often too stupid/simplistic and everything else popular is too dynamic or slow or generally far-from-the-metal (like ... java and everything) or scary (like haskell)... Ada isn't bad at all really but everyone mistrusts it and it's a tad verbose and bondage&discipline
23:27:23 <pikhq> Though this in practice means a more asshole-type police officer will make up a reason to pull the person over.
23:27:27 <calamari> coppro, and you know that if a police officer follows you long enough in a car you WILL violate some traffic law sooner or later.
23:27:29 <ehirdiphone> Just going to toss in a crazy radical idea to turn this into a flamewar: Completely free immigration to and from any country.
23:27:43 <cpressey> Sadly, I need to be off, before I crack up. Bye all, have a pleasant evening.
23:27:50 <calamari> cya Chris
23:27:52 <pikhq> ehirdiphone: My only question is whether or not it would be sane to implement this immediately.
23:27:52 -!- cpressey has quit (Quit: Arpaio would totally use Spivak pronouns.).
23:27:56 <coppro> calamari: sure. But the new law doesn't change that aspect of things significantly
23:28:14 <pikhq> Perhaps have it completely free immigration to and from the developed world and slowly add developing nations.
23:28:32 <ehirdiphone> I made someone's quit message! Yay!
23:28:44 <ehirdiphone> pikhq: Yeah, it's not practical right know.
23:28:48 <pikhq> (so as to avoid a massive flood into developed nations)
23:28:52 <coppro> if the police officer thinks someone is an illegal immigrant, they can still tail you all day, get you for a violation, and ask you for documentation that you're allowed in the country
23:29:10 <ehirdiphone> But it'd make countries *compete*, thus yielding better countries,
23:29:22 <ehirdiphone> thus yielding better spread of population.
23:29:24 <pikhq> But, other than doubts about implementation particulars, I am entirely in favor of such a thing.
23:29:33 <ehirdiphone> Immigration problem: solved.
23:29:50 <ehirdiphone> *right now, not know
23:29:59 * olsner unsummons (boring!)
23:30:34 <ehirdiphone> olsner olsner olsner Candlejac
23:30:34 <pikhq> There is absolutely no sense in there not being free immigration between, say, Europe, USA, Canada, and Japan. None at all.
23:30:57 <calamari> yep
23:31:06 <pikhq> I can't even think of a *reason* for it beyond "DEM FOREIGNERS ARE EVIL TAKING AR JORBS".
23:31:11 <ehirdiphone> pikhq: BUT DOOD PPL ONLY WANT TO GO TO USA AND UK LOL
23:31:41 <oerjan> ehirdiphone: you're not supposed to disappear until after you've _finished_ writing Candlejack, you stu
23:31:42 <CakeProphet> s/USA AND UK/USA/
23:31:44 <CakeProphet> duh
23:31:46 <CakeProphet> :)
23:32:08 <pikhq> Oh, also. "TERRORISTS".
23:32:14 <ehirdiphone> oerjan: olsner stopped me finishing Candlejack's name, you fo
23:32:24 <calamari> omg they took my job I can't work at mcdonalds anymore :(
23:32:24 <oerjan> ehirdiphone: ok then
23:32:28 <calamari> j.k.
23:32:46 <pikhq> Because, of course, Canada is a magical land made entirely of people who want to commit terrorism against the US.
23:33:00 <ehirdiphone> pikhq: Also unicorns.
23:33:04 <pikhq> But can't be assed to walk across the mostly unpatrolled border to do so.
23:33:18 <ehirdiphone> They are le tired.
23:33:27 <oerjan> terrorist unicorns!
23:33:39 <ehirdiphone> *recites the rest of the end of the world*
23:33:43 <pikhq> Why we have the border mostly unpatrolled *but* massive security checks on legal crossings is beyond me.
23:33:51 <ehirdiphone> Alaska can come too. THE END!
23:35:05 <ehirdiphone> Canada is awesome because it has European laws plus English (ok so I am biased) plus an awesome range of climates.
23:35:10 <ehirdiphone> Plus maple syrup.
23:35:21 <ehirdiphone> God dammit I love maple syrup.
23:35:58 <pikhq> And its culture is like America, without all of the stupid. :P
23:36:18 <pikhq> Hrm. Actually, that makes it radically different; stupid is one of the defining attributes of American culture.
23:36:42 <ehirdiphone> pikhq: wrt terrorism: with the English skills of the average terrorist fearmonger, we will soon all be incredibly worried about planes being hijacked by museli
23:37:00 <ehirdiphone> OH GOD WITH THE ALMONDS AND THE OATS IN THE COCKPIT
23:37:01 -!- micahjohnston has joined.
23:37:05 <pikhq> Hah.
23:37:29 <CakeProphet> would be nifty if Haskell had recursive types
23:37:34 <coppro> Nous avons aussi Français.
23:37:37 <CakeProphet> ...by recursive types I mean
23:37:48 <coppro> s/F/f/
23:37:56 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:38:17 -!- ehirdiphone has joined.
23:38:20 <ehirdiphone> coppro: I don't believe in Quebec
23:38:21 <CakeProphet> type Computation a b = (a ->(a, Computation))
23:38:42 <ehirdiphone> It's like Canada plus LAME FRENCHNESS and EXCESS COLD.
23:38:45 <coppro> pourquoi?
23:38:49 <coppro> ah
23:38:51 <micahjohnston> Le français n'est pas seulment de Quebec...
23:38:52 <ehirdiphone> CakeProphet: Eh wot?
23:38:53 <oerjan> CakeProphet: the argument i hear for not allowing them is that it would make a _lot_ of errors accidentally well-typed
23:39:11 <ehirdiphone> CakeProphet: You missed some type arguments...
23:39:22 <ehirdiphone> oerjan: it removes type safety
23:39:34 <ehirdiphone> type LC = LC -> LC
23:39:39 <CakeProphet> type Computation a b = (a ->(b, Computation))
23:39:40 <coppro> micahjohnston: oui!
23:40:04 <oerjan> ehirdiphone: well not memory safety
23:40:13 <ehirdiphone> si si si señor
23:40:23 <ehirdiphone> oerjan: eh?
23:40:33 <ehirdiphone> CakeProphet: fail
23:40:50 <oerjan> ehirdiphone: it cannot cause it to call a function with something it cannot handle, only make an unexpected infinite loop
23:41:02 <coppro> C'est à Ottawa et un peu de Nouveau-Brunswick.
23:41:47 <ehirdiphone> Ayeight mayb I starten tak'n i'scrut'bl 'nvented Enggish dylect.
23:41:58 <micahjohnston> Ah je ne savais pas que vous parlais de Canada
23:42:15 <ehirdiphone> oerjan: ah
23:42:39 <ehirdiphone> STOPP'T WI'TH'FRENCH!
23:42:43 <coppro> Non!
23:42:45 <micahjohnston> pourquoi?
23:43:01 <pikhq> ehirdiphone: Ai shinkku Ai amu goingu tsu taruku in an oddo daiarekuto maiserufu.
23:43:25 <ehirdiphone> Yorl dinaeknow French aneighwy.
23:43:32 <oerjan> ehirdiphone: there's nothing you can do with recursive types that you cannot already simulate with newtypes, afaik
23:43:33 <micahjohnston> pikhq: wakarimasen.
23:44:01 <ehirdiphone> Yorl gon stopp't immydjtli!
23:44:01 <coppro> pikhq: nice bastardization
23:44:09 <coppro> ehirdiphone's is just bad
23:44:09 <oerjan> (and they compile to identical machine code, presumably)
23:44:12 <pikhq> micahjohnston: Korya "I think I am going to talk in an odd dialect myself.", nihongoppoi hatsuon de.
23:44:30 <ehirdiphone> coppro: POO HENCEFORTH TOWARDS YOU.
23:44:50 <pikhq> (Watashi ha ima, IME ga nai no de, roomaji wo tsukaeru. Gomen ne.)
23:44:56 <micahjohnston> pikhq: wakarimashita demo nihongo sukoshi wakarimasu
23:45:08 <micahjohnston> I don't even know if what I just said is right at all
23:45:09 <micahjohnston> :P
23:45:11 <ehirdiphone> Desu nihongo desu?
23:45:21 <olsner> desu!
23:45:27 <pikhq> micahjohnston: Quite correct, though oddly formal.
23:45:28 <micahjohnston> sō desu
23:45:41 <micahjohnston> ^_^
23:45:44 <ehirdiphone> Desu desu desu, desu desu.
23:45:51 <AnMaster> eh?
23:45:55 <AnMaster> what language is that?
23:46:04 <micahjohnston> nihongo desu
23:46:09 <ehirdiphone> Desu Tokyo Nihongo desu Nihongo dedu desu.
23:46:15 <ehirdiphone> *desu
23:46:22 <oerjan> pikhq: e syns japansk e å gå før langt
23:46:38 <AnMaster> oerjan, aha, så det är japanska?
23:46:39 <ehirdiphone> *japanskdesu
23:46:51 <ehirdiphone> *japanskadesu
23:46:59 <pikhq> ehirdiphone: This is about on par with "Is London English is English id is." :P
23:47:12 <ehirdiphone> Desu desu; Osaka desu Nihongo.
23:47:24 <ehirdiphone> pikhq: XD
23:47:30 <oerjan> AnMaster: well some of it at least
23:47:35 <pikhq> "Is is; Edinburgh is English."
23:47:50 <micahjohnston> should'nt it be Osaka wa Nihongo desu though?
23:48:03 <olsner> pikhq: you know japanese? ehird's line read like "I understood but I understand a little japanese" to me... which seems to be missing some kind of contrast to motivate the 'but'
23:48:05 <pikhq> micahjohnston: He's citing a bizarre meme, not actual Japanese.
23:48:05 <ehirdiphone> Does Japanese even HAVE semicolons?
23:48:12 <micahjohnston> pikhq: oh
23:48:17 <pikhq> olsner: I do, in fact, know Japanese.
23:48:28 <ehirdiphone> Wo desu Nihongo gaijin desu wo wo desUsaka
23:48:32 <pikhq> ehirdiphone: Yeah, but it's *very* uncommon.
23:48:38 <micahjohnston> olsner: I didn't know how to say "only" :P
23:48:44 <coppro> ehirdiphone, on the other hand, does not speak a lick of Japanese
23:48:49 <micahjohnston> watashi wa gaijin desu
23:49:02 <ehirdiphone> pikhq: Good luck analogising THAT
23:49:07 <AnMaster> olsner, så länge de pratar japanska föreslår jag att vi pratar "skandinaviska"
23:49:13 <AnMaster> err
23:49:16 <AnMaster> oerjan, ^
23:49:25 <olsner> japansk e då ikkje skickelig vansklig, bare *litt* vansklig
23:49:27 <AnMaster> ja, olsner med, med dumma tab
23:49:29 <pikhq> micahjohnston: "Watashi ha wakuru, kedo chotto dake nihongo wo wakaru."
23:49:33 <pikhq> There.
23:49:42 <AnMaster> olsner, det där var norska?
23:49:50 <olsner> AnMaster: nån sorts försök till det
23:49:53 <AnMaster> olsner, ah
23:50:04 <CakeProphet> hey
23:50:12 <pikhq> ehirdiphone: "The is English foreign is the the is?eh."
23:50:21 * coppro is getting annoyed that Google translation can't do Romanji (this is not an invitation to move to Kanji, thanks)
23:50:21 <olsner> CakeProphet: gobbledygook time! join in!
23:50:26 <AnMaster> :D
23:50:29 <CakeProphet> isn't this is an only-speak-American IRC server?
23:50:33 <ehirdiphone> pikhq: What have I done
23:50:38 <pikhq> coppro: I don't have an IME, so I am not using my uber kanji-knowledge.
23:50:57 <oerjan> AnMaster: norsk e jo så lætt, e har snakkæ dæ si e va lit'n glønjtonge
23:50:58 <pikhq> (I can write all the jouyou kanji. I know all the readings for about half of them.)
23:50:59 <AnMaster> CakeProphet, not american. UK English
23:51:08 <pikhq> CakeProphet: No.
23:51:17 <AnMaster> oerjan, vad är "snakkæ" och "glønjtonge"?
23:51:36 <coppro> pikhq: I don't :D
23:51:37 <oerjan> AnMaster: "spoken" and "boy child"
23:51:43 <pikhq> coppro: You should fix that.
23:51:45 <ehirdiphone> Fvvjcogctpdtpsyuvug h hpctptxtc bgpdyxtu uuuuuuäfghtįåæ.
23:51:52 <pikhq> If nothing else, it lets you write kanji in English. :P
23:51:55 <AnMaster> oerjan, huh, doesn't make more sense even with that
23:51:59 <ehirdiphone> All the vowels go at the end.
23:52:03 <coppro> pikhq: Possibly. I want to brush up on French first before I attack another language
23:52:13 <ehirdiphone> i cedilla FTW
23:52:14 <oerjan> AnMaster: it's dialect of course :D
23:52:21 <pikhq> (my notes are now incredibly hard to read unless you're bilingual. And can read an invented script of mine.)
23:52:21 <olsner> glønjtonge! nice one
23:52:25 <AnMaster> oerjan, det var elakt
23:52:45 <olsner> snakkae == snacka, såklart
23:52:48 <AnMaster> oerjan, the Swedish dialects I can do passably aren't even half as evil
23:52:48 <ehirdiphone> Doubleplusgood.
23:53:00 <coppro> pikhq: Though I do have some questions on pronunciation of Japanese, if we can move to /msg
23:53:08 <pikhq> coppro: Sure.
23:53:13 <ehirdiphone> I am not about to start speaking in Geordie.
23:53:20 <ehirdiphone> I am not sufficiently evil.
23:53:22 <AnMaster> oerjan, now I wish I knew dalmål
23:53:55 <elliottcable> oh gods
23:53:57 <elliottcable> ENGLISH
23:53:58 <AnMaster> Gregor, how is zee going?
23:54:16 <pikhq> elliottable: o kamitachi
23:54:17 <AnMaster> Gregor, anything screenshot-worthy yet?
23:54:27 <ehirdiphone> Elferv; t'xinįlœ.
23:54:35 <olsner> I know some greek! mia nihta mono den ftani
23:54:43 <micahjohnston> mais l'anglais est nul
23:54:50 <AnMaster> olsner, I read that last word as "fthang" first XD
23:55:27 <olsner> yeah, I thought it was cthulhu-speak for a long while, until I managed to find a forum post identifying it as greek
23:55:36 <AnMaster> olsner, XD
23:56:17 <olsner> (the name of a Shulman song, btw, http://open.spotify.com/track/77srFu8ZmyivyhM9YZkNlk)
23:56:30 <ehirdiphone> Xr'ani • dok'teh âmana tulvo p'tkin jołæ
23:56:33 <oerjan> cthulhu-speak is easy once you get the fthang of it
23:56:56 <olsner> harr
23:57:06 <AnMaster> olsner, don't have spotify.
23:57:13 <olsner> AnMaster: sucks to be you then
23:57:26 <AnMaster> olsner, as far as I knew there was no linux client for non-premium?
23:57:32 <ehirdiphone> miso mig'uyt • manv'o tild yrtvn arci ö
23:57:37 <olsner> well, it's bound to be on your favourite p2p network anyway
23:57:37 <ehirdiphone> AnMaster: WINE
23:57:40 <ehirdiphone> Works great
23:57:55 <ehirdiphone> Interface is nonnative anyway
23:57:58 <Sgeo> WINE isn't perfect
23:58:04 <AnMaster> olsner, I don't deal in that. I tend to order my music from naxosdirect after hearing it on P2 :P
23:58:19 <olsner> spotify works fine in Wine anyway, except for playback of local files
23:58:19 <AnMaster> Sgeo, iirc the spotify client doesn't work well at all with wine
23:58:25 <ehirdiphone> Sgeo: Is for spotify.
23:58:28 <AnMaster> stuttering sound and so on
23:58:36 <ehirdiphone> "deal in that"
23:58:39 <AnMaster> Sgeo, so indeed
23:59:12 <ehirdiphone> LET'S DO SOME CANNABIS DRUGS THEN DEAL IN COPYRIGHT-INFRINGING MATERIALS
23:59:15 <olsner> I've had no problems... but maybe you just need to uninstall pulseaudio to make it work
23:59:26 * Sgeo would love to use ReactOS as his primary OS
23:59:29 <AnMaster> olsner, I don't use pulseaudio on that system
23:59:32 <AnMaster> olsner, I use jack
23:59:39 <olsner> probably just as bad
23:59:57 <olsner> bah! why do they even bother inventing this crap? to make sound more difficult?
2010-06-22
00:00:12 <AnMaster> olsner, it is low latency stuff. Anyway wine doesn't use it. It uses alsa directly. I have hardware mixing. SB Live 5.1
00:00:57 <ehirdiphone> arva c'frta deîmu xœt'yr • pala'ds fvrofvr ta'ãr
00:01:25 <ehirdiphone> olsner: OSSv4. Problem solved.
00:01:32 <olsner> jack replaces alsa? or goes around it somehow?
00:01:51 <AnMaster> olsner, nop. jack uses alsa.
00:01:56 <ehirdiphone> Uses ALSA. ITs for professional audio work
00:01:58 <ehirdiphone> Bye.
00:02:02 <AnMaster> olsner, but it runs daemon with realtime priority and such
00:02:22 <olsner> ok, sounds fancy
00:02:27 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:02:30 <AnMaster> olsner, well I guess so
00:04:02 <AnMaster> olsner, anyway, last I tried spotify didn't work well in wine at all. Hm.
00:04:16 <AnMaster> other apps, like portal, works fine in there
00:04:29 <olsner> Portal? the game?
00:04:32 <AnMaster> yes
00:04:38 <AnMaster> olsner, didn't like it very much though
00:05:01 <AnMaster> olsner, I mean, sure it is innovative to a degree. But I really dislike the FPS concept
00:05:16 <CakeProphet> how does GHC implement currying?
00:05:23 <CakeProphet> does it depend on context?
00:05:35 <coppro> no
00:05:41 <coppro> currying always happens
00:05:47 <CakeProphet> well right, but I meant
00:05:53 -!- cpressey has joined.
00:05:55 <CakeProphet> the way it's compiled, is that always the same?
00:05:56 <AnMaster> olsner, I much prefer the third person perspective of for example nwn
00:05:59 <coppro> oh, I have no clue
00:06:24 <CakeProphet> it seems like for a typical function call GHC would avoid explicit currying.
00:06:26 <olsner> my setup for flawless spotify sound: disable hardware acceleration in spotify, choose alsa driver and "hardware acceleration: Emulation" in the wine configuration
00:06:53 <AnMaster> olsner, eh, hw acceleration in wine? don't remember that setting. What does it do
00:07:03 <olsner> there is a JACK driver too in wine though, I would guess that it either works better or was what caused the problems :)
00:07:18 <olsner> AnMaster: well, you disable it to make spotify work better, that's about all I know
00:07:25 <AnMaster> olsner, it doesn't seem to be compiled here
00:07:29 <AnMaster> that jack driver in wine
00:07:43 <AnMaster> olsner, ah but can that be set per app?
00:07:49 <oerjan> CakeProphet: i am pretty sure ghc doesn't curry if it knows all arguments at the outset
00:07:57 <CakeProphet> would only make sense.
00:08:03 <olsner> the wine configuration or the spotify configuration?
00:08:10 <AnMaster> olsner, wine
00:08:33 <olsner> dunno, why?
00:08:39 <AnMaster> olsner, the applications tab seems to be just about the windows version
00:08:47 <AnMaster> olsner, some other app needs full hw accleration iirc
00:08:57 <olsner> for audio?
00:08:58 <AnMaster> forgot which one it was
00:08:59 <AnMaster> olsner, yes
00:09:09 <AnMaster> olsner, would be annoying to switch all the time
00:09:24 <oerjan> CakeProphet: and it does lots of inlining optimization and stuff, which probably also can remove currying
00:09:47 -!- augur has quit (Ping timeout: 245 seconds).
00:10:01 <AnMaster> oerjan, does that mean large and fast code rather than small?
00:10:44 <AnMaster> oerjan, thus resulting in ghc being unsuitable for systems with little memory/space?
00:10:51 <AnMaster> like embedded systems
00:11:00 <CakeProphet> ha. embedded Haskell
00:11:21 <oerjan> AnMaster: well laziness and lots of garbage collection would do that anyway
00:11:25 <olsner> AnMaster: ok, the wine setting didn't seem to have any effect on spotify anyway
00:11:30 <AnMaster> olsner, ah
00:11:58 <CakeProphet> hmmm... it seems like you could actually implement laziness via optimization.
00:12:07 <olsner> summary: spotify works fine in wine on linux
00:12:08 <CakeProphet> like constructing for loops out of maps and such.
00:12:16 <oerjan> AnMaster: i don't know that much about ghc really, it probably has several parameters for what to optimize for
00:12:23 <olsner> CakeProphet: implement via optimization?
00:12:46 <AnMaster> oerjan, hm
00:13:01 <AnMaster> oerjan, then who is our resident expert on ghc internals
00:13:02 <CakeProphet> basically optimize lazy code into its eager semantics at compile time... if possible.
00:13:02 <AnMaster> ?
00:13:10 <AnMaster> according coppro there is likely to be one!
00:13:30 <coppro> or one of us can retrieve one quickly
00:13:34 <coppro> that was the second part of the theorem
00:13:41 <AnMaster> coppro, ah
00:13:52 <AnMaster> coppro, I thought you said "one of us becoming one"
00:13:55 <coppro> although you could also view them as two separate theorems
00:13:56 <coppro> oh
00:14:03 <coppro> no, I meant could fetch one and bring em here
00:14:09 <AnMaster> coppro, oh
00:14:13 <olsner> CakeProphet: I think that's what you commonly get, since laziness for iteration is such a common pattern... if you have a top-level loop that prints a list with many lazy values, you may end up with a for-loop that evalutates then prints
00:14:43 <olsner> where "loop" = mapM print values or something like that
00:14:50 <oerjan> CakeProphet: ghc _does_ construct loops out of maps, and has a "rules" mechanism for optimizing several forms
00:14:55 -!- cheater99 has joined.
00:14:56 <AnMaster> coppro, I don't remember much such fetching?
00:14:58 <cheater99> hello
00:15:02 <cheater99> how are you sweeties
00:15:05 <olsner> as long as it can see far enough down the line of turtles
00:15:06 <AnMaster> coppro, or any at all to tell the truth
00:15:30 <coppro> AnMaster: yeah, it doesn't go on much. It was more academic to also include the fact that many of us also mingle in relatively academic circles
00:15:40 <AnMaster> coppro, well yes
00:15:40 <coppro> for instance, I could retrieve an expert in cellular metabolism quite quickly
00:15:50 <AnMaster> coppro, and get him to join here!?
00:15:54 <AnMaster> coppro, I'd be surprised
00:16:00 <oerjan> AnMaster: oh well i know _some_ random ghc internals, just not detailed enough for space vs. time optimization
00:16:08 <AnMaster> oerjan, ah
00:16:23 <coppro> AnMaster: he hangs around on EFNet and is a good friend, I'm sure I could get him to at least join and then part ;)
00:16:24 <olsner> why would you want to ask an expert in cellular metabolism about ghc internals?
00:16:29 <AnMaster> coppro, hah
00:16:34 <AnMaster> coppro, no need to try
00:16:53 <AnMaster> btw did I ever mention that silly warning on the warning page of my electrical piano?
00:17:08 <AnMaster> you know the page with stuff like "do not put something with water in on top" and such
00:17:19 -!- Gracenotes has quit (Ping timeout: 252 seconds).
00:17:36 <AnMaster> did I ever tell about the extremely silly warning there?
00:17:46 <AnMaster> (much sillier than that about the water)
00:17:54 <oerjan> do not dance on top of piano?
00:17:58 <AnMaster> oerjan, almost
00:18:07 <AnMaster> oerjan, "do not stand or jump on the piano"
00:18:08 <micahjohnston> do not eat piano?
00:18:10 <olsner> AnMaster: btw, if you're worried about code size in haskell you should be much more worried about the RTS and statically linking gmp and a bunch of other stuff into your program
00:18:46 <AnMaster> micahjohnston, strangely enough that one was missing. Should contact them and point out that flaw
00:19:09 <olsner> of course, dynamic linking gets rid of some of that, but if you're talking about embedding a single haskell program you'll still have to install that stuff :)
00:19:16 <AnMaster> olsner, indeed. Can you get a program smaller than 40 kB?
00:19:28 <AnMaster> wait gmp?
00:19:31 <AnMaster> why gmp?
00:19:36 <olsner> for bignums
00:19:42 <olsner> haskell has them built in you know
00:19:43 <AnMaster> olsner, oh I confused gmp and mpfr
00:19:58 <AnMaster> mpfr is bigfloats isn't it?
00:20:14 <AnMaster> olsner, the use case I'm thinking about is 16-bit and has no FPU
00:20:14 <olsner> yeah, or gmp with an exponent per bignum
00:20:24 <AnMaster> olsner, and after OS is loaded it has 56 kB free ram
00:20:37 <AnMaster> clearly not fit for that
00:20:42 <olsner> ehm, hmm, you'd have to *port* ghc to that first... *good* *luck*
00:20:46 <AnMaster> olsner, :P
00:20:53 <coppro> LLVM, obv
00:21:03 <AnMaster> coppro, I would have to port llvm to it
00:21:03 <oerjan> i think they've added an alternative option to gmp recently, for license reasons i think
00:21:10 <olsner> maybe ehc could do something though, iirc it compiles to C and has a very small RTS
00:21:25 <coppro> AnMaster: Adding a new target to LLVM is pretty cool, actually
00:21:44 <coppro> I wonder if it has an MMIX target
00:21:47 <AnMaster> coppro, it involves C++
00:21:53 <coppro> or whatever it's called right now
00:21:54 <AnMaster> coppro, I'm not amused by C++
00:22:07 <coppro> AnMaster: LLVM is good C++, and also TableGen
00:22:09 <AnMaster> olsner, ehc?
00:22:19 <AnMaster> coppro, tablegen?
00:22:42 <coppro> AnMaster: a project-specific code generator that takes a lot of the pain out of things
00:23:00 <AnMaster> coppro, I see. This platform is highly RISC and I need to output COFF as the binary format
00:23:06 <olsner> another way to use haskell for embedded development is to use the type system to produce a type-rich DSL that just generates code for the device
00:23:06 <coppro> originally designed and still primarily used for handling instruction tables for various architectures
00:23:16 <oerjan> olsner: i thought i read jhc is the one with small program size, if that's still developed
00:23:20 <AnMaster> coppro, I think that is about 50
00:23:24 <AnMaster> coppro, instructions I mean
00:23:34 <olsner> oerjan: hmm, I might be confusing them
00:23:36 <coppro> AnMaster: I'll see if I can find some examples
00:23:47 <AnMaster> coppro, h8300 btw
00:23:54 <AnMaster> coppro, if you feel up to the task ;P
00:24:02 -!- poiuy_qwert has quit (Quit: Leaving).
00:24:10 <oerjan> olsner: well i couldn't say ehc isn't also
00:24:10 <AnMaster> coppro, last gcc version to support it for coff at least was gcc 3.x
00:24:11 <olsner> AnMaster: indeed, JHC is the one I'm thinking of
00:24:16 <AnMaster> olsner, jhc?
00:24:27 <oerjan> ah
00:24:38 <coppro> LLVM supports COFF for some targets, but I'm not sure how easily portable that is
00:24:45 <AnMaster> coppro, ah...
00:24:57 <oerjan> AnMaster: whole program optimizing compiler for haskell, iirc
00:25:01 <AnMaster> coppro, also I need custom linker script. But I guess I will use the same outdated binutils
00:25:07 <AnMaster> oerjan, doesn't ghc do that?
00:25:08 <olsner> http://repetae.net/computer/jhc/
00:25:12 <AnMaster> oerjan, I'm extremely surprised
00:25:24 <oerjan> AnMaster: no ghc is mainly separate compilation
00:25:31 <AnMaster> oerjan, wtf
00:25:42 <olsner> ghc doesn't do whole-program optimizations, just cross-module optimizations
00:26:05 <AnMaster> olsner, huh, so make the set of modules you optimise between be the whole program?
00:26:31 <olsner> ghc mainly does stuff like output bytecode (or something similar) for selected functions so they can be inlined in other modules
00:26:38 <AnMaster> ah
00:26:50 <olsner> other functions will be output as machine code in the .o and can't be inlined
00:31:23 -!- clog has quit (Ping timeout: 265 seconds).
00:31:23 -!- clog has quit (ended).
00:31:27 -!- clog has joined.
00:31:27 -!- clog has joined.
00:34:32 -!- relet has quit (Quit: Leaving.).
00:41:06 -!- augur has joined.
00:44:47 -!- FireFly has joined.
00:47:11 <CakeProphet> ever been an attempt to implement monads in C?
00:47:20 <coppro> probably
00:48:18 <CakeProphet> "Introducing Monads in C. Better known as Fun With Function Pointers."
00:51:52 <CakeProphet> so are arrows kind of like flowchart-monads?
00:52:08 * coppro whoosh
00:52:44 -!- Quadrescence has joined.
00:52:52 <CakeProphet> if so
00:53:03 <CakeProphet> I think you could use them with a DSP library.
00:57:42 -!- augur has quit (Ping timeout: 245 seconds).
01:09:16 -!- calamari has quit (Quit: Leaving).
01:13:16 -!- augur has joined.
01:17:31 -!- BeholdMyGlory has changed nick to Behold.
01:17:42 -!- augur has quit (Ping timeout: 245 seconds).
01:31:42 -!- zzo38 has joined.
01:32:41 -!- augur has joined.
01:44:58 <Gregor> AnMaster: Funny you mention it.
01:45:03 <Gregor> AnMaster: I was just thinking about ZEE yesterday.
01:45:28 <Gregor> AnMaster: I'm still stuck at the same point: I can't make progress until I have a story, I can't write a story myself because I'm not that kind of creative, and I can't find anybody to write a story for me.
01:47:35 <zzo38> Gregor: Did you see my story "Harper's Challenge"? It is hardly done much, and it isn't entirely my own either, it is group of people named by a pseudonym. And it has appendix.
01:48:46 <Gregor> zzo38: The problem with ZEE in the story department is that the nature of the game (and more to the point, the achievability of getting the requisite photos) has an enormous impact on the possible stories.
01:48:56 <Gregor> I keep getting great but unimplementable story ideas.
01:49:04 <zzo38> What does ZEE means?
01:50:28 <zzo38> *** INTRODUCTION *** This introduction intentionally left blank.
01:53:36 <Gregor> Zoom-Enhance-Extrapolate. It's an image-based maze game parodying those silly scenes from spy movies where they take an arbitrary image, zoom in on it, "enhance" it, and "extrapolate" random garbage out of it.
01:53:46 <Gregor> Or at least, it's supposed to be.
01:53:56 <Gregor> Right now it's most of an image-based maze game engine with no story :P
01:59:57 <zzo38> Maybe it doesn't need to have a story
02:08:58 -!- yiyus has quit (Ping timeout: 258 seconds).
02:12:53 -!- augur has quit (Ping timeout: 265 seconds).
02:13:02 -!- zzo38 has quit (Remote host closed the connection).
02:17:28 -!- yiyus has joined.
02:28:03 -!- CakeProphet has quit (Read error: Operation timed out).
02:28:17 -!- CakeProphet has joined.
02:33:02 -!- CakeProphet has quit (Ping timeout: 260 seconds).
02:44:58 -!- CakeProphet has joined.
02:49:47 -!- CakeProphet has quit (Ping timeout: 272 seconds).
02:56:18 -!- ski has joined.
03:09:03 -!- FireFly has quit (Quit: swatted to death).
03:09:04 -!- Behold has quit (Read error: Connection reset by peer).
03:13:28 -!- GreaseMonkey has joined.
03:18:25 -!- CakeProphet has joined.
03:19:57 -!- boily has joined.
03:31:07 -!- cal153 has quit (Ping timeout: 248 seconds).
03:34:18 -!- boily has quit (Quit: leaving).
03:46:40 <oklopol> Gregor: i've been thinking about the game too, recently, but, as you might guess depending on how well you know me, so probably not, i feel like you shouldn't use photos but render images on the fly. that would be more authentic, in any case i also have some story ideas, i would probably work on them more if this had been my idea
03:46:43 <oklopol> it's a great idea.
03:47:22 <oklopol> "<Gregor> I keep getting great but unimplementable story ideas." <<< okay i haven't gotten far enough to think about implementability :P
03:47:30 <Gregor> Rendering is actually /more/ unachievable than using photos. Well, depending on your required fidelity I suppose ... rendering sufficiently photorealistic images (even of scenes excluding humans) is ... complicated.
03:49:49 <oklopol> just iterate over pixels and see what's there, i don't really care how good it looks, you could just zoom if you can't make out what's happening. i don't really care about the parody aspect, so this puritanian version without actual images would probably not have humans in the story.
03:50:18 <oklopol> (i have ideas with humans too tho :D)
03:50:40 <Gregor> Not having humans is a plus.
03:50:47 <Gregor> For various reasons.
03:50:57 <Gregor> Both storywise and achievability-wise.
03:51:05 <oklopol> well implementabilitywise at least, and i guess also the two other reasons
03:51:09 <oklopol> err
03:51:09 <oklopol> one
03:51:10 <Gregor> (The story would have humans obviously, but the images are more about finding clues then catching people in the act)
03:51:26 <oklopol> well it could end with you catching ppl in the act maybe
03:52:30 <oklopol> someone holding a bloody knife with a dick in his hand
03:53:03 -!- cal153 has joined.
03:56:46 <oklopol> ?
03:56:58 <oklopol> well we can leave the blood out i guess
03:57:06 <oklopol> if you don't like violence
03:58:08 <oklopol> maybe some of the clues would involve you seeing some kind of leaf and then an expert tells you the tree only grows in a 10m x 10m area in X-town
03:58:26 -!- augur has joined.
03:59:29 <oklopol> in one of those shows there was a leaf somewhere and they suddenly know exactly where in us some meeting takes place or something
04:00:03 <oklopol> "we're in luck there are only two of this tree in the whole universe"
04:00:38 <oklopol> or maybe a law and order ending where the killer goes free
04:09:54 * Gregor reappears.
04:10:01 <Gregor> That comes down more to "achievability" :P
04:10:21 <Gregor> Getting a picture of somebody with a bloody knive in one hand and a severed penis in the other is tricky.
04:10:42 <Gregor> And rightfully so!
04:17:41 <CakeProphet> oklopol: plot twist: the expert is actually an alien.
04:17:48 <CakeProphet> and is fooling you.
04:17:54 <CakeProphet> for... uh... profit.
04:18:16 <CakeProphet> ...I'm very tired.
04:21:27 -!- oerjan has quit (Quit: ZZZZZZZZZZZZZZZZZZZZZ).
04:24:10 <CakeProphet> KERNELOOPS
04:25:18 * pikhq mutters
04:25:20 <CakeProphet> (Kernel Orangutan-oriented Programming Style)
04:25:37 <pikhq> Dental fillings suck.
04:25:52 <CakeProphet> evaluates to true.
04:26:03 -!- bsmntbombdood has joined.
04:26:06 <pikhq> I had 2 today and am getting 2 tomorrow.
04:26:11 <coppro> :(
04:26:19 <coppro> CakeProphet: I want FROOTLOOPS
04:26:25 <pikhq> And the two fillings I got today are currently sensitive as hell.
04:26:48 <CakeProphet> coppro: Wait... what is a Frootl?
04:27:08 <coppro> CakeProphet: lots of sugar
04:27:39 <oklopol> Gregor: oh umm i was thinking he killed someone else, and then masturbated because killing people is, as we all know, pretty hot
04:27:46 <oklopol> so shouldn't be that hard
04:29:03 <CakeProphet> Fashionably Redundant Object Optimization Typography, for Learning Orangutan-Oriented PRogramming Style
04:29:30 <CakeProphet> well... Topology sounds more abstrackt
04:29:33 <CakeProphet> lawl.
04:30:08 <CakeProphet> A fashionably redundant object optimization topology, you say? Oh, well now I'm intruged.
04:30:21 <CakeProphet> But only if there is a paper about it. Must have an abstract.
04:30:40 <oklopol> topology!
04:30:41 <CakeProphet> otherwise I will lose interest and become distracted.
04:34:06 <CakeProphet> "Towards an understanding of orangutan-oriented programming through reprogrammable hydro-banana-morphisms"
04:34:20 <oklopol> morphisms!
04:35:13 <CakeProphet> I meed only add a few "keywords" to any phrase and it becomes academic, regardless of how ridiculous the other words sound.
04:35:56 <Gregor> I accept your challenge.
04:36:03 <Gregor> Your words are: "Getting a picture of somebody with a bloody knive in one hand and a severed penis in the other is tricky."
04:36:08 <Gregor> Add words to that to make it academic.
04:36:26 -!- augur has quit (Ping timeout: 265 seconds).
04:36:26 <CakeProphet> ..hahaha
04:36:55 <CakeProphet> hmmm...
04:37:07 <CakeProphet> -pretends to dissect when really he is just tired as shit-
04:40:19 <CakeProphet> Getting a picture of somebody with a blood knive in one hand and a severed penis in the other is tricky, but can be readily reduced to a problem of optical complexity theory classes.
04:41:11 -!- augur has joined.
04:42:15 <CakeProphet> or, more generally, orangutan-oriented programming with optical complexity /heuristics/.
04:42:46 <CakeProphet> ...
04:42:54 <CakeProphet> Gregor: how's that?
04:43:45 <Gregor> lawl X-D
04:44:56 <CakeProphet> Though, sometimes a banana-morphism is more elegant
04:51:26 -!- coppro has quit (Remote host closed the connection).
04:52:04 -!- coppro has joined.
05:04:28 -!- augur has quit (Ping timeout: 265 seconds).
05:21:39 <Sgeo> Woo! Finished the Tower of Hanoi code
05:27:49 -!- MizardX has joined.
05:28:11 <Sgeo> Well, almost finished
05:28:15 <Sgeo> It's still a bit crashy
05:28:39 <Sgeo> Well, not crashy, but once anyone's won, clicking the third column is enough for anyone to win
05:33:00 * Sgeo watches someone fail to solve Tower of Hanoi
05:33:10 <Sgeo> He'd be on the right track if the goal was the second column and not the third :/
05:33:16 -!- augur has joined.
05:36:03 <coppro> I hate that
06:20:49 -!- augur has quit (Ping timeout: 265 seconds).
06:45:30 -!- augur has joined.
06:51:03 <coppro> man, I wish the flashblock guy wasn't such a jerk
06:51:31 -!- augur has quit (Remote host closed the connection).
06:52:22 -!- augur has joined.
07:02:41 -!- tombom has joined.
07:50:26 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:58 -!- pikhq has quit (Remote host closed the connection).
08:07:35 <coppro> damn you tvtropes
08:08:05 <coppro> also damn you inexplicable compulsion to find the trope that best describes my dating situation
08:14:27 <coppro> ah, there we go
08:20:13 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
09:03:46 -!- josh_ has joined.
09:08:55 -!- josh_ has quit (Quit: Leaving).
09:44:16 -!- MigoMipo has joined.
10:30:48 -!- FireFly has joined.
11:03:34 -!- ais523 has joined.
11:30:13 <AnMaster> ugh the course literature for the autumn includes one by Bjarne Stroustrup. Yeargh.
11:30:35 <AnMaster> ais523, ^
11:30:52 <ais523> is he that bad at writing books?
11:31:09 <AnMaster> ais523, no idea. But surely you know what the topic will be of it
11:31:25 <ais523> not necessarily
11:31:29 <AnMaster> ais523, well, C++
11:31:36 <AnMaster> he is after all the inventor of C++...
11:31:48 <ais523> yes, that doesn't mean everything he does in his entire life is C++-related
11:32:05 <AnMaster> ais523, well there is a high probability of it being C++
11:32:18 <ais523> you mean you don't actually know what the book is about?
11:32:50 <AnMaster> ais523, of course I do. But I meant in general, it should not have been a unlikely guess that it was about C++ for you
11:32:59 <AnMaster> the title is "The C++ Programming Language, Special Edition"
11:33:02 <AnMaster> *shudder*
11:33:21 <AnMaster> I have no clue what the special edition bit is about
11:33:21 -!- oerjan has joined.
11:33:26 <AnMaster> hi oklopol
11:33:26 <AnMaster> err
11:33:28 <AnMaster> oerjan, ^
11:33:40 <oerjan> g'day
11:33:53 <fizzie> ais523: All his books -- http://www2.research.att.com/~bs/books.html [at his homepage] -- have the word "C++" in them.
11:34:00 <AnMaster> oerjan, since when did you become holly-wood-Australian?
11:34:13 <ais523> fizzie: hmm, an unfortunately narrow choice of topic
11:34:29 <ais523> I suppose if you're famous for something, it's an easy topic to convince people to publish your books on
11:34:39 <AnMaster> ais523, the same is true with the word s/ly narrow// applied
11:34:53 <oerjan> AnMaster: since i started making my greetings silly
11:35:01 <AnMaster> oerjan, and when did you start with that?
11:35:13 <ais523> AnMaster: why are you hanging around in #esoteric if you can't even handle C++?
11:35:14 <oerjan> AnMaster: a few years ago?
11:35:28 <AnMaster> oh and an 864 page book about computer networking...
11:35:38 <AnMaster> I can't think how anyone could write that much on computer networking
11:36:00 <AnMaster> on the other hand I long ago concluded that in English, the writers of course literature are paid per word
11:36:00 <fizzie> ais523: He has a wide(r) selection of topics in the full list of publications (interviews, conference papers, journal articles). It's just books that are rather focused.
11:36:18 <AnMaster> which is probably not the case for Swedish course literature
11:36:26 <AnMaster> it tends to be much more concise
11:36:28 <AnMaster> and to the point
11:36:34 <AnMaster> than English course literature
11:36:38 <fizzie> I would think computer networking is an easy topic to write a lot about. There's a lot of it going on, and none of it is especially simple.
11:36:53 <AnMaster> fizzie, hm
11:37:32 <AnMaster> I'm not sure how to fit it in my backpack though
11:37:45 <AnMaster> as in, I can't imagine it would fit with the other large books
11:38:27 <fizzie> The special edition of the C++ book is supposedly 1029 pages.
11:38:43 <fizzie> That's a lot of tree.
11:38:51 <AnMaster> another title: "Data Structures and Algorithm Analysis in C++". That is like taking some of the most interesting topics of compsci (data structures and algorithm analysis) and dipping it in the tar of C++
11:38:55 <AnMaster> :(
11:39:57 <AnMaster> fizzie, yet that one was about half the price of the thick networking book
11:39:59 <fizzie> Your C++ antipathy is borderline pathological. It's not like you'd (probably) encounter the most warped corners of the language in a data structures book.
11:40:11 <AnMaster> fizzie, hm
11:40:43 <fizzie> You'd prefer MIX assembly more, right?-)
11:40:58 <AnMaster> and huh "The essence of artificial Intelligence". I guess they want to get us interested in their master program (AI stuff). I'm going to move to another university for the master program personally
11:41:09 <AnMaster> fizzie, yeah :)
11:41:35 <AnMaster> fizzie, or SCIP
11:41:50 <AnMaster> it talks about data structures unless I misremember completely
11:42:10 <fizzie> Not *that* much, though.
11:42:19 <AnMaster> fizzie, "Effective C++" doesn't sound like a fun title either
11:42:36 <oerjan> Scary Concepts in Programming
11:43:12 <fizzie> CLRS ("Introduction to Algorithms") is one data structures/algorithms book that's also reasonably reasonable; the only language it contains is their own pseudo. And the book's website has the LaTeX package to typeset it, which is nice for homework exercises.
11:43:32 <AnMaster> fizzie, heh
11:44:09 <fizzie> It doesn't go very deep into algorithm analysis or more esoteric data structures, but, well, it does say "introduction" right there in the title.
11:45:07 <AnMaster> fizzie, I much more look forward to the Swedish "Datatyper och algoritmer" which is bound to be a lot more concise. (see above wrt getting paid per word)
11:46:29 <fizzie> I'm not sure if paid-per-word is the reason, or just difference in cultures. Certainly the same distinction is there with English vs. Finnish textbooks. Especially the mathematics one.
11:47:02 <fizzie> s/one/ones/
11:47:26 <AnMaster> fizzie, I much prefer the conciser variant, it means I save hours.
11:47:27 <fizzie> And I'm not sure if that's so "especial", it's just that there's very little material in Finnish on our courses.
11:47:46 <AnMaster> fizzie, there have been about 50% so far, less during the year to come
11:49:02 <fizzie> You have a bit larger audience there, I guess it helps. I don't think I really have any computer-science related Finnish course literature on the bookshelf. There's some discrete maths and probabilistics, and then some electronics.
11:50:36 <fizzie> Oh, and a single, very narrow "C-ohjelmointikieli" (lit. "the C programming language"), though that's actually my wife's. (I haven't bothered to buy copies of all books.)
11:50:42 <AnMaster> fizzie, I have discrete maths, C, digital logic, electronics and database in Swedish. Yeah, that is what compsci turned into here :(
11:50:49 <AnMaster> and from what I heard, in many other places
11:51:07 <AnMaster> fizzie, your wife does CS too? I didn't remember that
11:51:38 <fizzie> Yes, though with a rather different focus (usability and communications and things like that) than I.
11:51:49 <AnMaster> fizzie, sounds like it might involve GUI
11:51:59 <fizzie> It often does.
11:52:05 <oerjan> _her_ creations are actually usable
11:52:12 <fizzie> It also often involves people, which is my main reason to avoid it. :p
11:52:15 * oerjan ducks
11:52:18 <AnMaster> oerjan, hey fungot is fully usable
11:52:19 <fungot> AnMaster: i just wrote?
11:52:25 <AnMaster> perfect!
11:52:56 <fizzie> oerjan: It's not as funny because it's so true.
11:53:11 <fizzie> But yes, who can ask for more than fungot; there's even a help command.
11:53:11 <fungot> fizzie: cmeme is a log bot afaik
11:53:20 <AnMaster> huh?
11:53:24 <AnMaster> what is cmeme?
11:53:29 <fizzie> A log bot, AFAIK.
11:53:32 <AnMaster> ah
11:53:36 <AnMaster> so likely a direct quote
11:53:42 <AnMaster> or nearly anyway
11:53:54 <AnMaster> fizzie, which channel is it in?
11:54:03 <fizzie> [2005-10-11 13:57:19] < Gs30ng> cmeme is a log bot afaik
11:54:24 <fizzie> It used to be here.
11:54:26 <AnMaster> ah
11:54:58 <oerjan> AnMaster: cmeme has been gone for years
11:55:10 -!- atrapado has joined.
11:55:34 <oerjan> which is a bit of a shame because its logs were much better formatted
11:55:47 <fizzie> oerjan: cmeme last quit from #esoteric in 2008-11-06, that's not so many years.
11:55:50 <oerjan> although that also meant they loaded slow
11:56:07 <oerjan> fizzie: well it's about half they years i've been here
11:56:10 <oerjan> *the
11:56:56 <fizzie> There's still references in the tunes.org log-directory HEADER.html:
11:56:59 <fizzie> For a so-called "pretty" view of these logs, go to http://tunes.org/~coreyr/.
11:57:00 <fizzie> For even "prettier" (css'd, searchable, customizable, etc) logs, go to http://meme.b9.com.
11:57:15 <fizzie> But meme.b9.com -> ircbrowse.com, which does not exist.
11:58:00 <AnMaster> the logs are perfectly readable
11:58:23 <fizzie> But not pretty.
11:58:34 <fizzie> The CSS thing was indeed prettier.
11:58:35 <AnMaster> fizzie, wget | sed ?
11:58:51 <fizzie> You could twiddle with what it looks like and all.
11:59:04 <AnMaster> fizzie, you could make it align nicely easily enough
11:59:06 <AnMaster> it is pure text
11:59:14 <AnMaster> align as in how xchat does it
11:59:56 <fizzie> Yes, and you could do any sort of formatting you want locally, but it was already prettified with several different styles out-of-the-box there.
12:00:09 <AnMaster> meh, who needs out of the box?
12:00:23 <fizzie> People who have other stuff to fiddle with, I guess.
12:00:36 <fizzie> I wonder if there's a LaTeX package for proper typesetting of irclogs yet.
12:00:43 <oerjan> yeah people who cannot whip up a quick prettifier in brainfuck don't _deserve_ to read the logs
12:01:06 <fizzie> oerjan: Yeah, those people can stay in the box.
12:02:33 <fizzie> My #esoteric log for 2003-2008 is 46 megabytes of text; that'd make a pretty nice set of books if bound into hardcover with attractive cover art, good typography and all that fluff.
12:02:47 <fizzie> Then I could quit my day job, and be a door-to-door ency^H^H^H^H#esoteric salesman.
12:03:42 <AnMaster> oerjan, shell, not bf ;P
12:03:52 <oerjan> slogan: it's better than fake persian rugs
12:04:01 <oerjan> AnMaster: YOU ARE NOT WORTHY
12:04:14 <AnMaster> oerjan, ;P
12:12:02 -!- BeholdMyGlory has joined.
12:26:32 -!- ais523 has quit (Remote host closed the connection).
12:50:11 -!- augur has quit (Remote host closed the connection).
12:53:32 -!- oerjan has quit (Quit: Later).
13:53:23 -!- bluebooblue has joined.
13:53:37 <bluebooblue> good morning 8)
13:56:04 -!- bluebooblue has quit (Client Quit).
14:08:06 <oklopol> AnMaster: i've read that and i liked it even though i hate c++. but then again i like most books so i guess this is not very helpful... :D
14:11:18 <oklopol> books about algorithms that use an object oriented language are insane, they only have time to cover a few trivial ones because every tiny snippet takes pages and pages of code
14:11:56 <oklopol> (i'm not saying oo is inherently too verbose, i'm just grouping java and c++)
14:32:29 <AnMaster> oklopol, I fully agree with you when it comes to C++ and java
14:46:50 -!- coppro has quit (Remote host closed the connection).
14:48:07 -!- augur has joined.
15:00:36 <oklopol> i once read this 300 or 500 or something page book about algorithms in one afternoon, because it was always 5 pages of explanation of something completely trivial, followed by the same amount of code, the algorithms could've been explained much more concisely, because it was only the level of dijkstra and quicksort, but i guess they wanted to keep the text-to-code ratio sensible and added fluff (i guess i skipped many of the proofs t
15:01:13 <oklopol> (...and all the code)
15:01:50 <Deewiant> "of the proofs t"
15:01:59 <oklopol> damn
15:02:09 <oklopol> *oo)
15:02:10 <oklopol> :P
15:02:59 <Deewiant> You really should configure your client properly / install a plugin so that you don't have to worry about splitting long lines manually
15:03:35 <oklopol> i should get nnscript or start using another client, mirc is horrible alone
15:04:02 <oklopol> but that's SOOOOOO much work
15:04:03 <oklopol> no
15:04:06 <oklopol> that's the OLD oklopol
15:04:10 * oklopol gets nnscript
15:05:40 <oklopol> hmm okay i would have to get an older mirc
15:05:55 <oklopol> so maybe another client, but, well, i'm not THAT NEW an oklopol.
15:06:01 <oklopol> so maybe tomorrow
15:06:15 <CakeProphet> windows should never steal focus
15:06:15 <CakeProphet> ever.
15:06:29 <oklopol> i agree
15:06:30 <CakeProphet> They should blink at me from the bottom of the screen
15:06:39 <oklopol> i find that really annoying too
15:06:59 <oklopol> well if it was once, but i mean if they just start blinking away like crazy
15:07:13 <CakeProphet> I wonder if I can change that in Gnome/Xorg/whatever
15:08:06 <Deewiant> It depends on your WM (so not Xorg)
15:08:33 <CakeProphet> well... no blink, but simply notify. The way Ubuntu does it is very subtle. Nowhere near as obnoxious as the blinking orange in XP.
15:08:51 <CakeProphet> Dunno about other distros. Haven't used them.
15:08:52 <AnMaster> <oklopol> that's the OLD oklopol
15:08:54 <AnMaster> what?
15:08:55 <AnMaster> you changed?
15:09:12 <oklopol> maybe!
15:09:15 <oklopol> maybe not.
15:09:31 <AnMaster> <oklopol> well if it was once, but i mean if they just start blinking away like crazy <-- on my system they tend to blink twice and then stay in the highlighted variant
15:09:39 <AnMaster> oklopol, I find that works very well
15:09:51 <AnMaster> I don't think I manually configured it
15:10:14 <oklopol> i wouldn't like highlight either, probably, actually i probably couldn't stand it just to know something's happened in a window... i should be kept ignorant until i choose to look, unless it's really important
15:10:48 <AnMaster> oklopol, well it is just a shade of light blue at 20% opacity on top or such
15:10:53 <CakeProphet> well, most reasons for focus-stealing are important. new IMs, update manager finishes, new window opens, etc
15:10:54 <AnMaster> quite subtle
15:11:04 <AnMaster> IM clients steal focus?
15:11:06 <AnMaster> how nasty
15:11:09 <AnMaster> CakeProphet, I would hate that
15:11:27 <AnMaster> and pacman or apt-get never steals focus ;P
15:11:39 <AnMaster> (pacman is the package manager on arch linux)
15:11:55 <CakeProphet> AnMaster: yes. That is why I don't like focus-stealing and would prefer to switch all of it to highlighted notifications because they were nowhere near as intrusive to what I'm doing.
15:12:10 -!- Geekthras has quit (Ping timeout: 252 seconds).
15:12:10 <CakeProphet> the reason I came to this conclisuion was actually update manager though
15:12:14 <CakeProphet> because it stole focus when it finished.
15:12:50 -!- Geekthras has joined.
15:14:27 <AnMaster> huh
15:15:03 <AnMaster> CakeProphet, actually there is one thing that should steal focus. screen lockers
15:15:04 <AnMaster> :P
15:18:05 <CakeProphet> psh
15:18:07 <CakeProphet> okay
15:18:39 <AnMaster> bbl, going to do upgrades that need X not running
15:18:40 <CakeProphet> well then I'm going to reprogram GNOME to have "steal-focus" and "no-really-actually-steal-focus"
15:18:52 <CakeProphet> and then reprogram my screen locker to use the second onew.
15:18:53 <CakeProphet> :P
15:27:11 <CakeProphet> AnMaster: Do screen lockers actually use the same mechanism to steal focus? They seem... distinctly different.
15:37:11 <AnMaster> CakeProphet, no idea
16:02:52 <uorygl> Hei, mitä kuuluu?
16:03:21 -!- relet has joined.
16:05:07 -!- Phantom_Hoover has joined.
16:05:45 * Phantom_Hoover wonders if the R^2 -> R bijection is computable.
16:06:32 <Gregor> R is larger than the set of computable numbers. Therefore I suspect that it is not.
16:07:13 <Phantom_Hoover> OK, then is it possible to biject two computable reals onto one?
16:07:39 <Phantom_Hoover> (Also, can't you apply the diagonal argument to computable reals?)
16:11:12 <Phantom_Hoover> Hence implying that they are also uncountably infinite?
16:43:42 -!- MigoMipo has quit (Remote host closed the connection).
16:44:06 -!- MigoMipo has joined.
16:48:12 <uorygl> The computable reals are definitely countably infinite.
16:48:17 -!- augur has quit (Remote host closed the connection).
16:49:21 <uorygl> The R^2 -> R bijection is computable if a real number x is represented by the predicate P(r) = r < x over rational numbers r. I think.
16:49:43 -!- augur has joined.
16:54:38 <Phantom_Hoover> uorygl, how are they countable?
16:55:26 <uorygl> There are countably many Turing machines. Therefore, there are countably many computable real numbers.
16:55:55 <uorygl> The diagonal argument doesn't work because it's impossible to determine whether a Turing machine actually outputs a real number or not.
16:58:40 <augur> uorygl: reals are non-countable
16:58:53 <augur> rationals are countable but not reals
16:59:09 <Sgeo> But countable reals are a subset of reals
16:59:14 <Sgeo> erm, computable
17:00:14 <uorygl> augur: I never said they were.
17:00:50 <augur> oh sorry. computable reals. ok
17:03:54 <AnMaster> hm uncomputable reals. Chaitin's Constant and such right? Are they all like that? I mean, that we can't even have any clue about the value?
17:04:37 <uorygl> I'm thinking of an uncomputable real. I will gladly give you its entire decimal expansion.
17:04:45 <AnMaster> uorygl, :P
17:05:05 <AnMaster> uorygl, is pi computable? I presume so
17:05:08 <uorygl> Yes.
17:09:29 <Phantom_Hoover> AnMaster, imagine some radioactive material.
17:10:33 <Phantom_Hoover> The Tth bit of a real is 1 if there is a decay and 0 otherwise.
17:11:44 <uorygl> Anyway, I can imagine there being an uncomputable real number that we can approximate really well, except that we never actually know how close the approximation is.
17:13:19 <uorygl> Perhaps you're computing it, and the computation has lingered at 4.177187787026364558800429098840 for years, and then it suddenly increases to 6.
17:13:39 <uorygl> You can go, "Aw, we thought we were so close."
17:14:55 <uorygl> Heck, that's what Chaitin's constant is like, I think. You can run a computation that outputs an increasing sequence of numbers that approaches it. You'll never actually get there, and you'll never know how far it still has to increase.
17:17:42 -!- tombom has joined.
17:26:00 <cpressey> It's so much more convenient that way.
17:28:39 <Mathnerd314> uorygl: I think you can determine digits of it, in exponential time
17:29:21 <uorygl> No, you can't.
17:29:30 <uorygl> That would be computing it.
17:29:39 <uorygl> Are you assuming that a Turing machine always halts in exponential time?
17:31:32 <cpressey> Well, Chaitin's "constant" is per TM. So some Chaitin's constants can be computed.
17:31:47 <uorygl> Indeed/
17:31:51 <uorygl> s///./
17:32:09 <cpressey> Maybe "coefficient" would be a less misleading term.
17:32:29 <cpressey> Or maybe not.
17:32:57 <cpressey> Anyway, CLR is a fine book.
17:33:15 -!- wareya has quit (Ping timeout: 248 seconds).
17:33:29 <cpressey> I held two jobs developing C++, and I don't think I wrote a significant amount of C++ code at either of them. "Effective C++" helped me cope.
17:33:49 <cpressey> Oh. Actually 3. But one had some Perl and Python in it too.
17:40:43 <cpressey> C++ is ok, but only if you consciously forget that it is C++.
17:52:55 <Phantom_Hoover> cpressey, developing does not seem like an enjoyable profession.
17:53:00 <Phantom_Hoover> Talk me out of that as well.
17:53:27 <cpressey> Phantom_Hoover: Ha ha ha ha ha. It depends *a lot* on the place.
17:53:59 <cpressey> Never, EVER work at a company that makes their developers wear pagers. EVER.
17:54:25 <Deewiant> Unless you enjoy it.
17:55:02 <cpressey> Unless you enjoy stress-related illness, sure. Go for it. Have an ulcer for me!
17:56:10 <Phantom_Hoover> I don't think I'd ever be able to be a developer.
17:56:17 <Phantom_Hoover> I hate GUI programming with a vengeance.
17:56:34 <Phantom_Hoover> I hate UI programming in general, come to think of it.
17:56:47 <Phantom_Hoover> It was hard to write, it should be hard to use!
17:58:14 <Sgeo> ROFL at bug in Tower of Hanoi code
17:58:18 <cpressey> Dip switches and panel LEDs all the way.
17:58:40 <Sgeo> It caused the puzzle to start with the disks the wrong way around
17:58:49 <Phantom_Hoover> (This principle should not apply to anyone writing software that I want to use)
17:59:01 <Phantom_Hoover> But there are masochists out there.
18:00:03 * Phantom_Hoover loves orbital paths when G is proportional to the inverse of distance.
18:01:07 <cpressey> DIP switches and panel LEDs, yet still have a window manager that steal focus. Perhaps by flashing something distractingly nearby.
18:02:41 <Sgeo> http://i.imgur.com/P623C.jpg
18:04:13 <Phantom_Hoover> What virtual world is this?
18:04:19 <Sgeo> Active Worlds
18:04:26 -!- wareya has joined.
18:05:36 -!- sebbu2 has joined.
18:07:20 -!- sebbu has quit (Ping timeout: 265 seconds).
18:07:20 -!- sebbu2 has changed nick to sebbu.
18:08:31 <CakeProphet> for some reason my volume control disappeared upon upgrade to luci.
18:08:31 <CakeProphet> d
18:08:57 <Phantom_Hoover> CakeProphet, you're lucky weirder stuff didn't happen.
18:09:09 <Phantom_Hoover> Try ensuring Pulseaudio is running.
18:12:45 <Phantom_Hoover> ps ax | grep pulse
18:15:47 <cpressey> Doctor, I can't find this patient's pulse!
18:17:12 <Phantom_Hoover> Have you tried grep ()
18:17:37 <Phantom_Hoover> ?
18:18:11 <cpressey> SELECT MEASUREMENT FROM VITALS WHERE MEDICAL_TERM='PULSE';
18:20:01 -!- wareya has quit (Ping timeout: 265 seconds).
18:20:50 <fizzie> Programmable dip switches, so that you can toggle them with software. And they should make a loud click whenever they toggle status.
18:30:11 <Phantom_Hoover> Dip switch?
18:31:02 -!- atrapado has quit (Quit: Abandonando).
18:40:58 <cpressey> It's a switch specially made for people who are dips.
18:42:55 -!- wareya has joined.
18:43:34 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
18:43:45 <oklopol> Phantom_Hoover: no you can't apply the diagonal argument, who says the diagonal is wait are you talking about this i'll read
18:44:05 <Phantom_Hoover> Huh?
18:45:41 <oklopol> we can approximate many uncomputable real numbers well, take any uncomputable number and add a million random digits in the beginning
18:46:59 <CakeProphet> why must all of my software be buggy.
18:47:29 <oklopol> Phantom_Hoover: i read logs and just answer directly no matter how far up i am
18:47:37 <oklopol> without context
18:47:38 <oklopol> deal with it
18:47:50 <oklopol> but umm computable reals being uncountable
18:47:55 <oklopol> that was the cxt
18:48:26 <cpressey> Um... every computable real is generated by some TM. And the TMs are countable.
18:48:30 <oklopol> you can't apply the diagonal argument, you take the surjection from naturals, and you find no contradiction
18:48:33 <Phantom_Hoover> oklopol, take a list of the computable reals.
18:48:39 <Phantom_Hoover> Then apply the diagonal argument to it
18:48:53 <Phantom_Hoover> This is also computable, for obvious reasons.
18:48:55 <Phantom_Hoover> QED.
18:49:06 <oklopol> cpressey: yes, but that doesn't mean you can't ask WHY the converse can't be proven in some way
18:49:13 <oklopol> it's computable for obvious reasons?
18:49:21 <oklopol> i find them very much non-obvious
18:49:37 <cpressey> oklopol: Indeed.
18:49:39 <Phantom_Hoover> Each digit is computable.
18:49:44 <Phantom_Hoover> So the result is computable.
18:50:02 <oklopol> Phantom_Hoover: so there cannot be a COMPUTABLE surjection.
18:50:19 <cpressey> I'm finding something here very non-obvious.
18:50:20 <oklopol> if the surjection is not computable, there should be no contradiction
18:50:42 <oklopol> i mean i haven't thought about this, but i believe that's the answer
18:51:08 <oklopol> well obviously if you had a computable surjection, you could just iterate through nats and compute the finite amount of digits you need at that point
18:51:39 <oklopol> it would always take finite time because we're enumerating computable reals, which can be computed to any precision in finite time
18:52:50 <oklopol> maybe there's a concept of computable countability out there.
18:53:06 <oklopol> the computable reals are computably uncountable
18:53:34 <cpressey> I totally think there's something wrong here, but I can't put my finger on it.
18:54:05 <oklopol> i don't think there is, if you have a more specific feeling where the wrong is, i can try to elaborate
18:54:59 <oklopol> the point is there is no contradiction, you can't compute the real on the diagonal, because we did not at any point assume that we have an algorithm that lists computable reals, we just assumed a mathematical surjection from nats to creals
18:55:11 <cpressey> Say you have a TM-enumerating TM, call it K. Interpret the tape ("in the limit") of each of the enumerated TMs as a real. Then K generates all computable reals. Therefore the set of computable reals must be countable.
18:55:17 <oklopol> but you mean maybe we could just enumerate tm's?
18:55:24 <oklopol> yeah let's see what the problem is there
18:55:35 <oklopol> yeah trivial
18:55:58 <oklopol> you can't know whether a tm outputs a computable real or whether it's non-halting, and only gives finite output
18:56:08 <oklopol> but i'll read what you said maybe
18:56:42 <cpressey> Well, a TM can still generate a computable real, and never halt. At least, that's how I interpreted Turing's paper.
18:56:43 <oklopol> what
18:56:54 <oklopol> why would you need a tm enumerating the tm's if you're proving they are countable?
18:57:22 <cpressey> You don't need it, except to graphically illustrate that it can all be done with one TM.
18:57:59 <oklopol> well okay, sure, but anyway it's trivial they are countable, the question was why diagonalization doesn't work
18:58:33 <uorygl> So in summary, I was right. :P
18:59:14 <oklopol> i guess that's as good a summary as any
18:59:15 <cpressey> oklopol: Granted. Actually that was why I introduced K. Enumerating another TM is kind of like reading off the diagonal and adding another row.
18:59:44 <cpressey> I say "kind of" because that's the part where I can't put my finger on it.
19:00:20 <cpressey> Maybe "computably diagnolizable"?
19:01:10 <uorygl> Hang on. I can't Fennicize my name as "Tänneri Svetti", because "svetti" isn't a type of place!
19:01:31 <uorygl> I'll have to make it one, I guess.
19:01:52 <uorygl> Why am I still thinking about this? :|
19:01:53 <CakeProphet> Are there plans for a Gnome 3?
19:01:54 <cpressey> I dunno. I do like the idea of calling the "computably enumerable reals", though, and abbreviating it to "cereals"
19:01:58 <oklopol> cpressey: i don't think it's in any sense like reading off the diagonal and adding another row tbh :P
19:02:15 <oklopol> uorygl: fennicize your name?
19:02:22 <uorygl> Yes.
19:02:47 <CakeProphet> cpressey: Now develop a concept a "dry" to "soggy" gradient for cereals.
19:02:53 <CakeProphet> *of
19:03:09 <oklopol> uorygl: what's your actual name i forget
19:03:13 <uorygl> Tanner Swett.
19:03:14 <oklopol> oh
19:03:25 <oklopol> tanner is a finnish word
19:03:52 <oklopol> one of the few that ends with r
19:04:02 <oklopol> *end
19:08:37 <uorygl> Hey, you made my Internet drop out.
19:09:02 <uorygl> Wow, and it means "field" or "ground", so it works as a surname!
19:09:32 <oklopol> it wouldn't surprise me if it was used as a surname, although i haven't seen it
19:09:45 <uorygl> Where's that Finnish name database?
19:09:57 <oklopol> i would have to google
19:10:04 <oklopol> vestrekisterikeskus
19:10:11 <oklopol> perhaps
19:10:33 <oklopol> or vestrekisteri or something or maybe something completely elseous.
19:10:59 <uorygl> Found it. http://verkkopalvelut.vrk.fi/Nimipalvelu/default.asp?L=3
19:11:11 <oklopol> 764
19:11:13 <oklopol> in use atm
19:11:29 <uorygl> Don't new surnames have to be unique?
19:11:32 <oklopol> so probably i have seen it
19:11:47 <oklopol> i do not know
19:12:00 <uorygl> If that's the case, I can't change my surname to Tanner.
19:12:20 <uorygl> Svetti is open, as is Svettila.
19:12:46 <oklopol> http://fi.wikipedia.org/wiki/Sukunimilaki has the rules
19:12:48 <uorygl> But nothing can beat the sheer awesomeness of the word "Vorigali Turrila".
19:12:51 <oklopol> i can translate i suppose
19:13:23 <uorygl> That would be helpful.
19:14:33 <oklopol> it can't be "cockville", it can't be "asdfgljhaoig", it can't be "everyman" (very common, i don't know what english surnames are most common), it can't be "john", it can't be "microsoft"
19:14:36 <oklopol> also
19:15:08 <oklopol> it says it can't be the surname of an existing family, maybe that means if they have like a protected surname, you can do that
19:15:25 <oklopol> because otherwise it's just a stronger everyman
19:15:55 <oklopol> so i do not know whether tanner qualifies
19:16:18 * uorygl shrugs.
19:16:24 <oklopol> also sweat is hiki in finnish, you could use that a first name
19:17:03 <uorygl> I'll change that to Hikki. :P
19:17:36 <oklopol> could be a nickname
19:17:45 <oklopol> my father's name is heikki
19:17:57 <oklopol> (as is fizzie's)
19:21:40 -!- calamari has joined.
19:21:50 <calamari> hi
19:22:05 <uorygl> Hei!
19:22:07 <cpressey> What ho, calamari!
19:22:09 <uorygl> Mitä kuuluu?
19:23:09 <calamari> at jury duty, waiting.. reading a book about writing linux device drivers.. so yeah bored lol
19:23:49 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
19:24:17 <uorygl> We shall all learn or teach Finnish while we wait.
19:25:48 <oklopol> tss sinulle helppo lause
19:27:22 <oklopol> suomenopiskelumateriaaliksi sinulle
19:27:26 <cpressey> Hm, they give you internet access in jury duty? Well, I guess if it's not sequestered and all...
19:27:53 <uorygl> Here onto you easy a sentence?
19:28:20 <oklopol> for you
19:28:25 <calamari> well im ircing from my phone, but in the courtroom you have to turn phones off
19:28:40 <uorygl> Oh, got it.
19:28:45 <uorygl> Here, for you, an easy sentence.
19:28:49 <oklopol> yes
19:29:33 * cpressey was almost picked for jury duty once, but they rejected me
19:30:57 <uorygl> suomenopiskelumateriaaliksi is "as Finnish study material"?
19:31:06 <calamari> yeah I've been in the courtroom once but was ultimately rejected
19:31:49 <uorygl> Erinomainen.
19:32:14 <calamari> I get called down every year, so I suppose eventually I may be selected
19:32:53 <cpressey> Every year?
19:32:59 * cpressey wonders about the crime rate in Arizona
19:33:26 -!- calamari has quit (Remote host closed the connection).
19:33:38 <uorygl> Pending / New: 17. Active - Due: 42.
19:33:40 <oklopol> uorygl: erinomainen?
19:33:48 <cpressey> Hm, maybe he got picked :)
19:33:50 <uorygl> Erinomainen!
19:34:01 <oklopol> oh, you mean "erinomaista!"?
19:34:08 <uorygl> Probably.
19:34:17 <oklopol> saying "erinomainen" is like saying "a great!"
19:34:29 <uorygl> So you use the partitive when yelling adjectives?
19:34:36 <oklopol> hmm
19:34:37 <oklopol> yes
19:35:34 <uorygl> Mielenkiintoista!
19:36:09 <oklopol> indeed!
19:36:27 <oklopol> or "oikein!"
19:36:29 <uorygl> Liian pitkää! :P
19:36:35 -!- calamari has joined.
19:36:39 <oklopol> (not "oikeaa")
19:36:46 <oklopol> (correct that is)
19:36:52 <calamari> re's
19:38:23 <oklopol> also "liian pitk" can't really be used, yet you could definitely say "liian rumaa"
19:38:43 <uorygl> Why not pitkää?
19:38:45 <oklopol> "liian pitk" or preferably a whole sentence
19:39:04 <oklopol> hmm
19:39:07 * uorygl shrugs.
19:39:29 <uorygl> Hankalaa!
19:40:01 <oklopol> i don't know why, but short=lyhyt and pitk=long both sound weird used like that
19:40:28 <uorygl> Maybe it's like the English "fastly". It's never used, but there is no reason for this.
19:40:34 <oklopol> or well actually i think i do know, but err
19:40:47 <uorygl> Actually, I guess "fast" can be used as an adverb.
19:40:52 <uorygl> "He ran fast." Yep.
19:42:23 <oklopol> the "reason" is things can't be long in general, there has to be some object that's long
19:42:31 <oklopol> (but it can be an abstract object)
19:42:34 <cpressey> "fast" and "big" are extremely strange words in English, given how common they are.
19:42:45 <oklopol> what's weird about big?
19:42:48 <uorygl> Hm, "bigly" doesn't work, either.
19:42:49 <oklopol> oh
19:42:57 <uorygl> Though I can't imagine why you would use that word. :P
19:42:59 <cpressey> "The show was a large hit!" No one says this.
19:42:59 <oklopol> indeed, i never even realized
19:43:20 <oklopol> yes that saying is largely unused
19:43:44 <oklopol> uorygl: good point
19:44:17 <oklopol> in finnish you can say you're "bigly happy"
19:44:40 <cpressey> You'd probably be better off saying "immensely happy" in English.
19:44:41 <oklopol> (not that it's all that idiomatic in that specific context)
19:44:50 <uorygl> How would you say "The dog is named Swarming"?
19:45:00 <uorygl> (That word was chosen to be as un-Finnish as possible. :P)
19:45:06 -!- coppro has joined.
19:45:08 <oklopol> koiran nimi on ...swarming
19:45:37 <oklopol> (was the point that i wouldn't translate? :P)
19:45:43 <uorygl> Nimeä!
19:45:45 <uorygl> Yeah, it was.
19:47:15 <Deewiant> Parveilu
19:47:21 <uorygl> Laskea irti.
19:48:22 <calamari> bbl
19:48:25 -!- calamari has quit (Quit: AndroidIRC 1.0).
19:49:10 <cpressey> Ooh, Android. And here I am with a 5-year-old Motorola Tracfone.
19:49:58 <oklopol> ah parveilla, i assumed there isn't a translation :-D
19:50:18 -!- oerjan has joined.
19:50:24 <oklopol> maybe Deewiant should teach you
19:50:35 <oklopol> oerjan and i have to talk about computable uncountability now
19:50:44 <uorygl> Everyone who knows any Finnish knows more Finnish than me!
19:50:44 <oerjan> O KAY
19:50:49 <oerjan> wait computable?
19:50:56 <uorygl> Except for the mathematical impossibility of that.
19:51:02 <oklopol> yes, the computable reals are computably uncountable
19:51:13 <oerjan> uorygl: i sincerely doubt that
19:51:31 <oerjan> oklopol: well that's just diagonalization
19:51:36 <cpressey> oerjan: You may wish to read the logs and enlighten us. We're confused.
19:51:39 <oerjan> same as for the usual one
19:51:41 <oerjan> cpressey: oh
19:51:52 <oklopol> err we're not confused
19:52:09 <oklopol> or well i guess cpressey is then :P
19:53:00 <oklopol> oerjan: yes diagonalization proves it, you consider this trivial, so i assume you took the same definition as i?
19:53:33 <oerjan> well i assume it doesn't depend _that_ much on definition
19:53:45 <oklopol> yeah but
19:54:07 <oklopol> i'm wondering how this works for arbitrary sets
19:54:13 <oerjan> but if you have a computable function Natural -> CompReal it shouldn't be that hard to construct a computable real it doesn't hit with diagonalization
19:54:43 <cpressey> I'm basing "we're confused" on the observation that Phantom_Hoover and I seem to disagree.
19:54:45 <oklopol> well yeah the proof is simple, i just found it an interesting concept
19:54:56 <cpressey> At least one of us is confused.
19:55:15 <oklopol> cpressey: about what? phantom_hoover asked why diagonalization doesn't work, i explained, you were correct of course
19:55:39 <oklopol> we were just solving a paradox
19:55:49 <oklopol> in a sense
19:55:53 <oerjan> <CakeProphet> windows should never steal focus
19:55:56 <oerjan> aye here
19:55:59 <cpressey> The cardinality of the of computable reals certainly looks countably infinite to me. But I don't see exactly what the flaw is in Phantom_Hoover's diagonalization argument.
19:56:21 <oklopol> i told you, the surjection isn't countable so you cannot compute the real on the diagonal
19:56:37 <uorygl> The diagonalization argument requires you to construct a computable real out of the diagonal of the list of all computable reals.
19:56:44 <uorygl> The thing is, no list of all computable reals is computable.
19:57:17 <coppro> Could you not create a Godel code to encode the algorithms to generate them?
19:57:34 <cpressey> Yeah, I thought I called that thing K...
19:57:34 <uorygl> You'd need to verify that everything in the list is actually a computable real.
19:57:42 <uorygl> Which cannot be done.
19:57:57 <oerjan> coppro: no you need to solve something like the halting problem to check whether an algorithm generates a computable real
19:58:36 <cpressey> How to you "verify" anything about an enumeration machine?
19:58:46 <oklopol> ohh
19:58:48 <cpressey> The machine runs forever, generating more and more digits.
19:58:52 <oklopol> i think what the problem is
19:58:58 <cpressey> But the real it's generating is, therefore, computable.
19:59:01 <oklopol> cpressey: do you think diagonalization is used to prove a set is COUNTABLE?
19:59:22 <oklopol> you said something about adding a new element to the list
19:59:33 <cpressey> oklopol: No, it's used to prove a set has a higher cardinality than the sets making up the rows and columns, I thought.
20:00:03 <oklopol> okay then i still don't see why you want K, if you're proving the set of creals is countable, you don't need it
20:00:06 <uorygl> cpressey: given any Turing machine that purportedly represents a real number, there are three possibilities: one, it halts; two, it outputs infinitely many digits; three, it outputs finitely many digits and stalls.
20:00:30 <uorygl> Given a Turing machine, it is impossible to tell which class it falls into; this is equivalent to solving the halting problem.
20:00:34 <cpressey> uorygl: You could reduce that to 2 possibilities, if it's useful.
20:01:00 <oklopol> oerjan: is the existence of a computable bijection an equivalence relation on the class of all sets, is what i'm asking? well at least up to some classical cardinality
20:01:00 <cpressey> uorygl: Actually, no. We're talking about *enumeration* machines here, which never halt.
20:01:06 <oklopol> at least in some sense
20:01:08 <oklopol> :-D
20:01:19 <uorygl> Okay, so one is not a possibility. Two and three still are.
20:01:24 <uorygl> And two and three still cannot be distinguished.
20:01:49 -!- oerjan has quit (Read error: Operation timed out).
20:02:12 <uorygl> oklopol: it satisfies R, S and T; that makes it an equivalence relation, right?
20:02:26 <oklopol> it does? how do you define it?
20:03:22 <cpressey> uorygl: I'm not quite convinced that they need to be distinguished. But I'll have to give thought to it later, unfortunately.
20:04:57 <uorygl> oklopol: I don't really know.
20:05:07 <oklopol> uorygl: but he isn't trying to prove anything about diagonalization, so K is not actually used for anything but another name for surjection
20:05:21 <uorygl> cpressey: of course they do. A list of computable real numbers can't contain something that isn't a computable real number.
20:05:23 <oklopol> he's trying to prove creals countable, so he doesn't use the enumeration part at all
20:05:29 <uorygl> Thus, you need to weed out the things that aren't computable real numbers.
20:07:21 <oklopol> cpressey: but assuming you wanted to know why diagonalization doesn't work (which you say you don't), then the reason they have to be distinguished is that while you can list all tm's, some of them never halt
20:07:22 <oklopol> but only output a finite amount of numbers, while you can, mathematically, interpret these as creals, a program that tries to get the nth digit (depending on how far in the diagonal we are), has to know whether the program actually ever outputs n digits, otherwise it has to use 0 or something
20:07:27 -!- oerjan has joined.
20:08:05 <oklopol> with R you can say a bijection has to map reals to something as a limit process, 2^R is so big you can't really even do that
20:08:47 <oklopol> because there's no way to get enough information in to distinguish all of those (well this is not very precise, maybe there's some fucked up way)
20:10:59 <oklopol> maybe we need to have not just sets but also some sort of representations for them
20:11:05 <oklopol> err
20:11:10 <oklopol> or maybe that doesn't really work
20:11:34 -!- oerjan has quit (Remote host closed the connection).
20:11:48 -!- oerjan has joined.
20:13:31 <oerjan> <oklopol> oerjan: is the existence of a computable bijection an equivalence relation on the class of all sets, is what i'm asking? well at least up to some classical cardinality
20:13:51 <oerjan> um i'm not sure the inverse of a computable bijection is necessarily computable
20:13:59 <oerjan> or wait
20:14:04 <oklopol> well
20:14:08 <oerjan> i guess it is
20:14:17 <oerjan> oh wait no
20:14:20 <oklopol> well umm
20:14:30 <oklopol> if the sets can be uncountable then...
20:14:33 <oerjan> for integers it is but for things where you cannot decide equality
20:14:38 <oklopol> that too
20:14:44 <oerjan> *but not for
20:15:01 <oklopol> but you can't even enumerate normal reals, and yet you can make functions from them; should we restrict to countable sets?
20:15:19 <oerjan> however if you include the computability of the inverse then clearly it's an equivalence relation
20:15:50 <oklopol> i guess it would be, clearly, if i knew the definition
20:16:01 <oklopol> well
20:16:09 <oklopol> i guess it's clear it's with any definition
20:16:11 <oklopol> in that case
20:16:55 <oerjan> i suppose you need a concept of computable set as well, otherwise it may not have meaning to have computable functions on them
20:17:28 <oklopol> so maybe we could assume our turing machines compute functions N -> N, what do the equivalence classes look like
20:17:45 <oerjan> i don't know
20:18:03 <oklopol> well i doubt anyone does
20:18:28 <oklopol> but then inversibility is obvious
20:20:04 <oklopol> that is, a computable bijection has a computable inverse; but so what about injectivity and surjectivity, if we have an injection and a surjection, do we have a bijection?
20:20:17 <oklopol> (injection f, surjection g)
20:20:44 <CakeProphet> wait a minute
20:20:53 <CakeProphet> aren't we forgetting banana-morphisms?
20:23:50 <oklopol> err
20:23:57 <oklopol> hmm
20:25:32 <uorygl> He means Banach analytical morphisms, of course.
20:27:07 <oklopol> okay i don't see the disproof but anyway at least cardinality would not be totally ordered then
20:27:19 <oklopol> or wait could it still be
20:27:24 <oklopol> now i think i am a bit confused.
20:27:38 <oklopol> i figured N would make things easier
20:28:46 <oerjan> oklopol: i suspect the classification would be extremely complicated
20:29:30 <oklopol> but do you see whether injectivity and surjectivity imply bijectivity? i doubt it
20:29:43 <oklopol> i mean it looks like it should be obviously false
20:30:08 <oerjan> since the sets don't need to be recursive - if they are then they are probably in such a bijection with the whole of N itself or {1,...,n} for some n
20:31:09 <oerjan> hm even if there is such a bijection with N, does it have to be recursive?
20:31:15 <AnMaster> anyone know what exactly the "Triaged" status means for ubuntu bugs?
20:31:17 <oerjan> s/it/the set/
20:31:31 <coppro> AnMaster: AFAICT, it means they've assigned a priority
20:31:43 <coppro> a function that is both an injection and a surjection must by definition be a bijection
20:31:57 <AnMaster> coppro, higher than normal or lower than normal?
20:32:04 <coppro> any priority
20:32:08 <AnMaster> "Changed in linux (Ubuntu):
20:32:08 <AnMaster> status: Confirmed → Triaged "
20:32:08 <coppro> there's a separate listing for that
20:32:09 <AnMaster> that is all
20:32:11 <coppro> :/
20:32:13 <AnMaster> coppro, ah
20:32:17 <coppro> probably assigned normal priority then
20:32:19 <AnMaster> coppro, any idea where?
20:32:26 <coppro> it should be in the listing
20:32:27 <oklopol> we assume non-recursive, if you have inj and surj from an RE set to a RE set, then h is a bijection, i think, where given x, h computes surj(x), then for all y < x, it computes h(y) and if h(y)=h(x), it increments x and recurses onto itself
20:32:31 <coppro> link?
20:32:44 <AnMaster> coppro, well I don't know where the listing is indeed
20:32:55 <coppro> oh, you got an email?
20:32:58 <coppro> there should be a link in the email
20:33:01 <oklopol> oerjan: does that make sense?
20:33:14 <oerjan> oklopol: i think my brain refuses to think about this any more :D
20:33:15 <oklopol> we can prove by induction that h always terminates, because there's a finite amount of smaller y
20:33:19 <oklopol> oh and
20:33:29 <oklopol> x+1 means "such y that after x is enumerated, y is"
20:33:36 <oklopol> y<x means y is enumerated before x
20:33:41 <oklopol> that might not be obvious
20:34:25 <oklopol> (i mean especially as they are numbers...)
20:34:41 <AnMaster> coppro, no...
20:34:43 -!- Mathnerd314 has joined.
20:34:48 <AnMaster> coppro, I saw it in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/524281
20:34:52 <AnMaster> coppro, right near the end
20:34:59 <AnMaster> coppro, there is that change to triaged
20:35:37 <AnMaster> coppro, but I have no idea about what priority it has
20:35:49 <coppro> AnMaster: right at the top "Importance"
20:35:58 <coppro> the fact that it's both Undecided and Triaged seems wrong
20:36:02 <AnMaster> coppro, sigh
20:36:23 <cpressey> oklopol: OK, it makes sense now. The number down the diagonal is not a computable real, that's all. Doesn't actually tell you anything about the computable reals, except that there is some number that isn't one of them.
20:36:24 <coppro> oh wait, he added some tags there
20:36:27 <coppro> I guess that counts?
20:36:38 <coppro> I've never quite understood the Ubuntu bug process
20:36:41 <coppro> except that it sucks
20:37:00 <AnMaster> coppro, indeed it sucks
20:37:11 <oklopol> oerjan: maybe i should leave recursion out, assume f and g are the inj & surj, from X to Y, then h(x) first computes the whole list L = {h(y) | y<x}, then enumerates up to x on X side, and starts incrementing x (enumerating stuff after x that is) until it's no longer on the list.
20:37:21 <AnMaster> coppro, and now I'm considering downgrading to 2.6.31 kernel because of this
20:37:35 <AnMaster> coppro, however that means I have to use backported wlan driver
20:37:42 <AnMaster> gah
20:37:58 <AnMaster> oh and I would need to patch the kernel for a few other things too
20:38:03 <oklopol> we don't actually need the injection, so according to this infinite RE sets are in computable bijection iff there's a computable surjection
20:38:09 <oklopol> but umm
20:38:09 <oklopol> LOL
20:38:20 <coppro> AnMasteR: looks like it's an upstream bug
20:38:21 <oklopol> there's always a computable bijection anyway :D
20:38:24 <oklopol> xDDDDDDDDDDDDDDDDDDDDDddd
20:38:26 <oklopol> xDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
20:38:28 <oklopol> xDDDDDDDDDDDDDDDDDDDDDDDDDDdd
20:38:31 * oklopol is retarded
20:38:44 <AnMaster> coppro, yes but they should get something done about it. And it isn't clear where it is fixed
20:38:48 <AnMaster> Jun 22 18:29:09 tux gnome-session[19821]: WARNING: Unable to determine session: Unable to lookup session information for process '19821'
20:38:49 <AnMaster> huh
20:38:53 <coppro> it's not fixed
20:39:04 <AnMaster> coppro, so downgrade to 2.6.31 then?
20:39:12 <AnMaster> sigh
20:39:22 <coppro> AnMaster: yes; it's a kernel bug and so you're stuck until the next kernel
20:39:27 <AnMaster> this is a pita because I need initramfs (/ on dm-crypt)
20:39:42 <AnMaster> coppro, there is no link to the kernel bugzilla though?
20:39:58 <coppro> I don't know how the kernel keeps track of their bugs
20:40:07 <AnMaster> coppro, they have a bugzilla
20:40:16 <AnMaster> I used it before
20:40:22 <AnMaster> a lot nicer than launchpad for bug tracking
20:40:56 <coppro> yeah
20:41:13 <oklopol> oerjan: obviously a bijection is given by just checking how manieth element of the X x is, and then enumerate that manieth y in Y
20:41:13 <coppro> getting close to the point where I'm considering jumping ship to a stock Debian
20:41:20 <oklopol> *-the
20:41:21 <coppro> or even a more radical change
20:41:40 <AnMaster> coppro, well, I want things to work out of box on my laptop
20:41:47 <AnMaster> also converting would be a pain
20:41:51 <coppro> they never will
20:42:09 <AnMaster> coppro, and if I jumped the ship it would be arch. But yeah that doesn't work very well.
20:42:26 <AnMaster> coppro, ubuntu works mostly out of the box on it. Just that you have to deubuntufy the desktop
20:42:28 <AnMaster> takes a while
20:42:41 <AnMaster> like fixing gdm
20:42:53 <AnMaster> (no face browser and clearlooks theme)
20:43:12 <coppro> Ubuntu's just so horrible because there's no good support avenue. There's no where to complain with "My wireless is broken" because everyone will attempt to pass the buck on to the next guy 'oh, it's obviously a driver bug' 'oh, it's obviously a network-manager bug' 'oh, it's obviously a kernel bug' 'oh, it's obviously a hardware issue'
20:43:38 <coppro> and at each stage they pass it off, they expect you to file a new bug against the new product, rather than just reassining it
20:43:41 <coppro> *reassigning
20:44:25 <AnMaster> sigh
20:44:31 <oerjan> oklopol: um no. you _cannot_ necessarily check that if the set is not recursive.
20:45:02 <coppro> and oh man, Java
20:45:08 <oklopol> oerjan: yes but given two RE sets there's a bijection between them
20:45:12 <oklopol> this is what i was proving
20:45:21 <oerjan> because you cannot necessarily decide which numbers less than x are in X
20:45:30 <oerjan> oklopol: computable bijection?
20:45:32 <oklopol> and i used the surjection from X to Y even though i can just make one from scratch.
20:45:37 <coppro> <Canonical> We are partnered with Sun. Also, we hate Java users.
20:45:38 <oklopol> ohhhhh
20:45:43 <cpressey> But what I want to know is if there is a way to automatically translate primitive recursive functions to general-recursive but more efficient counterparts. I'm sure not all could be done, but I'd be happy with only 50%.
20:45:58 <oklopol> err
20:46:18 <oklopol> oerjan: y<x means y comes before x when you enumerate the elements of X, just choose some enumerating tm
20:46:24 <oerjan> oklopol: oh hm yes you're right, i thought you meant x's order in X among the natural numbers
20:46:29 <oklopol> i don't mean number inequality, as i mentioned above
20:46:35 <oerjan> ok
20:46:46 <AnMaster> coppro, huh? I hate java, no big deal
20:46:48 <oklopol> and as i then added, it's a bit confusing given they are numbers :)
20:47:11 <oklopol> should've taken {0,1}^* or something maybe
20:47:44 <oklopol> or maybe not, not really very useful
20:47:53 <cpressey> Gee AnMaster, you hate both C++ *and* Java? :)
20:48:40 -!- EXPERIEN has joined.
20:48:48 -!- EXPERIEN has quit (Client Quit).
20:49:01 <AnMaster> of course
20:49:40 * oerjan guesses he can throw in C# too :D
20:49:56 <coppro> AnMaster: Java's still the best solution for online applets
20:50:04 <AnMaster> coppro, no, html + js is
20:50:06 <coppro> while I don't write it, I do use it
20:50:17 <coppro> HTML + JS is slow and not as fully-featured
20:50:25 <AnMaster> coppro, see jsmips
20:50:31 <coppro> it's great for lots of things
20:50:33 <coppro> but not everything
20:50:53 <AnMaster> coppro, I offer jsmips as a counter example
20:51:07 <coppro> AnMaster: that doesn't solve performance issues
20:51:14 <AnMaster> it is fast here
20:51:17 <coppro> it's a nice go at portability
20:51:35 <cpressey> No, no, Macromedia Flash!
20:51:40 * cpressey slaps himself with a fish
20:51:42 <coppro> and once again, it lacks some features Java has
20:52:15 <AnMaster> I have neither flash nor java installed
20:52:22 <AnMaster> well I have java but not as browser plugin
20:52:39 <cpressey> The problem with JS is portability. I'm debugging a JS problem with IE right now.
20:52:40 <AnMaster> and to tell the truth, I seldom need either
20:52:57 <cpressey> Of course, proper use of jQuery would probably have avoided it, but still.
20:52:58 <AnMaster> cpressey, IE? "This page is best viewed with Chrome or Firefox"
20:53:21 <cpressey> And in 1680x1260
20:53:31 <AnMaster> cpressey, on a clear moonless night
20:54:08 <cpressey> I've heard Java has portability problems too, but I've never seen them. Esp. for applets.
20:54:30 <AnMaster> cpressey, I would follow the spec to the letter
20:54:38 <AnMaster> if it is then broken in some browser it isn't my fault
20:55:20 <oerjan> and if cpressey then gets fired it isn't his fault
20:55:38 * oerjan whispers innocently
20:55:42 <oerjan> wait
20:55:44 <cpressey> Well then, we need to all start calling it ECMAScript, you know.
20:55:47 <oerjan> *whistles
20:55:49 <AnMaster> oerjan, psh, do academical work. It is a lot nicer.
20:56:05 <AnMaster> cpressey, jsscript != javascript
20:56:10 <AnMaster> I would go for javascript instead
20:56:27 <coppro> cpressey's correct; ECMAScript is the proper standard
20:56:32 <cpressey> AnMaster: My point was there is no spec for "Javascript".
20:56:39 <AnMaster> cpressey, wtf?
20:57:05 <coppro> also, ECMAScript is a dumb language, which is another great reason not to use it
20:57:05 <cpressey> As for "jsscript", I'm not sure I've even heard anyone ever use that term...
20:57:34 <coppro> he means JSCript
20:57:37 <coppro> s/C/c/
20:57:49 <AnMaster> ah okay got an extra s there by mistake
20:58:12 <coppro> JavaScript and JScript were differing proprietary implementations of what became standard ECMAScript
20:58:30 <AnMaster> why is the file extension .js then?
20:58:37 <AnMaster> shouldn't it be .emca or something
20:58:41 <uorygl> The language itself is called SpiderMonkey.
20:58:43 <uorygl> </very wrong>
20:58:46 <AnMaster> XD
21:00:02 <coppro> AnMaster: in modern usage, people don't know better and think javascript is equivalent
21:00:05 <coppro> .es is the proper extension
21:00:17 * cpressey applauds uorygl
21:00:17 <AnMaster> hah
21:00:24 -!- Phantom_Hoover has joined.
21:00:38 <oklopol> i was rather wtf'd about "whispers innocently"
21:00:54 <uorygl> I guess I should figure out how to write Haskell bindings so that I can write a Haskell binding to (the most useful parts of) SpiderMonkey.
21:00:56 <AnMaster> ?
21:01:02 <coppro> formally, JavaScript now refers to the Mozilla implementation and dialect of ECMAScript
21:01:19 <AnMaster> heh
21:01:25 <uorygl> It will be called HaSM, despite the atrocity of this name.
21:01:34 <AnMaster> btw what did sun think about it being called javascript
21:01:40 <AnMaster> I can't imagine them being happy at all back then
21:01:46 <oklopol> it's an awesome mental typo
21:01:47 <cpressey> In windows, one of the context menu options for .js files is "Open with Command prompt"
21:01:55 <coppro> AnMaster: It was actually a marketing ploy
21:01:56 <uorygl> Hm. If I move to Finland, I'll probably be able to register hasm.fi.
21:02:02 <AnMaster> coppro, hm?
21:02:05 <uorygl> AnMaster: I think Sun explicitly allowed it.
21:02:11 <uorygl> I have no idea why. :P
21:02:11 <AnMaster> uorygl, how strange
21:02:18 <coppro> yeah; it was to increase visibility of the name Java
21:02:31 <AnMaster> coppro, if javascript = mozilla's implementation then cpressey doesn't have to make it work in IE
21:02:38 <uorygl> It would be strange if JavaScript were actually Java script.
21:02:46 <AnMaster> after all, his employer should have said EMCAscript if that was what he meant
21:02:49 <coppro> it would be a better language
21:03:11 <uorygl> If I made a language called Foobar, then FoobarScript would in fact be a scripting version of the same language.
21:03:14 <AnMaster> wait a second, it is <script> tag using emcascript or javascript as the name for the language?
21:03:22 <uorygl> VerilogScript. >:)
21:03:39 <AnMaster> uorygl, BashScript?
21:03:48 * AnMaster watches uorygl's head implode
21:03:53 <oklopol> it would be a very logical scripting language
21:04:02 <uorygl> LojbanScript.
21:04:08 <AnMaster> hah
21:04:16 <uorygl> It's like Lojban, but with dynamic typing, and you can change the definitions of words on the fly.
21:04:34 <coppro> AnMaster: it should use ecmascrpit
21:04:36 <oerjan> wait lojban has static typing? >:)
21:04:39 <coppro> in practice, it uses JavaScript
21:05:42 <AnMaster> coppro, does emcascript work there?
21:05:47 <coppro> I believe so
21:05:58 <AnMaster> coppro, also I can't imagine that it should use ecmascrpit
21:06:03 <AnMaster> :P
21:06:17 <AnMaster> but then I typoed too
21:06:24 <AnMaster> is it ecma or emca?
21:06:35 <AnMaster> M stands for microsoft right?
21:06:36 <AnMaster> ;P
21:07:53 <uorygl> ECMA.
21:07:57 <cpressey> ECMAScript is the scripting version of the language ECMA.
21:08:03 <AnMaster> hah
21:08:18 <cpressey> ECMA was a popular systems-construction language in the 70's and 80's. I believe it was a descendant of BLISS.
21:08:18 <uorygl> Don't tell me there's actually a language called ECMA.
21:08:23 <AnMaster> I have come to the conclusion that even 16-bit embedded systems are a great deal more elegant than any current desktop OS
21:08:40 <uorygl> Well, of course. They need to be simple, and simple = elegant.
21:08:44 <AnMaster> in fact any embedded system with limited resources is probably more elegant
21:08:53 <cpressey> uorygl: Oh, I'll tell you many, many things, if you let me.
21:09:12 <AnMaster> sure there might be a few nasty goto, but they are still elegant in a way
21:09:25 <AnMaster> since no one writes elegant desktop code
21:09:41 <AnMaster> well except for the lisp machines basically
21:14:16 <cpressey> Yes, the LISP machines write extremely nice desktop code. I admire them for that.
21:19:25 <AnMaster> cpressey, sad they are no longer around
21:19:41 <AnMaster> cpressey, or rather the people who wrote code for the LISP machines would very nice code
21:19:47 <AnMaster> s/would/wrote/
21:19:50 <AnMaster> weird typo
21:19:58 <AnMaster> it wasn't the machines themselves that did
21:23:02 <Phantom_Hoover> Desktop code?
21:23:28 <AnMaster> Phantom_Hoover, as opposed to embedded code or HPC code
21:24:07 <Phantom_Hoover> i.e. code designed to be used on a desktop computer?
21:24:31 <AnMaster> Phantom_Hoover, desktop or laptop I guess
21:24:45 <Phantom_Hoover> Ah
21:24:49 <Phantom_Hoover> What's wrong with it?
21:24:52 <AnMaster> Phantom_Hoover, stuff designed to use on what "people" think of as computers I guess
21:24:59 <AnMaster> Phantom_Hoover, read the whole discussion instead
21:25:02 <AnMaster> cpressey, at times I wonder why I don't do something like: http://www.mastodon.biz/
21:25:10 <AnMaster> cpressey, well slightly newer than 2.0.x kernel
21:25:20 <AnMaster> 2.6.24 maybe? Somewhere around there
21:25:38 <AnMaster> then I realise how much work it would be
21:25:46 <AnMaster> (Yes I have tried LFS)
21:25:56 <Phantom_Hoover> Hmm, why don't we set up the #esoteric Lisp Machine Company?
21:26:01 <AnMaster> har
21:26:30 <cpressey> AnMaster: Do something like what? Announce vapourware?
21:27:49 <AnMaster> cpressey, no, do a distro like that
21:28:13 <AnMaster> cpressey, anyway there is a download for it around somewhere
21:28:16 <AnMaster> I know ehird tried it
21:29:03 <AnMaster> cpressey, didn't work in virtualbox, did in qemu iirc
21:29:09 <cpressey> I'd rather do something like... well, whatever.
21:29:33 <AnMaster> cpressey, ?
21:29:36 <Phantom_Hoover> I'd rather we set up our own Lisp machine company.
21:29:42 <Phantom_Hoover> It'd be fun!
21:29:56 <cpressey> Symbolics Jr.
21:30:50 <AnMaster> I think it might be better to make an open source lisp OS aimed at common platforms
21:30:55 <AnMaster> more realistic anyway
21:30:59 <Phantom_Hoover> Hmm, yes.
21:31:02 <Phantom_Hoover> Both are fun!
21:31:10 <AnMaster> open source hardware?
21:31:23 <Phantom_Hoover> Do we use C as a low-level systems language, or do we make our own Lispoid?
21:31:38 <Phantom_Hoover> AnMaster, Stallman tried that, he ended up with a crappy Chinese laptop.
21:31:41 <AnMaster> Phantom_Hoover, forth maybe?
21:31:52 <AnMaster> Phantom_Hoover, we need some asm anyway, twiddling control registers or such
21:32:04 <Phantom_Hoover> Yes, obviously.
21:32:12 <AnMaster> Phantom_Hoover, make our own open source hardware I meant obviously
21:32:16 <Phantom_Hoover> But there are Lispoid assemblers
21:32:21 <AnMaster> Phantom_Hoover, hm
21:32:32 <AnMaster> anyway not going to do it, not worth the effort
21:32:32 <Phantom_Hoover> SBCL actually includes one.
21:32:49 <AnMaster> Phantom_Hoover, I feel it should be more like scheme than common lisp
21:32:51 <Phantom_Hoover> AnMaster, but we'll be the kings of computer nerds!
21:32:53 <AnMaster> whatever we do
21:32:57 <Phantom_Hoover> AnMaster, fine.
21:33:03 <Phantom_Hoover> I was just using an example/
21:33:08 <AnMaster> Phantom_Hoover, no, that was taken by whoever made a computer with wire wrapping
21:33:14 <AnMaster> been done recently
21:33:15 <cpressey> Phantom_Hoover: Aren't we already?
21:33:17 * AnMaster tries to find the link
21:33:34 <AnMaster> http://www.homebrewcpu.com/
21:34:21 <Phantom_Hoover> OK, so why is it so cool?
21:34:30 <AnMaster> Phantom_Hoover, BLINKENLIGHTS!
21:34:40 <cpressey> Sick, sick, sick.
21:34:42 <Phantom_Hoover> Well, that is coo
21:34:43 <Phantom_Hoover> l
21:34:44 <Phantom_Hoover> .
21:34:51 <AnMaster> cpressey, what?
21:35:14 <AnMaster> cpressey, it has a "single step" switch on the front ffs
21:35:19 <AnMaster> it can't be cooler than that
21:35:58 <cpressey> Sick, I say.
21:36:03 <AnMaster> no cool!
21:36:08 <AnMaster> no,*
21:36:37 <AnMaster> cpressey, it uses TTL even
21:37:19 <Phantom_Hoover> Your knowledge of hardware scares me.
21:37:37 <AnMaster> Phantom_Hoover, who are you talking to?
21:37:38 <AnMaster> me?
21:37:45 <Phantom_Hoover> Yes.
21:37:50 <Phantom_Hoover> Mine is pitiful
21:38:03 <AnMaster> Phantom_Hoover, I'm no expert at VHDL at all. heck I asked ais523 lots of VHDL questions recently
21:38:10 <AnMaster> he is the "expert" on that in here
21:38:14 <Phantom_Hoover> I stumbled into the top-down way of learning computing
21:38:15 <Phantom_Hoover> .
21:38:22 <AnMaster> Phantom_Hoover, top down?
21:38:27 <AnMaster> how does that apply here
21:38:43 <AnMaster> also I never managed to do anything ever with a top down approach. Bottom up for me
21:38:45 <Phantom_Hoover> It means nothing at all.
21:38:57 <AnMaster> when coding I mean
21:39:35 <AnMaster> though not pure bottom up
21:39:40 <Phantom_Hoover> I probably misapplied the term.
21:39:42 <AnMaster> like when implementing a new befunge interpreter, I start with implementing the stack and the funge space.
21:39:43 <Phantom_Hoover> Anywhom.
21:39:46 <AnMaster> then I write the main loop
21:39:49 <AnMaster> then I write the IO code
21:39:55 <Phantom_Hoover> That computer is extremely cool, in any case.
21:40:01 <AnMaster> might be because IO is no fun
21:40:26 <AnMaster> Phantom_Hoover, wasn't it you that linked the goldberg computer?
21:40:32 <AnMaster> I think cpressey ought to see it
21:40:33 <Phantom_Hoover> Yep.
21:40:38 <cpressey> Clearly, in my dialect, "sick" has a subtle meaning that is lost here.
21:40:49 <Phantom_Hoover> Two ticks.
21:40:54 <Phantom_Hoover> cpressey, I understood it.
21:41:01 <AnMaster> cpressey, I'm no native speaker
21:41:13 <AnMaster> cpressey, does "sick" mean anything except the negative meaning?
21:41:21 <Phantom_Hoover> It can also mean "cool".
21:41:30 <Phantom_Hoover> Don't think too hard about it and it makes sens.e
21:41:33 <AnMaster> somewhat illogical....
21:41:48 <Phantom_Hoover> http://www.diycalculator.com/sp-hrrgcomp.shtml
21:41:57 <Phantom_Hoover> The Rube Goldberg computer.
21:42:15 <AnMaster> on the other hand, it is perfectly okay to say "jätteliten" in Swedish, literal translation would be "gigantically small" but meaning would be "extremely small"
21:42:16 <AnMaster> XD
21:42:31 <AnMaster> cpressey, see link above
21:42:44 <cpressey> Jacob's ladder for system clock.
21:42:49 <Phantom_Hoover> Yes.
21:42:54 <cpressey> That's about all you need.
21:43:01 <Phantom_Hoover> Hmm, what's the truth table for the
21:43:07 <AnMaster> ?
21:43:11 <Phantom_Hoover> s/the/a vacuum tube/
21:43:15 <AnMaster> eh no clue
21:43:17 <cpressey> The rest just... designs itself.
21:43:37 <AnMaster> Phantom_Hoover, a vacuum tube isn't really a full gate is it?
21:43:42 <AnMaster> isn't it more like a transistor?
21:44:04 <Phantom_Hoover> Well, yes.
21:44:13 <Phantom_Hoover> A description of its behaviour, then.
21:44:23 <AnMaster> Phantom_Hoover, and a transistor doesn't have a truth table. It as a graph or plot or such showing the voltage as a function of the gate voltage or something like that
21:44:34 * AnMaster forgot the details
21:44:40 <AnMaster> I did have this on an exam some time ago XD
21:44:41 <Phantom_Hoover> Yes, point taken.
21:45:19 <cpressey> Well, a transistor, properly applied, is a NOT gate. Truth table follows.
21:45:32 <AnMaster> cpressey, which sort of transistor?
21:45:39 <AnMaster> cpressey, I'm thinking nMOS and pMOS here
21:45:54 <AnMaster> and as far as I remember you had two transistors for a NOT gate
21:45:55 <cpressey> AnMaster: Any sort of transistor.
21:45:57 <AnMaster> oh wait, CMOS
21:45:58 <AnMaster> hm
21:46:10 <AnMaster> of course CMOS would have two transistors
21:53:35 -!- MizardX has quit (Ping timeout: 276 seconds).
22:09:16 <cpressey> I think the very concept of "Operating System" needs to be shelved. I prefer "Computing Environment".
22:09:32 <cpressey> So, I'm not going to build my own OS. I'm going to build my own CE.
22:10:13 <oerjan> this environmentalism has gone to far
22:10:21 <oerjan> *too
22:10:47 <cpressey> It will be like a Lisp machine WITH ROCKET WINGS.
22:12:07 <uorygl> Yay, a place where people speak Finnish.
22:12:22 <oerjan> it's called finland. hth
22:12:59 <uorygl> It's difficult to /connect to Finland, though.
22:13:33 <uorygl> Or is that /connect European Union, /join Finland? I'm not really sure.
22:13:51 <oerjan> which is weird given that irc was invented there
22:14:01 <uorygl> :P
22:17:14 <Phantom_Hoover> Hey, no-one's in #finland.
22:19:00 -!- GreaseMonkey has joined.
22:20:32 <Phantom_Hoover> cpressey, will you build a physical machine?
22:22:26 <uorygl> What's "opetella" in the first-person singular present?
22:22:28 <cpressey> Phantom_Hoover: Yes, but for an entirely different purpose. I like to keep my opponents on their toes.
22:23:00 <Phantom_Hoover> What will the purpose be?
22:23:08 <Phantom_Hoover> And who are your opponents?
22:23:58 <uorygl> Is it "opetelen"?
22:24:34 <cpressey> All who oppose me, of course!
22:24:41 <Phantom_Hoover> OK.
22:24:50 <cpressey> This includes most of Finland!
22:24:55 <Phantom_Hoover> What will the purpose of your hardware be?
22:25:00 <Phantom_Hoover> And why Finland?
22:25:10 <cpressey> Undecided as of yet.
22:25:20 <cpressey> Because their language is much cooler than my own, and I am jealous.
22:26:22 <Phantom_Hoover> Hm.
22:26:30 <Phantom_Hoover> Why is it so much cooler?
22:26:40 <Phantom_Hoover> Other than having far too many cases.
22:28:17 <cpressey> Well, http://www.reocities.com/Area51/Vault/1790/qfin.html for one.
22:31:41 <Phantom_Hoover> It just looks like a bunch of double letters to me
22:40:35 -!- ehirdiphone has joined.
22:41:10 -!- Phantom_Hoover has quit (Quit: Leaving).
22:41:11 <ehirdiphone> Anythinxcept'th'topikaloncept.
22:41:34 <uorygl> Lagaghism.
22:41:53 <ehirdiphone> Râism.
22:41:58 <uorygl> I was listening to this podcast once where some French guy explained that our perception of a number depends on the lagaghism of a number.
22:42:04 <cpressey> Welxepthorat.
22:42:11 <uorygl> "What?" said the interviewer.
22:42:23 <ehirdiphone> cpressey: Quite so.
22:42:32 <uorygl> Eventually, it was ascertained that he meant "logarithm".
22:42:40 <ehirdiphone> :D
22:42:46 <ehirdiphone> Which base!
22:43:33 <ehirdiphone> Also, I doubt our brains can efficiently calculate logarithms...
22:44:13 <cpressey> Yet we say "an order of magnitude difference" with ease.
22:44:23 <cpressey> And without specifying base.
22:44:27 <cpressey> I guess 10 is assumed.
22:44:47 <cpressey> Or "whatever fits my observations best at this moment", maybe.
22:45:30 <cpressey> Anywho.
22:45:32 <cpressey> What up ehirdiphone?
22:47:05 <GreaseMonkey> 'lo....
22:47:28 <GreaseMonkey> i'm going to try doing stuff with the 1541 floppy drive using x64
22:48:29 <uorygl> ehirdiphone: well, he meant that if we see a certain number of things, the strength of the stimulus is proportional to the logarithm of the number of things seen.
22:48:41 <ehirdiphone> Well, okay, but that's just counting base 10 digits cpressey
22:48:46 <GreaseMonkey> looks like $DD00 is what i want
22:48:58 <ehirdiphone> So, floor(log10(x)) is easy, sure.
22:49:12 <uorygl> Thus, if you go to the Pirahã, who don't use numbers, and show them a pile of one and a pile of nine, and ask them to construct a pile whose number lies exactly in between these two numbers, they'll generally make a pile of three.
22:49:29 <uorygl> What's right between : and :::::::::? ::: is, of course!
23:01:52 <ehirdiphone> One day the Pirahã are going to learn numbers and researchers are going to be SO fucked.
23:02:44 <ehirdiphone> Category theory.
23:02:57 <Sgeo> "That feeling, that "I built that" or "I grew that" or "I fed that guy" or "I made these pants" feeling, can't be matched by anything the internet has to offer.
23:02:57 <Sgeo> Read more: http://www.cracked.com/article_15231_7-reasons-21st-century-making-you-miserable.html#ixzz0rccE1CeE"
23:03:16 <Sgeo> Wrong. That's why I program. That's the feeling I get when I make something that other people use.
23:03:25 <Sgeo> hi ehirdiphone
23:07:10 <GreaseMonkey> "So did we really need a study to tell us that more than 40 percent of what you say in an e-mail is misunderstood? Well, they did one anyway."
23:07:14 <GreaseMonkey> yes, we did.
23:07:20 <GreaseMonkey> why? so we could get a number.
23:07:46 <ehirdiphone> I hypothesise that Sgeo has a brain powered entirely by pointless ego.
23:07:52 <ehirdiphone> Also ducks.
23:07:58 <Sgeo> Ducks? Thanks.
23:08:05 <ehirdiphone> GreaseMonkey: Were we running out of numbers?
23:08:21 <ehirdiphone> Sgeo: Something wrong with ducks?
23:08:28 <Sgeo> ehirdiphone, it was a reference
23:08:35 <GreaseMonkey> ehirdiphone: usually doesn't hurt to have another number
23:08:45 <GreaseMonkey> which may call for ANOTHER number
23:08:45 <ehirdiphone> Thanks, ducks. Thucks.
23:08:48 <GreaseMonkey> on numbers
23:09:09 <Sgeo> Also, is there anything wrong with getting paid in recognition instead of money? You said that I shouldn't do this project unless I'm getting paid
23:09:26 <ehirdiphone> Thanks, antidisestablishmentarianism. Thantidisestablishmentarianism.
23:10:00 <Sgeo> Bless you, antidisestablishmentarianism. Blantidisestablishmentarianism
23:10:16 <ehirdiphone> Sgeo: Caring about recognition and the like is pointless and you will probably grow out of it. Unless the revolution comes you will always need money.
23:10:58 <ehirdiphone> Ha @ Blantidisestablishmentarianism
23:11:36 <cpressey> After the revolution, you will be paid directly in Recognition.
23:11:42 <ehirdiphone> cpressey: Any esolangular happenings?
23:11:53 <ehirdiphone> cpressey: Shut up, Doctorow.
23:11:57 <cpressey> ehirdiphone: I'm stalled on my latest.
23:12:31 <ehirdiphone> (Whuffie from Down and Out in the Magic Kingdom, a book which I have not even read.)
23:12:39 <ehirdiphone> cpressey: Oh?
23:13:18 <Sgeo> How can one ever outgrow liking the feeling of "I made this. People like it."?
23:14:22 <cpressey> ehirdiphone: Well I had one set of semantics, and implemented them, and tried to complete them, and realized that the theme of the thing suggested I have completely different semantics.
23:14:26 <ehirdiphone> Sgeo: By learning to only value the opinions of people with valuable opinions, and also by becoming more independent so that your value system is not compromised by other people's.
23:14:48 <ehirdiphone> *values
23:14:53 <cpressey> When I get back to it, though, I should have something Turing-equivalent, and nifty. Just bored of it right now.
23:15:19 <ehirdiphone> cpressey: How many times have you inadvertently invented Haskell?
23:15:45 <cpressey> ehirdiphone: Er, well, I don't usually do lazy evaluation. So very few, I think.
23:15:48 <Sgeo> AFK
23:15:59 <ehirdiphone> cpressey: Lisp?
23:16:30 <cpressey> OK, *that* I have reinvented a few times.
23:16:37 <ehirdiphone> cpressey: TURKEY BOMB?
23:16:50 <cpressey> BASIC.
23:16:52 <cpressey> Actually, ...
23:17:01 <ehirdiphone> [cpressey runs away screaming.]
23:17:25 <cpressey> I really want a language where I can just type in 10 HGR: HPLOT 0,0-100,100 to get a freaking line drawn.
23:17:36 <ehirdiphone> fd 100
23:17:40 <cpressey> These days it's all messing with GUIs and crap.
23:17:45 <ehirdiphone> Turtle to the rescue.
23:18:16 <cpressey> Eh, yes. For a particular thing I'm thinking of, a bitmap would be nicer though.
23:18:28 <ehirdiphone> repeat :sides [fd :size rt (360/:n)]
23:18:36 <cpressey> maybe UCB logo supports that now, I should check.
23:18:36 <ehirdiphone> cpressey: Logo is bitmapped.
23:19:07 <ehirdiphone> It can export bitmaps afaik. At least, the MSWLogo port.
23:19:17 <ehirdiphone> *:sides, not :n
23:19:37 <cpressey> Can I say "rect xor 0 0 100 100" or the like?
23:20:21 <ehirdiphone> cpressey: Not the XOR part. And absolute addressing is discouraged in Logo, but you can do it.
23:20:53 -!- tombom has quit (Quit: Leaving).
23:20:59 <ehirdiphone> logo is nice because it's quite literally lisp without the patens plus a turtle
23:21:09 <ehirdiphone> *parens
23:21:20 <cpressey> Kinda sorta need the XOR part. Oh well, BASIC didna support that eir.
23:21:46 <ehirdiphone> Just write a fucking C library :P
23:22:00 <cpressey> Yeah, yeah...
23:22:26 * oerjan vaguely thinks oric basic had XOR. or maybe it was some pascal thing...
23:23:07 <ehirdiphone> for(x=startx; x<maxx; x++) for (y=starty; y<maxy; y++) gfx[x][y] = ~gfx[x][y];
23:23:23 <ehirdiphone> Is that your rect xor?
23:23:33 <oerjan> well, not in the context of rectangles, presumably
23:23:37 <ehirdiphone> Or no, that's just inverted.
23:24:06 <ehirdiphone> cpressey: Outputting TGA is a 15-line job, btw.
23:24:18 <ehirdiphone> Ultra-trivial format. Simpler than BMP.
23:24:27 <cpressey> Apple BASIC had an XOR for drawing shapes.
23:24:39 <cpressey> But not for plotting poitns in the bitmap, iirc.
23:24:44 <ehirdiphone> What is a XOR shape anyway?
23:25:41 <cpressey> Well, the "shapes" were basically little logo or postscript programs, again iirc - arrays of draw-line and rotate commands. They could be XOR'ed onto the bitmap.
23:25:56 * cpressey looks for an Apple II emulator.
23:26:03 <cpressey> That's probably what I really want anyway.
23:26:31 <ehirdiphone> uint24 bmp[width][height];
23:27:45 <ehirdiphone> cpressey: My favourite doodling tool: Haskell. You represent an infinitely-detailed image as [0, 1] -> RGB.
23:28:29 <ehirdiphone> Checkerboard is "times N, round, black or white for even odd"
23:28:31 <ehirdiphone> Er
23:28:39 <ehirdiphone> [0,1]^2
23:29:02 <ehirdiphone> i.e. (Double, Double) with range assumption
23:29:18 <ehirdiphone> Add Double argument for time: voilà, animation.
23:29:36 <cpressey> I did something similar with Prolog once. Er, well, actually Perl.
23:29:36 <ehirdiphone> Anyway, writing advanced helper functions is easy that way.
23:30:05 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:30:11 <cpressey> Easy to write a Mandelbrot generator in that, I imagine.
23:30:17 <cpressey> I should probably try that someday.
23:30:22 <cpressey> Argh, too many things to do.
23:31:38 <ehirdiphone> Lovely imaging trick: (x,y) is in the Sierpinski gasket iff x XOR y is zero.
23:33:24 <ehirdiphone> cpressey: It upsets me that nobody has perfectly rendered the Mandelbrot set.
23:33:51 <ehirdiphone> Since, afaik, membership is undecidable (requires an infinite computation to determine).
23:34:01 <ehirdiphone> So people just approximate.
23:35:25 <ehirdiphone> cpressey: You and dbc should have an epic duel.
23:35:32 <ehirdiphone> There can be only one.
23:36:19 <ehirdiphone> Back in a bit.
23:36:21 <cpressey> dbc and I are categorical duels.
23:36:27 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:38:06 <dbc> Only one what?
23:38:22 <cpressey> dbc: I have no idea.
23:39:33 <dbc> :)
23:44:09 -!- uorygl has quit (Ping timeout: 240 seconds).
23:46:04 -!- Warrigal has joined.
23:50:04 -!- sebbu2 has joined.
23:50:13 -!- Warrigal has changed nick to uorygl.
23:50:28 -!- sebbu has quit (Read error: Connection reset by peer).
23:50:36 -!- sebbu2 has changed nick to sebbu.
23:54:48 -!- relet has quit (Quit: Leaving.).
2010-06-23
00:00:27 -!- augur has quit (Ping timeout: 260 seconds).
00:06:42 -!- coppro has quit (Remote host closed the connection).
00:09:55 -!- cpressey has quit (Quit: Leaving.).
00:20:35 <olsner> oerjan: you broke our dutch guy, he speaks norwegian instead of swedish now!
00:22:23 -!- augur has joined.
00:23:53 -!- ehirdiphone has joined.
00:23:56 <ehirdiphone> Night.
00:24:05 <olsner> oerjan: oh! and incidentally he has the same name as you, only in dutch
00:24:18 <ehirdiphone> Orjanken.
00:24:26 <ehirdiphone> Night.
00:24:33 <CakeProphet> ehirdiphone: what became of Braces?
00:24:33 -!- ehirdiphone has quit (Client Quit).
00:24:45 <CakeProphet> :(
00:24:55 <olsner> we've been drive-by ehirded
00:26:36 -!- wareya_ has joined.
00:29:24 -!- wareya has quit (Ping timeout: 272 seconds).
00:36:37 -!- sebbu2 has joined.
00:38:16 -!- sebbu has quit (Ping timeout: 272 seconds).
00:38:16 -!- sebbu2 has changed nick to sebbu.
00:40:53 -!- coppro has joined.
00:53:57 -!- augur has quit (Ping timeout: 245 seconds).
00:55:54 -!- augur has joined.
00:56:10 <oerjan> olsner: wait, what?
00:57:05 <AnMaster> dbc, <cpressey> dbc and I are categorical duels. <-- what was that about?
00:57:39 <AnMaster> olsner, who would that be
00:57:47 <AnMaster> olsner, and indeed that seems seriously broken
00:58:15 -!- augur_ has joined.
00:59:49 -!- augur__ has joined.
01:00:20 <oerjan> who the heck is our dutch guy
01:00:41 -!- augur has quit (Ping timeout: 265 seconds).
01:01:08 <oerjan> categorical duel is clearly the same as a galois connection
01:02:42 <AnMaster> oerjan, argh
01:03:06 -!- augur_ has quit (Ping timeout: 265 seconds).
01:07:09 -!- augur has joined.
01:08:25 -!- augur__ has quit (Ping timeout: 265 seconds).
01:15:39 -!- augur_ has joined.
01:16:09 -!- augur has quit (Ping timeout: 265 seconds).
01:26:47 -!- augur_ has quit (Ping timeout: 265 seconds).
01:31:34 -!- uorygl has quit (Quit: Lost terminal).
01:32:07 -!- augur_ has joined.
01:33:47 -!- Gracenotes has quit (Ping timeout: 260 seconds).
01:35:32 -!- Gracenotes has joined.
01:37:09 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.3/20100401080539]).
01:39:07 <CakeProphet> has anyone else read Mathematicians in Love?
01:39:09 -!- Warrigal has joined.
01:39:58 -!- Mathnerd314 has joined.
01:40:21 <Sgeo> Anyone willing to join me in working on this project I've been working on?
01:40:30 <Sgeo> o.O at Warrigal not being named uorygl
01:40:35 -!- Warrigal has changed nick to uorygl.
01:40:38 <uorygl> Thanks for reminding me.
01:40:44 <uorygl> What's the project you're working on?
01:41:42 <Sgeo> A remake of a previous game on this platform
01:42:47 <Sgeo> It [at least the portion that's being programmed] is written in C#
01:46:14 -!- augur has joined.
01:48:03 -!- augur_ has quit (Ping timeout: 265 seconds).
01:49:59 <CakeProphet> Sgeo: it's a virtual world kind of thing right? If I didn't have so much on my plate right now then I would actually consider it.
01:50:40 <Sgeo> Yes, but the "virtual world" bit is already programmed long ago, we don't need to handle how to display stuff, or networking issues, etc. etc.
01:52:34 <Sgeo> Hm, thank you anyway
01:55:47 -!- augur has quit (Ping timeout: 265 seconds).
01:56:09 -!- augur has joined.
02:00:57 -!- wareya_ has changed nick to wareya.
02:02:58 <CakeProphet> Sgeo: ah, so scripting more or less?
02:03:28 <Sgeo> Not really :/
02:03:32 <CakeProphet> hmm, ah
02:03:42 <CakeProphet> it would be nice to have a scripting engine of some kind. Maybe use Lua.
02:03:50 <Sgeo> Even things that should probably be scripted really aren't :/
02:04:00 <Sgeo> We could add a scripting engine to the bot, but I'm not sure if it's worth it
02:04:10 <CakeProphet> yeah. possible
02:04:25 <CakeProphet> It would depend on how big of a project it was.
02:04:28 <CakeProphet> I assume not very big.
02:04:36 <Sgeo> There's a grand total of 7 puzzles that will be programmed, 6 of which have already been programmed in C#
02:05:01 <Sgeo> It feels big, but maybe that's because of the hiatuses I've taken, and the repeated rewrites, etc. etc.
02:06:28 <GreaseMonkey> lua is actually harder than it sounds to parse
02:06:43 <GreaseMonkey> a lua vm isn't particularly hard, though
02:06:57 <Sgeo> I think I saw some Lua parser for C# though
02:07:07 <GreaseMonkey> i tried making a lua bytecode compiler in lua
02:07:12 <GreaseMonkey> the point? i have a lua vm in java
02:07:42 <Sgeo> The thing is, at this late stage, there's not much point in suddenly adding scripting
02:08:00 <Sgeo> Although the virtual world does have limited scripting abilities, which I do take advantage of, instead of hardcoding in the bot
02:08:36 <Sgeo> I'm pretty sure it's not TC though, and things that happen tend either not be visible to anyone but the one person, or to everyone around at the time, but no one else
02:24:51 -!- FireFly has quit (Quit: swatted to death).
02:24:57 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:32:56 -!- cal153 has quit.
02:42:17 -!- coppro has quit (Remote host closed the connection).
02:42:50 -!- coppro has joined.
02:43:51 <coppro> I need to stop using Firefox
02:48:07 <Sgeo> Chrome++
02:50:30 <wareya> I need to stop using chrome
02:50:45 <wareya> the UI is screwet
02:50:49 <wareya> screwey*
02:52:45 -!- Halph has joined.
02:53:18 -!- coppro has quit (Read error: Connection reset by peer).
02:53:30 -!- Halph has changed nick to coppro.
03:04:30 -!- uorygl has quit (Remote host closed the connection).
03:05:12 <CakeProphet> I think I'm going to make a little Python library
03:05:23 <CakeProphet> that takes a function, extracts the source code, and saves it to a file
03:05:28 <CakeProphet> so I can save snippets of things I'm doing in the shell.
03:05:38 <CakeProphet> s/saves/appends/
03:07:25 -!- pikhq has joined.
03:11:06 <oerjan> CakeProphet: i'm not sure python actually preserves the source code of functions after they're defined...
03:11:34 -!- CakeProphet has quit (Ping timeout: 252 seconds).
03:12:40 -!- CakeProphet has joined.
03:15:57 -!- augur has quit (Read error: Connection reset by peer).
03:16:34 -!- augur has joined.
03:25:01 -!- olsner has quit (Ping timeout: 264 seconds).
03:28:06 -!- augur has quit (Ping timeout: 265 seconds).
03:36:03 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
03:36:19 -!- olsner has joined.
03:36:34 -!- augur has joined.
04:08:36 -!- mtve has quit (Ping timeout: 265 seconds).
04:10:38 -!- mtve has joined.
04:12:54 <CakeProphet> hmmm... are PRNG less random on small ranges of values?
04:13:12 <CakeProphet> my coin toss function in Python seems a little wonky to me.
04:13:46 <oerjan> they're frequently less random on lower bits
04:14:36 <oerjan> so using modulo to reduce the range is not recommended
04:15:12 <oerjan> this all presumably depends on exactly which PRNG is used
04:15:33 <coppro> While they've improved, a 'typical' PRNG will probably fail the 3- or 4-dimensionality test
04:16:24 <oerjan> CakeProphet: there is of course also the possibility you have an actual bug :D
04:17:04 <CakeProphet> ha. In Python?
04:17:06 <CakeProphet> import random
04:17:09 <CakeProphet> random.randint(0,1)
04:17:16 <CakeProphet> I'v got at lest one one and one zero
04:17:30 <oerjan> right... that _should_ be taken care of, then
04:17:39 <CakeProphet> on an unfortunate note
04:17:52 <CakeProphet> the inspect module in Python cannot grab source lines from functions defined in a shell
04:18:12 <oerjan> CakeProphet: that's what i suspected above
04:18:19 <CakeProphet> this greatly saddens me. Sometimes I make some useful little script-like function things, but I never take the time to save them.
04:19:01 <CakeProphet> I guess it makes sense. It would be ridiculous to save a source string for every function defined. Like the __doc__ attribute.
04:19:12 <oerjan> CakeProphet: hm, maybe you can find another way to save lines as they are entered?
04:19:41 <CakeProphet> hrm...
04:19:51 <CakeProphet> would require some kind of debugger magic.
04:19:57 <CakeProphet> I think.
04:20:19 <CakeProphet> I don't know how Python's debugger module works. But I've seen an implementation of goto and come from in Python that uses it.
04:20:23 <oerjan> well some hook into the input routine the python repl uses, or something?
04:20:53 <CakeProphet> perhaps. Not sure if it has said hook. I'll look around, just not at the moment. It is definitely something I desire.
04:21:28 <CakeProphet> I'd love to just have a file that has functions I've defined in shell appended to it... actually I'd have more than one. One uncategorized and others with definite categories.
04:21:57 <CakeProphet> ....here's a cool idea. Why not have functions that do things like "move source of function F in module A to module B"
04:22:09 <CakeProphet> that seems pretty useful. I'd imagine it being faster than copying and pasting.
04:23:08 * oerjan suspects that's such a thing as them thar newfangled eye dee ee things do...
04:23:30 <CakeProphet> yeah... but I can never find one I like. The interfaces are always ridiculous.
04:23:40 <CakeProphet> and I've never had the patience to sit down and learn something like emacs.
04:23:54 <CakeProphet> oerjan: what IDEs do you use?
04:24:14 <oerjan> none either, just vim
04:24:26 <oerjan> i'm a very small scale programmer at best
04:24:41 <CakeProphet> my computer is kind of slow. I'm working on an Android app right now and Eclipse is dismally slow.
04:25:01 <CakeProphet> I usually just use gedit... but there are some manual text-editing things I do that I really wish I could automate.
04:27:33 <CakeProphet> I might try emacs just because it seems kind of tailored to that kind of thing.
04:28:11 <CakeProphet> Might as well learn all the esoteric key combinations. And programming in some crazy aspect-oriented Lisp dialect sounds fun.
04:28:45 <CakeProphet> in any case
04:28:51 <CakeProphet> I'm going to go get fucked up and then study some history
04:28:57 <CakeProphet> see everyone later.
04:29:08 -!- CakeProphet has quit (Quit: leaving).
04:38:40 -!- augur has quit (Ping timeout: 265 seconds).
04:41:55 -!- oerjan has quit (Quit: Lost terminal).
04:47:49 -!- Warrigal has joined.
05:02:22 -!- yiyus has quit (Ping timeout: 272 seconds).
05:08:19 -!- GreaseMonkey has joined.
05:10:29 <GreaseMonkey> lag: 37.1 seconds
05:10:37 -!- GreaseMonkey has quit (Client Quit).
05:20:10 -!- yiyus has joined.
05:23:59 -!- augur has joined.
05:28:56 -!- augur has quit (Ping timeout: 265 seconds).
05:51:29 -!- augur has joined.
06:00:21 -!- augur has quit (Ping timeout: 265 seconds).
06:09:17 -!- coppro has quit (Ping timeout: 240 seconds).
06:20:51 -!- Warrigal has changed nick to uorygl.
06:24:05 -!- Gracenotes has quit (Ping timeout: 240 seconds).
06:58:36 -!- coppro has joined.
07:01:28 -!- tombom has joined.
07:11:37 -!- Sgeo_ has joined.
07:14:13 -!- Sgeo has quit (Ping timeout: 264 seconds).
07:34:04 -!- cal153 has joined.
07:49:13 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:30 -!- pikhq has quit (Remote host closed the connection).
08:19:07 -!- augur has joined.
08:19:41 <augur> future alise: comic for you? http://www.picturesforsadchildren.com/index.php
08:20:02 <augur> dont respond via logs, i dont log read. ping until i respond.
08:21:40 -!- CakeProphet has joined.
08:21:55 <CakeProphet> Are there any register/stackvirtual machine hybrids?
08:38:29 -!- CakeProphet has quit (Ping timeout: 240 seconds).
08:46:30 -!- CakeProphet has joined.
08:59:25 -!- Deewiant has quit (Remote host closed the connection).
09:02:30 -!- Deewiant has joined.
09:03:18 -!- coppro has quit (Remote host closed the connection).
09:41:23 -!- MizardX has joined.
09:49:21 -!- MigoMipo has joined.
11:04:17 -!- FireFly has joined.
11:18:42 -!- ais523 has joined.
11:20:08 -!- cal153 has quit.
11:38:47 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.4/20100611143157]).
11:49:06 -!- BeholdMyGlory has joined.
11:49:47 -!- ais523 has quit (Read error: Connection reset by peer).
11:50:19 -!- ais523 has joined.
11:59:11 <cheater99> hai
11:59:17 <ais523> hi
12:08:16 -!- oerjan has joined.
12:11:55 <oerjan> xkcd :D (especially the hovertext)
12:18:33 <AnMaster> hm, I don't get the hover text. *googles that word*
12:18:50 <oerjan> consider yourself lucky :D
12:19:36 * oerjan only knows because he sometimes reads newspapers
12:19:59 <AnMaster> I don't during summer
12:20:09 <AnMaster> and never the sports pages
12:20:41 <oerjan> oh and of course because there have been reddit links about it
12:23:29 <ais523> amusing spam seen at Slashdot: That is one of the greatest things ever.That is one of the most incredible feelings on Earth.Thank you for bringing a well thought out and reasoned comment to the discussion. <a href="[snip]">Cheap Wholesale T-shirts</a>
12:23:34 <ais523> where I snipped out the link location
12:23:49 <AnMaster> hah
12:24:06 <ais523> (also, converted HTML to plaintext for IRC purposes)
12:24:13 <ais523> even funnier, it wasn't actually in reply to anything
12:24:56 <oerjan> ais523: this feels relevant: http://www.theonion.com/articles/amazing-new-hyperbolic-chamber-greatest-invention,1321/
12:25:08 * AnMaster wonders if 98 SEK / month is cheap or expensive for 3G. Includes 1 GB data traffic / month at 6 Mbit/s, after that reduced to crawl speed but doesn't cost extra.
12:25:20 <ais523> how much is an SEK?
12:25:22 <AnMaster> 5000 free SMS / month (would never reach that limit)
12:25:28 <AnMaster> ais523, in which currency?
12:25:36 <ais523> any I know the value of
12:25:39 <ais523> although preferably GBP
12:25:47 <AnMaster> sec
12:25:55 <AnMaster> 98 Swedish kronor = 8.47548881 British pounds
12:25:57 <AnMaster> says google
12:26:07 <ais523> hmm, seems pretty good
12:26:19 <AnMaster> hm
12:26:24 <ais523> but I'm not sure how much it /should/ cost, I don't have a mobile
12:26:29 <AnMaster> hah
12:54:40 -!- Mathnerd314 has joined.
12:57:10 -!- Gracenotes has joined.
13:18:38 <cheater99> is alise canned again
13:20:12 <oerjan> cheater99: yes but he sometimes sneaks in here as ehirdiphone
13:20:28 <cheater99> i thought that was just for one week
13:20:38 <cheater99> how did she get holed up again?
13:21:02 <oerjan> cheater99: it's _every_ week, more or less.
13:21:17 <cheater99> what about those long weeks where she was out
13:21:22 <oerjan> they're demanding he live there
13:21:36 <cheater99> is that because of her gender ambiguosity?
13:22:03 <cheater99> eh, either way
13:22:09 <oerjan> cheater99: well there was one week recently when he had some days off, presumably because school's out or something...
13:22:19 <cheater99> i just hope alise gets out quickly
13:22:27 <cheater99> so we can abuse her on irc here
13:22:56 <oerjan> cheater99: there is no gender ambiguity, just a joke based on a nick change
13:23:15 <cheater99> that's the way.... you see things.
13:23:57 <oerjan> well alise _has_ mentioned he's often mistaken for female irl, but i have had no impression he really wants to be
13:24:46 <cheater99> admission will come.
13:24:55 <oerjan> perhaps, perhaps :D
13:25:07 <AnMaster> I doubt it
13:25:08 <cheater99> why would you admit being mistaken for a girl if you didn't secretly wish you were one?
13:25:14 <oerjan> just as long as he doesn't go as crazy as fax
13:25:27 <AnMaster> cheater99, because you don't have a huge ego admitting that is no issue?
13:25:37 <cheater99> ?
13:25:55 <AnMaster> I refuse to explain this joke
13:27:19 <cheater99> that was a joke?
13:27:22 <cheater99> you have failed me.
13:27:33 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.4/20100611143157]).
13:28:04 -!- MigoMipo has quit (Remote host closed the connection).
13:28:44 -!- MigoMipo has joined.
13:29:36 -!- MigoMipo has quit (Remote host closed the connection).
13:29:50 <cheater99> that's moderately cool
13:30:00 <cheater99> i have xchat maximized
13:30:06 <cheater99> and i cannot switch to any other apps
13:31:37 -!- MigoMipo has joined.
13:31:42 <AnMaster> cheater99, what is moderately cool?
13:31:56 <cheater99> the thing i just mentioned.
13:31:59 <AnMaster> ah
13:32:15 <AnMaster> cheater99, that referred to something you was going to say. I see
13:32:19 <AnMaster> confused me a bit
13:34:45 <oerjan> the joke struck a time traveling paradox and ceased to have ever existed
13:34:55 <oklopol> gender ambiguosity?
13:35:15 <oklopol> oh okay
13:35:19 <oerjan> oklopol: alise likes to use female pronouns with his nick
13:35:31 <oklopol> cheater99: little kids occasionally mistake me for a girl
13:35:40 <oerjan> NOOOOO
13:35:55 <oerjan> oklopol: you're supposed to be this channel's epitome of masculinity
13:36:23 -!- BeholdMyGlory has quit (Remote host closed the connection).
13:37:10 <oklopol> well i have long hair, that's enough for kids occasionally
13:37:38 <oklopol> and according to some people i also look somewhat girlish, which is weird because i almost never shave my highly irregular beard
13:38:16 <oklopol> but okay i'll try to keep epitomizing
13:38:24 <oklopol> i was just not aware of this
13:38:28 * oerjan has no idea how oklopol looks, actually, as evidenced by the fact he had no idea oklopol had a beard
13:38:39 <oklopol> well i haven't had one for all that long
13:38:46 <oerjan> although beards are masculine, so that's ok
13:38:55 <oklopol> but just like my hair, i usually just let it grow as much as it likes
13:39:05 <oklopol> and in any shape
13:39:34 <oklopol> just like i don't cut my body parts if they grow too big
13:39:36 <oerjan> in fact the only person on the channel i know/can remember how looks is gregor
13:39:44 <oerjan> oh wait there is one more person
13:39:47 <oklopol> i used to have a book on frappr
13:39:59 <oerjan> (the obvious one)
13:40:10 <oklopol> but that was the only picture online afaik, i actually doubt many people have access to any kinds of pictures of me
13:40:22 <oklopol> (i don't)
13:40:36 <oklopol> oh wait i did take those vids
13:40:41 <oklopol> where i played the piano naked
13:40:49 <oerjan> ...right
13:41:03 <oklopol> now i kinda wanna go play the piano naked
13:41:11 <oerjan> SUIT YOURSELF
13:41:16 <oklopol> :DDDDDDDDDDDDDDDDDD
13:41:33 <oklopol> i'm assuming you still shave regularly?
13:41:33 <oerjan> wait, that's actually ambiguous
13:41:37 <oerjan> yes
13:41:38 <oklopol> wasn't that the point?
13:41:53 <oerjan> nope, only discovered it after pressing enter
13:42:07 <oklopol> i have a hard time believing that :\
13:42:30 <oerjan> my unconscious has a mind of its own
13:42:31 <oklopol> it was probably clear what i was implying by "still", that was accidental meanness.
13:43:04 <oklopol> (not sure you noticed so maybe it would've been more polite not to mention it :D)
13:43:13 <oerjan> i'm not aware of beards stopping to grow, usually. now the top of my head on the other hand...
13:43:45 <oklopol> oh no i meant because i've understood you're basically a hermit :D
13:43:52 <AnMaster> oerjan, wait you mean it wasn't intentional to refer to wearing a suit there?
13:44:01 <AnMaster> like oklopol I have a hard time believing that
13:44:02 <oerjan> AnMaster: nope it wasn't
13:44:23 <AnMaster> <oklopol> i'm assuming you still shave regularly? <-- do you?
13:44:38 <ais523> I don't shave at all
13:44:43 <AnMaster> nor do I
13:44:44 <AnMaster> well
13:44:59 <ais523> I like my beard
13:45:02 <oklopol> oh, actually i guess i can believe you were saying "as you wish", for some reason i thought you meant "put some clothes on" and it was an accident that it was an idiom xD
13:45:05 <AnMaster> I need to do something about the moustache sometimes. Otherwise it interferes with eating
13:45:06 <AnMaster> :/
13:45:09 <oklopol> AnMaster: no, i do not
13:45:11 * oerjan suddenly realizes he's in a dark channel with a lot of men with full beards
13:45:16 <AnMaster> but apart from that I don't shave
13:45:29 <AnMaster> oerjan, alas mine grow slowly...
13:46:01 <oklopol> i just meant oerjan seems like the kind of person who would shave his beard every morning (at 12:13) years after stopping to go out of his house
13:46:08 <AnMaster> I have very thick hair on top of my head, but my beard is less well behaved. :(
13:46:20 <AnMaster> oklopol, XD
13:46:41 <oerjan> oklopol: i haven't stopped to go out of the house
13:46:47 <oklopol> i'm just making sure you understand i was implying this, because otherwise it makes no sense i apologized for it
13:46:53 <oklopol> oerjan: i know, added some joking
13:47:07 <AnMaster> outside? I heard rumours of this place
13:47:12 <AnMaster> strange place I heard
13:47:16 <oklopol> i mean i do know everything you have *told* me about your routines
13:47:19 <AnMaster> no roof.
13:47:25 <AnMaster> isn't it just mystical?
13:47:27 <oklopol> AnMaster: what about rain then?
13:47:30 <oklopol> buckets?
13:47:32 <AnMaster> oklopol, you mean the shower?
13:47:34 <ais523> if oerjan wasn't Norwegian, I could imagine him spending his entire day in an immaculate suit
13:47:41 <oklopol> AnMaster: ohh that's what it's for
13:47:42 <ais523> but somehow that strikes me as not being a particularly Norwegian thing to do
13:47:57 <AnMaster> s/mystical/mythical/
13:47:58 <AnMaster> typo there
13:48:00 <oerjan> AnMaster: i have no idea how my beard behaves because i've never let it grow, it starts annoyingly itching after 2/3 days
13:48:17 <oerjan> ok i guess technically that's a part of its behavior
13:48:23 <AnMaster> oerjan, ah but that passes if you wait a bit more IME
13:48:28 <oklopol> yeah, i guess my shaving guess was based on the fact oerjan looks a bit like a bible salesman
13:48:54 <AnMaster> ais523, oerjan isn't very Norwegian. Doesn't like skiing iirc!
13:48:55 <oklopol> (again, i don't actively remember faces so i cannot say this is really my opinion, vague recollection :D)
13:49:26 <oklopol> i think i've seen ais523 too but i confuse him with this really bearded dude from uni
13:49:28 <oerjan> oklopol: the rain is just because the outside is leaking, no wonder with no roof
13:49:36 * AnMaster listens to Gregor's music.
13:49:46 <AnMaster> Gregor, I really like the wipp previews of op13
13:50:08 <oklopol> Gregor: all your music sucks ass in general, and you should stop composing and become a bricklayer.
13:50:20 <oklopol> fuck you, seriously
13:50:26 <AnMaster> oklopol, what?
13:50:27 <oklopol> where's his musics again btw?
13:50:32 <oklopol> AnMaster: i'm trying new things
13:50:33 <AnMaster> oklopol, codu.org
13:50:36 <oklopol> remember, new oklopol
13:50:40 <oklopol> oh right
13:50:53 <oklopol> that webpage the name of which i've heard 70 times
13:50:54 <AnMaster> oklopol, http://codu.org/music/ and http://codu.org/music/wipp.php to be more specific
13:51:05 <oerjan> oklopol: the only picture of me you can possibly have seen _does_ look a bit like a bible salesman, come to think of it
13:51:16 <ais523> <oerjan> oklopol: the rain is just because the outside is leaking, no wonder with no roof <-- took me about 10 seconds to figure out that that was a joke
13:51:18 <oklopol> oerjan: can you up a more recent one?
13:51:25 <ais523> instead I just thought I'd missed context
13:51:34 <AnMaster> oerjan, what photo is that?
13:51:49 <oklopol> ais523: that was why i asked "buckets?", that was actually sort of *my* joke
13:52:03 <AnMaster> <ais523> instead I just thought I'd missed context <-- instead of what?
13:52:07 <oerjan> oklopol: i have no digital camera in any form. although my dad is insisting on financing a new cell phone for my birthday so that may change
13:52:08 <oklopol> that the roof must be very leaky given there isn't one
13:52:14 <oklopol> oerjan: coool
13:52:20 <ais523> AnMaster: instead of oerjan having made a joke
13:52:21 <oklopol> can you play the piano naked?
13:52:34 <ais523> oklopol: what a strange question
13:52:42 <oklopol> ais523: i meant, oerjan in the pic
13:52:49 <ais523> if it's directed at me, given a suitable piano I can play it while wearing clothes, and I'm not sure if the lack of the clothes would make a difference
13:52:51 <oklopol> you may have missed the context for that
13:52:54 <ais523> ah
13:53:05 <AnMaster> ais523, which ones of the jokes?
13:53:17 <AnMaster> oh that one
13:53:18 <AnMaster> right
13:53:34 <oklopol> i have videos of my playing the piano naked online
13:53:50 <oklopol> (you can't see anything, but technically)
13:53:54 <AnMaster> ...
13:54:15 <fizzie> I don't suppose there's any nice assembler-oriented text frontend for GDB? Something simple, with a disassembly view, IP highlight, single-key single-step, and register values continuously visible in a separate pane or something. (I've used cgdb with single-key macros of "stepi" and "info registers", but it's still a bit pessimal.)
13:54:32 <AnMaster> fizzie, um. set gdb language to asm iirc?
13:55:19 <AnMaster> fizzie, or have you tried that already? As for frontend in general, something like ddd can probably set up to show registers in a separate pane
13:55:32 <AnMaster> but it was years ago I used any frontend for gdb at all
13:55:38 <oerjan> AnMaster: http://oerjan.nvg.org/face.gif~ (must be about 15 years old by now)
13:55:58 <AnMaster> fizzie, also I suppose there is some emacs fontend for gdb that could do this. There is bound to be one almost by definition
13:56:30 <AnMaster> oerjan, wrong mime type
13:56:34 <fizzie> Setting the language doesn't really do much; you still have to type out "info registers" every time you want to see the values. And there's no permanently-visible-with-current-row-highlighted disassembly view either. It's not *bad*, it's just not quite what I want.
13:56:37 <oklopol> yeah i had no idea you look like that
13:56:40 <AnMaster> oerjan, wants to save as attachment
13:56:47 <oklopol> absolutely no idea
13:57:01 <AnMaster> Opening 'http://oerjan.nvg.org/face.gif~' failed: Procedure 'file-uri-load' returned no return values
13:57:06 <oklopol> seen that guy tho, not sure where, without cheating
13:57:06 <AnMaster> oerjan, doesn't work in gimp either
13:57:24 <fizzie> ddd is (well, was five-ten years ago) pretty horrible; cgdb is at least a text-based thing.
13:57:30 <AnMaster> oh wait
13:57:40 <AnMaster> oerjan, that is you?
13:57:55 * AnMaster tries to remember the name of that reverse image search engine
13:57:55 <oerjan> AnMaster: yep
13:58:06 <AnMaster> because that face seems familiar too
13:58:10 <oklopol> oerjan: can you see how to construct X and Y such that there is no injection from one to the other?
13:58:14 <oerjan> i doubt it's anywhere else
13:58:34 <oklopol> i've been trying to do this, but i have a very limited set of tools for this in my head
13:58:34 <AnMaster> fizzie, hm
13:59:01 <oerjan> oklopol: um in ZFC there always is
13:59:24 <oklopol> oerjan: sorry yesterday's context
13:59:33 <oklopol> computable injections
13:59:37 <oklopol> subsets of N
13:59:41 -!- Quadresce` has joined.
13:59:54 <fizzie> There's something in Emacs, but, well.
14:00:50 -!- Quadresce` has quit (Remote host closed the connection).
14:00:58 <oerjan> AnMaster: btw it's the wrong mime type because i've appended ~ in order that it _not_ appear on the web - face.gif was used for some nvg.org directory page at one time
14:00:59 <oklopol> btw maybe a bit nontrivial (but probably not), there exists a set that's properly smaller than N w.r.t. injections, and properly bigger than it w.r.t. surjections
14:01:00 <AnMaster> fizzie, what?
14:01:05 <AnMaster> fizzie, are you a vim user?
14:01:07 <AnMaster> or something
14:01:19 <oklopol> so you see what those terms mean or do i define? or actually do you care at all?
14:02:02 <fizzie> I guess I'll have to try it. It does have some sort of "gdb-many-windows" variable which makes it show up a register buffer (where you can even edit the values).
14:02:18 <AnMaster> fizzie, never tried it myself
14:03:02 <oerjan> oklopol: well i can guess what they mean but it's not a subject i know about
14:03:04 <oklopol> anyway the set of (encodings of, or as an instance of the same problem for subsets of {0, 1}^*) prefices of the binary expansion of an uncomputable real number
14:03:24 <oklopol> oerjan: well to me it's a subject i invented yesterday
14:03:27 <AnMaster> fizzie, oh and can't gdb itself support split windows? Or is that only for showing source in the upper half?
14:03:55 <fizzie> I don't really know about that. I guess I should read the manual there.
14:04:07 <AnMaster> fizzie, hm are you an emacs or vim user?
14:04:12 <AnMaster> I don't remember
14:04:32 <fizzie> I'm both, which is even worse, I guess.
14:04:35 <fizzie> "The gdb Text User Interface (TUI) is a terminal interface which uses the curses library to show the source file, the assembly output, the program registers and gdb commands in separate text windows."
14:04:41 <fizzie> That doesn't sound so bad.
14:04:50 <ais523> fizzie: heh, it's well-known that most of the people in this channel either use both vim/emacs, or neither
14:04:56 <ais523> except by a few trolls
14:05:06 <oerjan> oklopol: well any subset of N is properly smaller wrt injections, and if you make it include some simple infinite set like all even numbers it will be bigger by surjections. then you can probably tweak the odd subset to be too complicated to have a computable bijection
14:05:08 <ais523> thus, the answer to "are you an emacs or vim user" should be "yes" or "no"
14:05:23 <AnMaster> ais523, emacs, kate, nano for me
14:05:34 <oklopol> oerjan: no any two RE sets are the same size for instance, with both definitions
14:05:46 <ais523> AnMaster: I use something like six or seven editors
14:05:52 <ais523> most commonly emacs and gedit, though
14:05:58 <oerjan> oklopol: well the set cannot be RE then...
14:06:07 <AnMaster> well, I do use gedit if there is no other option
14:06:11 <oklopol> indeed it can't
14:06:24 <ais523> I use gedit for little things for which notepad would be sufficient
14:06:55 <oklopol> or wait maybe i'm misunderstanding what you're saying
14:07:29 <oerjan> ais523: yay i'm a troll now (never use emacs these days, only vim)
14:07:43 <oklopol> "well any subset of N is properly smaller wrt injections" <<< this i don't think is true, "if you make it include some simple infinite set like all even numbers it will be bigger by surjections" is not either afaiu
14:07:51 <ais523> oerjan: I meant, it was a troll who recently tried to make everyone side with emacs or vim
14:08:23 <oklopol> X is properly inj-smaller than Y if there's an injection from X to Y but not from Y to X, for surjs the other way around, just to make sure.
14:08:48 <oerjan> oklopol: um the identity function will be an injection, and division by 2 function will be a surjection
14:09:02 <oerjan> oh hm
14:09:26 <AnMaster> oerjan, on what set would division by two be a surjection?
14:09:27 <oerjan> ok having all evens would ruin the lack of a reverse injection
14:09:31 <oklopol> well explain whether those statements were actually wrong or if i misunderstood you
14:09:40 <oerjan> AnMaster: integer division
14:09:45 <AnMaster> oerjan, ah
14:10:03 <AnMaster> oerjan, Would be a bijection on R clearly
14:10:12 <oerjan> oklopol: no by your definition what i said isn't smaller by injection
14:10:16 <oerjan> AnMaster: or Q
14:10:51 <AnMaster> oerjan, well yes
14:11:14 <oklopol> oerjan: so... were you wrong? and which of those two statements are you referring to?
14:11:37 <oklopol> talking is so complicated :-P
14:11:44 <oerjan> oklopol: my example was wrong
14:11:47 <oklopol> okay
14:13:09 <oerjan> oklopol: however this means there could be no computable injection from N to X, if Y is a subset of N
14:13:23 <oklopol> so basically the question is, by those definitions, can we find two sets that are comparable in size in both ways (inj and surj), but disagree on those
14:13:42 <oklopol> (meaning we probably shouldn't think of them as sizes...)
14:13:47 <oerjan> oklopol: which is actually stronger than X being non-RE, isn't it
14:14:00 <oklopol> i believe so
14:15:05 <oklopol> (anyway i already gave the answer, i guess you must've missed it)
14:15:06 <oerjan> in fact X should have no infinite RE subset
14:15:10 <oklopol> yep
14:15:36 <oklopol> the prof i mentioned this to's first thought was that's impossible
14:15:45 <oklopol> first time i outsmarted him
14:15:56 <oklopol> (by at least 10 seconds)
14:16:01 <oerjan> oklopol: that uncomputable real prefix thing?
14:16:04 <oklopol> yeah
14:16:38 <AnMaster> is X a specific set or "any set" here?
14:17:02 <oklopol> the idea generalizes muchly, say to functions from N to N, taking the language {f(1)#...#f(n) | n \in N}
14:17:28 <oklopol> if you have an infinite RE subset, then f(N) is RE too
14:17:33 <oklopol> AnMaster: any subset of N
14:18:17 <oklopol> we're talking about computable functions between subsets of N, f : X -> Y, defined with tm's that, given and element of X give you an element of Y, and can do anything outside X (even not halt)
14:18:38 <oklopol> (i don't know if this definition has been mentioned, you might disagree on its naturality)
14:19:11 <AnMaster> oklopol, ah
14:19:34 <AnMaster> oklopol, ah
14:19:37 <oerjan> oklopol: sounds like what i thought. anyway, see you later
14:19:41 <AnMaster> hm
14:19:45 <oklopol> okay bye
14:19:55 <AnMaster> sounds quite interesting
14:20:03 -!- oerjan has quit (Quit: Bye!).
14:20:39 <oklopol> i think it is, i'm pretty sure it should be embeddable in something like recursion theory, but the one prof i asked saw no direct connection (not really his area)
14:20:41 <AnMaster> oklopol, you mean so that it gives you an injection from X to Y?
14:21:07 <oklopol> no it does not have to be an injection, the definition of computable injection is that it's also an injection, as one might guess :)
14:21:30 <oklopol> and surjections mean Y is sort of "RE, once you know X"
14:21:38 <AnMaster> oklopol, ah, so it can give the same element of Y for several elements of X then?
14:22:15 <AnMaster> or do you mean that there can be several elements of Y mapping to the same element of X? Or both of these?
14:22:20 <oklopol> AnMaster: it can be any function, we just require that elements of X go inside Y, otherwise the tm can do anything it likes.
14:22:31 <AnMaster> oklopol, ah
14:22:32 <oklopol> Y doesn't map to X
14:22:35 <oklopol> X maps to Y
14:22:46 <oklopol> deterministic turing machiens
14:22:48 <oklopol> *machines
14:23:05 <AnMaster> oklopol, so the function f(x) = 1 where {1,2,3} satisfies this then?
14:23:15 <AnMaster> err where Y = {1,2,3}
14:23:16 <AnMaster> I meant
14:23:21 <AnMaster> that Y = dropped out somewhere
14:23:42 <oklopol> yes, a tm computing that can be given any domain
14:24:10 <AnMaster> oklopol, well I meant "so constant function is okay then?" with that
14:24:18 <AnMaster> hm
14:24:27 <oklopol> and my answer applies to that
14:24:30 <oklopol> yes, it's oikay
14:24:31 <AnMaster> right
14:24:31 <oklopol> *oaky
14:24:33 <oklopol> *oaky
14:24:36 <oklopol> *fuck it
14:24:42 <AnMaster> oklopol, heh
14:24:59 <fizzie> Oaky oklopol. Alliteration!
14:25:12 <oklopol> but i haven't even been able to prove there are two sets that are incomparable, that is, two sets with no injection either way
14:25:36 <ais523> oklopol: {Chuck Norris} and the natural numbers
14:25:38 <oklopol> currently my definition of size is with injectivity, X is smaller than Y if there's an injection from X to Y. this is natural because if X is a subset of Y then identity works
14:25:56 <oklopol> *smaller than of equal size
14:26:01 -!- rodgort has quit (Quit: Coyote finally caught me).
14:26:05 <oklopol> (not really a direct substitution)
14:26:47 <oklopol> but it's obvious to me that subsets of N aren't totally ordered with this definition
14:27:22 <oklopol> i mean totally comparable, you'll get a partition into equivalence classes ofc, because injections are a preorder
14:27:28 <AnMaster> ais523, why Chuck Norris?
14:27:46 <AnMaster> or was that a bad chuck norris joke?
14:27:48 <ais523> AnMaster: because you can't compare him with a natural number, or indeed anything else
14:27:56 <AnMaster> okay then it was
14:28:55 <fizzie> Terminilogy seen during a wikipedia browsing run: "A totally ineffable cardinal is a cardinal that is n-ineffable for every n." It's nice that there's a techical definition for that word too.
14:29:25 <AnMaster> oklopol, hm are there any incomparable sets? Or is that not yet proven either way?
14:31:32 <Deewiant> http://www.ashleymills.com/?q=befunge_applet_lite treats undefined commands as 'push ASCII value of command on stack'
14:31:53 <Deewiant> Is there any precedent for that?
14:32:24 -!- rodgort has joined.
14:33:36 <AnMaster> Deewiant, not that I can remember
14:33:50 <fizzie> It does sound weird to me.
14:33:55 <AnMaster> Deewiant, 93?
14:33:58 <Deewiant> Yes, 93
14:34:03 <Deewiant> http://meta.stackoverflow.com/questions/28625/ relies on that behaviour
14:35:07 <AnMaster> Deewiant, lets see.. brainfuck, C, befunge? Anything else?
14:35:19 <Deewiant> Python, Perl, Ruby
14:35:38 <AnMaster> I have to admit I didn't spot the befunge part right away, probably wouldn't if you hadn't mentioned that
14:35:45 <AnMaster> Deewiant, heh?
14:36:44 <AnMaster> Deewiant, what does the program do?
14:36:48 <Deewiant> Prints "404"
14:37:01 <AnMaster> hm
14:37:12 <fizzie> It also relies on a . that doesn't put a space in.
14:37:21 <Deewiant> Well, not really.
14:37:32 <Deewiant> It still looks the same :-P
14:38:11 <fizzie> Not quite, but I guess it's reasonable.
14:38:24 <AnMaster> Deewiant, so that program is "definee"44.*.@ ?
14:38:37 <Deewiant> No
14:38:42 <Deewiant> It's
14:39:00 <Deewiant> definee4*.@
14:39:03 <AnMaster> you said it relied on undefined pushing on stack
14:39:11 <Deewiant> I did
14:39:13 <Deewiant> And it does
14:39:18 <AnMaster> Deewiant, yes but I tried to translate to "pushes on stack"
14:39:21 <AnMaster> in normal befunge
14:39:31 <Deewiant> Right, to make it valid it needs quotes
14:39:36 <Deewiant> "definee"4*.@
14:39:38 <AnMaster> Deewiant, exactly
14:39:44 <AnMaster> Deewiant, there are two 4
14:39:50 <Deewiant> Or to make it run in most interps, define"e"4*.@ is enough
14:40:08 <Deewiant> No; you're missing the line-break symbol on the previous line
14:40:13 <Deewiant> Or line-joiner symbol
14:40:14 <Deewiant> Whatever
14:40:17 <Deewiant> The arrows
14:40:21 <AnMaster> Deewiant, oh so that is what it is
14:40:24 <Deewiant> Or look at the line numbers on the left
14:40:42 <AnMaster> right
14:41:28 <fizzie> Deewiant: Oh, right, I looked at the "4." bit and thought it's going to do it separately, i.e. "4 0 4 ": that's why I mentioned the spaces. Missed the line-joiners too on the first read; only just noticed them while tracing further.
14:41:30 <AnMaster> Deewiant, I don't get how #> is quoted properly for C though
14:41:44 <Deewiant> AnMaster: /*
14:41:48 <AnMaster> oh up there
14:41:49 <AnMaster> right
14:42:12 <Deewiant> fizzie: FWIW that applet also doesn't print a space after .
14:43:16 <AnMaster> Deewiant, how did you find that applet?
14:43:22 <fizzie> Deewiant: Heh, well... the spec does say it should. (In contrast to the undefined-handling bit, which it is silent about.)
14:43:24 <Deewiant> Linked from that stack overflow
14:43:28 <Deewiant> fizzie: Yep
14:45:20 <AnMaster> Deewiant, should report a bug
14:46:47 <Deewiant> I just commented on reddit instead
14:47:10 <AnMaster> Deewiant, hm
15:04:14 -!- Phantom_Hoover has joined.
15:04:37 <Phantom_Hoover> ais523, why do you have the "523" in your name?
15:04:52 <ais523> Phantom_Hoover: it's my email address, which was originally assigned at random
15:05:08 <Phantom_Hoover> Ah.
15:05:10 <ais523> if they're going to force an arbitrary number into my email at random, I'm going to use it everywhere just so it becomes non-arbitrary! That'll show them!
15:05:25 <Phantom_Hoover> But it's annoying to type!
15:05:28 <ais523> even more amusingly, the number seems to have some significance in Discordianism, although I wasn't aware of this at the time
15:05:31 <ais523> Phantom_Hoover: you have tab-complete?
15:05:39 <Phantom_Hoover> At least, until you get tabbing.
15:05:42 <ais523> I suppose most three-digit numbers are significant to something
15:05:54 <Phantom_Hoover> All 1000 of them?
15:06:00 <Phantom_Hoover> Hmm, wait.
15:06:17 <Phantom_Hoover> All 900 of them?
15:06:39 <ais523> I'd think so, 900 isn't a lot given the number of things in the world there are to be significant to
15:08:14 <cheater99> good point
15:08:32 <cheater99> wow, defragmenting my dpkg database takes a long time.
15:08:56 <cheater99> cp -a info info.new .... running.
15:09:45 <Phantom_Hoover> How does that defrag?
15:10:00 <cheater99> think about it for a second
15:10:11 <ais523> Phantom_Hoover: because files fragment when they're made larger
15:10:22 <ais523> he's creating a new file from scratch, which will therefore be created in a defragged state
15:10:26 <Phantom_Hoover> Ahh.
15:10:27 <AnMaster> Phantom_Hoover, tab complete
15:10:30 <cheater99> i ^C'd it and put time around it.
15:10:35 <cheater99> let's see what happens.
15:10:44 <ais523> cheater99: what filesystem are you using, anyway? fragmentation doesn't hurt performance on ext2/3/4 until they're around 90% full
15:10:46 <Phantom_Hoover> AnMaster, you can't tab-complete "tab-complete".
15:10:53 <Phantom_Hoover> And it takes ages to type.
15:10:56 -!- ais523 has changed nick to tab-complete.
15:10:58 <tab-complete> now you can
15:11:02 <cheater99> ais523: my dpkg db has 30k tiny, tiny, files in it
15:11:15 <AnMaster> Phantom_Hoover, why would you need that?
15:11:22 <Phantom_Hoover> tab-complete, what if I need it to be capital?
15:11:23 <AnMaster> Phantom_Hoover, I meant tab complete ais523
15:11:36 <cheater99> ahahah
15:11:43 <tab-complete> Ironic that I changed my nick, then
15:11:47 <AnMaster> Phantom_Hoover, anyway you could script your client to tab complete tab complete
15:11:50 <cheater99> while i'm doing this, i got a popup complaining about my diskspace running low
15:11:52 <cheater99> amazing
15:12:00 <AnMaster> cheater99, what thing?
15:12:28 <cheater99> time [`cp -a info info.new2`]
15:12:41 <AnMaster> cheater99, I would suggest using xfs
15:12:46 <AnMaster> then xfs_fsr defrags
15:12:49 <cheater99> no
15:12:52 <AnMaster> cheater99, hm?
15:13:00 <cheater99> just 'no'.
15:13:09 <AnMaster> well I use a mix of xfs, jfs, ext4 and ext3
15:13:14 <AnMaster> ext3 is just for /boot
15:13:26 <cheater99> i use a mix of asian, caucasian, and black lovers
15:13:32 <AnMaster> since I still use grub 1 it seems. Don't fix what isn't broken and so on
15:13:37 <AnMaster> especially true for bootloaders
15:13:40 <cheater99> real3m51.322s
15:13:40 <cheater99> user0m0.296s
15:13:40 <cheater99> sys0m2.440s
15:14:03 <AnMaster> cheater99, IO waiting most then
15:14:20 <cheater99> so?
15:14:20 <AnMaster> idle would be neither user nor sys
15:14:29 <AnMaster> but still be wall clock
15:14:44 <AnMaster> cheater99, oh thought you were wondering about user+sys << real
15:14:44 <cheater99> wat
15:14:50 <cheater99> no.
15:15:02 <cheater99> i don't actually know the difference between those numbers
15:15:06 <AnMaster> ah
15:15:42 <AnMaster> real is actual time. user is active time in user space, and sys is active time in kernel. With active time I mean "not spent being idle or running other tasks"
15:16:14 <AnMaster> cheater99, now you know
15:16:19 <cheater99> ok, let's install something and see if it runs fast
15:17:49 <CakeProphet> ugh...
15:18:07 <CakeProphet> I do not want to take take two, 2-and-a-half hour long midterms.
15:18:13 <CakeProphet> 40 minutes away
15:18:20 <oklopol> why not?
15:18:22 <oklopol> exams are fun
15:18:34 <CakeProphet> meh.
15:19:17 <cheater99> drink a lot of water.
15:19:40 <cheater99> ok, doing that didn't really help much at all
15:19:46 <cheater99> but at least now my python is upgraded
15:20:13 <CakeProphet> studying and stress are not as fun.
15:20:22 * CakeProphet gets stressed out by big tests these days. Not in the past.
15:24:52 <Phantom_Hoover> Are there actually any decent console-based web browsers?
15:25:01 <CakeProphet> why on earth is my computer getting slower these days.
15:25:02 <Phantom_Hoover> None of them seem to be capable of JavaScript.
15:25:18 <Phantom_Hoover> CakeProphet, it's tired before the holidays.
15:25:56 <CakeProphet> hurr hurr.
15:26:05 <fizzie> At least elinks does a bit of JavaScript.
15:26:14 <fizzie> And I thought even lynx had some sort of a patch.
15:26:31 <CakeProphet> But no really. Does cleaning out dust and stuff noticably speed up a computer? I'm at a loss. I assume it's just malfunctioning more.
15:26:50 <CakeProphet> I almost hear a new strange noise everytime I turn it on.
15:29:58 <CakeProphet> hahaha. could you imagine trying to support Javascript's DOM on a command line interface?
15:30:51 <Phantom_Hoover> Why not?
15:31:09 <Phantom_Hoover> And I didn't say command-line, I said console.
15:32:21 <CakeProphet> well yeah, I use "console" and "command-line" to mean the same thing, though I guess technically they're not.
15:33:13 <CakeProphet> I don't know. It just seems like the DOM has a lot of visual elements that you couldn't really support (/well/, at least) on a console display.
15:33:24 <tab-complete> they aren't the same thing, but they're usually used together
15:33:33 <tab-complete> in this case, though, it does make a difference
15:34:11 <Phantom_Hoover> What *is* a command line, come to think of it?
15:34:25 <Phantom_Hoover> Or a command-line utility?
15:34:41 <Phantom_Hoover> One which only inputs and outputs characters in a nice, normal way?
15:34:59 <CakeProphet> just a shell utility I guess. Are you looking for a formal definition?
15:35:05 <CakeProphet> I think the intuitive notion is obvious, otherwise.
15:35:24 <Phantom_Hoover> Yes, I suppose.
15:35:34 <CakeProphet> GHCi, Python shell, Erlang shell. I would count those as command lines
15:35:48 <CakeProphet> they could just as easily appear and serve as an Operating System environment when I run sh.
15:35:58 <CakeProphet> if made to do so.
15:36:17 <Phantom_Hoover> But what about Emacs or vi?
15:36:23 <tab-complete> a command-line utility is one that has a command line
15:36:30 <tab-complete> and which uses it as the major method of interaction
15:36:32 <tab-complete> thus vi isn't, ed is
15:37:05 <Phantom_Hoover> OK.
15:37:59 <CakeProphet> I'm actually more curious to what a "console" technically is.
15:38:51 <CakeProphet> what seperates it from a window manager? Purely the way in which they structure on-screen elements?
15:40:03 <Phantom_Hoover> A console is a grid of characters.
15:40:05 <Gregor> AnMaster: Even the universally-reviled movement 2? :P
15:40:42 <Phantom_Hoover> A GUI works as a grid of pixels.
15:41:06 <Gregor> And a metaGUI is a grid of grids of pixels.
15:42:06 <CakeProphet> hmmm. interesting. You know I can't say I've ever programmed a GUI
15:42:15 <Phantom_Hoover> I started trying.
15:42:17 <CakeProphet> I only have a few years of self-taught programming experience. I've never needed to bother.
15:42:22 <Phantom_Hoover> I gave up shortly after.
15:42:37 <Phantom_Hoover> Writing UIs is for masochists.
15:42:45 <CakeProphet> I might try to make a GUI program of some kind. I'm trying to think of something that wouldn't be too hefty of a project though.
15:42:54 <CakeProphet> just for practice.
15:43:59 <CakeProphet> Phantom_Hoover: I'm sure the programming experience depends heavily on the library in use.
15:44:03 <Phantom_Hoover> I have a horrible suspicion that these days you can learn to program without going anywhere near a console.
15:44:44 <CakeProphet> Phantom_Hoover: You are correct. My friend, who is a freshman CS major and just starting to learn C# as his first language... has only ever touched a console because we use version control for one of our projects.
15:44:56 <CakeProphet> but before that he had not touched one. Did everything in Visual Studio
15:45:06 <Phantom_Hoover> Bleurgh.
15:45:26 <CakeProphet> -shrug- It's not evil. There's just more tools in graphical environments these days.
15:45:46 <CakeProphet> I think at some point you have to become at least semi-comfortable with a command line
15:45:55 <CakeProphet> I'm not an expert. But I can do some basic things.
15:46:15 <CakeProphet> one thing I haven't figured out is xarg. It looks very cool but I never get around to learning how it works.
15:46:33 <CakeProphet> *xargs
15:46:42 <Phantom_Hoover> man xargs?
15:46:58 <CakeProphet> Just did out of curiousity. Kind of busy studying though, so I'll probably read later.
15:47:20 <Phantom_Hoover> IIRC it reads lines from stdin, tacks them onto the first non-option argument, then executes the result.
15:47:53 <CakeProphet> ah. well that's simple enough. Is there no inline substition mechanism like a printf string?
15:47:54 <Phantom_Hoover> So find ~ | xargs shred will overwrite every file in your home directory with random junk.
15:47:57 <CakeProphet> That would be nice.
15:48:13 <Phantom_Hoover> There are more complex things, but that's the basic idea.
15:48:41 <CakeProphet> alright. That sounds useful at least. I bet you could condense a pretty large-scale sysadmin operation down to one line with xargs
15:52:44 <tab-complete> you can't put megabytes of stuff on the command line
15:52:58 <tab-complete> xargs will split a line up for you automatically if it wouldn't all fit
15:53:13 <CakeProphet> "megabytes of stuff" as in the text of the actual command or the data being processed?
15:53:19 <tab-complete> the text of the command
15:53:26 <tab-complete> can easily happen in some cases where you'd want to use xargs
15:53:28 <CakeProphet> ah. well yeah. It'd be unwieldy too.
15:53:48 <CakeProphet> at the point it's likely wise to switch to a script.
15:53:53 <tab-complete> `ls | xargs echo
15:53:59 <tab-complete> wait, hackego isn't here
15:54:05 <tab-complete> can you see what that would do, though
15:54:17 <Phantom_Hoover> Gregor, what happened to HackEgo?
15:54:34 <AnMaster> <Gregor> AnMaster: Even the universally-reviled movement 2? :P <-- hm?
15:54:49 <AnMaster> Gregor, I liked the second movement preview yes
15:54:50 <fizzie> You can put only four kilobytes into exec's arguments safely in a POSIX system (POSIX_ARG_MAX == 4096), though many allow more.
15:55:02 <tab-complete> the trick with xargs echo is that it replaces all newlines by spaces
15:55:16 <AnMaster> Gregor, perhaps the ending of it need some work. Very sudden
15:55:22 <AnMaster> of course that could be used as an effect
15:55:25 -!- HackEgo has joined.
15:55:25 -!- EgoBot has joined.
15:55:33 <Gregor> AnMaster: The ending was simply that I haven't written any more yet :P
15:55:50 <Gregor> I have a whole minor section in that part, then back to the major theme, but I haven't written it all.
15:56:05 <AnMaster> Gregor, ah, it could be intentional, hard to tell
15:56:25 <AnMaster> Gregor, much better than the op11 previews btw
15:56:43 <Phantom_Hoover> I thought there wasn't an op11.
15:56:51 <Gregor> Phantom_Hoover: There wasn't an op12.
15:57:02 <Gregor> AnMaster: The Op. 11 previews I ended up changing almost everything between the last preview and what I decided was "done" :P
15:57:02 <fizzie> According to "getconf ARG_MAX", my system lets you put two megabytes of stuff in.
15:57:33 <AnMaster> Gregor, I didn't listen to all. Just the last string<whatever> version
15:57:44 <AnMaster> Gregor, couldn't tell which was the current version
15:57:47 <Gregor> OH
15:58:02 <Gregor> The String Quartet WIPPs are bad :P
15:58:03 <Phantom_Hoover> Wait, LINE_MAX is 2048.
15:58:32 <AnMaster> Gregor, hm haven't listened to final op11 recently
15:58:34 * AnMaster does so
15:59:11 <Gregor> I'm thinkin' of calling Opus 13 "Three Works in Three", since all three movements ended up being in three due to having been split from one overenthusiastic work originally. The subparts could be "Scherzo in Three", "Nocturne in Three" and "Finale in Three"
15:59:31 <Gregor> Although having a nocturne in the middle of a work is kinda weird I guess ...
15:59:42 <AnMaster> Gregor, too much disharmonious in op11 for my taste. It is technically good, just not my taste
16:00:12 <CakeProphet> does anyone use Rhythmbox? Know how to set it up so it doesn't do all that "start-up silently as a notification icon thing (dunno the technical term for it)"
16:00:17 -!- relet has joined.
16:00:23 <CakeProphet> What would be the "starting in the system tray" in Windows-speak.
16:00:26 -!- tab-complete has changed nick to ais523.
16:00:26 <CakeProphet> -the
16:01:16 <Deewiant> "Taskbar notification area", actually.
16:01:29 <AnMaster> Gregor, btw you write that you aren't going to use zee3 for the game. But what about zee1? I can't imagine that one fitting either
16:01:53 <AnMaster> Gregor, oh btw, how is the game zee coming along? it is such a cool idea I hope the answer is "very nicely"
16:02:12 <AnMaster> Gregor, is there anything playable yet?
16:02:24 <Gregor> The answer is "eternally stalled argh getting storylines is annoying". But as of yesterday I have an idea for a storyline, which I can get photos of and maybe have something playable in two-three weeks.
16:02:28 <AnMaster> I mean, even if buggy and only half complete. Some screenshots perhaps?
16:02:40 <AnMaster> Gregor, wasn't it a maze game it said?
16:02:44 <Phantom_Hoover> ais523, what's this feather thing I've heard about?
16:02:53 <ais523> seriously, don't ask
16:02:57 <Gregor> AnMaster: Sort of ... it's a "maze" of images.
16:03:19 <Gregor> AnMaster: It doesn't really fit any category of games, so I'm calling it an "image-based maze game" because that's the closest I can get :P
16:03:37 <AnMaster> Gregor, okay. Any mockup images or anything? I mean, just to see what you mean
16:03:41 <AnMaster> sketches or such perhaps
16:04:33 <ais523> Gregor: sounds like a puzzle game to me, genre-wize
16:04:35 <ais523> *genre-wise
16:04:39 <Gregor> AnMaster: http://codu.org/projects/zee/test/zee.html
16:04:40 <ais523> it's quite a varied genre
16:04:48 <Gregor> ais523: Yeah, it's broadly within the genre "puzzle games" no doubt.
16:05:10 <Gregor> AnMaster: That's just a test of the zooming features, mind you.
16:05:13 <AnMaster> Gregor, does it need the plugin? I don't have flash. and won't install it either
16:05:23 <Gregor> Only needs that to play music online.
16:05:29 <Gregor> Which is pointless, so feel free to ignore it.
16:05:50 <AnMaster> Gregor, ah high res image behind it
16:05:50 <AnMaster> nice
16:05:51 <Phantom_Hoover> ais523, is it one of the things Man Was Not Meant To Kno.
16:06:10 <AnMaster> hm with an accurate lens model and accurate positioning and orientation info of camera you should be able to reconstruct a 3D model with enough photos from different locations
16:06:10 <ais523> thinking about it drives me insane, so possibly
16:06:26 <Gregor> AnMaster: ... yeaaaaaaaaaaaaah.
16:06:50 <Gregor> AnMaster: Good thing I have exactly zero need or desire to do that.
16:06:50 <ais523> and I've got sufficiently good at not thinking about it that I can't even give a remotely accurate description without concentrating
16:06:55 <ais523> but it's an esolang, anyway
16:06:56 <Phantom_Hoover> ais523, what *is* it?
16:06:58 <AnMaster> Gregor, no it was just general musing :P
16:07:09 <Phantom_Hoover> Loosely?
16:07:12 <ais523> one that isn't speccedyet
16:07:14 <ais523> *specced yet
16:07:18 <ais523> but it involves retroactive changes
16:07:29 <AnMaster> Gregor, would be nice to see the extrapolate thingy
16:07:46 <AnMaster> Gregor, also I hit a bug in the software. It is impossible to enhance infinitely ;)
16:07:50 -!- coppro has joined.
16:07:59 <Gregor> AnMaster: SUSPENSION OF DISBELIEF.
16:08:18 <Gregor> AnMaster: I have some code for extrapolation, but it's really just "push on this square when at least at zoom level X, get a new photo"
16:08:24 <AnMaster> Gregor, I don't believe in that *runs*
16:08:54 <Phantom_Hoover> ais523, if you write a spec, any updates will have to have lower version numbers and dates to the first version
16:09:15 <ais523> I like that idea
16:09:17 <AnMaster> Gregor, anyway with rendering a 3D model you could do the infinite zoom stuff.
16:09:21 <ais523> actually, every version should have the same date
16:09:46 <Gregor> AnMaster: You are not the first person to suggest it. It's amazing how I make a game idea that's just BARELY accomplishable, so people say "you should do this utterly unaccomplishable thing instead"
16:10:18 <AnMaster> Gregor, no I suggest that will be easier
16:10:31 <AnMaster> Gregor, depends on how good you are at 3D modelling and such of course
16:11:19 <Gregor> AnMaster: Do you want to make a 3D model that's A) photorealistic and B) sufficiently detailed that you can zoom up to just short of looking at the atoms?
16:11:40 -!- cpressey has joined.
16:11:46 <AnMaster> Gregor, okay better and easy suggestion: There should be a way to pan without having to reset. I just missed something at the edge of the image and now there is no possible way to pan to it
16:12:14 <AnMaster> Gregor, it seems impossible to zoom on stuff near the edge anyway it ends up a bit inwards
16:12:21 <Gregor> I agree. I will add it to my TODO list.
16:12:35 <AnMaster> or at least rather tricky to do that
16:12:45 <Gregor> It always zooms such that wherever your cursor is remains the same, so you would have to click the very rightmost pixel to zoom on the very rightmost edge.
16:13:00 <AnMaster> Gregor, yep, somewhat tricky
16:13:02 <Phantom_Hoover> ais523, so it's like TwoDucks?
16:13:12 <ais523> vaguely, but a lot better
16:13:24 <AnMaster> Gregor, this thing is 114 dpi, so very tricky
16:13:26 <ais523> for one thing, it isn't uncomputable, so in theory you can implement it
16:13:34 <Gregor> Now with More Ducks
16:13:37 <ais523> in practice, though, I go mad when I try
16:14:05 <Phantom_Hoover> How, approximately, does it work?
16:14:09 <Gregor> AnMaster: Part of that is just "don't put clues at the edge of the photo", the other part is panning, I don't think there's some more intelligent method of zooming.
16:14:25 <AnMaster> Gregor, true
16:14:52 <AnMaster> Gregor, what will the goal be? finding a certain image? solving a crime with clues from the images?
16:15:08 <Gregor> AnMaster: Solve a crime by finding clues (or catching the perpetrator red-handed) within the image.
16:16:32 <AnMaster> Gregor, hm needs higher res images. There is some small yellow thing on the back of one of the road signs. Can't zoom in to see what it is
16:16:40 <AnMaster> ;)
16:16:45 <Gregor> SUSPENSION
16:16:45 <Gregor> OF
16:16:48 <Gregor> DISBELIEF
16:17:03 <AnMaster> Gregor, no no. I meant You need very high res pictures for the "real" version
16:17:07 <AnMaster> rather than just this test
16:17:28 <cpressey> ais523: You just have to visualize it from the 5th dimension, is all...
16:17:41 <Gregor> AnMaster: That picutre is about as high-res as we can realistically expect to get.
16:17:41 <cpressey> Actually I don't know what you were talking about, and I assumed Feather.
16:17:49 <ais523> cpressey: suprisingly that isn't the hard part
16:17:54 <Gregor> It's something like 12MP
16:18:01 <AnMaster> Gregor, idea: you can use multiple images. Like one taken while zoomed out. Then zoom in with the optical zoom to take images of the different parts.
16:18:06 <ais523> anyway, Feather's going to get a worse reputation than MAGENTA at this rate
16:18:09 <AnMaster> so you can switch between them as needed
16:18:16 <AnMaster> ais523, MAGENTA?
16:18:19 <AnMaster> never heard of it
16:18:23 <Gregor> AnMaster: That picture is a stitching of a bunch of images zoomed maximally on my camera, and does exactly that.
16:18:24 <ais523> AnMaster: an allegedly cursed esolang
16:18:24 <AnMaster> anyway should make food
16:18:32 <ais523> I don't know if the wiki has an article about it
16:18:34 <ais523> but it isn't mine
16:18:34 <AnMaster> Gregor, oh
16:18:38 <Deewiant> MAGENTA, not Magenta?
16:18:42 <cpressey> Now I need to restart my computer or the BotNet's gonna get me, sez Microsoft.
16:18:43 <Gregor> AnMaster: If I had better zoom, I could zoom farther I suppose, and take a crapload of pictures :P
16:18:50 -!- cpressey has left (?).
16:18:50 <Deewiant> I recall a Magenta that matches the description but I don't think it was all-caps
16:18:52 <ais523> Deewiant: not sure if it's in allcaps
16:19:05 <Deewiant> Doesn't seem to be: http://www.esolangs.org/wiki/Magenta
16:19:11 <AnMaster> Gregor, hm I didn't see any stitches
16:19:27 <ais523> anyway, Magenta has pretty much opposite design goals from INTERCAL, and ends up looking rather similar as a result
16:19:30 <AnMaster> Gregor, so no parallax I guess
16:19:33 <Gregor> AnMaster: There's one or two places where it misstitched and is noticeable, otherwise it did a pretty good job.
16:19:42 <AnMaster> Gregor, hugin I presume?
16:19:46 <Gregor> Yup
16:19:57 <Phantom_Hoover> Damn, I *hate* Geocities.
16:20:07 <Phantom_Hoover> So much esolang stuff was on it.
16:20:11 <AnMaster> Gregor, idea: you know about enfuse right?
16:20:22 <AnMaster> Gregor, so have a "magic" denoise button as well
16:20:25 <AnMaster> would fit the theme
16:20:53 <AnMaster> Gregor, enfuse can average multiple pictures to reduce noise. You would need a tripod however
16:21:12 <AnMaster> since parallax there would give you weird stuff
16:21:14 <Gregor> I have a tripod. I didn't realize enfuse could do that, but that's pretty much awesome.
16:21:56 <Phantom_Hoover> What are you talking about now?
16:21:57 <AnMaster> Gregor, in *theory* you could rotate the camera half a pixel or such and then actually interpolate a higher res. IIRC they do that kind of stuff in telescopes and such
16:22:12 <AnMaster> Gregor, probably not feasible with normal camera and such though
16:22:28 <Gregor> Not so much :P
16:22:33 <Gregor> What I really need is an autotripod.
16:22:39 <AnMaster> Gregor, hm?
16:22:41 <Gregor> That would just do all the rotations and snap pictures for me.
16:22:45 <Gregor> Not that such a thing exists :P
16:22:48 <AnMaster> Gregor, oh I built on in lego
16:22:57 <AnMaster> Gregor, based on this idea: http://www.philohome.com/panobot2/panobot2.htm
16:22:57 <Gregor> Awesome, ship it.
16:23:01 <AnMaster> Gregor, doesn't do up/down
16:23:06 <Gregor> Well foo!
16:23:09 <AnMaster> Gregor, also it is very limited to my camera
16:23:20 <Gregor> :P
16:23:22 -!- cpressey has joined.
16:23:36 <Gregor> How high-quality is your camera? MP and optical zoom level?
16:23:43 <fizzie> Enfuse's averaging is very nice for us people with a compact digicam with a tiny, horribly noisy sensor.
16:24:03 <AnMaster> Gregor, 9 MP. 28-200 optical zoom in 35 mm equiv. RAW files are 12 bits / channel
16:24:21 <Gregor> Well, YOU'RE definitely taking photos for ZEE :P
16:24:24 <AnMaster> Gregor, Minolta Dimage A2
16:24:34 <AnMaster> Gregor, a rather old "segment below DSLR" camera
16:24:45 <AnMaster> Gregor, oh and it has noise issues. Plus a few dead pixels
16:24:53 <AnMaster> showing it's age
16:25:03 <fizzie> I have this Lumix DMC-FZ8 cam from approximately the same category, but no lego tripod-bot.
16:25:16 <AnMaster> the noise stuff have only started getting noticeable the last 2 years or such
16:25:20 <Gregor> Without a lego tripod-bot, how do you even live with yourself?
16:25:26 <AnMaster> Gregor, anyway my lego thing needs a sturdy table
16:25:32 <AnMaster> it does not mount on my tripod, too heavy
16:25:50 <AnMaster> I have yet to come up with a working solution for that
16:26:25 <fizzie> Possibly a hundred-kilogram tripod? A joy to move around!
16:26:32 <AnMaster> Gregor, here is a self-enhancing image of the lego thingy: http://pubacc.wilcox-tech.com/~anmaster/panobot/panobot_1433.jpg
16:26:37 <AnMaster> that is, progressive jpeg
16:27:39 <AnMaster> fizzie, I have a ball head tripod.
16:28:02 <AnMaster> fizzie, but the screw hole on the camera is not centered in any direction relative the no-parallax point
16:28:21 <AnMaster> way right of lens and way too far back
16:28:38 <AnMaster> Gregor, fizzie: tell me if that image loads
16:28:44 <AnMaster> if not I'm going to upload it elsewhere
16:28:48 <fizzie> Just use four tripods like that and build a table surface that you can mount on such at every corner.
16:28:50 <Gregor> E_WORKSFORME
16:28:57 <AnMaster> Gregor, hm
16:29:01 <Phantom_Hoover> AnMaster, what does it do other than rotate?
16:29:18 <AnMaster> Phantom_Hoover, push the trigger using pneumatics
16:29:36 <AnMaster> and of course it use a rotation sensor to space the photos roughly equally
16:29:37 <fizzie> I didn't quite wait for the whole image, but it did seem to be loading. (Am on a phone again.)
16:29:40 <Phantom_Hoover> OK, that's pretty cool.
16:30:10 <AnMaster> Gregor, anyway if I take photos it is you who is going to stitch. My computers are no longer up to the task
16:30:13 <AnMaster> :P
16:30:22 <Gregor> Fair enough
16:30:30 <AnMaster> Gregor, you will get 93 MB tiff even with only 8 bits per channel
16:30:33 <fizzie> AnMaster: Next, extended exposure-bracketing using a lot of twiddling with the camera's control buttons.
16:30:43 <AnMaster> for a least zoom 360° pano
16:31:15 <AnMaster> fizzie, actually it is a wheel. And I did consider turning that. However I think I'm almost out of lego after that thing
16:31:21 <AnMaster> considering how sturdy it is internally
16:32:12 <AnMaster> Gregor, anyway, let me find link to panoramas I uploaded. Do you want to zoomed to 30% variant or the full zoom?
16:32:29 <Gregor> I want to go to work :P
16:32:32 <Gregor> Baheeee :P
16:32:36 <AnMaster> ah
16:32:36 <AnMaster> cya
16:33:11 <fizzie> I used to have this very old Canon two-megapixels-or-a-bit-less eats-AA-batteries-like-an-electric-horse camera, which was otherwise utterly unremarkable, except that if you plugged the USB cable in, gphoto2 could remote-control it partially (and the proprietary windows app could even change the image-taking settings).
16:33:12 <AnMaster> Gregor, full res: http://omploader.org/vNHAyNw scaled to 30%: http://omploader.org/vNGx0Mw
16:33:41 <AnMaster> fizzie, mine supports that by "costs extra" windows app
16:33:42 <AnMaster> iirc
16:33:55 <AnMaster> fizzie, oh and there is a 4 pin connector for remote trigger as well
16:34:15 <AnMaster> no clue what the different pins do
16:34:28 <fizzie> Heh, that's even worse. At least if the app is free, you can always usbdump it and reverse-engineer.
16:35:06 <AnMaster> fizzie, there was some app on linux for an older model of the same series but apparently the protocol is completely different for the new model
16:36:50 <fizzie> This new one only does USB-storage and then that printer-pictbridge-whatever. The boring.
16:37:58 <AnMaster> fizzie, there is another strange thing, they ship an extra iron core that you are instructed to put on the usb cable if you use the remote control feature
16:38:16 <AnMaster> as in, you don't need it for just the usb storage feature I guess
16:38:37 <AnMaster> makes no sense to me
16:38:58 <fizzie> Uh, curious.
16:39:51 <ais523> AnMaster: is that one of those iron rings that you clip around a cable?
16:40:04 <ais523> they're designed to dampen high-frequency interference
16:40:10 <fizzie> Maybe the remote-control protocol has a self-destruct command and they don't want interference accidentally triggering it.
16:40:17 <AnMaster> ais523, yes
16:40:18 <Phantom_Hoover> This sounds like audio woo.
16:40:29 <Phantom_Hoover> Like those $500 cables on Amazon.
16:40:34 <ais523> which is only caused by high-frequency circuits; I can imagine that a remote control circuit is high-frequency but nothing else on there is
16:40:35 <Phantom_Hoover> But it might work in this case.
16:40:44 <AnMaster> fizzie, hm actually you are supposed to put it on remote trigger cable if you buy that extra instead
16:40:51 <ais523> Phantom_Hoover: oh, they are needed, they prevent high-frequency noise reducing your bandwidth
16:41:00 <ais523> but a fair price for those things is a few pennies, or cents
16:41:17 <Phantom_Hoover> But the remote uses IR doesn't it?
16:41:24 <AnMaster> Phantom_Hoover, on a camera? no
16:41:33 <Phantom_Hoover> Ah, radio?
16:41:37 <AnMaster> Phantom_Hoover, please read the whole bit instead
16:41:40 <AnMaster> *faceplam*
16:41:48 <AnMaster> palm*
16:42:10 <fizzie> It's a cable. It's not wireless at all.
16:42:14 <Phantom_Hoover> Ohh.
16:42:23 <fizzie> There are IR-remotable cameras, though.
16:42:39 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:42:44 <fizzie> There's a N900 app to control some of them.
16:42:48 <AnMaster> fizzie, that is a bad idea though, Since CCDs pick up IR. Just aim a remote at your mobile camera and check
16:43:31 <AnMaster> fizzie, it would thus interfere with the image taking
16:44:20 <AnMaster> at least in theory
16:44:23 <fizzie> You can put a IR filter in if you want, perhaps.
16:45:00 <AnMaster> fizzie, they tend to reduce image quality in the visible spectrum as well to some degree iirc?
16:45:47 <fizzie> Not sure about quality (noticeably), but light levels in general at least.
16:52:03 -!- oerjan has joined.
16:52:51 <Phantom_Hoover> oerjan!
16:53:22 <oerjan> Phantom_Hoover"
16:53:28 <fizzie> I do like the pretty large zoom in the FZ8; it's 36-432mm in 35mm-equiv terms, and doesn't have any especial problems at the far end. A full-sphere panorama from that would have very many pixels indeed, though as a mortal I couldn't imagine taking one manually.
16:53:58 <Phantom_Hoover> oerjan, given up completely?
16:54:12 <Phantom_Hoover> Damn, there's no way to play on "oerjan".
16:54:48 <oerjan> Phantom_Hoover: you know i'm not very fond of people who won't even let me _give up_ peacefully
16:54:59 <Phantom_Hoover> OK.
16:55:19 <Phantom_Hoover> It was fun while it lasted.
16:55:21 <fizzie> "What's that amulet doing there at the end?" was my first thought after seeing oerjan's greeting.
16:56:00 <Phantom_Hoover> Too much Nethack?
16:56:30 <fizzie> I haven't played any in months; I guess it was just some sort of flashback.
16:56:36 <cpressey> Syntax error, line 553: Mismatched amulet.
16:56:45 <cpressey> No, wait.
16:56:48 <cpressey> Missing closing amulet.
16:56:58 <cpressey> Mismatched ARMOR.
16:57:07 <Phantom_Hoover> Hey, let's make that into a language!
16:57:14 <Phantom_Hoover> Somehow!
17:01:39 -!- tombom has joined.
17:03:30 <AnMaster> huh, "foo bar" -> "foo foo"; "foobar" -> "foobfo"
17:03:34 <AnMaster> I wonder what is going on here
17:04:37 <AnMaster> this thing is supposed to echo back the thins you send. Not echo back some garbage
17:05:24 <fizzie> Overwriting with "foo" (or the string itself) starting from index 4?
17:05:48 <AnMaster> fizzie, well not as easy. Sometimes it seems to be from index 5
17:05:48 <fizzie> But not changing the length.
17:05:51 -!- MizardX has quit (Read error: Connection reset by peer).
17:05:53 <fizzie> Heh.
17:06:01 -!- MizardX has joined.
17:06:13 <AnMaster> fizzie, and sometimes it changes the length too
17:06:47 <AnMaster> fizzie, okay now it just did tetetetet for "test test test"
17:07:10 <AnMaster> fizzie, at least it seems to do the same thing every time for a given string
17:08:46 -!- Sgeo__ has joined.
17:09:35 <AnMaster> fizzie, valgrind on the app finds nothing :/
17:10:31 <cpressey> Phantom_Hoover: As a bonus, "mismatched armor" sounds like a medieval fashion faux pas.
17:10:35 <AnMaster> hm
17:10:53 <fizzie> So it's a perfectly valid algorithm, just not the same you'd want it to be.
17:10:55 <AnMaster> fizzie, I'm not sure if it is the usb ir towering failing to echo correctly or something in the software
17:11:01 <AnMaster> or it could be in the kernel driver
17:11:41 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
17:11:51 <Phantom_Hoover> cpressey, so invalid backslash escapes would generate "A %c can't stand next to a throne!"
17:12:03 <ais523> Phantom_Hoover: that seems a very nethackish error message
17:12:07 <fizzie> If it really does always the same thing for the same string, it's probably not random hardware failure. Could be deterministic hardware issue, of course.
17:12:55 <fizzie> Screen already has those nethacky error messages, they're occasionally amusing too.
17:13:28 <Phantom_Hoover> Oh, really?
17:13:31 <Phantom_Hoover> Example?
17:14:39 <fizzie> I'm trying to think of something erroneous here.
17:16:06 <Deewiant> Woof!!
17:16:43 <fizzie> http://zem.fi/~fis/nethack.txt has the full list.
17:17:14 <Deewiant> Oh, those.
17:17:32 <fizzie> First is the original message, second the translation, in the nethacktrans array.
17:18:32 <Phantom_Hoover> Hmm, what about mismatched {}?
17:19:00 <Phantom_Hoover> Well, erroneous }s are easy.
17:19:24 <Phantom_Hoover> "You fall into a pool of water! You sink. You drown..."
17:20:01 <Phantom_Hoover> (Note: I have never lived for long enough in Nethack to die from drowning.)
17:20:19 <Phantom_Hoover> Hence the probable inaccuracy of this message.
17:20:49 <Deewiant> You don't need to live long; just drink from a fountain until it results in a sufficiently well placed pool of water
17:20:50 <fizzie> {"Aborted because of window size change.", "KAABLAMM!!! You triggered a land mine!"},
17:21:00 <fizzie> That one's a bit arbitrary.
17:21:19 <Deewiant> It makes sense if you increased the window size
17:21:24 <Deewiant> Not so much for a decrease
17:24:24 -!- oerjan has quit (Quit: Later).
17:24:38 <CakeProphet> ...I wonder if you can prove that circular reasoning can be logically valid.
17:24:42 <CakeProphet> I mean... look at recursion.
17:24:55 <Phantom_Hoover> Is that circular reasoning?
17:25:09 <CakeProphet> ...not that I can tell. There is no reasoning yet. Merely a proposition.
17:25:19 <Deewiant> Recursion isn't circular unless it's infinite
17:25:26 <CakeProphet> well, right.
17:25:38 <CakeProphet> I was just reading Descartes foundationalism stuff
17:25:43 <CakeProphet> which seems based on a circular premise.
17:26:26 <AnMaster> there is some strange macro _IOW on linux. I can't find the docs for it
17:26:29 <AnMaster> ioctl related
17:26:29 <CakeProphet> so... perhaps if there is a condition somewhere, it could be proved that the circularity of the reasoning is defensible because it rests on a non-circular termination condition.
17:26:31 <AnMaster> that much I know
17:26:43 <CakeProphet> but it's merely a thought. I haven't taken any real effort to find this condition.
17:26:52 <AnMaster> man ioctl doesn't have it
17:27:07 <Deewiant> Google does.
17:27:09 <Phantom_Hoover> A quick Googling gives http://h30097.www3.hp.com/docs/dev_doc/DOCUMENTATION/HTML/DDK_R2/DOCS/HTML/MAN/MAN9/0029___R.HTM
17:27:17 -!- cal153 has joined.
17:27:24 <Phantom_Hoover> Unless you have moral objections to Googling.
17:27:52 <AnMaster> Phantom_Hoover, that is tru64
17:27:53 <AnMaster> not linux
17:28:16 <fizzie> It's in the headers, though; I've seen it.
17:28:18 <Phantom_Hoover> AnMaster, it's a clue.
17:28:32 -!- Gregor-W has joined.
17:28:38 <Gregor-W> HEY GUYS LIEK WOOH
17:28:56 <fizzie> What do you need the macro for, though?
17:28:57 <AnMaster> Phantom_Hoover, yes but it's usage doesn't match what is documented there
17:29:06 <AnMaster> fizzie, to debug this faulty code using it
17:29:13 <Phantom_Hoover> Bleurgh, nested macros.
17:29:24 <Phantom_Hoover> I don't have the strength to track it down.
17:29:29 <AnMaster> fizzie, some other options to valgrind revealed an valgrind error on a line containing that
17:29:43 <AnMaster> ioctl(tty->fd, _IOW('u', 0xc8, int), timeout);
17:30:02 <AnMaster> tty->fd is a char device, not a tty though confusingly
17:30:06 <fizzie> asm-generic/ioctl.h
17:30:16 <fizzie> It's a bit complex though.
17:30:19 <AnMaster> /* used to create numbers */
17:30:26 <AnMaster> is all the docs in my copy of that file
17:30:54 <Gregor-W> Sounds like enough docs for anybody.
17:30:58 <AnMaster> -_-
17:31:12 <fizzie> Basically it's an or of the involved numbers, some bitshifts, and sizeof the type involved too.
17:31:27 <cpressey> CakeProphet: The great thing about circular reasoning is that it's circular.
17:32:05 <fizzie> I don't think it should involve any memory references or anything, it just combines those arguments into a number.
17:32:25 -!- cpressey1 has joined.
17:32:25 -!- cpressey has quit (Read error: Connection reset by peer).
17:32:38 <AnMaster> fizzie, Address 0xfa is not stack'd, malloc'd or (recently) free'd is the error. But it doesn't seem to be passed anywhere
17:32:48 <AnMaster> oh wait
17:32:53 <AnMaster> that is the parameter. Which is an integer
17:32:56 <AnMaster> not a pointer
17:32:57 <AnMaster> wtf
17:33:24 <fizzie> Yes, _IOW yields a ioctl-related id-y number, not a pointer.
17:33:36 <fizzie> Something must be confused there.
17:33:43 <AnMaster> fizzie, yes it is the timeout that equals to 0xfa
17:33:59 <fizzie> Ah.
17:34:15 <fizzie> But you're usually supposed to pass in a pointer to a value.
17:34:23 <cpressey1> There's something unwholesome about telling VMWare and VirtualBox what the guest OS is.
17:34:30 -!- cpressey1 has changed nick to cpressey.
17:34:39 <fizzie> &timeout in your case.
17:34:54 <Phantom_Hoover> cpressey, AFAIK it just affects the default settings on VirtualBox.
17:34:59 <AnMaster> fizzie, should it be hm?
17:35:16 <fizzie> Well, it depends on the ioctl really.
17:35:29 <AnMaster> fizzie, well what is the ioctl _IOW('u', 0xc8, int) I wonder
17:35:47 <AnMaster> fizzie, it has the value 0x400475C8 according to gdb
17:35:58 <AnMaster> but hm
17:36:02 <Phantom_Hoover> Bye, everybody!
17:36:08 <fizzie> The 0xc8'th ioctl in group 'u' that will take an int-sized argument.
17:36:26 <AnMaster> fizzie, I can't find docs for this driver in fact
17:36:29 <AnMaster> not as man page at least
17:36:43 <fizzie> I do believe it's possible to make a ioctl-handling driver that will treat the third argument as a raw value.
17:37:05 <fizzie> But usually it is an address, in that case pointing to an int.
17:37:36 <fizzie> It could be just that valgrind assumes the third parameter is always an address.
17:38:05 <fizzie> (While your screwy driver perhaps doesn't treat it as one.)
17:38:23 -!- hiato has joined.
17:38:36 <fizzie> My ioctl man page does say:
17:38:39 <fizzie> The second argument is a device-dependent request code. The third argument is an untyped
17:38:42 <fizzie> pointer to memory. It's traditionally char *argp (from the days before void * was valid
17:38:45 <fizzie> C), and will be so named for this discussion.
17:39:24 <fizzie> But I guess nothing should prevent the driver from treating the value of the address as an integer to pass.
17:39:36 <fizzie> It's not good behaviour though.
17:40:22 <fizzie> (It might also be impossible in some systems, if the kernel handles copying the request-sized memory block from userland to the driver.)
17:40:26 <AnMaster> fizzie, hm perhaps
17:40:32 <AnMaster> I'm checking the driver source atm
17:40:41 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
17:41:19 <fizzie> &timeout would probably quiet down valgrind, but perhaps you have a special case(tm) there.
17:41:48 <AnMaster> fizzie, how does one find it in the driver I wonder
17:42:05 <AnMaster> I mean I can't fix 0xc8 or 0x400475C8 in there
17:42:33 <AnMaster> and the only timeout I can find is a module parameter
17:42:37 <fizzie> Not sure about that; I haven't done much driver-fiddling. One would think 0xc8 would be there somewhere.
17:42:54 <fizzie> Possibly in some include file though.
17:43:18 <fizzie> Is this a mainline kernel driver, or something stranger?
17:43:35 <AnMaster> fizzie, mainline
17:43:38 <AnMaster> drivers/usb/misc/legousbtower.c in case
17:43:42 <AnMaster> in this case*
17:44:21 <AnMaster> fizzie, any help to figure out ioctls would be helpful
17:44:24 -!- pikhq has joined.
17:44:30 <AnMaster> err yeah tautology club next
17:44:34 <AnMaster> but you know what I mean
17:44:46 <AnMaster> pikhq, hi
17:44:58 <pikhq> Yo.
17:46:11 <fizzie> AnMaster: " * - added ioctl functionality to set timeouts" in the changelog commentary, that's probably it. Can't say I know where it's defined, though; it should be in the struct file_operations tower_fops, as a ioctl member. That'd be the logical place.
17:46:52 <AnMaster> 2003 hm
17:46:54 <Gregor-W> pikhq: Moo
17:47:05 <AnMaster> fizzie, I think that may be from before mainlining
17:47:10 <cpressey> root
17:48:20 <fizzie> Perhaps they removed the ioctl at some point (or replaced it with a sysfs node or something) and didn't bother to update that changelog, or the source code you have there.
17:48:28 <fizzie> (Unless the code's from a different source.)
17:48:34 <AnMaster> fizzie, yes I checked against last 2.4 variant
17:48:37 -!- hiato has changed nick to sixhoustennis.
17:48:43 -!- sixhoustennis has changed nick to sixhourtennis.
17:48:46 <AnMaster> it has ioctl stuff in the fops thingy
17:49:21 <fizzie> It's even possible that the timeouts it's talking about are those which are now only available as module parameters.
17:50:02 <AnMaster> fizzie, which makes no sense
17:51:17 <fizzie> It is a bit awkward, since you can only change them at load-time, because of that 0 there. (Otherwise there'd be a sysfs node for it.)
17:52:04 <fizzie> It's also a bit strange that they haven't made those sysfs-changeable, because the driver code looks like it'd work just fine even if the timeouts are changed without notifying the module, like they are if you sysfs-export them.
17:52:58 <AnMaster> fizzie, which zero?
17:53:18 <fizzie> The third parameter of module_param().
17:53:22 <AnMaster> // LegoUSB doesn't work with select(), so just set a read
17:53:22 <AnMaster> // timeout and then later check to see if the read timed out
17:53:22 <AnMaster> // without reading data.
17:53:23 <AnMaster> hm
17:53:37 <AnMaster> however there is a mention of implementing poll there
17:53:46 <AnMaster> I wonder if I could switch to the code for the serial tower
17:54:01 <fizzie> It's a usual permissions-mask, and if you put a non-zero value there, the kernel will automagically export that parameter via sysfs and make it modifiable.
17:54:21 <AnMaster> hm
17:54:35 <fizzie> Was that comment from your non-working source code?
17:55:27 <fizzie> I guess so; I don't think there's // comments in the driver.
17:55:35 <AnMaster> fizzie, indeed
17:55:53 <fizzie> In that case it's possible that it should be updated to use non-blocking IO with a timeout. It looks as if the current driver should support that.
17:56:03 <AnMaster> fizzie, dead upstream mostly
17:56:11 <AnMaster> fizzie, so yeah, I have some local patches to this
17:56:27 <fizzie> Well, like the read_timeout module_param says: "Some legacy software expects blocking reads to time out." Yours is one of them, apparently.
17:56:48 <AnMaster> fizzie, yes but it wants to set it's own time out!
17:56:57 <fizzie> It seems to have read_timeout enabled by default (at 200 ms), so if that value is okay for the code, you could possibly just throw out the ioctl.
17:57:15 <AnMaster> fizzie, it wants 250 ms
17:57:18 <AnMaster> in this case
17:57:22 <AnMaster> sometimes other values
17:57:52 <cpressey> AnMaster: VMWare has wronged me one too many times, so I'm trying VirtualBox. Thought you might be interested to know, since you mentioned it to me.
17:58:32 <AnMaster> mhm
17:58:58 <AnMaster> Gregor-W, hm? "* [Gregor-W] (836b416f@gateway/web/freenode/ip.131.107.65.111): proton.research.microsoft.com/131.107.65.111 - htt"
17:59:01 <AnMaster> what?
17:59:09 <AnMaster> microsoft?
17:59:17 <Gregor-W> Muahahahaha
17:59:20 <fizzie> AnMaster: Heh. Well, if you want the code to be able to use those timeouts it specifies, you can also patch the kernel, and replace the ioctl with a sysfs write.
17:59:51 <fizzie> Gregor's a microsoftean spy on the esoteric language marketplace, huh?!
18:00:12 <AnMaster> fizzie, well. I'm probably going to try to replace the code with select() since that is available for the serial tower code
18:00:33 <AnMaster> Gregor-W, btw those panos: <AnMaster> Gregor, full res: http://omploader.org/vNHAyNw scaled to 30%: http://omploader.org/vNGx0Mw
18:00:42 <AnMaster> Gregor-W, would probably crash IE though :P
18:00:52 <Gregor-W> Everything crashes IE *shrugs*
18:01:03 <AnMaster> Gregor-W, yeah the full res one is a 12 MB jpg
18:01:07 <AnMaster> progressive
18:01:57 <Gregor-W> 360-degree panoramas are always weird lookin' :P
18:02:26 <fizzie> Not if you look at them with a real panorama-viewer that does projection-correction to the "usual" way (and only shows a tiny region of it, of course).
18:02:41 <Gregor-W> Really the "tiny region of it" part is the whole fix :P
18:03:12 <fizzie> There's more than just cropping a rectangular region out of it.
18:03:50 <fizzie> Or rather, with proper projection mangling you can crop a larger region of the panorama out and have it still look "normal" than if you just crop.
18:04:19 <fizzie> AnMaster: Incidentally, was there a photo of your actual lego construction anywhere?
18:07:00 <ais523> Gregor-W: back in the days of IE4, I wrote a webpage which was just a frameset, with each of the frames the webpage itself
18:07:12 <ais523> if you tried to open it in IE4, it not only crashed the browser, but also took out the Start toolbar
18:07:16 <ais523> with no obvious way to get it back
18:07:50 <ais523> even more fun, it popped up a dialog box "internet explorer is using a lot of memory, do you want to terminate it?" but the same thing happened whether you pressed yes or no
18:08:31 <fizzie> Doesn't killing the explorer.exe proecess (or whatever the name was) usually fix missing desktop components.
18:08:34 <AnMaster> fizzie, well it seems to work
18:09:02 <AnMaster> fizzie, yes a few. Site may be slow: http://pubacc.wilcox-tech.com/~anmaster/panobot/
18:10:13 <AnMaster> fizzie, on NT based systems certainly, less sure about 9x
18:10:32 <AnMaster> well sometimes you manually have to start it againm
18:10:34 <AnMaster> again*
18:10:36 <ais523> fizzie: in NT-based systems, it respawns
18:10:43 <ais523> in 9x, it doesn't; the solution would be to /run/ explorer.exe
18:10:47 <AnMaster> ais523, didn't always under XP for me
18:10:54 <ais523> but you'd better hope you have a widget on what's left of the desktop to let you run it
18:10:55 <AnMaster> I sometimes had to run it manually even on XP
18:11:14 <Deewiant> win+r worked
18:11:32 <AnMaster> ais523, oh wait, 9x didn't have process manager did it?
18:12:10 <ais523> not connected to control-alt-del, IIRC
18:12:13 <fizzie> There was some sort of task manager. I can't recall whether it could run things or not.
18:12:35 <fizzie> And it didn't always appear at all.
18:13:50 <AnMaster> ais523, I assume you will love this crazy indention for "one level": one tab + one space
18:13:52 <AnMaster> quite wtf
18:13:57 <ais523> yep, I love it
18:14:13 <ais523> for two levels, is it tab tab space space, or tab space tab space?
18:14:46 <AnMaster> ais523, it's tab tab
18:14:47 <AnMaster> no space
18:15:02 <ais523> sounds like a typo when making the function
18:15:08 <ais523> it's pretty easy to indent to tab+space by mistake
18:15:11 <AnMaster> ais523, it is consistent in the entire file
18:15:13 <ais523> and then the editor preserves your indentation
18:15:23 <AnMaster> ais523, and some other files
18:15:28 <AnMaster> not all other files, but several
18:15:33 <fizzie> If I recall correctly, ctrl-alt-del on 9x spawned the task manager directly, not the lock-screen/task-manager/etc. menu of NT. Though sometimes it just spawned the "system is busy" bluescreen, from which you could theoretically resume waiting or reboot. Not that those options always worked either.
18:15:52 <AnMaster> fizzie, wasn't the task manager very limited on 9x?
18:15:59 <AnMaster> I mean, no load tab or such
18:16:04 <ais523> fizzie: no, ctrl-alt-del on 95 (at least) picked an application using various heuristics, and asked you whether you wanted to kill it or not
18:16:20 <AnMaster> ais523, no it showed a box to select which one iirc
18:16:26 <ais523> that was 98
18:16:26 <AnMaster> or was that 98?
18:16:29 <AnMaster> heh
18:17:02 <fizzie> The 98 app-killer box is probably the "task manager" I remember. I doubt it had "run" options.
18:17:53 <fizzie> I should have some VMs to test these things on, wouldn't have to rely on fallible memory.
18:18:36 <AnMaster> bbiab
18:20:23 <fizzie> According to Wikipedia:
18:20:27 <fizzie> Windows 95, Windows 98, and Windows Me, temporarily halts the entire system, and presents a window which lists currently running processes, and can be used to notify them that they should end, or, when they don't respond, kill them. The user can press Control-Alt-Delete again to perform a soft reboot.
18:20:57 <fizzie> And it's win 3.1 which asks you if you want to kill the "current" task.
18:22:16 <fizzie> There's also the is-busy screen I remembered: "In Windows 9x, pressing the combination a second time if the process listing has not appeared will display a blue screen from which the user can reboot the system by pressing the combination a third time; other times the system restarts on the second Ctrl-Alt-Delete combination."
18:22:40 <ais523> fizzie: ah, wow I'm showing my age :)
18:26:23 <fizzie> It sure is good to have an encyclopedia which knows in extreme detail what happens on the three-finger salute on various Win versions. (For XP, it matter whether the computer is part of a domain and whether the welcome screen is enabled.)
18:32:24 -!- cal153 has quit (Ping timeout: 265 seconds).
18:46:34 -!- relet has quit (Read error: Connection reset by peer).
18:47:33 -!- relet has joined.
18:57:42 <AnMaster> fizzie, ais523: I remember pre-OSX doing the "guessing process" bit as well
18:58:19 <AnMaster> fizzie, iirc it usually failed to restart with ctrl-alt-del
19:03:56 <fizzie> Hmn, I think I've had a fair amount of success restarting with command-control-powerbutton. The "force-quit" key (command-option-esc, was it?) wasn't always so lucky.
19:06:02 -!- Deewiant has quit (Ping timeout: 245 seconds).
19:08:07 <fizzie> Also for some reason I have the phrase "komento-optio-omena" (lit. "command-option-apple") stuck in my head, even though it makes no sense, since the command key *is* the apple key.
19:08:47 <Gregor-W> http://omploader.org/vNHE3dQ
19:09:01 <Gregor-W> Sometimes peoples' grammar just confuse me.
19:09:17 <Gregor-W> *confuseS hyuk hyuk
19:17:41 -!- augur has quit (Remote host closed the connection).
19:18:12 -!- cal153 has joined.
19:19:40 <cpressey> So I find I am thinking about a Feather-like language, God help me.
19:20:10 <cpressey> Only thing I have so far is that, at the end of the program, there must be some instructions to create the inital program and send it back in time.
19:22:01 <cpressey> Sort of a self-quine.
19:22:39 <ais523> cpressey: that happens with Feather too
19:22:44 <ais523> for much the same reason
19:22:48 <ais523> only, an infinite number of times
19:23:03 <ais523> well, it happens n times where n is finite, but any time its value would become relevant, it's retroactively increased
19:23:08 <ais523> thus it's effectively infinite
19:25:13 <cpressey> Or, a fixed point, of sorts?
19:25:51 <ais523> yep, sort-of like that
19:25:51 <cpressey> Although it sounds like nothing's fixed, there...
19:26:04 <cpressey> broken point.
19:26:26 <ais523> haha
19:27:01 <cpressey> Or do mathematicians call those "fixpoints" to disambiguate them from fixed-point arithmetic?
19:27:13 <cpressey> Cos I know I've seen that term.
19:27:49 -!- augur has joined.
19:27:51 <cpressey> Next I'm going to get into recursive sequences having floating points. Stop me.
19:28:46 -!- KingOfKarlsruhe has joined.
19:29:18 <ais523> cpressey: quick, do something saner!
19:29:32 <cpressey> Uh... uh...
19:29:49 <cpressey> Installing Ubuntu Server 10.04.
19:29:57 <cpressey> Ah, nice and banal computer usage.
19:30:33 <cpressey> Packages! Partitions! Progress bars! NORMAL.
19:31:28 <cpressey> Actually, we do have a "time travel" feature where I work.
19:31:45 <cpressey> It lets you preview a webpage as if you were viewing it at a given time and date.
19:31:55 <cpressey> Sadly, that's where it ends.
19:33:01 <Gregor-W> So install AT&T UNIX System V R4 instead!
19:33:35 <oklopol> recursion humor never gets old
19:34:00 <oklopol> i want a tv show with mathematics in it :(
19:35:39 <oklopol> seen what term?
19:36:05 <cpressey> oklopol: "fixpoint", apparently as an abbreviation for "fixed point"
19:36:10 <oklopol> yes, it is
19:36:20 <cpressey> k, thought so, good to know.
19:36:46 <cpressey> Not that anyone uses fixed-point arithmetic these days :)
19:37:17 <oklopol> yeah that's not a very useful term, fixed points are abbreviated not because of that, but because that term is very useful
19:37:23 <oklopol> that that that
19:38:00 <oklopol> well, in the kinds of stuff where you need the term a lot at least :-)
19:38:05 <cpressey> I prefer "fixie"! "This function has a fixie..."
19:38:24 <cpressey> But that collides with a kind of one-speed hipster bicycle which lacks brakes.
19:38:30 <oklopol> you can get almost that short by saying "f fixes x"
19:40:16 <Gregor-W> Except that f fixes AT x, doesn't it?
19:40:41 <oklopol> no
19:40:42 <oklopol> well
19:40:49 <oklopol> that maybe work too, but nh
19:40:56 <oklopol> *may
19:41:16 <oklopol> (just "f fixes x" has google results)
19:42:10 <oklopol> (not many though)
19:42:52 <AnMaster> <cpressey> Not that anyone uses fixed-point arithmetic these days :) <-- um
19:42:53 <AnMaster> embedded
19:43:02 <AnMaster> cpressey, not everything has FPUs
19:43:19 <cpressey> AnMaster: Smiley indicates I am DEAD SERIOUS.
19:43:29 <AnMaster> cpressey, of course!
19:43:30 <oklopol> no one uses fpu's nowadays
19:43:34 <AnMaster> oklopol, hah
19:43:39 <oklopol> bignum ratios are the way to go
19:43:46 <oklopol> ..rationals that is
19:44:09 <AnMaster> oklopol, ah indeed I was just going to ask about sqrt(2) and such
19:44:21 <oklopol> well who believes in that kind of stuff anyhow
19:44:37 <AnMaster> oklopol, in what stuff? square roots? irrational numbers?
19:45:12 <oklopol> i don't believe in complete metric spaces
19:45:52 -!- sixhourtennis has quit (Ping timeout: 265 seconds).
19:46:27 <oklopol> well aren't you going to tell the obvious joke?
19:46:27 <AnMaster> hah
19:46:37 <AnMaster> oklopol, I don't know the obvious joke
19:46:45 <oklopol> well i'm not sure what the joke would be, exactly
19:47:02 <AnMaster> ...
19:47:16 <AnMaster> oklopol, I guess it isn't very obvious then
19:47:24 <oklopol> but i mean there are a few rather believable examples of complete metric spaces
19:47:41 <AnMaster> oklopol, I can't say I'm familiar with the term at all
19:48:21 -!- hiato has joined.
19:48:23 <oklopol> well then you're in luck because i love talking about completeness
19:48:30 <oklopol> do you know metric spaces?
19:48:43 <AnMaster> oklopol, I heard the term
19:48:44 <AnMaster> that is all
19:48:58 <oklopol> R is among other things a metric space
19:49:04 <oklopol> this means there's a distance function.
19:49:05 <AnMaster> oklopol, or is that like euclidian, manhattan and such?
19:49:07 <AnMaster> ah
19:49:08 <AnMaster> right
19:49:27 <AnMaster> oklopol, so what is a complete such one
19:50:01 -!- Phantom_Hoover has joined.
19:50:22 <oklopol> it means cauchy sequences converge
19:50:26 <oklopol> and what that means is
19:51:14 <AnMaster> hm?
19:51:21 <oklopol> completeness is basically saying that there are no "holes" in the space, a cauchy sequence is a sequence such that the points in it get closer and closer to all the points in the rest of the sequence
19:51:56 <oklopol> so for any epsilon > 0, there's a n_0 such that for all m, n > n_0, d(x_n, x_m) < epsilon
19:51:57 <oklopol> do you get that?
19:52:18 <oklopol> hehe
19:52:23 <AnMaster> hm
19:52:34 <oklopol> i sort of changed what i was about to say midway :D
19:52:42 <AnMaster> oklopol, if there is no holes in space it basically mean you will have an uncountable set?
19:52:49 <oklopol> or i mean said two completely different things separated by a comma
19:53:01 <AnMaster> oklopol, of course, from an integer's point of view, the integers have no holes ;)
19:53:36 <oklopol> AnMaster: no not necessarily, {0} is complete because the only cauchy sequence is x_i = 0 for all i, and clearly it approaches 0 (this shouldn't make sense to you because i haven't defined completeness yet)
19:53:53 <AnMaster> oklopol, this being a degenerate sense of course?
19:53:56 <AnMaster> err
19:54:00 <AnMaster> s/sense/case/
19:54:09 <AnMaster> oklopol, also is {} complete?
19:54:27 <oklopol> yes i suppose, but i doubt all people would define {} to be a metric space
19:54:34 <AnMaster> touche
19:54:56 <oklopol> probably it would lead to having to add clutter in the beginning of proofs
19:54:56 <AnMaster> oklopol, yes of course {} is imperial not metric
19:55:08 <AnMaster> had to say it oerjan isn't here
19:55:11 <oklopol> LOL funny dude hey so did you get cauchys
19:55:13 <oklopol> true.
19:55:24 <AnMaster> hm
19:55:25 <AnMaster> maybe
19:55:29 <oklopol> what it says is
19:55:52 <oklopol> if you go far enough in the sequence, there will be no great distances between the rest of the points in the sequence.
19:56:12 -!- Deewiant has joined.
19:56:28 <AnMaster> oklopol, how do you make such a sequence then? I mean, if you just take any random number sequence it wouldn't be one of those
19:56:56 <oklopol> no it wouldn't, this is just how we define a cauchy sequence, i haven't said anything about how to interpret it
19:57:43 <oklopol> basically this is a kind of sequence that you can force to be in arbitrarily small place
19:58:09 <oklopol> and completeness just means there will be a point where that sequence "lands" (the sequence converges)
19:58:23 <oklopol> *in an
19:58:35 <oklopol> and now to be a bit more concrete
19:58:35 <AnMaster> hm
19:58:55 <AnMaster> oklopol, will that point be lim → inf?
19:59:04 <AnMaster> I mean
19:59:06 <oklopol> reals can be defined by taking rationals, and adding points so that cauchy sequences converge (although you need some additional stuff or you might get other spaces too)
19:59:18 <AnMaster> the position in the sequence of it
19:59:24 <oklopol> well no
19:59:29 <oklopol> err
19:59:31 <oklopol> oh yes
19:59:34 <oklopol> sorry misunderstood
19:59:36 <AnMaster> ah
19:59:58 <AnMaster> oklopol, so in some sense there is no point where it converges then. Not any finite one at least
20:00:16 <AnMaster> finitely far into the sequence I mean
20:00:17 <oklopol> so to be precise, for any cauchy sequence (x_i) there is a point y such that for all e>0 there is an n_0 such that for all n>n_0 d(x_n, y) < e
20:00:40 <AnMaster> hm
20:00:56 <oklopol> well the point of completeness is that "there is a point everywhere"
20:01:08 <cpressey> Sounds crowded.
20:01:21 <AnMaster> oklopol, and e goes towards zero when x_n goes to inf?
20:01:37 <oklopol> we formalize this by defining cauchy sequences, sequences that gets closer and closer to *something* (because the distances between its elements get smaller), and completeness requires there's a point there
20:01:41 <AnMaster> oklopol, wait you said "<oklopol> reals can be defined by taking rationals, and adding points so that cauchy sequences converge (although you need some additional stuff or you might get other spaces too)"
20:01:44 <AnMaster> is that true for all reals?
20:01:45 <Gregor-W> #esoteric is totally overrun with euros.
20:01:50 <Gregor-W> I should do something about that.
20:01:56 <Phantom_Hoover> Wow, maths.
20:02:04 <AnMaster> oklopol, ?
20:02:05 <Phantom_Hoover> Gregor, does the UK count as Euro?
20:02:14 <Gregor-W> Phantom_Hoover: Depends who you ask :P
20:02:22 <oklopol> AnMaster: yes that's one way to define reals
20:02:23 <AnMaster> Phantom_Hoover, they don't use EUR
20:02:24 <Phantom_Hoover> Well, not in the currency sense.
20:02:26 <AnMaster> oklopol, even uncomputable ones?
20:02:34 <Phantom_Hoover> AnMaster, I kind of know that.
20:02:35 <oklopol> sure
20:02:52 <Gregor-W> Phantom_Hoover: From the perspective of an American, Brits are just euros with funny teeth.
20:02:55 <Phantom_Hoover> I was asking if Gregor-W included us in "euros".
20:02:59 <AnMaster> oklopol, huh, what is the catch then? It sounds like this should be easy to compute even for uncomputable ones then?
20:03:14 <Phantom_Hoover> Gregor-W, that stereotype is baseless!
20:03:15 <oklopol> AnMaster: e doesn't really go towards zero in what i said, the definition just states "for any e"
20:03:40 <cpressey> Yay! I can build kernel modules! FINALLY.
20:03:46 <Gregor-W> Phantom_Hoover: What's that? I couldn't understand you spitting through the gaps in your teeth.
20:04:02 <AnMaster> oklopol, oh
20:04:03 <oklopol> AnMaster: one cauchy sequence that approaches a real number is the sequence of prefices of its digit expansion
20:04:15 <AnMaster> hm
20:04:22 <AnMaster> oklopol, prefices?
20:04:30 <oklopol> prefix in plural
20:04:31 <Phantom_Hoover> Plural of "prefix".
20:04:38 <Phantom_Hoover> For the pretentious.
20:04:48 <oklopol> 3, 3.1, 3.14, 3.141, ...
20:04:48 <Gregor-W> Extremely pretentious.
20:04:48 <AnMaster> heck even aspell doesn't know it
20:04:55 <oklopol> pretentious?
20:04:56 <AnMaster> but, that doesn't help here
20:05:01 -!- hiato_ has joined.
20:05:09 <Gregor-W> AnMaster: That would be because it's not actually a word, it's just a pretention masquerading as a word :P
20:05:11 <AnMaster> oklopol, what do you mean with a prefix in a digit expansion?
20:05:16 <Gregor-W> That's how pretentious it is.
20:05:28 <cpressey> oklopol: OOC, would it be possible to define (well, or at least, describe) such things without sequences? Like, forall A, C where A < C, exists B where A < B < C
20:05:33 <oklopol> there's nothing pretentious about it
20:05:47 <oklopol> that's how x behaves when you add -es, on irc
20:05:54 <AnMaster> oklopol, but what do you mean with prefixes in digit expansions?
20:06:31 <oklopol> cpressey: that's a different concept called perfectness :)
20:06:40 <oklopol> wait is it the same thing...
20:06:47 <oklopol> (as perfectness that is)
20:06:57 <oklopol> cpressey: but anyway rationals have that property
20:07:02 <oklopol> yet they are obviously not complete
20:07:14 <oklopol> (approach sqrt(2) for instance)
20:07:23 <cpressey> oklopol: Yes, I see. It's not as strong, is it.
20:07:23 -!- hiato has quit (Ping timeout: 248 seconds).
20:07:35 <oklopol> i believe it's just it's different
20:07:40 <AnMaster> oklopol, what does such a sequence look like?
20:07:44 <AnMaster> oklopol, lets say, the one for pi
20:08:06 <oklopol> see {0, 1} is complete with the metric d(0, 0) = d(1, 1) = 0, otherwise d(x,y)=!
20:08:07 <oklopol> *1
20:08:13 <cpressey> You'd need a distance function to have completeness it seems, you have to show that A and B (or B and C) are really, uh, close.
20:08:28 <AnMaster> heh
20:08:29 <oklopol> AnMaster: there are multiple cauchy sequences for it
20:08:37 <oklopol> exactly 7, you should try finding them
20:08:45 <oklopol> (i'm joking, there are uncountably many)
20:08:48 <AnMaster> :P
20:09:36 <oklopol> cpressey: describe all you want but usually that just confuses things... :D
20:09:46 <AnMaster> oklopol, you didn't fool me. It is obvious that there can be an infinite number of them for any given number if the set you are working in is infinite
20:09:56 <oklopol> yep
20:09:59 <oklopol> and why is that?
20:10:04 <oklopol> (i mean there's a very short proof)
20:10:23 -!- micahjohnston has joined.
20:10:44 <AnMaster> oklopol, well I don't have a proof. It just seems obvious from thinking about it. you could just add some more, further away, elements at the start of the sequence
20:10:52 <oklopol> yep
20:10:54 <oklopol> that's the proof
20:10:57 <AnMaster> well with the relevant spacing I think
20:11:19 <cpressey> W00T, shared folders!
20:11:23 <AnMaster> oklopol, do you have to "home" in on the number so that you have as much left on both sides all the time?
20:11:32 <oklopol> AnMaster: no
20:11:43 <AnMaster> oklopol, or can you kind of start with 0,9 and then home in on, say, 8.92
20:11:56 <oklopol> you can add any finite amount of numbers in the beginning.
20:12:26 <AnMaster> oklopol, oklopol, but the number must always be between your numbers (every pair of them I mean?
20:12:43 <AnMaster> oklopol, or can you start with 0,9 and "home in" on 842 ?
20:12:43 <oklopol> for any e we need n_0 such that ..., assuming a sequence satisfies this, if you add k things in the beginning, always, given e, take n_0+k.
20:13:30 <AnMaster> oklopol, why only adding finitely number of elements?
20:13:46 <oklopol> if you add an infinite amount of elements to a sequence, you change it completely
20:14:06 <AnMaster> oklopol, couldn't we keep adding new elements at the start forever? Hm wait maybe that is just infinite in potential
20:14:13 <AnMaster> probably
20:14:32 <oklopol> we could add elements forever. that means changing the whole sequence :)
20:15:06 <oklopol> for uncountability (in the real case), notice you can add small enough fluctuations to each element of the sequence
20:15:25 <oklopol> (smaller and smaller the farther you get)
20:16:11 <oklopol> AnMaster: as usual with sequences, we do not care at all what happens in the beginning, as long as the correct thing happens once we get far enough
20:18:30 <AnMaster> mhm
20:19:37 <AnMaster> oklopol, so these sequences must be infinite for irrationals right?
20:19:40 <oklopol> or starts happening, in this case what we want to happen is that we get a ball containing everything in the rest of the sequence (so this is like limits, except the ball is around sequence elements, not a the limit of the sequence)
20:19:49 <oklopol> *-a
20:20:18 <AnMaster> wait what? what ball?
20:20:20 <oklopol> arbitrarily small such ball
20:20:23 <oklopol> oh well
20:20:45 <oklopol> the definition of a ball in a metric spaces should be obvious but
20:20:57 <oklopol> B(x, r) = {y | d(x, y) < r}
20:20:58 <AnMaster> well assume I'm not a mathematician
20:21:00 <oklopol> (open ball)
20:21:13 <oklopol> so it's just another way to say that an element is close to another
20:21:26 <AnMaster> oklopol, maths would be easier if you used names that were longer than one letter
20:21:30 <AnMaster> I would call that obfuscated ;P
20:22:04 <AnMaster> oklopol, and is that | as in divides? Or yet another variant of the set construction notation?
20:22:14 <AnMaster> I seen : and what not for it as well
20:22:48 <Phantom_Hoover> AnMaster, using multi-character variable names in maths is anathema.
20:23:11 <oklopol> the reason programming benefits from long names is that there are so many of them, in math most things are used a million times so you learn what the character stands for
20:23:18 <oklopol> AnMaster: construction
20:23:22 <AnMaster> Phantom_Hoover, for no particular reason
20:23:31 <Phantom_Hoover> AnMaster, it means the set of all points y such that the distance from a point x to y is less than the radius.
20:23:49 <AnMaster> Phantom_Hoover, I can read that once I know what the symbol means in this case
20:23:55 <AnMaster> math likes operator overloading
20:23:57 <Phantom_Hoover> OK.
20:23:58 <AnMaster> it seems
20:24:19 <Phantom_Hoover> Hmm, does maths have types?
20:24:35 <oklopol> there's even "type theory"
20:24:45 <Phantom_Hoover> I mean, there are obviously fields of it which use them, but does it apply to other fields?
20:24:47 <oklopol> more often you talk about sets, same thing really
20:25:11 <Phantom_Hoover> Hmm, yes.
20:25:24 <oklopol> math is all about what set the things you're talking about, and that's their "type"
20:25:27 <cpressey> "egg-dist-tmp-o0Mp0o" ... nice temp file name!
20:25:28 <AnMaster> {} = the set of all mathematicians using multi-char variable names
20:25:30 <Phantom_Hoover> There's operator theory, too, isn't there?
20:25:42 <oklopol> probably, i don't know what that is
20:25:45 * cpressey o0Mp0o's down the hall
20:25:48 <AnMaster> cpressey, python I presume
20:25:49 <Phantom_Hoover> AnMaster, that's called IIRC.
20:25:53 <AnMaster> Phantom_Hoover, yes
20:26:00 <AnMaster> Phantom_Hoover, but I didn't know how to type it
20:26:08 <Phantom_Hoover> Compose-O-/
20:26:22 <AnMaster> Phantom_Hoover, isn't that Danish ö?
20:26:32 <Phantom_Hoover> Yes, but they're identical.
20:26:41 <AnMaster> yep, Shift-AltGr-ö gives Ø
20:26:53 <AnMaster> Phantom_Hoover, not in unicode I presume
20:27:02 <Phantom_Hoover> It probably is, actually.
20:27:05 <oklopol> or well i guess it's sort of obvious it has to do with operators, but i don't really know what their definition is
20:27:11 * Phantom_Hoover brings up his character map
20:27:24 <AnMaster> Phantom_Hoover, nop ∅
20:27:31 <AnMaster> that is the unicode for empty set
20:27:37 <oklopol> (not really the kinds of operators you have in programming)
20:27:39 <AnMaster> Phantom_Hoover, in this font it is different
20:27:40 <Phantom_Hoover> Yeah, but there isn't a compose sequence for it.
20:27:50 <Phantom_Hoover> And I only try AltGr if I'm desperate.
20:27:57 <oklopol> (whereas type theory is about THOSE kinds of types)
20:28:00 <AnMaster> Phantom_Hoover, altgr doesn't have it
20:28:10 <AnMaster> altgr have Ø which is danish ö
20:28:11 <Phantom_Hoover> Incidentally, how do you customise the compose sequences?
20:28:30 <AnMaster> Phantom_Hoover, in theory there is a file you can put in ~ with that, never got it to work
20:28:47 <Phantom_Hoover> Urgh.
20:29:01 <Phantom_Hoover> I really want compose-p-i to do the obvious thing
20:29:29 <AnMaster> Phantom_Hoover, there is a file in /usr/share you could try as well
20:29:35 <AnMaster> Phantom_Hoover, probably needs to restart X in between
20:29:59 <Phantom_Hoover> Which of the 411 entries in /usr/share is it?
20:30:32 <oklopol> i should put an ad on the webs that i want someone to exchange definitions and proofs with, people at the math dep mostly just talk about boring irl stuff :(
20:30:39 <oklopol> it's usually like
20:30:48 <Phantom_Hoover> -=≡≣
20:30:53 <Phantom_Hoover> I love Unicode.
20:31:14 <oklopol> everyone's talking about seminars and shit and i just drift off and suddenly ask someone "so do you know of a generalization of ..." and everyone looks at me like "umm get a life dood"
20:31:28 <oklopol> (that's not true, usually they enjoy answering my questions.)
20:31:41 <oklopol> (but then it's back to boringland)
20:31:53 <Phantom_Hoover> I got that when I told my fellow mathematics scholars about the Pascal-Sierpinski thing.
20:32:21 <Phantom_Hoover> ⨌ For the love of god!
20:32:23 <oklopol> luckily i'm currently surrounded by people who know a lot more about everything than i do
20:32:34 <oklopol> so i don't start lecturing
20:32:36 <Phantom_Hoover> Why on earth would I need a quadruple-integral sign?
20:33:01 <cpressey> My font doesn't even support that one.
20:33:27 <oklopol> (i consider explaining how theorems are proven the greatest form of communication)
20:33:55 <cpressey> Holy !&%@* when did nano start doing syntax colorring???
20:33:58 <Phantom_Hoover> oklopol, I don't think I've ever told anyone a proof IRL.
20:34:04 <cpressey> *colouring???
20:34:10 <oklopol> well unfortunately it's really hard to actually do formal proof in speech
20:34:18 <Phantom_Hoover> Well, excepting some competitions, where it was marked by someone I never met.
20:34:44 <ais523> cpressey: nano's done it pretty much forever IIRC, it's pico that doesn't do it
20:34:46 <Phantom_Hoover> ⩶ Triple equals sign. Where will that possibly be used.
20:34:57 <Phantom_Hoover> And why can't you just write "==="?
20:35:01 <oklopol> triple equals signs are used for mod
20:35:02 <oklopol> oh
20:35:03 <ais523> Phantom_Hoover: ≡ is used all over the place in maths
20:35:06 <ais523> for congruence
20:35:06 <oklopol> that kind of it
20:35:12 <Phantom_Hoover> No, that's congruence.
20:35:26 <Phantom_Hoover> I was talking about three consecutive equals signs.
20:35:32 <oklopol> you meant some sort of composite === that i saw as a rectangel
20:35:34 <oklopol> *rectangle
20:35:35 <cpressey> ais523: I must have been running an old version before, then. Also, I never noticed it's called "GNU Nano", now...
20:35:53 <ais523> cpressey: the syntax highlight library seems to be optional, at least on Ubuntu
20:35:58 <ais523> I don't have it installed
20:35:59 -!- augur has quit (Remote host closed the connection).
20:36:06 <oklopol> so let's talk about feather
20:36:09 -!- augur has joined.
20:36:13 <oklopol> how does it work exactly, again?
20:36:14 <Phantom_Hoover> ⫷ is pushing it. It's three nested <s.
20:36:20 <cpressey> ais523: Ah. They probably leave it out on TurnKey Linux and every other distro I've used previously.
20:36:20 <oklopol> emphasis on exactly
20:36:22 <ais523> oklopol: are you just trying to wind me up?
20:36:42 <oklopol> ais523: nono i'm just wondering what the exact details of the language are
20:36:43 <Phantom_Hoover> ais523, I have no idea how it works, beyond the retroactive alteration
20:36:57 <Phantom_Hoover> Explain the basics
20:36:59 <ais523> oklopol: I don't know myself
20:37:00 <AnMaster> <cpressey> Holy !&%@* when did nano start doing syntax colorring??? <-- I noticed that recently too
20:37:02 <ais523> and keep changing my mind
20:37:04 <cpressey> The exact details of the language are subject to retroactive alteration.
20:37:07 <AnMaster> cpressey, it only doe one one of my systems
20:37:09 <oklopol> ais523: in other words yes, i suppose
20:37:15 <oklopol> cpressey: good one
20:37:23 <ais523> cpressey: that's truer than you might think
20:37:24 <AnMaster> cpressey, even though arch linux should be bleeding edge it only happens on ubuntu for me
20:37:58 <Phantom_Hoover> Hmm, ⩴. ::=, could be nice for Thue programs.
20:38:01 <oklopol> i never really got "bleeding edge", could someone explain it to me
20:38:10 <ais523> ooh, it syntax-highlights by default for me too now
20:38:14 <cpressey> AnMaster: If only it had a "go to line #" function, it would probably start looking like a viable editor for me.
20:38:15 <Phantom_Hoover> oklopol, doesn't it mean that it probably doesn't work.
20:38:19 <ais523> they must have started bundling the highlight library with the program itself
20:38:26 <ais523> which would explain why everyone noticed it only recently
20:38:50 <AnMaster> cpressey, ^W ^T
20:38:51 <oklopol> ohhhhhh
20:38:54 <AnMaster> cpressey, that is goto line
20:38:56 <AnMaster> cpressey, iirc
20:39:08 <olsner> in nano? isn't it Esc-G?
20:39:11 <AnMaster> cpressey, I normally use emacs when programming, which is when I need goto line
20:39:18 <oklopol> Phantom_Hoover: i wasn't aware that it's a joke on leading edge, i thought it was just another way to say "really modern and cool and shit" :D
20:39:28 <Phantom_Hoover> I don't know.
20:39:31 <oklopol> so i also wasn't aware that it means it doesn't work
20:39:34 <AnMaster> olsner, that sounds like emacs.
20:39:40 <Phantom_Hoover> oklopol, I was making that up.
20:39:49 <oklopol> Phantom_Hoover: i checked it
20:39:52 <AnMaster> olsner, it is M-g g in emacs it seems
20:39:53 <oklopol> but okay
20:40:03 <AnMaster> had to check with my fingers in emacs to remember
20:40:07 <AnMaster> too used to it
20:40:11 <AnMaster> muscle memory or something
20:40:12 <oklopol> hmm
20:40:16 <Phantom_Hoover> Hey, anyone remember Lumeniki?
20:40:25 <oklopol> i'm pretty sure i've seen bleeding edge used to just mean "the newest of new"
20:41:25 <cpressey> AnMaster: Indeed, ^W^T works. Thanks.
20:41:26 <ais523> goto line is M-g M-g in emacs
20:41:33 <Phantom_Hoover> No it isn't
20:41:41 <ais523> yes it is, I use that combo loads
20:41:50 <Phantom_Hoover> Well, it's M-g g.
20:41:54 <Phantom_Hoover> As well.
20:41:57 <AnMaster> Phantom_Hoover, I said that
20:42:05 <ais523> hmm, both work
20:42:09 <ais523> M-g g must be newer, though
20:42:10 <Phantom_Hoover> Yes, that's why I said it.
20:42:20 <cpressey> oklopol: I thought "bleeding edge" was a reference to "as new as possible -- so new, it's dangerous".
20:42:28 <AnMaster> cpressey, it says that at the bottom of the screen as you type C-w in nano
20:42:33 <Phantom_Hoover> Hmm, I instinctively type ^D after ^X^C now.
20:42:42 -!- Gregor-W has quit (Ping timeout: 252 seconds).
20:42:46 <AnMaster> Phantom_Hoover, forgot ^K
20:43:29 <Phantom_Hoover> What good would that do?
20:43:41 <ais523> AnMaster: how did javadoc end up in perpet.c?
20:43:46 <ais523> that must be your doing, I don't think I'd have done that myself
20:43:48 <AnMaster> ais523, what?
20:43:51 <ais523> I don't mind, I'm just terribly surprised
20:43:57 <AnMaster> ais523, what do you mean javadoc?
20:44:06 <AnMaster> ais523, doxygen could be me. Javadoc: no
20:44:09 <ais523> /** @param argc What do you think? */
20:44:12 <ais523> javadoc format
20:44:19 <AnMaster> ais523, doxygen syntax to me
20:44:39 <ais523> I'm not surprised that doxygen used a pre-existing syntax
20:44:43 <ais523> so that it worked on Java too
20:44:45 <AnMaster> true
20:44:51 <AnMaster> ais523, doesn't doxygen do \ as well
20:44:52 <Phantom_Hoover> What are you talking about?
20:44:54 <AnMaster> as an alternative
20:45:04 <ais523> Phantom_Hoover: perpet.c is one of the source files in C-INTERCAL
20:45:08 <AnMaster> ais523, anyway surely it fits in the general madness in there
20:45:21 <Phantom_Hoover> ais523, I thought ESR maintained that.
20:45:21 <ais523> it does
20:45:28 <AnMaster> Phantom_Hoover, no ais523 does
20:45:29 <ais523> Phantom_Hoover: you're years out of date
20:45:35 <Phantom_Hoover> Probably.
20:45:38 <ais523> ESR generally has better things to do with his time
20:45:47 <Phantom_Hoover> Hmm, I don't need to boycott it any more.
20:46:02 <ais523> most of the ESRisms have left by now
20:46:11 <ais523> it's come along a lot since the days of ESR
20:46:12 <cpressey> Oh come now, what could possibly be better use of one's time...
20:46:17 <olsner> doxygen is like javadoc but for other languages and with a few extensions like accepting \ instead of @
20:46:23 <Phantom_Hoover> Also, what better things can he do?
20:46:32 <Phantom_Hoover> Shoot people with GUNs?
20:46:57 <Phantom_Hoover> Hmm, APT doesn't have C-INTERCAL.
20:46:59 <AnMaster> cpressey, than what?
20:47:01 <ais523> Phantom_Hoover: it does
20:47:07 <ais523> it's under the name "intercal"
20:47:11 <AnMaster> olsner, \ is for compat with something else iirc
20:47:12 <Phantom_Hoover> Yes.
20:47:13 <AnMaster> olsner, :P
20:47:26 <ais523> IIRC, Debian has the most recent stable version, but there's a more recent beta
20:47:30 <Phantom_Hoover> But the description is "an INTERCAL de-obfuscator".
20:47:34 <AnMaster> olsner, qtdocs sounds familiar
20:47:35 <AnMaster> not sure
20:47:37 <ais523> Phantom_Hoover: it's a bad joke, and not one of mine
20:47:49 <ais523> the idea being that machine code is easier to read than INTERCAL
20:47:55 <AnMaster> ais523, :D
20:47:59 <olsner> iinm qt should be newer than java
20:48:31 <AnMaster> olsner, iinm?
20:48:39 <olsner> if I'm not mistaken
20:48:45 <ais523> if I... never mind
20:49:36 <Phantom_Hoover> Is there an IPv5?
20:49:45 <AnMaster> Phantom_Hoover, development version
20:49:48 <olsner> doxygen was first released in 1997, and javadoc in 1995 according to wikipedia
20:50:09 <AnMaster> ais523, wouldn't that be iinn?
20:50:12 <ais523> Phantom_Hoover: yes, but it's unrelated to v4 or v6 and has an entirely different purpose
20:50:19 <ais523> AnMaster: err, no?
20:50:23 <Phantom_Hoover> Where's C-INTERCAL kept?
20:50:32 <AnMaster> ais523, oh wait
20:50:35 <AnMaster> thinko
20:50:36 <ais523> Phantom_Hoover: http://c.intercal.org.uk
20:51:10 <AnMaster> ais523, last I checked only ipv6 worked for that
20:51:15 <Phantom_Hoover> Who's Claudio Calvelli?
20:51:24 <AnMaster> ais523, seems repaired now
20:51:25 <ais523> AnMaster: that's only for the gopher download, http works fine over v4
20:51:33 <ais523> Phantom_Hoover: CLC-INTERCAL chief developer
20:51:37 <ais523> we share the domain name intercal.org.uk
20:51:42 <Phantom_Hoover> Ah.
20:51:47 -!- wareya has quit (Read error: Connection reset by peer).
20:51:59 <Phantom_Hoover> 0.-2.0.29 is the latest?
20:52:01 <ais523> both British, after all
20:52:03 <ais523> and yes
20:52:09 <AnMaster> ais523, well for a while http over v4 was broken
20:52:10 <cpressey> gopher ftw
20:52:12 <AnMaster> ais523, a few weeks ago
20:52:23 <AnMaster> cpressey, fully agreed
20:52:41 -!- wareya has joined.
20:55:40 <Phantom_Hoover> How do I extract from archives with pax?
20:55:47 <ais523> use tar
20:56:00 <ais523> pax is the POSIX standard archiving format
20:56:12 <ais523> but hardly anyone uses it (except Mac OS X)
20:56:22 <ais523> only BSD seems to provide pax by default, but it's backwards-compatible with tar
20:56:32 <ais523> and GNU tar recognises the format so you even get all the new pax features
20:56:46 <Phantom_Hoover> What is the point, then?
20:56:59 <ais523> standards! when /nobody else uses them/!
20:57:08 <ais523> INTERCAL can't resist the opportunity to be correct where nobody else is
20:57:08 <Phantom_Hoover> Except OS X!
20:57:14 <ais523> it doesn't count
20:57:19 <Phantom_Hoover> I agree.
20:57:20 <cpressey> I think, in contrast to the common eval-phobia of Lisp'ers in the past, I'd like to see a language which embraces eval, and uses it for everything.
20:57:37 <Phantom_Hoover> cpressey, surely one exists already?
20:57:41 <ais523> cpressey: do Underload-alikes count?
20:57:45 <cpressey> Well I'd like to see it!
20:57:54 <cpressey> ais523: Mmmm aybe.
20:57:55 <ais523> it uses eval for all flow control
20:57:55 <AnMaster> ais523, why a file extension at all
20:58:00 <Phantom_Hoover> Wait, why do people hate eval?
20:58:00 <AnMaster> ais523, after all there is file(1)
20:58:29 <cpressey> Phantom_Hoover: Because they love compiling ahead of time.
20:58:40 <ais523> $ file ick-0.-2.0.29.pax.gz
20:58:41 <ais523> ick-0.-2.0.29.pax.gz: gzip compressed data, from Unix, last modified: Wed Apr 1 16:30:28 2009, max compression
20:59:00 <AnMaster> cpressey, well I wouldn't want eval in an implementation of /bin/su
20:59:08 <ais523> $ file ick-0.-2.0.29.pax
20:59:10 <ais523> ick-0.-2.0.29.pax: POSIX tar archive
20:59:13 <ais523> hmm, not bad
20:59:29 <cpressey> su `whoami`
20:59:57 <ais523> cpressey: isn't that just a little pointless?
21:00:23 <AnMaster> $() dammit
21:00:28 <AnMaster> I dislike `
21:00:29 <cpressey> Well, just demonstrating that we already have something eval-y there.
21:00:34 <AnMaster> hard to type on this keyboard
21:00:40 <AnMaster> cpressey, that ` is done in shell
21:00:42 <AnMaster> cpressey, not in su
21:00:47 <AnMaster> cpressey, so that doesn't count
21:01:06 <AnMaster> cpressey, wouldn't work if you started it from a C program with the execv() call
21:01:07 -!- augur has quit (Remote host closed the connection).
21:01:20 <cpressey> AnMaster: I know that.
21:02:09 * ais523 searches for historical versions of C-INTERCAL I don't have
21:02:18 <ais523> ooh, seems FreeBSD has the SHA has for 0.17
21:02:25 <ais523> *SHA1 hash
21:02:31 <ais523> I wonder if it has the tarball too?
21:03:46 <ais523> apparently not
21:04:51 <AnMaster> ais523, ask ESR?
21:05:03 <ais523> worth a /try/ I suppose
21:05:16 <ais523> but I'm not certain he's even aware that anyone else picked up the mantle of INTERCAL development
21:05:23 <AnMaster> ais523, mail him?
21:05:38 -!- augur has joined.
21:05:42 <AnMaster> ais523, also online as esr, but in #wesnoth-dev
21:05:53 <ais523> I tried IRCing him once, but he ignored me
21:06:05 <ais523> I think, anyway
21:06:09 <ais523> my memory's a bit hazy
21:06:10 <cpressey> ESR is a Wesnoth developer? That seems so... slumming.
21:06:19 <AnMaster> cpressey, slumming?
21:06:22 <ais523> not reason to veto Wesnoth, though, IMO
21:06:36 <AnMaster> cpressey, I think he works on story stuff rather than the technical stuff mostly? Not sure
21:06:44 <cpressey> Open Source is more important than ... just ... *games*!
21:07:07 <AnMaster> cpressey, wesnoth is one of the most popular foss games though
21:07:09 <ais523> cpressey: games are one of the main reasons people don't switch to Linux, aren't they?
21:07:19 <ais523> AnMaster: possibly /the/ most popular, for all I know it even beats NetHack
21:07:44 <AnMaster> ais523, hah. I don't have statistics. Thus I didn't want to make any more specific claims
21:08:03 <cpressey> But Open Source is more than just getting people to switch to Linux! ... etc. I won't continue
21:08:09 <AnMaster> cpressey, BSD too?
21:08:45 <AnMaster> I know someone who thinks linux is the worst _kernel_ ever. No not a windows user. a *BSD user.
21:09:33 <ais523> AnMaster: I don't see how a Windows user /could/ think Linux is the worst kernel ever, after all they have to actually live with the NT kernel
21:09:58 <AnMaster> ais523, he based this opinion on reading parts of linux 2.2.0
21:10:25 <cpressey> BSD people tend to be like that.
21:10:44 <AnMaster> cpressey, he prefers windows over linux he says
21:10:46 <cpressey> It's true the BSD kernel is superior in a lot of ways. But surely there are worse kernels out there than Linux.
21:11:01 <Phantom_Hoover> NetHack > Wesnoth.
21:11:08 <ais523> I like both games
21:11:13 <Phantom_Hoover> Roguelike Wesnoth would be neat, though.
21:11:14 <AnMaster> same
21:11:24 <Phantom_Hoover> I don't have the patience to micromanage.
21:11:36 <AnMaster> hm
21:11:59 <Phantom_Hoover> I like NetHack because you need to think, but you can concentrate.
21:12:07 <cpressey> I can't really stand computer RPGs anymore. I mostly play arcade-type games, when I play, these days.
21:12:14 <Phantom_Hoover> Also, because it's incredibly cool.
21:12:25 <cpressey> I get enough thinking with my job and my hobby.
21:12:32 <AnMaster> I never liked arcade
21:12:36 <AnMaster> too much about speed
21:12:41 <AnMaster> and I'm rather slow to react
21:12:59 <Phantom_Hoover> cpressey, I am at school. I get no intellectual stimulation whatsoever.
21:13:14 <cpressey> Phantom_Hoover: Touche.
21:13:20 <AnMaster> Phantom_Hoover, friend nerds?
21:13:28 <Phantom_Hoover> AnMaster, you make me laugh.
21:13:36 <Phantom_Hoover> AFAIK there isn't another nerd in my year.
21:13:48 <AnMaster> Phantom_Hoover, hm that will change at university
21:13:56 <Phantom_Hoover> I was in the top computing class, and I believe I've bitched about that before.
21:14:15 -!- Gregor-W has joined.
21:14:39 -!- Deewiant has quit (Ping timeout: 240 seconds).
21:15:43 <Phantom_Hoover> There isn't a way to migrate NetHack saves, is there?
21:15:50 <Phantom_Hoover> Well, obviously not.
21:15:57 <ais523> to Wesnoth?
21:16:01 <AnMaster> XD
21:16:04 <Gregor-W> lawl
21:16:11 <ais523> now /that/ would be a fun project
21:16:13 <AnMaster> ais523, that was intentional right?
21:16:30 <ais523> AnMaster: what was?
21:16:34 <AnMaster> ais523, could you rewrite nethack in that scripting language of wesnoth, forgot the name of it
21:16:36 <Phantom_Hoover> Does it still encode the file's inode into the save to stop you from copying it?
21:16:44 <ais523> WML? probably, it's just-about TC
21:16:46 <AnMaster> ais523, misinterpreting it as migrating to wesnoth rather than between computers
21:16:47 <AnMaster> intentional
21:16:48 <ais523> in an esolangy sort of way
21:17:06 <ais523> Phantom_Hoover: it does have an anti-copy mechanism, but I'm not sure if it's that one specifically
21:17:09 <Phantom_Hoover> AnMaster, doing anything with NetHacks source is a task for the hardiest of esolang programmers.
21:17:15 <ais523> it's the PID it embeds, I think, not the save file name
21:17:20 <Phantom_Hoover> s/NetHacks/NetHack's/
21:17:21 <ais523> to stop people duplicating levels in an open game
21:17:25 <AnMaster> Phantom_Hoover, who said that?
21:17:34 <Phantom_Hoover> AnMaster, me, from experience.
21:17:35 <AnMaster> Phantom_Hoover, I never said you should touch nethack source
21:17:42 <AnMaster> obviously you should reverse engineer it
21:17:50 <Phantom_Hoover> That's bloody hard too.
21:17:59 <Phantom_Hoover> The thing is a mass of preprocessor macros.
21:18:12 <AnMaster> and I know what nethack source looks like
21:18:17 <AnMaster> the worst bit is the indention
21:18:20 <AnMaster> mixed tab and spaces
21:18:22 <AnMaster> horrible
21:18:23 <ais523> NetHack's source is nothing compared to bits of Crawl
21:18:33 <ais523> and mixed tab-space is trivial to fix, just use indent or sed or something
21:18:35 <AnMaster> ais523, never looked at that
21:18:56 <ais523> NetHack's source is an interesting intellectual puzzle; Crawl's made me feel physically sick
21:19:02 <Phantom_Hoover> What about the way it declares parameter types after the ()s?
21:19:13 <Phantom_Hoover> That threw me for a while.
21:19:18 <cpressey> I heard the Angband source is nice. The number of forks of it would seem to support that idea.
21:19:18 <ais523> Phantom_Hoover: that's old-style C
21:19:23 <AnMaster> this file is funny. it seems to use 2,2,3,2,3 for the tab stops with spaces
21:19:28 <Phantom_Hoover> Hmm, that would make sense.
21:19:35 <ais523> NetHack predates C89 really catching on
21:19:37 <AnMaster> there are no more levels to see if there is a pattern to it
21:19:46 <Gregor-W> void main(int argc, char args[][])
21:19:56 <ais523> Gregor-W: that's actually invalid IIRC
21:19:59 <AnMaster> Gregor-W, argv is the usually name
21:20:05 <ais523> char *args[] is the closest you can legally get
21:20:07 * cpressey hurls a weasel at Gregor-W
21:20:07 <Gregor-W> AnMaster: Yeah, I typo'd args :P
21:20:10 <AnMaster> Gregor-W, and yes it is invalid
21:20:16 <AnMaster> because main should return int
21:20:17 <AnMaster> not void
21:20:21 <Gregor-W> ais523: At some point in C's history, "*" was not a valid way to name a pointer.
21:20:23 <ais523> AnMaster: hah!
21:20:23 <Phantom_Hoover> Would it be even vaguely worthwhile to make a usable roguelike engine?
21:20:24 <AnMaster> ais523, it isn't illegal because of that afaik
21:20:31 <ais523> Gregor-W: you needed to use ! in BCPL, I think
21:20:33 <AnMaster> ais523, only because of return type
21:20:37 <Phantom_Hoover> That could plausibly have NH ported to it.
21:21:33 <AnMaster> ais523, anyway argv[][] should be completely valid afaik
21:21:40 <AnMaster> hm wait
21:21:42 <AnMaster> no it shouldn't
21:21:52 <AnMaster> but yes it has to return int anyway
21:21:56 <AnMaster> so invalid either way
21:22:03 <Gregor-W> You people are SO unhelpful.
21:22:11 <AnMaster> Gregor-W, why?
21:22:22 <Gregor-W> I make a really stupid joke and you tear it to threads :P
21:22:34 <AnMaster> Gregor-W, joke? I can't see any jokes
21:22:55 <Phantom_Hoover> It has occured to me in the past that C should be able to use Lispesque returning.
21:23:00 <ais523> $ cat > a.c \ int main(int argc, char argv[][]) {return 0;} \ $ gcc -ansi -pedantic -Wall -Wextra -O3 a.c \ a.c:1: error: array type has incomplete element type \ a.c:1: warning: ‘main’ takes only zero or two arguments \ a.c: In function ‘main’: \ a.c:1: warning: unused parameter ‘argc’ \ a.c:1: warning: unused parameter ‘argv’
21:23:05 <Gregor-W> I was just writing really bad C. I should have done: void main(argc, argv) int argc; char **argv; { ... }
21:23:07 <Gregor-W> I suppose
21:23:14 <AnMaster> ais523, yep indeed
21:23:31 <ais523> AnMaster: proof right there
21:23:40 <AnMaster> Gregor-W, only valid in K&R / C90
21:23:43 <AnMaster> not C99 afaik
21:23:46 <Phantom_Hoover> At least on x86.
21:23:56 <Gregor-W> AnMaster: _REALLY_ _BAD_ _C_
21:24:45 <Gregor-W> !c #include <stdio.h>\nint main(argc, argv) int argc; char **argv; { printf("Ain't I a stinker?\n"); }
21:24:52 <Gregor-W> Whoops, meant void main ...
21:25:41 <Phantom_Hoover> Aren't the bots down?
21:25:48 <Phantom_Hoover> fungot?
21:25:48 <cpressey> #ifdef _REALLY__BAD__C_
21:25:49 <fungot> Phantom_Hoover: does the java interpreter?: ( destructure-case ' ( 1 2)
21:25:52 <Gregor-W> Shouldn't be.
21:25:56 <Phantom_Hoover> Ah, good old fungot.
21:25:57 <Gregor-W> !help
21:25:57 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
21:25:57 <fungot> Phantom_Hoover: one of the happy users of v2.0 i can tell emacs to ' show me' the open parens corresponding to the actual standard being sane) scheme implementations support all of the control stack between the invocation of the macro
21:26:05 <Phantom_Hoover> `echo hello
21:26:12 <Phantom_Hoover> `ls
21:26:13 <HackEgo> hello
21:26:15 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ qw.pl \ share \ test.sh \ tmpdir.26862 \ wunderbar_emporium
21:26:24 <Phantom_Hoover> !sh echo hello
21:26:24 <EgoBot> hello
21:27:28 <cpressey> `echo /me bows
21:27:29 <HackEgo> /me bows
21:28:16 <Gregor-W> `echo /quit Boy people wish this kind of thing would work, good thing Gregor isn't that stupid.
21:28:18 <HackEgo> /quit Boy people wish this kind of thing would work, good thing Gregor isn't that stupid.
21:29:17 <cpressey> HackEgo is contrained by the Fifth Law of Robotics: Never give up!
21:29:28 <cpressey> *constrained
21:29:53 <Gregor-W> CHALLENGE: Write an IRC client that applies fixes made by "*fix" and "s/bad/fix/" syntax.
21:30:03 <Gregor-W> (The first is the major challenge)
21:30:20 <Gregor-W> CHALLENGE RELEVANCE: Write this client in ... Brainfuck?
21:31:27 <micahjohnston> write it in malbolge with a genetic algorithm
21:32:36 <ais523> `echo <CTCP>ACTION bows<CTCP>
21:32:38 * HackEgo bows
21:34:33 <Phantom_Hoover> Why the 0x1s at the start?
21:34:55 <cpressey> `echo ACTION bows
21:34:56 <HackEgo> ACTION bows
21:35:17 * Sgeo__ sees someone on reddit mention "Alex Smith"
21:35:33 <Sgeo__> I'm so tempted to say something like "I talk to Alex Smith online on a semi-regular basis"
21:36:08 <ais523> which one?
21:36:16 <ais523> there are approximately 10 alex smiths more famous than me
21:36:22 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
21:36:30 <Sgeo__> I'm pretty sure the comment is referring to you
21:36:39 <ais523> best known is the American footballer
21:36:43 <Sgeo__> http://www.reddit.com/r/math/comments/ci4dl/today_would_have_been_alan_turings_98th_birthday/c0sqaic
21:36:56 <ais523> I filter links...
21:37:07 <Sgeo__> "It is a personal story about how he came to learn about Turing and his work. I liked it.
21:37:07 <Sgeo__> He even gave Alex Smith the credit he deserves. Also: I liked his speculations about Turing's death. If it was an accident we can go back to hating gays, right?"
21:37:22 <ais523> hmm, interesting
21:37:35 <ais523> who wrote whatever "it" refers to in the comment?
21:37:49 <Sgeo__> Wolfram
21:38:28 -!- pikhq has quit (Remote host closed the connection).
21:39:11 -!- Deewiant has joined.
21:43:03 -!- micahjohnston has quit (Ping timeout: 272 seconds).
21:44:20 <cpressey> The esolang wiki page for FALSE says it might not be TC. It seems to be it is TC because it can simulate the lambda calculus (this is one of the example programs.) Of course, there may be some subtlety in the way.
21:45:28 <ais523> is there a bounded-memory issue?
21:45:33 -!- hiato_ has quit (Quit: underflow).
21:46:11 <cpressey> ais523: Well, only a finite number of variable names (but if they can be closed over, that shouldn't be a huge problem). Also, only one stack (but you ought to be able to create lists using closures.)
21:46:41 <ais523> hmm, /me gives myself a link: http://esolangs.org/wiki/FALSE
21:46:51 <ais523> yes, it works when I do it >:)
21:47:32 <ais523> the wiki commentary seems to have missed the existence of a lambda operation altogether
21:48:11 <ais523> Nthern wrote a TCness proof on the talkpage
21:48:23 <Phantom_Hoover> Weird, weird.
21:48:47 <Phantom_Hoover> Amazon has the first 3 volumes of The Sandman, new, for a sane price.
21:48:58 <ais523> that doesn't seem to be based on embedding lambda calculus, but rather doing pulling the same trick as SMITH but with data rather than code
21:49:07 <Phantom_Hoover> Volume 4 is available for 67 used.
21:49:14 <ais523> Phantom_Hoover: maybe they got the rights to print the first three volumes
21:49:40 <Phantom_Hoover> Amazon don't print The Sandman AFAIK.
21:49:43 <ais523> Amazon has book-printing machines, they realised at some point it would save time and effort to simply print the books themselves on demand rather than having to buy them in from elsewhere
21:49:58 -!- micahjohnston2 has joined.
21:50:21 <Phantom_Hoover> Since the editions are identical to the ones found in normal bookshops.
21:50:57 <Phantom_Hoover> There are new editions, but there was something weird with them, too.
21:51:42 <Phantom_Hoover> Hmm, it costs 3 times as much as the first 3.
21:51:58 -!- micahjohnston2 has quit (Client Quit).
21:53:21 <AnMaster> ais523, what about hard cover?
21:53:30 <AnMaster> ais523, and different paper qualities and so on
21:53:31 <ais523> AnMaster: I don't know the details
21:54:23 <Phantom_Hoover> Hmm, these points are all salient.
21:54:28 <AnMaster> ais523, I mean, books varies a lot. Everything from cheap paper back and books for small children with plastic pages, to huge books with high quality paper with photos and such on
21:54:59 <ais523> AnMaster: yes, I'm aware that it would be a valid issue, but I'm also telling you that I don't know the details and thus can't answer your concerns
21:55:05 <AnMaster> hm
21:55:06 <Phantom_Hoover> But the first 3 volumes are all available as new paperbacks.
21:55:08 <ais523> zzo38 can get away with this, you can't
21:55:15 -!- micahjohnston has joined.
21:55:24 <AnMaster> ais523, maybe I'm turning into zzo!?
21:55:28 <Phantom_Hoover> ais523, get away with what?
21:55:50 <ais523> Phantom_Hoover: repeatedly assuming that people know the answers to your questions despite a) no context, and b) they already having told you they don't know
21:56:24 <AnMaster> ais523, also I wasn't asking you. I was just continuing my thread of thought
21:56:43 <AnMaster> the second time I mean
21:57:08 <AnMaster> ais523, anyway you are working on ick I heard?
21:57:17 <Phantom_Hoover> What more could it need?
21:57:24 <AnMaster> ais523, also you have to know about those doxygen comments, you reviewed my patches after all
21:57:37 <ais523> yes, but I forgot again afterwards
21:57:40 <AnMaster> ah
21:57:47 <ais523> and then vaguely reremembered, but forgot all the details
21:58:01 <AnMaster> ais523, ah. Well what were you doing in perpet.c?
21:58:09 <AnMaster> are we going to see anything interesting
21:58:12 <ais523> testing nano's syntax highlighting
21:58:19 <ais523> it was the first C file I thought of to test on
21:58:23 <AnMaster> ais523, perpet.c isn't the worst one
21:58:31 <AnMaster> ais523, kate 3.x used to fail at some other file
21:58:34 <AnMaster> forgot which one
21:58:44 <ais523> there's a file in the INTERCAL source that break's Kate's syntax hilighting?
21:58:45 <AnMaster> ais523, might have been uncommon.c or perpet.c before fixes
21:58:56 <Phantom_Hoover> "This implementation was created by Eric S. Raymond <esr@snark.thyrsus.com>
21:58:56 <Phantom_Hoover> during a fit of lunacy from which he has since mostly recovered."
21:58:57 <AnMaster> ais523, kate 3.x not 4.x I think
21:59:04 <Phantom_Hoover> I debate that.
21:59:05 <ais523> *breaks
21:59:14 <ais523> Phantom_Hoover: you can recover from one lunacy into another
21:59:18 <AnMaster> ais523, and if it was perpet.c I probably worked around that when I was making the other changes since I think I used kate for it
21:59:21 <Phantom_Hoover> Fair point.
21:59:31 <Phantom_Hoover> The INTERCAL lunacy was preferable, though.
21:59:41 <ais523> I know there are a few comments around whose purpose is to unconfuse Emacs
21:59:48 <ais523> but I can't remember whether they're in INTERCAL or something else
21:59:57 <ais523> probably something else, because I seem to remember the language being Perl
21:59:59 <AnMaster> ais523, kate mostly get confused when you have stuff like:
22:00:04 <AnMaster> #ifdef ...
22:00:07 <Phantom_Hoover> Kate always seemed to have very good syntax highlighting.
22:00:10 -!- Deewiant has quit (Ping timeout: 252 seconds).
22:00:10 <AnMaster> if (...) {
22:00:14 <AnMaster> #else
22:00:15 <AnMaster> if (...) {
22:00:17 <AnMaster> #endif
22:00:17 <ais523> yep, it beats any other program I've tried, including Emacs
22:00:18 <Phantom_Hoover> Although it had some baffling omissions,
22:00:23 <Phantom_Hoover> Octave, but not M$>
22:00:24 <AnMaster> ais523, it doesn't match up then with the { and }
22:00:31 <AnMaster> ais523, meaning code folding breaks
22:00:31 <Phantom_Hoover> s/M$/M4/
22:00:32 <AnMaster> badly
22:00:38 <ais523> that isn't syntax highlighting, but I get your point
22:01:09 <AnMaster> ais523, I think kate broke on some syntax too before
22:01:16 <AnMaster> ais523, preprocessor thing most likely
22:01:42 <AnMaster> Phantom_Hoover, I forgot if it was kate or emacs that I managed to get to break badly on bash code once
22:01:50 <AnMaster> it got confused about where a string ended
22:02:14 <AnMaster> or was it a heredoc? anyway
22:02:16 <AnMaster> something like that
22:02:18 <Phantom_Hoover> I seem to recall Emacs getting confused by a weird string in Bash once.
22:02:44 <ais523> "All Known Implementing Classes: RequestProcessorFactoryFactory.RequestSpecificProcessorFactoryFactory, RequestProcessorFactoryFactory.StatelessProcessorFactoryFactory"
22:02:45 <AnMaster> Phantom_Hoover, in a $() ?
22:02:52 <AnMaster> I remember some editor having issues with that
22:02:56 <Phantom_Hoover> I don't know
22:03:00 <AnMaster> ais523, java?
22:03:04 <Phantom_Hoover> It wasn't in a $() though
22:03:07 <ais523> AnMaster: yes; the apache libs to be precise
22:03:09 <AnMaster> Phantom_Hoover, hm
22:03:14 <AnMaster> ais523, this is a joke right?
22:03:24 <ais523> people were talking about overuse of design patterns; and someone said that was the worst example they knew of
22:03:28 <ais523> not a joke
22:03:33 <AnMaster> ouch
22:03:40 <AnMaster> ais523, factory factory is just broken
22:03:48 <ais523> first para of the docs is fun too: "The request processor is the object, which is actually performing the request. There is nothing magic about the request processor: It may very well be a POJO. The RequestProcessorFactoryFactory is passed to the AbstractReflectiveHandlerMapping at startup. The mapping uses this factory to create instances of RequestProcessorFactoryFactory.RequestProcessorFactory, which are used to initialize the
22:03:50 <ais523> ReflectiveXmlRpcHandler. The handler in turn uses its factory to create the actual request processor when a request comes in."
22:04:11 <Phantom_Hoover> ais523, was it intentional that the compiler flags for C-INTERCAL are full of -DICK*s?
22:04:17 <ais523> Phantom_Hoover: no
22:04:24 <ais523> I have a habit of triggering rude words by mistake
22:04:30 * Phantom_Hoover feels juvenile.
22:04:37 <ais523> everyone else is still convinced the :aSS in the Underload quine is intentional
22:04:39 <AnMaster> Phantom_Hoover, I never noticed that
22:04:40 <ais523> but it wasn't either
22:04:54 <AnMaster> ais523, I never noticed that either
22:05:04 <ais523> yep, I hadn't noticed it all along
22:05:06 <AnMaster> ais523, also those docs sound horrible
22:05:13 <ais523> http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory
22:05:15 <ais523> see for yourself if you want
22:05:24 <AnMaster> why would I want it
22:05:32 <Phantom_Hoover> DICKDATADIR.
22:05:45 <ais523> the docs do at least explain why a factory factory is useful
22:05:49 <Phantom_Hoover> I assume it does what it says on the tin.
22:05:49 <AnMaster> ais523, it would be like what is said about necrotelicomicon (sp?) in the Discworld books!
22:06:27 <Phantom_Hoover> Necrotelecomnicon.
22:06:32 <AnMaster> ah thanks
22:07:43 <AnMaster> you know about the things that make you feel "the future is here. fuck the flying cars!" ?
22:07:59 <AnMaster> I think panorama stitching is one of those
22:08:18 <ais523> what do i and n do in Befunge-98?
22:08:35 <AnMaster> ais523, i is "load file into funge space" and n is "clear stack"
22:08:37 <AnMaster> ais523, why?
22:08:45 <ais523> trying to understand a polyglot
22:08:47 <ais523> which I think is broken
22:08:57 <AnMaster> ais523, the one on stackoverflow?
22:09:00 <AnMaster> yes it is broken
22:09:01 <AnMaster> see logs
22:09:15 <ais523> ah, I rarely logread nowadays
22:09:17 <AnMaster> ais523, it is 93 but depends on unknown pushing ascii value
22:09:31 <ais523> ah, aha
22:09:37 <ais523> I was wondering how it ended up in stringmode
22:09:46 <ais523> with no double-quotes in the entire program
22:09:58 <ais523> what Befunge impl pushes unknown values?
22:10:27 <AnMaster> ais523, one linked on there iirc
22:10:31 <AnMaster> that is the only one we know of
22:10:36 <AnMaster> a java applet
22:10:46 <AnMaster> ais523, it would be pointless to link you to it of course
22:11:02 <Phantom_Hoover> Following on cpressey's earlier suggestion, how can you make an extremely eval-dependent language?
22:11:11 <ais523> AnMaster: and I can find it easily enough anyway
22:11:26 <cpressey> "FALSE does not have any way to create new lambda functions not in the source, so those don't help." Says Oerjan. :/
22:11:26 <ais523> Phantom_Hoover: have no commands but eval, add the minimum syntax needed for TCness
22:11:41 <Phantom_Hoover> Is that possible?
22:11:42 <ais523> oh, are functions not first-class?
22:11:57 <ais523> Phantom_Hoover: well, presumably /some/ level of added stuff gives TCness
22:12:01 <ais523> the issue is finding how much
22:12:24 <AnMaster> hm
22:12:58 <Phantom_Hoover> ais523, FALSE doesn't really have functions, does it?
22:13:04 <ais523> as for oerjan's comment, I'm not sure I understand it
22:13:14 <ais523> unless the lambdas are somehow evaluated at compile-time
22:13:21 <ais523> or it has "lambdas" that aren't closures, or something
22:13:49 <Phantom_Hoover> Do you need closures for first-class functions?
22:14:36 <Phantom_Hoover> I mean, C has first-class functions.
22:14:37 <cpressey> I guess you can't return functions from functions in FALSE, and yes, that would be critical to e.g. building lists from them.
22:14:38 <ais523> no, but you do need them to be able to generate TCness purely with functions
22:14:43 <ais523> and C does not have first-class functions
22:14:57 <Phantom_Hoover> Well, it has function pointers.
22:14:58 <ais523> there's no (portable) way to copy a function in C, something which should definitely be possible with first-class values
22:15:21 <cpressey> ais523: So they're immutable!
22:15:29 <cpressey> No need to copy an immutable value, right?
22:15:33 <cpressey> :D
22:15:58 <ais523> cpressey: just because you don't /need/ to copy something...
22:16:22 <Phantom_Hoover> ais523, is there no standardised way of executing code generated at runtime?
22:16:33 <ais523> Phantom_Hoover: nope
22:16:46 <ais523> but in practice, casting a char array to a function pointer and calling it tends to work
22:16:53 <Phantom_Hoover> I thought there was...
22:17:03 <Phantom_Hoover> ais523, what about non-executable memory?
22:17:10 <ais523> then it crashes
22:17:17 <ais523> this is assuming you make the char array in executable memory somehow
22:17:25 <Phantom_Hoover> How do things like GNU Lightning work, then?
22:17:28 <ais523> and there's no portable way to do that either
22:17:47 <ais523> frameworks for doing such things probably have several nonportable ways, one for each platform where it needs to run
22:17:57 <Phantom_Hoover> Also, damn you for having such a common name.
22:18:15 <ais523> Phantom_Hoover: can you take that back please!
22:18:20 <ais523> I strongly dislike religious insults
22:18:28 <ais523> damning someone is a wish for the worst possible thing to happen to them
22:18:42 <Phantom_Hoover> Really?
22:18:49 <Phantom_Hoover> I don't even believe in hell!
22:18:49 <ais523> yes, that's what it means
22:18:57 <Phantom_Hoover> How can I wish for you to go to it?
22:19:18 <AnMaster> ais523, there is a standard way to copy them in C. Assigning a function pointer. However: they are copy on write ;)
22:19:18 <ais523> and I know people like throwing insults around without caring about their meaning, but they should be a bit more sensiive
22:19:21 <ais523> *sensitive
22:19:52 <ais523> I'm not religious either, but I still take offense to comments like that
22:19:53 <Phantom_Hoover> Well, I don't want you to go to any form of hell. Does that count as a rescindsion?
22:20:07 <Phantom_Hoover> I have no idea about that last word.
22:20:14 <AnMaster> ais523, how would you react to "fuck you"? In Swedish, sexual insults are _way_ worse than religious ones.
22:20:23 <Phantom_Hoover> It should exist, but it looks wrong.
22:20:25 <ais523> AnMaster: is wishing for someone to be fucked really an insult?
22:20:32 <AnMaster> ais523, hah
22:20:37 <ais523> Phantom_Hoover: I don't recognise the word either, but know what it means
22:20:46 <Phantom_Hoover> AnMaster, I thought that applied in English.
22:21:00 <AnMaster> Phantom_Hoover, thought it was the reverse in English?
22:21:01 <Phantom_Hoover> "Fuck" is generally considered far less acceptable than "damn".
22:21:06 <AnMaster> Phantom_Hoover, hm
22:21:07 <AnMaster> maybe
22:21:21 <AnMaster> Phantom_Hoover, maybe it was in south Europe it was the other way around
22:21:27 <AnMaster> I remember that it was somewhere
22:21:27 <Phantom_Hoover> Possily.
22:21:40 <ais523> Phantom_Hoover: for most people, yes; but I think that's a crazy way round for it to be
22:21:44 <Phantom_Hoover> I think some Americans are touchy about religious language.
22:22:22 <Phantom_Hoover> But they tend to be the sort of people who wouldn't tolerate any swearing at all.
22:22:43 <ais523> I don't generally mind swearing, although I feel it's mostly inappropriate and pointless
22:24:15 <Phantom_Hoover> I don't particularly mind it, but I try not to go beyond mild curses.
22:24:35 <Sgeo__> I used to never swear in public. In private, with my computer open, is a different story
22:24:58 <Phantom_Hoover> To make sure I have an appropriately strong expletive when I type "rm * \~" when not in zsh.
22:25:03 <AnMaster> ais523, fuck the damn swearing?
22:25:09 <AnMaster> in other words
22:25:14 <ais523> AnMaster: that doesn't even make sense...
22:25:23 <ais523> if you translate all the words back into their original meanings
22:25:25 <Phantom_Hoover> Or when it turns out that my IRC client has been giving my name ou on whois.
22:25:41 <AnMaster> ais523, ... well of course.... But it does make sense in modern meanings in that context
22:26:27 <olsner> Phantom_Hoover: if your name is Phantom Hoover, profane now because that's what whois says
22:26:46 <Phantom_Hoover> No, it isn't.
22:26:48 <AnMaster> Phantom_Hoover, um rm like that won't work for me :P http://sprunge.us/LFRQ
22:26:54 <AnMaster> Phantom_Hoover, two safe guards there
22:27:09 <AnMaster> Phantom_Hoover, anyway I can't see why you would type a \ before the ~ there
22:27:10 <Phantom_Hoover> AnMaster, it was \~, not just ~/
22:27:20 <Phantom_Hoover> AnMaster, remove backup files.
22:27:26 <Phantom_Hoover> They tend to accumulate.
22:27:29 <AnMaster> Phantom_Hoover, yes that would be rm *~
22:27:31 <AnMaster> no \ there
22:27:34 <AnMaster> ...
22:27:48 <Phantom_Hoover> Yes, I suppose.
22:27:56 <AnMaster> Phantom_Hoover, look again btw. 1) ~ is a dir, it would not get removed by rm without -r
22:28:02 <AnMaster> 2) I use rm -I at the end
22:28:10 <AnMaster> -I asks if more than 3 files or something like that
22:28:11 <Phantom_Hoover> Yes, but there was a * on its own.
22:28:13 <AnMaster> it asks once though
22:28:19 <cpressey> Phantom_Hoover: re eval lang: One thing you can do is replace blocks with strings. You can just say if("a>3", "print a") and suchlike.
22:28:22 <Phantom_Hoover> The \~ was unimportand.
22:28:23 <AnMaster> Phantom_Hoover, yes and that rm -I will guard
22:28:33 <AnMaster> guard against*
22:28:42 <AnMaster> Phantom_Hoover, and you should use version control and backups anyway
22:29:15 <Phantom_Hoover> AnMaster, I have already told you that I haven't got anything important.
22:29:26 <AnMaster> Phantom_Hoover, anyway rm -I is a good idea
22:29:28 <AnMaster> check the docs
22:29:39 <AnMaster> Phantom_Hoover, it asks once, not once per file
22:29:40 <Phantom_Hoover> I agree.
22:29:46 -!- Gregor-W has quit (Ping timeout: 252 seconds).
22:29:49 <AnMaster> and only if more than 3 files or such
22:29:53 <AnMaster> forgot exact limit
22:30:01 <AnMaster> Phantom_Hoover, alias that or such
22:30:01 <Phantom_Hoover> zsh safeguards by default in any case.
22:30:14 <AnMaster> Phantom_Hoover, oh? it special cases rm?
22:30:19 <Phantom_Hoover> What?
22:30:27 <AnMaster> Phantom_Hoover, well how else would it guard against that
22:30:30 <AnMaster> it must special case
22:30:31 <Phantom_Hoover> No, that was an idiomatic statement with little meaning.
22:30:35 <AnMaster> it can't know your intention
22:31:01 <Phantom_Hoover> Well, it probably has special behaviour on rm, yes.
22:31:31 <Phantom_Hoover> zsh is basically the Emacs philosophy applied to a shell, remember?
22:31:49 <olsner> what! I liked zsh
22:32:00 <olsner> and now I hear it has something to do with emacs :(
22:32:16 <Phantom_Hoover> I said philosophy.
22:32:22 <Phantom_Hoover> They don't share a line of code.
22:32:48 <Phantom_Hoover> I have great respect for any program with a manual page that needs to be split across 17 files.
22:33:09 <Phantom_Hoover> I have scarcely touched its magnificence.
22:33:19 <Phantom_Hoover> I just use a zshrc I found online
22:33:36 <Phantom_Hoover> Wait, is it 17 files?
22:33:56 <Phantom_Hoover> Well, 16.
22:34:05 <Phantom_Hoover> The 17th is everything glued together.
22:34:19 <Phantom_Hoover> It's still very impressive.
22:34:33 * AnMaster waits for slow youtube
22:34:34 <olsner> bash's is probably about the same size, except they never bothered splitting it
22:34:56 <AnMaster> olsner, I love emacs and hate zsh
22:35:00 <AnMaster> well not hate
22:35:07 <AnMaster> I just think that bash is enough
22:35:14 <Phantom_Hoover> I thought zsh was the union of all other Bourne shell derivatives.
22:35:19 <AnMaster> Phantom_Hoover, also how do you fix that zsh doesn't treat # as a comment in interactive shell
22:35:21 <Phantom_Hoover> AnMaster, but it's so convenient!
22:35:26 <AnMaster> Phantom_Hoover, that is my main irritating with zsh
22:35:27 -!- Gregor-W has joined.
22:35:37 <AnMaster> Phantom_Hoover, I tend to comment out line temporarily to put them in history
22:35:38 <Phantom_Hoover> There's probably an option for that.
22:35:40 <AnMaster> then go back up
22:35:40 -!- oerjan has joined.
22:35:41 <olsner> I used zsh furiously until I stopped caring about shells and went to the default one instead
22:35:46 <AnMaster> Phantom_Hoover, yes but which one
22:35:54 <AnMaster> Phantom_Hoover, I never found it
22:35:57 <Phantom_Hoover> That way madness lies.
22:35:58 <cpressey> csh. For great justice!
22:36:25 <AnMaster> cpressey, I sshed to systems where pdksh is default and only shell
22:36:40 <Phantom_Hoover> AnMaster, INTERACTIVE_COMMENTS perhaps?
22:37:03 <Phantom_Hoover> Yep.
22:37:06 <AnMaster> Phantom_Hoover, hm I had to find the right zsh man page first
22:37:11 <AnMaster> Phantom_Hoover, it is tricky :P
22:37:17 <Phantom_Hoover> setopt interactive_comments in .zshrc.
22:37:25 <Phantom_Hoover> AnMaster, this is why Google is good.
22:37:36 <AnMaster> Phantom_Hoover, also zsh doesn't do anything I want that bash doesn't. Bash 4 added the last feature I was missing
22:37:40 <AnMaster> which was assoc arrays
22:37:58 <Phantom_Hoover> The tab completion is very good.
22:38:06 <oerjan> 14:13:04 <ais523> as for oerjan's comment, I'm not sure I understand it
22:38:06 <oerjan> 14:13:14 <ais523> unless the lambdas are somehow evaluated at compile-time
22:38:06 <oerjan> 14:13:21 <ais523> or it has "lambdas" that aren't closures, or something
22:38:07 <oklopol> "<cpressey> I guess you can't return functions from functions in FALSE, and yes, that would be critical to e.g. building lists from them." <<< cps
22:38:09 <Phantom_Hoover> I have trouble doing without it.
22:38:10 <AnMaster> Phantom_Hoover, I never had issues with bash tab complete
22:38:21 <oerjan> i assume not being closures is what i meant
22:38:44 <Phantom_Hoover> zsh's isn't necessary, just very helpful.
22:38:58 <Phantom_Hoover> You don't even need to use ls when you have it.
22:39:12 <Phantom_Hoover> Well, sort of.
22:39:20 <Phantom_Hoover> It doesn't include some file types.
22:39:30 <AnMaster> um
22:39:36 <AnMaster> Phantom_Hoover, so how to do ls -li
22:39:41 <AnMaster> with pure zsh
22:39:41 -!- ehirdiphone has joined.
22:39:49 <ehirdiphone> X
22:39:56 <Phantom_Hoover> AnMaster, OK, "don't need" was wrong.
22:40:00 <AnMaster> righ t
22:40:00 <ehirdiphone> ais523: cpressey hi!
22:40:03 <AnMaster> right*
22:40:03 <Phantom_Hoover> It's just not necessary as much.
22:40:06 <AnMaster> and now. night
22:40:20 <ais523> ehirdiphone: hi
22:40:22 <Phantom_Hoover> Also, it can tab-complete options for a lot of programs.
22:40:31 <cpressey> cpressey: Hi!
22:40:32 <ais523> Phantom_Hoover: bash has stolen that feature
22:40:34 <cpressey> No, wait
22:40:39 * cpressey thinks
22:40:45 <ais523> it's a good one, but not zsh-unique any more
22:40:49 <cpressey> ehirdiphone: Hi, ais523!
22:40:51 <ehirdiphone> I love-hate skin cream.
22:40:53 <Phantom_Hoover> Hmm, OK.
22:41:09 <oklopol> "<ais523> if you translate all the words back into their original meanings" <<< why would you translate to original meanings when you could just use the current meanings?
22:41:14 <Phantom_Hoover> Oh, and the prompts can be incredibly pretty.
22:41:21 <ais523> oklopol: because the current meanings are incorrect?
22:41:34 <oerjan> cpressey: you seem to be having a nick identity crisis?
22:41:38 <ehirdiphone> If it wasn't for E45/HC45 (ok, and antihistamine) this eczma would be unbearable.
22:41:43 -!- Phantom_Hoover has quit (Quit: Leaving).
22:41:50 <ehirdiphone> OTOH it feels icky.
22:43:19 <oklopol> ais523: what do you mean?
22:43:39 <ais523> most swearword meanings don't come from anywhere
22:43:45 <ais523> people just use them
22:44:27 <oklopol> kinda like "dog" is meaningless, people just use it
22:44:39 <oklopol> i think you're just silly
22:44:40 <ais523> but its meaning comes from somewhere
22:44:41 <oklopol> that's okay
22:44:46 <oklopol> i have to go to sleep
22:44:48 <oklopol> err
22:45:14 <oklopol> sure, just like fuck and damn originally came somewhere and started to mean something else
22:45:50 <cpressey> ehirdiphone: I have forgone the idea of writing my OS by dismissing the very concept of an "Operating System" as outdated. I am instead writing my own Computing Environment.
22:45:55 <oklopol> although fuck still has its original meaning, i don't think damning is a very useful concept anymore
22:46:09 <oklopol> (except to you)
22:47:52 <oklopol> ->
22:48:43 -!- tombom has quit (Quit: Leaving).
22:48:54 <ehirdiphone> cpressey: I decided that,,, years ago
22:48:57 <ehirdiphone> *...
22:49:26 -!- GreaseMonkey has joined.
22:49:30 <ehirdiphone> Will ais523 still freak if I damn him? :)
22:49:59 <oklopol> that's what the discussion is about
22:50:00 <Gregor-W> cpressey: So, you're reinventing SmallTalk?]
22:50:06 <oklopol> (i'm gone though)
22:50:06 <Gregor-W> cpressey: Or are you reinventing EMACS?
22:50:17 <ehirdiphone> Gregor-W: But Better.
22:50:21 <oerjan> 12:04:22 <AnMaster> oklopol, prefices?
22:50:21 <oerjan> 12:04:30 <oklopol> prefix in plural
22:50:35 -!- CakeProphet has quit (Ping timeout: 240 seconds).
22:50:35 <ehirdiphone> Also, no snarkiness to cpressey. That's a rule.
22:50:43 <oerjan> that's not etymologically correct, since the original latin is something like "prefixum"
22:50:50 <ehirdiphone> Or at least, it is now.
22:51:05 <oklopol> oh, i would've thought because fix is fixes in plural
22:51:20 <oklopol> in any case it's prefices
22:51:22 <ehirdiphone> oerjan: These virii are destroying my prefices! Ow, my foetus!
22:51:25 -!- Gregor-W has set topic: Snarkiness tolerated and encouraged | Well, except for that | http://tunes.org/~nef/logs/esoteric/?C=M;O=D].
22:51:37 <oklopol> that's just how it is, deal with it
22:51:43 <ehirdiphone> A comedy of entymological errors.
22:52:08 <ehirdiphone> cpressey: So is your STUFF serialisable? Eh? Eh?!
22:52:09 <oklopol> foetus?
22:52:22 <oerjan> oklopol: well if you had a latin word "prefix", its plural could very well have been "prefices". 3rd declination.
22:52:24 <oklopol> is that the plural of foe
22:52:44 -!- CakeProphet has joined.
22:52:48 <cpressey> ehirdiphone: (It's mainly so I can use the letters CE and wave my hands over anyone antiquatedly using the letters OS, of course.)
22:53:20 <cpressey> ehirdiphone: My STUFF is serializable, but it's meaning is not always. Oooh! Deep!
22:53:23 <oklopol> oerjan: okay. it's still prefices. but x's turn to c's, no exceptions
22:53:26 <oklopol> *-but
22:53:34 <ais523> cpressey: aargh, "CE" and "OS" in the same sentence -> bad connotations
22:53:39 <oerjan> oklopol: ehirdiphone is merely spitting out some other common latin bastardizations
22:53:42 <cpressey> ais523: There is that, I realize/
22:53:42 <oklopol> in fact xylophone -> cylophones
22:53:51 <ais523> even Windows fans dislike Windows CE, as far as I can tell
22:53:58 <ais523> personally I've never used it, so I only have secondhand opinions
22:54:06 <oklopol> and what's foetus
22:54:08 <Gregor-W> Even people who work on Windows CE dislike WIndows CE :P
22:54:23 <oerjan> oklopol: sometimes in lating they turn to g instead. e.g. rex, reges
22:54:29 <oerjan> *latin
22:54:40 <oklopol> yes but not in english
22:54:53 <oklopol> in english they always turn to c's, except sometimes they turn into 2 c's
22:54:58 -!- micahjohnston has left (?).
22:55:15 <Gregor-W> lating (adjective): Pretentiously adding Latinate suffixes to Englishate words.
22:55:23 <oklopol> :D
22:55:39 <oklopol> don' be hatin' my latin'
22:56:17 <cpressey> Gregor-W: It'
22:56:30 <ais523> Gregor-W: *suffices
22:56:31 * ais523 runs
22:56:34 <oerjan> oklopol: foetus means a not yet born body. however the "correct" spelling is fetus, oe is a hypercorrection. iirc.
22:56:38 <cpressey> Gregor-W: It's fair to say that many WinCE at the thought, yes.
22:56:53 <ais523> the beauty of that pseudocorrection is that it fits the flow of the conversation just fine whether it's technically correct or technically incorrect
22:57:11 <oklopol> WinXE -> WinCEs
22:57:18 <Gregor-W> When pluralizing the word "suffix", it suffices to use "suffices".
22:58:04 <Gregor-W> Hm, I never thought about this ...
22:58:04 <oklopol> oerjan: i would say i knew that, but if that were the case then why would i have asked
22:58:10 <Gregor-W> NT4 -> 2000 -> XP -> Vista -> 7
22:58:16 <Gregor-W> Which one didn't deserve a number?
22:58:41 <oklopol> XP has a number?
22:59:02 <ehirdiphone> Oh god close call
22:59:11 <Gregor-W> If the latest version is 7, and that number is in the same series as NT 3 and 4, then 5 and 6 both had codenames. But which?
22:59:16 <oklopol> oh
22:59:23 <ehirdiphone> Heart beat entered stratosphere
22:59:25 <oklopol> that's what you meant
22:59:30 <Gregor-W> And if that number isn't in the same series as 3 and 4, then why did they pull a number out of their asses? :P
22:59:49 <ais523> they did pretty much pick a number that sounded good for marketing
22:59:54 <cpressey> ehirdiphone: OK, um, well, if I'm actually thinking about my own CE, which I'm not officially, but anyway, I'm toying with the idea that STUFF is SExps + meanings for those SExps, where meanings are expressed as rewrite rules, which are denoted with SExps. (This is all leftover from Rho.) That makes them trivially serializable.
23:00:02 <ais523> but if it helps, Vista is 6
23:00:04 <oklopol> "the lucky os"
23:00:13 <ais523> and XP is either 5 or 4, i forget which
23:00:38 <Gregor-W> If XP is 4, then it'd been 4 since the mid-90s, and 5 just got lost :P
23:00:39 <ehirdiphone> Someone ask me why I almost had a heart attack
23:00:44 <cpressey> And if the receiver doesn't like the meanings you're sending them, they don't have to use them. I was reading about Nock and Urbit and thinking about how crude some parts of it are.
23:00:47 <cpressey> ehirdiphone: OK
23:01:00 <cpressey> ehirdiphone: Why did you almost have a heart attack, anyway?
23:01:01 <Gregor-W> Not unlike ipv5 I suppose.
23:01:01 <oerjan> ehirdiphone: i'm assuming someone checked upon your room, or something?
23:01:04 <ais523> ehirdiphone: can you imply the question?
23:01:13 <ehirdiphone> oerjan: yeah
23:01:42 <ais523> try running around in circles a bit or something to burn off the excess blood sugar
23:01:44 <ehirdiphone> [knock] [door opens] "sorry didn't realise you were in bed"
23:01:58 <ais523> it's 11pm
23:02:01 <oklopol> yesterday i was waiting for people to ask me to eat, and when they asked, i almost had a heart attack because the silence was broken
23:02:06 <ehirdiphone> Had <1sec to lock it so no light and hold it off edge of bed
23:02:18 <ehirdiphone> ais523: It is. And?
23:02:26 <ehirdiphone> Also, they'd hear that.
23:02:40 <ais523> ehirdiphone: assuming someone your age isn't in bed at 11pm seems implausible
23:02:47 <ais523> or am I years behind the time?
23:02:52 <oklopol> what
23:02:53 <oklopol> :D
23:03:03 <ais523> it'd be unreasonable to expect them to actually be /asleep/
23:03:03 <ehirdiphone> ais523: ...
23:03:08 <ehirdiphone> Try 1-2 am
23:03:12 <ais523> par for the course would be lying in bed pretending to be asleep
23:03:14 <oklopol> in ehirdiphone's age, assuming he's not drunk at 11pm seems implausible
23:03:20 <ehirdiphone> But here the bedtimes are enforced.
23:03:24 <ais523> whilst actually secretly reading a book or something, or I suppose using a mobile nowadays
23:03:36 <ais523> come to think of it, exactly what actually /was/ happening
23:03:40 <Gregor-W> Hahaha
23:03:42 <Gregor-W> "Book"
23:03:47 <ehirdiphone> ais523: We have a new system nowadays, it is called "fuck you parents"
23:03:49 <ais523> Gregor-W: I don't own a mobile
23:03:56 <Gregor-W> ehirdiphone: I wouldn't recommend it.
23:03:57 <ais523> I always used to illicitly read books
23:04:00 <ais523> while sitting on the windowsill
23:04:04 <ehirdiphone> Gregor-W: "I was Reading it for the articles"
23:04:21 <ehirdiphone> "THE CENTERFOLD HAS EXCELLENT ARTICLES"
23:04:25 <ais523> that way, I could get light (from the streetlights outside), whilst simultaneously leaving the curtains closed so nothing was suspicious
23:04:29 <ehirdiphone> ais523: Hardcore
23:04:33 <ehirdiphone> Illicit book Reading
23:04:39 <ais523> ofc I don't fit on the windowsill
23:04:41 <Gregor-W> See? Those articles of clothing on the chair in the background! Excellent articles!
23:04:56 <ehirdiphone> READING DOES NOT HAVE A CAPITAL R, APPLE
23:05:08 <Gregor-W> Huh?
23:05:08 <ais523> reading playboy for the articles actually seems plausible nowadays
23:05:16 <ais523> after all, there's porn all over the internet, why would you /pay/ for it
23:05:32 <ais523> therefore, the only plausible reason to own playboy is because you're curious as to what the articles are
23:05:34 <Gregor-W> "I read Playboy for the articles, I use youporn.com for porn"
23:05:45 <ais523> or is something wrong with my reasoning here?
23:05:47 <ehirdiphone> Gregor-W: Iphone spell correction
23:05:55 <Gregor-W> ehirdiphone: Ah :P
23:05:57 <ais523> ehirdiphone: Reading is a city...
23:05:58 <oerjan> `addquote <ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
23:06:02 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
23:06:16 <ehirdiphone> ais523: Some people are dumb.
23:06:24 <cheater99> i have just restarted firefox after installing a slew of plugins. it looks like a ricer dashboard, and the actual webpage is 1/4 the size of the browser window. i'll have to configure all of that shit away.
23:06:29 <cheater99> hi ehird
23:06:32 <cheater99> what's up, dude?
23:06:33 <ehirdiphone> Also, computer in family space? But that's rare now.
23:06:35 <ais523> why did you install a slew of plugins?
23:06:45 <Gregor-W> cheater99: I recommend not installing a slew of plugins :P
23:06:48 <ais523> ehirdiphone: then just use it at 3am, or whatever
23:07:18 <cheater99> ais523: because. that's why.
23:07:29 <ehirdiphone> Most people can't delete browser history :P
23:07:35 <Gregor-W> Hilarity is a guy saying "I only read Playgirl for the articles"
23:07:54 <ehirdiphone> Wait. PLAYGIRL?
23:07:56 <ais523> ehirdiphone: I delete it every now and then just because it gets crufty
23:08:02 <ehirdiphone> Does that really...
23:08:03 <ais523> on Epiphany, at least, which is my cruft browser
23:08:03 <cheater99> is Gregor-W a markov bot?
23:08:14 <ais523> cheater99: I don't think so
23:08:17 <ehirdiphone> No, but you are.
23:08:22 <ais523> but you could probably replace 99% of IRC with a markovbot
23:08:23 <cheater99> no u
23:08:27 <ais523> and not see any noticeable difference
23:08:30 <cheater99> ais523: yes
23:08:31 <Gregor-W> `echo Nuh uh!
23:08:32 <HackEgo> Nuh uh!
23:09:04 <ehirdiphone> So.
23:09:09 <ais523> so what?
23:09:57 <oklopol> ais523: sex isn't rational, paying for a playboy might be sexier to some than looking at porn on the internet (although knowing you can get it for free might just render both uninteresting in that case)
23:10:23 <ais523> meh, I tried looking at porn a while back but couldn't really see the point
23:10:26 <ehirdiphone> Uninteresting because it's free.
23:10:30 <ais523> it fails at its intended purpose
23:10:30 <ehirdiphone> Porn.
23:10:35 <ehirdiphone> XD
23:10:47 <ais523> and I don't think it has a useful secondary purpose
23:10:56 <ehirdiphone> ais523: "making toast"
23:11:09 <ais523> after a while I just got bored and went back to watching tool-assisted speedruns
23:11:21 <Gregor-W> Still masturbating though.
23:11:27 <ehirdiphone> XD
23:11:28 <Gregor-W> Wow he beat world 4-3 faaaaaast
23:11:34 <ais523> Gregor-W: nah
23:11:47 <oerjan> ais523: why do you say you could probably replace 99% of IRC with a markovbot
23:11:50 <ais523> imagination > crappy reality, it seems
23:11:59 <ehirdiphone> Look at that gigantic, pulsating ...energy gun
23:12:02 <ais523> oerjan: because the other people would be markovbots too and couldn't tell the difference
23:12:13 <oerjan> ais523: please tell me more
23:12:28 <ais523> oerjan: heh, I'm not falling for /two/ lines of that
23:12:38 <oerjan> :D
23:12:40 <ais523> are you actually running an ELIZA-style bot, or just imitating one?
23:12:48 <oerjan> just imitating
23:13:02 <Gregor-W> Maaaan
23:13:09 <Gregor-W> You just reminded me of how much I wanted to implement botornot.com
23:13:15 <ehirdiphone> XD
23:13:23 <Gregor-W> Reverse Turing test with user-submitted bots.
23:13:46 <Gregor-W> The goal: Talk to a random stranger and try to convince them that you, rather than the bot they're also talking to, are a bot.
23:13:47 <ais523> ^style
23:13:47 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
23:13:55 <ais523> ^style nethack
23:13:55 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
23:13:58 <ais523> fungot: hi
23:13:59 <fungot> ais523: if you start at the office, and kill him not: then i knew it could below and between the chest by the tumtum tree, unless you like getting whacked with a one, the sort of giddy fever. he is the overlord over all of the lever well under, and the starlight, and then i'm sure you've got a wonderful programme lined up for this afternoon!"
23:15:09 <ais523> sorry, one of my friends asked what a markovbot was
23:15:12 <ais523> so I was generating an example
23:15:35 <ais523> hmm, if 99% of IRC was markovbots, what would they use as source material? other markovbots?
23:15:38 <ehirdiphone> Gravititty: a breast that generates its own gravity.
23:15:53 <ehirdiphone> ais523: ELIZA
23:16:19 <ehirdiphone> ELIZA Yudkowsky
23:16:22 <ais523> I tried connecting two ELIZAs to each other once, the results weren't pretty
23:16:42 <ehirdiphone> They start yelling at each other.
23:17:01 <ehirdiphone> "I ASK THE QUESTIONS HERE!"
23:17:03 <ais523> there should so be an elizalike which recognises copies of itself
23:17:07 <ais523> and jumps into a pre-scripted conversation
23:17:23 <Gregor-W> That seems bizarrely intuitive and intelligent :P
23:17:30 <Gregor-W> "Wait ... you're not another bot, are you?"
23:17:33 <Gregor-W> "You caught me, I am!"
23:17:41 <ehirdiphone> ais523: "Oh dear. I appear to have developed sentience."
23:17:46 <ais523> wow, .org is now completely ported to DNSSEC
23:17:48 <ais523> ehirdiphone: classic
23:18:19 <oklopol> "Okay I'll be Jack, you be Lizzy, 3-2-1-go."
23:18:42 <ais523> right at the end they should become aware that someone's watching their conversation
23:18:46 <ais523> and drop back into "stupid bot" mode
23:18:56 <AnMaster> Gregor-W, nice idea with that reverse turing test
23:18:58 <ais523> and act like they hope nobody noticed
23:19:37 <ais523> AnMaster: there's a variant of the Turing test where you have a human pretending to be a computer pretending to be a human
23:19:49 <ais523> the aim of it is to make the experimenter look foolish
23:20:08 <ehirdiphone> XD
23:20:28 <ais523> also, one of the best Slashdot polls ever is up at the moment: http://slashdot.org/pollBooth.pl?qid=2006&aid=-1
23:20:31 <AnMaster> <ais523> I tried connecting two ELIZAs to each other once, the results weren't pretty <-- yeah I tried two M-x doctor against each other. It goes like "Does it worry you that does it worry you that is this why you came to me?"
23:20:39 <AnMaster> and worse
23:20:51 <ehirdiphone> ais523: Is CowboyNeal an option?
23:20:54 <ais523> ehirdiphone: no
23:20:59 <ais523> but the poll somehow manages to be epic anyway
23:21:06 <ehirdiphone> ais523: sucks
23:21:10 <ais523> there are people trying to figure out the true distribution by analyzing the answers mathematically
23:21:14 <AnMaster> ais523, um I think we have a paradox here
23:21:32 <ais523> CowboyNeal's only been a poll option once in the last year or so, and he actually won
23:21:37 <ais523> although the question /was/ pretty stupid
23:21:41 <AnMaster> ais523, ah wait, people can actually select "Never submit an answer", they are the ones in "Sometimes submit a truthful answer while lying at other times"
23:21:59 <AnMaster> or always lie
23:22:15 <ais523> yes
23:22:16 <AnMaster> while always lie must be from somtimes or random
23:22:23 <ais523> again yes
23:22:30 <ais523> it's quite the logic puzle
23:22:36 <AnMaster> ais523, indeed!
23:22:47 <Gregor-W> Doesn't seem like all that much of a puzzle to me :P
23:23:46 <ais523> Gregor-W: http://slashdot.org/comments.pl?sid=1695660&cid=32668048 if you want some fun
23:24:52 <ehirdiphone> ais523: One of my favourite polls:
23:25:13 <ehirdiphone> Which option will get the fewest votes?
23:25:20 <ehirdiphone> [ ] This one
23:25:23 <ais523> ehirdiphone: then five identical options?
23:25:26 <ehirdiphone> [ ] This one
23:25:32 <ehirdiphone> No, just 2.
23:25:41 <ais523> there should be four identical options, plus CowboyNeal
23:25:48 <ehirdiphone> If you can see the results it's intense.
23:25:49 <ais523> either that, or options with some connotation but with no context
23:26:21 <ehirdiphone> By definition most people lose.
23:26:27 <ehirdiphone> So
23:26:47 <ehirdiphone> Say you know the votes for A and B, A>B.
23:27:16 <ehirdiphone> Um
23:27:22 <ehirdiphone> I forget my reasoning
23:27:32 <ehirdiphone> Well
23:27:35 <ehirdiphone> Basically
23:27:40 <ehirdiphone> If you choose B
23:27:46 <ehirdiphone> You know others will too
23:27:53 <ehirdiphone> Since B is smaller
23:28:05 <ehirdiphone> Yurt nobody will vote a since it's bigger
23:28:23 <ehirdiphone> So vote A. But then what if everyone else uses the same logic?
23:29:21 <oklopol> that's some serious applied game theory man.
23:29:25 <ais523> ehirdiphone: always vote for the smaller at the moment. The reason is, if B never catches up to A, you're correct; if B ever does catch up to A, then at that point it will be symmetrical, and thus it doesn't matter which you chose by symmetry
23:31:31 <ais523> your reasoning only applies in the interesting case where everyone gets to see the votes, say, an hour after the poll opened
23:31:36 <ais523> but no future votes from that point on
23:33:00 <Gregor-W> That is seriously awesome :P
23:40:19 <oklopol> not really
23:43:02 <ehirdiphone> Bye
23:43:08 <oklopol> buy
23:43:10 <oklopol> ->
23:43:14 <oerjan> the bye
23:43:20 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:43:25 <Gregor-W> What you really want to do is have versions of this where the results are only revealed at the end of the voting entirely, where the results are revealed immediately after voting, and where results which are N hours hold are revealed before voting.
23:43:57 <Gregor-W> The N-hours-before system might average out to a sine wave if you had enough voters :P
23:44:08 <Gregor-W> s/hold/old/
23:47:37 <AnMaster> Gregor-W, couldn't you play that music on zee with <audio>?
23:47:41 <AnMaster> at least as a fallback
23:48:09 <Gregor-W> AnMaster: Actually both systems suck, as neither provides even half-decent looping :P
23:48:23 <Gregor-W> But the looping on <audio> is GOD-FRIGGIN-AWFUL. It's amazing how bad it is.
23:48:31 <Gregor-W> On Firefox it's a joke. On Chrome there's a huge gap.
23:48:44 <Gregor-W> On Firefox you can't even reliably seek to the beginning of a stream. I kid you not.
23:48:47 <AnMaster> Gregor-W, well you could use some other language. Say, python
23:48:53 <AnMaster> not doing it in a browser I mean
23:48:53 <Gregor-W> ...
23:49:03 <Gregor-W> The offline version does not require Flash.
23:49:13 <AnMaster> Gregor-W, there is an offline version?
23:49:14 <AnMaster> yay
23:49:31 <AnMaster> Gregor-W, anyway, this is worse than <audio> since there is no sound at all without flash support
23:49:32 <Gregor-W> It's the same code, but it uses my JavaScript framework for writing online-offline code: http://codu.org/projects/gjs/
23:49:38 <AnMaster> Gregor-W, I'm on Linux SPARC atm
23:49:44 <AnMaster> Gregor-W, flash is not ported to that
23:49:50 <Gregor-W> Wow, SPARC. That's ... actually really weird :P
23:49:58 <AnMaster> Gregor-W, well, UltraSPARC
23:49:58 <Gregor-W> gnemul works on Linux SPARC, doesn't it? ;)
23:49:58 <cheater99> what's going on kids
23:50:06 <AnMaster> Gregor-W, gnemul?
23:50:23 <AnMaster> Gregor-W, also this is not my usual system. I'm at a friend who owns an old ultrasparc
23:50:26 <AnMaster> Gregor-W, not mine
23:50:36 <AnMaster> Gregor-W, I could manage Linux on PPC32 myself
23:50:40 <AnMaster> no flash there either
23:50:56 <Gregor-W> AnMaster: Linux on SPARC has binary emulation for Solaris binaries. IIRC.
23:51:03 <AnMaster> Gregor-W, hm maybe
23:51:03 <AnMaster> Gregor-W, how does one use zee with gjs
23:51:13 <Gregor-W> At the moment, you don't :P
23:51:17 <AnMaster> oh
23:51:22 <Gregor-W> I mean, you could ...
23:51:29 <Gregor-W> But the data isn't in a conveniently packaged form right now.
23:51:38 <AnMaster> ah
23:51:41 <Gregor-W> The demo I slapped online was really just "here's the status, I'll put it online 'cuz why not"
23:51:55 <Gregor-W> It works perfectly offline, but the data is all floating 'round my various hard disks somewhere :P
23:52:18 <AnMaster> Gregor-W, anyway lots and lots of photos in each direction to create a denoised version. the noise level doesn't sink linearly iirc
23:52:48 <AnMaster> adding one image to the averaging halves it. Then you have to add two more to halve it again
23:52:49 <AnMaster> and so on
23:53:26 <AnMaster> Gregor-W, zee5 only according to web page source?
23:53:37 * AnMaster unpacked laptop now, on it
23:53:40 <Gregor-W> Eventually there will be different music per chapter.
23:53:43 <Gregor-W> Right now there's not.
23:54:00 <AnMaster> Gregor-W, how do you make vlc or mplayer loop?
23:54:20 <Gregor-W> Neither of them can loop perfectly, use mocp if you want that. Otherwise, mplayer -loop 0 <whatever>
23:54:27 <AnMaster> Gregor-W, mocp?
23:54:29 <Gregor-W> (By perfectly I mean seamlessly here)
23:54:38 <Gregor-W> It's a music player I use only for seamless looping :P
23:54:46 <AnMaster> heh
23:55:00 <AnMaster> Gregor-W, zee5.ogg from your website?
23:55:12 <Gregor-W> Yes?
23:55:13 <AnMaster> Gregor-W, as in http://codu.org/music/wipp.php
23:55:19 <Gregor-W> Yeah, 's the same one.
23:55:23 <AnMaster> Gregor-W, that can't loop properly can it?
23:55:27 <AnMaster> hm
23:55:32 <Gregor-W> It loops nearly seamlessly.
23:56:37 <AnMaster> Gregor-W, idea for making extrapolating more realistic: You need to select it in some way for it to work
23:57:08 <AnMaster> Gregor-W, shouldn't be impossible to let user select a bounding box and then check that to see if you should be able to extrapolate a reflection
23:57:10 <Gregor-W> Extrapolation is intended to be another option on the right. You click "extrapolate", then click the area you're trying to extrapolate from.
23:57:18 <AnMaster> ah
23:57:22 <Gregor-W> It is currently implemented as a bounding cube.
23:57:31 <Gregor-W> That implementation exists, but is unused in the demo :P
23:57:35 <AnMaster> Gregor-W, cube?
23:57:43 <Gregor-W> You have to be zoomed in sufficiently as well.
23:58:21 <AnMaster> Gregor-W, there should be a "go back" button from extrapolating, at least if you have several layers of extrapolating
23:58:49 <Gregor-W> Hm. That's a fair point. It is a maze, I guess I never thought about getting back :P
23:58:59 <AnMaster> Gregor-W, you know, like extrapolating from reflection in one person's eye who you extrapolated from the reflection on someone's wrist watch
23:59:02 <AnMaster> XD
23:59:16 <AnMaster> you might want to check the other guy's wrist watch too
23:59:20 <AnMaster> not just his eyes
23:59:41 -!- augur has quit (Ping timeout: 240 seconds).
2010-06-24
00:00:54 <AnMaster> Gregor-W, hm small detail: it might look better if the "enhance" blocky effect starts from the enhancing level you are at. As it is, if you enhance about from halfway it will first go more blocky in that transition
00:00:56 <AnMaster> see what I mean?
00:01:45 <Gregor-W> I think I tried that at some point and didn't like it for some reason or another ... maybe just the effect wasn't as noticeable? Idonno. All these suggestions are things I could totally look at if I wasn't at work :P
00:01:50 <AnMaster> ah
00:02:14 <AnMaster> Gregor-W, well I'm trying to think of constructive things that might be feasible today
00:02:31 <AnMaster> Gregor-W, just write a note about it. Or a note about checking the log when you get home
00:02:33 <Gregor-W> They are. Just not at work :P
00:03:23 <AnMaster> Gregor-W, btw do you store multiple images on the server at different zoom levels? Or does it download the whole image at full res locally at the start?
00:04:02 <AnMaster> I would recommend the later, especially if you get even more high res images. Yes I might help at some point. Don't really know anyone who could stage for stuff in the images though
00:04:04 <Gregor-W> It's essentially mipmapped, with the various zoom levels stored on the server. For one, zooming down the enormous source image is actually a really slow and awful procedure, and for two it's enormous :P
00:04:17 <AnMaster> Gregor-W, how large is it?
00:04:30 <AnMaster> Gregor-W, and the server sends a small section when at full zoom?
00:04:39 <AnMaster> hm I guess jpeg actually make that feasible
00:04:39 <Gregor-W> Yes.
00:04:44 <AnMaster> the block encoding
00:04:47 <Gregor-W> It's tiled, so you always request four tiles.
00:05:03 <AnMaster> Gregor-W, anyway, about how large? I calculated one panorama I made was about 60 MP
00:05:10 <AnMaster> that was 360° though
00:05:13 <Gregor-W> I don't recall.
00:05:27 <Gregor-W> I'll check, again, when I'm not at work X-P
00:06:21 <AnMaster> Gregor-W, ah, thought you remembered give or take a few MP
00:06:43 <Gregor-W> I thought it was like 12MP, but I wouldn't be surprised if I'm off by a factor of two.
00:07:02 <AnMaster> Gregor-W, and yeah, a "magic" way to denoise would definitely fit the theme as I said before. And I have yet to find any visible seam ;P
00:08:41 <AnMaster> btw, actually extrapolating a crude image from a reflection in a shop window doesn't sound impossible. You could take an image with an item there and with it removed. Then the diff between them should give you some sort of image
00:08:45 <Gregor-W> Look at the front face of the building in the background, the second set of large windows from the left.
00:09:27 <AnMaster> ah yeah
00:09:37 <Gregor-W> There's a noticeable discontinuous section.
00:09:43 <AnMaster> yep
00:09:45 <AnMaster> only if you zoom
00:09:47 <Gregor-W> That's the only one I recall.
00:09:48 <Gregor-W> Yeah
00:10:06 <AnMaster> Gregor-W, could be fixed with shearing in gimp I suspect
00:10:17 <Gregor-W> 'snot worth it X-P
00:10:20 <AnMaster> Gregor-W, that way you could move the seam to the brick wall from the window
00:10:27 <AnMaster> that way it would be less easy to notice
00:12:15 <AnMaster> Gregor-W, oh and denoise might well make stuff readable that wasn't before. And details in dark areas more visible
00:12:18 <Gregor-W> Well gee ... looka there. My online sound looper actually supports HTML5 too, it just doesn't use it and isn't smart enough to determine at runtime whether to use it.
00:12:39 <AnMaster> Gregor-W, do they play with getting info out of over/under exposed areas on CSI and such too?
00:12:45 <AnMaster> Gregor-W, if yes I have an idea
00:12:50 <Gregor-W> https://codu.org/projects/zee/webhg/index.cgi/file/tip/gaplesslooper/gaplesslooper.js <-- see variable glUseSM2
00:13:16 <Gregor-W> AnMaster: Not sure ... usually it's just assumed that the photo is somehow magically perfect. If you're thinking HDR, I'm thinking AAAAAAAHHHH
00:13:16 <AnMaster> Gregor-W, you commented it out according to a comment because it was so bad
00:13:25 <Gregor-W> Yup :P
00:13:32 <AnMaster> Gregor-W, I'm thinking enfuse not HDR
00:13:56 <AnMaster> Gregor-W, that is HDR without the 5 GB of 32-bit float per channel tiff
00:14:02 <AnMaster> kind of
00:14:20 <AnMaster> Gregor-W, you can do exposure merging with enfuse, not just denoising
00:14:22 <Gregor-W> 32-bit? What are these, single-precision floats? SCREW THAT
00:14:27 <AnMaster> Gregor-W, XD
00:14:50 <AnMaster> Gregor-W, I don't think even photoshop supports that!
00:15:08 <AnMaster> Gregor-W, also the developers didn't own IBM Roadrunner or whatever is fastest currently
00:15:31 <AnMaster> wow think of the panoramas you could stitch with something on TOP500
00:15:39 <AnMaster> Gregor-W, ^
00:16:52 <AnMaster> Gregor-W, saw that gigapixel panorama?
00:17:04 <AnMaster> Gregor-W, it used flash iirc
00:17:11 <Gregor-W> The one of the canyon?
00:17:12 <AnMaster> and automatic fetching more detail as you zoomed
00:17:17 <AnMaster> Gregor-W, I forgot where it was
00:17:27 <Gregor-W> Well, how many gigapixel panoramas can there be? :P
00:17:31 <AnMaster> Gregor-W, was a look from a balcony over some streets
00:17:40 <AnMaster> Gregor-W, what is the canyon?
00:17:57 <Gregor-W> There's a gigapixel-or-so panorama of (IIRC) the grand canyon, or certainly some canyon.
00:18:04 <AnMaster> ah not that one
00:18:12 <AnMaster> Gregor-W, this one was from a balcony
00:18:23 <Gregor-W> A balcony not overlooking a canyon ;)
00:19:03 <AnMaster> Gregor-W, overlooking some streets
00:19:29 <AnMaster> Gregor-W, oh wait it was 13 GP iirc
00:19:40 <AnMaster> if it is the one I found
00:19:41 -!- cpressey has quit (Quit: Leaving.).
00:19:44 <Gregor-W> That's a lot of gigapixels :P
00:19:52 <AnMaster> Gregor-W, yes, like 13 of them
00:20:17 <AnMaster> Gregor-W, anyway you need ram if you are going to do this with hugin. How much do you have?
00:20:31 <AnMaster> ram is the most important bit. I can easily get things to swap trash
00:20:42 <Gregor-W> At home 4G. On my laptop which is all I have here a paltry 2G.
00:21:13 <AnMaster> Gregor-W, hm 4 GB is going to help. And I could possibly enlist the help of someone with 8 GB. But he has slow comcast cable
00:21:17 <AnMaster> so that is going to be slooow
00:21:35 <Gregor-W> I could also misuse Purdue machines ^^
00:22:00 <Gregor-W> If I was really terrible I could misuse Microsoft machines, but they probably wouldn't appreciate me replacing the OS so *eh*
00:22:17 <ais523> Gregor-W: do you actually work at Microsoft?
00:22:28 <Gregor-W> Just a summer internship.
00:22:32 <ais523> ah
00:22:36 <Gregor-W> At MSR, not Microsoft proper.
00:23:03 <ais523> my personal theory is that MSR's purpose is to hire a bunch of the world's best and brightest people and give them interesting jobs which they enjoy and help society as a whole
00:23:10 <AnMaster> Gregor-W, purdue?
00:23:10 <ais523> all for the purpose of preventing them working for Microsoft's competitors
00:23:20 <AnMaster> Gregor-W, oh the uni
00:23:21 <Gregor-W> ais523: You hit the nail on the head.
00:23:41 <Gregor-W> ais523: They don't care if they're super-productive for MS, they care that they're not super-productive for e.g. Sun.
00:23:58 <ais523> anyway, I want to post your whois info for the logs, just because they're so epic
00:24:07 <AnMaster> Gregor-W, anyway I prodded that person. I can't access his system atm. He is having router problems.
00:24:08 <ais523> [Whois] Gregor-W is 836b416f@gateway/web/freenode/ip.131.107.65.111 (proton.research.microsoft.com/131.107.65.111 - htt)
00:24:11 <AnMaster> so no ssh atm
00:24:16 <AnMaster> but sometime during this summer
00:24:36 <AnMaster> Gregor-W, oh and it has dual xeon i7, so actual stitching won't take long ;)
00:24:44 <AnMaster> quad core each
00:24:55 <AnMaster> and hyperthreading. So 16 virtual cores
00:26:01 <AnMaster> Gregor-W, the issue I see here is that I you would need to take all the images in one location, you couldn't take some here and some there really. And you would need some friends who would act. I don't know anyone who I could enlist for that.
00:26:20 <Gregor-W> You don't need friends who would act.
00:26:28 <Gregor-W> You're looking for clues, not looking to catch people in the act (necessarily)
00:27:25 <AnMaster> Gregor-W, hm, So I would need to place stuff around? What sort of things are you thinking about. I don't think I could do bloody clothes easily ;P
00:29:00 <AnMaster> Gregor-W, btw a tip if you are going to use enfuse to denoise: select to fuse exposure stacks before stitching. Not the other way around. Unless you have loads and loads of ram
00:29:12 <AnMaster> since enfuse eats more ram than enblend
00:29:14 <Gregor-W> That's just the problem, thinking up storylines is step one, taking the photos comes from that.
00:29:27 -!- augur has joined.
00:29:40 <AnMaster> Gregor-W, you want enfuse on smaller stuff then enblend on the denoised images
00:30:36 <AnMaster> Gregor-W, oh and align_image_stack should do a good job on a stack of photos just off by a pixel or so (which they will be unless you have a remote trigger for your camera!
00:30:58 <AnMaster> Gregor-W, and what is the nice planned story line you mentioned you had come up with
00:31:05 <AnMaster> I might be able to make valuable suggestions
00:31:21 <Gregor-W> To avoid flooding, I'll say it in PM
00:31:31 <AnMaster> Gregor-W, good idea, to avoid spoiling it for everyone too ;)
00:31:38 <AnMaster> Gregor-W, wait a sec, need to turn off +E
00:31:49 <AnMaster> since you are not idented with nickserv
00:31:52 <ais523> meh, #esoteric-blah was invented for that purpose
00:31:53 <AnMaster> hm
00:31:59 <AnMaster> wait, not +E?
00:32:02 <AnMaster> what was it then
00:32:07 <ais523> "like #esoteric, just spammier"
00:39:46 <ais523> hmm, IRC is fun; I was in a discussion in another channel about the order in which the Pacman ghosts came in
00:39:53 <ais523> and stumbled across http://www.destructoid.com/blinky-inky-pinky-and-clyde-a-small-onomastic-study-108669.phtml when trying to find out
00:40:07 <ais523> if you were wondering where the names came from, there you go.
00:45:31 -!- augur has quit (Ping timeout: 265 seconds).
00:46:17 -!- augur has joined.
00:47:11 <CakeProphet> so
00:47:19 <CakeProphet> when I sit in traffic
00:47:31 <CakeProphet> I think an awful lot about queing theory and concurrency.
00:49:45 <AnMaster> requested to be said in here for log:
00:49:48 <AnMaster> Gregor-W, <AnMaster> Gregor-W if I didn't enhance while zooming in it could use the original level of zoom I had before
00:50:15 <AnMaster> Gregor-W, as in, up to the level you enhanced at it should use that level when zooming out from even more zoomed (but without enhancing)
00:51:51 <CakeProphet> and I think you could model concurrent relationships as a sort of space with some some sort of "transition rule" system... the most concrete example being cars on a road. The cars are the "actors" that have state (possibly FSM) on the resource space, the resource space is the road itself (the simplest model would just be a real number plane, but you could get more technical if you want to factor in physics), and the rules would b
00:51:54 <CakeProphet> essentially a fancier, concurrent cellular automata (that doesn't necessarily have cells. In the case of computer memory, it would)
00:52:52 <CakeProphet> I've got some notes for an esolang that explores this idea.
00:53:20 <CakeProphet> would be amazing to run on a 100 core machine. You could almost have a one-to-one relationship between cores and processes.
00:56:03 <CakeProphet> but yeah. That's my crazy idea for the day. If I refine it I might bring it up again to discuss it.
00:56:36 <AnMaster> Gregor-W, see /msg again. Had great idea for the ending of the game
00:56:55 -!- ais523 has quit (Remote host closed the connection).
00:58:47 <cheater99> is there a facebook thing for linux or firefox that shows the 'notifications' button/menu? just like on the facebook page on the toolbar on top?
01:01:41 -!- Gregor-W has quit.
01:06:41 <CakeProphet> hmmm... anyone know how to set the default behavior of nautilus so that it opens directories in tabs instead of new windows whenever I click on something in places or on the desktop?
01:07:16 -!- augur has quit (Ping timeout: 265 seconds).
01:08:06 -!- relet has quit (Quit: Leaving.).
01:17:24 <CakeProphet> hahaha... it would be awesome if Nautilus allowed custom sorting information
01:17:50 <CakeProphet> like, I have a directory for all of my school work, organized by season and year. Would be awesome to "sort by season"
01:19:53 <AnMaster> write a patch!
01:20:38 <CakeProphet> pah, writing a patch implies maintaining a patch.
01:21:43 <CakeProphet> when someone figures out a language that can automatically implement infinite backwards-compatability let me know.
01:21:56 <CakeProphet> probably requies boilerplate.
01:32:34 <AnMaster> CakeProphet, you could take the patch upstream
01:35:32 <CakeProphet> is that sort of like time travel?
01:43:21 -!- FireFly has quit (Quit: swatted to death).
01:46:35 -!- Mathnerd314 has joined.
01:56:07 -!- oerjan has quit (Quit: Reboot).
02:04:15 -!- cal153 has quit (Ping timeout: 260 seconds).
02:07:17 -!- augur has joined.
02:08:33 -!- oerjan has joined.
02:08:34 -!- cheater99 has quit (Ping timeout: 276 seconds).
02:17:53 -!- cheater99 has joined.
02:32:15 -!- cheater99 has quit (Quit: Leaving).
02:32:31 -!- cheater99 has joined.
02:33:31 -!- cal153 has joined.
02:45:23 -!- augur has quit (Ping timeout: 265 seconds).
02:54:29 -!- coppro has quit (Remote host closed the connection).
03:00:34 -!- coppro has joined.
03:03:02 -!- coppro has quit (Remote host closed the connection).
03:03:49 -!- coppro has joined.
03:17:56 <Gregor> Key changes are the bane of my existence.
03:20:25 <coppro> :D
03:20:30 <coppro> s/^/>/
03:20:34 <oerjan> banes are generally associated with key changes in life
03:23:03 <oerjan> major changes more than minor ones
03:23:40 * coppro groans
03:24:29 <oerjan> on the other hand, such changes can also open new doors
03:24:57 <coppro> needed more pun
03:40:52 -!- MizardX has quit (Ping timeout: 276 seconds).
03:45:46 -!- coppro has quit (Remote host closed the connection).
03:46:16 -!- coppro has joined.
03:48:37 <CakeProphet> So what's the most intersting Lisp out there at the moment?
03:48:45 <CakeProphet> Anything with pattern matching? lazy evaluation?
03:56:25 <Gregor> I wonder if it's safe to blindly use fdupes to hardlink files across several chroots ... :P
03:56:40 <CakeProphet> lolwhut
04:02:02 -!- coppro has quit (Read error: Connection reset by peer).
04:03:06 -!- coppro has joined.
04:03:29 <Sgeo__> Since when does fdupes actually hardlink anythig?
04:07:37 -!- augur has joined.
04:09:19 -!- CakeProphet has quit (Ping timeout: 260 seconds).
04:11:16 -!- CakeProphet has joined.
04:18:10 <Gregor> Sgeo__: Since Debian made it useful.
04:18:19 <Gregor> Debian, per usual, is better than every other distro.
04:19:08 <Sgeo__> Even Ubuntu?
04:19:27 <Gregor> Ubuntu is just Debian minus the principles.
04:20:17 <Sgeo__> I'm not married to F/OSS principles
04:20:53 -!- bpc has joined.
04:21:00 <Gregor> I'm not "married" to it, but I'd rather use a distro with SOME kind of principles to it than Ubuntu's total lack of any.
04:22:01 <Sgeo__> Is that like saying "At least fundamentalist Christianity has a well-defined moral system"?
04:23:06 <Gregor> Touch sir.
04:24:08 -!- bpc has left (?).
04:29:48 <Gregor> fdupes is so slow when you throw it at gigs of data :P
04:37:19 <oerjan> well that's because it's all a sham. sir, you've been fduped!
04:45:47 <Mathnerd314> question: how many people are awake?
04:47:44 <oerjan> 4-5 billion?
04:53:48 <Mathnerd314> on #esoteric
04:54:59 <oerjan> now that is a _much_ harder question to answer.
05:03:22 <Gregor> There are no people on #esoteric .
05:03:25 <Gregor> There are only ...
05:03:26 <Gregor> ROBOTS
05:03:31 <Gregor> Sexy robots
05:14:36 -!- zzo38 has joined.
05:15:35 <zzo38> Once I heard someone was using complex numbers in accounting, so I tried, and failed, to figure out, but when doing so I succeeded at figuring out the use of matrices in accounting, and therefore I invented matrix accounting.
05:16:17 <zzo38> One of the rules is as follows: <BAL|FSV> = 0
05:16:33 <zzo38> Another one is this: $|FSV> = 1
05:17:34 <zzo38> I want to see if you understand any of these things
05:17:49 <oerjan> it would appear that the company is both solvent and not until you actually observe it
05:19:00 * oerjan guesses BAL is balance, and has no idea what FSV means
05:19:34 <zzo38> oerjan: Actually, matrix accounting has not much to do with quantum mechanics, except for the similar notation. FSV means "Fiscal State Vector".
05:19:57 <zzo38> |FSV> represents the current state of all accounts and currency units.
05:20:08 <oerjan> ok
05:20:14 <zzo38> <BAL| is a covector representing the list of all accounts.
05:21:29 <oerjan> i still think the schrodinger company might be helpful for explaining the recent financial crisis
05:22:45 <zzo38> Here is a equation for a transaction: T - I = |Cash>$5.00 - |Sales>$5.00
05:23:18 <zzo38> Matrix accounting is actualy very useful for various things in my experience, one thing it is useful for is "what if" type questions.
05:31:33 -!- Halph has joined.
05:31:54 -!- coppro has quit (Remote host closed the connection).
05:32:01 -!- Halph has changed nick to coppro.
05:44:44 <zzo38> Do you like this equation? (This equation is only a simple transaction, there are also more complicated kinds where the effect on the accounts can vary)
05:46:09 -!- augur has quit (Ping timeout: 265 seconds).
05:46:52 <oerjan> i'm not really interested in accounting
05:48:00 <zzo38> That's OK. Do these equations I listed make much sense to you?
05:49:28 <zzo38> (The reason I know some things about accounting is simply because I happened to take that class in school. It is useful to know if I run my own business. I also took marketing, but the marketing class made less sense to me.)
05:50:07 -!- augur has joined.
05:52:33 <oklopol> zzo38: i have no idea what those mean
05:53:07 -!- oerjan has quit (Quit: Good night).
05:57:53 <zzo38> <BAL|FSV> = 0 is the balance rule, which is that everything balances, for example, your assets on the left, liabilities and capital on the right, will balance. But this is more general
06:00:30 <oklopol> i guess i'm not very good at reverse-engineering, would have to know the exact definition of BAL and FSV
06:00:55 <oklopol> (at least i'm not good it when i have no idea what i'm looking for)
06:02:38 <oklopol> but anyway seems like accounting would be rather linear, so i can believe using linear transformations to describe whatever these rules might be about can be useful.
06:03:01 <Gregor> I just freed up 8GB on Codu by deleting entirely stupid things.
06:03:02 -!- Deewiant has joined.
06:03:04 <Gregor> Stupid disk space.
06:03:42 <zzo38> $|FSV> = 1 is the currency units rule.
06:03:44 <oklopol> how stupid?
06:04:21 <zzo38> The exact meaning of <BAL| is that it is a covector with 1 in each position for each account.
06:04:38 <zzo38> The exact meaning of |FSV> is the accounts and the amounts of money for each account.
06:04:42 <oklopol> i have no idea what FSV could be even though you said what it represents
06:04:52 <Gregor> oklopol: 2GB of PHP session data that apparently PHP forgot to delete. 3GB of logs. 1GB from hardlinking files between my many chroots. Various other things.
06:05:15 <oklopol> oh wait
06:05:24 <zzo38> <BAL| is a covector, |FSV> is a vector, therefore <BAL|FSV> is their scalar product, which the rule says must be equal to zero
06:05:27 <oklopol> just a vector of how much money on each account?
06:05:51 <oklopol> Gregor: okay those are pretty stupid
06:06:06 <oklopol> i thought you'd uploaded monkey porn or something
06:06:23 <oklopol> oh
06:06:27 <Gregor> No, the monkey porn isn't being deleted, that's the vital data.
06:06:31 <oklopol> definitions yay
06:07:12 <oklopol> err BAL = (1,1,...,1)? :D
06:07:28 <oklopol> i'm not very good at understanding language either
06:09:47 <oklopol> so now my understanding is <BAL|FSV>=0 means total money in universe = 0
06:12:40 <oklopol> which i guess makes sense, still can't see what Cash and Sales are
06:14:02 <zzo38> oklopol: Yes, I think you can know what <BAL| and |FSV> means now.
06:14:36 <oklopol> Gregor: i know we're just joking but i want to see the porn so bad it's hard not to ask you to link it.
06:15:55 <zzo38> Although one component of |FSV> must be the currency unit component which must be always 1, the corresponding component of <BAL| is zero. Other than that, yes <BAL| = (1,1,...,1) basically, if only accounts are considered. (You normally do not need to consider the currency unit component, but it is there.)
06:16:15 <zzo38> Also, $ is a covector for only the currency unit component.
06:17:10 <oklopol> $ as in $ a b = <a|b>?
06:17:16 <oklopol> err
06:17:21 <oklopol> covector, so i guess not
06:17:43 <Gregor> oklopol: HAHA OF COURSE WE ARE JOKING and there's no reason for you to check your PM.
06:18:14 <zzo38> The $ does not mean $ a b = <a|b> in this context.
06:18:59 <oklopol> ooh "monkey poo in da zoo 2"
06:19:03 <oklopol> i did love #1
06:19:25 <oklopol> oh
06:19:43 <oklopol> actually "$ is a covector for only the currency unit component" defines it completely
06:19:48 <zzo38> Please note that $ and <BAL| are orthogonal to each other, because they are really two separate things being joined together.
06:20:03 <zzo38> oklopol: Yes that does define $
06:20:05 <oklopol> yeah
06:20:10 <oklopol> i noted that
06:20:31 <oklopol> Cash and Sales?
06:21:09 <oklopol> i don't know what kind of input a transaction like T - I = |Cash>$5.00 - |Sales>$5.00 takes, and what it returns, account vector maybe?
06:21:42 <zzo38> All transactions take |FSV> on the right and transform |FSV> to their new value.
06:22:31 <zzo38> This simple transaction equation is simply where |Cash> and |Sales> are the counterparts to <Cash| and <Sales| which are like <BAL| but only for one account each
06:23:04 <oklopol> Gregor: do you have anything with anal?
06:23:30 <Gregor> oklopol: DOOD stop asking about animal porn on a public channel, people will think we're WEIRD. Keep it to /query
06:23:31 <oklopol> i mean
06:23:33 <oklopol> MORE anal
06:23:38 <oklopol> oh okay
06:25:07 <zzo38> I would also prefer it if you would please refrain from asking about porn on a public channel, in fact it is probably the Freenode network guidelines, I think.
06:25:07 <fizzie> Not just public channel, a publicly *logged* channel
06:25:48 <oklopol> sorry, we'll try to keep our perversions in pm as Gregor suggested
06:25:59 <oklopol> we just really like monkeys
06:26:04 <oklopol> anyway umm
06:26:11 <oklopol> i'm still a bit confused
06:26:13 <Gregor> Oook ook OOOOOK
06:26:19 <Gregor> Oh, sorry, got a bit excited there.
06:26:21 <oklopol> |Cash>$5.00 - |Sales>$5.00 turns a vector into a scalar
06:26:29 <oklopol> T - I turns a vector into a vector
06:26:47 <oklopol> therefore my brain gets confused.
06:26:51 <oklopol> :D
06:26:58 <zzo38> oklopol: No. Remember $ is a covector. Putting the vector on the left and covector on the right is a square matrix, or is a transformation.
06:27:22 <oklopol> oh $ is a vector there too
06:27:22 <oklopol> see
06:27:31 <oklopol> there i interpreted it as meaning 5 dollars :D
06:27:51 <oklopol> i figured you just used dollars as your scalars :-)
06:28:06 <zzo38> It *does* mean five dollars. That is why the $ is used to represent this covector!
06:28:26 <oklopol> (and constant multiplication would turn dollars into square dollars and so on, which we would identify with dollars...)
06:28:41 <oklopol> ah okay, after asking i did realize that might be the case.
06:28:50 <oklopol> so let's see if i can see why that makes sense
06:30:37 <oklopol> okay yeah
06:30:40 <oklopol> igi
06:31:02 <oklopol> (not exactly much of a feat i admit :P)
06:31:37 <oklopol> to T adds 5 dollars to cash and removes 5 from sales
06:31:52 <oklopol> *so
06:33:33 <zzo38> oklopol: Yes, that is it. (The reason for the minus sign is for balance. Cash is plus and Sales is minus, so you are actually *increasing* the amount of Sales (and earning five dollars by sales revenue), but it still uses a minus sign.)
06:34:19 <zzo38> Often in accounting reports, some accounts are on the left, and some are on the right. I am using minus signs for the accounts on the right.
06:35:29 <zzo38> Now, I must ask you this: Has *anyone* ever used Dirac notation in accounting before?
06:37:09 <oklopol> well you can do all this without dirac notation, so i believe a better question is whether people have done it with matrices, and my understanding is K or something is used in that sorts of stuff for instance, and it's a matrix panguage
06:37:11 <oklopol> *language
06:37:57 <oklopol> but do realize i have no understanding of the subject, so my understanding about what's used for it may not be very great either.
06:37:59 <zzo38> Of course you can do it without Dirac notation. I just found Dirac notation convenient to use here.
06:38:10 <zzo38> I would like to know if anyone has ever used matrices in accounting before, though, too!
06:39:37 <oklopol> well it might be convenient in your opinion, but i mean you can do this without dirac notation *by changing a few characters* so whether people would use dirac notation or not might be more about how much qm they know than about how convenient they like their notation.
06:40:33 <oklopol> well dunno, i have to go to uni, actually i should've left an hour ago but i wanted to learn about accounting because i wanna be a businessman when i grow up so i can buy a monkey farm.
06:40:36 <oklopol> ->
06:41:48 <zzo38> Also, something unrelated to matrix accounting now: http://www.lysator.liu.se/~jc/hacks/brainfuck.xslt
06:44:22 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
06:47:54 -!- zzo38 has quit (Remote host closed the connection).
06:54:47 -!- augur has quit (Ping timeout: 265 seconds).
06:58:40 <Gregor> enfuse is noyce
07:06:45 -!- tombom has joined.
07:36:25 -!- coppro has quit (Remote host closed the connection).
07:36:39 -!- Gracenotes has quit (Ping timeout: 240 seconds).
07:36:55 -!- coppro has joined.
07:41:32 <AnMaster> <oerjan> on the other hand, such changes can also open new doors -- it can be a portal to a new life?
07:41:49 <AnMaster> Gregor, thanks for liking my idea
07:42:03 <AnMaster> Gregor, you can twiddle parameters but probably not needed
07:42:17 <Gregor> With CHDK, I can make my camera do most of the work for me too :)
07:42:45 <AnMaster> Gregor, ooh you can do the "change focus of image" stuff they did in CSI or something like that once. But that needs a remote trigger most certainly and it tends to increase noise
07:42:58 <AnMaster> Gregor, what I'm talking about is exposure merging
07:43:10 <AnMaster> Gregor, CHDK?
07:43:18 <Gregor> Canon Hacker's Development Kit
07:43:20 <AnMaster> err
07:43:23 <AnMaster> focus merging
07:43:25 <Gregor> It's a cool alt firmware for Canon digital cameras.
07:43:42 <AnMaster> I'm not yet fully awake
07:43:56 <AnMaster> ah that
07:44:17 <AnMaster> Gregor, anyway, enfuse can with different parameters try to merge where image is sharpest instead
07:44:33 <AnMaster> Gregor, it is however tricky to get right
07:44:35 <AnMaster> I never managed
07:44:57 <Gregor> Dern laptop, I'm swap-thrashing.
07:45:11 <AnMaster> Gregor, oh you are using enfuse I gather? ;P
07:45:35 <AnMaster> Gregor, enfuse makes me feel I'm in the future. But it also makes me very aware of that my laptop is not
07:45:47 <AnMaster> even less so my desktop
07:47:04 <fizzie> It has a very simple sharpness-measuring thing, IIRC. Basically just a contrast measure.
07:49:15 <AnMaster> right
07:49:34 <AnMaster> Gregor, I'm sure fizzie can use some high end cluster to do this
07:49:41 <AnMaster> like he did when generating some fugot dict
07:49:59 <AnMaster> ;)
07:51:01 <Gregor> On this one test picture, something in the process is making the edges all black, even though they're clear in the original ...
07:51:15 <Gregor> (I'm just fusing four photos of the same scene right now)
07:51:49 -!- tombom has quit (Quit: Leaving).
07:52:08 <AnMaster> Gregor, um. How strange. Though did you align the images before? Even half a pixel movement or such must be corrected before fusing
07:52:27 <Gregor> They're aligned perfectly.
07:52:48 <AnMaster> Gregor, used align_image_stack ?
07:53:21 <AnMaster> I would use align_image_stack -p
07:53:29 <AnMaster> then use hugin to set enfuse then use that
07:53:44 <fizzie> There are some programs that are explicitly for extended-DOF image merging, those might be smarter. Though Helicon Focus at least is commercial. CombineZ (at least some version) is GPL but Windows-only.
07:53:59 <AnMaster> fizzie, DOF?
07:54:12 <fizzie> Depth-of-field. Focus-merging.
07:54:15 <AnMaster> ah
07:54:36 <Gregor> They're aligned, the problem is with exposure setting, not alignment.
07:54:44 <Gregor> Although actually it's just the original was overexposed and it's overcompensating.
07:55:06 <AnMaster> Gregor, ah...
07:55:18 <AnMaster> Gregor, let me find you the relevant parameter to twiddle
07:55:21 <fizzie> It's funny how photographers try to extend DOF, while 3D renderers/raytracers try to fake in a limited DOF.
07:56:03 <AnMaster> Gregor, twiddling with the parameters --saturation-weight=WEIGHT --exposure-weight=WEIGHT might help
07:56:38 <AnMaster> Gregor, values are floats in the closed interval [0,1]
07:56:56 <fizzie> For simple noise-reduction, I've usually just done align_image_stack -a align inputs ; enfuse ... align*.tif ; rm align*.tif without bothering to involve Hugin. But any way you prefer it, of course.
07:58:03 <Gregor> I just tried again and it got it right :P
07:58:08 <AnMaster> Gregor, heh
07:58:32 <AnMaster> Gregor, anyway this is definitely a form of enhancing that the game should have IMO
07:58:43 <Gregor> Future work.
07:58:58 <fizzie> Left as an execise for the player.
07:59:02 <AnMaster> fizzie, XD
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:26 -!- augur has joined.
08:03:37 <fizzie> "Proof by intimidation: 'Trivial.'"
08:03:48 <AnMaster> XD
08:04:27 <fizzie> "Proof by appeal to intuition: Cloud-shaped drawings frequently help here."
08:04:43 <fizzie> (One) list at http://www.onlinemathlearning.com/math-jokes-mathematical-proofs.html
08:05:42 <AnMaster> fizzie, also disproof by convenience (forgot where I heard this): "If that was true we wouldn't be able to do the sums!"
08:05:47 <AnMaster> mostly physics I think
08:06:58 <AnMaster> fizzie, do you get the 'Proof by Tessellation: "This proof is just the same as the last."' ?
08:07:08 <AnMaster> I thought tessellation was some 3D thingy
08:07:17 <AnMaster> 3D graphics
08:10:09 <fizzie> It's also a tiling pattern with no gaps, but I'm not sure about the name either.
08:10:43 <fizzie> (In addition to the usual 3D graphics polygon-splitting meaning.)
08:11:04 <AnMaster> ah
08:11:34 <AnMaster> somehow "also" in your first line indicated the "in addition to" bit already ;)
08:12:03 <AnMaster> "Proof by cumbersome notation: Best done with access to at least four alphabets and special symbols. " <-- no, that is just standard math
08:12:29 <AnMaster> wait hm
08:12:30 <fizzie> I guess it's from the "made out of identical shapes" bit of http://mathworld.wolfram.com/Tessellation.html but it's a bit of a scretch.
08:12:32 <AnMaster> I only get 3
08:12:35 <AnMaster> Latin, Greek, hebrew
08:12:45 <AnMaster> when thinking about how much would be feasible to combine
08:15:07 <AnMaster> hm
08:15:58 <AnMaster> fizzie, I always felt that references to not yet published papers shouldn't be allowed
08:16:08 <AnMaster> it's cheating kind of
08:19:35 <fizzie> Well, it depends. If it's an already-accepted journal article that will just take a year to go through the publishers machinations, I do think you can stick an "in press" citation. But referring a completely non-existing paper is a different thing.
09:31:16 -!- GreaseMonkey has joined.
09:53:59 -!- sanjoyd has joined.
10:07:26 -!- wareya_ has joined.
10:09:59 -!- wareya has quit (Ping timeout: 265 seconds).
10:36:13 -!- BeholdMyGlory has joined.
10:39:22 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
12:03:53 <Sgeo__> Did GreaseMonkey just call all IRC clients "scripts"?
12:04:26 <Sgeo__> Or do mIRC scripts have a tendency to get themselves mentioned in default quit messages?
12:04:37 <Sgeo__> (I can't imagine, say, XChat or irssi scripts being so malicious)
12:04:45 <AnMaster> Sgeo__, the latter
12:04:53 <AnMaster> I think
12:04:56 <AnMaster> not 100% sure
12:05:33 <AnMaster> hm
12:05:47 <AnMaster> should I put up with slow computer, or should I try to cross compile a kernel
12:06:07 * Sgeo__ ex-headaches
12:06:16 <Sgeo__> For the past hour or so, I have been in pain
12:06:16 <AnMaster> which is least painful: unpacking and compiling a linux kernel on a pentium3 or should cross compiling from amd64
12:06:35 <AnMaster> Sgeo__, alvedon or whatever it is called usually helps for me
12:07:14 <Sgeo__> I took Tylenol (paracetamol) about an hour ago
12:07:40 <Sgeo__> Let me clarify: I only started keeping track of time when I took it
12:08:48 <Sgeo__> Can I just say that I love modern medicine?
12:14:03 <Sgeo__> There is a group on Facebook "Over Dosing on Ibuprofen and Extra Strength Tylenol! :D"
12:14:36 <Sgeo__> There's an ad "I love programming"
12:14:51 <Sgeo__> It has someone holding a sign saying "Will code HTML for food"
12:15:03 <Sgeo__> http://www.facebook.com/iloveprogramming
12:16:12 <Sgeo__> o.O there's a "What's your favorite language?" thing. Several people said PHP
12:16:16 <Sgeo__> I'm going to go cry
12:18:42 <Sgeo__> Then again, there's some assembly love
12:19:13 <Deewiant> "PHP, MySQL, HTML5, CSS3, and Javascript"
12:19:49 <Deewiant> But then, the group pic apparently depicts an HTML coder
12:19:50 <AnMaster> <Sgeo__> I took Tylenol (paracetamol) about an hour ago <-- iirc that is the same thing as in alvedon
12:21:20 <Sgeo__> Maybe I shouldn't be staring at a screen so soon after a headache
12:22:19 <Sgeo__> http://www.facebook.com/photo.php?pid=288817&id=124438437575957
12:22:47 <Sgeo__> Looks like an old pic. IE7, and no Chrome
12:43:19 <Sgeo__> Going to watch some SGA
12:52:16 -!- sanjoyd has quit (Ping timeout: 252 seconds).
13:18:57 -!- kar8nga has joined.
13:33:21 -!- augur has quit (Remote host closed the connection).
13:37:31 -!- oerjan has joined.
13:49:34 <oerjan> <Gregor> Future work. <-- Past hopelessly broken.
13:56:48 <oerjan> <Sgeo__> There is a group on Facebook "Over Dosing on Ibuprofen and Extra Strength Tylenol! :D"
13:56:57 <oerjan> is the smiley included in the group name?
13:57:55 <oklopol> which groups can smileys be embedded in? they are symmetric at least so i don't see why that wouldn't work
13:58:17 <oerjan> >_>
13:58:48 <oklopol> indeed
13:58:52 <oklopol> not all are
13:59:14 <oerjan> THAT WAS _NOT_ WHAT I MEANT
13:59:26 <oklopol> :-------------------)
14:00:17 <Sgeo__> How many symmetric smilies (left-right) are there?
14:00:29 <oerjan> ^_^
14:00:53 <oklopol> well that's easy, the number of orbits is just the average number of fixed points of the group elements
14:01:30 <oklopol> my references are really obscure, if only these were at all funny!
14:01:34 <oerjan> Sgeo__: so, _is_ the smiley included?
14:02:10 <oerjan> oklopol: are you secretly NonsensicalAnalogy from reddit?
14:02:40 <Sgeo__> Yes, the smiley is included in the name.
14:02:41 <oklopol> :D
14:02:42 <oklopol> who's that
14:02:49 <Sgeo__> I am NOT happy about that group existing.
14:03:20 <oerjan> Sgeo__: i've read overdosing on tylenol (paracetamol) is _not_ a laughing matter
14:03:30 <Sgeo__> oerjan, yeah
14:03:35 <oklopol> why not?
14:03:39 <oerjan> a _very_ painful way of dying
14:04:02 <oklopol> then interesting to group it with ibuprofen
14:04:07 <oerjan> it takes a week for your liver to break down, or something
14:04:52 <oerjan> and after a day there is _nothing_ medicine can do to prevent it
14:04:55 * Sgeo__ knows little about ibuprofen
14:05:06 <oklopol> ibuprofen is for kids
14:05:15 <oerjan> hey _i_ use ibuprofen
14:05:28 <oklopol> :O
14:05:39 * Sgeo__ uses Tylenol, but nowhere near the dosage printed
14:06:09 <Sgeo__> It says 2 pills every 6 hours, I pretty much never do more than 1 every 24
14:06:18 <Sgeo__> erm, not sure about the 6 hours
14:06:46 <oerjan> me too
14:07:35 <oerjan> well it says 1-2 pills up to four times a day
14:09:11 <oerjan> (this is my ibux (ibuprofen) i'm talking about)
14:11:18 <oklopol> only the weak have headaches.
14:11:26 <oklopol> nowadays i have headaches almost every week
14:11:28 <oklopol> i never used to
14:11:29 <oklopol> i hate it
14:11:38 <oerjan> i've never claimed to be strong, that i can recall
14:11:48 <oklopol> mainly because i hate taking the drugs, and then i just get nothing done
14:12:27 <oklopol> oerjan: that's just one of my trademark ways of expressing things
14:12:46 <oerjan> if you are having them every week, then i'd imagine the first tip is to stop whatever is making you have them
14:12:52 <oklopol> :P
14:13:17 <oklopol> i believe that's sleeping highly irregularly and eating too much, i'm full almost around the clock
14:13:44 <oklopol> easier said than done though, especially as it's not really a problem so i don't have that much incentive.
14:13:48 -!- cpressey has joined.
14:14:07 <oklopol> i love eating
14:14:58 * oerjan starts adjusting his inner image of oklopol from being a thin guy
14:15:17 <oklopol> i'm 180 and i weigh 85, but i look thinner than that
14:15:29 <oklopol> (according to people)
14:15:39 <oklopol> i'm not really thin, but i'm not fat either, yet
14:16:27 <oklopol> before my dad had his heart attack, he used to weigh something like 110, and had been that way for ages, same with my second order father
14:17:32 <oklopol> also my uncle died at like 40, some kind of clot in his brain and the guy just suddenly collapsed
14:17:36 * oerjan used to be not really think but not fat either
14:17:38 <oerjan> *thin
14:17:48 <oklopol> wait you're not thin?
14:18:35 <oerjan> well i'm not _very_ fat yet
14:19:02 <oklopol> Gregor: op13 is great btw, first one of yours i hear i don't feel needs tiny changes every now and then (i feel that way about most music)
14:19:09 <oklopol> maybe not the first one
14:19:11 <oklopol> but anyway
14:20:20 <oklopol> most of my own music requires tons of corrections imo, but i rarely do it, once a part has been written, changing it is murder.
14:20:40 <oerjan> murders of note
14:20:50 <oklopol> idgi
14:21:13 <oerjan> "of note", notes, right?
14:21:34 <oklopol> oh well yes that *was* what i meant
14:21:54 <oklopol> i thought it was a reference to something else
14:22:43 <oerjan> "of note" is a phrase
14:23:22 <oklopol> oh hmm yes looks familiar, not familiar enough i guess
14:23:32 <oklopol> (i know what it means)
14:23:49 <oerjan> there are even google hits for "murders of note"
14:24:11 <oerjan> http://www.snarlyboodle.com/famous-unsolved-murders/ (but for some reason it failed to load for me)
14:24:12 <oklopol> yeah right. prove it
14:25:16 -!- MizardX has joined.
14:28:35 <oklopol> Gregor: although the parts i most like are from 12 i think
14:30:41 <oklopol> (and yes, i know you prefer useful data over vague goodness assessments, but i'm not feeling particularly musical atm)
14:31:16 <oerjan> wait, music involves useful data? </ducks>
14:32:19 <oklopol> while you were joking, i will answer seriously, by useful data i mean an attempt at explaining where exactly my opinion comes from, that would at least make me a slightly more usable statistic.
14:34:06 <oerjan> ah but don't you know that people decide their opinions first and make up / delude themselves into thinking they had reasons afterwards?
14:34:16 <AnMaster> oerjan, there are music based esolangs
14:34:20 <AnMaster> so obviously yes
14:34:23 <oklopol> maybe stupid people
14:34:28 <oklopol> is my opinion
14:34:35 <oerjan> XD
14:35:05 * oklopol has an element in every open set atm, and doesn't get the joke
14:35:16 * oerjan gets that
14:35:29 <AnMaster> oerjan, useful data in music: http://esolangs.org/w/index.php?title=Special:Search&search=music
14:35:46 <oklopol> oh
14:35:50 <oerjan> oklopol: well you're better than AnMaster, he seems not to have realized it _was_ a joke
14:36:31 <oerjan> (the joke was a vague insult that music is all about vague goodness)
14:36:34 <AnMaster> oerjan, ... you didn't realise what I said was a joke as well? Or was that a meta joke you just said?
14:36:46 <oerjan> AnMaster: YOU WILL NEVER KNOW
14:36:49 <AnMaster> har
14:36:57 <oklopol> oh umm you mean what AnMaster said was a joke? that's what i didn't get, but then realized he didn't mean it as a joke, was an answer to an earlier thing
14:37:20 <oklopol> so i did get your joke, just not the one that wasn't one
14:37:25 <oerjan> ok now i don't get it any more
14:37:44 * oerjan runs away screaming
14:37:51 <AnMaster> oklopol, it was a joke answer to oerjan's joke!
14:37:52 <AnMaster> ffs
14:38:33 <oklopol> yeah sorry i typed slowly and didn't read what you said
14:38:37 <oklopol> okay so explain
14:38:44 <oklopol> oh
14:38:50 <oklopol> but answer to the useful data thing?
14:38:56 <AnMaster> oklopol, yes
14:39:06 <AnMaster> oklopol, but explaining a joke ruins it
14:39:09 <oklopol> not the one to which it makes no sense as an answer, got it
14:39:16 <AnMaster> oklopol, but if that is what you want, just ask
14:39:59 <cpressey> Murdered jokes of note.
14:40:19 <oerjan> i would say we have ruined the jokes thoroughly at this point
14:40:23 <oklopol> :D
14:40:31 <oklopol> i wish i knew more math terms
14:40:45 <oklopol> substituting definitions for them is fun
14:40:57 <oklopol> shit, terms
14:41:05 <oklopol> too late i guess
14:41:13 <oerjan> what?
14:41:31 <AnMaster> oerjan, we could go on and explain the explaining
14:41:41 <oklopol> i could've substituted the definition of a term in a term algebra
14:41:47 <oklopol> ...that might've been a bit long
14:41:49 <AnMaster> hm should check how many iterations of that they are at currently
14:41:57 <oerjan> AnMaster: poor collector guy today
14:42:04 <AnMaster> oerjan, yep
14:42:05 <oklopol> oerjan: well i meant like the element in open set thing
14:42:17 <oerjan> jane goodall can be so mean
14:42:18 <AnMaster> oerjan, personally I don't think he is poor. It is obvious now isn't it?
14:42:27 <AnMaster> oerjan, all the strange things he has collected for
14:42:30 <oerjan> wait, what
14:42:33 <AnMaster> oerjan, he is running a scam!
14:42:40 <AnMaster> or rather: several scams
14:43:02 <oklopol> do you contain an open ball around all your points to the idea of talking like this
14:43:08 <oerjan> AnMaster: hm didn't he work for the nigerian finance minister at one point? or am i confusing him with shakespeare
14:43:36 <AnMaster> oerjan, you know, that sentence really sounds weird out of context
14:43:42 <AnMaster> or that line rather
14:44:10 <oerjan> AnMaster: i decided to revel in that fact
14:44:17 <oklopol> i guess it's not the way to speak that contains finite supremums and contains all downward cones of its points.
14:44:38 <oklopol> i think i failed to convey the latter one :D
14:44:45 <AnMaster> oklopol, I completely lost you
14:45:26 * oerjan does not recall the latter term
14:45:35 <oklopol> AnMaster: the game is to take sentences with mathematical terms and substitute them for their definitions.
14:45:59 <AnMaster> oh you were discussing something else
14:45:59 <AnMaster> that explains it
14:45:59 <oklopol> well i can easify it, wait a sec
14:46:36 <oklopol> i guess it's not the way to speak that is closed under addition and multiplication by any scalar.
14:46:40 <AnMaster> oklopol, so you mean you take x ^ 3 = 3 and turns it into x * x * x = 3 ?
14:47:19 <oerjan> oklopol: the vector space way to speak? now you are making no sense!
14:47:28 <oklopol> a bit like that but not really
14:47:36 <AnMaster> oklopol, was that to me or oerjan?
14:47:45 <oklopol> oerjan: urgh scalar was a bad term, i'll try one more time
14:48:15 <oklopol> i guess it's not the way to speak that is a subset closed under addition and multiplication by any element of the superset.
14:48:32 <oerjan> ah
14:48:47 <oerjan> no, no it is not.
14:49:01 <cpressey> Hey, that's almost as good as speaking Navajo.
14:49:52 <AnMaster> oklopol, what was your original sentence?
14:50:16 <oklopol> not the ideal way to speak
14:50:31 <oklopol> first order theoretic definition (badly worded), then algebraic
14:50:37 <oerjan> oklopol: ok i didn't recall that the lattice version was called that as well
14:50:39 <AnMaster> oklopol, ... I was not playing the game, I was making a meta question about it.
14:50:39 <oklopol> (well for rings in particular)
14:50:58 <oklopol> AnMaster: i thought i answered
14:51:02 <AnMaster> oklopol, hm
14:51:09 <AnMaster> oklopol, "<oklopol> first order theoretic definition (badly worded), then algebraic" that line?
14:51:12 <AnMaster> or "<oklopol> not the ideal way to speak"?
14:51:19 <oerjan> first order? i finally recognized it as http://en.wikipedia.org/wiki/Ideal_(order_theory)
14:51:22 <oklopol> ideal
14:51:35 <AnMaster> ah
14:51:36 <oklopol> err first order-theoretic ...
14:51:59 <oklopol> add an article if you like
14:52:18 <AnMaster> I think I'll be a spectator here. This obfuscation is way out of my league :P
14:53:32 <oklopol> oerjan: your turn! :D
14:53:43 <oklopol> your 2pi
14:53:51 <oklopol> (from the "pi is wrong" article)
14:54:54 <oklopol> or don't you have the sets containing every point at at most a given distance for it?
14:55:32 <cpressey> AnMaster, are you sure that's the 90-degree approach?
14:55:38 <cpressey> See, I can only do really lame ones.
14:55:53 * AnMaster defines radians in terms of degrees to annoy the mathematicians
14:55:58 <AnMaster> oklopol, oerjan ^
14:56:00 <oklopol> you should've sub'd approach too :P
14:56:22 <AnMaster> oklopol, with what?
14:56:23 <cpressey> oklopol, as I said, I can only do really lame ones.
14:56:27 <oklopol> or wait
14:56:47 <cpressey> If "approach" is a maths term, it is WAY outside my knowledge.
14:56:49 <oerjan> oklopol: i wish to officially add all limit points to this game
14:57:09 <oklopol> :(
14:57:17 <oklopol> cpressey: tend to
14:57:36 -!- kar8nga has quit (Read error: Connection reset by peer).
14:57:38 <oerjan> (it hurts _my_ brain)
14:57:47 -!- kar8nga has joined.
14:58:11 <oklopol> okay my response to that will be completely incomprehensible, but i'll have to check this one ->
14:58:31 <AnMaster> heh
14:58:36 <cpressey> It's a good generator of word salad, though. "AnMaster, are you sure that's the 90-degree tend to?"
14:58:42 <AnMaster> cpressey, I fail to reverse engineer your one
15:00:53 <oklopol> oerjan: that's not at all, when considered a set of disjoint intervals, such that if an instance is in the language, then there must be an interval in it such that the maximum witness of x is in that interval.
15:01:11 <oklopol> *must be an interval in the set
15:01:16 <oklopol> ("nice")
15:01:29 <AnMaster> cpressey, wait, "90 degree approach" can't be a substitute for "right way"? I hope it isn't
15:01:35 <AnMaster> because that makes no sense
15:01:47 <oerjan> thank god you gave the translation
15:02:02 <AnMaster> oerjan, you couldn't figure it out either?
15:02:08 <AnMaster> oerjan, anyway it can't be that one
15:02:18 <AnMaster> since it could mean "left" as well
15:02:19 <oerjan> AnMaster: i'm talking about oklopol's last one
15:02:46 <oklopol> 90 degree meant right
15:03:14 <AnMaster> oklopol, depends on which way your you define positive rotation. Clockwise or counterclockwise.
15:03:20 <oerjan> AnMaster: a 90 degree angle is "right", no left option there
15:03:21 <oklopol> nope
15:03:25 <oklopol> yeah
15:03:29 <AnMaster> oh _that_ right
15:03:32 <AnMaster> as in right angle
15:03:33 <cpressey> No one calls them "left triangles"
15:03:34 <AnMaster> yeah
15:03:42 <cpressey> Though, I should start.
15:03:55 <AnMaster> oerjan, anyway it doesn't work on a sphere afaik?
15:03:56 <oklopol> left sets! i saw them when checking up that definition
15:04:05 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:04:11 <oerjan> AnMaster: what doesn't work?
15:04:17 <oklopol> that they sum to 180
15:04:22 <oerjan> indeed not
15:04:41 <AnMaster> oerjan, right angle in non-euclidean geometry doesn't have to be 90° afaik?
15:04:55 <oerjan> the difference from 180 is the integral of curvature in the area inside the triangle, iirc
15:05:50 <AnMaster> I might completely misremember of course
15:05:51 <oerjan> i.e. for a sphere it's proportional to the area
15:06:55 <oerjan> AnMaster: right angle is still 90, it's _locally_ euclidean and the angle is a very local property near the intersection
15:07:44 <oklopol> so left set, it is what i recalled, if L \in NP then there's a polynomial p and a language A \in P such that given the right witness of size p(|x|) A calculates whether x is in L in time p(|x|), then we define Left(A, p) = {(x, y) | x \in {0, 1}^*, y \in {0, 1}^p(|x|), and there is a w \in {0, 1}^p(|x|) such that w>=y and (x, w) \in A}
15:07:49 <oklopol> so
15:07:55 <oklopol> in other words
15:08:15 -!- kar8nga has quit (Ping timeout: 260 seconds).
15:08:17 <oklopol> pairs containing words in the language, and strings that are to the left of some proofs for them
15:08:25 <oklopol> *proofs for the word in the language
15:08:27 -!- augur has joined.
15:08:27 -!- augur has quit (Remote host closed the connection).
15:08:33 <AnMaster> oerjan, there are other variants than spheres tough? What was the name of the one where the triangle angle sum was less than 180 instead?
15:08:36 -!- augur has joined.
15:08:37 -!- augur has quit (Remote host closed the connection).
15:08:45 -!- augur has joined.
15:09:00 <oerjan> AnMaster: i suspect that may be hyperbolic geometry?
15:09:00 -!- Gracenotes has joined.
15:09:28 <AnMaster> oerjan, ah yes indeed
15:09:35 <AnMaster> oerjan, quite overrated of course ;)
15:10:07 <oklopol> the hyperbolic plane has wang tiles too, and turns out the tiling problem is undecidable there too
15:10:31 <oklopol> ...just saying
15:10:59 <cpressey> Do infinite binary trees have undecidable tilings?
15:11:03 <oklopol> no
15:11:17 <cpressey> That's sad for them.
15:11:19 <oklopol> if some color can't be continued, remove it from your set
15:11:25 <oklopol> repeat until all can be continued
15:11:32 <oklopol> and then you can tile any way you like
15:12:20 <oklopol> in other words, for the cayley graphs of free finitely generated free monoids and groups the tiling problem is decidable
15:13:33 <oklopol> in the free abelian groups the problem has been completely solved (trivial once you know what the case with Z^2 is), but afaik this is pretty much all that's known about tiling cayley graphs
15:13:51 <cpressey> Interesting.
15:14:36 <oklopol> well, an interesting triviality: if a finitely generated subgroup is undecidable (that is, its tiling problem is), then so is the group
15:14:58 <cpressey> That seems intuitive.
15:14:59 <oklopol> this is because we can have sort of wires that make the group transmit stuff between the elements of the subgroup
15:15:27 <oklopol> yeah
15:16:49 <oklopol> for homomorphisms, neither direction is true, because homomorphisms add rather nonlocal structure (a homomorphism essentially identifies elements, and then identifies some more until the operations of the algebra start making sense again)
15:17:18 <oklopol> btw if this doesn't make sense, i should probably warn everybody i'm not trying to teach, i just really like talking about this.
15:17:20 <oklopol> :-)
15:18:04 <oklopol> well at least i think neither direction is true, that is, if X is mapped onto Y with a homom, i don't think the decidabilities of either imply the other
15:18:14 <oklopol> or wait i have to check that
15:19:00 <oklopol> okay so... free -> anything, if X is decidable, we can't say anything about Y, Z^2 -> Z so if Y is decidable, we can't say anything about X
15:19:22 <oklopol> (Z is decidable, Z^2 is undecidable, free is decidable)
15:19:28 <oklopol> so what else...
15:19:41 <oklopol> maybe i should consider doing something else for a while
15:20:25 -!- oerjan has quit (Quit: Later).
15:20:33 <oklopol> i envy you
15:20:40 <oklopol> ->
15:21:07 <cpressey> I assume you mean oerjan
15:24:21 <cpressey> I wonder if there are certain infinite graphs which are only slightly more complex than binary trees, but not a full plane either, for which there are undecidable tilings. I would bet there are. (it's possibly implied by what oklopol just said, but there's no way I can wrap my head around all that)
15:35:26 -!- MigoMipo has joined.
15:36:42 <cpressey> Maybe an infinite tube.
15:58:08 -!- relet has joined.
16:11:05 <cpressey> Or an infinite magnet.
16:12:30 <AnMaster> cpressey, how do you mean infinite magnet?
16:12:41 <AnMaster> cpressey, like a bar magnet?
16:12:51 <cpressey> Just checking that you're paying attention.
16:13:15 <cpressey> I'm evil that way, you see.
16:13:48 <AnMaster> cpressey, usually "Just checking that you're paying attention" means "oops I did an error but I don't want to admit it" in my experience
16:17:47 <CakeProphet> your mom is infinite.
16:17:48 <cpressey> In my personal experience, I have almost never heard people say that. If they want your attention, they whack a table with a yardstick.
16:17:56 <CakeProphet> oops I did an error but I don't want to admit it.
16:19:49 <AnMaster> not that kind of error... ffs
16:19:50 <AnMaster> bbl
16:20:46 * cpressey wonders why AnMaster keeps referring to BSD's Fast File System
16:31:55 <AnMaster> cpressey, no it is an onemato<whatever> sound
16:32:02 <oklopol> ...it is?
16:32:10 <oklopol> i thought you meant "for fuck's sake"
16:32:20 <oklopol> or were you not aware that's what it means
16:32:57 <AnMaster> oklopol, that's an alternative explanation.
16:33:01 <AnMaster> oklopol, which I do know about
16:33:06 <oklopol> okay
16:33:31 <AnMaster> however the sound you mentally make when you feel like using "for fuck's sake" is basically "ffs"
16:33:46 <AnMaster> so they happen to end up with the same meaning basically
16:36:49 <oklopol> i suppose that's true
16:54:16 <fizzie> http://sprunge.us/JXIe?make -- heh, that was messy. (I wanted it to keep the smaller of the files produced by "bzip2 -9" and "7z a -tbzip2 -mx=9".)
16:56:27 -!- tombom has joined.
17:03:51 -!- MigoMipo has quit (Remote host closed the connection).
17:04:19 -!- MigoMipo has joined.
17:05:27 <AnMaster> fizzie, eh. why perl
17:06:31 <AnMaster> fizzie, $(wc -c ...) on each file then if [[ $a -gt $b ]] basically?
17:06:38 <AnMaster> seems simpler to me
17:08:06 <fizzie> I don't know, I just reached for Perl when it turned out there was no built-in bash way to get the size.
17:08:32 <AnMaster> fizzie, well du -b or wc -c are the ones I would think of. iirc du -b is a GNU extension though
17:08:37 <AnMaster> so wc -c should work better
17:08:44 <AnMaster> if you need portability
17:09:31 <AnMaster> (du without -b would give you in multiple of 512 bytes iirc, and rounded up to block size of fs)
17:10:06 <AnMaster> I wonder why there is no kernel 2.6.34.1 yet
17:10:20 <AnMaster> usually it doesn't take this long for the first patch level release to show up
17:10:20 <CakeProphet> AnMaster: Why perl? what Would Larry Wall Do?
17:10:32 <fizzie> The variable-swap ("($k,$s)=($s,$k)") is also perhaps cleaner in Perl. I wouldn't want to write an "if [[ ... ]]; then mv bzip2-x x; rm 7z-x; else mv 7z-x x; rm bzip2-x; fi" which is what I'd need.
17:10:55 <AnMaster> CakeProphet, what would Guido van Rossum do though?
17:11:16 <AnMaster> not that I agree with him. Just showing how absurd your argument was ;P
17:11:25 -!- kar8nga has joined.
17:11:30 <fizzie> Python doesn't feel so naturally onelinerable.
17:11:36 <AnMaster> fizzie, hm no you wouldn't need that in _bash_
17:11:59 <CakeProphet> AnMaster: I think you take our conversations too directly. At least as of late.
17:11:59 <AnMaster> fizzie, and you aren't doing posix sh anyway since then you would use [ ... ] not [[ ... ]]
17:12:06 <CakeProphet> I have been a bit more facetious than usual.
17:12:15 <AnMaster> mhm
17:12:58 <fizzie> How would bash help in avoiding having to repeat the names? Is there a clever variable-swap in?
17:13:11 <Sgeo__> FUTURAMAFUTURAMAFUTURAMAFUTURAMAFUTUAMA
17:13:26 <fizzie> Mafutura.
17:13:36 <fizzie> Sounds vaguely Japanese.
17:14:22 <AnMaster> fizzie, well I can think of several possible ways that could work. Haven't implemented any of them completely in my head yet
17:14:31 <AnMaster> two involves eval ;)
17:14:42 <CakeProphet> fizzie: I've done some pretty ridiculous one liners in Python with generator expressions.
17:14:52 <CakeProphet> but
17:15:01 <AnMaster> the third indirect variable, the forth a separate bash function.
17:15:03 <CakeProphet> for filesystem access and string handling... no Python is not quite as a one-linery
17:15:09 <AnMaster> the fifth a bash array
17:15:23 <AnMaster> fizzie, I think the variable indirection is probably the cleanest one
17:15:43 <fizzie> I think I'll stay in my Perl swap, thank you.
17:15:50 <CakeProphet> I wonder how Ruby fairs. I only know a little about it, but it borrows a lot from Perl so I bet it's good for these kinds of things.
17:15:54 <AnMaster> fizzie, but perl has more than one way to do it as well!
17:15:58 <AnMaster> ;O
17:15:59 <AnMaster> ;P*
17:16:17 <fizzie> It's not like anyone's going to see this. (Well, assuming I'd stop pasting it around.)
17:16:18 <Sgeo__> Ruby has too many similar, but not identical, ways to do things
17:16:36 <Sgeo__> IIRC, there's a subtle difference between begin/end and {/}
17:17:20 <AnMaster> I can't imagine why a language would have more than one way to create a block of expressions/statements
17:17:27 <CakeProphet> I can.
17:17:30 <CakeProphet> see: io
17:17:34 <cpressey> I can too.
17:17:38 <AnMaster> CakeProphet, the language IO?
17:17:41 <CakeProphet> yes.
17:17:44 <AnMaster> mhm
17:17:53 <AnMaster> don't know it, guess I'll take a look later
17:17:53 <CakeProphet> I don't remember how it's capitalized. I think it's Io.
17:18:02 <CakeProphet> since it's named after the moon.
17:18:10 <CakeProphet> but it might be io
17:18:35 <CakeProphet> AnMaster: Pretty nifty. Suffers from a lack of a community, but it is very "pure" feeling.
17:18:41 <CakeProphet> like an OO Lisp.
17:19:07 <AnMaster> though bash too has more than one way. but at least the semantics doesn't differ as such. It would be possible to replace if ...; then ... fi with [[ ... ]] && { .. }
17:19:11 <AnMaster> well else would be a bit harder
17:19:12 <CakeProphet> or Smalltalk, but with more conventional syntax.
17:19:17 <AnMaster> but quite feasible
17:19:40 <CakeProphet> but yeah... the different blocks in io control how the block is scoped. Lexical and dynamic.
17:20:27 <AnMaster> hm
17:21:09 <CakeProphet> well, sort of. It's "methods" and "blocks".
17:21:20 <CakeProphet> but they're both block-like anonymous things in io
17:21:22 <AnMaster> I really dislike dynamic scoping. There is no real benefit from it. Sure it allows more code obfuscation and some quite impressive hacks... but still
17:21:51 <AnMaster> that is one of the main things I dislike with bash scripting. That and the tricks you have to do to return a string
17:22:33 <CakeProphet> one of the things I really like about io is it has optional lazy arguments. Basically give you lisp macro features.
17:22:55 <CakeProphet> the method function is how you define methods, for example. method(arg1, arg2, ..., code)
17:22:56 <AnMaster> caller() { local foo="bar"; callee quux foo; echo "$foo" } callee() { printf -v "$2" "%s" "$1"; }
17:23:11 <AnMaster> that is one of the _least_ messy ways to return a string without $() in bash
17:23:22 <AnMaster> and $() has the issue of running in a subshell
17:23:36 <AnMaster> so an changes to global variables would be lost after returning
17:24:22 <AnMaster> yes "local" in bash means "won't be visible to your own callers" but it will still be visible to your callees
17:24:22 <cpressey> Why anyone writes anything in bash is beyond me.
17:24:47 <AnMaster> cpressey, I wrote an modular irc bot in bash. Reasons: 1) why not? 2) just because I can
17:24:52 <AnMaster> let me find the link
17:25:04 <AnMaster> supports loading/unloading modules at runtime of course
17:25:04 <CakeProphet> hmmm... but in io it's not /really/ dynamic scoping. The only thing that's dynamically scoped is proto and self.
17:25:21 <AnMaster> cpressey, https://launchpad.net/envbot
17:25:23 <AnMaster> source somewhere there
17:25:30 <AnMaster> cpressey, basically dead
17:25:47 <AnMaster> since you can't easily wait on more than one fd in bash at the same time.
17:26:22 <AnMaster> easily as in, "without an external helper program, or loading a *.so into bash"
17:26:31 <AnMaster> the latter is possible
17:26:36 <AnMaster> not a well known feature
17:26:40 -!- Phantom_Hoover has joined.
17:27:26 <Phantom_Hoover> Hi, everybody!
17:27:32 <AnMaster> cpressey, now I wonder if you will look at that code or not hm
17:27:48 <cpressey> CakeProphet: How 'bout a block structure which takes which names should be dynamically scoped as arguments, and the rest are lexically scoped. Like: begin(self,proto) ... end
17:28:36 <cpressey> Hi, Phantom_Hoover!
17:28:47 <AnMaster> cpressey, it uses a lot of less well known features of bash :) Such as extended posix regex matching, the /dev/tcp virtual device of bash (compile time option, debian turn it off for unknown reason, but you can use one of the other backends, like netcat, socat, gnutls-cli or openssl s_client)
17:28:52 <fizzie> AnMaster: For pure perversity, maybe I should instead: perl -e '%s = map {-s, $_} ("bzip2-$@", "7z-$@"); ($$k, $$d) = map {$$s{$$_}} sort keys %s; rename $$k, "$@"; unlink $$d;'
17:28:53 <Phantom_Hoover> Yay, that's the closest anyone's got!
17:29:05 <AnMaster> fizzie, EDONTKNOWPERL
17:29:16 <AnMaster> fizzie, so I can't tell if that is better or worse
17:29:25 <fizzie> It has a great feature in that it may break if the file sizes are of different lengths.
17:29:35 <fizzie> (Because "sort" by default sorts lexicographically.)
17:29:46 <AnMaster> fizzie, well don't use that then
17:30:06 <AnMaster> or make it sort numerically
17:30:24 <fizzie> That's "sort { $a <=> $b } ...", which is a lot longer.
17:30:24 <AnMaster> cpressey, oh and I did implement befunge93 in bash
17:30:29 <AnMaster> but I have no clue where that code is any more
17:30:33 <fizzie> Especially with the double-$s from the Makefile embedding.
17:31:04 <fizzie> I started a Befunge93 in sed, and made a working playfield and some arithmetics, but never finished it. :/
17:31:08 <AnMaster> cpressey, I got stuck while trying to do 98 due to the large funge space and server other reasons
17:31:22 <AnMaster> and stack stack looked like a pain too
17:31:32 <AnMaster> at least if you want to avoid eval at all costs
17:31:45 <AnMaster> which I did back then, not sure why
17:33:36 <fizzie> The playfield fetch code in sed is great: http://sprunge.us/GBAX
17:33:51 <fizzie> I'm not sure how a put in that data-structure would've looked like.
17:34:09 <AnMaster> ouch
17:34:12 <AnMaster> fizzie, 93?
17:34:21 <AnMaster> ah yes you said so
17:34:37 <fizzie> Yes; a non-fixed-size playfield would be even worse.
17:35:08 <AnMaster> fizzie, bash has one dimensional sparse arrays at least. Well nowdays it has assoc arrays too but it didn't back then
17:35:20 <fizzie> Well, not necessarily if you just made a list of cells and regex-searched in it, but that probably wouldn't be very fast.
17:35:47 <AnMaster> that is why envbot contains a implementation of such functionality in bash using normal arrays and constructed variable names (like arr_<array name>_<element name>)
17:35:55 -!- augur has quit (Remote host closed the connection).
17:36:08 <AnMaster> of course that breaks on spaces and what lot so you have to be careful I did that by first converting it to hex values iirc
17:36:16 -!- augur has joined.
17:36:17 <AnMaster> using a little known feature of printf in bash
17:36:29 <AnMaster> which was at that point undocumented even, has been documented since iirc
17:38:05 <Phantom_Hoover> What feature?
17:38:34 <AnMaster> hm trying to remember the syntax
17:39:02 <AnMaster> $ printf "%d\n" "'A"
17:39:02 <AnMaster> 65
17:39:12 <AnMaster> Phantom_Hoover, notice the single quote in front of A
17:39:23 <AnMaster> that single quote and it's effects with %d
17:39:27 <AnMaster> was the undocumented bit
17:39:37 <cpressey> Given the choice between bash and sed, I'd pick awk.
17:39:41 <AnMaster> cpressey, :D
17:39:52 <AnMaster> cpressey, you know that is less esoteric
17:39:54 <AnMaster> by far
17:40:41 <cpressey> I don't write in esolangs, I just design them.
17:40:59 <cpressey> Only exception: example programs for my own esolangs.
17:41:02 <AnMaster> cpressey, you should take a look at http://bazaar.launchpad.net/~anmaster/envbot/anmaster-trunk/annotate/head:/lib/hash.sh (note since bash 4.0 this whole file would not be needed)
17:41:28 <AnMaster> but bash 4.0 wasn't released when that was written
17:41:48 <CakeProphet> I kind of want to make a scripting engine from io to Erlang
17:41:53 <cpressey> I am still at a loss for why anyone would do that. Write non-obfuscated code in bash, I mean.
17:42:16 <CakeProphet> because I'll be working with some guys that are vaguely interested in programming but have never touched it really.
17:42:32 <fizzie> Ooh, I found a recursive Fibonacci with decimal-number arithmetics (well, addition) in sed.
17:42:33 <AnMaster> eh
17:42:39 <AnMaster> fizzie, nice
17:42:40 <Phantom_Hoover> What does "from" mean, CakeProphet?
17:42:41 <AnMaster> fizzie, link?
17:42:48 <fizzie> AnMaster: http://sprunge.us/bdAe
17:42:51 <Phantom_Hoover> In "from io to Erlang"/
17:43:21 -!- pikhq has joined.
17:43:28 <cpressey> CakeProphet: Oi, I don't know how well Erlang and/or Io would work with virtually-non-programmers. Maybe alright.
17:43:29 <oklopol> found or made?
17:43:31 <AnMaster> fizzie, sed needs a macro language. That seems like a lot of repeating code
17:43:42 <AnMaster> fizzie, maybe m4+sed would be the ultimate evil combination?
17:43:43 <AnMaster> :D
17:44:10 <CakeProphet> cpressey: maybe Lua or Python would be better suited?
17:44:27 <CakeProphet> I could see Io being complicated
17:44:27 <fizzie> AnMaster: Sounds very horrible. But yes, the correspoding code written in binary is a lot shorter, and then you can very trivially convert that to hex for a moderately human-readable output.
17:44:28 <cpressey> CakeProphet: That's the conventional wisdom, anyway.
17:44:54 <AnMaster> fizzie, err what do you mean written in binary?
17:45:08 <oklopol> fizzie: you found a file that says "(C) 2003 Heikki Kallasjoki <fizban@iki.fi>"?
17:45:08 <fizzie> Written to use binary numbers internally, instead of decimals.
17:45:08 <oklopol> oh wait
17:45:10 <oklopol> i just realized
17:45:15 <oklopol> you could've found an old program
17:45:18 <oklopol> on your hd
17:45:25 <AnMaster> fizzie, ah yes
17:45:35 <fizzie> oklopol: Yes, it was in ~/src/archived_prog/_/sed/.
17:45:38 <oklopol> "2003"
17:45:46 <oklopol> sorry i didn't remember years exist
17:46:57 -!- cpressey has left (?).
17:47:01 <fizzie> There's also a program that claims to be a "statusline utility for vt510 terminal" but I have no clue what it's supposed to do.
17:47:28 <fizzie> I vaguely remember that with the right termcap, screen could utilize the hard status line just fine without any additional applications.
17:47:32 -!- cpressey has joined.
17:48:57 <cpressey> Stupid Pidgin.
17:50:31 <AnMaster> cpressey, hm?
17:50:41 <oklopol> fizzie: the reason i asked was my interesting brain decided to assume what happened was that you had a text editor that you've set to automatically add a copyright thingie to whatever code you open, and you hadn't realized it added one to that.
17:50:50 <AnMaster> fizzie, hard status line?
17:50:51 <oklopol> rather logical don't you think
17:51:19 <AnMaster> fizzie, eh? like a minibuffer in hardware or such? Or line as in wire?
17:51:28 <fizzie> AnMaster: The terminal has this line that's not part of the accessible-by-normal-cursor-motion-commands screen area.
17:51:33 <AnMaster> fizzie, ah right
17:51:43 <fizzie> It might even have been two lines high.
17:51:53 <fizzie> Probably not.
17:52:14 <AnMaster> fizzie, you are old enough to have worked with that sort of "terminal"?
17:52:23 <AnMaster> or did you do it when newer stuff was around?
17:52:44 <AnMaster> I mean, using hardware terminal
17:52:48 <fizzie> Oh, I just had one at home around 2002.
17:52:53 <fizzie> It was very nice for ircery.
17:53:00 <AnMaster> ah
17:53:02 <AnMaster> cool
17:53:09 <fizzie> Then it caught on fire, though. :/
17:53:30 <AnMaster> fizzie, huh!?
17:53:40 <fizzie> Well, the smoke came out, and it no longer worked.
17:54:11 <AnMaster> oklopol, sounds rather illogical. I mean, a lot of the time you edit files other people worked on too
17:54:18 <AnMaster> well at least I do
17:54:38 <fizzie> I had gotten a vt510 and vt420 from someone/somewhere; kept the 510 (it had a bit more screen modes and weird functionality) and gave the 420 to a friend; then the 510 broke down, and I was left completely without a terminal.
17:54:39 <AnMaster> fizzie, ouch. Did you try to debug it?
17:54:46 <AnMaster> fizzie, with multimeter and such
17:55:13 <AnMaster> oh wait, cathode ray, high voltage. Yeah not a good idea unless you know exactly what you are doing
17:55:35 <fizzie> I did open the easily-openable parts and had a look in, but it did look pretty imposing.
17:55:44 <AnMaster> fizzie, no photos?
17:55:47 <fizzie> I sort of ran out of a good place to keep it in at the same time, due to a move, so I just gave up.
17:56:30 <fizzie> I didn't want to waste film on that. There's a lot of photos of similar things in the interwebs.
17:56:38 <AnMaster> ah film... right
17:56:54 <AnMaster> tend to forget about how recently digital cameras became common
17:57:33 <fizzie> There was a nifty local (as in, runs in the terminal firmware) calculator built in the terminal. You could copy numbers in from the screen contents, and paste results in as input.
17:58:43 <fizzie> http://www.forcix.cx/images/screenshots/vt510.jpg though I ran mine at a lot higher text resolution. It could do something like 128x48 or so.
17:58:59 <fizzie> It was equally dirty, though. :p
17:59:35 <AnMaster> fizzie, strangely .fi too
18:00:27 <AnMaster> well in the screenshot I mean
18:00:29 <fizzie> Oh, on-screen, right.
18:01:29 <fizzie> fi:lasipalatsi is literally translated "glass palace", but it's referring to this building at the Helsinki city centre. There's a library, a small movie theatre, some restaurant, a few cafes, and so on, in there.
18:01:51 <fizzie> "The Lasipalatsi Film and Media Centre is a building owned by the City of Helsinki and maintained by the Lasipalatsi Media Centre Ltd.
18:01:51 <fizzie> Its pulse beats in the very heart of Helsinki, making the spirit of openness and modernity that its creators strove for already in the 1930’s come alive."
18:01:55 <fizzie> Ooh, the hype.
18:02:03 <AnMaster> mhm
18:02:41 <fizzie> Oh, and one Apple "Premium Retailer" too.
18:02:56 <AnMaster> fizzie, a mall?
18:04:03 <fizzie> Well, perhaps, sort-of. It's a bit different in style from the nearby actual shopping centres though.
18:10:39 <cpressey> I'm going to code in Java every day and become the best Java programmer ever!!!
18:12:14 <fizzie> I'm tempted to say something along the lines of "the only good Java programmer is a dead Java programmer".
18:13:09 <oklopol> that would be classic fizzie
18:13:33 -!- tombom_ has joined.
18:13:48 -!- tombom has quit (Ping timeout: 258 seconds).
18:18:50 <cpressey> New rule: "CPU" is pronounced "Kuh-poo".
18:19:35 <Phantom_Hoover> Why?
18:20:48 <cpressey> Because, Phantom_Hoover, we must avenge AnMaster's death, and this is the only way I know how.
18:21:16 <Phantom_Hoover> How did he die?
18:21:58 <cpressey> I will let fungot answer that.
18:21:58 <fungot> cpressey: dogs of ghosts aren't angry, it assumes that if you turn blind, don't step on cursed items. his most distinctive features are the most malleable and ductile of all creatures. they show astonishing intelligence in knowing when a human being and a great snake.
18:22:47 <Phantom_Hoover> ^style
18:22:47 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack* pa speeches ss wp youtube
18:23:01 <Phantom_Hoover> ^style nethack
18:23:01 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
18:23:20 <cpressey> I'd like to see a style that merges all of them.
18:26:27 -!- Gregor-P has joined.
18:26:44 <fizzie> I should perhaps try a mixture some day.
18:29:10 <Phantom_Hoover> OK, but how is AnMaster dead>
18:29:17 <Phantom_Hoover> I want to get back to this.
18:29:59 <cpressey> I guess he stepped on a cursed item. After being blinded by ... some ghost's pet dog.
18:31:19 <Phantom_Hoover> Stepping on a cursed item can't kill you, can it?
18:31:38 <Phantom_Hoover> I mean, lots of things will kill you regardless of their BUC.
18:31:38 <cpressey> Maybe it was a cursed landmine.
18:31:51 <Phantom_Hoover> See above.
18:32:16 <Phantom_Hoover> I don't even think you can get cursed landmines.
18:32:35 <Phantom_Hoover> They aren't inventory items, so how can they have a BUC?
18:32:49 <cpressey> Well, if a landmine killed me, I would certainly curse it.
18:32:58 <cpressey> If I were still alive.
18:33:00 <cpressey> Which I wouldn't be.
18:33:35 <Phantom_Hoover> But real things don't even have a BUC!
18:34:39 -!- Sgeo_ has joined.
18:35:14 <cpressey> Well, perhaps it was a wand. They can explode.
18:36:13 <Phantom_Hoover> Not if you step on them.
18:36:28 <cpressey> True.
18:37:12 -!- Sgeo__ has quit (Ping timeout: 245 seconds).
18:37:22 <cpressey> Really, I don't know what it could be. I only know that fungot wouldn't dare make shit up about something this important. Perhaps he will elaborate.
18:37:23 <fungot> cpressey: they say that playing nethack is your mind. the answers to the world a grid bug: these strange creatures can be expert burrowers, runners, swimmers and climbers, and his treasure, but filled with the evil will of their victims.
18:38:03 <cpressey> Wow.
18:38:12 <cpressey> I'm going to have to think about that over lunch.
18:38:19 <cpressey> bbiab.
18:44:18 -!- tombom_ has quit (Ping timeout: 265 seconds).
18:44:46 <CakeProphet> fungot HALP
18:44:46 <fungot> CakeProphet: king arthur, *arthur: ector took both his sons to the shibuya train station every afternoon to wait for prey to come, but still quite formidable.
18:46:29 <Phantom_Hoover> I often wonder whether fungot or Mezzacotta is more impressive.
18:46:29 <fungot> Phantom_Hoover: they say that you can trust your gold with the sixth it snapped asunder in saruman's hand, to the game, which you can get a kick out of spain. one hob mentioned by henderson, was the reason for his muffled voice. " how perceptive of you to me.' ' o no, my dear!"
18:48:10 <Phantom_Hoover> ^
18:48:13 <Phantom_Hoover> ^help
18:48:13 <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
18:59:29 <pikhq> Phantom_Hoover: Well, fungot is in Funge. Mezzacotta is not.
18:59:29 <fungot> pikhq: they say that snake charmers aren't charismatic, just musical." ( conan the conqueror, by w.b. yeats), and most corrosive agents, and finally, when invoked, it grants its owner wished, a horse which was stolen once can be diluted but not his life, some feathering, and are tipped with a long sword, wielding it in tins..."
19:01:02 <cpressey> ^show
19:01:02 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble
19:01:15 <cpressey> ^show reverb
19:01:15 <fungot> ,[..,]
19:01:36 <AnMaster> back
19:01:40 * AnMaster read scrollback
19:01:45 <AnMaster> reads*
19:01:54 <AnMaster> what?
19:02:03 <AnMaster> cpressey, why did you think I was dead? ;P
19:02:24 <CakeProphet> This statement is false.
19:02:46 <AnMaster> Gregor-P, what does the P stand for?
19:03:05 <Gregor-P> Phone
19:03:42 <cpressey> ^bool
19:03:42 <fungot> No.
19:04:58 <AnMaster> ^show bool
19:05:02 <AnMaster> ^help
19:05: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
19:05:08 <AnMaster> hm
19:05:16 <AnMaster> I guess it can't be implemented in bf or ul
19:05:20 <AnMaster> no randomness there
19:05:42 <fizzie> Right, it's a built-in.
19:06:12 <fizzie> v
19:06:12 <fizzie> "bool" >?>0".oN" 61g:3+61p3P> ^
19:06:12 <fizzie> >17G0"loob"Q!|>0".seY" 61g:4+61p3P^
19:06:12 <fizzie> v <
19:06:20 <fizzie> A short one.
19:06:27 <AnMaster> is there any 2D esolang that uses more than one char per instruction?
19:06:35 <AnMaster> and isn't image based that is
19:06:39 <AnMaster> need to be text based
19:06:43 <cpressey> AnMaster: Beturing.
19:06:48 <Deewiant> Are you forgetting the ORTH fingerprint?
19:06:55 <Deewiant> (And the language it's based on)
19:06:57 <cpressey> Also Boo-yah!, if it were ever finished.
19:07:02 <AnMaster> Deewiant, hm I don't remember the details of it
19:07:18 <Deewiant> http://www.muppetlabs.com/~breadbox/orth/orth.html
19:07:33 <cpressey> Oh yeah. *I* was.
19:07:39 <cpressey> Forgetting Orthoganal, that is.
19:07:42 <AnMaster> cpressey, I was thinking of a "high level" language. That would have functions, blocks, loops an such. Not sure how but I do have some vague ideas
19:07:48 <cpressey> Or Orthagonal. Or whatever.
19:07:57 <Deewiant> Orthogonal.
19:08:31 <AnMaster> lets say, 2D C. that should give you a feeling for I'm thinking about
19:08:35 <cpressey> I believe the first version was called Orthagonal.
19:08:39 <Deewiant> "each column is four characters wide. This is the default setting, and it can be changed if desired, but four is wide enough for all of the instructions and all integers in the range of -999 to 9999, which includes most of the useful ones."
19:08:55 <AnMaster> Deewiant, XD
19:09:00 <fizzie> You could sort-of count Wierd using "more than one char", since the instructions are based on the turns, and you need more than one character to make a turn.
19:09:21 <AnMaster> hm still nothing near this idea I'm considering
19:10:21 <AnMaster> hm need to think some more about it before I know what exactly to discuss
19:10:23 <CakeProphet> AnMaster: so a grid of functions that contain operations to manipulate some kind of state and also to manipulate positioning on the grid?
19:11:01 <AnMaster> CakeProphet, not exactly no, it should be split on the level of parser elements, or at the very least, statements
19:11:05 <AnMaster> consider:
19:11:09 <AnMaster> f(
19:11:20 <AnMaster> g(xyz) = blah
19:11:25 <AnMaster> =
19:11:28 <AnMaster> foo
19:11:47 <AnMaster> this isn't exactly it, but I'm not yet sure about most of the details
19:11:53 <AnMaster> probably won't look like that at all
19:11:57 <AnMaster> also missed ) there
19:12:03 <AnMaster> for f
19:12:19 <AnMaster> well also f and ( should probably be different lines
19:12:39 <AnMaster> of course the code would have to be valid in all cardinal directions (non-cardinal is too complicated to consider yet)
19:12:48 <AnMaster> since it would definitely be a compiled language
19:12:58 <AnMaster> you should be able to change direction somehow yes
19:14:23 <AnMaster> one issue is knowing how wide cells are, I think they should be variable width with some sort of heuristic to detect which cell you aim for below. If properly done you could use that to implement randomness when there are multiple choices.
19:14:25 <AnMaster> hm
19:14:28 <Phantom_Hoover> Gregor-P, are you the only Gregor?
19:15:27 <Gregor-P> There are many Gregors.
19:15:50 <AnMaster> Gregor-P, all clones right?
19:15:52 <Gregor-P> But only one essence Gregoran.
19:16:09 <fizzie> AnMaster: There's Rail, which has separate named functions, and multi-character commands (like the function calls). It's of course easy if you have code flow "rail-like" like that and not freely-moving.
19:16:31 <Phantom_Hoover> fizzie, Rail is presumably separate to Rails?
19:16:51 <AnMaster> fizzie, it should definitely be freely moving within the cardinal directions. Possibly allow delta larger than 1
19:17:04 <fizzie> Phantom_Hoover: Rail is http://esolangs.org/wiki/Rail
19:17:07 <AnMaster> fizzie, however I think the stuff should be fixed height
19:17:16 <AnMaster> actually no, not delta other than 1
19:17:39 <AnMaster> that would make compiling a nightmare, and a goal here is that the language should be easy to compile in theory but be rather hard to compile in practise
19:17:51 <fizzie> I rather like the raily way too.
19:17:51 <AnMaster> mostly this is done by making the parsing insanely difficult
19:18:04 <AnMaster> fizzie, yes so do I, but it is a different idea.
19:18:20 <AnMaster> fizzie, just because you love intercal doesn't mean you hate befunge
19:18:42 <fizzie> Yes, it was more of a continuation on the "2D and multiple characters" conversation fork.
19:19:03 <AnMaster> ah
19:19:10 <Phantom_Hoover> Wait, fizzie hates Befunge?
19:19:15 <AnMaster> Phantom_Hoover, no
19:19:19 <AnMaster> Phantom_Hoover, PLEASE READ FIRST
19:19:22 <AnMaster> and all of it
19:19:23 <cpressey> Wierd is sort of "raily"
19:20:33 <AnMaster> fizzie, also it should definitely require that you can execute statements in all 4 cardinal directions. Somehow
19:20:35 <cpressey> Sort of a "rail tarpit" actually.
19:20:58 <AnMaster> that means f ( x ) = y has to be valid (not hard) and so would y = ) x ( f have to be
19:21:08 <AnMaster> this should make the parser rather hard
19:21:20 <AnMaster> since you ( ... ) would be something else than ) ... (
19:22:02 <AnMaster> not sure what exactly yet, or if I even will use that exact syntax
19:22:26 <AnMaster> s/you //
19:24:21 <Phantom_Hoover> How about making brackets direction-independent?
19:24:49 <cpressey> Phantom_Hoover: But retain the fact that they nest!
19:25:10 <Phantom_Hoover> So that ( is always "nest one more level" and ) is always "go up one nest level".
19:27:18 <AnMaster> Phantom_Hoover, that doesn't work
19:27:26 <Phantom_Hoover> Hm?
19:27:29 <AnMaster> Phantom_Hoover, code has to be valid in all 4 cardinal directions
19:27:48 <AnMaster> Phantom_Hoover, this will be compiled not interpreted as I said above (if you ever read more than half of what anyone read)
19:28:11 <Phantom_Hoover> I got the cardinal directions and compilation.
19:28:38 * cpressey should build a custom downloader app for the esolangs on catseye.tc. EsoGRABBER!!! That's necessary.
19:28:39 <AnMaster> yes but then how would "x = (2 + y) * 3" be valid from right?
19:28:49 <AnMaster> it would be mismatched nesting depth
19:28:53 <Phantom_Hoover> Bah, you're right.
19:29:11 <AnMaster> and having it treat it reverse the other way around, well that is boring
19:29:27 <AnMaster> plus it means you have a problem defining up and down
19:29:33 <Phantom_Hoover> Indeed
19:29:35 <Phantom_Hoover> .
19:29:36 <AnMaster> since there is no obvious interpretation to those there
19:30:02 <AnMaster> cpressey, why is that required? wget?
19:30:08 -!- KingOfKarlsruhe has joined.
19:30:12 <AnMaster> cpressey, wget can download recursively
19:30:25 <cpressey> Phantom_Hoover: Make the interpretation dependent on current travelling direction
19:30:42 <cpressey> AnMaster(cpressey) -> headdesk.
19:30:46 <cpressey> It's a general truth.
19:31:24 <Phantom_Hoover> Does that mean that AnMaster makes you headdesk or the other way round?
19:31:39 <cpressey> Phantom_Hoover: Guess.
19:31:48 <AnMaster> hm
19:31:51 <Phantom_Hoover> Probably the first.
19:31:58 <AnMaster> I'm not sure
19:32:02 <AnMaster> cpressey, what would -> do
19:32:11 <AnMaster> cpressey, of course it should be → instead
19:32:15 <AnMaster> no reason to not use unicode
19:32:29 <AnMaster> though I won't try to interpret the UTF-8 sequences backwards
19:32:34 <AnMaster> that way lies madness
19:32:39 <cpressey> Does Erlang support unicode for that syntax now?
19:32:43 <AnMaster> cpressey, nop
19:32:51 <AnMaster> cpressey, I was thinking about my language idea
19:33:05 <AnMaster> cpressey, however erlang has unicode strings and unicode IO and such nowdays
19:33:18 <AnMaster> since a few versions
19:36:13 <oklopol> how about this: you can modify codespace, but no other memory, 2d, and all commands that do control flow make the turtle go faster, perhaps also possibility to modify say one whole row with one command
19:36:45 <oklopol> rather nonlocal, i like the idea
19:37:27 <cpressey> AnMaster: I have no idea what -> would do in *your* language. Sorry.
19:37:32 <cpressey> oklopol: No way to slow down?
19:37:38 <oklopol> no
19:37:44 <AnMaster> cpressey, nor me
19:38:00 <cpressey> oklopol: I like it. There's a Jethro Tull song that has that in its refrain.
19:38:10 <AnMaster> cpressey, still working on overall semantics rather than specific syntax
19:38:16 <oklopol> :)
19:38:36 <oklopol> needs quite a bit of refining ofc
19:38:53 <AnMaster> cpressey, actually -> would be two symbols. so going < you would get > -
19:39:01 <AnMaster> after that I would expect an integer or float
19:39:03 <AnMaster> ;P
19:39:07 <AnMaster> the other way around hm
19:39:28 <AnMaster> it should do something since otherwise it would be tricky to compare some stuff
19:40:15 <AnMaster> ooh it could print a warning saying "Deprecated alias for → (deprecated in first release)" at compile time
19:40:17 <AnMaster> or such XD
19:40:24 <oklopol> but the idea is that you have to, regularly (although perhaps increasingly rarely), increase speed (perhaps the only way to do conditions or something), and that essentially renders all code you have on the board unusable
19:40:45 <oklopol> so you have to have built another thing to run, say, to the left of your current code
19:40:57 <cpressey> oklopol: Maybe you could have an extremely powerful instruction that spaces out all code on the board, to compensate
19:41:08 <cpressey> a'splode!
19:41:14 <oklopol> so kinda like that one language where you just have a tail call to a string, as control flow, but lower-level than that.
19:41:35 <AnMaster> cpressey, space time expansion to counter increasing speed?
19:41:52 <cpressey> i don't really like my suggestion because it is too powerful, but yes.
19:41:57 <AnMaster> hm
19:42:00 <oklopol> cpressey: maybe nothing *that* strong, i mean i don't want people to be able to use the same code again, you have to quine it
19:42:07 <AnMaster> yeah too powerful
19:42:11 <cpressey> oklopol: Ah yes :)
19:42:24 <oklopol> but maybe you could say "repeat this pattern in this direction"
19:42:55 <oklopol> well anyway i'll think about this when the time comes, so maybe tomorrow, now some sleep hopefully
19:43:00 <AnMaster> oklopol, would there be a limit to the speed? Some sort of speed of light limit I mean
19:43:08 <oklopol> well no
19:43:25 -!- tombom has joined.
19:43:48 <oklopol> you can never have a nontrivial infinite loop
19:43:50 <oklopol> that's for sure
19:44:04 <oklopol> you have to speed up after a finite amount of time
19:44:52 <AnMaster> heh
19:45:10 <AnMaster> oklopol, maybe after a fixed number of steps? Like some arcade games
19:45:18 <AnMaster> well there it would be time
19:45:39 <AnMaster> hm is there any esolang based on pinball?
19:45:47 <AnMaster> with tilt sensors of course ;)
19:45:59 <oklopol> hmm
19:46:11 <oklopol> have to be careful that you don't get tcness without conditions ofc
19:46:16 <oklopol> because of self-modification
19:46:19 <Phantom_Hoover> AnMaster, it wouldn't be turing complete, though.
19:46:25 -!- benuphoenix has joined.
19:46:25 <Phantom_Hoover> Since you can't play forever.
19:46:28 <Phantom_Hoover> Like Tetris.
19:46:56 -!- benuphoenix has quit (Remote host closed the connection).
19:47:02 <oklopol> but if it just incs speed after a finite amt, then it's not necessarily non-tc if you can print infinite rows at a time on the board
19:47:29 -!- benuphoenix has joined.
19:47:51 <benuphoenix> Hi
19:47:57 -!- benuphoenix has quit (Client Quit).
19:50:52 <Phantom_Hoover> Strange.
19:51:03 <CakeProphet> I know that no one knows anything.
19:51:06 <CakeProphet> Therefore
19:51:10 <CakeProphet> this statement is false.
19:51:40 <Phantom_Hoover> Well done, you have discovered the liar's paradox.
19:52:40 <CakeProphet> (this statement is false) is false. SOME KIND OF LOGICAL RECURSION? MUST BE PARADOX.
19:53:50 <CakeProphet> so here's a proposition:
19:53:59 <CakeProphet> the statement "this statement is false" is neither true nor false.
19:54:04 <CakeProphet> DISCUSS.
19:56:15 <oklopol> everyone likes a paradox
19:57:24 <CakeProphet> [x = x + 1] [x - 1 = x + 1 - 1] [x = x - 1] [ x + 1 = x - 1] [1 = -1]
19:57:43 <CakeProphet> ...hehehe
19:57:51 <Gregor-P> oklopol: Please use that assertion as the basis for a paradox.
20:08:59 <cpressey> Beh. I hate paradoxes about how everyone likes a paradox.
20:10:04 <AnMaster> <Phantom_Hoover> Since you can't play forever.
20:10:11 <AnMaster> Phantom_Hoover, pinball? I think you can in theory?
20:10:20 <AnMaster> why shouldn't you be able to?
20:10:26 <AnMaster> with perfect play
20:10:46 <Phantom_Hoover> Hmm.
20:11:11 <Phantom_Hoover> Well, you can't do it if there's a nondeterministic element that can force unavaoidable failure.
20:11:24 <Phantom_Hoover> s/nondeterministic/random/
20:11:37 <Phantom_Hoover> Since it *will* happen, eventually.
20:11:42 <AnMaster> CakeProphet, that is not mathematically valid in the second and third step?
20:12:11 <AnMaster> though
20:12:17 <AnMaster> you start from nonsense as well
20:12:48 <AnMaster> oh wait you switch sides there
20:12:50 <AnMaster> nvm.
20:13:19 <AnMaster> but yeah the third step is invalid and the initial equation has no solution
20:13:28 <Phantom_Hoover> AnMaster, every step is valid.
20:13:38 <Phantom_Hoover> The first statement is just false.
20:13:39 <AnMaster> Phantom_Hoover, [x = x - 1] [ x + 1 = x - 1] ?
20:14:04 <Phantom_Hoover> Makes perfect sense given the first statement.
20:14:07 <AnMaster> Phantom_Hoover, yes the first is false but see the bit I pointed at. I fail to see what made you able to add + 1 there on just one side
20:14:20 <Phantom_Hoover> Uh, the fact that x=x+1?
20:14:32 <AnMaster> oh right, it is using that
20:14:32 <AnMaster> meh
20:15:30 <CakeProphet> hey, I used false assertions to come to a false conclusion
20:15:36 <CakeProphet> sounds pretty consistent to me.
20:15:39 <AnMaster> CakeProphet, :P
20:16:36 <CakeProphet> but imagine a world in which such a thing was not false
20:16:48 <CakeProphet> essentially... a world where x = (+-)x
20:16:50 <oklopol> wow that blows my mind
20:17:08 <CakeProphet> oklopol: you lie.
20:17:15 <oklopol> only partially
20:17:29 <AnMaster> actually I would say that the first equation just has no solutions. solve in both maxima and mathematica gives me an empty set. So is the statement actually false? If we define false = no solutions does having multiple solutions then indicate that it is extra true? ;P
20:17:37 <AnMaster> </bullshit>
20:18:08 <AnMaster> CakeProphet, also that one is easy: just take absolute value everywhere
20:18:48 <AnMaster> a strange universe that works like that of course
20:19:07 <Phantom_Hoover> CakeProphet, x=x is a sensible equation.
20:19:08 <oklopol> no interpretation for "x = x - 1" was given, really, the standard one is "this holds for all reals"
20:19:24 <Phantom_Hoover> Not an interesting one, but it has a solution.
20:19:38 <oklopol> but occasionally x = x - 1 might be true in the sense that the polynomials give the same values for any inputs
20:19:53 <oklopol> which is a natural way to put polynomials in equivalence classes, so not completely bullshit
20:20:02 <CakeProphet> Phantom_Hoover: x equals and does not equal x???
20:20:16 <Phantom_Hoover> x=x?
20:20:17 <oklopol> huh
20:20:26 <Phantom_Hoover> What number is equal to its negation?
20:20:27 <CakeProphet> oh
20:20:28 <CakeProphet> misread.
20:20:34 <CakeProphet> 0
20:20:39 <oklopol> all the cool numbers are doing it
20:20:39 <Phantom_Hoover> Yes.
20:21:08 <CakeProphet> I am at a slight distance to my monitor. so the (+-) looked like a not equal sign.
20:21:13 <Phantom_Hoover> IIRC there's a thing called an identity that holds for all x.
20:22:15 <AnMaster> identity is like inverting except without the actual inversion step.
20:22:51 <Phantom_Hoover> Huh?
20:23:11 <AnMaster> Phantom_Hoover, actually an injoke. You won't get it if you haven't had a course on digital logic circuits
20:23:21 <CakeProphet> AnMaster: No it's not. It's more like addition by one except without the addition by one step.
20:23:25 <CakeProphet> ... :)
20:23:27 <AnMaster> CakeProphet, see above ^
20:23:46 <AnMaster> CakeProphet, either that "..." was you just realising it or it was something else. Which was it?
20:24:03 <oklopol> in circuitry, isn't identity usually like inversion, except you then invert the result
20:24:29 <CakeProphet> AnMaster: the "... :)" as a whole was an assertion of the severe gravity of this conversation.
20:24:34 <AnMaster> oklopol, the symbols are the same except for a ring on the out signal for inverting. And there are "identify" gates called "buffers" so you get the timing right
20:25:02 <Phantom_Hoover> How are pipes implemented, normally?
20:25:03 <AnMaster> oklopol, which has exactly the inverter symbol without the ring on the output
20:25:12 <Phantom_Hoover> Is there a limit to how much data they can hold?
20:25:14 <AnMaster> Phantom_Hoover, ask a plumber.
20:25:19 <oklopol> oh well i wasn't talking about the symbols
20:25:44 <oklopol> i meant isn't that how you implement drivers (is that the term?), stick an inverter in another inverter's ass
20:25:47 <Phantom_Hoover> I wonder if you can emulate an array with some pipes...
20:26:14 <oklopol> i guess not
20:26:15 <AnMaster> oklopol, but yes since the reason you want identity is to match up the delay with some other signal you can often do it by inverting and then inverting again
20:26:48 <oklopol> right
20:26:56 <AnMaster> oklopol, oh you mean output pin driving transistors? To amplify the signal to the outside? Hm can't remember how those worked.
20:27:01 <CakeProphet> I've never understood any of EE
20:27:03 <CakeProphet> I have tried.
20:27:22 <Phantom_Hoover> Are pipes in C portable?
20:27:47 <oklopol> AnMaster: no i don't mean those!
20:28:22 <AnMaster> CakeProphet, it makes perfect sense and unlike math you can usually just use a numerical approximation. Math teachers tends to want exact answers like 2sqrt(7) . While in EE you would answer ~5.2915 (or whatever number of significant digits you needed) and get full marks
20:28:33 <AnMaster> oklopol, then not sure what you mean
20:28:45 <oklopol> anyway i have taken a course in digital logic or w/e, which was on a slightly higher level than this, an an electronics course that was on a much lower level, transistors i know little about.
20:28:47 <AnMaster> Phantom_Hoover, also pipes are POSIX
20:28:52 <AnMaster> Phantom_Hoover, if you mean pipe()
20:28:54 <Phantom_Hoover> Ah, well.
20:29:05 <AnMaster> Phantom_Hoover, oh and the kernel buffer for them are limited
20:29:06 <CakeProphet> AnMaster: I just have trouble understanding how to use the concepts. I never got terribly far though, for the same reason.
20:29:13 <AnMaster> Phantom_Hoover, 4 kiB by default or such I think
20:29:15 <AnMaster> Phantom_Hoover, check ulimits -a
20:29:21 <Phantom_Hoover> Why must you ruin my dreams?
20:29:28 <oklopol> AnMaster: i just thought you call those things drivers that i dunno amplify signals and maybe synchronize them, i just recall seeing that term in a list of basic components, and someone said it's basically two inverters having anal sex
20:29:32 <AnMaster> oklopol, hm
20:29:44 <oklopol> well the anal sex is my addition, you probably couldn't guess
20:29:57 <cpressey> They are called drivers.
20:30:15 <cpressey> Line drivers.
20:30:17 <cpressey> Because they amplify a signal enough to drive a line.
20:30:18 <AnMaster> cpressey, I learnt the Swedish terminology, a bit limited with the English terms thus
20:30:25 <AnMaster> cpressey, ah yeah for fan out?
20:30:29 <cpressey> Chip pin drivers are the same idea.
20:30:40 <cpressey> Yes, for fan out, or increased load generally.
20:30:41 <AnMaster> cpressey, if this is for fan out then I get what oklopol is talking about
20:30:46 <AnMaster> well yes
20:30:59 <cpressey> Driving light bulbs. Whatever you like.
20:31:09 <AnMaster> indeed
20:31:13 <CakeProphet> circuits are things I would greatly love to know how to build and use.
20:31:22 <Phantom_Hoover> Well, 800K is enough for a decent-sized list.
20:31:46 <AnMaster> CakeProphet, once you used a breadboard for anything sufficiently complex you start to see the point of VHDL or verilog. Trust me on that.
20:31:48 <Phantom_Hoover> Although you would need to rotate, and you'd only be able to do it one way.
20:31:49 <AnMaster> the mess of wires
20:31:54 <AnMaster> and debugging it is a pain
20:31:58 <CakeProphet> I think if I could translate it to CS I would understand better.
20:32:00 <cpressey> CakeProphet: They're fun. I had a hell of a time understanding electronics, but I eventually got used to it.
20:32:01 <AnMaster> to find which wire is going the wrong way
20:32:14 <AnMaster> that is when working in CMOS or TTL 74* logic
20:32:21 <AnMaster> which I had to do a few times
20:33:14 <cpressey> CakeProphet: All electronic signals are analog. Coming from computers where everything is discrete, that's really the sticking point.
20:33:16 <oklopol> cpressey: cool, i actually was rather sure about that
20:33:22 <AnMaster> actually EE might be more fun than compsci if it wasn't for algorithms and data structures.
20:33:32 <AnMaster> oh yeah forgot that
20:33:37 <AnMaster> the analog bit is painful
20:34:01 <cpressey> If you restrict yourself to digital circuits, you can pretend to forget that it's analog, but you can't really.
20:34:09 <Phantom_Hoover> Is there a simple command-line tool that lets me convert from binary to decimal?
20:34:12 <AnMaster> yeah I know
20:34:28 <Phantom_Hoover> I'm getting progressively more annoyed with the lack of one.
20:34:44 <cpressey> Phantom_Hoover: I don't know of one.
20:34:47 <AnMaster> cpressey, also I find writing AC as complex numbers and using *degrees* is jarring. like 4e^(-j*47.5°)
20:34:48 <oklopol> AnMaster: how much algorithmics do you have
20:34:56 <AnMaster> cpressey, I have seen that in EE
20:34:57 <oklopol> like say, how many different courses
20:35:10 <cpressey> I too get annoyed at lack of binary support, even in languages like Perl or Python. When it's there, it's hard to find.
20:35:14 <Phantom_Hoover> cpressey, I'll write my own, then.
20:35:23 <AnMaster> oklopol, 2 courses during the autumn iirc, and a few during the spring to come
20:35:25 <Phantom_Hoover> It only needs a for loop and a left-shift.
20:35:27 <AnMaster> forgot exact count
20:35:27 <oklopol> you mentioned emphasis seems to be on the electronics side or do i misremember
20:35:38 <oklopol> oh you follow some sort of schedule?
20:35:46 <oklopol> is that normal there
20:35:47 <CakeProphet> I wonder if you could make a programming language that a) works exactly how someone unfamiliar with programs would expect b) has no ambiguity.
20:35:51 <AnMaster> oklopol, yes 3 year program. Bachelor
20:35:56 <oklopol> we have a do-what-the-fuck-you-wish uni
20:36:01 <AnMaster> and yes it is normal here
20:36:11 <oklopol> well okay i guess many follow some sort of program at first
20:36:25 <AnMaster> basically fixed program with some 2-alternative choices
20:36:33 <oklopol> :\
20:36:46 <oklopol> we have a stream like that, i would hate it
20:36:49 <AnMaster> like, you have to chose one of "AI" or "compilers and interpreters" courses at one point
20:36:58 <oklopol> one of those? :D
20:37:00 <AnMaster> guess which one I will take
20:37:01 <cpressey> garf
20:37:10 <oklopol> latter i guess, but AI is interesting too
20:37:10 <AnMaster> oklopol, well yes at one point we get that choice.
20:37:15 <oklopol> at least the basic stuff
20:37:15 <AnMaster> oklopol, I find AI boring
20:37:17 <AnMaster> so yeah the latter
20:37:30 <cpressey> CakeProphet: LOL
20:37:33 <AnMaster> anyway going to move to other university for master studies
20:37:37 <oklopol> well AI is basically about search techniques if you follow The Book.
20:37:44 <oklopol> (AIMA)
20:38:02 <oklopol> how can you think AI is boring?
20:38:06 <AnMaster> oklopol, I have not looked at details yet. Over a year left
20:38:09 <oklopol> what kind of AI are you thinking about
20:38:22 <oklopol> i mean i'm not saying you have to like it, just surprising
20:38:28 <AnMaster> oklopol, AI research. robots failling in stairs isn't it mostly about?
20:38:29 <AnMaster> ;P
20:38:33 <oklopol> :P
20:38:39 <AnMaster> falling*
20:38:43 <AnMaster> or failing*
20:38:49 <AnMaster> both works
20:38:49 <oklopol> yeah i wondered about that
20:39:11 <AnMaster> oklopol, I think I changed my mind from "failing" to "falling in stairs" somewhere in the middle of that word
20:39:17 <oklopol> yeah i guess most applied AI is pretty boring
20:39:32 <cpressey> Worse, "fuzzy" is taking over.
20:39:33 -!- KingOfKarlsruhe has left (?).
20:39:49 <oklopol> what's wrong with fuzzyness
20:39:53 <AnMaster> oklopol, yes it is definitely applied AI in the master program this uni offers. only compsci master program they have. So moving to other university for that as I said above
20:40:02 <cpressey> http://danweinreb.org/blog/why-did-mit-switch-from-scheme-to-python
20:40:20 <AnMaster> cpressey, I guess they like the warm and fuzzy feeling?
20:40:39 <Phantom_Hoover> I thought AI researchers spent most of their time fighting off their creations.
20:41:08 <cpressey> I also saw an abstract for a talk (did I not attend) a few years ago, which was basically about how a CS cirriculum based on things like Towers of Hanoi was not relevant anymore.
20:41:27 <cpressey> Yes. Teaching students to think recursively -- what use is that?
20:41:31 <AnMaster> cpressey, CS != CE != EE
20:41:38 <AnMaster> that is the issue they have
20:42:04 <AnMaster> cpressey, oh we did recursion in python, part of first course...
20:42:10 <cpressey> That's hardly their only issue.
20:42:54 <AnMaster> cpressey, oh and induction, but that was pretty solid discrete math though the teacher had some quite whimsical analogies with the real world.
20:42:59 <CakeProphet> I'm surprised Python hasn't beat Java in university curricula
20:43:09 <CakeProphet> as far as first-year courses.
20:43:13 <AnMaster> CakeProphet, I think there is java coming up later on
20:43:17 <AnMaster> and C++
20:43:23 <AnMaster> sigh
20:43:35 <CakeProphet> my university starts us with Java.
20:43:40 <AnMaster> apparently they used to use lisp here long ago as well.
20:43:44 * CakeProphet learned Python on his own back in sophmore year of high school.
20:43:53 <CakeProphet> that's when I started programming.
20:43:55 <AnMaster> CakeProphet, thank god we were introduced to C before C++
20:44:09 <AnMaster> well I already knew C pretty well
20:44:09 <CakeProphet> ha. yeah.
20:44:25 <CakeProphet> C is great. solid. C++ is a mess.
20:44:49 <AnMaster> iirc I even checked against the C standard and told the teacher he was wrong about some tiny detail wrt undefined behaviour of something.
20:45:02 <AnMaster> well told him between classes
20:45:12 <Phantom_Hoover> I started on Pascla.
20:45:15 <CakeProphet> yeah. CS people are wrong sometimes. it happens. There's a lot of shit to remember. :)
20:45:17 <Phantom_Hoover> s/Pascla/Pascal/
20:45:21 <AnMaster> CakeProphet, well C is hard
20:45:26 <Phantom_Hoover> And then moved on to Python and Lisp.
20:45:32 <CakeProphet> Don't know anything about Pascal myself.
20:45:35 <AnMaster> CakeProphet, after all I had to double check with the C standard to be sure he was incorrect.
20:45:40 <Phantom_Hoover> CakeProphet, nor do I.
20:45:42 <AnMaster> so it wasn't anything common
20:45:48 <AnMaster> I mean, I know C99 pretty well
20:46:03 <Phantom_Hoover> I stopped after a short while.
20:46:07 <CakeProphet> ah.
20:46:18 <AnMaster> was ages ago I used pascal last
20:46:18 <oklopol> "a CS cirriculum based on things like Towers of Hanoi was not relevant anymore." <<< indeed, nowadays if you don't know that stuff, people will think you have brain cancer
20:46:28 <CakeProphet> hmmm, what advantages does Erlang have over Scala?
20:46:30 <AnMaster> oklopol, ... ?
20:46:46 <AnMaster> oklopol, that is just math department people ;P
20:46:48 <cpressey> I started on BASIC.
20:46:55 <Phantom_Hoover> And while I did computing at my current school, I used JavaScript.
20:47:00 <AnMaster> I *started* with apple script
20:47:06 <AnMaster> on my dad's performa
20:47:08 <Phantom_Hoover> ON IE 5 FOR MAC.
20:47:19 <AnMaster> had netscape 3 iirc
20:47:21 <AnMaster> :P
20:47:23 <Phantom_Hoover> The reasons for this choice still eludes me.
20:47:28 -!- kar8nga has quit (Remote host closed the connection).
20:47:29 <AnMaster> managed to fuck up the system somehow so it needed reinstall
20:47:33 <AnMaster> I still have no clue how
20:47:36 <CakeProphet> went something like this for me: Python -> C -> Scheme -> Brainfuck -> ...?
20:47:37 <Phantom_Hoover> They *have* both Firefox and Safari on all of the machines.
20:47:56 <cpressey> Holy crap.
20:48:08 <Phantom_Hoover> I may have stressed the wrong word.
20:48:25 <AnMaster> hm... applescript -> delphi -> pascal -> bash -> C -> branches out to include lots of other languages, not just one after this
20:48:32 <cpressey> So I'm the *only* one here (not lurking) who started programming on an 8-bit?
20:48:32 <oklopol> AnMaster: yes, possibly. it's quite a new experience to be the least smart in a group of 5 people.
20:48:39 <Phantom_Hoover> The best part is that the teacher said that it was because IE 5 had better debugging.
20:48:40 <AnMaster> oklopol, haha
20:48:51 <Phantom_Hoover> cpressey, 8-bit went out before I was born.
20:49:01 <cpressey> Helloooo, middle age!
20:49:01 <AnMaster> cpressey, I'm too young as well
20:49:13 <AnMaster> Phantom_Hoover, how old are you exactly?
20:49:16 <oklopol> (the dudes i hang with, luckily these people just assumed i was one of them so i didn't have to choose my companions)
20:49:38 <AnMaster> oklopol, hah. you are post graduate now or?
20:49:42 <Phantom_Hoover> AnMaster, CLASSIFIED.
20:49:53 <AnMaster> Phantom_Hoover, I'll assume 14-17 then
20:49:56 <AnMaster> somewhere in that range
20:50:03 <oklopol> well okay maybe not really least smart, but complete noob at least
20:50:11 <Phantom_Hoover> AnMaster, CLASSIFIED.
20:50:14 <AnMaster> oklopol, so post graduate?
20:50:16 <AnMaster> Phantom_Hoover, why?
20:50:34 * CakeProphet is 18.
20:50:34 <Phantom_Hoover> AnMaster, CLASSIFIED.
20:50:39 <AnMaster> Phantom_Hoover, ffs
20:50:50 <AnMaster> CakeProphet, 20 here
20:50:51 <oklopol> AnMaster: no i have a BS, at least once i return my thesis
20:51:08 <AnMaster> oklopol, ah. So not a MS yet?
20:51:10 <Phantom_Hoover> AnMaster, I'm not really sure myself.
20:51:14 <oklopol> i just work at the university, i've told this many times :)
20:51:18 <oklopol> no, not yet :(
20:51:27 <CakeProphet> I think I started lurking here when I was 15-16
20:51:34 <AnMaster> oklopol, oh so what does your work involve? teaching?
20:51:36 <oklopol> but i have enough courses for it
20:51:40 <AnMaster> no wait I can't imagine you teaching anyone
20:51:59 <oklopol> well part research, but mostly i read papers and books.
20:52:18 <AnMaster> Phantom_Hoover, what? you don't know how old you are?
20:52:24 <oklopol> (because it's a bit hard to do research in a subject you learned a month ago)
20:52:37 <AnMaster> hm
20:52:43 <Phantom_Hoover> AnMaster, I was just a little baby when I was born!
20:52:48 <Phantom_Hoover> I don't remember the date!
20:53:09 <AnMaster> Phantom_Hoover, ... surely you know when you have your bday? I mean other people tend to remind you of it ;P
20:53:36 <oklopol> i still have a hard time remembering whether i'm 20 or 21
20:53:45 <oklopol> i always have to do a subtraction
20:54:00 <AnMaster> oklopol, well sure
20:54:12 <AnMaster> oklopol, but at least you know it +/- 1 year
20:54:32 <Phantom_Hoover> AnMaster, I know my birthday, just not the year I had the first one.
20:54:40 <cpressey> So, let me think.... BASIC -> 6502 assembler (extremely lamely) -> Pascal -> C -> Visual Basic -> Perl -> Erlang -> Lua -> Scheme -> Prolog -> Haskell -> C++ (out of sheer necessity) -> Python -> Ruby. Roughly, and not counting esolangs.
20:54:56 <AnMaster> Phantom_Hoover, hm. You surely have some estimate of your age? give or take a year or two? ;P
20:55:19 <Phantom_Hoover> I don't show up in mirrors, so I can't estimate it that way.
20:55:30 <AnMaster> cpressey, so you don't know bash, sed, awk and so on?
20:55:33 <CakeProphet> he's a phantom hoover, AnMaster, duh.
20:55:46 <AnMaster> Phantom_Hoover, photos?
20:55:50 * CakeProphet has never even seen a sed or awk program.
20:55:59 <cpressey> AnMaster: I know *of* them.
20:56:07 <AnMaster> CakeProphet, you have seen simple sed programs on irc
20:56:08 <Phantom_Hoover> AnMaster, why would I show up in photos but not a mirror?
20:56:12 <cpressey> I don't see why I should consider them programming languages.
20:56:16 <AnMaster> CakeProphet, people correcting using s/foo/bar/
20:56:18 <AnMaster> that is sed syntax
20:56:18 <CakeProphet> AnMaster: possibly, I didn't recognize them as such.
20:56:20 <cpressey> I wrote a 15-line awk program once.
20:56:27 <CakeProphet> AnMaster: ah, well yes. I associate that with Perl I guess.
20:56:32 <oklopol> i used to know tons of languages but i think i've forgotten everything except python
20:56:32 <AnMaster> cpressey, sed and awk are TC
20:56:37 <AnMaster> cpressey, so is sh iirc
20:56:44 <cpressey> AnMaster: So?
20:57:03 <AnMaster> cpressey, dd/sh is an esolang using dd and sh, hosted on the same site as clc-intercal
20:57:18 <AnMaster> cpressey, http://dd-sh.intercal.org.uk/
20:57:24 <oklopol> cpressey: tc = serious business
20:57:24 <cpressey> AnMaster: Yes, I've seen it before.
20:57:28 <AnMaster> cpressey, ah
20:57:34 <oklopol> that's why
20:57:41 <cpressey> oklopol: I did say "not counting esolangs".
20:57:54 <AnMaster> cpressey, you consider bash an esolang?
20:58:07 <cpressey> AnMaster: It SHOULD be.
20:58:11 <oklopol> and i did say SERIOUS BUSINESS.
20:58:17 <CakeProphet> it ends if with fi...
20:58:18 <CakeProphet> I mean come on.
20:58:49 <AnMaster> cpressey, Just because you can do stuff in envbot in it doesn't mean it is esoteric. If it did then C would be esoteric. IOCCC
20:59:02 <fizzie> cpressey: I am of the proper age to have started on 8-bit hardware, but curse my non-sensible family, we only got PC hardware. I did start reasonably early on the PC thing, though, and have been twiddling with obsoleted hardware "posthumously"; I've got that one C128 and so on.
20:59:10 <cpressey> oklopol: re Towers of Hanoi: I agree with AnMaster. You live in a world where people are expected to write proofs.
20:59:22 <AnMaster> cpressey, hm?
20:59:28 <fizzie> (I am also a bit bitter on all same-aged friends who got to start with more interesting computers.)
20:59:49 <AnMaster> cpressey, and C++ should be esoteric. After all it is TC only thanks to templates
21:00:00 <cpressey> fizzie: Well, even the old PCs hold some charm. CGA and all that.
21:00:02 <CakeProphet> hmmm
21:00:04 <AnMaster> templates doing TC calculations at compile time
21:00:09 <oklopol> we were just talking today with a doctoral student about how dumb it people are
21:00:09 <CakeProphet> so if I'm understanding bijections correctly.
21:00:15 <oklopol> well cs people i mean
21:00:15 <CakeProphet> they are functions from values in one set to values in another.
21:00:34 <CakeProphet> and they're one-to-one
21:00:40 <oklopol> one-to-one and onto
21:00:43 <oklopol> injective and surjective
21:00:46 <AnMaster> CakeProphet, bijection mean you can match up 1-to-1 both ways yes.
21:00:58 <AnMaster> hm, I always confuse what sujection is
21:01:12 <oklopol> that is, each point in the codomain has exactly one preimage (injection = at most 1, surjection = at least 1).
21:01:16 <cpressey> AnMaster: The only reason Perl, C++, and bash aren't esolangs is because so many people use them.
21:01:26 <AnMaster> oklopol, right, so what I said was equiv.
21:01:32 <AnMaster> cpressey, hah
21:01:38 <oklopol> AnMaster: if you knew french, you'd remember
21:01:48 <fizzie> cpressey: Yes, but still. I did mostly GW-BASIC lameity, and the computers were already at something like 386s before I discovered real programming languages. (Though inexplicably there was a Prolog interpreter installed on one... 286, I guess.)
21:01:54 <AnMaster> oklopol, I did take french ages ago. Don't remember much
21:01:56 <oklopol> "sur" means "onto", well, assuming you know what onto means i guess
21:02:05 <CakeProphet> cpressey: which language would you recommend I learn? I know very little. I think I'm going to do an IRC bot as practice in whatever language I choose. Ruby? Perl?
21:02:10 <CakeProphet> Perl seems like too much trouble to learn.
21:02:23 <cpressey> CakeProphet: Remind me, what ones you know now?
21:02:26 <fizzie> The first PC we had had a Hercules monochrome graphics adapter, incidentally. Color is too hi-fi.
21:02:29 <oklopol> i think of it as you mapping a set on top of another, this is what surjectivity is, that the codomain is covered
21:02:35 <AnMaster> oklopol, so surjective = "there are no values in your target set that you can't reach with this function"?
21:02:40 <oklopol> yes
21:02:44 <AnMaster> oklopol, right thanks
21:02:56 <AnMaster> oh yeah codomain was the name
21:02:58 <AnMaster> why
21:03:01 <AnMaster> I mean, why codomain
21:03:03 <oklopol> that's the name i use
21:03:04 <cpressey> CakeProphet: scrollback says Python -> C -> Scheme -> Brainfuck
21:03:07 <oklopol> domain and codomain
21:03:15 <CakeProphet> cpressey: not too many I have a lot of experience. Python, I "know" Scheme but have never really used it for anything, I've used C extensively, and... I've been learning Erlang as of late. Those are just the ones I've actually used, not the ones I've digested.
21:03:15 <oklopol> *names
21:03:24 <AnMaster> oklopol, I heard it before. But the name "codomain" makes no sense to me.
21:03:31 <cpressey> CakeProphet: So... right. Hm.
21:03:39 <oklopol> well co- in category theory usually means inverting arrows
21:03:41 <AnMaster> oklopol, as in the prefix co- seems to indicate stuff like coroutines and such for me rather
21:03:42 <CakeProphet> cpressey: I would like to expand my vocabulary. :)
21:03:43 <oklopol> functions are a kind of arrow
21:03:52 <AnMaster> oklopol, oh right
21:03:53 <AnMaster> hm
21:03:54 <oklopol> so, the codomain is the domain of the cofunction
21:03:57 <oklopol> :P
21:04:18 <AnMaster> oklopol, you mean the inverse function?
21:05:01 <oklopol> no not really, in its abstractness category theory likes to invert the arrow without changing meaning at all
21:05:18 <cpressey> CakeProphet: Well, Erlang's good stuff. If you're simply looking to expand your vocabulary, maybe Prolog.
21:05:21 <oklopol> so it's the same function, we just think of it as doing a different kind of thing...
21:05:28 <AnMaster> oklopol, augh
21:05:44 <CakeProphet> cpressey: meh. Not terribly interested in Prolog. I've looked at it though.
21:05:45 <AnMaster> oklopol, so is arcsin the cofunction of sin?
21:05:49 <cpressey> If you're looking to improve your career prospects, then Java, of course.
21:05:58 <oklopol> well umm actually
21:06:04 <AnMaster> oklopol, because that is what I meant with inverse. Well of course this is true only if you set your domain to be relevant size
21:06:06 <fizzie> Forth is a different-paradigmy choice too, and oh-so-chARRming.
21:06:07 <cpressey> CakeProphet: Knowing what Prolog does is more important than writing programs in it.
21:06:20 <oklopol> i guess the inverse function could be thought as being the cofunction
21:06:22 <cpressey> I second fizzie's Forth suggestion.
21:06:25 <CakeProphet> cpressey: oh, speaking of Erlang. Would you recommend Mnesia to handle persistence in a MUD codebase?
21:06:32 <oklopol> do realize i don't actually know much about this stuff :P
21:06:54 <cpressey> CakeProphet: It's OK, but my experience was that dets was significantly faster.
21:06:56 <AnMaster> <cpressey> CakeProphet: Knowing what Prolog does is more important than writing programs in it. <-- ah, somewhat like scheme then
21:07:00 <oklopol> i mean i guess that's the natural way to interpret reversing the arrow, if the function is invertible
21:07:02 <CakeProphet> cpressey: it's interesting. I've seen example programs where Prolog defines trees by stating relationships between branches, rather than explicit construction.
21:07:07 <oklopol> but you can invert the arrow even if there's no inverse function
21:07:11 <CakeProphet> cpressey: dets is just the table-to-file part of mnesia right?
21:07:18 <oklopol> because it's still a morphism
21:07:25 <AnMaster> cpressey, knowing what call/cc and lisp macros are is more important than actually writing stuff in it. IMO
21:07:28 <cpressey> CakeProphet: Yes, mnesia is implemented with dets I believe.
21:07:36 <AnMaster> cpressey, dets and ets iirc
21:07:48 <cpressey> AnMaster: maybe, but the difference is not so great as it is in prolog imo.
21:07:51 <AnMaster> can't you have tables loaded in memory for read?
21:07:53 <AnMaster> iirc
21:07:54 <AnMaster> hm
21:08:01 <AnMaster> not sure
21:08:06 <AnMaster> never used mnesia
21:08:14 <cpressey> AnMaster: yes.
21:08:35 <AnMaster> CakeProphet, also I used dets without mneisa once
21:08:39 <AnMaster> and ets a few times
21:08:39 <cpressey> i mean, the persistent part of mnesia is implemented with dets.
21:08:45 <AnMaster> cpressey, yes
21:08:46 <oklopol> okay "cofunction" seems to refer to sine -> cosine etc, that completely different ofc
21:08:55 <AnMaster> oklopol, well yes
21:09:02 <CakeProphet> cpressey: I was mostly interested in being able to perform multiple operations atomically. I suppose I could achieve the same effect with dets though. Simply have one process who controls the table and implement all the operations I need via messages.
21:09:16 <cpressey> CakeProphet: Exactly.
21:09:23 <AnMaster> eh
21:09:25 <AnMaster> hm
21:09:38 <AnMaster> it is lower level in other aspects too
21:10:02 <AnMaster> like, you probably only have one key column
21:10:02 <cpressey> Mnesia is good if you need transactions.
21:10:15 <AnMaster> you would need to implement indexes on other columns yourself
21:10:21 <CakeProphet> cpressey: Erlang makes it kind of natural to reason about procedures actually. Getting accustomed to the syntax and the libraries will be a completely different story however...
21:10:28 <AnMaster> also not sure about properly closing dets on exit
21:10:52 <AnMaster> CakeProphet, for me it took about two weeks to get used to the , ; . bit
21:10:58 <oklopol> AnMaster: also you should definitely at least be able to imagine me trying to teach someone, because i try to teach you stuff all the time :P
21:11:01 <AnMaster> coded a lot during that time though
21:11:28 <AnMaster> oklopol, well yes but #esoteric is different
21:11:53 <AnMaster> oklopol, I don't want to imagine you telling students you played the piano like... you know...
21:11:58 <oklopol> :D
21:12:26 <oklopol> well yes you're probably right, luckily for the students i *am* aiming for research.
21:12:47 <AnMaster> hm
21:13:08 <CakeProphet> I am somewhat interested in research, but I fear some kind of evil university politics cabal.
21:13:11 <oklopol> it's possible ofc that i just start sweeping floors because i'm not smart enough for math
21:13:28 <CakeProphet> so I think I think I'll try industry for a while and maybe go back for post-grad and such.
21:13:36 <AnMaster> CakeProphet, I heard about that sort of stuff too. Too much drama basically.
21:13:43 <CakeProphet> yes.
21:14:11 <cpressey> CakeProphet: I have to admit, if I ever do design my Ultimate System<tm>, a signficiant chunk of it will look like Erlang.
21:14:16 <AnMaster> CakeProphet, but you are likely to get drama in industry as well
21:14:19 <AnMaster> I bet
21:14:29 <AnMaster> cpressey, will it be an OS?
21:14:41 <fizzie> No, it'll be an US.
21:14:43 <CakeProphet> cpressey: yes, but you better do better. Needs moar data structures.
21:14:48 <CakeProphet> that aren't compiler hacks.
21:14:52 <AnMaster> cpressey, also it should JIT. Erlang not jitting to preserve soft realtime predictability is a reason that is very specialised
21:14:54 <cpressey> No, it will be a CE! I've been over this in this channel in the past few days ;)
21:15:10 <AnMaster> cpressey, ?
21:15:25 <cpressey> Probably at times when AnMaster wasn't here.
21:15:29 <AnMaster> cpressey, erlang isn't an OS. But you could make an OS that felt much like erlang I feel
21:15:43 <AnMaster> cpressey, yeah I seldom log read if more than half my scrollback (2000 lines per channel)
21:16:02 <AnMaster> brb, going to get some cookies or something
21:16:19 <CakeProphet> I don't see how Erlang isn't an OS. it runs standalone, supports hardware access, and can multi-task standalone.
21:16:35 <cpressey> And it's been put on a FPGA, mostly.
21:16:48 <cpressey> That's even better than an OS.
21:17:36 <CakeProphet> cpressey: were you around for my concurrent cellular automata language idea?
21:17:46 <cpressey> CakeProphet: I don't think so.
21:17:52 <CakeProphet> I want to complete the design... and then have Intel make me a 100-core machine to play around with it.
21:18:15 <CakeProphet> essentially what it sounds like. the devil is in the details of course.
21:18:53 <CakeProphet> you define a grid of concurrent FSMs... I haven't decided if they'll be message passing or if they simply just do typical CA behavior.
21:18:53 <oklopol> AnMaster: so you had what a few hundred channels open, so... you seldom read more than 100000 lines of scrollback? god you're lazy.
21:19:23 <CakeProphet> psh, I /never/ read scrollback
21:19:27 <CakeProphet> and this is the only channel I inhabit.
21:22:49 <oklopol> so how is it different from a CA? :P
21:22:59 <oklopol> please tell me about the devil
21:23:07 <cpressey> CakeProphet: The nice part is that each core can be really simple, and have all of its memory reside in what is essentially cache, making them really fast.
21:23:15 <cpressey> The icky part is the messaging.
21:23:35 <cpressey> And some problems don't parallelize.
21:23:39 <fizzie> Meh, x86 really ought to have a single-byte-displacement CALL; it is so wasteful in a tiny program that every time you want a subroutine call, it wastes five bytes (opcode + disp) for a 32-bit relative displacement that always has the three higher bytes zero (or 0xff sometimes).
21:23:48 <cpressey> And we don't have good proofs that some problems don't parallelize.
21:24:02 <fizzie> There's short jumps, why is there no short call?
21:24:26 <CakeProphet> cpressey: the message passing wouldn't be bad if you communicated messages only to your neighbor on the grid.
21:24:36 <CakeProphet> *neighbors
21:24:41 <cpressey> CakeProphet: That helps. Actually...
21:24:46 * cpressey thinks
21:25:22 <CakeProphet> cpressey: and then you could implement forwarding behavior to carry messages along.
21:25:32 <fizzie> If you go computer-sciencey on distributed computing, we don't really know anything. We had a seminar course on this once, and it was full of "everything always works" assumptions; if you start thinking about nodes that fail, all the beautiful algorithms and their properties go out of the window.
21:26:17 <oklopol> CakeProphet: so how's it different from a ca :P
21:27:39 <CakeProphet> well... only in implementation really. and it would be a programming language. I was thinking about having functions with pattern matching.
21:27:58 <CakeProphet> as message handlers.
21:28:17 <fizzie> (The whole seminar course was about a single book; the professor was interested in reading the book, but couldn't get himself motivated, so he arranged a seminar course on it.)
21:28:21 <CakeProphet> and more complex states that a typical CA. records and such.
21:28:53 <cpressey> CakeProphet: Yeah, in practice the idea tends to be shot down by "a dedicated bus would be faster than making potentially everything relay like that"
21:29:47 <cpressey> fizzie: I've known professors like that.
21:30:01 <cpressey> Besides, if P=NP, who needs to parallelize anything?
21:30:05 <cpressey> :D
21:30:38 <fizzie> Here's a bit of trivia: you can do election (a "select one node so that everyone in the network agrees on it" protocol) in an unoriented hypercube in O(n log log n) messages.
21:33:01 <cpressey> CakeProphet: I wonder how many 6502s you could stamp out on a modern Pentium-sized chip.
21:33:07 -!- coppro has joined.
21:34:30 <fizzie> 6502: ~4K transistors; six-core Core i7 chip: ~1'170'000'000 transistors.
21:35:03 <cpressey> Ah, I should stipulate 64K RAM alongside each 6502, of course.
21:35:03 <fizzie> It perhaps isn't quite as trivial as an integer division of the latter by the former, but still.
21:35:41 <cpressey> So: "A whole bunch."
21:37:11 <fizzie> Good luck in convincing Intel to rework their manufacturing lines to build 6502-monsters like that.
21:39:50 <fizzie> I do like the term "embarrassingly parallel problem".
21:42:18 <oklopol> fizzie: how?
21:42:22 <oklopol> err the hypercube
21:42:47 <AnMaster> <oklopol> AnMaster: so you had what a few hundred channels open, so... you seldom read more than 100000 lines of scrollback? god you're lazy. <-- the policy differs between channels
21:42:55 <AnMaster> oklopol, and some are way way less active
21:43:19 <AnMaster> oklopol, so that calculation is way off. I would say "seldom more than 2000 lines of scrollback"
21:43:26 <AnMaster> often much less
21:43:37 -!- oerjan has joined.
21:43:43 <fizzie> oklopol: See problem 3.10.8 in the book Design and Analysis of Distributed Algorithms, by N. Santoro (J. Wiley & Sons, 2006).
21:44:08 <fizzie> oklopol: (My slides refuse to elaborate, and I wrote them in early 2007, so can't say I recall the details.)
21:44:29 <AnMaster> oerjan, how does this make you feel: 4.30e^(-j32.7°)
21:44:47 <Phantom_Hoover> That doesn't really make sense.
21:44:53 <fizzie> oklopol: I do have an explanation on O(n)-message election protocol in an oriented hypercube, but I don't think I can explain it sufficiently.
21:44:55 <oklopol> oerjan: i was trying to find a math reference greeting, but i can't, so, consider yourself lucky.
21:44:55 <AnMaster> Phantom_Hoover, it is common EE notation
21:44:59 <oerjan> it makes perfect sense to me
21:45:08 <AnMaster> oerjan, but what about the degrees?
21:45:09 <Phantom_Hoover> Oh, I understad.
21:45:24 <Phantom_Hoover> I just get thrown by degree signs.
21:45:26 <cpressey> Makes me feel sweltering! 32.7°!
21:45:32 <AnMaster> cpressey, XD
21:45:35 <AnMaster> Phantom_Hoover, My hobby: trying to make mathematicians shudder.
21:45:39 <oerjan> AnMaster: i tend to consider ° an abbreviation for pi/180 in such circumstances :)
21:45:41 <AnMaster> I guess it didn't really work
21:45:50 <AnMaster> oerjan, but what about the j instead of i?
21:46:03 <AnMaster> oerjan, oh and the unit would be mV
21:46:05 <oerjan> AnMaster: i'm not one to hate on engineers
21:46:21 <fizzie> oerjan: After all, without engineers you probably wouldn't even be here!
21:46:28 <oerjan> true, true
21:46:32 <AnMaster> oerjan, huh. I remember ehird calling mixing in degrees like that an abomination...
21:46:39 <AnMaster> I guess he is easier to annoy
21:46:49 <oerjan> AnMaster: ehird _likes_ to hate on stuff
21:46:55 <AnMaster> oerjan, oh good point
21:47:21 <AnMaster> oerjan, but what do you feel about units like mV instead having ones like "area unit" "length unit" or such?
21:47:44 <oklopol> one unit shuold be enough for everyone
21:47:48 <oklopol> *should
21:48:24 <oerjan> AnMaster: i feel units should be included when you're doing actual physics stuff
21:48:37 <AnMaster> oerjan, oh and the values in the problem would all be given in incompatible units. Like µH pF A MOhm and mV
21:48:51 <AnMaster> oerjan, oh wait your terminal fail at unicode?
21:48:56 <AnMaster> oerjan, if so that was "micro"
21:48:58 <AnMaster> as in my
21:49:07 <AnMaster> the greek letter my
21:49:22 <fizzie> What about using eV as a unit of mass? I see that in physics people. (They drop the /c^2 bit out.)
21:49:40 <oerjan> AnMaster: it's only incompatible if they don't have the same dimension when added, although it could still be _ugly_, naturally. also µ happens to be in latin-1.
21:49:44 <AnMaster> fizzie, haha. Yeah I'm not going that stuff so no clue about it
21:50:18 <AnMaster> oerjan, oh and you have to be careful with number of significant digits. Since you won't be able to solve this exactly
21:50:20 <oerjan> fizzie: particle physicists like to set c = 1, don't they
21:50:25 <AnMaster> oerjan, you will have to give an approx answer
21:50:39 <fizzie> oerjan: They do indeed. One might even think them lazy, they like it so much.
21:51:01 <AnMaster> fizzie, on the other hand, the stuff they work with tends to move at large fractions of c
21:51:08 <Phantom_Hoover> fizzie, it's quite nice.
21:51:15 <AnMaster> fizzie, so it sounds like a much more usable unit than meters per second
21:51:25 <Phantom_Hoover> Since it means that you can equate space and time without much hassle
21:52:12 <CakeProphet> OH SHIT
21:52:13 <AnMaster> oerjan, well? you don't have any problems with approx answer?
21:52:16 <CakeProphet> I have a test in 5 mL
21:52:19 <CakeProphet> I'm going to be late.
21:52:25 <AnMaster> mililitres?
21:52:30 <CakeProphet> ...yes.
21:52:30 <AnMaster> err
21:52:32 <AnMaster> spelling
21:52:44 <AnMaster> CakeProphet, run anyway
21:53:12 <CakeProphet> but I have 100 seconds of orange juice that I haven't finished drinking...
21:53:45 <AnMaster> fizzie, hm, centi- = 1/100, kilo- = * 1000, what what do you use when you want to use *100 instead
21:54:01 <oklopol> hecto
21:54:03 <fizzie> Hecto, yes.
21:54:05 <AnMaster> fizzie, reason: kiloseconds is not very convenient for describing a few minutes
21:54:08 <AnMaster> fizzie, ah yes thanks
21:54:15 <fizzie> With the abbrev. "h".
21:54:15 <AnMaster> hectoseconds :D
21:54:18 <oklopol> or decadeca
21:54:35 <oklopol> desikilo
21:54:38 <AnMaster> 0.6 hs, hm
21:54:40 <oklopol> err
21:54:42 <AnMaster> yep works nicely
21:54:43 <oklopol> deci
21:54:55 <fizzie> An average american weighs about 45 US-trillion YeVs.
21:55:07 <AnMaster> 9 hs = 15 minutes right?
21:55:38 <AnMaster> and 6 hs would be 10 minutes
21:55:44 <CakeProphet> fizzie: you make us sound fat. :P
21:56:14 <AnMaster> fizzie, now use an exponential scale for this
21:56:23 <AnMaster> as in, not logarithmic, exponential
21:56:45 <Phantom_Hoover> fizzie, YeV?
21:56:55 <fizzie> Phantom_Hoover: yottaelectronvolts.
21:56:57 <Phantom_Hoover> Yottaelectronvolts?
21:56:58 <oerjan> CakeProphet: considering volume and time to be the same unit seems a tad stretching it :D
21:57:17 <Phantom_Hoover> But that's a unit of energy, not weight.
21:57:22 <AnMaster> fizzie, shouldn't eV be a charge rather than mass hm
21:57:23 <AnMaster> indeed
21:57:33 <oerjan> especially if you've already made length == time
21:57:34 <AnMaster> but wait, e = mc²
21:57:45 <fizzie> AnMaster: Yes, and c=1. (According to them.)
21:58:07 <fizzie> Phantom_Hoover: <fizzie> What about using eV as a unit of mass? I see that in physics people. (They drop the /c^2 bit out.)
21:58:09 <oklopol> oerjan: yes but see length = time = 1
21:58:22 <Phantom_Hoover> fizzie, oh.
21:58:24 <AnMaster> CakeProphet, oh you were joking about the test?
21:58:32 <Phantom_Hoover> But mass /= weight/
21:58:49 <AnMaster> hm
21:58:57 <AnMaster> Phantom_Hoover, define gravity to 1 or something
21:59:00 <fizzie> Phantom_Hoover: So you complain when someone says he weighs 80 kg? It's a unit of mass, after all.
21:59:14 <cpressey> As long as length and width are different unit expressions, I'm happy.
21:59:16 <Phantom_Hoover> I would, but then everyone would hate me.
21:59:27 <AnMaster> cpressey, how are they different?
21:59:37 <cpressey> Dimensions: 15cm x 20m/s
21:59:42 <Phantom_Hoover> There is an imperial measure of mass, but it's really stupid.
21:59:45 <AnMaster> cpressey, eh right
21:59:54 <AnMaster> cpressey, per barn right?
22:00:19 <AnMaster> http://en.wikipedia.org/wiki/Barn_%28unit%29
22:00:21 <oerjan> which dimensions _are_ considered distinct is a little arbitrary anyway. there was one system before SI which considered ampere and the other electromagnetic units to be formulated in terms of m kg s
22:00:27 <cpressey> Per barn².
22:00:48 <AnMaster> cpressey, err barn is already area. so that is length^4
22:00:49 <oerjan> while in SI ampere/current is a distinct dimension for basing them on
22:00:53 <AnMaster> which we have no name for
22:00:58 <AnMaster> super-volume?
22:01:07 <AnMaster> err hypervolume rather
22:01:13 <AnMaster> what with hypercube and so oj
22:01:14 <AnMaster> on*
22:01:30 <Phantom_Hoover> Then there are cubic litres.
22:01:47 <Phantom_Hoover> Asking people how many pints there are in one is mildly amusing.
22:01:55 <AnMaster> Phantom_Hoover, yes freeze 1 litre of water into the shape of a cube
22:02:13 <Phantom_Hoover> Terrible. Pun.
22:02:26 <oklopol> Phantom_Hoover: ah i get it, it's funny because pints are an outdated measure
22:02:44 <Phantom_Hoover> I was referring to the 9-dimensional unit.
22:02:46 <AnMaster> Phantom_Hoover, or you could ask Picasso. He was big on cubism right?
22:03:06 <oklopol> Phantom_Hoover: i know this
22:03:09 <fizzie> Phantom_Hoover: Okay, so an average american (under normal conditions) weighs around 80 megadynes. But that's not as funny a unit.
22:03:12 <AnMaster> hm some time travel might be involved
22:03:29 <AnMaster> fizzie, what is a dyne?
22:03:38 <fizzie> AnMaster: 10 micronewtons. It's not a SI unit.
22:03:42 <AnMaster> ah
22:03:50 <AnMaster> fizzie, you should get length in Å
22:09:30 <Phantom_Hoover> Hey, can we equate space and time and see what happens?
22:09:39 <fizzie> There's that "usual" (if you can call it that) unusual unit for speed, attoparsecs/microfortnight. (Since 1 apc/µfortnight -- there doesn't seem to be a commonly used abbreviation for fortnight -- is close to 1 inch/second.)
22:09:40 <AnMaster> boring
22:09:54 <Phantom_Hoover> Velocity becomes unitless, for instance.
22:09:57 <AnMaster> fizzie, I know about it
22:10:03 <Phantom_Hoover> And force and power are equivalent.
22:11:44 <fizzie> "Thus, scientists would brag about having a "4 Gillette" laser versus their competitor's puny "2 Gillette" laser." (Meaning, their laser can burn a hole through 4 razor blades.)
22:11:49 -!- ais523 has joined.
22:12:04 <AnMaster> fizzie, XD
22:12:12 <AnMaster> fizzie, in how long time?
22:12:38 <AnMaster> fizzie, I mean if you wait long enough both are going to burn through all 4
22:12:39 <fizzie> AnMaster: It doesn't say. It's also all [citation needed]. But it does sound funny.
22:12:47 <AnMaster> fizzie, true
22:12:49 <AnMaster> ais523, hi
22:12:50 <fizzie> Possibly they can't be run indefinitely.
22:14:03 <AnMaster> anyway I'm going to sleep soon, 4 hs seems enough, give or take a few
22:14:31 <AnMaster> slept badly the previous night so
22:14:51 <ais523> hi
22:15:23 -!- wareya_ has changed nick to wareya.
22:15:56 <CakeProphet> alright #esolang
22:16:05 <fizzie> cpressey: Speaking of multicore-6502's, would you classify the C128 as a dual-processor computer? It's got the 8502 (a 6510-derivative) and the Z80 both, but only one of them can be active at a time.
22:16:17 <CakeProphet> help me decide which strain pf psilocybe cubensis I want: http://www.spores101.com/cart.php?m=product_list&pageNumber=1&c=1&v=&sortBy=undefined&search=
22:16:20 <CakeProphet> :)
22:16:24 <cpressey> fizzie: Wal... sure. -ish.
22:16:26 <CakeProphet> I'm thinking B+
22:17:11 <Phantom_Hoover> CakeProphet, are you making a computer with them?
22:17:14 -!- relet has quit (Quit: Leaving.).
22:17:29 <fizzie> Phantom_Hoover: Shush, he asked #esolang, not #esoteric.
22:17:38 <CakeProphet> Phantom_Hoover: depends. possibly.
22:17:45 <CakeProphet> ha.. didn't realize I slipped up there.
22:17:52 <CakeProphet> I am surprised they do not have Penis Envy.
22:18:09 <CakeProphet> Phantom_Hoover: I was actually just going to grow them and trip balls. But I could make a computer in the process if you'd like.
22:18:46 <Phantom_Hoover> Wow, and there was me thinking you wanted them for science. Goodness, I'm nave.
22:19:54 <AnMaster> wait what?
22:19:58 <AnMaster> biological computer
22:20:21 <AnMaster> ?
22:21:05 <Phantom_Hoover> Well, it is esoteric.
22:21:19 <CakeProphet> Phantom_Hoover: don't own a microscope. I do like mushrooms in general, for more socially acceptable reasons.
22:21:48 <Phantom_Hoover> Science is socially acceptable!
22:21:53 <Phantom_Hoover> Among scientists!
22:21:56 <CakeProphet> and I was referring to making a computer design /while/ tripping... not /from/ the psilocybe genus. That would be a very slow computer as it would likely involve reproduction.
22:22:15 <AnMaster> <CakeProphet> Phantom_Hoover: don't own a microscope. I do like mushrooms in general, for more socially acceptable reasons. <-- hm your nick makes more sense now ;)
22:22:28 <AnMaster> oh wait
22:22:34 <AnMaster> you actually meant like that
22:22:35 <AnMaster> ^_^
22:22:47 <CakeProphet> ...you might have lost me.
22:22:59 <Phantom_Hoover> CakeProphet, go and build a fungus computer while tripping?
22:23:12 <AnMaster> I was joking about tripping. And then you tell me you are going to use the fungus for that..
22:23:24 <CakeProphet> oh... well yes.
22:23:25 <CakeProphet> :)
22:23:28 <CakeProphet> I mean
22:23:29 <AnMaster> sigh
22:23:35 <CakeProphet> I wouldn't buy them to look at them under a microscope.
22:23:40 <CakeProphet> as interesting as that might be.
22:23:46 <AnMaster> I'm just going to /clear right now,
22:23:53 <CakeProphet> ha.
22:23:58 <AnMaster> legal reasons and so on.
22:23:59 <fizzie> CakeProphet: But it explicitly says: good for looking at them under a microscope.
22:24:14 <CakeProphet> indeed so.
22:24:19 <AnMaster> CakeProphet, just don't kill yourself
22:24:23 <CakeProphet> AnMaster: I won't.
22:24:59 <CakeProphet> and there's nothing illegal about talking about shrooms... at least not where I live.
22:25:28 <fizzie> Also just having a link like that on screen sounds unlikely to be illegal. But I am not a lawyer.
22:25:39 <CakeProphet> indeed
22:25:43 <CakeProphet> spores aren't even illegal.
22:25:54 <CakeProphet> (in the US)
22:26:12 <CakeProphet> thus why there can be websites dedicated to selling them.
22:26:52 <CakeProphet> but anyways
22:27:04 <CakeProphet> I think you could make a biological computer of some kind. It would just be slow and error-prone.
22:27:17 <CakeProphet> and have limited computational power.
22:27:45 <fizzie> There's that early DNA computer that solved a seven-node Hamiltonian path problem.
22:27:53 <Phantom_Hoover> OK, we are officially taking about using these spores for computation.
22:27:59 <CakeProphet> hahaha
22:28:26 <Phantom_Hoover> Any other uses are only to be considered in the context of helping the development of the aforementioned.
22:28:37 <CakeProphet> indeed.
22:28:39 <fizzie> Nayebi, A (2009). "Parallel DNA implementation of fast matrix multiplication techniques based on an n-moduli set". arXiv: 0912.0750: 1–15.
22:28:43 <fizzie> Oo, they've been doing more.
22:28:46 <CakeProphet> how does a "DNA computer" work.
22:28:51 <CakeProphet> also: you guys are seriously paranoid.
22:28:57 <fizzie> "What's that bubbling? Oh, I'm just multiplying some matrices."
22:29:44 <fizzie> "It's just my DNA 3D card."
22:30:07 <cpressey> "Goo-ware".
22:30:43 <CakeProphet> von neumann machines?
22:30:46 <fizzie> "A design called a stem loop, consisting of a single strand of DNA which has a loop at an end, are a dynamic structure that opens and closes when a piece of DNA bonds to the loop part. This effect has been exploited to create several logic gates. These logic gates have been used to create the computers MAYA I and MAYA II which can play tic-tac-toe to some extent."
22:30:48 <fizzie> Heh.
22:30:58 <Phantom_Hoover> CakeProphet, that's boring in the context of DNA.
22:31:35 <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:32:24 -!- ehirdiphone has joined.
22:32:35 <ehirdiphone> Hii
22:32:37 <CakeProphet> ehirdiphone: howdy.
22:33:00 <coppro> `addquote <CakeProphe> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:33:29 <HackEgo> 187|<CakeProphe> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:33:32 * Phantom_Hoover wonders what reality's license is
22:33:34 <oerjan> Phantom_Hoover: mind you if you do it right, the universe won't know what hit it anyhow
22:33:47 <CakeProphet> Phantom_Hoover: copyright. Apple.
22:34:02 <cpressey> Did you know? Pus is mostly bacterial DNA.
22:34:11 <CakeProphet> ....
22:34:11 <Phantom_Hoover> We need to start a sky survey searching for some galaxies that spell "COPYING".
22:34:12 <CakeProphet> I see.
22:34:34 <CakeProphet> Phantom_Hoover: ha. yes. in English for maximum lulz.
22:35:25 <ehirdiphone> coppro: CakeProphe.
22:35:35 <oerjan> Phantom_Hoover: no no the copyright is encoded in the digits of pi. haven't you read Contact? (/me hasn't read all of it either actually)
22:35:44 <Phantom_Hoover> I have not.
22:36:00 <AnMaster> fizzie, iirc there was tic tac toe in DNA
22:36:02 <AnMaster> remember that
22:36:02 <Phantom_Hoover> But surely it'd show up in frequency analysis?
22:36:04 <coppro> ehirdiphone: oops. Can the quote be amended?
22:36:11 <coppro> oerjan: Contact was prime numbers
22:36:28 <Phantom_Hoover> AnMaster, I recall a XOR gate done interestingly.
22:36:29 <oerjan> Phantom_Hoover: it's a bit beyond the digits we can calculate _yet_
22:36:38 <ehirdiphone> coppro: help for link then revert latest rev. No
22:36:39 <Phantom_Hoover> oerjan, what base?
22:36:50 <Phantom_Hoover> If it's hex, it should be easy.
22:36:51 <ehirdiphone> Phantom_Hoover: base pi
22:36:53 <oerjan> Phantom_Hoover: septendecimal
22:36:57 <coppro> ehirdiphone: lazy
22:36:57 <ehirdiphone> The message is 1.
22:37:09 <ehirdiphone> coppro: Takes two seconds.
22:37:14 <Phantom_Hoover> I must go now anyway.
22:37:20 <coppro> `help
22:37:21 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:37:29 <coppro> `hg help
22:37:31 <HackEgo> Mercurial Distributed SCM \ \ list of commands: \ \ add add the specified files on the next commit \ addremove add all new files, delete all missing files \ annotate show changeset information by line for each file \ archive create an unversioned archive of a repository revision \ backout reverse
22:37:35 <Phantom_Hoover> ehirdiphone, reminds me of the macguffin in The Algebraist.
22:37:36 <ehirdiphone> sigh
22:37:37 <coppro> `reverse
22:37:39 <HackEgo> No output.
22:37:43 <ehirdiphone> Click the link coppro
22:37:46 <coppro> bleh
22:37:46 <AnMaster> Phantom_Hoover, iirc they were one time use only
22:37:55 <ehirdiphone> then use revert command
22:37:57 <AnMaster> Phantom_Hoover, so you had to make new chemicals to play again
22:37:57 <CakeProphet> `rm -h
22:37:59 <HackEgo> No output.
22:37:59 <CakeProphet> :)
22:38:00 <ehirdiphone> Just revert
22:38:03 <ehirdiphone> Not hg revert
22:38:09 <coppro> oh, better idea
22:38:19 <Phantom_Hoover> AnMaster, IIRC that's why the XOR gate was interesting.
22:38:20 <coppro> `which sponge
22:38:21 <ehirdiphone> It shows revision number on hg
22:38:21 <HackEgo> No output.
22:38:23 <coppro> darn
22:38:23 <ehirdiphone> Page
22:38:29 <ehirdiphone> Just do it >_<
22:38:33 <AnMaster> Phantom_Hoover, hm?
22:38:33 <ehirdiphone> It's trivial
22:38:34 <Phantom_Hoover> `revert
22:38:35 <coppro> `revert
22:38:36 <HackEgo> Done.
22:38:37 <HackEgo> Done.
22:38:38 <coppro> oops
22:38:40 <Phantom_Hoover> Fsck.
22:38:45 <ehirdiphone> Sigh
22:38:50 <coppro> oerjan: you need to readd the last quote
22:38:55 <coppro> <ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
22:38:57 <ehirdiphone> ...
22:38:58 <AnMaster> night
22:39:06 <ehirdiphone> Just revet to later revision
22:39:13 <coppro> look, I have no clue how
22:39:14 <coppro> you do it
22:39:24 <ais523> coppro: `addquote followed by the quote
22:39:24 <ehirdiphone> I CANT TYPE BACKQUOTES
22:39:29 <ehirdiphone> ais523: No
22:39:30 <coppro> ais523: not that
22:39:32 <ais523> ah
22:39:38 <ehirdiphone> coppro: Use help command
22:39:43 <ais523> what /have/ you lot been doing to HackEgo?
22:39:50 <coppro> ais523: I typoed a quote
22:39:57 <coppro> `help revert
22:39:58 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:40:02 <ehirdiphone> Ni. J
22:40:04 <ehirdiphone> No
22:40:07 <ehirdiphone> Just help
22:40:10 <coppro> `revert 1516:777246c07e8a
22:40:10 <ehirdiphone> Click the link
22:40:21 <ehirdiphone> FFS
22:40:30 <coppro> `revert 1516
22:40:32 <HackEgo> Done.
22:40:34 <ehirdiphone> Listen to me if you are going to ask for help
22:40:43 <coppro> >`addquote <CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:40:46 <coppro> `addquote <CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:40:46 <ehirdiphone> That goes TO a revision.
22:40:48 <HackEgo> 187|<CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own.
22:40:52 <ehirdiphone> Not to one before it.
22:41:09 <ehirdiphone> Did you enter the good revision or one after?
22:41:10 <coppro> yes; 1517 was mine; 1516 was the previous one accidentally reverted
22:41:19 <ehirdiphone> Okay.
22:41:30 <oerjan> `quote playboy
22:41:31 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all,
22:41:37 <coppro> ...
22:41:39 <coppro> wtf
22:41:47 <oerjan> huh it didn't get all
22:42:02 <CakeProphet> !haskell type Test
22:42:16 <coppro> you know what?
22:42:25 <oerjan> `quote neumann
22:42:26 <CakeProphet> whut?
22:42:27 <HackEgo> 187|<CakeProphet> how does a DNA computer work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, thats boring in the context of DNA. <Phantom_Hoover> Its just stealing the
22:42:41 <oerjan> that's cut off _too_
22:43:04 <CakeProphet> hmmm.. apparently GHCi doesn't except type declarations
22:43:15 <CakeProphet> *accept
22:43:27 -!- oklopol has quit (Ping timeout: 272 seconds).
22:43:39 <oerjan> CakeProphet: nope. !haskell accepts a full module instead of ghci commands if you like, however
22:43:58 <coppro> `quote
22:43:59 <HackEgo> 131|<Warrigal> So, I'm inside a bottle which is being carried by a robot.
22:44:01 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:44:19 <oerjan> `quote bottle
22:44:20 <HackEgo> 131|<Warrigal> So,
22:44:24 <oerjan> aha!
22:44:29 <ais523> `quote 186
22:44:30 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
22:44:40 <ais523> hmm, seems to be a bug in playback rather than recording
22:44:50 <oerjan> Gregor: something is wrong with HackEgo's `quote when using search, it gets cut off
22:45:10 <oerjan> `quote 131
22:45:11 <HackEgo> 131|<Warrigal> So, I'm inside a bottle which is being carried by a robot.
22:45:13 <ehirdiphone> Why is quotes.db sqlite?
22:45:20 <ehirdiphone> Instead of plain text?
22:45:27 <ehirdiphone> Dumbtarded.
22:45:41 <ehirdiphone> I vow to make botte better!
22:46:04 <CakeProphet> currently HackEgo is better than botte though
22:46:19 <ehirdiphone> Currently you suck.
22:46:19 <CakeProphet> fungot is my favorite.
22:46:20 <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a long worm can be greased. twice i got it nearly there, and the protector of cattle. mars is also mentioned as a rainbow. as a seated baboon sometimes with its head.
22:46:40 <coppro> quotes.db should just be NSV
22:46:41 <ehirdiphone> Someone quote that
22:46:50 <ehirdiphone> I can't type backquotes
22:47:00 <ehirdiphone> coppro: aka "unix text file"
22:47:12 <ehirdiphone> Or "unix database" :P
22:47:32 -!- oklopol has joined.
22:47:35 <coppro> those are whitespace-sparated, not NUL-separated
22:47:38 <CakeProphet> oklopol: mornin'
22:47:41 <ehirdiphone> line numbering tool to give quote numbers, grep for the search
22:47:45 <ehirdiphone> job done
22:48:01 <ehirdiphone> coppro: Not as far as grep sed awk... are concerned
22:48:01 <CakeProphet> fungot: what is love?
22:48:02 <fungot> CakeProphet: if you need a wand of undead turning is stupid. odin is usually depicted as a boy he used to describe the occasional village through which they had called it simply biter. they were not trolls but giant orcs; but the olog-hai were in proportion, and an odd color; but all accounts.' ( the fellowship of the ottoman turks, which means old god, was the reason for his master was to be fatal!
22:48:05 <ehirdiphone> Oh NUL?
22:48:12 <ehirdiphone> coppro: No need for nul
22:48:20 <ehirdiphone> Can't type \n on irc.
22:48:27 <coppro> in the file I mean
22:48:34 <coppro> oh, I suppose
22:48:39 <ehirdiphone> Why nul? Just use \n.
22:48:42 <CakeProphet> ...where does fungot get these words.
22:48:43 <fungot> CakeProphet: they say that you can wrap it round your head to ward off noxious fumes or avoid the gaze of the head of the oak root. bearing it down so far would have been driven out/ decimated by humans/ other dwarfs/ minions of the reasons for its use in hand-to-hand combat; wrap it round your head to browse on the peels.
22:48:54 <CakeProphet> ... I need to abbreviate his name
22:48:59 <ehirdiphone> Then you can use line numbering tools, grep, etc.
22:49:24 <CakeProphet> ahahaha. they say that you can wrap it round your head to ward off noxious fumes or avoid the gaze of the head of the oak root.
22:49:27 <CakeProphet> that was actually coherent.
22:49:29 <ehirdiphone> Someone please quote "Reading Herbert might be..." by fungot
22:49:29 <fungot> ehirdiphone: they say that an opulent throne room is rarely a place to wish you'd be in quiet lands, or coiling for the enormous egg, or set in another light, i saw what he had dwelt there for about thirteen years, during which time he received it, " hey guys, *wield* a lizard corpse against a cockatrice going to check on the whole course of known life from the north star. ( samurai the story of the higher branches of trees. th
22:49:31 <ehirdiphone> ais523?
22:49:38 <ehirdiphone> I can't type backquotes
22:49:40 <ais523> yes?
22:49:47 <ehirdiphone> See above
22:49:51 <ais523> oh, fungot quote
22:49:51 <fungot> ais523: killer bunnies can be harmed by domesticated canines only.
22:49:53 <ehirdiphone> Please quote etc.
22:50:01 <ehirdiphone> ...also that
22:50:12 <ais523> `addquote <fungot> CakeProphet: reading herbert might be enlightening in one hand he held a long worm can be greased. twice i got it nearly there, and the protector of cattle. mars is also mentioned as a rainbow. as a seated baboon sometimes with its head.
22:50:13 <fungot> ais523: they say that a plain nymph will be tempted to hit the ceiling!' wailed legolas. ' imp' is often written about.
22:50:14 <HackEgo> 188|<fungot> CakeProphet: reading herbert might be enlightening in one hand he held a long worm can be greased. twice i got it nearly there, and the protector of cattle. mars is also mentioned as a rainbow. as a seated baboon sometimes with its head.
22:50:19 <ais523> took a while to find in scrollback
22:50:27 <CakeProphet> wailed legolas
22:50:31 <ais523> `quote <fungot> ais523: killer bunnies can be harmed by domesticated canines only.
22:50:32 <fungot> ais523: they say that some horns play hot music and others are too graphic for the treasure their victims may be very pleased if you don't cut yourself.
22:50:33 <HackEgo> No output.
22:50:36 <CakeProphet> he has a LotR dictionary apparently.
22:50:44 <ehirdiphone> ais523: Addquote
22:50:47 <ehirdiphone> CakeProphet:
22:50:49 <ehirdiphone> style
22:50:55 <ehirdiphone> Use style command to see
22:50:57 <ais523> `addquote <fungot> ais523: killer bunnies can be harmed by domesticated canines only.
22:50:58 <fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
22:50:59 <HackEgo> 189|<fungot> ais523: killer bunnies can be harmed by domesticated canines only.
22:51:01 <ais523> ^style
22:51:02 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack* pa speeches ss wp youtube
22:51:03 <ehirdiphone> Star means current style.
22:51:10 <ehirdiphone> ais523: Also that
22:51:15 <ehirdiphone> (health food)
22:51:19 <ehirdiphone> He's on a roll!
22:51:22 <ais523> we can't have too much fungot in HackEgo...
22:51:32 <ais523> `quote <fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
22:51:34 <HackEgo> No output.
22:51:38 <ais523> `adquote <fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
22:51:39 <HackEgo> No output.
22:51:40 <ehirdiphone> Indeed. You can never have too much fungot.
22:51:40 <fungot> ehirdiphone: they say that some shopkeepers consider gems to be quite low. just keep falling!" the poor quarters of this town. in the air and over the world a grid bug won't pay a shopkeeper brings bad luck.
22:51:40 <ais523> `addquote <fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
22:51:41 <fungot> ais523: they say that the same demon, one would go endlessly along its twisting paths without ever finding the exit!
22:51:43 <HackEgo> 190|<fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
22:51:52 <ais523> I wonder how literal that is?
22:52:09 <ehirdiphone> ‘quote
22:52:10 <ehirdiphone> Bah
22:52:19 <ais523> ./dat/rumors.tru:They say that cave spiders are not considered expensive health food.
22:52:25 <ehirdiphone> What ASCII is backquote?
22:52:27 <ais523> so it's been munged quite a bit
22:52:28 <CakeProphet> ehirdiphone: can you copypasta?
22:52:34 <ais523> and 96 from memory
22:52:38 <oerjan> !haskell fromEnum '`'
22:52:39 <EgoBot> 96
22:52:42 <ais523> `c printf("%d",'`')
22:52:43 <HackEgo> No output.
22:52:50 <ais523> `c printf("%d",'`');
22:52:51 <HackEgo> No output.
22:52:55 <ais523> hmm
22:52:59 <ehirdiphone> !help
22:52:59 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
22:53:02 <ais523> !c printf("%d\n",'`');
22:53:05 <ais523> wrong bot :)
22:53:06 <EgoBot> 96
22:53:09 <ehirdiphone> !help userinterps
22:53:09 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
22:53:24 <ais523> also, I'm worried that I know the ASCII index of backquote off by heart
22:53:44 <ehirdiphone> !addinterp he sh echo -n '`'; cat
22:53:44 <EgoBot> Interpreter he installed.
22:53:46 <CakeProphet> !haskell toEnum 96 :: Char -- ???
22:53:48 <EgoBot> '`'
22:53:51 <ehirdiphone> !he quote
22:53:51 <EgoBot> `quote
22:53:53 <HackEgo> 140|<fax> oklopol geez what are you doing here <oklokok> ...i don't know :< <oklokok> i actually ate until now, although i guess i also did other things...
22:53:57 <ehirdiphone> Yay.
22:54:00 <ais523> that's ingenious
22:54:28 <oerjan> wait, HackEgo doesn't ignore EgoBot?
22:54:37 -!- augur has quit (Ping timeout: 265 seconds).
22:54:40 <CakeProphet> ^style discworld
22:54:41 <fungot> Selected style: discworld (a subset of Terry Pratchett's Discworld books)
22:54:42 <ehirdiphone> oerjan: they're a happy family.
22:54:48 <ehirdiphone> (Botloop time!)
22:54:51 <CakeProphet> What's the word, fungot?
22:54:52 <ais523> oerjan: most of the bots have ignores, but not that particular set IIRC
22:54:52 <fungot> CakeProphet: ' and who died of blood poisoning?' said
22:54:52 <oerjan> we all know what that means, right? *cackles evilly*
22:54:58 <ais523> `echo !help
22:54:59 <HackEgo> !help
22:55:04 <ais523> and I think EgoBot ignores HackEgo
22:55:10 <oerjan> darn
22:55:18 <ehirdiphone> !he echo !he echo !he echo Okay, stop!
22:55:19 <EgoBot> `echo !he echo !he echo Okay, stop!
22:55:20 <HackEgo> !he echo !he echo Okay, stop!
22:55:26 <ehirdiphone> Indeed.
22:55:34 <ehirdiphone> Aww.
22:55:53 <oerjan> `echo ^ul (test)S
22:55:54 <HackEgo> ^ul (test)S
22:56:01 <oerjan> :(
22:56:13 <ehirdiphone> fungot is the most ignory bot.
22:56:14 <fungot> ehirdiphone: ' and the sound of distant chanting followed them. lu-tze, for the professor of anthropics, who had been left between the walls.
22:56:24 <oerjan> IT WOULD APPEAR OUR PLANS HAVE BEEN THWARTED
22:56:28 <ehirdiphone> !he style irc
22:56:28 <EgoBot> `style irc
22:56:29 <ais523> clog and HackEgo don't ignore each other...
22:56:29 <fizzie> ^bf >>,[-<++>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<<[>++++++[<++++++++>-]<-.[-]<]++++++++++.!`
22:56:29 <fungot> 96.
22:56:29 <HackEgo> No output.
22:56:45 <ehirdiphone> ^style irc
22:56:45 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
22:56:50 <ehirdiphone> ais523: Yes, but...
22:56:56 <oerjan> ais523: clog doesn't send messages to the channel
22:57:06 <fizzie> ^def asc bf >>,[-<++>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<<[>++++++[<++++++++>-]<-.[-]<]++++++++++.
22:57:07 <fungot> Defined.
22:57:09 <fizzie> ^asc `
22:57:09 <fungot> 96.
22:57:10 <fizzie> ^save
22:57:10 <ais523> oerjan: I know
22:57:11 <fungot> OK.
22:57:13 <CakeProphet> !haskell let backquote = ((toEnum 96):) in print $ backquote "echo sup"
22:57:14 <ehirdiphone> Hey can someone remind me of an idea tomorrow or the day after?
22:57:15 <EgoBot> "`echo sup"
22:57:17 <fizzie> There, the first actually useful fungot command.
22:57:17 <fungot> fizzie: i mean the
22:57:18 <CakeProphet> ....ha
22:57:20 <CakeProphet> not print
22:57:27 <CakeProphet> !haskell let backquote = ((toEnum 96):) in backquote "echo sup"
22:57:28 <ais523> ^asc é
22:57:29 <EgoBot> "`echo sup"
22:57:29 <fungot> 195.
22:57:36 <ehirdiphone> fizzie: Call it ^ord
22:57:51 <ehirdiphone> And have the reverse, ^chr, if possible.
22:57:52 <fizzie> ehirdiphone: In retrospect, that would have been a better name. But I don't have an ^undef. :p
22:57:54 <CakeProphet> !haskell let backquote = ((toEnum 96):) in putStrLn $ backquote "echo sup"
22:57:56 <EgoBot> `echo sup
22:57:57 <HackEgo> sup
22:58:06 <ehirdiphone> fizzie: Eh, call it ^ord too.
22:58:14 <ehirdiphone> The more the merrier.
22:58:20 <fizzie> ^def ord bf >>,[-<++>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<<[>++++++[<++++++++>-]<-.[-]<]++++++++++.
22:58:20 <fungot> Defined.
22:58:22 <fizzie> ^save
22:58:22 <fungot> OK.
22:58:26 <fizzie> Maybe I can clean up 'asc' later.
22:58:32 <fizzie> Also maybe it should loop.
22:58:42 <CakeProphet> !python print "Test"
22:58:56 <ehirdiphone> ^ord “
22:58:56 <fungot> 226.
22:59:02 <ehirdiphone>
22:59:07 <CakeProphet> ^ord bugtest
22:59:08 <fungot> 98.
22:59:09 <ehirdiphone> fizzie: I love the .
22:59:33 <fizzie> ^def ord bf >>,[[-<++>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<<[>++++++[<++++++++>-]<-.[-]<]++++++++++++++++++++++++++++++++.[-]>>,]
22:59:33 <fungot> Defined.
22:59:36 <fizzie> ^ord bugtest
22:59:37 <fungot> 98 117 103 116 101 115 116
22:59:39 <fizzie> There.
22:59:40 <ehirdiphone> Nobody want to remind me of my idea? :P
22:59:45 <fizzie> ^save
22:59:45 <fungot> OK.
22:59:49 <ehirdiphone> fizzie: No! Add the .!
22:59:50 <CakeProphet> ....there's no way I could comprehend that bf program.
22:59:55 <CakeProphet> the nested loops are ridiculous.
23:00:05 <ehirdiphone> It was so... Decisive.
23:00:15 <cpressey> ehirdiphone: Yes, I believe you were about to tell us your idea.
23:00:15 <fizzie> It was actually a newline. :p
23:00:28 <fizzie> I can put one at the end if you like.
23:00:33 <ehirdiphone> ^def ord bf >>,[[-<++>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[-<+>[<[-]+>->+<[<-]]]]]]]]]]>]<<[>++++++[<++++++++>-]<-.[-]<]++++++++++++++++++++++++++++++++.[-]>>,].
23:00:34 <fungot> Defined.
23:00:46 <CakeProphet> !help
23:00:47 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
23:00:53 <CakeProphet> !help languages
23:00:54 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
23:01:00 <ehirdiphone> fizzie: If you could add a comma betwixt characters that'd be cool too. :P
23:01:01 <CakeProphet> !help userinterps
23:01:02 <EgoBot> userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp.
23:01:13 <ehirdiphone> cpressey: It's secret! :P
23:01:18 <ais523> what does "betwixt" actually means?
23:01:20 <CakeProphet> !addinterp
23:01:21 <EgoBot> There is already an interpreter for !
23:01:29 <ais523> *actually mean
23:01:40 <ehirdiphone> ais523: RTFDictionary :P
23:01:44 <cpressey> ehirdiphone: Why do you need reminding -- do you think you'll forget it? Do you not have access to paper?
23:01:52 <ehirdiphone> Afaik just fancy "between".
23:01:53 <ais523> `define betwixt
23:01:56 <HackEgo> No output.
23:01:57 <ehirdiphone> cpressey: Shaddap
23:01:58 <cpressey> If you don't, I would believe that, but it's very sad.
23:01:58 <CakeProphet> !userinterps
23:01:59 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc drawl drome dubya echo eehird ehird fudd funetak google graph gregor he hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh slashes svedeesh swedish valspeak warez yodawg
23:02:13 <ais523> hmm, what happened to `define?
23:02:15 <ehirdiphone> cpressey: I've paper but... Meh
23:02:16 <fizzie> ais523: Wordnet has just 1. between, betwixt -- (in the interval; "dancing all the dances with little rest between")
23:02:16 <CakeProphet> !redneck Hey guys how are you all doing?
23:02:18 <EgoBot> Hey folks how are yew all doin'?
23:02:24 <cpressey> ehirdiphone: I'm not trying to be difficult, just overly curious maybe.
23:02:58 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:03:08 <CakeProphet> !dubya Hello my name is Georgia W Bush
23:03:09 <EgoBot> Hello my name is Georgia W Bush
23:03:10 <ehirdiphone> cpressey: I don't like bringing things back. Nice to have a weekend without that crap.
23:03:21 <ehirdiphone> Plus my handwriting is horrendous.
23:03:25 <cpressey> I should maybe add a smith interpreter to egobot someday. Yeah, like I don't have enough things to do.
23:03:31 <CakeProphet> !kraut Is this kraut as in krautrock?
23:03:31 <ehirdiphone> And I am supposed to be sleeping.
23:03:32 <EgoBot> Ist das kraut as in krautrock?
23:03:49 <ehirdiphone> !kraut broken
23:03:50 <EgoBot> broken
23:03:51 <CakeProphet> !reverse surely
23:03:52 <EgoBot> ylerus
23:03:59 <ehirdiphone> ITYM "kaput"
23:04:08 <oerjan> ais523: HackEgo has never had define that i recall, you just use cat >bin/whatever
23:04:17 <ehirdiphone> ^scramble scramble in the bramble
23:04:18 <fungot> srml ntebabelmr h iebac
23:04:24 <ehirdiphone> oerjan: As in dictionary.
23:04:25 <fizzie> ^unscramble surely
23:04:25 <fungot> syulre
23:04:26 <ais523> oerjan: I mean, I thought it looked up Google Dictionary
23:04:51 <CakeProphet> !sffffffffedeesh Hello my name is CakeProphet I like to program in esoteric programming languages and make BLACK MAGIC
23:04:52 <EgoBot> Hellu my neme-a is CekePruphet I leeke-a tu prugrem in isutereec prugremmeeng lungooeges und meke-a BLECK MEGIC
23:04:55 <oerjan> ais523: oh that. all the google-based commands broke in one of google's redesigns, i thikn
23:04:59 <oerjan> *think
23:05:02 <ais523> ah
23:05:02 -!- GreaseMonkey has joined.
23:07:14 <CakeProphet> !haskell map putStrLn $ take 3 $ repeat "fungot"
23:07:15 <fungot> CakeProphet: chicken has a profiler too... of course you have to edit the makefile must support a dase, simply classify the dase list into supported by 3 implementations, 5 implementations, more implementations.
23:07:24 <oerjan> CakeProphet: mapM_
23:07:25 <CakeProphet> ....ha
23:07:28 <CakeProphet> right.
23:07:40 <CakeProphet> with an underscore? What version is that?
23:07:42 <ehirdiphone> CakeProphet: Also replicate
23:07:53 <oerjan> CakeProphet: the one that throws away the result value
23:07:53 <ehirdiphone> M (£ return
23:07:55 <ehirdiphone> ()
23:08:01 <ehirdiphone> Not m [a]
23:08:10 <oerjan> !haskell :t mapM_
23:08:11 <EgoBot> mapM_ :: (Monad m) => (a -> m b) -> [a] -> m ()
23:08:31 <oerjan> !haskell :t mapM
23:08:32 <EgoBot> mapM :: (Monad m) => (a -> m b) -> [a] -> m [b]
23:08:43 <CakeProphet> ah
23:08:51 <CakeProphet> !haskell :t replicate
23:08:52 <EgoBot> replicate :: Int -> a -> [a]
23:08:54 <CakeProphet> ah...
23:09:00 <CakeProphet> same thing.
23:09:02 <ehirdiphone> !haskell mapM_ putStrLn (replicate 3 "fungot")
23:09:03 <fungot> ehirdiphone: bf2a version 0.2?
23:09:03 <EgoBot> fungot
23:09:05 <CakeProphet> but more concise
23:09:07 <CakeProphet> !haskell mapM_ putStrLn $ take 3 $ repeat "fungot"
23:09:08 <fungot> CakeProphet: it really depends on how your keyboard is wired, certain combinations of keys to generate a content that fnord the " error"
23:09:08 <EgoBot> fungot
23:09:24 <oerjan> !haskell :t replicateM
23:09:28 <CakeProphet> oh my. fnord?
23:09:42 <CakeProphet> ....so many Haskell monad functions that I don't know very well.
23:09:46 <oerjan> that probably needs an import. although why no DCC...
23:09:55 <cpressey> It's that time again. Good evening, all.
23:10:02 -!- cpressey has quit (Quit: Leaving.).
23:10:06 <ais523> bye cpressey
23:10:16 <CakeProphet> !haskell :t Control.Monad.replicateM
23:10:18 <EgoBot> Control.Monad.replicateM :: (Monad m) => Int -> m a -> m [a]
23:10:23 <ehirdiphone> !haskell putStrLn . unwords $ replicate 3 "fungot"
23:10:23 <fungot> ehirdiphone: fnord fnord 27.00 1 fnord eest 1999 i686 unknown
23:10:24 <EgoBot> fungot fungot fungot
23:10:45 <oerjan> ah right ghci does autoimporting
23:11:04 <ehirdiphone> Bye cpressey, god inamongst men. May your ephemera persist indefinitely! Amen.
23:11:16 <CakeProphet> !haskell let spam = Control.Monad.replicateM in spam 3 $ putStr "yo dawg"
23:11:18 <EgoBot> yo dawgyo dawgyo dawg[(),(),()]
23:11:24 <Gregor-P> oerjan: HackBot always truncates its output, it's not `quote-specific.
23:11:39 <ehirdiphone> Gregor-P: You don't understand
23:11:48 <ehirdiphone> someone run quote bottle
23:12:04 <CakeProphet> see.....
23:12:09 <CakeProphet> I don't understand why all of the list functions
23:12:09 <ehirdiphone> Gregor-P: It truncated a quote to "So,".
23:12:15 <CakeProphet> aren't just monad functions in general.
23:12:22 <CakeProphet> or would that not work out?
23:12:28 <oerjan> Gregor-P: it truncated much more than usual
23:12:36 <oerjan> `quote playboy
23:12:37 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all,
23:12:43 <oerjan> `quote 186
23:12:44 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
23:12:46 <ehirdiphone> CakeProphet: Because it's nice to write purely functional list code.
23:12:55 <ehirdiphone> oerjan: !
23:12:58 <CakeProphet> well I mean.
23:12:58 <ais523> `quote ,
23:13:00 <HackEgo> No output.
23:13:04 <CakeProphet> it seems like you could merge replicate and replicateM somehow.
23:13:08 <ais523> `quote
23:13:10 <HackEgo> 116|<Dylan> s/Hebrew/senile/
23:13:12 <ais523> `quote
23:13:13 <ehirdiphone> It truncates after commas.
23:13:14 <HackEgo> 102|<Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
23:13:20 <ais523> yes, that's my current theory
23:13:22 <ais523> `quote
23:13:24 <HackEgo> 3|<Slereah> EgoBot just opened a chat session with me to say "bork bork bork"
23:14:06 <oerjan> ais523: it only truncates when you give it a string to search for
23:14:09 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
23:14:16 <ais523> quote Paris
23:14:18 <ais523> `quote Paris
23:14:20 <ais523> oerjan: I know
23:14:20 <HackEgo> 102|<Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
23:14:28 <ais523> I also suspect that in such a case, it only truncates at commas
23:14:29 -!- augur has joined.
23:14:40 <oerjan> `quote is
23:14:42 <HackEgo> 2|<Aftran> I used computational linguistics to kill her. 4|<lament> i read paths as penis :( 5|<Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. 9|<Quas_NaArt> His body should be given to science. <GKennethR>
23:14:59 <oerjan> ais523: heh it left in a comma there
23:15:04 <ais523> it did
23:15:09 <ehirdiphone> !he quote poop
23:15:10 <EgoBot> `quote poop
23:15:11 <HackEgo> 167|<alise> like, just like Id mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English <ais523> alise: thats great filler <alise> ais523: well it contains all the important words in the english language...
23:15:12 <ais523> but then, it gave multiple outut
23:15:15 <ais523> *output
23:15:21 <ehirdiphone> Id?
23:15:22 <oerjan> yep
23:15:25 <ehirdiphone> I said I'd.
23:15:36 <ehirdiphone> It cut the apostrophe.
23:15:39 <ehirdiphone> WTF.
23:15:45 <ais523> I agree on the WTF here
23:15:58 <ehirdiphone> ("I'd" can be verified on hg history page.)
23:16:01 <ais523> theory: the output's being sent over a shell unquoted
23:16:12 <CakeProphet> I bet there's some way you could make arbitrary functions pattern matchable.
23:16:24 <ehirdiphone> CakeProphet: Nope.
23:16:32 <CakeProphet> I didn't say it would be clean.
23:16:36 <ehirdiphone> !he quote ...
23:16:37 <EgoBot> `quote ...
23:16:38 <HackEgo> No output.
23:16:46 <ehirdiphone> !he quote !
23:16:46 <EgoBot> `quote !
23:16:48 <HackEgo> No output.
23:16:49 -!- coppro has quit (Remote host closed the connection).
23:16:53 <CakeProphet> what I mean to say
23:17:04 <CakeProphet> is I bet you can write code that allows /your/ functions to be pattern matchable.
23:17:19 <CakeProphet> essentially like defining an inverse for a function or something similar.
23:17:35 <ehirdiphone> addquote [backtick]echo hi[backtick]
23:17:41 <ehirdiphone> Someone run that
23:17:45 <ehirdiphone> ais523
23:17:45 <oerjan> CakeProphet: replicate and replicateM don't have compatible types, there is no way to make a monad for which m a = a exactly as types
23:17:59 <ais523> `addquote `echo hi`
23:18:02 <HackEgo> 191|`echo hi`
23:18:08 <ais523> `quote echo
23:18:10 <HackEgo> 191|`echo hi`
23:18:18 <ehirdiphone> W. T. F.
23:18:21 <ais523> `delquote 191
23:18:22 <HackEgo> No output.
23:18:27 <ehirdiphone> Someone read bin/quote.
23:18:29 <ais523> hmm, presumably you can't easily get rid of them
23:18:37 <oerjan> CakeProphet: and in fact not allowing type definitions such as type M a = a to have typeclass instances is a vital restriction to make the typeclass system decidable
23:18:42 <ehirdiphone> !he revert
23:18:43 <EgoBot> `revert
23:18:44 <HackEgo> Done.
23:18:49 <ais523> `quote 191
23:18:50 <HackEgo> 191|`echo hi`
23:19:02 <ehirdiphone> Ah. Provide revision #
23:19:06 <ehirdiphone> !he help
23:19:06 <EgoBot> `help
23:19:07 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:19:13 -!- GreaseMonkey has joined.
23:19:19 <Gregor-P> Oh, go implement your own damned `delquote
23:19:30 <oerjan> CakeProphet: oh wait hm i'm misremembering what the types are aren't i
23:19:36 <ehirdiphone> !he revert 1522
23:19:37 <EgoBot> `revert 1522
23:19:38 <HackEgo> Done.
23:19:39 <oerjan> !haskell :t replicate
23:19:41 <EgoBot> replicate :: Int -> a -> [a]
23:19:49 <oerjan> !haskell :t Control.Monad.replicateM
23:19:50 <EgoBot> Control.Monad.replicateM :: (Monad m) => Int -> m a -> m [a]
23:19:58 <ehirdiphone> Gregor-P: Fix the bot :|
23:20:09 <oerjan> CakeProphet: ah no that's exactly what i said
23:20:18 <CakeProphet> oerjan: couldn't tell you. :)
23:21:29 <ais523> hmm, the cause of the market crash on May 6 was discovered, and it's hilarious
23:22:11 <oerjan> `cat bin/quote
23:22:12 <HackEgo> #!/bin/bash \ DB="sqlite3 quotes/quote.db" \ \ if [ "$1" ] \ then \ ARG=$1 \ ID=$((ARG+0)) \ if [ "$ID" = "$ARG" ] \ then \ $DB 'SELECT id,quote FROM quotes WHERE id='$ID \ else \ ARG=`echo "$ARG" | sed 's/'\''/'\'\''/g'` \ $DB 'SELECT id,quote FROM quotes WHERE quote LIKE
23:22:30 <ehirdiphone> oerjan: Use the repo viewer
23:22:32 <ais523> basically, it seems that the high-frequency computer traders hit on the ingenious idea of rapidly posting huge numbers of trade requests that wouldn't be fulfilled because they were miles outside the normal trade rates, in an attempt to DOS their competitors
23:22:35 <ehirdiphone> !he help
23:22:35 <EgoBot> `help
23:22:36 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:23:09 <CakeProphet> (adds to the disorienting conversation throughput) fungot
23:23:10 <fungot> CakeProphet: so you meant " only it doesn't work :( too hard... afk then :) if you can write the mean of a list
23:23:23 <ehirdiphone> ais523: It's basically nuclear war over ethernet...
23:23:39 <CakeProphet> ha. if you can write the mean of a list.
23:23:54 <ais523> yes, anyway there was apparently a small swing in the market that meant some of these crazy trades were accepted
23:23:58 <ais523> and it all went insane from there
23:24:11 <ais523> also, the markets were lagging due to everyone trying to DOS each other
23:25:49 <ehirdiphone> So.
23:26:10 <oerjan> `tail bin/quote
23:26:11 <HackEgo> $DB 'SELECT id,quote FROM quotes WHERE id='$ID \ else \ ARG=`echo "$ARG" | sed 's/'\''/'\'\''/g'` \ $DB 'SELECT id,quote FROM quotes WHERE quote LIKE '\''%'"$ARG"'%'\' | xargs echo \ fi \ \ else \ $DB 'SELECT id,quote FROM quotes ORDER BY RANDOM() LIMIT 1' \ \ fi
23:26:26 <CakeProphet> can type declarations in Haskell be recursive as long as they terminate?
23:26:45 -!- coppro has joined.
23:26:46 <CakeProphet> type, for clarification, not data.
23:26:47 <oerjan> CakeProphet: how could they possibly terminate?
23:27:07 <CakeProphet> oerjan: hmmm, well if you give them parameters and pattern matching.
23:27:25 <oerjan> _example_ please
23:27:25 <CakeProphet> they could terminate then, technically.
23:28:26 <CakeProphet> hmmm... I was going to try Peano arithmetic but I am trouble formulating how it would work. I think what I had in mind is dependent types, actually.
23:29:04 <oerjan> ais523: it seems that case gets sent through xargs echo
23:29:18 -!- tombom has quit (Quit: Leaving).
23:29:23 <ais523> that wouldn't break on commas, though, or delete single quotes
23:29:40 <ais523> hmm, perhaps it's going through a round of SQL unescaping, or something like that?
23:29:57 <coppro> could be
23:30:42 <CakeProphet> type Zero; type
23:30:43 <CakeProphet> ...er
23:30:45 <CakeProphet> disregard
23:31:11 <ehirdiphone> CakeProphet is reinventing type theory. Badly.
23:31:13 <oerjan> `grep xargs bin/quote
23:31:15 <HackEgo> No output.
23:31:23 <oerjan> `run grep xargs bin/quote
23:31:24 <HackEgo> $DB 'SELECT id,quote FROM quotes WHERE quote LIKE '\''%'"$ARG"'%'\' | xargs echo
23:31:31 <ehirdiphone> !he help
23:31:31 <EgoBot> `help
23:31:32 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
23:31:37 <ehirdiphone> Just look at the file!
23:32:22 <oerjan> `run sed 's/xargs echo/fmt -w500' bin/quote > bin/quote2
23:32:23 <HackEgo> No output.
23:32:30 <oerjan> `ls bin/quote2
23:32:34 <HackEgo> bin/quote2
23:32:44 <oerjan> `chmod +x bin/quote2
23:32:47 <HackEgo> No output.
23:32:50 <oerjan> er
23:32:54 <oerjan> `run chmod +x bin/quote2
23:32:55 <HackEgo> No output.
23:32:57 <ehirdiphone> !he quote2 bottle
23:32:59 <EgoBot> `quote2 bottle
23:33:00 <HackEgo> No output.
23:33:05 <oerjan> what
23:33:13 <ehirdiphone> !he quote2
23:33:13 <EgoBot> `quote2
23:33:15 <HackEgo> No output.
23:33:16 <oerjan> `cat bin/quote2
23:33:18 <HackEgo> No output.
23:33:22 <oerjan> sheesh
23:33:23 <ehirdiphone> wat.
23:33:32 <CakeProphet> type Zero; type Succ a; type Add Zero y = y; Add x Zero = x; Add x (Succ b) = Add (Succ x) b
23:33:35 <CakeProphet> :)
23:33:38 <oerjan> oh hm
23:33:47 <ehirdiphone> oerjan: Sed error
23:33:52 <ehirdiphone> You forgot /
23:34:00 <oerjan> oh
23:34:06 <ehirdiphone> CakeProphet: Type families can do this
23:34:10 <oerjan> `run sed 's/xargs echo/fmt -w500/' bin/quote > bin/quote2
23:34:11 <ehirdiphone> In recent ghc
23:34:12 <HackEgo> No output.
23:34:22 <oerjan> `quote2 bottle
23:34:22 <CakeProphet> ehirdiphone: type families?
23:34:24 <HackEgo> 131|<Warrigal> So, I'm inside a bottle which is being carried by a robot. 159|<soupdragon> if you claim that the universe is more than 3D the burden of proof is on you to produce a klien bottle that doesn't self intersect <soupdragon> ^ I learned that trick from atheists
23:34:38 <oerjan> `run mv bin/quote2 bin/quote
23:34:39 <HackEgo> No output.
23:34:40 <ehirdiphone> CakeProphet: Google it.
23:34:49 <ehirdiphone> !he quote sexy
23:34:50 <EgoBot> `quote sexy
23:34:52 <HackEgo> 109|<Warrigal> What do you call the husband of my first cousin once removed? <apollo> Warrigal: "Hey, Sexy."
23:34:55 <oerjan> `quote playboy
23:34:56 <HackEgo> 186|<ais523> reading playboy for the articles actually seems plausible nowadays <ais523> after all, there's porn all over the internet, why would you /pay/ for it
23:35:00 <ehirdiphone> Sexy quote system!
23:35:00 <CakeProphet> ehirdiphone: Google is destroying conversations all over the world. :(
23:35:02 * CakeProphet googles it.
23:35:16 <oerjan> ais523: it would appear the xargs echo _was_ the culprit
23:35:22 <ais523> apparently so
23:35:45 <ehirdiphone> Elementary, my dear Watson.
23:36:04 <CakeProphet> ehirdiphone: oh. neat.
23:36:30 <ehirdiphone> CakeProphet: http://ehird.blogspot.com/
23:36:35 <ehirdiphone> has arithmetic
23:36:48 <ehirdiphone> Some parts are broken as I note in the post
23:37:13 <ehirdiphone> http://ehird.blogspot.com/2010/01/computing-fib3-in-haskells-type-system.html
23:37:15 <oerjan> Gregor-P: ok we actually _did_ fix a command ourselves. happy? :D
23:37:54 <coppro> ehirdiphone: C++ templates do too :P
23:38:43 <Gregor-P> oerjan: Monkeypatching doesn't count X-P
23:39:38 <ehirdiphone> Gregor-P: That's not what monkeypatching is; and quit whining.
23:40:30 <Gregor-P> That is what monkeypatching is though...
23:42:09 <ehirdiphone> No.
23:42:13 <Sgeo_> The Futurama admins are Reddit fans
23:42:25 <Sgeo_> Erm, the Reddit admins are Futurama fans
23:42:34 <ehirdiphone> Monkeypatching is a program modifying functions or a class it does not own at runtime.
23:42:45 <CakeProphet> ehirdiphone: What extension allows instance (N n) => N (S n)
23:42:48 <ehirdiphone> What you refer to is 'patching'.
23:42:55 <ehirdiphone> CakeProphet: None.
23:43:09 <ehirdiphone> It's valid Haskell '98.
23:43:37 <CakeProphet> oh... hmm. I've just never seen an instance declaration like that. Or maybe my brain is dead right now.
23:44:01 <CakeProphet> oh I see... nevermind.
23:44:15 <CakeProphet> the class constraint and single-character variables were confusing me.
23:44:16 <oerjan> CakeProphet: try the Show instance for lists
23:44:56 <CakeProphet> essentially (S n) is an instance of N as long as n is an instance of N. got it.
23:45:33 <CakeProphet> does Haskell 98 allow the instance/typeclass declarations to be empty like that?
23:46:36 <oerjan> CakeProphet: i don't recall
23:48:19 <oerjan> haskell 98 does have some braindead restrictions though, for example instance (N n) => N (S Int n) is invalid, only variables are permitted inside S
23:48:34 -!- jix has quit (Read error: No route to host).
23:51:45 <CakeProphet> ehirdiphone: would having two declarations for Show fix the overlapping instances thing?
23:53:21 <ehirdiphone> L3£eh!eh!
23:53:25 <ehirdiphone> Eh?
23:53:55 <oerjan> um having two declarations that overlap is usually what _causes_ it, n'est pas?
23:54:37 <ehirdiphone> CakeProphet: Just use toNum
23:54:45 <ehirdiphone> And rip out the show stuff.
23:55:02 <ehirdiphone> It can be made to work but meh.
23:59:09 <CakeProphet> I now want to implement linked lists with types. :)
2010-06-25
00:01:55 <ehirdiphone> Good night
00:02:14 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:09:21 <CakeProphet> the implications are huge
00:09:45 <CakeProphet> think of all the time you'll save hacking together adhoc computation systems... and the efficiency boost from all that compile-time computation!
00:11:59 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
00:12:35 <Sgeo_> Every decent compiler does compile-time computation
00:12:48 <Sgeo_> Recomputing, say, 60 * 5 each execution is idiotic
00:13:01 <Sgeo_> Note that I do not consider the LSL compiler to be "decent"
00:13:26 <pikhq> It's software from Linden Labs. "Decent" is not something they do.
00:13:28 <ais523> Sgeo_: what if the definitions of 60 and 5 change? or *?
00:13:32 <ais523> I have to go home, anyway
00:13:35 -!- ais523 has quit (Remote host closed the connection).
00:13:47 <pikhq> Also: hi people. I can has had slept now
00:25:04 -!- jix has joined.
00:32:27 <CakeProphet> In a note posted on the Free Software Foundation's news website in June 2009, Richard Stallman warned that he believes "Microsoft is probably planning to force all free C# implementations underground some day using software patents" and recommended that developers avoid taking what he described as the "gratuitous risk" associated with "depend[ing] on the free C# implementations", including Mono
00:33:19 <pikhq> RMS warns about dangers of software patents. In other news, Linus Torvalds continues to maintain Linux.
00:33:51 <CakeProphet> haha.
00:34:33 <CakeProphet> Subsequently, the Free Software Foundation reiterated its warnings,[36] claiming that the extension of Microsoft Community Promise to the C# and the CLI ECMA specifications[37] would not prevent Microsoft from harming open source implementations of C#, because many specific Windows libraries included with .NET or Mono were not covered by this promise, examples include regular expressions and XML which the FSF considers now dangero
00:34:43 <CakeProphet> hahaha... I can see XML being dangerous. but regular expressions? Come on.
00:36:32 <CakeProphet> These warnings, however, were countered by Miguel de Icaza on the GNOME Foundation mailing-list[39], saying That article now leads us to believe that there is something "magical" about the way that Microsoft implements regular expressions or how they implemented XSLT and XPath. If you cant find prior art for that, you probably should leave the software industry while you are still ahead.
00:36:44 <CakeProphet> I bet there /is/ something magical about the way Microsoft implements regex.
00:36:47 <CakeProphet> very magical.
00:39:05 <CakeProphet> has anyone used F#. I kind of looks awful to me but I don't much about it.
00:39:09 <CakeProphet> *it
00:39:10 -!- coppro has quit (Remote host closed the connection).
00:40:38 -!- Rafajafar has joined.
00:41:34 <Rafajafar> I've been directed here from #math
00:41:41 <oerjan> ah
00:41:57 <Rafajafar> they said you guys would understand more of what I'm saying, that you're all really bright, and very snarky :-)
00:42:23 <oerjan> snark? here? what lying scum told you that?
00:42:31 <Rafajafar> is there anyone here willing to discuss something I figured out about the nature of the Nth prime problem?
00:42:41 <oerjan> oh wait. someone hide the topic, QUICKLY
00:42:54 <oerjan> _possibly_
00:43:01 <Rafajafar> I basically have shown that the problem is essentially a "circular square"
00:43:07 <oerjan> what's the Nth prime problem...
00:43:18 <Rafajafar> that its very definition undermines its existence
00:43:29 <Rafajafar> wonderful! Allow me to explain that problem
00:43:57 <Rafajafar> the Nth prime problem is as such... is there a formula which will map all natural numbers to a corresponding prime
00:43:58 <oerjan> hm that reminds me of something i read on a blog just the other day
00:44:09 <oerjan> in order?
00:44:19 <Rafajafar> in other words, is there a function Mu(n) where n is a naturual number and its out put is the Nth prime in the number line
00:44:26 <Rafajafar> yes in order
00:44:48 <oerjan> ah it was http://scienceblogs.com/goodmath/
00:44:54 <oerjan> (ulam spiral)
00:45:17 <pikhq> I am pretty darned certain that there exists such a function, yes.
00:45:23 <Rafajafar> it's one of the oldest as most difficult unsolved problems in mathematics
00:45:26 <Rafajafar> well I was too
00:45:30 <Rafajafar> for 8 years I looked of it
00:45:39 <Rafajafar> I looked *for it
00:45:54 <oerjan> there definitely is a _function_. whether there's any formula/algorithm for quickly calculating it, is a different matter.
00:46:11 <Rafajafar> why do you say there definitely is a function
00:46:21 <Rafajafar> b/c there isnt at this time
00:46:22 <pikhq> Just a sec while I write it in Haskell.
00:46:29 <Rafajafar> that's not the Nth prime formula
00:46:42 <Rafajafar> you're talking about the sieve solutions
00:46:46 <Rafajafar> that's not the same
00:47:04 <Rafajafar> that is to find all primes under X, then you build a list of primes
00:47:15 <Rafajafar> then pick the Nth prime from that list
00:47:35 <Rafajafar> the Nth prime formula is you're given the number n and it returns the corresponding prime
00:48:06 <oerjan> Rafajafar: yes. that is a completely permissible function _and_ algorithm for computing that function, by all relevant mathematical definitions. it's just not very efficient.
00:48:11 <Rafajafar> very different, apples and oranges (and your haskell implementation of the sieve will be very inefficient if you used functional programming... just food for thought)
00:48:53 <Rafajafar> oerjan: wrong, that is a completely different function and algorithm and it is not the problem I'm discussing
00:49:26 <pikhq> mu = let primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p)) xs in (primes!!)
00:49:57 <pikhq> Rafajafar: You asked for a function from a natural to the Nth prime.
00:50:01 <pikhq> I have implemented such a function.
00:50:06 <CakeProphet> pikhq: I always prefer where over let. Looks so much clearer.
00:50:29 <Gregor-P> Moo
00:50:33 <oerjan> Rafajafar: it appears that you are not well acquainted with what mathematics considers a function to be.
00:50:41 <pikhq> Now, I *strongly* believe that you need to clarify your definition of the Nth prime problem, as, as it stands, it is trivially given.
00:51:59 <oerjan> Rafajafar: of course there can be _many_ algorithms for computing a given function, but all ways of computing the nth prime compute the same function
00:52:00 <Rafajafar> oerjan: actually, I think you are at this point
00:52:03 <Rafajafar> but anyway
00:52:31 <Rafajafar> to clarify the problem, we're not looking for the output to be a list of primes
00:52:36 <CakeProphet> btw... shits about to get intense.
00:52:43 <oerjan> Rafajafar: i'm sorry, but i think you are trolling. also, i have a math phd.
00:52:43 <pikhq> And my implementation of "mu" does not have this.
00:52:47 <CakeProphet> "inb4"
00:52:57 <pikhq> !haskell let mu = let primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p)) xs in (primes!!) in mu 0
00:53:09 <pikhq> FUCK YOU EGOBOT
00:53:18 <oerjan> !help
00:53:19 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
00:53:42 <Rafajafar> I'm trying to figure out how to phrase this without getting reamed at this point
00:53:44 <Rafajafar> give me a moment
00:53:58 <pikhq> !haskell let primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p)) xs;mu = (primes!!)in mu 0
00:54:08 <CakeProphet> From what I can tell, you just want to do the same thing without computing it recursively/iteratively/whatever
00:54:15 <pikhq> !haskell let primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p)) xs;mu = (primes!!) in mu 0
00:54:16 <CakeProphet> like a magical formula or something?
00:54:23 <Rafajafar> that is the problem, correct
00:54:38 <Rafajafar> we're trying to find a "connection" from one prime to the next
00:54:50 <Rafajafar> w/o scanning all numbers to figure out if something is prime
00:54:56 <CakeProphet> that sounds much more challenging then.
00:55:06 <Rafajafar> yes, I'm very sorry I did not explain it well
00:55:18 <pikhq> !haskell let primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p))) xs;mu = (primes!!) in mu 0
00:55:32 <Rafajafar> the input is a natural number, the out put is that number's corresponding prime
00:55:38 <Rafajafar> *output
00:56:01 <Rafajafar> so Mu(1) = 2, Mu(2) = 3 Mu(4) = 5... etc
00:56:05 <pikhq> !haskell let {primes = sieve [2..];sieve (p:xs) = p : sieve (filter ((/=0).(`mod`p))) xs; mu = (primes!!)} in mu 0
00:56:05 <CakeProphet> right.
00:56:22 <Rafajafar> if you have to scan all primes, you must "know" all primes before you can find the Nth prime
00:56:23 <pikhq> ... Egobot just told me fungot.
00:56:23 <fungot> pikhq: me badly needs sleep to complete it properly ( yet).
00:56:41 <CakeProphet> pikhq: hmmm, maybe it would be easier to switch the let to a where?
00:56:53 <CakeProphet> and that would fix some kind of syntax problem that I currently cannot identify?
00:56:56 <pikhq> CakeProphet: No.
00:57:06 <pikhq> CakeProphet: I cannot type the requisite newline for where.
00:57:22 <pikhq> Rafajafar: No.
00:57:32 <Rafajafar> and oerjan: I'm sorry, I just re-read, I think we had a miscommunication on my part
00:57:44 <pikhq> Rafajafar: In this version, one need know the first N primes.
00:57:45 <CakeProphet> Rafajafar: well, by that description alone such a thing can already be done. But that's not /all/ you seem to be asking for. You are looking for a different method of finding primes that relies on an intrinsic, incremental property rather than a test.
00:57:56 <CakeProphet> pikhq: requisite newline?
00:58:27 <CakeProphet> !haskell putStrLn src ++ (show src) where src = "putStrLn src ++ (show src) where"
00:58:28 <Rafajafar> correct CakeProphet
00:58:40 <CakeProphet> Rafajafar: but I can't think of a way to describe that formally.
00:58:43 <Rafajafar> if we were to find a "pattern in primes"
00:59:01 <CakeProphet> !haskell putStrLn $ src ++ (show src) where src = "putStrLn $ src ++ (show src) where "
00:59:05 <Rafajafar> then well, all encryption would break overnight lol
00:59:07 <CakeProphet> :(
00:59:11 <CakeProphet> !haskell print "test"
00:59:13 <EgoBot> "test"
00:59:16 <CakeProphet> okay. haha.
01:00:32 <Rafajafar> *sigh* so I really want to have a discussion, because I think I've shown that either A) there is no such pattern or B) if that pattern were to exist, it could not be defined using multiplication or any multiplication-derived operation
01:01:22 -!- augur has quit (Ping timeout: 245 seconds).
01:01:25 <Rafajafar> I *really* want to have someone poke holes in the idea too
01:01:39 <oerjan> Rafajafar: it is quite likely that you are correct that this is a hard, possibly impossible function to calculate effectively. it's inverse function is essentially the one at http://en.wikipedia.org/wiki/Prime-counting_function. moreover approximating it well is connected with the riemann hypothesis, one of the most famous unsolved problems in all of mathematics.
01:02:06 <CakeProphet> !haskell putStrLn (src ++ (show src)) where src = "putStrLn (src ++ (show src)) where src = "
01:02:06 <Rafajafar> oerjan: yes!
01:02:15 -!- coppro has joined.
01:02:17 <CakeProphet> ....I don't understand why that program is not working.
01:02:39 <Sgeo_> Isn't src already a string?
01:02:47 <CakeProphet> show would give it the quotes
01:02:53 <CakeProphet> for a quine.
01:03:07 <CakeProphet> I could have sworn I typed in the exact same thing just a while ago and it worked.
01:03:08 <Sgeo_> Ah
01:03:11 <CakeProphet> lemme check my original.
01:03:23 <Rafajafar> !haskell iterate (*2) 1
01:03:35 <CakeProphet> oh... duh. I know why
01:03:36 <Sgeo_> !haskell putStrLn "If you can't see this, the bot is down"
01:03:41 <EgoBot> If you can't see this, the bot is down
01:03:58 <CakeProphet> !haskell main = putStrLn (src ++ (show src)) where src = "main = putStrLn (src ++ (show src)) where src = "
01:04:01 <EgoBot> main = putStrLn (src ++ (show src)) where src = "main = putStrLn (src ++ (show src)) where src = "
01:04:03 <CakeProphet> there we go
01:04:11 <CakeProphet> forgot you can't have a where binding outside of a function definition. :)
01:04:43 <Rafajafar> !haskell pascal = iterate (\row -> zipWith (+) ([0] ++ row) (row ++ [0])) [1]
01:05:01 <CakeProphet> !haskell :t iterate
01:05:03 <EgoBot> iterate :: (a -> a) -> a -> [a]
01:05:17 <CakeProphet> !haskell take 10 $ iterate (+3) 2
01:05:18 <EgoBot> [2,5,8,11,14,17,20,23,26,29]
01:05:24 <oerjan> CakeProphet: EgoBot doesn't deal with infinite output well, you need to use take to cut it off somewhere.
01:05:33 <CakeProphet> Rafajafar: your program will never terminate because iterate constructs an infinite list.
01:05:54 <CakeProphet> oerjan: you are too late. :P
01:05:55 <Rafajafar> yah
01:06:17 <Rafajafar> wanted to see what would happen, I got an error msged to me
01:06:23 <pikhq> CakeProphet: His program will never do anything because the act of just defining something has no side effects.
01:06:23 <CakeProphet> Rafajafar: LambdaBot over in #haskell is fancy and will terminate it for you, I believe.
01:06:26 <pikhq> :P
01:06:43 <CakeProphet> pikhq: well... there's an implied print.
01:06:46 <CakeProphet> in this case.
01:06:53 <CakeProphet> pikhq: WAY TO BE PEDANTIC
01:07:24 <CakeProphet> (I think)
01:08:00 <Rafajafar> haskell is a goofy language, a bit too obfuscated for production stuff... I'll stick with perl (LMAO)
01:08:42 <Rafajafar> sooo, any brilliant logicians with a math background want to listen to the ramblings of a computer scientist, oerjan?
01:09:04 <CakeProphet> !haskell main = (\src -> putStrLn ( src ++ (show src))) $ "main = (\src -> putStrLn (src ++ (show src))) $ "
01:09:27 * oerjan isn't sure if he is brilliant enough for this, but shoot
01:10:24 <CakeProphet> Rafajafar: ha. Perl for production stuff. Surely you're joking. :D
01:10:36 <Rafajafar> not really at all
01:10:43 <Rafajafar> it's come a long way since 1994
01:10:48 <Rafajafar> ;-)
01:10:51 <oerjan> i note that that the algorithms on that wp page improve on the sieve somewhat, but that it still doesn't seem _fast_
01:10:51 <CakeProphet> sort of.
01:11:05 <Rafajafar> I pay the bills with Web Development
01:11:15 <Rafajafar> look into the Catalyst Framework
01:11:30 <CakeProphet> I think proving the impossibility of such a thing would be the route to take.
01:12:10 <Rafajafar> oerjan: there's known problems with functional programming being able to write efficient sieves ... you can write one, it just will not be as fast as procedural languages
01:12:39 <Sgeo_> You can write imperative code in Haskell, iirc
01:12:44 <Rafajafar> if they solve some parrelel programming issues, then it'll be fixed with a quickness
01:12:46 <Rafajafar> you can
01:13:10 <CakeProphet> I actually don't know the sieve algorithm so I can't really discuss this.
01:14:11 <CakeProphet> a look at the little animated graphic on the wikipedia page was /not/ helpful.
01:14:19 <CakeProphet> colors, circles, and x's EVERYWHERE
01:14:39 <oerjan> Rafajafar: well i've read that naive functional implementations of the sieve aren't really like the sieve, at least (do far too much)
01:14:52 <oerjan> *much work
01:15:30 <Sgeo_> Are there languages where most "naive" implementations are actually ok ones?
01:15:34 <Rafajafar> I've read a few papers where they knock a couple orders out, but it still doesnt come close... you have to either sacrifice runtime memory or speed... it's a direct tradeoff
01:15:46 <CakeProphet> In 2008, Melissa O'Neill showed that the complexity of Turner's algorithm is significantly worse than the complexity of the classic imperative renditions of the sieve.[7] O'Neill demonstrated a priority queue based rendition of the sieve of Eratosthenes in Haskell with complexity similar to that of the classic imperative implementations.
01:15:55 <CakeProphet> lol I cun lurk wp
01:19:48 <Rafajafar> ok so I have my explanation of what I'm talking about dealing with the Nth prime issue stuck up online
01:19:53 <Rafajafar> it's an IRC chat
01:19:54 <CakeProphet> !haskell primes = sieve [2..] where sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0]; main = print $ take 10 $ primes
01:19:58 <Rafajafar> scroll down
01:19:59 <Rafajafar> http://onlinekarma.net/primes.html
01:22:08 <CakeProphet> !haskell main = putStrLn $ take 10 $ primes where primes = sieve [2..]; sieve [] = undefined; sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0]
01:22:17 <CakeProphet> !haskell main = print $ take 10 $ primes where primes = sieve [2..]; sieve [] = undefined; sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0]
01:22:20 <EgoBot> [2,3,5,7,11,13,17,19,23,29]
01:22:24 <CakeProphet> there we go.
01:22:28 * CakeProphet is pleased.
01:25:58 <CakeProphet> !haskell main = print $ f 5 where f n = do {x <- [1..n]; y <- [1..n]; [x*y]}
01:26:01 <EgoBot> [1,2,3,4,5,2,4,6,8,10,3,6,9,12,15,4,8,12,16,20,5,10,15,20,25]
01:26:50 <CakeProphet> list-the-monad would be so much better if concatMap weren't terrible.
01:29:11 -!- AnMaster_ has joined.
01:29:21 -!- AnMaster has quit (Read error: Operation timed out).
01:29:34 -!- jix has quit (Quit: Lost terminal).
01:30:08 <CakeProphet> !haskell :t (>>=)
01:30:10 <EgoBot> (>>=) :: (Monad m) => m a -> (a -> m b) -> m b
01:31:05 <Rafajafar> I also have some notes I took
01:31:07 <Rafajafar> http://onlinekarma.net/Prime%20Number%20Independence%20Theorem.pdf
01:31:47 <CakeProphet> isn't there a particular form of (->) that is an instance of monad?
01:31:48 <Rafajafar> oerjan: still there?
01:32:37 -!- pikhq_ has joined.
01:33:24 -!- oerjan_ has joined.
01:35:20 -!- oerjan has quit (*.net *.split).
01:35:20 -!- pikhq has quit (*.net *.split).
01:35:20 -!- Deewiant has quit (*.net *.split).
01:35:21 -!- Adrian^L has quit (*.net *.split).
01:35:33 -!- Adrian^L has joined.
01:35:55 -!- oerjan_ has changed nick to oerjan.
01:36:29 -!- pikhq_ has changed nick to pikhq.
01:36:51 <oerjan> CakeProphet: (->) e is a monad if you import Control.Monad.Reader
01:37:52 <CakeProphet> oerjan: ah.
01:39:43 <CakeProphet> oerjan: hmmm... how does one get a value of type (->) e?
01:41:07 <oerjan> you don't, it has kind * -> * so you need a final type to it (as for all monads)
01:41:39 <CakeProphet> oh right. I forgot how that works exactly.
01:41:40 <CakeProphet> hmmm...
01:41:45 <CakeProphet> so basically
01:41:49 <CakeProphet> only the input type is concerned
01:41:53 <CakeProphet> with the monad operators.
01:42:18 <CakeProphet> or am I missing something about how instances work?
01:42:57 <CakeProphet> oh... nevermind I've got it.
01:43:06 <CakeProphet> you just substitue in (->) e for "m"
01:43:47 <oerjan> yeah
01:44:02 <CakeProphet> the type parameters were confusing me. :P
01:45:18 <CakeProphet> hmmm so....
01:47:56 <CakeProphet> f >>= g = (\k -> g (f k) k) -- ???
01:48:29 <CakeProphet> that's what it's doing for (+3)>>=(+) at least
01:48:42 -!- AnMaster_ has quit (Read error: Operation timed out).
01:49:50 <CakeProphet> hmmm... no
01:50:26 <oerjan> that is correct iirc
01:50:58 -!- Sgeo_ has quit (*.net *.split).
01:50:58 -!- Gregor-P has quit (*.net *.split).
01:50:59 -!- Mathnerd314 has quit (*.net *.split).
01:50:59 -!- olsner has quit (*.net *.split).
01:51:20 <CakeProphet> Prelude Control.Monad.Reader> (head>>=(:)) [3]
01:51:20 <CakeProphet> [3,3]
01:51:48 <CakeProphet> interesting.
01:52:13 -!- augur has joined.
01:52:13 -!- Sgeo_ has joined.
01:52:13 -!- Gregor-P has joined.
01:52:13 -!- Mathnerd314 has joined.
01:52:13 -!- olsner has joined.
01:52:15 -!- yiyus has quit (Ping timeout: 240 seconds).
01:53:10 -!- augur has changed nick to Guest59384.
01:53:38 <CakeProphet> so it's kind of like a partial application monad
01:56:54 <CakeProphet> actually.. no
01:56:57 <CakeProphet> it's just really weird. :P
01:57:06 <CakeProphet> I assume it has some use in Reader.
02:00:40 <CakeProphet> Prelude Control.Monad.Reader> (do {f <- head; (f:)}) [3]
02:00:41 <CakeProphet> [3,3]
02:00:43 <CakeProphet> weird
02:01:27 <CakeProphet> so [3] is applied to both f and the function returned by the do-block
02:03:57 <CakeProphet> .....why
02:04:19 -!- Guest59384 has changed nick to augur_.
02:13:00 -!- augur_ has changed nick to augur.
02:13:24 <oerjan> CakeProphet: it's in reader because it's really isomorphic to the Reader monad which is also defined there
02:14:02 <oerjan> it's also "useful" for doing point-free programming tricks
02:14:28 <oerjan> (lambdabot uses it a lot in its @free command)
02:14:29 -!- yiyus has joined.
02:14:44 <oerjan> (not sure i recall the name correctly)
02:15:00 <oerjan> oh @pl iirc
02:15:06 -!- coppro has quit (Read error: Operation timed out).
02:16:46 -!- coppro has joined.
02:20:42 -!- maedhros777 has joined.
02:22:28 <maedhros777> Anyone know if there's something wrong with this compiler? http://esoteric.voxelperfect.net/wiki/Fugue_Compiler
02:22:55 <maedhros777> I tried running the binary it generated and the result I got was "bash: ./hworld.obj: cannot execute binary file"
02:24:19 <maedhros777> So I tried generating the disassembly, but it's in CSV
02:24:22 <maedhros777> I can't run it
02:24:44 -!- pikhq has quit (Read error: Connection reset by peer).
02:25:53 -!- pikhq has joined.
02:34:34 -!- Rafajafar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.3/20100401080539]).
02:41:27 <maedhros777> Any ideas?
02:43:01 -!- CakeProphet has quit (Ping timeout: 264 seconds).
02:43:44 <maedhros777> Actually, I might just try http://esoteric.voxelperfect.net/wiki/Velato instead
02:43:57 <maedhros777> I like its "Hello, world" :D
02:45:21 -!- augur has quit (Ping timeout: 265 seconds).
02:45:21 -!- wareya has quit (Read error: Connection reset by peer).
02:46:08 -!- wareya has joined.
02:46:59 -!- maedhros777 has quit (Remote host closed the connection).
02:54:58 -!- CakeProphet has joined.
02:55:42 -!- Rafajafar has joined.
02:55:50 <Rafajafar> hello!
02:57:37 -!- SgeoN1 has joined.
03:06:39 <CakeProphet> Rafajafar: howdy.
03:06:45 <CakeProphet> interested in esoteric languages?
03:06:56 <Rafajafar> yes
03:07:01 <Rafajafar> I'm interested in all languages
03:07:24 <CakeProphet> have you seen FRACTRAN?
03:07:30 <Rafajafar> nope
03:07:32 <CakeProphet> it involved primes so I believe it is up your alley.
03:07:38 <Rafajafar> learned brainf*ck a while back
03:07:56 <CakeProphet> http://esoteric.voxelperfect.net/wiki/Fractran
03:08:36 <Rafajafar> oh I've read this on reddit
03:11:24 <oerjan> heh fractran does indeed depend on primes and multiplication
03:12:22 <Gregor> AnMaster: You're not online, but I guess you know that.
03:17:58 -!- coppro has quit (Ping timeout: 252 seconds).
03:20:07 * uorygl tests this connection's lag, by typing.
03:20:10 <uorygl> Acceptable.
03:20:27 * uorygl tests it some more, by typing some more.
03:20:32 <uorygl> Barely acceptable.
03:21:04 <uorygl> I can type faster than the packets can get to the destination and back!
03:21:06 <uorygl> </type error>
03:26:32 -!- augur has joined.
03:40:56 -!- GreaseMonkey has joined.
03:45:41 -!- GreaseMonkey has quit (Client Quit).
03:45:41 -!- AnMaster has joined.
03:49:03 <Rafajafar> hmm sorry CakeProphet
03:49:22 <Rafajafar> I had to go help my girl make a menu for a big job offer she just got
03:50:05 <Rafajafar> Fractran is interest
03:59:47 -!- augur has quit (Ping timeout: 265 seconds).
04:09:48 -!- GreaseMonkey has joined.
04:11:43 -!- zzo38 has joined.
04:14:18 <zzo38> Now I want to invent a feat called "MERCIFUL TO GIBBERING MOUTHERS", and a spell of the same name (but not necessarily the same effect). (Note: There is a power and a feat both called "Animal Affinity" but they are unrelated to eachother)
04:16:42 -!- SgeoN1 has quit (Ping timeout: 265 seconds).
04:17:29 -!- GreaseMonkey has quit (Remote host closed the connection).
04:18:08 -!- GreaseMonkey has joined.
04:21:15 <zzo38> But I don't know what to write
04:33:21 -!- Gregor has quit (Remote host closed the connection).
04:33:27 -!- augur has joined.
04:33:52 -!- yiyus has quit (Ping timeout: 252 seconds).
04:34:45 -!- Gregor has joined.
04:35:59 -!- yiyus has joined.
04:36:23 <Gregor> AnMaster: http://codu.org/tmp/pianopano3.jpeg
04:46:13 <uorygl> Gregor: say, you said once that you're in a closed time loop.
04:46:26 <uorygl> So, assuming you were telling the truth...
04:46:35 <Gregor> Which of course I am.
04:46:42 <uorygl> Do you generally remember what's about to happen to you?
04:47:04 <Gregor> Nope. 's been too long.
04:47:14 * uorygl nods.
04:47:18 <uorygl> How long is the loop, anyway?
04:49:00 <zzo38> I want to know, has anyone in here written any music using non-standard notes?
04:49:01 <Gregor> I seem to recall there being some very good reason not to divulge that information, although I don't remember exactly why ... to be safe, I'll just keep it to myself.
04:49:12 <uorygl> Mmkay.
04:49:21 <uorygl> Do you remember any events that are nearer in the future than in the past?
04:49:49 <Gregor> Only really major things, and there's nothing major that will happen for a while, so no.
04:49:52 <uorygl> zzo38: I think Gregor has written music containing C flats. :P But that's not what you meant.
04:50:02 <Gregor> zzo38: What do you mean?
04:50:23 <zzo38> uorygl: Yes, that isn't what I meant. I meant notes that are not in a 12-TET scale (2^(1/12))
04:50:31 <uorygl> Gregor: do you ever muse about doing something other than what you actually will do?
04:50:55 <uorygl> "I'm about to buy this car. I think I'll buy a different car instead."
04:50:59 <Gregor> uorygl: Nope, I already proved that my entire loop is predetermined and unchangeable a few years from now.
04:51:35 <uorygl> Well, I use the word "muse" for a reason. I muse about what the world would be like if 2 + 2 were 5.
04:51:58 <Gregor> Ah. Not much *shrugs*
04:52:03 <zzo38> uorygl: Do you need a subjunctive television set to do that?
04:52:05 <uorygl> Mmkay.
04:52:21 <uorygl> zzo38: what does television have to do with it?
04:52:41 <uorygl> Anyway, if I actually wrote music, I'm sure I would write music with notes not in a 12-TET scale. :P
04:53:21 <zzo38> uorygl: It has nothing to do with television at all. I just made a comment based on what Hofstadter wrote. Of course it doesn't exist
04:53:41 <uorygl> I'm not familiar with what Hodstadter wrote about subjunctive television.
04:53:54 <zzo38> uorygl: If you wrote music, what notes would you use, then?
04:54:53 <uorygl> Notes like "B flat, 31 cents down".
04:55:45 <zzo38> So, you are just going to put the cents in yourself without being part of any scale?
04:56:12 <uorygl> Well, I might come up with some accidental that means "31 cents down".
04:56:22 <pikhq> Gregor: Stable time loop, eh?
04:56:23 <pikhq> How curious.
04:56:37 <zzo38> uorygl: O, OK.
04:56:42 <uorygl> I might also be more vague, saying stuff like "a little bit flat", "a little bit sharp".
04:57:00 <uorygl> pikhq: what would an unstable time loop look like?
04:57:42 <zzo38> uorygl: So, you are going to write music that is not even in tune! Is that what you are going to do?
04:57:55 <uorygl> 12-TET is not in tune. :)
04:58:34 <pikhq> uorygl: Chaotic.
04:59:09 <uorygl> Orchestras are tuned kind of randomly anyway. There are lots of instruments that have a continuum of pitches instead of a discrete set.
04:59:50 <Gregor> Yup
04:59:57 <Gregor> Equal temperament is not in tune.
05:00:41 <zzo38> uorygl: Do you mean for example like a guitar where you can push the string anywhere, and does not have to be on one of the lines?
05:01:09 <uorygl> Well, a guitar isn't usually an example of one of these instruments. But if you can find a fretless guitar, then yes.
05:01:42 <uorygl> There's also the trombone. The kazoo. :P
05:01:55 <zzo38> uorygl: Yes, I forgot about those ones too
05:01:58 <pikhq> Indeed, equal temperament is simply not *too* far out of tune most of the time.
05:02:03 <Gregor> Viol{in,ola,oncello}
05:03:47 <zzo38> But, is equal temperament is in tune for equal temperament?
05:03:57 <Gregor> That's ... sort of meaningless :P
05:04:16 <Gregor> By "in tune" I meant that major intervals are proper intervals.
05:05:13 <pikhq> Which of course equal temperament is not.
05:05:40 <Gregor> And by "major" I don't mean the musical sense of "major" :P
05:05:55 <zzo38> Gregor: OK, that's what you meant by "in tune". What I meant by "in tune" was that it matches the tuning of the scale, which is something different.
05:05:56 <pikhq> Yes, I kinda assumed that. :P
05:05:58 <uorygl> Oh, I was wondering why major intervals were so much more important than minor ones.
05:06:11 <uorygl> After all, major intervals are just the inversions of minor intervals.
05:07:33 <zzo38> Do you mean proper proper intervals like rational numbers, like just intonation, is that what you meant?
05:08:23 <zzo38> Did Pythagoras invent music theory?
05:09:14 <Gregor> I doubt it, at the time they probably didn't know about frequencies.
05:10:40 <Gregor> http://www.youtube.com/watch?v=CccaGaKOlSI <-- this is awesome
05:16:20 -!- kar8nga has joined.
05:20:59 -!- augur has quit (Ping timeout: 265 seconds).
05:30:09 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
05:34:09 -!- Gracenotes has quit (Ping timeout: 240 seconds).
05:38:55 -!- CakeProphet has quit (Ping timeout: 276 seconds).
05:44:48 -!- GreaseMonkey has joined.
05:44:52 -!- augur has joined.
05:48:03 -!- Gregor-P has quit (Ping timeout: 265 seconds).
05:57:12 -!- jcp has quit (Ping timeout: 245 seconds).
06:00:00 -!- jcp has joined.
06:10:17 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
06:17:12 -!- Mathnerd314 has joined.
06:20:32 -!- Rafajafar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158]).
06:32:44 -!- zzo38 has quit (Remote host closed the connection).
06:41:03 -!- tombom has joined.
06:41:16 <oklopol> "<Rafajafar> oerjan: actually, I think you are at this point" <<< i would've banned him at this point
06:43:52 <oklopol> i guess you could make it well-defined to calculate the Nth prime without finding any prime before it
06:44:01 <oerjan> oklopol: erm in afterthought, that would have been a bad idea
06:44:47 * oerjan now suspects he just left out a word in that sentence, or something
06:46:57 <oklopol> along the lines of whether there exists a program that extracts smaller primes from an ID at some point during program run
06:47:08 <oklopol> that does it in say L
06:47:37 <oklopol> (look oerjan you taught me a new character.)
06:48:14 <oerjan> hm the nth prime can be calculated in L, anyhow.
06:48:49 <oerjan> or wait
06:49:08 <oerjan> no
06:49:38 <oerjan> in linear space
06:51:32 <oerjan> it was calculating enough primes to write a number in chinese remainder form that could be done in L
06:51:55 <oerjan> but those primes only need to have logarithmic size compared to the number
06:52:26 <oklopol> "<Gregor> I seem to recall there being some very good reason not to divulge that information, although I don't remember exactly why ... to be safe, I'll just keep it to myself." <<< because that's worked so well for the past infinite number of iterations of the loop?
06:52:37 <oklopol> oh wait
06:52:48 <oklopol> maybe i misunderstood what your point was
06:52:51 <oerjan> (this was a step in the division proof)
06:55:15 <oklopol> "<uorygl> 12-TET is not in tune. :)" <<< yes it is, it's the definition of in tune
06:58:20 <oklopol> oerjan: right, shit
06:58:38 <oklopol> yeah defining something like that always runs into problems
07:00:33 <oklopol> while music started with retarded scales that use ratios, we realized at some point that the only thing that matters is we can map notes to numbers mentally, and that the important thing is symmetry of the scale, not how it sounds.
07:01:01 <oklopol> the most beautiful intervals don't have a nice integer ratio on any scale
07:01:08 <oklopol> 6 and 11 that is
07:01:30 <oklopol> 0+6 and 0+11 i mean
07:02:37 <oklopol> umm
07:02:53 <oklopol> my ramblings are really hard to read
07:03:19 <oklopol> i just wrote this a minute ago and already i'm wondering what topic each sentence is on
07:03:38 <oklopol> well not wondering but confusing myself momentarily
07:03:46 <oklopol> well see ya ->
07:08:43 -!- oerjan has quit (Quit: Good night).
07:12:59 -!- Mathnerd314_ has joined.
07:13:36 -!- augur has quit (Remote host closed the connection).
07:15:04 -!- MigoMipo has joined.
07:15:32 -!- Mathnerd314 has quit (Ping timeout: 265 seconds).
07:15:32 -!- Mathnerd314_ has changed nick to Mathnerd314.
07:40:11 <oklopol> is today special in some way
07:40:25 <oklopol> i mean
07:40:35 <oklopol> do people work normally tady
07:40:37 <oklopol> *today
07:43:59 <oklopol> okay so turns out it's one of the biggest holidays of the year
07:44:37 <oklopol> uni was closed, it was scary
07:45:26 -!- wareya has quit (Ping timeout: 240 seconds).
07:49:50 -!- tombom has quit (Quit: Leaving).
07:49:52 -!- wareya has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:00 <fizzie> oklopol: Today's not such a big deal everywhere, us Finns just seem to take it so.
08:18:03 <oklopol> yes i did mean locally
08:25:27 -!- Deewiant has joined.
08:35:08 <oklopol> "words are equivalent to millipictures"
08:36:05 <wareya> I'm rewrite something I wrote in C
08:36:13 <wareya> to not use if, while, or switch
08:45:49 <fizzie> What about for?
08:51:17 -!- kar8nga has quit (Remote host closed the connection).
09:04:43 <wareya> I can use for.
09:06:13 <fizzie> Is there an actual reason?
09:06:37 <wareya> For looks the worse.
09:06:54 <wareya> I don't use it for the intended purpose, though.
09:07:55 <wareya> http://pastebin.com/ec6JJYtJ
09:12:01 -!- Deewiant has quit (*.net *.split).
09:14:18 -!- Deewiant has joined.
09:23:26 -!- MigoMipo has quit (Remote host closed the connection).
10:00:48 -!- augur has joined.
10:01:45 -!- SevenInchBread has joined.
10:01:45 -!- SevenInchBread has quit (Client Quit).
10:02:01 -!- SevenInchBread has joined.
10:02:26 -!- SevenInchBread has changed nick to CakeProphet.
10:02:32 -!- CakeProphet has quit (Changing host).
10:02:32 -!- CakeProphet has joined.
10:02:37 <CakeProphet> :o
10:02:42 <CakeProphet> here's a pretty esoteric language idea:
10:02:48 <CakeProphet> a language that is perfect in every way.
10:05:55 -!- ais523 has joined.
10:06:58 <oklopol> do you have a fetish for paradoCes
10:09:26 <CakeProphet> no. I merely ponder them.
10:22:57 <oklopol> that's not good for you
10:24:10 -!- augur has quit (Ping timeout: 264 seconds).
11:07:32 <wareya> I am saddened that C doesn't have dynamic or function containing structures.
11:08:48 <AnMaster> <Gregor> AnMaster: http://codu.org/tmp/pianopano3.jpeg <-- loading
11:09:31 <AnMaster> Gregor, nice pano. Needs more enfusing to reduce noise even mroe
11:09:33 <AnMaster> more*
11:20:42 <oklopol> Gregor: i bet have more pianos than you
11:22:15 <oklopol> Gregor: also i'm thinking about buying a monkey
11:38:09 -!- uorygl has quit (Ping timeout: 240 seconds).
11:43:31 -!- jix has joined.
11:43:32 -!- jix has quit (Client Quit).
11:43:56 -!- jix has joined.
11:48:49 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
12:30:07 <AnMaster> oklopol, that sounds like slavery!
13:01:40 -!- Phantom_Hoover has joined.
13:03:25 <Phantom_Hoover> What is the canonical behaviour of INTERCAL's mingle operator?
13:03:44 <Phantom_Hoover> Does the LSB of the first or second operand become the LSB of the result?
13:03:48 <ais523> Phantom_Hoover: takes two 16-bit arguments and interleaves bits in them to produce a 32-bit result
13:03:55 <ais523> the LSB of the second operand is the LSB of the result
13:04:02 <Phantom_Hoover> Ah, OK.
13:04:39 <ais523> now I'm curious as to why you asked
13:04:54 <ais523> not that there has to be a reason
13:15:09 <oklopol> m(p,q) = xp(x^2)+q(x)
13:15:11 <oklopol> argh
13:15:13 <oklopol> m(p,q) = xp(x^2)+q(x^2)
13:18:24 <oklopol> what were the others
13:21:17 <Phantom_Hoover> ais523, In the C-INTERCAL manual it has #256~#0 to make 65536, but in other places it has #0~#256
13:21:54 <Phantom_Hoover> s/~/$/
13:21:54 <oklopol> ~?
13:22:04 <oklopol> oh wait
13:22:06 <oklopol> is that mingle
13:22:45 <oklopol> 256~0 should give you 2*65536 imo
13:22:51 <ais523> #0~#256 makes 131072
13:22:54 <ais523> umm
13:22:59 <ais523> #256$#0 makes 131072
13:23:07 <ais523> #0$#256 makes 65536
13:23:10 <oklopol> yeah
13:23:11 <ais523> (just checked on intercalc)
13:23:24 <oklopol> what, not 132072?
13:23:29 <oklopol> weererere
13:23:32 <ais523> oklopol: you fail at powers of 2
13:23:34 <oklopol> yeah numbers are hard.
13:23:45 <ais523> Phantom_Hoover: that sounds like it may be a bug in the manual
13:23:51 <ais523> which section has the #256$#0?
13:23:53 <Phantom_Hoover> I think so.
13:23:56 <oklopol> i don't remember that one, so yes, but i also failed at arithmetic
13:24:00 <Phantom_Hoover> The section on mingle, of course.
13:24:54 <ais523> thanks for the bug report, fixed in dev version
13:25:27 <Phantom_Hoover> Are the select, mingle and unary binary operators universal?
13:25:29 <ais523> how should I credit you in the credits?
13:25:36 <ais523> and yes, they are
13:25:47 <oklopol> select was?
13:25:58 <oklopol> i was googling but for some reason i'm back here
13:26:09 <ais523> oklopol: ?
13:26:19 <oklopol> what was select again?
13:26:21 <Phantom_Hoover> ais523, just put "Phantom Hoover".
13:26:35 <oklopol> i want to compile that into an expression on generating sequences
13:26:40 <oklopol> err functions
13:26:49 <ais523> oklopol: sort bits in (first arg AND second arg) using bits of second arg as keys
13:26:56 <oklopol> oh hmm
13:27:04 <ais523> there's lots of ways to define it, but that one works in bases other than 2 (using digits rather than bits)
13:27:15 <oklopol> stably?
13:27:17 <Phantom_Hoover> So 0b11~0b10 is 1.
13:27:20 <ais523> yes, stable sort
13:27:29 <oklopol> ascending
13:27:38 <ais523> lower keys end up more significant in the result
13:27:48 <oklopol> so ascending
13:28:02 <ais523> well, depends on whether you look at it as a bigendian or littleendian
13:28:07 <oklopol> oh true sorry
13:28:19 <oklopol> i always do bigendian
13:28:38 <ais523> most people think about INTERCAL bigendian
13:28:51 <ais523> the definition of mingle feels more natural with a bigendian interpretation
13:30:05 <oklopol> okay i took the second it takes to understand what select does, and the name makes sense
13:30:13 <oklopol> also i recall hearing the definition at least twice
13:30:27 <oklopol> so umm
13:30:41 <oklopol> that can't be defined for polynomials
13:30:52 <oklopol> in a simple way that is
13:31:08 <oklopol> i guess you can't even do and
13:31:53 <ais523> generalisation of AND to arbitrary bases in INTERCAL is "if either input is 0, return 0; otherwise, return the larger input"
13:32:23 <ais523> yes, that doesn't really make a whole lot of sense, but it's the one that's used
13:32:32 <oklopol> It is a well-known and oft-demonstrated fact that a person whose work is incomprehensible is held in high esteem. For example, if one were to state that the simplest way to store a value of 65536 in a 32-bit INTERCAL
13:32:33 <oklopol> variable is:
13:32:33 <oklopol> DO :1 <- #0#256
13:32:33 <oklopol> Any sensible programmer would say that that was absurd.
13:32:46 <oklopol> if you ask me, there's no reason it should be easy to have that big a constant
13:32:59 <oklopol> where could you ever need it
13:33:10 <Phantom_Hoover> Bitmasks?
13:33:13 <oklopol> if you need a bit mask, that's different, but sort of an outdated concept
13:33:15 <ais523> large constants come up quite a lot in INTERCAL, for bitmasks
13:33:23 <ais523> especially #65535$#0 and #0$#65535
13:33:35 <oklopol> any sensible compiler will let you use a high level construct that's compiled into a bitmask
13:33:37 <ais523> which are ironically more readable in the INTERCAL form than they would be as a single constant
13:33:54 <oklopol> err language
13:33:58 <oklopol> but also compiler
13:34:00 <Phantom_Hoover> Surely #'#0$256'$#0?
13:34:13 <ais523> Phantom_Hoover: 6553/5/, not 6553/6/
13:34:19 <Phantom_Hoover> Ah.
13:34:26 <ais523> also, that first # is wrong
13:34:31 <Phantom_Hoover> And the first hash is unnecessary.
13:34:33 <ais523> and the answer would overflow anyway the way you wrote it
13:34:37 <Phantom_Hoover> And wrong, yes.
13:34:57 <Phantom_Hoover> ais523, takes the type of the second operand?
13:35:28 <ais523> Phantom_Hoover: no, select takes the type onespot if the second operand has no more than 16 bits set, twospot otherwise
13:35:47 <ais523> although, that's so screwy that most compilers just ignore it and take the type of the second operand
13:35:59 <Phantom_Hoover> ais523, that was mingle, not select.
13:36:09 <ais523> Phantom_Hoover: oh, mingle always returns twospot
13:36:19 <Phantom_Hoover> So why an overflow
13:36:25 <Phantom_Hoover> Oh, I see why.
13:38:08 <oklopol> then was the third one not where you not adjacent bits
13:38:11 <oklopol> errr
13:38:12 <Phantom_Hoover> Is INTERCAL meant to be difficult or different?
13:38:15 <oklopol> that makes no sense xD
13:38:21 <oklopol> but do something to adjacent bits
13:38:39 <ais523> Phantom_Hoover: different
13:38:48 <ais523> it often ends up difficult as a result, because most of the easy things have been done already
13:38:57 <ais523> but whenever I spot an opportunity to do different but easier, Ido
13:38:58 <ais523> *I do
13:39:09 <Phantom_Hoover> So why no easy 32-bit constants?
13:39:21 <ais523> sometimes it is just obstructive
13:39:25 <Phantom_Hoover> And why decimal, come to think of it?
13:39:37 <ais523> INTERCAL-72 didn't fulfil its mission too well
13:40:21 <Phantom_Hoover> Why not dodecimal or tetradecimal?
13:42:54 <ais523> don't ask me, I didn't invent INTERCAL-72
13:51:54 <oklopol> not yet
13:52:18 -!- KingOfKarlsruhe has joined.
13:57:20 <Phantom_Hoover> ais523, maybe you can if you invent Feather?
13:57:45 <ais523> Phantom_Hoover: Feather programs can't retroactively change events outside the program
13:57:47 <ais523> only their memory of them
13:57:55 <Phantom_Hoover> Bah.
13:58:26 <Phantom_Hoover> Although that's a pretty elegant system.
14:04:48 -!- Gracenotes has joined.
14:04:57 <oklopol> what's elegant?
14:05:10 <Phantom_Hoover> I think I misunderstood.
14:05:13 <oklopol> yes
14:05:42 <oklopol> "only their memory of them" is not a feature, just a description what would happen
14:05:45 <oklopol> wlel
14:05:49 <oklopol> *well
14:05:55 <oklopol> assuming i'm understanding what's going on
14:05:58 <oklopol> i tend to extrapolate
14:06:39 <ais523> oklopol: yes, just a description
14:06:57 <ais523> although if I ever get around to writing a Feather standard library, a memory of input is definitely one of the things that would be useful
14:07:20 <oklopol> oh i was sure i understood that, i wasn't sure i guessed what happened in Phantom_Hoover's head
14:07:38 <Phantom_Hoover> That's unsurprising.
14:12:57 <oklopol> well to be more precise, i'm always sure, i'm not always right
14:27:29 -!- relet has joined.
14:53:18 -!- random222 has joined.
14:53:23 -!- random222 has left (?).
14:53:25 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
14:58:12 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
15:07:33 -!- kar8nga has joined.
15:39:10 -!- cpressey has joined.
15:46:20 -!- cheater99 has quit (Ping timeout: 260 seconds).
15:49:03 -!- oklopol has quit.
15:52:41 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
16:03:25 -!- cheater99 has joined.
16:06:56 -!- Phantom_Hoover has joined.
16:10:30 <AnMaster> hi ais523 (yes I did just notice you but that was because I just got back
16:10:31 <AnMaster> )
16:19:50 <Gregor> AnMaster: A lot of what appears to be noise in that picture I've verified to be dust on the piano.
16:20:23 <Gregor> Though there is still some noise, yes
16:33:53 <Phantom_Hoover> AND NOT is universal, isn't it?
16:34:19 <cpressey> Phantom_Hoover: If you mean NAND, and you mean universal for digital circuits, yes.
16:34:41 <cpressey> I don't know about "AND NOT" - I would interpret that as "x AND NOT y"
16:34:42 <Phantom_Hoover> OK.
16:34:44 <Deewiant> I think he meant x && !y
16:34:53 <Phantom_Hoover> Wait, what Deewiant said.
16:34:59 <cpressey> If so, I'm not sure. It could be.
16:35:00 <Deewiant> NAND is !(x && y)
16:35:48 <Deewiant> I don't think that's universal
16:36:00 <cpressey> I was leaning towards non-universal myself.
16:36:10 <Phantom_Hoover> OK.
16:36:25 <cpressey> Trying to build NAND out of it, in my head, and failing -- of course, that means very little :)
16:36:41 <Phantom_Hoover> <wareya> I am saddened that C doesn't have dynamic or function containing structures.
16:36:46 <Phantom_Hoover> Why?
16:37:13 <Phantom_Hoover> Dynamic presumably refers to being able to add or remove entries, which is stupid for C structs.
16:37:26 <cpressey> I'm not particularly saddened by that -- it means that C doesn't have to deal with garbage collection.
16:37:29 <Deewiant> ! can be built but it requires adding a new variable: is that allowed?
16:37:42 <Phantom_Hoover> And you can always put function pointers into structs.
16:37:43 <Deewiant> !x = (y && !x) && !y
16:37:54 <Deewiant> Except that that actually makes no sense
16:37:57 <Deewiant> NEVER MIND
16:38:03 <Phantom_Hoover> Why doesn't it make sense?
16:38:07 <Deewiant> Leaning even more towards non-universal
16:38:11 <Phantom_Hoover> Oh, because y is stupid.
16:38:11 <Deewiant> y && !y is false, they don't cancel
16:39:46 <Phantom_Hoover> Yes, that does make it look bad.
16:39:53 <Phantom_Hoover> Wait, are we allowed to use constants?
16:40:10 <Phantom_Hoover> !x = 1 && !x, so we can construct NAND.
16:40:56 <Phantom_Hoover> !(x && y) = 1 && !(x && !(1 && !y))
16:41:13 <Deewiant> Yeah, I was just doing that
16:41:26 <Deewiant> And you have to be allowed to be, or you couldn't make ! with nand
16:41:37 <Phantom_Hoover> Yes you could.
16:41:46 <Phantom_Hoover> You just tie both inputs together.
16:41:50 <Deewiant> Oh, true.
16:42:04 <Phantom_Hoover> But in any case, constants are reasonable.
16:42:05 <Deewiant> Hmm. Not sure, then.
16:42:17 <Deewiant> But yeah, it seems sensible.
16:42:33 <Phantom_Hoover> In any circuit being constructed, you will be able to make a wire that is always on.
16:43:43 <cpressey> I always wanted to design a language with boolean operators, but no boolean constants. You'd have to derive true and false with expressions like 'x or x'.
16:43:53 <Deewiant> x && y = x && !(1 && !(y && !0)) was mine, btw
16:44:43 <Deewiant> cpressey: Do it for the numbers, too
16:44:50 <cpressey> Oh, such language was also supposed to have a half-dozen different distinct types that were all effectively booleans - "bool", "bit", "truthvalue", etc - but made you do type conversions all over the place to get your expressions right
16:45:15 <cpressey> I guess "different distinct" is redundant, huh.
16:47:52 <Deewiant> x/x-x/x is a nice way of writing 0
16:47:52 * Sgeo_ learns the hard way why you should revoke an rss 2 twitter service's access if you stop using it
16:48:11 <Sgeo_> Deewiant, no, it's not
16:48:11 <cpressey> If you tie both inputs together for the and-not gate, you get constant zero, don't you? Then you can invert that
16:48:28 <Sgeo_> x=0 breask it.. unless I'm missing somethibng
16:48:38 <Sgeo_> Hm, I'm going to guess that I'm missing context
16:52:38 <Deewiant> Hmm, you're right; I guess it has to be x-x
16:52:59 -!- oerjan has joined.
16:53:49 <Phantom_Hoover> Deewiant, you can get rid of the y &&
16:53:59 <Phantom_Hoover> !0 in your implementation of &&.
16:54:35 <Deewiant> True enough
17:00:47 <Phantom_Hoover> What's #0$#65535
17:01:35 <Deewiant> Can't you use an INTERCAL compiler and find out?
17:01:47 -!- Gregor-P has joined.
17:02:11 <Phantom_Hoover> Deewiant, too easy.
17:02:26 <Phantom_Hoover> Ah, it's every other bit on.
17:02:35 <Phantom_Hoover> Useful for selects.
17:05:52 <CakeProphet> oh sweetness
17:06:06 <CakeProphet> we're studying Alan Turing in philosophy apparently.
17:06:07 <CakeProphet> don't ask me why.
17:07:37 <ais523> Deewiant: compiler? you could install intercalc and use that
17:07:40 <ais523> it comes with CLC-INTERCAL
17:08:14 <Deewiant> I figured that one is more likely to have an INTERCAL compiler than an INTERCAL programming tool
17:20:48 <Phantom_Hoover> ais523, intercalc?
17:20:59 <ais523> Phantom_Hoover: an INTERCAL calculator
17:21:06 <Phantom_Hoover> Wait, isn't CLC-INTERCAL your competitor?
17:21:18 <ais523> more my cooperator
17:21:35 <ais523> Claudio and I are both working on different impls, but we help each other out every now and then
17:21:50 <Phantom_Hoover> So why isn't there and intercalc for C-INTERCAL?
17:21:57 <Phantom_Hoover> I don't want to keep both!
17:22:01 <ais523> because the two programs work completely different ways
17:22:26 <ais523> I use both; you'll find some things work much better in C-INTERCAL, and some work much better in CLC-INTERCAL
17:22:31 <ais523> due to completely different philosophies
17:22:43 <Phantom_Hoover> What are the differences?
17:23:59 <Phantom_Hoover> In the philosophies?
17:27:40 <CakeProphet> so
17:27:48 <CakeProphet> are sets an axiomatic notion in the philosophy of mathematics?
17:27:57 <cpressey> They should both be called C*-INTERCAL, to help prospective programmers choose between them.
17:28:02 <CakeProphet> they do seem quite fundamental.
17:28:15 <cpressey> "you'll find some things work much better in C*-INTERCAL, and some work much better in C*-INTERCAL"
17:28:34 <ais523> Phantom_Hoover: CLC-INTERCAL is a very dynamic implementation
17:28:47 <ais523> even the compiler used ends up in the resulting bytecode
17:28:48 <CakeProphet> cpressey: but wait, what about C*-INTERCAL?
17:29:00 <cpressey> CakeProphet: I forgot about that one!
17:29:12 <ais523> and it thinks of inventing commands like ABSTAIN FROM COMPILER BUG which I never even considered
17:29:13 <CakeProphet> meh. but that one runs on Parrot. fuck that.
17:29:18 <ais523> C-INTERCAL is a lot more static
17:29:33 <ais523> it tries to compile things into sane code
17:29:37 <ais523> rather than using an insane bytecode
17:30:00 <ais523> as a result, the compiled version is often clearer than the original, and it can run programs very fast (after the initial slow compile)
17:30:00 <CakeProphet> In low-level terms, I always interpret "static" to more or less mean "lol I don't use pointer hacks internally"
17:30:47 <oerjan> CakeProphet: so haskell is not static, then :D
17:30:54 <CakeProphet> ais523: there's that unresolved pesky compiler bug that just so happens to be a feature of the language.
17:31:09 <ais523> CakeProphet: two such bugs in CLC-INTERCAL
17:31:13 <CakeProphet> oerjan: I would say no, Haskell is not static. I don't know, perhaps there is a distinction between static and static typing.
17:31:44 <cpressey> I would agree that Haskell is not "static" in a sense that I think CakeProphet means.
17:31:56 <oerjan> CakeProphet: well yeah, at least haskellites tend to claim there is when assaulted by dynamic typing advocates :D
17:31:59 <Phantom_Hoover> CakeProphet, which bug?
17:32:02 <CakeProphet> it's a very vague notion. Akin to a "dynamic language"
17:32:18 <CakeProphet> Phantom_Hoover: someone was talking about an ABSTAIN FROM COMPILER BUG thing in one implementation of C-intercal
17:32:38 <cpressey> the "static" in "static typing" is really more like "lexical" or "early"
17:32:38 <CakeProphet> that reminds me... how on earth does Dynamic work in Haskell?
17:32:51 <CakeProphet> cpressey: yeah
17:32:55 <CakeProphet> it's a compile-time thing.
17:33:01 <CakeProphet> thus, static.
17:33:31 <cpressey> Thinking about it, it's a horrible word. Like my source source never changes? Well, from the compiler's perspective, maybe.
17:33:38 <CakeProphet> haha.
17:33:41 <CakeProphet> yeah.
17:33:58 <Phantom_Hoover> Are there any programs which alter their executable at runtime?
17:34:08 <cpressey> My "source source" -- that was not meant to be meta. It's just that my brain is going.
17:34:32 <cpressey> Phantom_Hoover: Self-modifying binary code? I'm sure.
17:34:33 <CakeProphet> so with things like type inference nowadays, is there even a benefit to dynamic typing? The only benefit I can see is that your runtime system might be more extensible.
17:34:50 <cpressey> CakeProphet: Yes, there is. Meeting deadlines.
17:34:55 <CakeProphet> haha.
17:35:04 <cpressey> I'm serious - there's a reason Python and Ruby are so popular in web development.
17:35:05 <ais523> Phantom_Hoover: it's been done, it normally isn't very useful
17:35:09 <CakeProphet> I don't know. I find debugging to be an issue in dynamic typed languages.
17:35:16 <CakeProphet> cpressey: but it's true. they have fast development time.
17:35:18 <ais523> I did it once trying to write a .COM file entirely in printable ASCII
17:35:32 <ais523> because it turns out that none of the flow-control commands in x86 machine code correspond to printable characters
17:35:40 <ais523> so I had to do a bit of selfmod to insert a loop
17:36:06 -!- Phantom_Hoover_ has joined.
17:36:07 <CakeProphet> Haskell is ridiculous. There's been very few semantically incorrect programs that I've written in Haskell that would compile.
17:36:16 <CakeProphet> it... knows.
17:36:25 -!- tombom has joined.
17:36:32 <cpressey> CakeProphet: Proponents of dynamic languages usually say things like, well, who needs static typing when we have unit tests? And I can see that point, but I think it's a bit weak.
17:36:33 <oerjan> CakeProphet: Dynamic does unsafe typecasting under the hood, making it safe by using a Typerep value (from the type's Typeable instance) to check whether the original value actually comes from the type cast to
17:36:55 <CakeProphet> cpressey: bleh. unit tests are probably more work than maintaing type signatures.
17:36:56 <Sgeo_> Can Haskell fix the issue where I deleted all of my tweets, EXCEPT the ones I wanted deleted?
17:37:03 <pikhq> cpressey: Testing and typing are kinda tangential.
17:37:28 <CakeProphet> oerjan: hmmm, right. I believe this is more or less what Python does, except the vocabulary is a bit different.
17:37:33 <oerjan> data Dynamic = Typerep -> Obj -> Dynamic
17:37:36 <pikhq> One can (and may well want to) do unit testing on Haskell, after all.
17:37:39 <AnMaster> Gregor, ah
17:37:40 <CakeProphet> oerjan: oh. you meant Haskell. :P
17:38:01 <cpressey> Typing is an incomplete form of unit testing via set inclusion proofs :)
17:38:10 <oerjan> CakeProphet: that's what you asked :)
17:38:17 <CakeProphet> cpressey: would the inclusion of constraints make it more complete? I've been thinking about constraint-based type systems.
17:38:30 <CakeProphet> oerjan: right. :D
17:38:50 <AnMaster> bbl
17:39:01 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
17:39:20 <cpressey> CakeProphet: Yes, constraints are attractive. Dependent types and all that.
17:39:20 <Sgeo_> I have no clue how to fit unit testing into my project :/
17:39:45 <CakeProphet> like... there are compile errors you could catch via constraints that you wouldn't otherwise catch. Consider having a function that returns type (Int x. x > 0) and apply the value to a function that accepts (Int x. x < 0)
17:39:45 <Phantom_Hoover_> Wait, so we don't like Lisp?
17:40:03 <CakeProphet> since there intersection is the empty set, you can infer that they are incompatible types.
17:40:12 <CakeProphet> *their
17:40:22 <CakeProphet> Phantom_Hoover_: lisp is fine.
17:40:39 <Phantom_Hoover_> It uses dynamic typing, doesn't it?
17:40:47 <Phantom_Hoover_> Or are you talking about weak typing?
17:40:51 <CakeProphet> cpressey: I don't quite understand dependent types. Only the notion of their first-classness, but not how they work in practice.
17:40:58 <CakeProphet> Phantom_Hoover_: dynamic typing vs static typing.
17:41:27 <CakeProphet> Phantom_Hoover_: just comparing really. You could argue that a lot of Lisp's flexibility stems from its "type system"
17:41:27 <Phantom_Hoover_> Wait, how are we defining "dynamic typing"?
17:41:35 <cpressey> The problem as I see it "in the field" is that any program, once written, grows, and any large program has huge "maintenance momentum." W/static typing, if you want to change something, you might need to change a type, or God forbid, a monad, and the repercussions might ripple throughout your codebase. Having latent types means it's basically easier to hack, which in production is, sadly, invaluable.
17:41:45 <CakeProphet> types aren't known at compile time. Variable aren't given type constraints.
17:42:02 <Phantom_Hoover_> That's how Lisp does things, though/
17:42:12 <CakeProphet> cpressey: right. duck typing is a benefit there. It's very easy to throw in arbitrary objects in place of the original.
17:42:22 <CakeProphet> such as for unit testing.
17:42:36 <oerjan> CakeProphet: um, i meant data Dynamic = Dynamic Typerep Obj. i'm confused by hugs not giving the actual definition for data types, just the constructor types
17:42:38 <cpressey> CakeProphet: I can't say I really get them either. But basically, types are proofs that your value is always in some set, like integers. Dependent typing makes the sets more sophisticated, like prime numbers.
17:43:01 <CakeProphet> oerjan: hmmm, weird. I didn't even know Hugs had a command like that. Does GHC do that?
17:43:33 <CakeProphet> cpressey: hmmm, ah okay. So you could potentially compute their values with code that runs at compile-time?
17:43:43 <CakeProphet> like a type representing only prime numbers.
17:43:55 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover.
17:44:16 <CakeProphet> hmmm, well, compute is a bad word. specify. declare.
17:44:22 <oerjan> CakeProphet: i think so. let's see.
17:44:27 <CakeProphet> with constraints or whatever.
17:44:28 <pikhq> cpressey: The thing with static typing is that *when you change a type*, you actually have to take care of the repercussions.
17:44:32 <oerjan> !haskell :i Data.Dynamic.Dynamic
17:44:42 <EgoBot> data Data.Dynamic.Dynamic
17:44:50 <pikhq> cpressey: With dynamic typing, you change a type *and your first notion that something is handling it wrong* is a program crash.
17:45:01 <cpressey> CakeProphet: Basically yes. Of course the drawback is that you can build types that have all the weaknesses of programs. Or C++ templates.
17:45:42 <cpressey> pikhq: Which is why you probably shouldn't use dynamic typing for air traffic control systems.
17:45:44 <CakeProphet> cpressey: ah. Hmmm, so what does no type safety imply? For example, if Haskell included undecidable type system elements how would that affect the whole system?
17:45:57 <oerjan> CakeProphet: it delivered the rest in DCC. (also ghci gave less information than hugs)
17:45:58 <CakeProphet> fewer posible compile errors?
17:46:30 <pikhq> cpressey: I find that ~90% of bugs in Haskell are caught by the type checker.
17:46:35 <pikhq> :P
17:46:41 <CakeProphet> oerjan: I think the major Haskell compilers should include features like @instances from lambdabot. I actually use #haskell when developing Haskell for that very reason.
17:46:53 <pikhq> CakeProphet: GHCi does.
17:46:54 <Phantom_Hoover> !haskell :i Data.Dynamic.Dynamic
17:46:56 <EgoBot> data Data.Dynamic.Dynamic
17:46:58 <oerjan> CakeProphet: :i _does_ give instances
17:47:03 <CakeProphet> oh?
17:47:07 <CakeProphet> well.. hmmm.
17:47:09 <oerjan> only those already imported, though
17:47:10 <cpressey> pikhq: So do I. Are you trying to make an argument "for" static typing?
17:47:12 <CakeProphet> I guess I've never used i then. :P
17:47:23 <pikhq> cpressey: Minor argument in favor.
17:47:34 <pikhq> Though, of course, dynamic typing does have its own benefits.
17:47:42 <CakeProphet> I see arguments either way really. The more experience I've accumulated with both the more I've concluded that both have benefits.
17:47:59 <CakeProphet> I'm interested in learning about dependent types though. What is a good language for that?
17:48:18 * CakeProphet is interested in language type systems, and would possibly be interested in researching them via language designs.
17:48:18 <pikhq> Granting you certain kinds of flexibility in exchange for fewer correctness guarantees.
17:48:58 <CakeProphet> pikhq: you could argue that things like typeclasses give you similar flexibility in an "environment of good design". :P
17:49:03 <cpressey> CakeProphet: ehird kept mentioning Agda. I think it's fairly standard for dependent type stuff.
17:49:11 <pikhq> CakeProphet: Indeed.
17:49:17 <CakeProphet> cpressey: I'll check it out then.
17:49:28 <pikhq> If you really really want dynamic typing in Haskell, there *is* Data.Dynamic.
17:49:30 <pikhq> >:D
17:49:42 <CakeProphet> ...I'm just wondering when you would ever need dynamic typing.
17:49:55 <CakeProphet> language interpreters?
17:50:03 <pikhq> Strictly *need* it?
17:50:06 <CakeProphet> yes.
17:50:06 <pikhq> Never ever ever.
17:50:08 <CakeProphet> no other alternative.
17:50:15 <pikhq> Never ever ever.
17:50:21 <CakeProphet> hmmm, then why? Just to have?
17:50:25 <pikhq> Because you are TC without dynamic types.
17:50:26 <Phantom_Hoover> Yes.
17:50:39 <pikhq> In fact, you are TC without *multiple types*.
17:50:47 <Phantom_Hoover> pikhq, you are TC with Brainfuck, but you don't write anything serious in it.
17:50:56 <pikhq> All type systems exist to make programming easier, not to make it possible.
17:51:02 <pikhq> Phantom_Hoover: Indeed.
17:51:09 <CakeProphet> hmmm... so if I wanted to use Haskell to make a dynamic environment with its own scripting language (like the MOO codebase for text-based games, where you can dynamically add command scripts to arbitrary objects) I would potentially be interested in Dynamic?
17:51:28 <pikhq> Yes, that is a quite reasonable use-case for Data.Dynamic.
17:51:53 <CakeProphet> now... would it be craz to add concurrency to this model?
17:51:55 <Phantom_Hoover> Can you use algebraic data types for quasi-dynamicness?
17:52:00 <CakeProphet> because I might use Haskell to implement my MUD codebase. :)
17:52:08 <CakeProphet> instead of Erlang.
17:52:14 <Phantom_Hoover> (I haven't Haskelled in ages, so I don't know)
17:52:31 <CakeProphet> Phantom_Hoover: sort of. You can use existentials to get heterogenous container types and such.
17:52:37 <CakeProphet> using typeclass constraints.
17:52:49 <pikhq> Phantom_Hoover: Yes.
17:52:53 <CakeProphet> that's a certain degree of dynamic typing with static type safety.
17:53:00 <Phantom_Hoover> Well, if you were scripting, you wouldn't need completely dynamic typing.
17:53:15 <Phantom_Hoover> You'd just need some general object which can be used in-script.
17:53:15 <pikhq> It just doesn't have support for running on multiple systems.
17:53:25 <CakeProphet> pikhq: is STM the way to go or is there message-pasing libraries?
17:53:26 <oerjan> CakeProphet: i think it is more recommended to make typeclasses for the things you actually need to do with several types, and possibly use existential data types if you really _need_ to pass around such a value without knowing its type
17:53:41 <CakeProphet> oerjan: right.
17:53:41 <pikhq> CakeProphet: There are message-passing libraries.
17:53:49 <CakeProphet> pikhq: Know any by name?
17:53:54 <pikhq> No, I don't.
17:53:55 <CakeProphet> any in std lib even?
17:53:56 <CakeProphet> oh
17:54:00 <CakeProphet> well nevermind then.
17:54:03 <pikhq> I could probably write one up in a few hours though.
17:54:05 <pikhq> :P
17:54:10 <cpressey> I've implemented my latest esolang in -- get this -- Java, but only because it's got a graphical aspect, and JRE is the only platform that I've found that can display graphics portably without too much pain.
17:54:24 <cpressey> Everything else is like, ew.
17:54:27 <cpressey> Sadly.
17:54:30 <Phantom_Hoover> I was thinking along the lines of data scriptValue = ScriptInt Int | ScriptChar Char
17:54:36 <Phantom_Hoover> But that might be totally crazy.
17:54:37 <CakeProphet> hmmm.. Haskell threads are soft right? How lightweight are they compared to Erlang?
17:54:45 <pikhq> Comparable.
17:54:48 <CakeProphet> excellent.
17:55:16 <pikhq> Different implementation details, but *essentially* the same. Feel free to spawn billions.
17:55:30 <CakeProphet> obviously no code hotswapping, but I think I can get around that. There's an old-as-fuck C codebase that implements effective hot swapping. I'm not entirely sure how it works though.
17:55:39 <CakeProphet> it basically restarts the codebase... but somehow maintains all state.
17:55:47 <cpressey> Phantom_Hoover: No, that's fairly reasonable.
17:55:47 <CakeProphet> including socket connections. Not sure how that works.
17:56:02 <Phantom_Hoover> cpressey, yay, I had a reasonable idea!
17:56:11 <Phantom_Hoover> Now I need to aspire for a good one!
17:56:17 <pikhq> CakeProphet: It forks into the new code.
17:56:19 <Phantom_Hoover> s/for/to/
17:56:28 <pikhq> And passes the old state on the CLI.
17:56:30 <CakeProphet> pikhq: hmmm? I'm new to this kind of stuff, apparently. Can you explain further?
17:56:36 <oerjan> CakeProphet: Control.Concurrent.Chan comes to mind
17:56:53 <pikhq> The socket connections just go to the new process directly, because file descriptors are carried across forks.
17:57:02 <pikhq> Oh, yeah. Control.Concurrent.Chan was it.
17:57:32 <CakeProphet> hmmm okay...
17:57:48 <pikhq> BTW, Haskell's most common concurrency primative, mvar, can be considered the building block of message passing.
17:57:58 <pikhq> It's basically a message passing queue of size 1.
17:58:03 <CakeProphet> what would be the benefits of STM over message-passing or vice versa? If they're suited to specific things then I could always use both.
17:58:27 <CakeProphet> pikhq: ah. How would you construct a queue of greater size?
17:58:42 <pikhq> STM is more useful for actually modifying shared state.
17:59:20 <pikhq> CakeProphet: Minorly complex, and I don't recall the details.
17:59:35 <CakeProphet> -nod- I'll research it with time I'm sure.
17:59:55 <CakeProphet> ha. I think I've sold myself on Haskell as my language of choice for this project. :)
18:00:41 <oerjan> CakeProphet: Control.Concurrent.Chan has done the work of constructing a queue of greater size for you. i'm pretty sure it's based on MVar under the hood
18:00:50 <pikhq> It is.
18:01:03 <CakeProphet> ah okay.
18:01:20 <CakeProphet> and there's STM for IO right, thus allowing me to mix both in the same code yes?
18:01:42 <pikhq> No. However, one can return an IO value from STM.
18:01:54 <CakeProphet> ah okay.
18:02:12 <oerjan> CakeProphet: there's no way to undo a real IO action, so STM cannot directly help with that :|
18:02:12 <pikhq> So, you can compute your IO value and non-atomically execute it. :P
18:02:29 <CakeProphet> oh right. Because STM relies on overloading the monad operatings. You can merely dump it into IO as read/writes implicitly like that.
18:02:37 <CakeProphet> *operators
18:02:39 <CakeProphet> *can't
18:02:40 <CakeProphet> bleh
18:02:56 <cpressey> Here's where I start to dislike Haskell. It's great for executable semantics... but for writing networked, concurrent programs... ehhh. But maybe I just haven't given it a chance.
18:03:15 <pikhq> cpressey: Concurrency is one thing it does very, very well.
18:03:49 <oerjan> *an
18:03:53 <CakeProphet> yeah I don't see concurrency as being an issue
18:04:03 <CakeProphet> in fact it will be quite similar if not easier than writing an equivalent Erlang program.
18:04:16 <CakeProphet> comparable, at least.
18:04:21 <pikhq> With Control.Concurrent.Chan, it is *effectively* the same.
18:04:25 <CakeProphet> yes.
18:04:44 <CakeProphet> though not strictly dynamic.
18:04:57 <CakeProphet> unless, of course, you use Dynamic. :)
18:05:00 -!- Sgeo__ has joined.
18:05:15 <pikhq> However, you also have threading primitives, locks, STM, and some actual *parallelism* primitives to work with.
18:05:27 <Phantom_Hoover> We're presumably using Dynamic to perform implementee-side dynamicness?
18:06:22 <CakeProphet> yes.
18:06:23 <cpressey> Can you pattern-match-receive with C.C.C?
18:06:35 <pikhq> Yes.
18:06:42 <CakeProphet> yeah it would just be a case expression.
18:06:54 <cpressey> And if no cases match?
18:07:03 <CakeProphet> hmmm, I don't recall the exact semantics.
18:07:17 <Phantom_Hoover> How would you do functions?
18:07:21 <pikhq> patternMatchGoesHere <- readChan yourChannelHere
18:07:28 <Phantom_Hoover> Can you even define runtime functions in Haskell?
18:07:32 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
18:07:35 <CakeProphet> Phantom_Hoover: what do you mean. Are you asking how one does functions in Haskell? All the time. :P
18:07:43 <pikhq> (readChan is in IO)
18:07:49 <Phantom_Hoover> No, I mean for the implementee.
18:08:01 <CakeProphet> Phantom_Hoover: I don't believe so. I don't think it will be necessary though.
18:08:22 <pikhq> cpressey: If you're from within do notation, then you get an failed pattern match error. Otherwise, depends on what you wrote for the case statement.
18:08:32 <CakeProphet> Phantom_Hoover: I'm not sure I understand the question. -_-
18:08:33 <cpressey> Small difference would be, I think, that Erlang leaves any messages in the queue if there's no match. There was some design reason for that (not sure what atm.) I'm sure you could emulate it somehow with C.C.C., but it might be a bit roundabout
18:08:36 <pikhq> s/an/a/
18:08:46 <Phantom_Hoover> How would you do functions for the language being implemented?
18:08:56 <CakeProphet> cpressey: you could, but I'll just incorporate the semantic change. Make sure every message is handled.
18:09:44 <oerjan> !haskell import Data.Dynamic; dynlist = [toDyn (3::Int), toDyn ("hi"::String)]; main = print (map fromDynamic dynList :: [Maybe String])
18:09:45 <CakeProphet> Phantom_Hoover: ah. you're asking about interpreter design. You could have Haskell objects to represent executable script code, possibly pre-process/compiled to a bytecode of some kind, and then simply interpret it.
18:09:55 <pikhq> The idea for Erlang is to have multiple queues being read from a single process or *something*...
18:10:02 <oerjan> !haskell import Data.Dynamic; dynList = [toDyn (3::Int), toDyn ("hi"::String)]; main = print (map fromDynamic dynList :: [Maybe String])
18:10:05 <EgoBot> [Nothing,Just "hi"]
18:10:08 <pikhq> Whereas with C.C.C., you tee the channel for the multiple readers.
18:11:02 <CakeProphet> Phantom_Hoover: you would need a) a general way to execute script code b) an interface to the primitive Haskell objects being manipulated.
18:12:25 <Phantom_Hoover> Well, the obvious way to do basic things like addition and I/O is to have a Haskell function do it.
18:13:09 <Phantom_Hoover> So it would be nice if you could have user-defined functions as Haskell ones.
18:13:10 <CakeProphet> there are different approaches. I've seen scheme interpreters that implement dynamic typing through Haskell allowing multiple type constructors for a single type. data SchemeVal = Number DoubleVal | StringVal String | ListVal [SchemeVal] | PrimitiveFunc (...) | SchemeFunc (...) | ...
18:13:16 <Phantom_Hoover> Oh, wait.
18:13:29 <cpressey> interpret (AddCommand a b) = (IntResult (a + b))
18:13:38 <cpressey> or, rather
18:13:42 <Phantom_Hoover> You can have an interpret function.
18:14:03 <cpressey> (AddCommand (IntVal a) (IntVal b)) = (IntVal (a + b))
18:14:07 <CakeProphet> well. if I do make a scripting language. It will be a /language/. That generally includes procedure abstraction. :D
18:14:46 <CakeProphet> but it will be very simple. The idea is to be easy to write.
18:14:58 -!- coppro has joined.
18:14:59 <Phantom_Hoover> Something along the lines of interpret :: SchemeFunc -> [SchemeVal] -> SchemeVal
18:14:59 <cpressey> Embed lua!
18:15:02 <cpressey> Heh.
18:15:07 <cpressey> Easy for C, not so much for Haskell.
18:15:07 <CakeProphet> Phantom_Hoover: well, not quite
18:15:15 <CakeProphet> Phantom_Hoover: you have to remember SchemeFunc is not a type but a constructor
18:15:18 <CakeProphet> the only type defined is SchemeVal
18:15:19 <Phantom_Hoover> Yes, perhaps.
18:15:22 <oerjan> cpressey: i see Chan as an unGetChan function which you could presumably use to put the value back if the case doesn't match
18:15:23 <CakeProphet> which is where the dynamic typing comes in.
18:15:24 <pikhq> cpressey: Haskell can link against C, so bamf.
18:15:27 <oerjan> *has
18:15:36 <Phantom_Hoover> Well, make SchemeFunc part of SchemeVal.
18:15:45 <CakeProphet> Phantom_Hoover: right, it was in my example.
18:16:37 <Phantom_Hoover> Ah, yep.
18:16:46 <Phantom_Hoover> I missed that, sorry.
18:16:48 <CakeProphet> Phantom_Hoover: so that's where dynamic type checking comes in. The interpret function would ask "is this a scheme function? okay then I should run it. Is it a primitive function? I should delegate to the internal Haskell function? Is it anything else? Then this is a runtime error".
18:16:59 <Phantom_Hoover> Yes.
18:17:14 <Phantom_Hoover> Although that isn't really dynamic, is it?
18:17:27 <Phantom_Hoover> It's more pattern matching on algebraic data types.
18:17:36 <CakeProphet> Phantom_Hoover: have you read Structure and Interpretation of Computer Programs? There's a whole chapter in which they write a scheme interpreter in scheme. Gives you a good idea of how the basic design for an interpreter works.
18:17:36 <Phantom_Hoover> Well, they both do the same thing.
18:17:46 <Phantom_Hoover> CakeProphet, I have not.
18:17:53 <CakeProphet> Phantom_Hoover: it's not dynamic in Haskell no. But your Scheme language that you create will have dynamic typing, yes.
18:18:01 <Phantom_Hoover> Yes.
18:18:09 <Phantom_Hoover> Oh, is it Scheme-based?
18:18:30 <cpressey> I think there could be two meaning of "dynamic" floating around now, too :)
18:18:56 <Phantom_Hoover> I am talking about Haskell-side dynamicity.
18:19:09 <Phantom_Hoover> CakeProphet is talking about Scheme-side.
18:19:26 <CakeProphet> ah.
18:19:31 <Phantom_Hoover> Wait, Scheme doesn't let you define your own types, does it?
18:19:41 <CakeProphet> the only way to do dynamic typing in Haskell is with Dynamic. Which I don't understand completely yet.
18:19:57 <CakeProphet> Phantom_Hoover: hmmm, not sure about Scheme. I know CLisp does but not scheme.
18:20:12 <cpressey> Scheme itself does not.
18:20:22 <Phantom_Hoover> Well, there goes that problem
18:20:37 <CakeProphet> ah... yes. finite number of types = easy runtime type checking. :)
18:20:38 <Phantom_Hoover> How much of Scheme is being implemented?
18:20:46 <Phantom_Hoover> All of it?
18:21:05 <CakeProphet> -shrug- none. I don't even plan on using Scheme. Scheme is always a good example to start with for language design though. It's the first steps. :)
18:21:32 <Phantom_Hoover> Ah.
18:21:51 <Phantom_Hoover> I was terrified that continuations might turn up.
18:21:54 * cpressey had awful visions of MUD-programming-meets-EMACS
18:22:00 <CakeProphet> Phantom_Hoover: http://mitpress.mit.edu/sicp/full-text/book/book.html very good book. It's all in Scheme. I read this book when I first started learning programming, and it helped a lot.
18:22:25 <CakeProphet> cpressey: that's not to say I won't consider /a/ Lisp as a scripting lang.
18:22:41 <CakeProphet> at the moment I am designing no scripting language. I want a working Haskell codebase and then I will decide from there.
18:23:27 <Phantom_Hoover> Codebase for what?
18:23:32 <CakeProphet> MUD server.
18:24:01 <CakeProphet> "codebase" is the idiomatic term in MUD communities for a paticular server implementation. They don't use the word "server" to describe games.
18:24:10 <oerjan> CakeProphet: btw there are things you can do with existential types that you cannot do with Dynamic. for example you cannot find the Show instance for a value of unknown type in Dynamic even it has one (Dynamic only allows you to extract known types, essentially)
18:24:31 <CakeProphet> oerjan: ah. I see.
18:24:47 <CakeProphet> oerjan: that makes sense. If the type is not known how can you find the proper instance?
18:25:00 <oerjan> yeah
18:25:38 <CakeProphet> I would probably use typeclasses in a "complete" Lisp implementation.
18:25:51 <CakeProphet> for heterogenous containers I would use an existential.
18:29:52 <CakeProphet> for a MUD though I would seriously consider creating a custom language though. Probably based on tables like Lua.
18:30:18 <CakeProphet> it's only natural for a MUD... you're essentially just manipulating big tables of associated data.
18:32:59 -!- oerjan has quit (Quit: Later).
18:36:16 <AnMaster> CakeProphet, erlang?
18:36:22 <CakeProphet> AnMaster: what about it?
18:36:34 <AnMaster> CakeProphet, I thought you were doing your MUD in it
18:36:43 <AnMaster> * cpressey had awful visions of MUD-programming-meets-EMACS <-- sounds awesome
18:36:52 <CakeProphet> well, I haven't started yet. Still in planning, so the possibility of a different language still exists.
18:37:11 <CakeProphet> AnMaster: and yeah, I agree. A lisp scripter would be pretty swanky.
18:37:44 <AnMaster> CakeProphet, you could do erlang scripting in erlang though. Anyway if you want to parse with yacc and such erlang has yecc
18:37:51 <AnMaster> which is yacc for erlang
18:38:01 <AnMaster> CakeProphet, might be worth considering
18:38:22 <CakeProphet> hmmm, maybe. Scripting is really a later concern.
18:39:08 <CakeProphet> I think Haskell would have real benefits in this kind of project.
18:39:14 <CakeProphet> there's a lot of strong points.
18:39:44 <CakeProphet> and it would be fun. I've yet to put anything complex in a Haskell program. :)
18:40:14 <Phantom_Hoover> I implemented Dawkins' weasel in Haskell once.
18:40:28 <Phantom_Hoover> It had options and everything.
18:41:12 <AnMaster> CakeProphet, you haven't done anything complex in erlang either! ;P
18:41:33 <AnMaster> and erlang has a lot of strong points for this
18:42:13 <CakeProphet> that's also true.
18:42:51 <CakeProphet> but... I vastly prefer Haskell to Erlang, based on my study of their libraries and semantics.
18:43:07 <CakeProphet> and I think most of Erlang's strong-points are available in Haskell as well.
18:43:14 <AnMaster> Phantom_Hoover, Dawkins' weasel?
18:43:14 <CakeProphet> some are different, yes.
18:43:31 <pikhq> AnMaster: Parsec is significantly better than Yacc.
18:43:39 <Phantom_Hoover> AnMaster, weasel program?
18:43:39 <AnMaster> pikhq, probably
18:43:47 <pikhq> It is, in fact, lightyears beyond the competition.
18:43:47 <AnMaster> CakeProphet, concurrency would be harder in haskell as far as I understood?
18:43:52 <Phantom_Hoover> It evolves a string towards another
18:43:55 <AnMaster> Phantom_Hoover, I have no idea what it is, thus I'm asking
18:44:00 <AnMaster> ah
18:44:10 <pikhq> AnMaster: Haskell concurrency is *easy*.
18:44:32 <AnMaster> pikhq, isn't it mostly parallel computation, rather than message passing
18:44:33 <Phantom_Hoover> It's called a weasel program because the original string was "METHINKS IT IS LIKE A WEASEL"
18:44:40 <AnMaster> pikhq, making it good for very very different things
18:44:51 <AnMaster> pikhq, number crunching rather than server/client
18:44:52 <pikhq> No, that's Haskell parallelism.
18:45:17 <CakeProphet> Haskell has messaging passing and parallelism
18:45:17 <AnMaster> pikhq, and reloading code on the fly?
18:45:21 <AnMaster> pikhq, what about that bit?
18:45:22 <pikhq> Haskell concurrency has message passing, (fairly normal) threading, and software transactional memory.
18:45:27 <AnMaster> which would be _very_ useful in a MUD
18:45:30 <CakeProphet> yes.
18:45:36 <pikhq> AnMaster: That's not concurrency.
18:45:39 <AnMaster> pikhq, true
18:45:43 <AnMaster> pikhq, did I claim it was?
18:45:46 <AnMaster> pikhq, no I didn't
18:45:50 <pikhq> You seemed to be.
18:45:54 <CakeProphet> AnMaster: I think hot swapping can be achieved by other means. There are codebases in C that do it, so I think I can just do what they do.
18:45:55 <AnMaster> pikhq, I'm just asking if haskell have it
18:46:01 <pikhq> "What about concurrency? And reloading code on the fly?"⇧
18:46:10 <CakeProphet> The extensional definition of function equality, discussed above, is commonly used in mathematics. Sometimes additional information is attached to a function, such as an explicit codomain, in which case two functions must not only agree on all values, but must also have the same codomain, in order to be equal.
18:46:12 <AnMaster> pikhq, yes seems clear to me,
18:46:17 <CakeProphet> so, question about this wp paragraph.
18:46:21 <AnMaster> CakeProphet, in C you do dlopen() and such stuff. It isn't easy though
18:46:27 <pikhq> Hot swapping code is rather *annoying* to do in Haskell.
18:46:33 <AnMaster> CakeProphet, and swapping the core program is hard
18:46:33 <pikhq> It's possible, but a pain.
18:46:45 <AnMaster> pikhq, see that is a good reason for CakeProphet to use erlang
18:46:52 <AnMaster> since it will be very useful in a MUD
18:46:55 <CakeProphet> if two functions agrees on all values, wouldn't they have the same codomain.
18:47:14 <CakeProphet> the two statements seem redundant because they overlap.
18:47:26 <pikhq> AnMaster: The simplest way is to pass the state as a command line argument when fork/exec'ing.
18:47:28 <CakeProphet> unless I misunderstand codomain.
18:47:51 <AnMaster> pikhq, that could be larger than the cmdline length limit
18:47:51 <pikhq> And relying on how file descriptors will go across that.
18:48:02 <CakeProphet> pikhq: if I recall that's essentially what the C server do. They save state to a file of some kind and then load it via command line argument.
18:48:17 <pikhq> Or you can save the state to a tmp file.
18:48:22 <AnMaster> yes that works
18:48:42 <pikhq> Basically, though, this is a feature very peculiar to Erlang.
18:48:49 <AnMaster> anyway, that is not free from interruptions. And depending on how large your state is it could take some time
18:48:51 <CakeProphet> in any hot swapping is something that can be implemented to a degree and I'm not terribly concerned with it.
18:48:53 <pikhq> Allowed by its VM.
18:48:57 <AnMaster> pikhq, indeed
18:49:01 <AnMaster> pikhq, what about jvm?
18:49:06 <CakeProphet> *in any case
18:49:12 <AnMaster> shouldn't it allow that too?
18:49:14 <pikhq> JVM doesn't allow for it, though it would be a fairly simple addition.
18:49:22 <AnMaster> pikhq, .NET?
18:49:28 <pikhq> No.
18:49:33 <CakeProphet> I think dynamic typing is why hotswapping is easy for Erlang.
18:49:44 <CakeProphet> I've implemented "degrees" of hot-swappability in Python code before.
18:49:50 <AnMaster> pikhq, anyway there are other ways to do it in C: mprotect() and loading new code then jumping to it
18:49:59 <pikhq> Mmm.
18:50:03 <AnMaster> you need some code elsewhere to do that of course
18:50:08 <Phantom_Hoover> AnMaster, not portable.
18:50:10 <AnMaster> and it would be quite painful and brittle
18:50:12 <AnMaster> Phantom_Hoover, I know
18:50:25 <CakeProphet> I'm still not entirely sure which I want to use. I'm considering.
18:50:36 <AnMaster> CakeProphet, python has some issues with reloading code. I tried.
18:50:42 <AnMaster> CakeProphet, buggy results sometimes
18:50:43 <Phantom_Hoover> And you'd need to put a compiler into your program to make the swapping usable.
18:50:57 <CakeProphet> but I've certainly looked into Erlang. I've actually research just about every library I would be using to my advantage in Erlang. I intend to do the same for Haskell and then determine which I'd prefer.
18:51:00 <cpressey> You can hotswap .so's if you're really into that sort of thing.
18:51:03 <Phantom_Hoover> And any swappable functions would have to be copied from .text
18:51:05 <AnMaster> Phantom_Hoover, it could compile the code first then hot swap the object files into the program
18:51:21 <Phantom_Hoover> Hence it needs a compiler somewher.e
18:51:28 <AnMaster> Phantom_Hoover, no
18:51:32 <AnMaster> Phantom_Hoover, it needs a _linker_
18:51:36 <AnMaster> not a compiler
18:51:50 <AnMaster> very very different
18:51:56 <Phantom_Hoover> So the swapped code would be created at compile-time?
18:52:07 <AnMaster> what?
18:52:13 <AnMaster> you could compile new object files
18:52:29 <AnMaster> then load them into your program, jump to the new ones, unload the old
18:52:48 <Phantom_Hoover> So you need a compiler to compile the new object files.
18:52:51 <AnMaster> Phantom_Hoover, depending on details you need either a dynamic linker or a linker
18:53:03 <AnMaster> Phantom_Hoover, yes but it wouldn't be inside your program
18:53:05 <AnMaster> that is my point
18:53:48 <Phantom_Hoover> AnMaster, you'd need a compiler somewhere, and the resulting code would be pretty non-portable.
18:54:09 <AnMaster> Phantom_Hoover, yes it would rely on linux allowing mprotect() on non-mmaped pages
18:54:22 <CakeProphet> I think STM would be potentially worth using Haskell.
18:54:30 <AnMaster> CakeProphet, STM?
18:54:33 <Phantom_Hoover> And knowing the object format. And knowing where the compiler is kept.
18:54:39 <fizzie> AnMaster: you can (IIRC) have a POSIX shared memory segment that'll survive an exec() call; you can use that to pass as much state as you want (within reasonable limits).
18:54:43 <AnMaster> Phantom_Hoover, or you could just use a wrapper binary that loads *.so with all the code except what is needed to hotswap
18:54:56 <CakeProphet> Software Transactional Memory. It is a method of manipulating shared state in Haskell. Of course, I can combine it with message passing as well.
18:54:58 <AnMaster> fizzie, 2 GB? probably not ;P
18:55:22 <fizzie> You could use serialization-to-a-file for that, but...
18:55:47 <AnMaster> CakeProphet, does haskell allow you to do symbolic debugging at runtime?
18:56:01 <CakeProphet> hmmm... dunno.
18:56:31 <AnMaster> CakeProphet, like, you can just attach a debugger and inspect variables and so on. Possibly just dumping complete state without pausing the thread
18:56:37 <AnMaster> erlang allows that just fine
18:56:48 <ais523> mind boggles: not only was WINE ported to Windows, it also turns out that DosBox was ported to DOS
18:57:04 <AnMaster> ais523, why would wine be ported to windows
18:57:17 <AnMaster> ais523, and dosbox is basically eval() on DOS?
18:57:19 <ais523> AnMaster: some Windows programs actually run better under WINE than they do native
18:57:27 <Phantom_Hoover> Huh?
18:57:27 <AnMaster> ais523, wait, dosbox isn't the one using vm86() is it?
18:57:33 <AnMaster> it is dosemu that does that?
18:57:35 <ais523> and no, DosBox still emulates, whether on DOS or not
18:57:51 <AnMaster> ais523, which windows programs?
18:57:57 <ais523> not sure offhand
18:58:00 <Phantom_Hoover> AnMaster, why the brackets in vm86()?
18:58:12 <Phantom_Hoover> Ah.
18:58:24 <AnMaster> Phantom_Hoover, parentheses you mean?
18:58:35 <Phantom_Hoover> Yes.
18:58:37 <AnMaster> Phantom_Hoover, and it is because it is a syscall on linux that I refer to
18:58:52 <Phantom_Hoover> I know, hence the "ah".
18:58:58 <AnMaster> ah I see
18:59:16 <AnMaster> why did you ask then? Or did you check man pages in between?
18:59:46 <Phantom_Hoover> Yes.
19:01:40 -!- MizardX has quit (Ping timeout: 276 seconds).
19:25:47 <CakeProphet> anyone have experience with debuggers in Haskell?
19:26:29 <Phantom_Hoover> GHCi probably has something.
19:27:59 <CakeProphet> ha. to #haskell !
19:35:37 <AnMaster> http://en.wikipedia.org/wiki/File:Surstroemmngsklaemma.png <-- yes it is traditionally eaten with milk. No idea why. And no idea why it is eaten at all either.
19:35:50 <AnMaster> since it is basically sour fermented fish
19:35:56 <AnMaster> wait, wrong channel
19:35:57 <AnMaster> XD
19:38:19 <Phantom_Hoover> What on earth is that?
19:38:27 <Deewiant> Surströmming
19:39:03 <cpressey> MMMMmmmmm.
19:39:56 <Deewiant> Or the bit on the left is, anyway
19:40:10 <cpressey> "These bacteria produce carbon dioxide and a number of compounds that account for the unique odour: pungent (propionic acid), rotten-egg (hydrogen sulfide), rancid-butter (butyric acid), and vinegary (acetic acid)."
19:40:16 <Deewiant> The other bits appear to be potato, onion, and bread
19:40:20 <Deewiant> And a glass of milk
19:40:40 <cpressey> Rotten egg AND rancid butter, together at last.
19:40:58 <AnMaster> Phantom_Hoover, a local speciality in some parts of north Sweden
19:41:05 <AnMaster> Phantom_Hoover, luckily I don't live there
19:41:28 <Deewiant> cpressey: Just smells resembling them
19:41:32 <AnMaster> Deewiant, the bread is tunnbröd
19:41:39 <AnMaster> I don't know if it is local to Sweden?
19:41:46 <AnMaster> tunnbröd is very tastey though
19:41:51 <Deewiant> Not lefse?
19:41:51 <AnMaster> soft very thin bread
19:41:57 <AnMaster> tunnbröd means "thin bread"
19:42:02 <AnMaster> Deewiant, wtf is "lefse"?
19:42:10 <Deewiant> Hmm, maybe I'm confusing with Norway
19:42:20 <Deewiant> Yeah, I am
19:42:23 <Deewiant> fi:rieska anyway
19:42:55 <cpressey> Deewiant: Yes, well you can't have evrything I suppose.
19:42:57 <AnMaster> http://en.wikipedia.org/wiki/Tunnbr%C3%B6d <-- well on that image I only tried the left version
19:43:02 <AnMaster> no idea about the one on right
19:43:33 <AnMaster> wait actually, I might have tried it once
19:43:36 <AnMaster> if so it was very good
19:43:45 <AnMaster> was ages ago I had some strange sort of tunnbröd
19:43:57 <Deewiant> The English term is flatbread
19:44:17 <AnMaster> Deewiant, not the same though
19:44:19 <Deewiant> Although the variants are different enough that I suppose they're all correct (as names) in any language
19:44:38 <AnMaster> Deewiant, English flatbread tastes quite differently iirc
19:44:40 <Deewiant> Flatbread is the all-encompassing term
19:44:46 <AnMaster> ah right
19:45:21 <cpressey> And, i dont think english cuisine has its own flatbread.
19:45:46 <Deewiant> I'll leave informing about that to the English
19:45:58 <cpressey> Tortillas, bannock...
19:46:25 <AnMaster> hm okay
19:47:42 <AnMaster> cpressey, anyway all parts except the fish in that image are eatable (though not very well together). The fish is claimed by some to be eatable but I strongly disagree from the smell. Never tasted it
19:48:03 <Deewiant> They're edible enough together — minus the fish, like you say
19:48:52 <AnMaster> Deewiant, I don't like potato on bread, but maybe that is just me
19:49:04 <AnMaster> garlic on bread I like. But definitely not on tunnbröd
19:49:14 <AnMaster> tunnbröd has a rather special taste in itself
19:49:25 <AnMaster> and yeah that is onions not garlic
19:49:38 <Deewiant> I don't particularly like garlic
19:49:49 <AnMaster> I _love_ garlic.
19:50:21 <AnMaster> Deewiant, sometimes during late evenings I take pressed garlic on buttered hot bread.
19:50:34 <AnMaster> should be hot enough that the butter melts
19:50:40 <AnMaster> so heat the bread in the oven
19:50:44 <AnMaster> apply butter
19:50:52 <AnMaster> then quickly into the oven again for about half a minute
19:51:12 <AnMaster> then take it out, use the garlic pressed and yum
19:51:53 <Deewiant> Is an oven superior to a toaster?
19:52:06 <AnMaster> Deewiant, well less burnt when you heat it a lot
19:52:12 <AnMaster> Deewiant, that is the main reason
19:52:17 <CakeProphet> anyone know a combination IRC client and IM client?
19:52:25 <AnMaster> CakeProphet, they all suck
19:52:27 <AnMaster> for irc
19:52:28 <CakeProphet> key stipulation: a good one
19:52:29 <AnMaster> or for im
19:52:41 <CakeProphet> ah... okay. So I guess I'll just stick to seperate clients.
19:52:41 <AnMaster> CakeProphet, pidgin can do it but it sucks for irc
19:52:46 <Deewiant> You can just heat it for a short time, I find it hot enough
19:52:51 <CakeProphet> AnMaster: yeah, I've noticed. pidgin is my current IM client
19:53:12 <AnMaster> Deewiant, nah then you aren't using proper butter. As in pure butter, not butter mixed up with stuff to make it easier to put on bread
19:53:15 <Deewiant> Depends on the bread type, though
19:53:24 <AnMaster> and yeah depends on bread type a lot
19:53:47 <Deewiant> There's butter like that? I thought there's only pure butter and margarine
19:53:51 <AnMaster> now I'm going to eat some "fenugreek" flavoured cheese. This might not be correct. It is from interwiki on "bockhornsklöver" in Swedish
19:54:05 <Phantom_Hoover> Does Finland count as part of Scandinavia?
19:54:29 <AnMaster> Phantom_Hoover, either that or Nordic that it isn't part of. Never remember which
19:54:31 <Deewiant> Depends on whether you define Scandinavia as including Finland
19:54:43 <Phantom_Hoover> Ah, well.
19:54:59 <CakeProphet> you know... I sincerely believe there is a better way to organize desktop environments / UIs
19:55:14 <Phantom_Hoover> In any case, an inordinate number of people here are from Scandinavia \/ Finland.
19:55:16 <CakeProphet> than the current standard.
19:55:28 <Phantom_Hoover> (That was meant to be a union operator)
19:55:33 <Deewiant> Heh: "[Finland] has shifted from being a province in the Swedish Empire to an autonomous unit in 'Eastern' Europe, then to an independent state in 'Northern' Europe or 'Scandinavia'. After joining the European Union, Finland has recently been included in 'Western Europe'."
19:55:36 <Phantom_Hoover> CakeProphet, what's the current standard?
19:55:45 <Deewiant> Gotta love political terminology
19:58:58 -!- sebbu has quit (Ping timeout: 264 seconds).
20:00:34 <pikhq> Deewiant: All of that seems like arbitrary definitions.
20:00:45 <Deewiant> No shit?
20:07:17 <CakeProphet> I believe the "Western Europe" definition implies a particular state of development.
20:08:29 <pikhq> Rather than, as its name implies, a particular geographic region
20:12:26 <Gregor-P> "Western Europe" = snooty Europe
20:12:41 <Gregor-P> "Eastern Europe" = poor Europe
20:18:36 -!- cheater109 has joined.
20:22:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
20:24:44 -!- cheater109 has quit (Quit: Leaving).
20:25:01 -!- cheater109 has joined.
20:25:49 <AnMaster> pikhq, the "province in the Swedish Empire" I believe was arbitrary at a sword point though.
20:25:52 <AnMaster> ;P
20:26:38 <Deewiant> As was that "autonomous unit in 'Eastern' Europe"
20:34:20 <AnMaster> Deewiant, no that was more likely at a gunpoint
20:34:33 <AnMaster> ;)
20:34:55 <AnMaster> or pistolpoint
20:35:07 <AnMaster> hm actually I guess the Swedish one would have been that too
20:35:14 -!- kar8nga has quit (Remote host closed the connection).
20:36:55 <Deewiant> No, that was really more swordpoint
20:37:48 <Deewiant> Or crosspoint (crusades and all that)
20:38:15 <AnMaster> Deewiant, I thought it was a bit later than that hm
20:38:26 <AnMaster> but probably you are right
20:38:33 <Deewiant> http://en.wikipedia.org/wiki/Treaty_of_N%C3%B6teborg
20:42:13 <Deewiant> Or maybe more relevantly http://en.wikipedia.org/wiki/Second_Swedish_Crusade
20:42:33 <AnMaster> gn
20:42:40 <Deewiant> hm*
20:42:45 <AnMaster> thanks
20:42:53 <AnMaster> didn't notice it myself
20:42:56 -!- sebbu has joined.
20:47:29 <cpressey> Man, virtualbox's shared folders are so much worse than vmware's.
20:51:00 <AnMaster> cpressey, I don't use them. However it is a lot nicer in many other aspects
20:51:18 <AnMaster> cpressey, anyway the shared folders work don't they?
20:51:25 <AnMaster> cpressey, I fail to see what more they could do
20:51:37 <cpressey> They /barely/ work.
20:51:42 <AnMaster> cpressey, ?
20:51:50 <AnMaster> cpressey, I tend to use nfs or samba anyway
20:52:22 <cpressey> I've been waiting for 5 minutes for my virtualenv to come back up after killing it. All it's doing is writing a couple of files to the shared folder.
20:52:54 <cpressey> Also, writing a file to a shared folder sometimes collides with its own lock. I have no idea what's going on there.
20:53:42 <AnMaster> cpressey, I used them very rarely but when I did they worked perfectly
20:53:47 <AnMaster> cpressey, linux host and windows guest
20:54:04 <AnMaster> windows xp 64bit, linux 2.6.x 64-bit
20:54:05 <cpressey> Ah, well. Swap those and see what happens :)
20:54:07 <AnMaster> to be specific
20:54:13 <AnMaster> cpressey, no clue at all about that
20:54:38 <cpressey> It's still better than VMWare periodically forgetting what a NIC is.
20:54:48 <AnMaster> huh it does that?
20:54:56 <AnMaster> cpressey, anyway you could use samba to share the files
20:56:11 <pikhq> Better than dealing with VMware's *horrible* UIs.
20:56:21 <cpressey> It does that with Turnkey Linux, about once a month. No idea how to get it back, have to start over from a backup image basically.
20:57:42 <AnMaster> cpressey, turn key linux?
20:57:48 <AnMaster> cpressey, never heard of that distro
20:58:05 <cpressey> I was thinking about ais523's comments on DOSBox-in-DOS and WINE-in-Windows... I actually think that would be a good property for an OS to have inherently.
20:58:18 <cpressey> AnMaster: It's nothing special.
20:58:22 <AnMaster> cpressey, how do you mean
20:58:37 <cpressey> AnMaster: Well, sandboxing, basically.
20:58:44 <AnMaster> cpressey, like jails on *bsd?
20:58:49 <cpressey> But in the style of "Scheme-interpreter-written-in-Scheme" :)
20:58:49 <AnMaster> well, freebsd at least
20:58:59 <AnMaster> ah not like jails I guess
20:59:18 <cpressey> Metacircular jail sandbox bootstrap!
20:59:29 <Phantom_Hoover> CakeProphet, still working on that MUD?
20:59:34 <AnMaster> cpressey, so nothing like freebsd jails or such
20:59:44 <cpressey> No, FreeBSD cheats ;)
20:59:53 <AnMaster> cpressey, well yes but it works rather well
20:59:57 <cpressey> Plash cheats too
21:00:04 <cpressey> Pfah works
21:00:09 <AnMaster> cpressey, yes but in quite a different way
21:00:12 <AnMaster> pfah?
21:00:20 <cpressey> "ffs", as you would say.
21:00:23 <AnMaster> ah
21:00:54 <Phantom_Hoover> cpressey, would CPU emulation be needeD?
21:00:55 <AnMaster> cpressey, "ffs works" still makes no sense there
21:00:58 <cpressey> I meant, "Pfah! 'Works'!"
21:01:03 <AnMaster> ah
21:01:18 <cpressey> Phantom_Hoover: Need to do it on a LISP machine for full effect, and in that case, no :)
21:01:36 <AnMaster> cpressey, you thinks it works badly? Or "works is not enough here"?
21:01:39 <Phantom_Hoover> I wish Lisp machines were still around.
21:01:51 <Phantom_Hoover> Everyone thinks they were so good...
21:02:16 <AnMaster> there should he haskell machines
21:02:39 <AnMaster> except that doesn't work as well as a concept I think. Maybe
21:02:46 <AnMaster> erlang machines sound more reasonable
21:02:48 <cpressey> I mean, "Who cares about 'works'? This is purity of design we're talking about here." Of course, in the recent context of a complaint that virtualbox is taking ages, I suppose this is somewhat hypocritical.
21:02:52 <AnMaster> it has more of the "closed system" feeling
21:03:07 <cpressey> AnMaster: Was it you who told me about the ECOMP chip?
21:03:16 <AnMaster> cpressey, probably not. What is ECOMP
21:03:28 <cpressey> ECOMP is Erlang-in-hardware.
21:03:33 <AnMaster> cpressey, link?
21:03:55 <AnMaster> cpressey, google gives me useless stuff
21:03:56 <CakeProphet> Phantom_Hoover: yes. Sort of. Doing schoolwork right now but I'll always be working on it. :)
21:04:04 <cpressey> www.erlang.org/euc/00/processor.ppt (warning: powerpoint)
21:04:23 <AnMaster> cpressey, ah googling that url gives me "show as html" :)
21:04:44 <cpressey> Oh, this is where I learned about it: http://prog21.dadgum.com/64.html
21:07:31 <AnMaster> wait what? ETS in hardware!?
21:07:49 <cpressey> Why not?
21:07:55 <AnMaster> cpressey, hm
21:08:13 <AnMaster> cpressey, well since a summer project of mine is befunge93 in VHDL...
21:08:45 <AnMaster> I guess I shouldn't be surprised
21:09:34 -!- Tessste has joined.
21:10:51 <AnMaster> cpressey, I guess nothing became of ECOMP though?
21:11:22 -!- Tessste has left (?).
21:11:50 -!- cheater109 has quit (Quit: Leaving).
21:14:33 <cpressey> AnMaster: Well, it was experimental.
21:14:46 <AnMaster> true
21:15:11 <AnMaster> cpressey, they could have published the VHDL code at that point to let people have some fun
21:17:13 -!- cal153 has quit (Ping timeout: 264 seconds).
21:18:06 <fizzie> AnMaster: Are you this same [your real name here] that has once written to the supertux-devel list about a yeti?-)
21:22:02 -!- cheater99 has joined.
21:22:05 <cheater99> hello sweeties
21:22:41 -!- ais523 has quit (Remote host closed the connection).
21:47:05 <coppro> what's the language called where the only valid program is an empty file?
21:47:06 <AnMaster> <fizzie> AnMaster: Are you this same [your real name here] that has once written to the supertux-devel list about a yeti?-) <-- I don't think I wrote that. But I was/still am a supertux developer
21:47:10 <AnMaster> nowdays inactive
21:47:27 <AnMaster> fizzie, I probably edited that level at some point
21:47:38 <AnMaster> I blame stupid level editor if my name is listed as author
21:48:19 <fizzie> I don't know about that; I just saw the email list posting in google.
21:48:28 <AnMaster> fizzie, huh, how comes you saw that
21:48:50 <AnMaster> fizzie, I mean you googled me or what?
21:50:42 <fizzie> I googled the level name.
21:51:02 <fizzie> Well, "a" level name.
21:51:16 <fizzie> I wanted to know if the game was supposed to continue from that final-battle-like yeti thing.
21:53:28 -!- sebbu has quit (Quit: reboot).
21:56:17 <AnMaster> fizzie, yes it is
21:56:36 <AnMaster> fizzie, well in svn at least
21:56:44 <AnMaster> fizzie, not sure which release you are playing
21:59:37 -!- zzo38 has joined.
22:00:41 -!- zzo38 has set topic: Snarkiness tolerated and encouraged | Well, except for that | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:02:11 <zzo38> Now I fixed the topic message, why was there ] at the end before?
22:04:22 -!- cpressey has left (?).
22:05:04 <fizzie> It says 0.3.3-2 in the package version field; I just grabbed what was in Ubuntu lucid.
22:05:07 <zzo38> (The only thing I changed is removing ] at the end)
22:06:01 -!- alise has joined.
22:06:14 <alise> Good evening.
22:06:46 <pikhq> Good evening, sir/ma'am alise.
22:07:31 <alise> I'm captain of #esoteric now?
22:07:44 <pikhq> Nope.
22:08:10 <alise> Aww...
22:09:28 <zzo38> Good day
22:09:56 <zzo38> (In my location, which is the same timezone as the log, it is not evening yet)
22:10:22 <alise> The log should *really* be in UTC, though.
22:10:28 <alise> And, in fact, botte's log will be.
22:10:51 <zzo38> I have idea (I don't know how well it would work), that some program in Linux can run another program with override system call
22:11:07 <zzo38> The log should be SIRCL, in my opinion
22:11:37 <alise> zzo38: it can do that
22:11:40 <alise> anagolf does it
22:11:46 <alise> zzo38: what, botte's or clog's?
22:11:53 <alise> If botte's, show me SIRCL and I'll consider it.
22:11:59 <zzo38> About the system call, this is called "overcall" interface, and then it overrides some or all system calls for a child program, but that means the overcall has to emulate switch user ID's and stuff
22:12:13 <AnMaster> fizzie, hm not sure then
22:12:24 -!- Warrigal has joined.
22:12:24 <AnMaster> fizzie, there are bonus worlds elsewhere
22:12:34 <AnMaster> fizzie, contrib or whatever it is called in your locale
22:12:40 <alise> AnMaster: SuperTux.
22:12:42 <fizzie> Yes, I saw those.
22:12:43 <alise> (Just guessing.)
22:12:48 <alise> Warrigal: Back to the old name?
22:12:51 <AnMaster> fizzie, very varying quality
22:13:00 <pikhq> zzo38: That would be quite nice to have. Make for a nice sandboxing scheme.
22:13:00 <Warrigal> No, it's always this when I connect.
22:13:00 <AnMaster> fizzie, some bad, some near unplayable IMO
22:13:10 <Sgeo__> Hi alise
22:13:10 <AnMaster> Warrigal, always what?
22:13:16 <Warrigal> But yeah, I don't think I'll return to "uorygl".
22:13:18 <Warrigal> AnMaster: "Warrigal".
22:13:22 <AnMaster> Warrigal, ah
22:13:26 <alise> Warrigal is a much nicer name than uorygl, really.
22:13:35 <alise> One thing Lojban is not is pretty when you transliterate.
22:13:54 <zzo38> alise: SIRCL: http://zzo38computer.cjb.net/textfile/miscellaneous/SIRCL http://zzo38computer.cjb.net/irc_log/ADMIN/1275700304
22:14:05 <AnMaster> <zzo38> I have idea (I don't know how well it would work), that some program in Linux can run another program with override system call <-- you could do that with ptrace iirc
22:14:08 <pikhq> Wait, *that's* where "uorygl" comes from?
22:14:12 <alise> pikhq: Indeed.
22:14:16 <Deewiant> Warrigal is Lojban?
22:14:31 <AnMaster> <pikhq> Wait, *that's* where "uorygl" comes from? <-- where?
22:14:35 <Warrigal> "Warrigal" is English; "uorygl" is "Warrigal" transcribed into Lojban.
22:14:35 <alise> uorygl is "Warrigal" transliterated into Lojban.
22:15:01 <alise> "Warrigal" is technically Australian English, isn't it?
22:15:05 <AnMaster> zzo38, it should use LF not CRLF
22:15:07 <AnMaster> zzo38, IMO
22:15:09 <Deewiant> One letter away from Finnish :-P
22:15:15 <zzo38> Note: For the overcall interface, my other idea is, you have to also program in how PIDs outside the overcall interface appear inside it and also how PIDs inside it appear outside, and so on
22:15:21 -!- Phantom_Hoover has quit (Quit: Leaving).
22:15:31 <alise> zzo38: Respectfully, I dislike the inconsistent format, and also Unix timestamps.
22:15:44 <pikhq> That's like me changing my nick to ピケッチキュー or something.
22:15:54 <alise> I think I will likely store it as S-Expressions or something similar.
22:16:00 <Warrigal> Deewiant: what is?
22:16:04 <Deewiant> uorygl
22:16:11 <alise> pikhq: So should I work on Flinix, a coreutils, or botte?
22:16:24 <AnMaster> uorygl is lojban!?
22:16:24 <pikhq> alise: Coreutils or botte.
22:16:34 <pikhq> I think I can manage Flinix on my own.
22:16:45 <zzo38> AnMaster: It uses CRLF because that is because the IRC protocol must use CRLF at the end of every line.
22:17:00 <zzo38> SIRCL is not inconsistent.
22:17:05 <Warrigal> uorugl would be much more valid Finnish, aye?
22:17:06 <AnMaster> pikhq, botte? Flinix?
22:17:22 <AnMaster> zzo38, SIRCL is not the IRC protocol though
22:17:31 <alise> pikhq: But I was having such fun.
22:17:35 <alise> And don't tell AnMaster.
22:17:40 <alise> Let him suffer for ignoring me! >:)
22:17:45 <Warrigal> AnMaster: it's not a Lojban word; it's a word usable in Lojban.
22:17:45 <zzo38> AnMaster: You are right, it isn't, but it is based on it
22:17:52 <alise> pikhq: My Flinix is better than your Flinix >_>
22:17:57 <Deewiant> Warrigal: Like said, a letter away. I'd've gone with "uorigl" as the approximation
22:17:59 <pikhq> (btw, "pikecchikyuu" in Hepburn, "pikettikyuu" in Nihon-shiki, and "h^ikextutikixyuu" in my-bizarre-romanisation)
22:18:02 <pikhq> alise: :P
22:18:05 <AnMaster> Warrigal, ah I see
22:18:14 <Warrigal> Deewiant: mm, okay.
22:18:29 <alise> pikhq: Pike ecchi: kyuu
22:18:32 <Deewiant> pikhq: Doesn't Hepburn use those annoying macrons, making it pikecchikyū
22:18:35 <zzo38> In addition, all * commands are even optional in SIRCL, which means that, it is completely valid to just copy a raw protocol transcript to a file and then prefix the UNIX timestamps.
22:18:39 <AnMaster> pikhq, and the usual English name?
22:18:39 <alise> You have a pike fetish you are not telling us about.
22:18:41 <pikhq> Deewiant: Ah, yes.
22:18:54 <zzo38> Although usually you want only channel messages, but a complete log is still a valid SIRCL log.
22:18:55 <alise> Tōkyō <-- STUPID HEPBURN
22:18:58 <pikhq> AnMaster: "pikhq"?
22:19:08 <AnMaster> pikhq, oh I thought it was the name of that pokemon
22:19:09 <AnMaster> nvm
22:19:15 <alise> It is that too.
22:19:26 <alise> pikhq: So, coreutils or botte? :P
22:19:33 <pikhq> alise: Dude, "Toukyou" and "tokyo" are two completely different words. :P
22:19:50 <alise> Well, Wikipedia claims it's Tōkyō :-)
22:19:56 <pikhq> For instance, "tokyo" isn't a word in Japanese, but Toukyou is.
22:20:01 <alise> "Tokyo (東京, Tōkyō; "Eastern Capital"?)"
22:20:27 <alise> So what's 東京 in your crazy unprononuncable romanisation?
22:20:28 <AnMaster> pikhq, what is the capital of Japan called then?
22:20:35 <pikhq> alise: I tend to romanise using the kana rules for noting long vowels just because it's easier to type than a freaking macron.
22:20:35 <zzo38> With the bar over the "o" is more correct romaji
22:20:38 <alise> AnMaster: Tōkyō.
22:20:40 <zzo38> But to be accurate you use kana
22:20:41 <alise> And you can't read this la la la
22:20:41 <pikhq> AnMaster: Toukyou.
22:20:44 <alise> *unpronounceable
22:20:45 <AnMaster> pikhq, ah
22:20:54 <pikhq> Erm.
22:21:06 <pikhq> alise: Toukixyou
22:21:17 <alise> pikhq: wrong, it's called Toukyou-to
22:21:19 <pikhq> My romanisation is an encoding of kana. :P
22:21:27 <alise> or, more accurately, Tōkyō-to
22:21:35 <alise> or, perfectly, 東京都
22:22:09 <pikhq> alise: Dude, that's "The City of Tokyo", not just "Tokyo".
22:22:16 <alise> *ahem*
22:22:19 <zzo38> I also have my own romaji format with is also an encoding of kana, the city Tokyo is named "To.uKiyo.u" which is the encoding of the hiragana for the city name
22:22:25 <alise> "Tokyo (東京, Tōkyō; "Eastern Capital"?), officially Tokyo Metropolis (東京都, Tōkyō-to?),[2] is one of the 47 prefectures of Japan."
22:22:37 <alise> So, the capital of Japan is actually called 東京都.
22:22:40 <pikhq> Sorry, the Metropolis of Tokyo.
22:22:49 <zzo38> My format is meant only for one thing though, only for encoding kana inside of ASCII text
22:22:50 <alise> And these are showing as boxes how can I get a Japanese font on Arch.
22:22:53 <alise> (A nice one preferably)
22:23:18 <pikhq> Yes, and the capital of the US is the City of Washington in the District of Columbia, and the capital of the UK is the City of London. But *who the hell calls it that*?
22:23:49 <pikhq> zzo38: Capitalisation to indicate the start of a syllable or something?
22:23:56 <zzo38> This kind of encoding I made is two ASCII characters per each kana. tsu is "Tu" and small tsu is "tu"
22:24:00 <alise> pikhq: If we'll insist on Toukyou, not Tokyo, we can go all the way.
22:24:16 <pikhq> Oh, wait. To indicate full-sized characters. Duh.
22:24:51 <zzo38> The ".u" is the u with no consonant, so put a period in place of the consonant letter
22:25:01 <pikhq> alise: When discussing the actual word in Japanese, I feel perfectly justified in noting the difference between "Toukyou" and "tokyo".
22:25:12 <alise> 東京都, bitch.
22:25:38 <pikhq> Next time you do that I am using all place names transcribed to Japanese and back.
22:25:53 <zzo38> The "o" is supposed to be long many English people do not understand that it is not "To ki o"
22:26:04 <AnMaster> Gregor, idea: Chopin on SID chipset. I wonder what the heck it will sound like.
22:26:42 <Gregor-P> "SID chipset" is meaningless to me
22:26:59 <AnMaster> <pikhq> Yes, and the capital of the US is the City of Washington in the District of Columbia, and the capital of the UK is the City of London. But *who the hell calls it that*? <-- what about City of Paris?
22:27:00 <alise> Gregor-P: Atari 8-bit music chip.
22:27:04 <alise> Gregor-P: err, no
22:27:07 <alise> Gregor-P: C64
22:27:11 <AnMaster> nop
22:27:14 <alise> Gregor-P: Analogue and awesome
22:27:21 <alise> pikhq: Hey, what's that nice Japanese font you recommended? Mincho Gothic or something?
22:27:34 <alise> Serifèd and all.
22:27:45 <AnMaster> not afaik at least
22:28:33 -!- augur has joined.
22:29:00 <AnMaster> Gregor-P, think C64
22:29:08 <AnMaster> Gregor-P, that is what had the SID chipset for the sound
22:29:18 <AnMaster> Gregor-P, not get it?
22:29:21 <AnMaster> now*
22:29:27 <zzo38> alise: I like the Gothic but if you want serif you use Mincho instead
22:29:30 <alise> Wow, what a condescending way to explain something.
22:29:38 <alise> "Think of this! And this! NOW do you get it?"
22:29:51 <alise> zzo38: I definitely want some hawt serify action.
22:29:56 <Gregor-P> "C64 sound chip" would have been wildly sufficient :P
22:30:13 <alise> pikhq: Wait... Japanese is going to look like shit with full hinting, isn't it?
22:30:52 <fizzie> SID is the powerful indeed. Just imagine: three voices *at the same time*, and not just two, three or four waveforms: instead, *five* different waveforms.
22:31:06 <AnMaster> fizzie, :D
22:31:12 <zzo38> alise: Use Mincho if you want serifs on Japanese text
22:31:19 <AnMaster> Gregor-P, ah anyway I think you should render some of your music that way too. Why not a combination of that and your usual high quality sound fonts
22:31:35 <zzo38> Gothic is for Japanese texts without serif
22:31:41 -!- pikhq has quit (Read error: Connection reset by peer).
22:32:28 <alise> Kanji is so wonderfully ornate; it's a crime to render it sans serif!
22:32:44 -!- cpressey has joined.
22:33:07 -!- pikhq has joined.
22:33:21 <zzo38> I invented a format for module musics, like MOD/S3M/IT/XM but this is a new format: http://zzo38computer.cjb.net/textfile/miscellaneous/amm/amm.txt Do you think it is complete? I think it might be incomplete? Please make comment of it?
22:34:46 <zzo38> alise: It is *not* crime to render it sans serif; I have some Japanese books and they use both serifs and sans serifs writing in these books. (But if you don't like sans serif kanji, just use only serifs kanji yourself, is OK!)
22:35:02 <alise> zzo38: CRIME.
22:35:46 <fizzie> It probably depends on how "high-end" you want it to be. IT (and I guess XM too) does things like multiple different samples per instrument, so that you can provide different samples for different notes for better-quality instruments.
22:35:55 <zzo38> O, it is a CRIME to render it sans serif. I thought you meant crime, because that is what you wrote. Why did you write crime if you meant CRIME?
22:36:12 <fizzie> Oh, and the ping-pong loop is pretty typical thing to support, though you can of course just mirror the bit in the wave data and loop that.
22:37:17 <CakeProphet> ah. I've just found a something Haskell will definitely have an advantage in over Erlang for the MUD server: parsing.
22:37:25 <CakeProphet> and string handling in general.
22:37:50 <fizzie> I like the general-purpose-programmingy things, but that goes without saying.
22:38:31 <AnMaster> zzo38, what is the difference between crime and CRIME apart from the case?
22:39:12 <zzo38> fizzie: Maybe I can add ping-pong loop in this document? Or maybe, as you said, it is not needed because you can mirror it in the sample data. (If ping-pong is supported, perhaps it can be specified by making the loop start number greater than loop end number?)
22:39:16 <zzo38> AnMaster: There is no difference.
22:39:29 <AnMaster> zzo38, then explain "<zzo38> O, it is a CRIME to render it sans serif. I thought you meant crime, because that is what you wrote. Why did you write crime if you meant CRIME?"
22:39:48 <zzo38> AnMaster: I cannot explain.
22:39:55 <AnMaster> zzo38, uh okay
22:39:59 <zzo38> It is like a joke
22:40:00 <pikhq> alise: Mincho ~= serif, Gothic ~= sans serif.
22:40:01 <AnMaster> right
22:40:23 <alise> pikhq: And hinting ~= makes ugly, prseumably.
22:40:40 <AnMaster> alise, can you even real Japanese in the first place?
22:40:41 <pikhq> Kochi Mincho and Kochi Gothic are two common free fonts for Japanese...
22:40:43 <AnMaster> err
22:40:44 <AnMaster> read*
22:40:45 <AnMaster> not real
22:40:58 -!- coppro has quit (Quit: FNM time).
22:41:13 <alise> AnMaster: No, but it looks pretty.
22:41:27 <AnMaster> alise, and why do you care so much about serif/sans-serif for it
22:41:28 <AnMaster> -_
22:41:30 <AnMaster> -_-
22:41:33 <alise> aur/ttf-kochi-substitute 20030809-4 (116)
22:41:33 <alise> High quality Japanese TrueType fonts
22:41:35 <alise> Substitute, what.
22:41:48 <alise> AnMaster: because kanji is beautiful, and sans-serif kanji looks like comic sans!
22:41:54 <AnMaster> alise, XD
22:42:08 <AnMaster> alise, what is hand written kanji like?
22:42:19 <AnMaster> alise, I doubt it uses serifs very often
22:42:21 <alise> Anything from "almost like printed kanji" to "unreadable", according to pikhq.
22:42:22 <pikhq> Substitute for MSMincho and MSGothic. Which are shitty.
22:42:41 <pikhq> Anything from "almost like printed kanji" to "unreadable by most".
22:42:45 <alise> AnMaster: Consider calligraphy.
22:42:54 <alise> They make up for the lack of serifs by making the characters awesome. :P
22:42:59 -!- sebbu has joined.
22:43:01 <AnMaster> alise, right
22:43:06 <pikhq> The "unreadable by most" thing is a few particular styles of calligraphy.
22:43:39 <pikhq> Grass script is absolutely unreadable, seal script is just hard to read because it is fairly archaic...
22:44:06 <pikhq> (it is, nowadays, only commonly used on seals. Hence the name.)
22:44:11 <alise> pikhq: So I want that substitute package, right?
22:44:16 <pikhq> Right.
22:44:21 <AnMaster> pikhq, and the grass is only common on grass?
22:44:37 <alise> AnMaster: http://upload.wikimedia.org/wikipedia/en/7/73/Cur_eg.svg On right: grass script. On left: normal kanji.
22:44:38 <alise> Discuss.
22:44:47 <zzo38> fizzie: Perhaps I can add a instrument mapping type if needed, maybe also does it need any additional synthesis types? Should it support FLAC encoding of samples? Should it have support for just intonation?
22:44:56 <pikhq> AnMaster: The "grass script" is called that because it looked like grass to someone.
22:44:59 * AnMaster has a vision of grass genetically altered to display Japanese letters
22:45:27 <AnMaster> pikhq, grass like the drug or like the thing on your lawn (hopefully not the same!)
22:45:28 <pikhq> The SVG alise linked reads "grass script" in Chinese and Japanese.
22:45:29 <AnMaster> ;)
22:45:45 <pikhq> (using the Chinese variant of 草)
22:45:49 <pikhq> AnMaster: The thing on your lawn.
22:45:53 <alise> Yeah, "grass, the drug".
22:45:55 <zzo38> alise: The thing like the grass script on right, I see script looking something like that in some of the pieces in my shogi board?
22:45:57 <AnMaster> pikhq, which one is which there?
22:46:05 <alise> People say that. This is an accurate imitation of people who use HARD DRUGS like "'"grass"'".
22:46:22 <pikhq> zzo38: Yes, shogi pieces are usually written using grass script or semi-cursive script.
22:46:53 <pikhq> AnMaster: Hmm? The Japanese variant has the top portion written using a single horizontal line, rather than two horizontal lines.
22:47:19 <AnMaster> pikhq, I mean which side is of that is the grass script
22:47:21 <AnMaster> in the svg
22:47:37 <pikhq> Left side is "grass script" written in grass script.
22:47:45 <AnMaster> fizzie, right side is?
22:47:52 <AnMaster> err
22:47:53 <AnMaster> pikhq, ^
22:47:55 <AnMaster> weird mistab
22:48:02 <AnMaster> might be due to typing in the dark
22:48:04 <pikhq> Regular script.
22:48:11 <pikhq> Erm.
22:48:11 <AnMaster> ah
22:48:12 <alise> The right, like I said.
22:48:13 <alise> pikhq: No...
22:48:14 <alise> Other way around.
22:48:15 <pikhq> Sorry, I fucked that up.
22:48:17 <alise> Left: normal.
22:48:20 <pikhq> Swap my directions.
22:48:23 <alise> Right: poop^Wgrass.
22:48:28 <pikhq> Left is regular script, right is grass script.
22:49:01 <AnMaster> alise, the grass script looks like stenography
22:49:08 -!- relet has quit (Quit: Leaving.).
22:49:12 <alise> No, it does not.
22:49:19 <fizzie> zzo38: It looks pretty complete, though of course you could want something where an effect's parameters (or just some other parameters, like the channel note) are controlled by the value of some other channel. Unless of course the indirection already works so that if you play note with the value of register X and then change the register while the note is playing, it'd also change the note.
22:49:21 <pikhq> http://upload.wikimedia.org/wikipedia/en/0/09/Semi-Cur_Eg.png And here's a comparison of regular and semi-cursive script.
22:49:25 <zzo38> The promoted side looks like more messy than the unpromoted side
22:49:39 <AnMaster> alise, well no, but like what japanese stenography would look like
22:49:54 <AnMaster> it also looks faster to type
22:49:57 <AnMaster> fewer strokes
22:49:59 <pikhq> Though a bit harder to read, you can at least tell *what the hell is written*.
22:50:13 <alise> AnMaster: Type?
22:50:15 <pikhq> AnMaster: Uh, nobody in Japan types based off of character strokes.
22:50:18 <alise> That... isn't how you type Japanese.
22:50:21 <AnMaster> alise, err write
22:50:22 <AnMaster> ...
22:50:27 <AnMaster> alise, thinko
22:50:30 <alise> Bah, you write in Japanese, you accept the consequences :P
22:50:35 <pikhq> And people in China type based off of the structure of the character, not the strokes.
22:50:52 <zzo38> fizzie: I have not intended the indirection to work that way...
22:51:05 <pikhq> Typical hand-writing in Japanese is somewhere between regular and semi-cursive script most of the time.
22:51:13 <AnMaster> alise, you know like hand writing flowing together or separate chars. In Latin alphabets
22:51:20 <AnMaster> the former is faster to write
22:51:22 <alise> I know what cursive is, AnMaster.
22:51:29 <alise> But thank you for the lesson.
22:51:33 <pikhq> With a small handful of things ending up with bizarre glyph variants.
22:51:41 <AnMaster> alise, well I meant that the grass script looks a LOT faster to write than the normal script
22:51:54 <pikhq> Yes, grass script is much faster to write.
22:51:55 <alise> AnMaster: Japanese requires much fewer Kanji to do the job than English needs letters.
22:52:01 <alise> Besides, the left is serifed.
22:52:03 <AnMaster> alise, true
22:52:05 <alise> Nobody writes Japanese /serifed/.
22:52:05 <pikhq> But *AGH*
22:52:20 <alise> http://upload.wikimedia.org/wikipedia/en/0/09/Semi-Cur_Eg.png ;; this is what people would actually write
22:52:31 <pikhq> alise: The left is hand-written with a brush.
22:52:40 <AnMaster> alise, it is serifed? Huh?
22:52:44 <pikhq> By a particularly neat scribe.
22:52:50 <alise> pikhq: No, the left is computer-rendered. :P
22:52:55 <alise> AnMaster: The left side is, yeah...
22:53:16 <pikhq> alise: Still, plausible hand-writing.
22:53:17 <AnMaster> alise, looks nothing like serifs in Latin alphabet
22:53:21 <alise> Yes it does.
22:53:27 <pikhq> By a calligrapher.
22:53:42 <AnMaster> alise, wait, both sides use svg paths
22:53:44 <alise> "In typography, serifs are semi-structural details on the ends of some of the strokes that make up letters and symbols."
22:53:54 <zzo38> Yes the semi cursive is more easier to read than the grass script
22:53:58 <alise> AnMaster: Your point?
22:54:07 <alise> http://upload.wikimedia.org/wikipedia/commons/a/af/Ming_serif.svg ;; Demonstration of Japanese serifs.
22:54:09 <AnMaster> just trying to figure out what the hell you mean
22:54:19 <zzo38> Is the unpromoted side semi cursive and the promoted side is grass script?
22:54:25 <alise> zzo38: Promoted??
22:54:31 <pikhq> zzo38: Likely.
22:54:31 <AnMaster> alise, ah
22:54:36 <pikhq> alise: He's discussing shogi pieces.
22:54:40 <alise> Ah.
22:54:47 <alise> (Shogi? :P)
22:54:55 <pikhq> Shogi is Japanese chess.
22:54:57 <cpressey> http://catseye.tc/lab/whothm/doc/applet.html
22:55:24 <pikhq> Pieces can be promoted (much like pawns in regular chess), and they flip when this happens.
22:55:33 <alise> I had the most awesome idea for a Star Trek dub, and those words are not truthfully uttered often.
22:55:44 <AnMaster> cpressey, cool
22:55:49 <alise> cpressey: Your browser is completely ignoring the applet tag!
22:56:02 <AnMaster> alise, ?
22:56:15 <alise> AnMaster: "?" about what? The Star Trek dub?
22:56:27 <AnMaster> alise, no the "ignoring the applet tag"
22:56:33 <alise> It's what cpressey's page said to me. :)
22:56:40 <AnMaster> alise, ah
22:56:57 <AnMaster> alise, you use a browser needing <object> crap I bet
22:57:11 <AnMaster> alise, works in firefox
22:57:12 <alise> I use Firefox.
22:57:18 <AnMaster> alise, it works for me in firefox
22:57:22 <alise> I never denied that.
22:57:24 <alise> Did I ever deny that?
22:57:28 <AnMaster> nop
22:57:40 <zzo38> The promoted side is also written in red. You know which player's piece by which direction it is facing, not by color. You can take opponent's pieces to use as your own in shogi, that is why it is done this way.
22:57:41 <AnMaster> never claimed you denied it either
22:57:48 <AnMaster> alise, okay now about the dub: ?
22:57:50 <alise> I don't have Java, which is probably why it is showing the alternate text as it is supposed to.
22:57:53 <cpressey> alise: ORACLE TOLD ME TO SAY THAT
22:58:03 <AnMaster> alise, ah
22:58:10 <pikhq> Also, the pieces have their names in Japanese written on them.
22:58:33 <alise> AnMaster: The dub idea:
22:58:34 <zzo38> pikhq: Yes.
22:58:36 <alise> First, read this: http://pastie.org/1019373.txt?key=exy7yicjgvonc7i4brrzza
22:58:52 <alise> Now, the dub idea: Dub over all the Trek-nobabble with "tech".
22:59:00 <alise> Hilarity ensues.
22:59:35 <AnMaster> alise, hah
22:59:40 <alise> (That quote is, incidentally, why Charles Stross hates Star Trek.)
22:59:47 <pikhq> Well, some of them have different variants of 金 instead, noting that they move the same as a gold general (金将).
22:59:50 <alise> (I can't really blame him, him being someone who actually writes science fiction.)
22:59:54 <AnMaster> alise, who is Stross?
23:00:04 <pikhq> (promoted pieces that move the same as a gold general, that is)
23:00:09 <alise> AnMaster: a very good sci-fi author and awesome nerd
23:00:15 <AnMaster> alise, ah
23:00:24 <alise> (he used to work at an isp, is a linux fan, wrote two novels about the singularity, etc.)
23:01:29 <alise> at least iirc it was an isp he used to work at :P
23:01:39 <AnMaster> alise, I kind of enjoy Star Trek for 1) either terrible special effects (much of TOS) or rather passable ones (some later series) 2) technobable is fun to laugh at
23:02:00 -!- oerjan has joined.
23:02:01 <alise> I like Star Trek because it's entertaining. I make no apologies for its scientific content being non-existent.
23:02:08 <alise> It's better than a soap opera...
23:02:15 <AnMaster> alise, oh yes that too
23:02:25 <AnMaster> alise, actually it is quite like soap opera IN SPACE!
23:02:26 <pikhq> Sometimes Star Trek almost approaches hard science fiction.
23:02:31 <alise> Also, Voyager is great to watch because it's unintentionally The Captain Psychopath and Wooden Commander Show
23:02:35 <alise> s/$/./
23:02:36 <AnMaster> pikhq, only by accident
23:02:39 <alise> Set on the HMS Reset Button.
23:02:40 <pikhq> It then, of course, runs the hell away as fast as it can by the next episode. :P
23:02:51 <alise> AnMaster: It's not a soap opera. Star Trek always resets at the end of the episode.
23:02:59 <alise> Much moreso in Voyager, less so in Deep Space Nine.
23:03:10 <AnMaster> alise, seven of nine? What about that in voyager?
23:03:18 <pikhq> Cast change.
23:03:18 <AnMaster> or her rather
23:03:28 <alise> Yes, Seven of Nine was the ONLY enduring change of 1995-2001.
23:03:30 <alise> Oh wait, not quite:
23:03:30 * Sgeo__ is a Stargate SG-1/Atlantis fan
23:03:34 <alise> - Janeway let down her hair.
23:03:35 <AnMaster> pikhq, ? I only watched a few episodes of voyager iirc
23:03:37 <alise> - The couple
23:03:44 <alise> - Janeway gave up coffee (in like the third episode)
23:03:50 <alise> - Also the Doctor became a bit less of a jerk
23:03:51 <alise> That's it.
23:03:55 <alise> Seven seasons. Six years.
23:03:58 <AnMaster> alise, I only watched some of the latter episodes
23:03:59 <Sgeo__> Hey, they did make contact with Earth at some point
23:03:59 <alise> The only changes.
23:04:12 <AnMaster> Sgeo__, yes near the end
23:04:17 <alise> No, early on.
23:04:22 <AnMaster> oh? hm okay
23:04:23 <alise> But that failed, no?
23:04:24 <cpressey> I'm surprised such crap lasted so long.
23:04:28 <AnMaster> alise, ah right
23:04:32 <alise> The Kardassian or however you spell it -- he died before he could pass on their messages.
23:04:38 <Sgeo__> alise, not that one
23:04:38 <AnMaster> cpressey, better than ds9
23:04:40 <alise> cpressey: It may have been crap, but it was entertaining.
23:04:49 <alise> AnMaster: Deep Space Nine is better from a story point of view... but it was so DULL.
23:04:52 <Sgeo__> THe one where the Doctor manages to get to the Apha quadrant
23:05:00 <AnMaster> alise, only watched a few episodes of it
23:05:03 <alise> Sgeo__: Huh, I have't seen that one.
23:05:05 <pikhq> AnMaster: DS9 wasn't crap, it was just very, very different stylistically from other Star Trek.
23:05:11 <Sgeo__> "Message in a Bottle"
23:05:13 <AnMaster> alise, I like TNG though
23:05:30 <pikhq> TNG is fairly universally liked.
23:05:35 <AnMaster> pikhq, hm. maybe
23:05:43 <alise> TNG is good, but I hate the people who try and formalise it all into a consistent, scientific universe (see: Memory Alpha).
23:05:55 <pikhq> Once TNG got going, it was actually quite good.
23:05:56 <alise> But yeah, only the DS9ers dislike TNG. And they're a terribly boring lot.
23:05:59 <AnMaster> pikhq, yep
23:06:08 <alise> Although Wesley and beardless Riker are unbearable.
23:06:15 <pikhq> alise: It would take a major retcon to make a consistent Star Trek universe.
23:06:18 <AnMaster> weasly was a pain yes
23:06:24 <pikhq> alise: Yes, first season was awful.
23:06:24 <alise> pikhq: Or, just Memory Alpha.
23:06:29 <alise> Seriously, they have a theory for... everything.
23:06:32 <AnMaster> alise, beardless riker? hm?
23:06:35 <alise> I think they seriously believe this stuff will happen one day.
23:06:40 <AnMaster> again I haven't watched all episodes
23:06:43 <pikhq> alise: ... Even "Threshold"?
23:06:44 <alise> AnMaster: In the first series of TNG, Commander William Riker had no beard.
23:06:46 <alise> He looked like a kid.
23:06:50 <pikhq> AnMaster: First season Riker did not have a beard.
23:06:55 <AnMaster> alise, ah. I didn't notice that change
23:07:02 <alise> AnMaster: Then his actor grew one, and when he came back Roddenberry said "NO! Keep it! Srsly."
23:07:09 <alise> AnMaster: More likely you just didn't see the first series.
23:07:11 <AnMaster> ah
23:07:17 <AnMaster> alise, I saw a few of the first series
23:07:19 <alise> http://static.tvtropes.org/pmwiki/pub/images/William_Riker_Growing_The_Beard_4.jpg
23:07:21 <pikhq> He has kept the beard ever since.
23:07:21 <alise> Note: Just an image.
23:07:25 <AnMaster> alise, I remember the one were Q was introduced
23:07:27 <alise> These are the same actor and character.
23:07:51 <AnMaster> alise, hm there are age lines or such on the second I would say
23:07:55 <alise> pikhq: Threshold has been officially striked from canon.
23:08:07 <alise> (Paris mentions in a later episode that he has never flown at transwarp speeds.)
23:08:08 <pikhq> alise: Still.
23:08:09 <zzo38> I like to watch Star Trek sometimes
23:08:14 <alise> (This was done because THRESHOLD IS AWFUL.)
23:08:22 <alise> They should just burn every copy of it they can get their hands on.
23:08:24 <alise> Including the master tapes.
23:08:43 <pikhq> Threshold is, without a doubt, the worst episode of Star Trek ever.
23:08:45 <AnMaster> alise, no, I'm against destruction of any published data like that.
23:08:55 <alise> AnMaster: I somehow knew you would be: and I usually am.
23:08:55 <AnMaster> even if horrible
23:08:59 <pikhq> And probably among the worst things produced for TV.
23:09:01 <alise> But I am 100% sure that destroying Threshold would improve the universe.
23:09:03 <AnMaster> alise, touche
23:09:05 <alise> It is my utilitarian imperative.
23:09:27 <alise> ...wait, how is "Warp 10" even "transwarp"?
23:09:32 <alise> They couldn't even NAME THE SPEED right.
23:09:37 <pikhq> alise: They went past warp 10.
23:09:47 <pikhq> Which is the maximum value in the warp scale.
23:09:55 <pikhq> Warp 10 being, of course, *infinity*.
23:09:56 <alise> "A specially-outfitted warp-capable shuttlecraft piloted by Tom Paris successfully reaches Warp 10, breaking the transwarp barrier."
23:10:00 <alise> Not according to Memory Alpha.
23:10:06 <alise> Reaches, not passes.
23:10:11 <pikhq> The episode said "past".
23:10:14 <alise> Fair enough.
23:10:23 <alise> AN ERROR! SOMEONE FIX IT! I don't want my IP address on that page.
23:10:28 <zzo38> This user likes to use redundant userboxes that are redundant.
23:10:30 <AnMaster> alise, :DDD
23:10:45 <pikhq> Past. Infinite. Speed.
23:10:53 <alise> pikhq: He was travelling back in time... INFINITELY.
23:10:55 <AnMaster> zzo38, the entire idea of userboxes is idiotic IMO
23:11:12 <AnMaster> pikhq, well it could be going to uncountable infinite then </technobable>
23:11:18 <alise> You know how if you have a game with naive gravity and a wrapping field and you step off, it does the thing rotating things like fans often do, and seems to slow down and speed up in a loop?
23:11:20 * oerjan swats AnMaster -----###
23:11:25 <alise> That happened, but with TIME.
23:11:30 <AnMaster> oerjan, of course it made no sense!
23:11:42 <alise> I am pretty sure speed is an ORDINAL number!
23:11:43 <AnMaster> oerjan, also do you highlight on uncountable or something?
23:11:44 * oerjan has a very few userboxes on his page
23:11:49 <alise> It went to \omega^\omega!
23:11:55 -!- augur has quit (Ping timeout: 276 seconds).
23:11:56 <oerjan> AnMaster: oh that wasn't actually what i swatted you for :D
23:11:59 <pikhq> AnMaster: Oh, and he moved a few day's travel.
23:12:05 <pikhq> And started to evolve.
23:12:09 <alise> No, devolve!
23:12:12 <AnMaster> oerjan, what did you swat me for then?
23:12:14 <oerjan> *wikipedia user page
23:12:19 <alise> Then he mated with the Captain :hawt:
23:12:20 <AnMaster> pikhq, XD
23:12:27 <alise> [[Kim downloads the shuttle's data into the computer core – over five billion gigaquads of information – including detailed information on "literally every square meter" of the sector. Janeway orders the data sent to stellar cartography for analysis and creation of a star chart.]]
23:12:28 <oerjan> AnMaster: for hating on userboxes
23:12:32 <alise> How big is the ship's hard drive exactly???
23:12:36 <AnMaster> oerjan, ...
23:12:48 <alise> "While Federation computers still use binary code in some capacity, they also are known to use trinary code."
23:12:49 <AnMaster> pikhq, anyway didn't they go back in time by warping in some TOS motion picture?
23:12:49 <pikhq> alise: They had a biological computer.
23:12:50 <alise> ...why????
23:12:50 <zzo38> Some of the userboxes I put are now different than it was from when I first put them on
23:12:57 <alise> pikhq: Yes, but that'd just make it forgetful.
23:13:00 <pikhq> BECAUSE STUPID.
23:13:16 <pikhq> It was an "experimental system".
23:13:28 <alise> pikhq: Hey, remember when Janeway wanted coffee, so she ordered them to get some omicron particles (you just won Particle of the Day bingo) from a potentially dangerous nebula?
23:13:30 <pikhq> And the Federation apparently likes putting its experimental systems on the frontier.
23:13:45 <alise> And then it turned out to be SENTIENT, and they had to sit there in its wound to help it heal? Because they RIPPED UP A SENTIENT NEBULA?
23:13:54 <alise> 'Cuz I do. And then Janeway just gave up coffee! Why the fuck did you go into the nebula in the first place!
23:13:58 <pikhq> It's a surprise the Federation hasn't just killed itself with how stupid it is.
23:14:13 <AnMaster> alise, "omicron"?
23:14:21 <alise> pikhq: that would be 21st century prejudice against stupid ships.
23:14:24 <oerjan> AnMaster: also i only highlight on my nick which is the default irssi setup, and even that is slightly broken (doesn't work with punctuation)
23:14:27 <alise> AnMaster: Ding ding ding BINGOOOOO
23:14:45 <oerjan> (well setup here, which may not be the default default everywhere)
23:14:48 <AnMaster> alise, it doesn't exist I assume
23:14:58 <alise> Of course not, you fool :)
23:15:08 <oerjan> hm or maybe it also depends on the skin
23:15:10 <AnMaster> alise, well I don't remember all those particle names
23:15:25 <alise> It was in STAR TREK.
23:15:29 <AnMaster> alise, true
23:15:35 <AnMaster> alise, they do use real ones sometimes
23:15:40 <Sgeo__> My phone's finally useful as a phone!
23:15:47 <AnMaster> Sgeo__, ...?
23:16:01 <alise> [["You're not going anywhere. At least not for a few hours. I have some tests I'd like to run on Your Majesty before I release you back into the realm of ordinary Humans."
23:16:01 <alise> "You may proceed."
23:16:01 <alise> - The Doctor and Paris, after Paris returns from his mission]] -- Memory Alpha, "Threshold (episode)", section "Memorable Quotes".
23:16:03 <alise> That sure is memorable.
23:16:21 <AnMaster> alise, looks like a bug
23:16:25 <Sgeo__> My dad let me put the SIM card in my N1
23:16:30 <AnMaster> Sgeo__, I see
23:16:32 <alise> "What if we've been looking in the wrong place? What if the nacelles aren't being torn from the ship; what if the ship is being torn from the nacelles?"
23:16:33 <alise> "The hull of the shuttle is made from a tritanium alloy. At the speeds we're talking about, that alloy could depolarize..."
23:16:33 <alise> "And create a velocity differential! The fuselage would be traveling at a different rate of speed than the nacelles!"
23:16:33 <alise> "Then all we have to do is create a depolarization matrix around the fuselage!"
23:16:34 <alise> "That's it! Neelix, you're a genius!"
23:16:38 <Sgeo__> alise, Threshold is apparently the most hated episode
23:16:54 <alise> The hull of the shuttle is made from a tech alloy. At the speeds we're talking about, that alloy could tech...
23:16:55 <pikhq> Sgeo__: No shit.
23:17:02 <AnMaster> alise, "rate of speed" -_-
23:17:05 <alise> And create a tech! The fuselage would be traveling at a different rate of speed than the tech!
23:17:11 <alise> Then all we have to do is create a tech around the fuselage!
23:17:15 <alise> That's it! Neelix, you're a tech!
23:17:17 <oerjan> <alise> No, devolve! <-- you know that distinguishing devolve and evolve is a human-centered view that has no basis in evolution's fundamentals, right? (not that that episode would care)
23:17:29 <alise> oerjan: just have to point out
23:17:32 <pikhq> oerjan: The episode said "evolve".
23:17:39 <alise> oerjan: http://images1.wikia.nocookie.net/__cb20061210190442/memoryalpha/en/images/3/33/Transwarp_humans.jpg
23:17:42 <alise> they devolved into this
23:17:43 <pikhq> And had him "evolve" to be less fit for his environment.
23:17:43 <alise> then mated
23:17:45 <alise> then turned back into humans
23:17:48 <AnMaster> alise, I feel that "rate of speed" should be "tech speed" and that "genius" should not be "tech"
23:17:56 <pikhq> At one point he ceased being able to breath oxygen-containing air.
23:17:59 <alise> oerjan: so clearly this universe runs on a kind of evolution powered by bullshit
23:18:01 <zzo38> There is no "devolve".....?
23:18:08 <alise> zzo38: There is in Voyager!
23:18:11 <alise> AnMaster: that last tech was a joke :P
23:18:26 -!- SevenInchBread has joined.
23:18:27 <AnMaster> alise, ah
23:18:43 <pikhq> I hate how Star Trek actually wrote scripts by asking for technobabble to be inserted.
23:18:52 <alise> I think it's hilarious.
23:18:54 <alise> Thus my dub idea.
23:19:05 <alise> (Which, if you missed it, was "dub all the technobabble with the word they used for it: 'tech'".)
23:19:07 <pikhq> It is the single weakest chunk of the series, as far as taking it seriously goes.
23:19:09 <zzo38> I have multiple copies of "This user likes to use redundant userboxes that are redundant." in my Wikipedia user page
23:19:16 <alise> Name?
23:19:18 <alise> Star Tech.
23:19:24 <pikhq> Taking it humorously, though? Wonderful.
23:19:34 <alise> [[ There is an apparent contradiction as to which starship was the first to have an EMH. Although it is specifically stated in "Relativity" that Voyager was the first starship to be equipped with an EMH, it was later revealed that the Equinox, which had been launched months prior to Voyager, also had an EMH program. There is no canon explanation for this discrepancy, although it may be that Voyager received their EMH during construction while the one abo
23:19:34 <alise> ard Equinox was installed just prior to that ship's launch.]]
23:19:36 <AnMaster> pikhq, sound in space too
23:19:40 <alise> ^ Contrived explanations FTW
23:19:51 <alise> AnMaster: Firefly had no sound in space, which was a rather odd feature for a western.
23:19:53 <alise> Sorry, SPACE western.
23:19:55 <AnMaster> alise, EMH?
23:20:08 <alise> Emergency Medical Hologram, AKA Asshole Doctor.
23:20:15 <pikhq> AnMaster: Much less of a weak point than the technobabble.
23:20:23 <AnMaster> alise, ah
23:20:30 <pikhq> alise: AKA the only competent character on the entire SHIP.
23:20:31 <AnMaster> pikhq, well true.
23:20:42 <AnMaster> pikhq, depends on how much you know of the words they use
23:20:47 -!- CakeProphet has quit (Ping timeout: 276 seconds).
23:20:51 <AnMaster> pikhq, I can't imagine a physicist liking it
23:21:13 <alise> Funnily enough, most physicists have suspension of disbelief for purposes of light entertainment.
23:21:25 <pikhq> AnMaster: Stephen Hawking loves it.
23:21:25 <alise> Quantum singularities.
23:21:30 <AnMaster> alise, enough even for star trek?
23:21:37 <alise> AnMaster: Sure.
23:21:38 <AnMaster> pikhq, huh
23:21:45 <AnMaster> alise, wow they have a lot then
23:21:52 <alise> Most physicists are relatively normal people. :P
23:21:59 <pikhq> And is, as such, the only person to have played himself on Star Trek.
23:22:00 <AnMaster> alise, you mean, unlike us?
23:22:02 <oerjan> alise: i'm not defending "threshold", i'm just quibbling with your use of "devolve"
23:22:12 <alise> btw, why are the cardassians so damn ugly? Because they're bad? :P
23:22:17 <alise> AnMaster: unlike us.
23:22:23 <AnMaster> :P
23:22:29 <alise> oerjan: well it clearly isn't our natural selection, since it wasn't natural or selected
23:22:44 <AnMaster> alise, actually I'm willing to use suspension of disbelief a lot for star trek
23:22:45 <AnMaster> I have to
23:23:08 <pikhq> Without suspension of disbelief, you really cannot take more than a handful of episodes seriously.
23:23:16 <AnMaster> pikhq, :P
23:23:30 <pikhq> Every time they use a freaking teleporter you need a heaping dose.
23:23:46 <AnMaster> pikhq, though that TNG one when they met that alien that modified the ship engine to end up in another galaxy...
23:24:02 <AnMaster> well that put my suspension of disbelief at an edge, especially considering the place they ended up after that
23:24:19 <alise> I watched "Masks" today.
23:24:26 <alise> It... was so un-sciency I could not believe it.
23:24:27 <AnMaster> alise, which generation?
23:24:30 <alise> Would have made a good movie, mind.
23:24:32 <alise> AnMaster: The next one.
23:24:40 <AnMaster> alise, which was? I don't remember
23:24:51 <alise> Which generation? The next [generation].
23:24:54 <AnMaster> ah
23:24:54 <cpressey> I watched "M.A.S.K." today.
23:24:57 <cpressey> Ha! I wish.
23:25:00 <pikhq> 'Many forces including Creative Commons, Public Knowledge, Electronic Frontier Foundation and technology companies with deep pockets are mobilizing to promote "Copyleft" in order to undermine our "Copyright." They say they are advocates of consumer rights, but the truth is these groups simply do not want to pay for the use of our music. Their mission is to spread the word that our music should be free.' -- ASCAP.
23:25:02 <AnMaster> alise, I thought you meant the next one after TNG
23:25:03 <AnMaster> :P
23:25:17 <alise> That would be DS9, then Voyager.
23:25:18 <pikhq> ... Tech companies with deep pockets?
23:25:20 <alise> Then Enterprise.
23:25:22 <AnMaster> alise, oh yeah I remember Masks. That one was bad
23:25:24 <Sgeo__> Chrome annoys me sometimes
23:25:26 <pikhq> Y'mean compared to the *entertainment industry*?
23:25:34 <pikhq> Short of Microsoft, hahahahah.
23:25:38 <alise> pikhq: Wait...
23:25:41 <AnMaster> pikhq, ASCAP?
23:25:44 <alise> Even /our/ pro-copyright agencies aren't that stupid.
23:25:56 <alise> You're... your country is bullshit. Nuke it. Please.
23:25:58 <pikhq> AnMaster: American Society of Composers, Authors, and Publishers.
23:26:05 <AnMaster> oh my
23:26:07 <alise> Please.
23:26:10 <AnMaster> but copyleft is not that...
23:26:12 <alise> I know, I know, you will die. It's for the best.
23:26:17 <alise> It really must be done. Sorry.
23:26:19 <oerjan> pikhq: in other words they don't comprehend that copyleft is a choice made by the _authors_?
23:26:22 <alise> Nice knowing you.
23:26:25 <pikhq> alise: Just nuke California.
23:26:31 <pikhq> That'll take care of most of it.
23:26:44 <alise> pikhq: But then you lose some of the cool people from CA.
23:26:45 <pikhq> Actually, while you're at it, murder Congress.
23:26:52 <cpressey> Copyleft undermines copyright!
23:26:55 <pikhq> Yes, but you also lose Hollywood.
23:26:57 <AnMaster> night
23:27:10 <alise> pikhq: Just... nuke everything but the Bay Area, that should be a good heuristic.
23:28:08 <pikhq> alise: Hollywood is also in the Bay Area, isn't it?
23:28:18 <cpressey> pikhq: No.
23:28:19 <oerjan> well i suppose that copyleft _does_ somewhat undermine copyright, by competition
23:28:22 <cpressey> Hollywood is in LA.
23:28:24 <pikhq> No, it's south of that.
23:28:30 <pikhq> Very well then. Sounds good!
23:28:31 <alise> LA is the cancer, really.
23:28:38 <alise> CA is mostly pretty cool as far as states go.
23:28:38 <pikhq> Actually, we could keep all but LA.
23:28:42 <alise> Yeah.
23:28:54 <cpressey> I don't see why the Bay Area should be spared. Is there some reason we need Yahoo! and Google? Srsly.
23:29:09 <alise> cpressey: No, but... come on. There is some cool stuff there.
23:29:19 <pikhq> cpressey: Purging idiots who feel that copyright is THE BEST THING EVER.
23:29:32 <alise> pikhq: In fact... how about Massachusetts, California sans LA, a few other states and all the tiny Democrat states just secede to Canada?
23:29:37 <alise> Then just nuke the rest.
23:29:53 <fizzie> Copyleft turns copyright into copystraight, which means everyone will just STRAIGHTaway proceed to COPY everything, and then the apocalypse.
23:29:57 <pikhq> alise: So, get rid of Jesusland.
23:30:16 <cpressey> Well, as long as it includes Seattle, I'm fine with whatever subset you pick.
23:30:26 <alise> cpressey: Uh... you can move.
23:30:26 <pikhq> Keep the Democrat counties in the Republican states and I'm down with that.
23:30:37 <pikhq> cpressey: Seattle is well outside of Jesusland.
23:30:42 <alise> I think to be safe, we need to nuke Washington.
23:30:44 <alise> Why? REDMOND.
23:30:51 <alise> If a place can support a Redmond, it must not exist.
23:31:06 <cpressey> Oh, no worries. If you hit Seattle, Redmond will be within the blast radius.
23:31:20 <alise> Well... Seattle can come.
23:31:30 <cpressey> Or vice versa.
23:31:34 <alise> Mind, every state must completely hand over all power to the Canadian government.
23:31:41 <alise> (to become a province)
23:31:48 <pikhq> How's about we just give Jesusland to Mexico?
23:31:55 <pikhq> Y'know, so their heads explode.
23:31:59 <alise> Think we should keep Oregon?
23:32:15 <alise> I mean, on one hand, Portland; on the other hand... Oregon.
23:32:33 <alise> Maybe we could just keep Portland.
23:32:45 <cpressey> Portland, the birthplace of Haskell.
23:32:54 <alise> New York has to go, because it just does.
23:32:55 <pikhq> alise: The South of the US is where most of the stupidity is.
23:32:59 <cpressey> Pretty much the only redeeming quality that I can see.
23:33:00 <alise> Don't question my decisions.
23:33:12 <alise> cpressey: As far as I can tell Portland isn't a bad city.
23:33:31 <alise> Portland, Oregon and Portland, Maine would have to battle it out to the death.
23:33:48 <Sgeo__> I live in New York...
23:33:52 <alise> You can move.
23:37:16 -!- BeholdMyGlory has joined.
23:37:59 -!- tombom has quit (Quit: Leaving).
23:37:59 <alise> Anyone want to name botte something nicer?
23:38:24 <oerjan> but but, it's traditional!
23:38:24 <pikhq> ボッテ
23:38:33 <cpressey> What is botte?
23:38:44 <oerjan> and otherwise, how can it be the botte of our jokes
23:38:55 -!- SgeoN1 has joined.
23:38:58 <oerjan> (i think i recycled that one)
23:39:08 <cpressey> A bot, I assume.
23:39:18 <oerjan> ye olde botte
23:39:37 <alise> cpressey: botte is the be-all, end-all of all bots, to be created by me
23:39:48 <alise> initially ehirdbot or something lame like that, then Endeavour, then botte, then rice, then botte.
23:40:11 <alise> basically, it was planned when EgoBot was still version "sucky" 1, hackego didn't exist
23:40:19 <alise> and fungot was just a little babbling twinkle in fizzie's eye
23:40:20 <fungot> alise: she does. she talks to me quite a while; my fnord speed is the only one
23:40:27 <alise> In fact /I/ invented the tradition of babbling bots here with optbot.
23:40:34 <alise> Although it just repeated random lines from old logs.
23:40:47 <alise> Set our topic too, though. That was convenient.
23:42:06 -!- SevenInchBread has quit (Ping timeout: 240 seconds).
23:43:58 <alise> Contravarsal opinion: Star Trek (the original series) sucked a bit.
23:44:22 -!- CakeProphet has joined.
23:45:18 <cpressey> Once they went to a planet full of gangsters.
23:45:41 <cpressey> Hm.
23:45:45 <cpressey> I don't know about bots.
23:46:05 <alise> They're nice things, if friendly enough.
23:46:14 <alise> Nice little digital helpers. Not servants. They should always be happy.
23:46:56 <cpressey> I don't think it's exactly my medium. I wrote a bot for a MUD once. Actually a MUSE. In C.
23:47:09 <alise> <AnMaster> alise, I remember the one were Q was introduced <-- that's just the first TNG episode (Encounter at Farpoint)
23:47:18 <alise> cpressey: IRC is comfy, though.
23:47:33 <AnMaster> comex, Multi User Source Environment?
23:47:35 <AnMaster> err
23:47:36 <AnMaster> cpressey, ^
23:47:41 <AnMaster> sorry for the mistab
23:47:59 <cpressey> Programming it to interact with the virtual world was more interesting than I imagine interacting with plain old IRC to be.
23:48:06 <AnMaster> cpressey, or what is a MUSE?
23:48:11 <cpressey> AnMaster: s/Source/Social/
23:48:15 <AnMaster> cpressey, ah
23:48:18 <cpressey> A MUD with no fighting, basically.
23:48:23 <AnMaster> ah I see
23:48:31 <AnMaster> cpressey, irc with objects?
23:48:40 <cpressey> Basically, yes.
23:48:40 <AnMaster> and not being in several rooms at once
23:49:13 <alise> IRC is nice though, it's stupid and dinky and you can talk in text all the time.
23:49:17 <alise> It's like a hug.
23:49:24 <AnMaster> dinky?!
23:50:56 <AnMaster> oh wait
23:50:57 <AnMaster> # small and insignificant; "we stayed in a dinky old hotel"
23:50:57 <AnMaster> # a small locomotive
23:50:57 <AnMaster> # (British informal) pretty and neat; "what a dinky little hat"
23:50:58 <AnMaster> wordnetweb.princeton.edu/perl/webwn
23:51:03 <AnMaster> alise, which of those meanings
23:51:07 <AnMaster> I thought the first
23:51:12 <AnMaster> but I guess you may mean the third
23:51:13 <alise> Um... first and last.
23:51:22 <AnMaster> alise, ah both of them?
23:51:27 <alise> Yeah.
23:51:27 <cpressey> What, you mean IRC is *not* a small locomotive??
23:51:32 * cpressey demands his money back!
23:51:32 <alise> It is also that.
23:51:40 <cpressey> Oh, alright then.
23:51:40 <AnMaster> cpressey, well obviously I didn't think he meant that one
23:51:46 <AnMaster> just too lazy to copy it in two blocks
23:52:22 <AnMaster> Tiny and cute; small and charmful; Tiny and insignificant; small and undesirable; Double income, no kids yet. Said of a relationship
23:52:23 <AnMaster> en.wiktionary.org/wiki/dinky
23:52:28 <AnMaster> that is a nice list of possible meanings
23:52:29 <AnMaster> :D
23:52:44 <alise> IRC: Double income, no kids yet.
23:52:46 <AnMaster> I guess the last one implies the one just before it
23:52:48 <AnMaster> alise, ^
23:53:01 <alise> I would rather call kids small and undesirable!
23:53:13 <AnMaster> "Double income, no kids yet." -> parents think kids are "small and undesirable"
23:53:24 <AnMaster> alise, yes exactly
23:53:55 <AnMaster> alise, it is quite amazing a word can mean both "small and charmful" and "small and undesirable"
23:54:12 <AnMaster> would say it makes the word rather useless
23:54:29 <AnMaster> if you don't know which the speaker implies
23:54:48 <pikhq> No.
23:54:51 <alise> It's obvious from the dinky context, usually.
23:54:58 <alise> Dinky dinky dinky dinky desu dinky.
23:55:07 <alise> So, someone name botte!
23:55:49 <pikhq> T`EXINKI
23:55:49 <cpressey> Bealzebot.
23:56:00 <zzo38> I have idea, I want to make some spells in D&D that deal with prime numbers and fibonaci number, and check if the number of your current hit-points is odd or even, etc.
23:56:38 <zzo38> In addition, I also want to make a feat called "MERCIFUL TO GIBBERING MOUTHERS" (and also a spell with the same name, but different effect), but I don't know what to write! Do you have idea?
23:56:47 * pikhq enjoys writing things that cannot be romanised with normal romanisation schemes. ;P
23:57:14 <alise> DAIYEN FOOELS
23:57:24 <pikhq> zzo38: You, romanise ディンキ.
23:57:39 <alise> 30c730a330f330ad
23:57:41 <alise> Or, for short,
23:57:43 <alise> c7a3f3ad
23:57:44 <alise> Done!
23:57:51 <pikhq> alise: Win.
23:58:06 <alise> It's nice not having the correct fonts. Makes it easy to romanise using HEX.
23:58:25 <cpressey> zzo38: Errrrr... you could summon monsters, each with an HP which is a prime factorization of your HP. So, if you have 20 HP, you summon 4 giant rats, each with 5 HP.
23:58:28 <zzo38> pikhq: You can write "deinki" I guess, but that isn't perfect (because of the small "i")
23:58:40 <cpressey> No, wait. 4 isn't prime.
23:58:47 <pikhq> There does not exist a Hepburn for that. I could do keyboard-shiki...
23:59:01 <cpressey> I mean: Summon 3 monsters, two with 2 HP and one with 5 HP.
23:59:06 <pikhq> Making that into "dliki". Which is absolutely bizarre.
23:59:11 <pikhq> Erm.
23:59:13 <pikhq> "dlinki".
23:59:43 <alise> ... Why isn't there a good language that's like rc but with better abilities?
23:59:54 <alise> Like, not Python because Python is kind of crap. Just like rc with ... a library.
23:59:57 <alise> Not Lua, Lua's naff.
2010-06-26
00:00:10 <cpressey> alise: Wait, what are all these?
00:00:15 <alise> cpressey: ?
00:00:37 <cpressey> I know not of this "Python" of which you speak.
00:00:40 <cpressey> No.
00:00:42 <cpressey> I mean,
00:00:43 <zzo38> cpressey: That is one idea, I was thinking maybe something a bit different, such as, you can cast a different spell with even/odd hit points, your HP is healed until it is prime, everyone's HP in range is healed or harmed to the nearest prime number, etc
00:00:46 <cpressey> rc.
00:01:03 <zzo38> cpressey: But do you have idea about the second one, the "MERCIFUL TO GIBBERING MOUTHERS"?
00:01:11 <alise> cpressey: The only good shell.
00:01:39 <alise> cpressey: From UNIX 10, but more known from Plan 9.
00:02:00 <alise> http://doc.cat-v.org/plan_9/4th_edition/papers/rc
00:02:01 <alise> http://man.cat-v.org/plan_9/1/rc
00:02:06 -!- CakeProphet has quit (Ping timeout: 240 seconds).
00:02:11 <cpressey> zzo38: Not really, yet. For some reason I keep thinking about gibbering mouthers doing karaoke.
00:02:28 <cpressey> alise: I was hoping it was Windows' old Resource Compiler.
00:02:38 <alise> cpressey: >_<
00:03:14 <cpressey> alise: But if Lua is "naff" then... yeah. I know what you mean. But there isn't.
00:03:20 <cpressey> Maybe Io. But probably not.
00:03:31 <AnMaster> <pikhq> zzo38: You, romanise ディンキ. <-- pikhq, what does it mean
00:04:02 <alise> cpressey: I don't want all these fancy object things though. I just want some... stuff.
00:04:05 -!- CakeProphet has joined.
00:04:09 <alise> Basically I want Tcl, I guess.
00:04:10 <alise> :P
00:04:18 <cpressey> Blech.
00:04:33 <cpressey> Well, ok...
00:04:39 <pikhq> AnMaster: That's a transcription of "dinky".
00:04:43 <AnMaster> pikhq, hah
00:05:11 <pikhq> And cannot be romanised in Hepburn, Kunrei, or Nihon romanisation schemes.
00:05:23 <pikhq> (these are the only ones in use by more than, oh, 1 person. :P)
00:05:34 <alise> cpressey: Well, make a language that fits! :P
00:06:15 <alise> sort -R | head -1 # can anyone think of a better way to write this? :-)
00:06:29 <cpressey> alise: If I could get funding... well, no. I can't promise it would "fit" rc. I'm not actually much of a Plan 9 fan.
00:06:45 <alise> cpressey: Not fit rc. Fit what I want.
00:06:50 <alise> Also, Plan 9 is great, you just have to look beyond the surface.
00:07:08 <alise> You think they attacked everything naively but then it turns out they actually have quite a deep understanding of OS design, including STUFF.
00:07:29 <cpressey> alise: Have you ever installed it and used it?
00:07:36 <alise> In a VM, yes.
00:07:39 <alise> It takes getting used to.
00:07:45 <alise> But the ideas are great.
00:07:50 <alise> I found myself settling quite quickly.
00:08:02 <cpressey> I was never able to get it installed, when I was interested. (No VM for me at the time, only bare metal.)
00:08:24 <alise> Well, yeah, it sucks at hardware support. It's a research OS. :P
00:08:29 -!- CakeProphet has quit (Ping timeout: 240 seconds).
00:08:34 <alise> WHY DOES GREP MAKE ME WRITE [[:digit:]] INSTEAD OF \d.
00:09:09 <cpressey> alise: The answer has something to do with RMS and goats.
00:10:19 <AnMaster> <alise> sort -R | head -1 # can anyone think of a better way to write this? :-) <-- yes
00:10:23 <AnMaster> sort -R | head -n 1
00:10:27 <AnMaster> more POSIX
00:10:44 <AnMaster> but even -R is not posix
00:11:01 <AnMaster> it's probably GNU
00:11:06 <alise> Is there a bash thing to let the heredoc ender have whitespace before it?
00:11:10 <alise> I think there is but I'm not certain.
00:11:38 <pikhq> Brackets, I think.
00:11:40 <cpressey> Fuck bash. Use Tcl.
00:11:45 <pikhq> foo >>{HERE DOC}
00:11:47 <pikhq> HERE DOC
00:12:01 <alise> Not like that.
00:12:04 <alise> foo <<abc
00:12:06 <alise> sdfjsdf
00:12:07 <alise> abc
00:12:10 <alise> Like that.
00:12:17 <pikhq> Oh, fuck if I know.
00:12:58 <AnMaster> alise, yes there is such a thing. forgot syntax
00:13:08 <AnMaster> alise, foo <-FOO or some such iirc?
00:13:10 <AnMaster> not sure
00:13:13 <AnMaster> err
00:13:16 <AnMaster> check man page
00:13:39 <AnMaster> alise, it will cut as much indention as the line it started on all the way through iirc
00:13:52 <alise> Grr, you even need to escape + in grep.
00:14:16 <AnMaster> alise, err yeah grep -E at least
00:14:29 <AnMaster> alise, since it is extended posix regex then
00:14:39 <AnMaster> alise, what are you coding?
00:14:54 <alise> Vapourware-botte's quote shower.
00:16:13 <cpressey> You're coding it in Bash?
00:16:19 <alise> Nope.
00:16:23 <alise> Remember that file you saved for me?
00:16:32 <alise> Plugins are just specially-made executables.
00:16:47 <cpressey> Yes, but it didn't say "Not bash". So I had to check.
00:17:11 <AnMaster> alise, what are you coding in bash then?
00:17:11 <alise> Well, this particular command is in bash.
00:17:19 <alise> http://pastie.org/1019456.txt?key=jfkfjyxtauequ90qdqjhja <-- The "quote" command.
00:17:25 <alise> Whoops, wait, made an error.
00:17:28 <alise> number $db | grep -F "$*" /var/quotes
00:17:30 <alise> Chop off the last argument.
00:17:36 <AnMaster> alise huh
00:17:42 <alise> Anyway, I like that; could repeat "number $db" a bit less, but there you go.
00:17:58 <cpressey> So, HYPOTHETICALLY, if I wanted to write a working bot in 20 minutes, in a language I don't outright hate, ... is there a framework that makes that tolerable?
00:18:04 <alise> It uses ~/var/quotes because in a botte environment, $HOME is the botte root.
00:18:09 <alise> cpressey: botte
00:18:12 <AnMaster> alise, store the value of number $db in a variable?
00:18:21 <cpressey> alise: Non-vapourware
00:18:22 <alise> AnMaster: Yeah, I think I will.
00:18:28 <AnMaster> cpressey, I don't know which languages you hate
00:18:31 <alise> AnMaster: But it seems like the kind of thing I want to... I don't know, lazily evaluate.
00:18:40 <cpressey> Unless you're saying botte will be finished in 20 minutes
00:18:57 <alise> cpressey: I'd just use sockets in a reasonable language with sockets.
00:19:07 <alise> <AnMaster> alise, store the value of number $db in a variable?
00:19:12 <alise> still have to echo "$quotes"
00:19:14 <alise> which isn't so cool
00:19:16 <cpressey> AnMaster: You know some of them :)
00:19:29 <AnMaster> alise, you evaluate it on all paths it makes sense to do it eagerly
00:19:37 <alise> quotes () {
00:19:37 <alise> number "$db"
00:19:37 <alise> }
00:19:38 <alise> problem solved
00:19:40 <AnMaster> s/paths/&,/
00:19:49 <AnMaster> alise, -_-
00:19:54 <alise> AnMaster: What? It looks nice now.
00:20:01 <alise> if [ "$*" = "" ]; then
00:20:01 <alise> quotes | sort -R | head -n 1
00:20:01 <alise> else
00:20:01 <alise> if echo "$*" | grep -c '^[0-9]\+$'; then
00:20:01 <alise> quotes | grep "^($*)"
00:20:02 <alise> else
00:20:03 <cpressey> Maybe a better question: is there a good intro doc to the IRC protocol? That includes sample code for a really simple bot?
00:20:04 <alise> quotes | grep -F "$*" /var/quotes
00:20:06 <alise> fi
00:20:08 <alise> fi
00:20:10 <alise> Not like it's any slower or anything.
00:20:11 <AnMaster> alise, you should evaluate it eagerly! ;P
00:20:12 <alise> cpressey: Yeah, here's my intro:
00:20:15 <alise> USER abc abc abc abc (make them all the same)
00:20:19 <cpressey> And do I like? To insert? Extraneous question marks???
00:20:19 <alise> NICK poopybot
00:20:23 <alise> JOIN #channel
00:20:31 <alise> PRIVMSG #channel-or-username :poopy poop mcfloopy poop
00:20:34 <alise> Messages come in as
00:20:48 <alise> :nick!youdontcare@youdontcare PRIVMSG #channel-or-your-name :LOL U SUXK
00:20:51 <alise> The end.
00:20:56 <alise> AnMaster will try and tell you to use NOTICE.
00:20:57 <alise> Ignore him.
00:21:13 <AnMaster> alise, no I wasn't going to
00:21:25 <alise> Well, ais523 would. :P
00:21:36 <AnMaster> however you are right the RFC says any automated replies to PRIVMSG should use NOTICE
00:21:40 <AnMaster> to prevent an endless loop
00:21:45 <alise> OTOH, botloops are fun.
00:21:48 <alise> And NOTICEs are irritating.
00:21:53 <AnMaster> alise, depends on client
00:22:01 <AnMaster> some clients do it properly
00:22:22 <cpressey> alise: I think you forgot something.
00:22:23 <AnMaster> cpressey, oh and you are not allowed to automatically reply to NOTICEs
00:22:34 <alise> cpressey: Quitting? Parting?
00:22:36 <alise> PART #poop
00:22:43 <alise> QUIT :this message is probably going to be ignored by freenode
00:22:54 <cpressey> No, I was confused. But yes.
00:22:59 <alise> ctcp actions show up as \1ACTION foo\1 in the message body
00:23:02 <alise> (actual \1 characters)
00:23:04 <alise> you can send them like that too
00:23:19 <cpressey> So talking on a channel is a form of PRIVMSG, huh. Nice.
00:23:40 <cpressey> Real private-like.
00:23:48 <cpressey> Well, relative to the other channels I suppose.
00:24:15 <AnMaster> alise, no freenode won't ignore them...
00:24:24 <cpressey> So now I just need a framework for line-based communicate over a socket connection. I'm sure I can find that. But still, uggh.
00:24:25 <alise> AnMaster: it does in the first interval of connecting or something
00:24:32 <alise> cpressey: netcat
00:24:40 <alise> cpressey: nc -e ./mybot irc.freenode.net 6667
00:24:45 <alise> stdout sends to server, stdin reads from server
00:24:46 <alise> job done
00:24:48 <AnMaster> cpressey, line endings are CRLF
00:24:53 <alise> AnMaster: but nobody cares
00:24:54 <alise> so just use \n
00:25:00 <alise> if your nc doesn't have -e, blame security freaks and get proper Hobbit netcat
00:25:05 <AnMaster> alise, yes but you will get your lines like that
00:25:14 <alise> AnMaster: well yeah but gets will handle that
00:25:18 <alise> (maximum line limit = you can use gets)
00:25:27 <alise> although you can also use fgets in the same manner if you hate gcc complaining about it :P
00:25:28 <AnMaster> ugh
00:25:34 <alise> AnMaster: well hey, it's safe in this case
00:25:38 <alise> and cpressey said in twenty minutes
00:25:51 <alise> i personally don't know fgets' signature off by heart, so i'd have to look it up --> time
00:26:07 <AnMaster> alise, you shouldn't use gets anyway because there are servers which breaks this part of the protocol during connect to ensure no idiot clients
00:26:08 <AnMaster> iirc
00:26:08 <cpressey> I don't plan on using a language with statically-sized buffers for strings.
00:26:13 <alise> cpressey: Well, yeah.
00:26:26 <alise> cpressey: Just use perl -n.
00:26:33 <alise> BEGIN { print "USER and NICK commands" };
00:27:00 <alise> if /^PRIVMSG .+? :quit/ { exit }
00:27:11 <alise> Er
00:27:15 <SgeoN1> That BEGIN depressingly reminds me of Ruby
00:27:15 <AnMaster> .+?
00:27:15 <alise> if /^:.+? PRIVMSG .+? :quit/ { exit }
00:27:20 <alise> AnMaster: non-greedy .*
00:27:34 <AnMaster> SgeoN1, it reminds me of AWK
00:27:37 <cpressey> I'm trying to irc using raw nc right now.
00:27:39 <AnMaster> SgeoN1, probably perl too
00:27:52 <cpressey> It said it got No Ident response, and kicked me off
00:27:56 <alise> if /^:(.+)?!.+? PRIVMSG (.+)? :ping/ { print "PRIVMSG $2 :pong, $1" }
00:28:02 <AnMaster> cpressey, which server?
00:28:13 <AnMaster> cpressey, freenode allows no ident
00:28:15 <cpressey> $ nc irc.freenode.net 667
00:28:19 <alise> cpressey: 6667
00:28:24 <AnMaster> 667!?
00:28:25 <cpressey> Sorry, twas
00:28:27 <cpressey> 6667
00:28:32 <alise> What should the add quote command be?
00:28:35 <AnMaster> cpressey, but you need to reply to PING during connect
00:28:40 <AnMaster> cpressey, otherwise it will kick you off
00:28:41 <cpressey> Maybe it just timed me out, trying again
00:28:48 <AnMaster> this is to prevent HTTP proxy to spam
00:28:50 <AnMaster> cpressey, ^
00:29:03 <alise> cpressey: [ehird@ping ~]$ nc irc.freenode.net 6667
00:29:03 <alise> :niven.freenode.net NOTICE * :*** Looking up your hostname...
00:29:03 <alise> :niven.freenode.net NOTICE * :*** Checking Ident
00:29:03 <alise> :niven.freenode.net NOTICE * :*** No Ident response
00:29:03 <alise> :niven.freenode.net NOTICE * :*** Couldn't look up your hostname
00:29:04 <alise> USER ehird ehird ehird ehird
00:29:06 <alise> NICK asjsdf
00:29:10 <alise> Ignore AnMaster, he's wrong, you probably just timed out
00:29:15 <alise> Don't worry about pings
00:29:24 <AnMaster> alise, no I'm pretty sure freenode added that nowdays
00:29:29 -!- cprcprcpr has joined.
00:29:33 <alise> Yes, but it doesn't matter unless you'r reeeeaaally slow.
00:29:35 <alise> cprcprcpr: Yo.
00:29:40 <cpressey> Hey, there I am.
00:29:41 <AnMaster> alise, read again
00:29:49 <alise> *you're
00:29:49 <alise> AnMaster: ?
00:29:59 <AnMaster> alise, HTTP proxy spam
00:30:13 <cprcprcpr> poopy poop mcfloopy poop (blame alise)
00:30:16 <AnMaster> I remember an oper said they were doing to introduce that thing
00:30:33 * alise installs Hobbit netcat.
00:30:41 * cpressey grins evilly.
00:31:23 <cprcprcpr> ACTION looks worried.
00:31:30 <alise> I refuse to acknowledge any other netcat.
00:31:31 <cpressey> nope, not it.
00:32:07 <cprcprcpr> /me looks worried.
00:32:49 <alise> Heh, the netcat source has a lot of poop-ery too.
00:32:52 -!- cprcprcpr has quit (Client Quit).
00:33:11 <cpressey> omg i looked at the nc source once
00:33:14 <cpressey> i went blind
00:33:36 <cpressey> Well, thank you for the tutorial, alise.
00:33:38 <alise> netcat.c:(.text+0x1420): undefined reference to `res_init'
00:33:43 <alise> Eh? But I linked with -lresolv... ohh, static.
00:33:47 <cpressey> Must be off now.
00:33:56 <alise> Eh, I'd better disable static.
00:33:58 <alise> cpressey: Bye!
00:34:11 <cpressey> http://www.televisiontunes.com/Wayne_and_Shuster_-_Ending.html
00:34:13 <alise> # -Bstatic for sunos, -static for gcc, etc. You want this, trust me.
00:34:15 <alise> Wrong again, sir.
00:34:18 <cpressey> Bye!
00:34:20 -!- cpressey has left (?).
00:34:21 <alise> Bye.
00:41:34 <AnMaster> alise, I seem to have a netcat called ncat...
00:41:37 <AnMaster> from nmap.org
00:41:38 <AnMaster> how strange
00:41:57 <AnMaster> it has -e anyway
00:42:43 <alise> http://nc110.sourceforge.net/ is my only trusted source for the latest and greatest (1996) Hobbit netcat release.
00:43:13 <alise> Unpatched (it doesn't need it), untarnished, 1.10.
00:43:31 <alise> The most despicable use of the netcat name is GNU's, IMO. It's an entirely different software package and they've tried to usurp the name.
00:43:34 <alise> Not cool.
00:45:02 <pikhq> Good ol' classic netcat.
00:45:36 <alise> pikhq: Unfortunately, it tries to statically link and also uses libresolv, so you have to get a static libresolv or (not recommended) disable the static linking.
00:45:42 <alise> So that's a bit inconvenient.
00:46:09 <pikhq> alise: So frob the build system.
00:46:30 <alise> To do what?
00:46:51 <pikhq> To make it not statically link.
00:47:01 <pikhq> At least, not by default; that's kinda silly.
00:47:11 <AnMaster> yeah patch the build system
00:47:15 <pikhq> If you really want it to be static, you can add -static to your CFLAGS.
00:47:20 <AnMaster> and call it 1.10.0.1
00:47:22 <AnMaster> or such
00:47:32 <alise> http://static.tvtropes.org/pmwiki/pub/images/Supesredblue.jpg ;; gotta catch 'em all
00:47:43 <alise> pikhq: # -Bstatic for sunos, -static for gcc, etc. You want this, trust me.
00:47:48 <alise> I cannot distrust Hobbit.
00:47:55 <alise> # Usually do "make systype" -- if your systype isn't defined, try "generic"
00:47:55 <alise> # or something else that most closely matches, see where it goes wrong, fix
00:47:55 <alise> # it, and MAIL THE DIFFS back to Hobbit.
00:48:02 <alise> I cannot mail a diff back to him; therefore I have no right to modify this file.
00:48:05 <pikhq> At the time, Linux's dynamic linking sucked balls.
00:48:14 <alise> Fun fact, it still does. :P
00:48:20 <AnMaster> alise, not in the same way
00:48:25 <pikhq> No more so than other dynamic linking.
00:48:29 <alise> Yeah, it just sucks in a sucky way now.
00:48:35 <AnMaster> ....
00:48:48 <pikhq> Then, it had each dynamic library with its own compiled-in address.
00:49:03 <AnMaster> <alise> http://static.tvtropes.org/pmwiki/pub/images/Supesredblue.jpg ;; gotta catch 'em all <-- which tv tropes page was that linked from?
00:49:11 <alise> AnMaster: I'm not evil enough to tell you.
00:49:12 <alise> Sorry.
00:49:13 <pikhq> The linker would load the library at the proper address. Binaries would use the proper address to call into it.
00:49:16 <AnMaster> alise, I want to know
00:49:18 <alise> Hmm, I have no res_init in my libresolv.
00:49:19 <alise> AnMaster: Sorry.
00:49:22 <alise> (Dork age.)
00:49:23 <AnMaster> alise, ....
00:49:27 <pikhq> And that's the entirety of it.
00:49:31 <alise> (You can CamelcCase it.)
00:49:33 <alise> *CamelCase
00:49:35 <AnMaster> alise, I use w3m -dump anyway for it
00:49:47 <AnMaster> alise, to get rid of links
00:50:21 <alise> Any idea how to get res_init() on Linux?
00:50:38 -!- CakeProphet has joined.
00:51:04 <AnMaster> no
00:53:07 <alise> "Link with -lresolv."
00:53:10 <alise> So why doesn't it work...
00:53:18 -!- Gregor-P has quit (Read error: Connection reset by peer).
00:54:33 <alise> Aha.
00:54:38 <alise> #include <resolv.h> fixes it.
00:54:42 <alise> Guess it's a macro.
00:55:09 <alise> netcat.c:(.text+0x62c): warning: Using 'getservbyport' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
00:55:10 <alise> Who cares.
00:56:13 <alise> Yummy.
00:57:03 <alise> Yay, I has nice naetcat.
00:57:04 <alise> *netcat
00:57:16 <alise> Add quote command? Name? Opinions?
00:58:41 -!- CakeProphet has quit (Ping timeout: 265 seconds).
01:00:14 -!- CakeProphet has joined.
01:01:33 <AnMaster> alise, "-DGAPING_SECURITY_HOLE"?
01:01:51 <alise> AnMaster: enables -e
01:01:58 <alise> which is not so much a gaping security hole as a ... gaping security hole
01:02:04 <alise> (if used in a gaping manner)
01:02:08 <alise> (but really, it's your own damn fault)
01:02:13 <alise> hobbit is a bit creative with his na,es
01:02:14 <alise> *names
01:02:15 <pikhq> It's a gaping security hole, but not netcat's fault.
01:02:31 <alise> struct host_poop {
01:02:32 <alise> struct port_poop {
01:02:47 <alise> cross-check the host_poop we have so far against new gethostby*() info,
01:02:47 <alise> and holler about mismatches. Perhaps gratuitous, but it can't hurt to
01:02:47 <alise> point out when someone's DNS is fukt. Returns 1 if mismatch, in case
01:02:47 <alise> someone else wants to do something about it. */
01:02:54 <alise> if (strcmp (poop->name,
01:03:01 <alise> HINF * gethostpoop (name, numeric)
01:03:01 <alise> char * name;
01:03:01 <alise> USHORT numeric;
01:03:01 <alise> {
01:03:18 <alise> The most poopy segment I've found so far:
01:03:19 <alise> memcpy (&poop->iaddrs[x], hostent->h_addr_list[x], sizeof (IA));
01:03:19 <alise> strncpy (poop->addrs[x], inet_ntoa (poop->iaddrs[x]),
01:03:19 <alise> sizeof (poop->addrs[0]));
01:04:11 <pikhq> ... Whatinthe?
01:04:21 -!- CakeProphet has quit (Read error: Operation timed out).
01:05:15 -!- CakeProphet has joined.
01:07:15 <alise> pikhq: Whatinthe whatinthe?
01:07:27 <alise> pikhq: He just likes naming all his replacements for standard things after poop.
01:07:33 <alise> And names all values of these types "poop".
01:08:13 <pikhq> Apparently.
01:08:35 <alise> SOMEONE NAME THE BOTTE REMEMBER-QUOTE COMMAND :|
01:08:37 <alise> addquote is boring
01:08:39 <alise> perhaps remember
01:08:46 <alise> or, hmm
01:08:53 <alise> maybe .q should be the random quote / quote lookup command
01:08:55 <pikhq> alise: Oboeru
01:08:57 <alise> and .quote be the add-quote command
01:10:32 <alise> These are totally important questions.
01:12:02 <alise> if [ "$*" = "" ]; then
01:12:02 <alise> echo "$NICK: Try entering a quote, dipshit."
01:12:05 <alise> Note to self: Think of a nicer error message.
01:12:15 <AnMaster> alise, idea: quotethee !
01:12:21 <AnMaster> or something like that
01:12:41 <AnMaster> alise, you know, somewhat archaic
01:15:08 <alise> #!/bin/sh
01:15:08 <alise> if [ "$*" = "" ]; then
01:15:08 <alise> echo "$NICK: Try entering a quote, dipshit."
01:15:08 <alise> else
01:15:08 <alise> echo "$*" >> ~/var/quotes
01:15:09 <alise> fi
01:15:13 <alise> Let's see you write that simpler in your favourite bot. :P
01:16:00 <alise> I love how the quote command just... uses the output of grep as the result of the command. With no filtration.
01:16:06 <alise> The Unix architecture is pretty damn good.
01:17:18 <pikhq> `run cat `which quote`
01:17:29 <HackEgo> No output.
01:17:35 <pikhq> `ls
01:17:38 <HackEgo> No output.
01:17:49 <pikhq> EFFYOUHACKEGO
01:18:54 <alise> pikhq: HackEgo uses *SQLITE* to do quotes.
01:18:57 <alise> It cnanot possibly win.
01:19:00 <alise> *cannot
01:19:04 <pikhq> alise: What, seriously?
01:19:10 <alise> Yes.
01:19:12 <pikhq> I could've sworn it used a shell script.
01:19:15 <alise> Yes.
01:19:18 <pikhq> Ah well.
01:19:18 <alise> That calls SQLite.
01:19:25 <pikhq> Same command should work on Hackego, though.
01:19:29 <alise> This is because Gregor has some sort of retarded disease whereby he uses SQLite for everything.
01:19:34 <alise> pikhq: even $NICK?
01:19:44 <pikhq> Maybe not that.
01:19:46 -!- zzo38 has quit (Remote host closed the connection).
01:19:59 <cheater99> humans
01:20:06 <cheater99> alise, wat is up?
01:21:34 <AnMaster> Gregor, I kindly request a version of http://codu.org/music/GRegor-op7.ogg that doesn't sound like the microphone was in a wooden box at the time!
01:21:42 <alise> pikhq: setting lowercase environment vars is discouraged, right?
01:22:13 <pikhq> alise: Right.
01:22:25 <pikhq> Gregor: I second that request.
01:22:52 <AnMaster> Gregor, same applies to some of the other early opuses you published
01:23:31 <AnMaster> Gregor, I mean the music as such is good but there is no midi file or such for so I could use fluidsynth locally
01:23:41 <alise> pikhq: Gah, the worst thing about sh is quoting every damn var.
01:23:51 <alise> I mean, you have to do it even if it doesn't need it, otherwise it gets wildly inconsistent and stuff starts breaking.
01:23:58 <AnMaster> alise, XD
01:24:10 <AnMaster> alise, sometimes you want to not quote it though
01:26:00 <CakeProphet> so... does Gosel's theorems apply /only/ to systems that define arithmetic and the natural numbers?
01:26:10 <CakeProphet> *Godel
01:26:36 <alise> How should you address a single item of karma?
01:26:38 <alise> "bit of karma"?
01:26:42 <alise> "You have 3 bits of karma."
01:29:39 <alise> Dear people, please stop saying "to thine own self be true" (and similar modernisations) and "brevity is the soul of wit". Thanks.
01:30:29 <AnMaster> alise, the latter sounds true in many cases
01:31:07 <AnMaster> laconisms and such
01:31:10 <alise> I'm not sure you understand. Polonius said those lines.
01:31:23 <alise> Polonius is /a blundering idiot/.
01:31:33 <AnMaster> alise, oh I didn't know that
01:31:59 <alise> "Brevity is the soul of wit" is not true; while it is true that verbose jokes aren't always funny (although they can be, see shaggy dog stories), it is certainly not the /shortness/ of a phrase that determines how funny it is!
01:32:25 <AnMaster> alise, true, but what about laconism then?
01:32:32 <alise> AnMaster: Is one type of humour, not all.
01:32:38 <AnMaster> alise, very true
01:32:49 <AnMaster> alise, but the shortness of it is part of making it fun
01:32:55 <pikhq> alise: As you well know, 低さは知恵の気.
01:32:57 <AnMaster> very often
01:33:03 <alise> Anyway, Polonius basically spends the entirety of Hamlet dancing around, poking his nose into everything and generally being annoying while thinking himself wise, then Hamlet accidentally kills him and is just all "oh well, who cares".
01:33:04 <AnMaster> pikhq, translation please
01:33:11 <alise> So, yeah, people quoting him is amusing.
01:33:11 <pikhq> Brevity is the soul of wit.
01:33:15 <pikhq> Made shorter.
01:33:16 <AnMaster> pikhq, XD
01:33:51 <pikhq> Also shorter in roman script. "Hikusa wa chie no ki."
01:34:32 -!- alise has set topic: Very like a whale. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
01:35:34 <alise> I wonder how prudes who only like Shakespeare because it's "classical" deal with finding out the true meaning of that country matters/nothing bit.
01:35:39 <alise> Apart from "badly".
01:35:58 <pikhq> alise: Oh, *that's* all you wonder about?
01:36:09 <pikhq> And not all the *other* genitalia references?
01:36:18 <pikhq> (half of each play, ish?)
01:36:22 <alise> Well, the country matters bit is the most obvious.
01:36:27 <pikhq> True.
01:36:30 <alise> The rest they can just handwave away.
01:36:37 -!- AnMaster has set topic: Very like a whale. | More so than a real whale. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
01:37:36 <AnMaster> alise, which play is that?
01:37:46 <alise> pikhq: I watched the David Tennant / Patrick Stewart adaptation on BBC2 on Boxing Day (we get three hour productions of Hamlet without advert breaks on the second main channel on Boxing Day: this is possibly the only redeeming aspect of British culture); he did a rather excessive rolling of the r in "country matters".
01:37:53 <alise> Cuntrrrrrrrry matters.
01:37:58 <alise> I guess it has to be obvious for the PHILISTINES. :P
01:38:05 <alise> AnMaster: Hamlet.
01:38:12 <AnMaster> alise, I thought you said country? not cuntry
01:38:27 <alise> It's a pun.
01:38:30 <alise> He says country, he means cunt'ry.
01:38:33 <AnMaster> alise, ah
01:38:33 <pikhq> alise: It's hard to argue against David Tennant and Patrick Stewart together performing, well, anything.
01:39:16 <alise> AnMaster: HAMLET: Lady, shall I lie in your lap?
01:39:16 <alise> OPHELIA: No, my lord.
01:39:16 <alise> HAMLET: I mean, my head upon your lap?
01:39:16 <alise> OPHELIA: Ay, my lord.
01:39:16 <alise> HAMLET: Do you think I meant country matters?
01:39:17 <alise> OPHELIA: I think nothing, my lord.
01:39:19 <alise> HAMLET: That's a fair thought to lie between maids' legs.
01:39:21 <alise> OPHELIA: What is, my lord?
01:39:23 <alise> HAMLET: Nothing.
01:39:35 <AnMaster> XD
01:39:49 <pikhq> "Nothing" was also slang for a vagina.
01:39:54 <AnMaster> heh
01:40:00 <alise> i.e., "Wanna have sex?" "No." "I mean, can I lie my head [innuendo: head of penis] on your lap." "Okay." "Did you think I meant cunt'ry matters?" "I think nothing, my lord." "That's a fair thought to lie between maids' legs." "What is, my lord?" "[Vagina.]"
01:40:02 <AnMaster> resting a head there seems very strange
01:40:33 <AnMaster> so indeed
01:41:10 <alise> tl;dr shakespeare was a dirty, dirty man.
01:41:20 <AnMaster> tl;dr?
01:41:21 <AnMaster> why
01:42:03 <alise> "tl;dr summary" has now overtaken "tl;dr [as complaint"].
01:42:12 <AnMaster> alise, what? really?
01:42:18 <alise> Yes.
01:42:20 <alise> *complaint]".
01:42:31 <pikhq> Yes.
01:42:36 <alise> "TL;DR: [i.e., for the people who consider this TL;DR, here is a summary:]".
01:42:39 <pikhq> Welcome to the rapid, rapid evolution of slang.
01:42:55 <alise> Which is now more common than "tl;dr" itself, which became a bit boring really.
01:43:39 <oerjan> alise: "Un bon mot ne prouve rien."
01:44:16 <alise> oerjan: Quite so! Wait...
01:44:32 <alise> ("A witty saying proves nothing.", for those who don't speak French; Voltaire.)
01:45:11 * oerjan notes it was awkward to find the french verson, i had to guess a word in it ("rien") to push the english-only hits off google
01:46:02 <alise> Could have just hit up http://en.wikiquote.org/wiki/Voltaire.
01:46:04 <oerjan> after which one discovers that google really doesn't like wikiquote much
01:46:15 <oerjan> yes, that's where i ended up
01:47:18 <oerjan> but it wasn't in the first google page with just the english
01:48:18 <AnMaster> oerjan, you could have set the language to French only in advanced search
01:48:35 <oerjan> similarly i usually have to add site:wiktionary.org if i want to go there
01:48:59 <oerjan> AnMaster: i suppose, which would have been about equally awkward
01:49:19 <alise> http://memory-alpha.org/wiki/Warp Warp 3 is either 487c or 39c.
01:49:31 <alise> Warp 4.4 is faster than warp 4.5.
01:49:41 <pikhq> Less than 10% of American self-proclaimed Christians can recite more than a few sentences from the Bible. That's a bit... Surprising.
01:49:42 <alise> And warp 8.4 is 765,000c while warp 9 is merely 834c.
01:49:53 <alise> But 9.9 is 21,473. Add .1 to that, get warp 10, and you hit infinity.
01:49:57 <alise> WARP SPEED: FUCK YEAH
01:50:01 <pikhq> Given that I strongly suspect that most atheists could manage that.
01:50:28 <pikhq> If for nothing else than to mock things like talking donkeys.
01:51:04 <AnMaster> <alise> Warp 4.4 is faster than warp 4.5. <-- plot a graph
01:51:15 <alise> AnMaster: How do you put TWO POINTS on the SAME SPOT?
01:51:23 * oerjan once upon a time invented a currency in which 10 was an infinite amount of money. i don't _think_ i'd heard of warp by then
01:51:24 -!- lifthrasiir has quit (Ping timeout: 248 seconds).
01:51:42 <AnMaster> alise, the same way you plot a relation instead of a function
01:51:47 <oerjan> although it _was_ based on the relativistic speed addition formula
01:51:47 <pikhq> alise: There's two different warp scales.
01:51:58 <AnMaster> imperial vs metric?
01:52:07 <alise> pikhq: At least three, surely.
01:52:13 <alise> And none of them make ANY SENSE
01:52:25 <alise> oerjan: so what would a newspaper cost?
01:52:47 <pikhq> I did not say they made any sense at all.
01:53:19 <oerjan> alise: um i don't think i actually fixed the exchange rate
01:53:28 <alise> oerjan: :D
01:53:37 <Gregor> <AnMaster> Gregor, I kindly request a version of http://codu.org/music/GRegor-op7.ogg that doesn't sound like the microphone was in a wooden box at the time!
01:53:45 <pikhq> If it were up to me, I'd call it multiples of C and be done.
01:53:46 <Gregor> That was recorded on an acoustic. Poorly.
01:54:26 <alise> botte feature idea: commands that are triggered on some shell comman
01:54:26 <alise> d
01:54:30 <alise> s/n\nd/nd/
01:54:46 <alise> So, for instance, if you wanted to run the command karma++ on all messages containing ++, you'd have
01:55:02 <alise> grep -c '++': karma++
01:55:02 <AnMaster> Gregor, indeed. op6 is about as bad
01:55:33 <Gregor> Anyway, I also didn't write down the sheet music. Hypothetically I'm working my way backwards and recreating them, but I'm only on Op. 8 in that process.
01:55:52 <Gregor> How about this: You and pikhq and whoever else cares (nobody) vote on which one you would most like for me to get updated, and I'll update it :P
01:55:52 <pikhq> Gregor: D'aw.
01:56:07 <pikhq> 7 has the worst recording.
01:56:48 <oerjan> !haskell conv c = atanh (c/10); main = print $ map conv [0.5, 1 .. 9.5]
01:56:52 <EgoBot> [5.004172927849138e-2,0.1003353477310757,0.15114043593646667,0.20273255405408228,0.2554128118829953,0.3095196042031117,0.3654437542713962,0.4236489301936017,0.4847002785940517,0.5493061443340549,0.6183813135744635,0.6931471805599453,0.7752987062055835,0.8673005276940532,0.9729550745276565,1.09861228866811,1.2561528119880574,1.4722194895832204,1.831780823064823]
01:57:21 <Gregor> Note that update is not just rerecording, it's making a digital piano roll and sheet music.
01:57:28 <Gregor> (As well as recording)
01:58:08 <pikhq> Hmm. Op. 1. :P
01:58:39 <alise> lilypond is pretty
01:58:40 <Sgeo__> "IRC is still, for many people, the place to go to get real-time help with various technologies, or simply to discuss them."
01:58:48 <alise> if Gregor's music isn't lilipondised yet, he should make it so
01:58:51 <Gregor> alise: I hope you mean the output and not the input :P
01:58:55 <Sgeo__> "Still"? What's that supposed to imply? That it's on its way out?
01:59:01 <Gregor> alise: All that I have sheet music of is lilypondized.
01:59:05 <alise> Gregor: the output is beautiful, the input is acceptable
01:59:18 <Gregor> alise: Much like all other TeXisms.
01:59:38 <oerjan> Sgeo__: it's 90's technology, older than the web itself, of course it's antiquated :D
01:59:57 <AnMaster> <pikhq> 7 has the worst recording. <-- seconded
02:00:09 <AnMaster> Gregor, 6 comes second when it comes to worst recording
02:00:22 <pikhq> 5's got a decent recording, as does 8.
02:00:31 <AnMaster> pikhq, indeed
02:00:33 <pikhq> Heck, 6 is acceptable. 7's is just annoying.
02:00:44 <AnMaster> yes 7, 6, the rest
02:00:48 <AnMaster> that is the order I suggest
02:01:00 <AnMaster> he said he wouldn't post 4 and before so...
02:01:01 <alise> http://i.imgur.com/D95jI.png <-- google wins
02:01:26 <alise> http://www.wolframalpha.com/input/?i=world+cup "Assuming "world cup" is a gene"
02:01:46 <AnMaster> alise, haha
02:02:47 <alise> cuil launched a new product
02:02:48 <alise> Welcome to Cpedia (alpha) — the automated encyclopedia from Cuil.
02:03:28 <alise> it ... stitches together the internet into an awful encyclopedia article
02:03:54 <alise> "It will not work as expected for offensive or pornographic terms, so for instance the article on gay sex is mostly about the Anglican Church, Uganda, Larry Craig, and Ted Haggard. Because we have removed most of the obviously adult pages, this is what is left, and this does not really reflect the actual web."
02:04:02 <alise> ...so what if I want to look up some sex-related thing?
02:08:10 <Sgeo__> Gotta love how Chrome will sometimes completely ignore that I typed something into the address bar and pressed Enter
02:08:19 <alise> xD
02:08:46 <Sgeo__> Also, browsing Reddit on Chrome is hell
02:10:26 -!- SgeoN1 has quit (Read error: Connection reset by peer).
02:10:58 <pikhq> I think we need to get someone here to learn violin, viola, and cello, so we can perform Op. 9.
02:11:54 <Sgeo__> If my computer's clock is constantly slow, even after being set to the right time several times, is something severely wrong?
02:12:10 <Gregor> I know somebody who plays Cello but is waaaaaaaaay too good to ask to play Op. 9. I used to play the Viola but was and certainly am waaaaaaaaaaay too bad.
02:12:11 <pikhq> Yes: why aren't you running ntpd?
02:12:37 <Gregor> Also, frankly, if I could conjure up the instruments, I would sooner get the Op. 11 string quartet ...
02:12:39 <Sgeo__> Is "Windows" an answer?
02:12:40 <pikhq> Gregor: First, I'd imagine they'd be quite willing. Second, that's sad.
02:13:05 <pikhq> Also, that's a good point. A string quartet version of that would be awesome.
02:13:13 <pikhq> Sgeo__: Yes, but not an acceptable one.
02:13:23 <Gregor> pikhq: It's notated, just not played :P
02:13:32 <pikhq> Gregor: Yuh.
02:14:40 <Gregor> Also the notation needs a little bit of polishing but *eh*
02:14:49 -!- lifthrasiir has joined.
02:15:30 <Sgeo__> Where the fark is my mouse?
02:15:49 -!- charlls has joined.
02:16:53 <Gregor> Sgeo__: I ate it.
02:16:59 <alise> Shii had some sort of network clock program for Windows on his website at one point.
02:17:08 <alise> It seems now to have disappeared.
02:17:10 -!- Sgeo__ has quit (Read error: Connection reset by peer).
02:17:25 <Gregor> Sgeo's mouse is also his network adapter.
02:17:59 <pikhq> And the clock.
02:18:09 <alise> http://shii.org/tclock/
02:18:15 <alise> Clock synchroniser for Windows.
02:22:23 * oerjan notes that his Windows clock menu has a setting for syncronising, which afahk has been on since he got the machine
02:22:59 <oerjan> *+h
02:24:06 <alise> Does anyone know where I could illegally obtain the corpus of the OED?
02:26:40 -!- SgeoN1 has joined.
02:26:58 <SgeoN1> I love it when stuff randomly crashes.
02:27:15 <oerjan> SgeoN1: isn't your clock set to synchronize? there's a tab in my clock menu for that
02:27:34 <alise> Either that or use http://shii.org/tclock/.
02:27:38 <oerjan> (internet clock)
02:28:01 <SgeoN1> I think it's set to once a week
02:28:02 <oerjan> (well technically "internettklokke")
02:28:09 <alise> Either that or http://homepage1.nifty.com/kazubon/tclocklight/index.html.
02:28:17 <alise> SgeoN1: make it every hour or so
02:28:54 <oerjan> SgeoN1: oh it's that rare? it was set for next time tomorrow so assumed it was more frequent
02:28:56 <SgeoN1> Could there be a hardware issue?
02:29:20 <oerjan> alise: there's alas no item to change the frequency, in my menu at least
02:29:32 <alise> Then use TClock(2|light).
02:29:57 * SgeoN1 syncs with time.nist.gov
02:30:40 -!- SgeoN1 has quit (Read error: Connection reset by peer).
02:31:00 -!- SgeoN1 has joined.
02:31:49 <SgeoN1> As of now, the time is one minute off
02:31:57 <SgeoN1> Or less
02:32:25 <SgeoN1> I'll post when it becomes significantly wrong
02:34:14 <alise> Dude, one minute is CATASTROPHIC.
02:34:33 <alise> Typical ntp errors range in the tens to hundreds of milliseconds.
02:35:31 <SgeoN1> Maybe my phone's fast
02:37:02 <SgeoN1> OK, phone was showing 9:36 while comp showed 9:34
02:37:09 <alise> Anyone know a good open dictionary corpus?
02:37:17 <alise> SgeoN1: compare against e.g. time.gov
02:37:24 <alise> s/$/./
02:38:55 <SgeoN1> Comp currently off by slightly over one minute
02:39:11 <SgeoN1> 70 sec or so
02:42:10 <alise> I NEED DICTIONARIES
02:42:12 <alise> DO NOT SUGGEST WORDNET
02:42:15 <alise> You will suffer.
02:42:34 * oerjan suggest wiktionary and runs away
02:42:37 <oerjan> *+s
02:43:20 -!- micahjohnston has joined.
02:43:35 <SgeoN1> OpenCyc!
02:44:19 <alise> oerjan: but you see, wikitionary sucks.
02:44:24 <alise> SgeoN1: die in a fire
02:44:48 <SgeoN1> What, you're not an AI?
02:44:57 <oerjan> WELL WHOSE FAULT IS THAT
02:45:08 <oerjan> YES, YOURS. BECAUSE YOU CAN EDIT IT.
02:46:20 -!- wareya_ has joined.
02:46:20 <oerjan> SgeoN1: AIs might still want you to die in a fire. see e.g. terminator movies.
02:48:53 -!- wareya has quit (Ping timeout: 240 seconds).
02:49:55 <alise> example of why wiktionary sucks:
02:50:06 <alise> http://en.wiktionary.org/wiki/fuck -- how on earth am i meant to present a definition of "fuck" to the user like this
02:50:21 <alise> i mean have these guys never opened an OED and noticed how it has all the organisation you need and still has every definition take up one logical line
02:51:40 <Gregor> Wiktionary is not good.
02:52:05 <alise> " She shoved them up and together, pushing into me, forcing my foot to fuck her tits harder and harder while gasping as if I was shoving it deep into her body..."
02:52:08 <pikhq> alise: I'm thinking that for flinix, I will aim to initially just have Xserver, dwm, and dillo running.
02:52:08 <alise> Yep, the OED would quote that.
02:52:16 <alise> Classy, Wiktionary.
02:52:17 <alise> Classy.
02:52:31 <alise> pikhq: go for jwm or something, i dislike tiling managers :<
02:52:37 <alise> also, getty!
02:52:46 <Gregor> Uhhh
02:52:53 <pikhq> alise, dwm is a bit more minimalist.
02:53:04 <alise> http://en.wiktionary.org/wiki/hotter_than_a_fresh_fucked_fox_in_a_forest_fire <-- No.
02:53:05 <Gregor> Wiktionary didn't quote that either :P
02:53:08 <alise> Gregor: It did.
02:53:19 <alise> http://en.wiktionary.org/wiki/fuck; click second [quotations ▼] link.
02:53:43 <Gregor> Ack, I didn't even know about that unfeature.
02:53:48 <pikhq> JWM HAS MULTIPLE FILES
02:53:51 <alise> http://en.wiktionary.org/wiki/fuckest ;; FUCKEST??? SERIOUSLY GUYS.
02:54:01 <alise> DIE IN A FIRE.
02:54:11 <alise> Gregor: We should just petition Oxford to open-source the full OED corpus.
02:54:14 <alise> Though it'd be gigabytes.
02:54:19 <alise> Actually, 500 megabytes or so IIRC.
02:54:29 <Gregor> That
02:54:30 <Gregor> Would
02:54:30 <Gregor> Be
02:54:31 <Gregor> AWESOME
02:54:32 <alise> But someone would just stick it on the web.
02:54:35 <Gregor> Never gonna happen though.
02:54:35 <alise> And thus it would be cool.
02:54:39 <alise> Gregor: Alas.
02:54:49 <alise> Gregor: We should make some shoddy argument that it's part of a public research institution!
02:56:06 <alise> And thus ... must be ... completely open.
02:56:18 <alise> Gregor: But seriously, are there even options other than Wiktionary and WordNet?
02:56:37 <Gregor> I usually just use Google's "define:whatever" and then pick one that seems not retarded :P
02:57:45 <alise> http://ninjawords.com/ reformats wiktionary to be not so abhorrent; I'm wondering if I should just screen-scrape it
02:58:06 <pikhq> alise: Hmm. How large is twm?
02:58:11 <alise> pikhq: Ew. No.
02:58:16 <pikhq> :P
02:58:24 <alise> "I asked her if she wanted to fuck and she said yes, so we had sex together last night."
02:58:29 <alise> What a ludicrous quote
02:58:31 <alise> s/^ //
02:58:39 <Gregor> alise: That is totally how human beings talk.
02:58:57 <micahjohnston> has anyone played manufactoria?
02:59:09 <micahjohnston> the first few levels are fsms and then it's pretty much turing machiens
02:59:15 <cheater99> sup guys
02:59:25 <alise> I asked the bitch "Do you wish to engage in copulatory intercourse this night?" 'n she said yer, 'n we fucked our brains out
02:59:36 <alise> ^ Even more realistic
03:00:24 <pikhq> Oooh! Oooh! uwm!
03:00:29 <pikhq> :P
03:00:54 <pikhq> ... Holy fuck that code is awful.
03:00:59 <pikhq> MAKE IT STOP
03:01:52 <alise> Just use jwm, dude.
03:02:29 <pikhq> jwm and dwm are the only choices I can use for a small distro and still be able to look myself in the mirror.
03:03:15 <Gregor> WMs are for pussies.
03:03:22 <Gregor> X is for pussies.
03:03:34 <Gregor> XXX is also for pussies, but for very different definitions.
03:03:59 <pikhq> Gregor: If I don't want X, then I'll just stick busybox and Elinks on a floppy and call it a day. :P
03:04:23 <Gregor> It's not a distro if it doesn't have GCC :P
03:04:33 <Gregor> With GCC it has infinite capacity to extend itself, so all is well.
03:04:38 <pikhq> Fine, I can also include a C compiler.
03:04:44 <Gregor> TCC I assume ;)
03:04:45 <pikhq> ... TCC.
03:04:46 <pikhq> :)
03:04:47 <Gregor> And make
03:04:51 <pikhq> Or maybe PCC.
03:04:56 <pikhq> Busybox has a make.
03:04:58 <Gregor> PCC on Linux is a suckfest.
03:05:04 <Gregor> And not the good kind.
03:05:30 <pikhq> I was playing with it earlier. It actually works quite well, though it seems to not support a few things that Linux programs love using.
03:07:27 <pikhq> Also, suckless appears to have a decent terminal. That'll probably go on as well.
03:07:57 -!- Sgeo has joined.
03:10:10 <Sgeo> So: Nostalgia, or awesome visual?
03:10:17 * Sgeo is actually picking "awesome visual"
03:10:27 * oerjan gasps
03:10:43 <oerjan> WHAT DID YOU DO TO THE _REAL_ SGEO?
03:11:14 <alise> what's the abbreviation thing for interjection?
03:11:24 <alise> itj.?
03:11:34 <oerjan> æ veit itj
03:19:07 <alise> fuck, v. (often obscene sometimes extremely vulgar) To have sexual intercourse, to copulate: "I asked her if she wanted to fuck and she said yes, so we had sex together last night."; (often obscene sometimes extremely vulgar) To insert one's penis, or a dildo or other phallic object, into a specified orifice or cleft; n. (vulgar) An act of sexual intercourse: "That was a great fuck."; (vulgar) A sexual partner: "She's a good fuck."; itj. Expressing dismay
03:19:07 <alise> or discontent: "Oh, fuck! We left the back door unlocked."
03:19:09 <alise> Tada.
03:19:16 <alise> Gregor: I just mangled Wiktionary into something readable.
03:22:27 <alise> [ehird@ping src]$ python define.py poo
03:22:27 <alise> poo, n. Excrement; faecal matter; n. Marijuana resin; v. To defecate
03:22:31 <alise> Is it bad style to repeat the n. like that?
03:22:35 <Sgeo> WHere is "She is a good fuck"? [Yes, that's extremely demeaning, but still]
03:23:41 <oerjan> um right before the end?
03:24:01 <Sgeo> Oh
03:24:06 * Sgeo is blind today
03:25:24 -!- micahjohnston has left (?).
03:25:28 -!- BeholdMyGlory has quit (Remote host closed the connection).
03:28:51 <alise> [ehird@ping src]$ python define.py poo
03:28:51 <alise> poo, n. excrement; faecal matter; marijuana resin; poo, v. to defecate.
03:28:55 <alise> Should I repeat the word name like that?
03:29:28 <alise> wherefore, v. (archaic) Why, for what reason, because of what; cnj. (archaic) Because of which; n. an intent or purpose.
03:29:32 <alise> I think it looks better without the repetition.
03:30:32 <alise> Okay, how the fuck do I abbreviate preposition?
03:30:34 <alise> I need pikhq for this.
03:31:20 <pikhq> alise: Preposition?
03:31:27 <alise> articles = {
03:31:27 <alise> 'verb': 'v',
03:31:27 <alise> 'noun': 'n',
03:31:27 <alise> 'adjective': 'adj',
03:31:27 <alise> 'interjection': 'intj',
03:31:28 <alise> 'adverb': 'adv',
03:31:30 <alise> 'abbreviation': 'abbrv',
03:31:32 <alise> 'conjunction': 'conj',
03:31:34 <alise> 'preposition': 'prep',
03:31:36 <alise> }
03:31:37 <pikhq> prep.
03:31:38 <alise> You know, dictionary abbreviations of articles.
03:31:40 <alise> Followed by a dot.
03:31:43 <alise> Is abbrv right? intj?
03:31:46 <alise> conj?
03:32:04 <pikhq> abbrv, int, cnj
03:32:04 <Sgeo> Marijuana resin?
03:32:49 <alise> Yeah, who the hell knows, it's wiktionary.
03:32:53 <alise> It's not going to be of the highest quality.
03:33:04 <alise> pikhq: Sure you're not just making these up?
03:33:15 <alise> weed, n. any plant growing in cultivated ground to the injury of the crop or desired vegetation, or to the disfigurement of the place; an unsightly, useless, or injurious plant: "If it isn't in a straight line or marked with a label, it's a weed."; a species of plant considered harmful to the environment or regarded as a nuisance; v. to remove weeds (unwanted vegetation) from (a cultivated area): "I weeded my flower bed."; past tense of wee.
03:33:16 <pikhq> alise: No.
03:33:18 <alise> weed. Past tense of wee.
03:33:28 <alise> ....also, where the hell is marijuana in that definition?
03:34:15 <alise> fuck it, int. (vulgar idiom) An expression of great indifference or nonchalance: "I was going to clean my room, but thought "fuck it, nobody's going to see it.""; (vulgar idiom) An expression of frustration.
03:34:18 <alise> It's like the OED, but awful.
03:34:33 <alise> oed, abbrv. oxford English Dictionary.
03:34:36 <alise> My lowercasing code backfires.
03:34:53 <alise> wikipedia, v. past tense of wipe.
03:34:54 <alise> WHAT
03:36:05 <alise> oh ha
03:36:22 <alise> it picks up on the deletion notice saying "deleted" which is like ... wiping, i assume
03:36:31 <alise> dunno
03:36:44 <Gregor> "He told me to wipe off the dishes, so I wikipedia them for an hour or so but got tired of it."
03:36:57 <alise> Wikipedia, n. an open-content online encyclopedia, collaboratively developed over the World Wide Web; a version of this encyclopedia in a particular language: "There are over two million articles on the English Wikipedia."; v. to search for information on a topic in the Wikipedia online encyclopedia; to add or edit an article of the Wikipedia online encyclopedia.
03:36:59 <alise> Now it works!
03:37:00 <alise> Oh the horror.
03:37:20 <alise> http://pastie.org/1019589.txt?key=iveweg7njbmwqqdjqpnndg
03:37:24 <alise> The ugly electronic dictionary device.
03:40:27 <Sgeo> I love LINQ
03:41:32 <Sgeo> http://pastie.org/private/oaddwrbvqjm0htb7jwgynq
03:42:02 <alise> Sgeo: Firstly, jesus christ that is awful die.
03:42:07 <alise> Secondly, no C# in here. Yes, that is now a Rule.
03:42:16 <alise> I decree it so; any objections can be posed to me so that I may summarily ignore them.
03:42:21 <Sgeo> What's so awful about it?
03:42:32 <pikhq> Sgeo: OUCH
03:42:34 <pikhq> THAT HURTS
03:42:37 <alise> where wick.Tag == "#CRYSTAL-ALTAR-PE:" + name
03:42:38 <alise> Especially this.
03:42:41 <alise> You fail at structuring anything.
03:43:00 <alise> GIVE UP ON LIFE MY FRIEND :|
03:43:09 <Sgeo> ?
03:44:16 <Sgeo> I still don't get it.
03:44:36 <alise> Precisely
03:44:43 <alise> Wow I am a jerk :)
03:44:54 <alise> pikhq: Please explain why .Tag is epically failing there.
03:45:36 <Sgeo> If this has to do with the name "Tag", that's .. I don't remember if it's my fault or not
03:45:55 <Sgeo> The choice of "Object" as the name of the class of these Objects is NOT my fault.
03:46:02 <Sgeo> Although I guess I could have renamed it
03:46:19 <Sgeo> But what's so terrible about .Tag?
03:46:44 <alise> Not the name Tag.
03:46:46 <alise> The contents.
03:47:10 -!- aschueler has joined.
03:47:49 <Sgeo> Tag can contain (almost) arbitrary strings
03:48:22 <Sgeo> They're just the thing that starts with # in the in-world object's Action line
03:52:31 * oerjan doesn't know C#, but on a hunch wonders why you'd need new { pe.Position.X, pe.Position.Y, pe.Position.Z } rather than just pe.Position
03:52:42 <oerjan> and same for wick
03:54:32 <Sgeo> Because Position is (rather stupidly) not a struct
03:54:50 <Sgeo> And I don't know if.. Can I trust equals to do the right thing?
03:54:54 <Sgeo> Hm, guess I should find out
03:58:24 <Sgeo> Or, I could just use where instead of join
03:58:30 <Sgeo> That might actually be CORRECT
04:07:46 <alise> 4am... bed soon
04:17:39 <alise> 06:03:20 <oerjan> Sgeo__: i've read overdosing on tylenol (paracetamol) is _not_ a laughing matter
04:17:41 <alise> 06:03:39 <oerjan> a _very_ painful way of dying
04:17:42 <alise> 06:04:07 <oerjan> it takes a week for your liver to break down, or something
04:17:42 <alise> 06:04:52 <oerjan> and after a day there is _nothing_ medicine can do to prevent it
04:17:44 <alise> cooooooool
04:17:55 <alise> i now know how to take over the world, thanks
04:18:09 <alise> step 1. steal all the anti-paracetamol-overdose cures
04:18:17 <alise> step 2. force-overdose everyone on paracetamol
04:18:22 <alise> "OBEY ME OR DIE PAINFULLY AND SLOWLY"
04:18:26 <alise> *step 3.
04:19:53 <alise> flotsam and jetsam, n. (nautical) The remains of a shipwreck still floating in water; (nautical) That which has been discharged from a ship or boat, especially on the ocean or a sea, (flotsam unintentionally and jetsam intentionally).
04:19:56 <alise> this thing formats entries really nicely
04:20:34 <alise> 06:34:06 <oerjan> ah but don't you know that people decide their opinions first and make up / delude themselves into thinking they had reasons afterwards?
04:20:35 <alise> 06:34:23 <oklopol> maybe stupid people
04:20:36 <alise> oh snap
04:21:07 -!- Sgeo_ has joined.
04:21:22 <Sgeo_> Admittedly, my code trusts the environment a bit much.
04:21:36 <Sgeo_> One single issue in the environment, it crashes
04:21:43 <alise> Can't... sleep...
04:21:45 <Sgeo_> Then again, the environment is theoretically under our control
04:22:48 <pikhq> Tylenol is scary shit if you like your liver.
04:22:56 <pikhq> Worst thing to OD on.
04:23:15 <alise> Note to self: use aspirin in future.
04:23:17 -!- SgeoN1 has quit (Ping timeout: 265 seconds).
04:23:20 <alise> `quote oklpol
04:23:21 <alise> `quote oklopol
04:23:36 <HackEgo> No output.
04:23:55 <Warrigal> So, it turns out that in irssi, /window number switches two windows.
04:23:59 <Warrigal> So, good, I know how to do that.
04:24:09 <HackEgo> No output.
04:24:44 -!- Sgeo has quit (Ping timeout: 265 seconds).
04:25:24 <pikhq> alise: Before the first 24 hours, there are no symptoms. After the first 24 hours, medicine can only reduce the chance of death. After the first 48 hours, you are solidly *fucked*.
04:25:37 <alise> sweeeeeeeeeeeeeet
04:25:40 <alise> why do they give this to kids
04:25:49 <alise> & also what horrible deaths can aspirin cause
04:26:10 <pikhq> Aspirin can cause ulcers and stomach bleeding.
04:26:52 <pikhq> Also, if given while you have one of a few viral illnesses while young, it can cause Reye's syndrome.
04:27:56 <alise> okay that's not nearly as bad
04:28:00 <alise> what about ibuprofen
04:28:22 <pikhq> Reye's syndrome can cause brain damage or death...
04:29:04 <alise> But I don't have one of a few viral illnesses while young.
04:29:13 <alise> So ulcers and stomach bleeding, I can deal with the slight possibility of if I have too much.
04:29:16 <alise> Now! Ibuprofen.
04:29:36 <pikhq> OTC doses of ibuprofen have... Side effects.
04:30:12 <pikhq> And they're not very common at OTC doses.
04:30:53 <Mathnerd314> alise: http://lmgtfy.com/?q=ibuprofen+overdose :-)
04:31:14 <alise> pikhq: so in other words i should just only use ibuprofen!
04:31:35 <pikhq> Oh, yeah: nice thing about ibuprofen is that even a mild overdose takes a bit of doing to do.
04:31:50 <pikhq> Over its OTC dose is prescription dosage.
04:32:01 <alise> But otoh it's not as effective for, say, headaches, is it?
04:32:19 <pikhq> About as effective as aspirin.
04:32:58 <alise> vs paracetamol? I've never taken aspirin afaik.
04:33:25 <pikhq> I dunno about you, but I find that paracetamol doesn't even *work* as a painkiller for me.
04:34:44 <Sgeo_> Turns out that going with the cooler looking stuff instead of the nostalgic stuff essentially discards someone else's hard work
04:36:27 <pikhq> But, yeah. Paracetamol causes more liver failures than all other drugs *combined*, and is the cause of some 39% of all cases of acute liver failure...
04:37:25 <pikhq> I avoid that like the plague.
04:41:36 <alise> 4:41 ... aargh
04:41:50 <alise> pikhq: I seem to be unable to detect any effect when using painkillers.
04:42:06 <alise> The effect is so gradual, and since I am not able to observe the timeline in which I didn't take them, I never feel any benefit to taking painkillers.
04:42:44 <pikhq> alise: Apparently you've only taken paracetamol.
04:42:56 <pikhq> Which in my experience does fuck-all.
04:42:58 <alise> I've had ibuprofen before, I think, but I don't recall what for.
04:43:02 <alise> Never had aspirin.
04:43:06 <pikhq> Ibuprofen and aspirin work quite well.
04:44:16 <alise> The only bothersome pain I ever really get is headaches.
04:45:37 <oerjan> Warrigal: a quicker way of changing to another window in irssi is alt-<number>
04:46:48 <pikhq> oerjan: /window is for moving the window, not changing to it.
04:47:34 <alise> or is it
04:47:36 <alise> OR
04:47:36 <alise> IS
04:47:37 <alise> IT
04:49:09 <alise> yawn
04:49:13 <alise> pikhq: help me sleep!
04:49:14 <alise> 4:49 woe
04:49:33 <Warrigal> oerjan: no, it swaps two windows.
04:50:28 <Warrigal> /window n moves to that window (and I generally use meta instead); /window number n swaps the current window with window n.
04:50:30 <Ilari> Isn't those liver failures caused by the stuff they mix into it?
04:52:22 <oerjan> Warrigal: ok
04:54:32 <pikhq> alise: 寝て寝て寝て!
04:54:45 <pikhq> (nete nete nete!)
04:54:49 <alise> Nete yourself.
04:55:47 <pikhq> でも今二十二時五十五分!
04:56:03 <pikhq> (demo ima nijuuniji gojuugofun!)
04:56:29 <pikhq> [but it's 22:55!]
04:56:58 <alise> Sgeo_!
04:57:01 <alise> Where did you buy melatonin?
04:57:11 <Sgeo_> At the drugstore
04:58:15 <alise> Well that sure is helpful
04:58:37 <alise> Sgeo_: It's a prescription drug in the UK~
04:58:49 <Sgeo_> o.O
04:58:58 <alise> Which means I'd have to get a doctor to prescribe me with some sort of under-melatonin disorder.
04:59:02 <alise> Not happening, especially with the unit.
04:59:08 <alise> Especially as I don't have such a disorder afaik.
04:59:23 <pikhq> I strongly suspect you do.
04:59:25 <alise> Sgeo_: So I'll probably have to find some trustworthy sauce and just break the law hideously >_>
04:59:33 <alise> Wait, I just said "I need to find a reputable online pharmacy". HAHAHAHAHAHAHAHAHAHA
04:59:40 <alise> pikhq: Yes, but will a doctor listen?
04:59:48 <pikhq> Reputable. Online. Pharmacy.
04:59:54 <pikhq> Bweheheh.
05:00:01 <alise> I predict the response will be "Sleep more." and with the unit involved they'll be all like "heh don't be silly young man".
05:00:07 <pikhq> Got all your melatonin, LSD, and cocaine needs.
05:00:18 <alise> "A few years ago, my mother told me that your Melatonin solved all problems she'd suffered. Because S/H to Japan is expensive, I had to buy more to keep them in stock for my mother. 50 bottles are enough to live for about 5 years. She said that she would take them until she dies. ... She trusts your brand. Please note that you have a fan even in Japan." - U.Y., Japan
05:00:23 <alise> Hey, it's got endorsements from JAPAN!
05:00:25 <alise> And it's in UTAH!
05:00:28 <alise> This is gonna work
05:00:43 <alise> ...mind you, it does actually look reputable as thes things go: http://www.melatonin.com/
05:01:20 <alise> "There is limited study of melatonin supplements in children, and safety is not established" Oh, shut UP.
05:01:40 <pikhq> It helps that melatonin OTC is actually legal in the US.
05:01:45 <alise> "Sleep disturbances in children with neuro-psychiatric disorders (mental retardation, autism, psychiatric disorders)"
05:01:50 <alise> Good thing I'm either retarded of autistic.
05:01:52 <alise> *or
05:02:01 <alise> pikhq: "Worldwide Shipping"!
05:02:03 <Sgeo_> WOT seems to very barely like it
05:02:19 <alise> I guess there's a possibility that it would be intercepted, but melatonin? Really now?
05:02:44 <alise> Sgeo_: it seems to be well-written, designed well and have a reasonable enough product range but i'm not sure yet
05:03:06 <alise> it's certainly a lot more trustworthy looking than your average site since it's not claiming to be a pharmacy, just a seller of melatonin which is technically a dietary supplement in the us
05:03:35 <alise> Wow, you can get it in syrup form. I suck at taking pills.
05:03:38 <pikhq> Yeah, it's on par with those "herbal supplement" things.
05:03:46 * Sgeo_ used to suck at taking pills.
05:03:58 <Sgeo_> Had to chew my medicine, even with dad angry at me about that
05:04:06 <alise> 5:04...
05:04:16 <Sgeo_> Wait, :04?
05:04:20 <pikhq> On the one hand, the FDA isn't regulating it at all. On the other, it *is* at least coming from an actual business, rather than "totally got your cold medicines by the gallon" meth suppliers or something.
05:04:25 <alise> pikhq: So a priori there's nothing inherently distrustworthy about a melatonin dealer.
05:04:32 <pikhq> Correct.
05:04:37 <alise> Combined with the well-written website with helpful dosage information and FAQs, etc, I'm inclined to trust it.
05:04:43 <Sgeo_> My computer's time is off by 6 minutes.
05:04:55 <alise> Plus, it's Utah.
05:05:02 <alise> They couldn't get away with shit in Utah. :P
05:05:16 <pikhq> Yeah; who the hell does anything crazy in Utah that's unrelated with Mormonism?
05:05:49 <alise> [[The usual dose for a night is 1–3 mg; I take 1.5mg.]] --gwern
05:05:56 <alise> So I should aim for 1.5mg.
05:06:08 <alise> I don't want NOW brand melatonin liquid, then, it's 3mg for one drop.
05:06:17 <pikhq> Gwern? I know someone who goes by that nickname.
05:06:19 <alise> "Natrol brand is a very low dose form of melatonin which is good for use with animals and special needs children." but 4 = 1 mg, so way too many drops
05:06:21 <alise> pikhq: It's the same guy.
05:06:25 <alise> Wikipedia, #haskell, Less Wrong.
05:06:27 <oerjan> Sgeo_: you sure you're not secretly in orbit at high speed, or something?
05:06:28 <alise> http://lesswrong.com/lw/1lt/case_study_melatonin/
05:06:35 <pikhq> Ah, sure enough.
05:07:00 <alise> pikhq: Say, you know how you can suppress your gag reflex by clenching your thumb in a fist?
05:07:09 <alise> I wonder if that lets you swallow pills if you just can't normally?
05:07:27 <Sgeo_> My house might secretly be in orbit
05:07:40 <Sgeo_> And it's not like I can go outside to check, considering the clothing I'm wearing
05:07:43 <pikhq> alise: Didn't realise.
05:07:47 <pikhq> I just... Swallow.
05:07:56 <alise> Awesome... 90 x 3mg melatonin tablets for $6.95 (sale price; $7.95 normally).
05:08:11 <alise> i.e., 0.07c per night.
05:08:20 <alise> Plus exorbitant shipping, naturally. :P
05:08:32 <Sgeo_> Awesome, I meant something in a disturbing way, but there's a clean interpretation.
05:08:33 <alise> pikhq: I try to swallow but it's like I have no connection to the swallow...muscle.
05:08:50 <alise> Sgeo_: Please hand me the mind bleach.
05:08:57 <alise> "Higher Strength with Sustained Release"
05:08:59 <alise> Who wants that shit!
05:09:02 <alise> Give me melatonin, now!
05:09:20 <alise> "That is: if one slept for 7 hours, one awakes as refreshed as if one had slept for 8 hours (and so on)." god this is just so amazing
05:09:28 <alise> I decide my bedtime an hour in advance, then get an extra hour in the day
05:09:29 <Sgeo_> Is it true?
05:09:32 <alise> why isn't, like, everyone on this
05:09:36 <alise> Sgeo_: is what true
05:09:41 <alise> gwern said it, must be true
05:09:49 <alise> "There are other benefits, such as enforcing a bedtime - invaluable for young people" <-- tell me about it
05:10:41 <alise> ah
05:10:45 <alise> 3mg is actually half an hour's waiting time
05:11:18 <alise> "You are so poor that 6 dollars every 150 or 300 days is a crippling expense."
05:11:28 <alise> so this is quite expensive melatonin that i'm looking at... but still ridiculously cheap
05:11:31 <alise> i just wonder what shipping is
05:11:37 <alise> /and/ what risks there are getting it shipped in
05:12:44 <alise> Oh, of course, I got it wrong
05:12:46 <alise> I'd take half a pill
05:12:49 <alise> so it's 90*2 actually, 180 days
05:13:01 <alise> Oh, wait, you can get 1.5 mg tablets direct here
05:13:09 <alise> 100 days for $5.95, not bad
05:13:30 <pikhq> Not targetted by the drug war, so pretty low.
05:14:04 <alise> ""Children and pregnant or nursing women should not take melatonin dietary supplements without a health professional's approval."
05:14:06 <alise> Oh shut UP.
05:14:07 <alise> *"Children
05:14:20 <alise> pikhq: yeah; I can't imagine they'd try and intercept it, as it'd look perfectly benign
05:14:25 <alise> and they'd hardly prosecute it
05:15:03 <alise> " You could also open a capsule and sprinkle into it into a drink"
05:15:05 <alise> Tempting.
05:15:06 <alise> *"You
05:15:09 <Ilari> Hah... Dosing reminds me of tale that one person brought one expert's recomendation to supplement with vitamin D. Well, he brought some powder that was supposed to contain 1kIU vitamin D per teaspoon. He took two teaspoons per day. Soon he got vitamin D poisoning (hmm... You can't get vitamin D poisoning with 2kIU per day)...
05:16:46 <alise> Ilari: Ha... ha... your jokes are so completely beyond me.
05:17:46 <alise> "I seemed to have more intense dreams the first several days taking it, but they seem to have gone back to normal (or I've gotten used to them/don't remember them)."
05:17:50 <Ilari> Well, turns out that powder wasn't 1kIU per teaspoon, it was 1MIU per teaspoon, so he was taking 2000kIU per day...
05:17:54 <alise> I hope they don't go back for me. I never remember my dreams.
05:17:59 <alise> Ilari: Ouch.
05:18:15 <pikhq> Ouch.
05:19:09 <alise> pikhq: Sweet, melatonin.com will ship to the UK.
05:19:27 <alise> Having controlled drugs illegally smuggled in has never been so cheap or appealing.
05:19:53 <alise> "Individuals with autism spectrum disorders (ASD) may have lower than normal levels of melatonin."
05:19:56 <alise> PROOF I HAVE ASPERGER'S!!1125112
05:20:23 <pikhq> That actually explains a lot.
05:20:35 <alise> I probably don't have Asperger's.
05:20:44 <alise> "Studies from Massachusetts Institute of Technology have said that melatonin pills sold as supplements contain three to ten times the amount needed to produce the desirable physiologic nocturnal blood melatonin level for a more rapid sleep onset. Dosages are designed to raise melatonin levels for several hours to enhance quality of sleep, but some studies suggest that smaller doses (for example 0.3 mg as opposed to 3 mg) are just as effective."
05:20:45 <pikhq> Such as why I find it very hard to sleep in most contexts.
05:20:48 <alise> I can't cut the pills that small!
05:21:00 <alise> pikhq: Good for you is that melatonin is readily available in the US :P
05:21:05 <pikhq> I cannot sleep in moving vehicles. At all.
05:21:10 <Ilari> Stupid research: Hey, lets give 500kIU vitamin D once per year and see what happens...
05:21:14 <alise> [[While the packaging of melatonin often warns against use in children, at least one long-term study[87] does assess effectiveness and safety in children. No serious safety concerns were noted in any of the 94 cases studied by means of a structured questionnaire for the parents. With a mean follow up time of 3.7 years, long-term medication was effective against sleep onset problems in 88% of the cases.]]
05:21:26 <alise> What is it with this automatic "CHILDREN CANNOT TAKE MEDICINE AT ALL" bullshit?
05:21:28 <alise> Happens with polyphasic sleep too.
05:21:34 <alise> There's this mythologisation of the growing process.
05:21:45 <alise> "Oh, we have no idea how you grow! Doing ANYTHING will upset your growth FOREVER and you will DIE a hideous manchild."
05:22:51 <alise> It's 5:22, I need to go to bed, that's what I need to doooooooooooooo
05:22:59 <alise> But that's okay because I am going to get me some n-acetyl-5-methoxytryptamine!
05:23:14 <Ilari> Heh... Tryptamine...
05:23:41 <Ilari> Why that name sounds familiar... :-)
05:23:52 <alise> You cannot send "Horror comics and matrices" in regular UK mail.
05:23:52 <alise> WTF?
05:24:05 <alise> Is that like a scary comic, plus a really gnarly matrix equation?
05:24:37 <alise> Oh, and if you were wondering what horror matrices are (as I was), M-W tells us that, a matrix is (among other things)
05:24:37 <alise> 2 a : a mold from which a relief surface (as a piece of type) is made b : DIE 3a(1) c : an engraved or inscribed die or stamp d : an electroformed impression of a phonograph record used for mass-producing duplicates of the original
05:24:42 <alise> That does not help.
05:24:58 * Sgeo_ should get ready for nightsleep
05:25:15 <alise> Restrictions
05:25:16 <alise> [...]
05:25:19 <alise> Live bees.
05:25:19 <alise> Live queen bees must be accompanied by an import license issued by a UK Government Agricultural Department and a health certificate issued by the appropriate Government Department of the country of origin stating that the bees are free of disease.
05:25:26 <alise> Live bees aren't even prohibited to send by mail.
05:25:28 <alise> Just RESTRICTED.
05:27:15 <Ilari> What about radioactive materials? :-)
05:27:42 <oerjan> black holes need to be properly secured
05:29:26 <alise> Ilari: germany prohibits those and melatonin :P
05:29:28 <alise> (and other stuff)
05:36:42 <alise> Hey, I just realised you can make anything into blank verse.
05:36:45 <alise> Just insert random newlines!
05:36:52 <alise> Well, okay, I realised that ... ages ago and I should sleep and 5:37 and
05:38:07 * oerjan yawns
05:38:27 <alise> oerjan: what time is it there
05:38:38 <oerjan> 6:38 AM
05:39:13 <alise> oerjan: you haven't slept?
05:39:48 <oerjan> not in a number of hours, no
05:40:13 <alise> Gregor: I ruined your program
05:40:14 <alise> er
05:40:15 <alise> Gregor: I ruined your poem
05:40:16 <alise> Blank verse is easier than rhyming for there's
05:40:16 <alise> No need to worry of timing, the problem
05:40:16 <alise> You see with blank verse
05:40:16 <alise> To me is that it's just an excuse
05:40:18 <alise> To write prose and
05:40:20 <alise> Call it poetry.
05:42:29 <pikhq> alise: I suggest adding rhythm.
05:42:50 <alise> pikhq: I was /trying/ to get rid of the rhythm :P
05:42:51 <alise> The original is:
05:42:55 <alise> Blank verse is easier than rhyming,
05:42:59 <alise> For there's no need to worry of timing.
05:43:04 <alise> The problem, you see, with blank verse, to me,
05:43:09 <alise> Is that it's just an excuse to write prose and call it poetry.
05:43:10 <alise> by Gregor
05:43:18 <alise> I modified the blank verse structure and made it horrible!
05:44:33 <alise> pikhq: Incidentally, the 1964 Concise OED lists gaol and rime as the recommended spellings of jail and rhyme. :-)
05:44:57 <pikhq> "rime" makes more sense, but gaol?
05:45:22 <alise> It's not about sense, just Britishness.
05:45:26 <alise> "Jail" and "rhyme" are Websterisms.
05:45:59 <alise> "To evaluate the etymology of words, Webster learned twenty-six languages, including Old English (Anglo-Saxon), German, Greek, Latin, Italian, Spanish, French, Hebrew, Arabic, and Sanskrit."
05:46:28 <pikhq> Right, and I suppose you write programmes from your gaol cell that you're in for putting a kipper in the copper's bonnet?
05:47:30 <alise> Yep.
05:47:38 <alise> I meant that the OED did it for Britishness.
05:47:44 <alise> pikhq: Hey, I propose we all use dord to mean density.
05:47:49 <alise> [[Gove wrote that this was "probably too bad, for why shouldn't dord mean 'density'?"]]
05:48:56 <alise> You know, descriptivists don't have to make rubbish dictionaries.
05:49:27 <alise> What on earth is wrong with making a dictionary with recommendations and omitting certain variations, etc. -- any more than writing a manual of style is wrong? It's less anal an endeavour than writing a MoS.
05:49:35 <alise> Nothing to do with prescriptivism or descriptivism.
05:53:20 <alise> pikhq: I still say aeroplane, aluminium, moustache, pyjamas, speciality, -re and -ise, doubled "l"s, and retain the "e"s when adding suffixes.
05:53:27 <alise> So bah, I retain some of my Britishosity.
05:54:28 <alise> I do say fetus, because foetus is Just Wrong.
05:54:33 <alise> I say grey too.
05:54:38 <pikhq> alise: I think I'm allowed to be bitter about it as well, even though I only retain a few such things.
05:55:05 <alise> And tyre.
05:55:22 <alise> I do use double quotes, however.
05:55:29 <Sgeo_> Isn't Pyjamas the name of something I asked about once?
05:55:51 <Sgeo_> I like the British "punctuation outside quotes, unless the punctuation's being quoted" thing
05:56:00 <pikhq> As one of my ancestors (Joe Worcester) wrote Worcester's Dictionary, which competed against Webster's, and retained older spellings.
05:56:07 <alise> Sgeo_: yes.
05:56:20 <alise> pikhq: Wow, you have heritage... incestuous heritage, at that.
05:56:33 <alise> There's actually a lot about it on http://en.wikipedia.org/wiki/Webster%27s_Dictionary.
05:57:12 <alise> I can't figure out the OED's pronunciation notation.
05:57:15 <pikhq> Incestuous?
05:57:23 <alise> ...the OED2 uses IPA!
05:57:23 <pikhq> The OED uses IPA, doesn't it?
05:57:34 <alise> Well the proper OED uses its own notation *grumble* 1960s *grumble*
05:57:39 <alise> OED2 is unacceptable
05:57:51 <Sgeo_> "dawter"? [Webster's spelling]
05:58:01 <alise> pikhq: Is your family not that inbreeding one?
05:58:16 <pikhq> alise: Not the Worcesters.
05:58:20 <pikhq> The Hatfields.
05:58:27 <alise> I'm sure you said something about cousins.
05:58:41 <pikhq> Yes, because of the Hatfields I am my own cousin.
05:58:47 <alise> Damn Hatfields.
05:58:54 <alise> pikhq: Is there a ... certain sauce in your family's past?
05:59:14 <alise> (Joking.)
05:59:23 <pikhq> It comes from the shire containing the town from which I have my last name.
05:59:44 <pikhq> Why in the world my last name comes from a town is beyond me
05:59:45 <alise> Proposal: We should write a dictionary! Yay?
06:00:16 * Sgeo_ takes a melatonin
06:00:25 <alise> Sgeo_: 30 minutes before bed?
06:00:29 <alise> What dosage, 1.5mg?
06:00:38 <Sgeo_> No, just when there's not much to do before I sleep
06:00:41 <Sgeo_> 3mg
06:00:47 <alise> Sgeo_: Ouch, bad.
06:00:49 <alise> 3mg is too much.
06:00:56 <alise> Take 1.5mg, 30 minutes prior to when you want to sleep.
06:00:56 <Sgeo_> ??
06:01:02 <alise> Not too much as in you-will-die.
06:01:06 <alise> But too much as in not-ideal-for-sleepy.
06:01:15 <Sgeo_> Source?
06:01:32 <alise> gwern, Wikipedia, melatonin.com.
06:03:11 <Sgeo_> I need to write down my ambitious plans for making parts of the code much, much easier
06:03:15 <Sgeo_> It's a bit late, but still
06:06:10 <alise> 6:06 fuck fuck fuck
06:08:27 <Sgeo_> Sleep now
06:08:47 <alise> NO!
06:08:50 <alise> TVTROPES
06:08:55 <alise> YyayayayayayaYyayYAYAYA
06:09:48 -!- charlls has quit (Remote host closed the connection).
06:10:33 <alise> kpodfk
06:11:26 -!- kar8nga has joined.
06:23:59 <pikhq> Hmm. I think I can render my name with kanji. 榛森市・神支
06:24:05 <pikhq> Very, very freaking weird name.
06:24:30 <pikhq> "City of the Alder-Wood, The Lord Protects". God damn I have a weird name.
06:30:25 <alise> sleep soon
06:30:28 -!- kar8nga has quit (Remote host closed the connection).
06:37:37 <alise> NIGHT
06:37:39 -!- alise has quit (Quit: Leaving).
06:54:25 -!- Gracenotes has quit (Ping timeout: 264 seconds).
07:04:28 <Sgeo_> 10 minutes off
07:06:29 -!- augur has joined.
07:27:27 -!- coppro has joined.
07:36:20 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.4/20100611143157]).
07:40:51 -!- Sgeo has joined.
07:42:33 -!- oerjan has quit (Quit: Good night).
07:44:21 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
07:52:17 -!- wareya_ has changed nick to wareya.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:26 -!- CakeProphet has quit (Ping timeout: 240 seconds).
08:07:20 -!- Mathnerd314 has joined.
08:34:59 -!- Phantom_Hoover has joined.
09:00:05 -!- CakeProphet has joined.
09:03:35 <Phantom_Hoover> Still going at the MUD?
09:07:52 <coppro> probably
09:08:19 <coppro> `quote disturbing
09:08:35 <HackEgo> No output.
09:08:43 <coppro> :/
09:08:47 <coppro> `quotes
09:09:03 <HackEgo> No output.
09:09:16 <Phantom_Hoover> `quote
09:09:26 <Phantom_Hoover> !quote
09:09:28 <coppro> he's slow today
09:09:30 <coppro> 1help
09:09:32 <HackEgo> No output.
09:09:32 <coppro> `help
09:09:34 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
09:09:41 <Phantom_Hoover> `quotes
09:09:42 <coppro> bugger
09:09:44 <Phantom_Hoover> `quote
09:09:57 <HackEgo> No output.
09:10:00 <HackEgo> No output.
09:10:32 <coppro> `revert 1522
09:10:34 <HackEgo> Done.
09:10:36 <coppro> `quotes
09:10:53 <HackEgo> No output.
09:11:31 <coppro> `quote
09:11:47 <HackEgo> No output.
09:12:45 <coppro> blargh
09:13:27 <Phantom_Hoover> What happened?
09:14:23 <coppro> no clue
09:14:42 <coppro> `ls quotes
09:14:59 <HackEgo> No output.
09:15:12 <coppro> `ls
09:15:28 <HackEgo> No output.
09:15:47 <coppro> `run ls
09:15:59 <coppro> I think something is broken...
09:16:04 <HackEgo> No output.
09:16:04 <coppro> Gregor!
09:16:21 <coppro> `cat foo >testfile
09:16:37 <HackEgo> No output.
09:17:01 <coppro> `cat testfile
09:17:17 <HackEgo> No output.
09:17:22 <coppro> hackego is so broken
09:22:48 -!- HackEgo has quit (Remote host closed the connection).
09:22:49 -!- EgoBot has quit (Remote host closed the connection).
09:22:54 -!- HackEgo has joined.
09:22:54 -!- EgoBot has joined.
09:23:06 <Phantom_Hoover> `ls
09:23:08 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ out.txt \ paste \ poetry.txt \ quotes \ qw.pl \ share \ test.sh \ tmpdir.8344 \ wunderbar_emporium
09:23:11 <Phantom_Hoover> `quote
09:23:13 <HackEgo> 15|<Lil`Cube> wouldn't that be considered pedophilia? <Quas_NaArt> No. They all go by stage names.
09:23:16 <Phantom_Hoover> `quote
09:23:19 <HackEgo> 50|<oklopol> i'm not a porn star, no
09:23:22 <Phantom_Hoover> `quote
09:23:24 <HackEgo> 29|IN AN ALTERNATE UNIVERSE: <bsmntbombdood> there is plenty of room to get head twice at once
09:23:44 <Phantom_Hoover> `quote Turing
09:23:46 <HackEgo> 128|<Slereah> I can do everything a Turing machine can do, except love 178|<coppro>
09:23:57 <Phantom_Hoover> `quote 178
09:23:58 <coppro> yay
09:23:59 <HackEgo> 178|<coppro> we'd care about a turing-complete pencil
09:24:06 <coppro> thanks
09:24:20 <coppro> `revert 1528
09:24:23 <HackEgo> Done.
09:25:30 <coppro> `quote disturbing
09:25:32 <HackEgo> 180|<coppro> what's the data of? [...] <Sgeo> Locations in a now deceased game called Mutation <coppro> I have no problems with you being interested in online games <coppro> but the necrophilia is disturbing
09:26:53 * Sgeo vaguely wonders what an ItemsManager is doing in UserManager.cs
09:27:04 <Sgeo> I did not write this code.
09:33:22 <Phantom_Hoover> .cs?
09:33:27 <Deewiant> C#
09:33:28 <Phantom_Hoover> Caesium?
09:33:28 <Sgeo> C#
09:33:45 <Phantom_Hoover> Bah, it should be Caesium.
09:33:59 <Phantom_Hoover> There should be more languages named after elements.
09:34:55 <Sgeo> On the plus side, the guy who wrote the code had the patience to fiddle with numbers to get whatever pixels just right. I do not have such patience
09:34:59 <Sgeo> <<==not a GUI person
09:37:21 <Phantom_Hoover> Ugh, GUIs.
09:37:43 <coppro> Caesium is Cu
09:37:43 <Phantom_Hoover> Does anyone here enjoy them?
09:37:45 <coppro> *Cs
09:37:48 * coppro is Cu
09:37:50 <Phantom_Hoover> Yes.
09:37:54 <Phantom_Hoover> Cu is copper/
09:37:55 <coppro> no. no one enjoys GUIs
09:37:59 -!- coppro has changed nick to Cu.
09:38:40 <Gregor> D'awww, now you're not pooppy any more :(
09:41:03 <AnMaster> morning
09:41:04 <Phantom_Hoover> Well, no-one enjoys writing GUIs.
09:41:20 <Phantom_Hoover> Using them is quite pleasant.
09:41:27 -!- tombom has joined.
09:43:12 <Phantom_Hoover> And necessary, until someone invents a good console-based web browser.
09:43:31 <AnMaster> Phantom_Hoover, what is wrong with the current ones?
09:43:41 <AnMaster> Phantom_Hoover, also frame buffer based gimp would be needed
09:43:50 <Phantom_Hoover> I haven't seen any that have JS.
09:44:16 <AnMaster> bah, js shouldn't be required!
09:51:26 <Phantom_Hoover> It's necessary.
09:51:29 -!- MizardX has joined.
09:51:45 <Cu> why is JS necessarily necessary?
09:51:59 <Cu> it shouldn't be for browsing
09:52:00 <Phantom_Hoover> Because it's used in so many places?
09:52:09 <Cu> CSS, yes
09:52:14 <Phantom_Hoover> Well, not /necessary/, just very useful.
09:52:42 <Cu> the prosecution rests
10:01:39 -!- MizardX has quit (Ping timeout: 240 seconds).
10:10:00 -!- MizardX has joined.
10:15:40 <Sgeo> And I learn the hard way why I should include parentheses around anything I'm not sure about
10:44:37 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
12:01:47 -!- lifthrasiir has changed nick to arachneng.
12:02:49 -!- arachneng has changed nick to lifthrasiir.
12:09:23 -!- tombom has quit (Quit: Leaving).
12:13:44 -!- tombom has joined.
12:29:19 -!- Phantom_Hoover has joined.
12:31:07 <Phantom_Hoover> Sgeo, what was that thing about parentheses?
12:33:27 <Sgeo> ((Player != null) && !Pieces.Exists(piece => piece.Obj.Model == "vla_cone") || !Pieces.Exists(piece => piece.Obj.Model == "vla_cylinder"))
12:33:50 <Sgeo> When there were no cylinders, the expression was true, despite Player being null
12:36:19 <Phantom_Hoover> What are you working on?
12:36:48 <Sgeo> The Project
12:36:59 <Phantom_Hoover> Which Project?
12:37:06 <Sgeo> The Game
12:37:08 <Phantom_Hoover> I wish I had a Project..
12:37:23 <Sgeo> My Project used to be PSOX
12:37:40 <AnMaster> you could rewrite it to a form that doesn't require any extra parentheses. That is assuming none of the involved variables are volatile
12:37:57 <Sgeo> Oh?
12:38:08 <Sgeo> I mean, besides using nested ifs?
12:38:21 <AnMaster> Sgeo, well, it follows from Boolean logic rules
12:38:47 <AnMaster> trying to remember what the term is
12:40:20 <AnMaster> ah yes http://en.wikipedia.org/wiki/Disjunctive_normal_form
12:40:29 <AnMaster> Sgeo, it might not be very practical though
12:40:51 <AnMaster> Sgeo, anyway always test your code. Should catch such bugs as that you mentioned
12:42:11 <Sgeo> Well, without unit testing, the situation was unlikely to occur
12:42:30 <AnMaster> Sgeo, I would recommend unit testing if at all possible
12:43:07 <Sgeo> I'm not sure how it's possible, with this much code, some of it _very_ poorly designed, already written
12:43:43 <Sgeo> Idiot other person took my project-independent code, scrapped it, and replaced it with code heavily tied in with the project, and with less functionality
12:43:54 <AnMaster> revert?
12:44:03 <Sgeo> This was a very, very long time ago
12:44:18 <Sgeo> I am planning a bit of a rewrite of that stuff, though
12:44:22 <Sgeo> Oh, and he named it "Object"
12:45:19 -!- KingOfKarlsruhe has joined.
12:45:24 <Sgeo> Anyways, 99% of the current code depends on his code
12:45:32 <Sgeo> Well, maybe not literally 99%
12:47:10 -!- tombom has quit (Quit: Leaving).
12:47:40 <Sgeo> At any rate, I don't know how to mock static objects
12:48:01 <AnMaster> hm
12:48:30 <Sgeo> We're planning a public alpha :/
12:48:35 <AnMaster> Sgeo, I usually prefer making most code pure, makes unit testing easier, then you keep the non-pure code to a small section of the code
12:48:52 <AnMaster> but functional programming in C would be weird
12:49:00 <Sgeo> This is C#, not C
12:49:11 <AnMaster> ah thought it was C++
12:49:25 <AnMaster> or C with function pointers in structs
12:49:42 <AnMaster> but hm the => isn't C and probably not C++ either
12:49:49 <AnMaster> so yeah guess I should have spotted that
12:49:51 <Phantom_Hoover> What is it?
12:49:56 <Phantom_Hoover> The =>
12:50:02 <Sgeo> lambda
12:50:41 <Sgeo> http://msdn.microsoft.com/en-us/library/bb397687.aspx
12:51:27 <AnMaster> piece => piece.Obj.Model == "vla_cone"
12:51:28 <AnMaster> err
12:51:34 <AnMaster> so the first is argument?
12:51:40 <Sgeo> Yes
12:52:22 <AnMaster> hm
12:54:20 <Sgeo> AFK
13:03:17 <Phantom_Hoover> C-derivatives and lambdas should not mix.
13:03:29 <Phantom_Hoover> It's a crime in the name of Church.
13:03:58 <Phantom_Hoover> s/name/eyes/
13:05:54 -!- zzo38 has joined.
13:06:46 <zzo38> I found the new page "Peyo" but I have idea how to write "smurf" more
13:14:36 -!- Geekthras has quit (Ping timeout: 248 seconds).
13:15:24 -!- Geekthras has joined.
13:20:28 -!- jix has quit (*.net *.split).
13:26:22 -!- jix has joined.
13:32:55 -!- zzo38 has quit (Remote host closed the connection).
13:35:05 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
13:35:26 -!- alise has joined.
13:39:03 -!- Phantom_Hoover has quit (Quit: Leaving).
13:39:50 <alise> [[New mayor of Reykjavik refuses to form coalition with any party whose members haven't seen all five seasons of "The Wire."]]
13:39:51 <alise> [[REYKJAVIK, Iceland — A polar bear display for the zoo. Free towels at public swimming pools. A “drug-free Parliament by 2020.” Iceland’s Best Party, founded in December by a comedian, Jon Gnarr, to satirize his country’s political system, ran a campaign that was one big joke. Or was it?]]
13:40:12 <alise> reykjavik have accidentally elected an awesome mayor
13:40:47 <alise> In his acceptance speech he tried to calm the fears of the other 65.3 percent. “No one has to be afraid of the Best Party,” he said, “because it is the best party. If it wasn’t, it would be called the Worst Party or the Bad Party. We would never work with a party like that.”
13:41:27 <alise> A sandy-haired 43-year-old, Mr. Gnarr is best known here for playing a television and film character named Georg Bjarnfredarson, a nasty, bald, middle-aged, Swedish-educated Marxist whose childhood was ruined by a militant feminist mother.
13:42:16 <alise> The Best Party, whose members include a who’s who of Iceland’s punk rock scene, formed a coalition with the center-left Social Democrats (despite Mr. Gnarr’s suspicion that party leaders had assigned an underling to watch “The Wire” and take notes). With that, Mr. Gnarr took office last week, hoping to serve out a full, four-year term, and the new government granted free admission to swimming pools for everyone under 18. Its plans include turning
13:42:17 <alise> Reykjavik, with its plentiful supply of geothermal energy, into a hub for electric cars.
13:42:23 <alise> these guys oughtta get reelected
13:48:44 -!- BeholdMyGlory has joined.
14:06:46 -!- Gracenotes has joined.
14:41:31 <alise> abc
14:45:35 <Deewiant> abc
14:46:11 <alise> def
14:46:14 <Deewiant> sft
14:47:25 <alise> qwert
14:47:35 <Deewiant> qwfpg
14:54:44 <alise> dvora
14:55:01 <Deewiant> svypa
14:56:20 <alise> http://www.vuvuzela.fm/
14:56:42 <alise> Oh god I can't take it.
14:57:01 <Deewiant> hgg;O//www.vlvlzfia.tm/
14:58:27 <alise> vulvas fia(TM)
14:58:47 <Deewiant> s/O/"/
14:59:13 <Deewiant> Actually hmm
14:59:49 <alise> : is third-last in middle row
14:59:51 <Deewiant> No, O was right
14:59:53 <alise> if you want to locate the key
15:00:01 <Deewiant> My keys are physically different too
15:00:12 <alise> yes, but I mean to locate where it would be
15:00:38 <Deewiant> L;'\ ?
15:00:56 <Deewiant> Or L;'<enter> ?
15:00:59 <Deewiant> Or what
15:16:00 <alise> ?
15:16:06 <alise> hjkl;'#[enter]
15:16:15 <alise> : is capital ;
15:17:09 <Deewiant> # O_o
15:17:46 <alise> ~ is capital #
15:17:48 <alise> british keyboard
15:17:52 <alise> @ is capital '
15:17:54 <alise> " is capital 2
15:18:04 <Deewiant> Ah, it's "Keyboard layout" on Wikipedia that has all the pics, not "QWERTY"
15:18:06 <alise> ¬ is capital `, which is the key before 1
15:18:10 <Deewiant> I was wondering why I couldn't find them
15:18:16 <alise> and altgr-` is |
15:18:24 <Deewiant> But yeah, okay; O was right.
15:18:26 <alise> normally broken dash in e.g. broken OSes (old windows and stuff)
15:20:26 <Deewiant> kypmaiij bpyefk sarh uk f.d. bpyefk YRfr 9yis wuksywr aks rgltt0
15:20:43 <alise> "Fabrice Bellard: FFmpeg, QEMU, and TCC, among others. This guy is amazing."
15:20:45 <alise> ...obviously.
15:26:16 <AnMaster> alise, and unless I misremember also IOCCC winner in some category one year.
15:26:28 <alise> Yes, with his self-compiling subset-o-fC compiler.
15:26:29 <myndzi> |
15:26:29 <myndzi> >\
15:26:34 <alise> *of-C.
15:26:35 <AnMaster> alise, ah right
15:26:41 <alise> The man is a god.
15:27:01 <Deewiant> Two years, no?
15:27:27 <alise> Yes.
15:27:34 <alise> I forget what the other year was.
15:27:55 <alise> http://www.ioccc.org/2004/gavin.c
15:27:56 <alise> http://www.ioccc.org/2004/gavin.hint
15:28:09 <alise> oh wait
15:28:12 <alise> that's just mentioning qemu
15:28:33 <alise> http://www.de.ioccc.org/2000/bellard.c
15:28:34 <alise> http://www.de.ioccc.org/2000/bellard.hint
15:28:48 <alise> It's an FFT.
15:28:55 <alise> Understandable from the author of ffmpeg.
15:29:01 <alise> This program prints the biggest known prime number (2^6972593-1)
15:29:01 <alise> in base 10. It requires a few minutes. It uses a Modular Fast
15:29:01 <alise> Fourier Transform to compute this number in a reasonable amount
15:29:01 <alise> of time (the usual method would take ages !).
15:29:42 <alise> Hey, Bernstein won one year.
15:29:58 <alise> Deewiant: Note that he didn't win as in Best of Show.
15:30:08 <alise> Just "Most Specific Output" -- prime number one -- and "Best abuse of the rules" -- for otcc.
15:30:19 <Deewiant> Takes 10 seconds on my machine
15:30:39 <Deewiant> And yes; like AnMaster said, "in some category".
15:31:24 <alise> OTCC should have been Best of Show, really.
15:32:21 <alise> Walter Bright also was a winner I.S.C. (in some category), 1986.
15:32:27 <Deewiant> How did it abuse the rules?
15:32:45 <alise> Lennart Augustsson, a.k.a. augustss of Haskell fame; three times, including one Best of Show.
15:32:47 <alise> Deewiant: I don't know.
15:33:10 <alise> Judges' Comments:
15:33:10 <alise> To build:
15:33:10 <alise> make bellard
15:33:10 <alise> Try:
15:33:10 <alise> ./bellard bellard.otccex.c
15:33:11 <alise> <JUDGES_COMMENTS>
15:33:13 <alise> Sheds no light :P
15:33:19 <Deewiant> Yep
15:34:58 <Deewiant> What's New?
15:34:59 <Deewiant> * 30 April 2010: Announcement coming soon. Check back here on 15 May 2010!
15:35:14 <alise> David Korn one I.S.C., 1987 Best One Liner.
15:36:16 <alise> From the San Jose Mercury News (May 15, 1993 page 20A "West Hackers
15:36:16 <alise> trounce East in computer quiz game"):
15:36:16 <alise> "Since 1984, a contest has been held on Usenet for the most
15:36:16 <alise> unreadable, creative, bizarre but working C program", Gates
15:36:16 <alise> said. "What is the name of this contest?"
15:36:17 <alise> "Windows," shot back Gassee, naming Microsoft's premier product
15:36:19 <alise> - a product over which Apple sued Microsoft five years ago. Not
15:36:21 <alise> the right answer - it's "The Obfuscated C Contest [sic]" - but
15:36:23 <alise> it brought down the house of Apple partisans...
15:36:25 <alise> [The expression on Bill Gates' face was a sight to behold, as reported
15:36:27 <alise> to us by several who were there].
15:37:15 <alise> John Tromp won best game '89.
15:37:28 <alise> Larry Wall run twice, obviously, '86/7.
15:37:32 <alise> (I.S.C.)
15:37:44 <alise> "John Williams" I woner if... naw. :P
15:42:23 <alise> guys -- if you're planning to have a child in 2011, please do it on the 11th of february
15:42:30 <alise> your kid's birthday will be 11/11/11.
15:42:41 <alise> or 2011-11-11, which is almost as good.
15:47:19 <alise> Hahaha there's a football icon on YouTube right now, it overlays the video with a vuvuzuela noise.
15:48:21 <alise> I sure am monologueing today.
15:51:31 <Deewiant> That's been there for a few days.
15:52:19 -!- oerjan has joined.
15:55:01 <oerjan> `quote turing
15:55:03 <HackEgo> 128|<Slereah> I can do everything a Turing machine can do, except love 178|<coppro> we'd care about a turing-complete pencil
15:55:22 <alise> Deewiant: yeah but i didn't notice it :P
15:55:25 <alise> oerjan: wat
15:56:14 <oerjan> alise: someone played around with HackEgo recently and briefly reverted my bug fix, i just checked if they'd re-reverted
15:56:19 <alise> ah
15:56:22 <alise> `help
15:56:23 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
15:56:40 <alise> "I can do everything a Turing machine can do, except love" is one of my favourite Slereah quotes
15:56:46 <alise> well, probably my favourite
15:57:46 <alise> `quote elf corpses
15:57:47 <HackEgo> No output.
15:57:52 <alise> `quote CakeProphet
15:57:54 <HackEgo> 187|<CakeProphet> how does a "DNA computer" work. <CakeProphet> von neumann machines? <Phantom_Hoover> CakeProphet, that's boring in the context of DNA. <Phantom_Hoover> It's just stealing the universe's work and passing it off as our own. 188|<fungot> CakeProphet: reading herbert might be enlightening in one hand he held a
15:57:56 <Deewiant> `quote elf
15:57:58 <HackEgo> 64|<Deewiant> I spent the last minute or so killing myself repeatedly 138|<ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? 159|<soupdragon> if you claim that the universe is more than 3D the burden of proof is on you to produce a klien
15:58:02 <alise> `quote corpses
15:58:03 <HackEgo> 190|<fungot> ais523: elf corpses are not considered expensive health food. but the most expensive.
15:58:05 <alise> there
15:58:13 <alise> botte will be far more reliable using grep grumble
15:58:25 <alise> `quote fax
15:58:26 <HackEgo> 96|<fax> im the worst person in the world 140|<fax> oklopol geez what are you doing here <oklokok> ...i don't know :< <oklokok> i actually ate until now, although i guess i also did other things... 154|<fax> sekuoir: that's just gay sex <sekuoir> I am learning though! 156|<fax> okay I see it now, quines do exist 157|<fax>
15:58:30 <alise> `quote 157
15:58:31 <HackEgo> 157|<fax> we all know that didn't happen
15:58:32 <alise> `quote soupdragon
15:58:35 <HackEgo> 159|<soupdragon> if you claim that the universe is more than 3D the burden of proof is on you to produce a klien bottle that doesn't self intersect <soupdragon> ^ I learned that trick from atheists
15:58:37 <alise> always great for a laugh!
16:08:57 <AnMaster> oerjan, your bug fix being?
16:09:03 <oerjan> <zzo38> I found the new page "Peyo" but I have idea how to write "smurf" more <-- i guess a smurf is replaced by previous word that could be used in the same context, approximately, although that sounds like a recipe for great pain, i.e. a feature
16:09:11 <oerjan> *the previous
16:09:57 <oerjan> AnMaster: `quote with a search term sometimes cut off the result in the middle, i replaced an xargs echo with fmt -w500 and that helped
16:11:04 <AnMaster> ah
16:19:45 <alise> What? There's sites selling melatonin in the UK.
16:19:51 <alise> But it's a prescription-only drug, according to Wikipedia...
16:20:12 <alise> I'm ultra-confused now, but I think this means I at least don't have to pay the shipping from Utah.
16:21:27 <alise> "I understand from a uk chemist that melatonin is only available in the uk on prescription, it appears the uk sites offering it online are either doing so illegally or may well be traps, yes i fell for that racket years ago, at the time you think ok they sell valium, xanax, diet slimming pills etc, so i ordered them, oh yes after checking out the uk law on importing phentermine, valium, zanax etc and it was ok, not illegal, even checked out at a main libar
16:21:27 <alise> y law section, even got a solicitors ok and my gp confirmed ok to buy from a dummy (realise now setup site) supposed to be in south africa called speedrx, what a absolute fool i was, i knew at the time my computer was hacked, my gp kept prescribing rohypnol for sleep and always said the home office will be asking questions soon, it all adds up now since i stopped taking those drugs, i feel like the biggest mug on earth, how daft was i, if only i could reli
16:21:28 <alise> ve my life."
16:21:30 <alise> what the heck XD
16:22:06 <alise> wow he goes on to say that all drugs are bad and evil mind-destroying things, i don't think he understands what medicine is
16:26:50 <oerjan> so not exactly a (mentally) balanced view, there?
16:28:46 <alise> indeed.
16:30:07 <pikhq> He also seems to have made that a single sentence.
16:30:19 <alise> pikhq: two more paragraphs that are also single sentences afterwards; glorious
16:30:49 <alise> I love how he's portraying melatonin as this unnatural, evil, mind-destroying drug that will get you addicted and the Home Office will come after you and you will be set up by a shady south african site and it will destroy your life.
16:30:56 <oerjan> maybe he needs some valium :D
16:31:00 <alise> http://www.answerbag.com/a_view/4038309 link to the crazy
16:31:18 <alise> the comments are best:
16:31:30 <alise> "This doesn't answer the question and in fact, your advice is pretty dangerous."
16:31:32 <alise> "It was not meant to be dangerous, i do not know what part you are refering too, maybe the internet address where i bought those drugs, no worries it closed down many years ago.
16:31:32 <alise> I was simply trying to warn people how they can without thinking run into traps and may well be buying banned goods, anyway i do not think the uk would have banned melatonin for nothing."
16:35:54 <alise> pikhq: Wow... the cost for getting 180 days' worth of melatonin including shipping from Utah to the UK is only £13.60 ($20.45).
16:36:04 <alise> That's... a really good price considering the shipping distance.
16:36:23 <alise> The non-shipping actual-melatonin part of that cost is $6.95 (on sale; normally $7.95).
16:36:42 <alise> I /could/ get it from a UK site, but considering it is almost certainly illegal to sell melatonin in the UK, as it's prescription only, I think I'll stick to a significantly less shady source.
16:38:21 <Ilari> Sometimes stuff gets banned because conflicts of interest, not because of any known harm.
16:38:54 <Ilari> But then, on the other hand, some very harmful stuff is still on markets due to same kinds of conflicts of interest.
16:40:14 <Mathnerd314> alise: why do you want melatonin?
16:40:28 <alise> Mathnerd314: I am completely unable to control my sleep schedule.
16:40:40 <alise> I have good evidence that melatonin will help vastly with no side-effects.
16:40:44 <alise> Thus...
16:41:00 <alise> Ilari: I think melatonin is prescription-only just because it is, nobody's bothered to change it I guess
16:41:09 <alise> all studies suggest it is completely harmless; short-term adult usage and long-term child usage have been studied.
16:45:17 <pikhq> The US never even bothered to regulate it.
16:57:40 * pikhq goes back to work on Flinix
16:58:23 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:58:32 <pikhq> I think I'm going to *try* to get it to work using GCC 4.5's LTO.
17:09:59 <alise> pikhq: DAMMIT MY FLINIX IS SUPERIOR :|
17:10:04 <alise> I cut down my kernel for you /sniff
17:14:58 <pikhq> alise: Let's see if LTO makes my binaries awesome.
17:15:09 <pikhq> I strongly suspect the inliner will love me.
17:15:15 <alise> FUCK GCC.
17:15:17 <alise> :|
17:15:29 <alise> pikhq: The name Flinix isn't big enough for the two of us.
17:15:40 <alise> I came up with it so it's MY name, you pick one, you thiefing heathen :P
17:16:24 <pikhq> フリニクス
17:16:45 <alise> You may call it Furinikusu.
17:17:55 <alise> pikhq: How do you write the digit "one" in japanese? 25? 11?
17:18:03 <alise> As words, like "one" or "eleven" or "twenty-five".
17:20:09 <pikhq> Arabic 1 or Chinese 一.
17:20:32 <pikhq> Oh, write out as words.
17:20:54 <alise> Yeah.
17:20:56 <pikhq> 一 "ichi", 二十五 "nijuugo", 十一 "juuichi".
17:21:18 <alise> Is that one, eleven, twenty-five?
17:21:56 <alise> never mind
17:21:57 <alise> pikhq: 一と二十五分の十一メガバイト
17:21:59 <alise> You can have that name.
17:22:15 <alise> "52/10 MB and 1"
17:22:17 <alise> You have failed me.
17:22:25 <alise> You gave me 52 and 10, not 25 and 11. :(
17:22:55 <pikhq> No, the translator failed horridly.
17:23:25 <alise> So that does, in fact, say "one and eleven twenty-fifths megabytes"?
17:24:33 <alise> And 一分の二 is a very convoluted way of what Google tells me should be 半分?
17:27:28 <pikhq> That does, in fact, say something like one and eleven twenty-fifths megabytes.
17:27:40 <alise> Something "like"? :P
17:27:41 <pikhq> And yes, that is a very convoluted way of saying 半分.
17:27:57 <alise> 一分の円周率 ;; math should just use japanese as its notation
17:28:28 <alise> pikhq: what's the japanese analogy of "x"?
17:28:31 <alise> as the placeholder variable
17:28:33 <pikhq> alise: x
17:28:40 <alise> So they literally just... put x in there?
17:28:47 <alise> What's the equivalent of foo then?
17:29:04 <pikhq> Unless you mean Japanese mathematical notation, which was lasted used a couple centuries ago.
17:29:31 <alise> I'm INVENTING Japanese mathematical notation!
17:29:53 <alise> オの微分の二乗 ==> derivative of x squared
17:30:00 <alise> i.e. d/dx x^2
17:30:13 <pikhq> They do have notations for calculus.
17:30:20 <alise> I decided to use オ as the placeholder for no particular reason other than it just translates to "O".
17:30:32 <alise> "Square of the derivative of o"
17:30:34 <alise> BAD GOOGLE TRANSLATE! BAD!
17:30:37 <pikhq> Actually, that's just one reading.
17:30:38 <alise> Is that really what it comes out as?
17:30:43 <alise> Ah.
17:30:47 <alise> So the usual reading would be right?
17:30:53 <alise> Who cares about ambiguity!
17:31:02 <alise> ...also, any link to japanese mathematical notation?
17:31:06 <pikhq> It means "genius".
17:31:08 <pikhq> No.
17:31:16 <pikhq> Oh, wait.
17:31:27 <alise> the placeholder meaning "genius" is like sooo deep man
17:31:30 <pikhq> You're using katakana オ, not 才.
17:31:32 <alise> it's a genius because it takes all kinds of values
17:31:40 -!- oerjan has quit (Quit: Later).
17:31:58 <alise> so is "オの微分の二乗" "square of the derivative of オ" or "derivative of the square of オ"?
17:32:57 <alise> Any other nice single letters that read just as "O"?
17:33:43 <alise> お is apparently "I"; good enough.
17:35:13 -!- BeholdMyGlory has joined.
17:35:58 <pikhq> That's hiragana "o".
17:36:01 <alise> "和オ、一、お、オはおおプラス二乗の半分である"
17:36:03 <alise> this was meant to be
17:36:21 <alise> "sum o, 1, i, o is half i squared plus i"
17:36:51 <pikhq> Uh...
17:36:54 <pikhq> No.
17:36:59 <pikhq> It's gibberish.
17:39:35 <alise> indeed
17:39:53 <alise> pikhq: オから合計オは1とおとしておの半分プラスお乗
17:40:00 <alise> This is impossible
17:40:02 <alise> "Plus your total power from Oh Oh Too As one half ax"
17:43:53 <AnMaster> alise, wait, are you already out of greek letters for your equation? ;P
17:44:01 <AnMaster> bbl food
17:44:04 <alise> WE MUST USE JAPANESE FOR EVERYTHING
17:44:42 -!- Gregor has quit (Ping timeout: 252 seconds).
17:45:06 <alise> pikhq: Someone rewrote The Big Lebowski. That someone is Shakespeare.
17:45:40 <alise> I present to you the moſt excellent comedie and tragical romance of TWO GENTLEMEN OF LEBOWSKI.
17:45:46 <alise> Site: http://www.runleiarun.com/lebowski/
17:45:50 <alise> PDF: http://cl.ly/1UJ0
17:46:59 <pikhq> ../../../gcc-4.5.0/libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h: No such file or directory
17:47:02 <pikhq> FUCK YOU GCC
17:48:42 <alise> On January 6, 2010, Bertocci posted "Two Gentlemen of Lebowski", a melding of The Big Lebowski with the language and writing style of William Shakespeare[1]. A sold-out off-off-Broadway production of the play ran from March 18 to April 4[2].
17:48:48 <alise> Wow, they actually performed it.
17:49:54 <alise> "The revised text references or quote every play in the Shakespearean canon (as agreed upon by all scholars—sorry, apocrypha), as well as the Sonnets and the poem The Rape of Lucrece."
17:58:06 -!- cal153 has joined.
17:58:25 <pikhq> /home/pikhq/flinix/bld/./gcc/as: line 83: /flinix-lto/i386-pc-linux-uclibc/bin/as: No such file or directory
17:58:28 <pikhq> EFF YOU
17:58:43 -!- cal153 has quit (Client Quit).
17:59:02 <alise> pikhq: Hmm, if I have a directory structure with bin/ as auxiliary commands, where should system files be kept? Internal system files. I don't particularly care about FHS, what would Unix say, do you think?
17:59:02 <alise> /sys?
18:00:09 <Cu> /data
18:00:48 <alise> it isn't data, it's internal system executables (but not of the kin or kind of those in /bin)
18:01:14 <alise> say, this directory would contain the kernel and internal-kernel-libraries, unusable by the program type that lives in /bin executed by that kernel. So?
18:01:16 <pikhq> configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
18:01:19 <pikhq> DOUBLE FUCK YOU
18:01:32 <alise> pikhq: i forgot how to fix that
18:02:30 <alise> The context is botte. ~/bin contains all the commands.
18:02:44 <alise> Note that ~ doesn't have to mean /home/botte; it sets HOME to its root so that commands can say things like ~/var/quotes.
18:02:50 <alise> You could easily have it in, e.g. /usr/botte or similar.
18:03:35 <pikhq> alise: I'm going with "have the initial GCC build against uClibc instead of newlib".
18:03:39 -!- Gregor-L has joined.
18:03:56 <alise> pikhq: Don't use newlib.
18:04:02 <alise> Newlib is primarily for platforms without OSes.
18:04:12 <pikhq> And for bootstrapping before you have a libc.
18:04:17 <alise> Yeah.
18:04:27 <pikhq> On the other hand, I can cross-compile this libc.
18:04:42 <pikhq> Without a cross-compiler.
18:04:43 <pikhq> Hooray, cheats.
18:06:07 <pikhq> checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
18:06:10 <pikhq> GOD DAMN YOU
18:07:43 <pikhq> Hmm. Gentoo appears to have "uclibc patches". I'll look.
18:07:57 <pikhq> (for GCC)
18:23:59 <pikhq> ... It's trying to bootstrap.
18:24:08 <pikhq> WHY WOULD YOU BOOTSTRAP A CROSSCOMPILER
18:26:15 -!- Gregor-L has changed nick to Gregor.
18:26:18 <Gregor> Because the Bible tells it so.
18:27:29 <AnMaster> <pikhq> ../../../gcc-4.5.0/libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h: No such file or directory
18:27:34 <AnMaster> pikhq, how did you manage that?
18:28:03 <AnMaster> pikhq, two guesses: cross compiling or very very outdated headers
18:28:11 <AnMaster> possibly both
18:28:24 <pikhq> AnMaster: Cross-compiler.
18:28:45 -!- augur has quit (Remote host closed the connection).
18:29:03 -!- augur has joined.
18:29:04 <AnMaster> pikhq, ah. hm either gcc should provide it (like it does for stdarg.h and so on) or the libc should provide it
18:29:07 <AnMaster> that header I mean
18:29:27 <AnMaster> not sure which
18:30:14 <AnMaster> pikhq, if you are building a cross toolchain from scratch you probably need to tell gcc where you have newlib or such. At least that was how you did it during 3.x age. Haven't built any more modern gcc as cross compiler
18:30:44 <alise> http://i.imgur.com/ADdQy.jpg
18:31:26 <pikhq> AnMaster: GCC comes with newlib.
18:31:35 <AnMaster> pikhq, hm separate download iirc?
18:31:51 <pikhq> No.
18:32:37 <AnMaster> pikhq, it was during 3.4.x age I'm pretty sure
18:32:39 * AnMaster checks
18:33:34 <AnMaster> doesn't seem to have any newlib in it
18:34:38 <AnMaster> only ./libstdc++-v3/config/os/newlib which just contains some header files: ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h
18:35:49 <pikhq> Curses.
18:35:51 <Gregor> ../configure --prefix=whatever --target=whatever --with-newlib --disable-libssp --disable-nls --disable-shared --disable-threads --disable-libgomp
18:36:02 <AnMaster> Gregor, you want --build and --host too iirc
18:36:06 <Gregor> AnMaster: Not any more.
18:36:11 <AnMaster> Gregor, since when?
18:36:13 <Gregor> AnMaster: As of GCC 4.2 or so
18:36:13 <pikhq> No, GCC figures out the build and host now.
18:36:19 <AnMaster> Gregor, newfangled stuff ;P
18:36:26 <Gregor> Maybe 4.1? 4.0? ECGS? Idonno.
18:36:39 <Gregor> (*EGCS :P )
18:36:48 <AnMaster> Gregor, also --disable-threads broke stuff for me I remember
18:36:54 <AnMaster> forgot details
18:37:16 <Gregor> The above flags is the way to get a cross-compiler with no libc installed as of the last time I did that (which was a week ago)
18:37:34 <Gregor> Oh yeah, but it was with an old GCC because the latest GCC doesn't support SVR4 any more >_>
18:37:42 <AnMaster> Gregor, right. my experience with cross compiling is limited to gcc 3.x as I said
18:38:01 <Gregor> Lesse what my JSMIPS flags are ...
18:38:07 <AnMaster> and outdated binutils. Damn them for dropping support for h8300-coff
18:38:26 <Gregor> Same
18:38:51 <AnMaster> Gregor, binutils-2.16.1 gcc-3.4.6
18:38:57 <AnMaster> plus some patches
18:39:07 <AnMaster> to make it not ICE
18:41:26 <AnMaster> Gregor, what about --enable-target-optspace ?
18:41:41 <AnMaster> mostly for embedded I guess
18:41:44 -!- Gracenotes has quit (Remote host closed the connection).
18:42:59 <Gregor> AnMaster: Not sure what that does ...
18:44:12 <AnMaster> Gregor, make libgcc and other libraries for the target such use -oS
18:44:18 <AnMaster> err
18:44:20 <AnMaster> -Os
18:44:27 <Gregor> Well ... that's strictly optional then :P
18:45:03 <AnMaster> Gregor, not for the thing I was cross compiling to. Without that my stuff wouldn't have fit into the memory of it :P
18:53:01 <alise> ...you know those tiny tiny ultra-cheap rc helicopter things?
18:53:05 <alise> Really tiny plastic things and awkward controls.
18:53:37 <alise> "What happens when you strap a $2k digital SLR camera doing full HD video to a $2k remote-controlled helicopter?" --reddit
18:53:37 <alise> What happens when you strap a meh digital camera doing regular resolution video to a tiny cheap RC helicopter?
18:53:48 <alise> Would it even fly? It's normally so light and cameras tend to be quite heavy.
18:53:51 <alise> Maybe that flip HD thing.
18:54:32 <Gregor> Naw, those tiny cheap RC helicopters are exactly sufficient for lifting themselves.
18:54:43 <Gregor> I think the tipping point where they would no longer fly is at about four grams.
18:54:56 -!- augur has quit (Remote host closed the connection).
18:55:14 -!- augur has joined.
18:57:13 <alise> Gregor: How tiny can you get a video recorder, then?
18:57:16 <alise> And light, of course.
18:57:23 <alise> They're also impossible to fly, btw.
18:57:26 <alise> Even keeping them upright.
18:57:34 <AnMaster> alise, $2k DSLR?
18:57:35 <AnMaster> wtf
18:57:47 <alise> It said SLR, not DSLR.
18:57:55 <alise> Oh, wait, digital.
18:57:58 <AnMaster> digital SLR
18:57:59 <AnMaster> yeah
18:58:00 <alise> Okay, I know nothing of photography. :)
18:58:01 <alise> AnMaster: Why wtf?
18:58:04 <alise> Too cheap, too expensive?
18:58:30 <alise> There were lots of Red Bull signs in the video so it's presumably for an advert which would explain too-expensive.
18:58:31 <AnMaster> hm, sounds quite expensive
18:58:40 <alise> AnMaster: Well, it was a quite professionally done thing.
18:58:47 <AnMaster> alise, could explain it
18:58:51 <alise> http://vimeo.com/12281806 (you need flash, deal with it or miss the awesomeness)
19:05:58 <Gregor> Making nomath.js not retarded = huge speed improvement for JSMIPS! Hooray!
19:08:24 <Gregor> nomath.js is the single worst-named file in existence! Hooray!
19:08:39 <augur> alise, hey
19:08:55 <augur> i remember sending a link for you when you logread
19:08:57 <augur> a comic, i think
19:09:00 <augur> did you get it?
19:09:05 <AnMaster> Gregor, what does it do?
19:09:06 <alise> augur: I already read Pictures for Sad Children.
19:09:12 <augur> :D
19:09:14 <alise> But thanks for recognising the taste match. :P
19:09:23 <augur> so my alisology is accurate
19:09:40 <alise> Wow, what has happened with the most recent comics.
19:09:55 <alise> http://www.picturesforsadchildren.com/index.php?comicID=346
19:09:56 <alise> http://www.picturesforsadchildren.com/index.php?comicID=347
19:10:06 <AnMaster> Gregor, also is the new version up at your website? Oh another thing. Last I tried JSMIPS (about a week ago) "ls bin" took ages because it loaded every file in there. I think your stat() system call needs work
19:10:41 <alise> Or DOES it
19:10:49 <augur> lol
19:10:51 <augur> alise :)
19:10:56 <alise> AnMaster: It runs vim? Wow.
19:10:58 <alise> Erm.
19:10:59 <alise> Gregor.
19:11:06 <alise> Gregor: Now do "X11 on Canvas".
19:11:27 <alise> I see you're using canvas already.
19:11:32 <alise> So you can easily plot pixels.
19:11:49 <alise> Gregor: Use Xserver (formerly KDrive) and it'll be a lot lighter and more workable.
19:12:00 <alise> You'd just have to write a simple driver that spits out canvasy commands.
19:12:46 <AnMaster> XD
19:12:54 <AnMaster> alise, will be even slower
19:15:10 <alise> But AWESOME.
19:23:41 * Gregor reappears.
19:24:09 <Gregor> AnMaster: stat() is straight-up broken. I'm aware and I just don't care.
19:24:29 <Gregor> alise: X11 on Canvas might be faster than this vt100 terminal for JS, which is dog-slow :P
19:25:32 <alise> Gregor: Probably, especially if you use Xserver which performs well on small systems and you compile in the driver so it'll load quicker.
19:25:55 <alise> Gregor: Stick in some ultra-minimalist WM like dwm or ratpoison and you're done.
19:26:09 <alise> Next steps: lynx, irssi. :-)
19:26:49 <Gregor> Anyway, I'm still working on making the way that it USES nomath.js be less retarded.
19:27:07 <Gregor> Oh, and AnMaster: No, the version on codu.org/jsmips is actually wildly out of date.
19:27:20 <alise> Ah.
19:28:03 <alise> Gregor: Would it be possible to run MIPS Linux on it? :P
19:28:17 <Gregor> alise: It's not a full-system simulator, it's just a ISA simulator.
19:28:22 <alise> Mm.
19:28:33 <alise> But what more do you really need, apart from keyboard/mouse ports?
19:30:30 <AnMaster> Gregor, update it soon :)
19:30:36 <Gregor> alise: I have no idea ;P
19:31:04 <AnMaster> Gregor, so what does nomath do?
19:31:19 <AnMaster> alise, MMU I presume
19:31:20 <alise> It doesn't do math.
19:31:25 <alise> Who needs an MMU.
19:31:27 <alise> Use uClinux.
19:31:28 <AnMaster> alise, linux
19:31:36 <AnMaster> that works yeah
19:31:41 <Gregor> nomath is the worst-named file ever.
19:31:48 <Gregor> nomath is Non-Overflowing MATH
19:31:52 <AnMaster> :D
19:31:54 <Gregor> Except that it actually implements overflowing math.
19:31:59 <Gregor> So it's doubly-badly-named.
19:32:00 <AnMaster> alise, you still need to emulate stuff like control registers for the kernel to fiddle with.
19:32:13 <AnMaster> alise, while with user space only you can just handwave that away
19:33:10 <alise> http://www.icanhasinternets.com/wp-content/uploads/2010/06/popicon9.jpg
19:34:04 <Gregor> Yup, 'struth.
19:34:07 <Gregor> I have no buses :P
19:34:14 <alise> Double-decker buses.
19:34:27 <AnMaster> Gregor, what about taxis?
19:34:59 <Gregor> You're all terrible human beings.
19:35:04 <AnMaster> <alise> http://www.icanhasinternets.com/wp-content/uploads/2010/06/popicon9.jpg <-- that line very much lacks context... Please add some
19:35:15 <alise> AnMaster: Look closer.
19:35:26 <alise> The ground may help.
19:35:31 <alise> To the left. Beside the tree.
19:35:36 <AnMaster> hah
19:35:47 <AnMaster> alise, what about the bird though?
19:35:59 <alise> I think that is just a bird; not sure though.
19:36:28 <AnMaster> alise, doing Yoshi as a horse is strange.
19:36:39 <alise> It's the wild west, man.
19:36:49 <AnMaster> alise, yes but it looks so strange
19:38:09 <AnMaster> what, I don't get iwc today at all..
19:46:04 <Deewiant> Serron's point is that since Paris was the sole survivor, she should be the only one /not/ having a panic attack
19:46:45 <Deewiant> Since, if things go the way they did then, she'll be the one surviving again, whereas the others will die.
19:46:49 <AnMaster> Deewiant, oh
19:47:09 <AnMaster> Deewiant, why is "she's" italics and wtf about the annotation then
19:47:30 <AnMaster> hm
19:47:32 <Deewiant> "She's" is emphasized.
19:47:35 <AnMaster> maybe it has been mentioned before
19:47:49 <Deewiant> As in, "why is /she/ the one who's having a panic attack"
19:48:15 <AnMaster> Deewiant, right I was considering if it was something about forgetting gender of Paris at first.
19:48:22 <AnMaster> which is why I got all confused about it
19:48:28 <AnMaster> since that made no sense
19:48:52 <Deewiant> It's about her crashing that ship in her youth
19:48:55 <AnMaster> true
19:49:06 <AnMaster> hm maybe it *has* been mentioned before
19:49:25 <Deewiant> The annotation suggests not
19:49:56 <Deewiant> Typically there'd be a link to the previous mention in cases like this
19:50:04 <AnMaster> Deewiant, indeed.
19:50:11 <AnMaster> if there had been it would have been all clear
19:50:25 <alise> 4+7+4
19:50:28 <alise> 4+9+4
19:50:33 <alise> 3+4+4
19:50:38 <alise> 1+9+4
19:50:41 <AnMaster> Deewiant, I didn't remember you read iwc regularly
19:50:42 <alise> 1+7+9
19:50:45 <alise> What is the next entry in the sequence?
19:51:09 <AnMaster> alise, 2. It overflowed on this strange architecture ;)
19:51:31 <Deewiant> AnMaster: Maybe you didn't know.
19:51:39 <AnMaster> Deewiant, possibly
19:52:05 <AnMaster> Deewiant, hm http://www.irregularwebcomic.net/draakslair/viewtopic.php?t=4941&sid=896a484b493d46f242a222f29dd12ec6 suggests it is a combination of that you mentioned and that I considered
19:52:11 <alise> Wolfram Alpha thinks a possible closed form of 1, 2, 3, 4, 3, 2, 1, 2, 3, 4, ... is
19:52:16 <alise> a_n = 1/6 ((-1)^n-2 (1/2-(i sqrt(3))/2)^n-2 i sqrt(3) (1/2-(i sqrt(3))/2)^n-2 (1/2+(i sqrt(3))/2)^n+2 i sqrt(3) (1/2+(i sqrt(3))/2)^n+15)
19:52:28 <AnMaster> alise, rather verbose
19:52:34 <alise> It predicts the next entry in the sequence is
19:52:35 <alise> 1/6 (14-2 (1/2-(i sqrt(3))/2)-2 i sqrt(3) (1/2-(i sqrt(3))/2)-2 (1/2+(i sqrt(3))/2)+2 i sqrt(3) (1/2+(i sqrt(3))/2)),1/6 (16-2 (1/2-(i sqrt(3))/2)^2-2 i sqrt(3) (1/2-(i sqrt(3))/2)^2-2 (1/2+(i sqrt(3))/2)^2+2 i sqrt(3) (1/2+(i sqrt(3))/2)^2),1/6 (14-2 (1/2-(i sqrt(3))/2)^3-2 i sqrt(3) (1/2-(i sqrt(3))/2)^3-2 (1/2+(i sqrt(3))/2)^3+2 i sqrt(3) (1/2+(i sqrt(3))/2)^3)
19:52:43 <AnMaster> alise, is it correct?
19:52:49 <alise> No, the next entry is 3.
19:52:51 <Deewiant> AnMaster: I remembered that she was a she so I didn't even consider it :-P
19:53:06 <AnMaster> Deewiant, indeed I remembered that too
19:53:13 <AnMaster> Deewiant, and was all confused by the italics thus
19:53:38 <alise> Wait, she doesn't look like a she.
19:53:46 <alise> AnMaster: *she* as in *her personality*
19:55:06 <AnMaster> ?
19:55:10 <AnMaster> ffs
19:56:09 <alise> ?
20:05:49 <alise> AnMaster: i'll never see a line from an irc server longer than 512 chars, right?
20:05:54 <alise> or is that just privmsg body
20:06:32 <Deewiant> Isn't the limit 254 or something?
20:08:14 <AnMaster> Deewiant, sounds like topic limit or such
20:08:15 <AnMaster> not sure
20:08:27 <alise> Deewiant: it's definitely 500-odd
20:08:32 <AnMaster> alise, well you could see. but you shouldn't. But in practise I seen it
20:08:48 <alise> Well, fuck practice, Freenode uber alles :P
20:09:00 <AnMaster> alise, I wouldn't crash on it though
20:09:14 <alise> I'll just end up interpreting it as two lines, one of them meaningless, I think
20:09:17 <alise> But who really cares?
20:09:18 <Deewiant> IRC messages are always lines of characters terminated with a CR-LF (Carriage Return - Line Feed) pair, and these messages shall not exceed 512 characters in length, counting all characters including the trailing CR-LF. Thus, there are 510 characters maximum allowed for the command and its parameters.
20:09:20 <AnMaster> it is just something you don't do. You don't crash on malformed input
20:09:23 <Deewiant> -- RFC 1459
20:09:31 <alise> AnMaster: You do if you're a lazy fucker.
20:09:50 <AnMaster> alise, I guess I'm not.
20:10:36 <AnMaster> alise, besides it might be tricky to pick stuff up on some systems if you crash on bad input. Like you need JTAG to fix it or such
20:11:05 <alise> Freenode doesn't do it, and that's all I really care about.
20:11:55 <Gregor> "If you steal a golden idol from your parents' house after coveting your neighbor's wife on the sabbath ... well, you're just plain screwed.
20:12:16 <alise> #define OR_DIE ; if (errno) { perror("Error"); exit(1); }
20:13:04 <Deewiant> Maybe throw some __FILE__, __LINE__ in there
20:13:15 <AnMaster> Gregor, wut
20:13:17 <alise> Deewiant: Pfft! Ideally I'd get the function name but that's impossible.
20:13:26 <alise> AnMaster: it's this religion. called christianity
20:13:30 <alise> you may have heard of it
20:13:31 <Deewiant> Doesn't GCC support __FUNCTION__?
20:13:58 <AnMaster> alise, I don't know it's contradictory holy book word by word...
20:14:12 <AnMaster> also it seems strange to special case combining those
20:14:21 <AnMaster> seems like a parody :P
20:14:22 <alise> Can fopen handle ~ expansion? iirc it can't.
20:14:55 <AnMaster> alise, but the shell would do that for you
20:15:01 <AnMaster> at least for command line
20:15:09 <alise> Heh, my config file enforces a rigid order.
20:15:12 <alise> Oh Well Who Cares.
20:16:01 <alise> You know what? I should just use a scripting language.
20:16:02 <alise> C sucks.
20:16:10 <AnMaster> alise, anyway using getline() or fgets() isn't a lot more complicated than gets(). Or a lazy non-gnu way would be fgets() with 513 char buffer (512 + ending \0) and then instead of growing buffer or just just exiting with error
20:16:17 <AnMaster> if the line is longer
20:16:18 <alise> I was using fgets.
20:16:22 <alise> With a fixed buffer.
20:16:25 <AnMaster> alise, that's fine then
20:16:36 <alise> And breaking whenever the server breaks the RFC :P
20:16:45 <AnMaster> alise, I have nothing against that
20:16:53 <AnMaster> alise, it is *crashing* that I'm specifically against
20:17:11 <Deewiant> Use a 511 char buffer and ignore the last \r\n
20:17:13 <alise> It wouldn't crash, it'd just probably print some things to the log along the lines of "WTF kind of command is 'and this is more words of the too-long line'?".
20:17:16 <AnMaster> alise, it's the difference between exploding or shutting down basically
20:18:38 <alise> It seems botte's structure is becoming *very* UNIXy.
20:18:51 <alise> Inside ~ (which is not necessarily anyone's home directory in botte, we just set HOME to make things easier), we have:
20:18:57 <alise> ~/bin/command_name
20:18:59 <alise> ~/etc/botte.conf
20:19:03 <alise> ~/sys/botte.[whateverlangitis]
20:19:14 <alise> And also things like ~/var/quotes, ~/var/karma.
20:19:19 <alise> ~/etc/extremely_complex_plugin.conf.
20:19:39 <alise> I'm not sure where the "run these all the time so they can scan for things like foo++ or foo-- in any message" stuff will go.
20:19:41 <alise> Maybe ~/daemons.
20:20:03 <AnMaster> alise, sbin?
20:20:09 <AnMaster> for Services Binaries
20:20:09 <alise> No. That's ludicrous.
20:20:23 <AnMaster> (instead of superuser binaries)
20:20:28 <alise> I'm allowed ~/sys because dammit, Linux took it away from Plan 9 which used it for system source.
20:20:50 <AnMaster> "took it away"?
20:20:57 <alise> By using it for the kernel stuff.
20:20:58 <AnMaster> alise, why wouldn't both be allowed to use it
20:21:09 <alise> Well, most people would say "hey, that's not what /sys means".
20:21:13 <AnMaster> for different things even
20:21:15 <alise> BUT THAT'S BECAUSE OF LINUS 'EVIL' TORVALDS.
20:21:17 <Cu> rather than use syslogd, everything should just write to /sys/log
20:21:21 <alise> AnMaster: Well, I think late Unix did it too.
20:21:25 <AnMaster> alise, ...
20:21:38 <alise> Richard 'Goat-Raper' Stallman.
20:21:38 * AnMaster renames /home on alise's computer to "Documents And Settings"
20:22:15 <alise> Eric 'Sexy' Steven 'You Can Call Me Eric "Sexy" Steven "Saucy" Raymond, Linus' Raymond
20:22:20 <AnMaster> alise, anyway no one claimed linux was plan9, it seems perfectly fine to use the same directory name for different things on different unrelated systems!
20:22:21 <alise> s/$/./
20:22:30 <alise> AnMaster: but dammit late unix did it too
20:22:36 <alise> LINUX: UNIX LIKE? MORE LIKE UNIX HATE AND UNIX RAPE
20:22:37 <AnMaster> alise, and?
20:22:37 <alise> :||
20:22:45 <alise> Wow, you're actually taking me seriously.
20:22:47 <AnMaster> what?
20:22:47 <alise> How stupid are you?
20:23:08 <AnMaster> alise, not stupid, but this was exactly the same tone as you use when you rant about stuff like file systems
20:23:15 <AnMaster> are you suggesting you weren't serious then?
20:23:17 <AnMaster> or about fonts
20:23:20 <alise> What ain't no country I ever heard of. They speak English in what?
20:23:39 <alise> (Please, please, please say "what?".)
20:23:46 <AnMaster> no
20:23:54 <alise> (Oh well.)
20:23:58 <alise> ENGLISH, MOTHERFUCKER! DO YOU SPEAK IT?
20:24:06 <AnMaster> alise, det beror på
20:24:25 <alise> Then you know what I'm saying!
20:24:27 <alise> Describe what Linus Torvalds looks like!
20:24:27 <AnMaster> but I agree the English are motherfuckers ;P
20:24:58 <alise> Say the again. SAY THE AGAIN. I dare you, I double dare you, motherfucker. Say the one more goddamn time.
20:24:59 <AnMaster> alise, I only seen an image on wikipedia. Somewhat fat. Light/blond hair iirc
20:25:02 <AnMaster> that is about all
20:25:03 <alise> (I'm having to improvise here...)
20:25:06 <AnMaster> don't remember more
20:25:11 <alise> AnMaster: Does he look like a bitch?
20:25:26 <AnMaster> alise, no he doesn't look like a female dog.
20:25:37 <alise> Dammit, you were meant to say "the" at least once in that sentence.
20:25:56 <AnMaster> haha
20:26:10 <alise> I think I'll just stop quoting Pulp Fiction.
20:26:20 <AnMaster> alise, oh I thought you had gone mad
20:26:31 <AnMaster> more mad than usual I mean
20:26:36 <alise> No, it's this quote: http://pastie.org/1020189.txt?key=es9lvqgblsbkroywcnvs1q
20:27:31 <AnMaster> alise, Someone trolling another person.
20:27:40 <AnMaster> is what it looks like to me
20:27:42 <alise> No... it's from a film.
20:27:57 <AnMaster> oh
20:27:58 <AnMaster> hm
20:28:15 <AnMaster> alise, okay I guess you have to know about that movie for it to make sense
20:28:39 <AnMaster> <AnMaster> alise, det beror på
20:28:39 <AnMaster> <alise> Then you know what I'm saying!
20:28:44 <Deewiant> Not really
20:28:44 <AnMaster> also that didn't work ;P
20:28:53 <AnMaster> alise, translation of my line: "That depends."
20:28:56 <alise> AnMaster: http://www.youtube.com/watch?v=czb4jn5y94g
20:28:59 <Gregor> Now updating my binutils/GCC patches to work on the latest versions ...
20:28:59 <alise> the scene
20:30:53 <alise> Gregor: Will you ... what was I going to say ... the of the and it & of
20:30:57 <alise> Will you update the system.html thing?
20:31:24 <Gregor> I will maybe later today probably.
20:31:38 <Gregor> But I need to build the latest version of everything first :P
20:31:42 <AnMaster> alise, makes no senee
20:31:43 <AnMaster> sense*
20:32:02 <alise> AnMaster: What, exactly, makes no sense?
20:32:07 <AnMaster> alise, video
20:32:15 <alise> Which part, exactly, makes no sens?
20:36:05 -!- Rafajafar has joined.
20:36:08 <Rafajafar> sup ladies
20:38:32 <alise> uh.
20:38:35 <AnMaster> alise, is it "a historic" or "an historic"
20:38:37 <alise> very low lady content in here
20:38:40 <alise> nil to be precise
20:38:47 <alise> AnMaster: Depends on your dialect.
20:38:50 <alise> I'd write "a historic".
20:38:58 <alise> If you pronounce the 'h', it's "a". If not, it's "an".
20:39:04 <AnMaster> alise, which dialects use "an" there?
20:39:10 <alise> If it sounds like "an istoric" when you pronounce "an historic", write that.
20:39:12 <AnMaster> just some example
20:39:16 <alise> Otherwise, write "a historic".
20:39:21 <alise> AnMaster: I'm not sure.
20:39:28 <alise> I think Received Pronunciation definitely says "a historic".
20:40:02 <AnMaster> hm
20:40:13 <Deewiant> http://en.wikipedia.org/wiki/Phonological_history_of_English_fricatives_and_affricates#H-dropping
20:40:36 <Cu> the worst are the people who say "an" and pronounce the h
20:40:37 <alise> AnMaster: "A historic" is certainly much more common.
20:40:46 <alise> And "an historic" sounds AWFUL to people who don't mentally pronounce the 'h'.
20:40:50 <alise> Like, truly awful. "An hero" level.
20:41:02 <Cu> h is a consonant sound, dammi
20:41:12 <Deewiant> alise: s/don't/do/ surely?
20:41:18 <alise> Er, yes.
20:41:19 <alise> AnMaster: OTOH, it is almost universally "an honour killing".
20:41:29 <alise> Which disproves Cu's saying, unless he says "HHHHonour killing".
20:41:35 <alise> Hoxford.
20:41:36 <AnMaster> alise, and "an hour"
20:41:41 <alise> AnMaster: Indeed.
20:41:45 <Deewiant> Words borrowed from French frequently begin with the letter h but not with the sound /h/. Examples include hour, heir, hono(u)r and honest.
20:41:47 <alise> An' our time has surely come!
20:41:54 <alise> Wow, that was a double pun.
20:42:01 <Deewiant> In some cases, spelling pronunciation has introduced the sound /h/ into such words, as in humble, hotel and (for most speakers) historic.
20:42:11 <AnMaster> Deewiant, excepts in american english?
20:42:13 <Cu> that's because h has no sound in French
20:42:17 <Deewiant> AnMaster: ?
20:42:19 <AnMaster> except*
20:42:23 <alise> Deewiant: but the French are dirty and unwashed
20:42:25 <alise> so who cares
20:42:29 <Cu> if the h is silent, an is fine
20:42:41 <AnMaster> alise, their food usually taste better than English food though
20:42:46 <Deewiant> AnMaster: Just read the section I linked...
20:42:52 <alise> AnMaster: Nobody in England likes English food.
20:42:57 <alise> We have a bunch of faux-ethnic dishes instead.
20:43:06 <AnMaster> alise, well actually scones is quite nice?
20:43:08 <alise> For instance, we pretty much invented "'chinese' food".
20:43:11 <AnMaster> or maybe that is faux too?
20:43:14 <alise> AnMaster: We're good at bakey stuff.
20:43:21 <alise> Scones, English muffins, crumpets, and so on.
20:43:21 <AnMaster> alise, except cakes.
20:43:23 <alise> Actual meals we suck at.
20:43:28 <alise> AnMaster: Eh?
20:43:31 <alise> What's wrong with cakes?
20:43:41 <AnMaster> alise, your ones are often dry in my experience
20:43:44 <alise> I'll have you know I'm a wonderful cake maker.
20:43:47 <alise> AnMaster: Oh. Only bad ones.
20:43:53 <AnMaster> XD
20:43:56 <alise> I always make them rich and moist I'll have you know :|
20:44:04 <alise> Insert bland innuendo...
20:44:18 <AnMaster> alise, of course, I can only speak from the experience I have. And that has been English cakes = dry
20:44:38 <alise> I'd mail a piece of cake, except you don't deserve cake.
20:44:41 <AnMaster> but of course that is not a large enough study to cover every case
20:44:53 <AnMaster> alise, it would be dry and mashed by the time it arrived
20:45:02 <AnMaster> at least knowing Swedish postal service
20:45:12 <alise> Eh, just put it in a blender and DRINK THE CAKE!
20:46:41 <AnMaster> alise, but does it blend!?
20:46:55 -!- tombom has joined.
20:47:00 <AnMaster> hm I wonder if that site is still around
20:47:43 <alise> Yes.
20:47:50 <alise> It's a hugely popular promotional site. Those don't disappear.
20:48:05 <alise> I love how Agora's ruleset is maintained in RCS.
20:48:08 <AnMaster> alise, did they ever find stuff that didn't blend?
20:48:16 <alise> Well, since 2001, anyway.
20:48:32 <alise> AnMaster: Nope.
20:49:30 <AnMaster> alise, I guess if they did they wouldn't publish it
20:49:48 <AnMaster> alise, I would suggest trying a crowbar or such
20:49:53 <AnMaster> I bet that won't blend
20:52:24 <alise> I want to write Agora an anthem.
20:52:29 <AnMaster> XD
20:55:13 <AnMaster> alise, (1,99] <-- is this interval half-closed or half-open?
20:56:19 <alise> AnMaster: Both.
20:56:28 <alise> closed = 1-open, open = 1-closed.
20:56:31 <alise> 1-0.5 = 0.5.
20:56:56 <AnMaster> hm strange I get weird ping reply times from you alise. -1277582170.2 seconds...
20:57:05 <AnMaster> that is *almost* epoch (just checked)
20:57:34 <AnMaster> except the wrong way
21:00:50 <alise> Just XChat...
21:03:49 <AnMaster> hm
21:03:59 <AnMaster> okay strange, now it works
21:04:29 <AnMaster> > Ping reply from alise: 0.82 seconds
21:10:07 -!- ais523 has joined.
21:12:11 <alise> Hi ais523!
21:12:15 <alise> I reregistered in Agora.
21:12:22 <ais523> hi alise
21:12:34 <alise> at least, I'm pretty sure I did now
21:12:40 <alise> not that i needed to
21:12:44 <alise> I'm not sure the lists are listening to me, though
21:12:47 <ais523> and no you didn't, unless you did it only a few seconds ago and the message hasn't arrived yet
21:12:54 <alise> ugh, it didn't actually set my email back
21:14:23 <alise> ais523: there
21:14:35 * ais523 waits for the email to arrive
21:14:51 <ais523> ah, three came at once
21:14:56 <wareya> Hello netout.
21:15:10 <alise> ais523: yes, I just resent them for the second time
21:15:13 <alise> heh, resent
21:15:37 <ais523> you might also want "I become active"
21:15:51 <alise> I'm still cracking up at "making an ass out of you and umption", I'm so annoying :P
21:16:10 <alise> can you call CFJs while inactive?
21:16:56 <alise> if not I'll have to recall it
21:17:05 <ais523> yes, you can
21:17:11 <ais523> you can even call CFJs while not a player
21:17:21 <ais523> Wooble does so frequently when eir registration status is in doubt
21:18:41 <AnMaster> ais523, how could your registration status be in doubt?
21:18:58 <ais523> AnMaster: you might have deliberately tried to make it ambiguous
21:20:12 <alise> AnMaster: perhaps you've been exiled but think there's a bug in the exile rules, for instance
21:20:58 <ais523> most recently the problem was that the Registrar wasn't paying attention to the lists
21:25:02 <AnMaster> ais523, heh
21:25:10 <AnMaster> alise, hm
21:25:56 <AnMaster> I wonder where you buy desiccant silca btw
21:26:36 <alise> http://www.macropackaging.co.uk/1gramsilicagelsachetspouchesdesiccantnew-p-196.html
21:27:19 -!- augur has quit (Remote host closed the connection).
21:28:17 <AnMaster> alise, I have sole silca here in an ESD plastic bag with small holes. From some harddrive packaging
21:28:45 <AnMaster> that sort of package for it might be tricky to find. Anyway I would be more interested in silca in bulk, not pre-packaged
21:28:49 <AnMaster> for what I was considering
21:29:00 * AnMaster goes googling
21:31:02 <ais523> why do you want bulk dessicant silica?
21:31:17 <ais523> this isn't some sort of insane esolang, is it?
21:31:19 <fizzie> Every time the cat tries to eat something it shouldn't, we tend to say "SILICA GEL - DO NOT EAT" to it. It doesn't help much.
21:34:38 <AnMaster> ais523, no. but that is a nice idea
21:34:48 <AnMaster> ais523, computing by absorbing water
21:34:52 <AnMaster> hm
21:35:42 <AnMaster> ais523, you could make a very balanced scale such that it tipped over when you had absorbed enough water
21:35:52 <AnMaster> thus closing an electrical circuit
21:36:04 <AnMaster> ais523, think that would work?
21:36:29 <ais523> maybe
21:36:32 <ais523> but it seems rather irreversible
21:36:37 <ais523> you'd need some way to drain the silica too
21:36:43 <AnMaster> ais523, you can restore it by heating it quite a bit iirc
21:37:00 <AnMaster> ais523, ah 120 C
21:37:08 <AnMaster> for 2 hours
21:37:17 <AnMaster> VERY slow computing
21:39:07 -!- Quadrescence has quit (Remote host closed the connection).
21:53:15 -!- wareya_ has joined.
21:55:50 -!- wareya has quit (Ping timeout: 260 seconds).
22:17:14 <alise> Back in ~20 mins.
22:19:09 <ais523> serious question I need for my day job: does anyone here know a remotely efficient algorithm for topologicals sort that works even if there are cycles in the input?
22:19:20 <ais523> as in, infers a total preorder from a partial preorder, rather than a total order from a partial order
22:19:27 <ais523> *topological sort
22:22:07 <Ilari> ais523: As in, cycles can be sorted any way, but rest must follow topological order?
22:22:13 <AnMaster> night
22:22:23 <ais523> Ilari: no, as in cycles are marked as equal to each other
22:22:40 <ais523> so if the input's a<b, b<c, c<b, b<d, the output's a<b=c<d
22:25:10 <Ilari> Find the strongly connected components replace them all with single vertex and run topological sort for result?
22:25:33 <ais523> yep, that's basically what I'm trying to do
22:28:32 <ais523> but it's unclear how to even find those components in the input in an efficient way
22:34:26 <cheater99> i am eating jam with a teaspoon
22:34:32 <cheater99> does that make me a fat fuck
22:39:11 <alise> yes
22:41:58 <Gregor> Keeping GCC patches up to date is SUCH a PITA
22:45:00 <cheater99> why would you even be patching gcc
22:45:09 <Gregor> To support a new target.
22:52:50 <Sgeo> Ugh, I'm going to need to learn Javascript string manipulation in the span of a few minutes
22:55:34 <ais523> try finding a library listing
22:55:47 <ais523> it works much the same as, say, Perl or Python, strings are first-class
22:59:29 <CakeProphet> generally it's best to stick to library functions and avoid explicit loops as well. Since the library functions are going to be C or whatever else.
23:00:48 <Sgeo> I barely know enough Javascript to look at form elements on a page
23:01:17 <Sgeo> .value to get a text field's value?
23:01:25 <CakeProphet> it's been a while. I think so.
23:01:36 <CakeProphet> just play around with a shell in your browser.
23:04:08 <CakeProphet> I believe iterating over an object iterates over its properties
23:04:08 <CakeProphet> but
23:04:12 <CakeProphet> don't quote me on that.
23:04:20 <ais523> Sgeo: yes
23:04:30 <ais523> that's not JavaScript, that's DHTML DOM
23:04:35 <ais523> for the text field's value thing
23:04:44 <ais523> the issue is that you can't really use one without the otehr
23:04:51 <CakeProphet> right.
23:05:06 <Sgeo> No one will care if I design this page poorly, right?
23:05:19 <CakeProphet> I will be scarred.
23:06:19 <Sgeo> Is there a trinary operator in JS?
23:07:27 <alise> ? :
23:07:47 <alise> <ais523> the issue is that you can't really use one without the otehr
23:07:49 <alise> there's work on that but eh
23:10:02 <Sgeo> Ok, this page is already going to be fragile :/
23:10:56 <Sgeo> "Can you make it an exe?"
23:15:27 <Sgeo> Hm, a bit of decency is required for my sanity. Too much work if I don't make another function
23:18:06 <Sgeo> Maybe the denizens of this channel won't gang up and kill me now
23:19:54 <CakeProphet> http://en.wikipedia.org/wiki/Caja_project
23:23:46 <alise> CakeProphet: and?
23:24:33 <alise> "The FBI failed to break the encryption code of hard drives seized by federal police at the apartment of banker Daniel Dantas, in Rio de Janeiro, during Operation Satyagraha."
23:24:41 <alise> Gosh, TrueCrypt isn't breakable by the FBI for an investigation.
23:24:43 <alise> That's astonishing!
23:24:50 <alise> The FBI are magicians who can break any encryption.
23:25:10 <alise> Also, they'd reveal it if they could break it. Totally!
23:30:56 <Sgeo> http://www.kevlindev.com/tutorials/javascript/inheritance/index.htm good tutorial or bad tutorial?
23:32:44 <alise> Here is my Javascript inheritance tutorial:
23:32:50 <alise> There is no inheritance. Stop thinking about inheritance.
23:32:57 <alise> You can extend objects.
23:32:59 <alise> There is no inheritance.
23:33:17 <Sgeo> What about the pages explanation of new?
23:33:21 <Sgeo> page's
23:33:23 <Sgeo> Is that decent?
23:34:12 <Rafajafar> alise: that's kinda correct
23:34:18 <Rafajafar> there's no built-in inheritance
23:34:43 <Rafajafar> but you can extend javascript to have a kind of inheritance, like the Prototype framework did
23:35:53 <Rafajafar> and to clarify more... ECMAScript standards have inheritance now... but javascript hasn't changed much in 10-12 years, so it doesnt have the newer schema
23:36:06 <Rafajafar> ActionScript does, and it most definetely has inheritance
23:37:34 <alise> Rafajafar: *but* class-based javascript is basically sin.
23:37:44 <Rafajafar> alise: I dont believe in sin
23:37:44 <alise> prototype is pretty awful.
23:37:52 <alise> Rafajafar: you knew what i meant.
23:37:55 <Rafajafar> Prototype has one major flaw
23:38:00 <alise> one major flaw, it sucks
23:38:03 <Rafajafar> alise: you knew what I meant
23:38:06 <Sgeo> Rafajafar, so what do you call code that uses gotos for all flow control?
23:38:09 <Rafajafar> alise: stay constructive, dont be a twat
23:38:15 <alise> i'm a twat by nature
23:38:25 <alise> also not particularly trying to have a productive discussion :p
23:38:27 <Sgeo> Rafajafar, what's Prototype's "one major flaw"?
23:38:43 <Rafajafar> the fact that if you change an element, it removes it from the DOM and replaces it
23:38:57 <Rafajafar> meaning if you expect in-place editing, you wont get it
23:39:10 <Rafajafar> this has problems if you have to go outside their framework for registering event handlers
23:39:55 <Rafajafar> Sgeo: I call code that uses gotos for all flow control another way to do things.... assembly basically works that way, yanno.
23:40:18 <alise> What do you call BANCStar?
23:40:26 <alise> Using INTERCAL for vital business code?
23:40:51 <Sgeo> Javascript's automatic semicolon insertion?
23:40:52 -!- oerjan has joined.
23:41:05 <alise> You have to be opinionated. Unopinionated people just let cruft and evil perpetuate with their over-tolerance.
23:41:22 * Cu is opinionated SIR!
23:41:25 -!- Cu has changed nick to coppro.
23:41:37 <Rafajafar> alise: no, I think you're confused
23:41:44 <Rafajafar> I have opinions
23:41:48 <alise> Or doooo you
23:41:54 <alise> I need to stop saying that.
23:41:56 <Sgeo> return\n{ is semantically different fro return {
23:41:57 <Rafajafar> I'll roll my eyes and go "that's not the way *I* would do it
23:42:11 <alise> Rafajafar: so basically you're passive-aggressive rather than aggressive
23:42:13 <alise> is that really better :P
23:42:24 <alise> Sgeo: as in python.
23:42:24 <Rafajafar> alise: I dont see that as being either of those things
23:43:12 <oerjan> alise: i counter that opinionated people sometimes perpetuate cruft and evil by narrow-mindedly ignoring possible compromises
23:43:14 -!- coppro has quit (Remote host closed the connection).
23:43:15 <Rafajafar> alise: there are no sins.... only mistakes.
23:43:32 <alise> oerjan: well opinionated != religiously opinionated
23:43:41 <Rafajafar> my issue with absolutes is that if you say it's ALWAYS wrong, as in a sin, you miss an opportunity when it's not wrong
23:43:43 <Sgeo> But with Python, newline is the default and well know statement terminator
23:43:43 <alise> opinionated != zealoutous, rather.
23:43:51 <alise> Sgeo: *known
23:44:02 <alise> Rafajafar: By chance are you a centrist?
23:44:21 <Rafajafar> no
23:44:26 <alise> Hm. Odd.
23:44:31 <Rafajafar> no, it's not
23:44:36 <Sgeo> The C++ FAQ has something about "evil", where "evil" does not mean "never do it"
23:44:48 <Rafajafar> My opinions are views are MINE
23:45:04 <Sgeo> iirc
23:45:29 <alise> <Rafajafar> My opinions are views are MINE <-- wut
23:45:44 <Rafajafar> and I feel very strongly about them, but in the same way I dont want a Mormon coming to my door tellnig me about Indian Jesus and beating me over the head with his free book of fables, I dont want to go around preaching my views to those who differ in a way that makes them seem ABSOLUTELY wrong
23:45:58 <Rafajafar> first are = and
23:45:59 <Rafajafar> sorry
23:46:13 * oerjan has a strong religious opinion against being opinionated. argh.
23:46:16 <Rafajafar> I tend to think three or four words ahead of what I'm currently typing
23:46:28 <oerjan> (not even really joking)
23:46:40 <Rafajafar> buddism?
23:47:23 -!- coppro has joined.
23:47:24 <oerjan> no, not really. something new age.
23:47:52 <Rafajafar> when you commit the sin of absolutism, you've ended all discussion (which is an absolutist statement that I abhor)
23:48:05 <alise> *buddhism
23:48:19 -!- tombom has quit (Quit: Leaving).
23:48:21 <alise> also, you're getting dangerously ideological here for someone expressing an anti-ideological viewpoint.
23:48:29 <Rafajafar> *alease
23:48:39 <coppro> alise: Welcome back, o great Penguin :)
23:48:42 <alise> It's not "buddism".
23:48:46 <alise> coppro: ...Penguin?
23:48:55 <coppro> of the gods, of course
23:49:02 <alise> Oh, right; that.
23:49:14 <alise> I would prefer you called me the Penguin Formerly Known as Godot. :-)
23:49:20 <Rafajafar> I'm not preaching anti-ideologicalism because I am not telling you you're wrong... I just said there is no sin, and left it at that.
23:49:39 <Rafajafar> I stated MY opinion, which you are free to disagree with
23:49:40 <alise> Rafajafar: Indeed, but the discussion that came after...
23:49:54 <alise> I'm not arguing with you, you know.
23:49:59 <Rafajafar> you asked for more explaination, actually no, you made wild accusations about who I am and what I am
23:50:27 <Rafajafar> which prompted me to explain
23:50:29 <alise> I don't recall any "wild accusations", merely joking speculation.
23:50:30 <oerjan> <alise> also, you're getting dangerously ideological here for someone expressing an anti-ideological viewpoint. <-- i think that's an intrinsic psychological danger of debate/discussion
23:50:31 <alise> Chill.
23:50:51 <alise> oerjan: it also partly demonstrates why i think strong (ha!) anti-ideological...ism is a bad thing :)
23:50:59 <alise> i really do try not to be a zealot these days though
23:51:11 <oerjan> O_O
23:51:18 * oerjan must have missed that >:D
23:51:25 <Sgeo> Is it moral to use innerHTML?
23:51:29 <Sgeo> Even when there's no HTML?
23:51:30 * Rafajafar just pooped a little
23:51:33 <Sgeo> To display a result?
23:51:40 <coppro> Sgeo: it is always immoral
23:51:41 <coppro> use the DOM
23:51:53 <Sgeo> Ok, how do I display text in a DIV?
23:52:04 <oerjan> Rafajafar: now i'm starting to wonder how many people use irc from the toilet
23:52:13 <alise> Sgeo: ignore coppro
23:52:16 <alise> if it's just a quick hack use innerhtml
23:52:19 <Rafajafar> element.innerHTML
23:52:20 <alise> it's not like the dom is any cleaner :-D
23:52:32 <Rafajafar> if you dont know what's going to be in the div
23:52:35 <Sgeo> Well, making it easy to select all might be helpful any.. no it won't
23:52:37 <Rafajafar> I'd use innerHRML
23:52:38 <alise> -- but seriously, the DOM is a serious bitch, unless you're making this thing cleanly and pristinely just use innerHTML.
23:52:39 <Rafajafar> HTML
23:52:53 <Sgeo> Someone now needs to invent HRML
23:53:00 <alise> Human Relations Markup Language
23:53:00 <Rafajafar> you're using some sort of library?
23:53:09 <alise> Happy Racists Markup Language
23:53:13 <Sgeo> It's just plaintext, I could easily make it an input box
23:53:17 <alise> Hhhhhh Rrrrrrr Markup Language
23:53:20 <Rafajafar> Horny Rabbits Makeout Lapdance
23:53:30 <Sgeo> Whatever, it doesn't really matter
23:54:06 <Rafajafar> Sgeo: I really suggest you use a framework for javascript... the raw language is rather lacking... especially if you're trying to deal with cross browser compatability
23:54:15 <alise> yeah it'll be easier just to use jquery
23:54:18 <Rafajafar> yeah
23:54:20 <alise> for the kind of thing you are most likely doing
23:54:25 <Rafajafar> jquery, prototype, dojo...etc
23:54:27 <Rafajafar> mootools
23:54:29 <Rafajafar> something
23:54:39 <alise> jQuery. :P
23:54:40 <Sgeo> alise, simple math and string manipulation?
23:54:48 <alise> Sgeo: and, clearly, DOM work, based on your questions.
23:54:58 <alise> jQuery is just like a few k anyway and it doesn't replace your ordinary javascript
23:55:07 <alise> it just lets you do things like $("p.foo").addClass("bar").hide();
23:55:09 <Sgeo> alise, read what I said: I just want to display plaintext
23:55:17 <Rafajafar> I've used them all, I can say that if I'm doing any UI work, jQuery is still in its infancy stage whereas Dojo is totally off the charts awesome
23:55:27 <Sgeo> UIs scare me
23:55:28 <alise> Rafajafar: Yeah, but JavaScript UI work is ... sin.
23:55:38 <Rafajafar> buh?
23:55:40 <Rafajafar> disagree
23:55:44 <alise> Fuck Web 3.0 and its crappy imitations of desktop apps :P
23:55:55 <Rafajafar> raitme.com
23:55:58 <alise> gmail, good use of web stuff. things like roundcube, awful useless crap.
23:56:03 <Rafajafar> working on this site (dont hack it yet)
23:56:03 <alise> (and zimba)
23:56:17 <Rafajafar> this uses jQueryUI as an experiment
23:56:21 <Rafajafar> I might keep it
23:56:29 -!- alise_ has joined.
23:56:33 <Rafajafar> but, it's not bad... loads only the info it needs
23:56:38 <alise_> Rafajafar: ok, so this is like reddit except it freezes my browser when i load it.
23:56:43 <alise_> i can see the appeal
23:56:47 <Rafajafar> what browser?
23:56:56 <Rafajafar> oh you're...linux firefox?
23:56:59 <Rafajafar> w/o flash?
23:57:05 <alise_> with flash
23:57:09 <Sgeo> Please don't depend on flash kthx
23:57:16 <alise_> firefox 3.6, arch linux, quite low-spec machine but unless you're using hundreds of megs of ram and filling up the two cores there's no excuse to be so slow :P
23:57:31 <alise_> (1 gig ram total... but i have plenty free)
23:57:35 <Sgeo> One game I like uses Flash only to play sounds, and that causes it to freeze at some points
23:57:35 <Rafajafar> Sgeo: um it has music players in it, until HTML5 is worth a damn six years from now.... Flash is the only option
23:57:46 <alise_> HTML5 ... works
23:57:49 <Rafajafar> alise: no one else has that problem
23:57:51 <alise_> <audio> works fine in ... everything but IE.
23:57:59 <Rafajafar> HTML5 is shit, it's not supported in IE
23:58:03 <alise_> <video> a bit lesso.
23:58:07 <alise_> yeah, IE.
23:58:11 <alise_> hey, that's a strong opinion
23:58:16 <alise_> "worth a damn", "is shit".
23:58:17 <Sgeo> Rafajafar, ok, but if the flash isn't working, make the worst effect be lack of sound
23:58:18 <Rafajafar> no the specs are great
23:58:18 <Sgeo> Please
23:58:23 <alise_> whatever happened to -- "that's not how i would do it"
23:58:30 <Rafajafar> Sgeo: that's what happens
23:58:34 <Sgeo> Ok, good
23:58:57 <Rafajafar> you wanna build an HTML5 app and alienate most people, that's your right
23:59:02 <Rafajafar> HTML5 is shit, I wouldn't do it
23:59:05 <Rafajafar> not yet
23:59:07 <alise_> fucking hell we're in #esoteric
23:59:09 <alise_> this is alienation central
23:59:09 <Rafajafar> one day
23:59:13 <alise_> do you actually do any esolang stuff
23:59:20 <Rafajafar> no I just like the convos in here
23:59:29 <alise_> i see.
23:59:30 <Sgeo> Rafajafar, help me with PSOX!
23:59:35 <alise_> maybe we should talk more about esolangs then
23:59:37 <Sgeo> Then you'll be an esolang person!
23:59:57 <Sgeo> Hahahaha "topic in #esoteric"
2010-06-27
00:00:01 <Rafajafar> what is psox?
00:00:12 <alise_> Rafajafar: it's a layer over various languages, designed for esoteric ones
00:00:21 <alise_> that layers FS, socket, and other devices over byte IO
00:00:22 <Rafajafar> ah link?
00:00:29 <alise_> none, just an svn repository
00:00:36 <Rafajafar> lost interest, sorry Sgeo
00:00:44 <alise_> How did I guess!
00:00:59 <Rafajafar> I can help with M5 if you need it, though :-)
00:01:04 -!- alise has quit (Ping timeout: 276 seconds).
00:02:03 <Sgeo> Rafajafar, no problem, I lost interest in 2008
00:02:29 <Rafajafar> No docs, no dice
00:02:35 <Sgeo> There are docs
00:02:39 <Rafajafar> oh?
00:03:36 <Sgeo> http://trac2.assembla.com/psox/browser/trunk/spec
00:03:50 <Rafajafar> I'd like to see an esoteric language for image generation, specifically targeted towards data obfuscation as in Captchas
00:06:40 <oerjan> `dice 1d6
00:06:40 <alise_> anyone have greppable logs? AnMaster?
00:06:41 <HackEgo> No output.
00:06:57 <oerjan> `run ls bin/d*
00:06:58 <HackEgo> bin/define
00:07:14 <oerjan> !dice 1d6
00:07:14 <myndzi> oerjan: 6
00:07:26 <oerjan> !help
00:07:27 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
00:07:34 <Gregor> lawl
00:07:35 <alise_> !dice no
00:07:35 <myndzi> alise_: <err>
00:07:40 <alise_> XD
00:07:44 <oerjan> ^dice 1d6
00:07:50 <alise_> Gregor: you got greppable logs?
00:07:56 <Gregor> alise_: Yeah
00:08:03 <oerjan> dammit i'm _sure_ one of the bots has a dice command
00:08:24 <alise_> Gregor: grep "(alise|ehird) DownRight pastie" recently plz, i wanna find my downright syntax for ais523
00:08:37 <oerjan> `ls bin
00:08:39 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ marco \ minifind \ paste \ ping \ quote \ rec \ roll \ runfor \ sayhi \ strfile \ swedish \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
00:08:44 <oerjan> ah
00:08:48 <oerjan> `roll 1d6
00:08:49 <HackEgo> 3
00:08:58 <coppro> meh, that's the easy way
00:09:20 <coppro> `echo -e '1\n2\n3\n4\n5\n6' | shuf -n 1
00:09:22 <HackEgo> -e '1\n2\n3\n4\n5\n6' | shuf -n 1
00:09:29 <coppro> wha?
00:09:35 <coppro> where's mah pipe
00:09:38 <oerjan> coppro: need run
00:09:44 <coppro> `run echo -e '1\n2\n3\n4\n5\n6' | shuf -n 1
00:09:47 <HackEgo> 4
00:09:50 <Gregor> alise_: All I get for grep 'DownRight.*pastie' is 10.06.26:16:08:24 <alise_> Gregor: grep "(alise|ehird) DownRight pastie" recently plz, i wanna find my downright syntax for ais523
00:10:07 <alise_> Gregor: well not on the same line
00:10:22 <Rafajafar> ? imdb Trolls
00:10:24 <alise_> grep (alise|ehird)>.*downright case insensitively, with context
00:10:27 <Rafajafar> !imdb Trolls
00:10:28 <alise_> then maybe grep the result for pastie
00:10:44 <oerjan> `imdb Trolls
00:10:47 <HackEgo> No output.
00:10:49 <Gregor> alise_: grep -i downright doesn't find any pastes.
00:10:56 <Rafajafar> `imdb Debbie Does Dallas
00:10:57 <HackEgo> No output.
00:11:09 <alise_> Gregor: grep -i -B 100 downright | grep pastie
00:11:11 <Rafajafar> `imdb Dude Where's My Car
00:11:12 <HackEgo> No output.
00:11:23 <Rafajafar> `Samuel L. Jackson
00:11:24 <HackEgo> No output.
00:11:26 <Rafajafar> kl;ajsd
00:11:27 <Gregor> Rafajafar: The `imdb command is unmaintained and almost certainly broken :P
00:11:28 <oerjan> Rafajafar: lots of those commands are broken, although i didn't know imdb was (all the google-based ones are)
00:11:42 <Gregor> alise_: No results.
00:11:52 <alise_> Gregor: Abuh? Just grep downright and give dates then, please :P
00:12:01 <Rafajafar> `roll
00:12:03 <HackEgo> 2
00:12:07 <Rafajafar> `roll
00:12:09 <HackEgo> 6
00:12:12 <Rafajafar> `?
00:12:13 <HackEgo> I like big butts and I cannot lie. You other brothers can not deny that when a girl comes in with an itty bitty waist and a round thing in your face, you get sprung.
00:12:20 <Rafajafar> HOT DAMN
00:12:21 <alise_> ...what XD
00:12:22 <Rafajafar> lovin it
00:12:22 <coppro> lol
00:12:28 <alise_> `cat bin/?
00:12:29 <ais523> I wonder who programmed that in
00:12:29 <HackEgo> #!/bin/sh \ cd `dirname "$0"` \ cat ../help.txt
00:12:36 <coppro> `fortune
00:12:36 <alise_> `cat help.txt
00:12:39 <HackEgo> I like big butts and I cannot lie. You other brothers can not deny that when a girl comes in with an itty bitty waist and a round thing in your face, you get sprung.
00:12:45 <coppro> suspicious
00:12:47 <Gregor> alise_: 10.01.10 10.03.20 10.03.21 10.05.01 10.06.26
00:12:48 <alise_> `help
00:12:49 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
00:12:54 <coppro> `fortune
00:12:58 <HackEgo> Have no friends not equal to yourself. \-- Confucius
00:13:04 <HackEgo> Fortune's Law of the Week (this week, from Kentucky): \No female shall appear in a bathing suit at any airport in this \ State unless she is escorted by two officers or unless she is armed \ with a club. The provisions of this statute shall not apply to females \ weighing less than 90 pounds nor exceeding 200 pounds,
00:13:13 <alise_> http://codu.org/projects/hackbot/fshg/index.cgi/log/a4fee630c6ff/help.txt
00:13:20 <alise_> 4 months HackBot <fedoragirl> run echo 'I like big butts and I cannot lie. You other brothers can not deny that when a girl comes in with an itty bitty waist and a round thing in your face, you get sprung.' > help.txt
00:13:20 <alise_> 10 months HackBot <RProgrammer> run echo "Use 'commands' to see available commands." > help.txt
00:13:20 <alise_> 10 months HackBot <RProgrammer> run echo 'Commands are: addquote, calc, creatures, define, esolang, etymology, fortune, google, helpme, imdb, minifind, paste, quote, runfor, sayhi, strfile, toutf8, translate, translatefromto, translateto, unstr, url, wolfram' > help.txt
00:13:22 <alise_> 10 months HackBot <RProgrammer> run echo help > help.txt
00:13:25 <alise_> I think the latest one is the best tbh
00:13:25 <coppro> great, Confucius just told me to have no frends
00:13:42 <alise_> coppro: :D
00:13:46 <Rafajafar> `marco
00:13:47 <HackEgo> polo
00:13:50 <alise_> coppro: you can have yourself as a friend
00:13:52 <alise_> Rafajafar: WHO ADDED THAT
00:13:52 <Rafajafar> `marco
00:13:54 <HackEgo> polo
00:14:06 <coppro> alise_: I don't believe an object can be a friend with itself
00:14:14 <alise_> coppro: that's prejudice.
00:14:16 <ais523> it effectiely is by default, isn't it?
00:14:19 <ais523> *effectively
00:14:28 <Rafajafar> uh yeah that's a vapid request
00:14:37 <Rafajafar> "hey you know that stuff you can see, I want you to see all of it"
00:14:42 <alise_> there are self-hating people :P
00:14:44 <coppro> also, it's possible that Confucius meant something else, but, really, he should have read Euclid
00:14:55 <Rafajafar> `penis
00:14:57 <HackEgo> No output.
00:15:00 <Rafajafar> :-(
00:15:28 <alise_> `run echo "I'm a program. I don't /have/ genitals." >bin/penis
00:15:30 <HackEgo> No output.
00:15:31 <alise_> `run echo "I'm a program. I don't /have/ genitals." >bin/vagina
00:15:32 <Sgeo> I come in here mostly for the conversation these days.
00:15:33 <HackEgo> No output.
00:15:34 <alise_> `penis
00:15:36 <HackEgo> No output.
00:15:41 <alise_> `run echo "echo I'm a program. I don't /have/ genitals." >bin/penis
00:15:42 <HackEgo> No output.
00:15:48 <alise_> `run echo "echo \"I'm a program. I don't /have/ genitals.\"" >bin/penis
00:15:49 <Sgeo> `penis
00:15:50 <HackEgo> No output.
00:15:51 <HackEgo> No output.
00:15:54 <Rafajafar> `haskell printStrLn "alise is a twat"
00:15:56 <HackEgo> No output.
00:15:58 <Rafajafar> !haskell printStrLn "alise is a twat"
00:16:06 <alise_> `run echo "echo \"I'm a program. I don't /have/ genitals.\"" >bin/penis
00:16:09 <Rafajafar> gah I need to learn haskell better
00:16:10 <HackEgo> No output.
00:16:11 <alise_> Rafajafar: Um, fuck off?
00:16:25 <alise_> `penis
00:16:27 <HackEgo> No output.
00:16:29 <alise_> `cat bin/penis
00:16:30 <HackEgo> echo "I'm a program. I don't /have/ genitals."
00:16:33 <coppro> `run echo -e "#!/bin/sh\\necho \"I'm a program. I don't /have/ genitals.\"" >bin/penis
00:16:33 <alise_> `run chmod +x bin/penis
00:16:36 <HackEgo> No output.
00:16:38 <alise_> coppro: no, fail
00:16:40 <alise_> just needs +x
00:16:41 <oerjan> !haskell putStrLn "No insults!"
00:16:44 <HackEgo> No output.
00:16:44 <EgoBot> No insults!
00:16:45 <alise_> `run echo "echo \"I'm a program. I don't /have/ genitals.\"" >bin/penis
00:16:46 <alise_> `run echo "echo \"I'm a program. I don't /have/ genitals.\"" >bin/vagina
00:16:48 <HackEgo> No output.
00:16:48 <alise_> `run chmod +x bin/penis
00:16:49 <alise_> `run chmod +x bin/vagina
00:16:54 <HackEgo> No output.
00:16:55 <alise_> `penis
00:17:01 <HackEgo> No output.
00:17:03 <alise_> `penis
00:17:07 <Rafajafar> wtf why did yours work and not mine?
00:17:07 <HackEgo> I'm a program. I don't /have/ genitals.
00:17:12 <HackEgo> No output.
00:17:14 <HackEgo> No output.
00:17:21 <alise_> Rafajafar: because you can't spell
00:17:26 <alise_> and also oerjan isn't a twat-caller
00:17:29 <alise_> `vagina
00:17:30 <HackEgo> No output.
00:17:34 <alise_> `vagina
00:17:35 <Rafajafar> oh
00:17:35 <HackEgo> No output.
00:17:37 <alise_> ffff
00:17:38 <Rafajafar> putstrlin
00:17:39 <Rafajafar> damnit
00:17:41 <alise_> `run echo "echo \"I'm a program. I don't /have/ genitals.\"" >bin/vagina
00:17:42 <HackEgo> No output.
00:17:46 <alise_> `run chmod +x bin/vagina
00:17:47 <HackEgo> No output.
00:17:54 <alise_> `vagina
00:17:55 <HackEgo> No output.
00:18:24 <coppro> `run echo -e "#!/bin/sh\\necho \"I'm a program. I don't /have/ genitals.\"" >bin/penis
00:18:26 <HackEgo> No output.
00:18:26 <coppro> `run penis
00:18:29 <HackEgo> I'm a program. I don't /have/ genitals.
00:18:36 <oerjan> Rafajafar: print is for "arbitrary" values, not (just) strings
00:18:49 <oerjan> (and puts quotes around strings)
00:19:09 <coppro> just for alise:
00:19:14 <coppro> (she'll feel left out)
00:19:20 <coppro> `cp bin/penis bin/vagina
00:19:22 <HackEgo> No output.
00:19:49 <alise_> `vagina
00:19:52 <HackEgo> No output.
00:19:58 <coppro> hrm
00:20:04 <coppro> `run vagina
00:20:06 <alise_> coppro: I don't recall genitals being included in the confusing nick-pronoun definition...
00:20:06 <HackEgo> No output.
00:20:10 <alise_> But thanks for the vagina-hospitality :P
00:20:22 <alise_> I think HackEgo has vagina protection.
00:20:24 <alise_> `cat bin/penis
00:20:26 <HackEgo> #!/bin/sh \ echo "I'm a program. I don't /have/ genitals."
00:20:28 <alise_> `cat bin/vagina
00:20:30 <HackEgo> echo "I'm a program. I don't /have/ genitals."
00:20:38 <alise_> coppro: you fail at hackego
00:20:39 <alise_> use `run cp
00:20:42 <alise_> `run cp bin/penis bin/vagina
00:20:42 <coppro> oh, duh
00:20:43 <HackEgo> No output.
00:20:45 <alise_> `vagina
00:20:46 <HackEgo> I'm a program. I don't /have/ genitals.
00:20:58 <Rafajafar> `run echo "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:21:00 <HackEgo> No output.
00:21:07 <Rafajafar> `twat
00:21:08 <alise_> `rm bin/twat
00:21:08 <coppro> alise_: if you want to try to pass yourself off as a girl (which I will assume you do until I either hear otherwise or you change to a different nick), you have to go the distance
00:21:10 <HackEgo> No output.
00:21:13 <Rafajafar> `twat alise
00:21:15 <HackEgo> No output.
00:21:17 <coppro> lol
00:21:19 <Rafajafar> `run echo "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:21:20 <HackEgo> No output.
00:21:22 <HackEgo> No output.
00:21:25 <alise_> coppro: Fine, fine, I am penisless.
00:21:32 <alise_> Lo, ovaries.
00:21:42 <oerjan> O varies
00:21:43 <Gregor> Lovaries
00:21:55 <alise_> Ovaries are, like, the sexiest part of the female anatomy.
00:22:05 <alise_> Is it any coincidence that female = Fe + male, and ovaries are primarily composed of iron?
00:22:12 <Rafajafar> `run echo -e "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:22:14 <HackEgo> No output.
00:22:16 <alise_> `rm bin/twat
00:22:17 <HackEgo> No output.
00:22:18 <Rafajafar> `run echo -e "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:22:20 <HackEgo> No output.
00:22:21 <Rafajafar> `twat
00:22:23 <HackEgo> No output.
00:22:23 <Rafajafar> `twat alise
00:22:26 <HackEgo> No output.
00:22:34 <alise_> `c puts("Rafajafar is a cunt.\n");
00:22:35 <HackEgo> No output.
00:22:37 -!- chickenzilla has joined.
00:22:42 <alise_> Why on earth didn't that work :P
00:22:44 <Gregor> "/usr/bin/perl " doesn't exist.
00:22:49 <Gregor> alise_: Because you're looking for "!c"
00:22:53 <alise_> !c puts("Rafajafar is a cunt.\n");
00:22:53 <Rafajafar> `run echo -e "#!/usr/sbin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:22:55 <HackEgo> No output.
00:22:57 <alise_> `rm bin/twat
00:22:58 <EgoBot> Rafajafar is a cunt.
00:22:59 <HackEgo> No output.
00:23:02 <alise_> Rafajafar: I never tire.
00:23:02 <Gregor> "/usr/sbin/perl " doesn't exist either.
00:23:09 <Gregor> I put the quotes there for a very good reason.
00:23:20 <Rafajafar> `run echo -e "#!bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:23:21 <HackEgo> No output.
00:23:22 <alise_> And that is that QUOTES ARE SEXY.
00:23:24 <alise_> `rm bin/twat
00:23:26 <HackEgo> No output.
00:23:26 <alise_> Rafajafar: you are a moron
00:23:30 <alise_> or have a really bad font
00:23:41 <coppro> is there a command to send a message to another bot and print the reply?
00:23:44 <oerjan> `run which perl
00:23:45 <HackEgo> /usr/bin/perl
00:23:49 <Gregor> coppro: Uhh, no :P
00:23:55 <alise_> Yes.
00:23:56 <coppro> :(
00:24:02 <alise_> !echo `echo poop
00:24:03 <EgoBot> `echo poop
00:24:04 <HackEgo> poop
00:24:07 <alise_> Close enough :P
00:24:16 <oerjan> Gregor: it so does exist, which says
00:24:22 <coppro> also, it automatically kills processes that take too long, right?
00:24:24 <ais523> thutubot's +haskell was implemented by asking lambdabot
00:24:26 <Rafajafar> `run echo -e "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:24:28 <HackEgo> No output.
00:24:28 <ais523> although it was just a joke
00:24:33 <Gregor> HEY GUYS TIME FOR NEW JSMIPS
00:24:34 <alise_> coppro: who knows
00:24:39 <ais523> Gregor: ooh
00:24:52 <coppro> alise_: Well, I could forkbomb it, but...
00:25:00 <alise_> Gregor: my genitalia wish to utilise jsmips for enterprising synergy
00:25:05 <alise_> ... moving on
00:25:24 <oerjan> Gregor: oh hm the space. is that really significan in #! ?
00:25:30 <oerjan> *+t
00:25:33 <alise_> oerjan: hmm
00:25:37 <alise_> it will actually run /usr/bin/perl '' file
00:25:41 <alise_> which, of course, doesn't work.
00:25:45 <oerjan> oh
00:25:47 <alise_> Q.E.D. (pronounced "Kwed").
00:26:09 <alise_> Gregor: Where, the new jsmips of sexy proportions?
00:26:18 <Rafajafar> `run echo -e "#!/usr/bin/perl \n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:26:19 <HackEgo> No output.
00:26:20 <Rafajafar> I get it
00:26:22 <Rafajafar> ok
00:26:37 <Gregor> alise_: Right now just in hg, I'm updating system.html as we speak.
00:26:39 <alise_> no, you don't
00:26:40 <alise_> `rm bin/twat
00:26:41 <HackEgo> No output.
00:26:42 <alise_> it still won't work
00:26:56 <alise_> and even if it did I'd remove it, as I now apparently have the monopoly on twats in this channel
00:27:03 <alise_> I will proceed to crush smaller twat enterprises
00:27:10 <alise_> and illegally set prices
00:27:18 <pikhq> Okay, near as I can tell, GCC 4.5.0 cannot cross-compile to uclibc.
00:27:31 <alise_> pikhq: Or CAN it
00:27:36 <alise_> pikhq: Use pcc, hero.
00:27:55 <Rafajafar> `run echo -e "perl -e twat.pl alise" >bin/runasperl
00:27:57 <HackEgo> No output.
00:27:58 <Rafajafar> `runasperl
00:28:00 <pikhq> alise_: But PCC can't build all of userspace that I want.
00:28:02 <HackEgo> No output.
00:28:08 <Gregor> Uploading, uploading ...
00:28:35 * pikhq tries a GCC 4.3 cross-compiler; that actually worked.
00:28:38 <Gregor> pikhq: And yet, GCC 4.5.0 can cross-compile to MIPS running the totally-fake JSMIPS operating system with newlib :P
00:28:50 <alise_> pikhq: So use other userspace.
00:28:55 <Gregor> http://codu.org/jsmips/system.html OMG IT'S A NEW JSMIPS
00:28:56 <alise_> Because MY FLINIX IS BETTER!
00:29:07 <alise_> Gregor: Meet the new JSMIPS, apparently same as the old JSMIPS.
00:29:12 <pikhq> Gregor: Yes. How'd you build it?
00:29:19 <alise_> Gregor: Seriously: Xserver (not X.Org) on <canvas>.
00:29:21 <Gregor> pikhq: WITH EVIL MAGIC
00:29:27 <alise_> Gregor: It would be amazing. pikhq will sing the virtues of Xserver to you.
00:29:29 <pikhq> ../gcc-4.5.0/configure --prefix=/flinix --target=i386-linux-uclibc --disable-nls --with-gnu-ld --with-gnu-as --enable-languages=c --disable-shared --disable-threads --disable-tls --disable-multilib --disable-decimal-float --disable-libgomp --disable-libssp --disable-libmudflap --without-headers --with-newlib
00:29:32 <Gregor> alise_: There are a lot of steps before I can do that :P
00:29:34 <oerjan> Rafajafar: you are having a stray space before your \n in the #! lines
00:29:41 <alise_> Gregor: Nope.
00:29:44 <pikhq> Something a bit like that, with a binutils available?
00:29:58 <alise_> Gregor: Add some new instruction "canvas" that just takes some canvas instruction.
00:29:58 <Rafajafar> oerjan it's because it's not running as perl man
00:30:12 <alise_> Gregor: Write an Xserver driver that just does asm("canvas ...").
00:30:14 <alise_> Gregor: Compile.
00:30:16 <alise_> Gregor: Profit.
00:30:18 <Rafajafar> it has to be called "perl twat alise"
00:30:24 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:30:27 <Gregor> pikhq: http://codu.org/projects/jsmips/hg/index.cgi/file/b007e714e4b1/patches/buildcc.sh
00:30:28 <alise_> Rafajafar: you're an idiot
00:30:34 <alise_> and oerjan is right
00:30:59 <Rafajafar> `run echo -e "#!/usr/bin/perl\n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:31:02 <Rafajafar> `twat alise
00:31:02 <HackEgo> No output.
00:31:06 <HackEgo> No output.
00:31:15 <pikhq> Gregor: So, basically.
00:31:21 <oerjan> `chmod +x bin/twat
00:31:25 <alise_> # ls
00:31:25 <alise_> Loading ./bin/ls...
00:31:25 <alise_> ./bin/ls loaded.
00:31:25 <alise_> Loading ./dir.php...
00:31:25 <alise_> ./dir.php loaded.
00:31:26 <alise_> bin dir.php var
00:31:28 <alise_> Urgent Socket Condition
00:31:30 <alise_> #
00:31:30 <oerjan> `twat
00:31:32 <alise_> wat.
00:31:37 <HackEgo> No output.
00:31:39 <alise_> Urgent Socket Condition would be an awesome band name.
00:31:47 <oerjan> `help
00:31:48 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
00:31:50 <Gregor> alise_: I don't know why that error is happening just yet :P
00:31:54 <oerjan> `cat bin/twat
00:31:58 <Gregor> OK guys, it's broken, stop :P
00:32:04 -!- HackEgo has quit (Remote host closed the connection).
00:32:04 -!- EgoBot has quit (Remote host closed the connection).
00:32:06 -!- HackEgo has joined.
00:32:06 -!- EgoBot has joined.
00:32:06 <oerjan> heh
00:32:08 <HackEgo> No output.
00:32:10 <HackEgo> #!/usr/bin/perl \ print [1] . 'is a twat!'; \
00:32:17 <Gregor> Everybody keeps flooding it 'til it dies.
00:32:36 <oerjan> `twat alise
00:32:38 <HackEgo> ARRAY(0x7f91c7f24d48)is a twat!
00:32:43 <oerjan> XD
00:32:44 <pikhq> Anyways, if this goes well, I'll have a native toolchain. Which would be totally awesome.
00:32:59 <Rafajafar> LOL
00:33:03 <Gregor> pikhq: I should totally make a "native" JSMIPS toolchain.
00:33:29 <olsner> port spidermonkey and run jsmips on mips on jsmips?
00:33:44 <Gregor> olsner: That would almost be too easy.
00:33:57 <olsner> yeah, it would
00:34:04 <alise_> Gregor: Some definition of "too easy": P
00:34:07 <alise_> *easy" :P
00:34:27 <pikhq> alise_: He's got GCC working; there's most of the work.
00:34:48 <oerjan> Rafajafar: your $ARGV got interpreted by the shell rather than perl, me thinks
00:34:58 <Rafajafar> `run echo -e "#!/usr/bin/perl\n print \$ARGV[1] . 'is a twat!';\n" > bin/twat
00:35:00 <HackEgo> No output.
00:35:08 <Rafajafar> `twat alise
00:35:09 <HackEgo> is a twat!
00:35:13 <Rafajafar> heh
00:35:22 <alise_> you are all failures at life :|
00:35:25 <alise_> `cat bin/twat
00:35:25 <pikhq> GCC CROSS COMPILER \o/
00:35:26 <HackEgo> #!/usr/bin/perl \ print $ARGV[1] . 'is a twat!'; \
00:35:26 <myndzi> |
00:35:26 <myndzi> /<
00:35:40 <alise_> you could also just use "shift" afaik
00:35:50 <Gregor> pikhq: Success?
00:35:50 <Rafajafar> you have to shift twice
00:36:00 <Rafajafar> argv[0] is the name of the program
00:36:01 <Rafajafar> idiot
00:36:18 <alise_> i'm pretty sure shift starts at [1]
00:36:23 <alise_> also, go away.
00:36:32 <oerjan> `run perl -e 'print $ARGV[1]'
00:36:33 <HackEgo> No output.
00:36:36 <pikhq> Gregor: Now to build a libc! And try to get a native toolchain!
00:36:40 <oerjan> `run perl -e 'print $ARGV[1];'
00:36:41 <HackEgo> No output.
00:36:44 <oerjan> `run perl -e 'print $ARGV[0];'
00:36:46 <HackEgo> No output.
00:36:48 <Gregor> pikhq: I already have a libc ... of course ...
00:37:02 <Sgeo> Ending the script tag is probably a smart thing to do
00:37:03 <Rafajafar> alise, keep thinking you're smarter than me... *pats you on the head* ...
00:37:05 <oerjan> um i suppose -e might not give an $ARGV
00:37:13 <Gregor> pikhq: A native toolchain would be sweeeet, but really I'd be happy with the heirloom Bourne shell compiling without patches :P
00:37:26 <Rafajafar> `run echo "#!/usr/bin/perl\n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:37:27 <HackEgo> No output.
00:37:37 <Rafajafar> `twat alise
00:37:37 <alise_> `rm bin/twat
00:37:39 <HackEgo> No output.
00:37:46 <alise_> Rafajafar: i'm certainly less annoying and that's saying something
00:37:48 <HackEgo> No output.
00:38:14 <Rafajafar> alise_, I disagree, I think you're probably the most obnoxious person I've met in IRC...
00:38:28 <oerjan> Rafajafar: alise must think the last one was going to work :D
00:38:39 <Rafajafar> `run echo "#!/usr/bin/perl\n print $ARGV[1] . 'is a twat!';\n" > bin/twat
00:38:41 <HackEgo> No output.
00:38:42 <Rafajafar> `twat alise
00:38:44 <HackEgo> No output.
00:38:47 <Rafajafar> nope
00:39:02 <oerjan> Rafajafar: shell deleted $ARGV again
00:39:06 <Rafajafar> yeah
00:39:08 <Rafajafar> I give
00:39:13 <Rafajafar> it's lost its charm to me
00:39:24 <Rafajafar> besides, alise is getting upset
00:39:25 <olsner> hmm, if you build the jsmips-on-mips port such that it automatically loads a new jsmips with the same jsmips-on-mips inside it... you might get something interesting :) if the jsmips-on-mips prints a boot message before starting javascript you should see a long list of boot messages being printed slower and slower :)
00:39:26 <pikhq> Gregor: Native toolchain for flinix. :)
00:40:13 <Gregor> olsner: Interpreter eigenratios.
00:40:31 <oerjan> !addinterp twat haskell main = interact $ (++ " is a twat!\n")
00:40:31 <EgoBot> Interpreter twat installed.
00:40:34 <oerjan> !twat alise
00:40:37 <EgoBot> alise
00:40:41 <oerjan> dammit
00:41:15 <alise_> !addinterp twat haskell main = interact $ (concat . (++ " is a twat!") . unlines)
00:41:15 <EgoBot> There is already an interpreter for twat!
00:41:20 <alise_> !delinterp twat
00:41:20 <EgoBot> Interpreter twat deleted.
00:41:23 <alise_> !addinterp twat haskell main = interact $ concat . (++ " is a twat!") . unlines
00:41:23 <EgoBot> Interpreter twat installed.
00:41:25 <Rafajafar> yeah I dont even mess with haskell, I know I do not know it too well, I just know enough to know it's not quite where I want it in terms of libs to be useful to me
00:41:28 <alise_> !twat Rafajafar
00:41:48 <alise_> !addinterp twat haskell main = interact $ concat . (++ [" is a twat!"]) . unlines
00:41:49 <EgoBot> There is already an interpreter for twat!
00:41:53 <alise_> !delinterp twat
00:41:53 <EgoBot> Interpreter twat deleted.
00:41:54 <alise_> !addinterp twat haskell main = interact $ concat . (++ [" is a twat!"]) . unlines
00:41:55 <EgoBot> Interpreter twat installed.
00:41:56 <Rafajafar> god alise, even you cant do it right!
00:41:57 <alise_> !twat Rafajafar
00:42:07 <alise_> hey this isn't easy :D
00:42:15 <alise_> !addinterp twat haskell main = interact $ concat . (++ [" is a twat!"]) . lines
00:42:16 <EgoBot> There is already an interpreter for twat!
00:42:16 <Gregor> This land is fail land.
00:42:19 <alise_> !delinterp twat
00:42:19 <EgoBot> Interpreter twat deleted.
00:42:19 <Gregor> This land is failure land.
00:42:20 <alise_> !addinterp twat haskell main = interact $ concat . (++ [" is a twat!"]) . lines
00:42:21 <EgoBot> Interpreter twat installed.
00:42:22 <Gregor> Fail fail fail fail fail.
00:42:23 <Rafajafar> oh so when you do it it's not easy, but when I do it I'm an idiot
00:42:25 <alise_> !twat Rafajafar
00:42:28 <EgoBot> Rafajafar is a twat!
00:42:29 <alise_> Gregor: but hilarious
00:42:30 <alise_> HA
00:42:31 <alise_> I DID IT
00:42:32 <Rafajafar> hurray~!
00:42:33 <alise_> BEFORE ANY OF YOU
00:42:33 <alise_> I WIN
00:42:34 <alise_> I WIN
00:42:37 <alise_> YOU ARE ALL TWATS
00:42:38 <alise_> I FAIL THE LEAST
00:42:43 <Rafajafar> or do you?
00:42:44 <Gregor> !twat Every person in this channel
00:42:47 <EgoBot> Every person in this channel is a twat!
00:42:54 <Rafajafar> hahah I love that
00:43:04 <alise_> !twat !twat
00:43:06 <EgoBot> !twat is a twat!
00:43:08 <Rafajafar> oh fuck
00:43:10 <Rafajafar> oh good
00:43:13 <alise_> !twat `echo Everyone
00:43:14 <Gregor> Dern, newlib doesn't have ucontext.h
00:43:16 <EgoBot> `echo Everyone is a twat!
00:43:17 <HackEgo> Everyone is a twat!
00:43:19 <Rafajafar> why did that worry me?
00:43:21 <Rafajafar> damn
00:43:23 <Rafajafar> that was tarded
00:44:04 <Gregor> !twat `echo !twat `echo OH NOSE
00:44:05 <Rafajafar> !twat what is a
00:44:08 <EgoBot> `echo !twat `echo OH NOSE is a twat!
00:44:08 <EgoBot> what is a is a twat!
00:44:09 <HackEgo> !twat `echo OH NOSE is a twat!
00:44:20 <Rafajafar> asdkl;jads
00:44:26 <Rafajafar> !twat what
00:44:29 <EgoBot> what is a twat!
00:44:32 <Rafajafar> !twat what
00:44:35 <EgoBot> what is a twat!
00:44:44 <Gregor> What is twat? Baby don't hurt me
00:44:51 <Rafajafar> !twat alise
00:44:52 <pikhq> FUCKING UCLIBC
00:44:52 <alise_> Don't hurt me
00:44:53 <alise_> No more
00:44:54 <EgoBot> alise is a twat!
00:44:55 <alise_> What is twat?
00:44:57 <alise_> Baby don't hurt me
00:44:59 <alise_> Don't hurt me
00:45:00 <alise_> No more
00:45:00 <Rafajafar> !twat what
00:45:02 <Rafajafar> !twat alise
00:45:02 <Gregor> Fekk, newlib doesn't have ucontext.h ... pile o garbage.
00:45:03 <EgoBot> what is a twat!
00:45:04 <Rafajafar> !twat what
00:45:05 <Rafajafar> !twat alise
00:45:06 <EgoBot> alise is a twat!
00:45:07 <EgoBot> what is a twat!
00:45:08 <EgoBot> alise is a twat!
00:45:21 * alise_ looks up the rest of the lyrics
00:45:28 <alise_> Ugh, they suck even more :P
00:45:35 <alise_> not parodying them
00:47:42 <pikhq> Does anyone happen to know how to find out where GCC *thinks* the include path should be?
00:48:27 <Gregor> Go digging through gcc -dumpspecs? :P
00:48:49 <pikhq> Mrm.
00:49:42 <pikhq> It apparently doesn't.
00:51:23 <oerjan> <alise> I want to write Agora an anthem.
00:51:48 -!- SevenInchBread has joined.
00:51:49 <oerjan> i am pretty sure Agora already has one. in fact i'm pretty sure i came second in the contest to select one.
00:52:01 <oerjan> or wait
00:52:09 <SevenInchBread> between me and your mom I came second.
00:52:10 <alise_> heh, and i was writing a proposal to select one too
00:52:17 <alise_> oerjan: you should come back to agora :(
00:52:25 <alise_> it sucks right now, needs moar oerjan
00:52:29 <oerjan> maybe that was the name Agora itself. i'm _still_ pretty sure there was an anthem contest.
00:52:30 -!- CakeProphet has quit (Disconnected by services).
00:52:34 -!- SevenInchBread has changed nick to CakeProphet.
00:56:26 <pikhq> Bootstrapping a toolchain is really, really annoying.
00:57:17 <pikhq> hello.c:1:19: error: stdio.h: No such file or directory
00:57:19 <pikhq> :(
00:59:40 <ais523> you could just write printf's prototype by hand
00:59:43 <ais523> or puts', if you use that
01:01:49 <alise_> pikhq: you had a B Nomic Era 5 relic named after you
01:02:20 <oerjan> relish your relics
01:04:42 <alise_> coppro: riots in toronto. eh.
01:05:06 -!- Gracenotes has joined.
01:06:11 <oerjan> oh G-20. i thought you meant something _un_expected.
01:09:22 <coppro> they aren't even protestors
01:09:26 <coppro> they give protestors a bad name
01:11:14 <alise_> oerjan: :)
01:11:29 <coppro> it's team "hur dur what can we get away with while the police are distracted"
01:11:31 <alise_> coppro: because they're violent or because it's just a riot? I just read the headline, in true redditor fashion
01:11:38 <alise_> i like the idea of that as a team sport
01:11:41 <alise_> how do you keep track of points?
01:11:49 <coppro> I mean, sure, there are protestors
01:11:51 <coppro> and they are protesting
01:12:14 <coppro> but the rioters are just idiots who probably can't even name 5 members of the G20
01:12:22 <pikhq> --with-sysroot. There we go.
01:12:44 <alise_> coppro: europe, spain, america, canada, italy
01:12:46 <alise_> that's five!
01:12:47 <alise_> oh, and russia
01:12:50 <alise_> that's all of them
01:12:56 <coppro> you win a cookie
01:12:59 <alise_> yay
01:14:59 <Sgeo> WTF
01:15:05 <Sgeo> "S" in ["S"]
01:15:08 <Sgeo> false
01:16:54 <oerjan> otherwise in canada, guess what a volcano in the boundary ranges of british columbia is _officially_ called?
01:18:48 <oerjan> "The Volcano"
01:19:49 <alise_> Sgeo: in isn't an array thing in js
01:19:51 <alise_> it's some property thing
01:19:52 <oerjan> (ref. wikipedia's Did You Know)
01:20:02 <Sgeo> Found that out, ty
01:20:22 <oerjan> in disarray
01:22:08 <Sgeo> Screw you, typo!
01:22:12 <Sgeo> getElemenyById
01:22:46 <oerjan> getAlimonyByEx
01:27:30 <Sgeo> How do I block the form from being submitted
01:29:05 <ais523> IIRC you return false in its onsubmit method
01:29:28 <Sgeo> Doesn't seem to be working
01:35:17 <pikhq> /flinix/usr/include/bits/time.h:74: error: redefinition of 'struct timeval'
01:35:20 <pikhq> Fuck you GCC.
01:35:42 <pikhq> Why the hell is GCC making its own definition of a libc struct, anyways?
01:36:12 * Sgeo facepalms at self
01:37:28 <Sgeo> If anyone wants to see my crappy code, it's at http://sgeo.diagonalfish.net/coord_subtract.htm
01:39:10 -!- calamari has joined.
01:40:48 <alise_> meaningless coords!
01:42:02 <pikhq> Would it *kill* GCC to show *where the previous definition was*?
01:42:16 <pikhq> Because, y'know, this would MAKE SOME SENSE AT ALL YOU FUCKING RETARDS
01:44:13 <ais523> pikhq: it normally does on the next line, IIRC
01:44:36 <pikhq> ais523: It doesn't.
01:44:40 <pikhq> In file included from /flinix/usr/include/sys/select.h:46, from /flinix/usr/include/sys/types.h:220, from ../../../gcc-4.3.4/libgcc/../gcc/tsystem.h:93, from ../../../gcc-4.3.4/libgcc/../gcc/libgcc2.c:33:
01:44:44 <pikhq> /flinix/usr/include/bits/time.h:74: error: redefinition of 'struct timeval'
01:44:47 <pikhq> Thanks a lot, GCC.
01:44:55 <pikhq> *Ooodles* of help, that.
01:45:07 <alise_> http://simple.wikipedia.org/wiki/Autofellatio
01:45:27 <Sgeo> There's a bug
01:45:30 * Sgeo cries
01:46:51 <Sgeo> Or he's just using the completely undocumented interface wrong
01:47:17 <pikhq> And the definition in bits/time.h conflicts with the definition in time.h
01:47:22 <pikhq> WHY DO YOU HATE ME UCLIBC
01:47:26 <pikhq> WHYWHYWHY
01:49:43 <Sgeo> No, he was using _someone else's_ interface wrong
01:49:45 <Sgeo> Not my page
01:49:59 <ais523> best directory name ever: nethac~2.3
01:50:19 <pikhq> alise_: I vote we nuke GCC and uclibc from orbit. Agreed?
01:50:29 <alise_> pikhq: But the uclibc people are nice...
01:50:41 <alise_> pikhq: I propose we nuke UNIX from orbit.
01:50:50 <pikhq> Okay, we can leave them around, but nuke GNU.
01:51:18 <alise_> pikhq: Definitely. And no, nuke GCC.
01:51:30 <alise_> Actually nuke Linux. I propose we create Plan 42.
01:51:50 <pikhq> GCC deserves something stronger than nuking.
01:52:16 <pikhq> Where's the nearest decent-sized black hole?
01:53:00 <alise_> pikhq: You're not going to like the answer to this...
01:53:04 <alise_> Richard Stallman's anus.
01:53:25 <pikhq> alise_: Dammit, GCC must've been from the Hawking radiation.
01:54:50 <alise_> pikhq: Turns out that faeces is processed rather strangely if it comes out of a black hole.
01:54:55 <alise_> Thus, GNU.
01:54:56 <alise_> SCIENCE
02:01:16 <alise_> ...anyway.
02:03:32 -!- wareya_ has quit (Read error: Operation timed out).
02:44:11 -!- Sgeo_ has joined.
02:47:24 -!- Sgeo has quit (Ping timeout: 265 seconds).
02:53:05 <Gregor> Fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuck
02:53:17 <Gregor> newlib has files under 4-clause BSD.
02:53:30 <pikhq> Fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuck
02:53:54 <pikhq> Didn't expect that to happen.
02:53:58 <Gregor> So ... what C library SHOULD I be using.
02:54:04 <Gregor> newlib was so easy to port ... but wtf.
02:54:08 <pikhq> Write one!
02:54:17 <pikhq> There's a notable lack of good ones.
02:54:21 <Gregor> I don't want to :P
02:54:31 <pikhq> Uh.
02:54:41 <Gregor> glibc isn't portable any more ... uClibc wasn't portable in the first place ... newlib is 4-clause ...
02:54:43 <pikhq> There don't *exist* any other portable C libraries.
02:55:02 -!- yiyus has quit (Ping timeout: 276 seconds).
02:55:16 <Gregor> Are they at least all the same 4-clause with University of California? *checks*
02:55:22 <pikhq> Hmm. Wait: you have a way out.
02:55:32 <alise_> Gregor: eclibc?
02:55:34 <pikhq> Because it's a system library, the GPL has an exception for it.
02:55:40 <alise_> *eglibc
02:55:46 <alise_> Gregor: but seriously, write your own
02:55:50 <alise_> libc is quite simple tbh
02:55:52 <alise_> if you do it naively
02:55:54 <alise_> besides, it'll be fun :P
02:56:01 <Gregor> alise_: There's just a lot of shit to do.
02:56:04 <pikhq> This same exception lets you link against Visual C's libc.
02:56:07 <Gregor> More than I want to do.
02:56:14 <alise_> Gregor: It's a Project.
02:56:24 <pikhq> alise_: You should. :P
02:56:26 <Gregor> pikhq: It's just annoying is all, not a halter.
02:56:32 <pikhq> With your copious 2 days a week.
02:56:46 <pikhq> Gregor: Anyways. I believe newlib is the only workable choice.
02:56:59 <alise_> pikhq: 2.1!
02:57:00 <Gregor> Maybe the easiest choice would be to replace the 4-clause parts of newlib!
02:57:04 <pikhq> Because glibc is agony itself to port, and uClibc cannot be ported.
02:57:19 <alise_> If oklopol gave me lodging I could have 7 days a week and also crippling insanity :P
02:57:50 <pikhq> I'm a bit short on lodging to offer *and* being in the EU. :P
02:57:52 * CakeProphet invented the linked list.
02:57:53 <alise_> I need a libc name to create this directory >__>
02:58:26 <pikhq> CakeProphet: Now invent the list of trees of hash maps of lists of arrays of 32-bit address spaces.
02:58:42 <Gregor> http://pastebin.ca/1890153 <-- 4-clause files that are part of the JSMIPS build.
02:59:06 <alise_> Gregor: You don't need manpages.
02:59:10 <CakeProphet> pikhq: ha. a tree of hash maps? I don't think there's a big-o for that kind of memory use. :P
02:59:13 <alise_> Headers you can copy from elsewhere, probably.
02:59:19 <alise_> .c -- sucks to be you
02:59:21 <alise_> but what pikhq said
02:59:24 <alise_> gpl has exception for system libraries.
02:59:32 <Gregor> Like I said, it's not a blocker, it's just annoying.
02:59:51 <Gregor> Also, there are no man pages in that list :P
03:01:05 <alise_> #
03:01:05 <alise_> ./newlib/libc/posix/glob.3
03:01:05 <alise_> #
03:01:05 <alise_> ./newlib/libc/posix/regex.3
03:01:07 <alise_> #
03:01:07 <alise_> ./newlib/libc/posix/fnmatch.3
03:01:15 <alise_> #
03:01:15 <alise_> ./newlib/libc/stdlib/getsubopt.3
03:01:16 <alise_> i disagree.
03:03:33 <alise_> why are names so hard
03:03:35 <alise_> c library
03:03:37 <alise_> standard c library
03:03:41 <alise_> surely that gotta done have a good name
03:03:43 <Gregor> "4-clause files __that are part of the JSMIPS build__."
03:03:47 <Gregor> Man pages are not part of the build
03:05:42 -!- yiyus has joined.
03:06:00 -!- Oranjer has joined.
03:06:49 <alise_> Gregor: well they were in that paste.
03:07:46 <Gregor> Oh crap they were! :P
03:07:51 <Gregor> I missed removing some I guess X-P
03:07:59 <pikhq> alise_: The Umi library.
03:08:08 <alise_> Why Umi?
03:08:21 <alise_> C in Japanese or something like that? :P
03:08:25 <pikhq> "Umi" (海) is Japanese for "ocean" or "sea".
03:08:31 <alise_> Har, fair enough
03:08:35 <alise_> Umi it is.
03:08:44 <ais523> strangely, that's one of the few words of Japanese I actually know
03:08:46 <oerjan> um am i
03:08:56 <pikhq> Bilingualism makes coming up with names a *little* bit easier.
03:08:57 <ais523> although, only the romanisation, not the actual Japanese character
03:08:58 <pikhq> :P
03:09:12 <alise_> Actually, I did know that a bit; I should have thought of it.
03:09:55 <alise_> Hmm, where to start
03:09:57 <alise_> s/$/./
03:09:59 <alise_> stddef.h, then string.h.
03:10:09 <alise_> And I do wonder why I never seem to use revision control until a project is mature.
03:10:46 <oerjan> wait you ever get that far?
03:10:53 * oerjan ducks
03:11:27 -!- MizardX- has joined.
03:11:32 <pikhq> oerjan: Kinda hard to finish projects with 2/7ths of the week.
03:11:36 <alise_> oerjan: Well, no. :)
03:11:40 <alise_> pikhq: I didn't do it beforehand either.
03:11:45 <alise_> I have software ADHD.
03:11:53 <pikhq> alise_: Yeah, but that's just you being you.
03:11:58 <alise_> I code like the wind until I hit something even vaguely challenging or tedious, then close the window and forget about it. :P
03:12:03 <oerjan> good to see my prejudices aren't _always_ wrong
03:12:08 <oerjan> or wait...
03:12:22 * alise_ modifies the definition of offsetof from Wikipedia. Dammit, it's uncopyrightable.
03:13:59 <alise_> ((size_t) ( (char *)&((st *)(0))->m - (char *)0 ))
03:14:00 <alise_> ^ this is stupid
03:14:17 <alise_> ((size_t) (&(st *)0)->m))
03:14:35 <alise_> although maybe that doesn't handle (T*)0 != (T*)((int)0)
03:14:41 <alise_> freebsd uses it, I think, so nyah
03:15:26 <alise_> Is there any reason to define size_t as anything other than "unsigned long"?
03:15:29 <alise_> Like, on any platform?
03:15:30 -!- MizardX has quit (Ping timeout: 260 seconds).
03:15:56 -!- MizardX- has changed nick to MizardX.
03:16:27 <alise_> wchar_t's signedness appears to not be specified.
03:16:28 <pikhq> alise_: None.
03:16:38 <alise_> thusly
03:16:40 <alise_> typedef int wchar_t;
03:16:40 <alise_> :P
03:16:47 <pikhq> Same as char.
03:17:05 <alise_> The type ptrdiff_t is a type that can hold the result of subtracting two pointers. The underlying type of ptrdiff_t varies from implementation to implementation.
03:17:18 <alise_> Is it portable to have this as just "long"? Not strictly, but...
03:17:24 <alise_> Like, is there any crazy platform where it might not be long?
03:17:35 <alise_> On 16-bit ones with 32-bit longs, it's okay, just a bit excessive
03:17:37 <pikhq> Windows.
03:17:50 <pikhq> Windows x86_64, specifically.
03:18:22 <pikhq> Which has 32-bit longs...
03:18:27 <alise_> ...Rage.
03:18:30 <pikhq> Why? Because fuck you.
03:18:32 <alise_> So, I'll make it a platform configuration thing, then.
03:18:56 <alise_> ...Which actually just makes me wonder how to do that. Have the build system copy stuff to the source tree under platform/? Ew.
03:19:54 * oerjan expects the closing window and forgetting about to happen any time now
03:20:00 <oerjan> *about it
03:20:23 <alise_> no, I'm just waiting for pikhq to hand me the answer on a silver platter :D
03:20:30 <CakeProphet> !haskell (toEnum 'A', toEnum 'Z')
03:20:43 <CakeProphet> !haskell (fromEnum 'A', fromEnum 'Z')
03:20:44 <CakeProphet> doh
03:20:44 <EgoBot> (65,90)
03:22:08 <alise_> PIKHQ QQQQQQQQQQQ
03:22:24 <pikhq> alise_: sed sed sed sed LOVELY SED! WONDERFUL SED!
03:22:32 <alise_> pikhq: You ... you are joking.
03:22:39 <alise_> They ... sed the source tree? But they'd have to copy it... and build that ...
03:22:42 <alise_> And that is terrible.
03:23:08 <alise_> http://static.tvtropes.org/pmwiki/pub/images/lex5sz.jpg
03:23:11 <oerjan> !sh echo sed sed sed sed | sed 's/sed/sed sed sed sed/'
03:23:12 <EgoBot> sed sed sed sed sed sed sed
03:23:13 <pikhq> sed s/sed/spam/
03:23:17 <oerjan> er
03:23:20 <alise_> In fact, I'd say using sed is as many as four tens.
03:23:20 <oerjan> !sh echo sed sed sed sed | sed 's/sed/sed sed sed sed/g'
03:23:21 <EgoBot> sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed
03:23:32 <alise_> pikhq: No but seriously... is that how they do it?
03:23:40 <alise_> Why not just have a libc/platform directory, at least?!
03:24:04 <pikhq> alise_: Or have a libc/platform directory with copies of files.
03:24:12 <pikhq> Or have a header generator script.
03:24:14 <alise_> pikhq: Copies? But why?!
03:24:19 <alise_> pikhq: I was just going to have the header files do
03:24:24 <pikhq> Because fuck you.
03:24:26 <alise_> #include <__umi_platform/stddef.h>
03:24:27 <alise_> or something
03:24:37 <alise_> for those bits
03:24:59 <oerjan> oh wait
03:25:35 <oerjan> !sh echo sed sed sed sed | sed 's/sed/sed sed/g' | sed 's/sed/sed sed sed sed sed/g'
03:25:36 <EgoBot> sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed sed
03:26:16 <alise_> pikhq: ... Maybe I could run cpp on the headers so that they can include the platform files and yet still generate proper header f... insanity looming.
03:26:25 <alise_> Using cpp to generate header files. :P
03:26:32 <pikhq> That's as many as four tens! And that's terrible.
03:26:49 <pikhq> alise_: You're using CPP to generate CPP files.
03:26:53 <oerjan> *MWAHAHAHA*
03:28:02 <alise_> We all know that what Lex Luthor really wants in life is cakes. Forty of them.
03:28:25 <oerjan> !sh echo sed sed sed sed | sed 's/sed/sed sed/g' | sed 's/sed/sed sed sed sed sed/g' | sed 's/sed/cake/g'
03:28:25 <EgoBot> cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake cake
03:28:44 <CakeProphet> !haskell import System.Random; main = do {len <- pick [2..10]; liftM putStrLn $ replicateM len $ pick ['A'..'Z']} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:29:12 <CakeProphet> hmmm
03:29:16 * oerjan thinks there's an unmatched {
03:29:19 <CakeProphet> ah.
03:29:24 <CakeProphet> wait no.
03:29:29 <CakeProphet> there's only one of each.
03:29:37 <oerjan> oh
03:30:32 <CakeProphet> !haskell let pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!) in pick [1..10]
03:30:34 <EgoBot> 2
03:30:49 <CakeProphet> hmmm...
03:30:54 <oerjan> i don't think you want liftM putStrLn
03:30:57 <alise_> pikhq: You know what? Fuck Windows.
03:31:01 <alise_> Is there anything /else/ that does that?
03:31:07 <pikhq> No.
03:31:11 <pikhq> Just fucking Windows.
03:31:14 <CakeProphet> oerjan: pick is returning IO [Char] right?
03:31:49 <oerjan> yes. but you don't use liftM to apply a monadic function
03:32:32 <CakeProphet> ah. fmap?
03:32:40 <CakeProphet> I just want to avoid writing another do-bind. :P
03:33:07 <oerjan> s/liftM putStrLn $ replicateM len/mapM_ putStrLn . replicate len/
03:33:09 <alise_> pikhq: Well, you know what?
03:33:14 <alise_> Fuck the fucking shit out of Windows.
03:33:21 <alise_> Not playing that damn game.
03:33:26 <oerjan> oh wait
03:33:41 <Sgeo_> Why are we talking about Windows?
03:33:42 <pikhq> Yeah, Windows can go to hell.
03:33:59 <CakeProphet> !haskell import System.Random; main = do {len <- pick [2..10]; mapM_ putStrLn $ replicate len $ pick ['A'..'Z']} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:34:20 <CakeProphet> are you sure I don't want replicateM?
03:34:23 <oerjan> CakeProphet: i thought wrong
03:35:03 <CakeProphet> !haskell import System.Random; main = do {len <- pick [2..10]; mapM_ putStrLn $ replicateM len $ pick ['A'..'Z']} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:35:28 <CakeProphet> I'll try this instead...
03:35:30 <oerjan> !haskell import System.Random; main = do {len <- pick [2..10]; print =<< (replicateM len $ pick ['A'..'Z']}) where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:35:35 <alise_> Now to write string.h.
03:35:37 <alise_> Then string.c.
03:35:37 <oerjan> argh
03:35:48 <pikhq> String functions: glee.
03:35:48 <oerjan> !haskell import System.Random; main = do {len <- pick [2..10]; print =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:35:53 <alise_> pikhq: Theory: If I don't do something retarded like glibc does, and just code obviously, it will be fast.
03:35:58 <oerjan> sheesh
03:36:07 <oerjan> !haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; print =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:36:10 <EgoBot> "DAAWYGGZAA"
03:36:19 * alise_ starts reading POSIX, not Wikipedia.
03:36:37 <pikhq> alise_: Answer: maybe not as fast as glibc in some cases (some of its complication is for *actual* performance benefits), but undoubtedly fast enough.
03:36:46 <CakeProphet> !haskell import System.Random; main = do {len <- pick [2..10]; putStrLn =<< replicateM len $ pick ['A'..'Z']} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:36:51 <oerjan> oh it's just one string
03:36:51 <alise_> [[The implementation shall support one or more programming environments in which the widths of ptrdiff_t, size_t, and wchar_t are no greater than the width of type long. The names of these programming environments can be obtained using the confstr() function or the getconf utility.]]
03:36:53 <alise_> What.
03:36:56 <pikhq> After all, this is how the BSDs do their libc.
03:36:57 <alise_> ...Shut up, POSIX.
03:37:07 <alise_> You're just blabbing about nothing now.
03:37:10 <oerjan> CakeProphet: see mine
03:37:24 <alise_> RATIONALE
03:37:24 <alise_> None.
03:37:30 <oerjan> you need an import, and =<< has higher precedence than $
03:37:31 <pikhq> In fact, you may wish to just copy-paste swaths from BSD libc.
03:37:37 <CakeProphet> oerjan: thought it was the same.
03:37:54 <alise_> Does... anyone use strxfrm?
03:38:10 <oerjan> nope. hm maybe it should have been...
03:38:13 <alise_> pikhq: I'm an MIT-licensing perfectionist NIHer. :-)
03:38:18 <alise_> For the C locale, strxfrm() is equivalent to:
03:38:18 <alise_> strncpy(s1, s2, n);
03:38:18 <alise_> return strlen(s1);
03:38:24 <alise_> I have this horrible feeling I really /should/ support locales.
03:38:36 <pikhq> alise_: It *is* nice to support locales.
03:38:41 <oerjan> !haskell (0$0=<<)
03:38:43 <alise_> But also a bitch.
03:38:44 <pikhq> Though it's also a pain in the ass.
03:38:53 <oerjan> argh
03:38:55 <alise_> Eh, good enough for Jesus, good enough for me.
03:38:58 <pikhq> I suggest not doing that initially.
03:39:06 <oerjan> !haskell main = (0$0=<<)
03:39:11 <CakeProphet> !haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:39:14 <EgoBot> XWVHNMVPEP
03:39:18 <pikhq> I'd imagine it's easier to add to a functioning C library.
03:39:22 <alise_> void *memccpy(void *restrict, const void *restrict, int, size_t);
03:39:23 <oerjan> =<< is infixr 1
03:39:28 <alise_> Restrict? I even had to look up what that is.
03:39:30 <alise_> Fuck you, POSIX.
03:39:30 <CakeProphet> hmmm... maybe I should weight it for smaller acronyms.
03:39:56 <pikhq> alise_: A restrict pointer should not alias.
03:40:01 <alise_> pikhq: I know.
03:40:02 <CakeProphet> weighting for more common English starting letters would also make better acronyms.
03:40:03 <alise_> Who uses memccpy?
03:40:20 <CakeProphet> oerjan: would that run as a userinterp as it stands?
03:40:36 <pikhq> Someone who... Wants to copy all up until a terminating byte?
03:40:51 <alise_> pikhq: SHUT UP. :|
03:40:52 <pikhq> I can *imagine* someone using it, but I've never seen it used.
03:41:09 <alise_> mozilla/intl/locale/src/unix/nsCollationUnix.cpp
03:41:09 <alise_> DoSetLocale();
03:41:09 <alise_> / call strxfrm to calculate a key length
03:41:09 <alise_> int len = strxfrm(NULL, str, 0) + 1;
03:41:09 <alise_> DoRestoreLocale();
03:41:10 <alise_> archive.mozilla.org/pub/mozilla/releases/mozilla0.9.2/src/mozilla-source-0.9.2.tar.bz2
03:41:13 <alise_> Mozilla 0.9.2 uses it!
03:41:25 <pikhq> alise_: Hell, just write it. It's a single line of C and at least not *evil* to have.
03:41:45 <alise_> pikhq: but I feel nasty typing restrict :P
03:41:52 <pikhq> I'd suggest making the more unsafe string functions exit(0). :P
03:41:55 <alise_> pikhq: Will stuff break if I omit the copious const declarations?
03:42:01 <Gregor> gets = exit(0)
03:42:26 <pikhq> Erm. exit(255)
03:42:32 <pikhq> alise_: No, but the const declarations let the compiler produce better code.
03:42:42 <alise_> pikhq: I know, but in the headers?
03:43:07 <pikhq> alise_: Prevents people from writing incorrect code.
03:43:16 <alise_> Fine, fine.
03:43:19 <alise_> Oh, memccpy is actually optional.
03:43:19 <oerjan> CakeProphet: i would imagine so, no input though
03:43:21 <pikhq> It won't make a difference for *valid* code.
03:43:23 <alise_> XSI.
03:43:44 <pikhq> Also, that wasn't around for C89.
03:43:49 <alise_> And the _r functions are thread-safe ones.
03:43:54 <alise_> Who uses threads, right?
03:43:59 <alise_> I'm sure as fuck not implementing pthreads right now.
03:44:05 <alise_> I'm not retarded.
03:44:23 <pikhq> Alias to the non-reentrant ones unless you really feel like implementing pthreads.
03:44:40 <pikhq> (*really* implementing, not borrowing a userspace implementation)
03:44:46 <alise_> pikhq: They have different types.
03:45:13 <alise_> pikhq: Is it legal to copy the function declarations from POSIX?
03:45:19 <alise_> They seem almost copyrightable.
03:46:34 <pikhq> alise_: The function declarations? All libcs do.
03:46:44 <oerjan> CakeProphet: also pick itself is a good place for using liftM
03:46:48 <pikhq> Except when they add their own extensions for varous reasons.
03:47:14 <pikhq> If every other person with a hosted C implementation does, I think you're safe. :P
03:47:19 * alise_ writes memcpy first.
03:47:20 <CakeProphet> !addinterp simpleacro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:47:21 <EgoBot> Interpreter simpleacro installed.
03:47:26 <CakeProphet> !simpleacro
03:47:29 <EgoBot> HSAVV
03:47:32 <oerjan> !haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = liftM (a!!) $ randomRIO (0, length a - 1)
03:47:34 <EgoBot> XNSLLTGQ
03:48:08 * alise_ notes that strcpy(dst, src) = memcpy(dst, src, 0, ... oh, you can't actually specify length here easily)
03:48:59 <olsner> incidentally, memcpy+strlen with a good memcpy and a good strlen is better than most attempts at writing a special strcpy function
03:49:25 <CakeProphet> if you need shittily written libc functions
03:49:32 <CakeProphet> I have a MUD codebase that does such things.
03:49:36 <alise_> void *memcpy(void *restrict dst, const void *restrict src, size_t n)
03:49:36 <alise_> {
03:49:36 <alise_> void *s = src;
03:49:36 <alise_> while (s < src+n)
03:49:36 <alise_> *dst++ = *s++;
03:49:36 <alise_> }
03:49:38 <pikhq> olsner: ... Two passes are better than one?
03:49:38 <alise_> tadaaaaaa~
03:49:43 <pikhq> What the hell is wrong with you?
03:50:02 <alise_> pikhq: i think he means the crazy long-reading strlen trick and crazy optimised memcpy
03:50:03 <pikhq> CakeProphet: Not shittily written. *Readably* written. :)
03:50:07 <alise_> vs trying to write strcpy yourself
03:50:38 <pikhq> alise_: I'm pretty sure you could beat the combo by making a strcpy that does long-reading and that crazy optimisation. :)
03:50:46 <alise_> char *strcpy(char *restrict dst, const char *restrict src)
03:50:46 <alise_> {
03:50:46 <alise_> while (*src)
03:50:46 <alise_> *dst++ = *src++;
03:50:46 <alise_> }
03:50:47 <pikhq> Though, not by much.
03:50:48 <alise_> libc sure is easy!
03:51:10 <CakeProphet> now MonadLibC
03:51:25 <CakeProphet> alright... this is the official acronym for this project:
03:51:27 <CakeProphet> !simpleacro
03:51:30 <EgoBot> KYWCE
03:51:40 <oerjan> which project?
03:51:45 <CakeProphet> Kills Your Whole C Experience
03:51:51 <alise_> Kiwis Yell Willingly: "Cats Ejaculate!"
03:51:57 <CakeProphet> rofl
03:52:04 <alise_> tl;dr New Zealanders commit beastiality on a regular basis
03:52:36 <oerjan> at least they won't get rabies
03:52:55 <CakeProphet> I called it "simpleacro" so that a much better "acro" command can be made... with, you know, letter and length weighting and stuff.
03:52:59 <CakeProphet> !simpleacro
03:53:01 <EgoBot> NRLCATJ
03:53:15 <alise_> pikhq: You don't want me to implement strcat, do you. :P
03:53:49 <pikhq> alise_: strcat *can* be used safely.
03:54:08 <alise_> char *strcat(char *restrict dst, const char *restrict src)
03:54:08 <oerjan> no real life, codes acronym toys joyfully
03:54:08 <alise_> {
03:54:08 <alise_> while (*dst)
03:54:08 <alise_> dst++;
03:54:08 <alise_> strcpy(dst, src);
03:54:09 <alise_> }
03:54:11 <alise_> Why is this so damn easy.
03:54:21 <CakeProphet> oerjan: ha.
03:54:23 <pikhq> gets returns NULL.
03:54:24 <alise_> pikhq: I should probably mark such simple loops inline, shouldn't I?
03:54:35 <alise_> inlining
03:54:38 <pikhq> alise_: Wouldn't matter.
03:54:39 <alise_> while (*dst)
03:54:39 <alise_> dst++;
03:54:39 <alise_> while (*src)
03:54:39 <alise_> *dst++ = *src++;
03:54:41 <alise_> seems to be obviously good
03:54:42 <alise_> pikhq: why not?
03:54:45 <alise_> Clever compilers?
03:54:50 <alise_> Bah, this is C; we should rely on no compiler!
03:54:59 <CakeProphet> !simpleacro
03:55:02 <EgoBot> KXDEXW
03:55:06 <CakeProphet> ha. X
03:55:07 <alise_> I don't think memcpy and memset should be inlined, as they take up a variable slot.
03:55:08 <pikhq> You need to stick it in the header as static inline *in addition* to being in the object file if it's going to make a difference.
03:55:10 <alise_> And registers are scarce on x86.
03:55:20 <pikhq> Otherwise, let the compiler be smart.
03:55:20 <alise_> pikhq: And? :P
03:55:23 <alise_> Okay, fine.
03:55:31 <CakeProphet> X should have like 0,000..1 probability
03:55:35 <pikhq> alise_: Add inlines later.
03:55:44 <pikhq> Right now, make a basic, good libc.
03:56:09 * alise_ makes a policy: destination strings/memory locations are "dst", sources are "src", strings just operated on (e.g. strlen) are "s".
03:56:17 <CakeProphet> I think we programmers expect far too much from our compilers
03:56:21 <CakeProphet> some kind of crazy AI
03:56:29 <pikhq> char *gets(char *s){return NULL;}
03:56:34 <pikhq> There, I wrote a function for you.
03:56:53 <pikhq> gets returns NULL on error.
03:56:54 <alise_> pikhq: I... think that gets should be supported.
03:56:59 <pikhq> And obviously all uses are errors.
03:57:00 <pikhq> alise_: No.
03:57:07 <pikhq> gets is a 100% guaranteed buffer overflow.
03:57:14 <alise_> Not always.
03:57:20 <alise_> Consider IRC, with its maximum line limit.
03:57:49 <pikhq> alise_: Only for complying clients/servers.
03:57:58 <pikhq> And non-compliant one would rape you.
03:57:58 <oerjan> koala x-rays destroy every xenophobic wallaby
03:58:07 <pikhq> gets is a buffer overflow. Full stop.
03:58:32 <CakeProphet> oerjan: it is hard to resist isn't it?
03:58:34 <CakeProphet> !simpleacro
03:58:37 <oerjan> (bloodbath in australia)
03:58:37 <EgoBot> GITHGLRS
03:59:19 <oerjan> god, it's that horrible gregor's language reimplementation system
03:59:45 <alise_> :D
03:59:47 <pikhq> strcpy can stay: it's possible to use safely.
03:59:57 <alise_> char *strcpy(char *restrict dst, const char *restrict src)
03:59:58 <alise_> {
03:59:58 <alise_> char *ret = dst;
03:59:58 <alise_> while (*dst++ = *src++);
03:59:58 <alise_> return ret;
03:59:59 <alise_> }
04:00:00 <pikhq> But gets must be PURGED FROM THE FACE OF THE PLANET.
04:00:01 <alise_> I should really be less naive.
04:00:33 <alise_> pikhq: How about: if you use gets, and compile your program normally, you get a flaming red yelling poker-in-the-ass error. If you define -DI_DEMAND_GETS, it works, but warns you.
04:00:37 <alise_> *How about this:
04:00:48 <pikhq> alise_: Okay. I can deal with that.
04:01:04 <CakeProphet> char *breakstr(char * s) { for(int i=0; s[0] != '\0'; s++){} s[i] = '\n'; return s;}
04:01:10 <CakeProphet> I are well at hacking and grammar
04:02:06 <alise_> while (*s++ != c)
04:02:06 <alise_> if (!*s) return NULL;
04:02:06 <alise_> return s;
04:02:07 <alise_> la la la
04:02:13 <alise_> Guess the function :-P
04:03:00 <alise_> Hmm... strcmp arguments are s and t or s1 and s2, I wonder.
04:03:02 <alise_> s1 and s2.
04:03:19 <CakeProphet> !simpleacro
04:03:22 <EgoBot> RK
04:03:28 <CakeProphet> ...
04:03:33 <pikhq> How very strchr.
04:03:36 <CakeProphet> do any English words start with k?
04:03:58 <oerjan> random key
04:04:03 <pikhq> CakeProphet: Plenty.
04:04:46 <alise_> int strcmp(const char *s1, const char *s2)
04:04:46 <alise_> {
04:04:46 <alise_> while (*s1++ != *s2++)
04:04:46 <alise_> if (!*s1 || !*s2) break;
04:04:46 <alise_> return (int)((unsigned char)*s1 - (unsigned char)*s2);
04:04:46 <alise_> }
04:04:48 <alise_> Bit gnarly, but there you go.
04:05:12 <CakeProphet> !simpleacro
04:05:15 <EgoBot> WXSA
04:05:21 <CakeProphet> sounds like a radio station
04:05:40 <pikhq> http://en.wiktionary.org/wiki/Special:PrefixIndex/K
04:05:47 <oerjan> alise_: um shouldn't it continue while they're _equal_?
04:05:53 <alise_> er, yes.
04:06:02 <pikhq> Argh, that includes foreign languages.
04:06:15 <pikhq> All free for loaning though.
04:06:37 <oerjan> why xenon suffocates albanians
04:06:56 <pikhq> CakeProphet: Kick.
04:07:52 <CakeProphet> !simpleacro
04:07:55 <EgoBot> PIQDK
04:08:36 <CakeProphet> Pikhq Ingests Quality Delicious Kraut
04:08:43 <oerjan> pikhq is quite ... damn
04:09:05 * pikhq *does* enjoy some kraut, particularly when sauer.
04:09:07 <Gregor> I wish I was ingesting quality delicious kraut :(
04:09:17 <Warrigal> !simpleacro
04:09:20 <EgoBot> JN
04:09:25 <oerjan> just nothing
04:09:26 <Warrigal> Java Node.
04:09:30 <alise_> void *memccpy(void *restrict dst, const void *restrict src, int c, size_t n)
04:09:30 <alise_> {
04:09:30 <alise_> void *srcp = src;
04:09:30 <alise_> while (srcp < src+n) {
04:09:30 <alise_> *dst++ = *src++;
04:09:30 <Warrigal> oerjan wins.
04:09:31 <alise_> if ((unsigned char)*dst == (unsigned char)c) return dst;
04:09:33 <alise_> }
04:09:35 <alise_> return NULL;
04:09:37 <Warrigal> !simpleacro
04:09:37 <alise_> }
04:09:39 <alise_> Doodedoo.
04:09:39 <EgoBot> GOYGIE
04:09:42 <pikhq> Japan Nouveaou.
04:09:53 <coppro> Good Orange Yemen Go In Edifices
04:10:09 <oerjan> that's nonsensical!
04:10:17 <CakeProphet> ...hmmm
04:10:18 <CakeProphet> no
04:10:20 <Warrigal> Give Others Yours, Get Internet Everywhere
04:10:21 <CakeProphet> I can imagine such a thing.
04:10:31 <CakeProphet> hahaha.
04:10:40 * alise_ resolves not to use the "T a, b" style declarations.
04:10:45 <pikhq> Goku Owns Your Gohan In Eternity
04:10:53 <CakeProphet> This naively constructed acronym generator will provide hours of fun.
04:11:04 <Warrigal> !simpleacro
04:11:07 <EgoBot> QTQAZZ
04:11:13 <CakeProphet> difficult.
04:11:32 <CakeProphet> Maybe fungot knows.
04:11:33 <fungot> CakeProphet: note that length list-tail each iterate over the array, not an atheist. you cannot _read_ a procedure... map is... looking that up
04:11:44 <oerjan> quit this quiz, avoid zany zombies
04:11:44 <CakeProphet> hahaha. not an atheist.
04:11:52 <CakeProphet> oerjan: nicely done.
04:11:55 <pikhq> Quack The Quack All Ze Zimmerman
04:11:56 <alise_> http://pastie.org/1020504.txt?key=51oe62xhyjjvfyp2p73rzq
04:11:58 <Warrigal> Note to self: this function does not iterate over an atheist.
04:12:04 <alise_> Could it get any more ridiculously simple?!
04:12:22 <CakeProphet> `style
04:12:24 <HackEgo> No output.
04:12:29 <CakeProphet> er
04:12:34 <CakeProphet> which one is it?
04:12:43 <pikhq> alise_: That's a beautiful string.c.
04:13:41 <pikhq> alise_: I look forward to your stdio.h
04:13:46 <pikhq> Erm.
04:13:46 <pikhq> stdio.c
04:13:54 <alise_> pikhq: A scary prospect.
04:14:02 <pikhq> I'm going to guess it involves "screw buffering".
04:14:06 <alise_> Thankfully the syscalls will go in a Top Sekrit Platform Specific Thing.
04:14:10 <alise_> pikhq: Well ... perhaps not.
04:14:15 <alise_> Ideally this thing would be usable on a desktop system.
04:14:21 <pikhq> Mmm.
04:14:34 <pikhq> Anyways, the syscalls should be all inside of a syscall.c or something...
04:14:36 <olsner> hmmm... *dstp and dstp++, where dstp is a void-pointer?
04:14:42 <pikhq> Making this actually reasonable to port. :P
04:15:03 <CakeProphet> !simpleacro
04:15:06 <EgoBot> GNIPH
04:15:17 <oerjan> get no infernal pixies here
04:15:30 <CakeProphet> s/get/got
04:15:34 <pikhq> alise_: BTW, be aware that sticking your functions in a single file while using static linking will make all the functions be pulled in.
04:15:36 <alise_> olsner: oops.
04:15:49 <alise_> wait, where's that?
04:16:13 <alise_> pikhq: Yeah, I might use a script to put them all in separate files, if I'm processing source anyway.
04:16:18 <pikhq> Mmm.
04:16:48 <oerjan> processed sauce
04:16:58 <alise_> Laa, almost day time.
04:17:06 <alise_> pikhq: I mean, having string/funcname.c would suck.
04:18:38 <CakeProphet> !simpleacro
04:18:41 <EgoBot> LQF
04:18:48 <CakeProphet> Low Quality Fornication.
04:18:49 <oerjan> liquid quantum field
04:19:00 <CakeProphet> is that an actual sciencey term?
04:19:08 <oerjan> no f idea
04:19:16 <CakeProphet> !simpleacro
04:19:19 <EgoBot> MPXBEYB
04:19:19 <alise_> Dawn ...
04:19:36 <pikhq> alise_: Wait, you're dereferencing a void*?
04:19:58 <alise_> Well, in a way...
04:19:59 <alise_> while (srcp < src+n)
04:19:59 <alise_> *dstp++ = *srcp++;
04:20:03 <alise_> I am not fully awake.
04:20:19 <pikhq> s/void*/char*/
04:20:23 <Sgeo_> The only thing less intuitive than my calculator is YASBB
04:20:24 <pikhq> Should work.
04:20:36 <alise_> void *memset(void *dst, int c, size_t n)
04:20:36 <alise_> {
04:20:36 <alise_> void *dstp = dst;
04:20:36 <alise_> while (dstp < dst+n)
04:20:36 <alise_> *(int *)dstp++ = c;
04:20:37 <alise_> return dst;
04:20:39 <alise_> }
04:20:41 <alise_> Okay, that is correct.
04:20:43 <alise_> Oh, right, just make dstp an int *.
04:20:59 <olsner> ehm, no, that's not right either :)
04:21:04 <alise_> Indeed, it isn't.
04:21:11 <alise_> I should really embed myself.
04:21:15 <pikhq> Yes, that is *valid C*. But not at all correct.
04:21:24 <oerjan> most precious xanadu, be everything you've been
04:23:09 <oerjan> yet another stupid beer bottle
04:23:17 * alise_ attempts to engage brain
04:23:19 * alise_ yawns
04:23:57 <alise_> void *memset(void *dst, int c, size_t n)
04:23:57 <alise_> {
04:23:57 <alise_> char *dstp = dst;
04:23:57 <alise_> while (dstp < dst+n)
04:23:57 <alise_> *dstp++ = c;
04:23:58 <alise_> return dst;
04:24:00 <alise_> }
04:24:01 -!- Oranjer has left (?).
04:24:02 <alise_> Now I am the Lizard Queen!
04:26:01 <alise_> *Now I am the LIZARD QUEEN.
04:29:47 <alise_> http://pastie.org/1020513.txt?key=zbla0g3v0dib00inavatqq
04:29:49 <alise_> string.c version 2
04:31:51 <pikhq> It's correct!
04:32:33 <alise_> yaaaaaaaaaaaaerktoijsdffffdddddddddddd zzzzzzzzzzzzzzzzzzzzzzz
04:32:44 <alise_> pikhq: should I do the fun long thing now
04:33:04 <alise_> long reading
04:33:18 <oerjan> we suggest a fun long sleep
04:33:30 <pikhq> Mmm.
04:34:07 <alise_> this is why i need melatonin, maybe i'll order tomorrow
04:34:10 * alise_ does assert.h
04:34:43 <alise_> If NDEBUG is defined as a macro name before the inclusion of this header, the assert() macro shall be defined simply as:
04:34:43 <alise_> #define assert(ignore)((void) 0)
04:34:46 <alise_> it has to be defined precisely like that
04:34:49 <alise_> including the lack of space :P
04:35:21 * Sgeo_ will be attending a party in SL on Monday :D
04:35:26 <pikhq> It's possible to tell what the actual definition is.
04:35:46 <pikhq> Figure out a way to get it quoted, and voila.
04:35:51 <pikhq> Also viola.
04:36:23 <Sgeo_> Is there a reliable way to be certain thar arbitrary code is quoted?
04:36:35 <Sgeo_> *that
04:36:52 * Sgeo_ decides that it depends on the language
04:38:58 <pikhq> "Quoted" in terms of C means getting it to go through the quoting operator of the preprocessor, which sticks it inside of quote marks.
04:39:27 <pikhq> Getting you a string literal.
04:39:37 <alise_> #define assert(c) \
04:39:37 <alise_> ((c) || (fprintf("Assertion (%s) failed in %s, at %s:%d.\n", #c, \
04:39:37 <alise_> __func__, __FILE__, __LINE__), abort()), \
04:39:37 <alise_> (void)0)
04:39:56 <alise_> *stderr,
04:42:05 <alise_> DESCRIPTION
04:42:05 <alise_> The <monetary.h> header shall define the following types:
04:42:05 <alise_> size_t
04:42:05 <alise_> As described in <stddef.h>.
04:42:05 <alise_> ssize_t
04:42:05 <alise_> As described in <sys/types.h>.
04:42:07 <alise_> The following shall be declared as a function and may also be defined as a macro. A function prototype shall be provided.
04:42:10 <alise_> ssize_t strfmon(char *restrict, size_t, const char *restrict, ...);
04:42:12 <alise_> wut.
04:42:47 <Sgeo_> Wait, why is monetary.h defining somethin that's defined elsewhere?
04:43:11 <olsner> it provides a function prototype using those types
04:43:32 <olsner> so it must define them, and must define them exactly the same way as everything else (obviously)
04:45:15 <Sgeo_> It can't just include <sys/types.h> and <stddef.h> because that would be essentially including those whether clients want it or not?
04:45:43 <olsner> I think you usually have internal headers in the libc that can define exactly what you need from the other headers
04:46:15 <olsner> e.g. #define NEED_SIZE_T and #include "bits/stddef.h" or something like that
04:46:38 <Sgeo_> Is there an #undefine?
04:46:42 <olsner> yep
04:46:46 <Sgeo_> Ok, that makes sense then
04:46:47 <olsner> #undef
04:47:20 <Sgeo_> So wait, why does monetary.h define those types again?
04:48:12 <olsner> because it needs to use them, and there's no other way to use them than to define them first
04:48:43 <Sgeo_> What about including those partial header things with NEED_SIZE_T?
04:49:04 <olsner> that's an example of what monetary.h could be doing internally
04:49:08 <alise_> 4:49 sigh
04:49:15 <olsner> in order to get those typedefs defined
04:49:44 <olsner> alise_: 5:49 here :)
04:49:53 <alise_> olsner: not slept?
04:50:02 <olsner> not yet, but sleep is imminent
04:50:50 <Sgeo_> I think this guy is incapable of reading documentation
04:51:13 <olsner> isn't everyone?
04:51:49 <Sgeo_> http://www.andras.net/yasbb.html#mozTocId911022 reading this, are you able to determine how to rotate the to-be-built stuff around a coordinate?
04:52:52 <Rafajafar> !twat alise
04:52:54 <EgoBot> alise is a twat!
04:54:55 <Sgeo_> !twat Rafajafar
04:54:57 <EgoBot> Rafajafar is a twat!
04:55:56 <alise_> !delinterp twat
04:55:57 <EgoBot> Interpreter twat deleted.
04:58:08 <Sgeo_> !echo EgoBot is a twat
04:58:09 <EgoBot> EgoBot is a twat
04:58:44 <Sgeo_> alise_, time to go hallucinate for a while
04:58:50 <Sgeo_> Even if you don't remember the hallucinations
05:00:22 <alise_> night
05:00:50 -!- alise_ has quit (Quit: Leaving).
05:01:10 -!- Rafajafar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6/20100115144158]).
05:02:07 -!- aschueler has quit (Quit: leaving).
05:25:46 <Gregor> Trying to compile GNU coreutils with JSMIPS >: )
05:26:00 <Gregor> The lib part compiles now, which is a plus (had to stub out some socket stuff though)
05:29:31 <Sgeo_> If you rotate a graph around 500, 500 by 0 degrees, how much do things move?
05:29:48 <coppro> uh
05:30:03 <coppro> Sgeo_: it is uncharacteristic of you to ask such a dumb question
05:30:26 <Sgeo_> Anyone want to tell YASBB that it shouldn't be moving things at all?
05:30:44 <Sgeo_> Rotate old prop around: 0, 0, angle 0 doesn't move a thing
05:30:54 <Sgeo_> Put numbers in, and leave angle at 0, and it moves things
05:34:18 <Sgeo_> I put in 12345 for the north coordinate to rotate around, leave angle at 0, and it translates things 12345 southward
05:34:19 <oerjan> well to rotate around (x,y) you can do it in three steps: (1) subtract (x,y) from the coordinates (2) rotate around (0,0) instead (3) add (x,y) back
05:34:57 <oerjan> if that doesn't give you the same result, something's probably wrong
05:35:32 <Sgeo_> I think it's safe to say something's already wrong here
05:35:42 <Sgeo_> And that multistep process is somewhat inconvenient
05:35:47 <Sgeo_> Even to test, tbh
05:36:00 <oerjan> well it's purely functional :D
05:36:37 <oerjan> hm there's another way
05:36:47 <oerjan> or wait no
05:36:56 <Sgeo_> How about helping me figure out WTF is wrong with this software?
05:37:06 <Sgeo_> http://www.andras.net/yasbb.html#mozTocId911022 is there something I'm not seeing?
05:40:24 <oerjan> no idea
05:42:25 <oerjan> unless you are filling in the numbers at the left, which are not about rotation at all i think
05:43:13 <oerjan> and might very well translate things
05:47:49 <Sgeo_> Those numbers are 0
05:48:15 <oerjan> oh well
05:50:51 <Sgeo_> I may very well end up writing my own rotation stuff
05:53:03 <oerjan> (z-c)*e^(ia) + c = z*e^(ia) + c(1 - e^(ia))
05:53:54 <Sgeo_> I'm sure I'll be able to figure out the math on my own
05:54:11 <oerjan> meaning basically, if you first calculate where (0,0) _should_ go, then you can afterward rotate around (0,0) and just add that
05:54:42 <oerjan> meaning you only need 2 steps
05:55:44 <Gregor> pikhq: Some logs from FreeBSD suggest that the advertising clause can be removed, it's all been relicensed.
05:56:42 <pikhq> Gregor: Oh, those are copied from FreeBSD?
05:56:55 <pikhq> Yeah, the BSDs made a point of getting them relicensed.
05:57:06 <Gregor> Yeah, they're copied from ancient FreeBSD.
05:57:11 <Gregor> Apparently pre-2004 :P
05:57:12 <pikhq> Oh, right. "Regents of the University of California".
05:57:21 <pikhq> Yeah, that's been relicensed by the Regents.
05:57:35 <Gregor> I should petition RedHat to fix the license in newlib.
05:57:40 <Gregor> 'cuz that was a depressing moment X-D
05:57:45 <pikhq> XD
06:01:32 <Gregor> In that case, newlib is still awesome :P
06:13:02 <Gregor> Actually, newlib IS pretty awesome. It's wildly incomplete, but it's a sufficient platform to build a real libc on, while taking care of all the stupid boilerplate for you.
06:16:10 <Sgeo_> I suppose maybe tomorrow #esoteric can figure out the semantics of YASBB rotation
06:27:41 -!- Gregor-L_ has joined.
06:27:58 <Gregor-L_> I've built newlib like fifty times in the last hour :P
06:29:48 <pikhq> Awesome.
06:30:18 -!- Gregor has quit (Ping timeout: 252 seconds).
06:32:30 -!- Gregor-L_ has quit (Ping timeout: 252 seconds).
06:37:01 -!- Gregor-L_ has joined.
06:52:18 -!- GreaseMonkey has joined.
06:53:21 <Gregor-L_> coreutils compiles!
06:53:27 <Gregor-L_> Which of course means that it works.
06:53:39 <oerjan> obviously.
06:54:39 <Gregor-L_> Except for the docs, which don't build and are annoying >_<
07:11:08 <Gregor-L_> Well, GNU ls works
07:11:13 -!- Gregor-L_ has changed nick to Gregor.
07:11:20 <Gregor> That's BASICALLY everything.
07:11:31 <coppro> lol
07:20:06 <Gregor> Next: binutils >: )
07:20:21 <Gregor> Once I've got GCC running on a browser, you'll all bow down to my amazitude.
07:22:41 <Gregor> ld:built in linker script:2: syntax error // what a very confusing error message
07:23:13 <ais523> yes
07:23:24 <ais523> ld uses .gld scripts behind the scenes, but the defaults work for almost everything
07:23:34 <ais523> I have no idea how one of the builtins ended up with a syntax error, though
07:24:15 <Gregor> Yeah, that's the confusing part :P
07:24:18 <Gregor> Not the use of scripts.
07:24:36 <Gregor> But the fact that it built one in that doesn't work. Either that or JSMIPS has a bug so subtle that it only affects this program.
07:24:43 <Gregor> In this way.
07:46:41 <Gregor> Hey, I fixed the thing that made it spit out "Urgent Socket Condition" all the time
07:48:02 -!- CakeProphet has quit (Ping timeout: 245 seconds).
07:57:43 -!- coppro has quit (Remote host closed the connection).
07:59:06 -!- oerjan has quit (Quit: Good night).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:20 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.4/20100611143157]).
08:19:45 -!- cheater99 has quit (Ping timeout: 252 seconds).
08:23:38 -!- Phantom_Hoover has joined.
08:34:05 -!- cheater99 has joined.
08:52:36 -!- KingOfKarlsruhe has joined.
09:04:32 -!- ais523 has quit (Remote host closed the connection).
09:12:44 -!- tombom has joined.
09:17:42 -!- calamari has quit (Quit: Leaving).
09:18:04 <Phantom_Hoover> Are 6502s used anywhere an more?
09:18:08 <Phantom_Hoover> s/an/any/
09:22:14 <GreaseMonkey> Phantom_Hoover: not sure but you can still buy them AFAIK
09:22:55 <Phantom_Hoover> Why is writing 6502 assembly held in such high regard?
09:24:30 <Phantom_Hoover> s/writing//
09:25:57 <GreaseMonkey> i guess it would be in the demoscene, i'm not sure about elsewhere though
09:36:10 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
09:49:25 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
10:20:39 <AnMaster> morning
10:26:56 <Phantom_Hoover> Morning.
10:46:24 <fizzie> I seem to vaguely remember something modern using a 6502-derived design, but I have no recollection what it might be.
10:48:31 <AnMaster> argh why does this compile. The function it calls doesn't seem to be defined anywhere.
10:48:41 <fizzie> Wikipedia just says "it is still made for embedded systems", but doesn't provide examples.
10:48:44 <AnMaster> nor is it a macro
10:49:10 <AnMaster> and last I checked C was case sensitive...
10:49:43 <AnMaster> Beep(oto2freq[oto], len*200); appears in a C source file, it is not disabled with #if or such as far as I can tell
10:49:55 <AnMaster> however, nowhere does the function or macro Beep appear
10:50:00 <AnMaster> or anything else called Beep
10:50:26 <AnMaster> there is beep(void) but that is 1) wrong case 2) wrong parameter count
10:51:27 <fizzie> There probably are case-insensitive linkers somewhere in the world, but that sounds unlikely.
10:52:09 <AnMaster> also it isn't in the headers, I checked them, since this is kernel code it doesn't use any libc hidden away anywhere
10:52:25 <AnMaster> oh... found it
10:52:29 <AnMaster> it is in linker script
10:52:35 <AnMaster> mapping to a ROM function
10:52:46 <AnMaster> XD
10:53:39 <fizzie> You should probably be getting an implicit-declaration warning out of it if it isn't actually declared in any header; the linker script can only define the symbol, after all.
10:54:09 <AnMaster> fizzie, strange that gcc doesn't include that in -Wall -Wextra then
10:54:19 <AnMaster> or at least gcc 3.4.6 didn't
10:54:29 <AnMaster> (no newer gcc support this target)
10:54:33 <fizzie> Getting back to the 6502 thread, I seem to recall that TI made a beefed-up Z80 model quasi-recently.
10:55:29 <fizzie> Er, Zilog, I mean.
10:56:22 <fizzie> "The eZ80 (like the Z380) is binary compatible with the Z80 and Z180, but almost four times as fast as the original Z80 chip at the same clock frequency. Available at up to 50 MHz[1] (2004), the performance is comparable to a Z80 clocked at 200 MHz if fast memory is used --"
10:56:52 <fizzie> It also extends some registers to 24 bits so that it can directly access up to 16 MB.
10:57:04 <AnMaster> fizzie, not binary compatible if the binary depends on timing
10:58:17 <AnMaster> fizzie, hm wait, 16 bit addresses would allow 64 KiB right?
10:58:20 <fizzie> Good enough for most purposes, anyhow.
10:58:27 <fizzie> Yes.
10:58:33 <AnMaster> fizzie, so how did the original x86 allow you to have 640 KiB?
10:58:47 <AnMaster> I mean, it doesn't make sense for any power of two?
10:58:59 <AnMaster> well, not any common one I can think of
10:59:21 <fizzie> It allows up to 1 MB, the higher parts are just used by ROM and such.
10:59:59 <AnMaster> ah
11:00:29 <fizzie> It has 20-bit addresses, with the segmentation nonsense.
11:00:59 <Phantom_Hoover> And it can't access all of the 2-bit space IIRC.
11:01:01 <AnMaster> fizzie, so 12 bits for segment stuff?
11:01:19 <Phantom_Hoover> AnMaster, 4 bits in the segment.
11:01:26 <AnMaster> so 24 bit registers?
11:01:29 <Phantom_Hoover> No.
11:01:36 <fizzie> 16-bit regs.
11:01:46 <fizzie> You need two for a full address.
11:01:50 <Phantom_Hoover> address = segment << 4 + offset
11:01:58 <AnMaster> right, I forgot something important here: and that is that x86 is a mess
11:02:30 <fizzie> X:Y maps to X<<4 + Y. I'm too slow with this N900 kbd.
11:02:55 <AnMaster> heh
11:03:06 <Phantom_Hoover> I seem to remember reading that it was because they could only afford 20 address pins on the 8086.
11:03:14 <fizzie> Haven't exactly gotten out of bed yet.
11:03:43 <fizzie> There also that whole A20 line enablation mess.
11:04:19 <Phantom_Hoover> Do you still need to use the keyboard controller to do that, by the way?
11:04:56 <fizzie> You need to pretend to be using it, but I think motherboards have dedicated circuitry for it.
11:05:10 <fizzie> The procedure to enable it is still the same, I believe.
11:05:37 <Phantom_Hoover> Backwards compatibility is a blight...
11:06:41 <AnMaster> actually I would want a completely new 64 bit architecture. With more registers than AMD64. And less of the compat cruft
11:06:50 <fizzie> (For "compatibility" with apps that expect memory access past 1MB wrap around to the beginning, the 21st address line is hardwired to be 0; originally they used an unused pin of the keyboard controller to make it possible to enable it.)
11:07:17 <Phantom_Hoover> Madness.
11:07:19 <fizzie> Itanium, then?-)
11:07:29 <AnMaster> what about 64 x 64-bit GPR? + 32 x 256 bit SIMD registers?
11:07:53 <AnMaster> fizzie, IA64 is certainly nice on paper
11:08:19 <AnMaster> fizzie, but as someone (Knuth?) said: it turned out it was basically impossible to write good compilers for it
11:08:58 <Phantom_Hoover> Why?
11:09:33 <AnMaster> Phantom_Hoover, why what?
11:09:53 <Phantom_Hoover> Is it impossible to write good compilers?
11:10:23 <AnMaster> Phantom_Hoover, do you know about out of order execution?
11:10:33 <Phantom_Hoover> I do not.
11:10:43 <AnMaster> Phantom_Hoover, what about superscalar cpus?
11:10:49 <Phantom_Hoover> I do not.
11:10:55 <Phantom_Hoover> I can see where this is going.
11:11:36 <AnMaster> Phantom_Hoover, if you are seeing "you need to know other stuff before I can explain why" coming up next then you are right
11:11:41 <Phantom_Hoover> Yep.
11:12:04 <Phantom_Hoover> I can guess what the first thing is, but I'm lost on the second.
11:12:26 -!- yiyus has quit (Ping timeout: 240 seconds).
11:12:55 <AnMaster> Phantom_Hoover, basically because IA64 is VLIW it leaves all this work to the compiler instead of doing it in hardware. In theory the compiler should be able to make better optimisations since it knows more and is less limited (doesn't have to be done quickly and so on). In practise it turned out to be too tricky.
11:13:18 <AnMaster> Phantom_Hoover, http://en.wikipedia.org/wiki/Out-of-order_execution http://en.wikipedia.org/wiki/Superscalar http://en.wikipedia.org/wiki/Very_Long_Instruction_Word
11:16:12 <AnMaster> Phantom_Hoover, Reading those is a better way to understand the issue than me trying to explain it
11:16:26 -!- yiyus has joined.
11:20:53 <fizzie> VLIW hasn't really caught on, though there's this pretty successful not-so-V LIW RISC/DSP hybrid called FirePath (made by the folks that used to be Acorn) that e.g. Broadcom uses in their telco side hardware; see http://everything2.com/title/FirePath
11:21:48 <fizzie> It's sadly quite unknown; but the (lead?) designer was pretty enthusiastic about it when she spoke at an event I happened to be at.
11:31:02 <fizzie> And then there are those more strictly DSP things.
11:32:07 <AnMaster> fizzie, didn't Acorn turn into ARM?
11:32:12 <AnMaster> or do I misremember completely
11:32:41 <fizzie> Yes, but most of what used to be Acorn got split out again.
11:33:14 <AnMaster> hm
11:34:59 <fizzie> The businessy parts are probably more confusing than the techy parts. :p
11:35:36 <AnMaster> fizzie, well isn't that some sort of fundamental rule of the world?
11:35:42 <AnMaster> well,*
11:36:20 <fizzie> I think one of the three platforms that our DSP programming course's project-work could be done (because they had the hardware available) wad AD's SHARC, which has 4 instructions wide opcodes.
11:37:40 <AnMaster> wad AD?
11:37:43 <AnMaster> ;P
11:38:05 <fizzie> Analog Devices, or something like that.
11:38:08 <AnMaster> fizzie, anyway DSP is pretty niche really
11:38:20 <AnMaster> fizzie, I was wondering about wad there
11:38:31 <fizzie> Ah, "was".
11:38:55 <fizzie> There's a lot of market for DSP chips, they just aren't so well-known.
11:39:47 <fizzie> (We did our project with the TI TMS320C54...16? I'm not sure of the two last numbers there.)
11:42:28 <fizzie> There's a bit of explicit parallelism in that thing too; there are some opcodes with mnemonics of the form "A x y | B z" which do A to x, y and B to z simultaneously. But a very limited set of those.
11:43:15 <AnMaster> hm
11:43:29 <AnMaster> fizzie, variable cycle count?
11:44:35 <fizzie> Pshhff, I don't recall details. Delay slots in branches, at least.
11:45:40 <fizzie> ST B, *TMP+0% ; delay line sample <- (B_old >> 16)
11:45:40 <fizzie> || MPY *PPTR+, B ; B_new <- T * (1-g*g)
11:45:40 <fizzie> ; TMP <- circ(TMP+AR0)
11:45:40 <fizzie> ; PPTR <- address of -g
11:45:46 <fizzie> That does a store and multiply in parallel.
11:46:31 <fizzie> (TMP and PPTR are macro parameters; they're actually register names when used.)
11:47:55 <AnMaster> hm
11:48:14 <AnMaster> fizzie, what would circ() be?
11:48:34 <fizzie> It's a circular-buffer addressing mode.
11:48:38 <AnMaster> heh
11:49:17 <fizzie> The "+0%" suffix means "add the value of AR0, but do it modulo-style, using the starting address and length defined by the circular-buffer control registers".
11:50:06 <fizzie> In this case AR0 had the value 1; there's no "+%" addressing mode. (Just plain + would mean "increment by one".)
11:53:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
11:55:20 <AnMaster> heh
11:55:50 <fizzie> They probably ran out of bits to encode addressing modes in, or silicon to implement them in. :p
11:56:17 <AnMaster> fizzie, what would +% mean though?
11:56:56 <fizzie> Increment by one, but do the same circular-buffer thing.
11:57:03 <fizzie> Now I have to waste a register to hold the number 1 in.
11:57:08 <AnMaster> hah
12:01:23 <fizzie> It's mostly a 16-bit processor (memory access is done in 16-bit words), but it has two 40-bit wide accumulators (A and B). Rest of the registers (T + AR0 .. AR7) are 16-bit.
12:08:53 <AnMaster> hm
12:13:20 <fizzie> There was a dual-core ARM7 + TI C54x DSP chip in some bit of hardware I can't quite recall right now; apparently it was the predecessor of the OMAPx platforms that are used in a lot of smartphones nowadays. (The N900 has an OMAP3 3430 == 500 MHz ARM Cortex A8 + PowerVR SGX 530 GPU + 430 MHz TI C64x+ DSP + some sort of image processor I don't know about.)
12:14:01 <fizzie> That was meant to be parsed as "dual-core (ARM7 + C54x)", not "(dual-core ARM7) + C54x", in case it was unclear.
12:15:00 <fizzie> The C64x, incidentally, is a real VLIW thing. 256-bit opcodes; don't know how many instructions that is, probably 8.
12:27:25 -!- DH____ has joined.
12:32:56 <AnMaster> fizzie, and unrelated to the classica C64 I presume?
12:32:59 <AnMaster> classical*
12:37:25 <fizzie> Very much so, yes.
12:38:44 <fizzie> The full name would be something like TMS320C64xx+, where xx is some two-digit number I don't know.
12:50:05 <fizzie> TI folks sure can't spell: "Several Ubunto specific issues -- XDS100 support for Ubnutu 10.04 -- too problemnatic for emulation connectivity."
12:52:02 -!- DH____ has quit (Read error: Connection reset by peer).
13:01:59 <AnMaster> fizzie, indeed
13:03:54 -!- DH____ has joined.
13:07:33 -!- Phantom_Hoover has joined.
13:11:38 -!- BeholdMyGlory has joined.
13:11:38 -!- BeholdMyGlory has quit (Changing host).
13:11:38 -!- BeholdMyGlory has joined.
13:18:52 <Phantom_Hoover> What is the problem with computing the 3-body problem?
13:19:03 <Phantom_Hoover> I mean, can it not be solved on a Turing machine?
13:29:21 <fizzie> For a real answer, you might have to wait for one of the channel's mathematician, but my gut feeling (based on really vague recollections of handwavy descriptions) is that you can do it with numerical methods (and therefore with a Turing machine, if you want) to any arbitrary precision (if you have enough patience), but there are no easy (or practical for the purposes of getting results out of it, anyway) analytical solutions to it.
13:29:35 <fizzie> Pluralize mathematician there.
13:30:31 <fizzie> Here's one more bit of trivia for the C54x (ended up browsing through the manuals); if you do a delayed branch, it'll execute the two words following the branch, but you'll have to keep in mind that some instructions (those containing immediate values, at least) are two words long already.
13:30:52 <fizzie> Makes you wonder whether you could split a two-word instruction across the branch and have it execute correctly.
13:34:41 <fizzie> Could be somewhat useful in something like: [code that puts label1 or label2 to A]; BACCD A; NOP; LD #0xffff, A; label1: [raw word X]; ...; label2: [raw word Y]; ...
13:35:40 <fizzie> Compared to the more understandable: BACC A; label1: LD #X, A; ...; label2: LD #Y, A; ...
13:36:03 <fizzie> (BACC A is basically BACCD A; NOP; NOP.)
13:38:02 <AnMaster> fizzie, what if you put a branch in the branch delay slot?
13:38:03 <AnMaster> :D
13:38:20 <fizzie> I think that was explicitly defined as to resulting in undefined behaviour.
13:38:52 <AnMaster> fizzie, aww, it would be awesome if you could execute just a few instructions from the middle of another function that way
13:42:32 <fizzie> It's possible that it could work.
13:42:45 <fizzie> At least on some specific models. :p
13:46:15 <Phantom_Hoover> Is there a 3D renderer that supports non-Euclidean space?
13:47:02 <AnMaster> Usage error: try 'nqc -help' to display options <-- how useless. What in my command line is wrong I wonder. Missing flag? typoed flag? Something else?
13:48:12 <AnMaster> oh missing filename it seems... But the command I tried to run shouldn't need one? huh
13:48:53 <fizzie> It might also do something pretty strange. The thing has a 6-step pipeline, and there's already some magic involved to make the early steps (prefetch, fetch) start reading words from the branch target before the branch is actually executed.
13:58:31 <Phantom_Hoover> I take that as a "no", then.
14:01:32 <fizzie> You should take that as a "I do not know of any" rather than "no".
14:01:48 <fizzie> Contrary to popular expections, I am in fact not omniscient. (I know it's hard to believe.)
14:01:54 <Phantom_Hoover> You LIED.
14:02:42 <fizzie> Personally I would've guessed someone would have at the very least hacked POV-Ray to do something bizarre, but a quick googling did not reveal anything.
14:04:08 <AnMaster> shouldn't be hard to make povray do that I expect
14:04:16 <AnMaster> considering all the other stuff done with it
14:16:11 <AnMaster> anyone have any experience parsing coff?
14:16:26 <AnMaster> I'm considering writing a program that patches the OS on my RCX
14:16:42 <Sgeo_> Later on, anyone want to help me figure out the semantics of rotation in this program?
14:16:44 <AnMaster> currently whenever I mess around in the OS source code I have to re-download the whole thing
14:17:44 <Phantom_Hoover> Sgeo_, quaternions?
14:18:01 <Sgeo_> I'm pretty sure it's rotation around an axis
14:18:02 <Sgeo_> So that helps
14:20:39 <Phantom_Hoover> What's confusing you?
14:21:10 <Sgeo_> For starters, why 0 degrees does not mean "do nothing"
14:23:00 <Phantom_Hoover> What does it mean?
14:23:38 <Sgeo_> I don't know, but a guess is translation. It's automatically translating something
14:24:01 <Sgeo_> Which is not nice because there's separate input for translation
14:24:22 <Sgeo_> Rotation is counterclockwise, according to the documentation.
14:24:48 <Sgeo_> http://www.andras.net/yasbb.html#mozTocId911022
14:25:04 <AnMaster> why are you using quaternions?
14:25:11 <Sgeo_> I'm not?
14:25:13 <AnMaster> or was that just Phantom_Hoover?
14:25:13 <AnMaster> ah
14:32:03 <Sgeo_> Ok, give me some coords for easy testing, multiples of 1000
14:32:14 <Sgeo_> Let me first do the obvious ones
14:32:37 <AnMaster> Sgeo_, uh? easy testing with what?
14:32:52 <Sgeo_> To determine WTF rotation means with this thing
14:33:10 <AnMaster> Sgeo_, well, 0,0,0,0 ?
14:33:17 <AnMaster> assuming a 4D geometry
14:33:23 <Sgeo_> 2d
14:33:35 <AnMaster> hm, 0,0 then
14:33:46 <AnMaster> Sgeo_, what is that thing btw?
14:33:56 -!- cheater99 has quit (Quit: Leaving).
14:34:03 <AnMaster> Sgeo_, oh btw, try 0,1000 and 1000,0
14:34:10 <Sgeo_> AnMaster, got those
14:34:13 -!- cheater99 has joined.
14:34:30 <AnMaster> it could be rotating relative origo, absolute not relative
14:34:31 <Phantom_Hoover> 1000,1000?
14:34:47 <AnMaster> though that is quite insane
14:34:48 <Phantom_Hoover> AnMaster, 0 would still do nothing.
14:34:54 <AnMaster> Phantom_Hoover, indeed
14:34:59 <AnMaster> but 1000,0 or 0,1000 would
14:35:09 <AnMaster> depending on how the coordinate system looks
14:35:20 <AnMaster> 1000,1000 is a good idea too
14:35:37 <AnMaster> Sgeo_, also are you rotating points or sprites?
14:35:39 <AnMaster> or something else?
14:35:54 <AnMaster> Sgeo_, and what is the program
14:35:59 <Sgeo_> Points.. well, objects, but I'm ignoring the AW specific stuff as much as possible
14:36:01 <Sgeo_> YASBB
14:36:04 <Sgeo_> http://www.andras.net/yasbb.html#mozTocId911022
14:36:06 <AnMaster> YASBB?
14:36:52 <AnMaster> Sgeo_, what is it for exactly?
14:37:21 <Sgeo_> AnMaster, moving stuff in the game
14:37:27 <AnMaster> Sgeo_, ah I see
14:37:32 <Sgeo_> We're relocating some of the stuff
14:37:40 <Sgeo_> Currently, everything's too far away
14:38:05 <AnMaster> NS? WE?
14:38:11 <AnMaster> strange fields for rotating
14:38:14 <Sgeo_> North/South
14:38:16 <Sgeo_> East/West
14:38:18 <AnMaster> yes I gather that
14:38:22 <AnMaster> but it makes no sense anyway
14:38:36 <AnMaster> Sgeo_, which game is it?
14:38:38 <Phantom_Hoover> What game?
14:38:48 <Sgeo_> The Project I've been working on for a while
14:38:59 <Phantom_Hoover> Active Worlds, it appears
14:39:01 <AnMaster> hm
14:39:06 <Sgeo_> A game in Active Worlds
14:39:25 <Sgeo_> YASBB froze
14:39:46 <Phantom_Hoover> Sgeo_, haven't you got the source?
14:39:49 <Sgeo_> Nope
14:39:55 <Sgeo_> Not of YASBB
14:41:23 <Phantom_Hoover> Is it closed-source?
14:41:45 <AnMaster> yay, medium size mine sweeper in 48 seconds. New person record :)
14:42:01 <AnMaster> personal*
14:42:02 <Sgeo_> Yes
14:42:25 <Sgeo_> Hm, it keeps freezing
14:42:34 <Sgeo_> I think it dislikes the fake data I'm giving it
14:42:44 <Phantom_Hoover> Try disassembling it?
14:42:56 <Phantom_Hoover> If you're in a particularly masochistic mood.
14:44:03 <Sgeo_> The simulated data has () in the name of the object
14:44:08 <Sgeo_> That may be problematic
14:44:28 <AnMaster> crappy software?
14:45:09 <Sgeo_> well, the name is really supposed to hold a filename
14:45:31 <AnMaster> Sgeo_, and? () is perfectly valid in filenames afaik
14:45:43 <AnMaster> everything but the zero byte and / are allowed iirc
14:45:47 <AnMaster> oh wait, windows? hm
14:45:59 <AnMaster> probably different rules there,
14:46:01 <Sgeo_> Ok, it's not AW's fault
14:46:15 <Phantom_Hoover> OS X mysteriously substitutes : for / in filenames.
14:46:25 <AnMaster> Phantom_Hoover, not mysterious at all
14:46:35 <AnMaster> Phantom_Hoover, considering that : was used as path delimiter on classical Mac OS
14:46:36 <Phantom_Hoover> Why?
14:46:39 <Phantom_Hoover> Ah.
14:46:56 <AnMaster> Phantom_Hoover, classic mac os had fun paths
14:47:12 <Phantom_Hoover> But a file that shows up in ls as "a:b" will be "a/b" in the Finder.
14:47:15 <AnMaster> 1) Foo <-- file in current directory
14:47:24 <AnMaster> 1) Foo:Bar <-- file Bar on volume Foo
14:47:39 <AnMaster> 1) :Foo:Bar <-- file Bar in directory Foo in current directory
14:47:55 <AnMaster> 1) ::Foo:Bar <-- equiv to ../Foo/Bar
14:47:55 <Sgeo_> It froze. Again
14:47:58 * Sgeo_ cries
14:48:01 <AnMaster> 1) :::Foo:Bar <-- equiv to ../../Foo/Bar
14:48:26 <AnMaster> Phantom_Hoover, this was one of the main issues when porting ICK to classic MacOS
14:48:38 <AnMaster> Phantom_Hoover, it was careless with adding extra /
14:48:43 <AnMaster> which would not hurt on unix
14:48:50 <AnMaster> nor would extra \ hurt on windows
14:49:01 <AnMaster> but on classical MacOS it changed stuff completely
14:49:18 <AnMaster> oh and : is current directory
14:49:22 <AnMaster> Phantom_Hoover, fun eh?
14:49:32 <Phantom_Hoover> Indeed.
14:49:55 <Phantom_Hoover> But it doesn't really explain why OS X substitutes : for / in the finder.
14:52:17 <AnMaster> Phantom_Hoover, well I suspect it is the reason, but it isn't a good one
14:52:19 <AnMaster> bbl
14:53:41 -!- Gracenotes has quit (Ping timeout: 260 seconds).
14:53:54 <Sgeo_> Ok, simulation complete
14:53:58 <Sgeo_> Now, let's test some stuff
14:54:16 <Sgeo_> What should the first rotate around coord be?
14:55:37 <Sgeo_> It spontaneously froze
14:55:52 <Phantom_Hoover> What is the thing you're trying to run again?
14:55:54 <Sgeo_> And unfroze
14:56:03 <Sgeo_> Hm? The software? YASBB
14:56:08 <Sgeo_> http://www.andras.net/yasbb.html#mozTocId911022
14:56:38 <Sgeo_> Shall I try rotating around 0, 1000 in the "old build" (whatever that means) by 0 degrees?
14:57:30 <Sgeo_> Ok, that translated everything by (0, -1000)
14:59:13 <Sgeo_> I think I get it now.
14:59:52 <Sgeo_> It's not simply a "rotation point", it's a point of original build thing. I made a coordinate subtractor, but it's not needed.
14:59:58 <Sgeo_> You can just use this, I think
15:00:11 <Sgeo_> That's _very_ crappily documented though.
15:03:15 <Sgeo_> Seriously, to move something without rotating, the easiest thing to do is "rotate before build"?
15:03:45 <Sgeo_> It's like "Rotate Before Build" is supposed to mean "Oh, the build's center is here"
15:06:08 <AnMaster> Sgeo_, that would make sense
15:06:37 <Sgeo_> I wish that it wasn't labelled "rotate before build"
15:06:56 <AnMaster> Sgeo_, well okay
15:08:00 <Sgeo_> Let me try moving the whole thing, centered at (0, 1000), to (0, 5000), rotated 180
15:09:03 <Sgeo_> Um, let me write these out
15:10:21 <Sgeo_> (0, 0) -> (0, 6000), (0, 1000) -> (0, 5000), (1000, 0) -> (-1000, 5999), (-1000, 0) -> (999, 6000), (0, -1000) -> (0, 7000)
15:11:03 <Sgeo_> Looks good!
15:16:22 <Phantom_Hoover> How would you go about actually making a non-Euclidean raytracer?
15:16:43 <Phantom_Hoover> You'd presumably need to specify the curvature of space somehow.
15:18:13 <Phantom_Hoover> Can you extend Gaussian curvature into 3 dimensions?
15:18:22 <Phantom_Hoover> I wish oerjan was here...
15:20:39 <AnMaster> Phantom_Hoover, you could wait for him to come on
15:21:05 <AnMaster> Phantom_Hoover, probably will happen within 8 hours
15:21:46 <Phantom_Hoover> I suppose the process would be along the lines of: create the space from a specification, then put stuff in it, then trace rays along geodesics.
15:21:56 <Phantom_Hoover> Are there even algorithms for this?
15:25:59 -!- alise has joined.
15:26:20 <Phantom_Hoover> alise, do you know much about non-Euclidean geometry?
15:26:34 <alise> a very little
15:26:45 <Phantom_Hoover> Damn.
15:26:55 <alise> ask anyway
15:27:05 <Phantom_Hoover> I'm wondering if it's practical to make a non-Euclidean rayttracer.
15:27:09 <Phantom_Hoover> s/tt/t/
15:27:37 <Phantom_Hoover> However, I don't really know how you would go about doing so
15:27:42 <alise> omg do it
15:27:56 <Phantom_Hoover> Obviously, you need a way of specifying the curvature.
15:28:07 <alise> ill read up on noneuclid geometry to help :P
15:28:23 <Phantom_Hoover> I was thinking of simply using the Gaussian curvature, if the concept is extensible into 2D.
15:28:35 <Phantom_Hoover> (Which it really should be)
15:29:38 <Phantom_Hoover> After that, the position of stuff needs to be established within the space.
15:30:16 <Phantom_Hoover> Then it's just a matter of tracing the geodesics.
15:30:45 <alise> raytracing is 3d...
15:30:57 <Phantom_Hoover> Yes, I know.
15:31:11 <Phantom_Hoover> You can have 3D non-Euclidean space, can't you?
15:32:44 -!- alise has left (?).
15:32:50 -!- alise has joined.
15:32:51 <alise> yes
15:32:56 <alise> "British TV at the moment is basically made up of auctions, antiques, auctions of houses that people later do up, doing up houses, moving from one house to another usually abroad, boxes with an unknown quantity of money inside, quizzes loosely reliant on a vague grasp of general knowledge, talking to idiots about their issues and circa 1990s murder mysteries."
15:32:57 <Sgeo_> Actually, you still need to subtract to determine altitude
15:33:15 * Sgeo_ is going to cry
15:33:51 <Phantom_Hoover> Hacking POVRay to do this looks like it will be nigh-impossible, as well.
15:34:51 <Phantom_Hoover> Hey, we can use this to do proper renders of R'Lyeh
15:35:00 <alise> raytracers are easy
15:35:36 <Phantom_Hoover> Is there an algorithm for finding the geodesic between two points in N-E space?
15:35:46 <alise> prolly
15:36:36 <Phantom_Hoover> Presumably reflection can be kept as angle-of-incidence-equals-angle-of-reflection
15:41:46 -!- MizardX- has joined.
15:44:08 -!- tombom has quit (Quit: Leaving).
15:44:37 <Phantom_Hoover> http://www.fourmilab.ch/gravitation/orbits/
15:44:42 <Phantom_Hoover> Could be useful.
15:45:30 -!- MizardX has quit (Ping timeout: 252 seconds).
15:45:35 -!- tombom has joined.
15:45:45 -!- MizardX- has changed nick to MizardX.
15:48:56 -!- relet has joined.
15:53:02 * Sgeo_ wonders if YASBB has rounding issues
15:56:23 <Phantom_Hoover> Ugh, I don't understand the goedesic thing any more.
16:10:33 <AnMaster> Phantom_Hoover, what thing?
16:11:13 <AnMaster> Phantom_Hoover, also which N-E geometry are you planning for?
16:11:18 <AnMaster> Phantom_Hoover, aren't there several?
16:11:35 <Phantom_Hoover> Indeed.
16:12:01 <AnMaster> Phantom_Hoover, anyway, how would you specify coordinates in them?
16:12:06 <Phantom_Hoover> I was thinking of the 3D analogues of spherical and hyperbolic geometry.
16:12:19 <Phantom_Hoover> And co-ordinates are rather tricky.
16:13:06 <Phantom_Hoover> Then again, I'm not even sure how easy it will be to make the computer understand N-E geometry in the first place.
16:13:45 <AnMaster> Phantom_Hoover, hm. perhaps mathematica has something for it. It is worth checking.
16:15:13 * Phantom_Hoover checks
16:15:34 <Phantom_Hoover> The top Google hit is for a MathWorld article with no Mathematica demonstration
16:17:02 <AnMaster> hm
16:17:32 <AnMaster> Phantom_Hoover, surely there must be some coordinate system for it though?
16:17:40 <AnMaster> ask oerjan when he gets here
16:17:46 <AnMaster> or google
16:17:55 <AnMaster> bbl
16:19:22 <Phantom_Hoover> Well, polar co-ordinates should work quite well.
16:23:47 * Sgeo_ may go to the bookstore tomorrow
16:23:51 <Sgeo_> Maybe buy a math book
16:25:13 <Phantom_Hoover> Geomview supports some form of 3D NE geometry, but it confuses me a great deal.
16:27:27 <alise> multiple r
16:27:59 <alise> <Phantom_Hoover> Then again, I'm not even sure how easy it will be to make the computer understand N-E geometry in the first place.
16:28:07 <alise> i predict as easy as E geometry, but with some extra double handling
16:28:55 <Phantom_Hoover> Oh god, geomview is so confusing.
16:30:28 <alise> Or IS it
16:30:37 <Phantom_Hoover> Yes
16:30:53 <alise> http://web.mit.edu/geomview_v1.9.3/www/Non_002dEuclidean-Geometry.html
16:30:56 <Phantom_Hoover> Well, not for nice things.
16:31:37 <alise> The default model is all three spaces is Virtual. This corresponds to the camera being in the same space as, and moving under the same set of transformations as, the geometry itself. <-- you may not want this because non-euclidean geometry is unintuitive and thus hard to manœuvre in
16:31:56 <alise> In hyperbolic space, the Projective model setting gives a view of the projective ball model of hyperbolic 3-space imbedded in Euclidean space. The camera is initially outside the unit ball. In this model, the camera moves by Euclidean motions and geometry moves by hyperbolic motions.
16:32:00 <alise> i.e.,
16:32:08 <alise> they embed a ball with hyperbolic 3-space inside... into euclidean space
16:32:15 <alise> and have the camera /outside/ of the ball, and thus in euclidean space
16:32:16 <Phantom_Hoover> Yep, I got these things.
16:32:20 <alise> right
16:32:24 <alise> not sure what the conformal ball model is, but eh
16:32:31 <alise> projective sounds best for hyperbolic geometry
16:32:39 <Phantom_Hoover> A ball is topologese for the inside of a sphere, isn't it?
16:32:43 <alise> In spherical space, the Projective model gives a view of half of the 3-sphere imbedded in Euclidean 3-space. Spherical motions give rise to projective transformations in the Projective model, and to Moebius transformations in the Conformal model. In both of these models the camera moves by Euclidean motions.
16:32:49 <alise> hyperbolic sounds less confusing :P
16:32:57 <alise> Phantom_Hoover: yes
16:33:25 <alise> There are several sample hyperbolic space objects in the data/geom/hyperbolic subdirectory of the Geomview directory. Likewise, the subdirectory data/geom/spherical contains several sample spherical space objects.
16:33:29 <alise> s/ +$//
16:33:39 <alise> I suggest looking at them with all three models and choosing the most intuitive; I bet for hyperbolic it will be Projective.
16:33:43 <Phantom_Hoover> There's no such directory in my installation, by the way.
16:33:47 <alise> Phantom_Hoover: but note that this will /never/ be intuitive
16:33:49 <alise> Phantom_Hoover: there will be
16:33:51 <alise> in /usr/share, probably
16:33:55 <Phantom_Hoover> Just spherical.
16:34:03 <Phantom_Hoover> No, I mean the hyperbolic one.
16:35:17 <alise> what distro, package?
16:35:26 <Phantom_Hoover> Ubuntu, geomview.
16:35:31 <alise> if it's debian/ubuntu [insert snarky remark about how debian fucks with every damn package]
16:35:32 <alise> :P
16:35:47 <Phantom_Hoover> geomview 1.9.4, incidentally.
16:35:52 <alise> Phantom_Hoover: also, you linked to fourmilab; thus i love you
16:36:12 <alise> Phantom_Hoover: same as Arch
16:36:15 <Phantom_Hoover> I'll download the data directory and see what's there
16:37:28 <Phantom_Hoover> Oh, now I know why it was bloody confusing
16:37:47 <Phantom_Hoover> I was viewing non-hyperbolic models with space set to hyperbolic.
16:39:28 <Phantom_Hoover> Oh, and their FTP server seems to be down
16:39:30 <Phantom_Hoover> Perfect.
16:42:18 <alise> Phantom_Hoover: Hmm, I lack the files too.
16:42:21 <alise> <Phantom_Hoover> I was viewing non-hyperbolic models with space set to hyperbolic.
16:42:22 <alise> :D
16:42:23 <alise> awesome
16:42:30 <alise> did it look awesome
16:42:56 <Phantom_Hoover> No, it looked confusing.
16:43:26 <Phantom_Hoover> Like what you get when a 3D program explodes.
16:43:46 <alise> Phantom_Hoover: abstr.off in spherical geometry shows you the inside of the shape
16:43:46 <alise> awesome
16:44:18 -!- oklopol has joined.
16:44:54 <Phantom_Hoover> Ah, because the light beams go across the universe?
16:45:01 <oklopol> what comes after 1, 3, 2, 4, 5, 6, 7?
16:45:01 <alise> dunno, prolly
16:45:04 <alise> all i know is that it's amazing
16:45:06 <alise> oklopol: -3.45
16:45:35 <Phantom_Hoover> oklopol, absolutely anything.
16:45:37 <oklopol> i see two natural answers
16:45:46 <fizzie> 12, according to OEIS hit #1.
16:45:48 <oklopol> Phantom_Hoover: not very natural imo
16:45:51 <oklopol> huh?
16:46:00 <fizzie> Or 10, 9 or 8.
16:46:01 <oklopol> surprising
16:46:01 <Phantom_Hoover> It could be e^i or xkcd.
16:46:13 <oklopol> i'm assuming no background info
16:46:17 <fizzie> oklopol: The 12 comes from: "a(1) = 1, a(n)= smallest number not occurring earlier such that a(n-1)*a(n) -1 is a prime. re-arrangement of natural numbers such that the product of adjacent terms is one more than a prime."
16:46:21 <oklopol> you don't need to know which sequences are important in math
16:46:27 <alise> Phantom_Hoover: ...you know Sam Hughes and qntm.org?
16:46:32 <oklopol> fizzie: yeah so 12 is not very natural
16:46:32 <Phantom_Hoover> No.
16:46:39 <alise> who does
16:46:41 <alise> pikhq does i know that
16:46:42 <alise> is he there
16:47:09 <oklopol> oh
16:47:16 <oklopol> well okay not that unnatural either, i misunderstood first
16:47:29 <oklopol> but so okay you don't like sequences extrapolation i guess
16:47:33 <oklopol> *sequence
16:47:42 <oklopol> err
16:47:54 <oklopol> sorry i made a mistake, then 12 may have been the most natural one :)
16:47:56 <oklopol> let's see
16:48:15 <pikhq> <3 Sam Hughes.
16:48:30 <fizzie> oklopol: The 9 was from "Triangle read by rows which contains in row n that permutation of the n numbers T(n-1)+1..T(n) which yields a smallest multiple of n after concatenation. T(n) are the triangular numbers. If no such multiple exists, the row contains zeros". (Away for now, though.)
16:48:32 <oklopol> 1, 3, 2, 4, 6, 5, 7
16:49:22 <oklopol> i'm asking because i think my first answer was the less natural one
16:49:42 <fizzie> oklopol: That I'd naturally read as 1 / 3,2 / 4 / 6,5 / 7 / 9,8 / 10 / 12,11 / 13 / ... -- is this the natural one you were thinking of?
16:49:53 <oklopol> oh no that didn't occur to me
16:50:01 <alise> pikhq: yeah, well, bad news
16:50:09 <oklopol> fun
16:50:09 <alise> pikhq: his whole non-fiction/misc section has been deleted, it seems.
16:50:20 <alise> pikhq: it's not on his main page links and i can't think of the url
16:50:56 <oklopol> the one of mine that gives 9 is "(add 2)^n sub 1 for n = 1, ..."
16:50:58 <alise> Phantom_Hoover: abstr.off with conformal hyperbolic
16:51:01 <alise> be-yootiful
16:51:17 <oklopol> but your "imperative" thing is more natural, i think
16:51:19 <Phantom_Hoover> STOP THROWING ME OFF ON TANGENTS.
16:51:29 <oklopol> then i had a slightly less local thingie that gives you 10
16:51:35 <oklopol> which was my first idea
16:51:43 <pikhq> alise: Blargh.
16:52:43 <oklopol> fizzie: 1, 3, 2, 4, 6, 5, 7, 10, 8, 11, 9
16:52:48 <pikhq> alise: There's not even the "how to destroy the world" thing!
16:52:49 <oklopol> then it should be obvious
16:52:50 <pikhq> NOOOO!
16:53:02 <alise> pikhq: Wait, wait, let's find the URL that it used to have.
16:53:11 <alise> http://qntm.org/destroy
16:53:15 <alise> Apparently that is now part of his "blog".
16:53:17 <alise> One question; why.
16:53:28 <Phantom_Hoover> He stopped liking it?
16:53:30 <alise> http://qntm.org/blog And oh my god can we have some fucking organisation.
16:53:57 <alise> I was looking for his "what comes next, 1, 2, 3," page or something
16:54:58 <Phantom_Hoover> But it's completely arbitrary.
16:55:07 <oklopol> fizzie: see it?
16:55:13 <Phantom_Hoover> You can have a function that will give literally any sequence.
16:55:22 <alise> Phantom_Hoover: that's what the page was about
16:56:07 <Phantom_Hoover> It's one of those things I always want to tell people, but they never listen.
16:56:18 <alise> that's because it's a pedantic assholey point to make
16:56:21 <oklopol> yes
16:56:25 <oklopol> i'm with alise
16:56:28 <alise> "HAHAHAHA your reasonable request is stupid in the face of my edge-case"
16:56:35 <alise> it's always quite thoroughly obvious what the question means
16:56:37 <Phantom_Hoover> alise, yes, I know.
16:56:47 <oklopol> well
16:56:47 <alise> "what naturally contains these elements and other ones that satisfy some meaningful, possibly useful, property?"
16:56:47 <Phantom_Hoover> I just find it interesting.
16:56:55 <alise> yes, well, find it interesting silently :P
16:58:08 -!- Mathnerd314 has joined.
16:58:20 <Phantom_Hoover> Wow, hyperbolising the helicoid is weird.
16:58:30 <alise> That sounds like something off Star Trek.
16:59:00 <Phantom_Hoover> Except it makes perfect sense in this context.
16:59:39 <oklopol> http://qntm.org/joke hehehe
16:59:47 <alise> "Their phasers are locking on!" "Shields up!" [BAM] "They've BYPASSED OUR SHIELDS!" "But how?" "Captain, I believe they are using a proto-nucleising energy transmitter to create a hole in our shields." "Quick, try hyperbolising the helicoid!" "But that's suicidal!" "Not when they're creating holes in it, it isn't! It won't be stable for long enough to create a wormhole!" "Hyperbolising..." [BAMS STOP] "...It worked!"
16:59:48 <oklopol> comment by alex
16:59:50 <AnMaster> Phantom_Hoover, I thought you meant tech the tech
16:59:55 <Phantom_Hoover> Holy crap, the conformal projection looks like something out of Lovecraft.
17:00:08 <AnMaster> Phantom_Hoover, what are you rendering with?
17:00:25 <alise> AnMaster: geomview
17:00:54 * AnMaster googles
17:01:13 <pikhq> alise: Idea for this whole Flinix thing: shar packages. :P
17:01:24 <alise> pikhq: Or just use tar :P
17:01:34 <alise> Phantom_Hoover: i strongly recommend using projective or conformal when trying to figure stuff out
17:01:43 <pikhq> But tar is a *program*!
17:01:45 <Phantom_Hoover> Flinix?
17:01:49 <AnMaster> alise, from the screenshots it doesn't look like a raytracer though
17:01:53 <alise> pikhq: That is included in BusyBox.
17:01:55 <Phantom_Hoover> It isn't.
17:01:57 <alise> Also, MY name. MY name!
17:02:10 <pikhq> FURINIKUSU. Happy now?
17:02:16 <alise> Yes.
17:02:19 <Phantom_Hoover> Explain!
17:02:23 <alise> HAHAHAHA MY NAME IS BETTER
17:02:27 <alise> Phantom_Hoover: Floppy Linux!
17:02:44 <pikhq> フロッピ リナクス
17:02:54 <AnMaster> alise, DSL?
17:03:01 <pikhq> AnMaster: Too large.
17:03:08 <AnMaster> it used to fit on a floppy
17:03:12 <alise> AnMaster: used to.
17:03:15 <AnMaster> anyway who uses floppies these days?
17:03:20 <alise> AnMaster: Who cares?
17:03:23 <AnMaster> can you even buy new ones?
17:03:29 <alise> Of course you can ...
17:03:32 <AnMaster> huh
17:03:47 <alise> TODAY: AnMaster discovers there is a world outside of his own computer setup.
17:03:58 <Sgeo_> I would prefer to dedicate my last breath of air to getting more air.
17:04:11 <pikhq> Half the point is just to be silly, anyways. :P
17:04:12 <alise> AnMaster: I'm fitting a modern kernel, full BusyBox utilities, X11, a window manager, and the dillo web browser onto a floppy disk. pikhq is wasting his time making a vastly inferior version of this and shall perish.
17:04:26 <alise> Sgeo_: If you know it's your last breath, who cares about air?
17:04:42 <alise> pikhq: I predict you will fail because you SUCK.
17:04:49 <AnMaster> alise, logically floppies should be the actually floppy ones only
17:04:55 <AnMaster> alise, and then I doubt you can buy new ones
17:05:01 <alise> AnMaster: logically you're full of shit.
17:08:16 <alise> http://qntm.org/1111
17:08:16 <alise> Here.
17:08:40 <Phantom_Hoover> What is it with Conformal?
17:08:48 <alise> It's sexy like a beast.
17:10:47 <Phantom_Hoover> I mean, for some things it's almost identical to Projective, but for others it's what you would expect if you left a bomb in a polygon factory.
17:12:19 <AnMaster> alise, hm, does it work for sequences that contain rational numbers? Since the author of that page mentions "integer sequences" specifically it seems like it may not be the case.
17:12:27 <Phantom_Hoover> Yes, it does.
17:12:38 <alise> it does.
17:12:40 <alise> http://en.wikipedia.org/wiki/Lagrange_polynomial
17:12:49 <alise> it works for reals too.
17:12:51 <Phantom_Hoover> It works by making a polynomial that intersects all of the points.
17:12:59 <AnMaster> alise, hm, he shouldn't limit it to integer sequences then on that page.
17:13:05 <alise> AnMaster: oh, shut up.
17:13:17 <Phantom_Hoover> Integer sequences are the only ones you're ever asked about.
17:13:37 <AnMaster> Phantom_Hoover, no?
17:13:46 <Phantom_Hoover> The spherical Conformal projection of the sphere is cool...
17:13:59 <AnMaster> Phantom_Hoover, screenshot or such?
17:14:10 <Phantom_Hoover> I'd run out.
17:14:19 <Phantom_Hoover> No, wait.
17:14:26 <alise> Phantom_Hoover: what does it look like?
17:14:28 <Phantom_Hoover> It'd take too long for each thing.
17:14:50 <Phantom_Hoover> It's 6 spheres stuck together in a cubic way.
17:15:23 <AnMaster> Phantom_Hoover, you could screenshot just this one
17:15:42 <Phantom_Hoover> Fine...
17:15:46 <fizzie> AnMaster: If you mean the PC 5.25" floppies, you can buy those from floppydisks.com, though I'm not sure if they have suppliers that still manufacture them. They do say they're able to get floppies in large quantities, so maybe.
17:16:26 <AnMaster> let me see how long it would take. 1) hit PrtScr, 2) select save in dialog 3) use command line script to upload it somewhere (I have one for omploader, there are other ones for other services out there iirc), paste link script gave on irc
17:16:30 <AnMaster> I guess about 10 seconds
17:17:01 <AnMaster> or alt-printscreen for current window
17:17:04 <AnMaster> at least under gnome
17:18:22 <Phantom_Hoover> http://omploader.org/vNHJsdQ
17:18:23 <Phantom_Hoover> There!
17:19:10 <AnMaster> Phantom_Hoover, nice.
17:20:27 <Phantom_Hoover> Oh, it does that for all of the Platonic solids.
17:21:02 <Phantom_Hoover> And it renders a hypercube much better than Euclidean does
17:22:06 * alise implements lagrange polynomials in haskell
17:23:50 <alise> mind, it only gives values, not the actual polynomial
17:24:05 <alise> Phantom_Hoover: how do i make an object go away?
17:24:07 <alise> deleting it doesn't work
17:24:38 <Phantom_Hoover> dd?
17:24:54 <Phantom_Hoover> i.e. press 'd' twice while the object is selected?
17:26:57 <alise> It still apepars on screen.
17:26:59 <alise> *appears
17:28:37 <Phantom_Hoover> Don't know why.
17:29:41 <alise> does it work for you?
17:30:24 <Phantom_Hoover> Yes.
17:30:43 <alise> when selecting it in the list of the Main window and pressing dd?
17:31:00 <alise> or in the camera window somehow?
17:33:57 <Phantom_Hoover> List in the Main window.
17:34:02 <alise> Huh.
17:36:00 <AnMaster> -alise- VERSION xchat 2.8.8 Linux 2.6.33-ARCH [x86_64/2.01GHz/SMP] <-- I think you need to update. Arch is on 2.6.34 now isn't it?
17:40:12 <alise> Not sure. I'm a bit lazy.
17:40:21 <alise> And why is X-Chat telling you my system specifications...?
17:40:24 <alise> [[Is it taboo, in the world of software, to deliver code which is at the same time freely available for anybody to inspect but not available for free modification? Is it acceptable to say "look but don't touch"?]] --Sam Hughes
17:40:25 <alise> Yes; no.
17:40:31 <alise> Thou hath disappointed me, Sam Hughes.
17:41:04 <alise> [[I was working on performance enhancements in the HATETRIS AI algorithm. Someone, unsolicited, sent me a version of HATETRIS with all of the enhancements I was working on already implemented. For example, expressing each row in the well as a binary number encoding a bit field, instead of an array. Does that person now get co-credit on what I was about to do?]]
17:41:07 <alise> Who gives a shit?
17:41:46 <AnMaster> alise, because xchat does that by default
17:41:53 <alise> AnMaster: Why?
17:42:03 <AnMaster> no idea
17:42:05 <alise> AnMaster: At worst a security hole, at best a... completely useless non-feature.
17:42:18 <alise> (you could have exploits in your kernel; security by obscurity, yes, but still, no need to blab those kinds of things)
17:42:39 <AnMaster> bbl upgrade that I need to restart X for...
17:42:40 <alise> AnMaster: and in the one move I *wouldn't* expect of X-Chat, it seems to be unconfigurable from the GUI
17:43:32 <alise> There, I have a new VERSION string.
17:43:40 -!- relet has quit (Read error: Connection reset by peer).
17:43:45 <alise> Ugh, it doesn't work.
17:44:09 <AnMaster> alise, turn it off (forgot where) then add a custom one
17:44:12 <AnMaster> bbl really now
17:44:16 <alise> yeah it's the first part I'm trying to do
17:44:48 -!- relet has joined.
17:45:21 -!- CakeProphet has joined.
17:45:26 <alise> hi relet, CakeProphet
17:45:49 <alise> /set irc_hide_version on
17:45:50 <alise> is it btw
17:46:04 <alise> I now have a new VERSION string without pesky system details.
17:46:29 <alise> So, list of available netcats:
17:46:56 <alise> Netcat 1.10 -- http://nc110.sourceforge.net/ (plus various patched versions)
17:46:56 <alise> nmap.org Ncat -- http://nmap.org/ncat/
17:46:56 <alise> GNU Netcat -- http://netcat.sourceforge.net/
17:47:09 <alise> All of which respond to nc(1), and have very similar names to "nc" or "netcat". Sheesh.
17:50:00 * pikhq wonders what the simplest Linux bootloader is.
17:50:07 <oklopol> guess what this program does: 8============================D
17:50:21 <alise> something not suitable for a pg-13 channel
17:50:29 <alise> pikhq: lilo is pretty damn simple
17:50:31 <alise> especially old lilo
17:50:36 <alise> apart from that, syslinux?
17:50:38 <pikhq> Ideally one that can be written to a floppy via cat boot linux > /dev/fdd
17:50:39 <alise> it's lightweight apparently
17:50:46 <alise> pikhq: or perhaps even loadlin
17:50:48 <pikhq> Screw. Filesystems.
17:50:49 <pikhq> :)
17:50:57 <alise> pikhq: Screw formatted floppies.
17:51:17 <alise> pikhq: http://busybox.net/~vda/mboot/
17:51:20 <alise> pikhq: Master boot record that boots.
17:51:29 <alise> pikhq: http://busybox.net/~vda/linld/ DOS linux loader from the same guy.
17:51:33 <pikhq> Does it load Linux?
17:51:55 <pikhq> I'm going with "no".
17:52:18 <alise> pikhq: What?
17:52:20 <alise> mboot or linld?
17:52:21 <alise> Both do.
17:52:26 <alise> linld is designed for loading Linux from DOS.
17:52:31 <pikhq> mboot.
17:52:33 <alise> pikhq: ah
17:52:35 <alise> I guess not
17:52:36 <pikhq> Directly load Linux.
17:52:37 <alise> but linld would
17:52:43 <alise> and, well, it's just a COM
17:52:45 <alise> can't use many syscalls
17:53:07 <oklopol> http://qntm.org/1111 <<< a better answer than an ugly random polynomial is "after 1 1 1 1 there's a 5, in the sequence 111151111511115..."
17:53:11 <oklopol> it's a lot more natural
17:53:18 <alise> pikhq: just get rid of the dos-unloading shit from linld and you're done :P
17:53:47 <alise> oklopol: the statement is more "for every sequence of reals there is a polynomial such that f(n) = a_n"
17:53:56 <pikhq> alise: Guess I'll just make linld run on direct hardware and call it a day then. :P
17:53:58 <oklopol> oh was that stated k
17:53:59 <alise> which just happens to give "slight" justification to giving any answer to "next in sequence"
17:54:04 <alise> oklopol: well implicitly
17:54:12 <alise> by explaining lagrange interpolation
17:54:24 <AnMaster> alise, the nmap ncat isn't a bad one as such. And I seem to have no one called nc on my system, only /usr/bin/ncat
17:54:43 <alise> AnMaster: Yes, but calling entirely independent programs the same name sucks. Just creates confusion.
17:54:59 <oklopol> much less justification than taking a repeating set of integers imo; well, okay i guess if it was not true that every finite sequence can be expressed as a polynomial, then that would be a lot more justification
17:54:59 <AnMaster> alise, well it seems to be called ncat not netcat or nc consistently?
17:55:00 <alise> Especially GNU Netcat, which is un-UNIXy bloat completely the opposite of what Hobbit intended.
17:55:06 <pikhq> Oh, it's in C++.
17:55:06 <alise> AnMaster: gnu netcat takes up both netcat and nc.
17:55:08 <alise> and is called "netcat".
17:55:12 <alise> it shares no code with netcat.
17:55:13 <AnMaster> alise, yes the gnu one does
17:55:18 <AnMaster> alise, I meant the nmap.org one
17:55:23 <alise> ok, but still
17:55:25 <alise> it's a confusing name
17:55:30 <AnMaster> well okay
17:55:31 <alise> i was confused by it until i figured it out :P
17:56:13 <AnMaster> alise, just had to do a pacman -Qo followed by pacman -Qi to find out it was a nmap.org one. Think man page also mentions it
17:56:27 * pikhq looks for the Linux 2.4 boot sector.
17:56:46 <alise> AnMaster: There's no arch package for stock Hobbit netcat 1.10 so I had to compile it myself.
17:57:19 <AnMaster> alise, not even aur?
17:57:33 <alise> aur/nc is a version patched with god-knows-what.
17:57:37 <alise> When it comes to netcat, I'm a purist. :-)
17:57:49 <AnMaster> alise, you needed to patch too iirc?
17:57:58 <alise> If the structures and variables aren't named "poop", if there isn't a define called GAPING_SECURITY_HOLE, if it doesn't have *Hobbit*'s signature on it, I won't use it.
17:57:59 <AnMaster> alise, anyway I doubt the hobbit one does ipv6
17:58:03 <alise> AnMaster: no, I just couldn't figure out the build system
17:58:07 <alise> ok, I had to add one patch (to include a header file)
17:58:15 <alise> but that's just bitrot ... of the unix systems not of netcat :-)
17:58:23 <alise> it doesn't -- thankfully, nobody else does ipv6 either
17:58:37 <AnMaster> okay so now my thunderbird is suddenly called "lanikai"... Irritating.
17:58:46 <alise> AnMaster: probably another trademark issue.
17:58:57 <alise> AnMaster: there is a patched netcat with ipv6
17:59:01 <alise> iirc
17:59:09 <AnMaster> yes but it was called shredder before. Oh it seems it is still called shredder in a few places
17:59:20 <alise> shredder is a confusing name for a mail client
17:59:23 <alise> AnMaster: they change name every new version
17:59:48 <AnMaster> well I found shredder a funny name
17:59:58 <AnMaster> oh and it still says shredder on the "you just updated" tab
18:00:20 <alise> http://i.imgur.com/CtXcm.jpg
18:00:21 <alise> Oh my word.
18:00:40 <fizzie> There's also the good old loadlin for "loading Linux from DOS"; I have no idea which one of those would be simplest.
18:00:55 <alise> fizzie: linld was created because loadlin broke for the author and he found it too complex to fix
18:00:58 <alise> So, yeah, linld is simpler.
18:01:00 <alise> s/fix$/fix./
18:01:23 <AnMaster> ffs. 404 for enigmail version supposed to work with this
18:01:26 <fizzie> The Linux boot protocol is (surprisingly) well documented in Documentation/x86/boot.txt, though, so it's not hard to whip up a loader.
18:01:30 * pikhq fetches Linux 2.4 in hopes of being able to use its boot sector
18:01:41 <pikhq> (it came with a bootloader. Bwahahah.
18:01:42 <alise> pikhq: just write your own loader ... although you'd have to do initramfs stuff
18:01:42 <pikhq> )
18:01:57 <alise> pikhq: I strongly suggest you get rid of tmpfs, using shmfs or whatever it is instead, add block devices, and use initrd.
18:02:01 <pikhq> alise: initramfs from the point of view of a bootloader is the same as initrd.
18:02:06 <alise> Oh, okay.
18:02:59 <pikhq> I'll compare the size of tmpfs vs. an initrd with other filesystems.
18:03:22 <alise> pikhq: if you disable tmpfs
18:03:26 <alise> then there's some built in filesystem
18:03:28 <alise> shmfs or ramfs or something
18:03:42 <alise> so disable tmpfs, disable initramfs, enable block devices, disable every block device thing there is, enable initrd
18:03:44 <alise> might be smaller
18:03:50 <alise> pikhq: btw you can compile a filesystem into the kernel.
18:03:53 <pikhq> alise: And how do you propose getting anything *onto* the ramfs?
18:04:01 <alise> or something
18:04:14 <alise> pikhq: Umm ... serialise the ramfs to disk!
18:04:22 <pikhq> Doesn't work.
18:04:26 <alise> pikhq: Fine, initramfs then. :P
18:04:29 <alise> pikhq: Look at this: http://en.gentoo-wiki.com/wiki/Initramfs#Embedding_into_the_Kernel
18:04:32 <alise> If you want the initramfs to be embedded into the kernel image, edit your kernel config and set Initramfs source file(s) to the root of your initramfs, (e.g /usr/src/initramfs):
18:04:32 <alise> Linux Kernel Configuration: Enabling the initramfs
18:04:32 <alise> General setup --->
18:04:32 <alise> (/usr/src/initramfs) Initramfs source file(s)
18:04:32 <alise> Now when you compile your kernel it will automatically compress the files into a cpio archive and embed it into the bzImage. You will need to recompile the kernel any time you make any changes to your initramfs.
18:04:41 <pikhq> Yes, I'm aware of how you can compile in an initramfs.
18:04:45 <pikhq> It is quite nice.
18:04:45 <alise> right
18:04:46 <alise> #
18:04:53 <alise> *delete last line
18:04:56 <alise> hmm, we need an irc correction language
18:05:42 <AnMaster> alise, yes a subset of sed works well
18:05:57 <AnMaster> /^#$/d
18:06:03 <alise> nah we need something more esoteric
18:06:04 <AnMaster> would delete that line you wanted deleted
18:06:16 <alise> vimish stuff could work quite well, "3 delete previous line"
18:06:22 <alise> to erase the three previous lines
18:06:35 <alise> of course, the prefix would be a *
18:06:37 <AnMaster> well it is certainly esoteric
18:06:49 <AnMaster> well,*
18:06:50 <alise> and invalid programs would be specified to run with sed, failing that, perl (more regular expression capabilities)
18:07:01 <alise> failing that, the human should figure out the program's intent :P
18:08:12 * AnMaster ponders a matrix based esolang.
18:08:17 <AnMaster> not as in the movie
18:08:33 <AnMaster> but as in the math concept
18:09:02 <alise> or both
18:09:08 <AnMaster> hm actually, could elementary matrix math be TC?
18:09:12 <alise> no.
18:09:20 <AnMaster> what would you need to extend it with I wonder...
18:09:22 <alise> all elementary matrix math functions terminate :P
18:09:31 <CakeProphet> alright so. question about bash
18:09:52 <CakeProphet> if I wanted a shell program that I could run to communicate with a background server process... how would I accomplish this?
18:10:10 <AnMaster> alise, good point. However I want a TC, self modifying matrix based language that is basic matrix math + the minimum extra required to make it TC
18:10:16 <AnMaster> need to ponder how
18:10:19 <CakeProphet> can you get pids from process names?
18:10:21 <alise> I want a pony...
18:10:35 <alise> CakeProphet: A few options.
18:10:35 <AnMaster> alise, I'm not asking anyone else to make this :P
18:10:42 <alise> A file socket.
18:10:44 <alise> A TCP socket.
18:10:50 <alise> A theprogram.pid file.
18:10:54 <AnMaster> redirecting STDIO
18:10:56 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.6/20100625231939]).
18:10:57 <AnMaster> that would be easiest
18:11:11 <alise> AnMaster: which is basically the degenerate case of a file socket (which i forget the proper name of)
18:11:13 <alise> (not unix socket)
18:11:16 <alise> (i don't think...)
18:11:21 <AnMaster> starting the bg server process from the shell and redirecting it's stdio to, say, fd 4 and fd 5
18:11:24 <alise> oh fifo
18:11:25 <alise> socket
18:11:36 <alise> thing
18:11:36 <AnMaster> alise, well doesn't have to be a fifo on the fs
18:11:42 <alise> AnMaster: right
18:11:55 <alise> AnMaster: or just write and read to fd 4 and 5 directly ofc
18:12:03 <alise> but a fifo would be the cleanest fs way to do this
18:12:08 <alise> whatever you do don't use ipc sockets
18:12:11 <alise> or i'll kill you
18:12:52 <AnMaster> CakeProphet, you could get pid easily of the last backgrounded program using some variable
18:12:58 * AnMaster tries to remember which one
18:13:29 <AnMaster> ah yes $!
18:13:43 <AnMaster> $$ is pid of the shell itself
18:13:57 <AnMaster> alise, what is wrong with ipc sockets?
18:14:10 <AnMaster> I never used them and don't know much about them really
18:14:17 <alise> AnMaster: imagine the most complicated, stupid way to do ipc you can
18:14:21 <alise> now layer it on everything
18:14:22 <alise> now sdfoji
18:14:28 <CakeProphet> AnMaster: is this something that I could do at any time?
18:14:30 <CakeProphet> like
18:14:33 <alise> i only tried to use them once and started looking them up and immediately i was just like "yeah fuck that"
18:14:36 <AnMaster> alise, ah
18:14:37 <alise> CakeProphet: write a .pid file.
18:14:40 <alise> like everyone else :P
18:14:42 <CakeProphet> log in to an SSH and run this program and it'll connect with the server
18:14:50 <CakeProphet> alise: ah okay. Didn't even consider that. Shut it. :P
18:14:55 <alise> CakeProphet: dude we've been telling you how to do that for the past ages :P
18:14:56 <alise> CakeProphet: or use a fifo
18:14:57 <AnMaster> CakeProphet, make the program write it's pid to a file then
18:14:58 <alise> on the filesystem
18:15:04 <alise> where do most pid files go?
18:15:06 <alise> /var/somewhere/program.pid
18:15:08 <CakeProphet> alise: you've not even mentioned it once.
18:15:09 <alise> what's somewhere, i forget
18:15:12 <alise> CakeProphet: incorrect.
18:15:14 <AnMaster> alise, /var/run perhaps
18:15:19 <alise> <alise> CakeProphet: A few options.
18:15:19 <alise> <AnMaster> alise, I'm not asking anyone else to make this :P
18:15:19 <alise> <alise> A file socket.
18:15:19 <alise> <alise> A TCP socket.
18:15:19 <alise> <alise> A theprogram.pid file.
18:15:21 <AnMaster> but that tend to be init.d only
18:15:42 <alise> AnMaster: ah yes, /var/run
18:15:43 <CakeProphet> alise: that was ages ago, /and/ for something unrelated.
18:15:44 <AnMaster> alise, the pid doesn't allow you to talk to the program easily. Only signals
18:15:49 <alise> CakeProphet: no... it wasn't.
18:15:52 <alise> and it wasn't ages ago
18:15:57 <alise> AnMaster: indeed
18:15:59 <AnMaster> it was a few minutes ago
18:16:01 <alise> AnMaster: which is why i'm suggesting a fifo
18:16:12 <alise> [ehird@ping run]$ ls
18:16:12 <alise> ConsoleKit dhcpcd rpcbind.lock syslog-ng.ctl xdm.pid
18:16:12 <alise> crond.pid dhcpcd-eth0.pid rpcbind.pid syslog-ng.pid
18:16:12 <alise> daemons hald rpcbind.sock utmp
18:16:12 <alise> dbus lirc sudo VirtualBox
18:16:17 <alise> like rpcbind and syslog-ng :P
18:16:17 <AnMaster> alise, I forgot how fifos on the file system work when you close them
18:16:22 <AnMaster> can they be reopened?
18:16:26 <alise> AnMaster: i think so, yes.
18:16:29 <AnMaster> hm
18:16:30 <alise> otherwise why would syslog-ng use it for control
18:16:39 <alise> just make the fifo /var/run/foo.(sock|ctl) and use it to communicate, voila
18:16:42 <alise> OR
18:16:42 <AnMaster> is that a fifo or socket I wonder
18:16:45 <alise> just start a damn tcp server
18:16:52 <alise> AnMaster: how would i find out?
18:17:00 <AnMaster> ls -l and check first char
18:17:03 <alise> [ehird@ping run]$ file rpcbind.sock
18:17:03 <alise> rpcbind.sock: socket
18:17:03 <alise> [ehird@ping run]$ file syslog-ng.ctl
18:17:03 <alise> syslog-ng.ctl: socket
18:17:09 <alise> meh, what kind of socket is that?
18:17:14 <AnMaster> srwxr-xr-x 1 root root 0 29 maj 19.54 syslog-ng.ctl
18:17:18 <AnMaster> alise, unix socket I presume
18:17:27 <AnMaster> that is the only one that can show up on the file system
18:17:30 <alise> mm
18:17:36 <AnMaster> alise, don't think you can make bash talk to it though
18:17:42 <alise> just use a tcp socket :P
18:17:58 <alise> as i have said many times, tcp should really have ports be strings so that this stuff is viable
18:18:02 <alise> localhost:syslog-ng
18:18:03 <alise> etc
18:18:04 <AnMaster> alise, that has the downside of not having permissions on it
18:20:01 <CakeProphet> alise: were we talking about doing hot-swapping?
18:20:08 <CakeProphet> when that was said?
18:20:17 <alise> CakeProphet: what?
18:20:21 <alise> CakeProphet: you never said that.
18:20:31 <alise> hotswapping should just be done by
18:20:40 <CakeProphet> alise: oh... it was just a second ago. I didn't scroll up to see it. :P
18:20:41 <alise> kill -SIGHUP $(cat /var/run/foo.pid)
18:21:11 <Sgeo_> Grr Chrome and Reddit don't mix
18:21:59 <alise> The two rabbits have just attempted to mate.
18:21:59 <AnMaster> you would probably need two fifos btw
18:22:06 -!- augur has joined.
18:22:06 * AnMaster checks the reopening behaviour
18:22:10 <alise> To put this into perspective, I would like to note that one of them is big and the other one is tiny.
18:22:23 <alise> Also, they're both neutered.
18:22:27 <CakeProphet> .pid file seems the easiest.
18:22:45 <alise> CakeProphet: I've seen SIGHUP to mean "reload", and /var/run/foo.pid is very common.
18:22:49 <alise> So all you need is to tell people to do:
18:22:54 <alise> kill -HUP $(cat /var/run/foo.pid)
18:23:00 <AnMaster> alise, eh, it seems to close both ends when you close it on the writing end at least
18:23:06 <AnMaster> fifos that is
18:23:13 <alise> ssh cow@someserver.com 'kill -HUP $(cat /var/run/foo.pid)'
18:23:14 <AnMaster> tested with cat
18:23:19 <alise> (I *think* ssh starts a shell.)
18:23:20 <CakeProphet> alise: dunno if I'll have access to that directory on the server I'd be hosting from, so I might just put it in the local directory of the program.
18:23:30 <alise> CakeProphet: you're going to use a shared server?
18:23:36 <alise> what are you, retarded? :|
18:23:44 <alise> buy a fucking vps :P
18:23:48 <AnMaster> alise, closing the reading end does not result in that
18:24:45 <AnMaster> CakeProphet, what are you doing this for?
18:24:48 <CakeProphet> alise: hey fuck you. At this point I don't know what I'm going to run on.
18:24:50 <CakeProphet> MUD server.
18:24:58 <alise> Hey fuck you buddy.
18:25:09 <AnMaster> CakeProphet, if you use erlang there are easier ways for reconnecting an erlang shell
18:25:10 <alise> CakeProphet: yeah, i'll just say that ... you want a vps
18:25:25 <alise> $15-$20/mo, not a gigantic expense if you really want to run a proper mud server.
18:25:31 <alise> (of course you'd need more if it grew to ... any size)
18:26:26 <CakeProphet> AnMaster: I'm not going to use Erlang though. and yes, I know it can, but I'm going with Haskell for sure.
18:26:32 <alise> Why not use Erlang?
18:26:37 <alise> It's pretty perfect for a MUD :P
18:26:48 <CakeProphet> eh... it's weird.
18:26:50 <alise> Haskell? You'd better have the objects be coded in Haskell, or you fail.
18:26:56 <alise> Yeah, Haskell isn't "weird" :P
18:27:04 <CakeProphet> alise: what else would the objects be coded in?
18:27:16 <CakeProphet> Haskell is weird in a good way.
18:27:19 <CakeProphet> Erlang feels cumbersome.
18:27:29 <alise> CakeProphet: some mudscript thing.
18:27:37 <alise> gl sandboxing haskell, i suggest using haskell-plugins.
18:27:40 <alise> or mueval
18:27:47 <alise> yeah mueval
18:27:48 <alise> http://hackage.haskell.org/package/mueval
18:27:56 <alise> it only does expressiosn i think, not sure
18:28:00 <alise> by gwern, though, so you know it's good.
18:28:01 <CakeProphet> alise: why would I sandbox it. I'm going to be the only programmer.
18:28:06 <CakeProphet> I'm just going to program everything the normal way.
18:28:08 <alise> CakeProphet: oh, not a MUSH
18:28:10 <alise> a MUD
18:28:12 <alise> how thoroughly boring
18:28:23 <CakeProphet> alise: cool story
18:28:35 <CakeProphet> MUD/MUSH is an arbitrary distinction.
18:28:47 <alise> mushes have user-codable objects.
18:29:06 <CakeProphet> yeah. I would consider it in the future.
18:29:15 <CakeProphet> but no, it would not be Haskell for that.
18:29:47 <CakeProphet> unless it's easy.
18:29:50 <CakeProphet> but I don't think so.
18:29:53 <alise> mueval or haskell-plugins
18:29:55 <alise> are easy to use.
18:30:00 <alise> and if you don't do it you fail forever :|
18:30:07 <CakeProphet> ah.
18:30:12 <CakeProphet> I'll keep that in mind then.
18:30:19 <alise> mueval only does expressions i think so you'd want haskell-plugins
18:30:27 <alise> make sure the world is structured functionally though :)
18:30:29 <alise> it'd be awesome
18:30:46 <CakeProphet> I'm not entirely sure how to do that. :P
18:30:56 <CakeProphet> most of it will probably be stateful, I'm sure.
18:31:03 <alise> gah
18:31:05 <alise> then don't use haskell
18:31:07 <CakeProphet> concurrency variables and all that.
18:31:33 <CakeProphet> though I'm going to stick to message passing when I can
18:31:57 <AnMaster> $ erl -sname foo and then erl -sname bar -remsh foo@localhost
18:32:03 <AnMaster> that works
18:32:09 <AnMaster> in different shells
18:32:20 <AnMaster> you could start the first as a daemon easily enough
18:32:37 <AnMaster> CakeProphet, it seems sad missing out on easy hot code swap though
18:32:55 <alise> message passing?
18:32:57 <alise> you fail at haskell :(
18:32:59 <CakeProphet> I'm not going to be convinced either way. If I decide on Erlang it will be independently.
18:33:51 <CakeProphet> Haskell wins at parsing and text handling. Haskell can be modified to do all the bells and whistles Erlang would be considered for.
18:34:22 <AnMaster> CakeProphet, except possibly the hot code swapping part, which according to pikhq would be somewhat painful to do in haskell
18:34:37 <CakeProphet> Haskell-coded commands would be able to load in their own Parsec parsers. It would be sweet.
18:34:46 <pikhq> AnMaster: Which is painful to do in literally every language but Erlang.
18:34:46 <CakeProphet> eh. I can do something that's good enough to the same thing
18:34:50 <alise> you're both wrong
18:34:51 <AnMaster> that is quite nice indeed
18:34:54 <AnMaster> pikhq, very true
18:34:57 <alise> both of you, stop talking
18:34:59 <alise> pikhq can keep talking
18:35:10 <AnMaster> alise, you forgot the magic word
18:35:18 <pikhq> alise: What for, pray tell?
18:35:22 <alise> btoh of you, stop the fuck talking
18:35:23 <CakeProphet> alright well
18:35:26 <alise> pikhq: :P
18:35:29 <AnMaster> alise, wrong magic word :P
18:35:33 <CakeProphet> I'm going to go do something else and maybe return when alise disappears.
18:35:46 <alise> o_O
18:35:47 <alise> your choice
18:35:48 <AnMaster> CakeProphet, sounds like a good idea.
18:35:56 <AnMaster> bbl too
18:36:01 <alise> i was joking you know ...
18:36:02 <alise> *both
18:36:18 <pikhq> Haskell wins at parsing, is quite good at concurrency, is functional... Only things Erlang's got on it is being distributed and hotloading of code.
18:36:25 -!- DH____ has quit (Read error: Connection reset by peer).
18:37:12 <alise> Nooobody can heeeaaar youuuu :P
18:37:16 <alise> They've all run away because of me
18:37:29 <pikhq> :P
18:37:44 <alise> omg mayan long count calendar dates
18:37:45 <alise> are written as
18:37:49 * pikhq should eat
18:37:54 <alise> baktun . katun . tun . uinal . kin
18:37:56 <alise> THEY'RE IP ADDRESSES
18:38:10 <alise> it's currently 12 . 19 . 17 . 8 . 12
18:38:20 <CakeProphet> eh, I'm still lurking. I just prefer not to be verbally abused when I speak, even if it isn't really taken seriously.
18:38:28 <alise> quick, someone nmap 12.19.17.8.12
18:38:32 <alise> okay okay so we need one more field
18:38:47 <alise> CakeProphet: The 'fuck' was in response to AnMaster asking for the magic word.
18:38:53 <alise> Not an additional exhortation.
18:39:20 <CakeProphet> alise: it was nothing particularly specific that made me come to that conclusion
18:39:29 <alise> Then I did not verbally abuse you.
18:39:42 <alise> Anyway, I won't be gone for the rest of the day and part of the night, so good luck with that.
18:40:12 <CakeProphet> I could make some crazy functional scripting lang and hotswap that. :)
18:40:19 <alise> Call it "Haskell".
18:41:01 <CakeProphet> I don't think there's any sense way to hot-swap Haskell though. The "copyover" approach is the best though. Because it a) doesn't disconnect anyone b) restarts the server cleanly with the new code.
18:41:12 <CakeProphet> effectively all I need to be able to do.
18:41:17 <CakeProphet> is to avoid having to disconnect players.
18:41:25 <alise> "They have the most impressive 1:1 scale model, display cities I have ever seen." -- on North Korea
18:41:45 <alise> "Having actually been to North Korea, I can tell you that the best thing about it is getting to leave afterwards."
18:41:49 <CakeProphet> but get this: it'll be object oriented functional.
18:41:57 <CakeProphet> I mean, naturally, it's a MUD. there's objects everywhere.
18:42:06 <alise> http://i.imgur.com/dn9RY.jpg <-- They did not survive this.
18:42:11 <alise> CakeProphet: objects, A.K.A. closures
18:42:35 <CakeProphet> ha. I didn't know closures could inherit.
18:43:13 <pikhq> Objects can't inherit.
18:43:22 <pikhq> :)
18:43:25 -!- Geekthras has quit (Ping timeout: 265 seconds).
18:43:26 <CakeProphet> oh but I'm sure it can be composed of closures. So why don't I just use machine code then?
18:43:35 <CakeProphet> pikhq: depends. prototyping can do that.
18:43:35 <alise> Indeed, in the usual model CLASSES inherit.
18:43:42 <CakeProphet> not all OO is Java.
18:43:44 <alise> In fact, Alan Kay did not envision inheritance.
18:43:56 <alise> He now resents inheritance quite a bit.
18:44:05 <alise> Inheritance is basically legislated abstraction-breaking.
18:44:10 <CakeProphet> too bad he has no real say on it.
18:44:19 <alise> Now you're the one being a dick.
18:44:31 <Phantom_Hoover> What's wrong with inheritance?
18:44:40 <pikhq> IMO, the only defining attribute of "object-oriented programming" is that you have "objects" consisting of data, with the functions contained within closing over the containing object.
18:44:44 <Phantom_Hoover> It seems quite reasonable.
18:44:54 <alise> [[One of our guides knew the basic outlines of Michael Jackson's life: "Oh, the guy who was born black and then became white and weird and just died?"]]
18:44:59 <CakeProphet> pikhq: that sounds perfectly sound to me.
18:45:06 <alise> Phantom_Hoover: because your inherited class depends on implementation details of its inheriter
18:45:18 <pikhq> CakeProphet: Yeah, it *is* the single common attribute of all OOP things. :)
18:45:18 <alise> what is the point of OOP? To encapsulate and thus hide implementation details.
18:45:26 <alise> Inheritance: It's the feature of OOP that defeats the point of OOP. Yay!
18:45:34 <alise> THEN, SUDDENLY, Java.
18:45:38 <pikhq> And this can *easily* be done in any functional language with abstract data types.
18:46:00 <CakeProphet> pikhq: how would the methods be done sanely? Dynamic dispatch?
18:46:15 <Phantom_Hoover> So anything with inheritance is defeating the point of OOP?
18:46:31 <CakeProphet> well the thing about that alise is that there are different uses for inheritance.
18:46:36 <alise> Phantom_Hoover: pretty much... purist oop is not very practical, practical oop is not very useful.
18:46:40 <pikhq> CakeProphet: Methods? Those are functions inside the object that close over the object.
18:46:43 <Phantom_Hoover> CLOS?
18:46:50 <alise> CakeProphet: the only proper form of inheritance is not inheritance, it is COMPOSITION.
18:46:54 <alise> And guess what closures are really good at?
18:46:55 <alise> Composition.
18:47:05 <CakeProphet> and generally implementation details still don't need to be known. Instead you have an abstraction of the "core behavior" of a process which you can proceed to expand on
18:47:31 <alise> some very smart oop people who dislike inheritance and like composition: alan kay, gilad bracha. also, anyone who has ever actually thought about or studied it.
18:47:45 <CakeProphet> pikhq: I meant how would you handle types in Haskell.
18:47:58 <pikhq> CakeProphet: Whaddya mean?
18:48:06 <alise> "Types? Can you do them in Haskell?"
18:48:08 <Phantom_Hoover> Composition...?
18:48:40 <pikhq> Phantom_Hoover: Sticking two things together to make a new thing.
18:48:42 <alise> Phantom_Hoover: Instead of having a class "be" another class plus some stuff, we have a class contain the class "you inherit from".
18:48:51 <alise> Basically, composition is putting your parent in yourself .... bad terminology.
18:49:00 <alise> It's fussy and awkward to use with existing OOP languages.
18:49:02 <alise> It's easy with closures.
18:49:05 <CakeProphet> I guess I'm just wondering how you could sanely implement all of the OOP functionality in Haskell.
18:49:07 <pikhq> You do this all the *time* in functional programming, and in certain OOP languages.
18:49:07 <alise> But what pikhq said.
18:49:09 <alise> You stick two things together.
18:49:17 <alise> CakeProphet: by using the parts of OOP that are actually decent and useful.
18:49:19 <pikhq> Most sane in Smalltalk and Tcl's SNIT object system.
18:49:56 <CakeProphet> composition is wonky in static typing unless you have a wicked type system (aka not Java)
18:50:10 <CakeProphet> as far as implicit casting goes.
18:50:13 <Phantom_Hoover> So wait, what does the CLOS use?
18:50:46 <CakeProphet> I think the prototype model fits best in a language like Haskell
18:50:46 <alise> CakeProphet: good thing haskell has a wicked type system.
18:50:53 <alise> Phantom_Hoover: clos is conventional oop, it just does conventional oop really well
18:50:55 <alise> still conventional oop
18:50:55 <CakeProphet> you have objects, you can clone objects, and you can clone via composition.
18:50:59 <alise> CakeProphet: no, you don't do that
18:51:05 <alise> there is no cloning
18:51:07 <alise> because there is no mutation
18:51:15 <CakeProphet> ah, right.
18:51:16 <alise> you instead have constructors, which are basically ... functions returning the object closures
18:51:29 <alise> and then you can tell the object to give you an identical object but with some stuff different
18:51:33 <alise> these are very easily composed, naturally
18:51:42 <alise> you can use pattern matching to handle the messages you want
18:51:57 <pikhq> data SimpleObject = SimpleObject {method1 :: Foo -> Bar; method2 :: Bar -> Baz; bar :: Bar}; newSimpleObject newBar = let this = SimpleObject {method1 = \_-> bar this;method2 = \x->barToBaz;bar = newBar} in this
18:51:58 <alise> then have a wildcard "handle x = mySoCalled'Parent' x"
18:52:05 <pikhq> Bam, a simple object in OOP Haskell.
18:52:40 <Phantom_Hoover> That stems directly from first-class functions, though.
18:52:46 <CakeProphet> but it would be sort of like prototype because there wouldn't technically be a distinction between an object and a class.
18:52:54 -!- DH____ has joined.
18:53:16 <pikhq> CakeProphet: Yes. Classes are a bizzare, bizzare thing.
18:53:37 <pikhq> Whereas just objects are actually a very simple and occasionally reasonable abstraction.
18:54:13 <Phantom_Hoover> I take it we don't like conventional OOP here, then.
18:54:19 <CakeProphet> pikhq: I think it arises from a) bad type systems b) easier to deal with. if you do everything with objects you either need to consume large amounts of memory storing function pointers or have something like differential inheritance.
18:54:39 <CakeProphet> or delegates
18:55:44 <CakeProphet> newObject = (CMyObject ...) `delegatesTo` DelegateObject
18:55:52 <pikhq> CakeProphet: Yeah, most object systems involve large amounts of memory going towards function pointers. :P
18:56:08 * alise writes a good object example in haskell
18:56:30 <pikhq> alise: Hooray, do it better than I!
18:57:17 <CakeProphet> though some operators would be fancy. :>: for delegation. :)
18:57:42 <CakeProphet> :<: = swap (:>:)
18:58:23 <pikhq> alise: BTW, it seems that dynamically linked binaries *on uclibc* are smaller than statically linked ones pretty consistently.
18:58:39 <CakeProphet> hmmm... would it be reasonable or sane to make Haskell Objects members of State or ST?
18:58:41 <pikhq> And also beat the hell out of glibc's dynamic binaries.
18:59:18 <alise> pikhq: But they art slower and you need kernel support!
18:59:22 <alise> Which makes the kernel bigger!
18:59:40 <pikhq> alise: No kernel support is involved, actually.
18:59:50 <alise> *Main> counter#Value
18:59:50 <alise> 0
18:59:50 <alise> *Main> counter#Increment#Value
18:59:50 <alise> 1
18:59:50 <alise> *Main> counter#Increment#Decrement#Value
18:59:51 <pikhq> Dynamic linking is done in userspace.
18:59:51 <alise> 0
19:00:18 <pikhq> Here's the entire total of kernel support: "interpreter requested; call that with the binary as an argument".
19:00:29 <pikhq> The "interpreter" does all the dynamic linking.
19:00:39 <pikhq> (this is ld-linux.so)
19:01:17 <CakeProphet> I think defining members in OO Haskell should involve simply creating regular Haskell data constructors and then plugging them into the OO constructor
19:01:35 <CakeProphet> which has stuff like delegate information
19:01:49 <pikhq> CakeProphet: Dude, you fail.
19:02:14 <alise> *Main> counter
19:02:14 <alise> counter (Value = 0)
19:02:14 <alise> *Main> counter#Increment#Increment
19:02:14 <alise> counter (Value = 2)
19:02:16 <alise> Dude, I win.
19:02:16 <pikhq> In any sane OO Haskell, there is *no distinction* between members and any other function. Except they happen to close over the right things.
19:02:19 <alise> pikhq: ^ I win.
19:02:26 <pikhq> alise: Source code?
19:02:28 <pikhq> Also, nice.
19:03:00 <alise> pikhq: http://pastie.org/1020883.txt?key=vnekr3vinecdhfimobgrw
19:03:09 <alise> I'll do functions with arguments now, then some composition.
19:03:29 <Gregor> Another problem with actually installing an operating system on JSMIPS: At present, I maintain the UNIX process abstraction by actually giving each process its own simulator instance :P
19:03:53 <pikhq> alise: Not bad.
19:03:56 <pikhq> Gregor: :P
19:04:05 <CakeProphet> pikhq: what alise just did is no different than what I was saying.
19:04:08 <alise> pikhq: There are some issues due to restrictions in Haskell; if you want to do an argumenty function you have to do:
19:04:12 <alise> counter' n Modify = \n -> ...
19:04:13 <alise> instead of
19:04:15 <alise> counter' n Modify n = ...
19:04:17 <CakeProphet> there is the OO handling stuff... and then there is the programmer defined member values.
19:04:19 <alise> which makes pattern matching a bit of a bitch
19:04:23 <alise> and also the Agent stuff is a bit verbose
19:04:26 <alise> but it's just a proof of concept
19:04:35 <alise> I think it reflects well on Haskell's flexibility.
19:04:47 <CakeProphet> OO. Verbose? That's unusual.
19:04:56 <alise> :P
19:04:59 <alise> *Main> (counter#Modify) 3
19:04:59 <alise> counter (Value = 3)
19:05:02 <alise> Gotta make that precedence better.
19:05:19 <CakeProphet> # should probably bind pretty close
19:06:15 <alise> Actually, I don't think it's /possible/ to bind tighter than function calls.
19:06:24 <CakeProphet> unfortunately not.
19:06:46 <CakeProphet> surely there's a way to do counter#Modify 3
19:06:55 <alise> That would require binding tighter than a function call. :-)
19:07:01 <alise> I could have Modify construct a message...
19:07:04 * alise tries that
19:07:19 <CakeProphet> ah so
19:07:26 <alise> *Main> counter#Modify 3
19:07:26 <alise> counter (Value = 3)
19:07:27 -!- ais523 has joined.
19:07:28 <CakeProphet> obj#(msg x y z)
19:07:30 <alise> Then (Modify 3) is the message.
19:07:30 <alise> :D
19:07:30 <CakeProphet> like that?
19:07:33 <alise> Hi ais523.
19:07:35 <alise> CakeProphet: like that, yeah
19:07:42 <alise> *Main> counter#Modify 3#Value
19:07:42 <alise> 3
19:07:45 <alise> ais523: guess what I've invented
19:07:48 <ais523> hi
19:08:17 <ais523> alise: a purely-functional, statically typed communication mechanism that goes faster than the speed of light?
19:08:24 <alise> ais523: OOP Haskell.
19:08:28 <alise> Well, technically, reinvented for the Nth time.
19:08:30 <alise> But this time it's gooood.
19:08:46 <ais523> heh, I wasn't that far off
19:09:06 <alise> hmm... my objects have no notion of self
19:09:12 <alise> nested where clauses, fuck yeah
19:09:25 <CakeProphet> alise: the nice thing about that setup is you can have functions that return messages.
19:09:30 <alise> CakeProphet: yep
19:09:33 <alise> which means you can do e.g.
19:09:34 <CakeProphet> obj#(helper x y z)
19:09:37 <alise> counter#destroyTheWorld
19:09:45 <alise> so I invented that C# feature that lets you do that, static methods or something
19:09:50 <alise> AND there's a built-in syntactical distinguisher for them!
19:09:54 <alise> why am I such a fucking genius :|
19:10:35 <CakeProphet> alise: I have a feeling typeclasses could be used for great good
19:10:44 <Gregor> I think it's time to BASH in BASH!
19:10:54 <alise> wtf, where clauses only apply to one pattern-matching clause
19:10:56 <alise> that's retarded
19:11:54 -!- relet has quit (Read error: Connection reset by peer).
19:12:14 <CakeProphet> alise: perhaps put all of Agents functionality into a typeclass so that "metaobjects" can be programmed. Essentially like classes except better.
19:12:27 <CakeProphet> # and various composition operators
19:13:05 <CakeProphet> so then you could have objects implemented as, say, maps that are easy to modify.
19:13:11 <CakeProphet> (modify in the Haskell sense...)
19:13:34 <CakeProphet> or implement Actor model
19:15:30 <alise> unfortunately you can't do things like
19:15:33 <alise> foo ++ show c#Value ++ bar
19:15:38 <alise> because the precedence is impossible to do like that
19:16:22 <alise> *Main> talker "alise" # Speak "Hello, world!"
19:16:23 <alise> "Hello, world!", said alise.
19:16:37 <alise> *Main> talker "alise"
19:16:37 <alise> talker "alise"
19:16:37 <alise> *Main> talker "alise" # Name
19:16:37 <alise> "alise"
19:17:37 <Gregor> Well ... that was bizarrely easy ...
19:17:56 <CakeProphet> alise: this is why I should make a scripting language that makes everything syntatically convenient.
19:18:06 <alise> Gregor: What was? Mating with an android?
19:18:24 <Gregor> No, that was a long time ago.
19:18:24 <Gregor> bash.
19:18:37 <alise> Bashing an android while mating with it?
19:19:02 <Gregor> Yup
19:19:12 <Gregor> Nowait, bash fail :P
19:19:18 <Gregor> Damn. Well, it built :P
19:19:29 <alise> How arousing
19:19:31 <alise> s/$/./
19:21:06 <Phantom_Hoover> What bash-related things are you doing?
19:21:30 <Phantom_Hoover> alise, isn't substituting for missing full stops at the end of a post a little unnecessary?
19:21:44 <CakeProphet> alise: here's an idea. You could syntatically lift functions into OO land. Similar to $ but with different precedence.
19:21:49 <CakeProphet> with an operator
19:21:51 <alise> http://ed.fnal.gov/projects/scientists/amanda.html <-- A visit to Fermilab caused Amanda's impression of a scientist to change from a smart, thin woman in a lab coat who gets into the Guiness World Book of Records... into something that anyone can be, especially if you're a chubby man with a beard.
19:21:57 <alise> Well, that sure improved her image of scientists!
19:22:04 <alise> CakeProphet: Eh?
19:22:52 <alise> ALL THE BEFORE IMAGES AND DESCRIPTIONS ARE AWESOME AND THE AFTER ONES ARE BORING
19:22:55 <alise> WHAT HAVE YOU DONE TO THESE KIDS
19:23:22 <Phantom_Hoover> Dammit, we need to look cool!
19:23:38 <Phantom_Hoover> I wonder what their impressions of computer people are?
19:24:49 <CakeProphet> Haskell needs circumfix operators. :)
19:24:52 <CakeProphet> and then macros
19:24:59 * Sgeo_ cries at Chrome's lies
19:25:09 <Phantom_Hoover> Also, I don't think geomview is very good for N-E rendering.
19:25:20 <CakeProphet> print "Hello, " ++ <<echo "World!">>
19:25:44 <Phantom_Hoover> CakeProphet, that would be weird.
19:25:47 <CakeProphet> /s/"Hello, " /"Hello, " $ /
19:25:56 <CakeProphet> er
19:25:59 <CakeProphet> ...
19:26:01 <CakeProphet> print
19:26:12 <CakeProphet> use that pattern recognition stuff.
19:26:16 <CakeProphet> stupid humans.
19:26:23 <CakeProphet> it's hard for an IRC bot to understand such things.
19:27:04 <CakeProphet> Phantom_Hoover: if by weird you mean awesome, then yes, I agree.
19:27:38 <CakeProphet> dialecting looks so much fun, but languages have terrible support for it.
19:28:08 <alise> dialecting?
19:28:15 <alise> Ugh, I've had another problem with self.
19:28:17 <CakeProphet> yes, it's what it sounds like.
19:28:19 <alise> pikhq:
19:28:20 <alise> counter' n msg
19:28:20 <alise> | msg <- Increment = self#Modify 1
19:28:20 <alise> | msg <- Decrement = self#Modify (-1)
19:28:20 <alise> where self = Agent (counter' n)
19:28:26 <alise> This even looks like nicer syntax than the pattern matching.
19:28:29 <Phantom_Hoover> CakeProphet, IO monad?
19:28:32 <alise> And lets us use self over multiple clauses.
19:28:36 <alise> pikhq: So, it's good, right?
19:28:37 <alise> Haha! Fool!
19:28:44 <CakeProphet> OO isn't meant for Haskell. or perhaps OO isn't meant to be used, maybe this is what Haskell is telling us.
19:28:52 <alise> pikhq: It utilises GADT pattern matching changing the type, and thus you have to use proper pattern matching.
19:28:52 <alise> Hahaha.
19:29:00 <alise> CakeProphet: no, Haskell just wasn't DESIGNED for OOP :P
19:29:02 <alise> I can get this working
19:29:05 <AnMaster> <pikhq> Objects can't inherit. <-- have you ever heard about prototype based OOP?
19:29:05 <alise> just a few minor niggles
19:29:15 <alise> AnMaster: yes.
19:29:16 <alise> that's not inheritance.
19:29:20 <pikhq> alise: Not bad at all.
19:29:30 <alise> pikhq: not bad except it can't work for the reasons I stated
19:29:31 <CakeProphet> alise: I predict Braces For Haskell
19:29:40 <CakeProphet> let's give it a better name than that though...
19:29:41 <alise> CakeProphet: you don't need to use layout in haskell
19:29:41 <CakeProphet> !simpleacro
19:29:48 <alise> you can just use {, } and ;
19:29:49 <CakeProphet> ... :(
19:29:59 <CakeProphet> !userinterps
19:29:59 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc drawl drome dubya echo eehird ehird fudd funetak google graph gregor he hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro slashes svedeesh swedish valspeak warez yodawg
19:30:01 <EgoBot> GUQK
19:30:11 <CakeProphet> my acronym generator is gone. :(
19:30:12 <Phantom_Hoover> !sveedish
19:30:20 <Phantom_Hoover> !sveedish asdf
19:30:22 <Phantom_Hoover> !sveedish hello
19:30:44 <Phantom_Hoover> !postmodern hello
19:30:44 <EgoBot> hello
19:31:00 <CakeProphet> !postmodern I am the Queen of France.
19:31:01 <EgoBot> I am tted Kennedy Queen of France.
19:31:18 <AnMaster> <alise> that's not inheritance. <-- when you construct a new object based on another it does inherit it in a sense
19:31:50 <AnMaster> alise, so in which sense does in not inherit? Presumable there is some vital aspect of your definition of inheritance that I'm missing.
19:31:55 <AnMaster> presumably*
19:32:08 <alise> It's extension, not inheritance.
19:32:11 <alise> Standard OOP terminology.
19:32:32 <AnMaster> alise, hm okay. But what exactly makes something inheritance then.
19:32:41 <AnMaster> that it uses classes for it?
19:32:52 <CakeProphet> ...why is simpleacro gone.
19:32:52 <alise> !postmodern the future Asphalt walked out onto the pavementplace, the globe redefined his extrapolatorymusings; why was this "Sinister prescenses are at force..." bothering him? Sinister prescenses are at force ... and it was bothering him ... Asphalt . . .
19:32:53 <EgoBot> tted Kennedy future Asphalt walked out onto tted Kennedy pavementplace, tted Kennedy globe redefined his semiotically extrapolatorymusings; why was semiotically this semiotically "Sinister prescenses are at force..." bothering foucault? Sinister prescenses are at force ... and the semiotic object was semiotically bothering foucault ... Asphalt . . .
19:33:24 <alise> Tted Kennedy semiotically foucalted.
19:33:30 <alise> AnMaster: pretty much
19:34:12 <AnMaster> alise, hm. It would make perfect sense to call extension "inheritance" though. and the other way around as well come to think of it.
19:34:53 <alise> Uh oh, I need GADT inheritance here.
19:34:59 <alise> pikhq: I'm about to introduce typeclasses into the mix. Why god why.
19:35:19 <CakeProphet> !haskell main = do { len <- pick [2..10]; mapM_ putStrLn $ replicateM len $ pick ['A'..'Z'];} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:35:43 <CakeProphet> !haskell main = do { len <- pick [2..10]; mapM_ putStrLn $ replicateM len $ pick ['A'..'Z'];} where pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!)
19:35:47 <alise> Jesus christ I'm a fucking lunatic.
19:36:54 <CakeProphet> !haskell import System.Random; main = do { len <- pick [2..10]; mapM_ putStrLn $ replicateM len $ pick ['A'..'Z'] } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:37:00 <CakeProphet> ffffffff
19:37:11 <alise> type Handler t = forall msg a. (Message t msg) => msg a -> a
19:37:11 <alise> newtype Agent t = Agent (Handler t)
19:37:14 <alise> pikhq: ^ WHY GOD WHY
19:38:30 <CakeProphet> UP THE POOPER
19:38:58 <alise> {-# LANGUAGE RankNTypes, TypeSynonymInstances, MultiParamTypeClasses, FlexibleContexts, GADTs #-}
19:39:14 <alise> , UndecidableInstances, TuringCompleteTypeSystem, UndecidableCompilation, ...
19:39:18 <AnMaster> <alise> Jesus christ I'm a fucking lunatic. <-- I completely agree! ;P
19:39:30 <AnMaster> alise, anyway what are you doing?
19:39:34 <alise> ..., SolveDiophantineEquationsInTheTypeSystem, ...
19:39:38 <alise> s/^,/...,/
19:39:41 <alise> AnMaster: OOP Haskell.
19:39:46 <AnMaster> alise, ouch
19:39:54 <alise> AnMaster: The GOOD parts of OOP.
19:39:58 <alise> Actually, it's working quite well!
19:40:36 <AnMaster> alise, you should do it C++ style. Just because. I mean, if there is that "{} in python" hack then "C++ OOP in haskell" also deserves a place
19:40:38 <CakeProphet> !haskell import System.Random; main = do { len <- pick [2..10]; liftM putStrLn $ replicateM len $ pick ['A'..'Z'] } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:40:39 <AnMaster> in the world
19:40:59 <CakeProphet> !haskell :t replicateM
19:41:06 <alise> AnMaster: I did one of those {} in Python hacks! :P
19:41:19 <CakeProphet> !haskell import System.Random; import Control.Monad; main = do { len <- pick [2..10]; liftM putStrLn $ replicateM len $ pick ['A'..'Z'] } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:41:41 <CakeProphet> !haskell import System.Random; import Control.Monad; main = do { len <- pick [2..10]; mapM_ putStrLn $ replicateM len $ pick ['A'..'Z'] } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:42:42 <CakeProphet> !haskell import System.Random; import Control.Monad; main = do { len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z']) } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:42:45 <EgoBot> MNH
19:43:20 <CakeProphet> !addinterp simpleacro haskell import System.Random; import Control.Monad; main = do { len <- pick [2..7]; putStrLn =<< (replicateM len $ pick ['A'..'Z']) } where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
19:43:20 <EgoBot> There is already an interpreter for simpleacro!
19:43:24 <CakeProphet> ....
19:43:25 <CakeProphet> !simpleacro
19:43:27 <EgoBot> YARHEVGQPD
19:43:33 <CakeProphet> what the fuck
19:43:45 <alise> XD
19:43:55 <AnMaster> <alise> AnMaster: I did one of those {} in Python hacks! :P <-- okay then you should do C++ style templates in haskell. Just because.
19:44:16 <Phantom_Hoover> They have that already, if I understand it correctly.
19:44:26 <Phantom_Hoover> function :: a -> a
19:44:31 <alise> that's not what templates are
19:44:35 <alise> typeclasses are close
19:44:37 <Phantom_Hoover> Oh, damn.
19:44:44 <CakeProphet> Haskell needs moar macros.
19:44:49 <CakeProphet> and circumfix operators.
19:45:29 <Phantom_Hoover> Yes, we heard you the first time.
19:45:35 <CakeProphet> technically you could typesafe macros because the type of an unevaluated expression can be considered the same as the evaluated one.
19:46:17 <CakeProphet> well no
19:46:21 <CakeProphet> actually it wouldn't matter
19:46:29 <CakeProphet> because macros would expand at compile-time, and thus be type safe anyways.
19:46:40 <alise> pikhq: Help me debug this >_>
19:47:39 <CakeProphet> alise: hmmm, you could make method dispatch a typeclass operation.
19:47:52 <alise> CakeProphet: close to what i am doing
19:47:55 <CakeProphet> and that would simplify pattern matching.
19:48:06 <alise> class Message (t :: *) (msg :: * -> *)
19:48:06 <alise> type Handler t = forall msg. (Message t msg) => forall a. msg a -> a
19:48:06 <alise> newtype Agent t = Agent (Handler t)
19:48:06 <alise> infixl 9 #
19:48:06 <alise> (#) :: (Message t msg) => Agent t -> msg a -> a
19:48:06 <alise> Agent f # m = f m
19:49:07 <alise> Wow, Aung San Suu Kyi has actually been the Prime Minister-elect of Burma since 1990.
19:52:23 <alise> pikhq: OK, this inheritance idea is fucked up.
19:55:11 <AnMaster> alise, what is Agent?
19:55:22 <Gregor> Well, bash fails in a really weird and confusing way.
19:55:26 <alise> COPPRO!
19:55:31 <alise> Your country assaulted a Guardian reporter.
19:55:32 <AnMaster> Gregor, details?
19:55:35 <alise> This cannot be forgiven.
19:55:48 <AnMaster> alise, which country?
19:55:49 <alise> We are no longer friends.
19:55:52 <alise> AnMaster: Canada.
19:56:05 <AnMaster> alise, huh
19:56:11 <alise> The Toronto police apparently decided that instead of arresting the rioters, they'd do this to a Guardian reporter:
19:56:11 <Gregor> AnMaster: I run bash -l, I type 'ls' and hit enter, then it shows ">" like it was waiting for me to finish a string literal. When I press ', it alerts, when I press " it doesn't help.
19:56:15 <alise> "Two officers held him a third punched him in the stomach. The man collapsed. Then the third officer drove his elbow into the man's back."
19:56:19 <AnMaster> alise, wtf
19:56:28 <alise> Because, you know: that's easier.
19:56:42 <AnMaster> Gregor, 'ls' with or without quotes?
19:56:48 <AnMaster> Gregor, also what does the -l switch to bash do?
19:56:49 <Gregor> Without
19:56:50 <Gregor> Just ls
19:56:55 <Gregor> AnMaster: Makes it a login shell.
19:57:20 <AnMaster> Gregor, bash -l works for me. typing ls and hitting enter works
19:57:34 <AnMaster> Gregor, bash -l displays my normal prompt though
19:57:41 <AnMaster> which is a coloured thing
19:57:47 <Gregor> JSMIPS, DORKUS
19:57:51 <AnMaster> Gregor, oh
19:58:08 <AnMaster> Gregor, I thought this happened on your normal system. Why didn't you say it was JSMIPS
19:58:10 <Gregor> I'm not claiming that bash is just broken :P
19:58:11 <alise> http://ed.fnal.gov/projects/scientists/kevin.html Scientists are slightly less green than beforehand.
19:58:18 <Gregor> Because of course it was JSMIPS! :P
19:58:35 <AnMaster> Gregor, how should I know, I thought you were currently out taking photos for zee!
19:58:43 <alise> http://ed.fnal.gov/projects/scientists/pat.html XD
19:58:47 <Gregor> X-D
19:58:59 <alise> http://ed.fnal.gov/projects/scientists/andy.html Scientists have pointy heads now
19:59:06 <alise> Also they are more sinister and evil rather than just evil
19:59:12 <Phantom_Hoover> Fermilab must be shut down.
19:59:26 <alise> http://ed.fnal.gov/projects/scientists/michael.html When I went to Fermilab, I found out that all scientists lean sideways.
19:59:36 <AnMaster> alise, visit to Fermilab hm. Well the ones before looks like chemists. the ones after look like physicists or compsci
19:59:56 <AnMaster> at least in some cases
19:59:58 <alise> http://ed.fnal.gov/projects/scientists/dand.html I found out that not all scientists have horribly mangled arms.
20:00:05 <alise> Also, they grin really creepily.
20:00:09 <Phantom_Hoover> Just the chemists.
20:00:49 <alise> http://ed.fnal.gov/projects/scientists/ashley.html wat
20:01:06 <Phantom_Hoover> They are, in fact, aliens.
20:01:09 <alise> http://ed.fnal.gov/projects/scientists/ashlee.html On the other hand, when *I* went to Fermilab I found out that scientists do not lean sideways, as I previously thought.
20:01:26 <alise> http://ed.fnal.gov/projects/scientists/kierman.html Scientists actually dislike sienceshirtco.com.
20:01:26 <AnMaster> alise, don't blame them because they can't draw
20:01:41 <alise> http://ed.fnal.gov/projects/scientists/katie.html The one on the right actually contains beer.
20:01:58 <AnMaster> ...
20:02:00 <alise> http://ed.fnal.gov/projects/scientists/dans.html I thought scientists were awesome, but then it turned out they're just boring.
20:02:02 -!- CakeProphet has quit (Ping timeout: 276 seconds).
20:02:06 <alise> *actually just boring.
20:02:09 <AnMaster> alise, you don't need to spam every page, they are linked internally
20:02:14 <Phantom_Hoover> That reminds me of the Look Around You episode with the test-tube full of teat.
20:02:16 <alise> I'm only spamming the funny ones.
20:02:18 <Phantom_Hoover> s/teat/tea/
20:02:25 <alise> http://ed.fnal.gov/projects/scientists/jesse.html SCIENTISTS ARE RADIOACTIVE
20:02:28 <Phantom_Hoover> Freudian slip...
20:02:34 <alise> this is the only one that got more awesome
20:02:36 <alise> good on you, jesse
20:02:47 <AnMaster> -_-
20:02:53 <alise> no wait, that could also be jesus
20:03:06 <Phantom_Hoover> SCIENCE JESUS
20:03:15 <alise> http://ed.fnal.gov/projects/scientists/jeffrey.html He's sticking his middle finger up at the sun.
20:03:15 <AnMaster> alise, you know scientists who aren't chemists or biologists don't usually look like chemists.
20:03:18 <alise> He did not sleep last night.
20:03:21 <AnMaster> however in the public image they do
20:03:26 <AnMaster> alise, that explains a lot I think
20:03:26 <alise> AnMaster: you are being very dim and boring.
20:03:36 <AnMaster> alise, dim? how so? Boring: yes probably
20:03:39 <alise> http://ed.fnal.gov/projects/scientists/james.html Scientists are actually Atlas.
20:03:46 <alise> And don't have capes, or log books.
20:03:54 <oklopol> "* AnMaster ponders a matrix based esolang." <<< given a set of matrices it is undecidable whether there's a product of them that evaluates to 0, you can reduce pcp to this problem
20:03:56 <alise> They just hold the world up while standing on a comic frame.
20:04:06 <alise> oklopol: undecidable isn't very practical for computing :-D
20:04:28 <AnMaster> oklopol, undecidable hm? also which one is pcp?
20:04:32 <Phantom_Hoover> One day I will do mathematics in a lab coat.
20:04:40 <AnMaster> Phantom_Hoover, :D
20:04:46 <alise> I want a lab coat so bad.
20:04:53 <Phantom_Hoover> They can be bought, you know.
20:04:57 <oklopol> AnMaster: you have two morphisms and you try to find a word whose image is the same in both
20:04:57 <alise> And a completely-white lab filled with computers and awesome sciency-looking machines.
20:05:08 <alise> Phantom_Hoover: but I want an awesome tailored one to make sure that it's just slightly too big for me
20:05:19 <Phantom_Hoover> Someone at my school got a new Casio, and I am now suffering for severe calculator envy.
20:05:25 <alise> I want to drink coke out of a test tube xD
20:05:29 <AnMaster> alise, I have not seen anyone at university in a lab coat, but the chemistry department is at the other end of the campus
20:05:29 <oklopol> that is, you have pairs of strings, and you try to find a sequence of these pairs such that both sequences (left-sequence and right-sequence) give you the same string
20:05:44 <Phantom_Hoover> I *used* to have one of the ones that basically had a small CAS in them.
20:05:57 -!- Gregor has quit (Ping timeout: 252 seconds).
20:06:01 <Phantom_Hoover> But I left it behind at summer, and I was kicked out of the school later that day.
20:06:06 <AnMaster> oklopol, hm okay, don't think I heard of that one before
20:06:13 <alise> Phantom_Hoover: For being excessively sciencey?
20:06:21 <oklopol> alise: well i mean that implies you can make a tm run, at least in the sense that in any product that evaluates to zero there must've been a run of the tm. i don't know how a language could be made out of this, but surely somehow :)
20:06:26 <AnMaster> oklopol, what is the full name for it? I assume pcp is an abbrev. Since googling it turns up lots of unrelated thins
20:06:28 <Phantom_Hoover> alise, for upsetting The Man.
20:06:28 <AnMaster> things*
20:06:31 <alise> AnMaster: pcp theorem
20:06:34 <oklopol> AnMaster: post correspondence
20:06:35 <alise> i assume
20:06:36 <oklopol> err
20:06:39 <alise> http://en.wikipedia.org/wiki/PCP_theorem
20:06:39 <oklopol> what the fuck am i saying
20:06:43 <oklopol> post something
20:06:48 <AnMaster> oklopol, ah
20:06:50 <alise> ok maybe not
20:06:55 <alise> i assumed computational complexity would be relevant
20:06:57 <oklopol> yeah not that pcp
20:07:01 <alise> http://en.wikipedia.org/wiki/Post_correspondence_problem
20:07:07 -!- ais523_ has joined.
20:07:08 <oklopol> oh okay
20:07:11 <alise> hi ais523_
20:07:13 <AnMaster> ais523, hi
20:07:22 <oklopol> yeah that pcp
20:07:28 <oklopol> so it was correspondence
20:07:45 -!- ais523 has quit (Disconnected by services).
20:07:48 -!- ais523_ has changed nick to ais523.
20:07:52 <alise> In 2002, under the influence of PCP, rapper Big Lurch murdered a female acquaintance, and ate parts of her body.
20:07:58 <alise> mathematics is bad for you
20:08:01 <oklopol> (two of our profs on that page, isn't that just so cool)
20:08:36 <oklopol> :D
20:08:47 <oklopol> i read "big lunch", that would've fit better
20:08:52 <AnMaster> oklopol, which ones?
20:08:59 <oklopol> halava & hirvensalo
20:09:14 <oklopol> hirvensalo does quantum computation mostly
20:09:37 <AnMaster> oklopol, "Ruohonen" looks more Finnish than "hirvensalo" to me
20:09:44 <AnMaster> checking that ref list that is
20:10:03 <oklopol> i dunno who ruohonen is
20:10:04 <alise> hirvensalo is def. more finnishy
20:10:06 <alise> to me
20:10:09 <oklopol> but finnish name
20:10:13 <AnMaster> right
20:10:27 <alise> the cosmological constant is 7
20:10:27 <oklopol> i actually once tried to read that exact paper
20:10:35 <oklopol> emphasis on tried
20:10:40 <AnMaster> oklopol, oh? too hard?
20:10:45 <AnMaster> badly written?
20:10:49 <oklopol> yes, at least was back then
20:10:52 <AnMaster> ah
20:11:31 <alise> "The law is this: every odd-numbered Star Trek movie is dreck. Every even-numbered Star Trek movie is terrific. This Law - the subjectivity of movie criticism notwithstanding - held up perfectly for decades."
20:11:32 <alise> Wow.
20:12:08 <AnMaster> alise, I'm not quite sure I believe that.
20:12:13 <alise> http://qntm.org/odd
20:12:24 <alise> It's completely true if you count Galaxy Quest between Insurrection and Nemesis.
20:12:31 <Phantom_Hoover> What number was the 2009 one?
20:12:36 <alise> Still, all the films up to Nemesis in 2002 work fine even without the obviously sound inclusion of Galaxy Quest.
20:12:48 <alise> Phantom_Hoover: by including Galaxy Quest, Nemesis is marked as bad and 2009 is marked as good as it should be.
20:12:52 <alise> Beforehand, Nemesis was marked as good and 2009 as bad.
20:13:00 <alise> Therefore, Galaxy Quest is a Star Trek film.
20:13:03 <alise> Q.E.D.
20:13:15 <AnMaster> alise, I don't remember galaxy quest?
20:13:18 <alise> http://en.wikipedia.org/wiki/Galaxy_Quest
20:13:27 <alise> It's so obvious!
20:13:44 <Phantom_Hoover> Damn non-book sci-fi.
20:13:53 <Phantom_Hoover> I don't know anything about it.
20:14:07 <alise> It almost universally sucks.
20:14:46 <alise> I haven't actually read The Culture series, I really should...
20:15:16 <Phantom_Hoover> You should.
20:15:26 <Phantom_Hoover> Before I spoil all of the endings on you.
20:15:32 <alise> Yeah, don't do that.
20:15:47 <alise> Should I read them in chronological or publication order?
20:15:56 <alise> I don't want to skip any of them, so don't suggest that.
20:16:22 <oklopol> i want a cartoon that teaches topological dynamics to children
20:16:57 <Phantom_Hoover> I read it in something like Consider Phlebas → Use of Weapons → The State of the Art → The Player of Games → Matter → Excession
20:17:03 <oklopol> there are ones for history and shit, why not math
20:17:09 <alise> I either want to read it in chronological or publication order. :P
20:17:16 <Phantom_Hoover> It doesn't really matter, though.
20:17:22 <oklopol> actually i think i heard about some retarded cartoon where numbers tried to build their way up to infinity or something
20:17:23 <alise> Or, failing that, the order in which I can read it and not think "What's that? That hasn't been introduced yet...".
20:17:33 <Phantom_Hoover> And chronological and publication order are the same in nearly all cases.
20:17:42 <alise> But not all?
20:18:02 <Phantom_Hoover> The State of the Art was published before anything else IIRC.
20:18:13 -!- Gregor has joined.
20:18:14 <Phantom_Hoover> And it takes place slightly before Use of Weapons.
20:18:19 <alise> No, Consider Phlebas.
20:18:36 <alise> Consider Phlebas is 1987; The State of the Art, 1991.
20:18:49 <Phantom_Hoover> TSOTA is a short story collection.
20:18:58 <alise> And?
20:19:11 <alise> Also, where does Inversions fit in, considering it is not /explicitly/ in the same universe?
20:19:14 <Phantom_Hoover> And the eponymous story was published before CP IIRC>
20:19:28 <Phantom_Hoover> alise, don't know, haven't read it.
20:19:39 <alise> Consider Phelbas was the first.
20:19:42 <alise> By Wikipedia.
20:19:47 <Phantom_Hoover> *Everything* is after CP chronologically.
20:19:51 <alise> What eponymous story? One included in The State of the Art?
20:19:56 <Phantom_Hoover> Yes.
20:20:07 <alise> God, it'd be easier reading Finnegans Wake.
20:20:19 <Phantom_Hoover> It is frequently recommended that you read The Player of Games first, though.
20:20:22 <Phantom_Hoover> I didn't
20:20:29 <alise> Okay; why?
20:21:02 <Sgeo_> alise, did you hear about the time I chose visual effects over nostalgia?
20:21:04 <alise> Ah, the State of the Art contains two Culture stories and one Culture novella.
20:21:10 <Phantom_Hoover> Hmm, looks like I was wrong about TSOTA
20:21:12 <alise> Should I read the rest in it, or just the Culture ones?
20:21:15 <alise> Sgeo_: yes, you said that a day ago.
20:21:25 <Sgeo_> Oh. That's why I asked.
20:21:27 <Sgeo_> >>>
20:21:32 <Sgeo_> And I don't think it was a day ago
20:21:33 <alise> <<<>>>
20:21:35 <alise> A day or two.
20:21:41 <Phantom_Hoover> Anyway, you're recommended to read TPOG first because CP isn't set in the Culture and doesn't explain things.
20:21:45 <Sgeo_> I keep thinking a week ago
20:21:59 <Sgeo_> No, it was yesterday >.>
20:22:05 <AnMaster> Gregor, hi
20:22:21 <alise> Consider Phlebas isn't set in the Culture?
20:22:24 <AnMaster> Gregor, so how is zee going?
20:22:25 <Phantom_Hoover> No.
20:22:39 <Phantom_Hoover> It follows a mercenary working against them.
20:22:47 <alise> Surely it's easy to read it first, if he published it without any context about the Culture being available to anyone...
20:23:16 <Gregor> AnMaster: Same as it was a couple days ago? :P
20:23:18 <Phantom_Hoover> Maybe.
20:23:31 <Phantom_Hoover> I read it first and it was OK.
20:23:39 <AnMaster> Gregor, ah
20:23:53 <Phantom_Hoover> But this was primarily because the bookshops conspire against mme.
20:23:55 <alise> Also, should I avoid reading The Algebraist for reasons of sheer confusion?
20:24:07 <cheater99> I am Locutus of Borg.
20:24:21 <Phantom_Hoover> alise, it doesn't matter.
20:24:30 <Phantom_Hoover> The universes are completely separate.
20:24:30 <alise> cheater99: you just referenced contemporary pop music in a meeting of classical music fans
20:24:36 <alise> cheater99: congrats!
20:24:42 <alise> Phantom_Hoover: Yes, precisely.
20:24:47 <AnMaster> Gregor, figured out the bug causing bash to mess up that way?
20:24:48 <alise> Phantom_Hoover: How much stuff can my mind take at once? :P
20:24:50 <cheater99> alise: wat
20:24:52 <AnMaster> Gregor, and did you update the demo yet?
20:24:54 <Phantom_Hoover> I don't know!
20:25:07 <Gregor> AnMaster: Haven't even tried. You mean system.html? Not with bash, but with all the speed fixes as of yesterday.
20:25:16 <AnMaster> ah
20:25:20 <cheater99> alise: hey, i'm listening to a classical concerto right now, btw, it's pretty good
20:25:24 <AnMaster> Gregor, will try it in a few minutes then
20:25:26 <Gregor> I guess I could install GNU coreutils on it.
20:25:30 <Phantom_Hoover> alise, you might want to leave it until later, though.
20:25:31 <cheater99> rheingau Musik Festival
20:25:33 <alise> cheater99: i mean by referencing star trek
20:25:34 <cheater99> Rheingau
20:25:42 <cheater99> alise: what about star trek
20:25:49 <cheater99> alise: are you bad mouthing star trek?
20:25:51 <alise> we're discussing actual sci-fi :P
20:25:54 <alise> i like star trek a lot
20:25:56 <alise> but it's hardly sci-fi
20:25:59 <alise> more like "tech"-fi
20:26:05 <cheater99> wat are you talking about
20:26:08 <cheater99> what scifi
20:26:11 <alise> firstly, stop saying wat
20:26:16 <alise> secondly, read what everyone is saying
20:26:17 <cheater99> wat
20:26:22 <cheater99> no
20:26:24 <cheater99> i just came in
20:26:29 <cheater99> picked up the keyboard
20:26:30 <AnMaster> Gregor, "Urgent Socket Condition" ?
20:26:36 <cheater99> and said hello, I am Locutus of Borg.
20:26:36 <AnMaster> Gregor, why the heck did ls say that
20:26:36 <Phantom_Hoover> alise, Banks himself calls his books space opera.
20:26:39 <alise> [[As for what the Culture is: well, keep in mind that although there are
20:26:39 <cheater99> and you gotta be all like
20:26:40 <alise> no plot spoilers here it will alter the impact of CONSIDER PHLEBAS
20:26:40 <alise> advocated by the "read-CONSIDER PHLEBAS-first" faction.]]
20:26:44 <alise> Factions? Oh, jesus christ.
20:26:47 <Gregor> AnMaster: That's a bug I fixed this morning :P
20:26:48 <Phantom_Hoover> Although it's way more scientific than anything else.
20:26:50 <cheater99> ohhh Locutus, we don't like your kind here
20:26:51 <alise> YOU GUYS HAVE FACTIONS ABOUT WHICH ORDER TO READ THE BOOKS IN.
20:27:00 <Gregor> AnMaster: waitpid wasn't setting status at all, so if it used status, then it would get a weird result.
20:27:02 <cheater99> because you are so hateful
20:27:07 <AnMaster> Gregor, ah I see
20:27:13 <alise> This is frequently recommended, at least to the extent of "Read
20:27:13 <cheater99> because you can't accept Locutus of Borg for who he is can you alize
20:27:13 <alise> CONSIDER PHLEBAS first," because there are low-level spoilers for
20:27:13 <alise> CONSIDER PHLEBAS in the other books, to the extent that you know more
20:27:13 <alise> about the Culture than you otherwise would.
20:27:20 <AnMaster> Gregor, wth what will be noticable faster now?
20:27:21 <cheater99> you have to be hating all the time haven't you
20:27:22 <AnMaster> btw*
20:27:26 <alise> This is the order in which I read the books. I wasn't terribly
20:27:26 <alise> impressed by CONSIDER PHLEBAS, and generally recommend the other order
20:27:26 <alise> myself.
20:27:29 <alise> OH FOR FUCK'S SAKE
20:27:31 <AnMaster> strange typo that
20:27:35 <Phantom_Hoover> alise, FWIW there aren't many spoilers.
20:27:37 <alise> Phantom_Hoover: did consider phlebas "terribly impress" you when you read it first?
20:27:47 <Phantom_Hoover> There is literally only one recurring character.
20:27:54 <AnMaster> Gregor, cat dir.php is just as slow
20:27:56 <Phantom_Hoover> alise, I thought it was very good.
20:28:02 <Gregor> AnMaster: vim for example. Depending on your browser, it could be usable. Note that LOAD time is still really slow, but RUN time is fast. And vt100 is no faster.
20:28:03 <alise> "this is because PLAYER OF GAMES is, in
20:28:03 <alise> the opinions of those who recommend this order, a better book" ;; I don't care about goodness if I'm taking this undertaking!
20:28:07 <Phantom_Hoover> But the rest are also ver good.
20:28:11 <Phantom_Hoover> s/ver/very/
20:28:17 <alise> Phantom_Hoover: One thing, though.
20:28:23 <alise> Wikipedia says the publication order is "almost" chronological.
20:28:29 <AnMaster> Gregor, also:
20:28:32 <AnMaster> echo foo > bar
20:28:33 <cheater99> also
20:28:33 <AnMaster> cat bar
20:28:34 <alise> What is the actual chronological order? Does it involve reading parts of The Player of Games at different times?
20:28:35 <cheater99> btw
20:28:38 <AnMaster> Gregor, bar is an empty file
20:28:42 <Phantom_Hoover> Possibly TSOTA, but I'm not completely sure.
20:28:42 <AnMaster> it isn't supposed to be!
20:28:45 <cheater99> i might be helping make an art installation
20:28:48 <cheater99> for zuse's grandson
20:28:51 <cheater99> about zuse
20:28:54 <cheater99> am i cool or what
20:29:09 <Gregor> AnMaster: It doesn't report the fact that it's a read-only filesystem properly :P
20:29:13 <Phantom_Hoover> alise, I'm not totally sure where Look to Windward fits in, since I haven't read it.
20:29:20 <alise> They're... adapting the Culture to film.
20:29:20 <cheater99> admit it alise, i'm cool
20:29:22 <alise> How does that even work?
20:29:23 <AnMaster> Gregor, oh, you could have a ramfs in the client
20:29:30 <cheater99> you get wet when you think of me programming the zuse z1
20:29:31 <Phantom_Hoover> It's one of the short stories.
20:29:32 <AnMaster> Gregor, also it should have said file not found or such
20:29:37 <alise> Phantom_Hoover: Yes, but...
20:29:37 <Phantom_Hoover> Not one of the novels.
20:29:39 <AnMaster> Gregor, since ls listed a file called bar
20:29:41 <AnMaster> ...
20:29:43 <alise> Phantom_Hoover: Wouldn't visualising it destroy it? :P
20:29:50 <Phantom_Hoover> Possibly.
20:29:51 <AnMaster> Gregor, not very read only thus
20:29:56 <Gregor> AnMaster: Good lord, this is a fucking MIPS simulator in JavaScript, how about you be a LITTLE bit more lenient on the fact that not every syscall is emulated
20:29:58 <Phantom_Hoover> Filming Excession would be funny.
20:30:10 <alise> Phantom_Hoover: "Here is the thing that you cannot possibly imagine."
20:30:11 <Phantom_Hoover> Since half of the plot takes place in 4 dimensions.
20:30:13 <alise> "Take a look!
20:30:15 <alise> s/$/"/
20:30:33 <Phantom_Hoover> At least A Gift From the Culture doesn't actually feature the Culture in it.
20:31:05 <AnMaster> Gregor, no offence meant
20:31:14 <AnMaster> Gregor, but I thought it said when it wasn't supported?
20:31:21 <AnMaster> Gregor, like it does right at the start
20:31:21 <Phantom_Hoover> There's only one big special-effecty scene in it, and it's not hugely groundbreaking.
20:31:23 <alise> Phantom_Hoover: Is "A Gift From the Culture" in TSOTA?
20:31:26 <Phantom_Hoover> Yes.
20:31:33 <alise> Indeed.
20:31:36 <alise> *A Gift of the Culture, also.
20:31:40 <Phantom_Hoover> But the Culture doesn't really feature.
20:31:43 <alise> So what is the chronological ordering of:
20:31:45 <alise> A Gift of the Culture
20:31:47 <alise> Descendant
20:31:49 <alise> The State of the Art?
20:31:54 <Phantom_Hoover> Impossible to tell, I think.
20:31:58 <alise> Do they all take place right after another in some order, or are they intermingled?
20:32:00 <alise> Phantom_Hoover: Gah!
20:32:09 <Phantom_Hoover> AGOTC could really be anywhere after CP.
20:32:15 <alise> Okay, what's the best order to read them in? In the order they appear in TSOTA, after Use of Weapons?
20:32:25 <Phantom_Hoover> Well, yes.
20:32:33 <alise> "Well,"? >_<
20:32:35 <Phantom_Hoover> Although TSOTA itself is a prequel to UOW.
20:32:55 <Phantom_Hoover> And the other Culture short story is set at the time of CP.
20:33:09 <alise> ... so TSOTA should go after use of weapons so as not to spoil it, okay.
20:33:21 -!- oerjan has joined.
20:33:24 <alise> Phantom_Hoover: Does it contain the minor spoilers from the other books, though?
20:33:29 <Phantom_Hoover> The only continuity is a throwaway remark Sma makes in UOW.
20:33:30 <alise> i.e., will I want some Culturey background to read it?
20:33:35 <Phantom_Hoover> Otherwise there's nothing else.
20:33:45 <Gregor> AnMaster: Depends on the command.
20:33:50 <Phantom_Hoover> Like I said, there isn't really much continuity between books.
20:33:50 <alise> Right. So reading The State of the Art before Use of Weapons would definitely be a bad idea?
20:34:05 <Gregor> AnMaster: It doesn't always say it's unsupported, it just sets errno properly, so the command has to actually check. A lot of the heirloom commands never check errno.
20:34:11 <Phantom_Hoover> There are lots of references to CP, and Matter has a spoiler for Excession.
20:34:19 <alise> "The State of the Art" is a longish novella, set in Iain M. Banks'
20:34:19 <alise> popular 'Culture' universe. It was first published in a slim volume
20:34:19 <alise> entitled "The State of the Art," in 1989 by Mark V. Ziesing, an
20:34:19 <alise> American small press, ISBN 0-929480-06-6. In 1991, Orbit (a UK
20:34:19 <alise> publisher) brought out a volume also entitled "The State of the Art."
20:34:20 <alise> This contains the aforementioned novella, plus seven short stories, one
20:34:22 <alise> of which ("A Gift from the Culture") is also set in the "Culture"
20:34:24 <alise> universe. ISBN 0-356-19669-0. It has had both hardback and paperback
20:34:26 <alise> ...I thought
20:34:28 <alise> TWO
20:34:30 <alise> of them were set in the Culture?
20:34:31 <AnMaster> Gregor, ah
20:34:32 <alise> Descendant too?
20:34:42 <Phantom_Hoover> Two short stories and the novella.
20:34:43 <AnMaster> Gregor, no one does if they don't expect failure
20:34:45 <alise> Phantom_Hoover: Is it recommended to read the other stories in The State of the Art at the same time, or not?
20:34:58 <Gregor> AnMaster: Well too bad for them then :P
20:34:58 <Phantom_Hoover> They can all be read at once.
20:35:06 <AnMaster> Gregor, I mean, some things are unlikely to fail. close() is one that might but most people expect won't, just as an example
20:35:31 <Phantom_Hoover> If you consider the way the Idiran War ends a spoiler, read CP first, and read Excession before Matter
20:35:35 <Gregor> AnMaster: Even if close() does fail, it's usually not a big deal.
20:35:42 <AnMaster> Gregor, heck man 2 close says "Not checking the return value of close() is a common but nevertheless serious programming error."
20:35:43 <alise> Phantom_Hoover: CP will definitely come first. (hurrr alternate interpretations hur hur)
20:35:46 <oerjan> <Phantom_Hoover> Can you extend Gaussian curvature into 3 dimensions?
20:35:53 <Phantom_Hoover> I didn't read Excession first, and I still thought it was brilliant.
20:36:21 <AnMaster> Gregor, hm... "It is quite possible that errors on a previous write(2) operation are first reported at the final close().Not checking the return value when closing the file may lead to silent loss of data. This can especially be observed with NFS and with disk quota."
20:36:36 <oerjan> given that general relativity uses (albeit minkowskian) curvature in 4, i should assume so. that doesn't mean i know how, probably tensors like with general relativity.
20:36:46 <Gregor> AnMaster: Also with JSMIPS :P
20:36:48 <alise> Phantom_Hoover: My dilemma stated more clearly: http://pastie.org/1020958.txt?key=3y6yazvffvltauzv0dyqcw
20:36:57 <AnMaster> Gregor, ah possibly :P
20:37:24 <Sgeo_> What is the program supposed to do in that situation? Try, try, try again?
20:37:49 <Phantom_Hoover> alise, I can't data A Gift of the Culture.
20:38:06 <alise> Phantom_Hoover: You cannot data it?
20:38:06 <Phantom_Hoover> It doesn't reference any events in other books.
20:38:11 <Phantom_Hoover> s/data/date/
20:38:15 <alise> What about Descendant?
20:38:33 <Phantom_Hoover> Concurrent with CP.
20:38:39 <Phantom_Hoover> But with no spoilers.
20:38:47 <alise> Phantom_Hoover: Also, shouldn't the novella come between The Player of Games and Use of Weapons?
20:38:52 <alise> That would be the publication order.
20:39:02 <AnMaster> Phantom_Hoover, it would be fun to write two books that contain spoilers for each other
20:39:12 <Phantom_Hoover> alise, it's spread out.
20:39:16 <AnMaster> people would have problems figuring out which one to read first if you publish both at the same time
20:39:18 <alise> Phantom_Hoover: Eh?
20:39:39 <oerjan> Phantom_Hoover: ^ (not really helpful though)
20:40:02 <Phantom_Hoover> TSOTA fits differently into the chronology than to the publication date.
20:40:05 <AnMaster> alise, I assume it takes place in time both before and after some other book
20:40:14 <AnMaster> that is what he means with spread out I guess
20:40:16 <alise> Phantom_Hoover: fffff
20:40:19 <Phantom_Hoover> Oh, wait.
20:40:21 <alise> Phantom_Hoover: What the fuck are you doing to me, Iain M. Banks
20:40:22 <AnMaster> it would be a sensible interpretation at least
20:40:31 <Phantom_Hoover> I'm confused now.
20:40:41 <Phantom_Hoover> Odd Attachment is concurrent with CP.
20:40:48 <alise> ODD ATTACHMENT?
20:40:50 <Phantom_Hoover> No idea about Descendant...
20:40:50 <alise> I NEVER HEARD OF THAT.
20:40:55 <alise> WHERE THE FUCK IS THAT
20:41:03 <Phantom_Hoover> TSOTA.
20:41:10 <Phantom_Hoover> Hang on, I'll get my copy...
20:41:14 <alise> Phantom_Hoover: dude
20:41:19 <alise> Odd Attachment isn't in the Culture universe
20:41:29 <alise> A Gift of the Culture and Descendant are
20:42:16 <Phantom_Hoover> Yes.
20:42:23 <Phantom_Hoover> Descendant is concurrent with CPO.
20:42:24 <alise> Phantom_Hoover: then why did you say that >_<
20:42:27 <Phantom_Hoover> s/O//
20:42:31 <Phantom_Hoover> alise, I GOT CONFUSED
20:42:46 <Phantom_Hoover> OK, the WP article is wrong.
20:42:55 <alise> ?? Why?
20:43:03 <Phantom_Hoover> No, wait.
20:43:09 <Phantom_Hoover> It's just confusingly laid out.
20:43:28 <alise> So, where is the State of the Art novella chronologically? Publication-wise, it's in-between The Player of Games and Use of Weapons.
20:44:03 <Phantom_Hoover> OK, the novella SOTA is before UOW.
20:44:20 <Phantom_Hoover> Descendant is at around the same time as CP.
20:44:26 <alise> But is it good to read it in that order, or should I really read UOW right after TPOG?
20:44:36 <Phantom_Hoover> It really doesn't matter.
20:44:40 <alise> :|
20:44:42 <alise> I am obsessive about this shit
20:44:45 <alise> gimme an answer :D
20:45:03 <Phantom_Hoover> Read TSOTA after UOW, then.
20:45:07 <Phantom_Hoover> Or before.
20:45:11 <alise> That is ... two answers.
20:45:14 <Phantom_Hoover> That's not helpful.
20:45:20 <alise> also, I think I'll read all the state of the art short stories in one go, chronologically; it's only the novella I'm concerned about.
20:45:25 <Phantom_Hoover> Flip a coin
20:45:42 <Phantom_Hoover> The novella is chronologically before UOW.
20:45:59 <Phantom_Hoover> There is a character who is in both.
20:46:17 <Phantom_Hoover> There are exactly two references to TSOTA in UOW.
20:46:54 <Phantom_Hoover> You might as well read TSOTA first.
20:47:09 <alise> I don't flip coins, I need some shred of reasoning no matter how vague, dammit! :(
20:47:21 <alise> Okay, so UOW references TSOTA.
20:47:29 <alise> And TSOTA doesn't spoil anything for UOW? Not necessarily details
20:47:31 <alise> But, like, the impact
20:47:35 <Phantom_Hoover> No.
20:47:41 <Phantom_Hoover> The plots are totally separate.
20:47:43 <alise> Great.
20:47:58 <alise> And did you read all the short stories in TSOTA in order, even the irrelevant ones?
20:48:03 <Phantom_Hoover> Yes.
20:48:03 <alise> If so, I'll just read them like that, skipping the novella.
20:48:10 <alise> Which should work great, right?
20:48:18 <alise> Since TSOTA is just a compilation that happens to include the previously-published novella.
20:48:25 <Phantom_Hoover> I read the books very higglety-piggletyly.
20:48:31 <alise> So when the short stories were organised, presumably they were organised in a good reading order, with TSOTA chucked in there.
20:48:54 <alise> http://pastie.org/1020971.txt?key=0um6qkke7gm7x9w5xmunba
20:48:55 <alise> There.
20:49:04 <Phantom_Hoover> I haven't read Look to Windward, so I'm afraid I don't know where it fits in.
20:49:22 <Phantom_Hoover> It probably goes where you put it, though.
20:49:24 <alise> Wikipedia says that the publication order is almost chronological; I'm going to assume that the only hiccup is with TSOTA.
20:49:49 <alise> LTW is a loose sequel to CP, references Excession (so it's definitely after Excession).
20:50:10 <alise> Matter is set chronologically latest, IIRC.
20:50:12 <alise> So it goes there.
20:50:15 <Phantom_Hoover> Matter references Excession as well.
20:50:33 <Phantom_Hoover> In such a way as to give away a major plot point.
20:51:03 <alise> Matter is definitely last, I think.
20:51:16 <alise> And LTW is definitely after Excession, which provides the ordering: Excession, Inversions, Look to Windward, Matter.
20:51:22 <alise> Since I'm pretty sure you should read Inversions after Excession.
20:51:38 <Phantom_Hoover> I haven't read Inversions either.
20:52:51 <alise> Inversions is only implicitly in the Culture universe, and is set on a late-Middle Ages Europe-esque planet.
20:53:11 <alise> With some aliens, apparently; implied to be from the Culture, I think.
20:53:12 <Phantom_Hoover> I know that
20:53:25 <alise> Right.
20:53:29 <alise> I'm just Wikipediaing this. :P
20:53:38 <alise> But anyway, it was published after Excession and is otherwise irrelevant, so it sounds good.
20:53:51 <Phantom_Hoover> That's very dangerous if you want to avoid spoilers.
20:53:58 <alise> I know.
20:54:06 <alise> I already know some spoilers, i.e. what the Culture is.
20:54:13 <alise> But the others seem to have leaked out of my head.
20:54:31 <alise> I know that they name their ships funny things, live very long lives, there's these mind things, etc.
20:54:34 <alise> But not anything deeper than that.
20:54:40 <alise> Anyway, I think it'd be nice to have a more low-key, slower plot like Inversions to take a break after things like Excession.
20:54:45 <alise> So Inversions is staying there.
20:54:50 <Phantom_Hoover> OK.
20:56:55 * alise tries to come up with a language whose entire interpretation consists of finding some value that satisfies some constraint.
20:57:00 <alise> Like,
20:57:25 <alise> you input integers a, b, and c and it tries to find n such that "a^f(b,n) - c > g(c) + n^a" or something.
20:57:31 <alise> And this happens to be Turing-complete, somehow.
20:57:42 <alise> Like, if there's no solution it loops forever, otherwise it finds one in finite time.
20:57:43 <ais523> alise: Clue's like that, but for finding functions
20:57:53 <alise> And then some sort of output on the process of trying to solve it to do output.
20:57:57 <ais523> that is, oklopol's clue
20:58:06 <ais523> anyway, Diophantine equations work like that
20:58:13 <alise> yes, but they're undecidable
20:58:22 <ais523> alise: they're TC
20:58:32 <ais523> it's undecidable whether there's a solution, just like it's undecidable whether a TC program terminates
20:58:36 <alise> ah
20:58:43 <alise> well, that's boring, diophantine equations are too general
20:58:49 <ais523> normally, "undecidable" = TC, "uncomputable" = above-TC
20:58:52 <alise> the input parameters should be simple, like a matrix (oklopol spurred this idea) or some integers or something
20:59:33 <Phantom_Hoover> Hey, now that the maths nerds are here, can anyone answer my question on the 3-body problem?
20:59:42 <alise> MAYBE.
20:59:48 <Phantom_Hoover> i.e. is it solvable on a Turing machine?
20:59:52 <alise> No.
21:00:14 <alise> It's approximated when required.
21:00:25 <Phantom_Hoover> Thus implying that the universe doesn't run on a Turing machine?
21:00:38 <alise> Hmm...
21:00:44 <alise> Maybe it is solvable with, say, brute force or something.
21:00:45 <alise> ais523?
21:00:48 <ais523> Phantom_Hoover: the Universe may also be an approximation
21:01:03 <alise> deep
21:01:06 <ais523> although, that's Wolfram's theory, and nobody really believes him
21:01:08 <Phantom_Hoover> Surely we'd notice?
21:01:24 * oerjan wouldn't know without wikipeding
21:01:37 <alise> Phantom_Hoover: well it could be /very/ precise
21:01:45 <ais523> Phantom_Hoover: I doubt it, it's rarely possible to tell you're in an approximate universe if you're approximate yourself
21:01:45 <alise> after all, the universe-computer can take as long as it wants for a single planck time
21:01:50 <alise> that too
21:01:56 <alise> we couldn't measure its inaccuracy
21:01:57 <ais523> it'd look much the same as quantum uncertainty
21:02:03 <alise> because our instruments would have to be accurate enough
21:02:06 <alise> which they aren't, by definition
21:02:11 <Phantom_Hoover> ais523, Turing machines work, don't they?
21:02:22 <alise> Phantom_Hoover: a far more deeper inaccuracy than that
21:02:24 <ais523> and besides, if Newton's laws of gravity are wrong, the actual laws might be computable even if our current approximations aren't
21:02:35 <ais523> Phantom_Hoover: err, build a Turing machine for me and I'll get back to you on that
21:02:36 <alise> Phantom_Hoover: consider memory bits flipping; does that mean finite state machines don't work in this universe?
21:02:38 <alise> no, it just means they're unreliable
21:02:47 <alise> we have no actually reliable machines or computers in this universe.
21:02:55 <alise> so indeed: turing machines don't work.
21:02:59 <alise> nor do finite state automata.
21:03:04 <alise> or any computer, device or thing.
21:03:14 <alise> ais523: I love the idea of a universe that uses incredibly high-precision floating point.
21:03:26 <alise> "This particle has a mass of... ?!?!... NaN."
21:03:31 <ais523> could explain the Voyager anomaly, I suppose
21:03:33 <Phantom_Hoover> Can't you make things sufficiently macroscopic and redundant that the probability of an error is miniscule?
21:03:36 <alise> "This other particle has a mass of NaN too. But when we compare them..."
21:03:40 <alise> "THEY DON'T HAVE THE SAME MASS!"
21:03:42 <alise> "OH GOD."
21:03:43 <oerjan> Phantom_Hoover: um that's what we _do_
21:03:47 <Phantom_Hoover> s/miniscule/minuscule/
21:03:52 <alise> what oerjan said
21:04:07 <alise> Phantom_Hoover: miniscule is valid.
21:04:09 <Phantom_Hoover> OK, so why can't we do that for a universe machine?
21:04:10 <ais523> on the basis that it's sufficiently far away from the Sun (still the main gravitational influence on it) that it's getting rounding errors
21:04:14 <AnMaster> ais523, idea: write a lisp macros that makes scheme post-fix instead of prefix
21:04:21 <alise> Phantom_Hoover: that's what it would do
21:04:24 <AnMaster> err I meant to highlight alise about this
21:04:24 <alise> that's what we're saying
21:04:25 <AnMaster> but never mind
21:04:27 <alise> but things like the 3-body problem
21:04:29 <alise> are /always/ inaccurate
21:04:33 <alise> it's not about errors
21:04:35 <alise> it's about unsolvability
21:04:43 <alise> ais523: <3
21:04:46 <AnMaster> so you have (2 3 +) instead of (+ 2 3) and so on
21:04:49 <Phantom_Hoover> OK, so why can't we try approximating the 3-body problem better than the universe?
21:04:55 <alise> Phantom_Hoover: ...
21:04:58 <oerjan> Phantom_Hoover: however our attempts to continue moore's law are hitting the very problem that we have trouble shrinking circuits more without them becoming too unreliable
21:04:58 <alise> Phantom_Hoover: no comment
21:05:04 <AnMaster> next step after that would presumably be to make it not use () for it
21:05:08 <alise> Phantom_Hoover: (because if OUR MATTER is approximate we cannot possibly approximate better than our matter)
21:05:10 <alise> (duh)
21:05:17 <AnMaster> tricky due to varargs
21:05:30 <alise> ais523: I am now enamoured with the idea that we're running on an approximating universe with things like miniscule rounding errors.
21:05:37 <Phantom_Hoover> I still don't get it...
21:05:42 <alise> ais523: Hey, this means there's an actual smallest real in our universe. Zeilberger is right!
21:06:02 <alise> (the universe's floating-point epsilon)
21:06:04 <ais523> smaller reals can be represented, but they can't measure anything?
21:06:11 <Phantom_Hoover> If you can pull the probability of an error down low enough, can't you get arbitrarily close to what the universe does?
21:06:12 <alise> ais523: yeah
21:06:25 <alise> ais523: just like floating point numbers below the epsilon exists, but you can't add them properly
21:06:40 <alise> since the eps is the smallest number such that eps+1 > 1
21:06:44 <alise> *1+eps
21:06:51 <ais523> hmm, perhaps this explains quantum energy levels
21:06:56 <alise> Phantom_Hoover: yes
21:07:03 <alise> Phantom_Hoover: but never just as close
21:07:04 <ais523> I can imagine that they're denormalised floating-point numbers in some more complicated system than simple binary floats
21:07:12 <tombom> holy shit
21:07:14 <tombom> HOLY SHIT
21:07:16 <Phantom_Hoover> alise, why?
21:07:22 <alise> Phantom_Hoover: because there's always the compounding of errors, since our emulation of an X must necessarily consist of more than one flawed particle
21:07:22 <tombom> i think we've cracked the universe guys
21:07:29 <alise> Phantom_Hoover: so the error is always more than the universe's native error
21:07:34 <alise> tombom: because of this? agreed
21:07:35 <tombom> get on the blower to hawking
21:07:37 <tombom> yep
21:07:39 <AnMaster> tombom, you proved P=NP?
21:07:43 <tombom> uh no
21:07:50 <AnMaster> ah not cracked then ;P
21:08:00 <Phantom_Hoover> Wait, quantum indeterminacy decoheres over large scales, doesn't it?
21:08:11 <tombom> we've discovered that the universe is based on approximate floating points
21:08:12 <alise> ais523: whoa... dark matter was introduced to account for some thingy that shouldn't have been if the universe obeyed blah blah
21:08:25 <alise> ais523: but actually, the answer is that the universe isn't a good enough approximation to obey our physics
21:08:31 <oerjan> tombom: i _hope_ you're being sarcastic
21:08:34 <alise> the error in mass or whatever it is is just because it's approximated
21:08:36 <Phantom_Hoover> So you could design a computer that isn't affected by particle-level errors.
21:08:43 <tombom> yes i am
21:08:45 <alise> tombom: well not necessarily IEEE floating point :-D
21:08:49 <alise> Phantom_Hoover: who says the errors are quantum?
21:08:53 <AnMaster> <alise> ais523: I am now enamoured with the idea that we're running on an approximating universe with things like miniscule rounding errors. <-- that would explain string theory and lots of other strange stuff. They are trying to come up with a theory explaining rounding errors ;)
21:08:55 <alise> 3-body problem: they could be in gravity, for one
21:08:55 <oerjan> whew
21:08:57 <tombom> i don't know how you guessed
21:09:04 <Phantom_Hoover> alise, OK, but the fact remains.
21:09:10 <alise> AnMaster: oh my god, strings are like ... the parts of floating points
21:09:11 <alise> this is genius
21:09:18 <alise> Phantom_Hoover: it does not
21:09:22 <oerjan> tombom: well it was either that or the sudden onset of crankdom ;D
21:09:26 <alise> quantum stuff may decohere
21:09:27 <alise> gravity doesn't
21:09:46 <tombom> this is one of the most likely channels to have a sudden onset of crankdom imo
21:09:46 <Phantom_Hoover> alise, leave a computer in the intergalactic void?
21:09:52 <tombom> collectively
21:09:55 <AnMaster> alise, perhaps. I just meant that they are trying to build a "sensible" theory based on observing the rounding errors of the universe. Resulting in nonsense basically.
21:10:10 <Phantom_Hoover> Probably nothing can interfere with it, so it's errors will be *very* small.
21:10:30 <AnMaster> alise, however this does not explain why pi doesn't have a finite number of decimals.
21:10:35 <alise> tombom: oerjan's already had his :)
21:10:38 <alise> AnMaster: because pi isn't real
21:10:42 <AnMaster> alise, ah good point
21:10:54 <alise> we just threw a bunch of finite symbols together and came up with this algorithm that produces digits that works in euclidean geometry, an abstract, non-real thing
21:11:00 <alise> AnMaster: space is only locally euclidean anyway
21:11:03 <AnMaster> tombom, "crankdom"?
21:11:06 <alise> so euclidean geometry's pi doesn't even apply to the real world.
21:11:09 <oklopol> manifold
21:11:12 * oerjan swats alise -----### DO NOT DOUBT MY GENIUS
21:11:14 <tombom> oerjan's word
21:11:16 <AnMaster> alise, well true
21:11:17 <alise> who says our pi isn't a finite approximation, like video games use?!
21:11:18 <alise> :DD
21:11:33 <ais523> the ancient Chinese thought pi was sqrt(10)
21:11:40 <oklopol> lol
21:11:44 <oklopol> retards
21:11:50 <oklopol> how close is it?
21:11:51 <ais523> and I don't think their technology or maths was good enough to disprove that
21:11:52 <AnMaster> alise, well we don't have perfect circles even. It is built out of atoms and smaller particles
21:11:54 <ais523> it's about 3.17 IIRC
21:11:58 <tombom> sqrt(10) = 3.16227766
21:11:59 <ais523> !haskell sqrt 10
21:12:00 <tombom> so not awful
21:12:00 <EgoBot> 3.1622776601683795
21:12:01 <alise> oklopol: ~-0.0206 error
21:12:03 <tombom> !haskell pi
21:12:06 <EgoBot> 3.141592653589793
21:12:06 <oklopol> you'd think they could measure that well
21:12:13 <tombom> !haskell 22/7
21:12:14 <EgoBot> 3.142857142857143
21:12:15 <alise> sqrt(10) ~= pi + 0.0207
21:12:24 <AnMaster> tombom, that one is more sensible
21:12:31 <Phantom_Hoover> You'd have thought that they could have Pythagorased.
21:12:34 <tombom> scratch that, sqrt(10) is a horrible approximation
21:12:38 <alise> an error of 0.02 isn't /so/ bad
21:12:42 <alise> I mean, in the "real world"...
21:12:46 <tombom> compared to 22/7
21:12:47 <oklopol> did they know about pythagoras
21:12:58 <AnMaster> oklopol, he was greek
21:12:59 <oklopol> also i don't know what oyu mean actually
21:13:01 <AnMaster> so probably not
21:13:02 <oklopol> *you
21:13:07 <oklopol> how could they have pythagorased?
21:13:13 <Gregor> AnMaster: There, fix't.
21:13:19 <Gregor> (Fix not uploaded yet.
21:13:20 <Gregor> )
21:13:21 <Phantom_Hoover> tombom, my father used to be convinced that pi was exactly 22/7
21:13:21 <ais523> !haskell 355/113
21:13:21 <AnMaster> Gregor, what is? the universe rounding errors?
21:13:22 <EgoBot> 3.1415929203539825
21:13:29 <ais523> that's my favourite pi approximation
21:13:29 <tombom> Phantom_Hoover, oh dear
21:13:33 <tombom> that's pretty bad
21:13:33 <Gregor> AnMaster: echo hi > bar; cat bar
21:13:33 <tombom> why
21:13:37 <Phantom_Hoover> oklopol, the ancient Chinese had Pythagoras.
21:13:37 <AnMaster> alise, hm I suspect this means we are inside some kind of simulation
21:13:43 <AnMaster> Gregor, fixed how? to error out?
21:13:45 <Phantom_Hoover> Though not under that name.
21:13:47 <oklopol> Phantom_Hoover: and what could they have done with it?
21:13:49 <tombom> i mean why to ais523
21:13:52 <AnMaster> Gregor, or did you implement unionfs? ;P
21:14:04 <alise> AnMaster: that's not so unlikely, but really, it could just be that the quantumy foamy matter computers that are space's underlying structure are just approximations
21:14:05 <Phantom_Hoover> oklopol, you can work out pi armed only with Pythagoras.
21:14:27 <oklopol> oh well yeah but nothing direct
21:14:27 <Phantom_Hoover> Consider an n-gon
21:14:32 <AnMaster> alise, hm possibly
21:14:36 <oklopol> we're talking about guys who can't tell 3.14
21:14:41 <oklopol> 3.14 and 3.16 apart
21:14:50 <ais523> tombom: because it's short and incredibly accurate
21:14:51 <Phantom_Hoover> You can work out the perimeter with the diameter and Pythagoras.
21:15:01 <Gregor> AnMaster: I just fixed the bugs that made it fail to write, as it turns out I already had local files "unioned" on top of remote files :P
21:15:02 <alise> ais523: that's not my favourite pi approximation
21:15:05 <tombom> oh
21:15:09 <ais523> alise: which one's yours?
21:15:14 <oklopol> Phantom_Hoover: i don't see how
21:15:17 <Phantom_Hoover> tombom, he was taught it in school
21:15:22 <oklopol> explain plz
21:15:22 <tombom> my favourite is !haskell pi
21:15:25 <tombom> i like that one
21:15:30 <AnMaster> alise, and that explains why the universe is mostly sensible on an atomic level but quite weird if you go subatomic. Basically we have reached the levels where we can observe the imperfectness in the simulation
21:15:47 <Phantom_Hoover> oklopol, subdivide an n-gon into n isosceles triangles.
21:15:47 <AnMaster> this makes perfect sense!
21:15:58 <oklopol> okay
21:16:17 <oklopol> then?
21:16:19 <Phantom_Hoover> Then some trig is needed, I think.
21:16:23 <alise> ais523: my favourite approximation is (426880*sqrt(10005)) / sum(k=0 -> G_64) ((6*k)! * (13591409 + 545140134*k))/((3*k)! * (k!)^3 * (-640320)^(3*k))
21:16:26 <oklopol> uhhuh.
21:16:32 <alise> sorry
21:16:37 <oklopol> well yes, i believe there's some way.
21:16:38 <AnMaster> tombom, anyway you never explained "crankdom". Or was it "<tombom> oerjan's word"?
21:16:39 <alise> (426880*sqrt(10005)) / sum(k=0 -> G_64) (((6*k)! * (13591409 + 545140134*k))/((3*k)! * (k!)^3 * (-640320)^(3*k)))
21:16:50 <tombom> yeah it was oerjan's word
21:16:51 <AnMaster> if so, I ask oerjan to explain crankdom.
21:16:52 <Phantom_Hoover> Using tan, you can get the size of the base of the isosceoles triangle.
21:16:59 <tombom> i'm not sure exactly how he defines it
21:17:01 <alise> increase G_64 for greater accuracy, it's great, you just remember one formula and a bunch of huge numbers!
21:17:04 <Phantom_Hoover> Multiply by n and you have the perimeter.
21:17:04 <tombom> i presume just becoming a crank!
21:17:24 <AnMaster> tombom, when there are multiple concurrent conversations, prefixing lines with the person you respond to kind of helps. No offence meant.
21:17:34 <Phantom_Hoover> By making n really big, you get a good approximation of pi.
21:17:43 <tombom> i know
21:17:44 <Sgeo_> Why has walking outside seemed to energize me?
21:17:47 <Phantom_Hoover> Hmm, that's pretty elegant.
21:17:48 <Sgeo_> I'm not a plant.
21:17:53 <Phantom_Hoover> I must write that down...
21:17:54 <tombom> i don't remember if i didn't or if so why i didn't, or what cotnextr it was in
21:17:58 <tombom> i'l;l try harder next time AnMaster
21:18:24 <oklopol> i doubt you get a very good approximation, i doubt you get a new digit in polynomial time
21:18:37 <Phantom_Hoover> oklopol, probably.
21:18:43 <Phantom_Hoover> But it's delightfully simple.
21:18:51 <AnMaster> alise, where is that approximation from?
21:19:03 <oklopol> well i guess that depends on how exactly you do this, you could just jump exponentially with n ofc
21:19:09 <oklopol> if that's eay
21:19:11 <oklopol> *easy
21:19:26 <alise> AnMaster: it's the Chudnovsky formula for pi, if you s/G_64/infinity/; then it's actually a definition of pi
21:19:29 <alise> rather than an approximation :P
21:19:39 <alise> AnMaster: it converges really fast; 14 digits per term
21:19:44 <AnMaster> alise, nice
21:19:51 <alise> so having an upper bound of G_64 produces something that's... pi, unless you're /really/ picky
21:19:57 <AnMaster> alise, right
21:20:11 <alise> G_64*14 correct digits is a /lot/ :P
21:20:21 <AnMaster> alise, you could make it A(G_(G_64),G_(G_64)) of course ;P
21:20:25 <AnMaster> imagine that!
21:20:32 <alise> yeah but it's quicker just to compute G_64 terms :D
21:20:34 <AnMaster> (protip: you can't. No one can)
21:20:39 <AnMaster> alise, less exact!
21:21:06 <oklopol> hey i think i came up with an even bigger number
21:21:13 <oklopol> but i don't wanna scare you
21:21:19 <AnMaster> alise, anyway (6*G_64)! just makes my mind boggle
21:21:22 <alise> http://fc05.deviantart.net/fs70/f/2010/036/2/6/2650964e842eee21cbfc40d9feeba53f.png ;; ITT: an xkcd strip is made many times better with the addition of a single panel at the end.
21:21:31 <alise> AnMaster: (6*G_64)! = G_64
21:21:33 <alise> to very high precision
21:21:47 <oerjan> AnMaster: it's the composition of the word "crank" with the suffix "-dom". maybe i should have used "-hood" instead.
21:21:48 <alise> protip: increasing G_64 so that it's anything more than G_64 to anyone but the most pedantic observer in the universe is hard.
21:22:23 <oklopol> alise: i prefer the original
21:22:41 <alise> oklopol: ok it's not actually all that better
21:22:44 <alise> but the original is a bit shitty
21:22:52 <oklopol> well dunno i liked it
21:22:57 <alise> i mean, spirit? come on, it's been on mars for 1944 days and is still being actively used, boo hoo
21:23:05 <oklopol> well
21:23:11 <oklopol> i'm not saying it's a great reference
21:23:17 <oklopol> i'm not saying it makes sense
21:23:17 <alise> voyager is in space, spirit is next door
21:23:34 <alise> we could easily go and fetch spirit now, in person, if we really wanted to
21:23:39 <AnMaster> alise, hah
21:23:41 <oklopol> :P
21:23:43 <oklopol> yes
21:23:50 <alise> voyager... not so much
21:24:10 <Sgeo_> There is an xkcd strip that I found inspirational
21:24:16 <Sgeo_> Or, well, at the time
21:24:28 <AnMaster> <oerjan> AnMaster: it's the composition of the word "crank" with the suffix "-dom". maybe i should have used "-hood" instead. <-- hm that doesn't explain what it means
21:24:36 <tombom> really?
21:24:48 <tombom> there are very few good xkcd
21:24:49 <tombom> s
21:24:58 <tombom> AnMaster, do you know what a crank is?
21:25:04 <oklopol> it's that movie
21:25:04 <alise> tombom: incorrect; almost all xkcds before strip, say, 200 are excellent
21:25:10 <AnMaster> tombom, yes some meanings of it
21:25:10 <oklopol> where the guy just runs around for 1.5 hours
21:25:12 <tombom> MEGHAN...
21:25:13 <Sgeo_> http://www.xkcd.com/267/
21:25:14 <alise> before 300, the majority are great
21:25:20 <alise> before 400, the majority are quite good
21:25:24 <alise> after 400, shit
21:25:27 <tombom> he jsut means somebody who does and says and believes stupid things
21:25:39 <tombom> has crazy ideas and defends them to the death sort of thing
21:25:39 <AnMaster> tombom, it is obviously a person cranking a handle ;)
21:25:45 <AnMaster> (not serious of course)
21:25:46 <tombom> oh right
21:25:49 <alise> tombom: you're trying to talk to AnMaster
21:25:51 <alise> have fun
21:25:55 <tombom> oh true
21:25:57 <AnMaster> alise, I was joking there -_-
21:26:07 <AnMaster> of course I know what a crank is
21:26:09 <tombom> i liked the one where everybody was thinking about how everybody else was a sheep
21:26:19 <tombom> sorry anmaster to sound patronising then :\
21:26:37 <AnMaster> best synonym I can think of is crackpot
21:26:48 <AnMaster> not exactly the same
21:26:52 <Sgeo_> Speaking of crackpots
21:26:55 <oerjan> AnMaster: sure it does, if you know what the parts mean
21:27:03 <tombom> http://www.xkcd.com/610/
21:27:07 <tombom> 610? jesus
21:27:10 <oklopol> yeah but then none of them drowned because their asses were filled with water when the flood came
21:27:16 <tombom> crackpot is the same as a crank
21:27:25 <AnMaster> oerjan, I don't know what the -dom prefix mean as such. is it like in "boredom"?
21:27:45 <oklopol> (...my attempt at just a reference, no joke, if that wasn't clear)
21:27:54 <tombom> being in a state of
21:27:58 <tombom> it's a suffix anyway
21:28:09 <alise> http://xkcd.com/24/ <-- this is an example of an awesome xkcd strip.
21:28:10 <oklopol> err
21:28:10 <tombom> also the more i see that xkcd the more i like it
21:28:16 <oklopol> AnMaster: doesn't swedish have the same damn suffix
21:28:25 <ais523> !c printf("%x",113);
21:28:26 <AnMaster> tombom, err meant suffix. Just kind of sleepy :P
21:28:30 <EgoBot> 71
21:28:32 <AnMaster> not sure why I typed prefix
21:28:42 <AnMaster> oklopol, yes it does? why?
21:28:53 <AnMaster> wait no, not the same
21:29:03 <tombom> what
21:29:10 <AnMaster> misread what you said as "doesn't Swedish have damn suffixes"
21:29:13 <tombom> why does it turn into a "meghan..." strip at the bottom
21:29:13 <oklopol> there's one almost identical that means the same thing afaik
21:29:43 <alise> tombom: that wasn't Megan at the time.
21:29:49 <alise> i think that was the first appearance of that drawing
21:30:14 <AnMaster> oklopol, can't think of one
21:30:17 <tombom> http://goatkcd.com/ better xkcd (nws)
21:30:20 <AnMaster> but then it is 27 C in this room
21:30:20 <alise> it is one continuous conversation, mind, just not with one person
21:30:24 <AnMaster> not easy to think
21:30:30 <oklopol> hmm
21:30:32 <alise> Here's a nice one: http://xkcd.com/68/
21:30:36 <alise> Not terribly intellectual, but amusing.
21:30:44 <oklopol> AnMaster: sjukdom
21:31:05 <tombom> bring back the haversine
21:31:08 <oerjan> AnMaster: what oklopol says
21:31:12 -!- jcp has quit (Ping timeout: 252 seconds).
21:31:26 <alise> tombom: i don't think sine have ever used haver.
21:31:44 <tombom> i feel like i'm missing a brilliant pun
21:31:45 <AnMaster> oklopol, oh right
21:31:49 <alise> tombom: you are
21:31:54 <AnMaster> oklopol, was thinking of "boredom" case specifically
21:32:04 <tombom> what is it :(
21:32:30 <alise> i like the achewood parody: http://xkcd.com/141/
21:32:34 <alise> tombom: TOP SEKRIT LOL
21:32:40 <tombom> :(
21:32:42 <alise> basically haver is this irc replacement thing and sine is the network where the people who made it are.
21:32:45 <alise> haversine get it LOL LOL
21:32:46 <AnMaster> oklopol, uttråkad is the adjective (bored) but I can't think of a way to turn that into "boredom"
21:32:50 <oklopol> whta's boredom
21:32:55 <oklopol> *what's
21:33:06 <oklopol> trkig is something like blahly i know that much
21:33:11 <oklopol> *-t
21:33:16 <oklopol> err wait i mean +t
21:33:22 <AnMaster> oklopol, ah google translate suggests "leda"
21:33:38 <oklopol> i don't know that one
21:33:40 <AnMaster> for boredom
21:33:45 <AnMaster> oklopol, it sounds slightly archaic to me
21:33:46 <tombom> alise: yeah i had no chance
21:33:48 <AnMaster> leda I mean
21:33:49 <tombom> thanks for the explanation
21:33:56 <AnMaster> oklopol, at least in that sense
21:34:07 <AnMaster> oklopol, "att leda" as a verb is "to lead"
21:34:17 <alise> http://xkcd.com/123/ is a classic ofc
21:34:29 <AnMaster> oklopol, oh and it also suggests tristess
21:34:33 <AnMaster> which works as well
21:34:38 <alise> tombom: ! i just pinpointed the start of megan
21:34:40 <alise> tombom: http://xkcd.com/128/
21:34:42 <oklopol> AnMaster: well yes i did know the verb
21:34:51 -!- jcp has joined.
21:34:52 <tombom> oh jesus christ
21:34:54 <tombom> how awful
21:35:03 <AnMaster> oklopol, did you know "tristess"?
21:35:12 <alise> tombom: thankfully those comics were incredibly rare until around comic 300 to 400
21:35:42 <alise> http://xkcd.com/122/ <-- ITT: xkcd foreshadows its future portrayal of what counts as a cool girl
21:35:53 <tombom> who is she anyway
21:36:00 <alise> she is megan!
21:36:15 <tombom> i mean who is megan
21:36:20 <tombom> what a shwllow man!!
21:36:36 <alise> this is also good: http://xkcd.com/145/
21:36:38 <Phantom_Hoover> Megan is asserted to be fictional.
21:36:43 <alise> Phantom_Hoover: yeah ... by randall
21:36:44 <Phantom_Hoover> No-one believes him.
21:36:54 <tombom> considering 128
21:37:04 <tombom> i don't really think he can say that
21:37:04 <alise> i think 128 was meant to be joking but definitely a turn for the worse there
21:37:17 <tombom> it's so awful i can't imagine why he'd think it's a good joke
21:37:29 <alise> i think the joke is meant to be in the alt text
21:37:37 <tombom> i like dinosaur comics
21:37:40 <tombom> incredibly formulaic
21:37:41 <tombom> but still
21:37:45 <alise> i love dinosaur comics
21:37:54 <alise> http://xkcd.com/136/ ;; huh, that recent shitty one was /not/ the first to include an explicit depiction of a vagina.
21:38:22 <tombom> jesus
21:38:37 <Phantom_Hoover> Really?
21:38:45 <Phantom_Hoover> Twice in 136 comics?
21:39:10 <alise> Phantom_Hoover: eh?
21:39:35 <Phantom_Hoover> Nothing.
21:39:39 <Phantom_Hoover> It makes no sense.
21:40:16 <oklopol> i should start making comics that are just about people talking in definitions
21:40:48 <alise> oklopol: wut
21:40:58 <AnMaster> oklopol, you mean like that game a few days ago?
21:41:03 <oklopol> alise: you didn't read my definition speak
21:41:08 <oklopol> yes like that game
21:41:10 <AnMaster> alise, go read logs
21:41:19 <AnMaster> oklopol, okay that would be fun
21:41:25 <Sgeo_> I believe it might be possible to make memory cells in AW action line stuff
21:41:26 <alise> oklopol: i did yeah
21:41:30 <oklopol> alise: i substituted definitions of math terms
21:41:32 <oklopol> yeah
21:41:34 <oklopol> that's all i meant
21:41:35 <Phantom_Hoover> Anyway, let's not even start on xkcd's effect on Wikipedia
21:41:36 <oklopol> i would read that
21:41:37 <alise> i wanna make a comic but i have no drawing talent :(
21:41:45 <AnMaster> oklopol, half the fun would be finding out the actual joke by reverse engineering the definitions
21:41:54 <Phantom_Hoover> alise, that's no longer a prerequisite.
21:41:55 <oklopol> well
21:41:59 <oklopol> that would be much harder
21:42:03 <alise> i wouldn't even have any pretentions about being good or anything, I'd just make every comic basically like dinosaur comics but it'd go on for a whole page and the panels would constantly be being broken and tons of tangents where people argue over definitions would happen in parallel
21:42:07 <Sgeo_> Tailsteak couldn't draw at first
21:42:16 <alise> and they would just sort of speculate on the nature of the universe while stuff happens
21:42:21 <oklopol> to have a joke that's more than just a joke + obfuscation, that the definition substitution had some sort of point
21:42:27 <AnMaster> Phantom_Hoover, I feel that this last time wikipedia ended up looking silly by the edit war making it into press, thus making it notable
21:42:34 <Sgeo_> THe guy who drew Triangle and Robert could never draw
21:42:35 <AnMaster> I wonder what happened to that hm
21:42:37 * AnMaster checks
21:42:41 <Phantom_Hoover> AnMaster, huh?
21:42:42 <Phantom_Hoover> Linky?
21:42:54 <alise> "This is Karl Marx --> [picture]. He is not Richard Feynman --> [picture]." "But is he? Truly, I think that--" "--and as I was saying in an alternate dimension, 'Truly, I think that'.---- THE END"
21:43:04 <alise> "You can't end a comic just by saying 'THE END'."
21:43:07 <alise> "Whyever not?"
21:43:17 <oklopol> alise: substitute some definitions in and i'm game
21:43:20 <oklopol> by which i mean i'm read
21:43:38 <AnMaster> Phantom_Hoover, don't remember which comic
21:43:45 <AnMaster> and nothing on http://en.wikipedia.org/wiki/Xkcd about it
21:44:06 <AnMaster> Phantom_Hoover, ah yes talk page has it: the Malamanteau one
21:44:36 <alise> "Have you ever noticed that when we go on enough tangents the universe ends up splitting to accomodate them?" "That's some serious circle rape, man." "What?" "Nothing. Hey, did you ever hear of a guy who always lied?" "No, but I've heard of Lie groups..." "Now you're the one substituting the wrong definition." "Substituting? Definitions? What? We've been talking about aardvarks..." "I believe your cognitive post-mortem reality is falling apart." "That isn't
21:44:37 <alise> what post-mortem means." "Exactly."
21:44:57 <AnMaster> Phantom_Hoover, see the talk page of http://en.wikipedia.org/wiki/Xkcd the section I mentioned
21:45:00 <AnMaster> it has a bit about it
21:46:19 <Phantom_Hoover> I am thoroughly depressed now
21:46:37 <AnMaster> Phantom_Hoover, hm? why?
21:46:59 <Phantom_Hoover> The people saying that "Malamanteau" deserves an article.
21:47:03 <Phantom_Hoover> They depress me.
21:47:24 <oerjan> alise: yes, yes, we all agree it's a good idea you don't make comics
21:47:36 <alise> oerjan: what? that would be AWESOME!
21:47:41 <AnMaster> Phantom_Hoover, well it does deserve a one sentence mention on the xkcd page
21:47:52 <oerjan> alise: well everyone except _you_, then
21:48:00 <Phantom_Hoover> It occurs to me that xkcd seems to be gravitating towards SMBC's format.
21:48:18 <Phantom_Hoover> Or perhaps they both gravitated towards the same format.
21:48:21 <AnMaster> Phantom_Hoover, SMBC?
21:48:39 <AnMaster> Super Mario Bros Centered?
21:48:40 <Phantom_Hoover> Saturday Morning Breakfast Cereal.
21:48:46 <AnMaster> Phantom_Hoover, never heard of that
21:48:56 <AnMaster> Phantom_Hoover, a web comic?
21:49:02 <Phantom_Hoover> Yes.
21:49:03 <alise> "Have you ever died?" "Has [on top: the symbiotic co-creator of the anti-matter universe] [on the bottom: Karl Marx] ever flown?" "Flown, I" "--mean died, to complete your sentence if it were me saying it, not you." "Well, I think you should say 'if it was me', to promote grammar revolution." "Fuck you." "You mean 'fuck yourself', bourgeoisie fucker."
21:49:25 <alise> Phantom_Hoover: xkcd is just stealing SMBC's jokes now
21:49:26 <alise> badly
21:49:27 <Phantom_Hoover> A rare insight into alise's mind.
21:49:36 <Phantom_Hoover> alise, not really.
21:49:41 <oerjan> Phantom_Hoover: mind bleach, NOW
21:49:54 <tombom> that's fascinating alise
21:49:54 <Phantom_Hoover> There has been the occasional theft, but not everything.
21:50:30 <Phantom_Hoover> SMBC is still better, though.
21:50:38 -!- zzo38 has joined.
21:50:49 <zzo38> Why is it more so than a real whale?
21:50:57 <Phantom_Hoover> OTOH I had a moment of hopelessness when I noticed the big red button.
21:51:53 <Sgeo_> Fat people eat accumulates.
21:53:15 <alise> "Haahaha! I have stolen ALL your goat!" "Goat is not its own plural." "Indeed. But you only have one goat." "Then you shouldn't say 'ALL'." [universe splits into 7] [in all 7 universes:] "This is universe [8 - universe it actually is]. Isn't that grand? Hahaha[universes recombine]ahahaha." "You had an 'a' after an 'a' there. It's meant to alternate 'h' and 'a'." "I said an 'h' while all the universes were recombining."
21:53:17 <alise> [universes split again]
21:53:30 <oerjan> zzo38: it's a miracle!
21:53:34 <alise> "[in odd universes:]Hahahaha[in even universes:]Ahahahaha[etc.]" [universes combine]
21:53:42 <alise> "You can't have possibly gotten it right that time." "Quantum, man. Quantum."
21:53:48 <alise> "Your 'a' and 'h' were simultaneously dead and not dead?
21:53:49 <oerjan> or possibly, evil magic. we're not quite sure.
21:53:50 <alise> s/$/"/
21:53:57 <alise> "Don't collapse my quantum buzz, man."
21:56:57 <alise> [next comic]
21:58:03 <alise> "Your quantum bu" "No referencing previous comics." "But referencing our actual universe's nature as a whole is permi" "Yes. Also, I know what you're going to say, so stop say" "same goes for you, buddy. Same goes for y" "don't call me buddy" "No" "Yes" "No" "(bool)0.5" "Your mother was a bool zero one point five." "How dare you. [kills you]" "You can't make things happen just by putting them in brackets. [punches you]" "Ow! I thought you just sai" "I said y
21:58:03 <alise> ou couldn't. I can."
22:01:05 <Sgeo_> I am about to design a very crappy language
22:01:19 -!- calamari has joined.
22:01:23 <Sgeo_> That will make it far easier to work, albeit inefficiently, in a worse excuse for a language.
22:01:53 <Gregor> alise: How about I add syscalls to call JS directly, and you implement X using those syscalls X-P
22:02:41 <alise> Gregor: no need to implement X, just a driver for Xserver (not X.org)
22:03:22 <Gregor> alise: How about I add syscalls to call JS directly, and you implement a driver for Xserver using those syscalls X-P
22:04:18 <alise> Gregor: how about the other way around :|
22:04:35 <zzo38> I wrote some rules for AERM please tell me if you have any question/comment? Also tell me which mahjong rulsets you like, if you know any. http://zzo38computer.cjb.net/mahjong/anime_evolution/
22:04:38 <Gregor> Except I know more about JSMIPS, so I can add the syscalls easily :P
22:05:19 <Sgeo_> http://pastie.org/1021063
22:05:23 <Sgeo_> feel free to kill me
22:05:31 <Phantom_Hoover> alise, how can universes recombine?
22:05:41 <alise> Phantom_Hoover: by comic logic
22:05:45 <alise> pikhq: where is Xserver in the xorg tree?
22:05:53 <Phantom_Hoover> But what do people remember?
22:06:35 <zzo38> Sgeo_: I don't want to kill you! I have other stuff to eat
22:06:48 <alise> zzo38: ...creepy
22:08:03 <Sgeo_> I don't want your baby! I already ate.
22:08:21 <zzo38> Sgeo_: That is good thing because I don't have any baby
22:09:28 <alise> Make a baby!
22:09:38 <zzo38> alise: No.
22:09:47 <alise> If any South Korean citizen tries to visit North Korea crossing the big concrete wall, he'll be killed by the american soldiers. The 'Security Law' in South Korea forbides to any South Korean citizen to talk or read about the North or else he'll be punished with jail or even death penalty.
22:09:52 <oerjan> mm, fresh ground Sgeo_
22:10:20 <Phantom_Hoover> alise, huh?
22:10:34 <alise> -- North Korea's official website
22:10:40 <oerjan> alise: guessed so :D
22:10:51 <alise> Stable. A government with solid security and very stable political system, without corruption.
22:10:51 <alise> Full diplomatic relations with most EU members and rest of countries.
22:11:01 <Sgeo_> So, thoughts on poorly-designed language?
22:11:07 <Phantom_Hoover> Sounds like a sales brochure.
22:11:24 <alise> Only few people in the world know that Korea is divided by a big concrete wall in the Parallel 38 that was built by the United States of America when the Korean War finished.This wall is hundreds of times bigger than the one that existed in Germany and is separating the Korean families, brothers, parents... the nation is divided because the U.S.A. is dominating the southern part and keeps an army of more than 40.000 soldiers to avoid the union of th
22:11:24 <alise> e Korean people.
22:11:44 <alise> The unification of Korea, the peace in the peninsula and the meeting of all the families is possible, but the U.S.A. isn't interested on it, and every year with the support of the South Korean Army they display big military maneuvers like the 'Ulji Focus Lens' or 'Team Spirit with the purpose of invading and dominate the North. Only when the american soldiers will leave South Korea and the citizens will recover they sovereignity, a big united Korean na
22:11:44 <alise> tion is possible.
22:12:49 <Sgeo_> Anyone want to make a fibonacci counter in this language?
22:12:57 <alise> http://www.korea-dpr.com/business/Garment.pdf north korean garments
22:13:09 <alise> pikhq: where's xserver in xorg tree :|
22:13:14 <zzo38> I have idea invent command-web. A command-web can be included in any HTML document, in its own file, linked to by HTTP headers, or by local overrides. Allowing you to make web applications as command-line programs, including I/O redirection, pipe, and any other stuff usable in command-line programs.
22:13:18 <Sgeo_> if(getcell1("bit"))
22:13:21 <alise> Gregor: i'm looking in xserver source :P
22:13:23 <Sgeo_> That should probably be ifcell1
22:13:26 <alise> Gregor: i wanna do the js though :(
22:13:40 <Sgeo_> Besides cell1s and cell2s, there's not much that can be if'ed on
22:13:53 <zzo38> And make command-web more simplicity and can work without any web-browser installed, no JavaScript required, and make the command-web specification to be simple and easy to implement in many program language, and efficiently.
22:13:54 -!- augur has quit (Remote host closed the connection).
22:14:03 <zzo38> Sgeo_: What language do you mean?
22:14:04 -!- augur has joined.
22:14:09 <Sgeo_> http://pastie.org/1021063
22:14:48 <zzo38> Sgeo_: I saw that, but I don't see the documentation?
22:15:08 <Sgeo_> That is the documentation for now
22:15:16 <Sgeo_> Still a lot more evil to come
22:15:30 <Sgeo_> And I'm going to introduce it to a large community that might very well be thankful
22:15:40 <Gregor> alise: You would be doing the JS.
22:15:47 <Gregor> alise: All I'd be doing is giving an eval syscall.
22:15:58 <alise> Gregor: But that's rubbish!
22:16:55 <Gregor> I don't see how. Seems like the modular solution to me.
22:17:10 <Phantom_Hoover> For what?
22:17:19 <Gregor> Phantom_Hoover: For X11 in your browser :P
22:17:27 <Sgeo_> Why don't I say bit1 and bit2 instead of memcell1 and memcell2
22:17:32 <Gregor> OH FUCKFUCKFUCK
22:17:41 <Gregor> alise: OK, project delayed for quite a while; I have no sockets X-D
22:17:51 <Gregor> Not even UNIX domain sockets.
22:18:01 <alise> "Your poetry stinks like rotten eggs and fish." "As do your rotten eggs and fish." "So, what's the happenings today?" "What if the universe was really made up of tiny little universes, each constituting a particle in ours? And what if this went down forever, like those famous turtles?" "I don't think the turtles were famous, just the quote..." "Well, you're not famous either." "I never said that. Anyway, what if the universe was--" "hang on, that was my theo
22:18:01 <alise> ry." "Yes, indeed it was." "What if the universe was--" "Maybe it could be both our theories?" "Okay." "No, I disagree. I refuse to cooperate. It is mine now. Mine! MWAHAHAHA[goes outside edge of panel and loops around the page]HAHAHAHAHAHAHAHAHAHAHA--"
22:18:18 <alise> Gregor: Not in your libc?
22:18:29 <Gregor> alise: Not at all. Not in libc, not in the kernel, nowhere.
22:18:31 <Gregor> No sockets.
22:18:56 <Phantom_Hoover> Huh?
22:18:57 <alise> Oh, of course, it's your kernel.
22:19:09 <Phantom_Hoover> How are you using IRC, then?
22:19:14 <alise> Phantom_Hoover: JSMIPS.
22:19:19 <alise> Gregor: Why not just ... implement POSIX in Javascript?
22:19:28 <alise> Gregor: Have the bytecode be Javascript or something.
22:19:36 <Gregor> alise: That is what I'm doing. But slowly, and only what I need when I need it :P
22:19:45 <alise> Gregor: I mean, as opposed to having an architecture.
22:20:24 <Phantom_Hoover> How does the processor actually control things?
22:20:27 <Gregor> Because C assumes there's pointer-addressable memory, and by the time you've added pointer-addressable memory, you've done 99% of the work of emulating MIPS.
22:20:54 <Gregor> So the question is, do you do the remaining 1% to emulate MIPS, or the massive amount of work to retarget GCC at a platform that isn't a platform?
22:21:28 <alise> Gregor: Fair enough.
22:21:48 <Gregor> MIPS really was the easy route :P
22:21:53 <alise> Where's your OS?
22:22:22 <ais523> JSMIPS really ought to be able to do network connections
22:22:30 <ais523> either with HTML5 sockets, or by bouncing off its own server
22:22:38 <alise> HTML5 sockets would be nice to use.
22:22:56 <ais523> yep, and more secure too
22:23:05 <ais523> don't want to make JSMIPS into a (very slow) open proxy for everything...
22:23:41 <alise> Gregor: again, where is your kernel and libc?
22:23:47 <zzo38> Can you please tell me if the AERM rules are good so far?
22:23:49 <Gregor> My "OS" is all in JavaScript. The syscall barrier is between JS and MIPS instead of being between different layers.
22:23:56 <Gregor> s/layers/MIPS layers/
22:24:10 <alise> Where is your JS OS?
22:24:15 <Gregor> The C library is newlib, and the patch for it is in the source repo, which is linked at http://codu.org/projects/jsmips/
22:24:16 <alise> Where is your libc?
22:24:33 <Gregor> All of it is in said source repo of course :P
22:24:38 <Gregor> BBIAB, shower
22:24:44 <alise> Wow, your newlib patch is huge.
22:24:56 -!- augur has quit (Remote host closed the connection).
22:25:10 -!- augur has joined.
22:25:42 <alise> Gregor: where is system.html maintained?
22:29:18 <Phantom_Hoover> In your heart.
22:32:13 <Sgeo_> Just realized that each read of a memcell is very expensive
22:32:24 <Sgeo_> On read, one of two codepaths happen
22:32:31 <Sgeo_> One for on, one for off
22:33:04 <Sgeo_> To add more, I could chain another memcell to it which is essentially (0 for this set of codepaths, 1 for this other set)
22:33:53 <Sgeo_> What do you call a piece of data that can represent 0, 1, 2, or 3?
22:33:55 <Sgeo_> quads?
22:34:23 <Phantom_Hoover> What is a memcell?
22:34:35 <Phantom_Hoover> And why can't they be read easily?
22:34:51 <Phantom_Hoover> Sgeo_, a quit?
22:34:56 <Phantom_Hoover> A quat?
22:35:02 * Gregor reappears.
22:35:31 <Gregor> alise: My newlib patch is mostly adding newlib/libc/sys/jsmips , which is pretty big, yeah. There's also some garbage because I had to regenerate configure and Makefile.in's for that, so that's kinda bullshit but I had to do it.
22:35:59 <Gregor> alise: system.html is just init.html renamed, init.html is generated by the Makefile in the root of the jsmips repo from the sources in init/ and some simple HTML wrapper stuff.
22:36:05 <ais523> hmm, I was trying to debug something from the asm, and having problems
22:36:10 <Sgeo_> They can't be read easily since there is one path of execution per possibility. It stores a bit (or I could make memcells store a quat. Maybe memcell2 is bit and memcell4 is quat). It's a thing I'm thinking of in Active Worlds
22:36:10 <alise> I'm trying to find Xserver...
22:36:17 <ais523> I go to look at the source, and find that not only is it in asm, but it has inline machine code
22:36:17 <Sgeo_> I haven't actually built an in-world memcell yet
22:36:29 <ais523> and inlining machine code in asm is really quite a crazy prospect
22:36:42 <Sgeo_> Is there even a point?
22:37:19 <ais523> it was to put a label in the middle of a statement, it seems
22:37:33 <alise> ais523: wow :D
22:37:45 <alise> Sgeo_: quat?
22:37:56 <Sgeo_> alise, 0, 1, 2, or 3
22:37:59 <alise> pikhq: ping
22:38:00 <Sgeo_> Have a better name?
22:38:01 <Phantom_Hoover> Quat.
22:38:05 <alise> Sgeo_: wut?
22:38:11 <alise> Sgeo_: quit
22:38:13 <alise> :D
22:38:20 <Phantom_Hoover> Make sure "kum" is there too.
22:38:33 <Sgeo_> Actually, I don't think I can make quats anyway.
22:38:40 <alise> binary -> bit, trinary -> trit, quarternary -> quarter -> quartert
22:38:42 <alise> Sgeo_: quart
22:39:16 <oerjan> alise: *quaternary
22:39:19 <Phantom_Hoover> Quaternary, though.
22:39:22 <alise> quat then :P
22:39:25 <Phantom_Hoover> So quat.
22:39:32 <alise> but they end with -it
22:39:40 <alise> which is why they use the trinary name, not ternary
22:39:42 <alise> so it's a quit
22:39:50 <Phantom_Hoover> Quaterit?
22:40:04 <oerjan> no, quatert.
22:40:19 <oerjan> the -i is from the part before the -nary
22:40:20 <Phantom_Hoover> These are all sensible suggestions.
22:40:39 <Phantom_Hoover> oerjan's is technically correct, but unweildy.
22:41:19 <alise> oerjan: yes, but listen
22:41:26 <alise> oerjan: base 3 is ternary, trinary is the /less common/ na,e
22:41:27 <alise> *name
22:41:32 <alise> yet it isn't a tert
22:41:37 <alise> because it's meant to end with -it
22:41:41 <alise> so clearly, it's a quit.
22:41:52 <Phantom_Hoover> What about 5?
22:41:56 <oerjan> (technically, latin counting numbers for "n each")
22:42:05 <Phantom_Hoover> Or quarter-imaginary?
22:42:08 <alise> oh wait, 5 is quit
22:42:09 <alise> quinary
22:42:28 <oerjan> 6 would be set
22:42:50 <alise> what's 8nary
22:42:53 <alise> not octal, what's the full name
22:42:59 <alise> 8 each in latin
22:43:01 <alise> what is it :P
22:43:01 <Phantom_Hoover> It should be quint, though.
22:43:14 <alise> quin? is that the 6 prefix?
22:43:17 <oerjan> octoni iirc
22:43:22 <oerjan> no, seni
22:43:24 <Phantom_Hoover> No.
22:43:27 <oerjan> (for 6)
22:43:35 <alise> oerjan: octonary, then?
22:43:47 <oerjan> yes
22:43:47 <alise> unit, bit, trit, quat, quit, senit, sept, octit.
22:43:58 <alise> using senit for six rather than sent
22:44:04 <oerjan> septeni
22:44:10 <alise> yes, but septenit sounds shit.
22:44:30 <oerjan> noni, deceni
22:44:41 <alise> unit, bit, trit, quat, quit, senit, septenit, octit, nonit, decenit,
22:44:42 <alise> what's 11?
22:45:20 <Phantom_Hoover> undecit?
22:45:21 <Sgeo_> I was just thinking I could make memcells easily hold arbitrary sizes, but I was wrong
22:45:25 <Phantom_Hoover> Undecenit?
22:45:39 <alise> unit, bit, trit, quat, quit, senit, septenit, octit, nonit, decenit, undecenit
22:45:47 <alise> pikhq: ping
22:45:47 <oerjan> http://home.comcast.net/~igpl/NXR.html last column
22:46:22 <oerjan> oh it's deni
22:47:47 <oerjan> and noveni, although wikipedia definitely says nonary base
22:52:01 <oerjan> historical change doesn't always treat latin numbers well. not that the system looks that consistent to begin with
22:52:28 -!- DH____ has quit (Quit: Trillian (http://www.ceruleanstudios.com).
22:53:33 <Phantom_Hoover> I never got the hang of Latin numbers...
22:53:36 <Sgeo_> create animate me . 1 1 0, name a; adone name b
22:53:37 <pikhq> alise: PONG
22:53:40 <Sgeo_> Oh crap
22:54:01 <Sgeo_> To even READ a bit, I need to use sdone, which I was planning for quats
22:54:09 <pikhq> alise: Xserver is in the Xserver tarball.
22:54:23 <Sgeo_> No, I'm wrong
22:54:24 <pikhq> Welcome to the joys of modular X.
22:54:52 -!- zzo38 has quit (Quit: ,z.).
22:54:57 <Sgeo_> name name=a b works well, I think
22:55:09 <ais523> hmm, this is a crazy question so this is as good a channel to ask as any: does anyone here know how I could find out the exact behaviour of a Pentium II in response to code near the instruction pointer being modified?
22:55:39 * pikhq is quite annoyed at libX11
22:55:46 <pikhq> It appears to require multibyte support.
22:55:54 * Gregor reappears.
22:55:57 <Phantom_Hoover> Huh?
22:56:33 <pikhq> ais523: Uh. This is undefined behavior, so: *check and see* how much that screws with the instruction cache.
22:57:26 <ais523> pikhq: I don't have a Pentium II to test on; and I need the general case, rather than the behaviour in any specific case
22:57:37 <ais523> I was hoping it'd be documented somewhere, but Google isn't helping
22:58:05 <pikhq> ais523: Your most *likely* behavior if you don't flush the instruction cache is that it continues executing the old code until that goes out of the instruction cache.
22:58:27 <ais523> yep; and how big is the instruction cache? the documentation I find doesn't even really explain that
22:58:39 <pikhq> Varies from chip to chip.
22:58:41 <ais523> also, did instruction-cache flushing exist back then? I thought it was newer than that
22:59:10 <pikhq> The 686 is about where that started being done on x86.
22:59:32 <pikhq> IIRC.
22:59:44 <ais523> the compiler that's producing the offending code claims to be targeting the 586
23:01:05 <Sgeo_> Looks like quats aren't happening
23:01:27 <Sgeo_> Unless I find another way to store data
23:01:51 <Sgeo_> I see another way to store data, but it takes time for it to read
23:02:16 <Sgeo_> All because I can't change the name of an object from a different object
23:03:26 <pikhq> ais523: 486 started it, actually.
23:03:32 <ais523> ah, ok
23:03:52 <ais523> in which case, quite possibly I've indirectly found a bug in DJGPP, in that it's relying on undefined behaviour when it shouldn't be
23:04:27 <Sgeo_> The idea would be that the storage would either emit a signal (so to speak) every so often, or not
23:04:37 <Sgeo_> To read, determine if a signal is sent in time
23:04:41 <pikhq> I presume that DJGPP strives to generate code that'll run on more than just a 386. :)
23:05:03 <ais523> pikhq: well, the triple for it contains "i586"
23:05:42 <pikhq> Should be managing the cache right.
23:06:27 <ais523> I was trying to run some DJGPP code on a crazy emulator that has a 900-instruction or so pipeline
23:06:40 <ais523> and it didn't work due to self-modification, now I'm trying to figure out whether the code or the emulator is wrong
23:06:41 <pikhq> ... 900-instruction pipeline.
23:06:59 <pikhq> I suspect the emulator is wrong.
23:07:06 <pikhq> Try running it on a Pentium 4.
23:07:12 <ais523> well, it should be changed to match reality, at least
23:07:17 <pikhq> That had something like a 32-instruction pipeline.
23:07:22 <ais523> to emulate programs that rely on broken behaviour better
23:11:11 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
23:12:43 <Gregor> Welp, added primitives to call JavaScript from C.
23:12:47 <Gregor> My work here is done.
23:13:12 <alise> pikhq: so where IS xserver
23:14:18 <alise> Gregor: mind if i have a branch where i just rip out the console?
23:14:27 <Gregor> Feel free.
23:14:42 <Gregor> Although it's pretty modular and trivial to remove anyway.
23:14:48 <Gregor> Register on the site and I can give you push privs.
23:15:30 <Sgeo_> What can be done with something that, say, has a certain number of states, and changing to one particular state causes code to execute?
23:16:34 <Gregor> Sgeo_: Uh ... since you didn't define "code", I'm gonna go with "everything"
23:17:15 <Sgeo_> more, irrelevant for this discussion, stuff to happen.
23:17:59 <pikhq> alise: Uh. Not sure where's a good source; I pulled it out of /usr/portage/distfiles.
23:18:11 <alise> pikhq: In the git repository, xserver is just the regular X.org server.
23:18:12 <alise> So, wut?
23:18:26 <Sgeo_> Turns out that I can't use it
23:18:27 <pikhq> Yes, that is the regular X.org server.
23:19:00 <alise> pikhq: I can see no git repository with Xserver.
23:19:13 <alise> Apparently it is maintained "as a module".
23:19:49 <pikhq> http://www.x.org/archive/individual/xserver/
23:23:16 <alise> That's ... the normal X.org server.
23:23:18 <alise> I'm asking about Xserver.
23:24:01 <alise> pikhq
23:24:27 <alise> pikhq: I don't THINK they've been merged ...
23:24:36 <alise> Wikipedia says Xserver (KDrive) is now a module of X.org.
23:24:58 <pikhq> alise: That *is* the normal X.org server.
23:25:05 <alise> No.
23:25:10 <alise> The normal X.org server is derived from XFree86.
23:25:15 <pikhq> You get KDrive by configuring with --kdrive
23:25:21 <alise> Does that /replace/ the server?
23:25:22 <alise> Or add to it?
23:25:30 <Gregor> alise: BTW, patches/buildcc.sh will build a complete C compiler, if you didn't notice that ... 's a bit easier than following the README instructions.
23:25:32 <alise> I don't see whyTF it's a configuration option.
23:25:45 <alise> pikhq: Anyway, so where's the KDrive source?
23:25:56 <pikhq> *In those tarballs*.
23:26:04 <pikhq> *I have linked to it*.
23:26:43 <pikhq> Most of the KDrive source is just the X server. It just has much, much less than the normal server.
23:26:57 <pikhq> (IIRC, the stuff that KDrive rewrote has become the normal implementation)
23:27:35 <alise> pikhq: I know, I know, but surely KDrive has a different driver architecture and stuff?
23:28:00 <pikhq> alise: Yes: namely, it doesn't have one.
23:28:14 <alise> pikhq: You can write your own driver, no?
23:28:16 <alise> It just has it compiled in.
23:28:21 <alise> So where would I look at to see those drivers?
23:29:56 <alise> pikhq: Or is it just regular X drivers?
23:30:00 <alise> If so, damn I hope they're easy to write.
23:30:14 -!- pikhq has quit (Read error: Connection reset by peer).
23:30:22 <alise> http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive ;; this, I wonder
23:32:47 -!- tombom has quit (Quit: Leaving).
23:33:01 <alise> Gregor: I need your help navigating this tree :P
23:33:31 <alise> Gregor: So we can skip a mouse driver for now, a keyboard driver will be easier, I think for X.
23:33:47 <Gregor> Okidoke.
23:35:13 <alise> Gregor: I bet X sends some complex shit to its graphical drivers, since it can be quite high-performance.
23:36:04 <Gregor> I have noooooo idea.
23:36:22 <Gregor> I wonder if adapting the framebuffer driver would be easiest ... not very canvasy though.
23:36:39 <alise> http://webcvs.freedesktop.org/xserver/xserver/hw/kdrive/neomagic/?pathrev=HEAD
23:36:43 <alise> old neomagic drive for kdrive
23:36:49 <alise> kdrive is a lot smaller and zippier
23:36:51 <alise> so we should really use it
23:37:07 <alise> Gregor: ...yeah, framebuffer will be a lot easier.
23:37:18 <alise> Holy shit X drivers are complicated.
23:37:21 <alise> http://www.linux-fbdev.org/HOWTO/index.html
23:37:23 <alise> Look at that! A howto!
23:37:32 <alise> http://linuxconsole.sourceforge.net/fbdev/HOWTO/index.html
23:37:35 <Gregor> I could probably whip up a framebuffer driver on top of JSMIPS+canvas relatively easily *shrugs*
23:37:35 <alise> An easier to read version of that howto
23:37:52 <Gregor> It's the "setting the video mode" part that's barfy.
23:38:22 <alise> Can't we just ignore that?
23:38:38 <alise> And only support one mode?
23:39:19 <Gregor> I suppose ... actually, I could just implement a simpler interface for that *shrugs*
23:39:38 <Gregor> I don't really have device files either, but that's actually not too bad.
23:40:45 <Gregor> OK, step one: something resembling device files.
23:41:14 <alise> Gregor: Ooh, I want to do that.
23:41:15 <alise> It sounds fun.
23:41:18 <alise> Can I do that?
23:41:22 <Gregor> Uhhh, sure.
23:41:25 <alise> Yay.
23:41:36 <alise> Gregor: Although it'll only be tonight and then on Friday I can work on it :P
23:41:46 <alise> Gregor: iirc the /dev/mouse and /dev/keyboard protocols are very simple, aren't they?
23:41:49 <alise> Then it's just /dev/fb.
23:42:16 <Gregor> The implementation of I/O devices is already abstracted, it should be relatively simple, you just need to make a new kind of file in filesystem.js, support it with open(), and maybe add mknod to newlib.
23:42:32 <Gregor> (Or just ignore mknod and have them compiled in)
23:42:39 <alise> Compiled in, yes.
23:43:02 <alise> Gregor: Do they even need to look like devices?
23:43:06 <alise> Like the major,minor stuff.
23:43:14 <Gregor> I don't see why.
23:43:18 <alise> Yay.
23:43:18 <Gregor> They just need to be JS prototypes.
23:43:31 <alise> I shall do so.
23:43:37 <Gregor> The only reason to use that is because then mknod() would work and that's more UNIX *shrugs*
23:43:37 <alise> I won't have to compile anything, will I? I can use your system.html.
23:43:44 <alise> Yes, more UNIX but more work :-)
23:44:07 <alise> Gregor: Face it, the only reason I'm doing this is to get Firefox running in Firefox, no matter how slowly it goes.
23:45:00 <Gregor> Actually my goal was vim :P
23:45:05 <Gregor> But now that I have that ... Idonno, emacs?
23:45:09 <alise> Emacs is easy from there.
23:45:12 <alise> How about X11 emacs?
23:45:15 <alise> And then Firefox.
23:45:15 <Gregor> Better.
23:45:17 <Gregor> Also gvim
23:45:17 <alise> :D
23:45:23 <alise> Gregor: ... MySQL.
23:45:33 <Gregor> Chrome running in FIrefox.
23:45:34 <alise> Gregor: OHMYGOD QEMU.
23:45:36 <Gregor> Firefox running on Chrome.
23:45:37 <Gregor> lawl
23:45:40 <alise> Gregor: You've just invented the universal online emulator.
23:45:42 <alise> Congratulations.
23:45:49 <Gregor> Sooo slow :P
23:45:53 <alise> Gregor: We could make a KQEMU port for speed :P
23:45:58 <alise> To run on the ... kernel ... of JavaScript.
23:46:19 <Gregor> X-D
23:46:38 <alise> Gregor: We're talking this Web OS thing a little too literally, methinks :P
23:46:43 <Gregor> Maaaaybe
23:46:53 <alise> We're building Web 4.0. At least, we'll be on to Web 4.0 before this thing is even vaguely speedy.
23:46:59 <alise> Even the Java applet x86 emulator is faster.
23:47:49 <alise> Gregor: Huh. Xephyr is KDrive.
23:48:44 <Gregor> That helps us none.
23:48:49 <Gregor> Nowait, does it?
23:48:53 <Gregor> I don't think it does.
23:49:50 <alise> It doesn't.
23:49:52 <alise> I was just remarking.
23:50:04 <alise> Gregor: If I implement /dev/keyboard that'll break the console.
23:50:06 <alise> Is that alright?
23:50:50 <Gregor> So long as it can eventually be fixed :P
23:50:57 <Gregor> And aren't you doing this in a branch anyway?
23:51:16 <alise> Gregor: I was just going to check out the hg thing and start working, who gives a fuck about in-repo branches :P
23:52:16 <Gregor> Well, you could push back your branch and have it all dandy and usable by people who are not you while still allowing the console to work :P
23:52:46 <alise> But why would I give YOU my code!
23:53:19 <Gregor> Because hoopla! :P
23:53:22 <alise> I follow the crazy lunatic model of software development: don't use revision control, then only release it at all when it's done and perfect.
23:53:53 <alise> "Hoopla! is an improvised comedy show akin to Whose Line Is It Anyway? but with better jokes[...]" So, they ruined Whose Line Is It Anyway?.
23:54:13 <Gregor> lawlhuh?
23:54:25 <alise> I just googled hoopla :P
23:55:39 <alise> Gregor: The framebuffer driver API seems ridiculously simple.
23:55:56 <Gregor> Sweet
23:56:12 <alise> Gregor: http://linuxconsole.sourceforge.net/fbdev/HOWTO/4.html
23:56:16 <alise> the rest is just about video cards and monitors
23:56:37 <alise> Actually, that seems incomplete.
23:56:39 <alise> But whatever.
23:56:54 <alise> Gregor: hg url plz
23:57:02 <Gregor> https://codu.org/projects/jsmips/hg/
23:59:55 <alise> Okay, so!
2010-06-28
00:00:04 <alise> How do I create a branch in hg?
00:00:07 <alise> hg branch poopy?
00:00:09 <Gregor> Yup
00:00:16 <Gregor> Then just go about your business.
00:00:25 <alise> Literally poopy? :P
00:00:31 * alise hg branch dev
00:00:45 <alise> Gregor: BTW, your existing filesystem solution sucks balls.
00:00:53 <Gregor> Yup.
00:00:59 <Gregor> It has a LOT of problems :P
00:01:04 <Gregor> But it does work.
00:01:05 <alise> And why do you go to the trouble of supportin IE.
00:01:06 <alise> *supporting
00:01:19 <alise> / A pretty little loader bar while a file is loading
00:01:21 <alise> I hate you.
00:01:22 <alise> *//
00:01:37 <Gregor> Whoooooo knows
00:01:39 <alise> Gregor: Crazy suggestion: Just download everything at the start and stop the slowness.
00:01:57 <Gregor> alise: 1) The slowness is not from downloading, 2) everything is a LOT, 3) no.
00:02:07 <alise> New suggestion: Make it less shit, then.
00:02:20 <Gregor> What a super-specific suggestion :P
00:02:29 <alise> Well, it's shit. Valid complaint.
00:03:00 <alise> Okay, so where's this magic modular crap?
00:03:13 <alise> function Stdout() {}
00:03:15 <alise> That stuff?
00:03:16 <alise> in mipsio.js
00:03:34 <Gregor> Every "file" is just an implementation of a mipsio-type object. Any object with the right shape can be stuffed in its place.
00:03:46 <alise> /* Simple 80x25 console in a <div>
00:03:50 <alise> Wrong, it's not a <div> in vtconsole.js
00:04:01 <Gregor> Where's that comment from? console.js?
00:04:01 <alise> Gregor: So how do I put that somewhere in the fs?
00:04:04 <alise> vtconsole.js
00:04:06 <alise> copied from console.js
00:04:09 <Gregor> Oh :P
00:04:11 <Gregor> Womp womp
00:04:43 <Gregor> Oh, hrm, with the current FS, putting stuff somewhere is ... actually kinda suckage ... the FS layout comes from the server, and is godawfully bad (it's not even JSON :P )
00:05:00 <alise> I sort of hate you.
00:05:22 <Gregor> The FS was a quick hack because I wanted an FS, it wasn't intended to be a real solution. It just stuck because I was too lazy to write anything better :P
00:05:24 <alise> Gregor: How about you stop supporting online JSMIPS? :P
00:05:27 <alise> Ooh, I know.
00:05:35 <alise> Use that fancy HTML5 storage stuff to only download files once forever.
00:05:39 <alise> Then it'd suck less.
00:05:51 <Gregor> I'm unaware of that component of HTML5 ...
00:06:09 <alise> Protip: HTML5 has EVERYTHING.
00:06:10 <Gregor> Also, I wrote the vast majority of this well before HTML5 :P
00:06:15 <alise> Not well before.
00:06:17 <alise> HTML5 is years and years old.
00:06:28 <alise> It's just only been adopted as a W3C Working Draft recently (year or two ago).
00:06:33 <Gregor> Well before HTML5 had any actual use or implementation that is.
00:06:39 <alise> Opera implemented everything in like 2005 :P
00:06:47 <Gregor> Opera NEVER counts.
00:07:03 <Gregor> Also, Opera doesn't have <video> or useful <audio>, so, uh, no.
00:07:20 <alise> Opera is like this awesome small, fast browser that does everything before anyone else and supports all the standards but everyone hates it because it's Opera :P
00:07:21 <alise> I love it
00:07:23 <alise> (The hating)
00:07:57 <alise> Gregor: http://dev.w3.org/html5/webstorage/
00:08:06 <alise> It's much more prototypey than HTML5 itself, though.
00:08:14 <alise> Gregor: Basically, it's Google Gears, legislated.
00:08:24 <Gregor> Hm
00:08:48 <Gregor> Anyway, I take your complaints as the observation that the FS needs serious work, so I will consider working on it, but probably not today X-P
00:09:11 <alise> How am I supposed to add something to the FS with your shitty arch? >_<
00:09:25 <alise> Suggestion: Have the thing be a php, so that you load the /directory structure/ on page load.
00:09:36 <Gregor> That's exactly what it does.
00:09:42 <Gregor> That's what's so shitty :P
00:09:51 <alise> No, system.html is not a php.
00:10:14 <oklopol> you know who else is not a php?
00:10:17 <Gregor> alise: Note the script tag.
00:11:16 <Gregor> Which is to say, note http://codu.org/jsmips/server/dir.php
00:11:25 <alise> fine fine
00:11:46 <alise> Gregor: I'm going to do something horrible.
00:11:51 <alise> Hardcode /dev files into dir.php.
00:11:56 <alise> I blame you; you have made me this creature.
00:11:57 <Gregor> That's fine *shrugs*
00:12:04 <alise> Okay, what the fuck @ dir.php.
00:12:11 <alise> I have no idea what I...
00:12:13 <alise> Do I just say
00:12:29 <alise> dir.children["=/dev/fuck"] = new FuckingDevice();
00:12:39 <alise> Sorry,
00:12:42 <alise> dir.children["=_dev_fuck"] = new FuckingDevice();
00:12:48 -!- pikhq has joined.
00:12:51 <ais523> alise is working on JSMIPS?
00:12:57 <alise> ais523: Yes. Unfortunately.
00:13:01 <alise> Gregor is a tramp and a whore.
00:13:11 <alise> He has ruined my childhood.
00:13:21 <Gregor> No, something like rootdir.children["=dev"] = new Directory(rootdir);, then thatdirectory.children["=whatevs"] = new Device(whatevs);
00:13:40 <alise> No such thing as rootdir here.
00:13:48 <pikhq> alise: In the Xorg tree, hw/kdrive/
00:13:48 <alise> Oh, yes there is.
00:14:05 <alise> pikhq: yeah we're just gonna do fb driver i think
00:14:08 <alise> that code looks gnarly
00:14:39 <alise> Gregor: btw, I vowed never to code PHP again
00:14:45 <alise> so I doubly hate you
00:14:49 <Gregor> 8-D
00:15:11 <Sgeo_> I just realized that I might be able to think of this in terms of logic gates
00:15:21 <alise> DevFoo an alright name for the classes?
00:15:30 <Gregor> Sure, why not *shrugs*
00:15:43 <alise> DevKBD, DevMouse, DevWhateverTheFramebufferIs.
00:15:59 <alise> Gregor: I just realised that I looked up Linux framebuffer documentation
00:16:00 <alise> XD
00:16:06 <alise> pikhq: Hey... stuff only accesses the framebuffer through the dev file, right?
00:16:10 <alise> So I just have to implement DevFB or whatever.
00:16:17 <Sgeo_> What I need to do is make a NAND gate
00:16:29 <Gregor> alise: Uhh, yeah? I thought that was the idea.
00:16:47 <alise> Gregor: My brain thought I'd be writing a framebuffer driver in C for Linux XD
00:16:50 <alise> I am a bit dim.
00:16:54 <alise> It is /dev/fb, right?
00:16:55 -!- pikhq has quit (Read error: Connection reset by peer).
00:16:59 <Gregor> alise: fb0 IIRC
00:17:03 <Gregor> Since you can have multiple fbs.
00:17:06 <alise> Ah, indeed.
00:17:07 <Gregor> (Hypothetically)
00:17:41 <alise> changeset: 158:9ab2534af7a7
00:17:41 <alise> branch: dev
00:17:41 <alise> tag: tip
00:17:41 <alise> user: ehird@localhost.localdomain
00:17:41 <alise> date: Mon Jun 28 00:17:59 2010 +0100
00:17:42 <alise> summary: *** empty log message ***
00:17:45 <alise> How do you obliterate a commit from hg's log?
00:17:51 <alise> darcs obliterate, hg ?
00:17:59 <Gregor> If it's the last one, hg rollback
00:18:05 <alise> Yay.
00:18:08 <alise> summary: Now the JS ctx saves the mips reference, so you can introspect in horrible ways.
00:18:10 <alise> Cthulu OS
00:18:21 <alise> abort: no username supplied (see "hg help config")
00:18:23 <alise> Ohh, fuck you.
00:19:45 <Gregor> What's that error from?
00:19:46 * alise installs vim to write commit messages with...
00:19:54 * alise rethinks, installs nano.
00:20:00 <alise> Already is. How convenient.
00:20:03 * alise sets EDITOR=nano
00:21:13 <alise> * Copyright (C) 2010 Elliott Hird
00:21:13 <alise> * See mit.txt for license. */
00:21:16 <alise> Ha! My very own file!
00:21:18 <alise> */* above all that
00:21:35 <alise> Gregor: Those getTC* functions... wtf are they?
00:21:41 <alise> termios stuff?
00:21:55 <Gregor> Yup *bleh*
00:22:05 <Gregor> I believe that the termios stuff is set up to be resilient to them being missing.
00:22:10 <Gregor> But lemme verify that ...
00:22:21 <Gregor> Yup.
00:22:29 <Gregor> You don't have to implement them if they're not meaningful for you.
00:22:34 <alise> Good.
00:22:50 <alise> ais523: do you know the /dev/kbd protocol? Say yes.
00:22:56 <ais523> no
00:23:07 <ais523> also, yes, but only because you told me to say it
00:23:09 <alise> ais523: I am sad now.
00:23:11 <alise> ais523: Yay.
00:23:22 <ais523> hmm, but I don't actually know the protocl
00:23:23 <ais523> *protocol
00:23:30 <ais523> so I just said yes in response to nothing in particular to fulfil the request
00:23:43 <alise> but you did what i asked
00:25:50 <alise> Gregor: hmm, it's PS/2
00:25:52 <alise> (/dev/kbd)
00:25:55 <alise> gotta be easy right? P
00:25:56 <alise> *:P
00:27:37 <alise> Or, no, it's anything. But PS/2 primarily.
00:27:42 <alise> *primarily PS/2.
00:27:48 <alise> I need pikhq, he knows this stuff :P
00:28:30 <alise> Gregor: Wait... fb0 is a Linux thing. So we'll be running a Linux-only driver on... nothing. X_X
00:28:51 <Sgeo_> If I can build a NAND gate, does that imply turing completeness?
00:29:02 <Sgeo_> Or, well, given the existance of memory limitatiojns
00:29:51 <alise> No.
00:30:14 -!- ais523 has quit (Remote host closed the connection).
00:30:56 <alise> Gregor: What the hell protocol is /dev/fb0....
00:30:57 <alise> *...
00:30:58 <Sgeo_> But I thought you could build any logic system with just NAND?
00:31:04 <alise> Sgeo_: Logic systems have no control structures.
00:31:14 <alise> Besides, only boolean logic, not actual logic formalisms.
00:34:35 * Gregor reappears.
00:34:59 <alise> /dev/fb0 has, I think, the same protocol as VGA text memory, only ... bigger.
00:35:06 <Gregor> alise: The driver is only Linux-only because it's designed for a Linux device, I doubt that it does anything wildly Linux-specific.
00:35:15 <alise> [ehird@ping jsmips]$ sudo cat -v /dev/fb0 | head -c50
00:35:15 <alise> M-*M-*M-*^@M-*M-*M-*^@M-*M-*M-*^@M-*M-*M-*^@M-*M-*
00:35:18 <alise> Gregor: Well, yeah, but still.
00:35:23 <Gregor> I thought the "protocol" of /dev/fb0 was that you just write shit to it, it's just a raw framebuffer :P
00:35:24 <alise> Anyway, I have no idea what that /dev/fb0 structure is.
00:35:32 <alise> Gregor: Yes, but I mean, how do you get text to appear.
00:35:35 <alise> Because there's colours and shit.
00:35:39 <alise> Is it the two-byte VGA format?
00:35:53 <alise> I mean, there's devfb, so obviously it's a common format to all video devices.
00:35:58 <Gregor> Uhhh ... /dev/fb0 is never a text console is it? It's always graphics
00:36:03 <alise> Well, whatever.
00:36:12 <alise> [ehird@ping jsmips]$ sudo wc -c /dev/fb0
00:36:12 <alise> 10485760 /dev/fb0
00:36:16 <alise> Not sure how that number is calculated.
00:36:33 <Gregor> Idonno ... what's your resolution?
00:36:46 <alise> 1280x1024. But the framebuffer isn't configured for that, I don't think, with vga=.
00:36:51 <alise> Yes it is.
00:36:56 <alise> So 1280x1024, which != that number.
00:37:06 <alise> In fact it's smaller.
00:37:10 <Gregor> 1280*1024*8 = that number
00:37:14 <alise> No, wait, it's bigge.
00:37:15 <alise> *bigger.
00:37:16 <alise> Right.
00:37:18 <Gregor> Not that that's much of an explanation.
00:37:22 <alise> Gregor: So, 8 bytes... colour?
00:37:22 <Gregor> I was expecting *3 :P
00:37:24 <Gregor> Or maybe *4
00:37:27 <alise> That's 64 bit colour XD
00:37:33 -!- Geekthras has joined.
00:37:33 <Gregor> Woooh
00:37:37 <alise> Gregor: I am pretty sure the framebuffer can do text.
00:37:47 <alise> I mean, shit doesn't manually draw the character shapes ... right?
00:37:52 <alise> Like the bootup console.
00:38:01 <Gregor> That's a different device I think.
00:38:12 <alise> It's the framebuffer.
00:38:15 <Gregor> Same physical device, different virtual device, that is.
00:38:25 <alise> Well, it's definitely part of the framebuffer.
00:38:56 <Gregor> I know that the framebuffer drivers implement text modes ... but that's not exposed through fb0, that's just for having a text console on systems that can't do VGA text (like all non-PCs for example)
00:39:26 <alise> Okay.
00:39:32 <alise> So... WTF is /dev/fb0's protocol.
00:39:35 <alise> It can't just be raw pixels.
00:39:39 <alise> 64-bit colour I think not.
00:39:49 <Sgeo_> What can I do with something that outputs and toggles when it receives a signal?
00:39:52 -!- pikhq has joined.
00:39:57 <Gregor> I thought it was just raw pixels. Try dd'ing it and seeing if you can make any sense of it given that you know what your screen looks like.
00:39:57 <alise> pikhq: Hey! What is /dev/fb0's format?
00:40:01 <Gregor> Maybe it's just double-buffered.
00:40:02 <alise> It's pixels_on_screen*8.
00:40:16 <alise> Gregor: It's empty because I'm not using the framebuffer, dude :P
00:40:31 <alise> Rather, it's filled with the same continually-repeating pattern.
00:40:37 <alise> ^@M-*M-*M-*
00:40:40 <alise> (when cat -v'd)
00:40:43 <Gregor> Ohyeah :P
00:41:26 <pikhq> alise: It's raw pixels, twice the size of the raw display.
00:41:38 <alise> pikhq: but ... why twice the size?
00:41:53 <alise> Also, 32-bit colour? Why? There's no "transparency" on raw graphics :P
00:42:04 -!- Geekthras has quit (Ping timeout: 248 seconds).
00:42:08 <pikhq> There's ioctls that let you change which portion of the buffer is displayed.
00:42:16 <Gregor> HA! I knew it was double-buffered.
00:42:19 <Gregor> I'm so friggin' smart.
00:42:20 <pikhq> Thus letting you get double-buffering.
00:42:33 <alise> Gregor: Does fbdev use those ioctls? If yes, is it optional?
00:42:33 <Gregor> It's 32-bit just so that you can treat it as an int array :P
00:42:38 <alise> Say no, or yes no.
00:42:42 <pikhq> 32-bit colour is commonly used by video cards because it's more convenient.
00:43:03 <Gregor> I'm sure fbdev does, and I'm sure if you just turned it off and always wrote to the first buffer it would work, just not have the benefits of double-buffering.
00:43:16 <pikhq> fbdev does use those ioctls.
00:43:27 <alise> But can you stop it using 'em?
00:43:36 <pikhq> No.
00:43:36 <alise> Because, let's face it, double-buffering on this is irrelevant.
00:43:40 <alise> pikhq: Gah.
00:43:45 <alise> Gregor: Your job is to implement the ioctl shit.
00:44:19 <Gregor> ioctl = always set errno to ENOTSUP and return -1.
00:44:19 <Gregor> Done.
00:44:21 <Gregor> :P
00:44:31 <pikhq> This is how it does things like figuring out the color map, the size of the display, etc.
00:44:42 <alise> pikhq: gah
00:44:50 <alise> Could we easily rewrite it to ... just hardcode them?
00:45:02 <pikhq> Yes.
00:45:20 <Gregor> Consider that the temporary solution though, eventually there's no reason not to add all the right ioctls.
00:45:20 <alise> Good.
00:45:28 <alise> Yeah.
00:45:36 <alise> Double-buffering will be irrelevant anyway: this will be Glacial OS.
00:45:40 <Gregor> 640x480x32 is all anybody should need anyway.
00:45:43 <alise> pikhq: So, what's the PS/2 /dev/kbd protocol? :P
00:45:56 <pikhq> alise: Uh, "fuck if I know".
00:46:04 <alise> Gregor: You know... if we just add sockets and optimise this, it'll be a hit. "Use your favourite applications anywhere" :D
00:46:07 <alise> pikhq: Well... start knowing
00:46:19 <pikhq> alise: You know what would be easier?
00:46:24 <pikhq> *Start with the SDL driver*.
00:46:33 <alise> Okay, wait, so do things using the framebuffer just fseek() around it and write chars there, then flush?
00:46:45 <Gregor> Heynow. That may be true. Adding a new SDL backend may be simpler.
00:46:48 <pikhq> Obviously, make it not use SDL, but still, that should be the easiest to work with.
00:46:57 <Gregor> Oh :P
00:47:13 <alise> ...meaning that /dev/fb just has to be an in-memory file, and it just has to be totally read and ... okay, now *that* sucks.
00:47:16 <pikhq> Given that once SDL's going, all it's doing is *writing pixels and reading keyboard data*.
00:47:16 <alise> Fuck /dev/fb :P
00:47:28 <alise> SDL driver for kdrive?
00:47:33 <alise> Nope, it's for X.org. So we can't use it.
00:47:35 <pikhq> alise: They mmap /dev/fb.
00:47:42 <pikhq> Kdrive also has an SDL driver.
00:47:46 <alise> pikhq: Not in the latest tree.
00:47:55 <alise> http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive/
00:47:56 <pikhq> xorg-server-1.7.6 has it.
00:47:57 <alise> Only in the old CVS.
00:48:00 <pikhq> I'm *reading it as we speak*.
00:48:22 <pikhq> (xorg-server-1.7.6 is the latest stable version of the X server, BTW)
00:48:31 <alise> http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive?id=ba2ba32e04f9002dbb60f10e174ac63d16e5f507
00:48:32 <alise> Fair enough.
00:48:33 <pikhq> (erm. LAtest stable in Gentoo)
00:48:36 <alise> Must have been removed in the 1.8 transition.
00:48:41 <alise> http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive/sdl/sdl.c?id=ba2ba32e04f9002dbb60f10e174ac63d16e5f507
00:48:43 <alise> * Copyright © 2004 PillowElephantBadgerBankPond
00:48:45 <alise> s/ $//
00:48:55 <alise> * It's really not my fault - see it was the elephants!!
00:48:56 <alise> * - jaymz
00:49:03 <alise> * PillowElephantBadgerBankPond DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
00:49:03 <alise> * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
00:49:03 <alise> * EVENT SHALL PillowElephantBadgerBankPond BE LIABLE FOR ANY SPECIAL, INDIRECT OR
00:49:03 <alise> * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
00:49:03 <alise> * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
00:49:04 <alise> * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
00:49:06 <alise> * PERFORMANCE OF THIS SOFTWARE.
00:49:08 <alise> I like it already.
00:49:19 <pikhq> Hah.
00:49:26 <alise> Okay, so, Gregor! Your job is to modify http://cgit.freedesktop.org/xorg/xserver/tree/hw/kdrive/sdl/sdl.c?id=ba2ba32e04f9002dbb60f10e174ac63d16e5f507 :P
00:49:50 <pikhq> Oh, BTW. The format of /dev/kbd is: scan codes.
00:50:08 <alise> Awesome
00:50:19 <alise> I don't know scancodes :(
00:50:20 <Gregor> pikhq: How do you distinguish keydown from keyup
00:50:44 <pikhq> Gregor: You get the scancodes whenever the key is down. :)
00:53:04 <pikhq> Hmm. It'd also be easy to just port SDL, I'd imagine.
00:53:15 <Gregor> I think so
00:53:42 <pikhq> Hmm. Actually, SDL has an aalib backend.
00:53:45 <pikhq> DONE!
00:54:12 <Gregor> lawl :P
01:01:02 <alise> Gregor: So, can I just use your system.html for shit and it'll work?
01:01:05 <alise> Wait, no, I need PHP.
01:01:05 <alise> Jeez.
01:01:29 <Gregor> Unfortunately, it does need to run on a server and have access to PHP, yeah >_>
01:01:35 <Gregor> There's no totally static filesystem.
01:02:01 <alise> Here, how about this: I'll implement /dev/null and /dev/zero, and you compile it all together :P
01:02:37 <Gregor> You should be able to compile it, and if you just make init/init.c not touch the filesystem, you can even run ... well, something.
01:02:47 <alise> I don't have a cross-compiler or anything.
01:02:48 <alise> So nyah.
01:03:00 <Gregor> Eventually you'll need a cross-compiler :P
01:03:01 <alise> And I need to use the fs to test /dev :P
01:03:09 <alise> Eventually. Not today! Tomorrow I face living hell, so not tonight.
01:03:20 <alise> ...do I need to implement write if I have putchar?
01:03:20 <Gregor> Ohyah, fs for /dev, whoops X-D
01:03:23 <alise> Or vice versa?
01:03:23 <Gregor> No
01:03:28 <alise> So I can just have write.
01:03:35 <alise> Then why does stdout have both? :P
01:03:46 <alise> Do I need flush?
01:04:01 <Gregor> Only if it's meaningful for you.
01:04:14 <alise> How does getchar signify EOF?
01:04:18 <alise> *signal
01:04:27 <Gregor> EOF
01:04:34 <Gregor> (There's a variable "EOF" with the value -1 :P )
01:04:47 <alise> function DevNull() {}
01:04:47 <alise> DevNull.prototype.write = function(str) {}
01:04:47 <alise> DevNull.prototype.getchar = function() { return EOF; }
01:04:49 <alise> That was stunningly easy.
01:05:02 <Gregor> That's not how getchar works.
01:05:07 -!- Oranjer has joined.
01:05:09 <alise> How does it work? this.buffer crap?
01:05:24 <alise> function DevNull() { this.buffer = new Array(); }
01:05:24 <alise> DevNull.prototype.write = function(str) {}
01:05:24 <alise> DevNull.prototype.getchar = function() { this.buffer.push(EOF); }
01:05:24 <Gregor> Because getchar is blocking, and making blocking things in a PITA in JS, it takes a function, and calls that function with the value gotten.
01:05:24 <alise> Good?
01:05:32 <alise> Oh. Jeez.
01:05:39 <Gregor> DevNull.prototype.getchar = function(into) { into(EOF); }
01:05:48 <Gregor> *is a PITA in JS
01:05:49 <alise> k, dammit, not into.
01:05:52 <alise> k is for kontinuation. :P
01:06:14 <alise> function DevNull() {}
01:06:15 <alise> DevNull.prototype.write = function(str) {}
01:06:15 <alise> DevNull.prototype.getchar = function(into) { into(EOF); }
01:06:15 <alise> function DevZero() {}
01:06:15 <alise> DevZero.prototype.write = function(str) {}
01:06:15 <alise> DevZero.prototype.getchar = function(into) { into(0); }
01:06:17 <alise> Tada.
01:06:23 <Gregor> Good enough for me.
01:06:48 <alise> Gregor: OK, wanna give me an hg account?
01:06:54 <alise> Actually, I may still have one...
01:06:59 <alise> commit URL?
01:07:04 <alise> abort: push creates new remote branches: dev!
01:07:05 <Gregor> Same.
01:07:05 <alise> Waah?
01:07:08 <alise> Just use -f?
01:07:11 <Gregor> That's just a warning, use -f
01:07:11 <Gregor> Yeah
01:07:18 <alise> What would my user be?
01:07:21 <alise> ehird?
01:07:26 <Gregor> Idonno, probably? If you have one :P
01:07:28 * Gregor checks
01:07:29 <alise> I think I do.
01:08:05 <cheater99> anyone here know if it is possible to make an endless loop on the Zuse Z3?
01:08:15 <cheater99> it is TC
01:08:18 <Gregor> alise: Nope.
01:08:48 -!- pikhq has quit (Read error: Connection reset by peer).
01:08:50 <Gregor> cheater99: If it's TC, then it's possible to make a never-ending computation, although perhaps not as an infinite loop per se (infinite recursion or whatnot)
01:09:08 <alise> Gregor: Gimme one :P
01:09:23 <Gregor> https://codu.org/projects/trac/jsmips/register
01:09:26 <cheater99> well, i would like to hopefully create a program for it that controls 16 outside lamps and turns them on and off in a repeating cycle
01:09:43 <alise> Gregor: Dude, that's so conformist.
01:10:14 <alise> Gregor: Give ehird some sexy pushing privileges
01:10:43 <Gregor> Granted
01:12:27 <alise> Gregor: Please assemble a sexy system.html from the dev branch.
01:12:31 <alise> If it doesn't work, yell at me.
01:13:02 <alise> Gregor: Hey ho, trac doesn't understand branches.
01:13:07 <alise> So it's displaying my changes as the main branch.
01:13:25 <Gregor> Trac's repo browser sucks assface.
01:13:25 <alise> Gregor: Wait.
01:13:29 <alise> I forgot to add dev.js :P
01:13:33 <Gregor> I was just about to say :P
01:14:24 <alise> Okay, do it now.
01:14:34 <cheater99> anyone ever done any Plankalkuel?
01:14:43 -!- pikhq has joined.
01:14:45 <cheater99> http://en.wikipedia.org/wiki/Plankalk%C3%BCl
01:15:12 <Gregor> alise: You didn't add dev.js to the Makefile :P
01:15:13 <cheater99> Plankalkül (German pronunciation: [ˈplaːnkalkyːl], "Plan Calculus") is a computer language developed for engineering purposes by Konrad Zuse. It was the first high-level non-von Neumann programming language to be designed for a computer and was designed between 1943 and 1945.
01:15:40 <alise> Gregor: I'm just practicing very granular commits!
01:15:46 <alise> Okay, now do it.
01:16:06 <Gregor> cat dev/null was a really stupid thing for me to do...
01:16:24 <Gregor> Hm, something's wrong ...
01:16:48 -!- oerjan has quit (Quit: Later).
01:16:48 <alise> Eh? cat /dev/null should just do nothing.
01:16:50 <alise> What's wrong?
01:16:53 <alise> And publish it dammit :P
01:17:12 <Gregor> OH
01:17:16 <Gregor> I know what's wrong.
01:17:26 <alise> Wut?
01:17:28 <alise> Elaborate.
01:17:47 <Gregor> Your DevNull is an open file, but you have it as a node in the filesystem with no implementation of open.
01:17:53 <Gregor> Just add an open that returns itself.
01:17:58 <Gregor> return this; that is.
01:18:17 <Gregor> And apparently I have literally zero error reporting for that situation HOORAY!
01:18:19 <alise> Same with /dev/zero?
01:18:23 <Gregor> Yeah
01:18:54 <alise> Pushing.
01:19:02 <alise> Gregor: Fixed. And please publish it so I can try it :P
01:19:04 <alise> dev.html or something.
01:19:15 <Gregor> That was the plan, but one step at a time.
01:20:44 <alise> :P
01:20:51 -!- Geekthras has joined.
01:21:44 <alise> <Gregor> cat dev/null was a really stupid thing for me to do...
01:21:46 <alise> Don't you mean /dev/zero? :P
01:21:52 <alise> catting /dev/null is perfectly harmless.
01:22:06 <Gregor> It should've been harmless, but instead it blocked forever when it couldn't open()
01:22:12 <alise> XD
01:24:54 <Gregor> OK, uploading to Codu
01:25:09 -!- Geekthras has quit (Remote host closed the connection).
01:25:10 <Gregor> http://codu.org/jsmips/dev.html
01:26:27 <alise> Gregor: It works! Yay!
01:26:34 <Gregor> Ayup
01:26:36 <alise> Note: cat /dev/zero is UNHOLILY SLOW.
01:27:11 <alise> wtf is sigaltstack, anyway?
01:28:21 <Sgeo_> I think I'm making an RS flip-flop
01:29:44 <alise> Wow, it is too hot in here.
01:29:46 <Gregor> alise: I basically have no idea :P
01:29:58 <alise> # ls -l dev
01:29:58 <alise> total 32768
01:29:58 <alise> crwxrwxrwx 1 0 0 Jan 1 00:00 null
01:29:58 <alise> crwxrwxrwx 1 0 0 Jan 1 00:00 zero
01:30:05 <alise> /dev/zero is totally empty. True story.
01:30:12 <alise> Also, wow @ those permissions XD
01:30:25 * alise tries to rm /dev/null
01:30:25 <Gregor> ^^
01:30:29 <alise> Not supported!
01:30:36 <Gregor> rm is unsupported period :P
01:31:06 <alise> Please make it support backspace.
01:32:50 <Gregor> It's the shell that sucks, not the actual support of backspace.
01:33:00 <Gregor> The shell just doesn't know how to interpret it properly.
01:33:04 <Sgeo_> Given an RS flip flop, are there any logic gates I can make?
01:33:33 <alise> Gregor: Please compile openbsd ksh.
01:33:35 <alise> Or busybox ash.
01:33:47 <Gregor> busybox ash is probably difficult to separate from busybox.
01:33:50 <Gregor> Maybe dash?
01:34:06 <alise> Just use busybox.
01:34:08 <alise> It's good. :P
01:34:33 <Gregor> It will probably be an ENORMOUS pain to port, sincea lot of it is fairly Linux-specific.
01:35:15 <alise> Ah.
01:35:17 <alise> OpenBSD ksh, then.
01:35:21 <alise> Or dash, but preferably OpenBSD ksh.
01:35:29 <alise> Sec.
01:35:32 <alise> I'll find you the portable version.
01:35:36 <Gregor> But ... that's Korn ...
01:35:49 <alise> Gregor: http://github.com/dryfish/openbsd-pdksh
01:35:53 <alise> Gregor: It's actually quite good.
01:36:13 <alise> It's just like dash or whatever, but BSD-licensed and ... just cool, basically.
01:36:16 <alise> Tab completes and everything.
01:36:32 <Gregor> I'm pretty sure dash is BSD-licensed, actually.
01:36:40 <Gregor> Why don't you build yourself a cross-compiler and port it yourself :P
01:36:42 <alise> Who cares, pdksh is better :P
01:36:49 <alise> Gregor: Won't need porting.
01:36:50 <alise> It's portable.
01:37:14 <Gregor> That's what you think X-D
01:37:17 <Sgeo_> I think my Internet access is dying
01:37:27 <alise> Gregor: Dude, the BSD guys wrote it and it was specifically modified to be portable.
01:37:28 <alise> Yeah, it's portable.
01:37:55 <Gregor> No, I don't mean that it's not portable, I mean that it'll still require porting because JSMIPS is a pretty sucky UNIX :P
01:39:28 <alise> Eh, just try it :P
01:40:38 <pikhq> Yeah, but it's written by the OpenBSD guys. The only thing they obsess about more than portability is security.
01:42:06 <Gregor> Unlike NetBSD, which cares more about portability than ... pretty much everything ever.
01:42:30 <alise> NetBSD haven't written a ksh.
01:42:56 <pikhq> You may know OpenBSD for such things as OpenSSH and OpenSSL. ;)
01:43:05 <Sgeo_> I have successfully created an RS flip-flop in Active Worlds
01:43:15 <pikhq> Both highly portable and highly secure.
01:43:43 <Gregor> And both highly ... highly ... EVIL.
01:44:01 <pikhq> How so?
01:44:02 <Sgeo_> Wasn't the OpenSS.. something issue Debian's fault?
01:44:23 <pikhq> Sgeo_: Yes, that was Debian's fault.
01:44:49 <Gregor> I forgive Debian for it.
01:44:51 <Gregor> 'cuz I love 'em.
01:45:05 <alise> Feck Debian.
01:45:54 <pikhq> I'd rather not.
01:46:48 <pikhq> Hmm. If I can get a reasonably small statically linked interpreter for a scripting language, I may implement a coreutils in that instead of using busybox.
01:46:54 <alise> What? Abstract projects are sexy!
01:46:58 <alise> pikhq: Just use Go :P
01:47:05 <alise> Also, hey, coreutils is MY job.
01:47:09 <pikhq> "Reasonably small" meaning "sufficiently small that I'd imagine I'd gain something from this", of course. :)
01:47:31 <pikhq> alise: I'll have a FURINIKUSU system running before this happens.
01:47:46 <alise> pikhq: I Will SUE you
01:47:49 <alise> *will
01:47:53 <alise> In a court of law, Trenton, New Jersey.
01:47:59 <alise> *law in Trenton
01:48:32 <pikhq> I will move to Canada and lose my American citizenship.
01:48:34 <Sgeo_> This experimental flip-flop takes 1 second to read
01:48:40 <pikhq> Just to avoid that lawsuit.
01:48:49 <pikhq> :P
01:49:05 <pikhq> I will then demand that Canada hand me a passport, as they are obligated to do.
01:49:37 * pikhq mutters that X11 requires wide char support in uClibc
01:49:46 <alise> This is when the real part of the Lebesgue-Probability of an event is not equal to zero. If the probability of rolling a five on the Lebesgue Dice were 0.5+i, then the we expect on average after 10 rolls, five never to appear 5 times and the disappear through another dimension. No isomorphism has been found between Complex Probability and a standard group, and the Manning-McArdle Conjucture states that Complex-Probability does not lead to consistant answers
01:49:46 <alise> unless the imaginary part is equal to some integer times the square root of 7.
01:50:04 <Gregor> Just build coreutils into the kernel.
01:50:19 <Gregor> So that every coreutils "binary" is a device.
01:50:31 <alise> echo /dev/null >/dev/cat
01:50:32 <alise> cat /dev/cat
01:50:32 <pikhq> Gregor: Building in the entire filesystem contents.
01:50:33 <pikhq> :)
01:51:15 <alise> So, has anyone other than Phantom read The Culture novels?
01:51:46 <Gregor> Maaan nomath.js is the best-named file EVER.
01:53:08 <alise> I suggest you rename it math.js.
01:57:11 <Gregor> The name is so bad I almost don't want to rename it, just to remember the lunacy.
01:57:34 <Gregor> intmath would be the best name, actually.
01:57:40 <Gregor> It's emulating the math as done by C ints.
01:58:15 <pikhq> Gregor: JSMIPS runs at a decent speed in Chromium, BTW.
01:58:29 <Gregor> In Chrome it's friggin' awesome, I know.
01:58:32 <alise> Should go faster than Firefox.
01:58:58 <pikhq> Slow? Sure. But it's fast enough that it feels like an actual computer.
01:58:59 -!- augur has quit (Remote host closed the connection).
01:59:06 <alise> Wow.
01:59:18 -!- augur has joined.
01:59:32 <pikhq> Aside from, y'know, network latency.
01:59:46 <alise> fff
01:59:49 <alise> clyde broke
01:59:53 <pikhq> ?
01:59:58 <alise> arch package manager tool thing
02:00:04 * alise upgrades with pacman
02:00:13 <alise> Gah, wants to update everything.
02:02:35 <pikhq> Hmm. ffmpeg's just gotten itself a vp8 decoder...
02:02:54 <pikhq> Comes out to 1,400 lines of code for the entire thing.
02:03:10 <pikhq> An order of magnitude smaller than the official library.
02:03:36 <alise> That's because anything Fabrice Bellard touches is amazing.
02:05:43 <pikhq> Yes.
02:06:01 <pikhq> Fabrice Bellard is one damned smart guy.
02:09:05 -!- Oranjer has left (?).
02:09:11 -!- tpw_rules has joined.
02:09:16 <tpw_rules> hey
02:09:31 <alise> Hi.
02:09:31 <tpw_rules> i just made my own language, and i think i cheated with the OISC designation
02:09:57 <alise> :)
02:09:58 <tpw_rules> the instruction is move, but it has like a billion different ways it can do so
02:10:03 <alise> Is there a page on the wiki for it?
02:10:15 <tpw_rules> move @$20, #doreturn =2 <-- move the literal word to $20 only if the third flag is set
02:10:16 <alise> Seems not.
02:10:17 <tpw_rules> no, not yet
02:10:27 <alise> #doreturn?
02:10:27 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:11:08 <tpw_rules> doreturn is a label
02:11:11 <tpw_rules> # means literal
02:11:43 <Gregor> Memory-mapped computation
02:11:45 <tpw_rules> that's a sample from my 99 bottles of beer on the wall program
02:12:00 <tpw_rules> does that qualify as an OISC?
02:12:13 <Gregor> Idonno, maybe? It's all debatable.
02:12:14 <alise> tpw_rules: Well... not really. But sort of.
02:12:17 <alise> It's all vague.
02:12:38 <Gregor> But the words "memory mapped computation" are so awesome it's OK :P
02:12:40 <alise> I think if your definition includes a lot of "if some X thing is this hard-coded literal Y, behave differently", it's not really an OISC
02:13:02 <tpw_rules> but flags are ALU status flags
02:13:05 <tpw_rules> like that's if zero
02:13:40 <tpw_rules> cause that's the only thing i could think of with that way to provide conditionals
02:17:25 <tpw_rules> http://pastie.org/1021261 those are my notes on it
02:18:10 <alise> yeah that's not really oisc
02:18:12 <alise> not really
02:18:27 <tpw_rules> :/
02:19:20 <tpw_rules> how could i implement conditionals to make it a proper OISC?
02:19:34 <alise> see e.g. subleq
02:19:37 <alise> http://esolangs.org/wiki/Subleq
02:19:59 <tpw_rules> no i mean on my current implementation
02:24:37 <Gregor> alise: I just womped some stuff to keep JSMIPS' namespace clean. I updated the dev branch too, so pull.
02:25:09 <alise> Womped?
02:25:47 <Gregor> The major difference is that 1) the output jsmips.js is now contained in one giant function and B) everything that's exposed outside of JSMIPS proper is stored in the window.jsmips object.
02:25:56 <Gregor> 1) and B). You heard me.
02:26:01 <Sgeo_> I think I inadvertantly built a transistor.
02:26:18 <alise> Gregor: Doctor Who, eh.
02:26:21 <Gregor> alise: Anyway, the only change to your code was to put your stuff in window.jsmips so that server/dir.php could see it.
02:26:31 <Gregor> alise: Uhh ... no?
02:26:33 <alise> window.jsmips?
02:26:47 <Gregor> 's just an object with JSMIPS-exposed stuff in it.
02:27:06 <Gregor> "window" is the name for the global scope in JavaScript, I'm just saying "window.jsmips" to be explicit :P
02:27:08 <alise> Why does server/dir.php want to see it?
02:27:15 <tpw_rules> well bye
02:27:15 <Gregor> To create DevNull objects
02:27:16 -!- tpw_rules has left (?).
02:27:19 <alise> But it ... already works.
02:27:31 <Gregor> I just don't like polluting the global namespace as much as I was.
02:27:40 <alise> I guess my Doctor Who reference was too obscure, huh.
02:29:38 <alise> THE DOCTOR
02:29:38 <alise> Okay, okay, just hush! First things
02:29:38 <alise> first. One, we're gonna climb
02:29:38 <alise> through this ship. B, no, two,
02:29:38 <alise> we're gonna reach the Bridge.
02:29:39 <alise> Three, or C, we're gonna save the
02:29:41 <alise> Titanic. And coming in at a very
02:29:43 <alise> low four, or D, or that little i-v
02:29:45 <alise> in brackets they use on footnotes,
02:29:47 <alise> why? Right then! Follow me -
02:30:12 <Sgeo_> Tell me if this is not a transistor: A signal goes from A to B only if there's a signal C
02:31:29 -!- pikhq has quit (Read error: Connection reset by peer).
02:32:38 -!- pikhq has joined.
02:33:12 <pikhq> ../../../libtool: line 964: X--tag=CC: not found
02:33:12 <pikhq> :(
02:35:02 * Sgeo_ wonders what time it is in UKland
02:37:20 <Sgeo_> Any answer?
02:37:50 <alise> 2:38
02:42:37 <alise> pikhq: Say, how can I check if subtracting two unsigned integers overflows?
02:42:42 <alise> Eh, never mind.
02:54:50 <alise> Aw man, you can't write a simple assembler.
02:54:54 <alise> Because you have to have a lookup table of strings.
02:55:50 -!- zzo38 has joined.
02:56:22 <Ilari> Fun to do portably: take two ints, a and b. Compute a + b or signal if it overflows...
02:58:29 <alise> Easier with positive ints only:
02:58:39 <alise> int c = a+b; if (c<a||c<b) argh();
02:58:39 <alise> No?
02:58:46 <alise> Erm.
02:58:50 <alise> int c = a+b; if (a<c||b<c) argh();
03:00:00 <Ilari> Signed ints that is...
03:01:36 <Ilari> Actually, Better yet: in: signed int a, signed int b: out: 1 if a + b fits in signed int, 0 otherwise.
03:03:15 <alise> Well, the most we can add to a and still fit in a signed int is INT_MAX - a.
03:03:28 <alise> So for positive b, "return b < (INT_MAX - a);".
03:03:38 <alise> The most you can subtract and fit into a signed int is INT_MIN + a.
03:03:39 <alise> So:
03:04:12 <alise> return b == 0 || (b > 0 ? b < (INT_MAX - a) : b > (INT_MIN + a));
03:05:29 <alise> Ilari: Cheating? :)
03:06:09 <alise> Ilari: Hmm, but then if a = -INT_MAX I think this breaks.
03:06:39 <Ilari> I think it already breaks (becomes unportable) if a is negative.
03:07:50 <alise> With signed integers, once there has been overflow, Undefined Behaviour has occurred and your program can do anything (for example: render tests inconclusive).
03:08:01 <alise> So we have to not do the operation at all.
03:08:17 <alise> if ((x >= 0) && (a > INT_MAX - x)) /* `a + x` would overflow */;
03:08:17 <alise> if ((x < 0) && (a < INT_MIN - x)) /* `a + x` would underflow */;
03:08:18 <alise> apparently.
03:09:18 <alise> http://www.fefe.de/intof.html
03:10:21 <Ilari> I don't think the first code would work even with well-defined 2's comlement overflow.
03:11:34 <Ilari> That latter looks better.
03:23:19 <zzo38> In C, are there any memory leaks or crashes if you use the wrong number of arguments to sprintf() or any other variable argument function?
03:24:47 <pikhq> No memory leaks, but possibly very odd behavior.
03:31:05 -!- zzo38 has left (?).
03:37:37 <alise> I guess goodnight. Anything interesting before I go? Gregor?
03:37:51 <Gregor> I was eating :P
03:37:53 <Gregor> So no.
03:37:59 <alise> Righty ho then.
03:38:05 <alise> Gah, but it's only just starting to get light.
03:38:08 <alise> Oh well, goodnight.
03:38:15 -!- alise has quit (Quit: Leaving).
03:38:18 <pikhq> Your shit's tarded and you talk all fag-like.
03:38:42 <Gregor> What a bizarre statement :P
03:38:54 <pikhq> Yup.
03:40:19 <Gregor> So yeah ... JSMIPS is awesome.
03:40:29 <Gregor> It was /pretty/ awesome before, but now it's awesomely awesome.
03:41:39 <pikhq> Hah.
03:41:48 <pikhq> What'd you change to make it awesomely awesome?
03:45:22 <Gregor> Everything I've done since Friday? The speed, the bugfixes, everything.
03:45:30 <Gregor> I was just basking in my own glory.
03:45:53 <pikhq> I've not been able to follow it much.
03:46:06 <pikhq> Still: nice.
03:46:15 <pikhq> JSMIPS is pretty nice work.
03:46:18 -!- aschueler has joined.
03:47:44 <Gregor> pikhq: I hugely improved the speed, fixed a bunch of bugs, GNU coreutils compiles for it now, my math primitives aren't all fucked up ...
03:48:37 -!- Geekthras has joined.
03:49:12 <pikhq> Gregor: Awesome.
03:52:51 -!- Geekthras has quit (Remote host closed the connection).
03:59:56 -!- coppro has joined.
04:01:24 -!- zzo38 has joined.
04:15:16 <Sgeo_> What's MIPS?
04:16:58 -!- Geekthras has joined.
04:17:28 * Sgeo_ wonders how difficult it would be to implement MIPS when every logic gate is a pain which takes up valuable, scarse space
04:18:48 <Sgeo_> 32 registers? I assume each register would hold 32-bit numbers?
04:18:53 <Sgeo_> That's excessive
04:19:25 * Sgeo_ wonders what 8-bit instruction sets there are
04:20:26 <pikhq> Welcome to RISC, Sgeo.
04:20:55 <Sgeo_> Wikipedia says that MISC is an RISC
04:21:00 <pikhq> Those registers are in lieue of other things, like "direct memory access".
04:21:02 <Sgeo_> erm, MIPS
04:21:25 -!- Geekthras has quit (Ping timeout: 264 seconds).
04:21:31 <Sgeo_> Anyway, I'd like to know an 8-bit, or even better, 4-bit architecture
04:21:40 <pikhq> The opcodes operate on registers. Your memory access consists of load and store.
04:21:49 <pikhq> 4-bit? Uh.
04:22:14 <pikhq> That's... 15 bytes of address space.
04:22:22 <Sgeo_> 15 bytes is a LOT of memory
04:22:55 <pikhq> Dude, an 8086 has more than that in its registers.
04:23:11 <Sgeo_> An 8086 is not built within active worlds
04:23:31 <Sgeo_> Where each transistor takes up valuable space and is unbearably slow
04:23:34 <pikhq> Fine, fine.
04:23:36 <pikhq> 4004.
04:23:54 <pikhq> The Intel 4004 was a 4-bit microprocessor, and also the first microprocessor.
04:24:43 <pikhq> Oh, wait. It has 12-bit addressing and 4-bit words.
04:25:06 <pikhq> Because 4 bit addressing was damned small, even in *1971*.
04:26:26 <Sgeo_> How difficult can it be to make my own instruction set?
04:27:35 <Sgeo_> Maybe I should just implement boolfuck
04:27:38 <pikhq> Trivial.
04:27:50 <pikhq> You may want to implement a register-based move machine.
04:27:53 <pikhq> Those are easy.
04:33:33 <Sgeo_> Hm.
04:33:44 <Sgeo_> Suppose all computers were destroyed. How would we go about making more?
04:34:53 <pikhq> I'd hunt down that crazy bastard who did integrated circuitry in his *basement*.
04:35:00 <pikhq> And bootstrap from there.
04:35:26 -!- zzo38 has quit (Quit: zzo38).
04:35:28 <Sgeo_> How did he do that?
04:35:44 <Sgeo_> And linky?
04:35:45 <pikhq> (apparently only requires a few hundred bucks to do basic ICs. Granted, you're literally building individual *transistors* at that point, but still.)
04:37:11 <pikhq> http://hackaday.com/2010/03/10/jeri-makes-integrated-circuits/
04:38:47 <pikhq> Alternately, we'd start back at vaccum tubes.
04:39:11 <pikhq> These are much easier to make: you just need a glass blower, a decent machinist, and a way to get a good vaccum.
04:39:50 <Sgeo_> Is there enough written documentation to be able to say, read and understand the data on HDs?
04:39:57 <Sgeo_> TO get more documentation?
04:40:03 <Sgeo_> Or are we assuming that HDs are dead too?
04:40:39 <pikhq> They're well-enough understood, but very, very hard to extract data from.
04:40:54 <pikhq> You need a computer to do it.
04:41:13 <pikhq> (exception: *really* old hard drives. Ones with a literal "0/1" bit pattern on the platter.)
04:41:46 <Sgeo_> "literal"? What's the alternative?
04:42:04 <Sgeo_> You.. don't mean written or punched, do you?
04:42:31 * Sgeo_ wonders how a punchcard HD would work
04:42:56 <pikhq> Hard drives tend to have complex encoding schemes.
04:43:28 <pikhq> Since magnetism is very, very analog.
04:43:49 <Sgeo_> Oh, for redundancy, not compression
04:44:10 <pikhq> Also compression.
04:44:39 <Sgeo_> How difficult would it be to make a computer in an environment where an RS Flip-Flop requires 4 objects
04:45:13 <pikhq> Not exceptionally.
04:45:21 <pikhq> http://web.cecs.pdx.edu/~harry/Relay/index.html Here's one.
04:45:49 <pikhq> I love that machine.
04:46:11 <Sgeo_> Hm
04:47:31 <Sgeo_> http://i.imgur.com/8DEx1.jpg
04:49:27 <Sgeo_> Shall I explain?
04:52:40 <Sgeo_> That wasn't rhetoric, even though it should be.
04:52:45 <Sgeo_> *rhetorical
04:55:37 <Sgeo_> I just realized that a flip-flop in AW should be able to hold 1 of several states
04:58:03 * Sgeo_ wonders if he could build a 4-quat computer and make it run MIPS
05:00:42 -!- oerjan has joined.
05:01:29 <Sgeo_> How does MIPS deal with events? Interrupts, I think?
05:02:07 <Sgeo_> I think I bored pikhq
05:17:31 -!- augur has quit (Remote host closed the connection).
05:17:54 -!- augur has joined.
05:19:48 <Gregor> Sgeo_: Interrupts.
05:19:54 <Gregor> Well, I improved JSMIPS' filesystem. Now it doesn't work.
05:20:08 <Sgeo_> Fuckin' interrupts, how do they work?
05:20:17 <Sgeo_> [Seriously, I don't know]
05:20:36 <Sgeo_> And would it be difficult to implement a system that could deal with them in a limited transistor environment
05:20:40 <Gregor> The CPU has an interrupt vector. When some hardware or software event occurs, it jumps to the address in the interrupt vector.
05:20:54 <Sgeo_> Actually, I think [and hope] that most logic gates won't need transistors
05:21:44 <Gregor> Mind, JSMIPS doesn't emulate interrupts at all.
05:21:50 <Gregor> It's just an ISA simulator, not a system simulator.
05:22:05 <Sgeo_> ....so, how does interaction work?
05:22:23 <pikhq> System calls.
05:22:35 <Gregor> System calls go to the JavaScript kernel.
05:22:46 <pikhq> JSMIPS is essentially emulating a UNIX system on MIPS.
05:22:58 <pikhq> Key point: *UNIX system*. It has a kernel.
05:23:20 <Gregor> A kernel which doesn't run on the MIPS simulator, it's just JavaScript magic.
05:23:43 <pikhq> Hey, an OS kernel really *doesn't* need to actually be in the same language as the userspace, does it. :)
05:24:14 <Gregor> It's not just not in the same language, it's not on the same platform :P
05:24:57 <pikhq> Still.
05:26:02 <Sgeo_> But doesn't imput rely on interrupts?
05:26:15 <pikhq> Not in userspace.
05:26:23 <Sgeo_> Wait, you're not emulating a full chip? Why not?
05:26:28 <Sgeo_> Then it wouldn't have to be UNIX
05:26:40 <Sgeo_> Or am I confused as to what you're doing
05:26:41 <Gregor> Then it would be even slower than it already is.
05:26:47 <Sgeo_> So?
05:26:57 <Gregor> My goal is not to run arbitrary MIPS code, my goal is to run C code. In particular, vim.
05:27:24 <pikhq> His goal is to have a UNIX userspace. He seems to have had some success with that.
05:27:31 <Sgeo_> My goal is to make a computer in Active Worlds
05:27:43 <Gregor> pikhq: I think I've had a lot of success, frankly :P
05:27:58 <pikhq> Oh, right. You've got coreutils.
05:28:11 <pikhq> Complete success.
05:28:24 <Sgeo_> Question: Is a transistor simply that a signal gets from A to B only if C is receiving a signal?
05:28:27 <Sgeo_> I mean, logic-wise?
05:28:44 <Gregor> Sgeo_: I think so? But I honestly thought there was something more to it :P
05:28:52 <pikhq> Analog or digitally.
05:28:58 <Sgeo_> Digitally
05:29:14 <Sgeo_> If I can make a transistor, I can make any logic gate, right?
05:29:21 <pikhq> Yes.
05:29:30 <pikhq> Though a logic gate may be easier to make.
05:29:44 <Sgeo_> But I will have demonstrated turing-completeness in Active Worlds
05:29:49 <pikhq> True.
05:29:49 <Sgeo_> Well, not literally TC
05:29:55 <Sgeo_> But as close as any computer can be
05:29:56 <pikhq> Literally TC.
05:30:15 <pikhq> Active Worlds doesn't have designed-in finiteness, does it? ;)
05:30:44 <Sgeo_> Actually, there is an extent of finiteness
05:31:09 <Sgeo_> Each cell can hold only a certain amount of data, and there's a hard cut-off that you can't see past 200m
05:31:21 <Sgeo_> So, finite number of transistors
05:32:02 <Sgeo_> Is being a switched controlled by a signal close enough to being a transistor?
05:36:00 <Sgeo_> Hm, I don't think so
05:36:14 <Sgeo_> Well, I guess the AW Transistor will require intricate timing
05:39:46 <Sgeo_> I don't see a way to do it without having one of the signals in be out of phase with the other
05:39:51 <Sgeo_> Which may be problematic,.
05:40:00 <Sgeo_> I might need to figure out how to define current
05:42:58 -!- oerjan has quit (Quit: leaving).
06:10:50 -!- Geekthras has joined.
06:15:54 -!- Geekthras has quit (Remote host closed the connection).
06:19:46 <Sgeo_> I see how to turn a parallel bus into a delay-based value
06:21:46 <Sgeo_> The inverse, however, seems insurmountable
06:24:57 -!- cal153 has joined.
06:25:16 <Sgeo_> No, it's not
06:25:36 <Sgeo_> Have the bit for 1 toggle whether it will allow another object to have a signal or not every second
06:25:45 <Sgeo_> bit for 2 toggle every 2
06:25:46 <Sgeo_> etc
06:34:55 <coppro> okay, this is awesome, but why is my VLC in ASCII mode?
06:35:46 <Gregor> DISPLAY is unset?
06:35:56 <Gregor> So it defaulted to the aalib backend?
06:36:28 <Gregor> Observation: Chrome will happily hand JavaScript 100MB of memory.
06:36:35 <fizzie> It might even default to the first backend (in some order) that manages to initialize correctly.
06:37:01 <coppro> Gregor: no, it's making a window
06:37:09 <coppro> it's just rendering with caca instead of real video
06:38:36 <fizzie> I can't vouch for VLC, but at least mplayer can run aalib/caca into stdout without making a X window; it would be a singularly useless feature otherwise.
06:39:17 <Gregor> fizzie: I assume that by "useless" you of course mean "awesome"
06:39:28 <pikhq> Gregor: Well, yeah. Chrome leaves the system with 100MB of RAM to give. :P
06:39:58 <fizzie> Gregor: Well, I guess... but I've mostly used it for "previewing" videos over SSH to choose the right one.
06:40:30 <Gregor> OMG
06:40:34 <coppro> fizzie: I'm sure VLC can too, if only I could work out why it's using it
06:40:35 <Sgeo_> Easy ASCII porn!
06:40:44 <Gregor> That's ... an actual use for the aalib/caca backends D-8
06:40:50 <Gregor> I thought they were just utter lunacy!
06:40:55 <Gregor> But here you've gone and used them for a point!
06:41:01 <Gregor> This turns my whole world on its head.
06:41:21 <Sgeo_> An esotericer doing something for a point is, itself, a miracle.
06:41:22 <coppro> well, that would be fantastic if it weren't for the existence of X forwarding
06:41:45 <Gregor> X forwarding is friggin' slow.
06:42:01 <fizzie> X forwarding especially over a piddly ADSL link is oh-so-slow. But admittedly I could use it to look at the first few frames of the video.
06:42:03 <Gregor> AnMaster: I fixed stat'ing in JSMIPS. JUST FOR YOU.
06:42:27 <pikhq> Gregor: NX makes X forwarding quite usable.
06:42:41 <pikhq> I've even used it on this satellite link.
06:42:53 <pikhq> Yes. High-latency X11.
06:43:57 <coppro> ah, there we go
06:49:06 <coppro> nope
06:49:09 <coppro> whoa, think I found out why
06:49:14 <coppro> for some reason vlc wasn't fully installed
06:49:32 <coppro> the binary existed but the package wasn't installed
06:50:38 <coppro> there we go
06:54:10 -!- myndzi\ has joined.
06:57:28 -!- myndzi has quit (Ping timeout: 276 seconds).
07:07:14 * Sgeo_ starts thinking in terms of N-Delays and S-Delays
07:27:21 -!- Geekthras has joined.
07:32:02 -!- Geekthras has quit (Ping timeout: 260 seconds).
07:32:44 -!- MizardX has quit (Ping timeout: 248 seconds).
07:34:31 -!- tombom has joined.
07:38:25 -!- augur has quit (*.net *.split).
07:38:25 -!- pikhq has quit (*.net *.split).
07:46:40 <Sgeo_> S-Signal -> N-Signal; N-Delay -> S-Delay
07:46:49 <Sgeo_> "animate me" is N-Signal-free
07:47:55 -!- GreaseMonkey has joined.
07:47:59 <Sgeo_> Awsistors receive an S-Signal and turn it into an S-Signal or N-Signal or both with an S-Delay of its previously stored/received N-Delay
07:48:26 <Sgeo_> I should write this down someplace other than here.
07:55:17 -!- sebbu has quit (Ping timeout: 260 seconds).
07:58:59 -!- augur has joined.
07:58:59 -!- pikhq has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:26 <Sgeo_> ARGARGARHAHRHARHA REDDIT ON CHROME IS FULL OF HATE
08:25:18 <AnMaster> Gregor, thanks. ;P
08:26:10 -!- Geekthras has joined.
08:30:51 <coppro> `addquote <Sgeo_>ARGARGARHAHRHARHA REDDIT ON CHROME IS FULL OF HATE
08:30:59 <HackEgo> 191|<Sgeo_>ARGARGARHAHRHARHA REDDIT ON CHROME IS FULL OF HATE
08:31:58 -!- Geekthras has quit (Ping timeout: 264 seconds).
08:33:52 <Sgeo_> Hm, The Last Airbender is coming out soon?
08:33:55 <Sgeo_> I want to see it
08:34:48 <coppro> actually?
08:34:56 <Sgeo_> hm?
08:35:25 <Sgeo_> What, your saying the casting issues should be a problem?
08:35:29 <Sgeo_> *you're
08:37:00 <Sgeo_> I've been randomly disconnecting all day
08:37:14 <coppro> no, I'm questioning your desire to see a live-action adaptation of an anime
08:37:42 <Sgeo_> I don't think Avatar: The Last Airbender is strictly speaking an anime
08:41:19 <Sgeo_> Good night
08:44:35 -!- Geekthras has joined.
08:49:14 -!- Geekthras has quit (Ping timeout: 276 seconds).
08:56:33 -!- Geekthras has joined.
09:00:53 -!- Geekthras has quit (Ping timeout: 240 seconds).
09:01:57 -!- Geekthras has joined.
09:08:46 -!- Geekthras has quit (Ping timeout: 276 seconds).
09:26:50 -!- Geekthras has joined.
09:30:48 -!- calamari has quit (Quit: Leaving).
09:31:56 -!- Geekthras has quit (Remote host closed the connection).
09:54:53 -!- Geekthras has joined.
10:01:57 -!- Geekthras has quit (Ping timeout: 252 seconds).
10:02:21 -!- Geekthras has joined.
10:14:25 -!- Geekthras has quit (Ping timeout: 276 seconds).
10:19:04 -!- ais523 has joined.
11:11:50 -!- Geekthras has joined.
11:56:40 <ais523> can anyone remember where the BF Joust leaderboard is/was?
11:57:03 <ais523> !bfjoust test [[+]>]
11:57:10 <Deewiant> The wiki knows
11:57:13 <Deewiant> http://esoteric.voxelperfect.net/wiki/BF_Joust
11:57:15 <Deewiant> http://codu.org/eso/bfjoust/report.txt
11:57:32 <EgoBot> Score for ais523_test: 4.1
12:03:06 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[+(-)*9[+]]->[-(+)*9[-]]+)*20
12:03:14 <EgoBot> Score for Deewiant_maglev: 25.4
12:03:43 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[[+(-)*9[+]]]->[[-(+)*9[-]]]+)*20
12:03:50 <EgoBot> Score for Deewiant_maglev: 20.1
12:04:22 <Deewiant> !bfjoust maglev (>+>->)*4>++(>[+(-)*9[+]]->[-(+)*9[-]]+)*20
12:04:29 <EgoBot> Score for Deewiant_maglev: 11.3
12:04:54 <Deewiant> !bfjoust maglev (>+>--)*4>++(>[+(-)*9[+]]->[-(+)*9[-]]+)*20
12:05:02 <EgoBot> Score for Deewiant_maglev: 22.0
12:05:50 <Deewiant> !bfjoust maglev (>+>-)*3>++(>[+(-)*9[+]]->[-(+)*9[-]]+)*20
12:05:58 <EgoBot> Score for Deewiant_maglev: 21.5
12:06:03 <Deewiant> !bfjoust maglev (>+>-)*5>++(>[+(-)*9[+]]->[-(+)*9[-]]+)*20
12:06:11 <EgoBot> Score for Deewiant_maglev: 20.0
12:06:21 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[+(-)*8[+]]->[-(+)*8[-]]+)*20
12:06:29 <EgoBot> Score for Deewiant_maglev: 27.0
12:06:55 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[+(-)*7[+]]->[-(+)*7[-]]+)*20
12:07:02 <EgoBot> Score for Deewiant_maglev: 27.6
12:07:09 <fizzie> Why are your program names like that?
12:07:43 <Deewiant> They're like trains, choo-chooing along.
12:08:28 <ais523> looks like the only defense programs still on there are mine
12:09:47 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[+(-)*6[+]]->[-(+)*6[-]]+)*20
12:09:54 <EgoBot> Score for Deewiant_maglev: 24.8
12:10:01 <Deewiant> !bfjoust maglev (>+>-)*4>--(>[+(-)*7[+]]->[-(+)*7[-]]+)*20
12:10:04 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
12:10:08 <EgoBot> Score for Deewiant_maglev: 27.6
12:10:17 <ais523> a pity really, I like the idea of defence in BF Joust
12:10:22 <Deewiant> !bfjoust maglev (>+>-)*4>--(>[-(+)*7[-]]+>[+(-)*7[+]]-)*20
12:10:29 <EgoBot> Score for Deewiant_maglev: 27.9
12:10:51 <Deewiant> Your programs are too large to understand what they do :-P
12:11:16 <ais523> Deewiant: 9's a variant on 7, although I can't remember exactly what the difference is after this long
12:11:47 <ais523> 7 works by attempting to figure out the cycle speed of the other program's inner loop, like the [-] and [+] in your maglev, via experiment on a sentinel value
12:12:09 <ais523> once it knows what it is, it attempts to lock the other program into an infinite loop, by exploiting the loop itself, and meanwhile goes off and very slowly captures its flag
12:12:35 <ais523> there's also a tweak in there somewhere to detect other defence programs and attack them in a defence-program-breaking way
12:15:22 <Deewiant> Hmm; how do you do the locking? Do you somehow manage to wrap the flag around past 0 at the appropriate time?
12:15:38 <Deewiant> (I imagine that anything else is too slow to work)
12:15:54 <ais523> sorry, boss has called, but I'll explain later
12:16:33 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[-(+)*7[-]]+>[+(-)*7[+]]-)*20
12:16:44 <EgoBot> Score for Deewiant_maglev: 27.9
12:19:13 <AnMaster> <ais523> can anyone remember where the BF Joust leaderboard is/was? <-- yes but it seems pointless to answer since you filter links
12:19:28 <AnMaster> or have you stopped doing that?
12:20:19 <Deewiant> !bfjoust maglev (>+>-)*4>++(>[-(+)*7[->-<]]+>[+(-)*7[+>+<]]-)*20
12:20:26 <EgoBot> Score for Deewiant_maglev: 0.0
12:20:38 <Deewiant> !bfjoust maglev (>+>-)*3>++(>[-(+)*7[->-<]]+>[+(-)*7[+>+<]]-)*20
12:20:45 <EgoBot> Score for Deewiant_maglev: 0.0
12:21:23 <Deewiant> !bfjoust maglev (>+>-)*3>++(>[-(+)*7[->(-)*32<]]+>[+(-)*7[+>(+)*32<]]-)*20
12:21:29 <EgoBot> Score for Deewiant_maglev: 5.6
12:22:07 <Deewiant> Hah, now it beats defend7 but nothing else
12:22:22 <Deewiant> That wasn't quite what I was going for
12:22:55 <Deewiant> !bfjoust maglev (>+>-)*3>++(>[-(+)*7[->(-)*64<]]+>[+(-)*7[+>(+)*64<]]-)*20
12:23:02 <EgoBot> Score for Deewiant_maglev: 5.8
12:23:06 -!- MizardX has joined.
12:23:07 <Deewiant> !bfjoust maglev (>+>-)*3>++(>[-(+)*7[->(-)*16<]]+>[+(-)*7[+>(+)*16<]]-)*20
12:23:14 <EgoBot> Score for Deewiant_maglev: 5.6
12:23:29 <Deewiant> !bfjoust maglev (+>->)*4++(>[-(+)*7[->(-)*32<]]+>[+(-)*7[+>(+)*32<]]-)*20
12:23:36 <EgoBot> Score for Deewiant_maglev: 5.0
12:24:04 <Deewiant> !bfjoust maglev (+>->)*4++(>[-[->(-)*32<]]+)*20
12:24:10 <EgoBot> Score for Deewiant_maglev: 0.0
12:24:20 <Deewiant> !bfjoust maglev (+>->)*4++(>[-(+)*7[->(-)*32<]]+)*20
12:24:27 <EgoBot> Score for Deewiant_maglev: 5.0
12:24:42 <Deewiant> !bfjoust maglev (+>->)*4++(>[+[->(-)*32<]]+)*20
12:24:49 <EgoBot> Score for Deewiant_maglev: 0.0
12:24:55 <Deewiant> !bfjoust maglev (+>->)*4++(>[(+)*5[->(-)*32<]]+)*20
12:25:02 <EgoBot> Score for Deewiant_maglev: 5.4
12:25:48 <AnMaster> Deewiant, seems not very successful against any but defend7
12:25:59 <Deewiant> That's what I just said
12:26:40 <Deewiant> !bfjoust maglev (+>->)*4++([>[(+)*5[->(-)*32<]]+]>)*16
12:26:47 <EgoBot> Score for Deewiant_maglev: 8.6
12:27:11 <Deewiant> !bfjoust maglev (+>->)*4++([->[(+)*5[->(-)*32<]]+]>)*16
12:27:18 <EgoBot> Score for Deewiant_maglev: 5.3
12:27:26 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(-)*32<]]+]>)*16
12:27:33 <EgoBot> Score for Deewiant_maglev: 8.6
12:28:03 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*32<]]+]>)*16
12:28:09 <EgoBot> Score for Deewiant_maglev: 8.6
12:28:22 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*33<]]+]>)*16
12:28:28 <EgoBot> Score for Deewiant_maglev: 8.3
12:28:39 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*17<]]+]>)*16
12:28:46 <EgoBot> Score for Deewiant_maglev: 2.9
12:29:01 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*25<]]+]>)*16
12:29:07 <EgoBot> Score for Deewiant_maglev: 0.8
12:29:14 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*31<]]+]>)*16
12:29:21 <EgoBot> Score for Deewiant_maglev: 8.3
12:29:29 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[->(+)*27<]]+]>)*16
12:29:36 <EgoBot> Score for Deewiant_maglev: 8.3
12:29:41 <Deewiant> !bfjoust maglev (+>->)*4++([(-)*2>[(+)*5[-->(+)*27<]]+]>)*16
12:29:49 <EgoBot> Score for Deewiant_maglev: 0.0
12:30:17 <Deewiant> !bfjoust maglev (+>>)*4++([(-)*2>[(+)*5[->(+)*27<]]+]>)*16
12:30:25 <EgoBot> Score for Deewiant_maglev: 8.3
12:30:35 <Deewiant> !bfjoust maglev +(>)*8++([(-)*2>[(+)*5[->(+)*27<]]+]>)*16
12:30:42 <EgoBot> Score for Deewiant_maglev: 5.0
12:30:45 <Deewiant> !bfjoust maglev +(>)*8->+([(-)*2>[(+)*5[->(+)*27<]]+]>)*16
12:30:53 <EgoBot> Score for Deewiant_maglev: 7.3
12:31:16 <Deewiant> !bfjoust maglev (+>->)*4++([-->[(+)*5[->(-)*27<]]+]>)*16
12:31:23 <EgoBot> Score for Deewiant_maglev: 8.3
12:31:34 <Deewiant> !bfjoust maglev (+>->)*4++([-->[(+)*5[->(-)*32<]]+]>)*16
12:31:42 <EgoBot> Score for Deewiant_maglev: 8.6
12:31:56 <AnMaster> you know, while this is spammy it is actually on topic for once
12:31:57 <Deewiant> I'll just leave it at that then
12:32:01 <AnMaster> makes it hard to complain
12:32:14 <Deewiant> :-)
13:05:06 -!- kar8nga has joined.
13:30:08 <ais523> Deewiant: still there?
13:30:17 <Deewiant> Aye
13:30:41 <ais523> basically, there are ways to do locking
13:30:45 <ais523> *two ways to do locking
13:30:52 <ais523> one way, the riskier way, works as you've described
13:31:07 <ais523> the idea is to predict which cycle the enemy jouster will change the value to 0, and force it past
13:31:34 <ais523> that's used as a backup method when the defender can't figure out which direction the opponent's changing the value, but can figure out the cycle time, which happens occasionally
13:31:58 <ais523> the other method's using a long sequence of + or - to change the value faster in one direction than the other system's changing it in the other direction
13:33:07 <ais523> the second method's more reliable in a sense, because even if it gets the direction or the timing wrong, the value won't stay at 0 for two consecutive cycles unless the opponent's doing something like +-+-+-+-
13:33:36 <ais523> !bfjoust trivial_defend ([](+)*128)*1000
13:33:47 <EgoBot> Score for ais523_trivial_defend: 9.4
13:34:08 <ais523> heh, that actually beat all but the first of your maglevs
13:35:19 <Deewiant> Those maglevs tend to run off the edge of the tape
13:36:16 <ais523> well, that's the only way that trivial_defend can actually win
13:36:30 <Deewiant> Yep
13:36:56 <ais523> !bfjoust ghost_vibration (-)*128(+-)*10000
13:37:05 <EgoBot> Score for ais523_ghost_vibration: 9.2
13:37:20 <Deewiant> !bfjoust test >-<([](+)*128)*1000
13:37:33 <EgoBot> Score for Deewiant_test: 3.6
13:37:44 <ais523> ghost_vibration actually got 6 wins, but they were mostly against rubbish opponents
13:37:54 <Deewiant> !bfjoust maglev (+>->)*4++([-->[(+)*5[->(-)*32<]]+]>)*16
13:38:02 <EgoBot> Score for Deewiant_maglev: 7.9
13:38:14 <Deewiant> Bah, I can't run those two against each other
13:40:20 <ais523> I have a standalone BF Joust interp somewhere
13:40:39 <Deewiant> I probably have one at home too
13:40:47 <Deewiant> (But not here)
13:41:54 <ais523> ran it several times, maglev wins every time
13:42:18 <Deewiant> Alright, that's what I was expecting
13:47:03 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5([+]>)*10
13:47:13 <EgoBot> Score for ais523_large_decoy_attack: 1.9
13:47:16 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5([+]>)*20
13:47:23 <ais523> duh, that was stupid....
13:47:24 <EgoBot> Score for ais523_large_decoy_attack: 18.2
13:47:31 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5(---[+]>)*20
13:47:42 <EgoBot> Score for ais523_large_decoy_attack: 38.7
13:47:50 <ais523> surprising how well a back-to-basics strategy can work sometimes
13:48:05 <ais523> that's the old BF Joust 1 tactic of gumming up the opponent's advance to your flag so you can reach theirs more quickly
13:48:12 <Deewiant> That's pretty much what all my programs are
13:48:29 <ais523> haha, it's actually fourth overall
13:48:36 <ais523> looks like the BF Joust metagame got a bit too centralised
13:48:48 <Deewiant> (Another reason why they're called trains. They just plow forward without thinking too much.)
13:49:33 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*7(---[+]>)*20
13:49:43 <EgoBot> Score for ais523_large_decoy_attack: 26.8
13:49:48 <Deewiant> Tape overrun
13:50:01 <ais523> probably not that, waiting forever is normally a recipe to lose anyway
13:50:07 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5(---[+]>)*20
13:50:15 <ais523> well, apart from the four cases in which it overruns in the init
13:50:23 <EgoBot> Score for ais523_large_decoy_attack: 38.7
13:50:25 <Deewiant> Yes, those
13:50:33 <ais523> the idea is alise's idea, to insta-lose in some cases to give yourself a better chance in otehrs
13:50:34 <ais523> *others
13:50:34 <Deewiant> Even this one overruns the 10-length one
13:50:48 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>+++++(---[+]>)*20
13:51:02 <EgoBot> Score for ais523_large_decoy_attack: 20.0
13:51:08 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5>+++++(---[+]>)*20
13:51:13 <ais523> strange how that makes such a difference...
13:51:17 <Deewiant> Your +++++--- is a bit counterproductive
13:51:18 <ais523> although I was missing a > in there
13:51:20 <EgoBot> Score for ais523_large_decoy_attack: 22.3
13:51:34 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*5>(---[+]>)*20
13:51:43 <EgoBot> Score for ais523_large_decoy_attack: 39.3
13:52:02 <ais523> heh, and meanwhile in my experimentation, I've pushed something that gives me trouble off the leaderboard
13:52:28 <Deewiant> Which one?
13:52:53 <ais523> no idea, haven't been keeping track
13:52:58 <ais523> but my score went up for the same program
13:53:04 <ais523> and as egojoust is deterministic...
13:53:04 <Deewiant> No, that's different
13:53:08 <Deewiant> You added a > after the *5
13:53:15 <ais523> oh, right
13:53:15 <Deewiant> Or forgot to remove, rather
13:53:22 <Deewiant> How's *4>
13:53:25 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>>(---[+]>)*20
13:53:35 <EgoBot> Score for ais523_large_decoy_attack: 40.7
13:53:37 <Deewiant> That'll overrun again with the 10 >
13:53:40 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>(---[+]>)*20
13:53:50 <EgoBot> Score for ais523_large_decoy_attack: 37.2
13:53:57 <Deewiant> Sigh
13:53:58 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*3>>>(---[+]>)*20
13:54:08 <EgoBot> Score for ais523_large_decoy_attack: 30.1
13:54:11 <Deewiant> I just can't live with that way of doing things, intentionally losing to win others :-P
13:54:13 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>>(---[+]>)*20
13:54:22 <ais523> I'll try with a *19
13:54:23 <EgoBot> Score for ais523_large_decoy_attack: 40.7
13:54:27 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>>(---[+]>)*19
13:54:38 <EgoBot> Score for ais523_large_decoy_attack: 37.5
13:54:43 <ais523> although ofc, that always loses on a /max/-length tape
13:55:10 <ais523> !bfjoust large_decoy_attack (>+++++>-----)*4>>(---[+]>)*19---[+](+)*1000
13:55:20 <EgoBot> Score for ais523_large_decoy_attack: 40.8
13:55:31 <ais523> heh, I wonder what that draws against that it was losing against before?
13:55:47 <ais523> nescience_shade, papparently
13:55:50 <ais523> *apparently
13:56:09 <Deewiant> What you've got is monorail with tweaked constants (minus the latest revision)
13:56:37 <Deewiant> Ah, and one loop less so it's a bit faster
13:56:57 <ais523> in general, in BF Joust, loops are bad
13:57:05 <ais523> the issue is that sometimes you have to use them to have a clue what the opponent's doing
13:57:28 <Deewiant> !bfjoust monorail (>+>-)*4>++>((-)*9[+]>)*20
13:57:40 <EgoBot> Score for Deewiant_monorail: 11.7
13:57:46 <Deewiant> !bfjoust monorail (>+>-)*4>++>([(-)*9[+]]>)*20
13:57:54 <EgoBot> Score for Deewiant_monorail: 34.4
13:58:02 <Deewiant> I like my loops :-)
13:58:07 <Deewiant> And have to go ->
13:58:24 <ais523> [+] is an incredibly dangerous thing to have in a program
14:12:13 <Sgeo_> Reddit's down?
14:15:00 <ais523> http://downforeveryoneorjustme.com/programming.reddit.com says it's down, and my tests agree with it
14:16:11 * Sgeo_ goes slightly insane
14:16:28 <Sgeo_> Also, what's the difference between an AND gate and a transistor?
14:16:42 <ais523> Sgeo_: transistors are analog devices
14:17:01 <ais523> one of the ways you can connect them happens to work vaguely like an AND gate, but chaining too many of them the analogy breaks down
14:18:46 -!- relet has joined.
14:20:27 <Sgeo_> Could power issues have anything to do with my clock issues?
14:20:40 -!- zzo38 has joined.
14:23:39 <zzo38> AERM is a mahjong rules that I wrote, I am not finished writing it yet. But please tell me if you have question/comment: http://zzo38computer.cjb.net/mahjong/anime_evolution/
14:23:59 <ais523> Sgeo_: possibly, most clock circuits don't keep good time if they have an unstable power supply
14:31:17 <zzo38> How can you make skin file in IP.Board or phpBB or another things, that has few CSS, no icons/images, but a lot of keyboard controls?
14:32:57 <ais523> zzo38: you'd need to use JavaScript to handle the keyboard controls
14:33:11 <ais523> together with keyboard events hooked onto appropriate objects, maybe the <body> tag in the template
14:34:49 -!- BeholdMyGlory has joined.
14:35:40 <zzo38> ais523: Yes I know you need JavaScript codes for the keyboard controls. But I don't know how to write these skin files anyways
14:35:53 <ais523> zzo38: try starting with an existing one and removing things from it
14:36:15 <zzo38> Where is the URL for existing one download?
14:36:56 <ais523> I don't know offhand, I don't use the Web much
14:39:32 <zzo38> Invision board had a lo-fi skin, but it still had some icons and had a lot of features didn't work. Now it is replaced by "IP.Board Mobile", which also has some icons/graphics and is still some features missing.
14:47:52 <zzo38> Is there a file to test Invision Board 3.1.1 skins without installing Invision Board?
14:49:10 <ais523> I doubt it, skins are normally pretty tightly linked to the forum software they're designed for
14:49:34 -!- Gracenotes has joined.
15:17:50 <pikhq> Gregor: How long until Plof runs on JSMIPS? :P
15:18:49 <pikhq> (yes, I realise you'd be much better off implementing a PSL interpreter in Plof.)
15:27:06 <pikhq> *Argh*. Xlib requires POSIX threads.
15:27:24 <pikhq> What's the smallest pthreads implementation?
15:28:55 -!- cpressey has joined.
15:31:16 <Deewiant> ais523: What's wrong with [+]
15:31:38 <ais523> Deewiant: it's easily exploitable
15:31:48 <pikhq> Well, linuxthreads works with uClibc. Guess that's what I'm using.
15:31:54 * pikhq mutters
15:32:01 <ais523> that's how defend7 gets most of its wins
15:32:06 <Deewiant> ais523: As opposed to [-]?
15:32:12 <ais523> that's just as exploitable
15:32:16 <Deewiant> Right
15:32:22 <ais523> egobf runs programs with + and - swapped as well as the original way round
15:32:25 <ais523> *egojoust
15:32:26 <Deewiant> Yes
15:32:36 <Deewiant> I thought you were making a statement about [+] versus [-]
15:32:53 <ais523> nah, just about tight loops
15:33:29 * pikhq rebuilds the build system AGAIN
15:34:51 <ais523> rerebuilding?
15:35:05 <ais523> in fact, reremetabuilding
15:35:14 <pikhq> Fortunately, what I'm doing is starting with a basic buildroot and going from there.
15:35:20 <pikhq> So it's not like it's too much *effort*.
15:35:38 <pikhq> Well. Kinda-basic. I have added enough to make it a build system.
15:37:53 <pikhq> I wish the libc could have less, but X11 *does* need a few things.
15:52:06 -!- kar8nga has quit (Remote host closed the connection).
15:56:13 -!- Phantom_Hoover has joined.
16:01:31 -!- augur has quit (Remote host closed the connection).
16:12:41 <Phantom_Hoover> Why does everyone use double instead of float?
16:13:40 <pikhq> Higher precision.
16:14:01 <Phantom_Hoover> Even when you don't really need that sort of precision?
16:14:30 <pikhq> There's also arcane promotion rules you need to consider when using floats in C.
16:14:44 <Ilari> And its about as fast anyway (at least on most desktop platforms)...
16:15:20 <Ilari> Pretty much only speed difference is because of double's larger size, so there's more data (to copy).
16:15:41 <Phantom_Hoover> Also, wouldn't dereferencing a pointer require loading the variable in question into a register, at least on x86?
16:15:51 <fizzie> And no-one really understands floating-point anyway, so they wouldn't be able to safely say whether they need the higher precision or not.
16:16:10 <fizzie> Phantom_Hoover: Not if you allow self-modification.
16:16:17 <Phantom_Hoover> Why?
16:17:05 <pikhq> Phantom_Hoover: Typically, but not necessarily.
16:17:16 <pikhq> On x86 there's a lot of really bizarre tricks you can do.
16:17:23 <Phantom_Hoover> What is self-modification in this context?
16:17:48 <pikhq> Particularly the addressing modes...
16:17:49 <fizzie> You can do rep movsb or somesuch to move the pointer value directly from memory to an operand of an opcode that uses it.
16:19:17 <Ilari> Heh... Self-modifiying code... Reminds me finding that DJGPP uses self-modifying code when issuing real-mode interrupts.
16:19:23 <fizzie> mov [0xffffffff], eax is valid, I think, and you can then overwrite the 0xffffffff bytes with a memory-move thing.
16:19:37 <fizzie> You could probably do some other tricks too.
16:19:44 <Phantom_Hoover> Self-modifying code is underused.
16:20:01 <Phantom_Hoover> The only thing I can think of that uses it on a fundamental level is Redcode.
16:20:16 <zzo38> I use double precision floating point for things that should use better precision, such as, mathematical graphing and stuff, such as in the WEBPLOT program (but WEBPLOT is not written in C anyways, but if it was it would still use double).
16:20:27 <Ilari> The code modifies the interrupt vector number (its initially 3, but gets overwritten with whatever value is needed).
16:20:47 <zzo38> C is not good for self-modifying code as much, but in Forth it can be done more easily
16:21:12 <pikhq> It's certainly possible in C. Just tricky.
16:21:21 <ais523> ooh, Bilski judged
16:21:33 <Deewiant> pikhq: And nonstandard/portable
16:21:37 <Deewiant> dobelx64 uses some self-modifying code, but not very much
16:21:45 <zzo38> Although, doing it in Forth can be different depending on te Forth system you use, in some cases.
16:21:55 <ais523> with a rather useless opinion, which is along the lines of "that particular patent is awful, but we aren't going to tell you the rules for patents in general, anyway they change over time"
16:22:17 <Phantom_Hoover> pikhq, how can you do it easily and portably?
16:22:17 <fizzie> I used a bit of self-modifying ARM code in a DS terminal emulator, and it worked fine in desmume, but failed miserably on a real DS; it has some form of instruction caching going on. Should've just used an indirect jump instead of trying to be too clever.
16:22:28 <pikhq> Phantom_Hoover: Use a higher level language.
16:22:43 <Phantom_Hoover> pikhq, you mean run C as an interpreter?
16:23:10 <pikhq> Phantom_Hoover: No, one that lets you modify the actual source code.
16:23:25 <zzo38> fizzie: Yes the ARM has instruction caching, and I would like to know how to disable it in some cases, but for other reasons as well other than just that
16:23:30 <Phantom_Hoover> Wait, so it changes its code and recompiles?
16:23:39 <Phantom_Hoover> That is so crazy it could nearly work.
16:23:59 <pikhq> ... You're overthinking this.
16:24:11 <zzo38> Phantom_Hoover: CLC-INTERCAL can do something like that, but it changes the meanings of the codes rather than changing the source-codes themself
16:24:25 <Phantom_Hoover> zzo38, CLC scares me.
16:24:25 <ais523> meanwhile, the Daily Mail mistake a twitter post by Fake Steve Jobs for actual news and post a story about how the IPhone is going to be recalled
16:24:38 <Phantom_Hoover> ais523, are you really surprised?
16:24:53 <ais523> Phantom_Hoover: yes, I didn't expect them to be quite /that/ sloppy
16:24:58 <pikhq> zzo38: Consider Tcl. Where you can get the source of a proc and replace it with a different proc.
16:25:01 <pikhq> Erm.
16:25:03 <pikhq> Phantom_Hoover: ^
16:25:18 <Phantom_Hoover> pikhq, this isn't really C, though?
16:25:22 <Phantom_Hoover> It's Tcl.
16:25:26 <Phantom_Hoover> s/?/./
16:26:25 <Sgeo_> Could an irregular power source harm my router?
16:28:08 <pikhq> Phantom_Hoover: Higher level language.
16:28:23 <Phantom_Hoover> pikhq, how is it self-modifying C, then?
16:31:56 <zzo38> I sometimes use self-modifying code, but of course it won't work when it is in ROM.
16:32:37 <zzo38> I sometimes use other tricks as well.
16:33:56 <zzo38> Such as, calling an interrupt using push and far indirect jumps, instead of using the INT command.
16:34:28 <zzo38> This is mostly to make interrupt return elsewhere, possibly with different states
16:35:15 <ais523> meanwhile, random and worrying stat: averaged across everyone in the entire world, the average person spends more than 2 minutes a day on Facebook
16:35:38 <zzo38> (Which is useful if the code that calls the interrupt will be overwritten by the time it returns!)
16:35:44 <ais523> I worry to think how much time that makes the average Facebook user spend
16:36:16 <Sgeo_> >.>
16:36:25 <pikhq> Phantom_Hoover: It isn't, that's the point.
16:36:37 <Phantom_Hoover> Bah!
16:37:05 <Phantom_Hoover> ais523, they might be like me and just have as a background tab.
16:39:15 <zzo38> I used these kind of call in MBR code, how many of these "tricks" are used commonly in MBR codes and others? B8 00 B8 8E C0 B0 70 B9 A0 0F 31 FF F3 AA B8 60 00 8E C0 B8 3E 02 B9 02 00 31 DB FA 9C 06 53 FF 2E 4C 00
16:40:56 <pikhq> zzo38: Assembly por favor
16:42:32 <zzo38> http://sprunge.us/eZeI
16:44:55 <Sgeo_> Weird, the microwave is tracking time decently
16:48:33 <zzo38> pikhq: I posted assembly codes that URL
16:50:49 <pikhq> zzo38: Mmm.
16:53:05 <zzo38> What I like to do is, have a BIOS code that is compatible with all IBM PC BIOS calls (unlike coreboot, which I think it can't use BIOS calls?), has switches on front panel for some things configure, and has Forth interpreter in ROM accessible by push key at boot and at interrupt 18h.
16:54:02 <zzo38> All CMOS setups can be done by Forth codes, such as CMOS-WRITE and CMOS-READ and that you can then boot a internet file by writing: $0000 GOPHER-BOOT= example.org 70 boot.bin
16:54:33 <zzo38> Or, by: $0000 S" example.org" 70 S" boot.bin" GOPHER-BOOT
16:54:41 <zzo38> And then have similar command for FTP-BOOT and HTTP-BOOT
16:55:06 <zzo38> And also GOPHER-LOAD FTP-LOAD HTTP-LOAD which is same but no boot, only load into memory
16:55:30 <Phantom_Hoover> http://en.wikipedia.org/wiki/User:ClueBot/Source
16:55:38 * Phantom_Hoover feels slightly nauseous.
16:55:48 <pikhq> zzo38: Coreboot can load a BIOS implementation.
16:56:07 <Sgeo_> Phantom_Hoover, because of the idea of writing a bot like that in PHP?
16:56:31 <Phantom_Hoover> Sgeo_, that, and the fact that the source is horribly ugly.
16:56:55 * Sgeo_ feels guilty about his own ugly source
16:59:28 <Phantom_Hoover> Don't worry, I've never even gotten around to write anything long enough to be ugly.
16:59:54 <Phantom_Hoover> Well, except maybe my half-functioning E-SNUSP intepreter.
17:01:09 <Sgeo_> What if someone vandalizes with {{nobots}}?
17:01:30 <Phantom_Hoover> I assume it ignores that tag.
17:01:55 <ais523> not all bots care about that tag
17:02:11 -!- hiato has joined.
17:02:15 <Sgeo_> "This bot is an exclusion compliant bot.
17:02:15 <Sgeo_> "
17:02:25 <Phantom_Hoover> Hmm...
17:02:35 <Phantom_Hoover> Meh, something else would catch you.
17:05:09 <zzo38> I should have BIOS codes like: PALETTE-SNOOP OFF CMOS-WRITE
17:05:28 <Phantom_Hoover> What for?
17:06:23 <Sgeo_> Actually, looking at the source, it vaguely looks like it checks the flag of what it's about to post.
17:08:40 <Sgeo_> It has a high regard for "Penisula"
17:18:55 -!- Gregor-P has joined.
17:19:02 <cpressey> Python uses doubles for its floating point values, and it still thinks 4.3 is 4.2999999999999998. Srsly, start Python interactively and type in "4.3 <enter>".
17:19:21 <Gregor-P> Welp, JSMIPS no longer works on IE :P
17:19:39 <Phantom_Hoover> cpressey, well known bug.
17:20:06 <Phantom_Hoover> Understandable, since 0.3 is a recurring decimal in binary.
17:20:06 <cpressey> Phantom_Hoover: What, the existence of Python? ;)
17:20:17 <pikhq> Gregor-P: Congrats on getting rid of that bug.
17:20:21 <Gregor-P> cpressey: That's not a size bug, it's a ftoa bug.
17:20:38 <cpressey> irb handles the number 4.3 just fine.
17:20:55 <Phantom_Hoover> cpressey, uses rationals by default?
17:21:36 <cpressey> erl and hugs both handle 4.3 fine too.
17:21:59 -!- sebbu has joined.
17:22:03 <Phantom_Hoover> !haskell :t 4.3
17:22:05 <EgoBot> 4.3 :: (Fractional t) => t
17:22:14 <Gregor-P> What I learned at PLDI this year: ftoa is a hell of a lot more difficult than it sounds.
17:23:01 <Phantom_Hoover> Gregor-P, unsurprising
17:23:24 <Phantom_Hoover> Since you can only represent binary fractions with floats.
17:23:48 <cpressey> And it appears that Ruby sees 4.3 as a Float type. So, this isn't just a problem with floating point.
17:23:57 -!- Gregor-W has joined.
17:24:14 <Gregor-W> See http://portal.acm.org/citation.cfm?id=1806596.1806623 , then go implement it in Python and celebrate!
17:24:16 <cpressey> Also, that "4.3.ceil" is valid syntax in Ruby is weird.
17:24:17 -!- Gregor-W has quit (Client Quit).
17:24:28 <Phantom_Hoover> cpressey, it really is a problem with floats.
17:24:31 <Phantom_Hoover> Think about it.
17:24:53 <cpressey> Phantom_Hoover: I said "isn't just a problem with floating point."
17:25:21 <Phantom_Hoover> I assume that the other things have just got sophisticated display code.
17:26:01 <cpressey> Rather, I assume Python lacks sufficiently intelligent display code.
17:26:37 <Gregor-P> Which it does, because ftoa is harder than it sounds ;)
17:26:43 <Phantom_Hoover> IIRC they tidied it up in 3.
17:26:46 <Phantom_Hoover> 0
17:27:58 <Gregor-P> You mean 2.9999999999998
17:28:36 <Phantom_Hoover> 3 is a binary fraction.
17:28:42 <cpressey> Beer to Mr. Richards!
17:33:16 <cpressey> And fizzie: your lesson with the DS there is "Never ever be clever".
17:33:45 -!- aschueler has quit (Quit: leaving).
17:39:01 <cpressey> zzo38: Ever play with ColorForth?
17:41:46 <cpressey> http://www.colorforth.com/
17:43:00 <cpressey> Apparently it's been put into silicon. Freaky.
17:45:25 <cpressey> I think I remember a quote from Moore about why he designed Forth: He wanted to be able to build more than a half-dozen programs in his lifetime. (He couldn't see how that would be possible if he were to have to write them in assembly, at the time.)
17:46:56 -!- kar8nga has joined.
17:47:49 <pikhq> Reasonable reason to build a language.
17:48:33 <cpressey> I agree. I like Chuck.
17:48:35 <pikhq> OMFG. Coreutils written in Forth: awesome or best idea ever?
17:50:57 <Gregor-P> pikhq: doit
17:51:19 <Gregor-P> pikhq: Then make 'em run on JSMIPS :P
17:54:19 <Phantom_Hoover> MIPS?
17:56:00 <pikhq> Hmm. Factor would be a bit nicer to write in. Though not quite as minimalist.
17:56:31 <Gregor-P> Or English. Just need an English VM.
17:56:59 <Phantom_Hoover> Ooh, Peter Jackson has expressed interest in a film adaptation of Mortal Engines.
17:56:59 <pikhq> (still pretty minimalist: it *is* a concatenative language, after all.)
17:57:36 <cpressey> I'm a bit disappointed that Linux doesn't appear to have any thinner a portable interface to its syscalls than libc. (Would love to be proven wrong on that.) That means a Forth for Linux has to either be machine dependent, or have a kernal written in C, or provide its own syscall abstraction layer.
17:57:59 <Phantom_Hoover> cpressey, it's hardly difficult.
17:58:08 <Phantom_Hoover> Oh, wait.
17:58:10 <cpressey> Phantom_Hoover: I didn't use the word "difficult".
17:58:24 <Phantom_Hoover> I have no idea what the calling convention is on non-x86 architectures.
17:58:24 <pikhq> cpressey: There is a thinner one.
17:58:29 <pikhq> The Linux VDSO.
17:59:23 <cpressey> pikhq: Interesting. I found: "Virtual Dynamically-linked Shared Object, a kernel-provided shared library that helps userspace perform a few kernel actions without the overhead of a system call, as well as automatically choosing the most efficient syscall mechanism. Also called the "vsyscall page". "
17:59:39 <cpressey> "A few" suggests it's not a complete interface, tho that glossary might be out of date.
18:00:05 <pikhq> It provides all the syscalls.
18:00:41 <cpressey> OK, so a Forth only has to provide .so-loading-and-linking capability (which I guess it should do anyway!) and it's set. Nice. Err, assuming there's not much platform-dependent about .so's... I don't recall.
18:01:29 <pikhq> Very platform-dependent, but generally consistent across architectures using the same kernel and libc.
18:01:47 <Phantom_Hoover> Linux doesn't have a proper dynamic linking thing, does it?
18:01:48 <Gregor-P> That .so is fake, built into the kernel and loader, you don't load it in the same way as other .sos
18:02:04 <pikhq> Gregor-P: Actually, just the kernel.
18:02:06 <pikhq> Phantom_Hoover: It does.
18:02:14 <Phantom_Hoover> ld just sticks some code that mmaps the appropriate sos?
18:02:19 <pikhq> Gregor-P: The loader gets passed the location of it as an argument.
18:02:19 <Phantom_Hoover> s/?/./
18:02:43 <pikhq> Phantom_Hoover: It has to actually copy read-write areas.
18:02:51 <pikhq> Like all dynamic linking.
18:02:52 <cpressey> As long as you don't have to call anything C-based / platform-specific to load the damn thing, I guess.
18:03:00 <Gregor-P> Phantom_Hoover: ld-linux.so
18:03:15 <pikhq> But yes, it just mmaps the read-only chunks.
18:03:21 <Gregor-P> cpressey: Shouldn't.
18:03:37 -!- Gregor-W has joined.
18:03:41 <Gregor-W> Tired of typing on my phone :P
18:03:53 <Gregor-W> pikhq: By "loader" I meant the kernel's ELF loader, not the dynamic loader.
18:04:08 <Gregor-W> Phantom_Hoover: Your statements about Linux's .so loading make it sound like Windows' PE/COFF. Shame on you
18:04:11 <pikhq> Gregor-W: Ah.
18:06:00 <pikhq> Phantom_Hoover: The one odd thing is that, on x86, the dynamic linker *allows* for non-PIC SOs. *These* are actually relocated, instead of dynamically linked.
18:06:16 <pikhq> This is mostly for backwards compatibility, but also allowing for how PIC has overhead on x86.
18:06:36 <pikhq> (*notable* overhead, that is.)
18:09:23 <zzo38> Gregor-W: Don't type on your phone, use a proper computer, please.
18:09:48 <Gregor-W> ... /me wonders what zzo38 thinks I logged in on another system for anyway
18:09:59 <Phantom_Hoover> Why are there all of these Gregors?
18:10:41 <Phantom_Hoover> THERE ARE TO MANY.
18:10:47 <Phantom_Hoover> s/TO/TOO/
18:11:47 <Sgeo_> Digital addition seems easier than I thought: XOR two bits for the value at that point, AND them for the carry, and XOR the carry with the result for the next .. wait, there's an ordering issue here
18:12:09 <Phantom_Hoover> Wait, it took you that long to find out?
18:12:37 <Sgeo_> It took me that long to bother to think it through for two seconds.. still the ordering issue though
18:13:41 <zzo38> Do any new IBM computers have ROM-BASIC?
18:14:11 <Gregor-W> I highly doubt it.
18:14:12 <ais523> I doubt it, somehow
18:14:24 <cpressey> Sgeo_: I find it easier to think about as its own operation on booleans, like: a ADD b => (r, c)
18:15:03 * Sgeo_ still wonders if analogue addition might be better
18:15:06 <cpressey> zzo38: I will go one further than "doubt it" and say OMG NO
18:16:02 <zzo38> What I think should be done is a Forth interpreter added to Interrupt 18h which runs if no bootable devices are found or if the DELETE key is pushed during BIOS boot
18:16:25 -!- MigoMipo has joined.
18:16:31 <Gregor-W> zzo38: Soooo, EFI.
18:16:35 <ais523> what does int 18h do normally?
18:16:54 <Gregor-W> (Doesn't EFI have Forth? I thought it inherited that from OpenFirmware .... maybe not)
18:16:54 <cpressey> zzo38: That's done in firmware these days, isn't it? So it's theoretically possible to add that.
18:17:05 <zzo38> ais523: I think on modern computer, just halts or reboots. Or asks the user to push any key to reboot.
18:17:16 <zzo38> On old IBM computers, Int 18h was ROM-BASIC.
18:17:56 <cpressey> Ah, I remember calling that one once, and I just got a message "ROM BASIC NOT AVAILABLE" while the machine hung. This was in 1999-ish.
18:18:19 <zzo38> Yes, some computers will say "ROM BASIC NOT FOUND, SYSTEM HALTED" or something like that.
18:20:20 <zzo38> You could have it when the computer is booted, it beeps and displays boot diagnostics and "Push <ESC> for fast POST; Push <DEL> for ROM-FORTH" and the current date/time, and then clears the screen and boots from the default boot device.
18:20:45 <zzo38> And then pushing <DEL> there will display the "ok" prompt and then you can type in DEFAULT-BOOT to have it boot normally anyways, as if you didn't interrupt the boot process.
18:20:49 -!- hiato has quit (Quit: underflow).
18:20:57 <cpressey> If you can't wedge in a Forth there, the next best thing would be to change that "MISSING BASIC ROM" message to: BAD MAGIC "MERCIFUL TO GIBBERING MOUTHERS"
18:22:18 <zzo38> Or it could also be changed to "MISSING BASIC ROM. PUSH DELETE TO ENTER SETUP, OR ELSE SYSTEM REBOOTS IN 30 SECONDS"
18:23:27 <zzo38> I don't know what BAD MAGIC "MERCIFUL TO GIBBERING MOUTHERS" is going to mean here! It doesn't even make much sense?
18:23:39 -!- Gregor-P has quit (Ping timeout: 240 seconds).
18:24:56 <ais523> BAD MAGIC means that the "magic number" at the start of ROM or a file is wrong, i.e. it's really corrupt
18:24:57 <zzo38> Forth systems can be very small, modern computers can probably store a Forth system in ROM for sure if you remove a few of the other things that are sometimes found in the ROM
18:25:00 <AnMaster> wasn't there some interrupt for calling extension roms? Like VGA ROM or ROM on other devices
18:25:02 <ais523> I don't get the rest of the joke though
18:25:07 <AnMaster> like network card or whatever
18:25:13 <AnMaster> was ROM-BAISC like that?
18:25:25 <zzo38> ais523: I know that is BAD MAGIC. But that's all
18:25:34 <cpressey> ais523: BAD MAGIC means exactly what I mean it to mean. :) The rest was a reference to something zzo38 was asking about a few days ago.
18:26:10 <AnMaster> cpressey, were you here when I mentioned the Lego RCX firmware validation magic?
18:26:15 <AnMaster> I think you were hm
18:26:32 <cpressey> AnMaster: Yes, but my IRC client filters out everything Lego-related.
18:26:36 <zzo38> I was on here when I read about the Lego RCX firmware validation magic for sure!
18:26:39 <AnMaster> cpressey, heh? ;P
18:26:51 * cpressey sometimes feels like the only surrealist in the room.
18:26:53 <zzo38> And it seem strangely
18:27:41 <AnMaster> cpressey, oh surrealism, right. Was unsure if it was that or really bad pun or you going mad (and/or a combination of those)
18:28:29 <AnMaster> zzo38, strangely what?
18:28:45 <zzo38> AnMaster: Just strangely
18:28:54 <AnMaster> zzo38, don't you mean "strange" then?
18:29:42 <zzo38> Is "MERCIFUL TO GIBBERING MOUTHERS" the cause of the bad magic, or is "MERCIFUL TO GIBBERING MOUTHERS" a suggested course of action to fix the problem? Surely even if this is the case, it still doesn't seem to make perfect sense to put that in the ROM BIOS message?
18:29:49 <zzo38> AnMaster: No, I mean "strangely"
18:31:39 <Gregor-W> Licensing mind game/flood: Let's say I add a special library name to my portable ELF loader that means "some POSIX-compliant host libc". So on GNU/Linux it loads /lib/libc.so.6, but on Windows it loads cygwin1.dll . Now, you write some code targetting my portable ELF loader, then release binaries (no source) under some restrictive license. cygwin1.dll is GPL, so anything "linked" against it must be GPL-compatible. Are you violati
18:31:42 <cpressey> zzo38: I thought it was that an attempt to be merciful to gibbering mouthers was made, but was intercepted by the system as a bad act of magic. I could be wrong though, since I made it up.
18:32:10 * cpressey will stop trying to be Zippy the Pinhead meets Giorgio de Chirico now.
18:32:20 <zzo38> cpressey: Ah, so that is what you meant (or think you meant) when you wrote that.
18:33:07 <ais523> Gregor-W: I'm not personally violating Cygwin's license, but anyone using my software, via the intended method, on Windows is; I might be in trouble for inducing copyright infringement as a result
18:33:17 <ais523> (in your hypothetical situation)
18:33:33 <ais523> this is pretty similar to the whole libreadline/libedit thing
18:33:37 <Gregor-W> I could make this hypothetical situation a reality in like fifteen minutes if I wanted to :P
18:33:47 <zzo38> Maybe you need to just not release binaries for Windows, should do it?
18:34:02 <Gregor-W> zzo38: But the binaries are platform-independent.
18:34:06 <ais523> Gregor-W: you need someone else to write the source
18:34:21 <zzo38> Gregor-W: What kind of binaries are you using?
18:34:29 <cpressey> Gregor-W: Perhaps it is "mere aggregation" then.
18:34:36 <ais523> it's clearly whoever causes cygwin to link against the restrictive-license binaries who's breaking copyright
18:34:37 * cpressey just loooooooves the GPL.
18:34:46 <ais523> not the author of either work individually
18:34:51 <Gregor-W> zzo38: In this hypothetical situation, ELF binaries targetting my super-special ELF loader that works on "all" platforms (at least Linux, Windows and Mac OS X)
18:35:09 <ais523> extreme simplification: suppose I go and link together Cygwin and Microsoft Windows, somehow. Is Microsoft now breaking the GPL?
18:35:29 <ais523> that's pretty much the same question you asked
18:35:32 <Gregor-W> ais523: Hm hm hm!
18:35:37 <cpressey> How is "link" defined legally?
18:35:43 <Gregor-W> cpressey: 'snot :P
18:36:06 <ais523> cpressey: the actual legal language is "create a derivative work"
18:36:06 <cpressey> So it's a matter of who's lawyers are better funded.
18:36:17 <ais523> and it's not quiet clear how that connects to linking
18:36:39 <zzo38> Gregor-W: I suppose what you have to do is, ensure the special ELF loader is under a Open-Source license (if it is the one that makes it link cygwin1.dll in the right place), and then do not package the ELF loader for Windows together with any other software!
18:38:45 <Gregor-W> zzo38: But surely packaging the loader along with the other software is just mere aggregation.
18:39:44 <zzo38> I don't know, I am not lawyer
18:40:17 <ais523> Gregor-W: I don't see how packaging is illegal; it's actually using the software together that's the issue
18:40:34 <zzo38> Using the software together for private use only should be OK.
18:40:42 <Gregor-W> ais523: Exactly! Yay for license lunacy :)
18:40:44 <zzo38> I think the GNU GPL permits it if it is private
18:41:03 <Gregor-W> But it's always private, you can't actually distribute them linked in this setup.
18:41:04 <ais523> Gregor-W: I don't see the problem here at all
18:41:10 <ais523> using the software != distributing the software
18:43:10 <Gregor-W> I'm really just pointing out that this is a wonderful way to work around the GPL :P
18:43:26 <ais523> Gregor-W: it's still inducing copyright infringement
18:44:01 <Phantom_Hoover> And then there's the wiki's public-domainness.
18:44:35 <Gregor-W> ais523: But you're never /distributing/ versions that have proprietary and GPL components linked together.
18:45:00 <ais523> Gregor-W: no, you aren't; you aren't infringing copyright; you're distributing a program that can't be used without infringing copyright
18:45:20 <ais523> the second is illegal, but under a different law, unless you have really strong disclaimers
18:46:06 <Gregor-W> It can be used without infringing copyrights, just not on Windows :P
18:46:17 <zzo38> It would probably be allowed to distribute a binary linked with GPL components if the source code license is compatible with the GPL, it doesn't have to be the GPL. Because the source-code can be used under the GPL to create those binaries and anyone else can also do the same.
18:46:51 <Gregor-W> Yes, that's trivially and always been true.
18:46:56 <AnMaster> ais523, um what exactly are you trying to link together here?
18:47:00 <Gregor-W> Which is why I made the license in this hypothetical a proprietary license.
18:47:07 <AnMaster> isn't Gregor-W's thing just a dynamic linker
18:47:24 <AnMaster> like the one glibc has, or any other *nix with dynamic linking
18:47:58 <Gregor-W> Yup
18:48:07 <AnMaster> Gregor-W, why would it then be illegal on windows?
18:48:26 <AnMaster> I don't get it to tell the truth
18:48:54 <AnMaster> I mean, lots of open source software links against windows DLLs when compiled on windows. Probably kernel32.dll and user32.dll at least
18:49:04 <Gregor-W> cygwin1.dll is GPL
18:49:22 <AnMaster> Gregor-W, that means only GPL software is in the official cygwin repos?
18:49:28 <AnMaster> well that or *BSD
18:49:29 <Gregor-W> GPL-compatible
18:49:29 <AnMaster> or similar
18:50:10 <AnMaster> Gregor-W, but it would link against closed source windows DLLs like the ones I mentioned above
18:50:15 <AnMaster> this makes no sense
18:50:26 <zzo38> Although Cygwin is GPL, it has an exception which allows any Open-Source software to link with it
18:50:36 <zzo38> Not necessarily GPL or even GPL-compatible
18:50:58 <AnMaster> hm
18:51:47 <zzo38> I think we might have decided in the past, that the Vonkeror license is not Open-Source but is still compatible with the GPL.
18:52:02 <AnMaster> why isn't it open source? MPL?
18:52:28 <zzo38> I think it still qualifies as Free-Software though.
18:53:08 <zzo38> The reason it isn't Open-Source, is apparently, because it says: This software is licensed under GNU GPL v3 or later version. The workers of Conkeror are allowed to revert it to the Conkeror tri-license.
18:53:30 <zzo38> Apparently the "workers of Conkeror" clause makes it not Open-Source. (Or so I have been told)
18:53:58 <AnMaster> oh btw that reminds me of an issue I ran into recetly. If your kernel is under MPL, what happens to user space? To complicate things the system has no well defined limit between kernel and user space (embedded system with no MMU, syscalls as normal calls). On the other hand your user space code is not linked statically against the kernel, well until it is downloaded over IR to the device.
18:54:14 <AnMaster> so the question is: does the user space code have to be MPL?
18:55:28 <AnMaster> ais523, ^
18:55:48 <ais523> I don't know, offhand, but MPL's a pretty weird license
18:55:59 <zzo38> I suppose only if they are distributed together or if the kernel header files are included as part of the program source-code. But I am not sure
18:56:19 <AnMaster> <ais523> the second is illegal, but under a different law, unless you have really strong disclaimers <-- you know. Windows can be used to infringe copyright. Thus it should be illegal!
18:57:03 <AnMaster> it has notepad and mspaint, both can easily be used to infringe copyright in various ways! And what about IE!?
18:57:18 <ais523> AnMaster: it's not about whether it can be used to infringe copyright, but about whether it strongly encourages infringing copyright
18:57:51 <cpressey> "The workers of Conkeror are allowed to revert it to the Conkeror tri-license" -- Seems silly to say, to me. The copyright holder of a work is always allowed to switch license on it, just not retroactively.
18:58:10 <AnMaster> ais523, MS does certainly by having such a painful EULA!
18:58:16 <cpressey> The great thing about open source is how it got every non-lawyer crafting license agreements.
18:58:32 <zzo38> cpressey: Not if there are multiple copyright holders in this case, you still have to agree everyone to be able to switch license!
18:58:55 -!- augur has joined.
18:58:56 <cpressey> zzo38: True. s/holder/holders/
18:59:04 <ais523> CLC-INTERCAL's used to be great
18:59:08 <AnMaster> ais523, hm?
18:59:13 <AnMaster> isn't it any more?
18:59:19 <ais523> but the level of recursion involved was sufficiently high that eventually the compiler became incapable of handling it
18:59:25 <AnMaster> oh the license you mean, missed the 's
18:59:34 -!- sebbu has quit (*.net *.split).
18:59:34 -!- pikhq has quit (*.net *.split).
18:59:35 -!- coppro has quit (*.net *.split).
18:59:35 -!- jix has quit (*.net *.split).
18:59:35 -!- Phantom_Hoover has quit (*.net *.split).
18:59:36 -!- Sgeo_ has quit (*.net *.split).
18:59:36 -!- olsner has quit (*.net *.split).
18:59:36 -!- Gracenotes has quit (*.net *.split).
18:59:36 -!- Geekthras has quit (*.net *.split).
18:59:36 -!- jcp has quit (*.net *.split).
18:59:36 -!- fungot has quit (*.net *.split).
18:59:37 -!- MigoMipo has quit (*.net *.split).
18:59:37 -!- fizzie has quit (*.net *.split).
18:59:37 -!- Warrigal has quit (*.net *.split).
18:59:38 -!- chickenzilla has quit (*.net *.split).
18:59:38 -!- Gregor-W has quit (*.net *.split).
18:59:38 -!- MizardX has quit (*.net *.split).
18:59:38 -!- myndzi\ has quit (*.net *.split).
18:59:38 -!- oklopol has quit (*.net *.split).
18:59:38 -!- Deewiant has quit (*.net *.split).
18:59:39 -!- kar8nga has quit (*.net *.split).
18:59:39 -!- ineiros has quit (*.net *.split).
18:59:39 -!- relet has quit (*.net *.split).
18:59:39 -!- cheater99 has quit (*.net *.split).
19:00:00 <zzo38> Hay! *.net *.split
19:00:22 <AnMaster> ais523, of handling the license?
19:00:22 <AnMaster> also argh lag spike
19:00:35 <cpressey> Haven't seen a netsplit in ages
19:00:48 <ais523> yep, the license was changed to something that was plaintext rather than requiring compilation
19:00:48 -!- AnMaster has quit (Quit: ZNC - http://znc.sourceforge.net).
19:00:50 -!- Ilari has quit (Quit: Reconnecting).
19:01:21 -!- MigoMipo has joined.
19:01:21 -!- Gregor-W has joined.
19:01:21 -!- kar8nga has joined.
19:01:21 -!- sebbu has joined.
19:01:21 -!- Phantom_Hoover has joined.
19:01:21 -!- Gracenotes has joined.
19:01:21 -!- relet has joined.
19:01:21 -!- MizardX has joined.
19:01:21 -!- Geekthras has joined.
19:01:21 -!- pikhq has joined.
19:01:21 -!- myndzi\ has joined.
19:01:21 -!- coppro has joined.
19:01:21 -!- jcp has joined.
19:01:21 -!- oklopol has joined.
19:01:21 -!- cheater99 has joined.
19:01:21 -!- Sgeo_ has joined.
19:01:21 -!- chickenzilla has joined.
19:01:21 -!- jix has joined.
19:01:21 -!- Warrigal has joined.
19:01:21 -!- Deewiant has joined.
19:01:21 -!- olsner has joined.
19:01:21 -!- fungot has joined.
19:01:21 -!- fizzie has joined.
19:01:21 -!- ineiros has joined.
19:01:37 -!- Ilari_ has joined.
19:01:37 <pikhq> If the former, then it's *debatable* whether or not it's violating the GPL.
19:01:37 <Phantom_Hoover> fsck.
19:01:37 -!- augur has quit (Remote host closed the connection).
19:01:38 <pikhq> If the latter, then you're not violating it at all.
19:01:52 <Gregor-W> pikhq: It's just gelfload linking it against some POSIX-compliant C library, which happens to be cygwin1.dll on Windows.
19:02:22 -!- AnMaster_ has joined.
19:02:23 -!- AnMaster_ has quit (Excess Flood).
19:02:32 -!- Ilari_ has changed nick to Ilari.
19:02:42 <Phantom_Hoover> Oh, no!
19:02:46 <Phantom_Hoover> Excess Flood!!
19:02:55 <pikhq> Gregor-W: Perfectly legal. The proprietary program never once requested a GPL one. It would've been just as happy with newlib or libc.
19:02:57 <cpressey> Gregor-W: You *could* in theory link against some cygwin1.dll-alike, BSD-licensed library on Windows, right?
19:02:58 <zzo38> Gregor-W: I suppose it is OK if the data for linking it with cygwin1.dll is in an external file, even if it is distributed together with the software, should still be OK.
19:03:25 <Gregor-W> cpressey: Hell, I could even link against UWIN, but then the problem is with GPL software :P
19:03:30 <pikhq> If it is specifically demanding cygwin1.dll, then it's probably illegal.
19:03:30 <zzo38> That is, instead of hard-coding it into the program you put it in the "gelfload.conf" file, for example.
19:03:32 -!- AnMaster has joined.
19:03:46 <cpressey> I think a short disclaimer would CYA in practice,.
19:03:47 <AnMaster> ....
19:03:55 <AnMaster> "<AnMaster> also argh lag spike" was last line on this end
19:03:56 -!- augur has joined.
19:04:00 <AnMaster> what did I miss
19:04:07 <zzo38> And then distribute gelfload.conf together with the ELF loader program that does that.
19:04:09 <Phantom_Hoover> Nothing interesting.
19:04:16 <Gregor-W> pikhq: Well that's the trick, gelfload may be specifically demanding cygwin1.dll, but the proprietary program is just demanding "some POSIXalike"
19:04:25 <AnMaster> Phantom_Hoover, any reply to "<AnMaster> ais523, of handling the license?"?
19:04:29 <AnMaster> Phantom_Hoover, I presume not
19:04:33 <cpressey> AnMaster: We found a proof for P=NP
19:04:36 <Phantom_Hoover> I don't know.
19:04:38 <AnMaster> cpressey, har har
19:04:42 <AnMaster> Phantom_Hoover, ...
19:04:45 <Phantom_Hoover> AnMaster, but clog was down, so...
19:04:46 <ais523> AnMaster: the license itself needed compilation
19:04:57 <pikhq> Gregor-W: So it's just fine unless you distribute it along with gelfload and cygwin1.dll.
19:04:58 -!- pineappl1 has joined.
19:05:04 <AnMaster> ais523, why?
19:05:17 <ais523> AnMaster: because it's CLC-INTERCAL
19:05:30 <AnMaster> <Gregor-W> pikhq: Well that's the trick, gelfload may be specifically demanding cygwin1.dll, but the proprietary program is just demanding "some POSIXalike" <-- do the same?
19:05:32 <ais523> there was a literal space in the executable's filename
19:05:39 <pikhq> Basically, you can't provide the whole thing together but if someone just happens to piece it together it's fine.
19:05:41 <ais523> which actually exposed a bug in mandb
19:05:43 <zzo38> Put the data needed for gelfload to link the program with cygwin1.dll into the gelfload.conf file and then distribute gelfload.conf together with gelfload (and if gelfload is GPL, include cygwin1.dll also in the distribution), and then it should be OK
19:05:51 <ais523> but Debian decided that not breaking mandb was more important than fixing the mandb bug
19:06:02 <Gregor-W> pikhq: But now you're arguing that mere aggregation is, in this case, the same as linking.
19:06:03 -!- pineapple has quit (Write error: Broken pipe).
19:06:16 -!- cal153 has quit (Ping timeout: 341 seconds).
19:06:16 -!- HackEgo has quit (Ping timeout: 341 seconds).
19:06:16 -!- EgoBot has quit (Ping timeout: 341 seconds).
19:06:19 -!- HackEgo has joined.
19:06:19 -!- EgoBot has joined.
19:06:20 <pikhq> Gregor-W: Mere aggregation with the intent of linking.
19:06:21 -!- cal153 has joined.
19:06:26 <Gregor-W> lawl
19:06:30 <pikhq> And good *God* this is painful to think about.
19:06:37 <Gregor-W> We caught him aggregating with intent to link
19:06:37 <cpressey> ... Linkregation.
19:06:40 <pikhq> I HATE COPYRIGHT LAW AND THIS IS AMBIGUOUS AS FUCK
19:06:46 <zzo38> Do you think my suggestion will work??
19:07:00 <Gregor-W> zzo38: Nobody knows, all we can do is debate endlessly because the law is ambiguous and stupid :)
19:07:05 <AnMaster> um. wasn't there some ABI compatible BSD-licensed replacement for readline?
19:07:09 <AnMaster> or do I misremember?
19:07:13 <AnMaster> if there wasn't there should be one
19:07:30 <pikhq> Gregor-W: Technical issue: surely your gelf linker requires your libraries to have a compatible ABI on all platforms (which of course they won't)?
19:07:41 <pikhq> Or are you providing stubs to make the ABI compatible?
19:08:20 <AnMaster> hm
19:08:27 <cpressey> AnMaster: there's libedit; dunno if it is abi compatible
19:08:27 <AnMaster> is glibc under lgpl? or gpl + linking exception?
19:08:35 <Gregor-W> pikhq: Right now I'm just counting on them being compatible, which they actually mostly are since the C calling convention is consistent (modulo fastcall on Windows, but cygwin1 doesn't use that), and other than that the ABI is just POSIX function names (modulo how the "stdout" and "stderr" macros work, which is obnoxious)
19:08:37 <pikhq> Because otherwise what you've got going on is crossing fingers and hoping it doesn't break.
19:08:41 <pikhq> AnMaster: GPL + linking.
19:08:42 <cpressey> AnMaster: there might be some other one too, now that i think about it, but don't recall
19:08:56 <zzo38> Maybe you need to put the data for ABI compatible into the gelfload.conf file to tell it which stubs it needs to load to make it to do so, and so on.
19:09:06 <pikhq> Gregor-W: Libc ABIs *do* change.
19:09:14 <Gregor-W> pikhq: Yes, what I've got going in is crossing fingers and hoping it doesn't break, but this situation is a hypothetical :P
19:09:23 <AnMaster> Gregor-W, also for x86_64 the calling convention differ between linux and windows. Even the size of a long differ there iirc.
19:09:44 <pikhq> Dude, *my current libc* provides for multiple ABIs because there exists breakage.
19:09:46 <Gregor-W> What gelfload does right now is allow you to make Windows-specific ELF binaries on Windows, and Mac OS X-specific ELF binaries for Mac OS X, no cross-platform lunacy.
19:09:53 <AnMaster> pikhq, how does it define linking? what the whole thing?
19:10:15 <AnMaster> ...and what about static linking?
19:10:18 <pikhq> Oh, Windows-specific ones on Windows. Okay. In that case what you have is perfectly fine.
19:10:29 <pikhq> AnMaster: I dunno.
19:10:41 <Gregor-W> pikhq: I'm just making a hypothetical here for magical cross-platform ELFs.
19:11:00 <pikhq> Gregor-W: For those you'll need to provide all the libraries.
19:11:18 <pikhq> As in effect you'll be building for a hypothetical i686-pc-gelfload-newlib thing.
19:11:24 <AnMaster> though if I'm linking statically I'm definitely going with uclibc..
19:11:40 <Gregor-W> Welp, time for my brain to explode.
19:11:45 <Gregor-W> *AXPLOSHON*
19:12:05 <pikhq> Since you *would* be defining, in effect, an OS which happens to have multiple implementations.
19:12:14 <pikhq> On other kernels.
19:12:17 <pikhq> Which sounds like a totally awesome idea.
19:12:21 <cpressey> hg st
19:12:21 <cpressey> X ./Gregor-W
19:12:26 <AnMaster> pikhq, :D
19:12:29 <Gregor-W> pikhq: I had that idea once. I called it Microcosm.
19:12:44 <pikhq> Gregor-W: You've got most of the work done.
19:13:03 <Gregor-W> pikhq: http://codu.org/wiki/Microcosm
19:13:07 <pikhq> Port newlib and it's working.
19:13:10 <AnMaster> pikhq, indeed. This makes java lose it's "platform independent" appeal! Now you can do cross platform C without recompiling. Sure you still need a 32-bit and a 64-bit version but...
19:13:28 <pikhq> System calls? Bah.
19:13:37 <pikhq> Have multiple libcs.
19:13:52 <AnMaster> this would be easy for linux/osx
19:13:56 <AnMaster> harder for windows
19:14:01 <pikhq> Platform-specific libraries offering the same ABI.
19:14:02 <zzo38> And you would need different binaries for different processors I guess, also.
19:14:07 <pikhq> AnMaster: Harder but still quite feasible.
19:14:16 <AnMaster> pikhq, anyway hm I wonder if you could do it the other way? To run OS X binaries on linux
19:14:21 <AnMaster> wait they use mach-o
19:14:22 <AnMaster> or something
19:14:23 <AnMaster> nvm
19:14:29 <Gregor-W> If y'all want to help me build Microcosm, I'll make it happen, but you'd have to do more work than me :P
19:14:43 <zzo38> But there should be some way to make restricted-harvard VM that allows optimization into native codes
19:14:46 <AnMaster> Gregor-W, how much more? ;P
19:14:58 <pikhq> Gregor-W: Well, I actually know most of the work that would need to go into a gelfload-based Microcosm.
19:15:03 <AnMaster> Gregor-W, and I might be interested, but I'm not going to do the main work of it.
19:15:07 <Gregor-W> I've written the ELF loader. You write the libraries.
19:15:15 <zzo38> (Restricted-harvard is my own idea based on harvard but a few additional restrictions to make it better for optimizing into any computer's native codes)
19:15:20 <pikhq> The basics would just be porting newlib and making a cross compiler.
19:15:32 <Gregor-W> Hell, I'll even get the ball rolling by making the patches for GCC and binutils :P
19:15:36 <Gregor-W> (Since they'd be tiny)
19:15:37 <AnMaster> pikhq, why newlib and not uclibc or such?
19:15:52 <pikhq> AnMaster: Newlib is portable. uClibc isn't.
19:15:53 <Gregor-W> uclibc is unportable.
19:15:59 <AnMaster> pikhq, hm
19:16:00 <pikhq> Newlib is also *easy* to port.
19:16:06 <AnMaster> well good point
19:16:08 <Gregor-W> Bizarrely so in fact.
19:16:09 <pikhq> You implement the stubs for the system calls and you're done.
19:16:41 <pikhq> Hmm. Actually, might be nice to make it so there's a single newlib for all systems.
19:16:50 <pikhq> It'll just depend on a system-dependent libsyscall.
19:16:51 <pikhq> :P
19:16:56 <zzo38> One of the restrictions for restricted-harvard is that pointers into ROM are never interchangeable with numbers. And indirect jumps must use a jump table stored in ROM at a fixed address.
19:17:02 <AnMaster> pikhq, how hard would it be to port to a platform where data and function pointers have different sizes for example?
19:17:06 <Gregor-W> So pikhq, you dislike my syscall style ... the reason for it was to avoid the headache of ABI jumping by just having one "syscall" ABI.
19:17:29 <Gregor-W> AnMaster: Why are we porting it to a system in 1985?
19:17:40 <pikhq> Gregor-W: Ideally I'd like to make it so that libraries could directly call out to the main system ABI.
19:17:41 <AnMaster> Gregor-W, no it was a general question
19:17:49 <pikhq> Though this is, ah, *hard as hell*.
19:17:50 <AnMaster> pikhq, anyway you would need to translate data structures since sizeof(long) isn't the same for 64-bit linux and 64-bit windows
19:17:57 <cpressey> zzo38: I was thinking you might restrict indirect jumps. But then, a lot of object-oriented-type dispatching becomes impossible (or at least very ugly.)
19:17:57 <Gregor-W> pikhq: Yeah, ABI jumping sucks.
19:18:04 <AnMaster> and we are going to aim for 64-bit right? no point in going for legacy 32-bit
19:18:10 <pikhq> AnMaster: Dude, this is a unique platform.
19:18:16 <pikhq> Which happens to run on other platforms.
19:18:30 <pikhq> Gregor-W: Wouldn't need to happen *much*, fortunately.
19:18:37 <AnMaster> pikhq, you still need to compile the program to use the right ISA
19:18:45 <pikhq> AnMaster: No shit.
19:18:45 <Gregor-W> Yeah :P
19:18:48 <cpressey> zzo38: Thinking about it, I suppose you could mitigate it for the common cases.
19:18:55 <pikhq> Gregor-W: For system calls and probably GUI libraries.
19:19:13 <Gregor-W> So, shall I set up a http://codu.org/projects/microcosm/ , or are you all just drooling over time you're not willing to spend in reality :P
19:19:31 <pikhq> Gregor-W: Dude, I'm unemployed. I got *plenty* of time.
19:19:32 <AnMaster> pikhq, and you need to define calling convetions and such to use for each ISA in your OS layer
19:19:47 <pikhq> AnMaster: Duh.
19:20:02 <AnMaster> using the links ones should be generally quite sane unless I misremember.
19:20:05 <pikhq> Gregor-W: So, yeah. I'll start working about when I've figured out how best to cross ABIs.
19:20:52 <pikhq> Annoyingly, probably involve writing custom stubs for each function that you want to call cross-ABI.
19:20:55 <zzo38> cpressey: I suppose you can still have C function pointers, but when stored in a variable or structure it is stored as the index number rather than as the actual function pointer. And then the compiler creates one jump table for all function pointers that are needed in this way.
19:20:57 <AnMaster> Gregor-W, I'm willing to spend some time. I don't plan to lead the project. I feel you and pikhq have much more experience in that area. I can't promise any minimum time spent on it.
19:21:15 <AnMaster> Gregor-W, and yeah, do your gelfload work on 64-bit linux currently?
19:21:21 <Gregor-W> AnMaster: Yes.
19:21:38 <Gregor-W> pikhq, AnMaster: Go register at http://codu.org/projects/microcosm/ and I'll give you all the priveleges.
19:21:49 <pikhq> Whoot
19:21:52 <AnMaster> Gregor-W, oh and I won't touch C++. Which we might need if we need to port a toolchain to this
19:22:00 <AnMaster> hm
19:22:04 <pikhq> AnMaster: Very little involved in porting C++.
19:22:13 <AnMaster> pikhq, was thinking of llvm perhaps
19:22:13 <AnMaster> hm
19:22:17 <Gregor-W> Porting GCC and binutils is a tribiality.
19:22:20 <Gregor-W> *triviality
19:22:22 <pikhq> Almost all the work is in the C library.
19:22:41 <pikhq> Well. And various system-specific libraries.
19:22:56 <pikhq> X11 wouldn't be hard, if you could just get SDL working.
19:23:27 <AnMaster> Gregor-W, I don't know where to start coding though. :P
19:23:28 <AnMaster> but done
19:23:36 <pikhq> Fortunately, most packages try their hardest not to rely on anything less portable than a C library.
19:24:07 <AnMaster> Gregor-W, I guess you and/or pikhq should come up with a general design. But I'm willing to code when I know what to do. I presume we will use gelfload
19:24:22 <AnMaster> pikhq, um, a lot tends to want parts of POSIX at least
19:24:33 <pikhq> AnMaster: A POSIX C library, sure.
19:24:47 <Gregor-W> There, privileges set up.
19:24:47 <pikhq> Gregor-W: Few things I'm absolutely positive of: Linux calling convention.
19:25:04 <pikhq> We do *not* want to mess with the weird shit that is Win32.
19:25:13 <pikhq> The whole point of this is to avoid that insanity.
19:25:19 <Sgeo_> Is there a Win4?
19:25:28 * Sgeo_ wants 4-bit stuff
19:25:29 <ais523> JSMIPS > Windows?
19:25:31 <Phantom_Hoover> Sgeo_, what?
19:25:40 <Sgeo_> Although I do think maybe 8-bit stuff can be made to fit
19:25:53 <Gregor-W> pikhq: Can you add some stuff to the wiki front page with your idea for the overall design, and next steps?
19:25:54 <Phantom_Hoover> You'd be able to address 64 bits of memory.
19:26:05 <Gregor-W> And a link to gelfload I guess :P
19:26:07 <AnMaster> Gregor-W, hg? I'm more used to bzr I admit so.. quick summary? I remember that the difference was basically a few commands
19:26:21 * Sgeo_ considers the advantages and disadvantages of analog storage
19:26:26 <Gregor-W> AnMaster: hg clone <url> ; hg commit ; hg push ; hg pull ; hg up
19:26:38 <AnMaster> <pikhq> Gregor-W: Few things I'm absolutely positive of: Linux calling convention. <-- yes at least on x86_64. What about some register calling convention on x86_32 though?
19:26:40 <Phantom_Hoover> There's a case for analog storage?
19:26:53 <pikhq> AnMaster: No.
19:26:58 <Gregor-W> Let's not mess with GCC's default C calling conventions, 'kay :P
19:26:59 <pikhq> AnMaster: No no no.
19:27:01 <AnMaster> Gregor-W, right, the last two were one step in bzr
19:27:16 <pikhq> Use the Linux calling convention, because this is the easy one.
19:27:19 <AnMaster> Gregor-W, hm wait we use centralised model instead of distributed? I'm lacking a "merge" there :P
19:27:22 <Sgeo_> Addition's pretty trivial. And most things would go to analog before being output
19:27:22 <pikhq> And the one that's most understandable.
19:27:36 <Phantom_Hoover> Sgeo_, multiplication?
19:27:37 <Gregor-W> AnMaster: It has merge too, I'm just hoping we don't bork up too much that merging gets crazy :P
19:27:41 <cpressey> AnMaster: hg pull -u makes them one step in hg. Fwiw.
19:27:41 <Phantom_Hoover> Division?
19:27:43 <Sgeo_> Hm, good point
19:27:45 <Phantom_Hoover> Exponentiation?
19:28:12 <AnMaster> Gregor-W, I'm used to bzr saying that branches has diverged. Anyway wouldn't you use feature branches and such? Oh how does hg switch between branches if it comes to that?
19:28:14 <Gregor-W> AnMaster: hg merge merges two active heads, hg merge <branch> merges a branch, hg resolve -l lists merge problems, hg resolve -m <file> marks a file as resolved.
19:28:15 <cpressey> hg: How I Learned to Hate Merges
19:28:25 <Sgeo_> Although actually, it would be easy to convert the analog into a series of signals and just repeat one of the analogs each signal
19:28:26 <pikhq> Gregor-W: Funny thought: qemu could have support for x86-Microcosm, and suddenly x86-Microcosm would be a totally awesome virtual machine to compete with Java. :P
19:28:27 <Phantom_Hoover> You need an analog process for all of these, and the digital equivalents are so superior that it's pretty pointless.
19:28:41 <pikhq> And then we could run Java on it.
19:28:43 <Gregor-W> AnMaster: hg branch <name> to create a branch, hg up <branch name> to update to a branch.
19:28:45 <AnMaster> pikhq, linux calling convention isn't easy. However it is sane
19:28:50 <AnMaster> pikhq, at least for 64-bit
19:28:53 <Sgeo_> Superior except in requring more parts
19:28:56 <AnMaster> I have no clue about 32-bit really
19:28:59 <pikhq> AnMaster: Perfectly easy to make GCC use it.
19:29:02 <Gregor-W> It's easy because if we don't touch GCC, that'll be the calling convention it uses :P
19:29:07 <pikhq> It's called "don't tell it otherwise".
19:29:07 <AnMaster> pikhq, well yes
19:29:32 <AnMaster> pikhq, but have you read the sysv-amd64-ABI?
19:29:34 <AnMaster> or whatever it is called
19:29:40 <Gregor-W> cpressey: The most important thing about merging on hg is to convince it NOT to try to use some shitty GUI merge tool, and just put the nice "<<<<<" in there.
19:29:50 <AnMaster> the rules for deciding what ends up where are somewhat complex, in order to get the most efficient result
19:30:07 <Sgeo_> Here's the basic model I'm working with, using my own terminology in place of terminology that I don't know if others came up with yet or what:
19:30:17 <Sgeo_> The essential unit is the awsistor.
19:30:32 <AnMaster> pikhq, presumably the code would be split in frontend and backend? Frontend for what the program sees and backend is the bit that differ between different "host OSes"
19:30:34 <AnMaster> hm
19:30:40 <Phantom_Hoover> Sgeo_, How does this work?
19:30:46 <Sgeo_> Phantom_Hoover, describing it now.
19:30:54 <AnMaster> pikhq, we need to come up with terminology for this first, or it will be too cumbersome
19:30:59 <Gregor-W> AnMaster: That's the "syscall layer"
19:31:03 <AnMaster> Gregor-W, right
19:31:21 <Sgeo_> Each awsistor can listen on 0 or 1 channels. THe channel can change, but it's tricky, and I don't think it's worth it
19:31:58 <pikhq> Gregor-W: Basically: we try to offer native libraries as much as possible. However, allow for access to host libraries by writing thunks to transfer between the ABIs. My opinion on this may well change if writing thunks is going to be more difficult than a few lines of assembly or C per function.
19:32:07 <Sgeo_> Each awsistor stores an N-Delay: An amount of time. It can receive an N-Delay from another awsistor on a channel. Its only reaction is to store this N-Delay internally.
19:32:28 <Gregor-W> pikhq: I get the feeling that thunks will basically be lunacy. Just my own fears manifesting themselves though ^^
19:32:28 <cpressey> Gregor-W: Yes, found that out the hard way, when it was silently doing no merging at all.
19:32:36 <Gregor-W> cpressey: Sweet X-D
19:32:52 <pikhq> Gregor-W: On Linux, thunks would probably be trivial. On OS X, not much work.
19:32:54 <AnMaster> Gregor-W, I'm soo tempted to make a commit with the message "first post!" to that repo ;P
19:32:57 <AnMaster> but I won't
19:33:03 <Sgeo_> An awsistor has an N-Delay of Infinity by default.
19:33:04 <pikhq> On Windows? I'm concerned.
19:33:21 <Gregor-W> cpressey: Yeah, hg's defaults changed recently w.r.t. merging ... it used to use the internal stupid-merge unless you told it otherwise. Now it defaults to trying to figure out a graphical merge tool, which is almost always wrong.
19:33:50 <Gregor-W> pikhq: No use making thunks that only work on one platform ;)
19:33:58 <AnMaster> pikhq, hm maybe we could translate GTK+ into native windows API at some point far far far into the future
19:34:03 <pikhq> Alternate thought: have a single "syscall" function provided by gelfload, through which you access the system.
19:34:12 <Gregor-W> pikhq: Uhh, that was the original idea?
19:34:13 <Sgeo_> An awsistor can receive an S-Signal on the channel. It can do any of a number of things in reaction, but to an s-signal, the same things are always the result. It can send S-Signals, N-Signals, D-Signals, change channels, or output [which isn't particularly relevant for now]
19:34:15 <pikhq> Advantages: Damned easy to do the marshalling.
19:34:21 <pikhq> Gregor-W: Yes, I'm aware.
19:34:35 <pikhq> Disadvantages: seems that it would make it harder to access native libraries...
19:34:38 <AnMaster> Gregor-W, does hg has anything like svn:external?
19:34:45 <Gregor-W> AnMaster: Unfortunately no :(
19:34:54 <pikhq> Erm.
19:34:55 <AnMaster> Gregor-W, would be useful to pull gelfload
19:34:56 <pikhq> s/native/host/
19:34:57 <Gregor-W> AnMaster: That's a feature I've severely missed on a few occassions, actually.
19:34:59 <pikhq> It'd be damned nice to, say, make Qt consist of a wrapper around the host Qt.
19:35:05 <Sgeo_> The amount of time between receiving an S-Signal and doing its reaction is equivalent to its stored N-Delay.
19:35:23 <Sgeo_> If it receives a D-Signal in that time, the reaction does not occur.
19:35:35 <AnMaster> pikhq, how would we handle stuff like fork() on win32?
19:35:36 <Sgeo_> There, that's everything, I think
19:35:40 <AnMaster> or win64 for that matter
19:35:57 <olsner> roll your own stack switching!
19:35:59 <Gregor-W> pikhq: Are you at least happy with my concept of having the builtin stuff only provide a "register syscall" syscalls, so that all the actual implementation can be in modules loaded via microcosm-modules.so? Keeping in mind that the way gelfload works, those can be host or microcosm libraries.
19:36:23 <Sgeo_> Oh, sometimes, an S-Signal can specify that it causes the receiving awsistor to repeat.
19:36:24 <zzo38> fork() works on Cygwin, it is used in IRCd software I use
19:36:27 <pikhq> AnMaster: Two ways: base it off of Cygwin, or don't have it.
19:36:35 <Sgeo_> Phantom_Hoover, thoughts?
19:36:37 <Gregor-W> pikhq: "Don't have it" is not an option.
19:36:38 <pikhq> Gregor-W: Seems like an easy way to make things work.
19:36:45 <AnMaster> pikhq, hm good ideas I guess
19:36:47 <pikhq> Does mingw have fork()?
19:36:59 <Gregor-W> Probably
19:37:03 <Phantom_Hoover> Sgeo_, OK, so how do we use it for processing?
19:37:06 <zzo38> I don't know, but I know MinGW doesn't have setenv()
19:37:07 <pikhq> No, it doesn't.
19:37:10 <Gregor-W> But IPC is probably wonky and not-POSIXy
19:37:18 <AnMaster> Gregor-W, what about "lets sort that out a bit later"
19:37:23 <Gregor-W> Yes :P
19:37:31 <Gregor-W> "Modules to be developed later: fork"
19:37:39 <AnMaster> Gregor-W, okay do you need some cross compiler for gelfload on linux?
19:37:42 <Sgeo_> Phantom_Hoover, I _think_ it's possible to make a transistor, and know it's possible to make a flip flip
19:38:15 <Phantom_Hoover> Sgeo_, I still don't see the advantages.
19:38:19 <pikhq> We could stub fork until such time as someone feels like redoing the Cygwin fork.
19:38:27 <Sgeo_> Phantom_Hoover, this is what I have to work with in Active Worlds.
19:38:28 <zzo38> I think you should just have a file gelfload.conf with commands such as DYNLINK, STUB, SYSCALL, THUNKCODE, TRANSLATE, and so on.
19:38:52 <AnMaster> pikhq, Gregor-W: brb, phone
19:38:57 <Phantom_Hoover> Sgeo_, why?
19:39:02 <Sgeo_> I want to make a programmable computer.
19:39:09 <Phantom_Hoover> Have you been unorthodoxly computing?
19:39:12 <Phantom_Hoover> Yes, you have.
19:39:32 <Sgeo_> http://www.activeworlds.com/help/aw42/ read the seconds on animate, astart, astop, and name
19:39:46 <pikhq> Alternately, we could say "screw Win32" and only do i686-pc-interix-ms
19:39:47 <pikhq> :P
19:39:53 <Sgeo_> animate is an N-Signal, astop is a D-Signal, astart is an S-Signal
19:40:00 <pikhq> (and thus get an *efficient* fork())
19:40:03 <Sgeo_> "channels" are names
19:40:13 <Sgeo_> I think it's better to think in terms of Awsistors
19:40:33 <zzo38> Doing it this way I specified can mean that you can change the system call gates and thunk codes and so on, for different systems and for different libraries you might use
19:40:38 <Gregor-W> AnMaster: You don't need a cross-compiler for gelfload on Linux, but you WILL need a cross-compiler since Microcosm is strictly a different OS.
19:41:38 <Phantom_Hoover> Sgeo_, are you just planning to make a conventional transistor-based computer?
19:42:07 <pikhq> Alternate-alternately: the Windows implementation could be done soley using threads. Making Microcosm an actual full kernel.
19:42:15 <Sgeo_> Probably not transistor-based, but more logic-gate based. Don't know how conventional or unconventional it should be
19:42:25 <zzo38> What is Microcosm OS?
19:42:28 <Gregor-W> pikhq: Implement virtual memory on virtual memory? Ew.
19:42:38 <pikhq> Gregor-W: Bwahahah.
19:43:06 <zzo38> Sgeo_: I have designed a computer using logic-gates. I have never actually built it, though. But I did run simulations of it
19:43:11 <Gregor-W> zzo38: A conceptual portable OS that abstracts away OS differences and provides a POSIX-compliant, consistent ABI on "every" OS.
19:43:39 <Gregor-W> zzo38: Err, missed a vital detail: It is an OS that runs on other OSes, to abstract away their differences.
19:44:00 <zzo38> Gregor-W: Inferno can do something similar I think, but not quite
19:44:07 <Gregor-W> Inferno is very thick.
19:44:33 <zzo38> Yes, that is one thing that isn't the same.
19:44:34 <Sgeo_> Why only "every"?
19:44:38 <Sgeo_> Is Win32 included?
19:44:48 <pikhq> The only thick thing here is thunking through to the host ABI.
19:45:00 <pikhq> Sgeo_: Yes.
19:45:10 <Gregor-W> Sgeo_: Win32 is sort of the evil "but we gotta do it" OS, so it'll definitely be supported. By putting quotes, I mean "not OS/2 or DOS" :P
19:45:15 <Gregor-W> Or Be
19:45:20 <zzo38> However, Inferno binaries are workable on any processor
19:45:34 <Gregor-W> zzo38: Which is not our goal at all.
19:45:39 <Sgeo_> Esotericers? Working on a globally-useful project? Did hell freeze over?
19:45:51 -!- relet has quit (Read error: Connection reset by peer).
19:45:55 <Phantom_Hoover> Wait, this is called Microcosm, right?
19:46:01 <Phantom_Hoover> #microcosm
19:46:03 <Gregor-W> Sgeo_: I'm glad you've deluded yourself into thinking it's useful :P
19:46:08 <Phantom_Hoover> We must stay useless.
19:46:28 <Sgeo_> How is it not useful?
19:46:32 * pikhq will be happy if this thing can run the darned heirloom utils
19:46:36 <ais523> what are you trying to do, exactly
19:46:54 <pikhq> Gregor-W: DOS could certainly be supported. However, this would be as a bare-hardware implementation.
19:47:00 -!- kar8nga has quit (Remote host closed the connection).
19:47:07 <Phantom_Hoover> What ais523 said.
19:47:24 <Gregor-W> Hey guys, apparently I own #microcosm ? I registered it years ago I guess.
19:47:25 <cpressey> Sgeo_: Sounds kind of like you'd want to use 555's as your basic units instead of transistors :)
19:47:34 <Sgeo_> 555s?
19:47:41 <cpressey> Sgeo_: timer chips.
19:47:42 <ais523> Sgeo_: a sort of timer
19:47:55 <ais523> you connect a resistor and capacitor to it, and maybe a few extra components if you want to make it more accurate
19:47:58 <Sgeo_> Can those work as basic units?
19:48:12 <Gregor-W> ais523, Phantom_Hoover: Create a microkernel that runs on top of other OSes, providing a consistent and POSIX-compliant API and ABI to nested processes and abstracting away the wonky OS differences below.
19:48:13 <Sgeo_> I mean, of logic gates?
19:48:14 <zzo38> Yes, that is a idea, try to make a computer using almost entirely 555 timer chips.
19:48:17 <ais523> probably, they have a bunch of connections
19:48:24 <ais523> Gregor-W: hmm, reminds me slightly of coLinux
19:48:25 <cpressey> Maybe, who knows? I don't think they can do quite everything you've described, unassisted, though.
19:48:43 <Gregor-W> ais523: But MUCH thinner.
19:48:46 <Phantom_Hoover> AnMaster, get onto #microcosm
19:48:48 <Phantom_Hoover> NOW.
19:48:48 <Sgeo_> Everything I've described is a basic part of an AW object
19:49:05 <ais523> hmm, more like WINE for kernels
19:49:32 <Gregor-W> ais523: Actually yeah. It's exactly like WINE, but the API/ABI is some general idealized POSIX instead of Windows.
19:49:42 <Phantom_Hoover> This sounds like a good idea.
19:50:21 <ais523> Linux-style ABI and sane POSIX-compliant API?
19:50:30 <ais523> (insane POSIX-compliant exists, but you probably wouldn't go for that)
19:51:11 <Gregor-W> Naw, we don't need this to be SUS03-compliant ;)
19:51:30 <ais523> you must put pax in the userland
19:51:38 <ais523> so people can read C-INTERCAL tarballs
19:51:59 <Phantom_Hoover> ais523, you can just use tar.
19:52:12 <ais523> I know
19:52:18 <ais523> but for some reason people never think of that until I tell them
19:52:27 <cpressey> This is ais523-humour?
19:52:28 <ais523> it's as if people haven't memorised all the POSIX-standard data archiving formats...
19:52:30 <Phantom_Hoover> It's not particularly obvious.
19:52:39 <Phantom_Hoover> It has "pax" on the end of the filename.
19:52:55 <ais523> Phantom_Hoover: and that's the name of the format?
19:53:13 <Phantom_Hoover> Traditionally.
19:53:26 <Sgeo_> I thought pax was some authentication thing
19:53:33 <Sgeo_> I think I was thinking of PAM?
19:53:35 <ais523> I mean, just because it's backwards-compatible with tar doesn't prevent it being called pax
19:53:36 <cpressey> Why is C-INTERCAL using so pedestrian an archive format? Surely, programmers would prefer ZOO archives?
19:53:37 <ais523> Sgeo_: yes, you were
19:53:42 <cpressey> Or ARJ?
19:53:52 <Sgeo_> Hm, this suggests using C-INTERCAL for authentication
19:53:57 <ais523> cpressey: INTERCAL's about bening different from everything else
19:54:06 <ais523> if it manages to simultaneously be more standards-compliant, so much the better
19:54:23 <cpressey> Ah. Standards-compliant and different. I see.
19:54:35 <ais523> different /by/ being standards-compliant
19:54:40 <cpressey> Yes.
19:54:43 <ais523> you should look at its build system sometime, I put months of effort into it
19:54:58 <ais523> trying to get it to work perfectly, without issues, for every sort of build imaginable
19:55:10 <ais523> although I haven't tested it on DOS or Windows yet, which is why it's still beta
19:55:35 <ais523> you see, people hardly ever use autoconf/automake correctly, not even GNU, and they invented them
19:55:53 <ais523> so I spent ages studying the way they were actually meant to work in order to try to use them in a way that actually worked correctly
19:56:00 <cpressey> Wait, it's *possible* to use them correctly? I thought their versioning system subverted that!
19:56:11 <ais523> cpressey: yep, although rather difficult
19:56:23 <ais523> to add extra fun, they don't take the possibility of a compiler into account
19:56:36 <ais523> build/host/target
19:56:50 <ais523> gcc's configure script is mostly written by hand, it seems, in order to get it working
19:57:06 <ais523> whereas I managed it all from autoconf, with a bit of complex trickery
19:57:12 <cpressey> Oh man.
19:57:23 <ais523> you can even cross-compile C-INTERCAL without issues
19:57:33 <ais523> and/or use parallel make (go -j2!)
19:58:02 <ais523> and it uses prebuilt lexers and parsers if lex/flex and/or yacc/bison is missing
19:58:03 -!- Gregor-P has joined.
19:58:04 <cpressey> That's sick in a way I certainly didn't expect.
19:58:07 <ais523> and all that sort of thing
19:58:36 <ais523> really, such a build system is wasted on C-INTERCAL, I should use it on something serious someday
19:59:01 <pikhq> ais523: That's a thing of beauty. I must see this.
19:59:22 <ais523> something I haven't tried, but should, is to see if I can make it into a Debian package using nothing but one call to dh_make and filling in the "put description here" fields
20:00:25 <ais523> download link is http://c.intercal.org.uk/
20:00:28 <ais523> get the latest beta
20:00:38 <ais523> (0.-2.0.29)
20:01:08 <ais523> build system's configure.ac, plus the contents of the buildaux subdir
20:01:21 <ais523> because I didn't want it littering the actual distribution root like most of them do
20:02:06 <ais523> oh, and I forgot: if you make changes to the build system, then it rebuilds itself and uses the newly-changed build system to rebuild the project
20:02:24 <ais523> except if you don't have the tools needed to rebuild the build system (say you're missing autoconf), it just prints a warning message and uses the old one
20:02:40 <ais523> ooh, and it does automatic dependency tracking too
20:02:54 <cpressey> Um. I have a ball.
20:02:59 * cpressey bounces his ball.
20:03:44 <AnMaster> <ais523> Gregor-W: hmm, reminds me slightly of coLinux <-- colinux is very very different afaik.
20:03:52 <AnMaster> it runs a linux kernel
20:04:27 <pikhq> ais523: Beauty.
20:04:46 <ais523> Claudio's thoughtfully provided an http download link for people who can't do Gopher over IPv6
20:05:16 <pikhq> Gopher over IPv6?
20:05:26 <AnMaster> ais523, he also provided a ipv4 gropher proxy iirc?
20:05:31 <zzo38> I cannot do anything over IPv6. I don't have IPv6
20:05:34 <ais523> not as far as I can remember
20:05:53 <ais523> in fact, I can't remember why there's an IPv6 gopher download link
20:06:07 <ais523> but it doesn't seem massively out of place
20:06:09 <AnMaster> ais523, pretty sure that happened when I tried to do gropher over ipv4. it gave me links to some gropher proxies to try
20:06:19 <AnMaster> including one he ren it seemed like
20:06:31 <AnMaster> since it was using the intercal domain
20:06:49 <ais523> just gives me an error when I follow the link
20:08:41 <AnMaster> ais523, worked for me hm
20:08:54 <AnMaster> ais523, gopher://gopher.intercal.org.uk/
20:09:11 <AnMaster> " IPv4 access to this gopher server is not supported, however the directories below may provide access to our IPv6-only servers. Feel free to try."
20:09:28 <AnMaster> first one listed is "gopher.intercal.org.uk" which links to gopher://gopher4.intercal.org.uk/1gopher.intercal.org.uk
20:09:45 <cpressey> bbl
20:09:47 -!- cpressey has left (?).
20:12:01 -!- relet has joined.
20:16:39 <zzo38> I want to eventually to write gopher client on nearly anything
20:17:07 <zzo38> Including "faxgopher" that all user interface is done by sending/receiving page by fax
20:17:19 <zzo38> And possibly also a gopher client on black and white GameBoy
20:17:46 <ais523> zzo38: it's a pity most of the world will never appreciate your ideas, you have some truly great ones
20:21:09 <zzo38> Have you ever play mahjong? Have you ever make rule variants of mahjong game?
20:21:36 <ais523> I'm afraid not; I've only played the solitaire version
20:21:45 <ais523> and it's rather different (and probably inferior) to the multiplayer version
20:22:12 <zzo38> ais523: Yes, it is a completely different game. It just uses the same tiles is all.
20:22:49 <coppro> zzo38: don't forget homing pigeon
20:23:22 <zzo38> Can you just review this tell me if you can understand (please note I am not finished writing it yet): http://zzo38computer.cjb.net/mahjong/anime_evolution/ Also tell me if you like these rules. This is a bit different rules from normal mahjong but it is based on the Japanese riichi mahjong rules, some things are based on ZungJung, but it has some new things as well
20:23:32 <zzo38> coppro: Homing pigeon?
20:23:42 <coppro> of course
20:23:51 <coppro> it's not a proper protocol until it's been implemented by pigeon
20:24:30 <zzo38> coppro: Do you mean, gopher protocol by pigeon? I have read of IP over carrier pigeon, it is very extremely slow but it does work (and it has been actually done)
20:24:38 <coppro> yes, exactly
20:27:48 <zzo38> Also gopher could be done over FORMCARD forms, which would be a bit difficult for some reasons, one thing is that FORMCARD does not support input in lowercase
20:28:08 -!- cal153 has quit (Ping timeout: 260 seconds).
20:28:09 <zzo38> And does not support all ASCII characters in form field input
20:31:05 <AnMaster> ais523, did you get gropher to work for intercal?
20:31:12 <ais523> AnMaster: no, I don't have IPv6
20:31:24 <AnMaster> ais523, see above... for the ipv4 proxy
20:31:30 <AnMaster> oh wait you filter gropher urls too?
20:31:39 <AnMaster> ais523, I think you need to go from the clc side, not the c side
20:31:46 <AnMaster> ais523, since you need to go to basedir
20:31:54 -!- hiato has joined.
20:31:55 <ais523> hmm, I have to go home anyway
20:31:59 <AnMaster> cya
20:32:30 -!- ais523 has quit (Remote host closed the connection).
20:36:09 <zzo38> Please tell me if the mahjong rules I wrote is good so far in your opinion?
20:37:44 <AnMaster> I have no idea about mahjong, couldn't possibly help you here
20:37:54 <AnMaster> why do you assume any of us are experts on this?
20:38:34 <zzo38> Even if you don't know about mahjong, it should tell you exactly how to play this game, even for someone who has not heard of the game before
20:43:06 <AnMaster> mhm
20:43:34 <AnMaster> zzo38, link to the file
20:44:24 <zzo38> AnMaster: http://zzo38computer.cjb.net/mahjong/anime_evolution/
20:45:22 <AnMaster> zzo38, yes but which file in there?
20:45:27 <AnMaster> the first one is empty
20:45:51 <zzo38> All of the files together make up the rules. Like I said, it isn't finished yet.
20:46:03 <zzo38> That file will be filled later on, so will other files be improved
20:46:11 <zzo38> But if you found a mistake or just a bad rule, tell me
20:46:57 -!- Gregor-P has quit (Quit: Bye).
20:47:21 <AnMaster> zzo38, too long to read :/
20:48:28 <zzo38> Perhaps read tiles.txt at first, you can better understand the other files after that
20:48:40 <AnMaster> as I said: too long to read
20:48:42 <AnMaster> tl;dr
20:48:43 <zzo38> Have you ever seen a set of mahjong tiles?
20:48:58 <zzo38> I have a Washizu Mahjong set.
20:49:13 -!- Gregor-P has joined.
20:49:23 <AnMaster> zzo38, I have played the solitaire version on computer, quite boring
20:49:38 <AnMaster> Gregor-W, wb
20:49:51 <zzo38> Washizu here does not refer to a real person, it refers to a character in the Akagi manga, invented by Nobuyuki Fukumoto.
20:53:38 <AnMaster> zzo38, did you miss that I said tl;dr ?
20:54:08 <zzo38> No.
20:54:28 -!- zzo38 has quit (Remote host closed the connection).
20:54:49 -!- cal153 has joined.
21:13:01 -!- augur has quit (Remote host closed the connection).
21:14:51 <AnMaster> night
21:28:40 -!- Gregor-P has quit (Ping timeout: 276 seconds).
21:48:18 -!- sebbu2 has joined.
21:49:19 -!- sebbu has quit (Ping timeout: 276 seconds).
21:49:19 -!- sebbu2 has changed nick to sebbu.
22:00:19 -!- myndzi has joined.
22:03:46 -!- myndzi\ has quit (Ping timeout: 276 seconds).
22:09:01 -!- hiato has quit (Quit: /quit /quit /quit /quit).
22:25:43 -!- pineappl1 has changed nick to pineapple.
22:28:55 -!- Oranjer has joined.
22:29:28 -!- Geekthras has quit (Ping timeout: 260 seconds).
22:42:01 -!- Geekthras has joined.
22:44:16 -!- ehirdiphone has joined.
22:44:42 <ehirdiphone> Lax patrol yields no packet control yields "Hi."
22:45:52 <Phantom_Hoover> ...OK...
22:49:43 <Sgeo_> hi
22:50:09 <Sgeo_> My computer's clock says 4:21. It's now 5:49
22:55:33 -!- Geekthras has quit (Ping timeout: 265 seconds).
23:01:01 -!- GreaseMonkey has joined.
23:07:19 <ehirdiphone> pikhq: since when are you unemployed? :(
23:07:38 <pikhq> ehirdiphone: Since months ago.
23:07:47 <ehirdiphone> Aw.
23:08:25 <ehirdiphone> Recession, or making the computers recursively self-improve?
23:08:40 <pikhq> Recession.
23:08:49 -!- Geekthras has joined.
23:09:06 <pikhq> Compiling X11 annoys me greatly.
23:12:04 <ehirdiphone> pikhq: Lets write our own X11 server.
23:12:20 <pikhq> ehirdiphone: Compiling *libX11* annoys me greatly.
23:12:25 <ehirdiphone> And call the server X.Org, not X11.
23:12:34 <pikhq> The X server itself is quite straightforward.
23:12:38 <ehirdiphone> pikhq: Lets write our own libX11.
23:12:50 <pikhq> Let's call it xcb.
23:13:06 <ehirdiphone> That depends on things.
23:13:34 <ehirdiphone> Call it lib12 (roman numerals :P)
23:13:50 <ehirdiphone> Then 12serv on top.
23:14:05 <pikhq> While we're at it, let's make X12.
23:14:06 <pikhq> :P
23:14:18 <ehirdiphone> No. That is too far :P
23:14:31 <ehirdiphone> X should just be skullfucked then left to die.
23:14:37 <ehirdiphone> Forever.
23:14:38 <GreaseMonkey> !bfjoust nub >+[(+)*10>[[-]<]+]
23:14:45 <GreaseMonkey> oops syntax error
23:14:50 <GreaseMonkey> wait
23:14:55 <coppro> ehirdiphone: got a better idea?
23:14:57 <EgoBot> Score for GreaseMonkey_nub: 6.0
23:15:02 <GreaseMonkey> wow.
23:15:07 <GreaseMonkey> !bfjoust nub >+[(+)*10>[[+]<]+]
23:15:19 <ehirdiphone> !bfjoust sludge (>+>-)*20
23:15:26 <EgoBot> Score for ehirdiphone_sludge: 0.0
23:15:27 <EgoBot> Score for GreaseMonkey_nub: 5.7
23:15:27 <ehirdiphone> coppro: Yes.
23:15:52 <coppro> and that is?
23:16:12 <GreaseMonkey> !bfjoust nub >+[[(+)*10>[[+]<](-)*10>[[+]<]+]+]
23:16:15 <ehirdiphone> coppro: Do you have hours? And a keyboard for me?
23:16:20 <ehirdiphone> No? Well then.
23:16:27 <coppro> ehirdiphone: give me the cliff notes version
23:16:27 <EgoBot> Score for GreaseMonkey_nub: 5.1
23:16:29 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:17:15 <ehirdiphone> coppro: Composable, extensible abstract views and mungers over STUFF.
23:17:16 <GreaseMonkey> !bfjoust nub >+[[(+)*10>[-[-[-[-[-[-[-[-[-[-[-[+]]]]]]]]]]]+]+]
23:17:27 <coppro> ehirdiphone: cool
23:17:29 <EgoBot> Score for GreaseMonkey_nub: 8.9
23:17:30 <ehirdiphone> Meaningless? Yes. You asked for cliff notes.
23:17:46 <GreaseMonkey> yeah, that's better
23:18:05 <ehirdiphone> GreaseMonkey: Loops are death.
23:18:11 <GreaseMonkey> hmmkay
23:18:37 <ehirdiphone> pikhq: I bet you could write a decent libtwelve in... 2,000 lines.
23:18:40 -!- augur has joined.
23:18:43 <ehirdiphone> 3k at most.
23:18:55 <pikhq> ehirdiphone: But nothing links against libtwelve.
23:18:58 <GreaseMonkey> !bfjoust pool [[(>+>-)*3(<)*2+]+]
23:19:03 <ehirdiphone> Then 12serv, minus drivers? Let's say 800.
23:19:04 <EgoBot> Score for GreaseMonkey_pool: 0.0
23:19:07 <GreaseMonkey> ow.
23:19:09 <ehirdiphone> pikhq: 12serv does.
23:19:29 <ehirdiphone> pikhq: Besides. Compatibility layer.
23:19:49 <GreaseMonkey> !bfjoust pool [[(+>[-[-[-[-[+]]]]]->)*3(<)*2+]+]
23:20:02 <EgoBot> Score for GreaseMonkey_pool: 1.0
23:20:35 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*3>(+)*3>[-[-[-[-[+]]]]](<)*2+]+]
23:20:42 <ehirdiphone> pikhq: All in all, 4k lines upper bound for a nice minimalist X solution.
23:20:44 <EgoBot> Score for GreaseMonkey_pool: 11.7
23:20:51 <GreaseMonkey> i just realised that i'm probably killing myself here
23:21:00 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*4>(+)*5>[-[-[-[-[+]]]]](<)*2+]+]
23:21:10 <EgoBot> Score for GreaseMonkey_pool: 14.0
23:21:17 <GreaseMonkey> yeah that's getting there
23:21:47 <GreaseMonkey> oh yay i'm actually on the hill now
23:22:12 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*4>(+)*8>[-[-[-[-[+]]]]](<)*2+]+]
23:22:16 <ehirdiphone> !bfjoust lunge (>)*15(>(-)*128[+--+-])*30
23:22:17 -!- myndzi has quit (Read error: Connection reset by peer).
23:22:31 <EgoBot> Score for ehirdiphone_lunge: 2.8
23:22:31 <EgoBot> Score for GreaseMonkey_pool: 14.3
23:22:43 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*8>(+)*17>[-[-[-[-[+]]]]](<)*2+]+]
23:22:47 -!- myndzi has joined.
23:22:52 <EgoBot> Score for GreaseMonkey_pool: 12.1
23:22:53 <ehirdiphone> pikhq: Y'know what?
23:22:56 <GreaseMonkey> aww :/
23:23:02 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*5>(+)*13>[-[-[-[-[+]]]]](<)*2+]+]
23:23:11 <EgoBot> Score for GreaseMonkey_pool: 8.3
23:23:13 <ehirdiphone> Lets just implement plan9 gfx + rio for Linux.
23:23:16 <GreaseMonkey> WHYYYYYYYY
23:23:26 <ehirdiphone> /dev/screen
23:23:29 <GreaseMonkey> !bfjoust pool [[(+)*3>(-)*5>(+)*7>[-[-[-[-[+]]]]](<)*2+]+]
23:23:38 <EgoBot> Score for GreaseMonkey_pool: 10.7
23:23:41 <GreaseMonkey> !bfjoust pool [[(-)*3>(+)*5>(+)*7>[-[-[-[-[+]]]]](<)*2+]+]
23:23:50 <ehirdiphone> rio provides /dev/win/me/shit
23:23:52 <EgoBot> Score for GreaseMonkey_pool: 10.7
23:24:02 <ehirdiphone> & /dev/win/N
23:24:05 <GreaseMonkey> !bfjoust pool [[(-)*3>(+)*4>(+)*8>[-[-[-[-[+]]]]](<)*2+]+]
23:24:08 <ehirdiphone> Job done
23:24:14 <EgoBot> Score for GreaseMonkey_pool: 12.4
23:24:21 <GreaseMonkey> !bfjoust pool [[(-)*3>(+)*4>(+)*5>[-[-[-[-[+]]]]](<)*2+]+]
23:24:22 <ehirdiphone> Insert libx11 compatibility layer
23:24:30 <EgoBot> Score for GreaseMonkey_pool: 16.0
23:24:34 <GreaseMonkey> oh yay
23:24:44 <GreaseMonkey> !bfjoust pool [[>(-)*16>(+)*5>[-[-[-[-[+]]]]](<)*2+]+]
23:24:53 <EgoBot> Score for GreaseMonkey_pool: 9.9
23:24:55 <GreaseMonkey> !bfjoust pool [[>(-)*16>(+)*5>[-[-[-[-[+]]]]]<+]+]
23:25:00 <ehirdiphone> pikhq: alas Linux has no bind(2)
23:25:02 <EgoBot> Score for GreaseMonkey_pool: 0.7
23:25:04 <GreaseMonkey> ?!
23:25:08 <GreaseMonkey> !bfjoust pool [[(-)*3>(+)*4>(+)*5>[-[-[-[-[+]]]]](<)*2+]+]
23:25:13 <GreaseMonkey> i'll shove my older one in
23:25:17 <EgoBot> Score for GreaseMonkey_pool: 12.8
23:25:17 <ehirdiphone> pikhq: Lets just write a plan 9ish os :P
23:25:37 <GreaseMonkey> !bfjoust pool [[(-)*3>(+)*4>(+)*5>[-[-[-[-[+]]]]](<)*2+]+]
23:25:46 <EgoBot> Score for GreaseMonkey_pool: 12.8
23:26:01 <GreaseMonkey> somebody screwed me >_<
23:26:45 <pikhq> ehirdiphone: At this rate I'm just wondering what's the nicest system that can be done on the framebuffer.
23:27:02 <ehirdiphone> pikhq: yfs /n/server.net/dev/drive3 /stuff
23:27:11 <ehirdiphone> Fuck yeah, Plan... y?
23:27:20 <ehirdiphone> Plan gamma. Gimme a gamma.
23:27:48 <pikhq> Man. DirectFB. :)
23:28:01 <pikhq> *There's* what FURINIKUSU needs.
23:28:18 <GreaseMonkey> !bfjoust mine >[[-]+[-[--[+]...]+]+]
23:28:27 <ehirdiphone> newwin 'cat /n/othercomp/dev/screen >/dev/screen' # 'vnc'
23:28:27 <EgoBot> Score for GreaseMonkey_mine: 4.1
23:28:33 <GreaseMonkey> aww :(
23:28:46 <GreaseMonkey> !bfjoust mine (+)*7>[[-]+[-[--[+]...]+]+]
23:28:52 <ehirdiphone> well kb and mouse too :P
23:28:56 <EgoBot> Score for GreaseMonkey_mine: 4.1
23:28:58 <ehirdiphone> *needs
23:29:01 <ehirdiphone> after well
23:29:08 <GreaseMonkey> oh, right, i get it
23:29:12 <GreaseMonkey> !bfjoust mine (+)*7>[-]+[[-]+[-[--[+]...]+]+]
23:29:18 <ehirdiphone> pikhq: gimme a gamma!
23:29:32 <EgoBot> Score for GreaseMonkey_mine: 0.0
23:29:41 <GreaseMonkey> !bfjoust mine >(+)*101>[-]+[[-]+[-[--[+]...]+]+]
23:29:57 <EgoBot> Score for GreaseMonkey_mine: 0.0
23:30:02 <ehirdiphone> GreaseMonkey: No, you don't get it :P
23:30:10 <GreaseMonkey> well i get what the bug is
23:30:17 <ehirdiphone> pikhq: Gamma symbol!
23:30:26 -!- cpressey has joined.
23:30:41 <GreaseMonkey> !bfjoust mine >(+)*101>[-]+[-[-]+[-[--[+]...]+]+]
23:30:54 <ehirdiphone> Hi cpressey
23:30:54 <cpressey> ehirdiphone: Turns out I have zero good ideas for bots. As I suspected.
23:30:58 <EgoBot> Score for GreaseMonkey_mine: 0.0
23:30:58 <GreaseMonkey> 'lo
23:31:02 <GreaseMonkey> butt >_<
23:31:08 <ehirdiphone> cpressey: Make one that lets me do
23:31:13 <ehirdiphone> .char gamma
23:31:15 -!- oerjan has joined.
23:31:18 <ehirdiphone> and get a gamma
23:31:22 <ehirdiphone> GIMME A GA
23:31:24 <ehirdiphone> Mms
23:31:26 <pikhq> ehirdiphone: OMG. DirectFB.
23:31:28 <ehirdiphone> GAMMA
23:31:31 <pikhq> Erm. XDirectFB.
23:31:32 <ehirdiphone> GIMME ONE
23:31:42 <ehirdiphone> pikhq: yeah
23:31:48 <pikhq> *That* is how to do X.
23:31:51 <ehirdiphone> iirc shitty
23:32:02 <ehirdiphone> *iirc,
23:32:16 <ehirdiphone> Someone paste a fucking gamma!
23:33:34 <cpressey> wtf omg haha
23:33:35 <ehirdiphone> -_-
23:33:39 -!- tombom has quit (Quit: Leaving).
23:33:42 <ehirdiphone> PLEASE
23:33:50 <cpressey> One second, pilgrim.
23:34:02 <pikhq> Hmm. Alternately, use GTK-DirectFB (and fuck Firefox. Just, fuck Firefox.)
23:34:20 <ehirdiphone> pikhq: I'm no furry.
23:34:20 <cpressey> γ
23:34:29 <ehirdiphone> cpressey: <3
23:34:47 <Gregor-W> Damn it. I was just looking for a Unicode high bar, to do |<high bar> and be a jerk.
23:34:49 <cpressey> A bot to privmsg you unicode characters actually is not a bad idea.
23:34:57 <ehirdiphone> pikhq: Plan γ
23:35:07 <cpressey> I'm sure such a trick could be taught to one of the existing bots though.
23:35:07 <ehirdiphone> Gregor-W: wat
23:35:23 <oerjan> !userinterps
23:35:23 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc drawl drome dubya echo eehird ehird fudd funetak google graph gregor he hello id jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro slashes svedeesh swedish valspeak warez yodawg
23:35:55 <oerjan> ^show
23:35:55 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord
23:36:03 <ehirdiphone> !ehird Hello world
23:36:05 <EgoBot> Hello world
23:36:16 <ehirdiphone> !ehird What is this gaps?
23:36:17 <EgoBot> Wut is this gaps?
23:36:33 <ehirdiphone> !eehird is an excellent man diverse.
23:36:39 <cpressey> To write a bot that executes user code, you need to set up a timeout and shit, and... yeah. I don't care enough to write all that. If I did, I'd do it in Erlang.
23:36:53 <oerjan> ^ord Ø
23:36:53 <ehirdiphone> !bypass_ignore shitters
23:36:53 <fungot> 195 152
23:36:54 <EgoBot> shitters
23:37:11 <oerjan> ^asc 195 152
23:37:11 <fungot> 49.
23:37:15 <oerjan> wtf
23:37:16 <ehirdiphone> ^ord please make ^ord use commas and . :P
23:37:17 <fungot> 112 108 101 97 115 101 32 109 97 107 101 32 94 111 114 100 32 117 115 101 32 99 111 109 109 97 115 32 97 110 100 32 46 32 58 80
23:37:21 <oerjan> oh they're not inverses
23:37:41 <ehirdiphone> ^asc is the old name
23:37:42 <fungot> 105.
23:37:47 <oerjan> ^asc Ø
23:37:47 <fungot> 195.
23:37:59 <oerjan> oh and single-byte
23:37:59 <ehirdiphone> One char only
23:38:03 <ehirdiphone> Byte rather
23:38:08 <ehirdiphone> ^ord inary
23:38:08 <fungot> 105 110 97 114 121
23:38:19 <ehirdiphone> ^ord œ
23:38:19 <fungot> 197 147
23:38:22 <ehirdiphone> see?
23:38:30 <ehirdiphone> ^ord æ
23:38:30 <fungot> 195 166
23:38:40 <oerjan> however, my idea here was that the reverse should be capable of doing what cpressey asked
23:38:55 <ehirdiphone> But we need search
23:39:10 <ehirdiphone> .char em dash
23:39:10 <cpressey> oerjan: most useful if the bot could translate names like 'gamma' to chars
23:39:13 <oerjan> ah
23:39:15 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:39:21 <ehirdiphone> .char combining x
23:39:23 <ehirdiphone> etc
23:39:28 <cpressey> if i'm going ot look up the unicode code point, i might as well copy the character out of whatever i used to look that up in
23:39:37 <GreaseMonkey> i might (read: MIGHT) try making a BF joust program in lua
23:39:37 <ehirdiphone> .char sup 3
23:39:44 <GreaseMonkey> i just need the lua 5.1 VM spec
23:39:50 <ehirdiphone> GreaseMonkey: handle polarity
23:40:02 <GreaseMonkey> ehirdiphone: can be done
23:40:04 <ehirdiphone> and tapering
23:40:20 <GreaseMonkey> turns out i have that doc i need
23:40:24 <cpressey> Heck, let it receive "I've got a &gamma; here" and have it provide a translation
23:40:31 <ehirdiphone> (just like polarity for tape lengths)
23:40:43 <ehirdiphone> cpressey: No, \gamma
23:41:01 <cpressey> As it suits you, miss.
23:41:24 <ehirdiphone> I've got an \ae{}mazing pre\"empting
23:41:27 <ehirdiphone> ->
23:41:39 <GreaseMonkey> wow kwrite thinks # is a comment in lua
23:41:45 <ehirdiphone> I've got an preëmpting
23:41:53 <ehirdiphone> ...
23:42:01 <ehirdiphone> *æmazing
23:42:43 <ehirdiphone> What's the erdos accent in tex?
23:42:56 <ehirdiphone> the ’’ thing
23:43:38 <oerjan> cpressey: i note that http://unicode-search.net/unicode-namesearch.pl?term=gamma&.submit=Send+foresp%C3%B8rsel&subs=1&print=1 gives a whole slew of hits for "gamma"
23:44:49 <cpressey> oerjan: For some reason that doesn't bother me much
23:45:03 <oerjan> cpressey: well it means there's a lot to extract
23:45:35 <cpressey> oerjan: I was not really thinking of arbitrary unicode chars, just common ones
23:45:50 <cpressey> After all, only the ones *I* would think to use, are the important ones. Clearly.
23:46:05 <oerjan> hmph
23:46:05 <ehirdiphone> pikhq: /dev/power. You halt with 'echo off>/dev/power' :D
23:46:31 <cpressey> I try to have a text file of those, but it's a pain to remember to have it open. Mainly the emdash, arrows, greek letters, and some set theory operators
23:47:09 <oerjan> cpressey: however note that there are already _two_ common hits there, capital and small
23:47:20 <ehirdiphone> pikhq: ps2kbd /dev/ps2/kbd
23:47:24 <Gregor-W> /dev/elf . To run something, cat someelf > /dev/elf
23:47:37 <ehirdiphone> usbmouse /dev/usb1
23:47:40 <Gregor-W> Uhh, Idonno how args get in there.
23:47:54 <oerjan> oh and they're not the first ones either, that's some obscure "latin gamma" thing
23:48:27 <ehirdiphone> oerjan: Favour lower over upper. Shorter name than longer. Greek than Latin
23:48:44 <ehirdiphone> (shorter/longer after REMOVING preferred words)
23:48:45 <cpressey> oerjan: OK, OK. Translate HTML entities then. Covers my use case, and maybe ehird's, modulo the ridiculous wanting-TeX-syntax thing. &gamma; and &Gamma;.
23:49:00 <ehirdiphone> TeX syntax is hugs.
23:49:21 <cpressey> Gag me with a $spoon$
23:49:21 <oerjan> *huge
23:50:13 <oerjan> ehirdiphone: also, \"
23:50:24 <oerjan> iirc
23:50:33 * GreaseMonkey now reading ANoFrillsIntroductionToLua51VMInstructions.pdf
23:50:39 <ehirdiphone> cpressey: \forall [\alpha, \beta, \gamma \in \emptyset] (\alpha \to \beta \to \gamma) \to (\beta \to \alpha \to \gamma)
23:50:48 <oerjan> or wait is that ordinary
23:50:53 <ehirdiphone> cpressey: beat that with HTML
23:50:58 <ehirdiphone> oerjan: that's umlaut
23:51:19 <oerjan> ehirdiphone: right i just realized
23:51:27 <oerjan> ehirdiphone: \H maybe
23:51:36 <ehirdiphone> why H??
23:51:40 <oerjan> rings a vague bell
23:51:47 <ehirdiphone> Paul Erd\Hos :P
23:51:53 <oerjan> hungarian? also vaguely shaped the same
23:52:19 <ehirdiphone> oerjan: define vaguely
23:52:30 <ehirdiphone> H ’’
23:52:36 <ehirdiphone> not seeing it
23:52:37 <oerjan> ehirdiphone: two vertically oriented lines?
23:53:00 <ehirdiphone> except they're very slanted and H's are connected
23:53:20 <oerjan> what part of "vaguely" don't you understand?
23:53:58 <ehirdiphone> the part where it means "arbitrarily"
23:54:08 <Sgeo_> What's an easy way to convert binary to decimal
23:54:18 <ehirdiphone> ignore "phone", squint and my name looks like yours
23:54:28 <ehirdiphone> Sgeo_: lern2algorith
23:54:30 <ehirdiphone> m
23:54:54 <pikhq> Learn2al gore rhythm
23:55:11 * Sgeo_ hopes it doesn't require many logic gates
23:55:13 <ehirdiphone> climate change in da house
23:55:14 <Gregor-W> Play that funky music, Al Gore
23:55:29 <ehirdiphone> Sgeo_: divmod for one
23:55:31 <Sgeo_> I can't even add binary numbers yet, and that just takes AND and XOR
23:55:43 <ehirdiphone> Then give up
23:56:00 <Sgeo_> Or I could eventually construct AND and XOR
23:56:02 <Sgeo_> Somehow
23:56:12 <Sgeo_> Or just convert to analog for addition
23:56:22 <ehirdiphone> I meant on bin2dec.
23:56:46 <Sgeo_> Hm.
23:56:51 <Sgeo_> I wonder if I could do it in analog
23:57:09 <ehirdiphone> Back soon.
23:57:13 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
2010-06-29
00:01:41 <cpressey> Python can't seem to fork under Cygwin anymore. Yay.
00:03:02 <olsner> use windows' python under cygwin :)
00:03:37 <cpressey> I would except for the eggs.
00:03:54 <cpressey> Man, there is a dimension along which Python is such a *joke*.
00:05:31 <pikhq> cpressey: You realise where the name comes from, right?
00:06:39 <cpressey> pikhq: The difference is, they were funny.
00:06:45 <Gregor-W> X-D
00:07:26 <pikhq> cpressey: The eggs thing has the same source.
00:07:29 <Sgeo_> Is it sinful to represent 1s and 0s in a way such that 1s don't need to be maintained by a constant pulse?
00:07:52 <pikhq> The spam spam spam spam ham eggs and spam doesn't have too much spam in it, you see.
00:10:54 <oerjan> Sgeo_: no. i would like to see the religion that even mentioned it.
00:11:18 -!- myndzi has quit (Read error: Connection reset by peer).
00:11:41 -!- myndzi has joined.
00:11:53 <cpressey> Ye pulse of ye liffe of ye ones
00:12:07 -!- oerjan has quit (Quit: Reboot).
00:12:58 <cpressey> Yay I fixed it by doing '/bin/rebaseall' from a hand-started-from-command-prompt ash shell
00:13:47 <cpressey> Need to be off though.
00:14:11 <cpressey> (circle-finger-thumb salute) Be seeing you.
00:14:14 -!- cpressey has quit (Quit: Leaving.).
00:18:39 -!- augur has quit (Remote host closed the connection).
00:19:02 -!- augur has joined.
00:20:48 <GreaseMonkey> lua-5.1: l51_npol.tmp: unexpected end in precompiled chunk
00:20:53 <GreaseMonkey> IT'S WRITING STUFF
00:22:46 <cheater99> is alise in the can today again
00:27:44 -!- oerjan has joined.
00:30:03 <GreaseMonkey> IT COMPILES AND RUNS \o/
00:30:03 <myndzi> |
00:30:03 <myndzi> /<
00:30:08 <GreaseMonkey> now to actually make it do something
00:30:46 -!- ehirdiphone has joined.
00:30:50 <ehirdiphone> Night.
00:31:07 <Gregor-W> GreaseMonkey: If it compiles and runs, that means it works.
00:31:21 <Gregor-W> :P
00:31:28 <Gregor-W> ehirdiphone: Thank you for joining just to say that ...
00:31:35 <GreaseMonkey> Gregor-W: you forgot "and if it doesn't crash"
00:31:40 <GreaseMonkey> which is true, it doesn't crash.
00:31:47 <oerjan> no no, he's not joining just to say that, he's actually living backwards now
00:31:56 <ehirdiphone> Gregor-W: I promised to be back soon.
00:31:59 <oerjan> freak time machine accident
00:32:10 <Sgeo_> Night ehirdiphone
00:32:22 <ehirdiphone> .deednI :najreo
00:32:38 <ehirdiphone> GreaseMonkey: Crashing != running
00:32:40 <ehirdiphone> Bye.
00:32:44 -!- ehirdiphone has quit (Client Quit).
00:32:56 <Sgeo_> hm, ehirdiphone is c'laeT?
00:33:01 <GreaseMonkey> hmmkay
00:40:09 -!- yiyus has quit (Ping timeout: 240 seconds).
00:44:03 -!- yiyus has joined.
00:47:53 -!- ipatrol has joined.
00:48:08 -!- Gregor-W has left (?).
00:48:59 <ipatrol> I'm working on an idea called OS complete
00:49:49 <ipatrol> That is to say a program that can emulate any turing machine running on a given OS
00:50:31 <ipatrol> So filesystem, sockets, shell calls, and pipes
00:52:24 <ipatrol> In the process I created a 2D version of brainfuck that containes several rows, traversable with ^ and _
00:53:27 <oklopol> so is cygwin linux hard
00:53:50 <ipatrol> Also a typing system consisting of Bool, Int, Char, and Base256 (string)
00:53:52 <GreaseMonkey> and this is the part where i basically give up because it looks like i'll need to spend lots of that thing called TIME on it.
00:54:20 <oklopol> GreaseMonkey: yes this 2d bf does sound a bit too complicated
00:54:51 <oklopol> ipatrol: how do nesting and direction change interplay
00:55:00 <GreaseMonkey> the idea is that you have a 2D array of routines or something like that
00:55:02 <ipatrol> It's simple: bf has one array, 2D has more
00:55:11 <GreaseMonkey> one dimension for one program, another for the other
00:55:16 <GreaseMonkey> and basically every entry has
00:55:23 <ipatrol> oklopol: ^ goes up an array, _ goes down
00:55:32 <ipatrol> Using an array pointer
00:55:35 <GreaseMonkey> pre_exec prog_a_op prog_b_op post_exec
00:55:37 <ipatrol> so think of
00:56:04 <ipatrol> [[0],[0,5,8],[5,7,0]]
00:56:22 <ipatrol> A two dimensional array
00:56:47 <oklopol> oh wait
00:56:51 <oklopol> you mean the memory is 2d
00:57:07 <GreaseMonkey> i'll probably need to use coroutines for this...
00:57:12 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:57:23 <GreaseMonkey> ...which is something Lua gives
00:57:28 <ipatrol> int bfarray[size][size] = {{0}}
00:57:29 <GreaseMonkey> while i'm trying to make it in python
00:57:43 <ipatrol> Yes, I'm using pythom
00:57:45 <oklopol> ipatrol: that doesn't answer my question
00:57:46 <ipatrol> n
00:58:01 <ipatrol> oklopol: Yes, the memory is two-D
00:58:03 <oklopol> okay
00:58:25 <oerjan> ipatrol: i detect a haskellite, you know String = [Char] and Char is not 256 values, right?
00:58:36 <oklopol> using python
00:58:42 <ipatrol> I said base256
00:58:46 <oklopol> tho
00:58:50 <ipatrol> Use baseconv on pypi
00:59:12 <oerjan> oh it's the same type names in python?
00:59:24 <ipatrol> roughly
00:59:50 <oklopol> python doesn't have chars
00:59:54 <ipatrol> -1 = None, 0 = False, above that is True
00:59:58 <oklopol> and the names are lowercase
01:00:05 <ipatrol> oklopol: chr(value)
01:00:08 <pikhq> And its typesystem is all runtime.
01:00:14 <oklopol> that's a string
01:00:22 <oklopol> pikhq: yeah but talking about names
01:00:27 <GreaseMonkey> plan C: let's go back to Lua!
01:00:39 <ipatrol> pikhq: No, Python is the interpreter's langiage
01:00:49 <oklopol> what
01:00:55 <oklopol> ipatrol: you say the weirdest things :P
01:01:08 <oerjan> oh python _is_ lowercase?
01:01:18 <GreaseMonkey> True.
01:01:26 <oklopol> oerjan: what?
01:01:27 <ipatrol> Python is both
01:01:38 <oklopol> what does it mean for a language to be lowercase
01:01:47 <oerjan> ipatrol: your type names confused me because Bool, Int and Char are haskell types, including the capitalization
01:02:00 <oerjan> oklopol: *python's type names are
01:02:22 <oklopol> okay i couldn't have deduced you meant that
01:02:34 <ipatrol> oerjan: I use classes to emulate that
01:02:53 <oerjan> and Base256 could easily be one, but String is based on Char which is not base 256
01:03:11 <oklopol> ipatrol: couldn't you let python emulate them with its own types?
01:03:16 <oerjan> (there is Bytestring though)
01:03:28 <oerjan> er maybe ByteString
01:03:36 <ipatrol> oerjan: You can call them Fuck Damn and Hell for all I care!
01:03:41 <oklopol> i prefer python's way of not having characters at all, just strings
01:03:47 <oklopol> that's how math does it
01:03:49 <oklopol> too
01:03:55 <oerjan> ipatrol: i just thought you were using haskell, is all
01:04:04 <oklopol> or well, at least occasionally
01:04:10 <ipatrol> oklopol: char is len(str) == 1
01:04:22 <ipatrol> oerjan: WTF's haskell?
01:04:36 <oklopol> if you have an element of the alphabet then it's a symbol, but with regexps you tend to do what python does
01:04:42 <oerjan> ipatrol: a programming language that is quite popular in this channel
01:04:43 <oklopol> ipatrol: lol you definitely say the weirdest things
01:04:49 <oerjan> http://www.haskell.org/
01:04:57 <oklopol> ipatrol: no
01:05:00 <ipatrol> Better if I show you
01:05:20 <ipatrol> You'll understand then
01:05:24 -!- ipatrol has quit (Quit: TCP FIN).
01:05:25 <oklopol> well you can think like that, but it doesn't really make sense that if you have a set of strings, some of them just happen to be chars instead when the length is 1
01:05:26 <oerjan> ipatrol: very unusual in many ways
01:05:35 <oklopol> IMO
01:05:39 <oklopol> i mean just IMO
01:06:09 -!- Gregor has quit (Ping timeout: 252 seconds).
01:06:24 * oerjan now expects oklopol to say "_I_ would have banned him already" ;D
01:07:53 <oklopol> :-=)
01:08:22 <oklopol> i don't get what he meant he was showing
01:09:29 <oklopol> i mean i understand the quit but i don't understand the showing
01:09:30 <oerjan> i hope he didn't think we have anything against python. it may very well be even more popular than haskell here
01:09:45 <oklopol> python!"
01:09:50 <oklopol> *-"
01:12:42 <oerjan> wait math has just strings no characters? i'm not sure that's accurate.
01:13:21 <oklopol> it's not
01:13:22 <oerjan> i'd rather say math has rampant implicit type casts, which work from a set to its free monoid among other things
01:13:26 <oklopol> yes
01:13:33 <oklopol> that's what i meant
01:13:42 <oklopol> i did elaborate on this a bit
01:13:56 <oerjan> oh
01:14:00 <oklopol> not nearly as clearly as you
01:14:11 * oerjan should learn to read to the bottom before responding. nah.
01:15:00 <oklopol> sometimes there definitely are symbols, but i mean say in combinatorics on words, i just can't imagine how it could ever be useful
01:15:10 -!- augur has quit (Ping timeout: 245 seconds).
01:15:58 <oklopol> anything you can do with symbols makes sense with words, one-letter strings just have a few important properties, some of which are shared by for instance unbordered words
01:16:19 <oklopol> well w/e i'm sure we're in an understanding, i'm not sure who i'm talking to
01:16:36 <GreaseMonkey> wow immibis's bfjoust programs are REALLY big when you unpack them
01:16:36 <oklopol> i should consider going to work maybe
01:16:42 -!- Gregor has joined.
01:16:47 <oklopol> immibis is alive?
01:16:49 <oerjan> oklopol: hm like if you have a prefix-free set of words, you can easily pretend _they_ are symbols instead
01:16:51 <oklopol> where does he flood nowadays?
01:17:05 <GreaseMonkey> is there a bfjoust program with the {} things in them?
01:17:24 <oerjan> or suffix-free
01:18:44 <oklopol> yes, at least it would make *sense*, i'm trying to find some sort of example
01:20:47 <oklopol> but mostly i just meant that you say things like u=aw where |a|=1, instead of ever using a variable of type symbol
01:21:07 <oklopol> also i misparsed "variable of type symbol" a second after writing it
01:22:01 -!- MizardX has quit (Ping timeout: 276 seconds).
01:22:21 <oklopol> also many times i think i've seen a case of something being proven for binary, and then a trivial reduction from the general case with the morphism a_n --> 0^n 1, so in that case i guess it would be clear that a prefix set will behave like its unique inverse image
01:22:22 <oerjan> well sometimes you use capital letters for words that aren't symbols, i think
01:22:29 <oklopol> not in cow
01:22:32 <oklopol> well
01:22:40 <oklopol> at least in the small amount of literature i've read
01:22:42 <oerjan> like metasyntactic variables, really
01:22:48 <oerjan> cow?
01:22:56 <oklopol> capitals are for languages
01:23:02 <oklopol> combinatorics o[nf] words
01:23:26 <oerjan> hm i may be thinking of logic
01:23:34 <oerjan> which also uses words
01:23:56 <oklopol> i don't know anything about logic
01:24:09 <oklopol> i wish i did, apparently tiles are important in logic
01:24:35 <oklopol> whether a tilesets admits a periodic tiling is the same as whether there's a finite model for some type of logic afaiu
01:24:38 <oklopol> well
01:24:50 <oklopol> afair, i don't know what logic, and what kind of correspondence
01:24:57 * oerjan hasn't seen any logic with tiles
01:24:59 <oklopol> but that's where the problem comes from, wang was a logician
01:25:11 <oklopol> yeah there's no logic to them
01:25:18 <oerjan> oh that's sort of a mutual reduction thing then probably, like with NP-complete problems
01:26:30 <oklopol> well, maybe.
01:26:49 <oerjan> food ->
01:26:49 <GreaseMonkey> Compiling program 1 (19417 bytes) - wow, doesn't actually compile yet but oh boy this is slow.
01:27:10 <oklopol> i'm planning on reading about this, maybe i can tell you then
01:27:24 <oklopol> although i do have tons of other stuff to read first
01:28:03 <GreaseMonkey> much faster when i use file i/o
01:28:49 <GreaseMonkey> takes a while to load though
01:29:03 <GreaseMonkey> but it's not that bad actually
01:51:49 -!- augur has joined.
01:58:58 <GreaseMonkey> argh crap i'
01:59:06 <GreaseMonkey> m not getting the same results for both ways
01:59:59 <GreaseMonkey> !bfjoust simple >[-]+[->[-]+]
02:00:09 <EgoBot> Score for GreaseMonkey_simple: 3.5
02:01:29 <GreaseMonkey> !bfjoust simple (>)*15[-]+[->[-]+]
02:01:36 <EgoBot> Score for GreaseMonkey_simple: 1.7
02:01:53 <GreaseMonkey> !bfjoust simple (>)*10[-]+[->[-]+]
02:02:01 <EgoBot> Score for GreaseMonkey_simple: 3.5
02:05:24 <oklopol> !bfjoust simple (>)*10[-]+[->[-]+]++++++++++++++++++++++++++++++
02:05:32 <EgoBot> Score for oklopol_simple: 3.5
02:05:35 <Sgeo_> A friend of mine is saying his MSN account was frozen by a bot.
02:05:39 <oklopol> !bfjoust simple (>)*10[-]+[->[-]+++++]
02:05:47 <EgoBot> Score for oklopol_simple: 3.8
02:05:51 <oklopol> !bfjoust simple (>)*25[-]+[->[-]+++++]
02:05:52 <Sgeo_> A google search suggests that, if it weren't for that, and I was looking for information, it's made-up BS
02:05:58 <EgoBot> Score for oklopol_simple: 0.0
02:06:02 <oklopol> !bfjoust simple (>)*8[-]+[->[-]+++++]
02:06:10 <EgoBot> Score for oklopol_simple: 4.9
02:06:16 <oklopol> !bfjoust simple (>)*3[-]+[->[-]+++++](>)*50
02:06:17 <Sgeo_> "Get MSN Freezer bots here!" "Send me money, and I'll freeze someone's account!"
02:06:23 <oklopol> damn i'm good at this game!
02:06:25 <EgoBot> Score for oklopol_simple: 5.2
02:06:35 <Sgeo_> So, anyone know how they work, and how to reverse it?
02:06:41 <oklopol> !bfjoust simple [->]+[->[-]+++++](>)*50
02:06:49 <EgoBot> Score for oklopol_simple: 5.8
02:06:58 <oklopol> !bfjoust simple [->][->]+[->[-]+++++](>)*50
02:07:08 <EgoBot> Score for oklopol_simple: 7.5
02:07:11 <oklopol> :D
02:07:27 <oklopol> !bfjoust simple [->][->][<-][<-]
02:07:36 <EgoBot> Score for oklopol_simple: 4.1
02:07:38 <Sgeo_> "They work actually, it works by signing into their account multiple times (or attempting to) with random passwords so eventually their login won't work (freezes)."
02:07:46 <oklopol> so what was this game again
02:12:24 <coppro> how does bfjoust work again?
02:17:32 <oerjan> coppro: look at the wiki
02:17:47 <coppro> lazy
02:18:05 <oerjan> oh. SO AM I.
02:18:43 <Sgeo_> WTF
02:18:52 <Sgeo_> Facebook said there was unusual activity on my account
02:19:38 <oerjan> i guess this is a good time for us that have neither MSN nor facebook accounts, then.
02:19:54 <pikhq> ^5 oerjan
02:19:54 <oerjan> </gloat>
02:21:35 <oerjan> \||||
02:26:08 <Sgeo_> You know what it might be? It might have been Meeb.. no, it wouldn't be Meebo
02:42:57 <pikhq> http://en.wikipedia.org/wiki/File:New_British_Coinage_2008.jpg Oh my goodness those are awesome coin designs.
02:47:25 <Gregor> Yeah, but they'll look stupid when they're not arranged like that ;)
02:48:21 <pikhq> Clearly British people should keep their coins mounted.
02:48:25 <pikhq> *CLEARLY*.
02:58:03 <Sgeo_> No, Google calendar, you're not going to find Second Life on any map
02:59:58 <Gregor> Thank GOD
03:02:59 -!- Oranjer1 has joined.
03:06:10 -!- Oranjer has quit (Ping timeout: 264 seconds).
03:06:55 -!- Oranjer1 has changed nick to Oranjer.
03:10:01 <Sgeo_> I'm in a club for a rezday party.
03:10:12 <Sgeo_> The lag is horrendous
03:10:16 <Sgeo_> I need a new computer
03:13:56 -!- Oranjer1 has joined.
03:16:00 -!- Oranjer has quit (Ping timeout: 260 seconds).
03:18:21 -!- myndzi\ has joined.
03:20:52 -!- myndzi has quit (Ping timeout: 260 seconds).
03:25:57 -!- cal153 has quit (Ping timeout: 248 seconds).
03:27:33 <Ilari> Heh... TC games like enigma allow maps that are solvable by construction and one can fairly easily show that they are possible from level script, but are still practically impossible to solve, even with access to level script...
03:27:58 -!- Oranjer1 has changed nick to Oranjer.
03:29:28 -!- bsmntbombdood has quit (Ping timeout: 240 seconds).
03:30:01 <Ilari> That is, map that can be shown to be solvable with solution of practical length, but still is practically impossible.
03:30:43 -!- oklopol has quit (Ping timeout: 276 seconds).
03:32:01 <Ilari> And the level would be completely deterministic, with nothing random.
03:44:22 -!- bsmntbombdood has joined.
03:56:32 -!- oklopol has joined.
04:07:06 <Sgeo_> All of a sudden, I'm making out with rezday girl. "I didn't touch a thing" "Yeah right lol"
04:15:38 -!- Oranjer1 has joined.
04:16:01 -!- Oranjer has quit (Ping timeout: 264 seconds).
04:17:09 -!- pikhq has quit (Read error: Connection reset by peer).
04:34:50 -!- pikhq has joined.
04:46:52 <Sgeo_> o.O
04:46:56 -!- Quadrescence has joined.
04:47:44 <Sgeo_> Ever since, as a kid, I saw that forms could be submitted to emails, until just about now, I thought that submitting forms to email were magical. Easy way to take care of data without needing to write server code. Didn't realize that an email client would have to open.
04:51:55 -!- pikhq_ has joined.
04:53:10 -!- pikhq_ has quit (Read error: Connection reset by peer).
04:53:59 -!- pikhq has quit (Ping timeout: 260 seconds).
04:57:15 -!- pikhq has joined.
04:58:17 -!- Oranjer1 has left (?).
05:01:26 -!- donttalknojive has joined.
05:04:45 -!- donttalknojive has quit (Quit: Leaving.).
05:05:40 -!- GreaseMonkey has quit (Remote host closed the connection).
05:07:51 -!- GreaseMonkey has joined.
05:32:49 -!- pikhq has quit (Ping timeout: 240 seconds).
05:34:36 -!- Gracenotes has quit (Ping timeout: 260 seconds).
05:47:52 -!- oerjan has quit (Quit: leaving).
05:52:24 -!- cal153 has joined.
05:59:51 -!- pikhq has joined.
06:09:10 <coppro> what's the unix number generating utility again?
06:09:34 <coppro> ah, right, seq
06:10:31 <coppro> <3 wget + seq
06:12:56 <Sgeo_> Downloading porn?
06:13:32 <coppro> speedruns
06:13:48 * pikhq prefers using zsh
06:13:59 <pikhq> Much nicer syntax for sequences.
06:16:00 <Sgeo_> speedruns of what?
06:16:19 <Sgeo_> Porn? </disturbing?
06:16:21 <Sgeo_> >
06:16:38 <coppro> games
06:17:37 <Sgeo_> What games?
06:17:41 <Sgeo_> >.>
06:23:14 -!- pikhq has quit (Read error: Connection reset by peer).
06:25:31 -!- pikhq has joined.
06:26:15 -!- oklopol has quit (Ping timeout: 252 seconds).
06:35:55 <augur> http://www.reddit.com/r/science/comments/cjuxf/scientist_in_a_sense_im_a_born_killer/c0t3n1n how many comment karma points do you think i'll get for this
06:44:01 <bsmntbombdood> none
06:44:11 -!- kar8nga has joined.
06:44:45 <augur> :(
06:44:47 <augur> i hate you
06:44:52 <augur> I HATE YOU SO MUCH
06:44:55 * augur runs away crying
06:45:36 -!- oklopol has joined.
07:01:11 <Ilari> After watching lots of tool-assisted speedruns, ordinary non-TAS speedruns seem sloppy. :-)
07:01:36 <coppro> I like that
07:01:50 <coppro> TASes are silly
07:12:48 -!- relet has quit (Quit: Leaving.).
07:23:56 <bsmntbombdood> coppro: lrn2curl
07:35:16 <coppro> bsmntbombdood: why would I bother?
07:35:22 <coppro> waste of time
07:35:36 <bsmntbombdood> because you want to use the right tool for the job?
07:40:37 <coppro> because wget isn't?
07:41:57 <bsmntbombdood> not if you're using seq
07:42:12 <bsmntbombdood> curl foo.com/[0-15]
07:42:33 <bsmntbombdood> or, for i in `seq 0 15`; do wget foo.com/$i; done?
07:45:07 -!- pikhq has quit (Ping timeout: 260 seconds).
07:46:17 <fizzie> You need to remember a messy "-o '#1'" in the curl command to get that stuff into separate files; the wget version writes to files by default.
07:46:23 -!- pikhq has joined.
07:46:54 <fizzie> (I guess it's still simpler, but anyhow.)
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:59 <coppro> bsmntbombdood: per Unix philosophy, the latter is correct
08:09:15 <fizzie> I'd have written it as "seq 0 15 | xargs -i wget foo.com/{}" just to get one more process in the mix. (Perhaps one could add a couple of cats in the middle of the pipe too.)
08:09:58 <fizzie> Pipelines: it's what's for dinner.
08:18:35 <Deewiant> Don't you know that -i is deprecated?
08:21:21 -!- tombom has joined.
08:24:09 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
08:24:39 <Sgeo_> 2n1s
08:25:47 -!- kar8nga has quit (Remote host closed the connection).
08:26:01 <fizzie> Deewiant: Oh, you're meant to do -I with a specified string. I did not know that.
08:26:20 <fizzie> Deewiant: [2010-06-28 14:30:09] Tweeted: About NetHack: of it in tins... "need we wait until morning then?" "how perceptive of you to notice a mimic in an antique shop." (fungot)
08:26:20 <fungot> fizzie: that's because you're a wannabe windows user scum with jelly for brains."
08:26:28 <fizzie> How polite that bot is.
08:26:38 <Deewiant> :-D
08:26:50 <Deewiant> ^style
08:26:50 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
08:26:53 <fizzie> fungot: I suppose you have all the xargs options memorized then, huh?
08:26:53 <fungot> fizzie: maybe that explains my problems... i hope
08:32:52 -!- oerjan has joined.
08:35:57 <Sgeo_> Wannabe Windows user?
08:36:45 <Sgeo_> Who'd want to use Windows?
08:36:59 <fizzie> Sgeo_: Someone with jelly for brains, perhaps?
08:37:11 * oerjan oozes towards fizzie
08:46:10 <fizzie> oerjan is in reality a gelatinous cube?
08:46:49 <oerjan> well up to a constant multiple (of viscosity) anyway
08:47:12 <oerjan> = O(gelatinous cube)
08:47:32 <fizzie> But with a shape of a 10-foot cube anyhow?
08:47:51 <oerjan> _maybe_ a tiny bit of O() there too
08:48:54 <fizzie> There's that classical "assume a spherical cow" joke.
08:49:17 <olsner> I think a cylinder would be a better approximation
08:49:59 <oerjan> i think i may still have some years left until sphericality
08:51:25 -!- MigoMipo has joined.
09:02:01 -!- pikhq has quit (Read error: Connection reset by peer).
09:02:07 -!- Gregor-P has joined.
09:08:20 -!- pikhq has joined.
09:27:17 -!- MizardX has joined.
10:03:10 -!- oerjan has quit (Quit: Good night).
10:52:54 <Deewiant> http://www.kongregate.com/games/richthepanda/scent-trail-bot
11:03:01 -!- kar8nga has joined.
11:03:59 <fizzie> Deewiant: Programming games are the nicest of them all.
11:06:38 <Deewiant> This one was nice at any rate
11:10:19 -!- kar8nga has quit (Remote host closed the connection).
11:24:12 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
11:32:57 -!- augur has quit (Remote host closed the connection).
11:37:46 -!- ais523 has joined.
11:50:35 -!- MigoMipo has quit (Remote host closed the connection).
12:14:24 -!- Sgeo has joined.
13:01:17 -!- yiyus has quit (Ping timeout: 260 seconds).
13:14:04 -!- yiyus has joined.
13:25:52 -!- Mathnerd314 has joined.
14:02:49 -!- BeholdMyGlory has joined.
14:08:15 <oklopol> <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
14:08:16 <oklopol> <fizzie> fungot: I suppose you have all the xargs options memorized then, huh?
14:08:16 <oklopol> <fungot> fizzie: maybe that explains my problems... i hope
14:08:16 <fungot> oklopol: advice for jonphilpott stops messaging, call 911. and it's good for scientists and 3 year olds?
14:08:17 <fungot> oklopol: hmm i need signed fractions... okie, let me grab the source from the files or the html to run them all
14:08:17 <fungot> oklopol: if that helps, please ask if you could
14:08:17 <oklopol> :D
14:09:10 <fizzie> fungot: Is everything okay? You're being strangely coherent today.
14:09:11 <fungot> fizzie: yup ill read it over reading week.
14:09:25 -!- ais523 has quit (Read error: Connection reset by peer).
14:14:13 -!- ais523 has joined.
14:54:23 <ais523> yay fungot
14:54:24 <fungot> ais523: stuff like that
14:55:38 -!- MigoMipo has joined.
15:00:44 -!- ais523 has quit (Remote host closed the connection).
15:03:26 -!- relet has joined.
15:07:26 -!- cpressey has joined.
15:32:23 <AnMaster> fizzie, funny thing when cross compiling: compiling newlib fails in configure with gcc not being able to create executables. Looking at config.log it fails due to not finding -lc
15:32:44 <AnMaster> well, that was after I manually compiled crt0.o (provided by libc normally)
15:33:03 <AnMaster> the issue seems to be newlib doesn't realise it is cross compiling. Somehow
15:49:05 -!- MigoMipo has quit (Remote host closed the connection).
15:49:33 -!- MigoMipo has joined.
15:50:50 <oklopol> scentbot is a bit tedious
15:55:18 <Deewiant> How's that
15:56:30 <fizzie> It felt a bit too clicky to me, but didn't really try it out much.
15:57:09 <Deewiant> You can type the whole thing if you press esc
15:57:29 <Deewiant> It probably won't like syntax errors much though
15:57:38 <Deewiant> I only used it to move stuff around and copy-paste
15:58:41 <oklopol> oh okay
15:58:57 <oklopol> it didn't say "press esc", it said "press these buttons here"
15:59:08 <Deewiant> It's meant for saving/loading solutions
15:59:13 <oklopol> okay
15:59:16 <Deewiant> It says it on the left in the level selection screen
15:59:16 <fizzie> It does mention esc somewhere, I saw it there.
15:59:39 <oklopol> i refuse to believe you, but okay i believe it might be fun in that case
15:59:39 <fizzie> Ah, there.
15:59:47 <Deewiant> But like said, I found it convenient for not just saving/loading
15:59:48 <oklopol> except the bot is really slow
15:59:59 <Deewiant> Yeah, that's a bit annoying
16:00:21 <Deewiant> Sometimes, it's too fast when I want to see the exact sequence of what happened ;-)
16:00:23 <oklopol> did you complete the game
16:00:28 <Deewiant> Yeah, I did them all
16:00:37 <oklopol> anything interesting?
16:00:44 <oklopol> i guess because you linked
16:00:50 <fizzie> What's that one button there do, the one near the start/stop one?
16:00:50 <Deewiant> I found it fun enough
16:01:11 <Deewiant> It says in the manual... I think it was about toggling some transparency thing
16:01:32 <fizzie> Ah, right. Transparencies were indeed mentioned.
16:02:58 <oklopol> transparency is just a fancy word for see-through
16:03:22 -!- Phantom_Hoover has joined.
16:08:14 <fizzie> See-through is just a fancy name that they'll probably invent after see-sharp has gone stale.
16:08:31 <Phantom_Hoover> What's wrong with C#?
16:08:43 <Deewiant> It's going stale
16:08:56 <fizzie> You'd better eat it fast.
16:09:45 <Phantom_Hoover> Why's it going stale?
16:11:19 <fizzie> Everything does, sooner or later. The seriousness level is not terribly high at the moment, I was just responding to oklopol's comment.
16:12:23 <fizzie> The delegates (esp. how you can combine them with +/+= and how they keep those invocation lists inside them) feel a bit awkwardly hacky to me (but maybe that's just me), if you want one less frivolous thing.
16:18:36 <Phantom_Hoover> OK, I'm going to try to switch to x64 again.
16:44:31 <pikhq> Donald Knuth is making an "earthshaking" announcement today.
16:45:13 <Phantom_Hoover> Oh, what is it?
16:45:22 <Phantom_Hoover> Well, any clues as to its nature?
16:45:45 <cpressey> Edsger Dijkstra is actually still alive, and in hiding. In Jamaica.
16:45:54 <pikhq> It's Knuth. And at a TeX conference.
16:46:22 <Phantom_Hoover> TeX has never worked all along?
16:46:35 <pikhq> TAoCP finished?
16:47:02 <Phantom_Hoover> What?
16:47:12 <Phantom_Hoover> First the Forth Bridge, now this?
16:47:33 <Phantom_Hoover> What will we use when we need to make an analogy for a task that will never end?
16:48:26 <pikhq> Duke Nukem Forever.
16:49:02 <Deewiant> It ended
16:50:22 <Phantom_Hoover> Clearly the end times are nigh.
16:51:04 <Phantom_Hoover> Ah, GNU HURD.
16:53:26 <Phantom_Hoover> If it finishes, we're all doomed.
16:54:12 <pikhq> They've released.
16:54:17 <pikhq> Last in '98, but still.
16:55:09 <Phantom_Hoover> I thought it was totally unusable for practical purposes?
16:55:21 <Phantom_Hoover> s/?/./
16:55:36 <Phantom_Hoover> I *really* need to stop doing that.
16:57:26 <pikhq> *Effectively* useless.
16:57:32 <pikhq> It does in fact *run*.
16:57:51 <Phantom_Hoover> What makes it useless, by the way?
16:58:02 <pikhq> It's slow and buggy.
17:15:35 <Deewiant> And probably has phenomenal driver support
17:16:58 <pikhq> It's got the Linux 2.2 driver stack.
17:19:26 -!- Gregor-W has joined.
17:20:20 -!- Gregor-P has quit (Quit: Bye).
17:35:37 <fizzie> Also the famous 1 gigabyte partition size limit (I'm not sure if it's still alive, but it was there not long ago).
17:49:56 <Phantom_Hoover> Firefox has just frozen for no reason, and is devouring memory.
18:01:12 <Deewiant> 3.6.6?
18:02:14 <Phantom_Hoover> I think so.
18:02:27 <Phantom_Hoover> No, 3.6.3.
18:07:38 -!- Gracenotes has joined.
18:07:48 <Deewiant> Flash?
18:08:01 <Phantom_Hoover> Not at the time, as far as I know.
18:08:13 <Deewiant> But it /could/ have been ;-P
18:09:16 <Phantom_Hoover> I cannot discount the possibility that Flash is conspiring against me, no.
18:15:36 -!- hiato has joined.
18:54:09 -!- MigoMipo has quit (Read error: Connection reset by peer).
19:19:00 -!- MigoMipo has joined.
19:46:25 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
19:48:09 -!- kar8nga has joined.
20:06:22 -!- Phantom_Hoover has joined.
20:06:55 <Phantom_Hoover> I am having annoying misgivings about switching to 64-bit.
20:17:44 <AnMaster> <oklopol> scentbot is a bit tedious <-- what is scentbot? google proved unhelpful
20:26:03 <fizzie> The log would be more helpful.
20:26:37 <fizzie> <Deewiant> http://www.kongregate.com/games/richthepanda/scent-trail-bot
20:26:49 <fizzie> That is "scentbot".
20:27:59 <AnMaster> Phantom_Hoover, I think http://codu.org/projects/trac/microcosm/wiki should answer all questions now? ;P
20:28:42 <AnMaster> or at least several
20:32:04 <Phantom_Hoover> AnMaster: thanks.
20:32:18 <Phantom_Hoover> Thanks, AnMaster. ThanMaster.
20:32:24 <Phantom_Hoover> I had to do that; sorry.
20:32:38 <AnMaster> it isn't even very funny...
20:33:05 <Phantom_Hoover> I know. It's a reference to Look Around You.
20:33:18 <AnMaster> never heard of that
20:33:32 <AnMaster> and for anyone wanting serious confusion: http://codu.org/projects/trac/microcosm/wiki/modules
20:33:48 <Phantom_Hoover> It's a BBC comedy that spoofed 70s-era educational programmes.
20:33:53 <AnMaster> I see
20:34:41 <Phantom_Hoover> One of the running gags is to have someone say "Thanks, <x>. Th<x>."
20:40:39 -!- Gregor-W has quit (Ping timeout: 252 seconds).
20:42:23 <AnMaster> Phantom_Hoover, why would that ever be fun
20:42:33 <Phantom_Hoover> It isn't.
20:42:39 <Ilari> One I would like to see spoof of (changing things in it to reflect reality would do) is one darn food propaganda video that they showed in elementary school...
20:43:06 <AnMaster> Phantom_Hoover, ah.. that type of joke
20:43:29 <AnMaster> Ilari, food propaganda?
20:43:39 <Ilari> AnMaster: "Healthy" food propaganda.
20:44:09 <AnMaster> Ilari, well, what is considered healthy changes from one day to the next
20:44:14 <AnMaster> *shrug*
20:46:46 <Phantom_Hoover> Installing Ubuntu over itself is harder than I thought...
20:47:19 <Ilari> There is single objective reality (but also, person-to-person variance). There's scientific approximation of that (the best currently known). Then there's what's reported/taught, which has been completely distorted (and prone to flip-flopping).
20:47:30 -!- oerjan has joined.
20:47:40 <Phantom_Hoover> oerjan!
20:48:00 <oerjan> no, i'm his evil twin brother.
20:48:21 <Phantom_Hoover> Who is also called "Ørjan"?
20:49:10 <oerjan> no i stole his nick, stupid!
20:49:16 <Phantom_Hoover> Ah.
20:49:31 <Phantom_Hoover> Why are you evil?
20:49:52 <Ilari> AnMaster: The appearence of flip-flopping is mostly due to reporting...
20:50:11 <AnMaster> Ilari, hm probably
20:50:23 <oerjan> to preserve the fundamental balance of the universe, of course. before i destroy it, that is.
20:50:52 <Phantom_Hoover> But oerjan wasn't *that* good.
20:50:53 * AnMaster waits for the manic laugh
20:50:57 <oerjan> no contradiction really, nothing is also quite balanced
20:51:07 <Phantom_Hoover> His complement would just be a bit nasty.
20:51:34 <cpressey> AnMaster: re http://codu.org/projects/trac/microcosm/wiki : I always love when the word "any" is in scare quotes.
20:51:40 <Phantom_Hoover> Well, unless he's been building schools in the third world and hasn't told anyone
20:51:41 <oerjan> i am sure oerjan will be happy to hear that.
20:51:50 <Ilari> AnMaster: Then major landmark studies are not reported because results are not "correct" (nevermind that results depict reality). And extremely bad studies are reported simply because results are "correct".
20:52:34 <cpressey> For "all" x, there "exists" y, such that y is "greater than" x.
20:52:47 <AnMaster> oerjan, okay then, can you tell the real oerjan that I want him to read https://codu.org/projects/trac/microcosm/wiki/modules . You however must not look at it. It is secret information for you
20:52:47 <Phantom_Hoover> oerjan: why would his evil twin want to destroy the world?
20:52:52 <AnMaster> <hehehe>
20:52:53 <oerjan> Phantom_Hoover: ah but you are ignoring the fact that destruction is so much _easier_ than protection, thus balance means evil is stronger. for example, have you ever heard of a defence against a nuclear bomb?
20:53:08 <AnMaster> cpressey, hm tell Gregor that :P
20:53:10 <Phantom_Hoover> Not being anywhere near one?
20:53:25 <Ilari> Nuclear bomb or nuclear-tipped missile? :-)
20:53:28 <Phantom_Hoover> Having a load of stuff between you and it?
20:53:41 <oerjan> well we evil people are _quite_ satisfied with people fleeing, usually.
20:53:59 <AnMaster> oerjan, yes I have. being somewhere else sufficiently far away is a good defence
20:54:09 -!- augur has joined.
20:54:14 <Phantom_Hoover> AnMaster: I already said that.
20:54:23 <AnMaster> Phantom_Hoover, only noticed afterwards
20:54:29 <AnMaster> Phantom_Hoover, was logreading at the same time
20:54:41 <oerjan> AnMaster: not when i've taken over the whole world! *MWAHAHAHAHA* </fan service>
20:54:48 <AnMaster> oerjan, :P
20:55:09 <Phantom_Hoover> Also, if destruction is easier than protection, surely oerjan's evil twin would be less evil than oerjan is good?
20:55:29 <AnMaster> oerjan, don't you mean http://tvtropes.org/pmwiki/pmwiki.php/Main/FanDisservice ?
20:55:38 <cpressey> And lo, it turns out "fan service" has a wikipedia entry.
20:55:52 <AnMaster> cpressey, there is tv tropes always
20:56:00 <AnMaster> cpressey, but you don't want to click on that unless you are oerjan
20:56:06 <AnMaster> or his evil twin
20:56:12 <cpressey> My IRC client blocks links to tvtropes.org.
20:56:17 <AnMaster> cpressey, :D
20:56:33 <AnMaster> cpressey, does it block the whole line? or just the url?
20:57:07 <AnMaster> cpressey, and does it leave any marker? like <url removed> or such?
20:57:08 <cpressey> Just the URL. It replaces it with a frowny-face.
20:57:22 <AnMaster> cpressey, heh
20:57:56 <Phantom_Hoover> cpressey: all links, or just those to vaguely risqué pages?
20:57:58 -!- Gregor-W has joined.
20:58:23 <Ilari> Heh... Just thought that: "fantasy has to be believable, reality is not bound by such constraints."... :-)
20:58:25 <cpressey> Phantom_Hoover: All links.
20:58:26 <Phantom_Hoover> http://tvtropes.org/pmwiki/pmwiki.php/Main/ChekhovsGun
20:58:38 <Phantom_Hoover> Very odd...
21:00:32 <oerjan> Phantom_Hoover: no no, i'm exactly as evil as oerjan is good (up to rounding errors), which is why you are screwed. *MWAHAHAHACKACK CACK CACK* damn cigarettes
21:00:54 <Phantom_Hoover> So oerjan is basically a saint?
21:01:23 <oerjan> you don't seem to be getting the point that destruction is easier than protection, here...
21:01:31 <AnMaster> oerjan, so the real oerjan doesn't smoke?
21:01:33 <AnMaster> good for him
21:01:37 <Ilari> Smoking and sugar are bad for you... :->
21:01:56 <oerjan> AnMaster: your logic is impeccable. it will not save you though.
21:02:09 <AnMaster> oerjan, where is the real oerjan?
21:02:28 <oerjan> tied up in the closet.
21:02:31 <Phantom_Hoover> oerjan: what is your plan for world domination?
21:02:43 <oerjan> secret.
21:03:02 <Phantom_Hoover> oerjan: classic mistake #1. If you steal someone's identity, *kill* them.
21:03:59 <AnMaster> Phantom_Hoover, don't teach him!
21:04:03 <oerjan> i cannot kill oerjan, because then the universe might act to rebalance itself, and i wouldn't want _that_ would i
21:04:40 <cpressey> Gee, this redistribution-of-evil thing is harder than it sounds.
21:04:46 <Phantom_Hoover> oerjan: Fair point. Are you extremely bad at maths?
21:05:02 <oerjan> no, just morals. *MWAHAHAHA*
21:05:13 <AnMaster> ffs
21:05:29 <Phantom_Hoover> oerjan: Not exactly an opposite, then, are you?
21:05:49 <oerjan> i said i was his _evil_ twin, not his exact opposite.
21:06:19 <cpressey> oerjan: If I guess your real name, do you disappear in a puff of smoke?
21:06:19 <Phantom_Hoover> oerjan: OK, then. Why didn't real Oerjan mention you?
21:06:49 <oerjan> cpressey: no.
21:07:36 <oerjan> what's that sound from the closet...
21:08:39 <Phantom_Hoover> Honestly, you aren't very good at this whole villainy thing, are you?
21:08:42 -!- oerjan has quit (Quit: leaving).
21:09:19 -!- oerjan has joined.
21:09:28 <Phantom_Hoover> So, are you real oerjan?
21:09:42 <oerjan> real? of course.
21:09:51 <Phantom_Hoover> Not his evil twin?
21:09:57 <oerjan> what evil twin?
21:10:06 <AnMaster> Phantom_Hoover, don't trust him
21:10:20 <Phantom_Hoover> AnMaster: I don't plan to.
21:10:26 <oerjan> well i don't trust myself either, so that may be a good idea
21:10:34 <Sgeo> Why is NAND considered more.. useful, or whatever, than AND... I think I know. With AND, you need NOT to get NAND
21:10:35 <Phantom_Hoover> For one thing, how did he fail to notice that he was tied up in a closet?
21:10:42 <AnMaster> Phantom_Hoover, exactly!
21:10:49 <Phantom_Hoover> Sgeo: NAND is universal. AND isn't.
21:10:58 <oerjan> tied up?
21:11:14 <Sgeo> Phantom_Hoover, but why is that, is my question, I think
21:11:39 <AnMaster> Phantom_Hoover, I guess one could say oerjan has come out of the closest now! XD
21:11:45 <AnMaster> Phantom_Hoover, if that is what happened
21:11:51 <Phantom_Hoover> Sgeo: oerjan knows something about that.
21:12:14 <oerjan> Sgeo: http://en.wikipedia.org/wiki/Post's_lattice and i think that's at least the third time i link to it here
21:12:18 <Phantom_Hoover> But this could be his evil twin, so don't believe a word he says.
21:12:23 <Phantom_Hoover> IT'S A TRAP!
21:12:47 <oerjan> (that lattice summarizes everything about which boolean functions can be expressed with which others)
21:12:50 <Sgeo> Why is... those things?
21:13:55 <oerjan> in particular NAND generates the top element, while AND generates the one called /\P, far below
21:14:04 <cpressey> Yay clones yay
21:14:28 <oerjan> (the top element being the set of all boolean functions)
21:14:37 * Sgeo headaches
21:15:33 <oerjan> Sgeo: perhaps a more practical thing is that NAND is something you need exactly one transistor to make, so counting in terms of NAND gives you a count of transistors - i think
21:15:54 <Phantom_Hoover> Are you allowed to use constants when making a gate universal?
21:16:10 <cpressey> oerjan: I think not?
21:16:15 <Sgeo> I'm working with Awsistors not Transistors >.>
21:16:21 <oerjan> Phantom_Hoover: not in that lattice
21:16:28 <AnMaster> Sgeo, wth is Awsistors?
21:16:41 <AnMaster> or are*
21:16:53 <Sgeo> My name for a fundamental.. thingy in AW
21:16:54 <oerjan> cpressey: well anyway AND doesn't require any, so the points where you apply NOT are sort of the important ones? (this is very vague memory)
21:16:55 <cpressey> If you *can* make a NAND with only one transistor, it'll have crappy electrical properties.
21:17:05 <Phantom_Hoover> Sgeo: if you can build a NAND (or NOR) gate, you can make anything else.
21:17:07 <AnMaster> Sgeo, AW?
21:17:15 <Sgeo> Active Worlds
21:17:22 <cpressey> oerjan: AND doesn't require any transistors??
21:17:30 <Sgeo> Phantom_Hoover, including a computer? If not, what else do I need to make a computer?
21:17:42 <Sgeo> And does NAND prove turing-completeness?
21:17:46 <AnMaster> <oerjan> Sgeo: perhaps a more practical thing is that NAND is something you need exactly one transistor to make, so counting in terms of NAND gives you a count of transistors - i think <-- I thought you needed at least two (or was it 4?)
21:17:50 <Phantom_Hoover> Sgeo: well, memory, probably.
21:18:14 <Sgeo> Have that
21:18:50 <oerjan> Sgeo: anyway to give you _part_ of the explanation why AND doesn't generate everything: AND is a monotone function, which means if you change one input from 0 to 1, the output cannot ever change from 1 to 0. and you cannot compose non-monotone functions from monotone ones (it's the class M near the top, so AND doesn't give all of those either, but if you add OR and constants, you get them)
21:18:58 <AnMaster> oerjan, AND gates are implemented with a NAND + an inverter basically
21:19:30 <oerjan> AnMaster: hm well isn't there _some_ gate that you get just by connecting wires with resistors? maybe OR?
21:19:31 <Phantom_Hoover> Sgeo: well, you can build addition, subtraction and multiplication gates with NAND
21:19:36 <AnMaster> oerjan, and for all cases I have seen in CMOS it is 4 gates for NAND + 2 for inverter, you could probably get by on half of that in nMOS but it would consume more static power
21:19:38 <cpressey> AnMaster: I don't think that's true either. That would take 3 transitors, when you only need 2.
21:20:02 <cpressey> OK, CMOS might be a diff story from TTL.
21:20:23 <AnMaster> cpressey, I don't know much about how you do TTL. I know CMOS and a tiny bit of nMOS
21:20:36 <Phantom_Hoover> Sgeo: I have circuit diagrams which I drew up in a fit of madness, but they're probably hugely improvable.
21:20:42 <cpressey> oerjan: You can make OR with just wires, but it still has crappy electrical properties unless you put diodes on the inputs.
21:20:47 <cpressey> Otherwise the inputs have crosstalk.
21:20:48 <AnMaster> cpressey, don't TTL use non-MOS gates?
21:21:01 * Sgeo doesn't have to worry about crosstalk
21:21:03 <AnMaster> err
21:21:04 <Sgeo> Or diodes
21:21:07 <AnMaster> transistors*
21:21:10 <oerjan> Phantom_Hoover: however adding constants is certainly _also_ represented as elements in that lattice
21:21:15 <AnMaster> cpressey, is it the one with bipolar transistors?
21:21:22 <cpressey> AnMaster: Yes. That's what I think of as a plain "transistor".
21:21:28 <Ilari> TTL => BJTs.
21:21:44 <AnMaster> cpressey, to me plain transistor = pMOS or nMOS
21:21:55 <AnMaster> Ilari, BJT standing for?
21:22:03 <Ilari> Bipolar Junction Transistor
21:22:06 <AnMaster> ah
21:22:36 <AnMaster> Ilari, what use are they nowdays in digital logic?
21:22:43 <Ilari> AnMaster: Pretty much none.
21:22:49 <AnMaster> right
21:23:10 <Ilari> They are used in analog signal processing.
21:23:41 <Phantom_Hoover> Sgeo: wha are you actually trying to do at the moment?
21:24:05 <Sgeo> Phantom_Hoover, prove turing-completeness. THen, try to figure out how I'd go about designing a computer
21:24:20 <AnMaster> Ilari, AD -> [processing goes here] -> DA ;P
21:24:25 <Phantom_Hoover> oerjan: do universal gates imply TCness?
21:24:26 <oerjan> Sgeo: NAND gives you all boolean functions of a finite set of bits. that's not quite the same as TC, unless you can use infinitely many gates.
21:24:26 <Ilari> Common Transistor types: Bipolars (for Si, that's BJT), junction transistors (for Si, that's JFET) and metal-insulator-semiconductor transistors (for Si, that's MOSFET).
21:24:39 <AnMaster> Ilari, what do you use JFET for?
21:24:51 <AnMaster> Ilari, also what is Si?
21:24:53 <AnMaster> oh
21:24:54 <AnMaster> not SI?
21:24:56 <AnMaster> right
21:24:58 <AnMaster> Silicon I guess
21:25:02 <Ilari> Yup.
21:25:15 <Phantom_Hoover> oerjan: by "infinite" do you mean "unbounded"?
21:25:16 <AnMaster> Ilari, but why wouldn't it be MOSFET if it isn't Si?
21:25:16 <oerjan> also you cannot loop with pure abstract NAND gates either, although if you introduce time delay you can get memory with flip-flops.
21:25:17 <cpressey> oerjan: Complexity theorists have "Infinite families of finite boolean functions" for that purpose. They're insane IMO.
21:25:32 <Ilari> AnMaster: You need analog for front stage before A/D converter.
21:25:33 <Sgeo> I can create arbitrary amounts of gates, but it's like adding new hardware
21:25:42 <oerjan> Phantom_Hoover: no, actual infinite in that case, because how would you add them on the fly?
21:25:45 <Sgeo> Well, maybe not "arbitrary". Eventually, there's a limit
21:26:02 <cpressey> There is an infinite family of finite boolean functions which solves the Halting problem (because IF's of FBFs don't have to be defined constructively)
21:26:03 <Sgeo> Also, time delays are easy
21:26:04 <Phantom_Hoover> oerjan: Oh, halting.
21:26:33 <Ilari> AnMaster: Well, if one builds the corresponding structure from carbon (its possible, in place of oxide layer there's undoped layer), its MISFET.
21:27:11 <oerjan> Phantom_Hoover: yeah
21:27:29 <oerjan> cpressey: circuit complexity is cool :)
21:27:39 <Phantom_Hoover> oerjan: OK, assuming infinite feedback, can we be TC?
21:27:43 <oerjan> i don't know _too_ much about it yet
21:28:03 <Ilari> MESFETs are not related to MOSFETs (thet are like JFETs). MISFETs and MOSFETs are closely related.
21:28:45 <oerjan> Phantom_Hoover: well with infinite memory and feedback you have everything needed for a TM, so yes
21:28:55 <AnMaster> Ilari, aww, why couldn't it be MOSFIT so the carbon one ended up as MISFIT!
21:29:08 <AnMaster> Ilari, but what does the O and I stand for?
21:29:22 <Phantom_Hoover> So it needs feedback and to have independent memory units?
21:29:45 -!- Adrian^L has quit (Read error: Connection reset by peer).
21:29:49 -!- Adrian^L has joined.
21:29:54 <Ilari> AnMaster: Oxide
21:29:57 <oerjan> Phantom_Hoover: well you _could_ get away from feedback by making it even larger, multiplying gates for each timestep
21:30:02 <AnMaster> Ilari, and the I?
21:30:02 <Phantom_Hoover> If you can have an arbitrarily large but finite memory is it TC?
21:30:08 <Ilari> AnMaster: Insulator
21:30:19 <AnMaster> Ilari, ah. But the oxide is an insulator isn't it?...
21:30:37 <Ilari> AnMaster: Yes.
21:30:42 <AnMaster> sigh
21:30:51 <oerjan> Phantom_Hoover: no, once again the halting problem
21:30:57 <AnMaster> Ilari, okay what do you use JFET for though? didn't think I saw any answer to that
21:31:02 <AnMaster> don't*
21:31:11 <oerjan> you cannot know in advance how much memory you need
21:31:25 <Phantom_Hoover> oerjan: OK.
21:31:39 <Phantom_Hoover> Sgeo: does this suffice?
21:31:43 <AnMaster> oerjan, nothing forbid suspending the system as you build new memory
21:31:55 <AnMaster> oerjan, like, JIT memory
21:31:59 <Ilari> AnMaster: At least discrete op-amp input transistors often are those. But otherwise they are mostly obsoleted by MOSFETs.
21:32:11 <Phantom_Hoover> Sgeo: wait, you can't have infinite memory.
21:32:11 <oerjan> AnMaster: well you need some gates that support suspension then :D
21:32:17 <AnMaster> Ilari, ah
21:32:43 <AnMaster> oerjan, sure, just gate the clock signal right after the clock generator!
21:32:46 <Phantom_Hoover> oerjan: what computational class is arbitrary-but-finite memory?
21:33:04 <AnMaster> oerjan, problem solved. The flip-flops will stay the same forever, assuming you only use sync logic
21:33:06 <AnMaster> and no async
21:33:23 <Sgeo> Wait, does what suffice?
21:33:43 <AnMaster> Phantom_Hoover, Bounded Storage Machine?
21:33:57 <Ilari> What's simplest formal language that's not context-sensitive? :-)
21:34:11 <Phantom_Hoover> Sgeo: the requirements I gave, for TCness. If you can't have infinite or extensible memory, it's a BSM.
21:34:29 <cpressey> aka Finite State Machine
21:34:29 <Ilari> Like a^n b^n is not regular, a^n b^n c^n is not context free...
21:34:40 <oerjan> Phantom_Hoover: SPACE(f) where f is an arbitrary function giving how much memory you have?
21:34:43 <Sgeo> By "extensible"...
21:34:44 <Sgeo> ?
21:34:50 <oerjan> (given input size)
21:34:59 <Phantom_Hoover> Sgeo: you can add arbitrarily more memory during runtime.
21:35:02 <cpressey> Ilari: Simplest? a^n b^n is simple and not context sensitive
21:35:19 <Sgeo> You can't do that in real life!
21:35:20 <cpressey> a^1 is even simpler
21:35:33 <Ilari> not context sensitive meaning exceeds what context sensitive grammars can express.
21:35:37 <Sgeo> But.. no
21:35:47 <Ilari> Oh, but still decidable.
21:35:51 <oerjan> Phantom_Hoover: the problem here is that you need some restrictions on how to calculate f, because if calculate it with something super-turing itself, you get that the result _can_ solve the halting problem
21:36:16 <Phantom_Hoover> Sgeo: Then it's not TC, in the same way that C isn't TC. i.e. pointlessly.
21:37:21 <Ilari> At least any simple language that's EXPSPACE-complete to recognize would do...
21:37:23 <cpressey> Can you emulate a Turing Machine in it?
21:37:28 <oerjan> Ilari: well context-sensitive is known to be equivalent to linear space, so take any language that cannot be decided in linear space
21:37:28 <Sgeo> Why don't I just announce that I've built a NAND gate, and see what the reaction is
21:37:45 <Phantom_Hoover> Sgeo: Conglaturations! It's damn near TC!
21:38:04 <Sgeo> I first actually need to build the gate, though
21:38:33 <oerjan> Ilari: i keep forgetting you already know this stuff :D
21:39:01 <cpressey> I can emulate some Turing Machines on this computer I'm typing on. Most of them I can't, though.
21:39:51 <oerjan> Ilari: actually it might be simpler to emulate a universal, but simple TM with a grammar than to try and add restrictions to get it down to EXPSPACE?
21:40:04 <oerjan> assuming you want grammars
21:40:59 <oerjan> it's not a given less-than-turing-complete is easier to _define_, after all
21:41:15 <Ilari> Ah, Language of all first-order statements about real numbers using only addition (no multiplication).
21:41:57 <cpressey> Not quite as satisfyingly simple as a^n b^n c^n, is it.
21:42:02 <Ilari> Also comparision...
21:42:43 <oerjan> Ilari: hm what about simply a^nb^f(n) where f is something awful to calculate?
21:43:17 -!- KingOfKarlsruhe has joined.
21:43:31 <Phantom_Hoover> Sgeo: what is the in-AW nature of the AWsistor?
21:44:02 <Sgeo> "in-AW nature"?
21:44:28 <Phantom_Hoover> What *are* they?
21:45:01 <Sgeo> Oh, not in terms of N-Signals, but what they really are in AW?
21:45:14 <Phantom_Hoover> YEs.
21:45:18 <Phantom_Hoover> s/E/e/
21:46:35 <Sgeo> There are 4 triggers in action lines in AW (actually, there are more, but only 2 are relevant): create, which is what happens when an object becomes visible, activate, which is what to do when clicked, bump, for when bumped, and adone, for when an animation on an object is finished playing
21:47:05 <Ilari> A(n,n) could do the trick?
21:47:07 <Sgeo> Animations are defined with the animate command, which, among other things, lets you specify a name and an amount of time
21:47:33 <Sgeo> If I wanted, say, an animate on an object that lasts 5 seconds:
21:47:40 <Sgeo> create animate me . 1 1 5000
21:47:48 <cpressey> For the uninitiated... what is "AW"?
21:47:53 <Sgeo> The me is a special keyword referring to this object
21:48:00 <Sgeo> cpressey, Active Worlds, a virtual environment
21:48:05 <cpressey> Ah. Thanks.
21:48:33 <Sgeo> The astart command starts an animation
21:48:37 <Sgeo> astop stops an animation
21:49:10 <Sgeo> create animate me . 1 1 5000, astart; adone say "Hi!", astart next
21:49:23 <Sgeo> create name next, animate me . 1 1 5000; adone say "Done!"
21:49:25 -!- MigoMipo has quit (Remote host closed the connection).
21:49:51 -!- MigoMipo has joined.
21:49:52 <Sgeo> astarts can also specify that the animation loops
21:50:04 <AnMaster> Sgeo, that doesn't answer Phantom_Hoover's question yet?
21:50:14 <Sgeo> It.. almost does
21:50:16 <AnMaster> ah
21:50:18 * AnMaster waits
21:50:22 <Phantom_Hoover> I understand that they're objects.
21:50:53 <Sgeo> Wait, what else is there to understand?
21:51:02 <Sgeo> The animate command can also specify a different object
21:51:12 <oerjan> Ilari: the tricky thing here is that it would have to be superlinear to check a^n b^f(n) _even_ though it's longer than f(n). i'm doubtful that A(n,n) qualifies.
21:52:43 <oerjan> it takes a long time to compute compared to n, but not necessarily compared to A(n,n)
21:52:59 <cpressey> "An example of an EXPSPACE-complete problem is the problem of recognizing whether two regular expressions represent different languages, where the expressions are limited to four operators: union, concatenation, the Kleene star (zero or more copies of an expression), and squaring (two copies of an expression)." -- wikipedia
21:53:11 <cpressey> If I had time to think about it, that might give me ideas.
21:53:36 <Sgeo> create sign "On"; activate animate test . 1 1 0;
21:53:50 <Sgeo> create sign "Off"; activate animate test . 1 1 10000000000
21:53:52 <Phantom_Hoover> Is it worth it to create a /home partition?
21:54:05 <Sgeo> create name test, sign "Test"; activate astart
21:54:13 <Sgeo> erm
21:54:27 <Sgeo> create name test, sign "Test"; activate astart; adone say "This object was on"
21:55:51 -!- Phantom_Hoover has quit (Quit: Page closed).
21:55:52 <oerjan> cpressey: actually that gives a simple solution, just let the language consist of strings of the form RE_1,RE_2 where RE_1 RE_2 are/alternatively aren't representing the same language
21:56:36 <AnMaster> Sgeo, how does this become a gate though?
21:56:46 <cpressey> oerjan: Yes, there ya go.
21:56:46 <AnMaster> Phantom_Hoover: I could answer that, but you quit
21:57:32 -!- kar8nga has quit (Remote host closed the connection).
21:57:42 <Sgeo> AnMaster, hm? You want an example? I haven't exactly built an example yet
21:58:13 <Sgeo> But I might say, animate-duration-0 on 0 and duration-large on 1 is a "0", and duration-0 on 1 and large on 0 is a "1"
21:58:16 <AnMaster> Sgeo, no, not an example of your gate. Just of an actual transistor
21:59:02 <Sgeo> And an astart tells it to process (originally thought it would be occasionally false edge, but that's not needed I think)
21:59:27 <AnMaster> what
21:59:30 <AnMaster> you completely lost me
21:59:34 <Sgeo> AnMaster, did I say I built a transistor yet? Also, from a logical standpoint, what's the difference betweeen a transistor and an AND gate?
22:00:00 <AnMaster> Sgeo, um. quite a bit?
22:00:25 <Sgeo> Care to explain?
22:00:28 <AnMaster> Sgeo, a transistor isn't digital
22:01:00 <Sgeo> Hm, I don't think I need transistors
22:01:00 <AnMaster> it will be a gradual scale from completely closed to completely open
22:04:36 -!- Phantom_Hoover has joined.
22:05:54 <Phantom_Hoover> AnMaster, sorry; I got tired of the live CD>
22:06:17 <Sgeo> LiveCD of what?
22:06:49 <Phantom_Hoover> 64-bit Ubuntu. Long stor.y
22:07:57 <AnMaster> Phantom_Hoover, mhm
22:08:13 <AnMaster> Phantom_Hoover, I use separate /home on lvm2
22:08:23 <AnMaster> would make migrating easier to have separate /home
22:08:41 <AnMaster> and lvm2 means you can grow partitions as required
22:08:44 <Phantom_Hoover> AnMaster, yep.
22:08:46 <AnMaster> most space on my disk is unallocated
22:10:23 <Sgeo> It just occured to me that it would be absurd to, say, make a computer with 4GB of memory
22:10:32 <Sgeo> Suppose a viewer didn't HAVE 4gb?
22:11:04 <Sgeo> Heck, it's a lot of memory to store a component that stores _1 bit)
22:11:05 <Sgeo> _
22:11:11 <Phantom_Hoover> It's not possible to change the size of the / partition, is it?
22:11:44 <AnMaster> Phantom_Hoover, sure it is if you put it on lvm
22:11:49 <AnMaster> shrinking is trickier
22:11:52 <AnMaster> depends on FS
22:11:59 <Phantom_Hoover> ext3.
22:12:02 <AnMaster> Phantom_Hoover, many fs, like ext3, xfs and so on can grow on the fly
22:12:08 <AnMaster> think ext3 can grow on the fly too
22:12:13 <AnMaster> no idea about shrinking
22:12:17 <Phantom_Hoover> Shrinking it is, presumably, black magic.
22:12:23 <AnMaster> no fs I know can shrink while mounted
22:12:31 <AnMaster> Phantom_Hoover, you shouldn't need to shrink though
22:12:41 <AnMaster> you make partitions small to begin with
22:12:47 <Phantom_Hoover> AnMaster, my entire disc is partitioned.
22:12:56 <AnMaster> Phantom_Hoover, for example I started with 25 GB /home, then I grew it to 50 GB a few weeks ago
22:13:02 <Phantom_Hoover> When I installed Ubuntu, I was young and nave.
22:13:02 <AnMaster> while downloading something
22:13:40 <AnMaster> Phantom_Hoover, seems resize2fs can " -M Shrink the filesystem to the minimum size."
22:13:44 <AnMaster> probably not while mounted
22:13:54 <AnMaster> Phantom_Hoover, no idea if it tried to reallocate stuff on disk for that or not
22:14:12 <Phantom_Hoover> If I boot the live CD, can I use their partition editor to shrink it?
22:14:12 <AnMaster> Phantom_Hoover, I would use gparted
22:14:26 <AnMaster> Phantom_Hoover, I don't know, why not boot and check
22:14:29 <Phantom_Hoover> Yes, that is what I was planning.
22:14:38 <AnMaster> Phantom_Hoover, I tend to use gparted on systemrescuecd
22:14:54 <AnMaster> it has all the tools required for everything that can be done
22:15:06 <AnMaster> Phantom_Hoover, I don't know if the ubuntu livecd have all the tools installed
22:15:18 <AnMaster> Phantom_Hoover, also, upgrade to ext4 or switch to jfs or such
22:15:25 <AnMaster> but don't stay on ext3
22:15:30 <Phantom_Hoover> I can do these things, probably.
22:15:50 <Phantom_Hoover> Wait, I'll use qwebirc from the live CD. Bye for now.
22:15:53 <AnMaster> well google for how to convert, ext4 wiki at kernel.org is probably a good source
22:15:56 <AnMaster> Phantom_Hoover, cya
22:15:59 <AnMaster> going to sleep shortly
22:17:44 <Sgeo> There's a whole wiki for ext4?
22:18:27 -!- Phantom_Hoover_ has joined.
22:18:34 <Phantom_Hoover_> Back.
22:18:59 <Phantom_Hoover_> OK, the live CD has GParted.
22:19:23 <Phantom_Hoover_> And I can shrink my root partition.
22:19:43 <fizzie> AnMaster: I believe there's some sort of preliminary also-shrink online-resizing for btrfs, but you need to be pretty brave to trust that.
22:20:07 <Phantom_Hoover_> OK, so I presume that I simply shrink sda5, then stick another partition in the freed space?
22:20:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:20:43 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover.
22:21:04 <fizzie> Assuming you're using a filesystem-aware shrinking tool, sure.
22:21:28 <Phantom_Hoover> fizzie: it's GParted shrinking ext3.
22:21:45 <fizzie> That sounds sensible.
22:22:00 <fizzie> "Online resizing (including shrinking)" in btrfs-0.10 already back in Jan 15, 2008.
22:22:15 <Phantom_Hoover> Can I just leave the partitions taking up all of the disc?
22:22:20 <fizzie> (Unless they've thrown away the feature.)
22:24:37 <Sgeo> Is it possible to get an internship after graduation?
22:24:44 <AnMaster> fizzie, um. does brtfs support defrag too?
22:24:46 <Sgeo> Or do most internships mandate that you're a student?
22:24:55 <AnMaster> Phantom_Hoover, yes let lvm2 fill the rest
22:24:57 <Phantom_Hoover> You know, screw this.
22:24:58 <fizzie> AnMaster: Yes, there's online defragging in it.
22:25:02 <AnMaster> Phantom_Hoover, then you allocate at runtime from it!
22:25:16 <Phantom_Hoover> AnMaster: my partition table is horrible.
22:25:22 <AnMaster> fizzie, cool. I selected ext4 because they said "soon"
22:25:38 <AnMaster> Phantom_Hoover, mine used to be. lvm2 lives on a physical partition of yours
22:25:39 <AnMaster> that's all
22:26:01 <AnMaster> fizzie, I'm still waiting
22:26:16 <Phantom_Hoover> There's some Windows stuff jammed at the start, then a huge, 120something GB block of Ubuntu's space, then some swap at the end.
22:27:56 <Gregor-W> Sgeo: You don't explicitly have to be a student to get an internship, but that's the assumption.
22:28:07 <Sgeo> :/
22:28:18 <Gregor-W> Sgeo: The only case where you'd commonly get one as a non-student is if you're between graduating from one school and enrolling in another.
22:28:31 <fizzie> AnMaster: Heh. Well, btrfs is not in 1.0 yet either, and I don't think they have a real schedule, though I guess they haven't made a backwards-incompatible on-disk-format change in ~1.5 years now.
22:28:53 <Sgeo> I guess I should hurry up and look for an internship soon then
22:31:55 <Phantom_Hoover> I *finally* let Ubuntu run fsck, then GParted insists on doing it again.
22:31:57 <Phantom_Hoover> Grrr.
22:32:19 -!- hiato has quit (Quit: underflow).
22:33:06 <AnMaster> fizzie, hah
22:33:16 <AnMaster> fizzie, I wait for it to become frozen
22:33:22 <AnMaster> fizzie, meanwhile I use xfs or jfs
22:33:31 <AnMaster> jfs can't do online defrag either but it is a good fs still
22:33:47 <AnMaster> fizzie, might switch to brtfs when it becomes stable if it is good
22:34:32 <fizzie> They say it is, but no personal experiences.
22:34:58 <fizzie> I'm just running some boring ext4 filesystems.
22:35:18 <AnMaster> fizzie, that + jfs for me
22:35:29 <AnMaster> oh and xfs
22:36:20 <AnMaster> fizzie, is there a way to defrag lvm volumes? I suspect they are fragmented from growing nowdays. Big chunks (25 GB in a stretch or such) but still
22:38:14 <fizzie> You could check the block mappings to see if they are; it's one of the verbosity flags. I'm not sure if fragmentation matters so much there, since the blocks are still pretty large. (Of course I have no clue if complicated mappings cause some problems.)
22:39:20 <AnMaster> hm
22:39:31 <AnMaster> fizzie, block mappings with lvs? pvs? vgs?
22:39:42 <AnMaster> or which tool?
22:40:14 * Sgeo wonders if 7 addressible bytes of memory and 7 instructions are too few for an 8-bit system
22:40:47 <fizzie> lvdisplay --maps
22:40:47 <Phantom_Hoover> ...
22:41:20 <Sgeo> It would mean I'd need pretty much NO gates to say, determine which piece of hardware in the CPU a particular instruction refers to
22:42:15 <Phantom_Hoover> Why does it need to be 8-bit?
22:42:30 <Sgeo> It doesn't
22:43:04 <Phantom_Hoover> Then why did you say "8-bit"?
22:43:17 <AnMaster> fizzie, seems /home is split
22:43:39 <AnMaster> fizzie, so how would one defrag it?
22:43:43 <Sgeo> Well, the busses would have.. I don't know
22:43:44 <fizzie> If you have a lot of spare space, you can possibly manually rearrange things with pvmove, though I'm not sure if it bothers to "move" extents from one physical volume to the same. (But if it does, you can tell it to move only the extents of a single LV, and they'd probably end up as a contiguous region after that.
22:44:05 <fizzie> At least if you specify --alloc contiguous too.
22:44:10 <AnMaster> array 1 6 0 wz--n- 927,32g 579,32g
22:44:14 <AnMaster> fizzie, yes I have a lot free
22:44:20 <AnMaster> the last column is free
22:44:23 <AnMaster> from vgs output
22:44:29 <AnMaster> the one before is total
22:44:34 <fizzie> A single split is possibly not very troublesome.
22:45:16 <fizzie> Seems tha Bisqwit has written some sort of script, http://bisqwit.iki.fi/source/lvm2defrag.html
22:46:01 <AnMaster> fizzie, is "Bisqwit" someone you know of?
22:46:44 <fizzie> Not personally, but I know the name; doesn't he do tool-assisted NES speedruns or something like that?
22:46:56 <pikhq> I got filesystem corruption when I ran that script.
22:46:58 <pikhq> And yes, he is.
22:47:07 <AnMaster> fizzie, if you had said "kernel developer" I would have trusted it more
22:47:12 <AnMaster> pikhq, okay not going to use it then
22:47:24 <pikhq> AnMaster: All of LVM is userspace.
22:47:30 <AnMaster> pikhq, well okay
22:47:36 <AnMaster> pikhq, "lvm developer"?
22:47:46 <AnMaster> that would would have made it sound a lot safer
22:48:40 <fizzie> It seems to generate a commands.sh file to run, so you can make sure it's not doing anything strange.
22:48:42 <AnMaster> also ugh at php
22:49:04 <fizzie> Yes, that's pretty strange language to choose.
22:49:13 -!- ehirdiphone has joined.
22:49:28 <Ilari> What PHP?
22:49:30 <ehirdiphone> Of the tataism...
22:49:53 <fizzie> AnMaster: Oh, he's also done the Finnish fan-translation of Chrono Trigger. :p
22:50:05 <ehirdiphone> fizzie: Who?
22:50:12 <augur> ehirdiphone!
22:50:13 <fizzie> ehirdiphone: Bisqwit.
22:50:14 <augur> on a tuesday!
22:50:16 <augur> my word!
22:50:23 <AnMaster> fizzie, okay not something relevant to this program though
22:50:26 <ehirdiphone> fizzie: Reminds me of an advert.
22:50:27 <AnMaster> plus what pikhq said. nah
22:50:33 <ehirdiphone> augur: Smuggled.
22:50:37 <augur> nice
22:51:12 <augur> ehirdiphone: do you ever, as a result of IRC tab completes, get into the habit of trying to tab-complete your sentences? as if your computer should know what you're trying to say...
22:52:22 <Gregor-W> augur: I just think loudly at my computer and it picks it up and writes what I'm thinking.
22:52:39 <augur> XD
22:52:47 <augur> i keep trying to tab complete my thoughts
22:52:51 <augur> its really frustrating
22:52:59 <Sgeo> It's an iProduct user!
22:53:02 <augur> its like a part of me isnt there
22:53:09 <augur> like i was born wrong
22:53:14 -!- relet has quit (Quit: Leaving.).
22:53:34 <AnMaster> <augur> i keep trying to tab complete my thoughts <-- never happened to me
22:53:36 <augur> clearly, i'm a pre-op transhuman, but that goes without saying
22:53:44 <AnMaster> augur, pre-op?
22:53:45 <augur> AnMaster: you need to have thoughts first
22:53:46 <augur> ooooh burn
22:53:48 <augur> yeah, you know
22:53:53 <augur> pre-op. pre-operation.
22:54:08 <augur> the operation that'll implant the cybernetics
22:54:10 <AnMaster> ah
22:54:14 <augur> beep boop
22:56:38 <Gregor-W> "Pre-op transhuman" is an awesome expression :P
22:56:40 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
23:03:05 <augur> Gregor-W: :)
23:03:28 <augur> it doesnt hurt that some of my friends, and definitely some of my love interests, are pre-op transboys
23:04:30 <ehirdiphone> I'm postop subhuman
23:04:45 <ehirdiphone> I lurve neuron inhibitors
23:05:26 <ehirdiphone> Joking, I'm actually mid-op human.
23:06:08 <ehirdiphone> btw, the human visualisation system sucks
23:06:20 <ehirdiphone> view an image w colour in your head. Sni
23:06:25 <ehirdiphone> Animate it
23:06:36 <ehirdiphone> Where is it? Oops, it disappeared.
23:07:51 <ehirdiphone> augur: if you're trying to tab complete your thoughts you know what you Want to think. And thud have already thought it.
23:07:55 <ehirdiphone> *want
23:08:00 <ehirdiphone> *thus
23:08:18 <augur> ehirdiphone: i can animat color images in my head :|
23:08:28 <ehirdiphone> yes
23:08:41 <ehirdiphone> then try and figure out where the picture is
23:08:43 <augur> also, i mean tab complete the externalization of those thoughts
23:08:45 <ehirdiphone> it crashes
23:08:48 <augur> uh
23:08:49 <augur> no it doesnt
23:08:57 <ehirdiphone> Yes it does :P
23:09:00 <augur> i can put that picture wherever i want
23:09:04 <augur> it does for you maybe
23:09:11 <ehirdiphone> In front of things???
23:09:12 <augur> but as you said, you're a mid-op subhuman!
23:09:14 <augur> sure!
23:09:16 <augur> why not?
23:09:21 <ehirdiphone> Obscure your computer.
23:09:22 -!- Phantom_Hoover has quit (Quit: Page closed).
23:09:32 <ehirdiphone> augur: Mid op HUMAN
23:09:38 <augur> oh sorry
23:09:42 <ehirdiphone> Or post op SUBHUMAN
23:09:44 <ehirdiphone> :|
23:10:02 <augur> well it cant obscure the computer, due to overriding effects from the eyes
23:10:23 <ehirdiphone> Also the sound synthesising system sucks. Everything sounds distant.
23:10:30 <augur> give me about 750mg of DXM and i can at the very least get full closed eyed visuals
23:10:53 <ehirdiphone> augur: But it never seems to be actually there!
23:11:02 <ehirdiphone> It's always somehow offcamera.
23:11:03 <augur> well, not without drugs, usually, no
23:11:10 <ehirdiphone> xD
23:11:12 <augur> its on camera for me, just not
23:11:17 <augur> not very salient
23:11:18 <ehirdiphone> yeah
23:11:26 <augur> but thats sensible; its very weak compared to the real world
23:11:29 <augur> the world is bright and loud
23:11:30 <ehirdiphone> Just not is keyword
23:11:35 <ehirdiphone> augur: exactly
23:11:42 <ehirdiphone> flaw in sapiensOS
23:11:42 <augur> but that doesnt mean its off camera!
23:11:47 <augur> its just drowned out!
23:11:54 <augur> probably not a flaw, there, buddy :P
23:12:06 <augur> it'd be a bit problematic if you were hallucinating your imagination all the time
23:12:19 <ehirdiphone> sapiensOS also lacks extension capability eg for virtual reality
23:12:24 <augur> no it doesnt
23:12:28 <ehirdiphone> augur: User controlled intensity
23:12:29 <augur> the extension is just illegal.
23:12:49 <augur> you have to break the law to use those mods
23:12:53 <augur> its much like an iPhone
23:13:12 <ehirdiphone> augur: Drugs don't let me program my own VR where I have 70 heads and 30 lightbulbs for genitals
23:13:19 <augur> heh
23:13:24 <ehirdiphone> They just spontaneously give me that.
23:13:24 <augur> you're taking the wrong drugs then ;)
23:13:38 <ehirdiphone> There's a difference :P
23:13:59 <ehirdiphone> augur: i.e. none :P
23:14:39 <ehirdiphone> pikhq€
23:14:44 <ehirdiphone> pikhq ¥¥¥¥
23:14:51 <ehirdiphone> €$¥•
23:15:23 <ehirdiphone> augur: Reading my brains source code would be rad
23:15:44 <ehirdiphone> with the unused evolutionary crud eluded
23:15:49 <ehirdiphone> *elided
23:15:58 <augur> http://genome.ucsc.edu/
23:16:10 <augur> oh, unused, well. we dont know whats used and what isnt. so.
23:16:19 <ehirdiphone> that's not even neuron data
23:16:28 <augur> nope!
23:16:44 <ehirdiphone> that's the machine code for a proprietary computer that creates a similar program to mine
23:16:48 <augur> i like to imagine that DNA is sort of like a ZIP file
23:16:55 <ehirdiphone> in just an unreadable format
23:17:10 <ehirdiphone> augur: more like code for a replicator.
23:17:16 <augur> it encodes the means by which you can build the actual stuff
23:17:22 <augur> not just a replicator tho, right
23:17:34 <ehirdiphone> It's a makefile :P
23:17:45 <augur> its code for how those replicators replicate and interact to form a larger machine
23:18:02 <augur> self organizing transistors
23:18:07 <ehirdiphone> Ie a bigger replicator
23:18:14 <ehirdiphone> *i.e.
23:18:18 <ehirdiphone> Anyway!
23:18:20 <augur> indeed
23:18:22 <augur> anyway
23:18:26 <augur> im off to watch doctor who
23:18:27 <augur> byeee
23:18:36 <ehirdiphone> Sheesh
23:18:41 <ehirdiphone> Just abandon me
23:18:42 <augur> what?
23:18:46 <ehirdiphone> :'(((
23:18:46 <augur> oh im not abandoning
23:18:48 <ehirdiphone> :P
23:18:49 <augur> im just saying bye
23:18:52 <augur> and dumping you in a ditch
23:18:53 <ehirdiphone> wat
23:19:00 <ehirdiphone> ic
23:19:25 <ehirdiphone> augur: IS DR WHO MORE INTRRESTING THAN ME
23:19:26 <cpressey> Boffo.
23:19:28 <ehirdiphone> (yes)
23:19:34 <ehirdiphone> *INTERESTING
23:19:36 <augur> yes.
23:19:38 <ehirdiphone> *DOCTOR
23:19:44 <augur> first doctor!
23:19:45 <ehirdiphone> cpressey: hi
23:19:48 <cpressey> Dr. Who > *
23:19:58 <ehirdiphone> cpressey: *Doctor
23:20:07 <ehirdiphone> Whooooo doctor who
23:20:11 <ehirdiphone> Doctor whooooo
23:20:16 <ehirdiphone> The tardis!
23:20:21 <ehirdiphone> Doctor whoooooooo
23:20:24 <augur> ehird, design a tail-recursive algorithm for swapping out arbitrary elements of a cons tree
23:20:24 <ehirdiphone> Doctor who
23:20:31 <ehirdiphone> Doctor whoooah
23:20:35 <ehirdiphone> Doctor who
23:20:43 <augur> actually sorry
23:20:54 <cpressey> Nice video for that song, if you get a chance to see it
23:21:02 <augur> design a tail recursive set of operations which, when used in one sequence or other, lets you swap out an arbitrary element of a cons tree
23:21:03 <ehirdiphone> Not here.
23:21:18 <ehirdiphone> augur: No.
23:21:22 <augur> oh fine
23:21:23 <augur> lamer
23:21:27 <ehirdiphone> :)
23:21:54 <cpressey> Since I did not make my feeling clear last time:
23:22:21 -!- GreaseMonkey has joined.
23:22:48 <cpressey> ST:TOS => entertaining; ST:TNG => entertaining; ST:DS9 => dull knock-off of B5 (which was also dull); ST:V => borderline unwatchable drivel; ST:V after 7 of 9 => fully unwatchable drivel
23:23:04 <augur> hey, B5 was awesome
23:23:08 <augur> shut your face
23:23:11 <ehirdiphone> ToS I can't watch. Dunno why.
23:23:21 <ehirdiphone> DS9 is so unimaginably boring.
23:23:28 <ehirdiphone> TNG is fun.
23:23:44 <ehirdiphone> cpressey: Mind, VOY was fun. Just not intentionally.
23:24:00 <ehirdiphone> Also, moar fan of service lol
23:24:05 <ehirdiphone> *liek
23:24:18 <cpressey> ?
23:24:19 <ehirdiphone> *TOS
23:24:26 <ehirdiphone> 7/9
23:24:36 <ehirdiphone> Moar like Fan/Service.
23:24:41 <ehirdiphone> *liek
23:24:47 <Sgeo> I think I like VOY
23:24:54 <Sgeo> Then again, I haven't watched a lot of it
23:25:06 <ehirdiphone> I've heard "26 of D" before on tvtropes.
23:25:10 <ehirdiphone> IIRC
23:25:39 <ehirdiphone> The great part of voyager is that everyones crazy apart from Dr. Asshole
23:26:04 <ehirdiphone> cpressey: I'm — shock, horror! — making a MY-OS-RELATED COMPROMISE!
23:26:21 <Sgeo> How is EMH an asshole?
23:26:26 <cpressey> Doctor Who trumps any and all of these a hundredfold, though. TOS, anyway, if you can call it that.
23:26:37 <ehirdiphone> Sgeo: Watch the earlier episodes.
23:26:38 <Sgeo> I know the actor plays someone who started out as a bit of a prick in the Stargate franchise
23:26:40 <cpressey> ehirdiphone: Indeed?
23:26:55 <ehirdiphone> He's a gigantic prick to everyone :P And it's awesome.
23:27:14 <ehirdiphone> cpressey: Doctor Who isn't really scifi anyway.
23:27:24 <ehirdiphone> More like arbitrary plot device fantasy.
23:27:39 <ehirdiphone> cpressey: Indeed; a compromise!
23:28:12 <cpressey> ehirdiphone: Do tell, or don't.
23:28:39 <ehirdiphone> cpressey: Aye, I'll do.
23:29:07 <ehirdiphone> I just decided to make something slightly more conventional beforehand :P
23:29:24 <ehirdiphone> Basically, Plan 9 turned up to 11. Plan 11.
23:29:43 <cpressey> ehirdiphone: No smiley exists that adequately conveys my reaction to that.
23:30:00 <ehirdiphone> Drivers are just userspace daemons serving device files from raw hardware devices.
23:30:16 <ehirdiphone> cpressey: Good, bad? Horror; shock?
23:30:24 <cpressey> ...
23:30:30 <pikhq> Meanwhile, Gregor, AnMaster, and I are creating the Ultimate Unix.
23:30:33 <cpressey> Pickled beets?
23:30:35 <ehirdiphone> Sounds bad.
23:30:42 <ehirdiphone> pikhq: AnMaster? Hah.
23:30:48 <pikhq> It shall be Unix. And in userland. On all OSes.
23:30:50 <pikhq> Bwahahah!
23:30:58 <ehirdiphone> Couldnt unix his way out of a paper bag.
23:31:01 <pikhq> Same ABI.
23:31:08 <ehirdiphone> pikhq: That was my idea ...
23:31:38 <ehirdiphone> cpressey: wat.
23:31:41 <cpressey> I suppose I shall be one of the dwindling number of anti-Unix luddite holdouts, still thinking about the Lisp machines. We'll see.
23:31:52 <ehirdiphone> cpressey: No. Me too!
23:32:03 <cpressey> Er, Plan 9 is unix in my book.
23:32:08 <ehirdiphone> You see, plan 9 took unix and turned it into STUFF.
23:32:14 <cpressey> Small-u unix, but unix still.
23:32:21 <ehirdiphone> You gotta look closer.
23:32:39 <ehirdiphone> I too was skeptical. And it's not ideal: but very very good.
23:33:08 <ehirdiphone> cpressey: Lisp machines aren't so pure. They used byte based file systems to store stuff.
23:33:28 <ehirdiphone> Not even in a pure, abstract way like plan 9.
23:33:53 <pikhq> cpressey: Yes, but Plan 9 is the Unix done ideally.
23:33:59 <pikhq> Well.
23:34:01 <pikhq> Nearly.
23:34:28 <ehirdiphone> The Unix
23:34:54 -!- augur has quit (Remote host closed the connection).
23:34:55 <ehirdiphone> cpressey: The process nanespaces change EVERYTHING
23:35:07 <ehirdiphone> / differs from process to process
23:35:13 <ehirdiphone> It's a namespace
23:35:15 -!- augur has joined.
23:35:22 <cpressey> "Thinking about" does not mean replicating, but whatever.
23:35:41 <Sgeo> ehirdiphone, I have managed to interest multiple people here in AW stuff
23:35:49 <ehirdiphone> The window manager starts it's windows with a namespace where the raw /dev/screen points to the WM
23:35:53 <Sgeo> Well, not interest per se, but it's been talked about
23:36:00 <ehirdiphone> Which then blits it to a window.
23:36:06 <ehirdiphone> That's elegant.
23:36:17 <cpressey> ehirdiphone: In Plan 9, how do I, a process, send a message to another process?
23:36:19 <ehirdiphone> Sgeo: Not really. I read.
23:37:05 <ehirdiphone> cpressey: You tend to communicate with abstract devices instead. But /dev/prog/ and /proc/N/.
23:37:13 <ehirdiphone> Latter moreso.
23:37:21 <ehirdiphone> Dunno if I've seen the former.
23:37:40 <ehirdiphone> But almost universally the interface is abstract and generic.
23:38:13 <ehirdiphone> *na
23:38:21 <ehirdiphone> *namespaces
23:38:27 <ehirdiphone> (ancient typo)
23:39:19 -!- oerjan has quit (Quit: Later).
23:40:07 <ehirdiphone> Anyway that way that the wm works automatically means you can run any process instead of a wm just fine and also that the WM nests perfectly.
23:40:32 <ehirdiphone> It just splits it's own /dev/screen up for it's children, basically.
23:40:41 <ehirdiphone> *its *its
23:40:42 -!- tombom has quit (Quit: Leaving).
23:41:04 <ehirdiphone> and keyboard mouse device files ofc
23:41:22 <cpressey> Cute trick.
23:41:40 -!- MizardX has quit (Ping timeout: 276 seconds).
23:41:49 <ehirdiphone> Trick? Underlying philosophy.
23:42:11 <ehirdiphone> There is only one obviously correct way to manage windows on plan 9; that is it.
23:42:29 <cpressey> Cute underlying philosophy, then.
23:42:40 <ehirdiphone> Try that without per-process namespaces!
23:43:30 <ehirdiphone> cpressey: Also, say you are connected to a machine A.
23:43:49 <ehirdiphone> You want to run a machine A program with the graphics on your screen.
23:44:39 <ehirdiphone> You do, basically, connect to your computer from A then "bind /net/mybox/dev/screen /dev/screen".
23:45:12 <ehirdiphone> Run the program; it appears where you ran those commands (using that windows screen device)
23:45:33 <ehirdiphone> Same thing for kbd and mouse ofc
23:45:46 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:45:47 <ehirdiphone> *You, basically,
23:46:06 <cpressey> I should be impressed.
23:46:45 <ehirdiphone> Well, it's X11 forwarding in zero lines of code. Gotta be doing something right.
23:48:29 <ehirdiphone> cpressey: I'm as much an antiunix zealot as yesterday
23:48:50 <ehirdiphone> I've always liked plan 9.
23:50:01 <cpressey> I used to like Plan 9 but now it irritates me.
23:50:10 <cpressey> I'm letting my feelings get in the way, obviously.
23:56:32 <cpressey> Sorry to be so negative.
23:56:43 <cpressey> Not sure what else to do.
23:57:21 <cpressey> No real plan to design my own OS. Only pipe dreams, for no purpose, that will never materialize.
23:57:51 <AnMaster> ehirdiphone, we could just have a module called plan9 alongside the posix one
23:57:56 <AnMaster> no problem
23:57:58 <AnMaster> quite feasible
23:58:01 <AnMaster> *shrug*
23:58:06 <AnMaster> pikhq, ^
23:58:15 <AnMaster> ehirdiphone, but I assume you implement it :P
23:58:23 <ehirdiphone> AnMaster: no you couldn't
23:58:30 <AnMaster> ehirdiphone, um. same API.
23:58:39 <ehirdiphone> ... Fail.
23:58:42 <ehirdiphone> So hard.
23:58:57 <AnMaster> ehirdiphone, of course you would have to do the process stuff too. But that goes into the API
23:59:09 <cpressey> "rom the Earth perspective, Martian software is just another strange, mutually incompatible doohickey. Welcome aboard! Alas, our mudball is already ornamented with many such curios. They stick quite well."
23:59:12 <AnMaster> I assume we would do some such emulation anyway for posix on win32
23:59:14 <cpressey> *"From
23:59:19 <AnMaster> far from all, but some
2010-06-30
00:00:06 <ehirdiphone> cpressey: You just updated...
00:00:26 <cpressey> I won't defend Plan 9 strongly, but slapping a POSIX compatibility layer on it doesn't sound appetizing
00:00:41 <ehirdiphone> cpressey: A Yarvin disciple.
00:00:41 <ehirdiphone> New one.
00:00:48 <cpressey> ehirdiphone: Yes I did, but it's not 100% complete, one sec
00:00:51 <ehirdiphone> ...catseye.tc, to complete my utterance.
00:01:05 <AnMaster> cpressey, um you realise I said we would slap plan9 compat on windows and such
00:01:08 <Sgeo> Active Worlds Inc. > Microsoft
00:01:09 <AnMaster> not the other way around
00:01:10 <AnMaster> ...
00:01:11 <cpressey> ehirdiphone: No, just someone who has read that post and mused about it.
00:01:18 <AnMaster> I hope ehirdiphone realise this too
00:01:18 <cpressey> I think Nock is actually pretty lame :/
00:01:27 <AnMaster> ehirdiphone, right?
00:01:28 <cpressey> Well, it's a nice esolang
00:01:33 <ehirdiphone> cpressey: Nock sucks. Urbit is better.
00:01:38 <ehirdiphone> AnMaster: I realise.
00:01:52 <AnMaster> ehirdiphone, and I say it could be done, but I'm not the one to do it
00:01:57 <ehirdiphone> cpressey: Urbit approaches a decent idea. Especially the networking.
00:02:19 <Sgeo> When I contacted AWI, they were really helpful in .. what they thought was a lost password situation
00:02:22 <cpressey> But Urbit is just an opaque function really, as one of the comments pointed out. Which is not a bad thing.
00:02:28 <AnMaster> ehirdiphone, oh and we need dynamic linking to pull this off. So you will hate it anyway
00:02:31 <AnMaster> *shrug*
00:02:41 <Sgeo> Here [with an MSN issue], my friend's giving a lot of information to prove that it's really him, and it's "not enough"
00:02:45 <cpressey> So I think Yarvin's a bit confused, but he makes some nice analogies and such.
00:02:48 <AnMaster> Sgeo, "what they thought"?
00:02:57 <pikhq> ehirdiphone: The basic trick of Microcosm is to just have a seperate ABI running on one's OS. :P
00:03:45 <ehirdiphone> AnMaster: You're a purposefully-inflammatory troll who has no unique ideas that are not boring and prides himself on purposeful misunderstanding. Just STFU, at least to me.
00:03:58 <Sgeo> AnMaster, I didn't actually lose my password, I needed something else
00:04:02 <AnMaster> pikhq, ... what is it with ehirdiphone?
00:04:13 <AnMaster> ehirdiphone, you are the one trolling here.
00:04:25 <ehirdiphone> I'm more open about disliking you than the others.
00:04:34 <ehirdiphone> That's a thing, I guess.
00:04:56 <ehirdiphone> (The others being a welldefined set of people I won't name.)
00:05:49 <cpressey> ehirdiphone: Now the update's complete. Stupid XHTML cleanser stripped out my applet tag the first time.
00:06:06 <ehirdiphone> cpressey: I just meant the news post.
00:06:13 <ehirdiphone> Can't use java on iPhone...
00:06:17 <cpressey> Now to pump out four or five more languages, zzo38-style, and I'll have 60.
00:06:35 <cpressey> ehirdiphone: Well, don't worry about it -- it's not exactly earth-shattering.
00:06:48 <cpressey> Oh speaking of which, did anyone catch what Knuth announced?
00:06:49 <ehirdiphone> Make a calculus ala lambda, pi, object calculus.
00:07:03 <ehirdiphone> Nope. New TeX update?
00:07:05 <cpressey> ehirdiphone: Coroutine calculus.
00:07:05 <pikhq> cpressey: Not yet.
00:07:13 <ehirdiphone> He's admitting to being mortal?
00:07:23 <ehirdiphone> cpressey: You mean pi calculus.
00:07:32 <cpressey> ehirdiphone: I thought that was processes.
00:07:44 <ehirdiphone> cpressey: Close enough.
00:07:56 <cpressey> I need a raised-eyebrow smiley.
00:07:59 <ehirdiphone> Do coroutine calculus then.
00:08:02 <AnMaster> <ehirdiphone> Can't use java on iPhone... <-- even my old old nokia can use java. Not sure about applets though, but I think it might
00:08:06 <pikhq> cpressey: 5:30 Pacific time. Still a couple more hours.
00:08:10 <ehirdiphone> Sigma calculus?
00:08:40 <ehirdiphone> AnMaster: I don't even give half a shit and you know it.
00:08:42 <AnMaster> <cpressey> I need a raised-eyebrow smiley. <-- try ^_^ or such
00:08:47 <ehirdiphone> I was merely stating a fact.
00:09:13 <cpressey> ^_^ looks too much like a pleased Pokemon mumblesomething.
00:09:24 <AnMaster> cpressey, haha
00:09:28 <cpressey> More to the point, ^_^ looks nothing like a raised eyebrow
00:09:39 <AnMaster> cpressey, what about -_^
00:09:43 <AnMaster> one raised eyebrow
00:09:45 <cpressey> Closer
00:10:04 <cpressey> Maybe I should go with o_O
00:10:09 <ehirdiphone> cpressey: So what operations? Coroutine creation, yield(v), next(coro), while x:=next(coro).
00:10:14 <ehirdiphone> What else?
00:10:20 <AnMaster> cpressey, hm possibly
00:11:02 <cpressey> ehirdiphone: I thought they'd be like lambdas somehow, but with a "yield" combinator. Haven't really thought about it.
00:11:06 <AnMaster> night
00:11:21 <ehirdiphone> cpressey: Nah, make it purist :)
00:11:43 <ehirdiphone> Like pi calc.
00:11:55 <cpressey> Eh, it's been done. Probably.
00:12:32 <ehirdiphone> cpressey: Invent a language like banana scheme except you can increase the level by one with a function
00:12:48 <ehirdiphone> To haltcheck more programs.
00:12:57 <ehirdiphone> I suggest calling it (1up)
00:13:09 <cpressey> No, I'm not gonna do that.
00:13:11 -!- yiyus has quit (Ping timeout: 240 seconds).
00:13:14 <cpressey> Not because I think it is a bad idea.
00:13:21 <cpressey> But because there are bounds on my time.
00:13:41 <ehirdiphone> It's not hard to invent that :P
00:13:43 <cpressey> I encourage you to have a go at it.
00:13:54 <ehirdiphone> You need to beat zzo!
00:13:58 <ehirdiphone> It is VITAL.
00:14:06 <cpressey> In some sense, not possible.
00:14:21 <cpressey> In another sense, already have.
00:14:30 <ehirdiphone> Does he create languages faster than light?
00:14:37 <cpressey> o_O
00:15:02 <Gregor-W> ehirdiphone: That response was pure, pure brilliance.
00:15:03 <ehirdiphone> You said impossible to beat :P
00:15:20 <ehirdiphone> I guess plain lightspeed would work too.
00:15:44 <ehirdiphone> Wait
00:15:54 -!- yiyus has joined.
00:15:59 <cpressey> At the speed of light, all languages have infinite mass
00:16:05 <ehirdiphone> Gregor-W: I did NOT even notice the tim pun
00:16:12 <ehirdiphone> *tine travel
00:16:14 <Gregor-W> ehirdiphone: D'AWWWWW :(
00:16:16 <ehirdiphone> *time
00:16:20 <Gregor-W> That's why it was brililant :P
00:16:25 <Gregor-W> *brilliant >_>
00:16:31 <ehirdiphone> Gregor-W: My subconscious is hilarious XD
00:16:58 <Gregor-W> cpressey: Does that mean that as languages approach the speed of light, they become C++?
00:17:12 <cpressey> Ewww
00:17:23 <cpressey> Or PL/I
00:17:34 <ehirdiphone> Gregor-W: Performance joke
00:17:38 <ehirdiphone> Intentional?
00:17:45 <Gregor-W> Unintentional!
00:17:51 <ehirdiphone> XD
00:18:07 <ehirdiphone> This is the subconscious party
00:22:19 <cpressey> Well, let's pretend we can measure this. Zzo38 appears to have 59 languages listed on his wikipedia user page.
00:22:50 <cpressey> I have 56 listed, which is fuzzy, but let's arbitrarily say, canonically so. So I need at least 4 more.
00:23:50 <Gregor-W> WTFBBQ is all this then?
00:24:41 <cpressey> Last I checked, Wouter had 59 languages listed, 47 of which had actual names.
00:25:31 <cpressey> Checked again; he hasn't updated his list since Bear (2005).
00:26:17 <cpressey> So "first one to 60" would be a reasonable competition, but one in which I have a significant handicap.
00:27:14 <cpressey> Gah, what a way to suck the fun out of it.
00:27:51 <cpressey> I'll just keep on... whatever it is that I do. -in'.
00:28:18 <Gregor-W> I still don't get it at all :P
00:29:15 <cpressey> Gregor-W: ehirdiphone has told me "You need to beat zzo!" In terms of number of languages invented.
00:29:40 <Gregor-W> Ahhh
00:30:16 <Gregor-W> I prefer to write few, awesome languages :P
00:30:56 <ehirdiphone> cpressey goes for quantity + quality
00:31:01 <cpressey> I like to think I hold certain minimum standards of awesomeness. Or was it gnarliness?
00:31:10 <ehirdiphone> zzo goes for...um... quantity
00:31:34 <ehirdiphone> Wouter is lying. He can't actually program.
00:31:41 <Gregor-W> I go for ... other, equally-esoteric but less-languagey-sometimes projects?
00:31:51 <cpressey> Yes it is all a NIGERIAN SCAM
00:32:12 <ehirdiphone> To take our aardappels.
00:32:24 <ehirdiphone> Night.
00:32:55 <ehirdiphone> Bye.
00:32:59 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:33:16 <cpressey> I leave too now.
00:33:19 -!- cpressey has quit (Quit: Leaving.).
00:46:30 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:47:41 <Sgeo> I feel like I'm taking a trip into script-kiddy central
00:59:17 -!- Oranjer has joined.
00:59:25 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.6/20100625231939]).
01:00:51 -!- Gregor-W has quit (Quit: Page closed).
01:07:54 -!- Pitagorin has joined.
01:11:51 -!- Pitagorin has left (?).
01:57:57 -!- Sgeo_ has joined.
02:00:30 -!- Gracenotes has quit (Ping timeout: 252 seconds).
02:00:35 -!- Sgeo has quit (Ping timeout: 245 seconds).
02:24:12 -!- Oranjer has left (?).
02:24:36 -!- oerjan has joined.
02:36:06 -!- Gracenotes has joined.
02:49:36 -!- oerjan has quit (Quit: leaving).
03:14:51 -!- coppro has quit (Remote host closed the connection).
03:15:35 -!- coppro has joined.
03:28:06 <coppro> http://www.kongregate.com/games/Coolio_Niato/lighbot-2-0
03:33:35 <pikhq> OMFG
03:33:41 <pikhq> MicroXwin.
03:34:06 <pikhq> It's a windowing system that is *API* compatible with libX11. While not sucking.
03:34:30 <pikhq> It's teensy.
03:35:30 <pikhq> Gosh darnit it's nonfree.
03:37:14 <coppro> but it's not on the X protocol?
03:38:16 <pikhq> Not the X protocol.
03:48:55 <pikhq> Hot shit. GTK runs directly on the framebuffer.
03:54:15 <coppro> okay, new idea
03:54:56 <coppro> must make a language where something called a "dragon" is very complex, but somewhat useful
03:55:10 <coppro> this is so that a comment called "here be dragons" is both valid and useful
04:38:04 <coppro> ooh, Knuth's supposed to make some major announcement tomorrow
05:05:49 <AnMaster> <pikhq> It's a windowing system that is *API* compatible with libX11. While not sucking. <-- what about the new xcb thingy
05:05:55 <AnMaster> that most things switched to?
05:06:39 <AnMaster> coppro, wait, he hypes it like Jobs?
05:07:19 <coppro> http://www-cs-faculty.stanford.edu/~uno/news.html#lectures
05:08:05 <AnMaster> coppro, not tomorrow
05:08:06 <AnMaster> today
05:08:18 <coppro> depends on your time zone
05:08:33 <AnMaster> well 06:08 local time
05:08:35 <AnMaster> June 30
05:08:40 <coppro> western Canada is still on Tuesday
05:08:41 <AnMaster> UTC+2
05:10:43 -!- Mathnerd314 has joined.
05:40:10 -!- coppro has quit (Remote host closed the connection).
05:40:42 -!- coppro has joined.
05:41:15 -!- coppro has quit (Remote host closed the connection).
05:42:28 -!- coppro has joined.
05:59:16 -!- pikhq has quit (Read error: Connection reset by peer).
06:01:01 -!- zzo38 has joined.
06:01:08 <zzo38> Is still Tuesday here
06:11:46 <zzo38> " !!!" -- my school's principal, trapped in a soundproof box 15.6m x 4.0m
06:12:05 <coppro> I'O_o
06:13:54 -!- pikhq has joined.
06:16:51 <zzo38> you can figure out which is fake because my computer is "zzo38computer.cjb.net" and it will resolve to the same IP address as the address I am connecting from, so it is possible to check.
06:17:14 <coppro> uh, what?
06:20:01 <zzo38> Since I am register, you can use NS INFO on this server. But on some other IRC networks I might not be (it might not even support that function), so you have to figure out otherwise.
06:20:48 <zzo38> Also, if it is my own IRC server you can also see "127.0.0.1" also means I connected. This way you can also be sure that it is not someone else on the same router as I am, even
06:21:51 <coppro> you are making no sense whatsoever
06:22:10 <coppro> I'm not even sure you're talking English
06:22:18 <zzo38> coppro: Why do you think it is not sense?
06:22:36 <coppro> sounds like a Markov bot
06:22:37 <zzo38> If you do not understand, please be specific ask specific question
06:23:09 <coppro> which means I imagine that zzo38 is trying to see if a bot can pass as him
06:23:11 <coppro> and the answer is no
06:24:04 <zzo38> No, it isn't a bot.
06:32:28 <zzo38> How many IRC servers implement SUMMON command?
06:35:21 <pikhq> This is a zzo38 bot running off of logs of his messages.
06:35:34 <AnMaster> pikhq, oh yes can be
06:35:36 <Ilari> What's /SUMMON?
06:35:47 <AnMaster> pikhq, didn't he say something about that once?
06:36:00 <pikhq> AnMaster: Perhaps.
06:36:07 <zzo38> Ilari: SUMMON command is for telling user on the same computer as IRC server running, tell them to connect to IRC.
06:36:16 <pikhq> But, it is running from the same host as zzo38computer.cjb.net
06:36:35 <AnMaster> pikhq, though looks more like ALICE or such. Since it does sometimes keep on topic
06:36:48 <zzo38> pikhq: This is not running off of log of my messages, these are new messages! It is possible some messages are same as old ones, but mostly new messages
06:36:59 <AnMaster> XD
06:37:01 <AnMaster> how very zzo
06:37:03 <pikhq> AnMaster: Yeah, the major thing is that the syntax is... Off.
06:37:15 <AnMaster> pikhq, hm?
06:37:31 <pikhq> I seem to recall that zzo38 didn't use weird syntax.
06:37:35 <pikhq> zzo38 is.
06:37:37 <AnMaster> <zzo38> " !!!" -- my school's principal, trapped in a soundproof box 15.6m x 4.0m <-- now that line confused the hell out of me
06:37:58 <pikhq> In particular, plurals.
06:38:15 <AnMaster> pikhq, huh, never noticed that
06:38:25 <pikhq> Also, much of the case system of English appears to be missing.
06:38:30 <pikhq> AnMaster: It's *jarring* for me.
06:38:53 <AnMaster> pikhq, well sure
06:38:55 <pikhq> But given the errors I've seen in a lot of native speakers' English, I'm guessing it isn't for most.
06:39:06 <AnMaster> pikhq, which case system?
06:39:34 <pikhq> AnMaster: The one most people aren't aware exists because it's more the *remnants* of a case system.
06:40:02 <AnMaster> pikhq, but what is a case system!?
06:41:02 <pikhq> AnMaster: A case in a language is a change in form indicating the function of a word in a phrase or sentence.
06:41:04 <zzo38> I don't think we generally need plurals, who invented plurals anyways?
06:41:22 <pikhq> It's most common in English on the pronouns.
06:41:23 <AnMaster> zzo38, you just used one
06:41:38 <AnMaster> pikhq, am/are/is?
06:41:56 <pikhq> Another example.
06:42:25 <zzo38> AnMaster: Yes I did but I still think it is not generally needed in most cases
06:42:35 <AnMaster> zzo38, "in most case" you mean
06:42:38 <AnMaster> not "cases"
06:43:19 -!- Geekthras has quit (Remote host closed the connection).
06:43:24 <zzo38> Sometimes I don't know which plural to use but I use plural anyways in English writing, mostly, since it is English writing
06:43:34 <AnMaster> there is only one plural
06:43:37 <AnMaster> there is singular too
06:43:39 <zzo38> But not always
06:43:58 <AnMaster> zzo38, and yes it should be cases
06:43:58 <pikhq> zzo38: Out of immense curiosity: what is your native language?
06:44:03 <AnMaster> but I was joking there
06:44:08 <AnMaster> about your logic
06:44:11 <zzo38> pikhq: Canada
06:44:20 <AnMaster> zzo38, French or English?
06:44:41 <AnMaster> zzo38, or some native language to Canada?
06:44:51 <zzo38> AnMaster: Canadian English
06:44:55 <AnMaster> ah
06:45:17 <pikhq> Then... Why the heck is your English being so odd?
06:45:20 <zzo38> But I still think there is a lot of messy stuff in English and in other languages too
06:46:01 <pikhq> It really feels like I'm seeing a non-native speaker with a decent level of competence...
06:46:19 <pikhq> It might just be the plural thing.
06:46:58 <zzo38> Some people used to think of there must be a "ONE TRUE LANGUAGE", and that is was English, because that is the only language they know. I had similar thoughts but I thought it can't be English, because of so many strange thing!
06:47:43 <pikhq> 一つ真語?こりゃ英語じゃない〜。
06:48:18 <pikhq> 1 true language? that's not English...
06:49:37 <Sgeo_> How many ... thingies can a prefix-free encoding with 8 bits encode?
06:49:43 <zzo38> Why does NS and CS commands don't use proper IRC syntax?
06:50:28 <pikhq> zzo38: GAH STOP IT THAT HURTS
06:50:44 <pikhq> THY TALKING-WORDS CAUSE AGONY UNTO ME
06:51:18 <zzo38> pikhq: How can it hurt you?
06:51:35 <Sgeo_> ns and cs aren't strictly commands
06:52:02 <pikhq> It is incredibly, incredibly jarring. Much like nails on a chalkboard.
06:52:50 <pikhq> It forces me to reparse the sentence. And have to attempt to decode it. It's just... Gah.
06:53:44 <zzo38> Sgeo_: They are one kind of command?
06:54:22 <Sgeo_> They're messages to NameServ and ChanServ
06:54:34 <coppro> not even messages
06:54:34 <zzo38> I know NS is command to access NickServ and so on
06:54:46 <coppro> they are merely aliases provided by some clients
06:54:55 <coppro> there is no NS command in the IRC protocol
06:55:09 <zzo38> Maybe not in standard IRC protocol, but many servers do support NS and CS command
06:55:20 <zzo38> Including Freenode
06:55:21 <pikhq> I refuse to believe your native language is English.
06:55:37 <zzo38> pikhq: OK, you can believe what you want to believe or to not believe, if you want to
06:55:55 <Sgeo_> My native language is Python. Well, no. How do you define "native"? VB5 might be my native language in a sense
06:56:07 <pikhq> Sgeo_: Native spoken language.
06:57:26 <pikhq> zzo38: You are managing to write indisputably incorrect English. This is amazing considering that correct English is undefined.
06:58:32 <zzo38> pikhq: A lot of things in English are wrong, that is why sometimes we have to write wrong thing to make it correct as what is trying to mean
06:58:36 <zzo38> But not always
06:59:55 <pikhq> Eigo ni tsuite machigau koto ga ooi, dakara tadashii ni naru tame ni tokidoki chigau koto wo kaeruhazu.
06:59:59 <Sgeo_> I sometimes write gramatically incorrect sentences when I forget what I wrote at first.
07:00:03 <pikhq> Demo itsumo ja nai.
07:00:18 <Sgeo_> The old man the boat.
07:00:20 <zzo38> And why some IRC servers use different numerics for the HELP command?
07:00:22 <pikhq> What you are writing is about as correct English as what I wrote there.
07:00:38 <pikhq> And about as illustrative of what you said.
07:00:53 <Sgeo_> pikhq, We painted the wall with cracks
07:01:00 -!- Geekthras has joined.
07:03:08 <zzo38> It says you have to write /msg NickServ help commands but that doesn't work, you have to write NS HELP COMMANDS does works
07:04:14 <coppro> officially it should be SQUERY NickServ HELP
07:04:40 <zzo38> coppro: It says SQUERY is unknown command
07:04:49 <coppro> yes, I know
07:04:51 <coppro> but it's in the spec
07:04:58 <coppro> (no one follows the spec)
07:05:32 <zzo38> The IRC server software I use does support SQUERY
07:05:59 <zzo38> But Freenode server software does not support SQUERY
07:06:27 <zzo38> Why is that?
07:07:14 -!- myndzi has joined.
07:08:51 <coppro> ask in the channel
07:09:07 <zzo38> In what channel?
07:10:01 <coppro> #ircd-seven or something
07:10:22 -!- myndzi\ has quit (Ping timeout: 260 seconds).
07:13:04 <zzo38> That didn't work. I got http://sprunge.us/VDBg
07:13:33 -!- kar8nga has joined.
07:18:48 <Sgeo_> "Just without you, this game would never exist"
07:19:14 <zzo38> What game do you refer to?
07:30:28 <Sgeo_> The game I've been working on since November 2009
07:31:14 <Sgeo_> The code's been rewritten twice, I've taken at least one major hiatus, possibly two..
07:31:34 <Sgeo_> Two complete language changes (One of which I wasn't around to see)
07:31:49 -!- zzo38 has left (?).
07:34:21 -!- MizardX has joined.
07:34:30 -!- MizardX has quit (Changing host).
07:34:30 -!- MizardX has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:46:30 -!- kar8nga has quit (Remote host closed the connection).
09:05:47 -!- MigoMipo has joined.
09:47:01 -!- tombom has joined.
09:54:41 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
10:01:54 -!- CakeProphet has joined.
10:04:48 -!- tombom_ has joined.
10:04:56 -!- tombom has quit (Ping timeout: 260 seconds).
10:05:20 -!- augur has quit (Remote host closed the connection).
10:05:33 -!- augur has joined.
10:05:47 <CakeProphet> !haskell instace (Monad m) => (MonadAdd m) where (>+<) :: m a -> m -> m
10:30:05 <Deewiant> s/instace/instance/ and two kind errors
10:57:53 -!- bsmntbombdood has quit (Ping timeout: 240 seconds).
10:59:04 -!- kar8nga has joined.
11:10:55 -!- bsmntbombdood has joined.
11:23:42 -!- ais523 has joined.
11:25:45 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
11:35:54 <fizzie> Deewiant: [2010-06-30 13:34:13] Tweeted: About NetHack: healthy, wealthy and wise quetzalcoatl, who discovered that an unlucky hacker once had a potion of sickness. (fungot)
11:35:55 <fungot> fizzie: grep for it...
11:36:18 <fizzie> That's not much of a discovery.
11:36:19 <Deewiant> That hacker does sound unlucky
11:36:50 <ais523> am I mad for printing a PDF to PDF just to cut out some of the pages in it?
11:37:18 <fizzie> Yes, you should pdftk it instead.
11:37:44 <fizzie> Remove 'page 13' from in1.pdf to create out1.pdf: pdftk in.pdf cat 1-12 14-end output out1.pdf
11:38:01 <fizzie> Even our workstations have that thing preinstalled.
11:38:16 <ais523> not installed here
11:38:30 <fizzie> That is a bit sucky.
11:40:01 <fizzie> Priting is then perhaps better than pdftops/pdf2ps + psselect + ps2pdf; the round-trip to postscript-land sometimes messes things up.
11:40:23 <ais523> it's only virtual printing, theoretically it shouldn't really mess with the PDF at all
11:41:27 <fizzie> Theoretically, schmeoretically. If the virtual PDF printer pretends to be a postscript printer (which doesn't sound unlikely) it still involves some conversions, much like the pdf2ps+ps2pdf way.
11:51:44 -!- kar8nga has quit (Remote host closed the connection).
11:54:32 <ais523> apparently, Knuth is going to make an "earthshaking announcement" today
11:55:01 <ais523> rare for him to self-promote like that...
11:57:31 <fizzie> Turns out he wasn't a mortal human after all, but a representative of a superintelligent alien species.
11:57:36 <fizzie> (Just a guess.)
11:58:12 <ais523> I'll always remember Knuth for optimising the translation of statements of the form "if a then b:=c" to INTERCAL
11:58:16 <ais523> by avoiding branches
12:04:44 <fizzie> Could the announcement be "just" TAoCP 4A? I'm not sure that'd be sufficiently earthshaking, since it's been promised "late 2010" anyway.
12:05:58 <ais523> who knows
12:07:17 <fizzie> Knuth, hopefully.
12:07:19 <ais523> heh, just saw a bogus proof on Slashdot that the last digit of pi was 5
12:12:23 <fizzie> "In the audio recording, when asked by Mr Mattsson what law police were using to detain him and ask for details, one officer replies: 'We don’t have to have a law.'"
12:12:31 <fizzie> That might not be something you want to hear from the police.
12:18:55 <ais523> oh, seems it's Wednesday next week, rather than today
12:20:41 <fizzie> Huh? Knuth's own page says "Wednesday, 30 June, 5:30pm, at the Sir Francis Drake Hotel in San Francisco -- ``An Earthshaking Announcement''"
12:20:46 <fizzie> That's today.
12:21:34 <fizzie> (And the corresponding TeX conference is "June 28-30, 2010" too.)
12:22:23 <fizzie> The conference program, incidentally, only lists it as "A Special Announcement!". Which one it is: earthshaking, or just special, I wonder.
12:29:54 <ais523> perhaps it is today, then
12:43:44 <Sgeo_> Declare variables. Not war.
12:44:45 <ais523> Sgeo_: hippy computer programming?
12:45:22 <Sgeo_> http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs182.snc4/37459_135556353130832_124438437575957_297508_162276_n.jpg
12:45:51 <Sgeo_> That's.. rather unhelpful, isn't it, except letting everyone know that I didn't come up with it
13:00:31 <Deewiant> fizzie: What's that time in UTC-land
13:03:42 <fizzie> Deewiant: I believe it's around midnight, based on the location of the conference.
13:04:16 <Deewiant> Yeah, something like that
13:04:38 <fizzie> It's +7 apparently, they're having daylight saving time going on too.
13:05:07 <fizzie> Or UTC-7, the "+7" meant "the offset from that to UTC".
13:16:42 -!- oerjan has joined.
13:19:49 -!- BeholdMyGlory has joined.
13:22:16 <oerjan> <Sgeo_> How many ... thingies can a prefix-free encoding with 8 bits encode?
13:22:43 <oerjan> um 256? if you use all 8 bits you have no prefixes to consider
13:23:30 <oerjan> or rather, every 8-bit sequence is trivially not a prefix of any other
13:32:33 <Sgeo_> So scratch that idea than? I just thought it would be easier to detect if the first bit were 0, or, if not, if it was 11, or if not, etc. etc. etc.
13:32:52 <oerjan> 02:05:47 <CakeProphet> !haskell instace (Monad m) => (MonadAdd m) where (>+<) :: m a -> m -> m
13:32:55 <oerjan> 02:30:05 <Deewiant> s/instace/instance/ and two kind errors
13:33:22 <oerjan> actually s/instace/class/
13:33:29 <oerjan> and still two kind errors
13:35:35 <oerjan> Sgeo_: you mean you cannot do more testing if the first bit is 0, etc.? in that case you'd get only 8 possibilities, i'd think
13:36:13 <oerjan> 0, 11, 100, 1011, 10100, 101011, 1010100, 10101011
13:36:16 <Sgeo_> Not that I _cannot_, but it wouldn't be easy to be able to test all 256 possiblities
13:36:45 <Sgeo_> Oh, "etc"
13:37:05 <oerjan> well then the question is how many values you need
13:37:27 <oerjan> if you need 8 say, then using 3 bits would be better i should think
13:38:11 <fizzie> If you need 8 but with a non-uniform distribution, and you're going to do a per-bit testing/branching like that anyway, you could as well use a variable-length prefix-free code.
13:38:12 <Sgeo_> I believe (but am not certain), that I need one awsistor per bit per value I want to test
13:39:03 <Sgeo_> If I were to do full capacity.. thingy
13:39:24 <oerjan> so 256*8 awsistors for full 8-bit?
13:39:50 <Sgeo_> Yes
13:40:01 <Sgeo_> And that would probably be a major PITA and loss of space
13:41:03 <Sgeo_> Then again, I'm not likely to want to test every value
13:41:14 -!- Phantom_Hoover has joined.
13:41:20 <Sgeo_> If I have, say, 10 opcodes (terminology?) it's 10*8
13:41:24 <Sgeo_> Which is still a lot
13:42:00 <Phantom_Hoover> Sgeo_, computersmithing?
13:42:01 <oerjan> well with 10 opcodes you can fit those in 4 bits, so you should be able to shrink that to 10*4
13:42:42 <oerjan> and indeed a little less if you combine that with prefix-freeness
13:42:45 <fizzie> Well, I don't know what your thingies are capable of. But if you can do an "if bit n is zero, do x; otherwise y" test, and x/y can be similar tests for further bits, you only need the number of non-leaf nodes in a full binary tree of height n to attach a different action to every n-bit sequence.
13:44:25 <oerjan> indeed if it's one awsistor per if in that way, then you should need less than 256*8, since for example all cases with first bit 0 can share the first bit test
13:44:48 <Sgeo_> oerjan, what if I add an opcode later? (Or, more likely, add memory? Or output? I'd probably end up using the same checking to determine which memory or output to go to)
13:45:18 <oerjan> Sgeo_: if you add an opcode you'd have to add a new branch to one of the leaves, presumably
13:45:42 <Sgeo_> Right, so the tree is more flexible than assuming I'm working with 4 bits
13:45:42 <oerjan> say by splitting 111 into 1110 and 1111
13:46:03 <Sgeo_> It's 2 awsistors per test, I think
13:46:16 <Sgeo_> Erm, if/else test
13:46:25 <oerjan> ok, it should still be less with tree-like branching
13:47:12 <oerjan> 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 = 510 for full 8-bit, i think
13:47:17 <fizzie> Of course if you don't mind the codeword length at all, you can treat it as a n-bit bitmask, use 100... for first opcode, 0100.. for second, etc., and then you just need one "if" test per opcode, with no elses.
13:47:38 <Sgeo_> Actually, 1 awsistor per if test with no else... I think
13:48:20 <fizzie> But you'll end up with what's basically unary numbers that way; to represent n opcodes like that, you'll need n-bit numbers.
13:48:54 <fizzie> And it's not exactly practical to do anything with them except use as symbols.
13:49:10 <Sgeo_> Right. So opcodes, but not memory or output
13:50:04 <Sgeo_> With memory-mapped registers, I might be able to get away with.. far fewer opcodes?
13:50:21 <fizzie> You can get away with one if you want.
13:50:39 <Phantom_Hoover> Sgeo_, surely the register would need to be included in the opcode?
13:50:49 <Sgeo_> ...hm
13:51:02 <fizzie> That's a matter of definition, whether operands are part of the opcode or not.
13:51:46 <Phantom_Hoover> Well, I suppose it could have the register in the next octet.
13:51:47 <oerjan> assuming registers and opcode are somewhat orthogonal to each other, you might still save a lot by sharing stuff
13:52:02 <fizzie> Wikipedia's definition considers "opcode" as "the portion of a machine language instruction that specifies the operation to be performed", with operands being other parts of the instruction.
13:52:04 <Phantom_Hoover> But then you lose simple 8-bit immediate operands.
13:52:29 <Phantom_Hoover> How do other 8-bit processors do it?
13:53:03 <oerjan> the register could just be in like the lowest 2-4 bits of the command?
13:53:13 <oerjan> assuming you don't have that many registers
13:53:26 <fizzie> Yes, usually. But you don't need to count the register as a part of the opcode even if it's in the same byte.
13:54:34 <oerjan> indeed, as long as they are disjoint bits the tests for opcode and register don't need to be intertwined
13:55:02 <fizzie> Though, well... 6502 puts register names in the mnemonics, and things with different mnemonics are typically considered different opcodes.
13:55:27 <fizzie> There's INC, INX and INY, which increment the accumulator, X and Y register, respectively.
13:55:58 * oerjan reminisces
13:56:29 <fizzie> Admittedly it only *has* three registers, and you can't do much with X and Y (except use them as indices in quirky addressing modes), so in most cases everything just operates on the accumulator.
13:57:24 <Sgeo_> How does one do addition?
13:57:27 <fizzie> Even the opcodes that move values between registers have separate mnemonics (TAX, TXA, TAY, TYA).
13:57:29 <Sgeo_> accum + ?
13:57:49 <Sgeo_> I guess multiple registers do have a use
13:58:15 <fizzie> There's only ADC, which can add-with-carry either an immediate 8-bit value, or a byte from memory. But there's several modes for addressing memory.
14:02:37 <fizzie> 6502 code typically uses the 256 first bytes of memory as "registers", because you can access those with a 8-bit address operand. And there are indirect addressing modes, which [disclaimer: simplified] take a 8-bit memory operand, read a 16-bit value from memory at that address, and then operate on the byte pointed by that value.
14:03:04 <fizzie> There wasn't such a huge speed difference between registers and memory anyway at that point.
14:04:14 <fizzie> I seem to recall that in some derivatives there was also a register you could change that was used as the high byte of "zero-page" access.
14:08:39 <Phantom_Hoover> Sgeo_, what instruction set do you have in mind?
14:09:04 -!- cheater99 has quit (Ping timeout: 260 seconds).
14:09:35 <Sgeo_> Move things from memory to memory. Add things located in special memory addresses
14:09:48 <Sgeo_> Um, maybe an interrupt system somehow
14:10:13 <fizzie> A stack is a popular thing to have. At least in the call/ret sense.
14:10:47 <Phantom_Hoover> Sgeo_, so everything mmapped??
14:10:50 <Phantom_Hoover> s/??/?/
14:10:53 <Sgeo_> Phantom_Hoover, why not?
14:11:09 <Phantom_Hoover> No, that wasn't an incredulous sentence.
14:11:17 <Phantom_Hoover> It was just making sure.
14:12:03 <Phantom_Hoover> Anyway, move immediate to memory as well?
14:12:34 -!- cheater99 has joined.
14:12:37 <fizzie> Phantom_Hoover: Meh, you just have to map the values 0..255 to some memory range, then you'll have all the constants you could need.
14:12:47 <Phantom_Hoover> fizzie, clever.
14:13:35 <fizzie> I think MIPS has a constant-0 "register"; one of the "general-purpose registers" is hardwired to value 0.
14:13:45 <oklopol> yes
14:13:49 <oklopol> r0
14:14:02 <ais523> hmm, I invented a new esolang while lying in bed this morning
14:14:09 <oklopol> that's how i invented toi
14:14:18 <ais523> the idea's to make it sub-TC, but only barely
14:14:20 <Phantom_Hoover> ais523, not even in your sleep?
14:14:22 <oklopol> i woke up, and it just came to me
14:14:26 <ais523> it's expressive enough to, for instance, calculate the Ackermann function
14:14:36 <oklopol> ais523: is it as great as toi
14:14:44 <ais523> I don't know
14:14:51 <ais523> probably not, it's kind-of quirky
14:14:59 <oklopol> well tell us
14:15:02 <ais523> and probably useless, apart from as a typical eso programming challenge
14:15:09 <Phantom_Hoover> ais523, has anyone created Ackermann, the language that can only compute the Ackermann function?
14:15:20 <ais523> details aren't finalised yet, but the only flow control operator is eval
14:15:49 <oklopol> quining paradigm
14:15:55 <fizzie> If you want to do "A = A+X" on the 6502 registers, you'd have to do something like "CLC; STX $42; ADC $42" (5 bytes, 8 cycles), where $42 is a suitable zero-page memory location for a temporary value. Unless you want to do it like "CLC; STX .foo+1; .foo: ADC #$00" (6 bytes, 8 cycles), but that probably doesn't make much sense.
14:16:02 <ais523> but there's a twist, to do with nested evals; if inside an eval you do another eval, the one on the inside must be no longer, and must come earlier in alphabetical order
14:16:05 <oklopol> or is that a good description in this case
14:16:10 <ais523> (with an infinite alphabet)
14:16:14 <oklopol> oh cool
14:16:45 <ais523> it's not really quining paradigm, because the operators I plan to give leave the program text you evalled lying around in memory, so you don't have to reconstruct it
14:17:07 <ais523> anyway, you can prove mathematically that all programs in this lang always halt, so it's sub-TC
14:17:17 <oklopol> well yes that's obvious
14:17:38 <oklopol> the ordering is well-founded
14:18:14 <ais523> yup
14:18:32 <oerjan> ais523: um when calculating ackermann you definitely recurse with some values longer than the original
14:18:32 <ais523> yet the restriction doesn't get in the way in any real practical sense, unless you try to create an infinite loop
14:18:35 <oklopol> or well i mean the no infinite descending chain property
14:18:42 <ais523> oerjan: the program text doesn't need to be longer
14:18:53 <oklopol> are you sure
14:19:00 <oerjan> hm...
14:19:08 <oklopol> well need to know more details
14:19:11 <ais523> well, arbitrary bignums are in the alphabet, and count as only one "letter"
14:19:23 <ais523> so you can recursively use the exact same program with just a few bignums at the start changed
14:19:32 <oklopol> i mean you will have to represent the original call as verbosely as you represent your last recursions
14:19:42 <ais523> you will, yes
14:19:44 <oklopol> wait can you return?
14:19:48 <ais523> yep
14:19:54 <oklopol> okay i misunderstood eval
14:19:59 <oklopol> so definitely not quining
14:20:05 <oklopol> or
14:20:06 <oklopol> umm
14:20:09 <oerjan> ais523: ok so you get (more than) omega^2 recursion and thus ackermann
14:20:11 <ais523> it's traditional lispy/underloady eval, not muriel-style
14:20:20 <ais523> oerjan: yes; I think you even get epsilon_0 recursion
14:20:41 <Sgeo_> Didn't I once ask if something like this was possible?
14:20:41 <ais523> but I'm less sure on that, I keep forgetting the definitions of all those really high sorts of recursion
14:21:10 <oklopol> can someone tell me what these classes are? i should probably know
14:21:22 <ais523> all I know was from one lecture I went to for fun
14:21:39 <oklopol> or i guess i should wp, i just think (hope) i'll understand them from a one-line explanation
14:21:40 <oerjan> epsilon_0 = inf { alpha | omega ^ alpha = alpha } ?
14:21:52 <ais523> and from one of the stories in gödel, escher, bach
14:21:55 <oerjan> s/inf/min/, really
14:22:01 <ais523> oerjan: I think so
14:22:35 <oerjan> ais523: i'm not sure you can get more than omega^omega, actually
14:22:47 <ais523> hmm
14:23:03 <Phantom_Hoover> Bye for now.
14:23:05 <ais523> all I remember is an example of a function that requires at least fixed-point-1 style recursion to reach
14:23:21 <ais523> what you do is, you have a string of digits, initially in binary
14:23:34 <ais523> then, you repeatedly: subtract 1, then interpret the result in the next base up
14:23:38 <oerjan> ais523: an n-length string gives you omega^n afaict
14:23:46 <oklopol> what's omega?
14:23:57 <oerjan> first infinite ordinal, aka the naturals
14:24:05 <ais523> e.g. you start with 1000, subtract 1 and get 111, interpret that as ternary, subtract 1 and get 110, interpret that as base 4, subtract 1 and get 103, interpret that as base 5, etc
14:24:08 <oklopol> oh? then i'm confused
14:24:15 <ais523> the function blows up really really quickly
14:24:25 <oklopol> no idea what omega^2 recursion is
14:24:29 <ais523> much faster than the ackermann function
14:25:04 <ais523> oerjan: it goes beyond omega^n, because you're allowed to exit from an eval and go into another one
14:25:58 <ais523> I think, at least
14:27:15 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
14:28:10 <oerjan> oklopol: omega^2 recursion is the kind you do with ackermann. basically when you calculate A(m,n) you always recurse to something for which omega*m + n is smaller
14:28:42 <oerjan> well i'm not sure "omega^2 recursion" is the right technical term, but that's the idea
14:28:42 <ais523> oklopol: you can think of omega as being a bit like an arbitrarily high integer whose value you have to know in advance
14:28:43 <oklopol> i don't get what omega*m + n means
14:28:47 <ais523> but that's a rather poor description
14:28:54 <oklopol> well
14:28:58 <oklopol> okay sure i guess
14:29:08 <ais523> hmm, or as an integer greater than any other integer you use during the course of the calculation not defined in terms of omega
14:29:24 <ais523> a sort of "finite infinity"
14:29:31 <oklopol> could we just think of omega*m + n as (m, n)
14:29:35 <oerjan> oklopol: it's the ordinal number for the order given by m copies of the natural numbers followed by n single elements
14:29:41 <oklopol> hmm
14:29:48 <oklopol> okay
14:31:08 <ais523> oklopol: that's a decent definition when you're just dealing with omega, omega^2, etc
14:31:16 <ais523> but it starts to get confusing when you get omega^omega
14:31:17 <oklopol> so we order pairs as (m1, n1) > (m2, n2) iff m1 > m2 or (m1 = m2 and n1 > n2), and then omega^2 recursion means our pairs get smaller when we recurse
14:31:29 <oerjan> oklopol: basically for any well-founded recursive function you can define its ordinal rank recursively
14:31:47 <oerjan> oklopol: yep
14:32:16 <oerjan> or wait is that quite well-defined
14:32:21 <oklopol> hmm
14:32:29 <oklopol> how do we define its ordinal rank recursively
14:32:49 <oerjan> i'm starting to doubt it
14:33:09 <oerjan> that it's uniquely defined, that is
14:34:29 <oerjan> anyway if you have only omega recursion that's the same as primitive recursion i think. basically you have _one_ argument that needs to consistently get smaller.
14:36:11 <oklopol> w.r.t. some well-founded ordering
14:36:17 <oerjan> no
14:36:20 <oklopol> oh
14:36:23 <oerjan> wrt being a natural number
14:36:26 <oklopol> right
14:36:52 <oerjan> if the argument is in the well-founded ordering then - oh now i see
14:37:03 <oerjan> it's the well-founded ordering that has an ordinal rank
14:37:51 <oklopol> i'm starting to forget what we're doing here
14:37:52 <oklopol> :P
14:38:19 <oerjan> for any total recursive function such a well-founded ordering needs to exist, but it's not unique. and in principle you could just use the recursion depth, but that doesn't help you prove the function _is_ total without circularity
14:39:22 <oklopol> is an ordinal rank something any well-founded ordering has?
14:39:24 <oerjan> so for ackermann say, you could use A(m,n) _itself_ as your well-founded ordering but that is useless until you've proved the ackermann function is well-defined
14:39:31 <oerjan> yes i think so.
14:40:39 <oerjan> define the ordinal of an element a to be min { alpha | alpha > rank (b) for all b < a }
14:40:40 <oklopol> it occurs to me there's a colorful theory behind all this, what's its name?
14:41:09 <oklopol> elementary set theory
14:41:19 <oerjan> um if it's more than ordinals and transfinite recursion, then i'm not sure
14:41:37 <oklopol> i'm not saying i know there's a colorful theory
14:41:40 <oklopol> i mean
14:42:04 <oklopol> i'm not saying i know there is one that has been fully discovered, i'm saying i'm sensing the presense of a theory i do not know
14:42:47 <oklopol> (*c)
14:44:24 <oerjan> oklopol: the example that ais523 gave above (changing base and subtracting one) requires epsilon_0 recursion. it's significance is due to the fact that pure peano arithmetic cannot prove that function is well-defined, because peano arithmetic can only define recursive functions with ordinal strictly _less_ than epsilon_0.
14:44:37 <oklopol> today they had a seminar about textile systems and i skipped it because the last time i went i didn't understand a word :'(
14:45:06 <oerjan> *its
14:45:21 <ais523> "transfinite", that was the word I was trying to remember
14:46:00 <oerjan> oklopol: well clothes fashion is boring anyway </duck>
14:47:57 <oerjan> http://en.wikipedia.org/wiki/%CE%95%E2%82%80
14:48:14 <oklopol> basically you have two graphs, T and C, we think of the edges of T as tiles and the edges of C as colors on the tops and bottoms of the tiles. we have two graph homomorphisms t and b from T to C, bi-infinite paths in T we think of as lines of tiles, and the images of those paths with t and b we think of as the color sequences below and on top of the line
14:48:28 <oklopol> this is how much i know
14:48:34 <oerjan> http://en.wikipedia.org/wiki/Goodstein%27s_theorem
14:48:48 <oerjan> (what ais523 referred to)
14:49:07 <oklopol> why "good"stein, is there a bad stein it improves on?
14:49:11 <oklopol> HAHAHAA
14:49:14 <oklopol> :DSa
14:49:19 * oklopol looks.
14:49:53 <oerjan> oklopol: careful there, you might be accused of antisemitism with such a joke
14:50:44 <oerjan> or maybe i will be for assuming it's a jewish name without checking
14:50:56 <oerjan> (wp only says he was english)
14:52:15 <oklopol> it would be hard for me to be antisemite given that i learned about jews when i was like 15
14:52:29 <oklopol> well, assuming these things usually develop early
14:52:44 <oklopol> or well i guess it could be an intellectual choice
14:53:08 <oklopol> but that would be weird too because there are basically no jews in finland
14:53:31 <oerjan> you never let them get in </ducks>
14:54:02 <fizzie> "Today, there are synagogues in Helsinki and Turku and the number of Jews is 1,200."
14:54:08 <fizzie> Go tell that to them!
14:54:16 <oklopol> there's this phd student in our uni who couldn't get to usa for a conference or something because he's from iran
14:54:17 <ais523> hmm, reminds me of a documentary I saw when I was in Canada
14:54:24 <ais523> talking about the fact that there was exactly one Jew in Afghanistan
14:54:35 <oerjan> (that's actually relevant for norway, our constitution initially forbade jews from entering the country)
14:54:45 <ais523> oerjan: ouch
14:55:04 <ais523> but then, the UK "constitution" still forbids Catholics marrying in to the Royal Family
14:55:07 <oerjan> also jesuits and catholic monks iirc
14:55:10 <ais523> IIRC the EU told them it was racist and had to change
14:55:15 <oklopol> fizzie: okay but they are still not a thing, saying there are jews in finland, to me, is like saying some people in finland like to eat only even amounts of grapes at a time.
14:55:27 <oklopol> ^ possibly the stupidest metaphor i've ever heard
14:56:15 <ais523> now I'm wondering if there /are/ people who restrict grape-eating to even numbers
14:56:21 <oklopol> well
14:56:29 <oklopol> i do at least some parity stuff with graphs
14:56:38 <fizzie> Also I wonder about "at a time", is that like they'll only stick even numbers of grapes into their mouths at once, or just they want to end up with an even total of grapes eaten during one grape-eating session?
14:56:46 <oklopol> i split the grapes in two in my mouth with alternating sides of my mouth
14:56:49 <ais523> I suppose there are people who refuse to eat grapes, and thus fulfil the grape-eating condition degenerately
14:57:02 <oklopol> fizzie: latter
14:57:23 <fizzie> ais523: "You degenerate grape-eater" is quite an insult.
14:57:39 <ais523> fizzie: wow, insults must be weird where you live
14:57:47 <oklopol> in fact it is possible that i often end up eating an even amount because i have to make my mouth sides feel symmetric
14:57:54 <oklopol> there are many things i have to do symmetrically
14:58:01 <fizzie> oklopol: What, are you a jew?!
14:58:06 <oklopol> :D
14:58:50 <ais523> on another note, I got into a discussion on Slashdot about whether it was theoretically possible for P=NP to be undecidable
14:59:16 <ais523> someone said it was possible that there was an algorithm for solving an NP-complete problem, where it was undecidable whether the algo was P-time or not
14:59:22 <ais523> which is really quite a bizarre thing to think about
14:59:23 <oklopol> not possible, but it's possible it's unprovable from whatever set of axioms we have
14:59:38 <ais523> yep, I thought it wasn't provably undecidable
14:59:56 <oklopol> things with a finite amount of inputs are never undecidable
15:00:14 <oklopol> but i guess it's clear what they mean
15:01:30 <oklopol> standard bizarre things in this area: let S be the set of numbers n such that pi in base 10 contains the sequence "7"^n, then S is decidable
15:01:55 <oerjan> yeah imagine if someone found an algorithm that seemed to always work fast, but no one could prove why it worked
15:02:00 <oklopol> even though it has infinitely many inputs and we have no idea how to actually create that algorithm
15:03:31 <oerjan> is this "contains" as in contains not as part of a larger "7"^n ?
15:03:41 <oklopol> no
15:03:49 <oklopol> otherwise it's not decidable
15:03:53 <oklopol> i mean
15:03:57 <oklopol> not trivially decidable
15:04:09 <oklopol> i mean
15:04:23 <oklopol> well for some value of trivial
15:04:39 <oerjan> so it requires allowing subsets automatically, so the set is necessarily of the form {"7"^n | n < N } for some N which might be infinity
15:04:51 <oklopol> oh and "a set S of numbers is decidable" means the language there's a tm that accepts exactly the language {1^n | n \in S}
15:05:34 <oklopol> yes, and there's an explanation that makes it seem very unbizarre
15:05:44 <oerjan> hm but it should also reject on the complement, right?
15:05:56 <oerjan> (not fail to halt)
15:06:07 <oklopol> err
15:06:09 <oklopol> sure
15:06:19 <oklopol> you don't see how that's decidable?
15:06:34 <oklopol> i didn't expect you'd fall for that one
15:06:51 <oklopol> (whether i did is a secret)
15:06:54 <oerjan> of course i do, the set is {1,...,N} for some N or all natural numbers
15:07:06 <oklopol> well right
15:07:08 <oerjan> s/1/0/
15:07:15 <oklopol> ohhhhhhhhhhhhhhhhhhhhh
15:07:25 <oklopol> your question was about my definition of accepting a set of numbers
15:07:33 <oerjan> yes
15:07:49 <oklopol> then yeah i meant a tm that always halts
15:08:01 <oerjan> because if it only needs to accept or else not halt, then i think it's also easy to find an explicit TM
15:08:16 <oerjan> just search through pi
15:08:18 <oklopol> yes, just enumerate
15:08:20 <oklopol> pi's digits
15:09:24 <ais523> oerjan: pi clearly doesn't contain infinitely many consecutive 7s
15:09:27 <ais523> as that would force it to be rational
15:09:29 <oerjan> incidentally it's extremely likely that TM works anyhow (because the set _is_ all natural numbers, so it never fails to halt)
15:09:40 <oklopol> ais523: that's not what he said
15:09:51 <ais523> oh, right
15:09:55 <oklopol> we just need S to be unbounded for N to be infinite
15:10:00 <ais523> yu
15:10:01 <ais523> *yup
15:10:50 <oklopol> oerjan: extremely likely with what probability measure exactly?!? :D
15:11:04 <oerjan> a _very_ intuitive measure
15:11:18 <oklopol> on a very intuitive space
15:11:32 <oerjan> easy as pi!
15:12:34 <oklopol> err wait
15:12:45 <oklopol> i guess you could say lebesque measure...
15:13:15 <oklopol> i mean in an intuitive sense but still
15:14:05 <oerjan> http://en.wikipedia.org/wiki/Ordinal_analysis
15:14:31 <oklopol> any way we "access" reals might in theory increase the probability of not having infinitely long sequences of 7's
15:17:56 <oerjan> well you can even define a measure such that with probability 1, the number contains no 7 at all
15:18:52 <oklopol> err
15:19:02 <oklopol> yes
15:19:09 <oklopol> every nonempty set has infinite measure
15:19:14 <oklopol> err
15:19:21 <oklopol> probabilities sorry let's think..asdf
15:19:30 <ais523> oerjan: fun trick maths question: given a circle with radius 1 and a random secant of it, what's the probability that the segment of the secant inside the circle has a length of at least sqrt(3)?
15:20:23 <oerjan> ("easy" way: take a uniformly selected number in [0,1], write it in base 9, then change each 7 to a 9 and reinterpret as base 10)
15:21:14 <oerjan> ais523: i think i've read about that, there are several "intuitive" ways of making the random selection with different answers, isn't it
15:21:19 <oerjan> *aren't there
15:21:21 <ais523> yes
15:21:28 <ais523> the trick is that "random secant" isn't defined
15:21:35 <ais523> and there isn't enough information to be able to define it
15:21:59 * oklopol googles secant...
15:22:38 <ais523> oklopol: line that intersects a circle twice
15:23:08 <oklopol> right, i was just wondering about segment of secant inside the blah because i thought the secant already means that segment
15:23:21 <ais523> I was wondering if the secant was the whole line or not, so I put that in just to be sure
15:26:36 <AnMaster> aaaargh. hate being put on hold...
15:26:43 <Sgeo_> I think I'll go build my NAND gate now
15:27:47 <oklopol> so we have two alphabets P and T, and we have a function f from P to T. we have a set D \subset P^(2,2) (2x2 squares of P's); we say a local picture language is a language L' = {X \in P^(m,n) | for all subsquares S of X that are of size 2x2, we have that S \in D}; we define recognizable picture languages as images of local picture languages, L is recognizable iff L = f(L') for some local L'
15:28:02 * oklopol felt like it was time for some definitions.
15:29:02 <oklopol> (this is sort of a finite version of sofic shifts)
15:29:28 -!- ais523 has quit (Remote host closed the connection).
15:30:47 <oklopol> it was proven with a neat tentacle construction that the "language of trees", that is the language where T = arrows left/right/up/down and we require that a picture have no cycles, is a recognizable picture language
15:31:00 <oklopol> in 1998 iirc
15:31:25 <oklopol> in 2006 the same author (reinhardt) proved that the language of directed acyclic graphs is also recognizable
15:32:07 <oklopol> this fact can be used to prove so called deterministic picture languages are recognizable
15:33:04 <oklopol> maybe that's all for now, i should eat something ->
15:33:22 <oklopol> also quasiperiodicity has at least three different definitions
15:37:56 <oerjan> perhaps there is a quasiperiodic sequence of them
15:41:05 -!- cpressey has joined.
15:42:59 <oklopol> oerjan: you don't have an opinion on what the definition should be? :P
15:57:47 <oerjan> for that i would have to remember at least one
16:07:12 -!- cpressey1 has joined.
16:07:12 -!- cpressey has quit (Read error: Connection reset by peer).
16:07:40 <Sgeo_> Ah, tradeoffs
16:07:50 <Sgeo_> Digital adder: Fast, but very, very large
16:08:00 <Sgeo_> Analog adder: Slow, and prone to errors, but small
16:10:07 -!- cpressey1 has changed nick to cpressey.
16:13:55 <oklopol> oerjan: well not necessarily, but yeah might be useful
16:14:17 <oklopol> i mean given that there are three different definitions...
16:16:07 -!- oerjan has quit (Quit: Good night).
16:16:07 <cpressey> Death adder: fast and small and poisonous. Watch out!
16:38:40 <Sgeo_> My NAND gate uses 7 awsistors
16:44:47 <cpressey> I've heard omega described as "the largest finite integer"
16:45:06 <cpressey> I'm not sure if they were trying to be funny
16:45:50 <cpressey> It kind of works, though
16:52:16 -!- kar8nga has joined.
16:52:19 -!- kar8nga has quit (Read error: Connection reset by peer).
16:59:30 <AnMaster> <Sgeo_> Digital adder: Fast, but very, very large <-- eh no
16:59:54 <Sgeo_> eh I'm not talking about RL circuitry
17:00:15 <AnMaster> Sgeo_, a simple adder with no carry forwarding thingy network should be quite simple
17:00:28 <AnMaster> just a lot of full adders hooked up to each other
17:00:30 <AnMaster> Sgeo_, ^
17:00:37 <AnMaster> Sgeo_, RL?
17:00:52 <Sgeo_> Even one logic gate is very large
17:00:59 <AnMaster> just 4 transistors
17:01:03 <AnMaster> for a NAND
17:01:20 <Sgeo_> I';ve sort of done two inverse gates here >.>
17:01:20 <AnMaster> and well, they tend to be in the µm scale or nm nowdays maybe
17:01:43 <AnMaster> Sgeo_, what do you mean RL though?
17:01:52 <Sgeo_> AnMaster, as in, this is virtual circuitry
17:01:56 <Sgeo_> In Active Worlds.
17:01:59 <AnMaster> oh that
17:02:00 <AnMaster> meh
17:02:50 <Sgeo_> 4 transistors for a NAND is something I should note though. I'm using 7 awsistors, and recently realized that awsistors are very similar to transistors...
17:02:55 <Sgeo_> So I may be doing it wrong.
17:08:43 <AnMaster> Sgeo_, I'm talking about CMOS though
17:08:49 <AnMaster> I doubt you have two variants for it
17:08:57 <AnMaster> for TTL, who knows
17:09:01 <AnMaster> I don't know at least
17:17:09 <cpressey> http://www.amazon.com/Getting-Started-Electronics-Forrest-Mims/dp/0945053282
17:17:45 <cpressey> Any 2-input gate can be built with 2 BJTs. ("Normal" transistors.)
17:18:00 <cpressey> Except *maybe* XOR. I don't recall.
17:18:47 <cpressey> "AND" just puts them in series, "OR" in parallel. "NOT" you get "for free" by choosing where to get the output from.
17:20:13 <Sgeo_> Except here I'm doing it twice
17:20:38 <Sgeo_> For NAND, I'm putting the NOTs in series, and the .. whatevers, in parallel
17:20:50 <Sgeo_> So yeah, a bit wasteful
17:20:54 <cpressey> http://www.cise.ufl.edu/~mssz/CompOrg/Figure1.16-NANDcircuit.gif
17:21:51 <cpressey> I doubt that has a very direct relationship to how it would look in awcircuitry, but that is all there is, in TTL.
17:23:05 <Sgeo_> Um, the transistor symbols.. I don't get that
17:27:26 <cpressey> Well, the wire on the left is the base -- current on it controls current flowing between the other two wires.
17:28:19 <cpressey> If there's current on both of (A) and (B), current will flow from +Vcc to ground, and you won't get any on (X).
17:28:48 <cpressey> But if there is no current on either (A) or (B), the "path" from +Vcc to ground is "blocked", and so you'll see current at (X).
17:29:17 <cpressey> ("path" and "blocked" don't really need quotes, I geuss.)
17:30:51 <Sgeo_> Well, NOT isn't quite free, at least in the model I'm using
17:31:02 <Sgeo_> Which I'm starting to think is a really sucky model
17:31:47 <cpressey> Sgeo_: Have you looked at neural models? They seem closer to what you're working with sounds like.
17:32:02 <Sgeo_> cpressey, no :/
17:33:36 <cpressey> Each neuron has a threshhold. It receives inputs which increase its "energy level" until that threshhold. Then it empties itself into whatever neighbours its connected to. (This is of course a very idealized model, not much like a real neuron)
17:33:59 <cpressey> But if you add inhibitors to them (basically NOT), they're universal
17:34:54 -!- cal153 has quit (Ping timeout: 260 seconds).
17:34:55 <cpressey> This is from Minsky's book
17:35:23 <cpressey> http://www.amazon.com/Computation-Finite-Infinite-Machines-Automatic/dp/0131655639
17:37:39 <cpressey> I love how, if I accidentally press ctrl-S in a terminal, it looks like everything froze. Some things die hard. I also wonder who really uses Caps Lock, or overwrite mode, these days.
17:38:04 <cpressey> This observation will of course be greeted with cries of "Hey *I* use overwrite mode"
17:38:07 <Deewiant> I use overwrite mode to write Befunge
17:38:40 <Deewiant> I also would often like to use Ctrl-S if it were bindable to something else
17:39:30 <Deewiant> Ctrl-S itself is too often used by programs so I have it disabled
17:40:56 -!- MigoMipo_ has joined.
17:44:28 -!- Mathnerd314_ has joined.
17:44:49 -!- MigoMipo has quit (Ping timeout: 260 seconds).
17:45:02 <pikhq> I hate Ctrl-S.
17:45:07 <pikhq> Mostly because S is next to A
17:45:12 <pikhq> And I use Ctrl-A a lot.
17:46:55 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
17:46:56 -!- Mathnerd314_ has changed nick to Mathnerd314.
17:51:10 -!- Mathnerd314_ has joined.
17:51:46 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
17:52:02 -!- Mathnerd314_ has changed nick to Mathnerd314.
17:58:52 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
17:59:25 -!- Mathnerd314 has joined.
18:13:39 -!- relet has joined.
18:15:35 -!- cal153 has joined.
18:19:38 -!- BeholdMyGlory has quit (Remote host closed the connection).
18:28:34 -!- coppro has joined.
18:37:38 -!- MigoMipo_ has quit (Quit: Quit).
18:38:04 -!- MigoMipo_ has joined.
18:42:46 -!- kar8nga has joined.
18:43:14 -!- Phantom_Hoover has joined.
18:43:54 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
18:46:00 -!- hiato has joined.
18:46:09 -!- MigoMipo has joined.
18:57:03 -!- BeholdMyGlory has joined.
18:57:18 <Phantom_Hoover> Yay, I have /home on a separate partition now.
18:57:27 <Phantom_Hoover> I'm one of the cool kids!
18:59:01 <olsner> oh no, are you one of those guys now
18:59:36 <coppro> Phantom_Hoover: sorry, you've become That Guy
18:59:59 <Phantom_Hoover> That Guy?
19:01:28 -!- Phantom_Hoover has left (?).
19:10:46 <CakeProphet> so I'm wondering how I can combine an OO-style Actor model
19:10:51 <CakeProphet> with Haskell's IO/STM monads.
19:12:05 -!- augur has quit (Remote host closed the connection).
19:15:03 -!- Gregor has quit (Ping timeout: 252 seconds).
19:19:32 <pikhq> CakeProphet: Don't
19:21:25 <Mathnerd314> CakeProphet: http://sulzmann.blogspot.com/2008/10/actors-with-multi-headed-receive.html
19:22:39 <Mathnerd314> and the package http://hackage.haskell.org/package/actor
19:25:01 -!- cpressey has left (?).
19:25:57 -!- coppro has quit (Remote host closed the connection).
19:27:18 <CakeProphet> pikhq: Why not?
19:27:37 -!- Gregor has joined.
19:27:43 -!- coppro has joined.
19:34:00 <CakeProphet> I'm just wondering why I should bother implementing this whole library
19:34:11 <CakeProphet> er, using this library, declarating its typeclasses, etc
19:34:17 <CakeProphet> when I could just use channel primitives.
19:36:19 <Mathnerd314> read the paper: http://www.cs.mu.oz.au/~sulzmann/publications/multi-headed-actors.pdf
19:36:25 <Mathnerd314> they have a nice syntax
19:36:29 <CakeProphet> current am
19:37:16 <CakeProphet> I'm trying to understand what it means by multi-headed.
19:37:28 <Mathnerd314> multiple messages at once
19:37:45 <Mathnerd314> that is, receiving them
19:40:45 <CakeProphet> ah okay.
19:40:57 <CakeProphet> couldn't that be implemented with... tuples?
19:41:05 <CakeProphet> or lists?
19:41:35 <Mathnerd314> did you read the paper yet? the first example shows why multi-headed is cool
19:41:37 <CakeProphet> and a regular case
19:43:05 <oklopol> i wish oerjan was here
19:43:31 <oklopol> are you talking about receiving head
19:44:06 <CakeProphet> alright, it looks at least interesting. But I can't help but think it's unecessary for what I'm doing. Do you know anything about the efficiency of the approach?
19:46:00 -!- coppro has quit (Remote host closed the connection).
19:46:02 <CakeProphet> ah I see.
19:46:11 <CakeProphet> so you can receive messages composed by multiple actors?
19:48:18 <CakeProphet> hmmm, no, not what I was thinking
19:48:49 -!- coppro has joined.
19:49:59 <CakeProphet> ah, actually yes that is what I was thinking.
19:50:18 <CakeProphet> that's pretty interesting. I still can't think of what I would need it for.
19:55:15 -!- MigoMipo has quit (Remote host closed the connection).
19:55:40 -!- MigoMipo has joined.
19:58:03 -!- Warrior` has joined.
20:01:46 <CakeProphet> I guess having multiple-heads makes "handshaking" easier.
20:01:59 <Warrior`> yes
20:12:59 -!- tombom__ has joined.
20:14:31 <AnMaster> Warning: call to signal(13, 0x1)
20:14:31 <AnMaster> Blocked: call to setlocale(6, "")
20:14:33 <AnMaster> Warning: call to rand()
20:14:33 <AnMaster> Warning: call to rand()
20:14:33 <AnMaster> Warning: call to rand()
20:14:39 <AnMaster> (process:8103): Gtk-WARNING **: Locale not supported by C library.
20:14:39 <AnMaster> Using the fallback 'C' locale.
20:14:43 -!- tombom_ has quit (Ping timeout: 276 seconds).
20:14:44 <AnMaster> vlc told me all of these
20:14:47 <AnMaster> wtf is up with it?
20:15:57 <CakeProphet> vlc is havng an existential breakdown.
20:16:01 <CakeProphet> obviously.
20:18:11 <AnMaster> CakeProphet, hah
20:18:22 <AnMaster> Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
20:18:22 <AnMaster> Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
20:18:27 <AnMaster> now those it didn't say before
20:20:26 <pikhq> AnMaster: Why are you tracing it?
20:22:17 <AnMaster> pikhq, I'm not afaik
20:22:23 <AnMaster> pikhq, it is just telling me that all the time
20:22:31 <AnMaster> pikhq, if I was tracing it I would use strace
20:22:34 <AnMaster> and I'm not
20:22:48 <AnMaster> pikhq, how do I turn off the tracing?
20:22:49 <Warrior`> is there a way to determine the max cells used by a bf program?
20:23:02 <AnMaster> Warrior`, yes, solving the halting program I think
20:23:03 <pikhq> Warrior`: Halting problem says "no".
20:23:10 <pikhq> AnMaster: Beats me.
20:23:19 <AnMaster> Warrior`, so by using an oracle machine, yes
20:23:46 <Warrior`> hmm...some searched led me to this
20:23:48 <Warrior`> http://www.rohitab.com/discuss/index.php?showtopic=36344&view=findpost&p=10077035
20:24:25 <Warrior`> but the code is confusing
20:24:49 <AnMaster> you could run and check
20:24:58 <AnMaster> and if it halts and don't depend on IO
20:25:02 <AnMaster> well then you know
20:25:14 <AnMaster> it is only by running the code and checking it that you find this out though
20:25:23 <Warrior`> hmm...i will have to think about it deeply
20:26:20 <AnMaster> not really
20:26:23 <AnMaster> trivial
20:26:38 <AnMaster> at least if you already know the area
20:29:51 <Warrior`> .not much..so have to know the background knowledge
20:37:52 -!- Behold has joined.
20:39:27 -!- BeholdMyGlory has quit (Ping timeout: 260 seconds).
20:39:43 -!- Behold has changed nick to BeholdMyGlory.
20:46:24 -!- Warrior` has quit (Quit: Leaving).
20:46:53 -!- cpressey has joined.
20:51:49 <cpressey> So very, very like a while.
20:51:54 <cpressey> Whale.
20:52:02 <cpressey> So very, very etc.
20:58:36 -!- AnMaster has set topic: very while(Very like a whale) { More so than a real whale. } | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:58:39 <AnMaster> cpressey, :P
20:59:54 <CakeProphet> ha.
21:02:56 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.6/20100625231939]).
21:15:57 -!- Phantom_Hoover has joined.
21:29:04 -!- cal153 has quit (Ping timeout: 260 seconds).
21:34:07 -!- cal153 has joined.
21:36:45 -!- tombom_ has joined.
21:37:03 -!- zzo38 has joined.
21:37:13 <zzo38> This is idiot of mahjong: http://zzo38computer.cjb.net/img_11/idiot_of_mahjong.jpg
21:37:21 -!- augur has joined.
21:37:56 <zzo38> Whoever says discard the red five is idiot. This is a complete hand worth at least 4 han.
21:38:55 <zzo38> And what about the No.5126278? 3 for ryanpeikou + 2 for iipeikou does not even add up to seven. In addition, this hand has neither.
21:39:16 -!- tombom__ has quit (Ping timeout: 265 seconds).
21:39:19 -!- augur has quit (Remote host closed the connection).
21:39:32 -!- augur has joined.
21:39:43 <AnMaster> zzo38, ...?
21:40:22 <zzo38> AnMaster: You look...?
21:40:54 <AnMaster> at that link
21:41:00 <zzo38> !
21:41:03 <AnMaster> but I don't get it
21:41:44 <zzo38> Look at message number 5126278 for one thing, that one you might see one thing that is wrong right away. But there are more things wrong with that message and also with the other messages
21:42:02 <zzo38> O no, it is correct
21:42:19 <zzo38> It does add up correctly, but it is still wrong. Iipeikou is worth only 1 point.
21:42:56 -!- lifthrasiir has quit (Remote host closed the connection).
21:44:54 <zzo38> (In case you don't know mahjong, I will tell you, ryanpeikou means you have iipeikou twice. Generally the scoring is 1 for each iipeikou + 1 extra for ryanpeikou, adding to to 3 in total for ryanpeikou.)
21:46:54 <zzo38> Also, I found a QBASIC code which is very bad. It uses subroutines where ON GOTO would do much better, and duplicates code a lot where subroutines would have worked better. In addition, there is many useless line labels with dumb names, and various other problems as well.
21:47:08 -!- pikhq has quit (Read error: Connection reset by peer).
21:47:13 <zzo38> In addition, the program does not even work. It often crashes due to stack overflow.
21:47:57 -!- Gregor has quit (Ping timeout: 252 seconds).
21:48:46 <fizzie> Re "<AnMaster> ... <-- even my old old nokia can use java. Not sure about applets though, but I think it might", if you mean a J2ME-enabled phone, that's very different from real Java (perhaps not language-wise, but library-wise) and in any case can only run J2'3-specific "midlets".
21:49:50 <fizzie> (Not to mention that Nokia's J2ME VM used to be very sucky.)
21:50:59 <fizzie> "J2'3" is also a nice typo for J2ME.
21:51:52 <zzo38> How many *bad codes* have you seen?
21:53:54 <Phantom_Hoover> Bad codes?
21:54:10 <zzo38> Bad programming codes
21:54:23 <zzo38> There are a lot of bad codes in the user notes in the PHP documentation
21:57:44 <Phantom_Hoover> By "programming codes" do you mean source code?
21:58:29 <zzo38> Yes
21:58:47 <Phantom_Hoover> There's tonnes of bad code.
21:59:20 <cpressey> Well, there's bad code, and then there's, like, AMAZINGLY AWFUL code.
21:59:48 * Sgeo_ wonder which describes the code that he tends to write
21:59:58 <Phantom_Hoover> cpressey, there's tonnes of both.
22:00:46 <zzo38> When I write codes, some people say it is bad but other people say it is good. And then, sometimes I write things which are obviously wrong when I look at it the next day
22:01:26 <AnMaster> fizzie, hm
22:01:36 -!- Gregor has joined.
22:01:44 <cpressey> Example code on the internet (forum responses and such) tends to be bad because it tends to be untested. There's a few exceptions, of course.
22:01:59 <cpressey> But it tends not to be AMAZINGLY AWFUL.
22:02:04 <AnMaster> <cpressey> Well, there's bad code, and then there's, like, AMAZINGLY AWFUL code. <-- tdwtf?
22:02:53 <AnMaster> cpressey, "AMAZINGLY AWFUL" code tends to be tested
22:03:24 -!- pikhq has joined.
22:03:43 <cpressey> AnMaster: Tested, only nominally. But it does tend to be in production, yes.
22:05:22 -!- kar8nga has quit (Remote host closed the connection).
22:05:42 <zzo38> The bad QBASIC program I refer to is a game called "WRY HUMOR". The codes is not even consistent!! In addition, some of the text it contains is like this: " Arachind - An spider like organism with 4 legs" and " Well anyway you get eaten by a grizzly bear for the stupidest reason you could ever think of... (This DOEN'T mean I'm going to tell you!)"
22:06:24 <zzo38> It has line labels named igsdfgjid564: and adizzzermpopopainloasdasaop186: and zzzdadggsdfskevindfmainloop191: and none of them are ever used elsewhere in the program.
22:06:24 <AnMaster> cpressey, indeed
22:06:56 -!- pikhq has quit (Read error: Connection reset by peer).
22:07:28 -!- cal153 has quit (Read error: Connection reset by peer).
22:07:35 <Phantom_Hoover> zzo38, they have weird taste in metasyntactic variables?
22:07:38 -!- cal153 has joined.
22:08:33 <AnMaster> zzo38, okay the real wtf is that they wrote "An spider"
22:08:35 <AnMaster> clearly
22:08:46 <AnMaster> (if you don't get the joke there is nothing I can do to help you)
22:08:47 <Sgeo_> Is a program that runs a game that doesn't allow puzzles to be updated while the game is running "amazingly awful"?
22:09:13 <AnMaster> Sgeo_, you completely missed the point
22:09:18 <AnMaster> Sgeo_, this is code wise
22:09:20 <AnMaster> not UI wise
22:09:37 <cpressey> Seems to be both in this case
22:09:46 <AnMaster> well sure
22:09:50 <AnMaster> but Sgeo_'s example
22:09:50 <Sgeo_> There's one function in my code that has way too many anonymous functions and is thus too large
22:10:04 <AnMaster> anonymous funcs?
22:10:08 <AnMaster> like lambdas?
22:10:14 <Sgeo_> Large lambdas
22:10:29 <AnMaster> so refactor the code
22:10:30 <Phantom_Hoover> What differentiates those from small lambdas?
22:10:30 <cpressey> Ten- or twenty-page-long lambdas
22:10:43 <AnMaster> cpressey, *shudder*
22:10:55 <Phantom_Hoover> Sgeo_, which code? The robot thing?
22:11:10 -!- augur has quit (Remote host closed the connection).
22:11:24 -!- augur has joined.
22:11:38 <Sgeo_> "robot thing"? If by that, you mean the game
22:13:31 <Phantom_Hoover> I might. I'm not sure.
22:14:36 -!- pikhq has joined.
22:15:31 <zzo38> WRY also has inconsistent spacing and indent, and here is some other part of the codes: http://sprunge.us/EFUj
22:16:16 <zzo38> Now you can see how dumb it is.
22:16:31 <cpressey> zzo38: Where did you find this gem?
22:16:55 <zzo38> Some archive of QBASIC programs. Most files there are not that bad, but some are, and this is one of them
22:17:15 <cpressey> PRESS A CERTIAN NUMBER TO CONTINUE!!!
22:17:29 <Phantom_Hoover> I wonder where Certia is.
22:17:44 <Phantom_Hoover> Or, indeed, what its numbers are like.
22:18:02 <cpressey> Well, pressable, apparently.
22:18:20 <Phantom_Hoover> Of course.
22:19:03 <Phantom_Hoover> Certia appears to be a Finnish company.
22:19:15 <Phantom_Hoover> Evidently they make numbers.
22:21:16 -!- lifthrasiir has joined.
22:21:27 <oklopol> they... make numbers?
22:21:33 <oklopol> that sounds awesome
22:22:04 <Phantom_Hoover> oklopol, they claim to be some sort of financial thing.
22:22:21 <oklopol> oh
22:22:27 <Phantom_Hoover> They must make numbers that are better than the competition.
22:22:29 <oklopol> that sounds much boringer.
22:22:59 <oklopol> i thought they were like you know if you need a cool number for like a safe combination in your movie or something
22:23:04 <Phantom_Hoover> You could probably make a living off patenting large primes, come to think of it.
22:23:04 <oklopol> then you'd call them
22:23:25 <oklopol> and they'd make a number that fits the atmosphere of the movie
22:23:48 <oklopol> yeah i didn't want to reference that aspect because it's been done to death
22:24:01 <oklopol> (these things are very easy to kill)
22:24:13 <oklopol> anyway i should go to slayp
22:24:17 <fizzie> They'd be all "sorry, we're out of numbers right now, but we'll be getting more next Tuesday from our number mines".
22:24:29 <oklopol> number mines :--)
22:24:45 <fizzie> Everything comes from mines.
22:24:57 <Phantom_Hoover> Refined from ore?
22:25:23 <oklopol> numbore
22:25:27 <fizzie> Yes, they refine primes from large composites extracted from the earth.
22:25:32 <oklopol> haha
22:25:37 <Phantom_Hoover> That is what I was thinking.
22:25:39 <oklopol> i love it
22:25:41 <AnMaster> oklopol, yes they put failed mathematicans to slave in the mines
22:25:53 <AnMaster> mathematicians*
22:26:01 <oklopol> lllllllllol at primes refined from composites
22:26:28 <fizzie> Are there failed mathematicians? I thought they were just suboptimally succeeded ones.
22:26:33 <Phantom_Hoover> AnMaster, no, the mathematicians are used to refine the composites.
22:26:56 <AnMaster> Phantom_Hoover, yes. I said the failed ones
22:27:03 <AnMaster> fizzie, yes indeed
22:27:14 <Phantom_Hoover> AnMaster, ah.
22:27:16 <oklopol> composite numbers composite numbers composite numbers composite numbers
22:27:54 <fizzie> Combustible numbers.
22:28:03 <AnMaster> oh yes, mine gas
22:28:07 <AnMaster> well known hazard
22:28:21 -!- hiato has quit (Ping timeout: 248 seconds).
22:28:36 <oklopol> err there aren't any sort of by-products when you refine primes out of composites
22:28:42 <oklopol> that's weird
22:28:48 <oklopol> hmm
22:28:50 <AnMaster> oklopol, oh there are
22:28:55 <AnMaster> oklopol, decimal points
22:28:57 <Phantom_Hoover> Then there's the problem of ending up with complexes.
22:29:03 <oklopol> what if we actually extract *reals*
22:29:04 <AnMaster> Phantom_Hoover, and that yes
22:29:05 <oklopol> oh
22:29:07 <oklopol> fuck you AnMaster
22:29:16 <oklopol> anyway we could refine rationals out of them
22:29:29 <oklopol> you know hone the edges a bit
22:29:34 <AnMaster> oklopol, no, they refine an integer then, and hit it with a hammer
22:29:36 <AnMaster> so it cracks
22:29:38 <oklopol> or maybe more file than hone
22:29:44 <AnMaster> you get two complementary fractions
22:30:17 <Phantom_Hoover> How about Gaussian primes?
22:30:25 <AnMaster> Phantom_Hoover, what about them?
22:30:35 <oklopol> what's the definition of a gaussian prime
22:30:39 -!- tombom_ has quit (Ping timeout: 240 seconds).
22:30:49 <Phantom_Hoover> Presumably you refine them from Gaussian integers.
22:30:51 <oklopol> i can probably guess
22:31:00 <Phantom_Hoover> oklopol, they're like primes, but complex.
22:31:22 <AnMaster> Phantom_Hoover, yes they end up as one of the components of the gaussian integer pellets
22:31:30 <AnMaster> so you sort them out from them
22:31:53 <AnMaster> by refining indeed
22:32:09 <Phantom_Hoover> And you can split a Gaussian integer into 2 integers.
22:32:12 <AnMaster> oklopol, anyway I never got "<oklopol> fuck you AnMaster"
22:32:18 <AnMaster> Phantom_Hoover, plus an i
22:32:28 <Phantom_Hoover> AnMaster, OK, you get some i left over.
22:32:29 <AnMaster> one of the halfs get an i
22:32:41 <AnMaster> that you need to complement away
22:32:48 <AnMaster> a process similar to oxidation
22:33:02 -!- tombom_ has joined.
22:33:08 <oklopol> Phantom_Hoover: i was just wondering whether it's the natural definition or whether it was some sort of pseudodefinition. which was a bit stupid i guess.
22:33:35 <oklopol> i mean for instance you might for some reason want primes to be gaussian primes
22:33:39 <CakeProphet> filebin down?
22:33:39 <Phantom_Hoover> AnMaster, lone is are unstable.
22:33:44 <oklopol> in which case i have no idea how you'd define them
22:33:46 <AnMaster> Phantom_Hoover, lone?
22:33:53 <oklopol> well
22:33:55 <oklopol> hmm
22:33:56 <AnMaster> oh i:s
22:34:01 <Phantom_Hoover> I don't know why they would be.
22:34:01 <AnMaster> Phantom_Hoover, well yes
22:34:04 <oklopol> or does that happen to give them actually
22:34:08 -!- hiato has joined.
22:34:16 <Phantom_Hoover> They tend to collapse into a real.
22:34:18 <oklopol> yeah no
22:34:46 <AnMaster> Phantom_Hoover, _real_ly?
22:34:50 <Phantom_Hoover> oklopol, primes of the form 4n+3 are Gaussian primes.
22:34:52 <oklopol> characterization on wp says only primes of some form are gaussian
22:34:54 <oklopol> yeah
22:34:58 <oklopol> that one
22:35:00 <Phantom_Hoover> AnMaster, no, but it sounds gooc.
22:35:06 <Phantom_Hoover> s/gooc/good/
22:35:16 <AnMaster> Phantom_Hoover, ... you didn't get my joke?
22:35:29 * Phantom_Hoover facepalms
22:35:34 <AnMaster> Phantom_Hoover, anyway, not collapse, decay
22:35:38 <Phantom_Hoover> As much for not getting it as the pun.
22:35:56 -!- Gregor-P has joined.
22:35:57 <AnMaster> Phantom_Hoover, hah
22:36:03 <AnMaster> Gregor-P, hi
22:36:15 -!- CakeProphet has quit (Quit: leaving).
22:36:23 <Gregor-P> 'lo
22:36:29 <oklopol> hi Gregor-P, how many fingers am i holding up
22:36:36 <Phantom_Hoover> Lo, it is Gregor-P!
22:36:45 <zzo38> -pi/2
22:36:49 <Phantom_Hoover> oklopol, 3+4i.
22:36:55 <Phantom_Hoover> A Gaussian prime!
22:37:11 <AnMaster> Phantom_Hoover, not !?
22:37:30 <Phantom_Hoover> No, it's because of the UK keyboard layout.
22:37:39 <Phantom_Hoover> is next to ! when you have shift on.
22:38:40 <oklopol> so hmm, its length is 5 so if you had two gaussians multiplying to it, one would have |length| = 5 and one |len| = 1, proving it's a prime
22:39:25 <zzo38> Do you like GNU long options? I prefer short options
22:39:44 <Phantom_Hoover> zzo38, they're all right.
22:40:03 <oklopol> zzo38: what do you think quasiperiodicity should mean?
22:40:08 <zzo38> No, I don't like GNU long options. I like to use short options
22:40:12 <zzo38> oklopol: I don't know
22:40:30 <oklopol> why doesn't anyone have a strong opinion on this
22:40:34 <oklopol> let's see what wp sayd
22:40:36 <oklopol> says
22:40:45 <zzo38> oklopol: Maybe it is like periodicity that it is a different kind changes sometimes? I don't know
22:41:10 -!- ehirdiphone has joined.
22:41:13 <ehirdiphone> What did Knuth announce?
22:41:25 <Phantom_Hoover> Damn, that's what I meant to ask
22:41:36 <Phantom_Hoover> pikhq, do you know?
22:41:38 <ehirdiphone> AnMaster: pikhq:
22:42:02 <pikhq> I don't have X ATM.
22:42:03 <oklopol> http://www.answers.com/topic/quasiperiodic-tiling <<< ah, great idea, don't define it at all
22:42:07 <oklopol> no one gets mad!
22:42:12 <pikhq> Also, the announcement doesn't happen for another few hours.
22:42:15 <ehirdiphone> cpressey:
22:42:17 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDdd
22:42:21 <oklopol> hoooooooooray wp
22:42:22 <ehirdiphone> pikhq: Oh.
22:42:27 <pikhq> It's only 2:41 PM pacific time.
22:42:29 <ehirdiphone> How many? Dammit.
22:42:36 <oklopol> wait maybe that's not newest wp entry let's check actual wp
22:42:41 <cpressey> ehirdiphone: *clattering of fine china* Hi!
22:42:46 <AnMaster> pikhq, you could rebuild from inside X
22:43:08 <ehirdiphone> pikhq: Also, what sort of tone did he use when saying he'd announce something?
22:43:12 <ehirdiphone> Good? Bad?
22:43:28 <pikhq> AnMaster: Not when you're rebuilding dependencies of most everything on X11.
22:43:42 <cpressey> "Earth-shattering" is all I heard.
22:43:49 <AnMaster> pikhq, dude I went modular X while running non-modular X
22:43:54 <AnMaster> pikhq, on gentoo
22:43:59 <ehirdiphone> My bet: Good - he's making a new typesetting system; bad - disease, TAOCP being handed over to so
22:44:02 <AnMaster> pikhq, this was inside konsole even
22:44:07 <ehirdiphone> meone else or cancelled
22:44:12 <pikhq> You're crazy. I don't want things to break.
22:44:21 <ehirdiphone> One or the other.
22:44:27 <ehirdiphone> Good or bad.
22:44:31 <Gregor-P> He's proved P!=NP
22:44:31 <cpressey> ehirdiphone: Maybe he sold TeX to Oracle.
22:44:38 <zzo38> Some people say some of my codes also bad http://sprunge.us/ajHX they said the body of the argopt_par is the most obscure C codes they ever seen. But it is not obscure. It is not IOCCC.
22:44:44 <AnMaster> pikhq, unlikely, same binary
22:44:48 <ehirdiphone> Gregor-NP: Really?
22:44:49 <AnMaster> already running
22:44:51 <oklopol> zzo38: i'm not sure what you mean by different kind changes, can you be more precise, assuming we have points, neighborhoods and jumps and a point is periodic if it jumps back to its original spot after a finite amount of jumps (jumps are deterministic)
22:44:53 <pikhq> ehirdiphone: Or he could be announcing the immediate release of the entirety of TAOCP.
22:45:02 <AnMaster> <cpressey> ehirdiphone: Maybe he sold TeX to Oracle. <-- or he went open office!
22:45:09 <zzo38> oklopol: I don't really know. I just made up something
22:45:20 <cpressey> I still think he's going to spill the beans on what *really* happened to Dijkstra.
22:45:21 <ehirdiphone> pikhq: Well. No.
22:45:30 <ehirdiphone> Earth shattering implies exciting o
22:45:30 <pikhq> AnMaster: The whole point of this is that the ABI of a fundamental library changed and I don't want runtime linker oddities.
22:45:33 <oklopol> zzo38: you don't really need to know anything to be able to explain what you mean, but okay :)
22:45:33 <ehirdiphone> I think
22:45:36 <ehirdiphone> Not death
22:45:37 <AnMaster> <cpressey> I still think he's going to spill the beans on what *really* happened to Dijkstra. <-- what are you talking about?
22:45:44 <zzo38> I think TeX is not a bad thing
22:46:01 <pikhq> ehirdiphone: "I have finished TAoCP. Published immediately."
22:46:02 <ehirdiphone> AnMaster: Lone gunman? Ha!
22:46:13 <ehirdiphone> pikhq: Doubt.
22:46:23 <pikhq> Not likely, no.
22:46:33 <pikhq> It'd involve him writing a few orders of magnitude faster.
22:46:34 <ehirdiphone> I bet major tex revision or new typesetting system
22:46:43 <olsner> http://www.reddit.com/r/esolangs/ :(
22:46:53 <pikhq> Most likely.
22:47:04 <Phantom_Hoover> ehirdiphone, BORING.
22:47:14 <pikhq> Phantom_Hoover: Dude: TeX.
22:47:16 <zzo38> Some people have said my program Icoruma is like TeX. But it is different and has different uses
22:47:18 <ehirdiphone> olsner: My reddit :3
22:47:19 <AnMaster> <ehirdiphone> AnMaster: Lone gunman? Ha! <-- what?
22:47:20 <pikhq> Praise be unto TeX.
22:47:24 <AnMaster> I was joking :p
22:47:26 <AnMaster> I love tex
22:47:30 <ehirdiphone> AnMaster: Just...
22:47:32 <Phantom_Hoover> For "Earth-shattering" he basically needs P!=NP.
22:47:33 <ehirdiphone> The...
22:47:37 <ehirdiphone> *headdesk*
22:47:41 <zzo38> TeX is not bad thing though
22:47:43 <pikhq> zzo38: Like TeX in design philosophy, not in particular details.
22:47:53 <AnMaster> zzo38, no need to repea
22:47:55 <AnMaster> repeat
22:47:58 <olsner> yeah, maybe he dis/proved P=NP or something... that'd be cool
22:48:08 <ehirdiphone> Plain tex ftw
22:48:24 <zzo38> pikhq: OK. I suppose maybe it is, but I wouldn't know because I didn't know much about TeX when I made Icoruma
22:48:27 <ehirdiphone> Fuck latex :P
22:48:33 <ehirdiphone> In both senses!
22:48:38 <AnMaster> ehirdiphone, disagree, meh
22:48:44 <AnMaster> well in at least one sense
22:48:45 <pikhq> "I have created a true Turing machine." That'd be awesome.
22:48:55 <cpressey> olsner: He so doesn't seem the kind of researcher to be working on that problem, though.
22:48:55 <ehirdiphone> Do you deny the knuth?
22:48:57 <AnMaster> pikhq, a true UTM or just TM?
22:48:57 <zzo38> ehirdiphone: In both senses of both words and also of the ":P" sign senses?
22:48:57 <Phantom_Hoover> Surely we'd have noticed.
22:48:59 <pikhq> Sorry, true Universal ...
22:49:04 <pikhq> AnMaster: UTM.
22:49:07 <AnMaster> pikhq, ouch
22:49:14 <pikhq> He got an infinite spool of tape he found at the hardware store.
22:49:15 <ehirdiphone> pikhq: "I have proved... The Bible!"
22:49:15 <pikhq> :P
22:49:21 <ehirdiphone> crickets
22:49:23 <pikhq> ehirdiphone: XD
22:49:28 <ehirdiphone> "...=NP?"
22:49:32 <ehirdiphone> crickets
22:49:56 <zzo38> Prove the Bible? What about the Bible? The Bible is simply a collection of various old books compiled together.
22:50:05 <AnMaster> ehirdiphone, I have proven crickets != NP !
22:50:10 <oklopol> prove that it's the word of god
22:50:15 <zzo38> Some people disagree on some details of how the Bible is compiled together
22:50:21 <oklopol> yeah
22:50:27 <oklopol> but no one disagrees on the fact it's the word of god
22:50:27 <ehirdiphone> And TRYE
22:50:29 <zzo38> oklopol: You can't prove that! You can't really disprove that either though, I guess
22:50:29 <AnMaster> or
22:50:33 <ehirdiphone> * TRUE
22:50:35 <oklopol> yeah you can't
22:50:38 <oklopol> but truth isn't about proof
22:50:40 <AnMaster> he become allergic to electricity
22:50:41 <AnMaster> anyway
22:50:42 <cpressey> Well, Knuth can.
22:50:47 <AnMaster> considering it was a some TeX conference
22:50:54 <AnMaster> it is likely to be TeX related
22:50:55 <AnMaster> no?
22:50:58 <ehirdiphone> God existing is an independent statement
22:51:01 <ehirdiphone> AnMaster: Nah
22:51:08 <AnMaster> ehirdiphone, no?
22:51:09 <ehirdiphone> Basically a gathering of knuth fans
22:51:11 <zzo38> ehirdiphone: Yes it is independent statement
22:51:15 <ehirdiphone> More likely though
22:51:20 <AnMaster> hm
22:51:21 <ehirdiphone> But not >.5
22:51:33 <ehirdiphone> > .5 prob
22:51:34 <AnMaster> ehirdiphone, >.5?
22:51:36 <AnMaster> ah
22:51:53 <zzo38> What do *you* think about the argopt_par codes? Do you think these codes is obscure or do you think IOCCC is obscure?
22:52:12 <AnMaster> zzo38, I have never heard of the first
22:52:18 <oklopol> zzo38: i thought they looked pretty obscure at a glimpse
22:52:21 <ehirdiphone> So apparently the unit doesn't trust me with overthecounter stuff. pikhq! Woe with me.
22:52:36 <Phantom_Hoover> "Woe is me", surely?
22:52:36 <AnMaster> ehirdiphone, overthecounter stuff?
22:52:41 <zzo38> AnMaster: http://sprunge.us/ajHX
22:52:48 <pikhq> ehirdiphone: That's a liability measure.
22:53:18 <Phantom_Hoover> zzo38, it makes no sense to me, if tht helps.
22:53:21 <ehirdiphone> AnMaster: Hydrocortisone cream or however you spell it. It's steroidal, must be DEADLY.
22:53:35 <zzo38> Phantom_Hoover: What part makes no sense to you?
22:53:36 <pikhq> If you get fucked up in any way and they let you take OTC drugs on your own, they could quite possibly get sued to hell and back.
22:53:36 <ehirdiphone> (I have eczma and a pollen allergy.)
22:53:54 <Phantom_Hoover> zzo38, all of it.
22:54:02 <AnMaster> ehirdiphone, uhu
22:54:06 <AnMaster> night
22:54:06 <ehirdiphone> They haven't found it but a close miss and they mumbled about hydrocortisone before - long story
22:54:07 <Phantom_Hoover> It's not IOCCC obscure, though.
22:54:08 <oklopol> ehirdiphone: well you might eat it
22:54:24 <zzo38> Phantom_Hoover: Do you understand the comments?
22:54:26 <pikhq> Which is not to say they have any reason to not say "Okay, apply it in front of us", because this is the way reasonable people deal with the legal department being a bunch of paranoid maniacs.
22:54:35 <ehirdiphone> I need it to stop my skin exploding in pain anyway
22:54:38 <pikhq> Of course, then again, these are not reasonable people.
22:55:01 <ehirdiphone> pikhq: They wanted to get it written up by a doctor. ...Like they want to do with PARACETAMOL.
22:55:06 <Phantom_Hoover> zzo38, I haven't time to read it thoroughly.
22:55:17 <pikhq> ehirdiphone: ... Wait, they wanted to get it *written up*?
22:55:25 <ehirdiphone> "We must write up THIS SOAP. It is medical."
22:55:30 <ehirdiphone> pikhq: Yep.
22:55:38 <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
22:55:46 <pikhq> At *most* they should demand consent from one of your parents.
22:55:56 <Sgeo_> I thought paracetamol was not OTC in UK? Or at least, that's what I thought someone said in here?
22:56:00 <zzo38> Phantom_Hoover: All the comments are at the top
22:56:04 <ehirdiphone> It is.
22:56:08 <pikhq> Which, I presume, would be quite easy.
22:56:11 <ehirdiphone> Melatonin isn't
22:56:17 <ehirdiphone> !hc
22:56:22 <ehirdiphone> !hc x
22:56:23 <Phantom_Hoover> zzo38, why are you so concerned?
22:56:26 <ehirdiphone> !he x
22:56:27 <EgoBot> `x
22:56:31 <ehirdiphone> Ffg
22:56:32 <pikhq> "Hey, ehird'smother? Yeah, y'mind him taking hydrocortisone cream? No? Okay."
22:56:35 <HackEgo> No output.
22:56:55 <zzo38> Phantom_Hoover: I am just interested what some people opinion are. I suppose people who do not understand C codes it can be confusing that nobody can understand.
22:56:56 <ehirdiphone> !he addquote <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
22:56:56 <EgoBot> `addquote <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
22:56:58 <HackEgo> 192|<zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple
22:57:28 <ehirdiphone> Best phrasing of that quote ever.
22:57:44 <zzo38> It isn't my quote at first I just rewrote it
22:57:46 <ehirdiphone> pikhq: Did I mention I have to go to bed at 10pm? Sigh.
22:57:52 <pikhq> ehirdiphone: Ouch.
22:57:58 <ehirdiphone> zzo38: And made it AWESOME.
22:58:04 <zzo38> ehirdiphone: OK.
22:58:07 <oklopol> can i see the original
22:58:09 <ehirdiphone> pikhq: Then up at 7... pain...
22:58:29 <zzo38> oklopol: I don't know how to find the original right now
22:58:31 <ehirdiphone> oklopol: Google "all progress depends on unreasonable man"
22:58:40 <oklopol> !google all progress depends on unreasonable man
22:58:41 <EgoBot> http://google.com/search?q=all+progress+depends+on+unreasonable+man
22:58:42 <pikhq> ehirdiphone: "Early to bed early to rise", eh?
22:58:59 <ehirdiphone> pikhq: Shut up Franklin.
22:59:09 <cpressey> ehirdiphone: And if they find you have an iPhone, they'll eat it?
22:59:10 -!- MizardX has quit (Ping timeout: 276 seconds).
22:59:11 <oklopol> ah okay
22:59:32 <ehirdiphone> cpressey: Confiscate and probably discipline and monitor closer.
22:59:39 <oklopol> zzo38 left out the part where the reasonable people adapt
22:59:49 <oklopol> i assume that was what made it awesome
23:00:03 <ehirdiphone> just everything
23:00:31 <oklopol> now the reasonability is a bit of a non sequitur in the beginning.. wait, i guess it's not a sequitur if it's before?
23:01:03 <ehirdiphone> pikhq: Oh, and they have the audacity to give me "home"work while locked up here.
23:01:14 <oklopol> what kind of homework
23:01:15 <pikhq> ehirdiphone: How inane?
23:01:18 <oklopol> is it about symbolic dynamics
23:01:25 <oklopol> because i know a bit about that stuff
23:01:29 <oklopol> i could help you
23:01:40 <ehirdiphone> pikhq: "Find the area of this shape —GCSE"
23:01:54 <Phantom_Hoover> ehirdiphone, ugh.
23:02:10 <pikhq> Oh, the busywork that they could've reasonably taught to a 5 year old.
23:02:11 <oklopol> use the dirac measure
23:02:13 <oklopol> and that's really easy
23:02:36 <ehirdiphone> Which I fail surprisingly often at because I'm not given a calculator and mental arithmetic is so tedious that I cut corners.
23:02:50 <pikhq> Take the integral. Smart enough to impress, stupid enough that they'll know what it is.
23:03:08 <ehirdiphone> THEY DO NOT KNOW WGAT AB INTEGRAL IS DUDE
23:03:20 <ehirdiphone> Don't be retarded
23:03:30 <pikhq> ... Oh, right. Most people don't know calculus.
23:03:32 <oklopol> integrals are hard, much easier to use the definition of lebesque measures directly
23:03:34 <Phantom_Hoover> ehirdiphone, wait, why do they need to give you GCSE questions?
23:03:42 <pikhq> If you will excuse me, I'm going to go be depressed.
23:03:59 <ehirdiphone> The only half decent teacher is the IT one that travels in here on Tuesdays. Who can, you know, differentiate.
23:04:03 <zzo38> I said all comments was at the top, but I am wrong. There are some comments in argopt_get also but only "// Set defaults" and "// Load options"
23:04:10 <ehirdiphone> Phantom_Hoover: I'm 14.
23:04:19 <ehirdiphone> Phantom_Hoover: Do the mental arithmetic.
23:04:30 <oklopol> can he actually differentiate or does he remember what the string substitution is for polynomials and a few other functions
23:04:37 <oklopol> i bet he doesn't know shit
23:04:39 <pikhq> ehirdiphone: Could you at least do something like start from sets and define geometry and then calculate the area from there?
23:04:43 <ehirdiphone> Probably the latter.
23:04:53 <pikhq> "Starting from 3 axioms, I shall compute the area."
23:05:01 <Phantom_Hoover> ehirdiphone, are they that stupid?
23:05:13 <ehirdiphone> pikhq: They have their standard "blah you need to be able to do this" line.
23:05:19 <ehirdiphone> Phantom_Hoover: To what?
23:05:21 <oklopol> Phantom_Hoover: why would he know?
23:05:25 -!- GreaseMonkey has joined.
23:05:28 <pikhq> oklopol: Most everyone only knows the string substitutions, yeah.
23:05:32 <oklopol> oh you mean stupid enough to give that kind of homework or wht
23:05:33 <oklopol> *what
23:05:41 <pikhq> ehirdiphone: BTW, they're expecting you to do arithmetic on paper.
23:05:50 <ehirdiphone> pikhq: I know.
23:06:04 <ehirdiphone> Which is still UNIMAGINABLY BORING.
23:06:29 <pikhq> What, do they not give numbers that make for easy arithmetic?
23:06:31 <oklopol> numbers are rather boring
23:06:46 <oklopol> pikhq: no, because there would be no challenge then! :D
23:06:49 <ehirdiphone> pikhq: Well, it's easy. Just so tedious.
23:06:51 <oklopol> xxxxxD
23:06:53 <pikhq> Most such things I've had experience with tend to go for easy, easy multiplication. Powers of 10 and the like.
23:07:13 -!- zzo38 has quit (*.net *.split).
23:07:13 -!- coppro has quit (*.net *.split).
23:07:13 -!- jix has quit (*.net *.split).
23:07:23 <ehirdiphone> More like 3.2 * 5.3 * 4 which is not hard of course.
23:07:26 <pikhq> But, then, I last did geometry for class when I was, oh... 12.
23:07:32 <pikhq> ehirdiphone: That's cruel.
23:07:41 <pikhq> Not because it's hard but because, well. Fuck that shit.
23:07:52 <ehirdiphone> But, you know, I don't have intimate familiarity with long multiplication because it sucks.
23:08:09 <ehirdiphone> Fat juicy cocks, it sucks.
23:08:25 <oklopol> i've never seen geometry done at all rigorously, i hear it's really boring
23:08:27 <ehirdiphone> pikhq: The geometry was too easy so MULTIPLY!
23:08:36 <oklopol> hmm wait
23:08:43 <oklopol> that one paper about how math is taught wrong
23:08:44 <ehirdiphone> oklopol: read Euclid :P
23:08:58 -!- coppro has joined.
23:08:58 -!- jix has joined.
23:09:06 <Phantom_Hoover> ehirdiphone, what sort of shapes are we talking about?
23:09:21 <pikhq> oklopol: It's taught in a manner that would make Euclid laugh at how basic it is.
23:09:22 -!- jix has quit (Ping timeout: 244 seconds).
23:09:25 -!- jix has joined.
23:09:33 -!- Gregor-P has quit (Quit: Bye).
23:09:33 <oklopol> it said geometry is done, in whatever country the writer was in, rigorously in the sense that they used a few axioms and shit
23:09:33 <oklopol> ehirdiphone: not very rigorous afaik
23:09:33 <oklopol> the axioms are mostly for guiding intuition
23:09:36 -!- zzo38 has joined.
23:09:36 <oklopol> and new ones are added without proof when useful
23:09:36 <ehirdiphone> Phantom_Hoover: A +! An H! A rectangle with a zigzagging side!
23:09:38 <pikhq> Which is pretty impressive considering how far math has moved in the past, oh, 2000 years.
23:09:49 <cpressey> ehirdiphone: Do you have any access to books? Or would reading be considered subversive?
23:09:50 <zzo38> [Sorry, connection error]
23:10:00 <zzo38> I didn't read it
23:10:17 <ehirdiphone> cpressey: I could ask to go to the library or bring in my own.
23:10:18 <pikhq> ehirdiphone: So fucking tedious.
23:10:33 <oklopol> ehirdiphone: yes what journals do they have access to
23:10:33 <pikhq> ehirdiphone: Now for the depressing bit: people actually think math is THE ABILITY TO COMPUTE THAT STUFF.
23:10:47 <ehirdiphone> But why reduce my enjoyment of a boom by Reading it tired and depressed?
23:10:51 <pikhq> THEY THINK THAT MATH IS COMPUTATION.
23:10:59 <ehirdiphone> *book *reading
23:11:09 <Phantom_Hoover> pikhq, surprised?
23:11:15 <oklopol> pikhq: that's so depressing i'm not bothered by the fact saying that has been done to death. that's pretty depressing.
23:11:29 <ehirdiphone> pikhq: "I'm a very visual mathematician." -one of the teachers
23:11:30 <pikhq> oklopol: It has been said a lot, sure.
23:11:31 <Phantom_Hoover> You barely touch real mathematics in school.
23:11:31 <zzo38> They are confusing math with doing math? I suppose it is easy to get confused if you do not understand
23:11:35 <zzo38> And a lot of people do not understand
23:11:35 <pikhq> But it's true and AARGH
23:11:43 <oklopol> what is weird is i still have to explain it to everyone
23:11:47 <cpressey> There's this word "arithmetic" that no one uses.
23:11:59 <oklopol> even people i've already explained it to
23:12:00 <zzo38> And even "doing math" does not always involve computation
23:12:01 <oklopol> they don't believe me
23:12:06 <cpressey> #include <math.h>? What bullshit!
23:12:19 <cpressey> I see no math in math.h.
23:12:20 <pikhq> Phantom_Hoover: Calculus is really where actual math starts in school, yeah.
23:12:26 <Phantom_Hoover> If I had a penny for every time someone has said "Hey, you're good at maths, right? What's the square root of pi?"
23:12:32 <pikhq> And even then, they try their hardest to make it just computation.
23:12:43 <Phantom_Hoover> I would be able to throw them at people who asked that wort of question.
23:12:49 <ehirdiphone> "I'm a very visual mathematician." -one of the teachers <== just gonna repeat this forever
23:12:50 <zzo38> And I took calculus class in school
23:13:06 <cpressey> ehirdiphone: I like how numbers *look*.
23:13:14 <zzo38> What exactly does it mean to be "a very visual mathematician"?
23:13:27 <oklopol> ehirdiphone: i'm a very visual mathematician too
23:13:52 <pikhq> ehirdiphone: Ask him about some nice and beautiful 4D shapes.
23:14:02 <ehirdiphone> zzo38: Substitute "arithmetician" for "mathematician", then substitute "idiot" for the entire sentence.
23:14:15 <cpressey> I have to go. Keep on keepin' on...
23:14:17 -!- cpressey has quit (Quit: Leaving.).
23:14:19 <pikhq> Just something simple like "How d'you like them hypercubes?" or "Man, Klein bottles are awesome, aren't they?"
23:14:25 <ehirdiphone> pikhq: Do not insult the ~womanly maths/art teacher~
23:14:35 <ehirdiphone> Yes. Maths and art.
23:14:35 <zzo38> ehirdiphone: OK...?
23:14:35 <pikhq> I'll grant that this hardly even touches on anything at all, but still.
23:14:37 <ehirdiphone> Woooooooo
23:14:41 <oklopol> math is art
23:14:51 <oklopol> it's science and it's art
23:14:56 <oklopol> and yet it's neither
23:14:58 <oklopol> it's magic
23:15:05 <oklopol> personally i love math
23:15:13 <oklopol> let me give you some definitions
23:15:17 <ehirdiphone> Abortion would be art for this moron >_> Ohh I went there
23:15:41 <pikhq> I can imagine a mathematically inclined person doing well in art. But this is apparently a computationally inclined person.
23:15:41 <oklopol> the definition kurka gives for quasiperiodicity is as follows, although let me refresh your memory on dynamical systems first
23:15:45 <ehirdiphone> (Yes I am suggesting she remove herself fro
23:15:52 <ehirdiphone> m the gene pool)
23:16:03 <oklopol> we assume a simply system, compact metric space X with a continuous function f supplying the dynamics
23:16:08 <ehirdiphone> pikhq: She didn't understand negative exponents.
23:16:23 <ehirdiphone> She doubly didn't understand non-integral ones.
23:16:34 <oklopol> a point x is quasiperiodic if, given any neighborhood U of x, there is such a p that f^jp(x) \in U for all j
23:16:38 <pikhq> ehirdiphone: Oh dear god. And this woman is *teaching* computation?
23:16:55 -!- hiato has quit (Quit: tiuq\).
23:16:56 <ehirdiphone> pikhq: ^_^
23:17:09 <zzo38> ehirdiphone: Does that mean some people have to eat her arm and other people have to do scientific experiment with her blood? Or does it mean she has to go to the moon and die from lack of air?
23:17:12 <oklopol> the definition of almost periodicity in kurka's book, and curiously the definition of quasiperiodicity in tilings and patterns literature, goes as follows:
23:17:19 <pikhq> Clearly she should be *taught* computation.
23:17:27 <pikhq> Or at least mathematics.
23:17:32 <ehirdiphone> zzo38: Ooh, how do i decide?!?!
23:17:42 <ehirdiphone> They're both so appealing...
23:17:53 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
23:17:55 <zzo38> ehirdiphone: I don't know. You decide using the method you want to choose how to decide.
23:17:58 <oklopol> a point x is almost periodict if, given any neighborhood U of x, there is such a p that given any n there is a 0 <= k < p such that f^(n+k)(x) \in U
23:18:09 <oklopol> so we have a bound on the return times
23:18:19 <ehirdiphone> zzo38: Can't we do both?
23:18:21 <oklopol> let's see what you've been talking about
23:18:36 <zzo38> ehirdiphone: OK, do both if that is what you prefer!
23:18:49 <ehirdiphone> yay
23:19:22 <ehirdiphone> pikhq: Break into my room to tell me what knuth announces k
23:19:47 <ehirdiphone> Rhe window doesn't open much you'll have to s
23:19:52 <ehirdiphone> break it
23:19:56 <ehirdiphone> *The
23:19:59 -!- pikhq has quit (Read error: Connection reset by peer).
23:20:00 <ehirdiphone> *much,
23:20:04 <ehirdiphone> *no s
23:20:18 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:20:18 <oklopol> might be interested to see someone who thinks they know math but doesn't
23:20:21 <oklopol> *interesting
23:20:26 <oklopol> because
23:20:32 <zzo38> ehirdiphone: Why don't you just use morse code, and then you don't have to break the window, whoever is inside can open it. You only need to break it if there is nobody inside
23:20:38 <oklopol> they might actually try to follow when i start lecturing
23:20:39 <zzo38> And that you don't have the key.
23:20:44 -!- ehirdiphone has joined.
23:20:46 <ehirdiphone> sentient egg-timers
23:20:49 <zzo38> But maybe it would be better to pick the lock instead?
23:21:02 <ehirdiphone> zzo38: On ... What?
23:21:11 <zzo38> On the door next to the window
23:21:12 <ehirdiphone> I'm in a mental institution...
23:21:24 <ehirdiphone> There is no such door.
23:21:30 <oklopol> could one of you define something now? there's a lot of forth but very little back here imo
23:21:45 <zzo38> ehirdiphone: O, that is why there is no reverse DNS...... OK.
23:21:54 <ehirdiphone> zzo38: Wat
23:22:00 <ehirdiphone> I'm on an iPhone :P
23:22:06 <zzo38> Your connection shows no reverse DNS
23:22:11 <ehirdiphone> Odd. M
23:22:17 <oklopol> it might be interesting to be in a mental institution
23:22:24 <oklopol> especially trying to get out
23:22:27 <ehirdiphone> Maybe i'm just hallucinating zzo38
23:22:30 <oklopol> and also the crazy people
23:22:34 <ehirdiphone> oklopol: Its not.
23:22:51 <ehirdiphone> They have powers far beyond locks.
23:23:13 <oklopol> yeah that's the challenge
23:23:19 <oklopol> point is not to try to run out
23:23:28 <ehirdiphone> Evade sectioning?
23:23:32 <oklopol> point is to trick them into thinking your sane
23:23:34 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:23:36 -!- TokeyTheBong has joined.
23:23:36 <oklopol> *you're
23:23:41 <ehirdiphone> If you figure out how. Let me know.
23:23:44 <oklopol> :P
23:23:58 <zzo38> You can make up a text-adventure game?
23:24:07 <oklopol> i'm not sure i'd ever get out of a place like that
23:24:12 <ehirdiphone> TAKE MEDICATION
23:24:13 -!- TokeyTheBong has left (?).
23:24:19 <ehirdiphone> OPEN WINDOW
23:24:25 <ehirdiphone> The window doesn't open.
23:24:29 <ehirdiphone> SCREAM
23:24:43 <zzo38> Open the ceiling
23:24:47 <ehirdiphone> You are in a straitjacket. Men are comforting you.
23:24:57 <zzo38> Die
23:25:10 <ehirdiphone> You have no means of suicide.
23:25:14 <zzo38> Dye
23:25:26 <oklopol> they removed his teeth?
23:25:30 <ehirdiphone> Or pigmenting.
23:25:41 <ehirdiphone> oklopol: wat.
23:25:42 <zzo38> OK
23:25:50 <oklopol> "<ehirdiphone> You have no means of suicide."
23:25:54 <ehirdiphone> Are you suggesting I... gnaw my leg off?
23:26:02 -!- tombom_ has quit (Quit: Leaving).
23:26:10 <oklopol> a crazy person should be able to bite somewhere important
23:26:18 <oklopol> yeah
23:26:22 <oklopol> gnaw your leg off
23:26:29 <ehirdiphone> Crazy != flexible
23:26:32 <oklopol> GNAW LEG OFF
23:26:47 <ehirdiphone> I CAN'T REACH
23:26:48 <oklopol> err, you don't have to be flexible to be able to put your foot in your mouth
23:26:49 <fizzie> Gnawing a leg off: a widely recognized sign of sanity.
23:27:01 <ehirdiphone> <3 fizzie
23:27:08 <oklopol> (how many of you bit your foot just now?)
23:27:14 <ehirdiphone> oklopol: Leg != foot
23:27:30 <oklopol> both easily reachable though
23:27:35 <zzo38> I don't eat my foot. I bite my arm sometimes
23:27:43 <ehirdiphone> You do it
23:27:49 <zzo38> I can't eat my foot
23:27:55 <oklopol> i like biting my big toe and letting my leg rest in the grip
23:27:55 <zzo38> It is too far away
23:28:01 <oklopol> well
23:28:03 <oklopol> not completely
23:28:07 <oklopol> because that would hurt
23:28:13 <oklopol> but a bit
23:28:20 <fizzie> "Sorry, I don't know how to EAT FOOT."
23:28:32 <ehirdiphone> I like the idea of your foot being far away.
23:28:45 <oklopol> my feet taste like pee
23:28:53 <oklopol> i should go to sleep
23:28:59 <ehirdiphone> thanks oklopol
23:29:03 <zzo38> I don't want to eat your foot either because you probably need your foot for walking
23:29:03 <oklopol> :D
23:29:04 <ehirdiphone> nice to know
23:29:11 <oklopol> that was a lie, actually
23:29:21 <oklopol> why would they taste like pee
23:29:25 <ehirdiphone> zzo38: thought you said wanking, was a bit confused
23:29:40 <oklopol> that might need some flexibility
23:30:02 <oklopol> or hmm i guess not
23:30:04 <ehirdiphone> I use my to masturbate!
23:30:08 <ehirdiphone> *spine
23:30:52 <oklopol> 4 hours 30 minutes sleep time left
23:30:52 <zzo38> I don't care about masturbate. But I need to walk and write and so on
23:31:19 <oklopol> those are important things
23:31:42 <oklopol> i think they are both more important than masturbation
23:31:50 <ehirdiphone> oklopol: sex or the ability to walk??
23:31:55 <ehirdiphone> answer quickly
23:31:56 <oklopol> writing slightly more important than walking i think
23:32:00 <oklopol> :D
23:32:03 <oklopol> i can't answer that quickly
23:32:10 <oklopol> sex probably
23:32:17 <ehirdiphone> Good to know
23:32:21 <oklopol> yeah
23:32:27 <zzo38> Depends on people. Different people have different opinion and it has to be that way
23:32:38 <ehirdiphone> I'll saw off your legs then oklopol
23:32:41 <oklopol> yeah
23:32:44 <oklopol> i got it
23:32:49 <ehirdiphone> If not I would kill your gf so yeah
23:32:53 <ehirdiphone> See you there
23:32:54 <oklopol> oh
23:32:59 <oklopol> i thought you'd saw off my dick
23:33:08 <oklopol> i mean i can always get a new gf
23:33:13 <oklopol> but i can't get a new dick
23:33:13 <ehirdiphone> you could turn gay
23:33:18 <oklopol> oh
23:33:19 <oklopol> true
23:33:19 <ehirdiphone> and bottom
23:33:22 <oklopol> yeah
23:33:28 <ehirdiphone> Or strapon
23:33:46 <ehirdiphone> oklopol: Ill just saw off your entire genital area
23:33:57 <ehirdiphone> then superglue the legs back on
23:34:01 <oklopol> hmm
23:34:08 <ehirdiphone> enjoy your colostomy
23:34:38 <oklopol> well my granpa died of colon cancer or something so maybe it would be safer that way?
23:35:10 <ehirdiphone> oklopol: I could just cut off your balls
23:35:21 <ehirdiphone> No testosterone, no sex drivw
23:35:29 <ehirdiphone> *drive
23:35:59 -!- pikhq has joined.
23:36:18 <ehirdiphone> Hi pikhq weve been talkijg abiut castration
23:36:34 <oklopol> i don't think that's how it works
23:36:46 <ehirdiphone> Or does it!???????
23:36:51 <ehirdiphone> 12345567890
23:36:52 <zzo38> pikhq: Perhaps you can read log file and then you will know
23:37:02 <zzo38> Why did you write 5 twice?
23:37:03 <ehirdiphone> spot the wrong
23:37:12 * oklopol spotted
23:37:19 <oklopol> it's the 0
23:37:21 <ehirdiphone> you spot tjhe wrong! Yay jx
23:37:22 <oklopol> it should be in the beginning
23:37:30 <ehirdiphone> oklopol: NO I UAE KEY BIARS
23:37:40 <ehirdiphone> If has fhe numbras thus manner
23:37:53 <ehirdiphone> 12374(6890
23:38:07 <oklopol> well now that looks even more weirder.
23:38:14 <oklopol> lol seriously i have to go
23:38:20 <zzo38> GO
23:38:22 <oklopol> things are making less and less sense
23:38:26 <ehirdiphone> 01928374()!!?.£i882
23:38:31 <oklopol> could someone define something first tho?
23:38:32 <zzo38> PLEASE GO
23:38:33 <ehirdiphone> Gyat is correkf order
23:38:42 <ehirdiphone> oklopol: Defibe. Xhixjeboiz
23:38:48 <ehirdiphone> Just define chichkenpoz
23:38:50 <ehirdiphone> Pox
23:38:54 <ehirdiphone> Jees oklopol
23:38:57 <zzo38> YOU HAVE TO "OAIJWEG9MPAJ4WTMPOI4JTLZSV0I0JH4T" AT FIRST
23:39:03 <ehirdiphone> Shats tiur anti face
23:39:04 -!- relet has left (?).
23:39:28 <oklopol> you're BAD friends.
23:39:30 <oklopol> ->
23:39:41 <ehirdiphone> zzo38: Aditionsly I agree but what I'd we dud open up the universpectrummy
23:39:49 <oklopol> (j/k <3 u)
23:40:09 <zzo38> ehirdiphone: I don't know.
23:43:38 -!- zzo38 has quit (Quit: I quit.).
23:58:56 <ehirdiphone> Ggg
23:59:49 <ehirdiphone> Night, bye
23:59:54 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
←2010-05 2010-06 2010-07→ ↑2010 ↑all