So I guess this little experiment isn’t going no where. I’m sad since I did put a good amount of time into this but its just one of those things that happens in life. I wish Joey good luck in whatever she wants to do. And that is all I have to say about this.
Archive for the Category » Project Joey «
I’ve decided to break down computers into 7 sections for Joey to learn. They are arranged in order of difficulty.
1.) History section.
The easiest section since it deals with just the history of computers. It’ll involve mostly watching documentaries with me asking some random questions. Some points to note.
- Who are some of the important characters in the history of PC and what did they contributed?
- Who was the first person who come up with the idea of GUI?
- What is the GNU?
- What are some of the important operating systems that brought the PC to the masses?
- What projected started the launch of the internet?
- Name some of the most well known rivalries in the PC industry; such as CPUs, Graphics, PCs, OS, Softwares.
2.) Software section.
This section will be the easiest since almost everyone has some basic experience in softwares. My focus is going to be more OS based stuff rather then just software in general. The subsections included in this section will be:
- Windows system in general. How is the structure of windows? Things such as driver installation, troubleshooting, restore, repair.
- Useful concepts such as partitions, harddrive tools, useful tools (such as Ultimate Boot Disc) and how to use them.
- Linux file system. What is Linux? What are the fundamental differences between windows and linux? Installation of Linux OS, softwares and how to use them.
- Whats the difference between server edition of Linux and Windows.
Tests: Installing and questionings would be enough.
3.) Hardware section
Although this section is not difficult, it will require alot of reading and the only way to pass it is to build a personal PC or server from the grounds up.
- All the computer parts that goes into a system. Know what they are and how they work.
- For example what is RAM, CPU, Harddrives, Optical Drives, Graphics Cards, etc. and explain in simple terms how they work and what they do.
- What are the strengths and weakness of having onboard video/audio/raid vs having a dedicated cards for them?
- Whats the difference between servers and desktop PCs? Need to know things such as ECC ram and why its important for servers to use.
- What is RAID and why is it important?
- Installing and removing computer parts.
- Put a system together and install different softwares on it.
Tests: Since the final test will not be possible for a while, we’ll just do other tests for awhile. For example I will ask Joey to build a computer on newegg based around a specific motherboard. We’ll work on theory first.
4.) Basic Networking
Just really basic networking stuff
- Installation of VM ware and setup a local network.
- Understand how the internet works and how it all comes together.
- Learn how servers work.
- Learn how things like DOS attacks are done.
- Understanding ports
- Learn fundamental softwares that are used on servers.
Tests: Setup a basic webserver on a home PC using a home connection using windows.
5.) Advance Networking
Much more difficult stuff that involves Servers and will be the hardest thing to learn for Joey. It will mainly involve linux servers and mainly the RPM packaging system.
- Learning Linux versions of apache and other important softwares such as MySQL, Postfix, Firewalls etc.
- Learning how to use SSH and navigating thru a server using shell access .
- Learn command line editing softwares such as vi and pico (or nano).
- Learning how to use RPM managing system such as YUM.
- Learn the basic of other system such as Debian, FreeBSD.
- Compiling software from source instead of using packaging managers.
- Learning how to read and understand logs.
- Learn how to setup software such as apache.
- Configure a webserver.
Tests: I will create a VPS for Joey and she’ll have to setup a site and do all the things I ask her which may involve specific software and installation of scripts.
6.) Misc Stuff
This is the final not so final leg of my training. It is stuff which doesn’t really fit the categories or involves a combination of it.
- Learn how to search (google) effectively
- Troubleshooting problems involve with running servers
- Securing a server such as firewalling, changing permissions
- Installing many different scripts and make them work
- Upgrading softwares on server
- Migrating sites from server A to server B minimizing downtime
- Installing modules on apache; understand and learn what it does.
- Learn how to hack into servers using vulnerable softwares
- Learn how to brute force
Tests: Will involve alot of specific things. One of the idea I have is to create a VPS and have some vulnerable softwares installed. I will then ask Joey to find the weak point and then deface a website or all the websites hosted on the server. Another test may involve her running a dictionary attack on a dumped database to find out the password of a specific user or users.
7.) Really Geeky Stuff
These are stuff which I’m in the process of learning/doing better. So if Joey can reach this level one day I’ll definately be proud and wouldn’t mind sharing what I learned. In a way this is like a test for myself because if I slack off in this area then Joey will catch up with me and we can’t let that happen can we? But to be honest, once Joey is at this point, everything could be self taught and I won’t be really needed anymore except maybe to give some advice here and there.
- More advanced stuff such as compiling custom kernels.
- Study up on the kernels at a deeper level
- Learn alot more in depth info on different languages such as
- SQL Language
- Shell Scripting
- Perl Coding
- ColdFusion
- Eventually write useful code for linux itself (this one will happen when I’m like 50 or something)
This project is a long term goal that I’m planning to pursue. The inception of this project started when I realize I won’t be around forever. Most well planned things in the world have plan A and plan B. I realize that I don’t really have a plan B, so I’ve decided to make one.
So what is all this about? For about 2 years now I’ve been helping with running a forum on the internet. I’ve usually done more sys administration stuff plus modifications then actual running of it. During the same time, I’ve decided to help other people with their websites. I have a passion for this kind of thing but the problem is that my long term goal isn’t exactly doing this forever. As most computer geeks, I do plan to excel in some areas which will be very time consuming. That is the main reason why I’ve decided to take some time and teach someone to take care of things when something happens.
I’ve had this thought for a while but I wasn’t sure who to pick. First I have to find someone young so I can play the mentor role. Also its important to find someone who is still in the baby stages but at the same time someone who has the interest and the independence.
I don’t really consider myself a teacher although there is a strong line of teachers in my family. Only time will tell if the person I pick is the right one. I’m pretty confident I made the right choice though. We’ll see.
This section will be about my plans and the progress of the student.
