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