Archive for the Category » hosting «

Thursday, March 26th, 2009 | Author:

Have you previously realised that www is redundant? If so, I’m preaching to the converted and you can run along back to whatever you were busy with. 😉 Otherwise, stand to attention, soldier!

begin rantish text:

When I’m browsing the web, I’d much less prefer to”. Reason being that if *every* site has to have w’s, what’s the point of the w’s? Not to mention that they’re a bitch to pronounce. There’s 9 syllables in there! You could almost halve that by sayingtriple-w”. I’ve heard people saydub dub dub”. Bleh. Even the World Wide Web Consortium prefers to call themselvesW3C”.

So what exactly is (was?) the point of the www? There might be more to it, however the gist of it appears to be that when Tim Berners-Lee first created the hypertext document retrieval system, he called itWorld Wide Web”. I believe that www became a standard not because it made sense or because it was a good idea, but because it was hyped far beyond the healthy respect it deserved.

Your web browser *knows* you’re dealing with web content solely by the fact that there’s an http:// in front of the url. Therefore I submit, the www is redundant.

Need more convincing?

Search engines see and as 2 separate web sites. Because both sites have identical content, search engines might lower your Search Rankings. Hell, you’d be competing against yourself for rankings. Silly example: instead of 3rd, you might be 5th اور 7th. For this reason, it is better to either force www or to force no www. I’m in favour of the latter.

If you browse to you will be redirected to Even if you go to the downloads directory of my main domain with a www, you’ll be redirected appropriately. Importantly, search engines will only find one copy of my web site, نہیں 2. And in the long run, I’ll be wearing out my w key a li’l less. 🙂

With the possible exception of a few quick deaths, no w’s were hurt during the production of this post.

سیکنڈ اور
Wednesday, March 18th, 2009 | Author:

[edit] So much for that. It turns out that openssl is able to determine that the key and certificate are already in a single file. Therefore, no csplitting required (اچھی طرح, I hope somebody reading this at least learned about how nice csplit is). In fact, the whole script might as well be obsoleteblaargh. Well, at least it gives a nice warning about not giving a blank passphrase. 😀

Here’s the new version:

pem2pfxconverts a .pem-formatted file containing a private key and signed certificate into a Windows-compatible .pfx certificate file.

#Tricky - brendan@swiftspirit.ج
# Converts a .pem certificate file to .pfx format
# $1 is the source file
set -e
if [ $# = 1 ]; then
  outputfile=`echo $1 | sed 's/.pem$/.pfx/'`
  echo "Please specify a password below. Windows refuses to import a .pfx certificate with a blank password."
  openssl pkcs12 -export -out $outputfile -in $1
  echo "pem2pfx - converts a .pem formatted private-key and certificate file to an IIS-compatible .pfx file."
  echo "Usage: pem2pfx inputfile.pem"


سیکنڈ اور
Saturday, February 21st, 2009 | Author:

The relatively new document types Office 2007 has given some web hosts problems when their clients want to offer documents for download. Most often, the documents are being offered by the web server as text/html which is then rendered as a ton of garbage on the web user’s screen.

The best way to resolve this is to add all the MIME types to the server’s main configuration. IIS7 for Windows already has these MIME types set up correctly by default. IIS6 and IIS5 require the MIME types to be added, as might Apache on older installations. For Apache, there is also a workaround for the individual domain owner to add the mime types via Apache’s .htaccess فائل.

IIS 6 MIME type addition (for the Server Administrator)

Before this can be done, ensure that your server is also set to allow direct metabase editing:

  1. Load IIS Manager: Start -> Rاقوام متحدہ, “inetmgr” -> [OK]
  2. Right click theserverand clickProperties
  3. Within theInternet Information Servicestab (usually the only tab), ensure that theEnable Direct Metabase Editcheckbox is checked.
  4. Click [OK]

Be sure to back up IIS’s configuration (یہاں for IIS5) beforehand. I won’t take any responsibility for an admin breaking his server. I have reason to believe this may also work on IIS5 however I have just as much reason to believe that it might just give lots of errors. If an IIS5 / Windows 2000 admin is willing to test this for me after backing up your configuration please let me know of the results.

Copy the following text into a file named msoff07-addmime.vbs and execute it once from the commandline by typing cscript msoff07-addmime.vbs and pressing Enter. If you run it more than once, the MIME types will be added each time and you will have multiple identical entries:

' This script adds the necessary Office 2007 MIME types to an IIS 6 سرور.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the
' IIS MimeMap so you should not run it more than once.
' Modified from
Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
' Set the MIME types to be added
MimeTypesToAddArray = Array(".docm", "application/", _
".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", _
".dotm", "application/", _
".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template", _
".potm", "application/", _
".potx", "application/vnd.openxmlformats-officedocument.presentationml.template", _
".ppam", "application/", _
".ppsm", "application/", _
".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow", _
".pptm", "application/", _
".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation", _
".sldm", "application/", _
".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide", _
".xlam", "application/", _
".xlsb", "application/", _
".xlsm", "application/", _
".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
".xltm", "application/", _
".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template") 
' Get the mimemap object
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")
' Call AddMimeType for every pair of extension/MIME type
For counter = 0 کرنے کے لئے UBound(MimeTypesToAddArray) مرحلہ 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")
' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Set oExec = Nothing
' Report status to user
WScript.Echo "Microsoft Office 2007 Document MIME types have been registered."
' AddMimeType Sub
Sub AddMimeType (Ext, MType)
    ' Get the mappings from the MimeMap property.
    MimeMapArray = MimeMapObj.GetEx("MimeMap") 
    ' Add a new mapping.
    i = UBound(MimeMapArray) + 1
    Redim Preserve MimeMapArray(i)
    Set MimeMapArray(i) = CreateObject("MimeMap")
    MimeMapArray(i).Extension = Ext
    MimeMapArray(i).MimeType = MType
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
End Sub

Apache MIME type addition (for the Server Administrator)

Apache stores its MIME types in a file normally located at $installpath/conf/mime.types. See the mod_mime documentation for more on how it works. قوس لینکس installs its MIME types at /etc/httpd/conf/mime.types اور Parallels Plesk installs it in /usr/local/psa/admin/conf/mime.types. Your distribution might have it in another place, so find your mime.types file by running locate mime.types.

Add the following lines to your mime.types file:

application/                          docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document   docx
application/                          dotm
application/vnd.openxmlformats-officedocument.wordprocessingml.template   dotx
application/                    potm
application/vnd.openxmlformats-officedocument.presentationml.template     potx
application/                       ppam
application/                   ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/                pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/                       sldm
application/vnd.openxmlformats-officedocument.presentationml.slide        sldx
application/                            xlam
application/                     xlsb
application/                            xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet         xlsx
application/                         xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template      xltx

Apache MIME type addition (For the domain owner with at least FTP accessusing .htaccess file)

Add the following text to your domain’s .htaccess فائل, most commonly in an httpdocs/ directory

AddType application/ docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/ dotm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/ potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/ ppam
AddType application/ ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/ pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/ sldm
AddType application/vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType application/ xlam
AddType application/ xlsb
AddType application/ xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/ xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
سیکنڈ اور
Saturday, February 21st, 2009 | Author:

and my Personal Rating (PR) out of 10 😉

I use فائر فاکس so most of these won’t apply to non-FF users. تاہم, I’d be very very interested to hear what other addons my friends, subscribers, and random websurfers find interesting or useful to them. Have your say and let us know why you love the addons you love. 🙂

Personally, I prefer addons that aren’t intrusive. Ideally, an addon must have a minimal interface and give me a measurable benefit for me to keep it installed.

Cacheviewer – 7

This is a GUI front-end for the Cache Firefox keeps of the last few pages and media. I’ve found this addon more interesting than useful right now so I’m probably going to remove it soon.

ColorfulTabs – 9

I love the colours. The tab colour-grouping doesn’t work very well when you reach about 30 tabs though… :-/

لوڈ Statusbar – 10

میں ٹیبز میں ایک ونڈو میں فائر فاکس میں سب کچھ ہونے کو ترجیح دیتے ہیں. ایک الگ ونڈو میں لوڈ باکس اندوز میرے لئے ایک بڑا کوئی نہیں ہے. It also saves screen real-estate since it is very minimal. 🙂

ویڈیو DownloadHelper – 10

ویڈیو DownloadHelper میڈیا محرومی کے لئے لگ رہا ہے – خاص طور پر کسی بھی بڑی مواد ہے کہ ڈاؤن لوڈ کیا جا رہا ہے کے لئے تلاش. آپ کا آئکن پر کلک کریں, جو آپ فی الحال-ڈاؤن لوڈ کرنے کی نہریں سے پتہ چلتا ہے اور آپ کو ایک کے طور پر اس قطار کا اختیار دیتا ہے “معمول” ڈاؤن لوڈ، اتارنا.

چونکہ آپ کو کبھی نہیں FF کریش ہو رہا ہے جاننا یا بجلی کاٹ کرنے کے لئے کی جا رہی ہے, میں نے اپنے ڈیسک ٹاپ پر ایک کاپی کو بچانے کے لئے ترجیح دیتے ہیں اور میں پھر دوبارہ ویڈیو ڈاؤن لوڈ کرنے میں زیادہ بینڈوڈتھ استعمال کرتے ہوئے بغیر ویڈیو دیکھ سکتے ہیں. اس کے علاوہ, کام پر, جب لوگوں نے مجھ سے یو ٹیوب یا دیگر میڈیا کے لنکس بھیج, میں عام طور پر کے بعد زیادہ سے زیادہ تک دیکھ پرواہ نہیں کرتے – میرے اپنے فرصت میں یا وقفے کے دوران.

ختم ہونے کی کینری – 9

آپ اس وقت دیکھ رہے سائٹ کے لئے SSL سرٹیفکیٹ میعاد جلد ہی ختم کی جا رہی ہے تو یہ صاف اور کم سے کم امدادیہ آپ کو بتاتا. آپ کی اپنی سائٹ ایک SSL سرٹیفکیٹ ہے تو, میں نے آپ کی وجہ سے نوٹیفکیشن یا miscommunication کی ایک سادہ کمی کی میعاد ختم ہو رہی آپ کی سائٹ کے SSL سرٹیفکیٹ سے بچنے میں مدد کرنے کے لئے اس امدادیہ استعمال کرنے کی سفارش.

Fasterfox – 8

Fasterfox adds some network optmisation options. Some of the options could make your corporate network admin a little mad with you though. 😉

میں Firebug – 9

صفحات کے ساتھ ویب کی ترقی اور استعمال کے لئے. اس کے ساتھ ساتھ کوڈ کا بہت کم بٹس جانچنے ٹھیک کرنا کے صفحات کے لئے بہت اچھے.

FoxClocks – 6

errtells you the time in other time zones. o.O Was useful for a short timenow its redundant since my head is working it out faster than I can glance. rm -f

FoxyProxy – 9

مخصوص پراکسی سرور کے ذریعے مخصوص صفحات براؤزنگ کے لئے بہت اچھے. This is useful for when some sites are blocked or the SAIX Transparent Proxy servers aren’t working properly. 🙂

میں پراکسی سرور میں نہیں بلکہ پہلے سے طے شدہ راستوں کے ذریعے جانا نہیں تھا کہ اس میں سے زیادہ کچھ ٹریفک روٹ کیلئے اس کا استعمال. Its also very flexible. آپ ایک سے زیادہ پراکسی سرور دستیاب ہے اور آپ کو عام طور پر اچانک استعمال کرتے سے ایک جھپک پر جاتا ہے تو, صرف اگلے ایک کو سوئچ. 🙂

گریس منکی – 10

Right now, I use this only for the GooglemonkeyR script. This script reformats گوگل‘s search results to your specifications and also has an option to show small thumbnail of the pages Google links to. Greasemonkey can do a lot more and there are plenty of scripts readily available for many many sites.

Live HTTP headers – 8

I’ve used this a few times to diagnose gzip compression issues with IIS web servers. Not much else to say though: It works.

Live PageRank – 10 (so faronly installed it yesterday)

This addon seems simple enough. It gets the PageRank from Google and shows it in the tray.

NoScript – 10

NoScript کو مسدود اشتہارات میں بہت اچھے ہے. سب سے پہلے میں اس کی ایک چھوٹی سی پریشان آپ کو اپنی پسند کے تمام سائٹس وائٹ لسٹ کرنے کے لئے ہے کے بعد سے – but in the long run it is soooo worth it. 🙂

صفحات جلا بخشنے – 10

آپ ایک ویب سائٹ پر براؤز اگر لئے بہت مفید ہے اور اس کے نیچے ہو. اس عارضی ہے آن لائن ویب سائٹ ہے تو جامد مواد پر مبنی تو یہ اسے فوری طور پر مواد تلاش کرنے کے لئے آسان بنا دیتا ہے.

ٹیب ملائیں پلس – 8

Awesome for if you have more than 7-or-so tabs.

ShowIP (using a version modified for work purposesdisplays company server’s canonical name when browsing) – 10

I cannot imagine the hell I’d have to go through to identify a server without this plugin. Okay, I can. Used to have to do this all the time. I eventually scripted it but I can’t find the original script. Here’s my 60-second attempt at recreating what was in that script:

$ cat /etc/hosts | grep `dig A $hostname @mycachingnameserver | grep . | grep -v "^;"`
$ dig -x `dig A $hostname @mycachingnameserver | grep ^$hostname | grep A | \
  awk '/[.]/{print $5}'` @mycachingnameserver | grep . | grep -v "^;"

Web Developer – 9

I used this once to diagnose some issues with a page. I don’t do much web development so I’m going to remove this one. Its no comment on its capabilities since I believe this is a top notch add-on if you’re doing a lot of web development work.

سیکنڈ اور
Tuesday, February 17th, 2009 | Author:

Some of you may already know that I built a home server not too long ago. I documented some of the very important parts of how it was built though I was planning on releasing all the documentation all at once. I was using Arch Linux and I hadn’t nearly finished everything, especially the documentation. مثال کے طور پر, it was supposed to be a media server. After some disk shuffling, it was supposed to end up having a RAID1 for the boot and RAID 10 for the rest (the media part).

This didn’t work out at all.

I got as far as having an efficient (اور اچھی طرحfirewalled) routing gateway server. I was finally satisfied that the customised local routing* was working correctly and I was confident that my tests with DHCP meant I could disable the DHCP service on the flimsy ADSL router and have all my flatmates start using the server as the Internet gateway. Instead: I was logged in to the server from the office, I’d just installed Apache2**, and I was about to consult with a colleague regarding getting nice graphs put together so the flatmates could all see who was using up the bandwidth***when I noticed a little message indicating that the root filesystem had been remounted read-only due to some or other disk failure.

And then I lost my connection to the server.

And then I gained a foul mood.


When I arrived home, I found that, as I had guessed from the descriptive message given at the office, the (بہت) old 80GB IDE disk that I was using for the root filesystem had failed. Unfortunately, the server would never boot again and there was little chance of prying everything off onto another disk to continue where I’d left off.

I’m buying a replacement (SATA) HDD this next weekend just after pay dayand I’ve changed my mind about documenting my progressand backing up my configurations:

Release Early. Release Often.

* ISPs in South Africa charge less (easy price comparison) forlocal-only” (within South Africa) traffic on ADSL but only if you use an ADSL account that CANNOT access web services outside of South Africa. This means that if you want to take advantage of the reduced costs but still be able to access the Internet at large, you need to set up some sneaky routing.

** one-command-install: ~$ yaourt -S apache

*** Internet Access in SA is expensiveyou get charged about R70 ($7 / £4.9 / €5.46) per GB when using ADSL, or about R2 per MB if using GPRS / 3G.

سیکنڈ اور