00:06:09 I'd like to make a terrible OS... sounds like fun 00:06:34 I think we could make a good nanokernel.... they're much easier to develop. 00:08:47 Let's make a Multiboot-compliant boot loader that runs on top of GRUB! 00:10:06 hmmm.... let's see... 00:10:35 ihope__: So, multiboot compliant in both senses? :P 00:10:45 Indeed. 00:10:53 I think a lesson could be had from hardware interupts.... you could fill the entire system with a number of asynchronous callback sturcture things.... 00:11:18 instead of doing stupid things like.... polling the kernel constantly for hardware signals. 00:11:22 Actually, can't GRUB run directly from GRUB? 00:11:44 SevenInchBread: poll the kernel for hardware signals. If you didn't get any, forfeit your time slice. 00:11:44 SevenInchBread: system calls 00:11:47 So GRUB is GRUB-compliant? 00:11:49 Maybe. 00:12:00 SevenInchBread: GRUB has a chainloader feature. 00:12:31 bsmntbombdood, ...did you intend for that to sound smart-ass-ish? :P 00:12:32 -!- ihope has quit (Connection timed out). 00:13:34 ihope__, in my experience... polling never works as good as interrupts and exceptions and the like 00:13:36 SevenInchBread: system calls are powered by interupts (at least on x86 linux) 00:13:56 I guess that's true. 00:14:00 bsmntbombdood, yes I know... but you can plug any number of callbacks onto them. 00:14:08 I'm thinking more along the lines of a "hook" 00:14:08 you put the system call number in one of the registers and call int 0x80 00:15:27 http://en.wikipedia.org/wiki/Hooking 00:16:04 hooks are probably one of the most awesomel plug-in-new-features things I've ever seen. 00:19:16 -!- Pikhq has quit (Read error: 110 (Connection timed out)). 00:30:24 -!- ihope__ has changed nick to ihope. 00:44:50 -!- Figs has joined. 00:45:07 I got a nice bit of code for you all today 00:45:08 http://rafb.net/p/j5n3ZG98.html 00:45:10 it's in C 00:45:21 good luck figuring out what it does (without compiling) 00:46:10 What's the _ do? 00:46:19 In main(t,_,a) 00:46:20 I have no fucking idea. 00:46:24 but it compiles 00:46:30 and it runs 00:46:32 Presumably it's argv 00:46:37 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 00:49:50 I ran it to see what it does 00:50:01 and I can't for the life of me figure out how the output came out as it did 00:50:02 :P 00:54:48 -!- Figs has quit (Read error: 104 (Connection reset by peer)). 00:54:54 -!- Figs_ has joined. 00:54:54 -!- Figs_ has changed nick to Figs. 00:57:50 hi 00:57:53 got disconnected there 00:58:00 -!- Figs has changed nick to F. 00:58:04 -!- F has changed nick to Figs. 01:04:13 oohhh 01:04:15 I get it 01:04:23 the first part of it, at least 01:07:30 oh good grief 01:07:30 >.< 01:30:14 ihope, since the filesystem will be versioned... it makes it nearly impossible to lose data due to a faulty operation. 01:30:44 Are we taking a break from the kernel stuff? 01:30:57 Say, I don't suppose you have a spec for the kernel... 01:31:09 in fact... you could probably define macro-like operation scripts... and if any of the smaller parts fail... the filesystem process automatically reverts the operation. 01:31:24 well... I did. 01:31:34 but... it wasn't complete... as there was a lot of unanswered things in it. 01:31:36 and I lost it. 01:31:47 which means I'll probably never summon the willpower to write another. 01:52:59 They say something about fruits of labor. I dunno what. 01:53:20 First you decide whether you want to do something, then you act on your decision. 01:59:50 I decided that I -didn't- want to rewrite that kernel spec... because I'm a lazy bastard... and then acted (gleefully) upon my decision. 02:30:38 ihope: I know nothing about OSs :P 02:32:31 Oh, how nice. 02:32:39 You, bsmntbombdood? 02:34:47 My dad wrote his own :P 02:34:55 Duno what he started with tho 02:35:17 see, the problem with operating systems, is you have to write 34930493094830984 drivers for it to be usefull 02:35:35 Actually, you only need 3. 02:35:59 Actually, like 85% of statistics, that number was pulled out of the space between my ears. 02:36:10 Your dad wrote an operating system, eh? 02:37:17 I need a funny one-liner or couplet 02:38:09 for? 02:38:31 obfuscated program I'm working on 02:38:34 (as the output) 02:39:53 bash.org 02:39:55 find one :P 03:15:35 -!- Pikhq has joined. 03:49:52 -!- GreaseMonkey has joined. 03:56:57 bah ba bah di baaa bah... Bah? 03:57:48 adena? 04:06:25 Adenosine! 04:06:30 Triphosphate! 04:06:49 Gimme an A! Gimma a T! Gimme a P! What's that spell? ATP! 04:08:08 Gimme a P! Gimme an O! Gimme an R! Gimme an N! 04:08:18 oh 04:08:23 at first I thought you were spelling PORK 04:08:28 but then I saw then N 04:08:44 ya... 04:08:46 who wants pork 04:09:01 Gimme an R! Gimme an O! Gimme an F! Gimme an L! 04:11:46 err 04:11:58 or just an s.t.f.u 04:11:59 :P 04:12:20 Gimme an S! Gimme an T! Gimme an F! Gimme an U! 04:12:45 Bigcheese, either that... or you create a wrapper that can interface with the 34930493094830984 drivers that already exist. 04:13:16 hmm 04:13:17 err 04:13:20 no 04:13:21 :P 04:13:22 Gimme a H! Gimme a E! Gimme a L! Gimme a L! Gimme a O! Gimme a comma! Gimme a space! Gimme a W! Gimme a O! Gimme a R! Gimme a L! Gimme a D! 04:13:26 mabey 04:13:27 i duno 04:13:39 that's what linux does... for network adapters 04:13:43 GregorR: that was almost funny 04:13:47 it might even be funny 04:13:53 Doubtful. 04:13:53 in fact, i think it is 04:13:54 :P 04:14:02 ...I smell an esolang idea. 04:14:06 lol 04:14:13 ;p 04:14:15 Gimme a branch! 04:14:20 Gimme a loop! 04:14:29 Branch 04:14:31 Loop 04:14:34 wow 04:14:36 that would be 04:14:37 random 04:15:41 ok, sense this is #esoteric 04:15:46 lets come up with the syntax 04:15:47 Gimme a Gimme an L when I have no Z in X. 04:15:57 X!=Z; 04:16:04 -->F; 04:16:15 //F==L 04:16:16 ....why not do... 04:16:21 For characters we can use their Unicode thingies. 04:16:22 GO F!!!! 04:16:59 Gimme a LATIN CAPITAL LETTER H! Gimme a LATIN SMALL LETTER E! Gimme a LATIN SMALL LETTER L! ... 04:17:21 Gimme a UNICODE CHARACTER 0133! 04:17:53 No, it has to be Gimme a LATIN SMALL LIGATURE IJ! 04:18:21 hmm 04:18:26 it would be like 04:18:46 Gimme a H and put it in var foo! 04:18:47 :P 04:19:00 ...you people are terrible. 04:19:11 Gimme a LATIN CAPITAL LETTER F! Gimme a LATIN SMALL LETTER R! Gimme a LATIN SMALL LETTER A! Gimme a LATIN SMALL LETTER N! Gimme a LATIN SMALL LETTER C WITH CEDILLA! Gimme a LATIN SMALL LETTER A! Gimme a LATIN SMALL LETTER I! Gimme a LATIN SMALL LETTER S! 04:19:44 Francais 04:19:45 ... 04:19:52 We've got , yes we do! we've got , how bout you? 04:19:56 For outputting BugSophia: Gimme a RUNIC LETTER STAN! 04:19:58 Gimme a JAPANESE KANJI ichi. 04:20:08 Bigcheese: no, Français. 04:20:09 ? 04:20:12 wow 04:20:13 anyway 04:20:15 - 04:20:23 would be one thing ichi could be 04:20:29 :P 04:20:35 * SevenInchBread ...should implement bugSophia 04:20:53 Gimme a JAPANESE KANJI KIN. 04:20:54 Figs: that's a Unicode character? 04:21:07 should be 04:21:42 Gimme a RUPTURE, SPLIT APART, COLLAPSE! 04:21:51 (U+5D29) 04:22:01 ???? 04:22:04 WOW 04:22:05 WTF 04:22:10 So what's this JAPANESE KANJI ichi look like in UTF-8? 04:22:12 Bigcheese: what? 04:23:00 ....you know... they don't have to be gimme a somethings 04:23:03 +all 04:23:08 im trying to get mIRC to send unicode 04:23:17 ?? 04:23:17 SevenInchBread: only the characters. :-) 04:23:21 mIRC can barely /receive/ Unicode :P 04:23:36 ya... 04:23:39 piss me off 04:23:49 4E00 04:23:57 Gimme a ! 04:24:17 Gimme a KOREAN man! 04:24:20 どうぞ 04:24:24 (the word) 04:24:24 bah 04:24:24 die 04:24:31 ? what... :P 04:25:48 Gimme a KOREAN HANGEUL 04:26:01 http://www.omniglot.com/images/langsamples/smp_hangeul.gif 04:26:05 Gimme a HEBREW LETTER ALEF! Gimme a LOW LINE! Gimme a DIGIT ZERO! 04:26:06 We've got , , , 04:26:29 don't 04:26:35 We've got Spirt! Yes we do! We've got Spirit, how `bout you? : 04:26:47 ....YOU PEOPLE ARE TERRIBLE 04:27:05 ...but... something like that 04:27:23 what will we call this esolang? 04:27:27 Cheers? 04:27:30 yes 04:27:31 ihope: The kanji "Ichi" looks something like this (my IME is temporarily borken): - 04:27:31 ... 04:27:36 YOU PEOPLE ARE TERRIBLE AT NAMES ALSO 04:27:37 yes, it does 04:27:42 call it pep rally 04:27:47 if you are trying to say one 04:27:55 Bigcheese: Well, yeah. 04:27:56 ????? 04:28:12 ????????? 04:28:15 ???? 04:28:23 quesion marks ftw 04:28:29 that's not question marks :P 04:28:36 to me it is :P 04:28:36 it's japanese 04:28:41 i can see other peoples jap 04:28:42 Pikhq: Unicode calls that thing a . 04:28:43 yeah you ?? 04:28:44 like Pikhq 04:29:06 whoo. Dawkins. 04:29:11 @_@ 04:29:12 two hour video 04:29:32 Figs: Your IRC client is borken: it doesn't send Unicode at all. 04:29:42 so is mine 04:29:42 could be :P 04:29:45 sadly 04:29:49 but I've talked to people in Unicode 04:29:54 so I doubt it 04:29:57 *Japanese 04:32:43 こにちわ 04:32:45 OMG 04:32:48 work? 04:32:55 no... 04:33:00 bah 04:33:02 worked on my clien 04:33:03 t 04:33:05 finaly :P 04:33:21 I get a w/ ~, box, ", a~, box, <<, a~, ... etc 04:33:25 おめでとう。 04:33:29 i see that :P 04:33:41 Figs: Do you happen to *use* Unicode at all? 04:34:02 Me personally? or the software I use? 04:34:15 I use it 04:34:17 on MSN 04:34:23 works fine 04:34:26 :P 04:34:56 こにちわ 04:34:56 -!- Figs has quit (Connection reset by peer). 04:35:05 ? 04:35:15 BTW, that's こんにちは。 04:35:39 bah 04:35:58 it's stupid 04:36:06 i have to set an unreadable font for it to work 04:36:14 -!- Figs_ has joined. 04:36:19 wtf? "There's no great leap, really. You can think of chimps as MS-DOS and humans as Windows 2000." 04:36:46 Figs_: Inapt comparison. ;) 04:36:59 Perhaps chimps == Windows, humans == anything else? :p 04:37:00 I'm quoting a dawkins video 04:37:03 Ah. 04:37:22 Windows = works 04:38:01 In other news, 1 = 2; all mathematicians resign. 04:38:16 私は学生。 04:38:21 I think thats right 04:38:25 if you can even see it ;/ 04:38:27 You forgot a verb. 04:38:34 err 04:38:35 oh 04:38:36 ta 04:38:37 ya 04:38:38 it's 04:38:48 It doesn't show up here 04:38:54 Either "です" or "だ". 04:39:05 私だ学生。 04:39:23 im reading http://www.guidetojapanese.org/ 04:39:28 which seems to be rather good 04:39:35 What you're saying is roughly equivalent to "I student." 04:39:49 No, wait. 04:39:58 You actually screwed the second one up even more. 04:40:03 wow 04:40:05 i pwn 04:40:05 :P 04:40:06 "am I student." 04:40:07 which version of Japanese are you using? 04:40:13 Figs_? 04:40:13 lol 04:40:16 -!- Figs_ has changed nick to Figs. 04:40:24 Figs_: He must be using /dev/urandom/Japanese. 04:40:32 there are multiple ways of encoding Japanese :| 04:40:34 Bigcheese: Verbs in Japanese go at the *end* of the sentence. 04:40:34 I'm using nub 04:40:50 * Bigcheese asks the japanese kid on his msn 04:40:50 Figs: He said "watasi da gakusei." 04:41:09 da? 04:41:13 not wa/ha 04:41:16 Figs: Yeah. 04:41:29 and no desu :P 04:41:39 No, it's there. 04:41:42 In the wrong place. 04:41:46 :P 04:41:49 da is state of being 04:41:50 (da is plain form desu, after all) 04:41:58 私は学生だ. 04:42:00 THERE 04:42:03 There you go. 04:42:12 That, while informal, is perfectly correct. 04:42:19 oh, I see 04:42:28 he meant "Watashi wa gakusei da." 04:42:33 japanese cast system is stupid :P 04:42:41 cast? 04:42:42 And he finally got around to saying just that. 04:42:46 yes, cast 04:42:57 never heard of a cast system 04:43:00 another term maybe 04:43:01 ? 04:43:14 http://en.wikipedia.org/wiki/Cast_system 04:43:53 oh, that kind 04:43:59 Honorifics 04:44:01 that's usually "caste" 04:44:06 bah 04:44:14 I thought you meant like 04:44:37 (cheese*)&Swiss; 04:44:40 lol 04:44:46 And so I was scratching my head there :P 04:44:48 thats what i was thinking when i wrote it 04:45:27 -!- RodgerTheGreat has joined. 04:45:35 hi everybody 04:45:38 hi 04:45:44 hello! 04:45:57 what's going on in #Esoteric this evening? 04:46:13 talking about Nihongo, Unicode, and making a cheering esolang 04:46:22 cool 04:46:30 what's nihongo? 04:46:30 (although I think they were joking about that) 04:46:36 Japanese 04:46:40 ah 04:46:49 Nihon = Japan, go = language 04:47:02 I can see how that can lead into discussions about Unicode 04:47:14 it was sort of the other way 04:47:22 Cheering -> Unicode/Japanese 04:47:24 haha 04:47:38 instead of 04:47:38 Figs: that was no joke 04:47:42 we need a syntax still 04:47:44 oh, you're gonna do it? 04:47:57 Mabey, if it's simple 04:48:18 well, we have possible branch and print... 04:48:22 what else do we need...? 04:48:24 loops 04:48:28 is the goal to make the source look like cheering? 04:48:37 yeah... 04:49:18 We need some form of function 04:49:24 "Gimme a [single letter variable names] ... What does it spell?" could be some kind of group evaluation 04:49:25 Gimme an H! Gimme an E! Gimme an L! Gimme an L! Gimme an O! Gimme a SPACE! Gimme a W! Gimme an O! Gimme an R! Gimme an L! Gimme an D! 04:49:48 Flush the buffer? :P 04:49:54 Thats too 04:49:56 uselless 04:49:59 yeah 04:50:04 I want a usefull lang, that looks like that :P 04:50:37 ok, first someone list out a bunch of cheers 04:50:42 well, the What's that Spell? 04:50:45 can be the Print 04:50:48 and the Gimme a/an 04:50:54 can be a way to build strings 04:50:54 could be input! 04:51:12 I can't hear you! 04:51:16 :) 04:51:25 or a multiple parameter math operation 04:51:37 Gimme would be like dim in basic 04:51:39 for vars 04:51:39 use "I can't hear you!" for inpu 04:51:45 t 04:51:56 "I can't hear you" could be used to repeat a block of code, perhaps? 04:51:56 (telling the user to "Speak up" :P) 04:52:04 that's another possibility 04:52:35 but it'd need to take a parameter of some kind to be a useful (FOR...NEXT) style loop 04:52:53 I CAN'T HEAR YOU! AGAIN! AGAIN! AGAIN! 04:53:03 I CAN'T HEAR YOU! LOUDER! 04:53:06 we need paramiters 04:53:06 just a repeat isn't very handy unless we can self-modify 04:53:26 GO TO HELL! 04:53:27 :D 04:53:30 GO HOME 04:53:33 Gimme an INT how do you spell it? i 04:53:46 ooh 04:53:47 :D 04:53:49 nice 04:54:36 that could be useful 04:54:50 dinner 04:54:56 k 04:56:49 ok, now for branches 04:58:51 "IF YOU THINK WE'RE THE BEST, [insert enthusiastic action here]" 04:59:07 actions could include standing up, clapping, cheering, etc 04:59:26 and then you could have "EVERYBODY STANDING UP, [action]" and the like 05:00:05 hmm 05:00:08 ooh! you could also have certain actions be triggered by someone in the "game" "scoring" 05:00:11 we need a way to call a function 05:00:36 If you think i is 5, *** 05:00:45 All statments must end with ! 05:00:46 :P 05:00:49 haha 05:00:55 s /:/! 05:01:26 er 05:01:31 s /;/! 05:03:00 only thing i can think of is 05:04:36 If you think i is 5, Go and do foo! 05:04:40 but thats stupid 05:04:42 :P 05:05:39 some cheers start out with an "exposition" of sorts- like "Hey, we're from [insert high school], and we're ready to rock" etc. 05:05:56 that could be used for variable declaration and initialization of some kind 05:06:35 and if we provide enough control structures, function calls aren't really *necessary* 05:06:43 but they are sexy :P 05:06:47 mainly you just need looping and jumps 05:06:51 but hard too do in esoteric i guess 05:06:59 ya, drop functions 05:07:00 ok 05:07:05 to* 05:07:26 esoteric functions are only for when you want to do stuff recursively, which often serves as a replacement for iteration 05:10:11 flow control-wise, we could get by with just a "repeat block X times" structure and a "start over" command, given a couple flavors of conditional 05:12:38 all you realy need is an if and a jump 05:12:44 you can do anything with taht 05:12:45 that* 05:13:18 yep, as long as we can jump based on a conditional 05:13:58 actually, if you have an unconditional jump, math operations, variables, and a halt instruction, you can also be TC 05:13:59 -!- Pikhq has quit ("Leaving."). 05:14:18 that unconditional jump can just be a while(true) {} loop, even 05:14:35 ya, but i dont want this to be harder than it must be :P 05:14:39 haha 05:15:27 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 05:15:57 -!- nazgjunk has joined. 05:17:30 -!- Pikhq has joined. 05:21:50 gmail working for anyone else? 05:22:21 yes 05:22:57 Works for me. 05:27:22 -!- Pikhq has quit ("Leaving."). 05:28:27 thanks 05:28:52 guess my connection is just flaky then 05:29:39 -!- pikhq has joined. 05:51:22 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 05:51:57 -!- nazgjunk has joined. 05:54:52 -!- ihope has quit (Connection timed out). 06:04:52 hi? 06:05:14 -!- Figs has left (?). 06:46:05 -!- Sgeo has quit ("Ex-Chat"). 06:48:14 -!- NefariousPrior has joined. 06:48:31 -!- calamari has quit ("Leaving"). 06:48:45 Any there any usefull apps made with brainfuck? heh 06:49:33 usefull? 06:49:36 you must be new here 06:50:35 Define 'useful'. 06:50:54 In *theory* there could be a whole lot of useful ones. 06:51:08 Something other than hello world. 06:51:08 there are a few things that are equivalent to various commandline utilities 06:51:11 In practice, we've got the Lost Kingdom, some Brainfuck implementations, and a hell of a lot of fun. 06:51:23 how about the BF DeCSS implementation? 06:51:30 no way 06:51:33 Right. 06:51:34 that ought to count as "useful" 06:51:43 * pikhq has *written* a Brainfuck compiler in Brainfuck. 06:51:45 Aye 06:51:51 . . . Fine, I cheated, using BFM. . . 06:52:51 * pikhq goes to sleep 06:52:58 How many lines is the BF DeCSS implementation? lol 06:53:09 Quite a few. 06:53:20 It is implemented very inefficiently, though. . . 06:53:29 bf is ... 06:54:10 BF is turing complete, macro systems for BF exist, people have too much free time. These three facts, taken together would tend to indicate that almost *anything* you can do with just stdio and stdout, somebody has coded or will code in BF. 06:56:26 I'm certain there will be an explosion of nontrivial applications in BF once somebody finished a reasonably complete C->BF compiler 06:56:44 lol 06:57:13 I can just imagine Firefox in BF. 06:58:00 the code would be a BFM 06:58:03 it'd probably look a great deal like Lynx 06:58:05 a Bifg Fucking Mess 07:09:51 -!- Sukoshi has joined. 07:11:05 hi, Sukoshi 07:11:17 Heya RodgerTheGreat. 07:12:45 I'm going to (probably) link to a blog post where I spew a lot of kool-aid tonight. 07:12:54 About what I feel is the future of programming. 07:12:58 ok 07:13:22 sounds interesting 07:13:48 Well, it's a conclusion I've come to about the direction of programming, and this isn't just a hopeful-programmer type of thing either. 07:13:57 (Like thinking magically that Pascal will come back from the grave.) 07:14:03 heh 07:14:14 as I remember someone saying, 07:14:41 Well, that's the hopeful part of me :P 07:14:41 "if you asked me what programming would be like 100 years from now, I couldn't tell you what the language would be like 07:14:53 but I could tell you what it'd be called- FORTRAN." 07:14:58 Hahaha. 07:15:31 if you ask me, the future of programming is going to be a language free of the plague of undefined behavior, one way or another 07:16:07 My essential thrust is that it will be an interactive one (like Forth, Smalltalk, and Lisp). 07:16:20 Except I'll be developing the thesis more effectively by giving a whole bunch of modern examples. 07:16:29 hm. an interesting approach. 07:16:47 And yes, Windows is a stepping stone in it :P 07:16:51 does this imply hardware more suited to these languages? 07:16:57 Maybe. 07:17:39 Smalltalk and Lisp aren't very efficient on normal computers at a hardware level. FORTH, on the other hand *belongs* on bare metal. 07:17:43 In terms of on-the-metal implementations today: Forth has ColorForth (which still seems very hobbyist), Lisp has Movitz (which is going somewhere), and Smalltalk has something whose name I forgot (which is the most mature of them all by a long shot). 07:18:00 Smalltalk is, from what I've read, because the language is based off a VM. 07:18:15 Lisp isn't, but the designs for the old Symbolics processors still exist so. 07:18:32 yeah, so-called "LISP machines" 07:18:51 Yup. One guy is writing simulators for it. 07:19:03 Oh, links for this sort of thing: 07:19:21 I'm not saying hardware to run those languages is impossible, but my point is about their performance on commodity hardware: x86 and PPC. 07:20:02 http://common-lisp.net/movies/slime.mov Slime/CL, http://www.simberon.com/smalltalkdemo.avi VW Smalltalk, http://www.lemonodor.com/archives/misc-gems/lispm.mov.gz Lisp Machine movie. 07:20:35 My gut tells me that Smalltalk will be the one used, only because it seems the most mature in almost every arena, even though I'm a Lisper at heart. 07:22:43 it's really funny watching the Slime/CL video, because the terminal window looks like one of mine hovering over the browser window 07:22:51 Heh. 07:23:10 But I mean, interactive programming is just such a concept. The paper's point is to prove that it's more than just an academic concept. 07:24:40 I feel sad that the Forth community and Lispers have been unable to get much work done to create a complete solution. 07:24:43 Forth especially. 07:25:10 mmm. I still see the need for a language to fill C's niche, if not C itself. Languages like this will never be suitable for embedded systems programming, a rising field, and I don't think they'll be very effective for things like writing drivers. 07:25:14 Recently Lisp's really been thrumming but Forth really died on every platform but embedded for reasons I can't see other than the lack of a standard library and nobody's motivation to write one. 07:25:24 that's kinda the direction I'm working on 07:25:27 Well that's true. My paper is meant for the *desktop*. 07:26:07 ah. well, in that case, aside from the underpinnings written in a language like what I'm developing, an interactive programming language would be highly advantageous 07:27:16 I have a feeling pikhq will disagree with some points because I do try and fit closed-source in it too, only because I don't think realistically that everything can be open. (Of course, just about everything the programmer cares about can be open though.) 07:28:01 rather like the discussions we had regarding an esoteric OS- we need a low-level language suited to compilation into machinecode, which is then used to bootstrap a profusion of higher level languages in which useful software is written 07:28:07 heh 07:28:31 What can I say? I love my private property :P 07:28:54 (I'm a social capitalist. I believe that socialism is the means for a cleaner capitalism.) 07:29:05 I don't feel that anyone should be *obligated* to release the source of something they make. It should remain their choice. 07:29:13 Most definitely. 07:29:58 I'm going to plug in the end, and not because I'm an Apple fan (I don't own any Apple products, in fact), Apple because (and I'll explain why) they're doing the most work to make this vision happen with Google at close second. 07:29:59 enforced Open-Source is incompatible with *personal* freedom, which is part of my beef with the GPL and its viral propagation tactics 07:30:35 GPL is nice, but some of its advocates are a bit on the GPL-way-or-high-way bit. 07:30:45 I personally make everything I release available under the WTFPL or retain it as my own property- one or the other. 07:31:19 I say, if you're only going to give source away conditionally, you should ask yourself why you're giving it away in the first place. ;) 07:31:56 -!- NefariousPrior has left (?). 07:32:04 I feel that it should be a moral obligation for people to release source, but not a physical one. And I can definitely see situations where open source is not profitable. But those situations are a lot rarer than what is considered ``safe'' by today's standards. 07:33:56 as an individual, I freely give away most of my tinkerings. However, as a company, I'd view any GPLed code as a liability- it's just a ticking time-bomb that can take away my ability to control what I make and profit fairly from my own work. 07:35:18 in addition, I have some serious doubts as to the reliability of the FSF. 07:37:11 y'know, this lispmachine video reminds me a little bit of Sketchpad. Are you familiar with that system? 07:38:25 Nopes. 07:38:32 http://en.wikipedia.org/wiki/Sketchpad 07:38:40 FSF was actually very very good, once upon a time. 07:39:08 there's a video of sketchpad online- rather long, but an absolutely fascinating piece of history 07:39:11 Nowadays they've sorta gone complacent (and the real source of open reliability has shifted to Ubuntu, which I have a few philosophical problems with), but they were great once upon a time. 07:39:50 I'll spend the rest of this hour writing an annoying essay about poetry. 07:40:01 I just see them as untrustworthy, in light of the power they wield via the GPL and its adherents. 07:40:22 Ah. That is unmistakably true. 07:40:37 Geeks tend to be odd that way. They all seem to unanimously trust Google too. 07:40:44 Heaven forbid if Google turns on the open community. 07:41:17 I actually hope the GPLv3 generates a rift in the community- it could help immensely to destabilize an increasingly consolidated open-source community and allow for more variety. 07:41:54 oh, Google undoubtedly will eventually "eat its parents" in a metaphorical sense- the question is *when*. 07:42:14 Well, Geeks don't seem to learn from past failures. 07:42:17 * Sukoshi shrugs. 07:42:43 there is a difference between "obsessing over past failures" and "learning from past failures", eh? :) 07:42:52 :P 07:46:10 well, it was nice having a chance to talk to you- I think I need to crawl into bed before I pass out. I'll be certain to check out your treatise tomorrow or whenever you provide a link 07:46:17 * RodgerTheGreat tips his hat 07:46:35 -!- RodgerTheGreat has changed nick to RodgerTheZzz. 07:49:18 nice nickchange :D 07:59:23 -!- mtve has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:19:34 -!- ShadowHntr has joined. 08:41:35 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 08:42:04 -!- nazgjunk has joined. 08:44:44 -!- sebbu has joined. 09:05:27 -!- pikhq has quit (Read error: 60 (Operation timed out)). 09:18:03 -!- ShadowHntr has quit (Client Quit). 09:21:22 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 09:22:04 -!- nazgjunk has joined. 09:51:33 -!- mtve has joined. 10:31:35 -!- sebbu2 has joined. 10:32:25 -!- puzzlet has joined. 10:50:23 -!- sebbu has quit (Read error: 110 (Connection timed out)). 11:00:32 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 11:24:06 gtg, gnight 11:27:57 night 11:28:02 mm slow 11:41:25 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)). 12:29:13 -!- sebbu2 has changed nick to sebbu. 12:43:01 -!- Sukoshi has quit ("じゃな、ブロッグのことを後で話すね。"). 12:55:06 -!- jix__ has joined. 12:59:38 -!- jix__ has quit (Client Quit). 12:59:59 -!- jix__ has joined. 13:21:08 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 13:21:42 -!- nazgjunk has joined. 13:33:42 -!- nazgjunk has quit (Remote closed the connection). 13:43:00 -!- nazgjunk has joined. 14:38:28 -!- ihope__ has joined. 14:38:46 -!- ihope__ has changed nick to ihope. 14:55:23 -!- pikhq has joined. 15:09:25 -!- jix__ has changed nick to jix. 15:17:03 -!- RodgerTheZzz has changed nick to RodgerTheGreat. 15:17:12 'morning, folks 15:31:13 -!- Sephh has joined. 15:32:47 I like exponentiation by squaring. 15:40:34 -!- Bigcheese has quit (Read error: 113 (No route to host)). 15:42:51 ihope: cool 16:14:40 It's useful when dealing in modular arithmetic. 16:15:17 ah, DIV and MOD, every coder's greatest friends 16:15:47 I remember how I first learned to use MOD- the redcode instruction set 16:16:35 I've always preferred the '88 standard to the '97 16:21:24 That stuff allows a person to calculate Graham's number. 16:21:55 It's 87, give or take some multiple of 100. 17:49:49 brb 17:49:52 -!- RodgerTheGreat has quit. 18:07:30 -!- SevenInchBread has quit ("haaaaaaaaaa"). 18:10:15 -!- Sephh has changed nick to Bigcheesegs. 18:13:58 -!- RodgerTheGreat has joined. 18:17:04 ihope: so you know its base 10 representation ends in 87 18:18:09 and its base 2 representation ends in 1! 18:18:26 and its base 5 representation ends in 2! 18:18:31 coincidence? i think not!!! 18:19:52 bsmntbombdood: yep. 18:26:46 i wonder if there's a way to efficiently calculuate a**(b**n) mod x 18:27:36 **? 18:28:16 exponentiation 18:28:36 oh 19:00:07 there is. 19:00:40 however you have to find y so a**(b**n) mod x == a**(b**n mod y) mod x 19:01:20 that is not hard thing if you know number theory 19:02:43 plus, you can replace a with (a mod x) of course 19:03:10 because (a * b)(mod x) = (a (mod x))(b (mod x)) 19:04:13 i made a program for that just now, actually, but inserted a=30, b=30, n=80, x=7.... and it crashed, whaddyaknow 19:05:39 tokigun: and how do you do that? 19:06:26 -!- SevenInchBread has joined. 19:22:46 -!- oerjan has joined. 19:32:00 -!- calamari has joined. 19:39:42 -!- pikhq has quit ("leaving"). 19:43:07 -!- pikhq has joined. 19:43:29 -!- pikhq has quit (Client Quit). 19:43:41 -!- pikhq has joined. 20:06:32 x^y mod n = (x mod n)^(y mod n') mod n where n' is the totient of n 20:07:45 are you sure of that? 20:07:52 Yes. 20:08:26 i think it is false 20:08:52 it reminds me of the last time i thought about fermat's little theorem 20:10:15 and if i could remember the counterexample... 20:10:36 y = n' + 1, for a start 20:11:43 and n = p^2, x = p. 20:12:42 because for y > 1, x^y == 0 (mod n) then 20:15:40 so that is a counterexample for any prime p. 20:17:10 i.e. p^(p*(p-1)+1) mod p^2 = 0, but p^1 mod p^2 = p 20:25:06 totient as in euler? 20:26:36 i assumed so. but it works regardless - i came up with this when trying to find a totient that gave a^(t+1) mod n = a mod n, and it simply does not exist. 20:26:42 > 0 that is 20:29:01 oh, mind you if gcd(x,n) = 1 then it works as ihope said. 20:29:57 isn't that te definition of totient? 20:30:00 *the 20:30:12 because n' is the size of the multiplicative group of those 20:30:34 the totient is the number of x such that gcd(x,n) = 1 yes 20:31:02 and the order of a group element in a finite group always divides the group size 20:31:06 ah indeed, a bit different... i'm a bit off having learned about totient 5 minutes ago 20:32:04 Oh, right! 20:32:10 (i.e. a^|G| = 1 for a finite group G) 20:32:37 * ihope scribbles franctic(al)ly 20:33:30 Bah. 20:33:38 ((not know) i (much (function of totient))) 20:33:46 errr 20:33:55 function-of 20:34:02 (of function totient) 20:34:17 yeah 20:34:23 Mm, you're sure it doesn't work when the exponent is 1? 20:34:48 It seems to work just fine there with a modulus of 10. 20:35:03 you cannot make p^k mod p^2 = p with any k > 1. 20:35:09 x^5 = x (mod 10) 20:35:32 ah yes, because 10 is a square-free number 20:35:40 -!- sebbu2 has joined. 20:35:50 It works for all square-free numbers? 20:35:57 i think so 20:36:00 Square-free moduli, I should say. 20:36:06 now i'm lost 20:36:24 bsmntbombdood: a square-free number is one that has no square factors except 1, I think. 20:36:29 yep 20:36:32 i know 20:36:39 One that has no prime factor twice. 20:37:51 you can easily prove it by proving it for each prime factor 20:38:03 and combining with the chinese remainder theorem 20:38:41 because the totient of n has all p-1 as factors 20:39:51 this is just about what i did find out the last time i thought about fermat's little theorem a few months ago. 20:48:32 It'd be quite nice if everything to the fourth power ended up having 1 as the last digit. 20:48:54 Naturally, this doesn't work for things not coprime to 10. 20:49:20 of course, but you can use it as a test for coprimality 20:49:44 Then again, everything does come close. 20:49:46 the iterated logarithm is an interesting function 20:50:11 Even numbers that don't end in 0 to the fourth power seem to all end in 6. 20:50:15 log*(2n) = 1+log*(n) 20:50:16 Subtract 5 and you get 1. 20:50:37 i mean log*(n**2) = 1+log*(n) 20:50:47 indeed, that follows because they must be right mod 5 20:50:48 And if it ends in 5, the result is also going to end in 5: subtract 2 twice and you get 1. 20:53:28 it is 1 modulo each prime that isn't a factor and 0 modulo the rest. 20:53:54 this is enough to find it if you know which primes are factors 20:54:14 -!- sebbu has quit (Read error: 110 (Connection timed out)). 20:54:27 (again, by the chinese remainder theorem) 20:54:37 Can this be turned into a factoring algorithm? 20:55:58 no idea 20:59:24 hmmm... I can't think of what to word this... 21:00:26 * SevenInchBread is proposing an addition for Python 3 that combines some stuff from interfaces as well as automatic type conversion stuff 21:01:26 what would you call something that can convert certain objects to a certain quality... or just match a type of quality. 21:01:51 * pikhq is proposing that GNU adopt a different kernel for the GNU system 21:02:10 Like Linux? 21:02:17 That's one example. . . 21:02:25 like herd? 21:02:51 One thing I *think* would be a deciding factor in kernel choice would be FUSE support. . . ATM, most of the cool stuff in Hurd could be implemented around FUSE. 21:02:59 bsmntbombdood: That's the current one, and it's spelt HURD. 21:03:08 sure 21:03:31 So, that limits the kernel choices to Linux, kFreeBSD, and kNetBSD. 21:03:40 . . . And HURD. :p 21:03:58 what's wrong with hurd? 21:04:36 It currently has the driver support of a braindead Linux 2.0 system with the speed of an i386 running Windows Vista. 21:04:58 oh 21:05:25 And its politics involve less efficiency than Congress. 21:06:31 The best feature of the HURD I could probably write in FUSE in a week or less. . . 21:06:56 StowFS. Pretty much UnionFS + pkginstall on crack. 21:07:17 but then it's illegal in most places 21:07:27 Um, what? 21:07:34 . .. Oh. XD 21:08:38 The HURD has politics? 21:09:08 Yes. 21:09:34 Does it elect a president every four time slices? 21:09:56 No, they're too busy arguing. 21:09:58 a computational system based on politics! 21:10:27 The idea for my proposition is to go straight to rms, and override said politics. ;) 21:11:13 Computational systems based on capitalism are better! 21:12:05 Yeah. Let Microsoft compute it all. 21:12:53 If we have Microsoft compute at all, they're charge us lots of money. 21:13:28 But they're the only computing entity. 21:13:31 If we split it between 30 companies, chances are they'll all charge fair prices. 21:13:49 If they're the only computing entity, then theoretically, anyone who makes another will become rich. 21:14:21 But what if they're the only people who know math? 21:14:40 Then anyone who learns will become rich. 21:15:49 Should MS want to keep their monopoly, no, that person won't. 21:17:25 Why not? 21:17:31 hm... i think if k is the highest power of any prime factor of n, then x^(y+k) mod n = x^(y mod tot(n) + k) mod n. 21:18:19 "Get The Facts: The *Truth* About Mathix and Their Bad Math" 21:18:36 because after k only parts relatively prime to n will change 21:18:39 Microsoft will say that the learner does math badly? 21:19:03 And the business world listens. 21:19:30 "Get The Facts: The *Truth* About Microsoft and Their Crazy Rumors" 21:20:43 ihope: Read "The Feeling of Power" (short story by Asimov). . . Think about what that world would be like if it were run by Microsoft. 21:20:47 Come back, and discuss. 21:24:06 -!- jix has quit (Read error: 110 (Connection timed out)). 21:35:46 Interesting. 21:42:38 Please output a prime with 2096 binary digits in decimal 21:43:01 no 21:44:20 [Error: programmer doesn't want to.] 21:44:35 no, interpreter doesn't want to 21:44:39 ^^ 21:44:45 Right. 21:44:47 Thats why i first joined this chan :P 21:44:54 i saw the IRP or w/e its called 21:46:02 the story pikhq linked to is actually *about* IRP in one sense 21:46:26 somone linked? 21:47:01 yeah 21:47:29 didn't someone here have mathematica? i'm sure it must have a large prime function. 21:47:48 http://downlode.org/etext/power.html 21:47:54 I have mathematica 21:47:56 or maybe it's not the calculation that is the problem here :) 21:48:24 you could just look up primes on a prime table 21:48:29 although, I don't know how to use it to generate arbitrary primes without programming a sieve or something 21:48:29 there are sites for that. 21:49:16 RodgerTheGreat: just pick a few random numbers of the right size. 21:49:24 RodgerTheGreat: random number, set first and last bits, while not prime, add 2 21:49:28 ok, maybe a few thousand. 21:49:44 use something like miller-rabin for testing primality 21:50:05 i'm definite mathematica has an isprime function or something. 21:50:15 maybe 21:50:38 if anyone wants to write a function for mathematica based on the manuals, I'd be glad to evaluate it 21:50:45 by the prime number theorem, about ln(10^2096) numbers will be needed. 21:50:54 -!- jix has joined. 21:51:08 10? 21:51:16 someone write a prime finder in BF 21:51:18 eh, 2 21:52:51 ln(2) * 2096 21:52:56 logarithms are so neat 21:53:09 2096? 21:53:36 ? 21:58:37 < bsmntbombdood> Please output a prime with 2096 binary digits in decimal 22:06:02 Do you think it's possible to compute with prime numbers? 22:07:36 fundemental theorem of arithmatic 22:10:04 Maybe we could create a computing system out of adding them. 22:10:17 Or just incrementing them. 22:11:22 You have a zero-tailed string of integers, and your two operations are "increment" and "truncate". When the string is truncated, the head will go into a Minsky machine register. 22:11:26 You only get one such register. 22:21:13 Someone print a prime of the form "n^m", where n and m are integers. 22:21:14 :p 22:21:40 ... integers greater than 2. 22:22:00 oh no! 22:30:56 * ihope ponders 22:31:15 Nah, just make it a Gaussian integer. 22:31:32 Gimme a Gaussian prime. 22:39:45 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:44:31 ? 22:44:36 how about 2? 22:46:38 2 is a Gaussian prime? 22:47:45 no 22:48:02 * pikhq snickers 22:51:58 (1 + i) (1 - i) = 2, maybe 22:53:18 Maybe? 22:53:27 Yes, they're equal. 22:53:37 1^2 - i^2 22:53:59 my powers of mental calculation are a bit exhausted after trying to fix a wikipedia article 22:54:43 3 may be a Gaussian prime then 22:57:31 * ihope ponders 22:57:52 2^2 - 1^2, or (2 + 1)(2 - 1), except that's really 3*1. 22:58:29 "Those rational primes which are congruent to 3 (mod 4) are Gaussian primes; those which are congruent to 1 (mod 4) are not." 22:59:01 is an integer a gaussian integer? 22:59:16 yes 23:01:33 a gaussian integer is m + n i where m and n are integers. 23:01:44 including n = 0. 23:10:45 -!- sebbu2 has quit ("@+"). 23:48:03 -!- ShadowHntr has joined. 23:55:35 -!- ihope__ has joined.