Thursday, August 28, 2014

Cool Utilities for OSX Terminal

  1. open
  2. pbcopy, pbpaste
  3. mdfind
  4. screencapture
  5. launchctl
  6. say
  7. diskutil
  8. brew
Ref: http://lifehacker.com/eight-terminal-utilities-every-os-x-command-line-user-s-1593793109

Thursday, August 21, 2014

Trigger breakpoint in Javascript

To trigger breakpoint in Javascript, you can add a 'debugger' in your code. For example:

function testing() {
    alert(123);
    debugger;
    alert(456);
}

The debugger will be triggered at runtime.

Friday, August 1, 2014

Restart VirtualBox services in OSX (Useful for running genymotion in mac)


Run the following command to restart VBox in mac:

sudo /Library/StartupItems/VirtualBox/VirtualBox restart

Whenever your genymotion emulator cannot restart in macos, try this.

Wednesday, July 16, 2014

Setting Tomcat JVM in service mode

Running Tomcat (Service mode) with default Java Virtual Machine (JVM) could cause some strange problem sometimes. It's because your own development may depends on a particular VM (e.g. the HotSpot VM). In this case, you will need to specify the JVM instead of using the default one.

To do this, run the tomcat7w.exe in TOMCAT_HOME\bin\, and select the the Java tab. You will find the Java Virtual Machine option as shown below:


Wednesday, June 4, 2014

Using slapadd in OpenLDAP

A correct way to use slapadd:

/sbin> slapadd -f d:\OpenLDAP\etc\openldap\slapd.conf -l d:\data\root-unit.ldif

Note that -F d:\OpenLDAP\etc\openldap won't work, you must use the -f parameter.

Thursday, May 29, 2014

Dojo: Problem of having TabContainer inside ContentPane in IE8

In Dojo, the popular JavaScript library, we have ContentPane which allows us to put different widget into it, such as TabContainer, DataGrid, etc. They works fine in most browsers, but in IE 8, that could be a bit tricky.

Suppose we have the following code fragment:

<div id="testContentPane" 
     data-dojo-type="dijit/layout/ContentPane"" 
     style="height: 200px; overflow: auto; border: 5px blue solid;">

    testing 1 <br> testing 2 <br> testing 3 <br> 
    testing 4 <br> testing 5 <br> testing 6 <br><br>
    
    <div id="testTabContainer" 
         data-dojo-type="dijit/layout/TabContainer"
         style="width:80%; height:200px;" 
         disabled='disabled'>
         
        <div id="tabControl" 
             data-dojo-type="dijit/layout/ContentPane" 
             title="Tab" closable="false">
            Testing tab
        </div>
        
    </div>

</div>

The above code fragment is suppose to create a ContentPane and put a TabContainer into it:


Everything goes fine with IE 10, IE 9, Chrome, Firefox, but in IE 8, we have:


Look! The TabContainer just floating on top of the ContentPane. How to solve this issue?

Put CSS position: relative in the ContentPane and the issue will be fixed.

Why? Because in IE 8, the TabContainer is position:absolute. If ContentPane position CSS is not assigned, the TabContainer will leave out of it. By assigning position:relative to ContentPane, the position of TabContainer will be limited inside the ContentPane. Like this:







Thursday, March 20, 2014

Android ListView Animations

Just found a library ListViewAnimations which delivers nice animations for list items in Android.

To start an animation programatically, we may consider something like:
v.clearAnimation();
Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.slide_top_to_bottom);
v.startAnimation(animation);

Monday, March 17, 2014

Using Google Map API to access Google Earth Enterprise

Nice references for showing Google Earth Enterprise maps using the Map API:
The major thing is that we will use GFusionMap object instead of google.maps.Map object in the JavasScript. So that we can specify the GEE server definitions when we create the map object.

Monday, March 3, 2014

ArcGIS Server Cached Map Expiry Time

The tiled cached map expire time can be controlled by a variable "cacheControlMaxAge" in ArcGIS Server Administrator Directory, available starting at ArcGIS for Server (Window) 10.2.

Ref: http://resources.arcgis.com/en/help/main/10.2/index.html#//015400000577000000

The default HTTP header "max-age" is 86400 (i.e. 24 hours), which seems cannot be changed in ArcGIS Server 10.0.

For Android SDK 10.2, the map caching activities only works on the particular session. That means when the user quit the app and start it again. The previous cache will not be used.

Upgrade nodejs in conda (from v18 to v26)

If your conda env is nodejs v18, doing a conda install nodejs=26 is likely to create a lot of conflict. Consider remove those conflicting p...