Converting caffeine to code, shooting pics, and cruising the roads of life.

Archive for the ‘Operating System Development’ Category

Interesting day

Monday, February 20th, 2006

Today I ventured over to the University of Cincinnati to meet with Dr. Hal Carter, the computer science department head. My mom set up an appointment for me so that he could tell me more about the programs that UC runs for computer science and computer engineering.

He was rather amazed at what I already knew for being only 15. After talking a little about what he has taught, he was amazed to see that I’ve done work on Sourceforge, know C/C++, and have my own OS. He seemed kind of baffled how I taught myself all of these things. This makes me wonder about all the other programmers that are my age and have more skill than me. Maybe we could all benefit from a meeting like this?

After talking about the classes for a while, he then showed me around the campus. They had some pretty interesting things around. In one of the extra rooms (an old utility closet?) the graduate students have a room dedicated to themselves. In it were a few SGI octanes, couple parallel computer setups, and a custom designed gaming console they have been working on for a few years. If that isn’t cool enough for you, just having a keycard identification system won’t work. You need a custom one! These students wired the door up to a computer and hung a keyboard on the outside so they could just enter the keycode…

Next I went around to a few labs where kids were building circuits and designing them in CAD for their computer engineering classes. They sure have some super, heavy-duty breadboards in those labs… I found it quite interesting that they had so many SGI and SUN machines. They have several labs that are 100% SUN workstations…

Then we walked into a room with something that really grabbed my attention. Their server room was amazing. There were three, count’em, three beowulf clusters. One had 32 SMP machine nodes. The other two were 64 SMP nodes. One of the 64nodes was *brand* spanking new. To top off this multi-hundred thousand dollar setup. There was probably 5 Sun servers (don’t remember what type) laying around the room.

Didn’t see too much that drew my attention after this. Got to see the level 10 clean room and a few other pieces of equipment used in creating microchips.

After that I went back to my mom’s office and he said that he was amazed at what I knew once again. This is what seems kind of cool, he said that he could learn a lot from what I already know. Good or bad?

On the way home my mom decided I was going to go through the Chemical Materials department as well. Waste of time. I am ABSOLUTELY not interested in this stuff. w00t! I can see crystalline structures in a microscope and do things to them! They are needed no doubt, but that is not the field for me…

Today I also got some coding time in on osdever.net. The forums have come a long way over the past few months. It’s pathetic it’s take this long, but I have more important things to do I guess. Editing of posts should be done in maybe 30 minutes. After that it’s just moderator controls and the forums are done. I’ll probably do a code audit for security holes and optimizations after that is complete.

From there on it’s just finishing up the tutorials system, adding all the existing tutorials into the database, and tweaking the templates. :) Admin control modules can come later I guess, they won’t take that long to write.

In other news, multitasking is a PITA.

I’m also going to try something new here, weekly PHP tips. I’m not sure if I’ll focus on a designated area or just anything handy, but here is Week #1’s.
PHP Tip #1 – Week 1

This week I’m going to start with an essential security basic. Do not trust any data the user submitted to your site or that the user can edit. This includes query strings and forms usually. Make sure you do the appropiate cleaning of $_POST data.

I usually cast any number values to integers when I clean my $_POST vars. This means that any string that isn’t a number is set to 0. When I’m cleaning user data that needs to be entered into a database, I relyon mysql_real_escape_string to do the dirty work for me. I hope this little tip helps a few of you. =D

l33tcakes the new irc network in the house

Sunday, February 19th, 2006

I’ve been trying to learn about setting up an irc server over the past few days. It has proven to be pretty interesting. I decided to go with Inspircd for the ircd and Anope for services.

I had quite a time getting them to work together, probably because I had never done anything like this before, but once I got it, they worked great. You guys are more than welcome to try it out. /server irc.codymays.net and join #main and tell me what you think. :)

Tomorrow I head off to the University of Cincinnati to talk to the head professor of the Computer Science and Computer Engineering department. w00t for connections? So the rest of the day and night I plan on coding the hell out of my OS. I still need to finish the multitasking rewrite. Hopefully by the end of today we’ll have threaded ring0 and ring3 processes.

Busy…

Sunday, January 22nd, 2006

This week was… How should I put it? Interesting. I had four hours of homework for two days straight. One thing that really amazed me though was that on Monday, I discovered that this site (and my others) had made about $12 off of ads. As of yesterday I had made $10 more. :D That made me really happy. I then discovered that this site has a Google PageRank of 4 when you use the domain http://codymays.net without the “www.”

Last night I went to a party and played extreme street ping pong. Basically it was a basement wide hit-each-other-as-hard-as-you-can-with-ball battle. :)

Today I spent a lot of time working on my OS. Desktop from #IllusionOS helped me find my bochs bug. It turns out that, during a late-night coding session, sleep deprivation had caused me to type “return;” instead of “break;.” This caused the interrupt from the PIT to never get acknowledged, disabling interrupts. Chances are this may be a bochs bug, because it actually worked on real hardware, but I’m very happy that it works.

I also added some very primitive SMP support. As of right now, it can detect all of the SMP related data, but it can’t do anything with it yet. Once I start multi-tasking tomorrow, I should be able to start adding support for scheduling to these CPUs. You can see a screenshot of this achievement here. I’m hoping that by the end of the day tomorrow I’ll have a basic multi-tasking operating system. I would really like to be in userland by then, but it’s not a requirement.

I will also be updating the Server Rack project stuff soon. The router is basically done, but I can’t decide to stick with m0n0wall, or go with pfSense. A few more nights to sleep on it should hopefully do. :)

Well…off to bed.

test

Friday, December 9th, 2005
#include 

int main()
{
        printf("BBBBBBBB\n");
        return 0;
}