Archive for the ‘Software’ Category

Apache unexplained resets

Tuesday, April 19th, 2011

Sometimes you’ll be coding away and discover something peculiar. One such example is when attempting to run a regular expression on a very long string (1000+ bytes) on a default WAMP installation. Apache randomly ‘resets’ the connection. This is because you’ve caused it to crash. There’s no explanation and even the Windows event log doesn’t reveal any useful information.

The reason of course, is because you’ve overflowed the stack, Apache has run out of memory and crashed.

The fix is simple; just add this to your Apache config:

<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>

Problem solved.

Internet Explorer 9

Thursday, June 24th, 2010

Every web developer knows that Internet Explorer (IE) 6 is a pain. It has a lot of bugs, and a lot of newer code just doesn’t work. The problem is, we can’t stop coding for it – IE6 still has over 10% of the browser market share. Now, it was neglected for five whole years. Then version 7 came along. IE7 fixed a few of IE6′s bugs, but from a developers point of view wasn’t anything special. A couple of years later IE8 was released – which much improved rendering all round.

Now, IE8 is a good rendering browser, it’s not too bad at all. It doesn’t however support any of the ‘new’ features of the web. Experimental things such as HTML5 and CSS3 simply don’t work. Is that such a bad thing? Well, yes. Because every other major browser (Chrome, Safari, Firefox) supports a good chunk of them and there’s a lot of things that we as developers want to use, but can’t.

Take my website for example – if you’re here in any version of IE you’ll see a very plain and very square design. Any other browser and you’ll likely see rounded corners, text shadow and box shadow – three small parts of CSS3 that really improve the visual appearance of a simple layout like this one.

Now, suddenly, Microsoft have realised they’re in a browser war once more – fall behind too much and people will walk away. Why is that troubling for Microsoft? Well, if you can convince people to use a new browser how much harder is it to convince them to use a new operating system the next time they buy? With increasing proportions of the smart-phone markets both Apple and Google are making people more aware of their products – and training them in their ability to use them. Google launches its own OS soon, how many PC users will be swayed to a computer with Google OS or for the richer of you, OSX?

Back on topic – IE9, slated for release in 2011. Another IE – great I think, as a developer. Another browser to support, bug fix and nannify.

But

I did something silly the other day. I downloaded the IE9 platform preview (version 3) and stood back in awe. Not only does it perform well in the Acid 3 test (83/100 compared to 20/100 for IE8) which although doesn’t beat Chrome’s and Safari’s 100/100 perfect score – is a vast improvement, but it also does something magical (in the words of Steve Jobs). Take a look at the screen shots below. On the left we have Chrome, on the right we have the IE9 preview.

IE9 Asteroid DemoIE9 Fish Demo

That’s right. Google Chrome was by far the fastest JavaScript running Browser for PC and on a par with Safari. Not anymore. The new IE9 sports a new feature – background compiling of JavaScript. This fancy feature punches Chrome in the mouth and sprints away fast. A staggering 22 times faster in the fish test and immeasurably (but at least 60 times) faster in the asteroid test leaves you blown away.

This is a feature I’m definitely looking forward to!

One thing I will note though, Chrome still loaded and rendered pages faster than this IE9 preview.

Safari 5

Tuesday, June 8th, 2010

Apple released Safari 5 today but unfortunately it wasn’t quite as successful as they’d hoped. For several people running Windows (myself included) the following error appears when trying to launch it:

The procedure entry point JSValueMakeFromJSONString could not be located in the dynamic link library JavaScriptCore.dll

The procedure entry point JSValueMakeFromJSONString could not be located in the dynamic link library JavaScriptCore.dll

Thanks for that, Apple. I guess the Windows release wasn’t tested very well. Hopefully they’ll release an update to fix this issue soon. And knowing Steve, someone will lose their job and then be shot and run-over in a series of unfortunate events.

Update

To solve this issue do the following:

  • Uninstall Safari
  • Uninstall Apple Application Support
  • Delete the folder C:\Program Files (x86)\Safari
  • Delete the folder C:\Program Files (x86)\Common Files\Apple\Apple Application Support
  • Reinstall Safari

You *must* delete those folders because the installer is ‘clever’ and won’t overwrite existing files. The Uninstaller on the other hand is rubbish and leaves most of the files on your disk (hence an uninstall and reinstall without deleting the folders won’t work).