A few weeks ago, I ran across a couple of articles about a university in Holland that was having difficulty getting all of their Microsoft patches out to all of their systems. What did they decide to do?

Buy more servers? Nope!

Increase bandwidth? Nope!

Use a program that has been essentially outlawed in North American universities? Yep!

The university decided, on the advice of their IT consultant, that they would use bittorrent to deploy the patches.

This really got me thinking about how I would go about creating my own U.Holl server (as I like to call it). These are some of the thoughts that I have come up with.

The Server

Just to add a really strong sense of irony, I would probably build the U.Holl server on Linux, most likely Ubuntu with a typical LAMP installation. Then, for ease of management, I would install a tracker such as phpMyBittorrent or something similar.

In the tracker software, I would create several different categories based on the target systems that I would use. For example, there would be Windows XP, Windows Vista, Office 2007, etc. categories. Each category would have its own RSS feed.

The Clients

Each workstation or server that was to receive updates using bittorrent would have a copy of uTorrent running in the background. This would be critical. You would also need to tweak uTorrent so that it automatically ran an installation script r program each time it finished downloading a new patch. This script would also schedule a reboot at 3:00 AM (or whatever time you wanted) since it seems almost every hotfix from Microsoft needs to reboot the system.

A potential install script might look like this:

The trick to automatically downloading files is to subscribe each uTorrent client to the proper RSS feeds given out by the server. This way, each system only gets the patches it needs.

Potential

I think that this type of a delivery system has great potential. You could even use it across slow bandwidth links or to deploy other software, not just patches.

This is a project that I am hoping to spend some time on over the next while but I am looking for your input/suggestions now so that I can hopefully avoid some pitfalls later. Any input would be greatly appreciated!

Well, it took over a year, but we now have definitive proof that the Lost USB Drive application works! When I launched the Lost USB Drive Experiment in early June of last year, I wasn’t really sure what to expect. I had all but forgotten about the experiment.

So, imagine my surprise when I had this in my inbox this morning:

Dale,

I recently took over Costa Coffee Eastleigh and have found your USB Memory stick, I’m not sure how long it has been here but if you would like to pop in and collect it I will put it to one side.

Thanks

Matthew
Store Manager

Costa Coffee
27-29 Market Street
Eastleigh
SO50 5RG

To be honest, I was a little shocked! But, at the same time, this totally made my day! Just goes to prove that there are some honest people out there and that a little ingenuity can go a long way!

If any of you are in the area of Matthew’s store, go in, congratulate him on his honesty and integrity, and buy the biggest, most expensive coffee on the menu! Way to go, Matthew!

I was doing some research the other day on getting your self out of a difficult situation when you don’t have access to some vital system resources because you are running as a normal user and you lost your local admin password.

I discovered that there is a way to reset your user interface and run interactively as the LOCAL SYSTEM account. This is important because the LOCAL SYSTEM account has a lot of privileges available to it. According to Microsoft:

The system account and the administrator account (Administrators group) have the same file privileges, but they have different functions. The system account is used by the operating system and by services that run under Windows. There are many services and processes within Windows that need the capability to log on internally (for example during a Windows installation). The system account was designed for that purpose; it is an internal account, does not show up in User Manager, cannot be added to any groups, and cannot have user rights assigned to it. On the other hand, the system account does show up on an NTFS volume in File Manager in the Permissions portion of the Security menu. By default, the system account is granted full control to all files on an NTFS volume. Here the system account has the same functional privileges as the administrator account.

A little while back, some enterprising individuals discovered a way to run the LOCAL SYSTEM account interactively. Here are the instructions according to one website:

  1. Start > Run > cmd.exe > type: at 12:03 /interactive “cmd.exe” (replace 12:03 with a time 2 mins from now). > close command prompt
  2. New command prompt will open, when it does > Hit CTRL+ALT+DEL > find explorer.exe and End Process.
  3. At command prompt type: cd.. > type: explorer.exe

This all words fine except that it is a bit confusing for someone who does not understand how all this works. So, I thought I would make it easier for those who do not have my background. I created a little program in AutoIt that completely automated the process. Simply run the program, wait for a couple of minutes, and you’re running as the LOCAL SYSTEM account.

You can download this program and play with it all you want.

WARNING: I have tested this program to the best of my abilities but this does not mean it is perfect. I did not have any problems with it but that does not mean you will not. If something goes wrong, don’t blame me! You’ve been warned.

For those of you who are interested, here is the source code for this little program I wrote. Feel free to hack around and make it do different things:

#include <Date.au3>
If $CmdLine[0] = 0 Then
;No command line options
;First run
$RunTime = _DateTimeFormat(_DateAdd(’n', 1, _NowCalc()),5)
$Command = @ComSpec & ” /c AT ” & $RunTime & ” /interactive “”" & @ScriptFullPath & “”" 2″
Run($Command)
Else
;Second run
$Command = @ComSpec & ” /c taskkill /IM explorer.exe /F & ” & @WindowsDir & “/explorer.exe”
Run($Command)
EndIf

Update: Someone asked in the comments how you get back to your normal account. Simply log out and then log back in as yourself. You should be back to normal.

If you have ever done a trace route on where information goes when it travels over the Internet to your computer, it is actually pretty staggering to see how far it goes. It is pretty funny sometimes to see an e-mail travels half way around the world and back just to get to your neighbor!

I got thinking about this and an idea came to mind that could change how we look at file sharing.

How It’s Done Now

Let’s say, for example, I want to share a 600 Mb ISO file with my neighbor. There are several different ways of doing this but let’s say that the easiest way to do this would be to transfer the file via a peer to peer program.

Copy Via Internet

This would cost both of us about 600 MB of bandwidth that we would have to pay each of our Internet provider’s for.

WiFi Transfer

Now, my neighbor gets smart when he realizes that both of us have WiFi networks available to our systems. So we connect our two WiFi networks and decide to transfer the file over our WiFi networks.

Copy Via WiFi

We’ve now transfered the file between the two of us and it didn’t use any of our Internet bandwidth. In fact, we were able to transfer that file much faster because we were not limited by the upload speed of our Internet connections (Upload speeds are usually less that download speeds.).

WiFi Hops

Now, let’s say that I want to get a file from a second neighbor. But, he is unfortunately outside the range of my WiFi signal. But, my first neighbor, who is located between us, is in range of both of our WiFi signals. He connect to both of our WiFi networks and acts like a relay connection between our two networks.

WiFi MultiHop

So, we have now transfered a file using WiFi between two systems that are outside of each other’s WiFi signal range.

Spreading the Quilt

Theoretically, the more people we connect together with this WiFi quilt, the more access we have to information and data.

Metro Coverage

Each one of these systems would have access to information on each of the other systems, allowing for data to be shared freely without the need or restrictions of their Internet connections.

Stitching Together the Quilt

Just like a quilt is made up of separate pieces of cloth, each metro WiFi network will be limited to the range of its WiFi area. This is where we use the Internet to make data available to each of the metro areas.

Internet Gateway and Cache

Whenever a system needs to go outside of its metro area to access information via the Internet, it can maintain a cache of the information so that it now becomes available to the rest of the metro area.

Concerns and Issues

This idea is not without its problems. For example, I do not think I would give just anyone unfettered access to my home computer or network. Rather, I would probably want to segment my network so that only a certain computer works on the shared.

Another problem is coverage. In order for this idea to work well, there needs to be a relatively large percentage of area covered to see a benefit. But, this might be one of those things where you do not see a lot of benefit at the beginning of the project but, as time goes on, it becomes more and more feasible and useful

The other issue is with this project is just how do people find the information that they want and how does the system go about determining which is the best route to access the information?

Discussion

Even though there are some definite challenges with this idea, I still think that it would be a really interesting thing to try and set up. It could even include some contributions from things like the OpenWRT project, DIY WISP, and cantennas.

But, I’ve talked enough.  Time for you to add your two cents.  What do you think of this type of an idea?

GumI’m always on the lookout for new and interesting tech toys. Now, that doesn’t make me a whole lot different from 99% of the men in the world. What does differentiate me from some of these other guys is the fact that my tech toys sometimes tend to be on the really geeky side.

Take, for example, my latest tech toy that I have decided to purchase. I just spend a little over $400 on something called Gumstix. Now, before you determine that I am out of my mind for paying $400 for gum, let me explain to you exactly what Gumstix is and why I think it is so cool!

From the Gumstix website:

Gumstix, inc. maker of the world’s smallest full function miniature computers (FFMC,) brings gum stick size, 20mm x 80mm x 8mm Linux motherboards to designers providing easy design flexibility and open source at nearly half the price of and a third the size of all other offerings.

Essentially, you have a full blown computer on a motherboard the size of a stick of gum! Everything is open source so you can share code and resources with other developers.

When I saw this, I just had to get my hands on some of this technology because the possibilities are endless. So I went to their company website and ordered some stuff. This is what I have coming:

The one module that I did not purchase (because it was out of stock) but I really want is the robostix. According to the website, here is what it does:

robostix runs code as a stand-alone microcontroller or attach it to a gumstix platform through the 60-pin connector for maximum programming capabilities. robostix also connects to your existing computer using a cable for In Systems Programming

This can be summed up in two words: robot brain! But, I am thinking that there are a lot of things that I will be able to do with my Gumstix computer with just what I have ordered.

I’ll keep everyone in the loop with this new technology so that you can see some of the (hopefully) cool things that I will be doing with it. Just as a sampler of some of the things that people are doing with it, here is a fish robot that is based off Gumstix that is being used in the London Aquarium:

This is an actual swimming robotic fish. It is completely autonomous and attempts to simulate the natural movements of fish as much as possible.

Gumstix Links

Next Page »