Saturday, February 23, 2008

The Hesitant Scrapper

I have an old machine that is far too outdated to become an efficiet bulldog system, so I decided to rip the hard drive out, disassemble it, and tie some string around the three metal discs inside it to make some pimping bling. This machine is the same one that you might recall reading about having its networking card ripped out for my server project. Having served its purpose, its destined for the curb. But, I read something today that made me wonder if I made the wrong choice in badgering the hard drive. I completely forgot about the possibility of using it as a back-up system for one of my other computers. So, Ive decided to attempt to put it back together. It will surely lead to either frustration or, if I do make it suitable for plugging in again, decapitation. Still its a fun little task to keep boredom at bay. I also have an even older machine that is so old it boasts an LCD numeric counter, reset, turbo, lock, power button, and cigarette lighter on the front of it. Ill be pulling resources out of it next.

By the way, before you suggest it, yes, I already checked the first machine for salvagable memory. Nothing special in that department, though I was intrigued to find the mother board had three memory slots where my newer machine Im using as my server only has two.

Saturday, January 26, 2008

ROOTrants

Ive created a second blog dedicated to my rantings. If you want a good laugh, or a dose of reality how I see it, check out ROOTrants. Enjoy!

Monday, January 21, 2008

New BlakeNet Developments

Today I finally got around to setting up a hostname for BlakeNet, so no more having to memorize the IP address or worry about it when it changes! The new address is http://blakenet.no-ip.org.

I also recently reconfigured LeetBoard and set a full distro up on BlakeNet for all intensive purposes. Some things broke during the transfer, but for the most part its a working project again. I would give an address for it, but then Im sure spam would start flying at it from every angle, and lead to a gunked up server. I will release an address once I have it running stable again.

Also, welcome to the team a new Netdev. Nathan (Squirrels) will be goofing around with the box just to try and learn something new, or fend off boredom. He may also be helping me further develop the current and future projects featured on BlakeNet.

Sunday, December 23, 2007

Next Task For BlakeNet

In case some of you havent been keeping up, BlakeNet is the webserver project Ive been using to test and build my various programs, especially LeetBoard. However, a new idea has been discussed recently. A while back, my good friend affectionately nick-named Squirrels and I had talked about how great it would be to start a website where we could just put stupid stuff to make other people laugh and generally have fun with it. We never got around to purchasing hosting and creating the site.

But, last night, he mentioned the idea again, and I suggested we use BlakeNet and purchase a domain name, which is a much cheaper solution compared to buying hosting. We arent sure when we will be doing it, but hopefully this time we will get around to setting things up. The name of the site is still undecided. As for what it will be about, well, Ill keep that a secret to build suspence.

Saturday, December 15, 2007

Building A Multi-User Application

Ive been working on a little project lately to test communication between one computer and another through the internet. This was a great opportunity to use BlakeNet. The plan was to host a daemon process that listens on a given port, accept incoming communication requests, and reply to messages sent to the server. The server program was programmed in Java, and the client program was originally programmed in Flash, but later I decided to create a second version in Java.

Working on this project brought up an interesting quirk about multi-user applications, though. It turns out, in the case of Java, at least, that ports can only have one persistent connection at a time. All other connection requests on that port are queued, and are only allowed to open once the current connection closes. There are a couple different ways of getting over this problem. Im still considering which one to implement.

The first is to have the server continue to listen on one port, and have the server constantly kill the current connection, accept the next one in the queue, communicate, kill it, and repeat. This means the clients, in order to have semi-persistent connections, would have to send in another connection request each time the current one is killed. The problems with this is it has the possibility of being very bandwidth- and cpu-intensive, may lead to "greedy clients" who skip ahead of others in the queue and cause them to get more attention than other clients, and might lead to a loss of clients since theres a limit of 50 (or less, depending on the operating system) connection requests per queue.

The second is to have the server listen on one port for connection requests, then assign each request to its own port. This is probably the best way to go, but it does have its pitfalls. The biggest one is that having so many ports open, and only having one program to maintain all of them, can be a disaster to processing speed. The other, less significant problem is that there are only so many ports you can use. Ports 0-1023 are registered for use with system protocols and require superuser privileges to use, and ports 1024-49151 are registered for use with commercial programs. This means, under the worse-case-scenario, only 16382 or less connections can be allowed (ports 49152–65535, minus one for the connection request port). That is way more than needed, probably. But, limits are limits.

The third is to just create a peer-to-peer style application. The server will only be responsible for registering clients, and telling other clients of where to find them. All actual communications will be done between the clients themselves. This can lead to the client computers lagging and also leaves a lot of things up to the client to configure, especially security-wise. This is also similar in structure to the first proposed solution. So, this choice is definately out.

I think the best way to go is the second choice.

Thursday, December 06, 2007

BlakeNet Up Finally

Im proud to say BlakeNet is now finally up! It is still under heavy construction. As of this posting, it only has a placeholder index page. Expect to see LeetBoard up on it, along with possibly a working website just for the fun of it!

BlakeNet will not be up 24/7. As such, Ive added a new item to the sidebar that lets you know if the server is online or offline. When it is up, you can access it by clicking the link in the sidebar, or going to this IP address. Right now, it is only accessible by IP. I might buy a domain name for it later, but it isnt really on my todo list.

Tuesday, November 27, 2007

Back From Georgia

I came back home from Thanksgiving break in Georgia yesterday. Surprisingly, I really enjoyed the time with the family. I hope everyone had a nice Thanksgiving as well!

I brought two things home with me from Georgia. One is a little 6-week-old kitten we named Gracie (I might talk about her more later, or even post some pics), and the other is an old computer my aunt was planning on scrapping. It has some interesting family tree info on it she wanted me to pull off of it first, but after that, it is all mine. The reason I decided to take it home is because it has a PCI Ethernet adapter, which if you recall I have been looking for to connect my server to the network/internet. I will be doing some more work with the server and seeing if I can get the adapter working with it over the next couple days.

Thursday, November 15, 2007

Me? A Teacher?

Earlier in the year, I suggested the idea of teaching GML (Game Maker) to the Programming II class. The teacher, Mr. Allen, decided that the first semester, he would teach the class Java, and the second semester, I could teach the class GML. Today, he gave me a 17-day timeframe to come up with a basic lesson plan to use after Christmas break. Im so excited to finally be able to share my infinite wisdom of computers with a class. :p

If I come up with a lesson plan that I feel like sticking to, Ill be sure to put it up on BlakeNet, along with select projects created by the students of the class.

Wednesday, November 14, 2007

BlakeNet

Saturday, November 3rd, I got bored and decided to completely clear off one of my old computers, install Linux, and get a server going. The next day, I installed and configured Apache, PHP4, and MySQL. What took me two weeks to post this? Well, Ive been busy working with the hardware of the machine.

The computer did not have an Ethernet adapter, so I got one from one of my dad's old work machines. The problem is the adapter is ISA, which Linux doesnt exactly like, and the ISA port seems to have issues with the adapter plugging into it fully. Either of these could be the cause of the problem. So, after two weeks of fighting it physically and digitally (with the immensely appreciated help of the LaunchPad help group), I have finally reached boiling point and trashed the card. Now, Im looking for a PCI Ethernet adapter.

In the meantime, I will be working offline with LeetBoard and a couple of my site concepts. When I find the adapter, you can check out the progress first-hand. The server, and inheritantly the website from which all of this material will be available, will be refered to as BlakeNet. Yes, its a pretty lame name. Ill come up with a better one when I have time to stop and think about it.

Saturday, November 03, 2007

Playing The Oldies

Well, I decided to head into my room today and untangle the mass of cords all huddled up in the corner. After sorting them all out, I got to touch my old SNES and NES from way back in the day. I dusted them off and hooked them up, and sat down, ready to play.

Unfortunately, I couldnt get the SNES to play on my TV correctly. Ill have to work on that more later. But, I DID get the NES fired up, and after a few savage beatings, I actually got to play some of my old favorites. Super Mario (one and three), Mission: Impossible, Star Tropics, and even Solstice! It really took me back to the good ole days. I plan to take a break from the Wii for a while to just take in all of the glory of the old, crappy games we used to play and love to remember.

If any of you have an old system that may still have a chance of functioning, I suggest you wrestle it out and play it for a while too. Halo 3 wont miss you that long. ;)