00:02:10 -!- Corun has changed nick to NotAFly.
00:02:43 -!- NotAFly has changed nick to Corun^NAF.
00:07:38 -!- cmeme has quit ("Client terminated by server").
00:07:49 -!- cmeme has joined.
00:16:22 -!- Slereah__ has joined.
00:21:18 -!- Corun^NAF has changed nick to SteveWobs.
00:21:52 -!- SteveWobs has changed nick to Corun.
00:22:01 <oklopol> psygnisfive: www.vjn.fi/oklopol
00:34:16 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
00:36:15 -!- tusho has quit.
00:53:29 -!- Slereah_ has joined.
01:06:32 -!- calamari has joined.
01:12:37 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
01:46:08 -!- RodgerTheGreat has quit (Read error: 60 (Operation timed out)).
02:09:30 -!- Slereah__ has joined.
02:16:03 -!- cherez has joined.
02:28:28 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
03:06:45 -!- CakeProphet_ has joined.
03:07:19 -!- CakeProphet has quit (Nick collision from services.).
03:07:25 -!- CakeProphet_ has changed nick to CakeProphet.
04:22:16 -!- RodgerTheGreat has joined.
04:27:42 -!- Corun has quit ("This computer has gone to sleep").
05:01:20 -!- pikhq has quit ("leaving").
06:05:16 -!- GreaseMonkey has joined.
06:33:54 -!- cmeme has quit ("Client terminated by server").
06:34:05 -!- cmeme has joined.
07:10:10 -!- augur has joined.
07:10:10 -!- psygnisfive has quit (Read error: 54 (Connection reset by peer)).
07:10:42 -!- augur has changed nick to Guest76788.
07:55:05 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:20:39 -!- CakeProphet has quit ("lolwhut?").
09:23:57 -!- CakeProphet has joined.
09:26:09 -!- olsner has quit ("Leaving").
10:26:54 <AnMaster> <pikhq> Some days, I hate Gentoo.
10:26:54 <AnMaster> <pikhq> "No disk space available". . .
10:26:54 <AnMaster> <pikhq> When the partition in question is only 70% used. . .
10:26:54 <AnMaster> <pikhq> If I get that error again, now that the disk is only 56% used, I'm kicking someone in the shin.
10:27:12 <AnMaster> ext2/3 reserves some space for root
10:27:49 <AnMaster> can be changed using tune2fs or whatever it is called
10:28:59 -!- tusho has joined.
10:29:35 <tusho> AnMaster: You need to support locales in a modern OS already.
10:29:45 <AnMaster> tusho, yes but it will differ between locales
10:29:50 <AnMaster> so on some it should be the same
10:30:02 <tusho> AnMaster: no not really
10:33:23 -!- Judofyr has joined.
10:35:22 -!- GreaseMonkey has quit ("HydraIRC -> http://google.com <- Go find something better").
10:36:59 <AnMaster> wtf, this valgrind error makes no sense
10:37:19 <AnMaster> I did realloc the block to a size to cover this memset, and yet it says that:
10:37:21 <AnMaster> memset(newblock+oldlen, 0, newlen-oldlen);
10:37:30 <AnMaster> the address "newblock+oldlen" is invalid
10:37:44 <AnMaster> but a "VALGRIND_CHECK_MEM_IS_ADDRESSABLE(newblock, newlen);" before says it is ok
10:37:53 <AnMaster> and yes newlen is larger than oldlen
10:57:39 -!- Judofyr has quit.
12:01:57 -!- oklopol has quit (Read error: 113 (No route to host)).
12:09:32 <AnMaster> my optimizer seem to work well btw
12:09:38 -!- oklopol has joined.
12:10:26 <AnMaster> is it worth optimizing [[...]] where ... is any code
12:10:37 <AnMaster> because that would be the same as [...]
12:10:42 <tusho> optimize everything
12:10:54 <AnMaster> tusho, there is an issue with this
12:11:07 <tusho> AnMaster: optimize all you can
12:11:12 <AnMaster> you can no longer jump into the middle of a pointer
12:11:29 <AnMaster> tusho, any optimizing breaks in fact
12:11:35 <tusho> AnMaster: then don't
12:12:26 <AnMaster> I have written a good brainfuck optimizer. I guess I will make it a stand-alone program
12:13:31 <AnMaster> in fact you can't optimize Def-BF at all when it comes to +++ or ---
12:13:52 <AnMaster> maybe generate alternative code versions?
12:13:58 <AnMaster> depending on where into that you jump
12:14:13 <AnMaster> tusho, what do you think of that?
12:14:19 <oklopol> why not both optimize and make jumps correct?
12:14:26 <tusho> oklopol: impossible
12:14:36 <AnMaster> oklopol, if you have +++++, you could jump into the middle of that
12:14:39 <tusho> oklopol: you can jump to an arbitary pointer location
12:14:55 <oklopol> i don't see what's hard about keeping both versions
12:14:55 <tusho> oklopol: so if you compact it into 5+
12:14:58 <tusho> you can't jump into the middle
12:15:29 <AnMaster> but yes keeping both versions could work
12:15:36 <oklopol> anyway, just have both versions, and when entering a loop from the start, use the optimized one, when jumping, use the original
12:16:20 <AnMaster> oklopol, the generated code would be even messier
12:16:28 <tusho> and hueg liek xbox
12:16:30 <tusho> don't do it AnMaster
12:16:45 <oklopol> err, just do what i said earlier
12:16:50 <oklopol> that's like 4 lines of code
12:17:02 <tusho> how is that just 4 lines of code
12:17:04 <tusho> that's a stupid idea
12:17:18 <AnMaster> that would be optimized into a NOP
12:17:39 <AnMaster> for a sample of the generated code: http://rafb.net/p/5ncCMZ55.html
12:17:42 <oklopol> well i guess if you don't do exactly what i just said there
12:17:52 <AnMaster> +++++-->>><<[-]---+++<>++---<-+>-[->+><-<]
12:18:18 <AnMaster> as you see you can easily optimize [->+><-<] into load constant 0
12:18:36 <tusho> AnMaster: you should explicitly decopyright the generated code
12:19:01 <oklopol> tusho: what's the problem with my approach?
12:19:07 <tusho> oklopol: it's hard to implement in c
12:19:12 <tusho> and results in hueg bloat of the generated code
12:19:29 <AnMaster> tusho, what do you think about the rest of the generated code?
12:19:37 <oklopol> err, you'd have at most twice the amount of code loaded
12:19:38 <tusho> AnMaster: it's nice
12:19:41 <tusho> apart from the CamelCase ;)
12:19:54 <tusho> /* ] */ case 41: ; }
12:20:19 <AnMaster> tusho, you need the ; to not get a compiler error :P
12:20:32 <AnMaster> I will insert a newline there then
12:21:00 <tusho> but yeah, switch being like that is awesome.
12:21:03 <AnMaster> tusho, unusual for you to like something I coded
12:21:09 <oklopol> anyway just have two versions of all functions and you could trivially implement what i said
12:21:24 <tusho> AnMaster: that generated code is good.
12:21:36 <AnMaster> tusho, with optimizer it gets just a few line
12:21:46 <tusho> AnMaster: i would just omit the optimizer
12:21:51 <tusho> better to have a 'proper' implementation
12:22:26 <oklopol> tusho, really, how would it be hard :D
12:22:44 <tusho> AnMaster: http://en.wikipedia.org/wiki/Seppuku
12:22:54 <tusho> Seppuku (切腹, Seppuku? "stomach-cutting") is a form of Japanese ritual suicide by disembowelment. Seppuku was originally reserved only for samurai. Part of the samurai honor code, seppuku has been used voluntarily by samurai to die with honor rather than fall into the hands of their enemies, as a form of capital punishment for samurai who have committed serious offenses, and for reasons that shamed them. Seppuku is performed by plunging a sword into the a
12:22:57 <AnMaster> anyway parser, optimizer and emitter are all recursive
12:23:40 <oklopol> you have two versions of each func, the optimized and non-optimized ones, the non-optimized version just runs one loop, then calls the optimized one, all jumps would be to the non-optimizing ones
12:24:24 <oklopol> non-optimized just runs one cycle, rather
12:24:27 <AnMaster> oklopol, these are not in loops
12:24:42 <AnMaster> oklopol, these are stuff like merging +++ into "add 3" *anywhere*
12:25:03 <AnMaster> or >>>> into "go left 4 steps"
12:25:08 <oklopol> the program is just a loop that's executed once, for our purposes
12:25:38 <oklopol> you couldn't do that case:while(){ case:oper case:} thing
12:26:27 <oklopol> but i wouldn't say that'd be a loss
12:27:26 <AnMaster> oklopol, def bf got a "call" and a "return"
12:28:18 <oklopol> w/e, do what you want, all i'm saying is it's trivial to have optimization and still have jumps correct
12:28:37 <tusho> trivial but a stupid way of doing it
12:28:41 <AnMaster> tusho, http://rafb.net/p/ywcGVz68.html is the (wrongly) optimized way
12:28:46 <tusho> AnMaster: i say just KISS and don't optimize
12:28:56 <tusho> at least you'll have your mind at the end
12:29:02 <oklopol> you said it'd be huge earlier, but that's total bullshit
12:29:39 <oklopol> i'm not saying he should optimize, i'm just asking what's wrong about my way of doing it
12:29:54 <AnMaster> tusho, I can see how to do it properly, it means emit unoptimized, but jumps to the first in an optimized set instead cause the single instruction followed by a jump to the end of it
12:30:04 <tusho> AnMaster: it's inelegant though
12:30:11 <tusho> and the speed you get from your optimization isn't worth the inelegance
12:30:14 <tusho> just keep it simple
12:30:19 <tusho> rip out the optimizer
12:30:24 <AnMaster> tusho, optimize needs -O option anyway
12:30:33 <tusho> AnMaster: so yeah, just don't bother optimizing
12:30:50 <AnMaster> tusho, I think I will try to do it, and do it properly
12:30:59 <AnMaster> this will include the keep alt way thing
12:31:08 <tusho> heh. enjoy your pain.
12:31:11 <AnMaster> I will need to rewrite the optimizer a bit of course
12:31:16 <AnMaster> currently it is just node merging
12:35:21 <AnMaster> <oklopol> AnMaster: good choice <-- what is?
12:36:03 <AnMaster> oklopol, oh btw I do it in two passes
12:36:08 <oklopol> implementing some form of optimization
12:36:21 <AnMaster> want to see the optimizer code?
12:36:51 <AnMaster> http://rafb.net/p/lQlzyr62.html
12:38:39 <AnMaster> tusho, what do you think about that?
12:38:47 <tusho> you'll feel better
12:39:10 <AnMaster> tusho, but is it good for plain bf?
12:51:43 -!- Sgeo has joined.
12:58:55 <tusho> http://www.simplynoise.com/ <-- pink noise @8% = nice for coding
13:21:42 <tusho> I just wrote a tiny, but very useful, personal wiki in 78 lines of code.
13:21:49 <tusho> And it hooks in with git, so I can just 'git commit', f5.
13:22:48 -!- Corun has joined.
13:36:11 <tusho> using the 'rake' tool
13:36:16 <tusho> which is like a souped-up make for ruby
13:36:41 <tusho> i can use Erb templates to embed ruby in my pages, there's a full template that handles every page, and it'll copy a stylesheet to the generated pages if you have one
13:36:44 <tusho> so, really, I can do anything
13:36:53 <AnMaster> if I ever wrote a make tool, I would call it demolish
13:37:03 <tusho> rake is less typing though
13:37:08 <tusho> kind of like version control systems
13:37:13 <tusho> your number one problem - get a two letter name
13:37:21 <tusho> however it has to be easy to type
13:37:28 <tusho> 'git' wins over 'hg' because hg is too close together
13:37:33 <AnMaster> bzr, git, svn, cvs, hg, darcs!?, monotone!?
13:37:45 <tusho> darcs is totally fail on that aspect :)
13:38:10 <tusho> AnMaster: oh and the wiki markup language is Markdown
13:38:15 <tusho> with one extra hack
13:38:27 <tusho> if you do a local link
13:38:33 <tusho> that is, no protocol
13:38:37 <tusho> it'll add .html to the end
13:38:51 <tusho> so: [page of ideas](ideas)
13:38:53 <tusho> links to ideas.html
13:39:01 <tusho> to mimic wiki links
13:39:46 <AnMaster> I think... I will have to parse the tree backwards
13:39:56 <AnMaster> but that seems totally strange
13:40:00 <tusho> AnMaster: oh and you'll hate this-
13:40:09 <tusho> the only thing it recognizes for no protocol right now
13:40:10 <AnMaster> or I will have to double-back all the time
13:40:14 <tusho> is "doesn't start with http[s]://"
13:40:28 <tusho> but then it's trivial to code that and I'm not linking to gopher or nntp any time soon
13:40:32 <tusho> I might add a provision for mailto
13:40:45 <tusho> AnMaster: heh, fine
13:40:59 <AnMaster> tusho, I have been thinking about gophers. as in gopher + ssl ;)
13:41:10 <tusho> gophers://lots.of.them/
13:41:24 <AnMaster> well with ICANN doing that to the domainnames...
13:41:25 <tusho> GET gophers://pray/
13:41:38 <tusho> USE gophers://pray/ ON gophers://lots.of.them/
13:41:41 <AnMaster> tusho, didn't get that reference
13:41:46 <tusho> AnMaster: 'gopherspray'
13:42:02 <tusho> which is a reference to monkey island
13:42:09 <tusho> in which it was like fly spray
13:42:14 <tusho> in that it got rid of gophers
13:42:31 <AnMaster> odd game where such an item exists
13:43:05 <AnMaster> anyway I can see how to generate the code now anyway
13:43:05 <tusho> AnMaster: Monkey Island is pretty odd...
13:43:39 <AnMaster> if it isn't 0, then add a jump right after the rest of instruction code
13:43:45 <AnMaster> without generating a new instruction
13:44:20 <tusho> my rakefile has a bug
13:44:25 <tusho> it seems rake isn't picking up on changes to pages
13:44:26 <AnMaster> I kind of need to parse it backwards
13:44:35 <AnMaster> but that would be impossible for loops
13:44:44 <AnMaster> unless I add a loop end pointer too
13:45:10 <AnMaster> + a metadata header instead of just a root node
13:48:04 <tusho> AnMaster: my wiki thing even has a server task
13:48:13 <tusho> so you can do 'rake serve 1>/dev/null 2>&1 &'
13:48:18 <tusho> and edit, git commit, refresh, etc
13:48:31 <tusho> then 'rake deploy' to push the pages to a webserver
13:49:20 <tusho> i didn't write my own http server
13:49:26 <tusho> i just used the one in the ruby stdlib :p
13:49:40 <tusho> it's not for production use
13:49:41 <AnMaster> tusho, maybe httpd() should be in libc too :P
13:49:44 <tusho> it's just a little server for developing web apps
13:49:50 <tusho> AnMaster: ruby's stdlib is modular
13:50:03 <tusho> i don't see a problem with it it's minimal and slow
13:50:10 <AnMaster> make that: <AnMaster> tusho, maybe httpd() should be in libstdc++ too :P
13:50:11 <tusho> so just the ticket for this :P
13:50:22 <tusho> AnMaster: well no, ruby's stdlib has just about everything
13:50:25 <tusho> it's more like perl's stdlib
13:50:48 <tusho> if you want something, you 'require' it
13:50:54 <tusho> AnMaster: not quite.
13:51:13 <tusho> but, zlib, ftp/http/imap/pop/smtp/telnet clients, option parser, mini http server...
13:51:34 <tusho> just useful stuff that you use almost every day
13:51:43 <tusho> AnMaster: in what sense
13:51:52 <AnMaster> like constructing structs for FFI
13:52:27 <tusho> AnMaster: an ffi isn't built in but there's a very rich library that's readily available
13:52:31 <tusho> and it has a nice extension mechanism
13:52:39 <tusho> outside of the build-ffi-from-inside
13:53:49 * tusho figured out how to add an 'Edit' link
13:55:26 -!- Corun has quit ("This computer has gone to sleep").
14:19:52 -!- pikhq has joined.
14:20:38 -!- pikhq has left (?).
14:20:44 -!- pikhq has joined.
14:23:04 -!- lilja has quit (Read error: 110 (Connection timed out)).
14:57:13 -!- sebbu2 has joined.
15:04:41 <AnMaster> pikhq, it is very hard to optimize Def-BF
15:04:55 <AnMaster> as you need to be able to jump into the middle of a ----
15:05:04 <AnMaster> so you need to emit several code versions
15:05:49 <AnMaster> +++++-->>><<[-]---+++<>++---<-+>-[->+><-<]
15:06:03 <AnMaster> you need to be able to jump into the middle of each instruction
15:06:46 <pikhq> Yeah, Def-BF *is* a tiny bit of a bitch to optimize. . .
15:07:01 -!- sebbu has quit (Read error: 113 (No route to host)).
15:07:01 -!- sebbu2 has changed nick to sebbu.
15:07:55 <AnMaster> pikhq, it can already optimize it well based on brainfuck rules
15:08:14 <AnMaster> but can't see how I could do that
15:08:21 <AnMaster> need to be done at higher level
15:08:43 <AnMaster> pikhq, is the ? instruction valid in high level code? I mean can it jump freely at that level?
15:09:00 <pikhq> High level code is a superset of low level coded.
15:09:13 <AnMaster> pikhq, yet you can't know location of your code
15:09:19 <AnMaster> or how can you get address of a function?
15:09:27 <pikhq> However. . . RodgerTheGreat: How do you feel about adding a function attribute setup?
15:09:59 <AnMaster> pikhq, I refuse to implement that
15:10:17 <AnMaster> pikhq, my code can properly emit unoptimized low level code
15:10:23 <pikhq> It'd make optimising a bit more efficient. . .
15:10:24 <AnMaster> and got a good brainfuck optimizer
15:10:39 <AnMaster> that doesn't yet handle the jump stuff
15:10:41 <pikhq> If you can mark a function as, say, never being jumped into.
15:10:53 <AnMaster> that have to happen at high level
15:11:03 <AnMaster> I'm doing it as preprocessor + low level remember
15:11:17 <pikhq> Well, that's no use to you.
15:11:29 <AnMaster> pikhq, I will push my low level stuff somewhere
15:11:56 <pikhq> Hrm. Jebus. For a second time, I'm thinking "Hmm. Maybe I could just let GCC's optimization code do its magic?"
15:12:32 <AnMaster> pikhq, feel free to reuse my code. it is GPL3
15:12:44 <AnMaster> pikhq, when you get home do it then
15:12:58 <pikhq> Simple enough to emerge.
15:13:03 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
15:13:36 <AnMaster> pikhq, in return I want the needed flex/bison stuff ;P
15:13:56 <pikhq> The Bison stuff is by no means done ATM.
15:14:09 <pikhq> Namely: it has about 60 shift/reduce conflicts.
15:14:14 <pikhq> (I wrote it late at night)
15:14:22 <AnMaster> what is a shift/reduce conflict?
15:14:32 <AnMaster> pikhq, and couldn't you pastebin the flex part of it then?
15:14:35 <pikhq> Ambiguity in the syntax as written.
15:14:53 <pikhq> I don't have the Flex part on me, but I could hand you it with ease.
15:15:02 <pikhq> Well, when I get back home.
15:15:09 <AnMaster> pikhq, how long will that take?
15:15:39 <AnMaster> pikhq, I will be sleeping then
15:16:10 <AnMaster> so better fix the bison as well
15:16:17 <AnMaster> and pastebin when you go to bed or whatever
15:16:29 <pikhq> I make no promises on fixing the Bison; I'm addicted to HL2 and Portal ATM. ;p
15:16:52 <AnMaster> pikhq, pastebin the non fixed version if it isn't fixed
15:21:08 <tusho> cool, I added a blog display to my personal wiki without touching the actual code
15:21:19 <tusho> since it can embed ruby I just wrote 16 lines of index page
15:21:34 <tusho> AnMaster: don't worry, it wasn't through an xml configuration language
15:21:40 <AnMaster> I know how to solve it! I write the optimzier in bash
15:22:01 <AnMaster> tusho, I do have one system() call
15:22:14 * tusho also added, to the development server, a thing that makes /edit/pagename open up the page in my editor
15:22:23 <tusho> and the template always links to the local /edit/ never on the server (where it won't exist)
15:22:27 <tusho> so i can edit stuff super-trivially
15:22:37 <tusho> AnMaster: nothing wrong with that...
15:22:49 <tusho> just "editor filename" in a handler :P
15:24:09 <AnMaster> tusho, you are off your chump (to quote the OpenBSD release song)
15:46:11 <AnMaster> pikhq, here is an example of unoptimized code:
15:46:13 <AnMaster> http://rafb.net/p/d6e1bD56.html
15:47:16 <AnMaster> pikhq, about "don't jump into" attribute, it could indeed help
15:47:28 <AnMaster> pikhq, because I could optimize some stuff at higher level
15:47:38 <AnMaster> + have an extended syntax to pass some of that onwards
15:54:30 <AnMaster> tusho, aren't you going to download the code?
15:54:58 <AnMaster> anyway I know how do pass the "may optimize bit"
15:55:26 <AnMaster> 1) marker in code for begin/end may optimize bit
15:55:47 <AnMaster> 2) place all such functions at the end
15:55:51 <pikhq> Something a bit like GCC's __attribute__.
15:56:11 <RodgerTheGreat> I'm uncertain what you mean by a function that's never jumped into.
15:56:43 <pikhq> You have a jump instruction inside of Def-BF. . .
15:57:01 <pikhq> In theory, one could be doing long jumps all over the place.
15:59:21 -!- Slereah_ has joined.
16:00:14 <RodgerTheGreat> however, in the high-level language you can disallow inter-function jumps
16:00:29 <pikhq> Well, that is handy.
16:00:51 <RodgerTheGreat> solves a lot of the really nasty stack-smashing you could get otherwise
16:01:03 <pikhq> I guess if someone *really* wants longjmp, then they'd have to call out to the C library.
16:01:18 <RodgerTheGreat> and I can't imagine a reason a well-formed high level program would need one
16:01:35 <pikhq> It's actually used in C from time to time.
16:01:47 <pikhq> Though I'm convinced that most people do it just to piss me off. :p
16:02:16 <RodgerTheGreat> but yes- just make it impossible from the high-level language. It's nasty and we don't need it
16:02:17 <AnMaster> so mark a function as "don't jump into this"
16:02:26 <AnMaster> RodgerTheGreat, we want function pointers
16:03:41 <AnMaster> well until I got good specs on high level language I can't implement it
16:03:52 <RodgerTheGreat> because making a call on a function pointer is a real function call, while a longjump just goes straight to a chunk of code without doing any stack housekeeping
16:04:31 <RodgerTheGreat> the original spec isn't very detailed, but pikhq and I have made great strides toward hammering out a complete spec
16:04:32 <pikhq> So, basically, you say 'fuck longjmps?'
16:04:39 <pikhq> I think I agree with that. ;)
16:04:49 <AnMaster> RodgerTheGreat, I have implemented the low level part
16:04:56 <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:05:04 <RodgerTheGreat> we shouldn't design a major feature of the language around an obscure case
16:05:07 <pikhq> In which case, libc should be used, I gather?
16:05:35 <AnMaster> RodgerTheGreat, what if you want to implement a POSIX OS in it
16:05:51 <AnMaster> not that i think anyone will do this...
16:06:52 <RodgerTheGreat> that's the entire point of allowing people to call C functions- if there are extremely obscure, nasty things they need to do, they can make a little C wrapper for it.
16:10:05 <AnMaster> RodgerTheGreat, well calling C function would be possible
16:10:12 <AnMaster> but there is nothing in the API about it
16:10:19 <AnMaster> RodgerTheGreat, still what do you think of my code?
16:11:47 <AnMaster> <AnMaster> bzr branch http://rage.kuonet.org/~anmaster/bzr/defc
16:12:10 -!- Corun has joined.
16:12:17 <AnMaster> RodgerTheGreat, it is a version control system
16:12:49 <AnMaster> RodgerTheGreat, it's multiple files
16:12:51 <Deewiant> the code isn't visible without a bzr client, hmh
16:13:00 <AnMaster> Deewiant, yeah webui is broken
16:13:06 <AnMaster> can't get that to work with last python
16:13:37 <AnMaster> Deewiant, the server doesn't know anything about bzr
16:13:47 <RodgerTheGreat> well, I'm too lazy to install this program. Fix your web frontend or upload a tar of your code somewhere
16:17:34 <AnMaster> RodgerTheGreat, you need cmake to compile it
16:17:54 <AnMaster> current it is low level code only
16:20:18 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
16:20:32 <RodgerTheGreat> why, praytell, do you store a NULL in the last element of your string arrays?
16:21:06 <AnMaster> RodgerTheGreat, that is to mark the end
16:21:11 <tusho> RodgerTheGreat: c strings end with a null byte,.
16:21:11 <AnMaster> for (size_t i = 0; helpermacros[i]; i++) {
16:21:11 <AnMaster> fprintf(f, "%s\n", helpermacros[i]);
16:21:34 <AnMaster> tusho, well here it was NULL to mark end of "static const char* helpermacros[]"
16:21:42 <tusho> AnMaster: well OK yeah
16:21:52 <tusho> if you have something that you wanna traverse in c with size that might change
16:21:55 <tusho> terminate it with NULL, basically
16:22:03 <AnMaster> tusho, yes indeed it may change a lot here :)
16:22:21 <pikhq> RodgerTheGreat: Learn C. :p
16:22:43 <Deewiant> or to use sizeof and calculate it without having to store anything.
16:23:15 <tusho> RodgerTheGreat: if it doesn't change at runtime, yeah
16:23:59 <AnMaster> it doesn't change at runtime indeed... but I edit it a lot
16:24:09 <AnMaster> and this was coded at late night
16:24:09 <tusho> AnMaster: so use sizeof
16:24:11 <pikhq> If it's a global, there's no sense in NULL termination. If it's not a global, there's *probably* no sense in NULL termination.
16:24:12 <tusho> sizeof(helpermacros)
16:24:28 <tusho> AnMaster: i don't see another reason
16:24:31 <tusho> why not use sizeof?
16:24:57 <pikhq> And if you're going to have the array change size at runtime, you'll have the array size stored somewhere, anyways.
16:25:04 <pikhq> Well, unless you like memory leaks.
16:25:13 <AnMaster> and 1) it works 2) is 4 or 8 (depending on arch) bytes worth this argument?
16:25:15 <tusho> pikhq: memory leaks YAY
16:25:22 <pikhq> And it rights no memory leaks or else it gets the hose again.
16:25:59 <RodgerTheGreat> if I didn't bitch about at least one part of your code, you would accuse me of not looking at it
16:26:21 <pikhq> (I'm mister 'write assembly programs smaller than the smallest legal ELF header' :p)
16:27:03 <tusho> pikhq: You didn't write that article. :P
16:27:26 <pikhq> tusho: No, I just went through it, discovered that his code didn't work on my kernel, and wrote my own.
16:27:50 <AnMaster> pikhq, there are no memory leaks
16:28:10 <pikhq> AnMaster: "If you're going to have the array change size at runtime".
16:28:30 <pikhq> http://pikhq.nonlogic.org/hello.asm My version.
16:28:45 <AnMaster> anyway I'm trying to work out how to do the optimizer the right way
16:28:46 <pikhq> Though I might have a better one around; lemme check.
16:28:59 <AnMaster> the actual optimizer... not so
16:29:27 <RodgerTheGreat> I wonder if I still have that 412-byte pong game I wrote a while back...
16:30:09 <AnMaster> to be your code looks like nasm syntax
16:30:18 <pikhq> There's my better version. :)
16:30:29 <pikhq> I'm going for AT&T; just give me a sec.
16:34:45 <pikhq> Hrm; I seem to have forgotten the details of gas's constant syntax.
16:35:16 <pikhq> http://pikhq.nonlogic.org/hello-2.asm This is my better one, though it's in nasm syntax still.
16:35:54 <AnMaster> pikhq, and that is a syntax I can't read at all
16:36:06 <pikhq> Argh. And that one doesn't seem to run correctly.
16:36:16 <AnMaster> pikhq, as in: I can understand gcc -S output
16:36:21 <pikhq> It was a while ago.
16:55:02 <AnMaster> I think I got the new optimize working, except the translation of [-] into ?0x0
16:55:23 <AnMaster> pikhq, it doesn't work correctly yet
16:55:42 <AnMaster> the tree store the old stuff too now
16:58:13 <oklopol> pikhq: i don't get it, where's the loop?
16:58:24 <oklopol> or does 80 print a null-terminated string?
16:58:41 <pikhq> It calls a syscall. Will describe in more detail when I get back.
16:58:56 <oklopol> not that there's a null-terminated string there, actually
17:00:24 <AnMaster> I thought SYSCALL/SYSRET was used these days
17:04:50 <AnMaster> code is generated backwards in parts
17:05:57 <AnMaster> oh wait I think I see what I do
17:09:36 -!- Corun has quit ("This computer has gone to sleep").
17:14:30 -!- oerjan has joined.
17:20:51 * pikhq returns from lunch
17:22:14 <AnMaster> pikhq, RodgerTheGreat: is it valid to extend the low level code with additional instructions that would be generated by the preprocessor
17:22:21 <AnMaster> for example I'm thinking about a marker:
17:22:38 <AnMaster> I would probably use "o" for it
17:23:25 <RodgerTheGreat> you can add stuff for your post-optimizer, but it shouldn't be anything that affects execution, i.e. if they're interpreted as comments the program should still run just fine
17:23:59 <pikhq> oklopol: I call the 'write' syscall.
17:24:19 <pikhq> Write doesn't take a null-terminated string, it takes a file descriptor, a string, and a string size.
17:24:21 <AnMaster> RodgerTheGreat, here it would be "allow jump breaking optimizing" and "don't allow"
17:25:09 <AnMaster> RodgerTheGreat, there would be another for "function call to compiler provided standard library function"
17:25:21 <pikhq> AnMaster: In most cases, one should use Linux's syscall call gate, which is an address in memory containing code that does the most efficient syscall method for the CPU in question. . .
17:25:29 <pikhq> On all Linux systems, however, int 0x80 is valid.
17:25:36 <pikhq> Well, all Linux x86 systems.
17:25:47 <AnMaster> RodgerTheGreat, after all the code is just the internal representation used between preprocessor and compiler
17:26:11 <AnMaster> it will probably be written to a temp file simply
17:26:21 <AnMaster> currently I can't use a pipe as I mmap() the file
17:31:39 <AnMaster> actually if literal # is forbidden in high level code, I could just insert special target marker dumb opcodes
17:32:05 <AnMaster> but they would stop any optimizing across the border
17:32:10 <AnMaster> pikhq, RodgerTheGreat does that wound sane?
17:33:08 -!- Guest76788 has changed nick to augur.
17:33:16 -!- augur has changed nick to psygnisfive.
17:33:22 <AnMaster> RodgerTheGreat, you said it would be?
17:33:35 <RodgerTheGreat> I was suggesting you place some restrictions on what it can do
17:33:56 <psygnisfive> someone else apparently has the "augur" username and it keeps kicking me off it
17:34:02 <oerjan> AnMaster: as you can see by the number, it's just a clone
17:34:07 <psygnisfive> and yet "augur" is never online unless i'm on! >_<
17:34:42 <tusho> psygnisfive: it's their nickname.
17:34:46 <AnMaster> RodgerTheGreat, well got details for it?
17:35:02 <psygnisfive> and only sometimes does nickserv actually kick me off
17:35:26 <tusho> psygnisfive: yes they do exist
17:35:35 <tusho> nickserv: Information on augur (account knotty):
17:35:35 <tusho> [17:34] nickserv: Registered : Feb 23 05:35:37 2005 (3 years, 21 weeks, 3 days, 10:58:53 ago)
17:35:36 <tusho> [17:34] nickserv: User reg. : Jul 31 21:07:04 2004 (3 years, 50 weeks, 6 days, 19:27:26 ago)
17:35:36 <tusho> [17:34] nickserv: Last seen : (about 0 weeks ago)
17:35:36 <tusho> [17:34] nickserv: User seen : now
17:35:48 <tusho> they've had it for 3 years and they're still using it. don't think you have a claim to it
17:35:50 <psygnisfive> tusho, thats because i changed my nick to it. :P
17:36:06 <tusho> that only updates if they identify
17:36:10 <tusho> that only updates if they identify
17:36:20 <tusho> so they have identified it in the past week
17:36:46 <AnMaster> psygnisfive, just don't use that nick then
17:36:55 <oerjan> it says "account knotty" maybe that is online?
17:37:52 <oerjan> (online but away, according to whois)
17:38:52 <AnMaster> RodgerTheGreat, so when will % be allowed in high level code?
17:39:43 <AnMaster> well I'm leaving at 11 (UTC+2 or CEST)
17:43:02 -!- tusho_ has joined.
17:43:03 <oerjan> 4 1/4 more hours. PING.
17:45:02 <AnMaster> tusho_, I added a marker that toggles "can optimize away instructions freely" "can't do it"
17:45:11 <AnMaster> I may get the full optimizing working later
17:47:53 <AnMaster> oklopol, the problem is that walking the tree is much harder now
17:48:06 <AnMaster> but now I can't remove the nodes
17:54:35 <oklopol> AnMaster: i'm a pythonist, theory = practise for me
17:54:45 <oklopol> also my o had nothing to do with your prob :P
17:56:56 * oerjan assumed it was an oko seed, but wasn't in the mood
17:57:39 <psygnisfive> thats disgusting, oklopol wouldn't leave cum in the chatroom like that
17:57:48 -!- tusho has quit (Connection timed out).
17:59:02 <oerjan> not sure if it counts as cum - are okos animal, vegetable or mineral?
17:59:38 <tusho_> psygnisfive: big sexy finnish minerals
17:59:52 <psygnisfive> photo-synthesizing silicon-based 4-legged creatures
18:01:06 -!- oerjan has quit (Remote closed the connection).
18:01:15 -!- oerjan has joined.
18:03:18 <oerjan> no, there was a network error
18:04:38 <oerjan> the network here seems slow today, so there was a timeout
18:25:24 <AnMaster> I managed to get it to run that far
18:25:41 <tusho_> 71mb of compiler output?
18:25:43 <tusho_> Your compiler sucks :P
18:25:50 <AnMaster> tusho_, look... it is the lostking
18:26:03 <tusho_> i've written BF compilers
18:26:05 <AnMaster> with optimizing the output is "just" 38 MB
18:26:07 <tusho_> they compile lostkng trivially
18:26:23 <AnMaster> tusho_, too much indention and nice code
18:26:23 <tusho_> pikhq's pfuck compiles it in under a second
18:26:46 <AnMaster> tusho_, and the code generation took about 2 seconds
18:27:12 <pikhq> It also does it in a fairly small amount of space.
18:27:19 <pikhq> Lemme just check how much. ;)
18:27:25 <oklopol> tusho_: you haven't happened to learn python bytecode? you said you might :P
18:27:30 <AnMaster> pikhq, mine generates readable C code
18:27:35 <AnMaster> as I needed that when debugging
18:27:43 <oklopol> i wanna make my own dis module
18:32:20 <pikhq> Of course, it takes for-fucking-ever to compile with GCC. . .
18:33:07 <oklopol> i'm going to go waste some serious time now ->
18:33:08 -!- oklopol has quit (Client Quit).
18:34:22 <AnMaster> tusho_, by removing indention and such I got it down to 25 MB output
18:37:50 <pikhq> What's it like when compiled?
18:38:04 <pikhq> (don't use -O unless you want to wait a year)
18:39:47 -!- Hiato has joined.
18:40:12 <AnMaster> thanks to a small bug in the optimizer
18:40:24 <tusho_> pikhq: I once made gcc hang on -O3.
18:40:25 <AnMaster> it sometimes forgot to optimize more than 3 instructions together
18:41:08 <AnMaster> well I'm waiting for gcc to compile this
18:41:20 <pikhq> tusho_: It's easy with LostKng.
18:42:40 <pikhq> God, I love PEBBLE and PFUCK. . .
18:45:32 <RodgerTheGreat> pikhq: this reminds me of something- remember when we were playing around with variable allocation to attempt to create shorter programs by eliminating some < and >'s?
18:45:39 <AnMaster> case 86: while (cells[dataptr] != 0) {
18:46:11 <RodgerTheGreat> our heuristics failed, but we never tried bruteforcing or doing a genetic algorithm with resultant program length as a fitness value
18:46:40 <pikhq> Great. Now you might have me back in on PEBBLE instead of Def-BF.
18:48:06 <pikhq> AnMaster: Don't worry; I'm in a Brainfucking mood right now.
18:48:29 <pikhq> Though I might end up writing a Def-BF backend for PEBBLE, that's about the extent of what I'll do to PEBBLE today.
18:48:36 <RodgerTheGreat> pikhq: bruteforcing would cost about n!, where n is the number of variables in a program. This can get rather expensive, but arrays cost no more than any other variable type and there are a few ways we can reduce the scope of bruteforcing
18:49:09 -!- olsner has joined.
18:49:38 <pikhq> RodgerTheGreat: Heuristics might be better with a proper compiler. If you will recall, my attempts at sticking heuristics in PEBBLE were fairly hacky, due to PEBBLE's design.
18:50:27 <RodgerTheGreat> well, the heuristics we came up with certainly *seemed* like they would produce good results...
18:58:33 <AnMaster> (ulimit -m 1075200 ;gcc -O0 -std=c99 -o lostking out.c; )
19:21:26 <AnMaster> pikhq, RodgerTheGreat: gcc is still compiling
19:21:54 <pikhq> Hrm. I guess that's what you get for having something resembling Duff's device in there. ;)
19:22:09 <AnMaster> pikhq, why would that cause it?
19:22:26 <AnMaster> pikhq, anyway it is the only sane way to compile it when you do jumps
19:22:36 <AnMaster> no jumps in lostkingdom though
19:22:45 <AnMaster> if you think that is the cause?
19:23:17 <pikhq> LostKng.b is a freaking gigantic program. . . And Duff's device-esque things will take for-fucking-ever to compile on that scale.
19:23:31 <AnMaster> pikhq, why will it slow down though?
19:23:42 <pikhq> Keep in mind that the compiler is probably composing the world's largest jump table.
19:24:16 <pikhq> That is going to be a fucking huge binary.
19:24:21 <AnMaster> so if I strip all the case: that won't be needed for lostkingdom anyway...
19:24:21 <pikhq> I feel sorry for the linker.
19:24:38 <pikhq> Though it will still take a while.
19:25:18 <tusho_> i wanna see the hugefuckingjumptable
19:25:45 <tusho_> that won't give a huge jump table AnMaster
19:25:50 <pikhq> tusho_: You're welcome to try.
19:26:07 <tusho_> pikhq: I am actually using this box
19:26:38 <pikhq> Hrm. I kinda half-wonder if AnMaster was using leibniz for that.
19:26:42 <AnMaster> tusho_, you can try it out using my last version of the compile
19:27:00 -!- Hiato has quit ("Leaving.").
19:27:09 <pikhq> That would be a 'no'.
19:27:25 <tusho_> i assume AnMaster knows who the mathematician is
19:27:25 <pikhq> Leibniz is the main server of Nonlogic.
19:27:43 <tusho_> AnMaster: you know who http://en.wikipedia.org/wiki/Gottfried_Leibniz is right
19:28:51 <AnMaster> I think, that computed goto, though gcc specific, may work better
19:31:31 <tusho_> computed goto kind of sucks though.
19:31:41 <tusho_> you won't get fun duff device things.
19:31:45 <pikhq> Computed goto is probably better.
19:32:06 <oerjan> no, goto blows. it's come from that sucks.
19:32:58 -!- Sgeo has quit (Connection timed out).
19:33:55 <pikhq> Hmm. Computed come from, anyone?
19:34:21 <oerjan> i think CLC-INTERCAL has it, or perhaps both
19:36:07 <tusho_> computed come from is, like, intercal's hallmark
19:37:33 <psygnisfive> what was that thing you suggested i get to go along with musicbrainz
19:38:13 <tusho_> psygnisfive: musicbrainz picard
19:38:28 <tusho_> it's picard, which is musicbrainz's tagger
19:38:30 <psygnisfive> right, but didnt you suggest some other thing to go with it? a plugin or something
19:38:54 <tusho_> but really, i'd just use picard
19:39:24 <tusho_> musicbrainz isn't a program
19:39:34 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:42 <tusho_> http://musicbrainz.org/ftpmirror/pub/musicbrainz/users/robert/picard-0.9.0beta1-build2.dmg
19:39:56 <tusho_> not all taggers are equal
19:40:11 <psygnisfive> well the musicbrainz db doesnt have all my songs
19:40:22 <tusho_> you're just using your tagger wrong
19:40:28 <tusho_> which brings me back to my previous point
19:40:40 <tusho_> musicbrainz has everything, more or less.
19:40:47 <psygnisfive> because theres so much you can do wrong when theres only one button: "find tags"
19:41:26 <Deewiant> I had to add a couple of artists and a record label a few weeks back just to add one CD
19:41:39 <tusho_> Deewiant: ok, well i've never seen a track that musicbrainz didn't have
19:41:48 <Deewiant> you just listen to too mainstream music ;-)
19:41:52 <tusho_> but I don't accept that it can't find over 50% of psygnisfive's tracks
19:42:11 <Deewiant> depends on what he means by 'tracks', I guess
19:42:11 <psygnisfive> well, granted, it seems that the majority of the tracks are actually partials
19:42:18 <psygnisfive> so im getting rid of those and trying again
19:42:30 <Deewiant> musicbrainz has probably less than 10% of all of my music
19:42:49 <Deewiant> but when it comes to stuff that's actually been released and in stores, it certainly has most.
19:44:54 <Deewiant> I usually don't tag non-store stuff
19:44:57 <psygnisfive> my musical tastes are.. well.. esoteric :D
19:45:40 <Deewiant> stuff like game soundtracks that have been ripped from the original data files, free stuff people release on the 'Net... I just go with the tags they have, they're canonical as that's the original format
19:46:29 <Deewiant> hell, most of my music is in file formats that Picard doesn't support :-P
19:46:34 <tusho_> i just tag my stuff manually
19:46:42 <tusho_> using wikipedia + other stuff as a reference
19:46:57 <tusho_> Deewiant: Any musepack in there?
19:46:59 <Deewiant> I first apply the Musicbrainz tags and then sometimes correct them
19:47:19 <tusho_> psygnisfive: well yeah exactly
19:47:21 <psygnisfive> and if there were over a thousand items that i need to tag
19:47:36 <tusho_> tag the names by what the song sounds like
19:47:43 <tusho_> like if it says 'hello' a lot
19:47:47 <tusho_> set the title to 'hello'
19:47:55 <tusho_> name the albums after what the whole album feels like
19:47:55 <psygnisfive> luckilly for me it seems that about half the files, if not more, are only file fragments (god only knows how that happens...)
19:47:59 <tusho_> and invent a name for the group
19:48:02 <tusho_> then draw album art for it
19:48:14 <tusho_> Deewiant: well, multiple words
19:48:28 <tusho_> and put it on the web so we can compare
19:48:28 <Deewiant> "almost good" "very good" "quite bad" "a-ok"
19:48:36 <tusho_> Deewiant: i said words that are in the song
19:48:45 <tusho_> unless you have songs whose lyrics consist of "almost good"
19:48:46 <psygnisfive> do you know if MP3's have some tag-based garbage that lets them start and stop in subsections of the song?
19:48:49 <Deewiant> "what the whole album feels like"
19:48:50 <tusho_> and I kind of meant like
19:48:53 <psygnisfive> or do they necessarily play from beginning to end
19:48:54 <tusho_> "death metal piggy slaughter"
19:49:13 <psygnisfive> because i dont see how its possible that half of a song could've been lost or deleted
19:49:16 <Deewiant> it's just a compressed stream with tags.
19:49:30 <Deewiant> neither do I but it does happen. :-P
19:49:46 <Deewiant> or rather, I've never seen it happen, but partial files exist.
19:54:14 <AnMaster> however no way I will try to debug lostking
19:54:24 <AnMaster> I will simply try to debug easier cases
19:56:54 <AnMaster> psygnisfive, these are esolangs?
20:07:01 -!- oerjan has quit ("ZZZZZZZZZZZZ").
20:15:50 <AnMaster> pikhq, ok I will do two things: 1) add attribute to mark function as "no jumps into this" 2) I will add support for not generating labels in that area
20:19:01 <AnMaster> pikhq, RodgerTheGreat: about the instruction pointers... are they machine pointers... or code pointers
20:19:17 <AnMaster> as in does every brainfuck instruction take one cell
20:21:08 <AnMaster> that is just a parameter for ?
20:21:41 <AnMaster> RodgerTheGreat, if you generate ASM each instruction will likely take more than one actual CPU address
20:22:16 <AnMaster> there is no 1-to-1 mapping between source code size and generated code size
20:23:06 <RodgerTheGreat> which is why adding metadata for a low-level def-bf -> ASM converter will probably make a lot of sense
20:23:20 <AnMaster> RodgerTheGreat, and you want ?0xXXXXXXXXXXXXXXXX to take two cells?!
20:24:14 <AnMaster> you can select at compile time
20:24:25 <pikhq> RodgerTheGreat: Perhaps, say, a jump table? :p
20:24:30 <AnMaster> RodgerTheGreat, however it isn't stored like that
20:25:02 <AnMaster> RodgerTheGreat, I see it as a parameter that can be embedded in the same byte
20:27:39 <AnMaster> this makes it possible to jump to the 0x... part
20:27:46 <AnMaster> RodgerTheGreat, did you intend that?
20:27:54 <AnMaster> and what the heck would the result be?
20:28:12 <RodgerTheGreat> it's possible to do a lot of screwy things with a jump instruction
20:28:30 <AnMaster> RodgerTheGreat, well what would the result be?
20:28:43 <pikhq> Undefined behavior.
20:28:48 <AnMaster> mine won't allow jump to it, or if it did I would make it cause a exit simply
20:30:23 <pikhq> RodgerTheGreat: Hmm. I wonder. . . You think maybe I can get away with trying to make each instruction use the same amount of space? :p
20:30:39 <AnMaster> pikhq, I don't that is possible on x86
20:30:49 <pikhq> AnMaster: With adding nops.
20:31:23 <pikhq> If I can get each individual Def-BF instruction to fit in 4 bytes, then I am t3h awesome. :p
20:31:36 <pikhq> (definitely impossible)
20:31:47 <AnMaster> pikhq, well maybe if you do CALL for some
20:31:55 <AnMaster> to jump to some compiler provided functions
20:32:14 <pikhq> A pointer is 4 bytes.
20:32:28 <AnMaster> pikhq, so nop is a bad and space wasting idea
20:32:34 <RodgerTheGreat> pikhq: whatever you come up with will most likely be nonportable to other architectures, so it will ultimately have limited value
20:32:43 <AnMaster> that's shorter pointer isn't it?
20:32:48 <pikhq> Jump table is a possibility.
20:32:59 <pikhq> Except that it would be fucking insane.
20:32:59 <AnMaster> pikhq, well jump tables every x bits
20:33:33 <pikhq> RodgerTheGreat: It gets hard as hell when you start thinking about actually *doing* it.
20:33:39 <AnMaster> RodgerTheGreat, my implementation is portable
20:33:56 <pikhq> You *know*, if we assume a virtual machine, instead of real hardware, this is trivial.
20:34:26 <AnMaster> pikhq, still it is good to have several implementations
20:34:32 <AnMaster> anyway mine isn't virtual machine
20:34:42 <AnMaster> insane C code... but C code...
20:35:21 <RodgerTheGreat> I plan to write a VM that runs low-level Def-BF as bytecode
20:35:55 <RodgerTheGreat> giving it a good debugger will likely be a very useful tool
20:40:37 <AnMaster> RodgerTheGreat, yes makes sense
20:40:58 <AnMaster> RodgerTheGreat, make sure to make the license for the flex/bison files you use GPL compatible
20:41:26 <RodgerTheGreat> after all, I don't think speed or memory usage will be of concern for quite a while
20:41:37 <AnMaster> anyway I got the first working (not saying bug free) implementation of the low level def-bf
20:41:45 <RodgerTheGreat> I don't plan on using flex or bison and I don't use the GPL when I license software
20:41:55 <AnMaster> RodgerTheGreat, but GPL compatible?
20:41:59 <AnMaster> as in BSD or something like that
20:42:42 <RodgerTheGreat> the WTFPL is a perfectly valid free software license: http://sam.zoy.org/wtfpl/
20:43:05 <AnMaster> RodgerTheGreat, is it GPL compatible?
20:44:13 <AnMaster> anyway it is good to have many implementations to compare with
20:44:22 <AnMaster> helps finding bugs or unclear part of the standard
20:45:27 <RodgerTheGreat> I would strongly urge anyone wishing their code to be part of the Def-BF reference implementation, when it's complete, to use either the WTFPL or the BSD public license.
20:49:33 <AnMaster> no need to reuse if you don't want to
20:50:18 <RodgerTheGreat> but GPL3 isn't going to cut it for a standardized distribution
20:50:22 <AnMaster> however I could dual license parts under BSD if you wish to reuse something
21:01:50 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:05:20 -!- Hiato has joined.
21:05:42 -!- Hiato has quit (Client Quit).
21:11:10 -!- Sgeo has joined.
21:13:40 -!- pikhq has left (?).
21:30:09 -!- Slereah_ has joined.
21:56:16 <AnMaster> tusho_, Deewiant: another thought about case sensitivity....
21:56:25 <AnMaster> the thing about "only makes a difference in names"
21:56:38 <AnMaster> well in German any noun got upper case first letter
21:57:02 <AnMaster> tusho_, no idea if there are any verbs spelled like nouns
21:57:03 <tusho_> because 'foobar' and 'Foobar' are both the same thing in german
21:57:03 <psygnisfive> straight up now baby do you really wanna love me forever oh oh oh
21:57:06 <tusho_> that is there's no ambiguity
21:57:06 <Deewiant> in German, all nouns can be considered as names for the object they represent
21:57:14 <tusho_> so case-preserving is OK
21:57:17 <Deewiant> or that's how I've always seen it. But then, I'm not German. :-P
21:57:22 <tusho_> AnMaster: it's rare enough for it not to matter
21:57:34 <Deewiant> and this is what I meant by everybody caring only about English ;-)
21:57:37 <AnMaster> well no idea as I don't speak German
21:58:07 <AnMaster> Deewiant, we still got locales
21:58:21 <AnMaster> you need to special case a lot
21:58:26 <psygnisfive> listen, im eating bratwurst and sauerkraut, therefore i can answer any questions you have on german
21:58:44 <AnMaster> Deewiant, as in "not easy to code"
21:58:54 <AnMaster> a-z are a range in ASCII and unicode
21:59:15 <Deewiant> fortunately unicode generally provides the information
21:59:39 <AnMaster> Deewiant, one language could have ä as lowercase of Ä
21:59:41 <Deewiant> so it boils down to reading data and then x = uppercase[x], unless you have a memory constraint (TBH I don't know how big such tables would be)
21:59:46 <AnMaster> but another could have it as separate char
22:00:04 <Deewiant> well sure, it's not a fully solved problem
22:00:19 <Deewiant> I didn't really understand your point just now, but yes, it's not entirely trivial
22:00:20 <AnMaster> psygnisfive, no one is coding atm
22:00:57 <psygnisfive> ok whats the problem you're trying to solve
22:01:23 <tusho_> and case insensitivety
22:02:08 <Deewiant> "non-ascii" should really be the default these days, it's "only ascii" that should be the special case :-P
22:02:17 <tusho_> but it depends on the locale
22:02:20 <tusho_> what is case-equivilent
22:02:25 <tusho_> we're tryign to resolve that issue
22:02:45 <psygnisfive> ask apple? im sure they've got that junk figured out. :P
22:03:03 <tusho_> ^^^^^^^^^ read up and see why
22:03:21 <tusho_> it's pretty freakin' good
22:03:33 <psygnisfive> but for certain character sets its just.. idiotic.
22:04:06 <tusho_> now who wants to buy me tusho.org so I can deploy this awesome software :>
22:04:32 <psygnisfive> i'd like to deploy MY software on your domain, if you know what I mean
22:05:32 -!- Slereah__ has joined.
22:07:26 <tusho_> http://uuner.doslash.org/forfun/sedtris.sed
22:07:34 <tusho_> http://samhuri.net/sedtris.png
22:10:44 <tusho_> # Julia Jomantaite <julia.jomantaite@gmail.com>
22:11:21 -!- bwr has quit (Connection timed out).
22:22:36 <tusho_> beh. stupid domains and their 'costing money'
22:23:28 <psygnisfive> =-[p0-=-09--io-[][-][-ikjmkoplom,,l., ,.==, ;.,
22:23:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
22:24:44 <psygnisfive> tho we should make a programming language where that's the cat program
22:24:54 -!- Judofyr has joined.
22:30:00 <tusho_> not on tusho.org, but, heck, that's a detail :p
22:30:02 <tusho_> http://tusho.eso-std.org/
22:30:26 <tusho_> powered by about 100 lines of ruby and for the blog index a mash of markdown and erubis.
22:30:47 <tusho_> http://tusho.eso-std.org/blog/json_in_html.html <-- the only even mildly interesting bit of content, to save you the trouble
22:31:24 <Judofyr> have you bought tusho.org?
22:31:39 <tusho_> anyway, I just wrote this mishmash of software today as a spur of the moment thing
22:31:41 <Judofyr> I'm pretty pleased with DreamHost (for domains)
22:31:58 <tusho_> i was getting too bogged down in writing the most awesomest software evarr instead of just actually getting something i can put content on
22:32:04 <tusho_> which is why, e.g. the css file is only one line...
22:32:30 <tusho_> anyway, I use slicehost for hosting
22:32:33 <tusho_> and I think mydomain for domains
22:32:38 <tusho_> then they put up the price 300%
22:32:40 -!- oklopol has joined.
22:33:17 <tusho_> Judofyr: http://github.com/tusho/wit/tree/master here's the code powering it if you're interested
22:33:23 <tusho_> the readme has the blog code
22:33:51 <tusho_> psygnisfive: :| don't.
22:33:55 <tusho_> or if you do give it to me.
22:33:58 -!- ihope has joined.
22:34:07 <tusho_> come on psygnisfive :\
22:34:35 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
22:35:12 -!- Judofyr has joined.
22:35:56 <ihope> Perhaps we should make 'v' a standard scheme name for vjn.cc addresses, so we can replace the link in the topic with v:x.
22:36:03 <Judofyr> and I'm pretty pleased with Webby: http://judofyr.net/posts/building-a-website-with-webby.html
22:36:47 <tusho_> Judofyr: how on earth could I use something i didn't write
22:37:07 <tusho_> Judofyr: the neat thing about my site is you see that 'Edit locally' link?
22:37:15 <tusho_> it points to http://localhost:8080/edit/pagename
22:37:19 <tusho_> which opens textmate on the right file
22:37:30 <tusho_> so as long as I keep the development version up, I can just edit it directly there
22:37:37 <tusho_> and a git post-commit hook automatically regenerates the html, so:
22:37:56 <tusho_> click edit link --> edit --> ctrl-shift-g 2 <summary> <return> --> rake deploy
22:38:20 <tusho_> oh and re: that article about webby
22:38:20 <tusho_> All you have to do is require 'rss/rss' and Time#iso8601 is at
22:38:26 <tusho_> you don't need to require anything for that
22:39:15 <Judofyr> "undefined method `iso8601' for Tue Jul 22 23:39:00 +0200 2008:Time (NoMethodError)"
22:39:32 <tusho_> it's something that requires
22:39:49 <tusho_> something that erubis, rdiscount or webrick depend on i guess
22:39:57 <tusho_> and that's all the rakefile requires
22:40:23 -!- CakeProphet_ has joined.
22:40:59 <Judofyr> require 'time' is all you need!
22:41:35 -!- CakeProphet has quit (Nick collision from services.).
22:41:36 -!- CakeProphet_ has changed nick to CakeProphet.
22:45:22 <Judofyr> tusho_: what happened to gordon?
22:45:53 <tusho_> Judofyr: the flash implementation for Rack?
22:46:00 <tusho_> turns out it's pretty hard
22:46:30 <tusho_> basically it's hard to hook into the place in rack
22:46:39 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
22:47:00 <tusho_> yeah that's what I was going for
22:47:28 -!- Slereah__ has joined.
22:47:44 -!- atsampson has quit (Read error: 113 (No route to host)).
22:59:17 -!- Slereah_ has joined.
23:06:46 -!- atsampson has joined.
23:09:46 -!- Sgeo has quit (Connection timed out).
23:10:12 <olsner> is everything german like that!?
23:11:18 <olsner> what was it the name meant btw? einsturzende neubauten?
23:23:06 <tusho_> olsner: collapsing new buildings or something i think
23:23:16 <tusho_> found through wikisurfing, naturally
23:23:32 <tusho_> collapsing being an adjective
23:23:39 <tusho_> 'new buildings that are collapsing'
23:23:55 <olsner> ah, I recognize that... but was unsure if that was what it meant or what it *didn't* mean :P
23:24:30 -!- Slereah__ has quit (Read error: 110 (Connection timed out)).
23:24:56 <tusho_> http://tusho.eso-std.org/blog/universal_edit_button.html
23:25:08 <tusho_> ^ why Universal Edit Button is nice in practice but incredibly flawed in implementation
23:25:09 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
23:25:13 <oklopol> yeah that's what my german intuition says as well
23:25:58 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
23:26:23 -!- Judofyr has joined.
23:30:23 -!- Corun has joined.
23:32:48 -!- bwr has joined.
23:43:48 <tusho_> does anyone want to upmod http://www.reddit.com/comments/6szns/ two assholes have downmodded it because they're assholes :P
23:47:18 <Judofyr> tusho_: you should link to the new URL! http://www.reddit.com/r/programming/comments/6szns/Universal_Edit_Button_great_idea_in_theory_very/
23:47:30 <tusho_> Judofyr: i just looooooooooooove bloated urls
23:47:36 <tusho_> I remember when reddit didn't force www.
23:47:42 <tusho_> http://reddit.com/comments/6szns
23:48:08 <Judofyr> you can still link to that URL, though
23:48:21 <tusho_> psygnisfive: that's the comments.
23:48:25 <tusho_> it's the article above that.
23:48:59 <tusho_> psygnisfive: it only requires a username and password and automatically registers and logs you in
23:49:08 <tusho_> and when you click the up arrow it pops up the registration automatically
23:49:11 <tusho_> i dont' see how thats a barrier :P
23:49:42 <tusho_> its at 0 points now, 1 more point would push it on to the main page I believe due to the mover algorithm stuff
23:49:48 <tusho_> if you do it i'll wub you 4eva
23:49:53 <Judofyr> tusho_: in related news, I just passed 200 karma :D
23:50:08 <tusho_> Judofyr: in related news, I have just 14 karma from one submission :D
23:50:17 <tusho_> someone else downvoted it
23:50:31 <Judofyr> I got 25 for translating it to norwegian :)
23:50:47 <tusho_> i don't actually see why the article warrants downvoting :|
23:51:06 <tusho_> (I only have 807 comment karma too. People just can't accept someone who's INFALLABLY RIGHT)
23:51:07 <Judofyr> I usually never downvote...
23:51:35 <Judofyr> 245 comment karma here....
23:51:41 <tusho_> heh, from a comment on a submission you just made
23:51:42 <tusho_> {And ... don't forget about RAA. Many projects don't register at RAA. IMHO RAA should be the central catalog for software written in ruby no matter how and where it is hosted.}
23:51:59 <tusho_> i completely forgot about that thing because it's dead and useless.
23:55:05 <tusho_> but i still know what a MUD is
23:55:29 <Judofyr> I know what a MUD is, but I've never played one :P
23:55:35 <oklopol> i'm so old i'd already forgotten what a mud is.
23:55:47 <tusho_> "BBS? You kids today."