00:06:34 <SevenInchBread> I think we could make a good nanokernel.... they're much easier to develop.
00:08:47 <ihope__> Let's make a Multiboot-compliant boot loader that runs on top of GRUB!
00:10:35 <GregorR> ihope__: So, multiboot compliant in both senses? :P
00:10:53 <SevenInchBread> 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 <SevenInchBread> instead of doing stupid things like.... polling the kernel constantly for hardware signals.
00:11:22 <ihope__> Actually, can't GRUB run directly from GRUB?
00:11:44 <ihope__> SevenInchBread: poll the kernel for hardware signals. If you didn't get any, forfeit your time slice.
00:12:00 <ihope__> SevenInchBread: GRUB has a chainloader feature.
00:12:31 <SevenInchBread> bsmntbombdood, ...did you intend for that to sound smart-ass-ish? :P
00:12:32 -!- ihope has quit (Connection timed out).
00:13:34 <SevenInchBread> ihope__, in my experience... polling never works as good as interrupts and exceptions and the like
00:13:36 <bsmntbombdood> SevenInchBread: system calls are powered by interupts (at least on x86 linux)
00:14:00 <SevenInchBread> bsmntbombdood, yes I know... but you can plug any number of callbacks onto them.
00:14:08 <bsmntbombdood> you put the system call number in one of the registers and call int 0x80
00:16:04 <SevenInchBread> 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 <Figs> I got a nice bit of code for you all today
00:45:08 <Figs> http://rafb.net/p/j5n3ZG98.html
00:45:21 <Figs> good luck figuring out what it does (without compiling)
00:46:20 <Figs> I have no fucking idea.
00:46:24 <Figs> but it compiles
00:46:37 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
00:49:50 <Figs> I ran it to see what it does
00:50:01 <Figs> and I can't for the life of me figure out how the output came out as it did
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:53 <Figs> got disconnected there
00:58:00 -!- Figs has changed nick to F.
00:58:04 -!- F has changed nick to Figs.
01:04:23 <Figs> the first part of it, at least
01:30:14 <SevenInchBread> ihope, since the filesystem will be versioned... it makes it nearly impossible to lose data due to a faulty operation.
01:30:44 <ihope> Are we taking a break from the kernel stuff?
01:30:57 <ihope> Say, I don't suppose you have a spec for the kernel...
01:31:09 <SevenInchBread> 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:34 <SevenInchBread> but... it wasn't complete... as there was a lot of unanswered things in it.
01:31:47 <SevenInchBread> which means I'll probably never summon the willpower to write another.
01:52:59 <ihope> They say something about fruits of labor. I dunno what.
01:53:20 <ihope> First you decide whether you want to do something, then you act on your decision.
01:59:50 <SevenInchBread> 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 <Bigcheese> ihope: I know nothing about OSs :P
02:32:39 <ihope> You, bsmntbombdood?
02:35:17 <Bigcheese> see, the problem with operating systems, is you have to write 34930493094830984 drivers for it to be usefull
02:35:35 <ihope> Actually, you only need 3.
02:35:59 <ihope> Actually, like 85% of statistics, that number was pulled out of the space between my ears.
02:36:10 <ihope> Your dad wrote an operating system, eh?
02:37:17 <Figs> I need a funny one-liner or couplet
02:38:31 <Figs> obfuscated program I'm working on
02:38:34 <Figs> (as the output)
03:15:35 -!- Pikhq has joined.
03:49:52 -!- GreaseMonkey has joined.
03:56:57 <Figs> bah ba bah di baaa bah... Bah?
04:06:49 <ihope> Gimme an A! Gimma a T! Gimme a P! What's that spell? ATP!
04:08:08 <GregorR> Gimme a P! Gimme an O! Gimme an R! Gimme an N!
04:08:23 <Figs> at first I thought you were spelling PORK
04:08:28 <Figs> but then I saw then N
04:09:01 <Figs> Gimme an R! Gimme an O! Gimme an F! Gimme an L!
04:12:20 <Figs> Gimme an S! Gimme an T! Gimme an F! Gimme an U!
04:12:45 <SevenInchBread> Bigcheese, either that... or you create a wrapper that can interface with the 34930493094830984 drivers that already exist.
04:13:22 <GregorR> 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:15:47 <Figs> Gimme a Gimme an L when I have no Z in X.
04:16:21 <ihope> For characters we can use their Unicode thingies.
04:16:59 <ihope> Gimme a LATIN CAPITAL LETTER H! Gimme a LATIN SMALL LETTER E! Gimme a LATIN SMALL LETTER L! ...
04:17:21 <GregorR> Gimme a UNICODE CHARACTER 0133!
04:17:53 <ihope> No, it has to be Gimme a LATIN SMALL LIGATURE IJ!
04:19:11 <ihope> 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:52 <SevenInchBread> We've got <flag>, yes we do! we've got <flag>, how bout you?
04:19:56 <ihope> For outputting BugSophia: Gimme a RUNIC LETTER STAN!
04:19:58 <Figs> Gimme a JAPANESE KANJI ichi.
04:20:08 <ihope> Bigcheese: no, Français.
04:20:53 <Figs> Gimme a JAPANESE KANJI KIN.
04:20:54 <ihope> Figs: that's a Unicode character?
04:21:42 <ihope> Gimme a RUPTURE, SPLIT APART, COLLAPSE!
04:22:10 <ihope> So what's this JAPANESE KANJI ichi look like in UTF-8?
04:23:00 <SevenInchBread> ....you know... they don't have to be gimme a somethings
04:23:08 <Bigcheese> im trying to get mIRC to send unicode
04:23:17 <ihope> SevenInchBread: only the characters. :-)
04:23:21 <GregorR> mIRC can barely /receive/ Unicode :P
04:23:57 <ihope> Gimme a <CJK Ideograph, First>!
04:24:17 <Figs> Gimme a KOREAN man!
04:25:48 <Figs> Gimme a KOREAN HANGEUL
04:26:01 <Figs> http://www.omniglot.com/images/langsamples/smp_hangeul.gif
04:26:05 <ihope> Gimme a HEBREW LETTER ALEF! Gimme a LOW LINE! Gimme a DIGIT ZERO!
04:26:29 <SevenInchBread> <team name> don't <do something that rhymes with the last flag name>
04:26:35 <Figs> We've got Spirt! Yes we do! We've got Spirit, how `bout you? <branch YES> : <branch NO>
04:27:23 <Figs> what will we call this esolang?
04:27:31 <Pikhq> ihope: The kanji "Ichi" looks something like this (my IME is temporarily borken): -
04:27:55 <Pikhq> Bigcheese: Well, yeah.
04:28:29 <Figs> that's not question marks :P
04:28:42 <ihope> Pikhq: Unicode calls that thing a <CJK Ideograph, First>.
04:29:06 <Figs> whoo. Dawkins.
04:29:12 <Figs> two hour video
04:29:32 <Pikhq> Figs: Your IRC client is borken: it doesn't send Unicode at all.
04:29:49 <Figs> but I've talked to people in Unicode
04:33:21 <Figs> I get a w/ ~, box, ", a~, box, <<, a~, ... etc
04:33:41 <Pikhq> Figs: Do you happen to *use* Unicode at all?
04:34:02 <Figs> Me personally? or the software I use?
04:34:56 -!- Figs has quit (Connection reset by peer).
04:35:15 <Pikhq> BTW, that's こんにちは。
04:36:06 <Bigcheese> i have to set an unreadable font for it to work
04:36:14 -!- Figs_ has joined.
04:36:19 <Figs_> wtf? "There's no great leap, really. You can think of chimps as MS-DOS and humans as Windows 2000."
04:36:46 <Pikhq> Figs_: Inapt comparison. ;)
04:36:59 <Pikhq> Perhaps chimps == Windows, humans == anything else? :p
04:37:00 <Figs_> I'm quoting a dawkins video
04:38:01 <Pikhq> In other news, 1 = 2; all mathematicians resign.
04:38:27 <Pikhq> You forgot a verb.
04:38:48 <Figs_> It doesn't show up here
04:38:54 <Pikhq> Either "です" or "だ".
04:39:23 <Bigcheese> im reading http://www.guidetojapanese.org/
04:39:35 <Pikhq> What you're saying is roughly equivalent to "I student."
04:39:58 <Pikhq> You actually screwed the second one up even more.
04:40:07 <Figs_> which version of Japanese are you using?
04:40:16 -!- Figs_ has changed nick to Figs.
04:40:24 <Pikhq> Figs_: He must be using /dev/urandom/Japanese.
04:40:32 <Figs> there are multiple ways of encoding Japanese :|
04:40:34 <Pikhq> Bigcheese: Verbs in Japanese go at the *end* of the sentence.
04:40:50 <Pikhq> Figs: He said "watasi da gakusei."
04:41:29 <Figs> and no desu :P
04:41:42 <Pikhq> In the wrong place.
04:41:50 <Pikhq> (da is plain form desu, after all)
04:42:12 <Pikhq> That, while informal, is perfectly correct.
04:42:28 <Figs> he meant "Watashi wa gakusei da."
04:42:42 <Pikhq> And he finally got around to saying just that.
04:42:57 <Figs> never heard of a cast system
04:43:00 <Figs> another term maybe
04:43:14 <Bigcheese> http://en.wikipedia.org/wiki/Cast_system
04:44:01 <Figs> that's usually "caste"
04:44:14 <Figs> I thought you meant like
04:44:37 <Figs> (cheese*)&Swiss;
04:44:46 <Figs> And so I was scratching my head there :P
04:44:48 <Bigcheese> thats what i was thinking when i wrote it
04:45:27 -!- RodgerTheGreat has joined.
04:46:13 <Figs> talking about Nihongo, Unicode, and making a cheering esolang
04:46:30 <Figs> (although I think they were joking about that)
04:46:49 <Figs> Nihon = Japan, go = language
04:47:02 <RodgerTheGreat> I can see how that can lead into discussions about Unicode
04:47:14 <Figs> it was sort of the other way
04:47:22 <Figs> Cheering -> Unicode/Japanese
04:47:44 <Figs> oh, you're gonna do it?
04:48:18 <Figs> well, we have possible branch and print...
04:48:22 <Figs> what else do we need...?
04:49:24 <RodgerTheGreat> "Gimme a [single letter variable names] ... What does it spell?" could be some kind of group evaluation
04:49:25 <Figs> 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 <Figs> Flush the buffer? :P
04:50:04 <Bigcheese> I want a usefull lang, that looks like that :P
04:50:37 <Bigcheese> ok, first someone list out a bunch of cheers
04:50:42 <Figs> well, the What's that Spell?
04:50:45 <Figs> can be the Print
04:50:48 <Figs> and the Gimme a/an
04:50:54 <Figs> can be a way to build strings
04:51:12 <Figs> I can't hear you!
04:51:39 <Figs> use "I can't hear you!" for inpu
04:51:56 <RodgerTheGreat> "I can't hear you" could be used to repeat a block of code, perhaps?
04:51:56 <Figs> (telling the user to "Speak up" :P)
04:52:04 <Figs> that's another possibility
04:52:35 <RodgerTheGreat> but it'd need to take a parameter of some kind to be a useful (FOR...NEXT) style loop
04:52:53 <Figs> I CAN'T HEAR YOU! AGAIN! AGAIN! AGAIN!
04:53:03 <Figs> I CAN'T HEAR YOU! LOUDER!
04:53:06 <RodgerTheGreat> just a repeat isn't very handy unless we can self-modify
04:53:33 <Bigcheese> Gimme an INT how do you spell it? i
04:58:51 <RodgerTheGreat> "IF YOU THINK WE'RE THE BEST, [insert enthusiastic action here]"
04:59:07 <RodgerTheGreat> actions could include standing up, clapping, cheering, etc
04:59:26 <RodgerTheGreat> and then you could have "EVERYBODY STANDING UP, [action]" and the like
05:00:08 <RodgerTheGreat> ooh! you could also have certain actions be triggered by someone in the "game" "scoring"
05:04:36 <Bigcheese> If you think i is 5, Go and do foo!
05:05:39 <RodgerTheGreat> 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 <RodgerTheGreat> that could be used for variable declaration and initialization of some kind
05:06:35 <RodgerTheGreat> and if we provide enough control structures, function calls aren't really *necessary*
05:06:51 <Bigcheese> but hard too do in esoteric i guess
05:07:26 <RodgerTheGreat> esoteric functions are only for when you want to do stuff recursively, which often serves as a replacement for iteration
05:10:11 <RodgerTheGreat> 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 <Bigcheese> all you realy need is an if and a jump
05:13:58 <RodgerTheGreat> 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 <RodgerTheGreat> that unconditional jump can just be a while(true) {} loop, even
05:14:35 <Bigcheese> ya, but i dont want this to be harder than it must be :P
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 <calamari> gmail working for anyone else?
05:27:22 -!- Pikhq has quit ("Leaving.").
05:28:52 <calamari> 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: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:50:54 <pikhq> In *theory* there could be a whole lot of useful ones.
06:51:08 <RodgerTheGreat> there are a few things that are equivalent to various commandline utilities
06:51:11 <pikhq> In practice, we've got the Lost Kingdom, some Brainfuck implementations, and a hell of a lot of fun.
06:51:43 * pikhq has *written* a Brainfuck compiler in Brainfuck.
06:51:51 <pikhq> . . . Fine, I cheated, using BFM. . .
06:53:20 <pikhq> It is implemented very inefficiently, though. . .
06:54:10 <RodgerTheGreat> 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 <RodgerTheGreat> I'm certain there will be an explosion of nontrivial applications in BF once somebody finished a reasonably complete C->BF compiler
07:09:51 -!- Sukoshi has joined.
07:12:45 <Sukoshi> I'm going to (probably) link to a blog post where I spew a lot of kool-aid tonight.
07:12:54 <Sukoshi> About what I feel is the future of programming.
07:13:48 <Sukoshi> 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 <Sukoshi> (Like thinking magically that Pascal will come back from the grave.)
07:14:41 <Sukoshi> Well, that's the hopeful part of me :P
07:14:41 <RodgerTheGreat> "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:15:31 <RodgerTheGreat> 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 <Sukoshi> My essential thrust is that it will be an interactive one (like Forth, Smalltalk, and Lisp).
07:16:20 <Sukoshi> Except I'll be developing the thesis more effectively by giving a whole bunch of modern examples.
07:16:47 <Sukoshi> And yes, Windows is a stepping stone in it :P
07:16:51 <RodgerTheGreat> does this imply hardware more suited to these languages?
07:17:39 <RodgerTheGreat> 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 <Sukoshi> 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 <Sukoshi> Smalltalk is, from what I've read, because the language is based off a VM.
07:18:15 <Sukoshi> Lisp isn't, but the designs for the old Symbolics processors still exist so.
07:18:51 <Sukoshi> Yup. One guy is writing simulators for it.
07:19:03 <Sukoshi> Oh, links for this sort of thing:
07:19:21 <RodgerTheGreat> 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 <Sukoshi> 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 <Sukoshi> 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 <RodgerTheGreat> it's really funny watching the Slime/CL video, because the terminal window looks like one of mine hovering over the browser window
07:23:10 <Sukoshi> 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 <Sukoshi> I feel sad that the Forth community and Lispers have been unable to get much work done to create a complete solution.
07:25:10 <RodgerTheGreat> 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 <Sukoshi> 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:27 <Sukoshi> Well that's true. My paper is meant for the *desktop*.
07:26:07 <RodgerTheGreat> 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 <Sukoshi> 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 <RodgerTheGreat> 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:31 <Sukoshi> What can I say? I love my private property :P
07:28:54 <Sukoshi> (I'm a social capitalist. I believe that socialism is the means for a cleaner capitalism.)
07:29:05 <RodgerTheGreat> I don't feel that anyone should be *obligated* to release the source of something they make. It should remain their choice.
07:29:58 <Sukoshi> 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 <RodgerTheGreat> 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 <Sukoshi> GPL is nice, but some of its advocates are a bit on the GPL-way-or-high-way bit.
07:30:45 <RodgerTheGreat> I personally make everything I release available under the WTFPL or retain it as my own property- one or the other.
07:31:19 <RodgerTheGreat> 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 <Sukoshi> 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 <RodgerTheGreat> 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 <RodgerTheGreat> in addition, I have some serious doubts as to the reliability of the FSF.
07:37:11 <RodgerTheGreat> y'know, this lispmachine video reminds me a little bit of Sketchpad. Are you familiar with that system?
07:38:40 <Sukoshi> FSF was actually very very good, once upon a time.
07:39:08 <RodgerTheGreat> there's a video of sketchpad online- rather long, but an absolutely fascinating piece of history
07:39:11 <Sukoshi> 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 <Sukoshi> I'll spend the rest of this hour writing an annoying essay about poetry.
07:40:01 <RodgerTheGreat> I just see them as untrustworthy, in light of the power they wield via the GPL and its adherents.
07:40:22 <Sukoshi> Ah. That is unmistakably true.
07:40:37 <Sukoshi> Geeks tend to be odd that way. They all seem to unanimously trust Google too.
07:40:44 <Sukoshi> Heaven forbid if Google turns on the open community.
07:41:17 <RodgerTheGreat> 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 <RodgerTheGreat> oh, Google undoubtedly will eventually "eat its parents" in a metaphorical sense- the question is *when*.
07:42:14 <Sukoshi> Well, Geeks don't seem to learn from past failures.
07:42:43 <RodgerTheGreat> there is a difference between "obsessing over past failures" and "learning from past failures", eh? :)
07:46:10 <RodgerTheGreat> 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:35 -!- RodgerTheGreat has changed nick to RodgerTheZzz.
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: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:31:13 -!- Sephh has joined.
15:32:47 <ihope> I like exponentiation by squaring.
15:40:34 -!- Bigcheese has quit (Read error: 113 (No route to host)).
16:14:40 <ihope> It's useful when dealing in modular arithmetic.
16:15:47 <RodgerTheGreat> I remember how I first learned to use MOD- the redcode instruction set
16:21:24 <ihope> That stuff allows a person to calculate Graham's number.
16:21:55 <ihope> It's 87, give or take some multiple of 100.
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 <bsmntbombdood> ihope: so you know its base 10 representation ends in 87
18:18:09 <lament> and its base 2 representation ends in 1!
18:18:26 <lament> and its base 5 representation ends in 2!
18:18:31 <lament> coincidence? i think not!!!
18:19:52 <ihope> bsmntbombdood: yep.
18:26:46 <bsmntbombdood> i wonder if there's a way to efficiently calculuate a**(b**n) mod x
19:00:40 <tokigun> however you have to find y so a**(b**n) mod x == a**(b**n mod y) mod x
19:01:20 <tokigun> that is not hard thing if you know number theory
19:02:43 <oklopol> plus, you can replace a with (a mod x) of course
19:03:10 <oklopol> because (a * b)(mod x) = (a (mod x))(b (mod x))
19:04:13 <oklopol> i made a program for that just now, actually, but inserted a=30, b=30, n=80, x=7.... and it crashed, whaddyaknow
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 <ihope> x^y mod n = (x mod n)^(y mod n') mod n where n' is the totient of n
20:08:52 <oerjan> it reminds me of the last time i thought about fermat's little theorem
20:10:15 <oerjan> and if i could remember the counterexample...
20:10:36 <oerjan> y = n' + 1, for a start
20:12:42 <oerjan> because for y > 1, x^y == 0 (mod n) then
20:15:40 <oerjan> so that is a counterexample for any prime p.
20:17:10 <oerjan> i.e. p^(p*(p-1)+1) mod p^2 = 0, but p^1 mod p^2 = p
20:26:36 <oerjan> 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:29:01 <oerjan> oh, mind you if gcd(x,n) = 1 then it works as ihope said.
20:29:57 <oklopol> isn't that te definition of totient?
20:30:12 <oerjan> because n' is the size of the multiplicative group of those
20:30:34 <oerjan> the totient is the number of x such that gcd(x,n) = 1 yes
20:31:02 <oerjan> and the order of a group element in a finite group always divides the group size
20:31:06 <oklopol> ah indeed, a bit different... i'm a bit off having learned about totient 5 minutes ago
20:32:10 <oerjan> (i.e. a^|G| = 1 for a finite group G)
20:32:37 * ihope scribbles franctic(al)ly
20:34:23 <ihope> Mm, you're sure it doesn't work when the exponent is 1?
20:34:48 <ihope> It seems to work just fine there with a modulus of 10.
20:35:03 <oerjan> you cannot make p^k mod p^2 = p with any k > 1.
20:35:32 <oerjan> ah yes, because 10 is a square-free number
20:35:40 -!- sebbu2 has joined.
20:35:50 <ihope> It works for all square-free numbers?
20:36:00 <ihope> Square-free moduli, I should say.
20:36:24 <ihope> bsmntbombdood: a square-free number is one that has no square factors except 1, I think.
20:36:39 <ihope> One that has no prime factor twice.
20:37:51 <oerjan> you can easily prove it by proving it for each prime factor
20:38:03 <oerjan> and combining with the chinese remainder theorem
20:38:41 <oerjan> because the totient of n has all p-1 as factors
20:39:51 <oerjan> 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 <ihope> It'd be quite nice if everything to the fourth power ended up having 1 as the last digit.
20:48:54 <ihope> Naturally, this doesn't work for things not coprime to 10.
20:49:20 <oerjan> of course, but you can use it as a test for coprimality
20:49:44 <ihope> Then again, everything does come close.
20:50:11 <ihope> Even numbers that don't end in 0 to the fourth power seem to all end in 6.
20:50:16 <ihope> Subtract 5 and you get 1.
20:50:47 <oerjan> indeed, that follows because they must be right mod 5
20:50:48 <ihope> 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 <oerjan> it is 1 modulo each prime that isn't a factor and 0 modulo the rest.
20:53:54 <oerjan> 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 <oerjan> (again, by the chinese remainder theorem)
20:54:37 <ihope> Can this be turned into a factoring algorithm?
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 <SevenInchBread> 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:17 <pikhq> That's one example. . .
21:02:51 <pikhq> 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 <pikhq> bsmntbombdood: That's the current one, and it's spelt HURD.
21:03:31 <pikhq> So, that limits the kernel choices to Linux, kFreeBSD, and kNetBSD.
21:03:40 <pikhq> . . . And HURD. :p
21:04:36 <pikhq> It currently has the driver support of a braindead Linux 2.0 system with the speed of an i386 running Windows Vista.
21:05:25 <pikhq> And its politics involve less efficiency than Congress.
21:06:31 <pikhq> The best feature of the HURD I could probably write in FUSE in a week or less. . .
21:06:56 <pikhq> StowFS. Pretty much UnionFS + pkginstall on crack.
21:08:38 <ihope> The HURD has politics?
21:09:34 <ihope> Does it elect a president every four time slices?
21:09:56 <pikhq> No, they're too busy arguing.
21:10:27 <pikhq> The idea for my proposition is to go straight to rms, and override said politics. ;)
21:11:13 <ihope> Computational systems based on capitalism are better!
21:12:05 <pikhq> Yeah. Let Microsoft compute it all.
21:12:53 <ihope> If we have Microsoft compute at all, they're charge us lots of money.
21:13:28 <pikhq> But they're the only computing entity.
21:13:31 <ihope> If we split it between 30 companies, chances are they'll all charge fair prices.
21:13:49 <ihope> If they're the only computing entity, then theoretically, anyone who makes another will become rich.
21:14:21 <pikhq> But what if they're the only people who know math?
21:14:40 <ihope> Then anyone who learns will become rich.
21:15:49 <pikhq> Should MS want to keep their monopoly, no, that person won't.
21:17:31 <oerjan> 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 <pikhq> "Get The Facts: The *Truth* About Mathix and Their Bad Math"
21:18:36 <oerjan> because after k only parts relatively prime to n will change
21:18:39 <ihope> Microsoft will say that the learner does math badly?
21:19:03 <pikhq> And the business world listens.
21:19:30 <ihope> "Get The Facts: The *Truth* About Microsoft and Their Crazy Rumors"
21:20:43 <pikhq> 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 <pikhq> Come back, and discuss.
21:24:06 -!- jix has quit (Read error: 110 (Connection timed out)).
21:42:38 <bsmntbombdood> Please output a prime with 2096 binary digits in decimal
21:44:20 <pikhq> [Error: programmer doesn't want to.]
21:46:02 <RodgerTheGreat> the story pikhq linked to is actually *about* IRP in one sense
21:47:29 <oerjan> didn't someone here have mathematica? i'm sure it must have a large prime function.
21:47:56 <oerjan> or maybe it's not the calculation that is the problem here :)
21:48:24 <Bigcheesegs> you could just look up primes on a prime table
21:48:29 <RodgerTheGreat> although, I don't know how to use it to generate arbitrary primes without programming a sieve or something
21:49:16 <oerjan> RodgerTheGreat: just pick a few random numbers of the right size.
21:49:24 <bsmntbombdood> RodgerTheGreat: random number, set first and last bits, while not prime, add 2
21:49:28 <oerjan> ok, maybe a few thousand.
21:49:44 <bsmntbombdood> use something like miller-rabin for testing primality
21:50:05 <oerjan> i'm definite mathematica has an isprime function or something.
21:50:38 <RodgerTheGreat> if anyone wants to write a function for mathematica based on the manuals, I'd be glad to evaluate it
21:50:45 <oerjan> by the prime number theorem, about ln(10^2096) numbers will be needed.
21:50:54 -!- jix has joined.
21:58:37 <oerjan> < bsmntbombdood> Please output a prime with 2096 binary digits in decimal
22:06:02 <ihope> Do you think it's possible to compute with prime numbers?
22:10:04 <ihope> Maybe we could create a computing system out of adding them.
22:10:17 <ihope> Or just incrementing them.
22:11:22 <ihope> 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 <ihope> You only get one such register.
22:21:13 <pikhq> Someone print a prime of the form "n^m", where n and m are integers.
22:21:40 <pikhq> ... integers greater than 2.
22:31:15 <ihope> Nah, just make it a Gaussian integer.
22:31:32 <ihope> Gimme a Gaussian prime.
22:39:45 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:46:38 <ihope> 2 is a Gaussian prime?
22:51:58 <oerjan> (1 + i) (1 - i) = 2, maybe
22:53:27 <ihope> Yes, they're equal.
22:53:59 <oerjan> my powers of mental calculation are a bit exhausted after trying to fix a wikipedia article
22:54:43 <oerjan> 3 may be a Gaussian prime then
22:57:52 <ihope> 2^2 - 1^2, or (2 + 1)(2 - 1), except that's really 3*1.
22:58:29 <ihope> "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 <oklopol> is an integer a gaussian integer?
23:01:33 <oerjan> a gaussian integer is m + n i where m and n are integers.
23:10:45 -!- sebbu2 has quit ("@+").
23:48:03 -!- ShadowHntr has joined.
23:55:35 -!- ihope__ has joined.