My computer hardware history

I was just chatting with a collegue about my hardware history and thought it was time for an update. My hardware list is as follows:

  • MSX2 HB-F9P
  • Amiga 500 1MB + Action Replay III
  • Amiga CDTV 1MB + DIP switch KS1.3
  • 486DX33 8MB + SB16 + GUS
  • 486DX266 32MB + SB16 + GUS
  • Pentium 200MHz MMX @ 225MHz 128MB + GUS IW + PowerVR + Voodoo2
  • Pentium 4 1GHz 512MB
  • Pentium D 3,4GHz 2GB + ATI HD2600XT + NVidia 9800GT

The first computer that I saw as a kid was an Atari 2600 which friends of mine had and that was pretty amazing. A few years later I got my own computer, the MSX2. Later the father of the friends that had the Atari 2600 bought an Amiga 2000 and I really was flabbergasted when I saw it in action. I was already in love with the MSX2 but it extended to the Amiga and soon I was an owner of an Amiga 500! I somewhere sold my Amiga hardware which I needed to do to buy a PC but now I regret that dicision :-).

The MSX died somewhere around the year 2000 when heavy rain filled the basement where it was stored but a friend wanted to get rid of his MSX2 hardware. Two Philips NMS 8280 but only one keyboard. I still have these devices and sometimes boot them up with either one of the few cartridges that survived the basement pool experiment.

Somewhere a long I also owned a NES but I was and probably never will be a console person.

I learned programming on the MSX in BASIC and a little bit hacking with disassemblers. On the Amiga I started with AMOS, REXX and later on SAS C and 68000 assembly. I then made the transition to the PC where I was first programming in Turbo Pascal combined with x86 assembler and later on Watcom C/C++. I then started programming for a living and programmed MSVC/VB6 in Visual Studio 6 in Windows with COM(+) and later on in .net 1.0.

I was always interested in other development platforms and operating systems. I experimented a lot with all kinds of languages and Linux distributions, OS/2 and BeOS but nowadays I primarily program in c# because I am a professional .net developer for a living but I still experiment in my free time although I’m not such a geek anymore as I was 10 years ago.

How-to enable large file uploads in IIS7

We have migrated from IIS6 to II7 and today we had some problems with large file uploads which we didn’t have with ASP.NET on IIS6. The web application was already configured to allow large file uploads:

<system.web>
    <httpRuntime maxRequestLength=”153600″ executionTimeout=”900″ />
</system.web>

So WTF is happening? Well IIS7 request filtering was kicking in and we needed to configure it and this can be done too in the web.config:

<system.webServer>
    <security>
        <requestFiltering>
                <requestLimits maxAllowedContentLength=”157286400″ />
             </requestFiltering>
    </security>
</system.webServer>

But this still didn’t work for us because the default permission in IIS7 is that applications are not allowed to alter this setting. Configuring the setting with appcmd on an elevated command prompt made it all work again:

appcmd set config "wms/wmsdev" -section:requestFiltering -requestLimits.maxAllowedContentLength:157286400

Be aware though that maxRequestLength is specified in kilobytes and maxAllowedContentLength in bytes.

Howto create a certificate request with subjectAltNames with OpenSSL on Windows

Sometimes you host multiple websites on one machine on one ip address. Because the way SSL works you can have only one certificate on one ip address + port combination and then you have a problem. One solution is to host all websites on one host(name), the other is creating an SSL certificate that contains multiple hostnames. Problem is that you cannot create such a certificate from within IIS and this is where this article is for.

Download and install OpenSSL for Windows at Shining Light

  1. Create a private key for your certificate: openssl genrsa 2048 >multicert.key
  2. Create a configuration file with your certificate data
# -------------- BEGIN custom multicert.cnf -----
HOME = .
oid_section = new_oids
[ new_oids ]
[ req ]
default_days = 730
distinguished_name = req_distinguished_name
encrypt_key = no
string_mask = nombstr
req_extensions = v3_req # Extensions to add to certificate request
[ req_distinguished_name ]
commonName              = Your nice common name
commonName_default      = www.mydomain.com
commonName_max = 64
[ v3_req ]
subjectAltName=DNS:ftp.mydomain.com,DNS:blog.mydomain.com,DNS:*.mydomain.com
# -------------- END custom openssl.cnf -----

 

  1. Create a certificate request: openssl req -new -key multicert.key -out multicert.csr -config multicert.cfg
  2. Submit your certificate request to your CA (I often use www.cacert.org)
  3. Save the CA certificate request response to a file multicert.cer
  4. Create a PFX file that contains both the public and private key: openssl pkcs12 -export -out multicert.pfx -in multicert.cer -inkey multicert.key

Note that I used the same domain name for all entries and only changed the subdomains but I could just as easily used different domainnames as long as you are allowed to use those domainnames according to how you are registered at the CA that you are going to use.

And voila there you have your PFX file that can be loaded by IIS and be used for several websites that match the included hostnames on one ip adress + port combination.

Configure hostheaders for SSL

You still need to add the correct hostheader on each website on the commandline as this cannot be done from within the management console.

IIS6

cscript.exe adsutil.vbs set /w3svc/{site identifier}/AccessSSL TRUE

Where {site identifier} is the id/number  of the website which you can see when you click the “Websites” node in the IIS6 management console. Click here for detailed instructions for IIS6.

IIS7

appcmd set site /site.name:"MySite V2"/+bindings.[protocol='https',bindingInformation='*:443:sitev2.mysite.com']

Instructions for IIS7

  • Recent Posts
  • Recent Comments
  • Archives
  • Categories
  • Meta