Page 1 of 3
James Molloy tutorial gone
Posted: Fri Dec 23, 2011 12:43 pm
by xealblade
^ It's disappeared off the web. Does anyone have a copy of the full tutorial source? Even though his code is kinda buggy, this was the only tutorial that was really allowing me to make progress as a total OS Dev newb.
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 1:39 pm
by AJ
Hi,
I've just PM'd James - the whole domain appears to be down. In the meantime, has Google cached the info you need?
Cheers,
Adam
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 1:56 pm
by DavidCooper
Google has cached versions of a few of the pages:-
Index:-
http://webcache.googleusercontent.com/s ... index.html
1. Environment Setup.
Not available.
2. Genesis:-
http://webcache.googleusercontent.com/s ... nesis.html
3. The Screen:-
Not available.
4. The GDT and IDT:-
Not available.
5. IRQs and the PIT:-
Not available.
6. Paging:-
http://webcache.googleusercontent.com/s ... aging.html
7. The Heap:-
Not available.
8. The VFS and the initrd:-
Not available.
9. Multitasking:-
http://webcache.googleusercontent.com/s ... sking.html
10. User Mode:-
Not available.
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 2:48 pm
by xealblade
Wow, that was quick! Thanks, guys.
What I really need is the actual source code for the tutorial parts themselves (or just the last one, since it has all of them), which didn't get cached by the crawlers. The tutorial pages are mostly just theory with snippets. But it's implementation details I get hung up on the most so it helps to see some actually-working code/generic implementation.
I guess it might only be available from James himself.
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 4:47 pm
by wikiwolf
hi all!
well, it's only my second post but I think this can be helpful:
http://code.google.com/p/jamesm-tutoria ... e/checkout
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 6:12 pm
by xealblade
That's quite helpful, wikiwolf. It's clearer than James's own code about memory management, in my opinion. The threads and locks and stuff are a nice addition as well. But it's still missing critical sections from the tutorial like the simple VFS/initrd and Usermode/Syscall stuff James had in his code.
I really want to avoid trying to decipher Linux or other enterprise-grade implementations. All that optimized, macro-heavy, and black-magic-performing code is definitely not beginner-friendly. Even something relatively simple-ish like FreeDOS is filled with tons of voodoo code in my eyes.
Does anyone know of any other simple but comprehensive source-available OS projects/tutorials in case James's code doesn't become available again?
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 8:50 pm
by Love4Boobies
That is JamesM's code---he was working on a revised version of his tutorial. Either way, I for one hope it's gone forever because it does more harm than good. People mistake programming tutorials for sources of documentation when they are actually meant to be examples. Even more dangerous, they make people think they've learned something when they actually haven't.
Re: James Molloy tutorial gone
Posted: Fri Dec 23, 2011 9:39 pm
by xealblade
Some people learn better when you show them an engine working and let them tinker around with it a bit rather than just explaining from what pieces one could maybe be assembled. And usually one that's intentionally naive for the ease of learning.
Most of the concepts of OS programming are so abstract that someone might spend weeks reading about the details of what they potentially could entail and still have no idea how to implement them since the "documentation" is vague by its very nature. I'd love to see some concrete documentation that's completely clear on all the implementation details for something like a memory manager, virtual file system, or system call interface. James's tutorial code at least gets you through the front door on a lot of the basics. It's pretty much the only one I've been able to find that actually does more than show you how to do the things that do have concrete documentation like x86-specific descriptor table setup or VGA text mode manipulation and without blindsiding you with mind-bogglingly advanced concepts that require a lot of specific explanation behind the reasoning involved such as the Linux kernel source.
For hobbyists like myself that didn't have the luxury of learning systems programming in a classroom, such a simple and comprehensive tutorial/example while maybe not ideal is nonetheless indispensable in the absence (or ignorance) of better alternatives.
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 1:23 am
by VolTeK
Love4Boobies wrote: Even more dangerous, they make people think they've learned something when they actually haven't.
Give them the blocks. Not the building.
They will create their own style of architecture'd houses.
Not the same house with a different mail box.
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 4:53 am
by wikiwolf
Actually I use jamesm code for gdt, idt and interrupts/exceptions but before making a release I want to rewrite all the extraneous code in the system.
Since last year the project hasn't evolved so much, I'm still playing around with the pit, memory manager and exceptions: I mostly corrected bugs and studied the manuals... now I'm almost ready to rewrite and release.
Even if jamesm code is a little buggy, I think is a great starting point for newbies...
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 4:55 am
by JamesM
Hi,
The site is not meant to be down. It looks like a problem with my DNS server - I've emailed my provider. Hopefully it'll be back up shortly, but who knows, it's Christmas season.
The Google Code project is indeed written by me as a rewrite of the tutorials on my site. It's almost complete, and I really should spend that bit extra time to properly finish the documentation. It's *so close*!
GhostXoPCorp wrote:Love4Boobies wrote: Even more dangerous, they make people think they've learned something when they actually haven't.
Give them the blocks. Not the building.
They will create their own style of architecture'd houses.
Not the same house with a different mail box.
The point of this tutorial series was to show an example building. There are many resources that describe the "blocks", but there were none that showed how they fit together. Once you've seen how they fit together in a skeleton framework, it becomes easier to pull out a block and rewrite it. It also helps comprehension of the system as a whole for some people.
Cheers,
James
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 10:04 am
by xealblade
Excellent - It's back already.
Thank you, James and happy Christmas!
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 10:18 am
by Love4Boobies
Heh, that's the answer I was expecting. Learning from examples is fine but no one can learn from examples alone---not because they are stupid but because examples contain very little information and because those examples work, it's easy to think they're enough. How would you like it if physicians and surgeons were educated by tutorials alone? Furthermore, "weeks" on studying theory, as you mention, are not nearly enough. I don't expect you to listen to me but I have a funny feeling you'll soon give up just like everyone else who thought they were special before you.
Of course, I mean no disrespect towards JamesM and his tutorial series. His intentions are obviously good; it's just that people are always looking for shortcuts and they never take anyone anywhere.
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 12:31 pm
by eryjus
JamesM wrote:The point of this tutorial series was to show an example building. There are many resources that describe the "blocks", but there were none that showed how they fit together. Once you've seen how they fit together in a skeleton framework, it becomes easier to pull out a block and rewrite it. It also helps comprehension of the system as a whole for some people.
Thank you! Exactly how I have been approaching it and it HAS been helpful. Your effort for our collective benefit is appreciated.
Re: James Molloy tutorial gone
Posted: Sat Dec 24, 2011 10:53 pm
by gravaera
wikiwolf wrote:Actually I use jamesm code for gdt, idt and interrupts/exceptions but before making a release I want to rewrite all the extraneous code in the system.
Since last year the project hasn't evolved so much, I'm still playing around with the pit, memory manager and exceptions: I mostly corrected bugs and studied the manuals... now I'm almost ready to rewrite and release.
Even if jamesm code is a little buggy, I think is a great starting point for newbies...
1.
Why are you using somebody else's code?
2. How could your project be ready for release when it relies on known, flawed code?
3. Where exactly do you think you're going with this lack-luster effort?