Uninstall and Remove Xcode Completely

If you are in a position where you want to remove the colossus that is Xcode, here is the terminal command to use.

sudo /Developer/Library/uninstall-devtools –mode=all

In my case, I was using migration assistant to migrate my applications and user account to a new laptop. My older laptop had an older version of Xcode that I didn’t want included in the migration and as it is so big, I didn’t want to take the chance.

Kudos to Pushkararora.com

HTML5 Data attributes in HTML and jQuery

When writing javascript, it is often necessary to include metadata in the HTML markup, to help define some element or behaviour. There are common options available. You can use hidden inputs and/or standard attributes like class or title to store this metadata. However with HTML5′s data attribute, storing and parsing this data has become a whole lot easier and cleaner.

The syntax is straightforward. Any attribute prefixed with data- will be treated as data storage.

<div class="test" data-foo="bar"></div>

jQuery accesses this data like so…

var data = $( 'div.test' ).data( 'foo' ); // returns bar

Support for the data attribute has been added since jQuery version 1.4.3. jQuery’s implementation is smart enough that it can parse the attribute easily and even determine the correct data type used.

What I have found really useful is the fact that the jQuery can parse JSON syntax and return a JSON object. This makes passing data in PHP trivial, using the json_encode method. We also need to use htmlspecialchars method to escape or convert any quotes in the JSON string.

<?php  
$test = array( 'row' => 1, 'col' => 6, 'color' => 'pink' ); //create array of data you want to pass to jquery
$test = json_encode( $test ); //convert array to a JSON string
$test = htmlspecialchars( $test, ENT_QUOTES ); //convert any quotes into HTML entities so JSON string behaves as a proper HTML attribute.
?>
<div class="test" data-complex="<?php echo $test ; ?>"></div>

The jQuery parses the JSON string like so…

var test = $( 'div.test' ).data( 'complex' ); // returns JSON Object

console.log( test.color ); // outputs pink!

Important to note that this method is also backward compatible with older browsers, so there is no excuse not to give it a go!

Mac mail not sending Gmail email

Infrequently my Mac mail would be rendered incapable of sending email.

It appears the Mac mail client could not connect to the outgoing Gmail SMTP server, smtp.gmail.com, then after a few hours the connection would be restored automatically.

I assumed that my settings must be fine as they remained constant, it must be a problem on the Gmail servers end, but it was happening too often for that to be plausible.

Continue reading

Using Terminal Screen Command

This is a simple one. For some reason, every time I use the screen command in terminal, I forget the commands.

There are probably lots of cool reasons to use screen but I use it to run a script over a longish period. The advantage of screen is I can start the script in the screen instance and detach from it. I can close my laptop and return later to my terminal, open my screen and check the progress of the script. Also, you can run multiple instances of a script as each screen has its own process.

So the basic commands I use and tend to forget are… Continue reading

Javascript library to manage Flash Local Stored Objects

In an earlier post, I explained how to use Javascript to talk to a Flash file to create and read Local stored objects, a.k.a. Flash cookies.

The only hitch I met was that I couldn’t create cross domain cookies this way as I was hitting the same domain policy. However as pointed out in the comments, it is possible, and simple too… I just needed to add… Continue reading