Tuesday, November 29, 2011
Cynefin methods
Cynefin methods, tools, and techniques have been successfully applied in organisations to address areas such as corporate strategy, innovation, culture transformation, weak signal detection, social networking, mergers & acquisitions, knowledge management and ageing workforce. It is useful in capturing tacit knowledge.
Ref: Cynefin framework (http://www.cynefin.net)
Themes for Notepad2
There is a nice color theme called obsidian for Notepad2. But it will hide your cursor after importing it. To fix this, give a color and size to the caret in notepad2.ini. For example:
[Default Text]
...
Caret (Color, size 1-3)=fore:#FFFFFF; size:2;
...
Link to Obsidan for Notepad2
[Default Text]
...
Caret (Color, size 1-3)=fore:#FFFFFF; size:2;
...
Link to Obsidan for Notepad2
Some options for Tomcat 6
Not much options found, but I drop down the useful ones for reference. Note that those options should be assigned to the CATALINA_OPTS. Actually, you may put them in catalina.bat.
- Startup memory size
-Xms256m
- Maximum memory size
-Xmx256m
- Garbage collection path
-Xloggc:/gc.log
- Disable DNS caching
-Dsun.net.inetaddr.ttl=0
- Skip quote escape checking (If you have tag like this <mytags:tag value="<%= "hi!" %>" /> , which is validate in Tomcat 5 before. In Tomcat 6, you may need to turn on the following option to prevent running into error. Ref: http://www.andowson.com/posts/list/346.page)
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPE=false
- Turn on JMX remote
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9004
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
- Set default Tomcat language / locale to English
-Duser.language=en
Monday, November 28, 2011
To measure a string length in pixel using Javascript
One may make use of Span.offsetWidth to measure the length of a string in Javascript environment, consider the following example:
<html>
<body>
<select id="select1" style="width:100px;" onchange="checkStringWidth()">
<option value="1">abcde abcde abcde abcde abcde</option>
<option value="2">abcde abcde abcde abcde</option>
</select>
<br>
Selected option: <span id="span1"></span>
<br>
Text width: <span id="lbWidth"></span>
</body>
</html>
<script>
function checkStringWidth() {
var select1 = document.getElementById('select1');
var span1 = document.getElementById('span1');
var lbWidth = document.getElementById('lbWidth');
span1.innerHTML = select1.options[select1.selectedIndex].text;
lbWidth.innerHTML = span1.offsetWidth;
}
</script>
<html>
<body>
<select id="select1" style="width:100px;" onchange="checkStringWidth()">
<option value="1">abcde abcde abcde abcde abcde</option>
<option value="2">abcde abcde abcde abcde</option>
</select>
<br>
Selected option: <span id="span1"></span>
<br>
Text width: <span id="lbWidth"></span>
</body>
</html>
<script>
function checkStringWidth() {
var select1 = document.getElementById('select1');
var span1 = document.getElementById('span1');
var lbWidth = document.getElementById('lbWidth');
span1.innerHTML = select1.options[select1.selectedIndex].text;
lbWidth.innerHTML = span1.offsetWidth;
}
</script>
Saturday, November 26, 2011
Just played around with Greasemonkey
I'm not a javascript expert, but just played around using js in greasemonkey, quite funny.
var allTRs, thisTR;
allTRs = document.getElementsByTagName('SPAN');
for (var i = 0; i < allTRs.length; i++) {
thisTR = allTRs[i];
if (thisTR.getAttribute("class") == "btblue") {
//myTBODY = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
myTR = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
myTD = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
if (myTR.nodeName == "TR") {
//myTR.removeChild(myTD);
//myTR.removeChild(myTR.lastChild);
myTR.removeChild(myTD);
}
//myTBODY.removeChild(myTR);
}
}
// ==UserScript==
// @name FilterGuruEntry
// @description Filter Guru Entry
// @include http://www.guru.com/pro/search_results.cfm*
// ==/UserScript==
var allTRs, thisTR;
allTRs = document.getElementsByTagName('SPAN');
for (var i = 0; i < allTRs.length; i++) {
thisTR = allTRs[i];
if (thisTR.getAttribute("class") == "btblue") {
//myTBODY = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
myTR = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
myTD = thisTR.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
if (myTR.nodeName == "TR") {
//myTR.removeChild(myTD);
//myTR.removeChild(myTR.lastChild);
myTR.removeChild(myTD);
}
//myTBODY.removeChild(myTR);
}
}
Friday, November 25, 2011
To run portable Chrome using chrome.exe in \App\Chrome-bin
For portable Chrome, if you execute the \App\Chrome-bin\chrome.exe directly, you may not able to start Chrome and having a file "debug.log" stating that Chrome "Could not get Chrome DLL version.".
To handle this issue, you need to do the following:
For example:
Some more parameters for reference:
To handle this issue, you need to do the following:
- Copy the chrome.exe to \App\Chrome-bin\15.0.874.120\ (depends on the Chrome version) and use the chrome.exe in this path instead
- Specify the --User-Data-Dir and --Enable-Extension parameters
For example:
- chrome.exe --User-Data-Dir="D:\ChromePortable\Data\profile" --Enable-Extensions
Some more parameters for reference:
- Private browsing mode:
--incognito
- Read local files (e.g. local XML, XSL, etc):
--allow-file-access-from-files
Thursday, November 24, 2011
Using Expression Language (EL) in JSP
To use EL in JSP, a page directive has to be specified:
<%@ page isELIgnored="false" %>
Then you can use EL in the JSP, e.g.:
<logic:iterate id="var" name="sampleForm" property="list" indexId="index">
<p>${var.id}</p>
<logic:equal name="var"
property="foo"
value="${sampleForm.list[index+1].foo}">
Value is same as next entry.
</logic:equal>
</logic:iterate>
<%@ page isELIgnored="false" %>
Then you can use EL in the JSP, e.g.:
<logic:iterate id="var" name="sampleForm" property="list" indexId="index">
<p>${var.id}</p>
<logic:equal name="var"
property="foo"
value="${sampleForm.list[index+1].foo}">
Value is same as next entry.
</logic:equal>
</logic:iterate>
Wednesday, November 23, 2011
Getting Action Mapping in JSP
One can use "org.apache.struts.action.mapping.instance" to get the action mapping in JSP:
import org.apache.struts.config.ActionConfig;
ActionConfig mapping = (ActionConfig)request.getAttribute("org.apache.struts.action.mapping.instance");
Form name will be mapping.getName()
import org.apache.struts.config.ActionConfig;
ActionConfig mapping = (ActionConfig)request.getAttribute("org.apache.struts.action.mapping.instance");
Form name will be mapping.getName()
Friday, November 18, 2011
To activate a window using VBS
set oShell = WScript.CreateObject("WScript.Shell")
call oShell.AppActivate(<Window's Title>)
call oShell.AppActivate(<Window's Title>)
Tuesday, November 15, 2011
Copy files from tsclient
For example:
xcopy \\TSCLIENT\F\$Update\ *.* "C:\Documents and Settings\%USERNAME%\My Documents\" /s /v /f
xcopy \\TSCLIENT\F\$Update\ *.* "C:\Documents and Settings\%USERNAME%\My Documents\" /s /v /f
Monday, November 14, 2011
Enable/Disable network interface via command line
c:\> netsh interface set interface "INTERFACE_NAME" enable
OR
c:\> netsh interface set interface "INTERFACE_NAME"disable
OR
c:\> netsh interface set interface "INTERFACE_NAME"disable
Wednesday, November 2, 2011
Debug mode in Eclipse and Tomcat
For Tomcat:
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
catalina.bat jpda start
For Eclipse:
Set Connection Port (8000) and Connection Host (localhost) in "Run > Debug Configurations"
Configuration Type: "Remote Java Application"
Set connection port to "8000"
Set connection host to "localhost"
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
catalina.bat jpda start
For Eclipse:
Set Connection Port (8000) and Connection Host (localhost) in "Run > Debug Configurations"
Configuration Type: "Remote Java Application"
Set connection port to "8000"
Set connection host to "localhost"
Subscribe to:
Posts (Atom)
Sync multiple git repo at once
Use the following command in Linux will do the job: ls -d RepoNames* | xargs -I{} git -C {} pull
-
When Office2003 couldn't find file SKU011.CAB: regedit -> [HKEY_LOCAL_MACHINE] -> [SOFTWARE] -> [Microsoft] -> [Office] -&...
-
The resolution can be changed by editing the BlueStack's registry: HKLM\SOFTWARE\BlueStacks\Guests\Android\FrameBuffer\0\Height and ...
-
To count the number lines of files / stdout in Linux, we uses "wc -l" to achieve. In Windows, we use the following instead: find...