Rob Chartier ~ Contemplation...

.NET, C#, Work, etc.

News






www.flickr.com
This is a Flickr badge showing public photos from Rob & Kat Chartier. Make your own badge here.


Even Quicker Links

March 2007 - Posts

What is the future of Operating Systems?

 

I can imagine that I'm not the first to comment about this idea but as technology evolves I can defintely see a trend forming around Operating Systems.

So, in the 70's we were heavily stuck in the industrial revolution. Writers like Toffler gave us a few glimpses into what the future may hold for us; stuff like an electronic mail system, B2B communcation, the electronic cottage (telecommuting), etc.. In his book “The Third Wave” he also dives into some detail about how the current situation of the world is bound to some key requirements which held the industrial revolution together, standardization, centralization, synchronisation. In technology we have seen the same very set of glue holidng us together. How much effort goes into building a piece of hardware or software which focuses on those very same principles. We must standardize on a common platform. We must centralize our application in order to reduce duplication and admintration effort. So many commonalities exist, so many opportunities to see what the future has in stake for us.

His post-industrial predictions revovled around breaking down this industrial strength glue. Focus more on the distributed model. The electronic cottage is a perfect example of this. Workers can work from home and no longer make sometimes long commutes to the office. We all can work in a distributed manner. Which, of course, we have seen come to fruition.

Another key point is the idea of standardizing the widget. In the past we see this in almost every single space. In automotive we see thousands if not millions of the same car pumped out each year. Granted they do change the models slighly every year and you can customize the simple stuff, but Ford's design of the assembly line holds true. More recently we see manufacturers take the idea of personalization (demassificiation) of the assembly line. The Scion is a perfect example of this. Given a base vehicle the consumer has a ton of options and flexibility to customize the vehicle to their liking. The consumer has a much earlier entry in the assembly line.

Computer hardware is taking this on as well. For the average consumer (ma and pa) they could call up their local computer retailer and ask for a machine, give it some basic requirements and viola its just made up for them. Behind the scenes this is very similar to the Ford design. Very assembly line style with few options for customization. Next entered Dell with its customization ability. Ma and Pa now can hit the Dell website and pick the generic base hardware and then mix and match to their liking (price vs performance). The integration point into the PC assembly line is now opened up to the consumer much earlier. Henry Ford would be turning in his grave!

I see software, specifically operating systems as taking the next step sooner than later. Take a look at what rPath is doing. You take a generic linux core and add on the bits and pieces you need and voila you have your own “Appliance”. Right now it is a manual process by individuals, with a varying degree of success -take a look at the OpenFiler and SugarCRM Appliances.

Imagine one day you hit the Microsoft web site and you choose a core server architecture, lets say Windows Server 2010. All it comes with is the very basic kernal, maybe some low level hardware abstraction layer, and other nitty gritty details most of us have no clue about nor do we want to care about. Just like Dell's site we hit the “Customize” button. You are asked for “What type of server do you want”. You are given the options (choose one more more of the following):

  • CRM
  • NAS
  • Web Server
  • Authentication Server (Active Directory)
  • Mail Server
  • Management Server (MOM)
  • Database Server
  • VPN Gateway

So we are a small to medium size company which needs a quick CRM and Mail Server online and fast. I can check both those options, then punch in my credit card information, and hit go. The result would be a (semi) instant download of the raw installer bits, a virtual hard drive, or whatever other medium is relevant in that time; oh yeah I can have the actual DVD installer disks mailed to me if I like.

All the dependancies are just worked out. Which release of this product and service pack of that product is all determined and known to be tested and work well together. Its a little known fact but we are actually capable of writing somewhat intelligent software which could handle this stuff.

The end result is a pre-configured complete machine with absolutely no user interface available, other than a Web configuration portal. On first hit of that site (non-standard port of course) I have to setup the final bits of config data, like domain name, company name, adminstrator account data, etc.. Once that is complete I have a fully functioning CRM and Mail Server online and running.

Remember this is a server situation. Of course the no-UI setup does not apply to the end user/client SKU's, but I'm sure you can have a similar model for picking and choosing alternatives for those as well.

Now you may think the “Add/Remove Programs” tool has the ability to Add/Remove Windows components as well. Well this is cool and all but I dont want to mess with that stuff. I want this thing to just work. I also never want to really worry about patch's, other than instructing the system to install it. And yes, this patch is specific (and tested) to my customized version of “My OS”.

Next your mind might consider the fact that vendors like Microsoft have broken out about a billion different SKU's for their OS's; isnt that good enough? Well, consider a machine as more than just its OS. Yes the OS is required but to add real value we have the applications running on top of it. Thus being able to have a customizable set of applications ontop of the OS is what I'm talking about. And be able to leave that setup/install/config (mostly config) up to the experts would be great. Give us earlier access in the assembly line.

It would be interesting to see how the licensing model would benefit from this approach as well.

Maxmimize customization, minimize work.

 

Thunderbird with SpamBayes – its not all that hard.

 

So if your like me and have finally dumped Outlook for Thunderbird then you will understand why I needed to get SpamBayes going. The current spam solution within the Bird is less than adequate – in fact it quite sucks. SpamBayes has two configuration options for use on Windows. 1. The Outlook plugin and 2. The proxy server solution. Obviously this post is about the second solution.

If you are looking for instructions on how to setup SpamBayes proxy for external access to filter all of your email with Thunderbird as your client, read on.

Downloading SpamBayes

SpamBayes is a SourceForge project and the Windows download page can be found here. Scroll to the bottom for the “Non Outlook Solutions”, grab the installation program from there. [Current Link] Download and install that sucker. Be sure to ONLY check the option which installs the proxy, and not the outlook plugin.





Installing SpamBayes as a Service

The first thing you might want to do is get the SpamBayes service running permanenty. Here is their instructions on how to do this, which worked perfectly well for me:


To install the service, perform the following steps:

  • Open a command prompt, and change to the \Program Files\SpamBayes\bin directory.

  • Execute sb_service.exe -install

  • Select Control Panel->Administrative Tools->Services, and locate SpamBayes Service in the list.

  • Change the properties of the service so it logs on with your user account, rather than the builtin system account. This will ensure that SpamBayes uses the same configuration and data files when running as a service and when running as a normal program.

  • If desired, change the properties of the service to start at boot time.

  • Start the service.

  • Start the SpamBayes Tray Icon program, and confirm the server is running. Configure and manage SpamBayes normally.


So you now have the proxy running as a service. Next we need to configure the service.


Configuring SpamBayes

SpamBayes's proxy server is typically configured via the Web Interface found at http://localhost:8880/. Hit the link for the “Configuration Page”. On this page, the only required steps you need to take is to update the POP3 Proxy Options.

In the “Remote Servers” box, place a comma delimited list of POP3 servers which you need to connect to via this proxy. pop.foo.com,mail.bar.com,pop3.example.com:996

This server list should be an exact copy of what you see in your email client. So in Thunderbird, go to “Tools”, “Account Settings”, and under the “Server Settings” node for your account. It should list the POP Server and Port which are used. If it is using a non-standard port (110) the convention for the Remote Servers box above is <server>:<port>. For example: pop3.example.com:996

The key here is that for each server you need to create a specific port. This is how the proxy server knows which remote mail server to connect too. So now in the “SpamBayes Ports” input box you need to give a list of ports which each server is mapped too. For example: 110,111,112

What this is saying is for all connections on port 110 proxy them to the server: pop.foo.com

Port 111 -> mail.bar.com
Port 112 -> pop3.example.com

Quite a simple and elegant solution if you ask me.


Allowing Remote Access

If you plan on allowing remote access to the Proxy Server, then in you will need to update the Advanced Configuration page at: http://localhost:8880/advancedconfig. Be sure that both “Allowed remote POP3 connections” and “Allowed remote SMTP connections” have valid values. I just set mine to *. I plan on travelling allot and I need this work when I'm on a bunch of unknown IP's.


Configuring your Firewall.

If you do plan on allowing remote connections to your proxy you must open up your ports which you specified above, and have the pointed to your correct machine. In my case I have an ASUS router which I simply opened up the few ports and pointed them to my Proxy Server. I dont have the Windows Firewall running, and if you do be sure to allow those there as well.

Configuring Thunderbird

Lastly you need to do is go back into the Account Settings for Thunderbird and change the Server Name and Ports to your server (name or IP) and those ports listed above. Personally I did all of this with just one account. Start out simple. Once I was able to get that one working, I added the additonal servers, ports and made the changes to Thunderbird.

You might want to also install the latest Thunderbird Add-on called ThunderBayes. Instructions for use are on the download page.

 

Troubleshooting SpamBayes

The quickest way that I found to troubleshoot the SpamBayes proxy is to enable verbose logging. To do this, first shut down the SpamBayes Service (via Services). Next create a batch file in the SpamBayes install folder (typically: C:\Program Files\SpamBayes\bin\) with the following:

sb_server.exe -o globals:verbose:True

Execute that batch file, use Thunderbird and check your specific email account and you should have a file _pop3proxy.log created in that bin folder. Feel free to shut down the server (close the dos window) and open up the _pop3proxy.log file in your favorite text editor.

I found this specific error: “-ERR Connection not allowed”. This is a super simple one to correct. Hit the Advanced Configuration page at: http://localhost:8880/advancedconfig and be sure that both “Allowed remote POP3 connections” and “Allowed remote SMTP connections” have valid values. I just set mine to *. I plan on travelling allot and I need this work when I'm on a bunch of unknown IP's.

I hope this helps.

 

Relieve yourself from Password Hell!

 

(this comes across as a product plug, but its well worth it - I try to give credit where its due) 

As time goes on many of us find ourselves in knee deep in Password Hell.  You know how it feels, you have about a gazillion web sites which you have signed up for at some point in time and you have no idea what credentials you used for each.  Many people that I talk to start to consolidate their passwords to a single value, or a set of values and use them across all their logins.  Ask any security guy about the implications for that and he is likely to slap you upside the head.  Not to mention this doesn't play well with those sites which require fairly complex passwords and have policies set which you need to keep them changing after X number of days or whatever.  Another way which I found myself doing quite allot was trying the password reminder function prior to registration.  What a mess.

Recommended Tool 

So whats my solution you ask?  Well its quite simple:  I use a password manager application.  After quite a deep look in the market for the "best" manager out there I went with RoboForm.
 

Diligence & Pre-sales support

Whenever I do any sort of diligence on a product which I plan on spending my hard earned money on I usually do a number of basic checks.  On of which is randomly contacting their support department and asking a somewhat silly support question.  This is important for me because I like to see how they handle pre-sales support.  If they are not willing to answer my question, or simply never get back to me I just dump them and move on.  Support, for me, is quite an important part of the software lifecycle.  No support, no puchase. Yes I have been told many times that I'm quite a binary person;  there is usually no gray area for me.

That initial support request and every single support request since I actually made my purchase from RoboForm has been exceptional.  Recently my USB flash drive was stolen and I was forced to upgrade (twist my rubber arm) to a new drive.  Well with RoboForm you are allowed a certain number of activations, which I passed my limit.  I hit their support site and within 4 minutes (yes 4 MINUTES), they responded to my inquiry and upped my activation count.  I couldn't ask for anything better; exceptional service.  I guess this is what prompted me to blog about it this morning.
 

More on RoboForm

I have become so reliant to RoboForm I simply cant see my online life without it.  I use it to store my complete personal and professional profile and with one click of a button it simply fills out all the registration forms for me.  I also force myself to ensure that my login information is stored in RoboForm once I complete the registration process.  Then, in the future, when I stumble back onto the site RoboForm lets my login with a single click.   I never have to remember if I have registered previously, and what my credentials were.

What else is there? 

    1.  Well it has a flexible password generator.  If you have have no idea what exactly constitutes a "complex" or "safe" password then you can use its tool.

   2.  It stores all data in DES, AES, 3DES, Blowfish, RC6 protected format, all with a single "master" password to unlock.

   3. It integrates with Internet Explorer and Firefox

   4. The Portable version runs on my pen drive (carry your passwords around with you)

   5.  You need to only remember your Master Password to gain access to all

   6.  The interface is somewhat customizable. Text labels, Icons only, Icons and text

   7. AutoFill options (with and without asking)

   8. Fill and Submit options

   9. AutoSave for new passwords at new sites.  It just knows what you need saved!

   10. Import/Export IE, Firefox, Outlook, Gator, - saved passwords, favorites, contacts, etc..

   11. Search tool bar (much like MSN's and Googles) for searching the web only

   12. Customizable hotkeys.

   13.  Automatic version checking, notification, and downloading...

   14. Customizable startup process (to show/hide the splash screen)


More Info

Reviews | Complete Feature set | Pass2Go (their portable version which I use) |

Lastly, you might want to consider GoodSync as well.  I have purchased this as well, great product for synchronizing your pen to your primary machine for a backup.  USB Thumb drives are somewhat unreliable and this tool has managed to save my but many times!

 

More Posts