Notes by Dr. Xi
Displaying keyword search results 1 - 10
Created by Dr. Xi on February 06, 2012 12:14:11
Last update: February 07, 2012 15:39:35
Oracle sqlplus command line tools does not support command line editing out-of-the-box. But on Linux there's a handy utility that enables command line editing with any command line tool: rlwrap - readline wrapper.
Install rlwrap:
$ sudo apt-get install rlwrap
Create a keywords file .sql.dict (optional, but convenient):
false null true
access add as asc begin by chec...
It would be nice to add the tables names also.
Create an alias for sqlplus (put it in .bashrc ):
alias sqlplus='rlwrap -f $HOME/.sql.dict sqlplus'
Created by Dr. Xi on January 09, 2012 09:13:38
Last update: January 09, 2012 09:14:18
Unlike CVS, svn does not have a tag command, you create a new tag with copy :
$ svn copy http://svn.example.com/repos/calc/trunk...
The -r flag may be used to create a tag from an earlier revision:
-r [--revision] ARG : ARG (some commands al...
Created by Dr. Xi on November 11, 2011 10:05:22
Last update: November 11, 2011 10:12:01
This is an HTML image tag filter using Java regex. It takes a string, finds the img tags, replaces the src attribute with one provided by the filter, then adds a class name to the class attribute.
import java.util.regex.*;
import java.io.*;
...
Test file:
<div id="HTML snippet">
<img src="img/big/txt-m...
Created by Dr. Xi on July 15, 2011 09:25:15
Last update: July 15, 2011 09:25:15
Some methods to search for a substring within a string:
To know that a substring indeed exists within a string:
boolean found = wholeString.contains(substring);
To find where the substring is contained:
int index = wholeString.indexOf(substring);
If the substring is regex:
boolean match = wholeString.matches(".*" + substri...
Case insensitive match: convert both whole string and substring to lowercase, then compare. Or, use case insensitive flag for regex.
Test code:
import java.util.regex.*;
public class Stri...
Created by Dr. Xi on June 13, 2011 15:05:27
Last update: June 13, 2011 15:10:24
When you pass parameters from shell to Java, the list arguments may be messed up if there are spaces in the values.
Start with a simple Java test class:
public class EchoParams {
public static voi...
Tests:
$ java EchoParams a b c
Arg: a
Arg: b
Arg...
Now wrap the command in a shell script ( echoparams.sh ):
#!/bin/sh
java EchoParams $*
Tests:
$ ./echoparams.sh a b c
Arg: a
Arg: b
Arg...
The quotes had no effect on the parameters list.
Changing $* to $@ produces the same results.
The correct way to quote the args list is: "$@"
#!/bin/sh
java EchoParams "$@"
Test:
$ ./echoparams.sh a b "c d" "1 2 3 4 5"
Arg: a
...
Created by Dr. Xi on April 28, 2011 11:06:03
Last update: April 28, 2011 11:06:03
The Java Executor interface replaces the call new Thread(new RunnableTask()).start() with executor.execute(new RunnableTask()) . The concurrent package provides built-in utility classes to manage threads so that you don't need to worry about them.
import java.util.concurrent.TimeUnit;
import ja...
Created by Dr. Xi on April 28, 2011 08:58:03
Last update: April 28, 2011 08:58:03
The java.util.concurrent.atomic package is a small toolkit of classes that support lock-free thread-safe programming on single variables .
This is an example of a shared counter without synchronization or lock:
import java.util.concurrent.atomic.AtomicInteger;
...
Created by Dr. Xi on April 27, 2011 15:58:31
Last update: April 27, 2011 20:05:22
From JavaDoc : java.util.concurrent.locks.ReentrantLock is a reentrant mutual exclusion Lock with the same basic behavior and semantics as the implicit monitor lock accessed using synchronized methods and statements, but with extended capabilities. The extended capabilities are: tryLock() : acquire the lock if possible, otherwise immediately return false. tryLock(long timeout, TimeUnit unit) : acquire the lock within the timeout, return false after timeout. lockInterruptibly() : try to acquire the lock and enter wait state, but can be interrupted by other threads and exit waiting. The following shows how java.util.concurrent.locks.ReentrantLock can be used. Start two threads to manipulate the same counter, one incrementing, the other decrementing. Since the counter is incremented and decremented the same number of times, in the end, it should be 0. Without locking,...
Created by Dr. Xi on December 12, 2007 22:57:22
Last update: March 25, 2011 15:05:40
1. Install windows resource kit .
2. Install srvany as a service:
C:\tools\putty>instsrv ssh_tunnel "C:\Program File...
3. Edit the following registry template to suite your environment:
Windows Registry Editor Version 5.00
[H...
4. Import the registry entry.
5. Start the service with "net start ssh_tunnel" or from the services applet.
You may choose to use a batch file for srvany (instead of plink.exe ), but you won't be able to shut down the tunnel when you stop the service.
Also, if the Windows SYSTEM user cannot see the host key for SSH connection, the tunnel cannot be established.
Created by Dr. Xi on March 01, 2011 16:11:50
Last update: March 01, 2011 16:11:50
Java PrintWriter is buffered. You can turn on autoFlush, but it does'nt work for all methods.
Test code:
import java.io.*;
public class TestPrintWri...
Output:
[START] Test PrintWriter
Auto-flush only work...