Facebook “Like” Button Proxy Error

While attempting to embed the Facebook “Like” button in this blog, I ran into the following error:

uncaught exception: Error: Permission denied for to get property Proxy.InstallTrigger

This was due to my failure to include meta information regarding the Facebook administrators of this site. For me, the simplest way was to insert this meta tag into the head, with USER_ID being my Facebook id.

<meta property="fb:admins" content="USER_ID"/>

To get my Facebook ID, I visited my Facebook profile page and copied the ID from the URL.

I also used Open Graph plugin for the wordpress portions of this site.

To set the og:url meta content I used

<meta property="og:url" content="http://pagesofinterest.net<?php echo $_SERVER['REQUEST_URI']; ?>"/>

And to make sure that Google+ properly handles the site, I added the following

<link rel="canonical" href="http://pagesofinterest.net<?php echo $_SERVER['REQUEST_URI']; ?>">
Comments (1) | Trackback

Error Configuring db46 – MacPorts

After running into problems installing flood with Macports, specifically:

Error: db46 requires the Java for Mac OS X development headers.
Error: Download the Java Developer Package from:
<https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719>
Error: Target org.macports.configure returned: missing Java headers

I had already installed this!

The solution was to create a symbolic link to the installed files, so Macports could find them:

sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers
Comments (7) | Trackback

Float:Right Nuke for IE6

Lately I’ve been spending a lot of time debugging browser issues in our site ( ECPod – Blog to a Wider Audience ). I’m not going to kid with you here: it isn’t fun. On the scale of hate, 10 being most hated, my browser table would be something like this:

IE 8 – 4 ( It’s actually not too bad, even has so-so dev tools )
IE 7 – 6 ( Bad but not godawful )
IE 6 – One million

IE 6 is so bad it’s not funny. OK so it is funny, just not when you’re the one tasked with forcing it to render a site in a way that doesn’t make me want to vomit correctly.

The point of this particular rant against IE 6 is float:right and stepdown.

WTF is that, you ask? It’s when, instead of floating an element to the horizontal right of it’s siblings, IE 6 will float it right then push it down so that its topmost edge is flush with the bottommost edge of its tallest sibling. Fail!

Below is what I like to call the float:right nuke. Like a nuke, you should only use it in two situations:

  1. you don’t have the time or patience to work out a better solution for your particular issue
  2. nothing else has worked.

Behold, the IE 6 float:right nuke:

#parentElement{
	position:relative; /* prevent #offendingElement from shooting to the top-right */
}
#offendingElement{
	float:none; /* override any non-ie specific css */
	position:absolute;
	right:0px;
	top:0px;
}

Use with caution, and don’t forget your radiation pills.

No comments | Trackback

Triple Boot XP BSOD

After installing Ubuntu yesterday I found I was no longer able to boot into Windows. After the XP splash screen it would BSOD then restart. Not wanting to waste time reinstalling XP, I had to fix it.

It turns out that Windows doesn’t like having its partition’s position changed – prior to installing Ubuntu, there were two partitions on my disk (Leopard and Bootcamp). As OS X’s Disk Utility does not support non-destructive resizing of NTFS partitions, I resized the HFS+ Leopard partition to make room for Ubuntu. This bumped Bootcamp, XP’s partition down one position on the partition map. Which made it sad.

Windows stores its position on the partition map in the ‘boot.ini’ file, located in the base directory of the Windows partition. To cheer Windows up and get it booting again, all I had to do was change two numbers in this file – basically just update the file manually, telling Windows where it should look … to help it find itself.

When researching this problem I couldn’t find more than an old forum post about it, so for the sanity of my future self ( and you ) I’m documenting the solution here.

The first code block below shows the file as it was before the change, in the state that caused the horrible BSOD at boot:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

And this block shows the file as it was after I made the necessary changes:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

All I did was change the 3‘s with 4‘s.

When the cause of a BSOD is located and fixed, the become funny again. Before the fix however:

“Windows NT crashed.
I am the Blue Screen of Death
No one hears your screams.”

From the Salon Haiku Contest.

For more hilarious BSOD information: try bsod.org.

No comments | Trackback

Java: repaint() Waking Nightmare

I wanted the little app I’m making to display a green tick or a red cross depending on whether the user had entered valid credentials. Simple? Yeah. Everything went really well, I extended a JPanel to handle the tick/cross display area (tickCross), got the POST code going, strung together the rest of the GUI elements.

The problem was that tickCross.repaint() wasn’t reliably repainting. about 30% of the time the image wouldn’t be painted. The method was being called, but nothing was happening. I tried Google, re-read the related Sun Java docs and was reminded that: “repaint() does not actually paint. It calls the peer repaint which enqueues a request in some platform-dependent way inside the native GUI for a repaint.” – MindProd. Great. My OS was deciding when I was allowed to draw.

No comments | Trackback