#osdev is the only channel with logs prior to 2004
http://bespin.org/~qz/search/?view=1&c=osdev&y=5&m=6&d=9
00:00:00 --- log: started osdev/05.06.09
00:00:43 <schlick> Hmm, that would suck less than how I was going to do it.
00:00:55 <bbls> an optimised might cache previously calculated values, and if the function is recursive then it wouldn't have to recompute everything
00:01:18 <schlick> Only thing is I was hoping to have a OO language to write in. Should be able to do it in a functional language, then write the translator for the OO one in that...
00:01:35 <bbls> my language is not pure functional
00:01:36 <schlick> But I think I'd still end up doing execution tracing in anything but a functional language... right?
00:01:45 <bbls> just doesn't have side effects on function calls
00:02:04 <bbls> it's an idea i have created, dunno if it has been used before
00:02:19 <schlick> ACL2 works similarly.
00:02:25 <bbls> basicly when you modify a global variable inside a function, the new value will be local
00:02:42 <bbls> and it will not be visible outside the function, just inside or inside called functions
00:02:49 <schlick> Part of the problem with me using existing tools is I eventually want self hosted development. I don't want to have to turn around and port all of CLOS or GCC.
00:03:00 <bbls> neither do i
00:03:19 <schlick> I take it yours generates a raw executable?
00:03:37 <bbls> i plan to write a compiler in pacal that doesn't make any verification
00:04:00 <bbls> then compile the true compiler with that
00:04:34 <bbls> yes it will be an executable but it will need a lot of libraries
00:04:58 <bbls> so it will not really run on an existing system
00:05:26 <bbls> it should just generate bytecode with PCC
00:05:54 <musasabi> tcc :-)
00:05:59 <bbls> musasabi?
00:06:10 <bbls> what is tcc?
00:07:48 --- join: wli (~wli@holomorphy.com) joined #osdev
00:07:56 <musasabi> Tiny C Compiler
00:08:00 <musasabi> http://fabrice.bellard.free.fr/tcc/
00:09:49 <bbls> pcc means proof carrying code :)
00:13:18 <schlick> bbls, I figured it wouldn't run on other OS's. Just most proof carrying code implementations seem hung up on the usual bytecode "run everywhere" idea (I never understood why they did that when they were trying to cram everything into ring 0 for speed).
00:13:52 <bbls> i use bytecode becase i run high level code
00:13:58 <bbls> not low level asm
00:14:15 <schlick> Thought you said it'd be a executable (i.e. machine code)?
00:14:29 <bbls> in the sense that it can be executed :)
00:15:06 <schlick> Hmm... Won't that make it hard to write your kernel in it, or are you doing to do the usual kernel in C, everything else in bytecode deal?
00:15:30 <bbls> a small part of the kernel in C, the rest i want to code in my own language
00:15:38 <bbls> (and therefore have it verified)
00:15:59 <schlick> Should be fairly safe if you check the C code in Splint.
00:16:11 <bbls> yes
00:16:58 <schlick> Won't you lose a lot of the speed benefit of doing everything in ring 0 from executing the bytecode instead of machine code?
00:17:30 <bbls> the C part of the kernel will translate the bytecode to machine code
00:17:42 <schlick> JIT ?
00:18:13 <bbls> i tought about a small, not necesarly fast translator
00:18:27 <bbls> that would compile a JIT compiler written in my own language
00:18:32 <bbls> that then would recompile itself
00:19:11 --- quit: NightBird (Read error: 60 (Operation timed out))
00:19:46 --- quit: redblue (Client Quit)
00:21:30 <schlick> Have you got any work on the prover done?
00:21:49 --- quit: wli (Client Quit)
00:21:58 --- join: redblue (star@ppp079.108-253-207.mtl.mt.videotron.ca) joined #osdev
00:22:24 <schlick> Mostly asking because if you have I'd like to look at it, or thought you might be able to point me at some resources you looked at.
00:23:06 --- join: r0nny (~r0nny@p54B89597.dip0.t-ipconnect.de) joined #osdev
00:23:28 <bbls> i don't look too much at other projects
00:23:36 <bbls> because that would compromise my project
00:23:49 --- quit: pragma_ (Read error: 104 (Connection reset by peer))
00:24:12 <schlick> Compromise in what way?
00:24:37 <bbls> originality, etc
00:24:54 <bbls> if you read too much of other's people ideas, you will lose your own ideas
00:25:01 --- join: pragma_ (~pragma@pragma-000002.user) joined #osdev
00:25:03 <bbls> and you will become heavly influenced
00:25:16 <bbls> and therefore not bring something new
00:25:21 <schlick> Guess I look at that a lil different.
00:25:33 <bbls> and if you don't do something different then there is no point of doing it
00:25:39 <musasabi> Looking at other projects one learns not to repeat some mistakes.
00:25:57 <schlick> Would be nice to see a implementation of a proving language that did something other than work on algebra equations. I haven't seen much though (ACL2 is it, and it's a bit big to digest).
00:26:03 <musasabi> And if you don't look things up you don't know whether someone has already implemented your idea.
00:26:31 <bbls> musasabi i know that there is no provider for the kind of os i want
00:26:50 <bbls> and therefore this is all i need to know
00:27:03 <schlick> That's mostly the way I look at it musasabi. I also like to filter out my stupid ideas before I waste time doing them. If someone else knows why it's a bad idea it often saves me the trouble (like my syscall avoidance earlier today).
00:27:13 <r0nny> bbls: there is allways need to lock on others for answering 4 questions each time - what? how? why? how to do better?
00:27:32 <r0nny> btw - bbls what kind of os do u want ?
00:27:45 <bbls> r0nny formally verified
00:27:59 <r0nny> formally verified ?
00:28:15 * schlick grins at r0nny. "Sept it seems to make people angry when you ask the first three, and then they sit there quiet on the fourth one, in my experience. :P That is why I came here though. Needed pointers to information and to run ideas past people for them to tell me what, if anything, is wrong with them, and whats a better way."
00:28:23 <bbls> mathematically proven that it has no bugs (accoring to some definition of bug included in some config file)
00:28:40 <schlick> In that respect bbls's project is similar to mine r0nny.
00:28:55 <r0nny> hmm
00:29:05 <schlick> But he's writing a SASOS, and I'm writing a oldfashioned monolithic one (with kernel/user space separation).
00:29:10 <r0nny> bbls: what languages are u using ?
00:29:18 <bbls> r0nny i have to devide my own language
00:29:20 <bbls> *devise
00:29:24 <schlick> We're both trying to write our own.
00:29:27 <bbls> that can be easly verified
00:29:35 <bbls> C/C++ or alikes are not an option
00:29:49 <schlick> ACL2 is the only thing that's close to doing what I want, that I've found. I've begged for references. wli told me a few things but hasn't said much since then.
00:29:52 <r0nny> c++ can be easy verified too
00:30:03 <bbls> r0nny that's a joke :)
00:30:04 <r0nny> just needs some special classes
00:30:21 <r0nny> and very strict rules for yourself while coding
00:30:25 <bbls> r0nny not really, just can you insert assertions to be verified at compile time?
00:30:37 <r0nny> yes
00:30:42 <schlick> r0nny, verified, in this case, means that "for all possible inputs: foo always happens, and/or bar never happens"
00:30:55 <r0nny> what do u think is the template processor for
00:30:58 <schlick> It doesn't mean "can I avoid a buffer overflow if I insert special code here".
00:31:12 <bbls> ok, but i don't want any strict code rules, because that get rid of the whole idea
00:31:25 <r0nny> schlick: it means i can avoid a buffer overflow, casue i got smart buffers
00:31:30 <bbls> no
00:31:35 <bbls> r0nny no
00:31:56 <bbls> r0nny it means to mathematically prove that there is no way for the index to get out of bounds
00:31:59 <schlick> I haven't done much with templats. C++ virtual templates had just came out when I was in school, bt I think they only deal with C types. You can't say that a number has to be a multiple of 2, or something.
00:32:01 <bbls> not just catching it
00:32:25 <r0nny> schlick: u can
00:32:53 <bbls> r0nny and be mathematically verified at compile time?
00:32:55 <schlick> 'K. how. No remember this has to not insert any code. It has to be statically checked, not at runtime.
00:33:13 <r0nny> schlick: it is checked @ compile time
00:33:31 <schlick> I'll believe you if you can explain it to me. I'm interested and listening.
00:33:42 <bbls> r0nny i mean mathematically verifying the assertion at compile time, and then remove the assertions from the output binary since you mathematically proved that they will never fail
00:34:17 <r0nny> bbls: partial wrong
00:34:27 <r0nny> bbls: some assertions __need__ to b runtime
00:34:31 <bbls> for example, if you have some_pointer:=some_function() you have to mathematicall prove that some_function will never return NULL at that point
00:34:34 <r0nny> like dynamic buffers
00:34:39 <bbls> r0nny no
00:34:54 <bbls> even dynamic buffers have to be formally verified to be correctly accessed
00:35:22 <r0nny> bbls: if they are dynamic, u never know, how large they are atm
00:35:30 <r0nny> so u need runtime checks
00:35:43 <bbls> r0nny no
00:35:48 <r0nny> static buffers are no problem
00:35:57 <r0nny> but dynamic ones aare messy
00:36:00 <bbls> r0nny you prove that no matter what the length is, the program will work
00:36:11 <schlick> bbls is correct, that's what I thought you were going to say. bbls is talking about proving something can /never/ happen, or will /always/ happen, not at runtime. e.g. the Arianne space flight... some calculations went wrong, the number got too big, and it buffer overflowed some code, checking it at run time would have just made that subsystem fail, which would probably have still killed everybody.
00:36:35 <schlick> We need to know whether it can ever happen, and if it can, when (called a "counterexample", a example input that triggers the bug).
00:36:55 <bbls> schlick btw arrianne did not had human pilots :)
00:37:06 <r0nny> bbls: dynamic buffers cant be proofed, of there is no runtime check
00:37:21 <r0nny> s/of/if/
00:37:21 <schlick> you sure about that?
00:37:26 <schlick> Either way, major lossage, money wise.
00:37:43 <bbls> r0nny if you prove that the algorithm works for ANY buffer size then you know that will work and you don't need any runtime checks
00:37:45 <schlick> And there are other examples, like the cancer causing (due to software bug) x-ray machines.
00:38:02 <r0nny> bbls: then the algorytm HAS the checking
00:38:13 <schlick> r0nny, the other reason is some things you just can't handle at runtime...
00:38:53 <r0nny> u can handle most things @ runtime, but it would be slow, and stupid
00:39:01 <bbls> r0nny, yes but i mean in particular about formal verification, that means that all checks have to be done before running the code, like the code that runs life support machines
00:39:04 <schlick> Let's say your nuclear power plant is never supposed to get in some situation, say, never supposed to have part A on when part B is on. Well, you could pop up a nice error when that happens, but the thing may still blow up. You need to know if it can ever happen.
00:39:27 <bbls> schlick yep
00:39:48 <r0nny> i prefer checking all i can static, and the rest dynamic
00:39:53 <schlick> and it's kinda wierd because bbls is the only other person that seems to have heard of this sort of thing. :P
00:40:00 <bbls> :)
00:40:11 <schlick> I want it all static. All of it. I want all bugs dead, forever. :P
00:40:22 <r0nny> schlick: stupid
00:40:32 <r0nny> schlick: some stuff needs to be handled runtime
00:40:33 <schlick> Only if you're selling patches. ;)
00:41:06 <r0nny> schlick: dynamic buffers need algorytms deal with the dynamic size
00:41:09 <bbls> r0nny no, if you mathematically prove that an algorithm works for ANY array size, then you don't hav to make a check at runtime
00:41:17 <r0nny> and this IS runtime checking
00:42:04 <schlick> Only calculations and I/O have to be done at runtime. You don't have to do error handling at runtime unless it has to do with things outside your program (e.g. server dropped your connection). There's no reason whatsoever to not 100% prove your code correct. You can also statically check that routines handle cases like losing connections, though that doesn't require complex proofs, just a language that won't accept code without i
00:42:10 <schlick> won't accept code without it.
00:42:11 <r0nny> bbls: start to use your brain ! every algorytm is proofed to deal correct with dynamic arrays has runtime checking of it'S size
00:42:38 <schlick> Not so r0nny...
00:42:48 <bbls> r0nny no, because there is no need for runtime checking of it's size as long as you know that it will work with any size
00:42:49 <schlick> Let's say your dynamic buffer handler counts up per character.
00:42:57 <schlick> Let's say it does it with a char type.
00:43:11 <schlick> Lets say you read in more than 256 characters. Oops.
00:43:34 <r0nny> bbls: it works with any size only if it cheks the size
00:43:39 <schlick> A few things have to be handled at runtime but they're very small.
00:43:40 <r0nny> bbls: prove it !
00:43:52 <bbls> r0nny yes, but the actual size is not necesarly to be known at compile time
00:44:08 <bbls> r0nny you can for example know that the size is equal to sizeof(some_type)*some_number
00:44:31 <musasabi> You might want to look at using type system to brand array index checks in Haskell.
00:44:32 <bbls> and then infer from this that for array[i], i has to be between 0 and some_number-1
00:44:57 <bbls> musasabi i don't want to catch array out of bound, i want to prove that they are impossible
00:45:01 <schlick> Dynamic buffers don't handle the "we must never do anything in our code that would turn part A and B on" at the same time. Other problems are, say, off by 1 errors. You could catch those, and dynamic buffers wouldn't save you.
00:45:03 <musasabi> http://www.haskell.org/pipermail/haskell/2004-August/014397.html
00:45:11 <musasabi> a quite nice technique.
00:46:34 <bbls> musasabi i need something that verifies the entire program, not just a small part as indexes
00:46:42 <r0nny> schlick, bbls : u try to avoid stuff wich is proofen to generate bugs, if u avoid it
00:47:05 <schlick> Basically strongly typed languages catch some range errors (only helps if your desired ranges coincide with types). Dynamic allocation catches (or more accuratly "avoids") a lot of others. For everything else you need proofs.
00:47:15 <bbls> like prove that my super fast (but difficult to maintain) sorting algorithm still produces sorted results for all cases
00:47:30 <schlick> r0nny, yes, you should try to avoid them, but it's a lot better to avoid them at compile time, than try to survive at runtime.
00:48:23 <schlick> Put another way, had you rather live in a building with firewalls, or have a fire alarm and a fire escape (assuming you couldn't have both)? Me, I'm for the firewalls. Lot rathr not get dead than know I'm about to die and have to try to flee.
00:48:27 <r0nny> schlick: mist stuff is avoided @ compile time
00:48:40 <schlick> r0nny, not in my experience,
00:48:41 <r0nny> schlick: but there is stuff u cant avoid @ compile time
00:48:58 <bbls> r0nny: wrong
00:49:03 <schlick> Only things that occur outside your code (and are thus not available to the compiler).
00:49:08 <bbls> array index checking can be done at compile time even if it's dynamic
00:49:25 <r0nny> the compiler does not know the size
00:49:30 <r0nny> so how can it check ?
00:49:46 <r0nny> proof ?
00:49:57 <schlick> Simple example.
00:50:06 <bbls> r0nny you need for this a mathematical engine that formulates a proof that for any input variables the index is withing the bounds specified by other variable (which contais the size of the array, as read at run time for example)
00:50:17 <musasabi> In some cases the checks are mandatory, but in most cases the checks can be omitted.
00:51:06 <schlick> 1: Read "Type a number between 1 and 5: " NUM
00:51:06 <schlick> 2: assert NUM <= 1 && NUM => 5
00:51:24 <bbls> schlick
00:51:33 <bbls> http://www.rafb.net/paste/
00:51:36 <bbls> better this way
00:51:39 <r0nny> bbls: i told u to tell me HOW u do, not how it's called
00:51:49 <schlick> Obviously since we didn't do anything to prevent it from being just anything, even not-a-number, between the read statement and assert statement, the assertion is false.
00:51:55 <bbls> r0nny read my statement above
00:52:35 <r0nny> bbls r0nny you need for this a mathematical engine that formulates a proof that for any input variables the index is withing the bounds specified by other variable (which contais the size of the array, as read at run time for example) <- this one ?
00:52:37 <schlick> Proving it gets involved. Basically involves specifying the set that's valid and making sure no possible value is outside that set. Or put another way, you whitelist values and make sure no non-whitelisted values are possible.
00:52:52 <bbls> r0nny yes
00:52:56 <r0nny> bbls: stupid
00:53:01 <bbls> r0nny why?
00:53:11 <r0nny> bbls: it'S no real proof
00:53:16 <bbls> it's real proof
00:53:21 <r0nny> in the end u need to use the runtime size
00:53:21 <schlick> bbls, could do it that way but I only had 2 lines of code there. <:)
00:53:26 <bbls> it's a proof that for any index value it won't be out of bounds
00:53:58 <r0nny> bbls: then it is runtime checking, cause the max index may change in runtime
00:53:59 <bbls> r0nny can you proof that f(x)=1/x is valid for 2<x<100?
00:54:05 <bbls> *prove
00:54:15 <r0nny> bbls: yes
00:54:25 <bbls> sure, you can, but how you do it if you don't know x?
00:54:27 <schlick> But not in C++, I'm quite sure of that.
00:54:43 <r0nny> bbls: check if x!=0 in runtime
00:54:59 <bbls> i meant about the math function
00:55:05 <bbls> but you haven't proven
00:55:08 <bbls> that it's correct
00:55:13 <bbls> just that the bug is catched
00:55:26 <bbls> (which would be anyway since the kernel would raise a div-by-0 signal)
00:55:46 <r0nny> divby0 is bad
00:55:47 --- join: nessie (~nessie@lucifer.nerdfest.org) joined #osdev
00:56:01 <r0nny> but array bound are another problem
00:56:05 <bbls> no
00:56:08 <bbls> it's the same problem
00:56:09 <schlick> r0nny, let's pretend that if f(x)=1/x is valid for 2<x<100 is not valid, the car explodes (just pretend, similar things really happen)
00:56:28 <bbls> r0nny would you run that car?
00:56:33 <schlick> So you're chugging along, and it happens. Well, your code can detect it, and show a light on the dashboard, but the car still explodes.
00:56:44 <bbls> schlick :)
00:56:47 <r0nny> schlick: stupid
00:56:51 <bbls> r0nny no
00:56:58 <bbls> this is the role of formal verification
00:57:01 <schlick> The idea is to catch the case where it happens, and change the code till it can't happen.
00:57:08 <r0nny> well - just telling there is a error, and let it happen is stupid
00:57:24 <bbls> r0nny well, it shouldn't have been an error in the first case
00:57:54 <schlick> r0nny, telling there's a error and letting it happen may be unavoidable!
00:58:03 <r0nny> u know, u cant avoid everything
00:58:22 <bbls> r0nny yes, but you can avoid a lot more with compile time verification of code correctness
00:58:43 <schlick> r0nny, why would you not /want/ to avoid bugs if you can? That's like saying, sure, I could avoid playing russian roulette, but I LIKE playing that!
00:59:00 <r0nny> bbls: bu u still did not proofe the compile time checks for dynamic array'S
00:59:08 <bbls> r0nny sure you can
00:59:10 <bbls> look here:
00:59:18 <bbls> wait i'll do it on the paste seite
00:59:20 <bbls> site
00:59:25 <r0nny> ok
00:59:58 <schlick> Bleh, I wanna see. :P
01:00:36 --- join: Lateralus (~lateralus@host-216-78-252-203.cha.bellsouth.net) joined #osdev
01:02:45 --- nick: _edon -> edon
01:03:10 <bbls> i can't write it in C :)
01:03:27 <schlick> Bad pun. :P
01:03:38 <bbls> because in C you don't have control over the assumptions
01:03:55 <schlick> Oh, I thought you were referring to my "I wanna see" comment.
01:04:12 <bbls> no :)
01:04:23 <bbls> no matter how i write it in C it is never correct
01:04:35 <bbls> since you can always have a case when things are wrong :)
01:04:43 <bbls> i need a pure functional variant
01:04:44 <r0nny> bbls: then use c++ template metaprogramming
01:04:56 <bbls> r0nny that doesn't solve anything
01:05:15 <r0nny> bbls: it allows to do many compile-time checks
01:05:35 <bbls> can you check at compile time that one string will never be equal to "some_command" at run time?
01:05:52 <schlick> C is very very dangerous portability and calculation wise. I'm going to try to write a C code generator to use on most OS's, but for mine I'll have to spout assembly of course (since I won't have a C compiler I've written). Hopefully running generated code through Splint with all the warnings turned on will make sure the back end is fairly safe. So much is "undefined" standard wise.
01:06:57 <r0nny> bbls: u never can do thins check @ compile time
01:07:09 <bbls> r0nny here is where you are wrong
01:07:15 <schlick> r0nny, you can...
01:07:16 <bbls> it is possible unsing formal verification
01:07:20 <r0nny> bbls: if u got a externam data source it might allways happen
01:07:28 <schlick> Nope.
01:07:30 <bbls> r0nny no
01:07:55 <r0nny> if u read string from stdin, it can allways happen, it'S some command
01:08:25 <schlick> Look at some of the uses of ACL2. ACL2 has some projects that are over 4000 lines of code long. One, that was about that long, had ~2000 assertions of exactly the kind bbls mentioned, all statically proven to never/always occur.
01:08:27 <bbls> r0nny i mean about doing some string calculations
01:08:43 <schlick> r0nny, let's say you don't want it to be some_command
01:08:54 <bbls> r0nny you always have to check data from external sources, but just when you read it
01:09:11 <bbls> but you can prove that once the data has correctly entered the program
01:09:14 <schlick> You write code to read in commands, parse them around a bit. Wouldn't it be nice to know that once all the rearranging was done, you ended up not having "some_command"?
01:09:16 <bbls> then the program has never failed
01:11:41 <schlick> input checking does not solve all problems. Somewhere deep in the guts of your code it can (and often does) process something in a invalid way. Catching it at runtime assumes (1). you know you /need/ to catch it at runtime (you may not, and static checking can often catch these; you might not assert it correct therre, but /somewhere/ there'll be a assertion that will catch it, most likely) (2). you can recover (which is very rarel
01:11:49 <schlick> recover (which is very rarely true in any case except validating input).
01:12:57 <schlick> To pick a admittedly somewhat a-typical example, if you're writing code for a factory robot that pushes two things along with a certain amount of force, you may be able to detect that they have collided, but that doesn't help since you've damaged things already. You need to make sure that the program never generates a pattern of movement that would cause a collision.
01:18:13 <schlick> I guess a more typical, similar, example would be a filesystem driver. You'd want to prove that no matter what you were told to do, you didn't corrupt the drive. You could do runtime checks through the whole thing, and then hang the computer if one of your assertions failed (so it couldn't corrupt it, at least not any more... you'd have to hope you could detect it coming rather than notice it), but most of us using said code would
01:18:19 <schlick> using said code would just assume know that it could never happen.
01:19:28 --- join: DesreveR (~r0nny@p54B89348.dip0.t-ipconnect.de) joined #osdev
01:20:52 <DesreveR> re
01:20:54 <DesreveR> bbls: what was after "bbls then the program has never failed"
01:20:58 <DesreveR> my provider did a disconnect
01:21:09 <DesreveR> <- r0nny
01:22:36 <bbls> DesreveR i have not said anything else, schlick said something
01:23:49 <DesreveR> bbls: u still did not proofe the dynamic array stuff
01:24:07 <DesreveR> i dont see food mathematical formula foo as proofe
01:24:17 <DesreveR> -food+foo
01:25:31 <DesreveR> can u tell a real proof ?
01:28:31 <DesreveR> as long as u just tell u do the checking, but dont tell how it's just not worth being notices any more
01:29:08 <schlick> DesreveR, if you want to see some proofs ACL2's site has a bunch.
01:29:39 --- quit: r0nny (Read error: 110 (Connection timed out))
01:30:02 <schlick> Go there and look at the two "tours". The "flying tour" is the short/high-level one. It's the only site I know of with proofs of somewhat realistic programming statements.
01:31:43 <DesreveR> it locks like lisp
01:33:20 <musasabi> schlick: I think most potential for corrupting a drive is sending a sequence of commands that a particular piece of hardware doesn't happen to like. Or abrupt power downs.
01:33:26 <schlick> It is a form of lisp. A purely functional subset of Lisp that can prove things about itself. You can write something in it, and then say "prove blah always happens" or "prove blah never happens" and it'll do it for you and spit out the result. If it can't figure it out, you have to provide additional "lemmas" (basically saying <some statement> = <some other statement>), which can be put in "libraries" called "books".
01:34:41 <schlick> musasabi, actually, lots of terrible, horrible, things can happen in filesystem drivers. Anybody that used early ReiserFS implementations can probably tell you about them. ;) [remember, buffer overflows overwrite random bits of code, exactly what occurs in that case is "undefined" this is bad when it's changing what's being written to disk]
01:35:06 <ParadoxHeart> "Prove there are no 40 year old virgins in the world."
01:35:31 <bbls> ParadoxHeart i'm sure there are several of them somewhere
01:35:34 <DesreveR> schlick: wasnt pure-functional limited cause there arent effects like io allowed ?
01:35:35 <musasabi> schlick: yes, well that was well known to be buggy.
01:35:35 <schlick> I think there probably are. Does negation by counter-example work? :P
01:35:38 <bbls> i expect to be one of them at one point :)
01:36:14 <schlick> DesreveR: popular myth. Pure functional languages do I/O by passing something called "world" which will give you a headache at first.
01:36:35 <DesreveR> schlick: im going to get a book about this
01:37:05 <musasabi> Using monads for IO is quite nice.
01:37:39 <bbls> i preffer seding whole worlds, more logical
01:37:55 <bbls> it's basically a state machine
01:38:11 <DesreveR> schlick: but i never saw a proof there, wich made array'S compile-time checked (since lisp has no array's)
01:38:13 <bbls> where the program is a function that receives the current state and generates the next state
01:38:30 <bbls> DesreveR lisp has vectors
01:38:34 <ParadoxHeart> Proving programs gives you a headache in general. Which is why only the most critical programs use it. :-\
01:38:50 <bbls> ParadoxHeart better tools are needed
01:39:01 <schlick> I like having lots and lots of models of programming. Makes life easier for expressing things most easily expressed in a particular way, and helps you think about problems in more than one way. Pity all anybody learns any more is imperitive. Most people don't even seem to consider the others interesting, which is really sad.
01:39:22 <DesreveR> i think proofing the programm with some c++ classes and templates is ___less___ pain, then writing a new one
01:39:54 <schlick> ParadoxHeart, the idea is to make a program do it so all you have to say is "make sure foo always/never happens" and that's it. Humans shouldn't have to prove programs correct. Almost nobody will use it while it remains in that state.
01:40:36 <schlick> bbls and myself want, badly, a language with a prover in the compiler, to achieve that.
01:41:14 <ParadoxHeart> Well a human has to prove at least one program correct by hand. The proof checker. Otherwise you couldn't be sure it's proof tests were accurate. :-p
01:41:15 <schlick> DesreveR, unless they changed the site, I'm positive there are proofs in the "walking" tour.
01:41:23 <schlick> They're about 3/4ths of the way through.
01:41:33 <schlick> Sort of.
01:41:51 <schlick> Ultimatly everything breaks down to assumptions (lemmas) about what is true.
01:42:17 <schlick> A damn good check is to make sure that your assumptions are internally consistent. If the compiler compiles itself, without problems, it should be pretty safe.
01:42:35 <schlick> Assuming it passes that test, and programs appear to behave themselves when written in it, you can be pretty sure if it's safety.
01:43:19 <schlick> The "test" bit was why Knuth said, "I have only proven these algorithms, not tested them." as a warning. :P Sometimes you didn't write or prove what you ment. :P
01:43:39 <schlick> But again, if it can be done once the pain should be mostly over.
01:45:19 <schlick> And actually, aside from ACL2, there's some ancient Fortran prover that was around in the 70s that works this way. Usually there's a serious problem with the implementation. ACL2 doesn't allow you to imbed proofs in code, you have to manually say "prove blah" after entering the code. The fortran thing, as far as I can tell, mostly died because it was Fortran only, and only scientists cared about that.
01:47:05 <DesreveR> but i dont see the lisp stuff as compile-time proof, since lisp is a language was made to be interpreted
01:47:14 <schlick> Not so.
01:47:18 <schlick> There are Lisp compilers.
01:47:23 <DesreveR> i know
01:47:26 <schlick> e.g. cmucl
01:47:34 <DesreveR> but can u proofe, they dont insert runtime checks ?
01:47:46 <schlick> Umm, yeah...
01:48:26 <schlick> To use ACL2 you describe something. It doesn't particularly care what. AMD used it to prove several parts of their processor design correct. But it lends itself most easily to programs in LISP.
01:49:17 <schlick> Then you say "prove <some statement> about what I described". And it spits out whether it's true, or not true. Then you can go take your processor to the fab and make it, and be sure the Lisp-ness didn't influence anything about it.
01:49:45 <DesreveR> hmm
01:50:02 <DesreveR> basically i can do the same in c++ with templates
01:50:30 <schlick> Nope.
01:50:35 <DesreveR> but pure-functional programming in c++ iss very hard
01:50:50 <schlick> You can only make proofs about types, not about variables in relationship to eachother, or anything other than types (e.g. specific values).
01:51:56 <DesreveR> im sure u an do it in some way, but i lack c++ knowdegde, to proofe it right here
01:52:09 <DesreveR> and i think i dont want to proofe right now
01:52:49 <DesreveR> if i ever get it right, i will show it
01:53:50 <ParadoxHeart> DesreveR, Turing equivalence is your proof. You'd have to think about it in a different, non-automated way with C/C++, but you could create a program that would compile to the same result as one created with a language with proper proofs.
01:54:17 <ParadoxHeart> The difference is that you have to rely more on the programmer and less on tools that already proven correct. ;-)
01:54:44 <ParadoxHeart> In the same way, you can perform object oriented programming in pure assembler.
01:54:53 <DesreveR> im going to relly on calsses, are proofen to be correct
01:55:05 <DesreveR> eh classes
01:55:12 <schlick> Hmm, news to me. Guess templates have finally progressed from something that just let you ignore the type system. Though I find it rather amusing that it's turing complete. Somehow that seems to fit my impression of C++. C never did manage to make their preprocessor turing complete, but they sure tried. ;)
01:55:37 * schlick 's never seen a formally proven C++ class library.
01:55:44 <DesreveR> c++ allows to have recursive tem pemplates
01:56:07 <DesreveR> u can also have typelists and stuff
01:56:07 <schlick> 'K. Doesn't make it formally proven.
01:56:26 <DesreveR> i can write some classes are formaly proofen
01:56:56 <DesreveR> the problem is, nobody tried to make a collection of usefull c++ libs - so it sucks, casue there are no libs
01:56:58 <schlick> Yep, lots and lots of types, type conversion, fiddling, virtual type everythings, virtual virtual ness. Only about 1000 pages for the standard (not that common lisp is any easier to swallow at about the same size).
01:58:23 <DesreveR> ?
01:58:23 <schlick> Well, C++ is massive as it is, so I'm sure it's hard to just make a ansi standard implementation. But I think another reason is people would get upset if you made a Java-style set of libraries. I mean... stanard, cross platform, widget sets... as a part of a language! Herasy! That would mean Windows apps could be easily ported to something else! We must vote against that at the nest ANSI standard meeting. :P
01:58:47 <ParadoxHeart> I think the point here is that anything can be formally proven, it's just less of a pain in the backside if the compiler can do it for you, instead of having to prove it by hand. :-p
01:58:47 <DesreveR> lol
01:59:18 <DesreveR> im going to make my classes in a way, i can use the compiler as proof
01:59:39 <DesreveR> c++ templates are just tooooo powerfull
01:59:52 <schlick> Not a big fan of C++, or types in general. They made us learn it in college. I never could understand why I was forced to use a language that took what I could do in C and made it take 4 times as many lines, and didn't manage to fix any of the problems with C. Of course there wasn't even a standard back when I was in college, but a lot of people were using it anyway.
02:00:18 <DesreveR> schlick: u had a stupid teacher
02:00:28 <schlick> Possibly.
02:00:49 <DesreveR> and the actual c++ asnt be compared to the messy old version back then
02:00:51 <edon> object C has templates support?
02:01:03 <schlick> Looked at a lot of languages since then. C++ still just strikes me as wrong. :P It has probably the most hideous stdin/stdout implementation ever. Well, no Intercal looks worse...
02:01:34 <ParadoxHeart> schlick, ever seen Unlambda?
02:02:01 <DesreveR> schlick: it's nice to use
02:02:11 <schlick> And yeah, I know you're not going to use stdin/stdout much these days, unless you're on Unix, but it's one of the first things I learned in class. I can remember my teacher getting /furious/ when I asked if we could use puts/printf instead, and why this was better.
02:02:20 --- quit: acidx ("Leaving")
02:02:55 <DesreveR> schlick: the c++ io is more typesave, and is very easy to extend
02:03:00 <schlick> My idea of nice to use apparently is far different from the C++ programmer idea. I like something that looks more or less like what's going on, computationally, and preferably resembles the output closely if it's a output statement.
02:03:24 <schlick> And yes, I've seen Unlamda, Brainfuck (and variants, Doublefuck is a fun one to say :P ), w0rb is another good one.
02:03:59 <DesreveR> schlick: u just need to define the << and >> operators for a new type, to use it with the c++ io
02:04:38 <schlick> And then there's the not-intentionally-obfuscated languages like APL (great idea, HIDEOUS syntax, look at J for a real world version; APL is often described as "that language with the klingon character set") and QCL (quantum computer programming, aka we're back to the wonderful world of probablistic computing! just like the analog days!)
02:05:21 <schlick> Desrever, IMO, the most intuitive forms of stdin/stdout are C's and Visual Basic. And you won't hear me say much nice about either ones of those. :P Python's isn't bad either.
02:06:17 <DesreveR> schlick: in printf vs cout cout wins
02:06:28 <DesreveR> schlick: casue u cant add new types to printf
02:06:47 <DesreveR> perl got it nice too
02:07:03 <bbls> perl is an abomination ?:)
02:07:08 <schlick> Never wanted to add new types to printf. :P
02:07:22 <schlick> I just wanted to print numbers and strings for gods sake. Is that so much to ask! :P
02:07:37 <DesreveR> lol
02:07:46 <DesreveR> u can do it with cout
02:07:56 <schlick> What am I going to do with extensable stdout? Print type-ardvark? WTF would that look like? :P
02:08:12 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
02:08:27 <DesreveR> i would do something like ncurses - with windows, and buttons
02:08:42 <DesreveR> and i list need to do cout << window;
02:08:55 <DesreveR> and it automagically prints the windows, and it'S sub-elements
02:09:19 <schlick> I think text should be text and GUIs should be GUIs. :P
02:09:28 <schlick> I don't want to send a button to stdout.
02:09:43 <DesreveR> i just need to hack the lib a bit, and i can use it with x11 too
02:11:01 <DesreveR> screen << window; // is a nice syntax - it tells the window goes to the screen
02:11:19 * schlick has formally proven DesreveRr is trying to make them cry about people taking a perfectly good hyper text document standard and turn it into a bad programming language with some bad GUI parts glued on
02:11:54 <DesreveR> ????
02:11:58 <schlick> I'd just assume use the more conventional syntax of object.somemethod("arguments").
02:12:11 <schlick> The printing buttons in text mode comments. :P
02:12:19 <DesreveR> lol
02:12:33 <DesreveR> i like text consoles
02:13:02 <DesreveR> and something like ncurese is very usefull for me
02:13:14 <schlick> I like upward scrolling commandlines when they're needed. Makes logging output and mangling it around with scripts easy. People turning text mode into GUIs screw that up.
02:13:14 --- join: wli (wli@holomorphy.com) joined #osdev
02:13:46 <DesreveR> i dont want a gui
02:13:52 <DesreveR> just a nice text interface
02:14:09 <DesreveR> real gui is needed only for stuff like images
02:15:54 <ParadoxHeart> A real GUI is needed as soon as you want more than one font on the screen at once. :-p
02:16:10 <schlick> Somehow I've always considered things with buttons and the like to be GUIs, whether they're in text mode or not...
02:16:23 <DesreveR> i dont have a need for this
02:16:40 <DesreveR> (more then one font)
02:17:00 <schlick> I like GUIs. Just don't like people taking something intended to be one thing (CLI programs) andturning them into GUIs. Sorta like taking HTML and making it into a GUI with marginal scripting language built in.
02:17:20 <schlick> I like multiple font sizes. Makes skimming text easier.
02:17:47 <ParadoxHeart> HTML is a mess to be honest.
02:17:58 <DesreveR> why ?
02:18:48 <schlick> Because it's a poor solution to all problems except hypertext documents, but people seem to not want to use it for that. Noo, we gotta take a sow's ear and make it into a silk purse, or something. ;)
02:18:51 <ParadoxHeart> Well, to start off it's got several unnecessary tags, and is missing a good few for the purpose it was created for.
02:19:26 <ParadoxHeart> <b> should not exist, and where is by <footnote> dammit?
02:19:37 <schlick> How about LOVELY things like the ability to do popups, popunders, open a window when you click a link (if I /wanted/ it in a new window, I woul have right clicked and /said/ open in a new window), etc...
02:19:39 <ParadoxHeart> *my
02:20:28 <schlick> If it was a document, not a web-browser-control language (in my not so very humble opinion nothing but me has the right to control my web browser), you wouldn't have that problem. :P
02:21:11 <DesreveR> schlick: html was a document, then stupid people messed it
02:21:23 <schlick> Yes, sadly.
02:21:54 <DesreveR> schlick: it's allway'S the thing, stupid people mess up things
02:22:07 <schlick> Now it's a document, a non-turing complete scripting language (the XML transformations thing), a browser control language (where almost all the obnoxious crap lives), tc.
02:22:42 <schlick> BTW, while I'm complaining, I think MathML should be a official part of HTML. :P
02:22:44 <DesreveR> with c++ it's the same - the language has great potential, but the stdlib is a bad joke
02:23:00 <ParadoxHeart> schlick, so turn off JavaScript/LiveScript/ECMAScript/WhateverTheyAreCallingItThisMonthScript. :-p
02:23:14 <schlick> As I was going through college and C++ was taking off I got the impression that Alan Kay expressed better than I could.
02:23:29 <schlick> C++ is a octopus made by nailing wooden legs onto a dog.
02:23:33 <DesreveR> c++ changed since back then
02:23:53 <DesreveR> now it'S what u can call a programming language
02:24:10 <DesreveR> but the stdlib sucks
02:24:26 <DesreveR> the only usefull thing is the stl
02:24:37 <DesreveR> but libs like oost allready got better stuff
02:24:45 <DesreveR> s/oost/boost/
02:25:06 <schlick> Naa, it was a language that started out as just some OO extentions to C (Objective C did this right). Then some simulation stuff got tacked on (that's where most of <whatshisname, the guy that invented the thing Bjorn Stroustrup?> the initial "extra" syntax came from). Then they kept tacking more and more on. Now it's just a sort of big monstrosity. Java decids they're going to improve on it by "simplifying" it.
02:25:40 <DesreveR> java is castrated
02:25:54 <DesreveR> the templates are the things, make c++ sooo powerfull
02:26:09 <schlick> So Java ends up being a scripting language on top of a emulator, so it's slow. It does manage to fix the buffer overflow problems at least, but like C++ they kept tacking parts on, didn't get it right the first time so tacked a equivlant part on, making the language as big and incomprehensable as C++.
02:26:11 <DesreveR> they are a universal code generator
02:26:25 <schlick> Wouldn't need templates in a dynamically typed language.
02:26:38 <DesreveR> lol
02:26:58 <DesreveR> u dont know, what templates are used for
02:27:09 <schlick> Most of the "fixes" in java and C++ seem to revolve around fighting the type system they created.
02:27:09 <DesreveR> they are used as code-generator
02:27:26 <schlick> Back when they first came out, they were a way to write code independent of the type it operated on.
02:27:32 <ParadoxHeart> schlick, it's actually not really that slow, just a lot of people program with it in a braindead and very inefficient manner.
02:27:47 <schlick> As far as I'm concerned that's trying to jury rig dynamic typing onto a statically typed language.
02:28:09 <DesreveR> ParadoxHeart: actually javva is slow, casue the actual cpu's suck executing java vm's in a good way
02:28:21 <DesreveR> ParadoxHeart: sparcs run jave very fast
02:28:29 <DesreveR> even if the programmer is braindeath
02:29:33 <DesreveR> need to go
02:29:35 <DesreveR> laterz
02:30:38 <ParadoxHeart> schlick, so what do you think of CSS, to go back to the web convo? :-)
02:30:38 <schlick> ParadoxHeart, I like that Java has a fairly useful set of libraries, but I have yet to /ever/ see a java program that performed reasonably or used resources reasonably. Off the top of my head I've used several P2P clients in it (it's supposed to be good for networking they say), a fancy word processor (for writing LaTeX documents), and some other things (mail client designed to work over a P2P network I think)... All of them took
02:31:15 <ParadoxHeart> You got cut off.
02:31:17 <schlick> think)... All of them took ungodly amounts of ram (e.g. >200MB for a p2p client), and absolutely crawled. I suspect the main problem is with running a scripting language on top of a emulator, which seems quite nonsensical when a interpreter would do just fine (Perl is WORLDS faster).
02:31:44 <schlick> CSS, syntax looks alien, doesn't do a good job separating formatting from content. But it's better than not using it.
02:32:09 <schlick> The "alien" comment refers to it not looking like any of the other <tag></tag> languages.
02:32:40 <ParadoxHeart> Eh, it does a very good very good job seperating formatting from content, unless you want to something extra complicated.
02:32:53 <schlick> not really...
02:33:14 <schlick> I can't say "here is some source code, now this is how lines that look like <some pattern> should be formatted"
02:33:30 <DesreveR> schlick: actually css in only about separating content, and formation
02:33:41 <schlick> Instead of just being able to describe how to mark up source code, I have to run it through a script or something to insert all the little CSS markers, so /then/ I can describe how to format it.
02:34:11 --- quit: zhware ("leaving")
02:34:13 <schlick> Seems reasonable to be able to say "here's some text, format it this way" and it work.
02:34:19 <DesreveR> schlick: u know source-code highlighting is a bad example
02:34:26 <ParadoxHeart> Err...that would be less separation from content.
02:34:37 <DesreveR> css is for design
02:34:44 <ParadoxHeart> Because if your content changes just enough to break your pattern you're screwed.
02:34:46 <DesreveR> not for regex based coloring
02:35:46 <DesreveR> css is "style sheet" not highlighting progreammer
02:37:35 <schlick> I can think of other examples.
02:38:33 <schlick> CSS basically just lets you set font and color. What should be possible is to just give it a XML document and it spit out a properly formatted document, based on pattern matching. So if you had a set of news stories and wanted to completely redesign the site so all the information was broken up differently, you'd just edit the CSS stylesheet.
02:39:04 <schlick> You could do things sort of like that with XSL, but it's not as advanced as CSS. Even the W3 people recommend CSS over it.
02:39:47 <schlick> Course it'd be even better if it'd format arbitrary text into a HTML document. That's my idea of separating content and formatting.
02:40:01 <DesreveR> schlick: u dont know how stuff works really, and tell its bad ...
02:40:11 <ParadoxHeart> No, that's separating structure and content.
02:40:23 <DesreveR> just casue it does not work how u want casue it'S not designed to do so
02:40:31 <schlick> But anyway, I mostly wish the annoying bits of the standard were removed.
02:40:42 <ParadoxHeart> Specifying that something is the title of your document is different from specifying what a title looks like.
02:41:07 <schlick> DesreveR, I know how CSS works from trying to automatically format a bunch of source code for it, to put on a web page. :P
02:41:38 --- join: pragma__ (~pragma@pragma-000002.user) joined #osdev
02:41:40 <schlick> And yes, it doesn't work that way. I want it to. I want to be able to give it information, and it turn it into a formatted document. No, it does not work that way. But hey, HTML also does lots of other crazy things I don't like.
02:41:45 --- quit: pragma_ (Read error: 104 (Connection reset by peer))
02:42:10 <DesreveR> im leaving now
02:42:40 <ParadoxHeart> So basically you want a full blown source code highlighter in a document formatting language? :-p
02:43:23 <schlick> Basically want a pattern matcher that generates HTML.
02:44:08 <DesreveR> then use perl
02:44:10 <schlick> You can do it with scripting, it's just that you have to keep the originals around. It'd be nice if you could just keep the files and the browser do the formatting.
02:44:25 <schlick> Yeah, Perl, Python, whatever.
02:45:10 --- join: pragma_ (~pragma@pragma-000002.user) joined #osdev
02:45:14 --- quit: pragma__ (Read error: 104 (Connection reset by peer))
02:45:17 <schlick> Basically CSS didn't go far enough to suit me. I wasn't expecting it to do calculations, I just wanted to be able to say "this is this kind of data" "it should be formatted this way" "position it here in the document"
02:46:05 <ParadoxHeart> It sounds like a nice idea, but it shouldn't be part of CSS.
02:47:08 <schlick> Well, it's pretty much what XSL is, except XSL requires all data you feed it be in XML format, which, again, doesn't help the case of source code, but it could probably be made to work fairly easy with everything else (e.g. the news stories example).
02:48:14 --- join: zamarul (~sunspider@219.93.58.106) joined #osdev
02:49:31 <ParadoxHeart> One thing CSS does need is a real way to do columns.
02:55:11 <ParadoxHeart> Hmm...you know, I just thought.
02:55:59 <schlick> I do that sometimes.
02:56:38 <ParadoxHeart> Instead of specifying that a link should open in a new window, you should instead be able to specifying whether a link is to be considered part of this site, or off-site, since (ignoring popup crap) is the usual thing web pages open a new window for.
02:56:57 <ParadoxHeart> It would then be up to the browser to decide (based on user preference) what to do with off-site links.
02:58:25 --- quit: NightBird (Read error: 110 (Connection timed out))
02:58:56 <musasabi> ParadoxHeart: well the browser *can* do that if they want ;)
02:59:38 <ParadoxHeart> musasabi, it's not always possible to tell an off-site link from a change of server on the same site.
03:01:42 <musasabi> ParadoxHeart: well there are few reasons to need multiple servers (visible to user) for a single site.
03:04:46 <ParadoxHeart> It seems to be fairly common for very big sites.
03:06:12 <musasabi> well it makes some things simpler (you don't have to think) but is quite ugly to end-users...
03:07:29 <ParadoxHeart> I've never had a problem with it. It's like changing trains. A minor inconvience. :-p
03:08:14 <ParadoxHeart> /s/inconvience/<insert correct spelling here>/
03:25:15 --- join: bytex (~fnx@port-212-202-53-75.dynamic.qsc.de) joined #osdev
03:25:46 --- quit: cookin__ (Remote closed the connection)
03:30:37 --- join: cookin__ (~Johan@674e48dbb0dbba88.session.tor) joined #osdev
03:33:01 <musasabi> How does Grub handle modules - are they checked for multiboot signature (or elf/aout) and loaded respecting those - or just put into memory?
03:34:13 <zyp> just put into memory
03:34:38 <zyp> if the kernel's signature requests it, they are page-aligned
03:36:49 <musasabi> hmm that creates a little chicken egg problem for me - to copy the modules I need internal structures (thus allocation) - but I need to evacuate them out of memory before starting my page allocator...
03:38:51 <zyp> in my kernel i have it copy what it want from the multiboot information into in-kernel structures
03:39:31 <musasabi> But to allocate those structures (if they are not static) one needs to use the kernel allocator...
03:39:49 <zyp> and when i have the information i want, i don't need the multiboot information anymore
03:40:00 <zyp> with in-kernel i mean static
03:40:29 <zyp> i made room for 8 modules or so..
03:40:41 <zyp> or rather information about 8 modules
03:41:10 <zyp> i have the modules page aligned, so each module have at least one page alone
03:42:14 <zyp> and the page allocator checks if each page is free
03:44:27 --- join: therx (~icechat5@i-195-137-39-215.freedom2surf.net) joined #osdev
03:44:44 <musasabi> I think I'll just modify the page allocator a bit to make it easier to mark some regions reserved.
03:45:22 --- quit: Kurt (Read error: 110 (Connection timed out))
03:52:53 --- join: crib (~crib@port-212-202-53-75.dynamic.qsc.de) joined #osdev
04:00:17 --- quit: Mikaku ("Leaving")
04:04:05 --- join: poco (~poco@lyua.org) joined #osdev
04:09:45 <mur> how long is sms stored on server?
04:09:47 <mur> if phone is disconnected
04:10:04 <ChrML> depends
04:10:20 <mur> finland :P
04:10:33 <mur> how long approx?
04:10:52 <ChrML> don't know about that, but here it's basically on the server until i receive it, or the membership is closed
04:14:00 --- join: evil_bunny (~anavarro@a043.5.adsl.nextgen.net.mt) joined #osdev
04:14:06 <evil_bunny> lo
04:14:26 --- join: timerirq (~o_o_h@81.215.246.151) joined #osdev
04:14:28 <timerirq> heyy
04:14:30 <timerirq> hello all
04:15:03 <mur> hölläöö
04:15:14 <evil_bunny> anyone read Operating system Concepts /Silberschatz Galvin ?
04:17:09 <evil_bunny> I take this silence to be a no
04:18:39 <timerirq> hehe
04:18:44 <timerirq> no
04:18:52 <timerirq> tanenbaums?
04:18:55 <timerirq> ive read it
04:18:58 <timerirq> modern operating systems
04:19:15 <timerirq> and 2 moere book ive read about oses but i forgot the authors.
04:19:48 <evil_bunny> anyay then i will read this one hoping its good :)
04:20:04 <timerirq> hey
04:20:08 <timerirq> ahh ok
04:20:10 <timerirq> but
04:20:32 <timerirq> tanenbaums operating system book is couse you can find minix source codes at the end of the book
04:20:43 <timerirq> and its easy to got the os and kenel concept bu this way
04:20:56 <timerirq> +y
04:21:13 <timerirq> ahh as leaned from r0nny
04:21:18 <timerirq> -u/+y
04:23:18 <evil_bunny> and i think i also need some asm books since i dont't know any assembly except ;comments :P
04:23:26 <timerirq> hehe
04:23:40 <timerirq> hey asm is easy to learn
04:23:49 <timerirq> but first you should learn the
04:23:59 <timerirq> structure of cpu and peripheral members
04:24:06 <timerirq> howq they work
04:24:43 <timerirq> if you got what does realy a 'machine' 'code' means
04:24:50 <timerirq> you got this work:)
04:25:36 <timerirq> ?
04:26:46 <timerirq> :(
04:27:03 <evil_bunny> a little of it :(
04:29:59 --- quit: cookin__ (Read error: 131 (Connection reset by peer))
04:35:39 <DesreveR> re
04:35:52 --- nick: DesreveR -> r0nny
04:36:02 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
04:36:05 <timerirq> r0nny
04:36:09 <timerirq> NightBird
04:36:18 <timerirq> r0nnyyyyyyyyyyy
04:36:19 <timerirq> :)
04:36:24 <r0nny> hey thewre :)
04:36:39 <timerirq> whats up and down
04:36:44 <timerirq> whas same
04:36:47 <timerirq> whats undefined
04:36:51 <timerirq> and whats are defined
04:36:55 <timerirq> whoooooo
04:37:25 <r0nny> hehe
04:37:37 <mur> AFOIANSFOIANSFOIANFOIANSFOIASNFOAISNFOIASNFOIASNFOAISFN is my favourite song
04:37:37 <timerirq> how are you?
04:38:32 <timerirq> needle. pin. injection. shot. sting. jab. pintle. pointer. prick. spicule. spine
04:39:22 <mur> DRUGS!
04:39:36 <timerirq> bad
04:40:01 <mur> stop injecting the needles now, timerirq
04:40:17 <timerirq> get out of my way
04:40:38 <mur> ok
04:40:59 <timerirq> this is my favaroutie song
04:41:08 <timerirq> and im singing witouth drugs..
04:41:21 <timerirq> drugs are gone man...
04:41:25 <mur> :P
04:41:27 <timerirq> hehe
04:41:31 <timerirq> just sometimes joint
04:41:34 <timerirq> its not a drug
04:41:36 <timerirq> its natural
04:41:42 <timerirq> and realy sometimes:)
04:41:48 <timerirq> hmm like 1 per week
04:41:59 <timerirq> so my blood is clear as a baby
04:42:34 <timerirq> ok interrupt service is return to main{}
04:42:36 <timerirq> hey r0nny
04:42:51 <r0nny> timerirq whats up ?
04:43:04 <timerirq> heh
04:43:10 <timerirq> ahh fine..im in symrna
04:43:11 <timerirq> izmir
04:43:16 <timerirq> in a internet cafe
04:43:21 <timerirq> an
04:43:53 <timerirq> and you
04:43:57 <timerirq> finished the mm?
04:44:02 <r0nny> im @ home
04:44:11 <r0nny> and i did not finish the mm
04:44:19 <r0nny> im stuck on a ppc port
04:44:29 <timerirq> ppc?
04:44:36 <r0nny> powerpc
04:44:53 <dben> r0nny: with of calls?
04:45:07 <dben> hi all.
04:45:32 <timerirq> hello sharp blade
04:46:22 <timerirq> r0nny?
04:46:28 <timerirq> with of calls?
04:46:33 <r0nny> re
04:46:37 <r0nny> dben: ????
04:46:45 <r0nny> oh
04:46:47 <dben> openfirmware calls
04:46:47 <timerirq> and your os will work on macs too?
04:46:48 <r0nny> open firmware ;)
04:47:00 <r0nny> i aim on being very portable
04:47:47 <dben> r0nny: do u have the firmworks "Open Firmware Client Interface Developer's Guide"?
04:47:55 <r0nny> no
04:48:05 <r0nny> that is one reason why im stuck
04:48:14 <dben> i am too ;)
04:48:52 <timerirq> ahh ididnt understand anything
04:48:57 <r0nny> there are other guides too, but my talent on not finding the stuff i need is aGREAT help
04:48:58 <timerirq> should i understand?
04:49:18 <r0nny> timerirq: open firmware is the "bios" on mac's
04:49:29 <r0nny> well - it'S not sooo basick like the pc stuff
04:49:34 <timerirq> powerpc's hardware structure and machine commands are open?
04:49:39 <timerirq> hmm
04:49:44 <r0nny> note the k - it'S for sick !
04:49:45 <timerirq> ok i got it
04:50:03 <r0nny> hmm
04:50:10 <dben> r0nny: what documentation do u have?
04:50:28 <r0nny> only the stuff on the motorola pages
04:50:34 <r0nny> freescale
04:50:37 <timerirq> motorola?
04:50:40 <timerirq> what a relation
04:50:42 <dben> ok. thats not much
04:51:05 <dben> r0nny: do u have a debugger?
04:51:24 <r0nny> dben: u use gdb
04:51:34 <r0nny> in combination with qemu
04:51:36 <dben> r0nny: psim?
04:51:42 <r0nny> psim ?
04:51:48 <dben> http://sources.redhat.com/psim/
04:51:53 <nn> hmm
04:51:59 <nn> this is fun
04:52:20 <nn> gotta remember how i made grub install to an image file :)
04:52:56 <dben> r0nny: do u have an allready "finished" os?
04:53:14 <r0nny> dben: no
04:53:33 <r0nny> dben: i want to be portable from the beginning
04:53:52 <timerirq> psim gives the information of a machine?registers etc etc?
04:54:15 <r0nny> dben: psim is nowi ntegrated in gdb
04:54:23 <dben> r0nny: yes.
04:54:53 <dben> r0nny: partable to what?
04:55:00 <nn> psim may help me tho :)
04:55:13 <r0nny> portable
04:55:21 <nn> building emulation personality modules for my exokernel :)
04:55:23 <dben> nn: u have some ppc stuff?
04:55:28 <nn> dben: no
04:55:38 <r0nny> dben: i want to support ppc, arm, mips and x86
04:55:46 <nn> just building a threaded event exokernel :)
04:55:48 <dben> r0nny: ok, u want to write an now kernel?
04:55:53 <r0nny> dben: mayybe ven more
04:55:58 <r0nny> yes
04:56:03 <nn> designed to be entirely OO throughout the system :)
04:56:33 <r0nny> nn: mine will be some kind of exokernel too
04:56:52 <dben> r0nny: in the freescale docu is an "entry" into a C routine.
04:56:59 <musasabi> Is there a good way to copy from/to userspace other than to check the destination area by looking into the pagetables by hand?
04:57:26 <nn> hmm
04:57:28 <nn> maybe OO C
04:57:39 <nn> err obj-c
04:57:57 <timerirq> nn?
04:58:13 <timerirq> hehe you have an intresting irc program
04:58:21 <timerirq> it writes both here and another channel:)
04:58:24 <timerirq> anwyway
04:58:29 <timerirq> good lucks computer scientists
04:58:33 --- quit: timerirq ("after all")
05:09:53 --- join: dadark (~dadark@p213.54.70.177.tisdip.tiscali.de) joined #osdev
05:18:01 --- quit: NightBird (Read error: 145 (Connection timed out))
05:27:22 --- quit: Lateralus ("Molon labe")
05:28:43 --- join: camje_lemon_ (~ps@ALagny-154-1-15-97.w83-112.abo.wanadoo.fr) joined #osdev
05:35:10 --- quit: camje_lemon (Read error: 110 (Connection timed out))
05:37:19 --- part: schlick left #osdev
05:51:45 --- join: cyndis (~madcow@jope-dsl.oulu.fi) joined #osdev
05:51:53 --- quit: redblue (Client Quit)
05:52:37 --- quit: poco ("Leaving")
05:54:20 --- join: redblue (star@ppp050.111-253-207.mtl.mt.videotron.ca) joined #osdev
05:59:56 --- quit: sentinel (Client Quit)
06:07:31 --- join: WindowsUninstall (~Davide@host25-177.pool8254.interbusiness.it) joined #osdev
06:10:33 --- quit: redblue (Client Quit)
06:18:33 --- join: Mikaku (~Mikaku@89.Red-217-126-43.pooles.rima-tde.net) joined #osdev
06:20:39 --- join: redblue (star@ppp074.110-253-207.mtl.mt.videotron.ca) joined #osdev
06:32:46 <Boney> p/win 3
06:32:52 <Boney> arg.
06:33:23 <mur> argument = 3
06:50:52 --- quit: WindowsUninstall ("- #mandrake - irc.azzurra.org -")
06:52:22 --- join: acidx (e3a9edb1cd@200-158-191-248.dsl.telesp.net.br) joined #osdev
06:53:19 --- join: undesktop (~undesktop@p549DFBE5.dip.t-dialin.net) joined #osdev
06:54:33 --- join: andreyk (~andrey@217.20.177.5) joined #osdev
06:55:14 --- quit: dadark (Remote closed the connection)
06:58:38 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
07:15:20 --- quit: Prophet__ ("<MountDFW> in dev/null, no one can hear you scream....")
07:15:31 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
07:17:29 --- quit: bbls ()
07:23:52 --- quit: NightBird (Read error: 60 (Operation timed out))
07:33:12 --- quit: r0nny (Remote closed the connection)
07:43:03 --- join: dadark (~dadark@p213.54.70.177.tisdip.tiscali.de) joined #osdev
07:46:18 <fragspaz> hey how do i use partcopy?
07:46:34 <fragspaz> say i wanted i to copy my kernel and a bootloader onto a floppy
07:46:37 <fragspaz> how?
07:46:54 <undesktop> google
07:47:18 <fragspaz> i have tried
07:48:53 <undesktop> I found the second hit quite useful
07:49:31 <fragspaz> ok
07:49:34 <fragspaz> ill have a go
07:49:39 <fragspaz> what did you type in?
07:49:45 <fragspaz> 'partcopy'?
07:50:02 <undesktop> yes
07:53:00 --- join: Kurt (1000@kurt.user) joined #osdev
08:04:50 --- join: bubach (~tesoroo@b219-15.thnstud.htu.se) joined #osdev
08:05:11 <bubach> Hi
08:06:17 <fragspaz> hi
08:11:19 --- quit: Kurt (Operation timed out)
08:11:33 --- join: cookin__ (~Johan@141f417d6b27ae68.session.tor) joined #osdev
08:11:44 <bubach> Anyone here that have some facts about the Diskette Parameter Table (DPT) at 0x000FEFC7?
08:17:06 --- join: Lancelot_ (~netwalker@28.67.202.62.cust.bluewin.ch) joined #osdev
08:22:07 --- nick: Lancelot_ -> Lancelot
08:23:48 --- quit: pragma_ (Read error: 104 (Connection reset by peer))
08:24:47 --- join: pragma_ (~pragma@pragma-000002.user) joined #osdev
08:24:57 --- join: r0nny (~r0nny@p54B89348.dip0.t-ipconnect.de) joined #osdev
08:25:19 --- quit: r0nny (Read error: 104 (Connection reset by peer))
08:29:42 --- join: p0ll (tj@203.76.176.108) joined #osdev
08:29:44 --- join: Kurt (1000@kurt.user) joined #osdev
08:31:39 --- join: poco (~poco@lyua.org) joined #osdev
08:40:02 --- join: wobster_ (~wobster@dsl-082-083-151-003.arcor-ip.net) joined #osdev
08:41:31 --- join: zwane (~zwane@fsmlabs.com) joined #osdev
08:43:02 --- join: EtherNet (EtherNet@host150.201-252-104.telecom.net.ar) joined #osdev
08:43:12 --- quit: bubach ()
08:44:21 --- quit: cookin__ (Read error: 145 (Connection timed out))
08:50:04 --- join: sentinel (~sentinel@sentinel.user) joined #osdev
08:58:46 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
09:05:14 --- join: cookin__ (~Johan@f5ae91648920b038.session.tor) joined #osdev
09:06:14 --- join: philipp_ (foobar@p5484FAE9.dip.t-dialin.net) joined #osdev
09:15:32 --- join: r0nny (~r0nny@p54B89348.dip0.t-ipconnect.de) joined #osdev
09:16:40 <r0nny> re
09:21:54 --- quit: NightBird (Read error: 110 (Connection timed out))
09:33:03 --- quit: cdm (Read error: 110 (Connection timed out))
09:41:12 --- join: cdm (~cdm@A17-213-20-110.apple.com) joined #osdev
09:42:46 --- quit: Mikaku ("Leaving")
09:47:00 --- quit: Prophet_ ("Press any key to continue.")
09:49:29 --- quit: a-priori (Read error: 60 (Operation timed out))
09:52:17 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
09:57:45 --- quit: undesktop ("Leaving")
09:59:18 --- quit: ChrML ("Dough! Our nuclear power plant just exploded and brought my computer down!")
09:59:41 --- join: a-priori (~Pseudogno@London-HSE-ppp3546722.sympatico.ca) joined #osdev
10:01:30 --- quit: Prophet_ (Remote closed the connection)
10:01:36 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
10:06:28 --- quit: Prophet_ (Client Quit)
10:12:11 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
10:15:15 --- join: hufnus (~slonsiki@meb1436d0.tmodns.net) joined #osdev
10:38:16 --- quit: andreyk (Read error: 104 (Connection reset by peer))
10:48:46 --- quit: Dr_Evil (Read error: 131 (Connection reset by peer))
10:48:51 --- join: Dr_Evil (dslflat@d463d06c.datahighways.de) joined #osdev
10:51:52 --- quit: therx (Read error: 60 (Operation timed out))
10:53:32 --- join: thefreeman (~freeman@ASt-Lambert-151-1-54-141.w83-199.abo.wanadoo.fr) joined #osdev
10:54:29 --- join: kos_tom (~thomas@humanoidz.org) joined #osdev
10:59:01 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
10:59:01 --- join: bbls (~bbls@80.97.121.4) joined #osdev
10:59:03 <bbls> hello
11:02:13 --- quit: olddog ("moo.")
11:02:38 --- join: olddog (~olddog@fctnnbsch17-156034030023.nb.aliant.net) joined #osdev
11:03:28 --- join: therx (~icechat5@i-195-137-39-215.freedom2surf.net) joined #osdev
11:04:41 --- quit: p0ll ()
11:06:39 --- join: Maniace^ (~Maniace@nat130.sao.hilimanet.net) joined #osdev
11:07:39 <Maniace^> where all ops are?-)
11:08:03 <r0nny> Maniace^: they dont op themself
11:08:21 --- join: HeavyJoost- (router@rddrpx39-port-43.dial.telus.net) joined #osdev
11:08:21 <r0nny> since there are no stupid foo'S, there is no need for
11:09:31 --- quit: HeavyJoost_ (Read error: 113 (No route to host))
11:11:25 --- join: bubach (~tesoroo@b219-15.thnstud.htu.se) joined #osdev
11:13:28 --- join: Mikaku (~Mikaku@40.Red-83-36-175.pooles.rima-tde.net) joined #osdev
11:13:42 <Mikaku> hi *
11:16:03 <philipp_> someone experience with u-boot installation on a tqm850l board? I have problems to launch u-boot correctly
11:19:25 --- quit: Prophet_ (Remote closed the connection)
11:21:28 <bubach> hi
11:21:32 --- quit: EtherNet ("Leaving")
11:31:37 --- quit: thefreeman (Read error: 110 (Connection timed out))
11:31:38 --- quit: Maniace^ (Read error: 54 (Connection reset by peer))
11:39:08 --- join: alastair (~alastair@dsl-fixed-62-69-44-233.surfdsl.murphx.net) joined #osdev
11:39:19 <alastair> I think I have found a major bug in the linux kernel. Tested on 2.6.11.11 and 2.6.12-rc6 and am having the same results. The problem is not evident with earlier kernels. Is anyone willing to work with me to determine whether this problem is unique to my kernel config or a real issue in the tree?
11:39:38 <bbls> what kind of bug?
11:39:44 <alastair> a bad one
11:39:49 <bbls> more explicit?
11:39:51 <dadark> So tell us
11:39:58 <alastair> connect is returning 0 when it shouldn't be.
11:40:52 <alastair> Testing various basic portscanners, including one I quickly knocked up, connecting is returning 0 for random ports upon each run. Ports which are open are also displayed. The problem is these rogue random ports, which I can positively say are NOT open.
11:41:00 <alastair> connecting = connect()
11:41:03 <dadark> I thought it causes the CPU to explode or such a think
11:41:42 <dadark> thing of course
11:42:01 <dadark> alastair: I'm checking
11:42:07 <alastair> dadark, though not with nmap
11:42:49 --- quit: bubach ()
11:43:06 <dadark> Hm
11:43:11 <alastair> same results?
11:43:36 <dadark> I just checked nmap, I can't get your one because the DCC ports are not forwarded
11:43:44 <alastair> one second
11:43:45 <dadark> I have to go to bed now :-/
11:43:56 <alastair> can you wait 2 minutes
11:44:00 <alastair> I'll post the source file online
11:44:15 <dadark> Hm :-/
11:44:27 <evil_bunny> How can i format a floppy image ?
11:44:37 <dadark> If you sent it to me by mail I would check it tomorrow and send you back the result
11:44:39 <bbls> mkfs
11:44:58 <alastair> okay.
11:47:14 --- quit: dadark ("Leaving")
11:47:49 <Mikaku> evil_bunny: losetup /dev/loop0 floppy.img ; mkfs.ext2 /dev/loop0
11:48:24 <evil_bunny> na its ok :)
11:48:26 <evil_bunny> thanks
11:48:56 <evil_bunny> does mkfs format in ext2 ? i wanted to use fat32
11:49:00 <evil_bunny> i mean fat12
11:49:12 <Mikaku> then you will need mtools
11:49:15 <gab> use mkdosfs
11:49:20 <gab> dosfstools
11:49:46 <Mikaku> :)
11:49:59 <bbls> mkfs.fat? :)
11:50:06 <mur> make us fat?
11:50:11 <bbls> errm mkfs.ext2
11:50:16 <Mikaku> ln -s mformat mkfs.fat
11:50:16 <Mikaku> ;)
11:50:23 <gab> it works too :)
11:50:24 <mur> Are you sure you want to format C: ? [Y/N] Y_
11:50:33 <bbls> mur :)
11:50:33 <Mikaku> \n
11:50:44 <mur> C:\> _
11:50:46 <evil_bunny> mur: :P
11:50:48 <bbls> i doubt it works if C is boot drive
11:50:59 <bbls> it should generate an error message about device being locked
11:51:02 <bbls> or something like that
11:51:11 --- quit: NightBird (Read error: 110 (Connection timed out))
11:51:13 <gab> hm
11:51:17 <gab> not in DOS :)
11:51:22 <Mikaku> bbls: not so complicated, sure they have a simple "if" :)
11:51:37 <nn> meh
11:51:59 <bbls> gab what dos? afaik all dos'es shipped with windows have the disk locked when doing a boot
11:52:08 <gab> (by DOS I mean the actual MS-DOS, not the shitty shell coming with NT derivatives)
11:52:27 <bbls> i meant about win9x dos
11:52:45 <gab> I'm not really sure whether win9x used to complain about formating C: ;)
11:53:55 <bbls> at lest once i've did rm /* -rf in :)
11:55:24 <nn> mod_rewrite is kicking my arse
11:55:40 <Mikaku> bbls: if you was not root only your homedir was removed
11:55:55 <bbls> i was root
11:55:59 <Mikaku> ops
11:56:11 <bbls> since then i run all my operations in non root accounts :)
11:56:25 <bbls> and use root just for installs and configs
11:56:43 <Mikaku> heh, nothing like the experience to change habits ;)
11:56:48 <bbls> :)
11:57:08 <bbls> also i now keep al my important data backed on FAT32 :)
11:57:16 <bbls> so that i can extract it with a dos boot :)
11:57:35 <Mikaku> what abouut linux livecd?
11:57:38 <Mikaku> -u
11:57:51 <nn> hey man
11:58:15 <Mikaku> ?
12:00:01 * Mikaku is alucinating with "Stellarium"
12:00:51 --- quit: alastair (Read error: 113 (No route to host))
12:02:54 <Trevor1> alucinating?
12:03:02 <Trevor1> Is that like hallucinating?
12:03:34 * nn is talking to his ex heh
12:03:35 <Mikaku> hmm .. sure
12:03:37 <nn> good day :)
12:03:46 <Mikaku> sorry, my english is extremely poor
12:03:46 <nn> debating quiting my job today
12:04:25 <bbls> why would you quit?
12:04:38 <nn> bbls: because it sucks and i can make more money online? :)
12:04:50 <bbls> what kind of job?
12:05:01 <nn> telemarketing
12:05:20 <nn> my security job is fun, i gotta keep it
12:05:57 --- quit: evil_bunny (Read error: 104 (Connection reset by peer))
12:08:07 <nn> aww an evil bunny
12:08:22 <bbls> who is the evil bunny?
12:08:27 <nn> i dunno, they left
12:08:37 <nn> but evil things are cool and bunny's are furry
12:08:50 <nn> which is weird because fur usually subtracts evil
12:09:02 --- join: Maniace- (~Maniace@nat130.sao.hilimanet.net) joined #osdev
12:09:15 <Maniace-> can someone help me with kernel dynamic stack
12:09:42 <Maniace-> i have one page allocated for stack, when it's not enough page fault should fire and i should allocate another page for stack?
12:09:55 <bbls> yes
12:10:01 <Maniace-> but where cpu puts return address etc. when stack ESP is invalid?
12:10:38 <Maniace-> now my bochs boots when ESP is pointing to unmapped memory
12:10:52 <Maniace-> so i never get so far that i can map another page :P
12:11:04 <Maniace-> sorry for bad english :)
12:17:15 * nn gives gcc a hug
12:17:15 --- quit: Maniace- (Read error: 104 (Connection reset by peer))
12:17:20 <bbls> you get double fault
12:25:05 --- quit: redblue (Client Quit)
12:28:43 --- nick: cookin__ -> jrydberg_
12:40:53 --- quit: poco ("Leaving")
13:05:25 --- quit: bbls ()
13:16:01 --- quit: camje_lemon_ (Remote closed the connection)
13:21:46 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
13:41:05 --- quit: therx ("May be back later!")
13:49:37 --- quit: NightBird (Read error: 60 (Operation timed out))
14:02:31 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
14:03:33 --- quit: acidx ("Killed by Cap (Requested by panasync)")
14:04:40 --- quit: Dr_Evil ()
14:16:29 --- join: MacCall (~MacCall@mur75-2-82-229-187-109.fbx.proxad.net) joined #osdev
14:16:45 <MacCall> hello
14:16:55 --- join: redblue (star@ppp127.108-253-207.mtl.mt.videotron.ca) joined #osdev
14:23:12 --- quit: MacCall ("ChatZilla 0.9.61 [Mozilla rv:1.7.8/20050601]")
14:32:36 --- join: acidx (~leandro@200-158-191-248.dsl.telesp.net.br) joined #osdev
14:32:41 --- quit: Lancelot ("n8")
14:44:33 --- quit: Prophet_ (Remote closed the connection)
14:53:11 --- quit: Smari (Remote closed the connection)
14:53:56 --- join: Smari (~spm@smari.pentagon.ms) joined #osdev
15:04:18 --- quit: crib ("lost terminal")
15:08:08 --- quit: Kurt (Connection timed out)
15:09:10 --- quit: wobster_ ("Leaving")
15:17:28 --- quit: kos_tom ("I like core dumps")
15:22:04 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
15:25:31 --- join: ian2_ (~ian@cpe-066-026-059-012.nc.res.rr.com) joined #osdev
15:26:10 --- quit: bytex (Read error: 113 (No route to host))
15:26:33 --- quit: ian2 ("whee")
15:26:48 --- nick: ian2_ -> ian2
15:31:17 --- join: Lateralus (~lateralus@host-216-78-250-33.cha.bellsouth.net) joined #osdev
15:34:04 --- quit: Mikaku ("Leaving")
15:48:11 --- join: Prophet_ (prophet@p54A97768.dip.t-dialin.net) joined #osdev
15:49:37 --- quit: hufnus (Read error: 110 (Connection timed out))
15:50:35 --- join: Prophet__ (prophet@p54A944AB.dip.t-dialin.net) joined #osdev
15:56:43 --- quit: NightBird (Read error: 60 (Operation timed out))
15:56:47 --- quit: ian2 (Client Quit)
16:10:27 --- quit: Prophet_ (Read error: 110 (Connection timed out))
16:15:14 --- quit: HeavyJoost- (Read error: 113 (No route to host))
16:16:43 --- join: HeavyJoost- (router@rddrpx30-port-54.dial.telus.net) joined #osdev
16:17:39 --- quit: r0nny (Remote closed the connection)
16:18:29 --- quit: philipp_ (Read error: 148 (No route to host))
16:24:05 --- quit: pragma_ (Read error: 104 (Connection reset by peer))
16:25:10 --- join: pragma_ (~pragma@pragma-000002.user) joined #osdev
16:27:04 --- join: crc (crc@pool-151-197-232-212.phil.east.verizon.net) joined #osdev
16:33:43 --- join: HLL (~HLL@HFA62-0-184-238.bb.netvision.net.il) joined #osdev
16:33:48 --- quit: HLL (Remote closed the connection)
16:49:25 --- quit: file[desk] (Read error: 104 (Connection reset by peer))
16:49:27 --- quit: zwane ("Leaving")
16:50:02 --- join: file[desk] (~jcolp@mctn1-6383.nb.aliant.net) joined #osdev
16:52:42 --- join: AlonzoTG (~atg@66-44-54-72.s72.tnt1.lnhva.md.dialup.rcn.com) joined #osdev
16:52:44 <AlonzoTG> join #ai
16:52:49 <geist> no
16:52:51 <AlonzoTG> urk...
16:52:53 <AlonzoTG> sorry,
16:53:13 <AlonzoTG> anyone know of a free hardware abstraction layer that actually has a reasonably good programmer's manual?
16:53:47 --- part: crc left #osdev
16:53:54 <geist> free hardware abstraction layer?
16:54:11 <geist> I dont think one even exists, I guess unless you're thinking of somehting like Xen
17:04:34 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
17:18:54 --- join: BishounenNightBi (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
17:19:58 --- join: hufnus (~slonsiki@m608836d0.tmodns.net) joined #osdev
17:20:39 --- quit: jrydberg_ (Remote closed the connection)
17:20:42 --- join: NB (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
17:20:54 --- quit: NightBird (Nick collision from services.)
17:21:00 --- nick: NB -> NightBird
17:24:23 --- join: jrydberg_ (~Johan@a0f04fd4e49c7c6d.session.tor) joined #osdev
17:28:30 --- quit: BishounenNightBi (Read error: 60 (Operation timed out))
17:37:02 --- quit: NightBird (Read error: 60 (Operation timed out))
17:38:32 --- join: zhware (~zhware@openwire.metawire.org) joined #osdev
17:39:50 --- quit: AlonzoTG (Read error: 60 (Operation timed out))
18:11:11 --- join: AlonzoTG (~atg@66-44-56-233.s233.tnt2.lnhva.md.dialup.rcn.com) joined #osdev
18:11:51 --- join: Kurt (1000@kurt.user) joined #osdev
18:13:54 --- join: alphakiller (~alphakill@200.162.22.132) joined #osdev
18:14:10 <alphakiller> hi
18:14:27 * alphakiller is surprised with the Apple's switch
18:14:41 <alphakiller> but I still dunno if they are going to choose x86 or Itanium
18:14:51 <alphakiller> they didn't say which one they are going to choose
18:15:09 <alphakiller> any bet ?
18:15:10 <alphakiller> ehehe
18:15:45 --- quit: HeavyJoost- (Read error: 113 (No route to host))
18:15:46 --- quit: file[desk] (Read error: 104 (Connection reset by peer))
18:16:28 <AlonzoTG> may god have mercy on their miserable souls...
18:16:42 --- quit: jrydberg_ (Remote closed the connection)
18:17:33 --- quit: alphakiller (Client Quit)
18:18:30 --- join: Kurt2 (1000@kurt.user) joined #osdev
18:19:46 --- quit: zamarul ()
18:21:15 --- join: Big_moth (Big_moth@220.187.90.115) joined #osdev
18:22:01 --- quit: Kurt (Read error: 145 (Connection timed out))
18:22:06 --- join: HeavyJoost- (router@rddrpx35-port-27.dial.telus.net) joined #osdev
18:22:54 --- quit: cdm (Read error: 110 (Connection timed out))
18:29:09 --- join: Maniace- (~Maniace@nat130.sao.hilimanet.net) joined #osdev
18:31:21 --- join: file[desk] (~jcolp@mctn1-6383.nb.aliant.net) joined #osdev
18:34:53 --- join: Bobstopper (~bobstoppe@dsl-202-72-168-72.wa.westnet.com.au) joined #osdev
18:42:52 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
18:42:53 --- quit: Maniace- (Read error: 54 (Connection reset by peer))
18:51:06 --- join: file (~jcolp@mctn1-6383.nb.aliant.net) joined #osdev
18:51:31 <geist> yawn
18:51:35 --- quit: file[desk] (Read error: 104 (Connection reset by peer))
18:56:34 <geist> how you folks doin
18:56:52 <Boney> not bad.
18:56:58 <geist> good good
18:57:05 <Boney> gonna write some proposals for this Summer of COde.
18:57:12 <Boney> shit is in the processes of hitting the fan at work.
18:57:18 <geist> yeah same here
18:57:39 <Boney> My manager won't finish the project that we've been working on so it looks like I won't be paid.
18:58:02 <geist> fuck that
18:58:05 <Boney> yeah.
18:58:05 <geist> never work for nothing
18:58:17 <geist> you gotta draw the line, establish that you dont work for free
18:58:22 <Boney> Well. I would be paid if he would finish his tasks and invoice the client.
18:58:25 <geist> otherwise it can come and bite you in the ass later
18:58:28 <Boney> but he's allready 6 months late.
18:58:31 <Boney> my part is done.
18:58:55 <Boney> geist: yeah. We've established that I work for an hourly rate.
18:59:07 <Boney> I've submitted all my time sheets etc. it's all good.
18:59:20 <Boney> now we just need to bill the client.
18:59:37 <Boney> and I doult the client will want to pay because they where promised that this would be ready in Jan/Feb
18:59:56 <Boney> I'm gonna go arround to his house and take his TV. mabye his gf too. I dono.
19:00:00 --- quit: redblue (Client Quit)
19:00:47 <geist> nice
19:01:08 <Boney> I dono what I would do with another gf. Afaik they are incompatible.
19:01:32 <geist> yeah generally speaking
19:01:56 <Boney> oh. In other news. Liz and I are engauged..
19:02:02 <geist> well good for you
19:02:15 <Boney> and. I'm gonna try this SUmmer of Code thing.
19:05:05 <Boney> geist: how's stuff with you?
19:05:18 <Boney> Your project at work is still crazy?
19:05:27 <Boney> (I can't think of a better word than crazy)
19:05:33 <geist> yep
19:05:51 <geist> it's still fucked up, not getting any better
19:06:05 <geist> I'm gonna try some changes around work and see if I can make myself happy again
19:06:08 <geist> or I quit
19:06:13 <geist> either way, it'll get resolved real soon
19:06:57 <geist> but I dont wanna talk about it right now. not working
19:07:06 <geist> I'm also trying to seperate home and work a bit better
19:07:28 <Boney> ahh.
19:07:31 <Boney> fair enough.
19:08:14 <Boney> each is nice as a break from the other. but not if they follow you arround. or you work from home..
19:08:41 <geist> exactly
19:12:24 --- join: ian2_ (~ian@cpe-066-026-059-012.nc.res.rr.com) joined #osdev
19:12:27 --- nick: ian2_ -> ian2
19:13:59 --- quit: NightBird (Read error: 60 (Operation timed out))
19:23:22 --- join: redblue (star@ppp101.110-253-207.mtl.mt.videotron.ca) joined #osdev
19:43:09 <Trevor1> geist : You see that image manipulation program named after you?
19:43:23 <geist> heh no
19:43:39 <Trevor1> Just a sec
19:44:34 <Trevor1> #osdev.20050608.log:16:23:18 <Trevor1> geist : http://www.linuxbrit.co.uk/geist/
19:54:19 --- quit: AlonzoTG (Read error: 60 (Operation timed out))
20:09:37 --- quit: Lateralus ("Molon labe")
20:11:28 <khorben> Boney: do you have a particular bounty in mind?
20:20:03 <Boney> khorben: yeah. I'm thinking about a couple of the FreeBSD ones.
20:20:15 <khorben> ok
20:20:25 <Boney> the cvsup re-write. and the PXE installer.
20:29:27 --- join: cdm (~cdm@adsl-69-109-214-98.dsl.pltn13.pacbell.net) joined #osdev
20:34:01 <geist> howdy cdm!
20:34:48 <nn> heya cdm
20:34:49 <geist> oh gotta go
20:34:55 <nn> cya geist !
20:36:23 <khorben> I don't know myself if I'll apply
20:36:42 <khorben> I'll be on an internship during all summer
20:36:59 <khorben> so maybe it would not be a good idea
20:39:43 <cdm> apply to what?
20:40:00 --- join: Maniace^ (~Maniace@nat130.sao.hilimanet.net) joined #osdev
20:40:06 <khorben> google's summer of code
20:42:31 --- quit: Prophet__ (brown.freenode.net irc.freenode.net)
20:42:31 --- quit: Thadeum (brown.freenode.net irc.freenode.net)
20:42:31 --- quit: jrydberg (brown.freenode.net irc.freenode.net)
20:42:31 --- quit: draq2 (brown.freenode.net irc.freenode.net)
20:42:31 --- quit: Pyro|foo (brown.freenode.net irc.freenode.net)
20:47:05 --- join: Thadeum (~Thad@nsg93-3-82-227-173-31.fbx.proxad.net) joined #osdev
20:53:34 --- join: Prophet__ (prophet@p54A944AB.dip.t-dialin.net) joined #osdev
20:53:34 --- join: draq2 (~happywith@CPE-60-225-51-187.nsw.bigpond.net.au) joined #osdev
20:53:34 --- join: jrydberg (~jrydberg@gorgon.vtab.com) joined #osdev
20:53:34 --- join: Pyro|foo (nathan@140.99.13.155) joined #osdev
20:53:39 --- quit: Prophet__ (Excess Flood)
20:53:40 --- quit: Maniace^ (Read error: 131 (Connection reset by peer))
20:54:28 --- join: Prophet__ (prophet@p54A944AB.dip.t-dialin.net) joined #osdev
21:02:22 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
21:08:59 <a-priori> khorben: :)
21:19:28 --- quit: hufnus (Read error: 60 (Operation timed out))
21:37:45 --- quit: NightBird (Read error: 110 (Connection timed out))
21:50:44 --- join: hufnus (~slonsiki@mef3736d0.tmodns.net) joined #osdev
22:31:51 --- join: Dunceor (~dunc@regulus3.student.UU.SE) joined #osdev
22:40:30 --- quit: hufnus ("Client Exiting")
22:43:06 --- quit: Kurt2 (Read error: 145 (Connection timed out))
22:46:17 --- quit: Bobstopper ("Leaving")
22:52:10 --- join: Maniace^ (~Maniace@nat130.sao.hilimanet.net) joined #osdev
23:03:53 --- join: asdgafsjg (awerdf@221.134.21.147) joined #osdev
23:03:53 --- quit: Maniace^ (Read error: 54 (Connection reset by peer))
23:05:45 <asdgafsjg> !seen josh_
23:05:52 --- part: asdgafsjg left #osdev
23:07:58 <Trevor1> It's been a while since he's been around
23:08:55 --- join: ptrace (awerdf@221.134.21.147) joined #osdev
23:09:09 --- join: NightBird (~ma325@pcp0011227474pcs.aboit01.in.comcast.net) joined #osdev
23:24:05 --- join: bbls (~bbls@80.97.121.4) joined #osdev
23:24:07 <bbls> hello
23:34:13 <cdm> evening bbls
23:34:26 <bbls> hi cdm
23:34:33 <Dunceor> morning
23:36:24 <bbls> hi Dunceor
23:42:14 --- quit: NightBird (Read error: 110 (Connection timed out))
23:59:59 --- log: ended osdev/05.06.09