The first email was sent 40 years ago this month

It’s become a firm fixture of everyday life, loathed by some but essential to nearly all of us, and yet its future is far from certain. Email is forty years old this month, with the first message having been sent in October 1971.

The birth of email

Like many technological innovations, email has its roots in military technology. In the late 1960s, MIT graduate Ray Tomlinson was working at research and development firm Bolt, Beranek and Newman. His work included contributing to technologies related to the ARPANET, the military communications network that was the earliest form of the Internet. This included a file transfer program for mainframe computers.

With this file transfer experience, Tomlinson was assigned to modify a program called SNDMSG, which allowed messages to be sent between different users of the same computer – this was in the days when computers were incredibly expensive, and the idea of one person having a computer to themselves was impractical. His task was to allow messages to be sent between two different computers, and in October 1971 he cracked it.

As Tomlinson told The Times in 2008, he doesn’t remember what that first email actually said – perhaps ‘QWERTY’ or another string of characters, but whatever it was, it traveled a distance of one meter between two separate computers. One small step for a message, one giant leap for mankind.

Besides inventing email, Tomlinson is also the man to thank for the popularity of the ‘@’ symbol. He established the convention of an email ‘address’ in order to identify the recipient and the computer or network that they were using. To separate these two pieces of information, he chose ‘@’. He told The Times,  ”It conveyed a sense of place, which seemed to suit.”

The growth, growth and growth of email

Email use on ARPANET quickly took off after that first message in 1971, but it wasn’t embraced on a wide scale until the 1990s when the birth of the World Wide Web led to consumers embracing the Internet. By the end of that decade, it had become an essential part of working life in many offices around the world.

Back in 2001, the School of Information Management and Systems at UC Berkley reported that around 31 billion emails were sent daily. By 2008, that figure had risen to 170 billion each day, at a rate of 2 million per second. It hasn’t stopped accelerating; Pingdom reported that in 2010, the daily rate was 294 billion.

Original & Full Article by

Proxy Auto-Configuration and its challenges

I was a fan of WCCP for setting up transparent proxy within a network – it always seemed the easiest way but all together it only seemed like that. A lot of problems came up in the past few month on customer sides and within my installation so I decided to give Proxy Auto-Configuration a try.

Biggest benefit of using PAC (Proxy Auto-Configuration) is: “You get rid of transparent proxy.” That makes life easier – but before I had to learn a lot of stuff the hard way.

Rollout the URL for the PAC File without touching the client

2 Options are available – DNS and Option 252 for DHCP

Easiest way is DHCP and the configuration therefore is straight forward. Extend your DHCP configuration with the option 252 and put the URL for the PAC file as a value into. The client fetches with the next renew of the DHCP settings also the proxy information.

DHCP has a higher priority than DNS: if DHCP provides the WPAD URL, no DNS lookup is performed. Notice that Firefox and Chrome do not support DHCP, only DNS.

Next step is to set up DNS for the browsers lacking DHCP support. It’s also straight forward – redirect any request for to the PAC file server. The browser is going to fetch the file wpad.dat (which is our PAC file) from the file server.

Verify your Clients

Very important for your client PCs and/or applications is that they are set to auto-detect proxy settings from your network. If this is not set up – you have to touch the client or use some kind of scripting to set that on your browsers.

PAC file hosting

One challenge could be the PAC file hosting. If you use a webserver – it is important that every PAC file (nevertheless if it is called proxy.pac or wpad.dat) sent to the client gets the right MIME type. The MIME type of the configuration file must be “application/x-ns-proxy-autoconfig”.

If you are using DNS to get the PAC file – every client is requesting the wpad.dat file from the URL mentioned above on port 80.

PAC file hosting with Cisco Ironport Web Appliance

If you are using a Cisco Ironport S-Series or Web Appliance – a lot of things get handled by the Ironport itself. MIME type is set right and a few other things which we are talking right now.

Ironports PAC file hosting lets you specify a port for the PAC file service – per default 9001. If you use DNS – the PAC file service has to listen on port 80 as well. That is not a problem as long as you are not using port 80 for your web proxy service and your AsyncOS Version is 7.x
Just add the port 80 to the PAC file service and submit the changes.

Next step is to upload your PAC file – the PAC File can have any name as long as you can remember it and use it right if you set up your DHCP settings. Ironport also supports multiple PAC files as long as they have a different name. That’s it if you can use DHCP – every DHCP pool within your network could fetch a different PAC file from the same Ironport Appliance.

Talking about DNS – you need to host wpad.dat files – Ironport is helping out. In the section “Hostnames for Serving PAC Files Directly” you can set up a GET hostname (the URL the client is using to access the PAC hoster) and choose a PAC file from your uploaded one and Ironport is renaming it on demand for the client requesting.

For example, if you enter in the Hostnames field and pacfile1.pac in the Default PAC File for “Get/” Request through Proxy Port field, then requests for fetch pacfile1.pac and requests for fetch default.pac.

Additional Information

Unternehmensweiter Einsatz von Legacy-Software durch Web-Technologien

Für alle interessierten Leser gibt es hier nun meine Diplomarbeit zum Download. Hoffe sie gefällt und über Kommentare freu ich mich immer wieder. Schließlich lernt man nie aus.


Unternehmensweiter Einsatz von Legacy-Software durch Web-Technologien als PDF [1,9 MB] unter Creative Commons
Präsentation zur Diplomarbeit als MOV [16,5 MB] und PDF [4,5 MB]

Continue reading “Unternehmensweiter Einsatz von Legacy-Software durch Web-Technologien”

Converting Web-Site Projects to Web-Application Projects using VS2005

Nach langem hin und her hab ich mich entschieden das für die Firma entstandene Web-Site Project in ein Web-Application Project (welches man als Plugin für VS2005 nachinstallieren muss) zu konvertieren. Warum ich das gemacht habe werd ich bei Zeiten einmal erläutern.

Doch für alle die dies auch vorhaben hier einie Links und Tipps für ein schnelleres Konvertieren.
Zu aller erst liest man sich mal die Site “Visual Studio 2005 Web Application Project” durch. Hier wird schon vieles erklärt.

Auch das Thema Namespaces wird kurz angerissen, leider nur für Class Files für die es klar ist, dass hier Namespaces angegeben werden müssen. Was ich zum Beispiel vergessen habe, waren auch die Namespaces bei den ASPX oder ASCX Files anzugeben und dort nicht nur im CodeBehind Teil, sondern viel mehr im HTML Part. Hier gehört für die Property Inherits auch jedesmal der Namespace vorne angefügt. Sollte man nicht genau wissen wie dieser heißt, einfach eine leere Seite anlegen und von dort abschreiben.

Die Designer Files welche auch jeder ASP.Net Datei beiligen nicht vergessen auch hier gehören für UserControls auch die Namespaces importiert oder einfach vor dem Namen des UserControls angefügt.

Danach sollten die Fehler schon um einiges weniger sein – was noch passieren kann ist, das eine nette “System.Security.SecurityException” auf euch wartet. Hier wurde ich in der MSDN fündig, einfach auf der lokalen Maschine bzw. der Maschine auf jener der WebServer läuft die nötigen Schritte durchführen.

Aja und der wichtigste Teil – nicht vergessen bei Typed Datasets im XSD Schema alle Connection Strings auf den neu entstandenen abändern. Sonst ärgert man sich grün und blau.

Der bessere Include

Andreas Rauch:

Kennen Sie den schon…? Es war einmal ein . Wers benutzt weiß, daß das Include File immer geladen wird und zwar komplett.  Nicht, daß es schlecht gewesen wäre, aber wesentlich komfortabler wäre es doch, wenn man bestimmen kann, was wann geladen wird. Dazu gibt es unter dem IIS 5 oder ASP 3 zwei wichtige neue Befehle (die es in sich haben) …

Der Artikel “Der besser Include” erklärt kurz und bündig wie es besser gehen kann und vor allem warum 😉