A New Website

12 07 2009

I am happy to announce the launch of one of my first independent websites: paster

Paster is a very simple app for collaborative development, where you can paste your code and share it with anyone you would like. It supports syntax highlighting of over 40 languages, and I plan to add more as I can. It was written in PHP as you might be able to figure out after using it and was written in about a day and a half. So, go forth and paste!





An idea for anonymity

19 08 2008

I was thinking the other day. How would I do something on the internet and make my activity completely untraceable. The simplest form of the answer was to scatter where the packets come from.

So the idea of the packet scatter network was born. Anyone could sign up and host a server and there would be a large list of servers that the program would use. what the client would do is grab all outgoing packets and scatter them amongst the servers in the list, attaching a forwarding address. when each packet gets to it a server it is then sent on to its final destination, but anyone trying to trace the packets would find anywhere from 2 to thousands of sources.

I have absolutely no idea if this is even vaugley possible. But its and idea. It seems like it would only work for UDP because those are not ordered and such like TCP. But I’m not sure. I’ll ponder on it more I guess. Just an idea.





C# Web Requests

27 03 2008

Web Requests are amazingly easy in C# – All you need is this:

WebRequest myWebRequest = WebRequest.Create("http://www.google.com");
WebResponse myWebResponse = myWebRequest.GetResponse();
Stream ReceiveStream = myWebResponse.GetResponseStream();
StreamReader readStream = new StreamReader(ReceiveStream);
String Response = readStream.ReadToEnd();

Returns everything from wherever you request. So simple. Need I explain more?





Is It Really Web 2.0?

24 03 2008

http://web2.0validator.com/

I found this cool little site this morning while surfing along. Type in any site to see if they really are Web 2.0 or not! Put your site in there and see what you get!





Thoughts About Distributed Computing

20 01 2008

For me, distributed and parallel computing is one of the most interesting areas in computer science that I have found so far. I would really love to do work/research with it.

Distributed and Parallel Computing, at least from how I see it, seems to be the future of computers and processing power. Processors are starting to reach towards their physical limitations. So instead of making one processor even better, why not just use several, or even hundreds.

Slowly, I’m putting together my spare parts that I have at home into more computers to use. I got two more working in the last 2 days, both of which are semi decent machines. The main thing that I want to do with them is to try to make some of my own distributed applications that will be able to spread its processes out over several computers. Right now I have 3 computers that I want to use in my distributed system, the most powerful of which will be the main computer that is in charge of assigning the tasks. the other two, which are not as powerful, but still can handle plenty, will be sent instructions that will be processed and then they will send results back to the main server.

Now seeing as the 2 secondary nodes that will be in the system do not have the same specs, I have to make sure the server pays attention to the % of their resources that are being used when it goes to assign instructions. If the slower computer has been assigned less, but is using more of its resources, the next task that needs to be processed will be sent to the other computer.

Currently both of my secondary nodes are running Windows XP. This is fine I guess, but it seems like a large waste of system resources to have to run full windows. Though I realize that there is no way in hell that I can actually do this, I would love to write my own very basic OS just to handle being a secondary node in a distributed system. A node that when it turns on, simply connects to the central server, waits for its tasks, and then executes and sends back reports. No need for hogging resources with a gui or anything. All that is particularly necessary is enough to execute instructions and send/receive data over the network. But, when you actually think about it, that would take a very long time for me to figure out how to do. I don’t know the first thing about where an operating system starts really. Maybe I could use a linux kernel and just build off of that and get rid of things that aren’t really needed. I need to do a lot of research on this one.

This seems like it has the opportunity to be extremely efficient. Just a lightweight OS meant solely for being a secondary machine in a distributed  system would be so much faster than running anything i could create as a windows application. Unfortunately, I don’t know where to begin. Maybe I will set this one aside as a very long term project, slowly do research on it, and spend the bulk of my time on other projects are already have going like Fizzure. Haven’t worked on that one in a few days. Need to get back to it. I’ve been doing some little practice applications with sending and receiving data with the TcpClient and TcpListener class in C#. Now that I think I have a much better handle on how those work, it should be much easier to get over the hurdle I was stuck on with Fizzure.

Another goal I have is to make the Fizzure central server able to be split into nodes. Have different sections of all the XML data to be searched stored on different nodes. when a query comes in, the server sends a request to each node, each node searches the part of the data that it has stored and returns its results to the server, which than returns all of the results to the client. This seems more efficient than just having it all done by one computer, though because of network bandwidth, I don’t quite know if it would be in actuality.





What Would I Do With A Million Dollars?

15 01 2008

I saw a post yesterday about what someone would do with a million dollars. He said he would buy some crazy macs of course. The specs were amazing. Reading that post got me thinking though – What would I do with a million dollars?

After about a good 30 seconds or so, the answer was quite clear. I would make my own data center, duh!

And of course I would save several servers for my own private use for research on Distributed Computing. Because I think that is really interesting and would love to do work with it in the future.

Anyways, I immediately set out to find some hardware that I would use in my new Data Center.

The first thing that you would need obviously is for a Data Center would be a place to hold data. So I found this:
LACIE 300961 2TB Gigabit Ethernet Shared Hard Drive

Connects through a 10/100/1000 Ethernet port, and each has a 2TB capacity. VIA C3 800Mhz processor and 256MB of RAM.

Price Per Unit: $859.99

Quantity: 100

Total Cost: $85,999.00

After buying these i would now have $914,001.00 left to play with. Time for some processing power.

I put together a custom rack. Quite powerful in my opinion. Heres the specs:

Custom Rack Unit

CPU:
2 x Intel Xeon X5450 Harpertown 3.0GHz Quad-Core Processor

2MB L2 Cache

1333 Mhz FSB and 64 bit support

Motherboard:

TYAN S5397AG2NRF Dual 771 Extended ATX Server Motherboard

Dual 771 CPU Sockets

1600/1333/1066 Mhz FSB

16 x 240 pin DDR2 Memory Slots

1 PATA / 6 SATA II

3 x On-Board Gigabit LAN
RAM:

Kingston 2GB 240-pin DDR2 SDRAM PC-5300 Server Memory

2GB Capacity

PC-5300 Speed

Power Supply:

iStarUSA TC-350R2U 2 x 320w Server Power Supply

24 Pin Power Connector

2 x 350 Watts

2 Fans

Of course, to wrap it all up, I need a case…

Case:
iStarUSA D-200-PFS Black Steel 2U Server Case

1 External 5.25″ Drive Bay

1 External 3.5″ Drive Bay

2 Internal 3.5″ Drive Bays

3 Expansion Slots

2U Form Factor

2 x 80mm Fans

Price Per Unit: $3,875.82

Quantity: 100

Total Cost: $387,582.00

Ok, so now at this point, I have $526,419.00 left to spend. Haven’t even spent half yet.

What is the next thing that any Data Center needs? Internet of course. The data center is no good if no one can access it.

If I were to get 30/15Mbps service, It costs $239.99/month for a 2 year agreement. which comes out to be $5,760 for two years. leaving me with $520,659.00

Now that seems like a large amount of money, but if you really think about it. I would probably use the rest for an office/building, utilities, and repairs and maybe some employees. So now that I look at it, starting a Data Center would be hard because you end up spending more money on other things and less on actual computers. That’s disappointing.