Access Keys:
Skip to content (Access Key - 0)

Guy's Blog Blog from August, 2008

  2008/08/01
Making PNGs work in IE6

I've just been pointed at an awesome tool for making PNGs work better in IE6...

Unlike all other browsers, IE6 doesn't deal well with alpha transparency without the use of messy hacks (no surprise there then!) - when it renders a PNG with alpha transparency, for some silly reason it puts a solid background colour behind the image (usually a grey-ish colour).

In Theme Builder we've got various approaches to dealing with the PNG bugs in IE6. First of all, we've got a bit of JavaScript which runs after the page loads - it goes through ALL images on the page, looking for PNGs and then applies the various hacks (replacing the image source with a transparent GIF, setting it's background-image property to the original image and then applying an IE proprietary "filter" to tell it to render the PNG properly - why it doesn't do that in the first place, I have no idea - stupid IE).

Because the script can be quite slow (it's an extra file to load and JavaScript in IE is really, really slow) we also had to provide an option to turn it off. When the script is disabled, we output GIF versions of the icons instead - this means that we have to:

  • check whether the PNG hack is enabled each time an icon is displayed
  • have GIF versions of all 800+ PNG icons, almost doubling the size of the plugin (and causing installation issues as a result on some wikis with a MySQL back-end)
  • output GIFs regardless of which browser is used because it's too much pain and processing overhead to add that extra logic in to the rendering of each icon

It all adds up to a lot of pain and cruft and bloat, all because IE6 is a disaster of a browser.

However, it turns out that there are some tweaks which can be made to the PNG that make it behave like a transparent GIF in IE6.

I was first pointed (thanks Carl U!) to a little hack that allows you to at least choose what the solid background colour will be when the PNG is rendered in IE6: PNG Degradability.

From there I found a link to a command-line tool called pngquant - apparently if the PNG is saved as 8-bit, IE6 will simply ignore any pixels that have any amount of transparency - in short, the PNG will behave like a GIF image thanks to a bug (yes, another one) in IE6 but still behave as a normal PNG in all other browsers.

From there, I found a link to a graphical front end (I'm not a command-line sort of person) that makes the whole process trivially easy to apply: Manfred.

We've still got a fair bit of testing to do, but if all this works it will be awesome because:

  • We can remove 800+ GIF images from the plugin = less files for us to maintain
  • Smaller overall plugin file size (800+ GIFs smaller!) so avoiding the MySQL max-packet-size installation issue
  • Gives us headroom for adding new icons and plugin features
  • Faster plugin building due to having fewer files to package
  • When menus are set to "display as quickly as possible" we can still output PNGs and also not have to forcibly disable the PNG support script (something that's bugged us for ages)
  • Even when the PNG support script is disabled we can still output the PNG icons as they'll just act like GIFs!
  • We can use the PNG icons as background images (something that's needed for a longer-term project goal to replace the menu and pagetree with better HTML/JS) without IE-specific hacks
  • We can remove various checks from the menuicon macro, making it cleaner and faster (a benefit that scales up nicely on busy wikis)
  • The individual PNG file sizes are significantly reduced as an added bonus
  • If menus aren't set to "display as quickly as possible" and the PNG support script is enabled, the PNGs will still render in all their glory in IE6

I'm literally drooling over the prospect of being able to easily use PNG icons in IE6 without mandating vast amounts of cruft!

Posted at 01 Aug @ 2:37 AM by Guy Fraser 0 Comments
World Clock Meeting Planner

Trying to arrange a meeting with people in several countries? Check this out...

The meeting planner lets you specify where people are and then it shows a chart depicting where your timezones and normal office hours (in green) or "being awake" hours (in yellow) overlap with everyone else. A quick and easy way to plan a time that's agreeable to everyone

Posted at 01 Aug @ 2:22 PM by Guy Fraser 1 Comment
  2008/08/13
I don't use JIRA much
Labels: jira, firefox

I use it LOADS...

Wile doing the daily trawl of JIRA tickets in our [archive:Customer Support Portal] a stray mouse click resulted in the security dialog being shown in Firefox:

So that's where all my time goes!

Posted at 13 Aug @ 10:55 PM by Guy Fraser 0 Comments
  2008/08/15
Big Brother is following me on Twitter
Last Changed by Guy Fraser, Aug 15, 2008 13:48
Labels: bigbrother, espionage, government, twitter

It's a fecking good job I'm not an international terrorist...

In a sly act of counter espionage, I'm following them on Twitter too.

For anyone outside the UK wondering what "10 Downing Street" is, check out their website (OMG, the UK PM is still in Beta!).

Posted at 15 Aug @ 1:47 PM by Guy Fraser 0 Comments
  2008/08/18
Annoyed by recruitment agencies
Last Changed by Guy Fraser, Aug 18, 2008 13:17
Labels: recruitment, agencies, google, twitter, twithire, facebook, linkedin

"Just pay us 30% of their salary and we'll find you the perfect candidate..." Hrm, no, fuck off...

Preface

Like all senior members of staff at Adaptavist, I'm starting to get really pissed off with recruitment agencies.

Adaptavist has doubled in size over the past 6 months and we're still recruiting for a range of roles. In the company's history, we've only had one success with a recruitment agency so far - everyone else has been recruited directly.

The Myth

One of the big myths is that recruitment agencies are somehow better at finding candidates than employers are. This myth is reinforced by every recruitment agency you'll ever speak to:

  • "We have a dedicated team working on this"
  • "We are specialists at recruiting people with these skills"
  • "We have hundreds of candidates on file and will select the best ones for you"
  • "One of our top candidates wants to work for you and asked us to arrange a meeting"

What a load of complete and utter bollocks (wikipedia, urban dictionary).

The Reality

For the average developer role at Adaptavist, an agency will want to charge us something like £6,000 GBP (about $12,000 USD) if we take on a candidate. So what do we get for our money?

Well, despite what an agency will tell you, they all work to the same tune:

  1. Spam the role out to as many job sites, classified ads and other outlets as possible to harvest possible candidates
  2. Keyword match the CV's and email a bunch over to the employer
  3. Repeat step 2 until employer either recruits someone or dismisses the agency

Ok, some agencies do a bit more - they might have a meeting with the candidate, they might even do some psychoanalysis crap - but in a nutshell that's what you get for your £6k.

The Side Effects

Agencies cause a number of unsavoury side effects:

The employer is inundated with agencies cold calling for every job role. They really want that nice easy £6k. Should you take on an agency, you'll usually be inundated with CV's of completely inadequate candidates. This process takes up MUCH more time and effort on the part of the employer than if they'd recruited candidates directly.

If an employer takes on a candidate via an agency, their budget for that candidate is blown straight away - the £6k could have been spent on a computer, training, health insurance, etc.

Candidates are increasingly lazy - why bother looking for a job when you can just email your CV to a bunch of agencies? From an employers perspective, do you really want to hire someone who can't even be arsed to apply for a job?

Agencies focus on the higher salary candidates - more commission. Thus, any lower salary roles (junior roles, apprentices, etc.) suddenly get harder to fill via an agency. So what to employers and agencies do? They boost the salary of the lower roles to make things move more quickly. You can imagine what that results in.

One of the more worrying things is that agencies keep people on file. They don't think twice about sending job offers to that candidate you just recruited from them.

These issues are affecting entire countries!

The Alternative

What most employers don't realise is that it's actually very easy to reach out to potential candidates. And it's vastly quicker and far less costly.

If you're taking on 5 people, the agency fees actually amount to enough money to employ a 6th person. If you're worried about the amount of time it takes to recruit someone, why not employ another full-time member of staff to handle that with the money you're going to save?

When posting your job offers, make sure they are written by people who understand the job role, not HR. No offence, but HR generally don't have a clue what the job entails (just like the recruitment agency). If the job role is written by the person who understands the role most, you might not get as many responses but those you do get will be from good candidates. Also, be sure to clearly state in the advert what sort of people you don't want - save yourself and those candidates time by filtering them out prior to getting their CVs.

After posting the vacancy on your website, advertise it with Google Ads! Make sure the adverts contain "jobs" keywords - both in the keywords section and also in the text ads title. In terms of keywords, use specific technologies or frameworks that you are interested in and remember to filter the advert placement to applicable countries/regions. Also, ask your team for a list of websites that relate to the job role - see if they have google ads and add specific placements for those sites.

Next, get your team to place an advert on LinkedIn and forward to it their LinkedIn contacts. For best results, get the person with the most relevant LinkedIn contacts on the team to do this. You're all on LinkedIn, right?

Post the vacancy in your company's facebook group and get team members to share the links in their personal profiles. You've got a facebook group, right?

You should also try using Twitter to promote the vacancy via TwitHire.com. You've all got twitter accounts, right?

Get your team to publicise the vacancy in their blogs and any other social networks they may be in. You've all got blogs, right?

Finally, post the vacancy to some local or industry-specific job boards.

All of the above will take about 1 hour and in total cost around £300-500 GBP (it's worth spending money on Google and LinkedIn as they are both great ways to promote the vacancy).

Be patient! It can take a week or so before you'll start getting good candidates coming through. However don't be too patient - if it's taking too long examine your job advert and your Google adverts to see if you can refine them.

A note for job seekers

If you're looking for a job, remember that if you directly approach an employer you'll be saving them thousands of pounds - a big incentive for them to employ you.

Posted at 18 Aug @ 1:16 PM by Guy Fraser 1 Comment
Toggle Sidebar

Social Networks

Archives

  1. 2011
    1. January
  2. 2010
    1. March
  3. 2009
    1. December
    2. November
    3. October
    4. September
    5. August
    6. June
    7. May
    8. April
    9. February
  4. 2008
    1. November
    2. October
    3. September
    4. August
    5. July

Blogroll

Adaptavist Theme Builder Powered by Atlassian Confluence