00:00:32 There's a log of everyone who's walked off the edge of the world 00:00:36 I'm emailing it to myse 00:00:37 f 00:00:48 oh that sucicide 00:00:50 that's only temporary 00:00:52 *suicide 00:01:12 night 00:01:14 The first suicide was Tue Apr 19 00:43:48 1994 PDT 00:01:17 Night AnMaster 00:01:22 -!- uorygl has quit (Ping timeout: 248 seconds). 00:01:28 The last was... this month 00:01:43 Ok, Alec is addicted to walking off the edge of the world 00:01:53 xD 00:02:11 -!- oerjan has quit (Quit: What's beyond this edge... AAAAAAAAAAAAAAAAAAAAAAAAA). 00:02:33 http://pastie.org/986515 00:04:10 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 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 I'm going to do something unprecedented. 00:11:23 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 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 what 00:17:22 did you suicide :P 00:17:59 No, just read the source 00:18:20 -!- uorygl has joined. 00:18:40 I should be able to make a simulation 00:19:56 If you don't delete your mail, you can't walk off the edge 00:21:09 lol 00:22:53 Awesome. There is a pistol for Russian Roulette 00:23:03 Shooting it can newt you for 1-6 days 00:29:52 pikhq_: how likely do you think it is for a track title to have a tab in it? 00:31:05 alise: Not particularly. 00:31:41 -!- uorygl has quit (Ping timeout: 260 seconds). 00:31:58 pikhq_: Hmm... but if I'm supporting arbitrary Vorbis* metadata... 00:32:02 *Yes, it's actually Vorbis-specific. 00:32:06 So much for the Ogg container. 00:33:17 -!- uorygl has joined. 00:33:31 pikhq_: Oh, I know! I'll use XML! 00:33:39 alise: I thought that metadata was stuck in an Ogg Text stream? 00:33:45 *ugh* 00:33:57 Apparently not 00:34:03 Also, now I have two problems! (I'm not actually using XML) 00:34:36 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 FUN FUN FUCK ME IN THE ASS! 00:34:45 I hate software 00:34:58 alise: So: Ogg sucks. 00:35:09 Yep. It's a container that... just contains. Literally. Nothing else. 00:35:22 Urgh; that's such a pain. 00:35:37 And if only Matroska didn't have an obsession with XML. 00:35:55 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 MY GOD, LIMITED TO 4.3 BILLION BYTES. 00:36:27 pikhq_: I didn't know Matroshka used XML. It's always worked well for me. 00:36:36 We should all use Matroshka. 00:36:58 Actually, this makes me wonder why there aren't any good standardised command-with-binary-arguments specs. 00:37:01 What about WebM? 00:37:03 ASN.1 does that doesn't it? Ew. 00:37:10 Sgeo_: no. 00:37:22 it only contains vp8 and vorbis. and is a sideset of matroshka 00:37:27 it's an insane subset of matroshka, with its own shit! yay! 00:37:32 I AM SO HAPPY. 00:37:45 alise: It's some binary XML... Thing. 00:39:23 -!- uorygl has quit (Ping timeout: 258 seconds). 00:39:47 x := ! "\1";; msg := x {"\1" x}+ "\r\n";; 00:39:57 xs should be preprocessed afterwards 00:40:00 to replace: 00:40:08 \2\2 with a \1 00:40:12 and \2\3 with a \2 00:40:14 Tada. 00:40:19 -!- uorygl has joined. 00:41:59 Although \2 is kind of ugly. 00:42:06 But then \255 is more common, isn't it? 00:42:09 UTF-8 and all. 00:42:22 pikhq_: I'd just use \0, but ... C. 00:43:10 "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 Who needs documentation. 00:48:05 pikhq_: PUKE! xmms2 uses glib! 00:48:14 I think I died. I'm outside the Pearly Gates 00:48:41 It is my DUTY to create something betts! 00:48:46 *better than this 00:50:51 Happy June! 00:50:56 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 uorygl, join LambdaMOO 00:57:40 Hmm, it seems that I am in need of a tag-processing library. 00:57:42 Call it graffiti. 00:58:12 We could make an esotericers's hangout 00:58:17 A BF machine 01:01:45 alise: glib! AAARGHTHATMUSTDIEDIEDIEDIEDIEDIEDIE 01:01:46 ALSODIE 01:02:09 pikhq_: Don't you like the soft feeling of a GObject class with all its furry little fields? 01:02:20 And those in-code declarations of it... aren't they wonderful?... 01:02:28 Okay, so it doesn't actually seem to define classes itself. But still! 01:02:41 Aand immediate problem reached; build systems suck. 01:02:44 alise: Oh the boilerplate! 01:03:03 And yes, build systems are universally awful. 01:03:17 SCons is definitely waful... 01:03:25 -!- cheater99 has joined. 01:03:28 CMake is most definitely awful... Oh, what's that one I'm thinking of... 01:03:29 *awful 01:03:36 That makepp thing is probably awful... 01:03:37 *Autotools*. 01:04:01 pikhq_: NO. 01:04:08 Please suffer. 01:04:16 I will not use Autotools. 01:04:31 pikhq_: Or was that not a suggestion? 01:07:18 -!- pikhq has joined. 01:07:22 *Autotools*. 01:07:22 pikhq_: NO. 01:07:23 Please suffer. 01:07:23 I will not use Autotools. 01:07:23 pikhq_: Or was that not a suggestion? 01:08:59 -!- uorygl has quit (Ping timeout: 276 seconds). 01:09:02 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 alise: That was an example of a truly awful build system. 01:11:36 Yes. 01:11:39 I think I'll just use http://en.wikipedia.org/wiki/Waf 01:11:46 I've seen others use it and the example looks not-abhorrent 01:12:20 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 So, yay? 01:12:57 alise: I get the feeling that a package maintainer will develop hatred for that. 01:13:07 pikhq: You don't edit that. 01:13:09 You edit the wscript file. 01:13:15 Not because Waf itself is abhorrent but becaust some idiot *will* invariably edit it and make it abhorrent. 01:13:22 *because 01:13:31 pikhq: You mean... someone will edit... the bundled waf? 01:13:38 pikhq: Well fuck, I'm not going to do that. 01:13:43 I'd have to be retarded to do that. 01:14:00 But anyway, it automatically does out-of-tree builds and seems to be structured well, so ++ 01:14:41 uorygl, login? 01:14:42 -!- uorygl has quit (Ping timeout: 252 seconds). 01:14:55 -!- mibygl has joined. 01:15:02 Sgeo_: I'm afraid I'm currently a bit jaded from nomics and their brethren for the moment. Ask again tomorrow. 01:15:14 def set_options(ctx): 01:15:14 ctx.add_option('--foo', action='store', default=False, help='Silly test') 01:15:14 def configure(ctx): 01:15:14 print('→ the value of foo is %r' % Options.options.foo) 01:15:16 How... sane. 01:15:24 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 I've barely looked at Agora in a longish time. 01:16:09 -!- pikhq_ has joined. 01:16:19 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 So, jading. 01:18:00 -!- pikhq has quit (Ping timeout: 260 seconds). 01:18:48 pikhq_: As a sysadmin, can you answer?: What do people have against using globs for c files in build systems? 01:18:54 C files aren't just going to magically appear there. 01:19:40 alise: No clue. 01:20:03 It's perfectly acceptable to sysadmins for such a glob to be there. 01:20:12 source = bld.path.ant_glob('**/*.c'), 01:20:18 I hope that 'ant' doesn't mean "ant build system". 01:20:23 Although I don't know why I hope that, as it's just a globbing function. 01:22:33 alise hello 01:22:36 * cheater99 waves 01:23:17 hello. 01:23:28 -!- pikhq has joined. 01:23:55 how r u? 01:24:04 Irritated. 01:24:13 Absolutely irritated. 01:24:47 -!- pikhq_ has quit (Ping timeout: 260 seconds). 01:25:35 not you 01:25:40 i don't care about you pikhq 01:25:43 i was asking alise 01:27:57 ok seriously shut up 01:28:12 :P 01:40:34 -!- CakeProp1et has quit (Quit: Lost terminal). 01:42:34 pikhq: Okay, waf is starting to annoy me. XD 01:43:01 [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 "This explanation is pretty boring so I'm going to spice it up with inappropriate swearing. 01:45:01 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 derground skank river far below. 01:45:01 Here's a mother fucking diagram." 01:45:42 XD 01:55:40 OKAY #WAF IS DEAD THIS IRRITATES ME. 01:55:43 pikhq: Suggest me a build system 01:56:41 alise: Make it a single C file. 01:57:11 pikhq: Like SQLite! 02:00:09 -!- calamari has quit (Quit: Leaving). 02:00:13 G O D! 02:00:29 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 build-root: build 02:01:38 c-program { 02:01:38 sources: **/*.c 02:01:38 target: belial 02:01:38 cflags: -Wall -Wextra 02:01:38 release { cflags: -O2 } 02:01:41 debug { cflags: -g } 02:01:42 } 02:03:35 pikhq: Please tell me to have the strength not to proliferate another build system. 02:04:03 alise: Have the strength to instead obsolete all languages that require nontrivial build systems. 02:04:19 pikhq: Oh, I've already that. But C is the best thing for this, unfortunately. 02:09:37 pikhq: But... it is a bad idea right? 02:10:15 alise, I made a simulation of the edge of the world 02:10:27 "It's not perfect... it will allow you to walk off even if you have mail 02:10:39 "Hm, MOO habits are starting to get to me 02:13:39 -!- Oranjer has joined. 02:24:16 pikhq: How queer; xmms always builds without optimisations. 02:24:24 In fact, it uses -O0 -g. 02:24:25 Always. 02:25:38 alise: That's... Awful. 02:26:46 pikhq: I think because it's "developmental software" etc. 02:27:27 I want LLVM to get a native -> IR disassembler so that it can optimize anything 02:27:46 What's wrong with -O0 -g? 02:27:53 Sgeo_: Slow and big. 02:28:07 "Any reason? 02:28:39 No optimisations done, debugging info. 02:28:41 Any questions? 02:28:53 you can at least strip it 02:29:46 Still big. 02:29:47 "I meant, why does it build with those options? 02:30:02 There's a lot of *ridiculously* simple stuff GCC doesn't do on -O0. 02:30:03 coppro: so what build system do YOU use. 02:30:06 Sgeo_: stop doing that " thing. 02:30:15 Sgeo_: and because they couldn't figure out how to make waf work either i guess :P 02:30:16 :wonders why it's angering alise 02:30:21 BECAUSE THIS IS IRC. 02:30:40 For instance, each and every memory access involves a load and a write. 02:30:41 alise: Whatever the project uses 02:30:43 The first time, it really was an accident 02:31:03 waf? 02:31:36 coppro: if you start a project? 02:32:58 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 ha 02:33:19 i'm only doing this first so it doesn't come back to bite me in the ass 02:33:41 maybe i will just use coadjute 02:33:42 Deewiant! 02:33:43 When I need one, I pick randomly whichever one seems least bad to me at the time, currently Scons 02:33:48 is that advisable? 02:33:53 coppro: scons is unmaintained basically 02:34:11 close, but not quite 02:34:24 It's also comparable with jabbing forks in the eye. 02:34:42 pikhq: Oh? 02:34:44 compared to what? CMake? 02:35:00 alise: Scons is not a build system. 02:35:10 It is a library with which one can write a build system. 02:35:22 I half agree 02:35:26 pikhq: indeed 02:35:34 And it's not even a good library. 02:35:45 I'm almost considering http://omake.metaprl.org/index.html now 02:35:51 It's a purely-functional language and 02:35:52 "Often, a configuration file is as simple as a single line 02:35:52 .DEFAULT: $(CProgram prog, foo bar baz) 02:35:52 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 is giving me false hope. 02:36:01 But seriously, Coadjute is ... good. 02:36:09 I just need assurance for Deewiant that it's good for C :P 02:36:15 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 "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 That's misleading, kind of 02:36:32 ("With support for: [...] Haskell!") 02:36:34 sounds like SQL 02:37:06 Can someone explain Sgeo's cow obssession? 02:37:13 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 So in reality, object IDs are reused 02:37:39 coppro: cow? 02:37:43 moo 02:37:49 lulz. 02:38:07 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 why 02:39:46 this is so depressing 02:40:20 alise: because they have a ridiculous number of variables to cope with 02:40:29 Scons is an excellent example of the why 02:40:31 I JUST WANT TO BUILD A C PROGRAM. 02:40:47 then Scons will possibly do 02:40:54 so will CMake 02:40:56 or autotools 02:41:00 pikhq: Sysadmin! Why is scons shit for you? 02:41:05 coppro: haha have you ever used cmake 02:41:08 (or autotools) 02:41:24 alise: Yes. They are in fact capable of building things... not much else, though. 02:41:51 although really, the same could arguably said of Scons 02:42:15 cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment 02:42:31 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 me, you mean 02:42:46 yes 02:42:49 err, sorry, she 02:42:54 lol :P 02:42:58 I would also have accepted "it" 02:43:02 alise: It is *absolutely awful* to automate. Absolutely *awful*. 02:43:08 coppro: I was expecting "they're" 02:43:10 `addquote cmake is a nuclear powered waffle iron powered by a burning-hot testicle attachment and it burns one of the waffles and doesn't touch the other. 02:43:11 erm 02:43:13 coppro: I was expecting "you're" 02:43:18 coppro: HackEgo is broken 02:43:23 alise: third person with /me 02:43:27 ok so explanation: 02:43:29 No output. 02:43:31 At the very least cmake and autotools can be scripted. 02:43:33 pikhq: Why? 02:43:39 (genuinely curious) 02:43:45 (a) nuclear powered waffle iron -- it's meant to build programs. Instead, it's a full-blown, shitty programming language 02:44:00 (b) Powered by a burning-hot testicle attachment -- EDITING CMAKELISTS.TXT MAKES ME WANT TO KILL THINGS 02:44:14 (c) and it burns ... -- it's really hard to get it to work and you have to hack it a ton. 02:44:34 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 pikhq: Ah, yeah. 02:45:01 You just have to *hope* that the bastard who used scons was so kind as to *write configuration logic*. 02:45:02 that bit's always dumbfounded me 02:45:11 on the plus side, the cache is epic 02:45:33 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 That bit makes sysadmins WANT TO KILL YOU FLAY YOU AND PRESERVE THE SKIN AS WARNING TO OTHER DEVELOPERS. 02:45:38 It is THAT. FUCKING. BAD. 02:47:01 (seriously - no copying costs? YES PLEASE) 02:48:04 pikhq: What's best for you apart from autotools? 02:48:31 and the cache is an absolute godsend if you have generated headers included by everything 02:48:50 alise: Well-written makefile. 02:49:04 pikhq: Mm. 02:49:15 pikhq: It's just that for a *developer* that's the worst solution :-) 02:49:19 A poorly-written one makes me kill people. A well-written one means I hit make and all's well. 02:49:19 ...Second best? 02:49:33 I'm not sure. 02:49:41 A well-written makefile is usually pretty awesome, until you try to move outside its problem domain 02:49:56 "Autoscons - An Autotools replacement for SCons" 02:50:04 You just have to *hope* that the bastard who used make was so kind as to *write configuration logic*. 02:50:25 coppro: Except that's actually the default. 02:50:54 It takes *extra work* to make it not handle CFLAGS and CC. 02:51:22 gcc -Wall -Wextra foo.c main.c -o result ? 02:51:49 cat Makefile -- foo: foo.o bar.o 02:51:53 make -- builds it 02:52:03 make CC=... CFLAGS=... LDFLAGS=... CPPFLAGS=... -- builds it 02:52:48 coppro: Do you actually do that in make? 02:52:58 http://miller.emu.id.au/pmiller/software/cook/ This looks tempting. pikhq hates me now 02:53:08 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 alise: cook? I recall nice things about it. 02:53:23 coppro: Make uses a lot of magic that you don't know about. 02:53:24 pikhq: Except that Nobody Has It :-) 02:53:30 coppro: default rules 02:53:33 alise: Yes, that's the only bad thing. :P 02:53:36 coppro: welcome to 80s 02:53:59 coppro: Write that as: result: foo.o main.o 02:54:04 ah, ok 02:54:17 so yeah, well-written then 02:57:53 Query: What is release/debug enum? Build type? Build kind? Something one-word. 02:58:08 I've heard variant 02:58:33 there was another term though 02:58:35 um... 02:59:47 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 The second biggest thing is *not being freaking broken*. 03:00:04 Note that integers and floating-point numbers are never equal to one another, even in the `obvious' cases. 03:00:06 I absolutely hate having to *rewrite* a build system. 03:00:10 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 (said Perl build-system didn't work) 03:00:37 wtf 03:00:39 interactive? 03:00:46 Yes. *Interactive*. 03:01:10 This was for a package that included, in effect, its own OS. Because it was older than UNIX and later ported. 03:01:29 I still have nightmares. 03:01:34 and had a *Perl* build system? 03:01:39 Yes. 03:01:48 It's still maintained. 03:01:56 By idiots, but still maintained. 03:04:05 Name the perps. 03:04:09 IRAF. 03:04:22 Some university; don't recall who did it. 03:04:35 It was originally proprietary, made GPL later. 03:04:47 I've found that what's absolutely *worst* is proprietary software that gets an open release. 03:05:10 Proprietary software tends to suffer from truly massive NIH syndrome. 03:05:22 For instance, there's Second Life. 03:05:26 Conversely, the best in my experience is open-source stuff with significant corporate backying 03:05:27 *backing 03:05:28 Which includes its own copy of the STL. 03:05:31 (written poorly) 03:05:36 coppro: Also agreed. 03:06:06 Because they have every incentive to do it right. 03:06:41 I think MOO was inspired by Perl 03:06:51 {first, second, ?third = 0} = args; 03:06:58 However, that doesn't seem to do anything about GCC. 03:07:33 There is no excuse for its build system. 03:07:36 And Mozilla. 03:07:37 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 *shudder* 03:07:40 Mozilla. 03:08:06 They recently approved C++ for use... can you say clusterfuck? 03:08:20 coppro: Most GNU stuff has painful code, but it's at least got a reasonably automatible build system. 03:08:27 GCC is the exception. 03:08:42 It works differently than everything else for no good reason. 03:09:26 (of course, if you look into the details, autotools is awful, but it's at least easy on the surface.) 03:09:32 FUCK THIS SHIT 03:09:41 alise: ? 03:09:42 KILL ME 03:09:45 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 FUCKING BUILD SYSTEMS 03:10:09 coppro: First: not really. Second: it doesn't have to bootstrap itself. 03:10:24 Fuckin' 3am, fuckin' have to get up at 9am, fuckin' A 03:10:30 6 hours of sleep 03:10:33 fuckin' AAAAA++++++ 03:10:35 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 coppro: Still, it shouldn't be hard to at least make a *sane* build system for that. 03:11:08 that's true 03:11:20 fuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfuckfucikfuckfuckfuckfuckfuck 03:11:20 Even if it is custom, you can at least not make it incomprehensible. 03:11:28 Wow, that's a surprisingly low rate of fuckerrors. 03:11:34 Only one error; an "i". 03:11:48 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 alise: stop complaining about errors and go to sleep 03:12:33 Of course, GCC should build on targets that Python doesn't run on. 03:12:45 coppro: FUCK YOU I JUST WANT A BUILD SYSTEM :'( 03:13:01 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 "Waf: a pleasant build system" 03:13:10 HAHAHAHAHA 03:13:20 coppro: scons does. 03:13:31 WAF IS LIKE A GIGANTIC SANITY-VIOLATING COCK 03:13:31 ah, yeah :) 03:13:33 -!- coppro has left (?). 03:13:37 -!- coppro has joined. 03:13:49 alise: Sounds like you've become a sysadmin. 03:13:50 :P 03:13:56 let that go down in history as my official anti-endorsement 03:14:07 Or at least very very depressed. 03:14:09 "Makefile are not modular. Recursive Make is especially evil." 03:14:12 It should be "Makefiles". 03:14:14 You fail at grammar. 03:14:22 Not only are your opinions worthless, so is your English. 03:14:26 You should die in a fire now. 03:14:57 "The execution model just makes sense to me." 03:15:03 You dying JUST MAKES SENSE to me. Like, now. In a fire. 03:15:08 "Progress indication and colored output is built in, not an after thought. Like SCons, Waf build files are regular Python files." 03:15:13 Hooray, coloured fucking output 03:15:19 "Waf is fast. Faster than SCons." 03:15:24 Unlike your death which will be painfully slow 03:16:56 hahaha kill me 03:17:02 i must sleep soon, but first painful agonising death 03:17:44 we should make a fortunes database from alise 03:17:52 it's called `quote 03:18:11 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 "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 STOP PUTTING A CONSONANT BEFORE "AKEFILE" 03:19:22 IT HAS STOPPED BEING AMUSING 03:19:23 a) `quote isn't working b) I can't do 'fortune alise' with quote 03:19:26 IN FACT, EVEN "AKEFILE" WOULD BE BETTER 03:19:37 Iakefile 03:19:42 alise: !AKEFILE? 03:19:48 (yes, that's a click) 03:19:49 Or perhaps "yourmotherhascancerandyourfatherdiedofaidsandalsoyouaregoingtodieverysooninanonspontaneouscombustion". 03:19:53 File. 03:20:08 "Bakefile's task is to generate native makefiles," 03:20:09 Racist fuck. 03:20:22 OH! It's XML! 03:20:25 I feel HAPPY! 03:21:04 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 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 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 I wonder if it's SHIT or not. 03:21:21 I bet it's shit. 03:21:30 All this because C is too shitty to handle the equivalent of "ghc --make" 03:21:34 (which I love) 03:21:58 It feels like a gigantic cock transmitted through my speakers is penetrating my forehead with hatred 03:22:05 And not in a good way, either 03:23:14 Oh! Look! Linbuild is just like waf except it violates Python coding conventions. 03:23:46 We should organize a #esoteric coding marathon 03:23:50 where we each pick a program the world needs 03:23:52 and code it 03:23:59 Good idea. Let's make it last 10 years. 03:24:07 no, that won't get done 03:24:13 -!- augur has joined. 03:24:14 But we won't make it good otherwise. 03:25:18 pikhq: oh i know what's gone wrong 03:25:20 I named it belial 03:25:22 duh 03:25:24 obvious curse 03:25:32 alise: Ah, no wonder. 03:25:46 alise: Hmm. mk? 03:26:05 target belial 03:26:05 cc **/*.c 03:26:05 cc.flags := [-Wall -Wextra] 03:26:05 (variant = "debug") => cc.flags += -g 03:26:05 (variant = "release") => cc.flags += -O2 03:26:12 whoops look at that i just made a non-shitty build system 03:26:17 I hear that's not permissible 03:26:18 Whoops. 03:26:54 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 *privoso. s? 03:27:24 bundled with its file 03:27:25 err i mean like 03:27:27 bundled with the project 03:27:48 alise: Praise be unto the idea. 03:28:13 Pity you are short on time to write code ATM. 03:28:17 Amen, amen, oh!, amen. Thank you Lord. 03:28:24 Ah! But I return the next after-noon. 03:28:33 And then the day after, it is a most wondrous day: for that is a day free of obligations. 03:28:33 Alas! 03:28:41 Isn't "Alas!" negative, sir?! 03:28:52 -!- Gracenotes has quit (Ping timeout: 240 seconds). 03:28:54 Oh! I am sorry! my existence displeases you. 03:28:58 I will shoot myself now. 03:29:12 Nay, it be both positive and negative, bearing 'pon context, my good sir. 03:30:11 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 Indeed; indeed. 03:31:57 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 Sgeo_! It is time. 03:32:27 alise, :( bye 03:32:36 alise: Such a request, indeed, I can grant. 03:32:36 Sgeo_: here, you can have the job 03:32:39 oh 03:32:40 okay then 03:32:40 :D 03:32:41 :P 03:32:41 bye 03:33:07 And may you have luck in that land with the shadow of Death upon ye! 03:33:17 Hope you didn't spend the day not working at moving 03:33:49 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 Ok, I'm going to consider LambdaMOO insecure 04:23:38 just now? 04:59:48 -!- augur has joined. 06:14:00 -!- sshc has quit (Quit: leaving). 06:22:07 Sgeo_: What's so insecure about it? 06:22:28 Ilari_antrcomp, I was able to make an object that didn't have #1 as an ancestor 06:22:54 If someone tries looking at it, they'll just get an error 06:23:56 how's that insecure? 06:25:03 I could put it in a public place and it would prevent anyone from seeing anything ther 06:25:05 *there 06:25:11 oh 06:25:17 Well, I thin 06:25:20 *think 06:26:42 And it's difficult to destroy 06:27:07 But not impossible 06:27:16 I hope I'm not screwing up the $recycler somehow 06:27:28 Because things that go there don't actually get destroyed, just reparented 06:27:45 Ok, it's now $garbage 06:47:55 -!- Maelstromg has joined. 06:55:34 -!- Maelstromg has left (?). 06:58:54 wtf 06:58:58 why does HTTP stop at midnight 06:59:24 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 oerjan! 08:46:34 * oerjan hides 08:46:51 DON'T SHOUT AT ME oh wait 08:47:45 I wasn't shouting... 08:48:35 i distinctly noted an exclamation mark 08:49:08 That's not the same as shouting. 08:49:44 And anyway, I always do that when people enter. 08:49:46 YOU'RE NOT FOOLING ME!!!!!!!!!!1111111ELEVEN 08:51:52 I'm just jealous of your topology skills. 08:52:03 *MWAHAHAHAHA* 08:52:13 (shouting is mandatory in this situation) 08:54:42 LambdaMOO's housekeeper is dead 08:56:11 why does HTTP stop at midnight <-- clearly you have the cinderella option 09:00:19 Sgeo_: Do you always go on about dying virtual worlds? 09:00:45 Phantom_Hoover, Second Life isn't widely considered to be dying 09:01:10 But you don't go on about it. 09:02:50 I do when I'm interested in it 09:03:32 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 !haskell log 8/log 10 09:17:14 0.9030899869919434 09:21:00 * Sgeo_ needs to get up at an unknown time, so I should NOT still be up 09:21:11 Despite how much good I may be doing for LambdaMOO 09:26:53 Eeep, there's a petition to shut down LambdaMOO 09:28:19 Set up a counterpetition. 09:28:30 Threaten those who sign it. 09:28:35 Do whatever it takes. 09:29:55 There are currently no signers 09:32:29 Then intimidate the person who started it!! 09:32:42 Intimidate *someone*, dammit. 09:35:18 It seems to be from 1999 or so 09:39:15 "I think we need to be proactive and bomb the hell out of the houses of everyone who signed #100000" 09:43:24 !haskell log 10 09:43:25 2.302585092994046 09:43:30 !haskell log E 09:43:44 !haskell log (exp 1) 09:43:45 1.0 09:43:47 foh right 09:43:55 thanks :) 09:44:03 Please to be removing your dumb ballot to free quota for my Love Dungeon with Clapper(r) activated nipple electrodes. 09:44:08 !haskell pi -- on the other hand 09:44:10 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 !haskell pi - 0.141592653589793 10:16:48 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 aargh... an increment of 1 on the rotation sensor is equal to 65/216 degrees. 10:50:44 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 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 Ugh. It isn't even milliradians? 10:57:11 Ilari, actually it is 16 / whole rotation of rotation sensor 10:57:26 Ilari, but I was measuring wrt the turn table 10:57:30 which this thing is connected to 10:58:14 At least one tank had main turret rotation scale in milliradians... 10:58:22 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 and well you selections are somewhat limited when it comes to gear ratio there 10:59:00 Ilari, and yeah this is quite far from a tank :P 11:00:12 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 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 Ilari, what? 11:02:55 well yeah requires fitting gears. 11:04:22 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 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 I have to use counter weights anyway 11:06:08 90 degree angles tend to be weak point. Adding short 45 degree support beams improves things a lot. 11:06:44 Ilari, you mean at the base? it has enough area to not be able to tip over even at extreme imbalance. 11:07:28 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 (depends on adjustment, the whole thing can be adjusted for different lenses, since the no-parallax point will differ 11:08:02 ) 11:09:25 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 Ilari, are you talking about something completely different from me? As this seems to not apply here at all. 11:10:23 as in, lego 11:10:43 oh wait you don't know the design 11:10:44 hm 11:10:55 should take a photo, not that it is completely finished yet 11:11:17 Does the point where axis connects to table top need reinforcement? 11:11:37 Ilari, axis as in turn table center? 11:11:44 Yes. 11:12:05 well yes it is quite reinforced. Thankfully there are no "active" things to route through there 11:12:33 the base is just a sturdy base, all the motors and such is in the turning bit above 11:13:25 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 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 Ilari, let me find a picture of the lego turn table used as the core of it 11:14:16 argh peeron has it as two parts 11:14:24 also peeron is loading very slowly today 11:15:14 Ilari, http://media.peeron.com/ldraw/images/47/2856.png and http://media.peeron.com/ldraw/images/47/2855.png 11:15:27 those are in reality joined together quite well 11:15:42 never been able to take them apart 11:15:48 (they came in the box as one part) 11:16:13 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 so the center doesn't take the whole load 11:16:40 (in my design that is) 11:17:09 Ah, wheels... That's one way to reinforce it. 11:18:04 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 BTW: Merry-go-round with magnetic bearings might be quite wild ("unsafe"). :-) 11:18:50 Ilari, it does however not break without those. So for purely mechanical reasons that turn table is enough 11:19:00 Ilari, heh? 11:20:12 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 :) 11:20:18 And if one wants something truly insane, use electromagnetic levitation with capability to have rotating EM wave. 11:20:51 Ilari, don't forget to put up a warning sign about "do not take any pacemakers or harddrives on this ride" 11:24:51 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 hah 11:26:48 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 Why are we talking about rotating EM waves? 11:27:23 Ilari, would humans survive this speed anyway? 11:27:29 Phantom_Hoover, I have no clue 11:27:51 With that kind of acceleration, they would fly off... 11:28:23 Ilari, strapped in? That is common on fast amusement rides 11:28:43 Merry-go-round? Those aren't usually strapped... 11:28:58 Ilari, true but your one would require it 11:29:30 Those numbers were just example. Obiviously 5G is far too extreme. 11:29:49 ah 11:30:25 Ilari, so how did we get from lego technic turn tables to merry-go-round with rotating EM waves? 11:30:29 I still haven't figured out 11:30:42 Both turn? :-> 11:31:05 hm okay 11:32:59 Those aren't the only "turned to 11" versions of common playground objects... Large teflon-coated slides anyone? :-> :-> 11:33:35 (preferably painted white if possible without compromising slipperyness). :-> 11:33:47 Ilari, why white 11:34:22 the only reason I can think of is heat. And that would need extreme speeds 11:34:34 plus I'm not sure it applies to sliding on ground 11:34:56 Solar heating. Metal slides tend to really heat up in sunshine. 11:35:09 it is however the reason why concorde were mostly white (excluding logo, which was restricted in size due to heat reasons) 11:36:47 Swing with solid support rods axled to top beam... :-) 11:37:32 Ilari, uh uh 11:37:47 Ilari, you still won't get the required speed manually 11:37:53 you would need a powered swing 11:38:39 and that would require something other than chain for suspending the swing from the beam 11:38:44 something solid 11:39:04 Resonant pumping can bulid great amplitudes. Normally chain bending restricts it. 11:39:41 Ilari, so manual start and then powered rotation of the chain mount? 11:39:58 since without a decent initial speed it would just spool up the chain in that case 11:40:01 like a which or such 11:40:04 I don't know if powered rotation is even necressary there. 11:40:24 Ilari, you couldn't get it to rotate 360° otherwise 11:40:38 and that is the goal right? To turn it into a centrifuge 11:40:53 hm I suspect you would need a counter weight 11:41:03 so yeah, solid suspension is probably required 11:42:23 What is maximum swing angle of ordinary swing? Something like 150 degrees? 11:42:43 Ilari, I have no idea 11:43:17 * Phantom_Hoover wonders if any branches of mathematics have ever been proven inconsistent. 11:43:31 (Answers on a postcard) 11:44:06 eh? 11:44:08 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 Phantom_Hoover, oh, read it as "comics on a postcard" somehow 11:44:23 *might allow 11:45:38 Ilari, with solid beams you can use an external engine anyway 11:45:49 strapping yourself in is recommended for safety reasons 11:45:53 probably a back rest too 11:47:14 Back is surpisingly weak. I almost once really hurt my back when rollerskating by doing too sharp turn... 11:49:09 I once saw large swing (meant for lots of people at once) that reportedly rotate 360 degrees... 11:50:02 *could rotate 11:50:56 huh 11:50:59 where? 11:51:41 Some place near where I live... 11:53:03 It was built of wood... 11:54:20 -!- Tritonio_GR has joined. 11:56:56 Ilari, huh. Any photo? 11:57:04 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 12:00:36 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 Ilari, oh btw, that microcontroller I'm using have: http://sprunge.us/GJNG 13:11:02 hm should test float and double 13:11:07 would be emulated anyway 13:14:07 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 /o/ 14:27:21 | 14:27:21 /`\ 14:32:17 -!- MigoMipo has joined. 14:40:26 hm 14:40:36 I have a variant of the 4 colour problem here 14:40:47 which I'm not sure what the answer is to 14:40:50 basically: 14:42:54 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 the whole plane would be rectangular 14:44:23 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 Seems like two separate problems to me 14:50:18 First solve the coverage issue and then colour the resulting graph 14:50:46 probably 14:51:01 Deewiant, wonder what sort of placing would give minimal overlap 14:52:03 (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 (Or a class of problems, I guess) 14:52:39 Deewiant, and then, is the "minmal area with any overlap" solution also the one with least colours... 14:53:01 minimal overlap = zero, or the general case allowing some overlap? 14:53:18 relet, see the question above. Minimal overlap would not be zero here 14:53:27 you can't tile the plane with circles afaik 14:53:36 not without getting some space in between 14:53:50 ah, sorry. I misthought that as minimal non-covered area 14:54:49 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 if you see what I mean 14:54:54 AnMaster: Depends on the constraints on the circle size 14:55:13 If we can make one huge circle covering the whole thing, that's obviously optimal as far as colours go 14:55:15 Deewiant, well all circles have to have the same size, wasn't that given ? 14:55:26 Sure 14:55:33 yup. you can either go for optimal packing, and add smaller circles inbetween, or pessimal packing and add larger circles. 14:55:33 So hmm 14:55:43 hm 14:55:57 brb, need to help person with high fever... :( 14:55:59 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 (Unless your circle size is such that the circles degenerate into points: no overlap and 2-colourable) 14:56:54 Or wait, only overlaps must have the same colours, so 1-colourable 15:01:29 -!- myndzi\ has joined. 15:02:20 back 15:02:41 hm 15:02:42 -!- relet has quit (Quit: Leaving.). 15:04:23 -!- myndzi has quit (Ping timeout: 240 seconds). 15:05:08 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 "setting bit 2 (mask interrupts) to 1 will mask all interrupts except NMI". Seems like a quite reasonable statement eh? 15:06:23 now expand NMI 15:06:37 "setting bit 2 (mask interrupts) to 1 will mask all interrupts except non-maskable interrupts" 15:06:41 now that seems slightly silly 15:08:08 -!- rodgort has quit (Ping timeout: 240 seconds). 15:08:09 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 ORC, and XORC instructions)." 15:08:23 (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 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 oerjan! 16:42:49 PHANTOM_HOOVER 16:43:00 THERE'S NO NEED TO SHOUT! 16:43:23 How do you even pronounce "oerjan"? 16:43:56 ___ _ ___ 16:43:56 / _ \| |__|__ \ 16:43:56 | | | | '_ \ / / 16:43:56 | |_| | | | |_| 16:43:56 \___/|_| |_(_) 16:44:28 Wow, nice kerning. 16:44:41 figlet is cool 16:45:30 oerjan is pronounced like ørjan, naturally 16:45:59 And how is that pronounced? 16:46:11 just the way it is written >:) 16:46:13 -!- CakeProphet has joined. 16:46:26 ...weird 16:46:36 ircii looked completely different last time I used it 16:47:21 Have you tried turning it off and on again? 16:49:17 yeah 16:49:22 it's weird actually ircii wasn't installed 16:49:23 http://en.wikipedia.org/wiki/Norwegian_phonology 16:49:27 maybe I'm just crazy and hallucinated using it 16:50:35 oh... it was irssi maybe? 16:50:37 brb 16:50:39 -!- CakeProphet has quit (Client Quit). 16:51:18 Phantom_Hoover: [øɾjÉ‘n] or thereabouts I guess 16:51:24 Dammit, I didn't get a chance to ask him if he was sure that it was plugged in. 16:52:09 Deewiant: i _think_ the ø should be an oe ligature, according to that article 16:53:05 Hmm, I was looking at http://en.wikipedia.org/wiki/Norwegian_language#Vowels 16:53:39 yes i noticed they disagreed 16:53:59 But if that's what the short one is to be, then presumably yes 16:54:03 #Vowels doesn't distinguish short and long 16:54:05 -!- lament has quit (Ping timeout: 265 seconds). 16:54:11 It doesn't mention Å“ at all 16:54:26 Which is why I didn't look into it any further :-P 16:54:41 But yeah, I guess /œɾjÉ‘n/ is closer to the mark 16:58:43 * Phantom_Hoover wonders if any branches of mathematics have ever been proven inconsistent. 16:59:37 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 you can tell my memory is vague there :D 17:00:35 of course any subject that depends on an unproven hypothesis could face the same problem 17:01:17 But I mean something like the axioms being inconsistent. 17:01:31 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 Like coming up with a proof that 1=0. 17:02:30 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 Phantom_Hoover: oh, you could say naive set theory is such a branch 17:03:24 russell proved it inconsistent with his paradox 17:03:31 Ah, indeed. 17:04:06 -!- BeholdMyGlory_ has joined. 17:04:12 Also, is logic an axiomatic system? 17:04:28 interesting question 17:04:48 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 ...there we go. 17:05:18 this client is superior 17:05:25 Are you sure it's plugged in? 17:05:26 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 (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 um wait 17:06:55 the set of patterns is finite of course, but they describe an infinite set of axioms, is what i mean 17:07:13 tl;dr... I'm busy defining an infinite set of axioms. 17:07:41 explicitly, of course. 17:07:45 oerjan: Aren't they basically fancy axioms? 17:07:51 The patterns. 17:08:19 Phantom_Hoover: it depends on how you define an axiom 17:08:32 they're not single propositions of the actual logic 17:09:41 hmmm... okay, so my axioms are going to be enumerated 17:09:43 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 the odd ones disprove Godel's incompleteness theorem 17:10:03 the even ones determine if an aribtrary program halts. 17:10:21 How do the odd ones do that? 17:10:29 by being axioms, duh. 17:10:58 So they all state that "Gödel's incompleteness theorems are false"? 17:11:00 that's like asking how equality works. 17:11:11 Phantom_Hoover: no, not explicitly 17:11:15 CakeProphet: btw godel's incompleteness theorem requires your axioms to be recursively enumerable iirc 17:11:27 but each one achieves that . 17:11:38 which probably thwarts your project in principle 17:11:52 well no... 17:12:07 the ones divisble by 5 disprove that part of GIT 17:12:22 in doing so... they refer to all the axioms divisble by 5 17:12:24 so basically your theory is inconsistent. got it ;) 17:12:52 Axiom 1: Axiom 2 is false. Axiom 2: Axiom 1 is true. 17:13:08 Or perhaps Axiom 2: Axiom 1 is false. 17:13:22 Yes, that one. 17:13:22 either. 17:13:48 for axiom 2 to be false in the first example... axiom 1 would have to be false 17:13:48 No, wait, the second is consistentish. 17:14:24 oh wait... no that works. 17:14:36 ...fuck, I don't know. 17:15:41 Axiom 0: your mom is crazy in bed Axiom N: Axiom N-1 is true 17:15:59 In the first system, Axiom 1 → ¬Axiom 2 17:16:12 Axiom 2 → ¬Axiom 1 17:16:33 Axiom 1 → ¬Axiom 2 → Axiom 1. 17:16:37 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 oerjan: all of them. 17:17:19 In the second, Axiom 1 → ¬Axiom 2 17:17:22 i _think_ minimal overlap may be a hexagonal pattern, isn't that the equivalent to kepler's theorem in two dimensions 17:17:33 Axiom 2 → Axiom 1 17:17:46 Axiom 1 → ¬Axiom 1 17:17:48 QED. 17:18:06 The first is quasi-consistent, the second is inconsistent. 17:18:22 and i think that requires exactly 4 colors 17:19:33 4 is clearly enough since this is planar 17:20:12 a b 17:20:18 17:20:20 er 17:20:23 a b 17:20:25 c d 17:20:32 e 17:20:48 hm wait 17:21:03 It's a matter of finding a tile, isn't it? 17:21:05 perhaps 3 is enough 17:22:01 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 No, I mean for the colouring. 17:22:20 and only neighbors would overlap 17:22:49 Find a tile with which you can cover the plane without conflict. 17:23:28 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 oh hm 17:23:56 a b c a b c a b c 17:24:04 c a b c a b c a b 17:24:08 3 is enough 17:24:11 Yes. 17:24:42 AnMaster: 3 is enough for a hexagonal pattern 17:24:46 oerjan, hm okay 17:25:36 oerjan, do you then consider the circles to include the edge or not? 17:25:48 AnMaster: i don't think that matters 17:25:53 oh wait 17:26:04 oerjan, I would consider it an open set 17:26:10 in this case 17:26:34 AnMaster: it matters only if the radius needs to reach to the center of neighbors. is it that large? 17:26:54 oerjan, the edge? no it is of course infinitely thin or something 17:27:13 as in the difference between [0,n] and [0,n) 17:27:16 if it doesn't reach to the center of neighbors, then it cannot overlap anything other than the neighbors 17:27:36 AnMaster: oh edge... i'm ignoring your finite area, this covers the whole plane 17:28:35 oerjan, do two circles meet in a point anywhere? as in edges touching each other and no overlap 17:28:54 then that difference for the circle would matter, wouldn't it? 17:29:10 oerjan, if you see what I mean? 17:29:40 AnMaster: no i don't think so 17:29:55 i mean 17:29:56 oerjan, "don't think you see what I mean"? 17:29:57 a b 17:29:58 c 17:30:24 then a b and c circles would intersect in a common point, but each pair of circles would overlap 17:30:32 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 s/thing/question/ 17:31:04 If it's an open set then there are points not covered by oerjan's packing. 17:31:09 AnMaster: oh right, the common point would be that 17:31:18 oerjan, well that is an issue I think 17:31:30 Phantom_Hoover, thanks for understanding what I meant :) 17:31:36 AnMaster: i suspect you cannot get a minimum coverage without there being such points 17:31:47 oerjan, how? 17:31:50 because there aren't such points you can probably shrink some circle 17:32:12 so there is no truly minimal solution 17:32:26 *because if there 17:32:32 oerjan, all circles were to have the same size. As was implied by "circles of a given size" 17:32:38 same given size obviously 17:32:42 oh 17:32:47 You can get arbitrarily close to optimum packing. 17:32:56 With circles the same size. 17:32:57 Phantom_Hoover, ah, good enough I guess 17:33:00 well still. you can probably shrink _all_ circles by an epsilon. 17:33:08 hmmm I wonder how tree-based programming would work. 17:33:13 Lisp? 17:33:17 like, similar semantics to stackbased but with trees. 17:33:38 Oh, with trees as the primary data structures. 17:33:40 oerjan, they are all unit circles. But shrinking them would just scale the entire thing 17:34:01 Again, Lisp is sort of that, due to the structure of the lists. 17:34:09 -!- Tritonio_GR has joined. 17:34:10 and possibly add some more on the edges of the finite plane 17:34:12 AnMaster: well yeah. hm i guess this actually _would_ depend on your finite area, come to think of it 17:34:24 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 that'd be kind of crazy though. 17:34:33 because the finite area determines how tightly things fit 17:34:35 or.. pointless. 17:34:37 oerjan, well, I don't consider overshooting this area to be an issue 17:34:54 at least I didn't have that in mind as an issue 17:35:04 well, maybe not pointless. If you didn't copy and simply references you could get circular behavior. 17:35:13 *referenced 17:35:27 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 oerjan, heh 17:36:57 In that case, it depends entirely on the shape of the area. 17:36:57 firall x. 1 17:37:02 *forall 17:37:05 deep. right? 17:37:25 CakeProphet: that's essentially graph/tree rewriting, it's a well-known strategy for implementing functional languages 17:38:57 ...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 with each operation, sequentially. 17:39:44 CakeProphet: well it's complicated than just pushing and popping i guess 17:40:01 CakeProphet: also a stack of trees is equivalent to a single tree, in a sense 17:40:08 Phantom_Hoover, well it was given as rectangular in my original question 17:40:35 Ah, 17:41:09 Then it depends on the ratio of the range of the transmitters to the edges, among other things. 17:41:48 Phantom_Hoover, yep, but extending outside the finite area was not considered a problem. Nor overlap outside of the area 17:42:18 and I did not have any specific ratios in mind originally 17:42:32 AnMaster: actually i don't think two circles can overlap outside without overlapping inside, assuming their centers are inside 17:42:46 No, they can't. 17:42:57 Unless the area is concave. 17:43:27 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 yeah it follows from convexity and the midpoint between the centers always being in the overlap area if there is any 17:43:36 ;P 17:44:07 oerjan, sure but the overlap area outside would not be counted towards the total 17:44:23 AnMaster: oh you mean for minimizing, right 17:44:29 oerjan, exactly 17:44:53 -!- kar8nga has quit (Remote host closed the connection). 17:45:30 GAH 17:45:36 IE6 IT STILL LIVES 17:45:45 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 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 (better coverage if there is a failure with a sender) 17:46:29 oerjan, sure, but senders cost money 17:46:50 AnMaster: oh well right, perhaps minimizing the _number_ of senders rather than area 17:46:57 oerjan, do you know how many watt a typical radio transmitter is rated for? 17:47:05 no f* idea 17:47:17 oerjan, iirc 60000 W was the max in Sweden 17:47:33 for Sveriges Radio obviously, not for "local to the city" stations ;P 17:48:24 oerjan, so yeah, it costs quite a bit with senders. Even excluding the cost for the "hardware" 17:48:37 just the electricity bill must be fantastic... 17:49:01 alise isn't around, is he? 17:49:04 well, fantastic is wrong word, horrible maybe 17:49:07 maybe tomorrow, i think he said 17:50:11 AnMaster: hm the electricity bill alone would scale with area up to the maximum, wouldn't it 17:50:33 or wait 17:51:16 i guess transmission in the atmosphere is not trivial 17:52:01 for one thing, does it count as spreading in two or three dimensions 17:52:14 (beyond a certain distance) 17:52:26 oerjan, of course this does not apply as easily to "real life" 17:52:55 oerjan, what with the issues you mentioned. Plus mountains and tall buildings and so on 17:53:10 ...hmmm, I think I have a good idea for an tree-based esolang. 17:53:17 with nifty control flow structures. 17:53:26 oerjan, and local heat variations in the atmosphere would mess things up as well I suspect. 17:53:39 and the file system embedded in the tree structure. :) 17:53:40 I'm not sure if you can get radio mirages. but that would be awesoem 17:53:43 awesome* 17:53:52 just completely awesome 17:54:02 technically a graph, but mostly a tree. 17:54:16 huh 17:55:53 oerjan, "huh" about what? 17:56:37 radio mirages 17:56:45 ah 17:56:56 oerjan, I never heard of it though. Sadly 17:56:59 would be awesome indeed 17:57:06 Stallman is a very strange man 17:57:08 . 17:57:30 -!- comex has joined. 17:58:51 -!- oerjan has quit (Quit: Reboot). 17:59:33 Also, I get the sense that my computer is bragging. 18:00:08 I wonder if Stallman smokes herb. 18:00:24 "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 Phantom_Hoover, it said that? 18:04:57 Not in as many words. 18:05:10 ah 18:05:39 -!- kar8nga has joined. 18:05:56 Although I may make it do that. 18:06:46 Phantom_Hoover, wait, your computer is only 1.3 GHz? 18:07:01 No, it was doing other stuff. 18:07:11 "Oh, look, I ran 1.3 million CPU cycles in a millisecond, what have you done lately?" 18:07:18 That's just the output from a time on some Lisp code. 18:07:20 as far as I can tell that gives you 1.3 GHz 18:07:30 Phantom_Hoover, you mean your numbers were made up? 18:07:39 Dude, ATM my computer is running at *500 MHz*. 18:07:50 Erm. 18:07:53 pikhq, hm slow for cpufreq 18:07:54 *800*. 18:07:59 ah more reasonable 18:08:07 No, I mean I timed some Lisp code, it took 1 ms and 1.3 gigacycles. 18:08:24 Granted, this is because my clock rate is turned way down due to low demand. :) 18:08:28 Phantom_Hoover, how did you get the 1.3 gigacycles number? 18:08:39 That is what the TIME function printed. 18:08:57 Phantom_Hoover, is that some byte code interpreter cycle or CPU cycles? 18:09:14 Hmm, it says "processor cycles". 18:09:20 Hence I assume CPU. 18:09:29 Phantom_Hoover, yeah multitasking might be messing things up 18:09:30 Also, SBCL compiles to native code. 18:09:44 So bytecode is implausible. 18:10:28 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 what with the varying delay on instructions, out of order, super scalar. 18:10:56 and so on 18:11:01 oh and cache effects 18:11:03 don't forget that 18:11:05 I have no idea how it measures it. 18:11:12 (describe 'time) 18:11:22 TIME names a macro: 18:11:22 Lambda-list: (FORM) 18:11:22 Documentation: 18:11:22 Execute FORM and print timing information on *TRACE-OUTPUT*. 18:11:22 18:11:22 On some hardware platforms estimated processor cycle counts are 18:11:24 included in this output; this number is slightly inflated, since it 18:11:26 includes the pipeline involved in reading the cycle counter -- 18:11:28 executing (TIME NIL) a few times will give you an idea of the 18:11:30 overhead, and its variance. The cycle counters are also per processor, 18:11:32 not per thread: if multiple threads are running on the same processor, 18:11:34 the reported counts will include cycles taken up by all threads 18:11:36 running on the processor where TIME was executed. Furthermore, if the 18:11:36 ah 18:11:36 hahaha... I didn't know Google suggested Recursion when you type Recursion into it. 18:11:38 operating system migrates the thread to another processor between 18:11:40 reads of the cycle counter, the results will be completely bogus. 18:11:42 Finally, the counter is cycle counter, incremented by the hardware 18:11:44 Phantom_Hoover, no need to paste it all 18:11:46 even when the process is halted -- which is to say that cycles pass 18:11:48 normally during operations like SLEEP. 18:11:50 Source file: SYS:SRC;CODE;TIME.LISP 18:11:53 hm 18:11:55 Sorry. 18:12:58 Phantom_Hoover, hm not sure how you read cycle count on x86 18:13:07 presumably it is possible 18:13:28 oh the TSC 18:14:46 -!- tombom has joined. 18:16:03 Phantom_Hoover, and yeah if it uses the TSC it would include cycles spent by other CPUs as well 18:16:07 Phantom_Hoover, what did the program do btw? 18:16:24 if this is "hello world" I would say that you have a LOT of overhead ;P 18:16:28 or it moved between cpus 18:16:43 It's a 3-layer feed-forward neural network. 18:17:20 Hello world takes 44,360 cycles. 18:17:48 quite a lot. I wonder how many a C hello world would take, would have no gc overhead and such 18:17:54 still some IO overhead 18:18:00 Phantom_Hoover, what about 2+2 ;P 18:18:27 1480 cycles. 18:18:35 AnMaster: Well, there's stdio to go through and such. 18:18:56 OTOH, (time nil) takes 1720 cycles, so it's inaccurate for small values. 18:19:18 2+2 is therefore incredibly quick. 18:19:19 pikhq, as I said yes 18:19:25 still some IO overhead 18:19:44 -!- zzo38 has joined. 18:19:44 Phantom_Hoover: Should be constant-folded, really. 18:19:46 Why did you ping me? 18:19:58 Phantom_Hoover, because I did /ping p and got you instead of pikhq 18:20:24 OTOH, (time nil) takes 1720 cycles, so it's inaccurate for small values. <-- sure that is inaccurate? 18:20:43 pikhq: 2+2? Like I said, it could take a cycle and it would report a couple of thousand cycles. 18:20:51 btw, timing (+ 2 2) on my system gave me 3934 cycles 18:20:57 sempron 3300+ 18:21:04 What implementation? 18:21:10 Phantom_Hoover, sbcl REPL 18:21:31 And nil isn't evaluated at all, so it's almost certainly inaccurate. 18:21:46 (time nil): 18:21:47 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 3,611 processor cycles 18:22:09 If I write an accounting software what should I called it? 18:22:30 And the description for time says outright that there's an overhead approximately that of (time nil) 18:23:29 "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 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 The neural network code works for AND and OR. 18:35:18 Now to try XOR. 18:36:50 Actually, I can't be bothered. 18:37:03 Manually altering weights is unspeakably painful. 18:41:11 what are you doing? 18:52:31 weighing altered manuals 18:57:29 pineapple: Wasting time messing with neural nets. 18:58:47 -!- tombom has quit (Ping timeout: 258 seconds). 18:59:02 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 tombom! 19:10:24 weighing altered manuals <-- interesting, why? 19:10:55 It was a facetious answer to pineapple's question to me. 19:11:20 Phantom_Hoover, ah. I imagine the extra weight from some added ink could be detected ;P 19:11:45 would take an incredibly sensitive scale 19:11:59 and require that the unaltered manuals had a very precise weight 19:12:01 A fascinating method for detecting cheats, but ultimately impractical. 19:12:04 s/scale/scales/ 19:12:30 Phantom_Hoover, exactly. But this is #esoteric, things doesn't have to be practical! 19:13:08 hello what 19:13:19 tombom, who's there? 19:14:26 http://sprunge.us/gdMY 19:15:43 pikhq, what does it do? 19:15:57 Imperative → imperative via functional seems an odd choice. 19:15:57 generate x86 asm I figured out 19:16:06 ah probably bf 19:16:09 so BF compiler then 19:16:12 AnMaster: Yes. 19:16:20 Phantom_Hoover: Yeah, but it's still quite nice. 19:16:30 I've found Haskell makes for delicious compilers. 19:16:31 pikhq, nothing new. The best one before esotope-bfc was written in haskell 19:16:40 compiled to C, not asm of course 19:16:52 I think you meant Phantom_Hoover there. 19:17:01 AnMaster: Yes. I'm aware of said compiler. 19:17:01 Phantom_Hoover, me? no 19:17:03 oh 19:17:03 wait 19:17:06 I did 19:17:07 maybe 19:17:13 * AnMaster is confused 19:17:13 I'm currently generating smaller output than esotope-bfc. 19:17:18 right I meant Phantom_Hoover 19:17:33 pikhq, how do you compare 19:17:45 pikhq, since esotope generates C code 19:17:47 and you generate asm 19:17:48 -!- Phantom_Hoover has changed nick to xPhantom_Hoover. 19:17:55 AnMaster: There you go. 19:17:56 pikhq, gcc produces bloated binaries 19:18:01 AnMaster: Final binary, as generated with gcc -Os 19:18:04 xPhantom_Hoover, hah ;P 19:18:10 I've also compared with clang -Os 19:18:16 pikhq, tcc? 19:18:23 Not tried that. 19:18:38 Doesn't work well with my absurdly tiny libc. 19:18:47 (I want to be fair, okay?) 19:18:47 pikhq, anyway, I would say that the comparison is unfair due to the different target languages 19:19:03 pikhq, you linked that libc statically? 19:19:12 why not link both dynamically 19:19:26 AnMaster: *Dynamic linking makes for larger binaries*. 19:19:35 Also, said libc literally included wrappers for system calls. 19:19:49 And was *concattenated* with the file. 19:20:00 pikhq, I have seen cases of static linking being larger 19:20:05 pikhq, that was against boost though iirc 19:20:09 or something of similar size 19:20:09 Yes, but not in this case. 19:20:20 Where you only need read, write, and exit. 19:20:51 pikhq, anyway, the comparison is not fair IMO 19:21:02 It's still currently about an order of magnitude slower than esotope-bfc, output-wise. 19:21:02 pikhq, you should compare speed 19:21:09 indeed 19:21:17 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 clog! 21:34:29 Wait, does this mean that the prior conversation was unlogged? 21:35:06 presumably yes 21:35:19 wb clog 21:37:39 Phantom_Hoover, presumably you have your own local logs however 21:38:10 ...Probably. 21:38:21 Phantom_Hoover: yes, no one will ever know about our terrorist plans 21:38:28 ...shit 21:39:28 For some reason I have an overwhelming urge to write "Ørjan the headless esolang runner". 21:39:48 ...what 21:40:40 i'm not headless. otoh http://en.wikipedia.org/wiki/Mike_the_Headless_Chicken 21:40:41 Warren Zevon song. 21:42:29 "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 See! 21:44:06 Although I never knew that he was Norwegian. 21:44:06 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 \o\ 21:44:28 | 21:44:28 >\ 21:44:58 ... 21:45:13 /o\ 21:45:13 | 21:45:13 |\ 21:45:19 -!- cal153 has quit (Read error: Connection reset by peer). 21:45:20 I will never tire of it. 21:45:28 ,_o__, ,__o_, ,_o__, 21:45:29 | | | 21:45:29 /`\ /| /< 21:46:03 response varies by channel, lol 21:46:09 some people ... tire of it very quickly :> 21:46:26 -!- Tritonio_GR1 has quit (Ping timeout: 248 seconds). 21:46:37 It doesn't come up much in here, so it doesn't get too annoying. :P 21:46:59 _o_ 21:46:59 | 21:46:59 |\ 21:47:11 Is that ever going to be fixed? 21:48:36 fix what? 21:48:49 no because his client doesn't right-align nicks 21:48:59 Ah. 21:49:09 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 \o/ 21:49:32 /o/ 21:49:47 well, it has no hope of working for me, as I IRC in a proportional font 21:49:48 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 (shocking I know) 21:49:57 myndzi, so it looks really bad from here 21:49:59 ais523: heretic! 21:50:26 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 AnMaster: why would you expect ehird but not me to do that? 21:51:12 ais523, should be quite obvious. He is a font manic. 21:51:23 hmm, obviously he'll have ignored me based on that inference and won't hear this 21:51:26 even though it's wrong 21:51:29 He is a bit of a typography nut. 21:51:36 A *bit*? 21:51:37 heh 21:51:39 ais523, nice try 21:51:56 ais523, also /nickserv help output must look horrible to you 21:52:03 since it space align two columns 21:52:09 Phantom_Hoover: In casual English usage, "a bit" can mean "quite exceptionally". Weird but true. 21:52:12 nah, there's enough spaces to see the columns 21:53:50 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 oerjan: I don't get the pun 21:54:33 as in, I get the reference but not the non-pun context of the sentence 21:54:50 am i not allowed to do absurdist humor now 21:55:03 you are, it just needs to be slightly easier to get than that 21:55:16 It's a reference. 21:55:19 QED. 21:55:21 but if it was easier to get it would be your mom 21:55:34 ais523, wouldn't look aligned however 21:56:27 * AnMaster hits Phantom_Hoover with a stunned seagull reference 21:56:30 now, get that one ;P 21:56:40 and no helping him 21:56:42 * oerjan wasn't planning that punchline when he started the sentence 21:56:46 (I know I used it before in this channel) 21:57:01 oerjan, which punchline? 21:57:27 your mom 21:57:33 oh hah 22:01:09 -!- pikhq_ has joined. 22:03:24 -!- pikhq has quit (Ping timeout: 264 seconds). 22:18:06 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 and yes the image is quite grainy 22:18:37 but the dual jpeg compression (once from camera, then once from converting the tiff hugin output) 22:18:40 made it worse 22:22:15 * Phantom_Hoover finally got XOR working! 22:26:45 * pikhq_ xors you 22:27:31 So much pain because of a logistic function... 22:28:07 I have an object called *XORN*. 22:28:23 It does not, however, walk through walls. 22:29:53 -!- BeholdMyGlory has quit (Remote host closed the connection). 22:31:11 _o_ 22:31:11 | 22:31:11 /´\ 22:31:20 _o_ _o_ _o_ 22:31:21 | | | 22:31:21 /`\ >\ >\ 22:32:03 hah the last one was aligned for me 22:32:19 the last one to the first one I mean in the line " _o_ _o_ _o_" 22:32:32 also myndzi's script is broken now 22:32:39 since it didn't add anything under my line 22:32:43 I assume you're on XChat too, then? 22:32:44 _o_ 22:32:44 | 22:32:44 /| 22:32:49 Phantom_Hoover, ERC 22:33:08 Is there anything Emacs can't do? 22:33:13 Hold on... 22:33:16 myndzi, do you have very very short line length or why wasn't anything added to " the last one to the first one I mean in the line " _o_ _o_ _o_"" ? 22:33:40 Phantom_Hoover, um yes. It can't synthesise for FPGAs 22:33:41 afaik 22:34:09 AFAYK. 22:34:10 AnMaster: well it wrapped in irssi (80 chars) 22:34:12 Phantom_Hoover, also it is event based and single threaded, doesn't do any sort of cooperative or preemptive multitasking 22:34:22 oerjan, 80 chars only? 22:34:29 it only went like 2/3 of my screen 22:34:44 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 ERC is UGLY. 22:36:26 oerjan, yes, But no one uses that any more 22:36:28 -!- Phantom_Hoover has joined. 22:36:41 Phantom_Hoover`, ugly? Next time you will call twm ugly or something equally silly! 22:36:51 TWM is cool. 22:37:04 AnMaster: TWM is only ugly by default. 22:37:04 Especially on a Mac. 22:37:14 With some color changes it seems much less so. 22:37:16 Phantom_Hoover`, XD 22:37:21 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 Though it's still only barely *usable*, it's still not bad for 30-year-old software. 22:37:35 oerjan, same, I have browser and irc client side by side 22:37:38 and i also like a big font 22:37:40 and terminal below both 22:37:45 well 22:37:49 different terminal that is 22:37:53 I don't run emacs in X mode 22:37:54 and a small monitor 22:37:55 *shudder* 22:37:56 I've got my terminal open full-screen. 22:38:01 Phantom_Hoover`, anyway, I use heavily customised ERC settings 22:38:10 the default alignment is wtf 22:38:15 It is immaterial. 22:38:16 (um well i don't _like_ a small monitor as such, i have one, this is a laptop) 22:38:29 Because of you people, I have forgotten what I was doing. 22:38:33 oerjan, oh well on my laptop I wouldn't use a setup like this 22:38:44 Phantom_Hoover: something ERC 22:38:47 anyway I want to get a dual head setup next time for my desktop 22:39:00 oerjan, was that a pun? 22:39:05 it was very bad in that case 22:40:41 no 22:41:09 just the top Phantom_Hoover message on my screen 22:41:20 or so 22:41:52 _o_ 22:41:52 | 22:41:52 /| 22:41:55 is the top one for me 22:41:57 or was rather 22:42:04 now /`\ >\ >\ is the top one 22:42:15 (and after I said this line, two lines below it) 22:42:24 oerjan, ^ (3 lines below it now) 22:42:37 you people and your tiny fonts and huge monitors 22:42:39 oerjan, you have a short scrollback 22:42:57 AnMaster: my scrollback is fine, i'm talking about actual visible text 22:43:00 oerjan, tiny? it is "Dejavu Sans Mono 9" 22:43:16 oerjan, well I meant visible scrollback without scrolling indeed ;P 22:43:57 Courier New, 10 point it says 22:44:35 46 rows and 80 columns 22:45:48 unsure about dimensions 22:53:22 * Phantom_Hoover is scared of curve integrals. 22:53:59 BOO! 22:54:14 * oerjan knew those once 22:54:26 I have no idea what they even do. 22:54:56 well for one thing you can calculate lengths of curves with them iirc 22:54:59 * pikhq_ shudders 22:57:51 I am scared of all mathematical things I don't understand. 22:57:58 It's just one of those things. 22:58:29 Phantom_Hoover: They're not *scary*, they're just more complex than your ordinary integral. 22:59:11 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 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 idea: befunge with branch delay slots 23:25:44 as a fingerprint perhaps 23:25:48 Deewiant, what do you think? 23:29:23 -!- maedhros777 has joined. 23:29:49 What exactly is Turing-completeness? 23:31:01 maedhros777, something that is equivalent to an Universal Turing Machine 23:31:03 Turing-completeness means, in a very technical sense, being computationally equivalent to a Turing machine. 23:31:09 Erm. A Universal ... 23:31:14 What's a Turing machine? 23:31:22 In a more practical sense, it means that it can compute anything that can be computed. 23:31:28 Sweet 23:31:41 I was wondering because it was a category on the Wiki 23:31:47 universal, or all. the very definition of a universal turing machine is that it can itself emulate all the others 23:31:54 How do you prove that something is Turing-complete? 23:32:22 maedhros777: by emulating something already known to be TC with it 23:32:48 But how do you know that the original thing is Turing-complete? 23:32:57 I think BF is used like that 23:33:03 (technically you should also prove that the something can be emulated by something TC) 23:33:10 So how do you prove that BF is Turing-complete? 23:33:25 maedhros777: the buck stops at turing machines 23:33:36 -!- Tritonio_GR has joined. 23:33:36 :) 23:33:38 all the others must emulate those, directly or indirectly 23:33:45 oerjan: Wasn't there a proof that Turing machines can compute anything, though? 23:34:15 pikhq_: that's the church-turing thesis and it isn't a proof, but a hypothesis 23:34:28 Oh, okay then. 23:35:01 oerjan, anyone tried to prove it? 23:35:05 So it's hypothetically possible that there is something that's both computable and not computable on a UTM. 23:35:25 What is the exact definition of a Turing machine, then? 23:36:29 yes, but it would take a very unusual way of computing, that no one so far knows about 23:36:36 Yes. 23:37:06 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 Are there instructions on the tape or something? 23:38:02 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 oerjan, don't forget the state of the heat 23:38:29 head* 23:38:38 which moves over the tape iirc 23:38:43 So it's a theoretical machine in which a command is given by an infinite number of intructions? 23:38:47 or was it the tape moving under the head 23:38:52 maedhros777, no 23:38:53 maedhros777: no 23:38:59 maedhros777, it is data, not instructions 23:39:08 but oerjan is a slow typer 23:39:13 and I don't remember the exact details 23:39:16 *sheesh* 23:39:28 well _one_ of us should shut up 23:39:30 ;P 23:39:32 How does the machine work if all it contains is data? 23:39:49 maedhros777: that's the tape. the machine also has a head, which moves along the tape 23:39:55 maedhros777, please wait for oerjan to finish typing that. It will take a bit 23:40:10 Like this? http://upload.wikimedia.org/wikipedia/commons/3/3d/Maquina.png 23:40:20 -!- Tritonio_GR1 has joined. 23:40:25 that head is governed by instructions, in the form of a lookup table 23:40:53 maedhros777: something like that 23:41:07 the head has a state, from a finite set of states 23:41:22 Like this? http://upload.wikimedia.org/wikipedia/commons/3/3d/Maquina.png <-- what is that supposed to be? 23:41:29 http://en.wikipedia.org/wiki/Turing_machine#Formal_definition 23:41:40 and the lookup table says, given the state of the head, and the symbol on the tape in the current position: 23:41:41 oh it is supposed to be a turing machine? 23:41:46 Yep :) 23:42:04 maedhros777, looked more like a sci-fi filing system gone spare 23:42:09 =D 23:42:27 -!- Tritonio_GR has quit (Ping timeout: 240 seconds). 23:42:27 maedhros777: well ok that's the mathematical definition, i'm going for a little more intuitive explanation here 23:42:30 So where does the notion that a Turing machine can compute anything come from? 23:42:43 -!- ws has quit (Quit: ...). 23:42:48 Turing said so. 23:42:53 Church also said so. 23:43:07 Did they have proof? 23:43:13 (well, Church said that lambda calculus can. And lambda calculus and a UTM are equivalent) 23:43:19 maedhros777, no, it is a conjecture, and no one found a counter example yet 23:43:26 Ok, then 23:43:37 I guess it would be pretty hard to disprove 23:43:41 So it's probably right 23:43:42 maedhros777: Most people just use the UTM as the definition of computability. :) 23:44:11 How could a language not be Turing-complete? 23:44:14 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 maedhros777: Trivially. 23:44:38 Could you give an example please? 23:44:42 Not having things like conditionals, having finite memory, 23:44:49 maedhros777: Brainfuck without loops. 23:44:52 -!- CakeProphet has quit (Ping timeout: 240 seconds). 23:44:59 maedhros777: finite memory is a big hint 23:45:22 Why wouldn't it be Turing-complete if it didn't have loops? 23:45:41 Because then it couldn't do anything conditionally ever. 23:45:58 I guess 23:46:17 Which is necessary to implement a Turing machine. 23:46:28 I've been wondering though, how are conditional expressions actually implemented? 23:46:34 Like in binary. 23:46:39 In what language? 23:46:48 "binary" is not a language. 23:46:53 C to assembly to binary, e.g. 23:47:06 I mean like assembly or machine-dependent binary 23:47:07 Well, it is in a formal sense, but that's beside the point. 23:47:18 maedhros777: So, C to $machine assembly to $machine binary 23:47:26 Yep 23:47:32 Depends on the machine, but it's most *commonly* a conditional jump. 23:47:47 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 For instance, x86 has "je foo", where it jumps to foo if the previous comparison was true. 23:48:16 pikhq_, also cmov 23:48:17 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer). 23:48:27 AnMaster: Ah, yes, it does have that. 23:48:45 And, obviously, if you have no loops, your computational model always halts. 23:48:47 also various other conditional jumps 23:48:48 -!- Oranjer has joined. 23:48:52 like jne iirc 23:48:54 and what not 23:49:01 AnMaster: That was just an example of a conditional jump. 23:49:05 yep 23:49:15 x86, being x86, is loaded with them. 23:49:19 And everything else. 23:49:24 Except for registers. 23:49:25 pikhq_, not registers though 23:49:26 yeah 23:49:31 you beat me to it 23:49:46 How would you, in general, prove that something is Turing-complete then? 23:49:59 Only I can see would be by conjecture 23:50:05 maedhros777, by implementing something known to be turing-complete in it. 23:50:28 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 maedhros777: You demonstrate that it's computationally equivalent to something that is Turing-complete. 23:50:50 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 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 This can be done by *implementing* something that is Turing-complete and implementing in something that *is* Turing-complete. 23:51:22 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 I guess 23:51:35 maedhros777: in _principle_ you prove something turing-complete by showing that you can implement all turing machines with it 23:51:37 maedhros777: If nothing else, you can show equivalence with the UTM. 23:51:42 maedhros777, so there is a base case the recursion of proving it equivalent to an UTM 23:51:55 How would it be shown that BF is computationally equivalent to the UTM? 23:51:58 it is just that we don't know for sure if there is anything beyond it 23:51:59 As Turing-completeness means "equivalent to a UTM" 23:52:01 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 maedhros777, implement an UTM in it. Or lambda calculus or anything else that wasn't proven TC by using brainfuck 23:52:41 (the UTM itself being one of the first such simpler models) 23:53:03 oerjan, wait what? 23:53:37 oerjan, elaborate 23:53:38 AnMaster: The Universal Turing Machine is the Turing machine capable of implementing all other Turing machines. 23:53:46 pikhq_, oh right 23:53:55 yeah 23:54:00 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 oerjan, you need to increase your typing speed ;P 23:54:21 Hm, let me check the wiki to see how it's Turing-complete 23:54:27 (this paper is most notable for being the first to show a structured programming language as being Turing-complete) 23:54:34 Ooh, good: http://esoteric.voxelperfect.net/wiki/Brainfuck#Computational_class 23:54:39 maedhros777, pikhq_ just told you 23:54:43 AnMaster: that would make my hands hurt unreasonably much, i'm afraid 23:55:13 also who says i'm _thinking_ any faster :D 23:55:36 (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 also i _read_ slowly, too 23:55:46 oerjan, ;O 23:55:47 ;P* 23:56:10 yep, that is one thing that can be confusing at first 23:56:30 didn't someone invent "bf-complete" for describing "TC + byte STDIO"? 23:56:34 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 AnMaster: Probably. 23:56:52 AnMaster: something like that 23:56:55 oerjan, appended at the end of the program is popular iirc? 23:58:00 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 yep 23:58:26 Are most commonly used languages Turing-complete? 23:58:35 AnMaster: that assumes there is a concept of adding things to the end of the program 23:58:48 maedhros777: Yes. 23:58:52 maedhros777: if you ignore the thorny issue of finite memory, yes 23:58:55 maedhros777, C is not. since it can not have infinite memory due to the spec requiring sizeof(void*) being finite 23:59:03 True 23:59:13 C++, amusingly, *is* Turing complete. 23:59:15 maedhros777, and it also requires all objects to be addressable 23:59:24 How is C++ actually Turing-complete? 23:59:26 pikhq_, oh only through templates iirc? 23:59:31 AnMaster: Yes. 23:59:33 Oh 23:59:37 maedhros777, because iirc C++ *templates* are TC at compile time 23:59:41 maedhros777: C++'s template system is equivalent to the lambda calculus. 23:59:46 maedhros777, I seen factorial in C++ templates 23:59:52 I hadn't thought of that 23:59:53 no one said it was sane