Bypass HSTS on local dev sites

HTTP Strict Transport Security will BLOCK your dev site if it is using a self signed certificate. And once the browser has given you that, it remembers it, so fixing it doesn’t help until you fix Firefox/Chrome.

Firefox

  • Close any tabs
  • Ctrl + Shift + H (Cmd + Shift + H on Mac)
  • Find the site in question
  • Right click, forget about this site
  • Close and reopen browser
  • Add certificate exception this time 😎

Chrome

  • chrome://net-internals/#hsts
  • type the hostname into the Query Domain
  • If found, enter the domain in the Delete domain section 😎

 

Removing Firefox Inspect Element (we use FireBug!)

Just a quick one! We all know and love Firebug, but you might get annoyed when you right click to inspect element, only to find you clicked on ‘Inspect Element (Q)’ instead of ‘Inspect Element with Firebug’. So lets get rid of the one we don’t use!

inspect

It’s real easy. Browse to about:config, and proceed past the warning.

config

Set extensions.firebug.hideDefaultInspector to true.
Set devtools.inspector.enabled to false.
Problem solved!

inspect

Bypass corporate proxies and firewalls with an SSH Tunnel

DATE

“Seriously, I can’t get anything done in this office thanks to their draconian proxy configuration, everything is blocked!”

Sound familiar? If you are a web developer, you need unrestricted access, right? So let’s sort that out. I’m assuming you have a linux web server that isn’t locked down outwith the network that you can putty into.

Open Putty! Choose SSH > Tunnels. Add a dynamic port 7777 (or whatever) (ignore the 10139, that’s my debugger port) and save the settings.

putty

Now go into Chrome settings, click advanced, Change Proxy Settings, LAN Settings, Advanced.
Then in Socks, enter localhost and your port (7777).

chrome

You can now browse every web site again! 😀

Need IRC too? same deal. I use Pidgin. Open Pidgin, then click the Accounts menu, Manage Accounts, click on your account, click modify, click Proxy, choose SOCKS5 as the proxy type, then enter localhost and 7777, as below:

pidgin

You are now on IRC again!

Now, Git. All that is required to get git working is to add the socks5 proxy:

git config --global http.proxy 'socks5://127.0.0.1:7777'

And now you can clone repositories with no problem!

UPDATE:
Okay, I finally got everything unrestricted in the CLI too, by using a piece of software called ProxyCap. Check it out:

proxy

proxy2

 connection works

Testing for Internet Explorer on Mac OS X

As you know, people are idiots. Really. I mean, the fact people use Internet Explorer proves it. The fact we still develop and cater for Internet Explorer makes us idiots too. In other words everyone is an idiot.

Rant aside, if you are a professional, no doubt you develop on a mac (not dissing PC owners, Ive used PCs for 22 years!). Of course, testing IE is a pain on both!

Actually, it’s worse on the pc, as MS wont allow several different IE’s running along side. Either platform, the answer is Virtual Box! http://virtualbox.org
Install it and then you can install official microsoft virtual machines! http://www.microsoft.com/en-gb/download/details.aspx?id=11575

Better yet, (and below is blatantly copied and pasted from elsewhere) you can auto install all the vm’s from one comman by following this stuff! It also includes the windows 8 developer preview with IE10!

Run Internet Explorer 7, 8, and 9 in Mac OS X the Easy & Free Way

We’re going to walk you through how to install Internet Explorer 7, 8, or 9 in a virtual machine running Windows, directly in Mac OS X – for free. This is achieved by using the freely available VirtualBox software from Oracle, and combining that with free Internet Explorer testing virtual machines from Microsoft, the trick is converting these free IE vm’s so that they work flawlessly under OS X (or Linux, technically), and that is all handled automatically with this method.

Notes: the admin password for all of the IE VMs is “Password1″ without the quotes. This has been tested and confirmed to work with Mac OS X 10.7 Lion and Mac OS X 10.6 Snow Leopard.

    1. Download & Install VirtualBox – Download Now (direct .dmg download link) – visit VirtualBox Downloads page
    2. Launch the Terminal (located in /Applications/Utilities/)
    3. Decide which versions of Internet Explorer you want to download and install – each version of Internet Explorer is contained within a separate virtual machine that runs within VirtualBox. In other words, if you want to run Internet Explorer 7, 8, and 9, you will need to download three separate VM’s, which may take a while so keep that in mind. Select the text below and copy it:
      • Install ALL versions of Internet Explorer: IE7, IE 8, and IE 9

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | bash

      • Install Internet Explorer 7 Only

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="7" bash

      • Install Internet Explorer 8 Only

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="8" bash

      • Install Internet Explorer 9 Only

curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="9" bash

  1. Copy and paste the selected command from above into the Terminal and hit return, this will start the download and conversion process. How long this takes depends on your internetconnection and how many versions of Internet Explorer you chose to install
  2. Launch VirtualBox and boot Windows & Internet Explorer – select the virtual machine corresponding to the version of Internet Explorer you intend to use: IE7, IE8, IE9, then click on the “Start” button to boot that Windows machine with that version of Internet Explorer.

Remember that the default Windows admin password is “Password1″, it’s also the password hint within the VM should you forget it.

Microsoft FAIL

If you are a web developer or designer, you need to grow a pair and learn to just say NO to IE optimisation. The only way we can kill IE is to stop developing for it.

Take this happy horse sh*t for example:

Outlook 2000 rendering fine
Outlook 2000 rendering fine
Outlook 2013 - Things are seriously improving over at Microsoft
Outlook 2013 – Things are seriously improving over at Microsoft

Consistent HTML Emails for Outlook compatibility

If you’ve ever had to send out emails to a marketing list or what have you, no doubt you’ve lost hair, pulling it out, and lost enamel grinding your teeth thanks to the worlds worst browser provider – Microsoft.

You should always remember the following:

  • Use old fashioned tables, not divs, for laying stuff out
  • dont include css, always use style=”whatever”
  • set cellspacing and cellpadding to 0
  • border=”0″ on your images with links
  • Use tables within tables, make your main table have one <td> in a row
  • if you are using colspan read the previous point
  • style your <a> tags or they’ll be that stinking default blue
  • following worldwide recognised and established coding standards will break outlook
  • Padding will screw up Outlook

The last point is the main reason IE etc is the worst, I have no idea why 13 or more years down the line they still cant get this right!
Padding for some stupid reason gets added to the outside of our box model rather than the inside. The best way to get round this? Shove a div inside whichever <td> you are in. Padding that will still screw up, so use margin instead.

If anyone else has any tips to spare the innocent developers from the Wrath of Gates, feel free to drop a comment!

And now for a short rant:

MICROSOFT SORT YOUR SH*T OUT! WE’VE PUT UP WITH THIS LONG ENOUGH!
If you work for Microsoft, I hate you. Unless you convince whoever THE F*CK programs IE and Outlook to follow this link:

http://www.w3.org/TR/1999/REC-html401-19991224/

WRITTEN IN 1999 !!!!!!!!!!!!!!!!!

Disable Return key using jQuery – IE Bug

Once again IE stops a developer in his tracks and forces him to rewrite something that works perfectly in every other browser. This time – disabling Return using jQuery.

This works for everyone except Microsofts (quirky) browser. More enamel is lost in a year through developers teeth grinding that I’m sure dental profits are soaring through the roof. Anyway:

$(window).keyup(function(e) 
{    
    if (e.keyCode == 13)
    { 
       e.preventDefault();         
        return false;
    }
});

Whereas this will work

$('#my-form').bind("keypress", function (e) {
    if (e.keyCode == 13) 
    {
        e.preventDefault();
        return false;
    }
});

Irritating. Boycott IE!