Thursday, July 12, 2012

Search Google using a Picture

Just found out that you can search pictures similar to a picture in Google. This is just amazing for me. Here's the search result I got after uploading a picture from my computer: Click here.

Saturday, June 23, 2012

Links with Hash Not Working on Offline Mobile Browsers

Problem: On mobile browser when opening a local file, I get a white page each time I click a link with a hash (#) on it's href attribute.

Solution: Using jQuery, I applied the following javascript code to cleanup the link's href attribute by removing the href substring starting from the hash (#) sign:
$(document).ready(function() {
Link.cleanupForMobile();
});

var Device = {
    isAndroid: function() {
        return navigator.userAgent.match(/Android/i) ? true : false;
    },
    isBlackBerry: function() {
        return navigator.userAgent.match(/BlackBerry/i) ? true : false;
    },
    isIos: function() {
        return navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
    },
    isWindows: function() {
        return navigator.userAgent.match(/IEMobile/i) ? true : false;
    },
    isMobile: function() {
        return (Device.isAndroid() || Device.isBlackBerry() || Device.isIos() || Device.isWindows());
    }
};

var Link = {
cleanupForMobile: function() {
if (Device.isMobile()) {
Link._performCleanup();
}
},
_performCleanup : function() {
$("div#contentcolumn a").each(function(i, item) {
var $item = $(item);
var href= $item.attr("href");
window.console.log(href);
var hashIndex = href.indexOf("#");
if (hashIndex > -1) {
var hash = href.substr(hashIndex);
if ($(hash).length < 1) {
$item.attr("href", href.substr(0, hashIndex));
}
}
});
}
}
Note: The code above does not cover all mobile devices - only the popular ones.

Wednesday, June 13, 2012

Git SVN - Merge Conflict During Commit

Just encountered an error while committing in Git SVN:

Merge conflict during commit: File or directory...

Too good the solution was easy:

git svn fetch
git svn rebase
#resolve files in conflict if any
git svn dcommit

The processing instruction target matching "[xX][mM][lL]" is not allowed.

Problem: Was running a jspx when the message appeared on my console log

The processing instruction target matching "[xX][mM][lL]" is not allowed.

(Easy) Solution: Just have to remove the first few empty lines of the file.

Monday, June 11, 2012

Fatal error: Maximum Execution Exceeded in PHP

Problem: Using PHP you just encountered an error similar to the following:

Fatal error: Maximum execution time of 30 seconds exceeded

Solution: Just add these line of code in your PHP file

$durationInSeconds = 60;
ini_set('max_execution_time', $durationInSeconds);

The code above gives the maximum execution time of 60 seconds for your PHP script. Just be warned that your script may hog your system if it is running a heavy process for a long time.

In case you want your script to run in an unlimited amount of time, just set zero to $durationInSeconds:

$durationInSeconds = 0;
ini_set('max_execution_time', $durationInSeconds);

Sunday, June 10, 2012

Notes Using git svn

Git is one thing and SubVersion (SVN) is another thing. Using git while working on an svn repository is yet another thing. Now here are my notes:

Go to master branch:

git checkout master

Get remote changes:

git svn fetch

Apply remote changes to master:

git svn rebase

Create new branch named dev:

git branch dev

Go to dev branch:

git checkout dev

Update dev branch from changes in master:

git rebase master dev

Update master branch from changes in dev:

git rebase dev master

Commit to svn repository:

git svn dcommit

Wednesday, June 6, 2012

How to Access Image Dimensions from MultipartFile in Java

Here's how to access image dimensions from MultipartFile:
java.awt.image.BufferedImage image = javax.imageio.ImageIO.read(new BufferedInputStream(multipartFile.getInputStream()));
System.out.println("Image height: " + image.getHeight());
System.out.println("Image width: " + image.getWidth());

Tuesday, June 5, 2012

Reset Ubuntu Panel

My Ubuntu 10.04 panel are not showing all the application icons that are currently running. It happened after an error occurred while opening my computer. Good thing the panel can be reset through the following terminal commands:

Unset all gnome settings:
gconftool --recursive-unset /apps/panel

Remove configuration files:
rm -rf ~/.gconf/apps/panel

Restart the Gnome panel:
pkill gnome-panel

Git svn in Ubuntu

It's time to familiarize more with git after working for years with SubVersion.

As my current project uses SVN, thank God git svn exists so I can practice more using git.

For future reference, here is a link for starting using git on svn repo in Ubuntu through git svn.

http://blog.coralic.nl/2010/01/15/git-svn-and-ubuntu/

Wednesday, May 16, 2012

More Emails for Testing

Problem: Email is usually used as login username. There are times when you want to test a system by using several email accounts. And you usually need a lot more than the number of your existing email accounts. Now you think of opening another account from email providers.

Solution: With gmail, you can have only one account and use it with different addresses.

Here's how:
Assuming your email is myemail@gmail.com

Emails sent to the following:
myemail+001@gmail.com
myemail+002@gmail.com
myemail+003@gmail.com
myemail+010@gmail.com
... and so on

will be all sent to myemail@gmail.com.

Got the point?
Enjoy testing...

Wednesday, May 9, 2012

How to Check for null value in FreeMarker Template

Here it is:

<#if variable??>
    not null
<#else>
    it is null or is missing
</#if>

Monday, April 30, 2012

Modify SVN Ignore List in Eclipse/STS

You can edit the ignore list of SVN in Eclipse IDE or SpringSource Tool Suite but it is not obvious in the user interface.

Here's how:

Right-click on the project
Click Team > Show Properties
Right click the row containing svn:ignore and click Modify Property

Happy Editing...

Friday, February 17, 2012

Rename Set Featured Image in Wordpress

Posts in Wordpress can have their own featured image when enabled.
Now, here's a way to modify both the 'Featured Image' title and the 'Set Featured Image' link text.

Just add the follwing code to your theme's functions.php

function customizeFeaturedImageLinkTitle( $content ) {
  return $content = str_replace( __('Set featured image'), __('Set DefaultMessage image'), $content);
}

function customizeFeaturedImageTitle($translated) {
  return str_ireplace('Featured Image', 'DefaultMessage Image', $translated);
}

add_filter('gettext','catalogph_customizeFeaturedImageTitle');
add_filter('ngettext','catalogph_customizeFeaturedImageTitle');

Tuesday, January 31, 2012

How to Disable Context Menu on jsTree

To disable the jsTree context menu, just add the following option:

"disableContextMenu" : true

Just wondering why it is so hard to find this online.