00:47:39 -!- The_8472 has quit ("Muss ein paar Welten vernichten, kann ein bissl dauern."). 01:22:35 -!- pgimeno has joined. 01:22:42 -!- GregorR-L has quit ("Leaving"). 01:31:37 -!- pikhq has joined. 01:34:00 Allow me to present: 01:34:06 BFM: The Next Generation. 01:34:10 ;) 01:34:17 http://pikhq.nonlogic.org/bfm.tar.bz2 01:34:29 Has to be, like, the first tarball out in a month. 01:35:31 All formerly valid BFM code is still valid. . . However, this build provides features that make for much more legible code (both in BFM code and in the compiler's code). . . 01:36:21 Additionally, a simple BFM interpreter is provided, as well as the "string" command, the "eval" command, and the ift, whilet, and whilet1 macros. 01:36:46 (look at the source in stdlib/ for more info on them) 01:37:16 oerjan? 01:37:26 eval? 01:38:44 It's what allows if, ift, whilet, and whilet1 to work. 01:39:04 macro if {var code} {} {} {while var {eval code}} 01:39:22 Err. 01:39:27 macro if {var code} {} {} {while var {eval code;set var 0}} 01:39:52 Basically, it allows one to *execute* one of the arguments to a macro. 01:47:04 sweet 01:47:53 The most *obvious* new feature to you, oerjan, should be the complete and utter rewrite of the compiler. ;) 01:49:11 Anyone have any ideas for a project for an independant study in programming for school? 01:49:50 A program idea generator. 01:49:51 XD 01:49:51 you are crazy enough to ask ''us''? 01:50:01 yep 01:50:11 Prove Malbolge Turing complete. 01:50:24 but it isn't. finite memory. 01:50:34 ha! yeah right 01:50:51 oerjan: But it has the infinite input and output tapes. 01:51:36 that doesn't help much 01:52:08 Unless one uses those tapes for access to an external memory device. 01:52:57 well, theoretically it might be enough to loop output back into input 01:54:10 giving you enough for an infinite queue 01:54:29 Hmm. . . Yeah. 01:54:32 back to my topic! :) 01:54:36 That'd work rather well. 01:55:36 what, who says we left your topic? (:C 01:57:05 you could write an interpreter for a simple (but non-esoteric) toy language 01:57:17 I don't think my teacher would be ok with an esoteric language 01:57:25 He said non-esoteric. 01:57:38 yeah, that comment was before I saw that 01:58:13 Meh, too many languages in exsistance 01:59:52 write a simulator of something... 02:00:09 Like? 02:02:36 something physics-related, perhaps 02:02:55 I'm still not sure what you mean 02:03:28 write a simulation of the universe. 02:05:17 or you could simulate something with humans, such as christmas shopping... 02:12:16 Thoughts on BFM: TNG? 02:12:26 (aside from "there's better things to work on!") 02:13:48 i'm afraid at the moment it's "I'm too tired too look at it right now" 02:15:31 Ah. 02:16:25 spent some hours reading a pdf book on proofs and types 02:50:54 -!- oerjan has quit ("Good night"). 04:08:03 -!- SimonRC has quit (anthony.freenode.net irc.freenode.net). 04:08:03 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 04:08:04 -!- SimonRC has joined. 04:08:06 -!- lindi- has joined. 04:08:15 -!- Sgeo has quit (Remote closed the connection). 04:33:09 bsmntbombdood: Come up with an idea. 04:33:22 I have an idea which I've discussed here before, but it's already licensed, so poop :P 04:33:46 I was doing the initial implementation in Java, but it may change to CL, depending on whether I take the AP test or not. 04:34:04 ... 04:34:18 Mmm? 04:34:45 bsmntbombdood: Come up with an idea. 04:34:52 Is that a command or a statement? 04:34:59 The latter. 04:35:16 Oh, then, what's your idea? 04:35:18 Come on. You must've come up with *some* ideas in your experience in programming? Something done wrong, something not quite modern enough, etc, etc. 04:35:46 bsmntbombdood: The idea for a lossless UDP mass transfer protocol minimizing ACKs. 04:35:56 I dunno... 04:36:03 Well, here's an idea: 04:36:51 -!- GregorR-L has joined. 04:36:51 Come up with a metadata tagging format for MP3, extra kudos for a format applicable to other music encoding filetypes, that allows you to be expressive *without* being hopelessly baroque like ID3v2. 04:37:33 That's not really a programming project 04:37:33 BEGIN INTERNET RELAY PROGRAMMING STATEMENT: 04:37:43 bsmntbombdood: Why not? 04:37:46 bsmntbombood, please come up with an idea for yourself. 04:37:50 END IRP STATEMENT. 04:38:08 You have to come up with the tagging format, and write code to demonstrate the tagging format's flexibility and ease of use. 04:48:06 sounds like a programming project to me. 04:50:53 what were the requirements of this assignment again? 04:51:09 There aren't hard requirements 04:52:22 Should take a semester, and be "advanced". (advanced in his mind isn't very advanced 04:52:33 ) 04:55:45 You've got enough time to write a simple kernel, methinks. 04:56:04 Show him what's really advanced. :p 04:56:49 heh 04:57:29 there are many operating system components that would be a sufficient challenge- a window manager, a package manager, a filesystem, etc. 04:57:44 an IDE or a compiler suite could be interesting 04:57:57 perhaps a shell 04:58:04 check out QNX. 04:58:04 :) 04:58:27 ShadowHntr: Yeah right 04:58:40 oh you're talking about writing one ! 04:59:32 RodgerTheGreat: Or too much of a challenge... 04:59:51 a shell isn't all that complicated 05:01:15 But there's plenty of good shells out there 05:02:38 you're missing the point. There are virtually no tasks for which workable software is completely unavailable. This doesn't make it pointless to build your own. 05:03:16 Well, the guy said it should be origina 05:03:18 l 05:03:50 there is no such thing as an "original idea", only improvements based on observation of existing solutions and problems. 05:04:06 Some ideas are more original than others 05:06:05 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 05:06:31 -!- ShadowHntr has joined. 05:06:53 rather than attempting to come up with a groundbreaking project, find an existing piece of software that you feel you can make better. 05:30:41 A window manager would be a pretty fun project. 05:30:58 I agree 05:31:14 Depending on the language you do it in, and how closely you want to follow the XDCCP (? forgot the name of the standard). 05:32:07 you could choose between a wide range of levels of complexity, which makes it a good project for a class- if things go badly, you can scale back. If things go well, you can add features 05:32:19 Exactly. 05:33:10 twin -> http://linuz.sns.it/~max/twin/screenshots/twin-on-X11.png ^_^ 05:33:23 Shameless lisp plug: http://paste.lisp.org/display/19072 05:33:34 That's a CL WM that's implemented in a handful of lines. 05:33:40 cool 05:33:58 what does it look like? 05:36:25 Mmm. I can't find the URL. 05:36:30 TinyWM is the name of the WM. 05:37:56 http://incise.org/index.cgi/TinyWM <- this appears to be coded in C and Python, but has similar functionality and structure 05:40:02 * pikhq would be liable to just write a Tcl WM, just to prove it could be done 05:40:32 that's the spirit! 05:41:00 Erlang! 05:41:01 ;) 05:42:12 g'night everybody 05:43:29 RodgerTheGreat: It's the same WM. 05:43:37 It's been ported to CL, is all. 05:46:13 Wow, a window manager in python 05:48:14 Ewww. Python. 05:48:19 Why use Python when you can use CL? 05:48:30 Cuz python rocks? 05:48:36 Compared to CL? 05:48:51 I don't know enough of CL to say 05:49:25 CL requires so much more effort to read 05:50:34 (probably because I'm a noobie, but still) 05:51:52 I can't understand lisp without an editor that matches parens for me 06:07:08 -!- ivan` has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- sekhmet has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- SimonRC has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- CakeProphet has quit (anthony.freenode.net irc.freenode.net). 06:07:10 -!- oklopol has quit (anthony.freenode.net irc.freenode.net). 06:07:10 -!- cmeme has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- RodgerTheGreat has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- pgimeno has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- ShadowHntr has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- pikhq has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- meatmanek has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- sp3tt has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- bsmntbombdood has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- puzzlet has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- fizzie has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- GregorR has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- lament has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- tokigun has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- mtve has quit (anthony.freenode.net irc.freenode.net). 06:09:12 -!- tokigun has joined. 06:09:12 -!- ivan` has joined. 06:09:12 -!- sekhmet has joined. 06:09:14 -!- GregorR has joined. 06:09:57 -!- pgimeno has joined. 06:10:00 -!- lindi- has joined. 06:10:00 -!- puzzlet has joined. 06:10:00 -!- sp3tt has joined. 06:10:00 -!- bsmntbombdood has joined. 06:10:05 -!- lament has joined. 06:10:05 -!- ShadowHntr has joined. 06:10:05 -!- pikhq has joined. 06:10:05 -!- meatmanek has joined. 06:10:08 Look at the indentation. 06:10:09 -!- SimonRC has joined. 06:10:09 -!- CakeProphet has joined. 06:10:09 -!- oklopol has joined. 06:10:09 -!- cmeme has joined. 06:10:15 -!- RodgerTheGreat has joined. 06:10:55 Why the nested netsplits?!? 06:11:31 pikhq: Upgrade of the ircd 06:11:35 Razor-X: Not enough 06:11:37 Ah. 06:12:11 -!- mtve has joined. 06:12:12 -!- fizzie has joined. 06:12:51 I unabashedly love sexps. 06:13:12 I don't 06:13:13 Pexps feel so ... uncouth after using sexps for long enough, IMO. 06:13:23 Pexps? 06:13:35 P-expressions, the counterpart to S-expressions. 06:13:38 -!- sp3tt has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- puzzlet has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- bsmntbombdood has quit (anthony.freenode.net irc.freenode.net). 06:13:39 -!- lindi- has joined. 06:13:42 -!- sp3tt has joined. 06:13:43 -!- puzzlet has joined. 06:13:45 i think sexps are superugly. 06:13:46 -!- bsmntbombdood has joined. 06:13:54 I love sexps. 06:13:56 Thought the counterpart was mexps. 06:13:57 I used to like theim. 06:14:02 When i was your age :D 06:14:11 So it's an age thing, huh?!?! 06:14:18 I suppose so :) 06:14:27 One one one !!??? question question 06:14:31 well, i understand why one would like them 06:14:35 I'm trying to pull off a teenage AOLer thing. 06:14:46 but they're ugly. 06:14:50 and i don't like ugly. 06:14:53 (== (+ 1 1) 2) 06:14:56 Purty. 06:14:58 Well, I find them easy to read, and very expressive. 06:15:10 Of course, I think that Tcl's beautiful. ;) 06:15:16 they're conceptually very elegant, but ugly in practice. 06:15:26 I used to like that, but no longer do so. 06:15:38 I haven't found any syntax that marries both well. 06:15:42 In particular, right now i think the usual math notation is way, way prettier. 06:15:55 Hmmm. There I give. 06:15:57 even though conceptually it's absolutely horrible. 06:16:20 and yes, obviously you can't have both 06:16:27 I think that usual math notation's fugly. 06:16:29 but you can have degrees... 06:16:31 Conventional expressions are godawful, and the only other syntax I've encountered is OCaML which looked so awful, I put the language down immediately on seeing the syntax. 06:16:49 "conventional expressions"? 06:16:58 is haskell really that bad? 06:17:01 Pexp/Mexp (too lazy to look it up) 06:17:08 It's alright. 06:17:15 2+2=4 <- conventional expression 06:17:36 i think haskell has the best mixture of conceptual elegance vs. prettiness 06:17:45 it has the same "feel" as math notation 06:17:51 I became a significantly better lisp coder after Haskell, lemme say. Haskell really made the points click and made me appreciate the differences between dirty functional languages and pure functional languages. 06:18:08 vs (= (+ 2 2) 4), 2 2+4=, [= [+ 2 2] 4]. . . 06:18:09 yet unlike math notation it makes perfect sense :) 06:18:15 And code something nontrivial for a full experience. 06:19:35 I got the code for parsing ID3v2.2 headers working. Hooray. Time to add in ID3v2.3 and ID3v2.4. 06:19:45 And I'll add in generic functions for each tag. 06:20:54 You can embed pictures in ID3v2 tags you know. I mean, who can't live without pictures embedded in metadata? 06:21:05 s/can\'t/can/ 06:21:30 Same people who can't live without object-oriented coffee making apparati. 06:22:18 What's wrong with my individial coffee beans being subclasses of an abstract Bean class? 06:23:24 I must say, I revise my opinion on OOP after taking a good look at the real CLOS. I like CLOS a lot better than message passing object systems too. 06:24:36 That's great and all, but your coffee making apparati don't need an object system to make damned good coffee. 06:24:50 Yeah it does. 06:25:18 Mine doesn't even having Turing completeness, much less an object system. 06:25:28 It saves memory if it encounters the same coffee bean as added in a hash table, so when it comes to Coffee.blend, it's more effecient. 06:25:45 My coffee maker: 06:26:49 int coffee(beans coffee[SIZE_OF_FILTER]) {hot_water(coffee);return coffee} 06:27:24 Hopelessly underperforming according to today's Modern CS Standards (TM). 06:28:06 Modern CS Standards (TM), of course, include severe over-complexity, under-performing, and general stupidity. 06:28:15 pikhq: i bet your coffee filter sucks, though. 06:28:20 i mean coffee maker 06:29:57 public abstract class Coffee { bean[] filter; public Coffee (int size) { filter = new bean[size]; } public abstract void Blend; } 06:30:03 lament: And I bet Razor's takes as much space as the oven. 06:30:26 That's just a *part* of what a True Coffee Machine by Modern CS Standards (TM) should have. 06:30:45 void Blend being dependant on your vendor-specific blending method. 06:31:02 New coffee maker. . . 06:31:26 ,[+++.,] 06:31:38 ;) 06:35:19 I love it how CS just gets farther and farther, but hasn't fixed the probably oldest problem in the entire CS world -- bad comments. 06:36:36 I'm using a CL library to easy binary file-structure reading and writing right now, and it's a good library but, it's documented like a piece of poop, and in some places his code is pretty hard to follow (in particulary, a place where he uses a temporary slot binding to create a temporary list returned by a lambda function and then bound in a let form). 06:36:46 s/easy/ease/ 06:37:01 s/particularly/particular/ 06:42:33 * pikhq should go to sleep. . . 06:44:03 Happy hacking. 06:44:04 -!- pikhq has quit ("leaving"). 07:51:47 -!- ShadowHntr has quit ("End of line."). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:07:01 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Leading Edge IRC"). 09:15:42 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 09:21:20 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 09:23:17 -!- oklopol has joined. 09:52:12 -!- ivan` has joined. 10:25:41 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The dawn of a new IRC era"). 11:17:00 -!- jix_ has joined. 12:25:10 -!- tgwizard has joined. 13:01:27 -!- oklopol has quit (Read error: 60 (Operation timed out)). 13:25:26 -!- oklopol has joined. 14:26:10 -!- jix__ has joined. 14:37:31 -!- jix_ has quit (Read error: 110 (Connection timed out)). 15:25:10 -!- Sph1nx has joined. 15:25:55 -!- Sph1nx has quit (Client Quit). 15:45:08 -!- CakeProphet has quit ("haaaaaaaaaa"). 16:01:46 -!- okokoko has joined. 16:01:49 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 16:56:31 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 17:00:12 -!- okokoko has changed nick to oklopol. 17:22:56 -!- Aardwolf has joined. 17:27:48 -!- jix_ has joined. 18:05:18 -!- calamari has joined. 18:05:27 hi 18:31:21 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 18:32:12 -!- oklopol has joined. 19:58:23 Razor-X: CLOS is message passing 20:04:28 -!- Sgeo has joined. 20:06:39 -!- tgwizard has quit (Remote closed the connection). 20:07:52 -!- okokoko has joined. 20:09:01 It's pretty cool that CLOS is written in lisp 20:16:30 -!- oklopol has quit (Read error: 60 (Operation timed out)). 20:16:53 -!- pikhq has joined. 20:17:27 * pikhq is braindead ATM 20:23:14 bsmntbombdood: No it's not. 20:23:29 You can't have generic functions in a message-passing object system. 20:23:37 -!- oerjan has joined. 20:24:03 Yeah you can 20:24:15 How? 20:24:44 (defun foo (object) (send object 'foo)) 20:24:57 .... That's not CLOS... 20:25:04 I know 20:25:17 But that's not a generic function either. 20:26:11 The ACT has killed my brain cells, I'm afraid. 20:26:15 Meh. 20:26:40 Or at least temporarily numbed them. 20:27:24 ". . . What the hell? I haven't done this since 8th grade!!!" 20:27:30 heh 20:31:04 Don't message-passing and generaic functions contradict one another? 20:31:42 Because with message-passing one of the objects is more important than the others, but with generic functions, all of the arguments are equal in status. 20:35:57 -!- okokoko has quit (Read error: 60 (Operation timed out)). 20:39:01 you could send a message to _all_ the objects 20:43:05 -!- oklopol has joined. 20:45:26 oerjan: How would *that* work? 20:45:32 oerjan: Thoughts on BFM:TNG? 20:46:11 BrainFuck .... 20:46:15 The final frontier. 20:46:30 Teeheehee. 20:46:30 These are the voyages of the BrainFuck Macro Language. 20:46:34 Its continuing mission ... 20:46:39 (etc) 20:46:43 that would be up to the objects to decide, they would probably have to form a committee :) 20:46:51 hehe 20:47:05 to boldly code where no (wo)man has coded before 20:47:11 * SimonRC swears at the ZBB. 20:47:52 oerjan: ITYM, to boldly code more inefficiently than anyone has coded before. 20:48:25 SimonRC: Actually, BFM is the most efficient Brainfuck macro system out there. 20:49:53 Is it turning into a compiler? 20:50:16 And I meant brainfuck is inefficient, not BFM. 20:50:24 It. . . *Is* a compiler. 20:50:28 And an interpreter. 20:51:22 I should probably rename it, though, because there's another, radically less efficient language by the name of BFM. 20:52:21 Add a debugger! 20:52:29 Source-level! 20:52:50 macro show-memory {} {} {} {forceinline #} 20:52:51 Done. 20:53:02 ;) 20:53:39 Although that's more of a binary level debugger. . . 20:53:50 That isn't source-level! 20:54:10 And where are the breakpoints?! 20:54:13 The "be0" command allows one to see some of the compiler's internal state, though. 20:54:20 Razor-X: Who needs 'em? 20:54:26 pikhq: Great debugger ;P 20:54:53 Best one of them all. XD 20:55:09 Seriously, though. . . 20:55:17 Well, to be A New-Age Debugger, you need a shiny GUI coat on it. 20:55:29 The only practical method of debugging ATM is with the Brainfuck source. 20:55:30 ew gui 20:56:35 You could get the compiler to annotate the binary with line numbers and variables, and turn off all optimisations. 20:56:42 *variable names 20:57:00 that would be quite debuggable with a BF-level debugger 20:57:10 Compile with the options "-O 0 -g". 20:58:24 Or just "-g" if you want to see what the optimization does to the code. 21:02:21 -!- wooby has joined. 21:09:38 hmm http://swivel.com/graphs/show/1001967 21:11:06 Think there's causation? 21:11:30 rofl 21:13:25 bsmntbombdood: careful 21:13:46 bsmntbombdood: Have you seen the graph of the number of pirates against global temperature? 21:13:52 I have 21:14:08 The world needs more pirates! 21:14:13 That's why we have "Talk Like a Pirae Day", you know. 21:16:18 http://www.venganza.org/pirate.pdf <-- the best renering of it. 21:16:50 It's the Pastafarian Christmas. 21:22:43 when? 21:23:43 Talk Like a Pirate Day. -_-' 21:24:12 ah, yes 21:25:11 -!- Arrogant has joined. 21:27:58 So are OSS writers essentially Robin Hoods? 21:28:06 Stealing from the rich and giving to the poor? 21:29:22 Not quite. . . 21:29:42 We cut out the middle man. 21:29:49 We are the rich, giving to the poor. :p 21:30:02 So what's Gates then? 21:30:41 The *filthy* rich. 21:31:07 We've not been successful at taking from him very much yet. 21:31:43 But he's been very successful stealing from everyone else. 21:32:10 Which is a problem. . . 21:32:40 Our end goal is to become Robin Hoods. Our current state is the poor giving to the less poor. 21:32:43 Happy? 21:32:46 s/less/more/ 21:33:03 * bsmntbombdood wonders what financial situation rms is in 21:33:04 lol 21:33:13 Yeah. That does make me feel more happy. 21:33:29 RMS is probably not very rich, but he knows enough people to get a free ride in any country in the world. 21:33:44 Rms is actually rather poor. . . 21:33:54 Except maybe North Korea. 21:34:15 He lives off of prize money and cash for speaking in public. 21:34:17 I'll bet he could get into N. Korea. 21:34:27 But I'll bet he couldn't get out. 21:34:30 Yup ^^ 21:34:53 He could get in only if he told the whole populace except Kim Jong Il that he was going to assasinate Kim. :p 21:35:17 RMS does work at MIT. 21:35:30 It's an unpaid position. 21:36:03 Then again, if N. Korea is as Red as it seems, he wouldn't need a free ride there. 21:36:47 He's lived for the past several years in his office at MIT. . . He can't have that much money. ;) 21:37:00 One day N. Korea will open up, and we'll realize that they have self-cleaning roads and hover-vators, and traffic is mitigated through several levels of semi-arial traffic. 21:37:24 *semi-arial levels. 21:37:55 And we'll weep in shame as we'll discover that N. Korea's technology far exceeds our own pitiful existances. 21:38:11 What has leaked out of N. Korea suggests that the populace doesn't have enough freedom of motion to justify roads, much less self-cleaning ones. 21:38:19 Message Paid for by The Party. The Party. It's Where You Go. 21:38:33 And. . . 21:38:45 Maybe they were just brainwashed into forgetting the wonders that they saw? 21:38:47 * pikhq gets hit in the head by The Beloved Leader's Boys 21:38:53 HEIL HITLER! 21:38:55 *ouch* 21:39:01 I MEAN THE BELOVED LEADER! 21:46:43 * SimonRC attempts to correct pikhq's misconception of money: http://paulgraham.com/gap.html 21:47:19 Do not confuse stealing wealth with creating it. 21:48:51 The amount of wealth in the world is not fixed. 22:11:53 -!- pikhq has quit (Read error: 145 (Connection timed out)). 22:21:47 -!- Arrogant has quit (Read error: 113 (No route to host)). 22:22:14 -!- oerjan has quit ("Good night"). 22:51:36 -!- pikhq has joined.