Search This Blog

2012-03-30

OLED primer

2012-03-22

perl famous oneliners cheat sheet

# File:PerlOneLiners.sh v.1.1.0 
perl -p -i -e 's/oldstring/newstring/g'
 
# 1. in-place edit of *.c files changing all foo to bar
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
 
# 2. delete first 10 lines
perl -i.old -ne 'print unless 1 .. 10' foo.txt
 
# 3. change all the isolated oldvar occurrences to newvar
perl -i.old -pe 's{\boldvar\b}{newvar}g' *.[chy]
 
# 4. increment all numbers found in these files
perl -i.tiny -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 ....
 
# 5. delete all but lines between START and END
perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt
 
# 6. binary edit (careful!)
perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape
 
 
# 1. command-line that reverses the whole input by lines
#    (printing each line in reverse order)
perl -e 'print reverse <>' file1 file2 file3 ....
 
# 2. command-line that shows each line with its characters backwards
perl -nle 'print scalar reverse $_' file1 file2 file3 ....
 
# 3. find palindromes in the /usr/dict/words dictionary file
perl -lne '$_ = lc $_; print if $_ eq reverse' /usr/dict/words
 
# 4. command-line that reverses all the bytes in a file
perl -0777e 'print scalar reverse <>' f1 f2 f3 ...
 
# 5. command-line that reverses each paragraph in the file but prints
#    them in order
perl -00 -e 'print reverse <>' file1 file2 file3 ....
 
# run contents of "my_file" as a program
perl my_file
 
# run debugger "stand-alone"
perl -d -e 42
 
# run program, but with warnings
perl -w my_file
 
# run program under debugger
perl -d my_file
 
# just check syntax, with warnings
perl -wc my_file
 
# useful at end of "find foo -print"
perl -nle unlink
 
# simplest one-liner program
perl -e 'print "hello world!\n"'
 
# add first and penultimate columns
perl -lane 'print $F[0] + $F[-2]'
 
# just lines 15 to 17
perl -ne 'print if 15 .. 17' *.pod
 
# in-place edit of *.c files changing all foo to bar
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
 
# command-line that prints the first 50 lines (cheaply) 
perl -pe 'exit if $. > 50' f1 f2 f3 ...
 
# delete first 10 lines
perl -i.old -ne 'print unless 1 .. 10' foo.txt
 
# change all the isolated oldvar occurrences to newvar
perl -i.old -pe 's{\boldvar\b}{newvar}g' *.[chy]
 
# command-line that reverses the whole file by lines
perl -e 'print reverse <>' file1 file2 file3 ....
 
# find palindromes
perl -lne 'print if $_ eq reverse' /usr/dict/words
 
# command-line that reverse all the bytes in a file
perl -0777e 'print scalar reverse <>' f1 f2 f3 ...
 
# command-line that reverses the whole file by paragraphs
perl -00 -e 'print reverse <>' file1 file2 file3 ....
 
# increment all numbers found in these files
perl i.tiny -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 ....
 
# command-line that shows each line with its characters backwards
perl -nle 'print scalar reverse $_' file1 file2 file3 ....
 
# delete all but lines between START and END
perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt
 
# binary edit (careful!)
perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape
 
# look for dup words
perl -0777 -ne 'print "$.: doubled $_\n" while /\b(\w+)\b\s+\b\1\b/gi'
 
# command-line that prints the last 50 lines (expensively)
perl -e '@lines = <>; print @lines[ $#lines .. $#lines-50' f1 f2 f3 ...
 
# find /cygdrive/c/Temp/nmo/nmo.1.2.0.prod.ysg -type f | xargs perl -pi -e 's/\r\n/\n/g'
# find /cygdrive/c/Temp/nmo/nmo.1.2.0.prod.ysg -type f -name '*.bak' | xargs rm -f
 
# how-to sort files based on a number sequence in their file names
# list dir files , grap a number from their names , print with NumberFileName, sort , print finally the names without the Number but sorted 
ls -1 | perl -ne 'm/(\d{8})/; print $1 . $_ ;' | sort -nr | perl -ne 's/(\d{8)//;print $_'
 
# how-to remove all blank lines 
perl -ne 'print unless /^$/'
 
# how-to number all lines in a file
cat tmp.txt | perl -pe '$_ = "$. $_"'
 
#how-to print the numbers from 1 till 20 on each line 
perl -le 'print join "\n", (1..20)'
 
#how-to create a file with standar row length
cat tmp.txt | perl -ne 'chomp($_); print $_ . " " . "a"x(50-length($_)) . "\n"'
 
# how-to convert a list of numeric ASCII values into a string
perl -le '@ascii = (7, 111, 100, 105, 110, 103); print pack("C*", @ascii)'
 
# how-to print the Unix time
# Print UNIX time (seconds since Jan 1, 1970, 00:00:00 UTC)
perl -le 'print time'
 
# how-to convert all text to uppercase
perl -nle 'print uc'
perl -ple '$_=uc'
perl -nle 'print "\U$_"'
 
# how-to convert all text to lowercase
perl -nle 'print lc'
perl -ple '$_=lc'
perl -nle 'print "\L$_"'
 
# Camel case each line
perl -ple 's/(\w+)/\u$1/g'
perl -ple 's/(?<!['])(\w+)/\u\1/g'
 
#'
# Strip leading whitespace (spaces, tabs) from the beginning of each line
perl -ple 's/^[ \t]+//'
perl -ple 's/^\s+//'
 
# Strip trailing whitespace (space, tabs) from the end of each line
perl -ple 's/[ \t]+$//'
 
# Strip whitespace from the beginning and end of each line
perl -ple 's/^[ \t]+|[ \t]+$//g'
 
# Convert UNIX newlines to DOS/Windows newlines
perl -pe 's|\n|\r\n|'
 
# Purpose:
# to provide a cheat sheet for famous perl one liners
# VersionHistory: 
# 1.1.0 --- added famous perl one liners 
# 1.0.0 --- Initial creation
# sources:
# http://www.catonmat.net/blog/perl-one-liners-explained-part-one/
 

2012-03-19

a sh bash stub for HP-UX

#!/bin/bash
# File: sh_stub.sh v.1.1.0 docs at the end 
umask 000 ; 
# echo all the commands 
set -x
#exit on single error
set -e 
 
 
# Read the IniFile, which is host dependant and set the variables
# report the set variables 
setVars(){
        MyDir=`dirname $0`
        Tmp="$MyDir/tmp/tmp.$$"
        mkdir -p $Tmp                #create the tmp dir if it does not exist 
        set  >$Tmp/variables.before 
        MyName=`basename $0`
        IniFile="$MyDir/$MyName.`hostname`.conf"
        IniSection=MainSection
        LogFile="$MyDir/$MyName.log"
        # get the machine / host specific configuration 
        parseIniFile
        #source $0
        set > $Tmp/variables.after
        wlog " Using the following vars :"
        cmd="comm -13 $Tmp/variables.before $Tmp/variables.after"
        runCmdAndLog $cmd
        rm -f $Tmp/variables.before $Tmp/variables.after
        rm -f $Tmp/variables.before $Tmp/variables.before    
}
#eof function setVars
 
# parse the host dependant ini file
parseIniFile(){
    eval `sed -e 's/[[:space:]]*\=[[:space:]]*/=/g' \
        -e 's/;.*$//' \
        -e 's/[[:space:]]*$//' \
        -e 's/^[[:space:]]*//' \
        -e "s/^\(.*\)=\([^\"']*\)$/\1=\"\2\"/" \
       < $IniFile \
        | sed -n -e "/^\[$IniSection\]/,/^\s*\[/{/^[^;].*\=.*/p;}"`
}
#eof function parseIniFile
 
# call by runCmdAndLog $cmd
runCmdAndLog(){
                cmd="$*" ; 
                wlog "running cmd : \"$cmd\""
                Msg=$($cmd 2>&1)
                [ $? -eq 0 ]  || wlog "ERROR : Failed to run the following command \"$cmd\" with the following output \"$Msg\" !!!"
                wlog " DEBUG : cmdoutput : \"$Msg\""
}
#eof function runCmdAndLog
 
 
#call by runCmdOrExit $cmd
runCmdOrExit(){
                cmd="$*" ; 
                wlog "running cmd : \"$cmd\""
                Msg=$($cmd 2>&1)
                # if error occured during the execution exit with error
                [ $? -eq 0 ] || Exit "ERROR : FATAL : Failed to run the following command \"$cmd\" with the following output \"$Msg\" !!!"
                #if no error occured just log the message
                wlog " DEBUG : cmdoutput : \"$Msg\""
}
#eof function runCmdOrExit
 
# echo passed params and print them to a log file
wlog(){
        # check terminal if exists echo 
        test -t 1 && echo "`date +%Y.%m.%d-%H:%M:%S` [$$] $*"
        # check LogFile and 
        test -z $LogFile || {
          echo "`date +%Y.%m.%d-%H:%M:%S` [$$] $*" >> $LogFile
        } #eof test
 } 
# eof function wlog 
 
 
# exit with passed status and message
Exit(){
        ExitStatus=0
        case $1 in
            [0-9]) ExitStatus="$1"; shift 1;;
    esac
        Msg="$*"
        test "$ExitStatus" = "0" || Msg="ERROR: $Msg"
        wlog "$Msg"
        exit $ExitStatus
}
#eof function Exit
 
# copy this function in order to implement your own logic
exampleFunc(){
echo "This is example function"
wlog "calling exampleFunc"
}
#eof exampleFunc
 
# the main function called 
main(){
    setVars
    exampleFunc
}
#eof function main
 
# Action !!!
main
 
# Purpose:
# To provide an easy starting template for writing bash and sh scripts
# having the following features: 
# - prints the set in the script variables
# - separation of host specific vars into $0.`hostname`.conf file
# - wlog function for both xterm and log file printing
# Tested on HP-UX
# VersionHistory:
# 1.1.0 --- adapted to HP-UX
# 1.0.0 --- initial version for cygwin
# EOF File:sh_stub.sh

now how cool is that

 -- File: NetezzaCheatSheet.sql docs at the end 
 
-- how-to create a database 
CREATE DATABASE DatabaseName
;
-- how-to rename a database 
ALTER DATABASE OldDatabaseName RENAME TO NewDatabaseName 
;
-- how-to create a synomim 
CREATE SYNONYM synonym_name FOR DatabaseName.SchemaName.TableName 
;
-- how-to create a table 
CREATE TABLE ExampleTableName (
   ColVarchar varchar(80)     -- a column of the type Varchar
 , ColInt int                                 -- a column of int type
 , ColDate date                      -- a column of the type date
)
;
-- how-to insert data from non-current db to current db table
INSERT INTO TableName SELECT * FROM DatabaseName..TableName
;
-- how-to drop a table 
DROP TABLE DatabaseName..TableName 
; 
-- how-to change the ownership of a table 
ALTER TABLE TableName OWNER TO NewOwner 
;
-- how-to perform a simple select 
SELECT * FROM TableName 
WHERE 
AND 1=1 
AND WhereColumnName = 'WhereCondition' 
AND GreaterThanColumnName > 0.0
ORDER BY WhereColumnName
;
-- how-to delete from table 
DELETE FROM TableNameToDeleteFrom 
WHERE FilterColumnName = 'FilterValue'
;
-- how-to call a stored procedure 
CALL ProcName ; 
EXEC ProcName ; 
EXECUTE ProcName ; 
 
-- example stored procedure 
CREATE OR REPLACE PROCEDURE ProcName() 
RETURNS INT4 LANGUAGE NZPLSQL AS
BEGIN_PROC
  DECLARE
    StrVar varchar;
  BEGIN
    StrVar := 'This string is quoted';
  END;
END_PROC
; --END PROC
 
-- a single line comment
/*
a multi-line comment
*/
 
-- example proc with parameters
CREATE OR REPLACE PROCEDURE ProcName (int, varchar(ANY)) RETURNS int
LANGUAGE NZPLSQL AS
BEGIN_PROC
  DECLARE
    pId ALIAS FOR $1;
    pName ALIAS FOR $2;
  BEGIN
    INSERT INTO t1 SELECT * FROM t2 WHERE id = pId;
  END; 
END_PROC 
; 
 
-- Control structure
IF movies.genre = 'd' THEN
  film_genre := 'drama';
ELSIF movies.genre = 'c' THEN
  film_genre := 'comedy';
ELSIF movies.genre = 'a' THEN
  film_genre := 'action';
ELSIF movies.genre = 'n' THEN
  film_genre := 'narrative';
ELSE
-- An uncategorized genre form has been requested.
film_genre := 'Uncategorized';
END IF;
 
-- how-to list all stored procedures 
SHOW PROCEDURE ALL 
; 
 
-- how-to document a stored procedure
COMMENT ON PROCEDURE customer() IS 'Author: bsmith
Version: 1.0 Description: A procedure that writes a customer name to
the database log file.';
 
-- how-to convert date str into nzdate
select  to_date(substring(20090731 from 1 for 8),'YYYYMMDD') as NZDATE
 
-- select top 
select a.* from some_schema.some_table a limit 10
 
-- START how to remove duplicates =================================
CREATE TABLE TmpTableDuplicates as
    SELECT col11,col2,col3 from DuplicatesContainingTable 
    where FilterCol = 'FilterValue'
    group by 1,2,3
; 
DELETE FROM DuplicatesContainingTable where FilterCol = 'FilterValue'
; 
INSERT INTO Source_table select * from TmpTableDuplicates
; 
DROP TABLE TmpTableDuplicates
; 
-- STOP how to remove duplicates =================================
 
 
-- Query to get a list of views and thier definitions in a database:
SELECT VIEWNAME,OWNER,CREATEDATE,DEFINITION FROM _V_VIEW WHERE OBJTYPE='VIEW';
 
-- Query to get a list of tables in a database:
SELECT TABLENAME,OWNER,CREATEDATE FROM _V_TABLE WHERE OBJTYPE='TABLE';
 
-- Query to get a list of columns from a table or a view:
SELECT ATTNUM,ATTNAME FROM _V_RELATION_COLUMN WHERE NAME=UPPER('<TABLE NAME>')
 ORDER BY ATTNUM ASC;
 
-- Query to get list of user groups on the box:
SELECT GROUPNAME,OWNER,CREATEDATE,ROWLIMIT,SESSIONTIMEOUT,
 QUERYTIMEOUT,DEF_PRIORITY,MAX_PRIORITY FROM _V_GROUP;
 
-- Query to get list of users and the groups they are in, on the box:
 SELECT GROUPNAME,OWNER,USERNAME FROM _V_GROUPUSERS;
-- (Does not give any LDAP users in this query)
 
--Query to find the number of rows in a table without actually querying the table:
-- (Sometimes needed for some really huge tables of rowcount > 80 Billion)
 
SELECT RELNAME TABLE_NAME,
 CASE
 WHEN RELTUPLES < 0
 THEN ((2^32) * RELREFS) + ((2^32) + RELTUPLES )
 ELSE ((2^32) * RELREFS) + ( RELTUPLES )
 END NUM_ROWS
 FROM
 _T_CLASS,
 _T_OBJECT
 WHERE
 _T_OBJECT.OBJID=_T_CLASS.OID AND
 _T_OBJECT.OBJCLASS=4905 — DISPLAY ONLY TABLES
 AND RELNAME = UPPER('<TABLE NAME>');
 
--Query to check if any of the SPU's are running slower than the rest:
--  (This actually gives the read-write speed of each SPU that is online)
 
SELECT HWID, BYTE_COUNT/TOTAL_MSEC
 FROM
 _VT_DISK_TIMING
 ORDER BY 2;
 
--- One more query.. To get the list of tables and thier skew and size:
 SELECT TABLENAME,OBJTYPE,OWNER,CREATEDATE,USED_BYTES,SKEW
 FROM _V_TABLE_ONLY_STORAGE_STAT
 WHERE OBJCLASS = 4905 OR OBJCLASS = 4911
 ORDER BY TABLENAME;
 
-- Use \dt in nzsql session to get the list tables
/*
\dv to get list of views
 \dmv - list of materialized views
 \l - list of databases
 \dg - list of groups
 \du - list of users
 \dpu - permissions set to a user
 \dT - list of datatypes
 \d <tablename> - describes the table
 \act - show current active sessions
 \d - describe table(or view,sequence)
 \dt , \dv , \ds , \de - list tables,views,sequences,temp tables
 \dSt , \dSv - list system tables and views
 \df - list functions
 \l - list databases
 \dT - list data types
 \du - list users
 \dg - list groups
 \dpu - list permissions granted to a user
 \dpg - list permissions granged to a group
*/
 
-- Purpose:
-- To provide a simple cheat sheet for netezza 
-- VersionHistory
-- 1.1.0 --- ysg --- added duplicates removal , date conversion
-- 1.0.0 --- ysg --- Initial creation

2012-03-17

Linux , Unix cheet

# File:NixCheatSheet.sh v.1.4.0 docs at the end 
 
# how-to get a nice prompt on HP-UX
clear;export PS1=$USER'@'`hostname`:$PWD:`echo ``date +%Y.%m.%d-%H:%M:%S`` `:`echo  "\n" $ " "`; clear;
 
 
# who , where and when
uname -a ;
id;
date +%Y.%m.%d-%H:%M:%S;
# all env vars starting with _
env | grep -e "^_"
 
 
ls -lt --time-style=long-iso 
ls -alt --time-style=long-iso
 
# search and replace , find and replace in files 
find `pwd` -type f | xargs perl -pi -e 's/search/replace/g' ; find `pwd` -type f -name '*.bak' | xargs rm -f
 
# http://www.gnu.org/software/findutils/manual/html_mono/find.html
# The ultimate "find in files"
find /etc/httpd/ -type f -print0 | xargs --null grep -nHP 'StartServers\s+\d' | less
 
 
find / -name '*bash*' -exec grep -nHP '*APerlRegex*' {} \;
 
#  or even faster , be aware of funny file names xargs -0
find / -name '*bak' -print0 | xargs --null grep -nPH 'curl'
 
# find and replace recursively
find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/foo/bar/g'
 
# find all the files greather than 100 MB , sort them by the size and print their sizes 
find / -type f -size +100M -exec du -B M {} \; | sort -r | less 
 
# disk usage of users under the /home directory in MB
clear;du -all -m --max-depth=3 /home | sort -n -r | less
 
# where I have been lately ?
history | grep cd
 
# what I have opening recently 
history | grep vi
 
#send my history 
history | mailx -s "my history" $MyEmail
tcpdump dst 10.168.28.22 and tcp port 22
tcpdump dst 172.21.212.212 
 
 
# record the current session via script
mkdir ~/scriptlogs
script -a ~/scriptlogs/`date +%Y%m%d%H%M%S`_script.log
  
#/usr/bin is for normal user executables, /usr/sbin is for superuser executables, /usr/sfw is for external software (like gnu one), but provided with bundle of OS, /usr/ccs is for development utilities, usually not need for daily tasks like make, lex, yacc, sccs
 
# take the last 5 commands for faster execution to the temp execution script
tail -n 5 /root/.bash_history >> /var/run.sh
 
# I saw the command cd /to/some/suching/dir/which/was/very/long/to/type
echo so I redid it and saved my fingers
!345
 
 
 
history | mail -s "test file sending" -c mail1@com yordan.georgiev(boom)gmail.com
 
# remove all trealing spaces from the history file works for TextPad
 
^([ ]*)([0-9]*)(.*)$
 
\3 --- replace with the pure commands
 
history | gawk -F1 'BEGIN {FS=" "};{print $2 , $3}' | less
 
# display the history oldest commands first withouth the line numbers ...
history | sort -nr | perl -i -pe 's/^([ ]*)([0-9]*)(.*)$/$3/gi'
 
vi fileName anotherFile
 
# how to deal with command outputs
command | filtercommand > command_output.txt 2>errors_from_command.txt
 
# Hint after the less filter pressing s will prompt you for saving the
output to a file ...
 
 
#  find the files having os somewhere in their names and only those having linux
find . -name '*os*' | grep linux | less
 
# find all xml type of files and display only the rows having wordToFindInRow
find . -name '*.xml' -exec cat {} \;| grep wordToFindInRow | less
 
 
# putty , bash shortcuts 
Ctrl + A --- Go to the beginning of the line you are currently typing on
Ctrl + E --- Go to the end of the line you are currently typing on
 
# how-to mount an usb stick
# remember to change the path other wise you will get the device is busy errror
 
mkdir /mnt/usbflash
mount /dev/sdb1 -t vfat /mnt/usbflash
 
umount /mnt/usbflash
 
 
head -n 20 tooLongFile -- display the first 20 lines of the file
 
 
# get a nice prompt 
PS1="\u@\h \t \w\n\\$ "
 
# how to restart a process initiated at startup
/etc/rc.d/init.d/sendmail start | stop | status | restart
 
# see all the rules associated with the firewall
 
iptables -L -v
 
gunzip *file.zip
 
 
To access the server download winscp.exe:
 
# start winscp with a stored session from Win box 
cmd /c start /max winscp oracle@192.168.255.12
 
# To start remote session click on the putty screen , configure putty
settings to pull full screen with alt + Enter
 
# right click on the title bar , settings , change the font , copy
paste from and to the terminal window text
 
# how to ensure the sshd daemon is running
ps -ef | grep sshd
 
 
# User and group management
useradd -p winscppass -r winscp -d /home/winscp --- to add a user with
specifig home directory name and pass
 
luserdel winscp --- delete the user
 
gpasswd: administer the /etc/group file
groupadd: Create a new group
groupmod: Modify a group
groupdel: Delete a new group
 
#useradd: Create a new user or update default new user information
#usermod: Modify a user account
#userdel: Delete a user account and related files
 
 
# how to kill process interactively
killall -v -i sshd
 
 
# the most efficent way to search your history is to hit Ctrl R and
type the start of the command. It will autocomplete as soon as there’s
a match to a history entry, then you just hit enter. If you want to
complete the command (add to it ) use the right arrow to
escape from the quick search box ...
 
#How to install Perl modules
gzip -dc yourmodule.tar.gz | tar -xof -
# create the make file
perl Makefile.PL
# test
make test
# install 
make install
 
#How to see better which file were opened , which directories were visited
 
type always the fullpath after the vi - use the $PWD env variable to
open files in the current directory , thus after opening the file
after:
 
vi /$PWD , press tab to complete the name of the current directory ,
type the name of the file
 
 
thus after
 
history | grep vi
 
 
 
the full list of opened files is viwed .
 
of course the same could be seen from the /home/username/.viinfo file /files
 
#where to set the colors for the terminal (if you are lucky to have one
with colors ; )
 
/etc/DIR_COLORS
 
open a file containing "sh" in its name bellow the "/usr/lib" directory
 
:r !find /usr/lib -name *sh*
 
go over the file and gf
 
uname -a --- which version of Linux I am using
 
rmp -dev --- show all installed packages
 
passwd [username] --- change the password for the specified user (own password)
 
 
 
How to copy paste text in the putty window from client to server -
 
click the right button of your pointing device
 
How to copy paste text from the putty window from server to client -
right-click the window title and select copy all to Clipboard.
 
#To restart a service
service sshd restart
#  
service --status-all --- show the status of all services
 
 
# change the owneership of the directory
chown -R userName:GroupName DirPath
 
# perform action recursively on a set of files
 
find . -name '*.pl' -exec perl -wc {} \;
 
 
for file in `find . -type f`;do echo cp $file ../backups/; done;
 
# make Bash append rather than overwrite the history on disk:
shopt -s histappend
 
# henever displaying the prompt, write the previous line to disk:
PROMPT_COMMMOR='history -a'
 
gpm -- general "cut and paste" server
 
 
sh ScriptWithALotOfErrorMessages.sh | tee -a whereToSaveIt.log
 
# run first the following command
script -a The_Log_File_To_Append_as_well_as_display_diagnostig_messages.log
 
# than run the script
 
 
 
sh ScriptWithALotOfErrorMessages.sh
#how-to replace single char in file
tr '\t' ',' < FileWithTabs > fileWithCommas
 
df -k --- disk usage
 
# Allow access to the box from only one ip address
 
IPTables=/sbin/iptables
$ IPTables -A INPUT -s <Insert other Origin ip here> -p tcp
--source-port xxx -j ACCEPT
$ IPTables -A OUTPUT -d < Insert other Origin ip here > -p tcp
--destination-port xxx-j ACCEPT
 
# has the root logged in over an unencrypted network ?
 
# next_line_is_templatized
#  last | grep “^root “ | egrep –v “reboot|console” | morphus
 
 
 
# start command in the background
command1 &
 
# start another one
command2 &
 
# bring the command in the foreground
fg %1
 
# create a backup file based on the timestamp on bash
 
cp fileName.ext fileName.ext.`date +%Y%m%d%H%M%S`.bak
 
 
 
 
Unix commands:
 
FIX broken lines:
 
$ cat output.txt
a:b:c:1:2:3:2.3:henry
s:d:e:2:1:4:
54:user5
d:q:w:5:6:
3:5.2:alex
y:m:n:3:4:1:5.6:eiam
 
Output Required:
----------------
a:b:c:1:2:3:2.3:henry
s:d:e:2:1:4:54:user5
d:q:w:5:6:3:5.2:alex
y:m:n:3:4:1:5.6:eiam
 
 
$ awk '
BEGIN {
FS=":";
maxFLD=8;
}
{
while (NF < maxFLD || $0 ~ /\:$/ ) {
getline record;
$0 = $0 record
}
print $0
}
' file_name
 
Live example: 
2009-07-10 13:51:31.939439|2009-07-10|2|1.1.6401.0.614513|0570817|1|-3||production|2.0.0|Series60|V 11.0.021|11.0.021.01.01|11.0.021.C01.01|244|05|862e-d2ac-4f03-9cbb|xmldatabinding 5.0|Xmldatabinding 5.0 for N-Gage
|x-epoc/x-sisx-app|0|4|1|3|0x101f978e|1.0.6|Company|N97|Country_variants_of_UK_Ireland
--------------------------------------------------------------------------------------------------------------------------------------
$ awk 'BEGIN {FS="|";maxFLD=30;}{while (NF < maxFLD || $0 ~ /\:$/ ) {getline record;$0 = $0 record} print $0}' file_name
---------------------------------------------------------------------------------------------------------------------------------------
 
 
Display lines which starts with “|”:
 
- $ Grep ‘^|’ file_name
 
 
Paste = shift + insert
Copy = ctrl + insert
 
df  -h ***
 
id -u
 
ls –lrt
 
ps -ef
 
#unpack a file 
tar xvf “filename”
 
#on hp-ux
gzip -cd FileName.tar.gz | tar -xvf -
 
 
fg  (can be used to return to stopped window/process)
 
w (logged in users, idle or not?)
who (logged on users, from where)
who -r (show runlevel)
 
wc filename (lines, words, characters)
 
 
# print line number 52
sed -n '52p' # method 1
sed '52!d' # method 2
sed '52q;d' # method 3, efficient on large files
 
Remove/replace hex values from a file:
perl -i.bak -pe 's/(\xEF)(\xBF)(\xBD)/???/g' music_player_track.txt
 
Add user: useradd –u uid (esim. 2600)  –c ‘description’ –d /homedir/ -g group –m –s /bin/bash username
Change passwd: passwd username
 
Example:
 
useradd -u 10302011 -c "FirstName LastName, DeparmentName, firstname.lastname@company.com" -m -d /export/home/firstlast -s /bin/bash firstlast
 
passwd -f login = forces to change password when logging in for the first time
 
 
#Ei saa näyttää yhtään vastausta:
passwd -s -a | grep NP (=No Password)
 
#/var/adm/loginlog sisältää kaikki epäonnistuneet loginyritykset…
#Alustus:
#!/bin/sh
log=/var/adm/loginlog
test -f "$log" && {
        # "Good, $log exists already."
        exit 0
}
touch $log || exit 1
chown root $log || exit 1
chgrp sys $log || exit 1
chmod 600 $log || exit 1
 
# "Initialized $log."
 
Use SVCCFG:
bash-3.00# svccfg
svc:> select cde-login
svc:/application/graphical-login/cde-login>
svc:/application/graphical-login/cde-login> setprop dtlogin/args=astring: "-udpPort 0"
svc:/application/graphical-login/cde-login> quit
bash-3.00# svcadm cde-login restart
 
 
Display lines that contain A or B
/usr/bin/egrep - i “A|B”
Ex. # ps -ef | /usr/bin/egrep - i “PID1|PID2”
 
START/ STOP scripts ( /etc/init.d/rc.script)
-    create symbolic links from /etc/rc(0,1,2).d/K99sas --> /etc/init.d/rc.script
-    create symbolic link from /etc/rc3.d/S99sas --> /etc/init.d/rc.script
 
Startscripts are executed in order where smallest number is executed first on each runlevel
 
ln –s source target
 
Normal Case
 
Put SXX in rc3.d
Put KXX in rc0.d, rc1.d, rc2.d, rcS.d
 
cd /etc/rc3.d
ln –s /etc/init.d/rc.script S99rcscript
 
cd /etc/rc0.d
ln -s /etc/init.d/rc.script K99rcscript
cd /etc/rc1.d
ln -s /etc/init.d/rc.script K99rcscript
cd /etc/rc2.d
ln -s /etc/init.d/rc.script K99rcscript
cd /etc/rcS.d
ln -s /etc/init.d/rc.script K99rcscript
 
RC scripts & Run Levels 
Rc scripts performs the following functions : 
 
a) They check and mount the file systems 
 
b) Start and stop the various processes like network , nfs etc.
 
c) Perform some of the house keeping jobs.
 
System goes in to one of the following run level after booting depending on default run level and the commands issued for changing the run level to some other one.
 
0 Boot prom level ok> or > prompt in Sun.
1 Administrative run level . Single user mode 
2 Multiuser mode with no resource sharing .
3 Multiuser level with nfs resource sharing
4 Not used
5 Shutdown & power off (Sun 4m and 4u architecture )
6 Reboot to default run level
S s Single user mode user logins are disabled.
 
Broadly speaking the running system can be in any of the folloing state
 
Single user – Minimum processes running , user logins disabled and root password is required to gain access to the shell . 
Multiuser - All system processes are running and user logins are permitted 
 
Run level of a desired state is achieved by a number of scripts executed by the rc program the rc scripts are located in /etc/rc0.d , /etc/rc1.d , /etc/rc2.d , /etc/rc3.d & /etc/rcS.d directories . All the files of a particular run level are executed in the alphanumeric order .Those files beginning with letter S starts the processes and those beginning with K stops the processes.
 
These files are hard linked to the files in /etc/init.d in order to provide a central location for all these files and eliminating the need to change the run level in case these scripts needs to be run separately . The files in /etc/init.d directory are without any S , K and numeric prefix instead a stop / start argument has to be supplied whenever these scripts are to be executed .
 
By default system has a number of rc scripts needed for run level transition but sometimes it becomes necessary to start some custom scripts at the booting time and turn them off at the shutdown . Custom scripts can be put in any of the required rc directory but following major considerations has to be kept in mind :
•    The sequence number of the file should not conflict with other files.
•    The sevices needed should be available by previously executed scripts. 
•    File should be hard linked to the /etc/init.d directory .
•    The system looks for only those files beginning with letter K & S , any thing else is ignored , therefore, to make a file inactive simply changing uppercase K or S to lower case will cause system to ignore it . 
 
 
The scripts that begin with a K are used to kill processes when exiting a specific runlevel. In the listing above, the K scripts would be used when terminating runlevel 3. The scripts that start with an S are used when starting runlevel 3. None of the items in rc3.d, however, is really a startup script. They are logical links to the real scripts, which are located in the /etc/rc.d/init.d directory. For example, S80sendmail is linked to init.d/sendmail. This raises the question of why the scripts are executed from the directory rc3.d instead of directly from init.d where they actually reside. The reasons are simple. The same scripts are needed for several different runlevels. Using logical links, the scripts can be stored in one place and still be accessed by every runlevel from the directory used by that runlevel. 
Scripts are executed in alphabetical order. Thus S10network is executed before S80sendmail. This allows the system to control the order in which scripts are executed through simple naming conventions. Different runlevels can execute the scripts in different orders while still allowing the real scripts in init.d to have simple, descriptive names. A listing of the init.d directory shows these descriptive names: 
 
 
VI COMMMORS 
 
Move with cursor: h,j,k,l
Beginning of line: 0
 
Corrections during INSERT:
-    CTRL+H delete last character
 
Append after cursor: a
Append at the end of line: A
 
Yanked: y
Put: p – puts back yanked or deletet text after cursor
 
#Undo last change: 
u
#Restore curren line: 
U
#Repeat last change:
.
#Repeat last command
: n
#Replace (sed):    
:%s/old value/new value/
 
#Copy: CTRL+INSERT
#PASTe: SHIFT+INSERT
 
#EXTRACT *.tar.gz on HP-UX:
gzip -dc some.tar.gz | tar xvf –
 
Single file:
 
gzip -dc fileName.tar.gz | tar -xvf - filename
 
find . -name '*.log' -print | zip cipdq`date +%Y%m%d%H%M%S` -@
 
find / -type f | xargs grep -nH 'curl'
 
find . -type f -name '*.sh' -print -exec grep -n gpg {} \;
 
 
 
 
#where am I
uname -a ; 
#who am I 
id ; 
# when this is happening 
date "+%Y.%m.%d %H:%M:%S" ; 
 
 
useradd -u 12202211 -c "First Name , LastName, Teamp , firstName.LastName@company.com" -m -d /export/home/userName -s /bin/bash userName
 
#obsolete
skill -STOP -u userToKick
pkill -STOP -u userToKick
 
# reboot ... !!! BOOM BOOM BOOM !!!
shutdown -r now 
 
# check all available commands on my system
 echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1  -type f -printf '%P\n' | sort -u | less
 
 #how-to kill a process 
ps aux | grep omniture
pidof omniture
kill -9 omniture
#what cpu am a running
less /proc/cpuinfo
 
# which processes are listening on my system
netstat --tcp --listening --programs
netstat --tcp
netstat --route
 
 
#source: http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#MONITOR
#monitoring commands 
# show the top processes
top
# running processes status 
ps -auxw | less 
ps -ef | less 
#List all currently loaded kernel modules
lsmod | less 
#Displays the system's current runlevel.
/sbin/runlevel
# get the Processes attached to open files or open network ports:
lsoff | less 
# monitor the virtual memory 
vmstat 
#Display/examine memory map and libraries (so). Usage: pmap pid
ps -aux | grep <<MyProcToPMap>>
pmap      <<MyprocToPMapPID>>
 
 
history | gawk -F1 'BEGIN {FS=" "};{print $2 , $3}'
pmap -x 4041 | gawk -F1 'BEGIN {FS=" "};{print $2  ,"\t" , $5 , "\t" , $6 , "\t", $7 , $8}' | sort -nr
 
#how-to sort output by a delimited by single delimiter column 
# in this example the - char is used for delimiter , the output is 
# by their sending sequence , use proper file naming convention files 
# ls -1 gives us:
# fileBeginningTillFirstDelimiter-TheColumnToSortBy-TheRestFromTheFileNameDelimiter
ls -1 | awk -F1 'BEGIN {FS="-"};{print $2 "¤" $1 "-" $2 "-" $3 }' | sort -nr | cut -d ¤ -f 2,5 
# the same approach with perl
ls -1 | perl -p -i -e 's/^([^\-]*)(\-)([^\-]*)(\-)([^\-]*)/$3¤$1$2$3$4$5/g' | sort -nr | cut -d ¤ -f 2,5  
 
# how-to use sftp with remoteUserName having publicIdentity of PublicIdentityUserName
sftp -v -o "IdentityFile /var/www/.ssh-id/PublicIdentityUserName" -o "UserKnownHostsFile /var/www/.ssh-id/known_hosts" remoteUserName@ServerHostNameOrIpd
 
 
# ==================================================================
# START Jobs control 
# start some very long lasting command 
find / -name '*.crt' | less 
# now press Ctrl + Z 
# the terminal says "Jobs stopped"
# now check the open jobs 
jobs
# you should see something like 
# [1]+  Stopped                 find / -name '*.crt' | less
# now put the job in the background and start working on something else by Ctrl + Z 
bg 1
# run the next command 
# how-to copy file via scp by using specificy identity
scp -v -o "IdentityFile /home/userName/.ssh/id_rsa" /data/path/dir/* userName@ServerHostName.Domain.com:/Server/Target/Dir/
# now again stop the job first by Ctrl + Z 
# check again the running jobs 
jobs 
# use should see the both of the jobs started 
# now put the first on in the forground 
fg 1
# Repeat that several times untill you get it ; ) !!!
 
# END Jobs control 
# ==================================================================
 
nicedate=`date +%Z-%Y%m%d%H%M%S`
 
# kill a process by name 
ProcNameToKill=sftp
# ps -ef | grep wget | perl -ne 'split /\s+/;print "kill $_[7] with PID $_[1] \n";`kill -9 $_[1];`'
ps -ef | grep $ProcNameToKill | perl -ne 'split /\s+/;print "kill $_[7] with PID $_[1] \n";`kill -9 $_[1];`'
 
# how-to display human readable file sizes on systems with stupid du
# of course you would have to have perl next_line_is_templatized
find `pwd` -type f -exec du -k {} \; | perl -ne 'split /\s+/;my $SizesInMegs=$_[0]/1024;printf ( "%10d %10s \n" , "$SizesInMegs" , "MB $_[1]")' | sort -nr | morphus
 
export dir=/opt/path/to/dir
echo sizes in MB
find $dir -type f -exec du -k {} \; | perl -ne 'split /\s+/;my $SizesInMegs=$_[0]/1024;printf ( "%10d %-100s \n" , "$SizesInMegs" , "$_[1]")' | sort -nr | more
 
 
#who has been accessing via ssh 
for file in `find /var/log/secure* | sort -rn` ; do grep -nHP 'mfe' $file ; done; | less
 
 
#print files recursively 
dir=/opt/path/to/dir
clear;find $dir -type f -exec ls -alt --time-style=long-iso --color=tty {} \; | perl -ne 'split(/\s+/);printf ( "%10s %2s %-20s \n" , "$_[5]", "$_[6]", "$_[7]") ; ' | sort -nr
 
#how-to print relative file paths to /some/DirName with perl one liner 
find /some/DirName -type f | perl -ne 'split/DirName\//;print "$_[1]"  '
 
# see nice dir recursively listing newest first
dir=/tmp
find $dir -name '*.tmp' -exec ls -alt --time-style=long-iso --color=tty {} \; | perl -ne 'split/\s+/;print "$_[5] $_[6] $_[7] \n" ;' | sort -nr | less
 
# how-to sort files based on a number sequence in their file names
# list dir files , grap a number from their names , print with NumberFileName, sort , print finally the names without the Number but sorted 
 ls -1 | perl -ne 'm/(\d{8})/; print $1 . $_ ;' | sort -nr | perl -ne 's/(\d{8})//;print $_'
 
#how-to create relative file paths tar package recursively fromm a dir
cd <<RootDirToStartRelativePathsFrom>>
tar -cvzpf <<PackageToCreate>>.tar <<DirToPackRecursively>>
 
# exctract tar file into cd  
tar -xvf <<PackageToExctractInCurrentDir>>.tar
 
#source:http://mywiki.wooledge.org/BashFAQ/002
# get the STDERR and STDOUTPUT 
output=$(command 2>&1)
 
# create pub priv keys on server
ssh-keygen -t rsa 
 
# add pub key from client to authorized_keys files on server
cat id_rsa.pub >> ~/.ssh/authorized_keys
 
 
 
# VersionHistory
# 1.6.0 --- Added a search and replace perl oneliner
# 1.5.0 --- Added tar and ssh-keygen
# 1.4.0 --- Added kill proc by name and du -BM for HP-UX
# 1.3.0 --- Added jobs control 
# 1.2.0 --- Added system monitoring commands 
# 1.1.6 --- refined du , replaced echo's with #'s
# 1.0.0 --- Initial creation  

2012-03-14

a generic perl starter from cmd or how-to remove file extension in cmd

:: File: numberFormatter.cmd
@ECHO off
 
:: go the run dir
cd %~dp0
:: this is the dir containing the batch file
set MyDir=%CD%
 
for %%A in (%0) do set MyDriveLetter=%%~dA
for %%A in (%0) do set MyPath=%%~pA
for %%A in (%0) do set MyName=%%~nA
for %%A in (%0) do set MyExtension=%%~xA
 
:: ECHO MYNAME IS %0
:: ECHO MyDriveLetter is %MyDriveLetter%
:: ECHO MyPath is %MyPath%
:: ECHO MyName is %MyName%
:: ECHO MyExtension is %MyExtension%
 
:: the perl script is the same as the file name + the pl extension
set PerlScript=%MyDriveLetter%\%MyPath%\%MyName%.pl
 
:: Action !!!
perl %PerlScript% %1 %2 %3 %4 %5 %6 %7 %8 %9
 
:: Purpose:
:: To start a perl script having the <<BatchName>>.pl and pass the 
:: 9 command line parameters
 
:: VersionHistory
:: 1.0.0 --- ysg --- Initial version

2012-03-06

a few thoughts on documentation


  • Documentation should be official
  • Documentation should be standardized according to the standards of the applying organization
  • Documentation should be up-to-date
  • Documentation should be exact
  • Documentation should be understandable
  • Documentation should as concise as possible but not more

2012-03-01

Netezza sql cheat sheet

-- File: NetezzaCheatSheet.sql docs at the end 
 
-- how-to create a database 
CREATE DATABASE DatabaseName;
 
-- how-to rename a database 
ALTER DATABASE OldDatabaseName RENAME TO NewDatabaseName ;
 
-- how-to create a synomim 
CREATE SYNONYM synonym_name FOR DatabaseName.SchemaName.TableName ;
 
-- how-to create a table 
CREATE TABLE ExampleTableName (
   ColVarchar varchar(80)     -- a column of the type Varchar
 , ColInt int                                 -- a column of int type
 , ColDate date                      -- a column of the type date
);
 
-- how-to insert data from non-current db to current db table
INSERT INTO TableName SELECT * FROM DatabaseName..TableName;
 
-- how-to drop a table 
DROP TABLE DatabaseName..TableName ; 
 
-- how-to change the ownership of a table 
ALTER TABLE TableName OWNER TO NewOwner ;
 
-- how-to perform a simple select 
SELECT * FROM TableName 
WHERE 
AND 1=1 
AND WhereColumnName = 'WhereCondition' 
AND GreaterThanColumnName > 0.0
ORDER BY WhereColumnName
;
 
-- how-to delete from table 
DELETE FROM TableNameToDeleteFrom 
WHERE FilterColumnName = 'FilterValue'
;
 
 
-- Purpose:
-- To provide a simple cheat sheet for netezza 
-- VersionHistory
-- 1.0.0 --- ysg --- Initial creation

Labels

perl (41) Cheat Sheet (25) how-to (24) windows (14) sql server 2008 (13) linux (12) oracle (12) sql (12) Unix (11) cmd windows batch (10) mssql (10) cmd (9) script (9) textpad (9) netezza (8) sql server 2005 (8) cygwin (7) meta data mssql (7) metadata (7) bash (6) code generation (6) Informatica (5) cheatsheet (5) energy (5) tsql (5) utilities (5) excel (4) future (4) generic (4) git cheat sheet (4) html (4) perl modules (4) programs (4) settings (4) sh (4) shortcuts (4) поуки (4) принципи (4) Focus Fusion (3) Solaris (3) cool programs (3) development (3) economy (3) example (3) freeware (3) fusion (3) logging (3) morphus (3) mssql 2005 (3) nuclear (3) nz (3) parse (3) python (3) sftp (3) sofware development (3) source (3) sqlplus (3) table (3) vim (3) .Net (2) C# (2) China (2) GUI (2) Google (2) GoogleCL (2) Solaris Unix (2) architecture (2) ascii (2) awk (2) batch (2) cas (2) chrome extensions (2) code2html (2) columns (2) configuration (2) conversion (2) duplicates (2) excel shortcuts (2) export (2) file (2) free programs (2) informatica sql repository (2) linux cheat sheet (2) mssql 2008 (2) mysql (2) next big future (2) nsis (2) nz netezza cheat sheet (2) nzsql (2) ora (2) prediction (2) publish (2) release management (2) report (2) security (2) single-click (2) sqlserver 2005 (2) sqlserver 2008 (2) src (2) ssh (2) template (2) tools (2) vba (2) video (2) xlt (2) xml (2) youtube videos (2) *nix (1) .vimrc (1) .virmrc vim settings configs (1) BSD license (1) Bulgaria (1) Dallas (1) Database role (1) Dense plasma focus (1) Deployment (1) ERP (1) ExcelToHtml (1) GD (1) GDP (1) HP-UX (1) Hosting (1) IDEA (1) INC (1) IT general (1) ITIL management bullshit-management (1) IZarc (1) Java Web Start (1) JavaScript anchor html jquery (1) Khan Academy (1) LINUX UNIX BASH AND CYGWIN TIPS AND TRICKS (1) Linux Unix rpm cpio build install configure (1) Linux git source build .configure make (1) ListBox (1) MIT HYDROGEN VIRUS (1) OO (1) Obama (1) PowerShell (1) Run-time (1) SDL (1) SIWA (1) SOX (1) Scala (1) Services (1) Stacks (1) SubSonic (1) TED (1) abstractions (1) ansible hosts linux bash (1) ansible linux deployment how-to (1) ansible yum pip python (1) apache (1) apache 2.2 (1) application life cycle (1) architecture input output (1) archive (1) arguments (1) avatar (1) aws cheat sheet cli (1) aws cli (1) aws cli amazon cheat sheet (1) aws elb (1) backup (1) bash Linux open-ssh ssh ssh_server ssh_client public-private key authentication (1) bash perl search and replace (1) bash stub (1) bin (1) biofuels (1) biology (1) books (1) browser (1) bubblesort (1) bugs (1) build (1) byte (1) cas_sql_dev (1) chennai (1) chrome (1) class (1) claut (1) cmdow (1) code generation sqlserver (1) command (1) command line (1) conf (1) confluence (1) console (1) convert (1) cool programs windows free freeware (1) copy paste (1) copy-paste (1) csv (1) ctags (1) current local time (1) cygwin X11 port-forwarding mintty xclock Linux Unix X (1) cygwin bash how-to tips_n_tricks (1) cygwin conf how-to (1) data (1) data types (1) db2 cheat sheet (1) db2 starter ibm bash Linux (1) debt (1) diagram (1) dictionaries (1) digital (1) disk (1) disk space (1) documentation (1) dos (1) dubai (1) e-cars (1) electric cars (1) electricity (1) emulate (1) errors (1) exponents (1) export workflow (1) extract (1) fast export (1) fexp (1) file extension (1) file permissions (1) findtag (1) firewall (1) for loop (1) freaky (1) functions (1) fusion research (1) german (1) git gitlab issues handling system (1) google cli (1) google code (1) google command line interface (1) gpg (1) ha (1) head (1) helsinki (1) history (1) hop or flop (1) host-independant (1) how-to Windows cmd time date datetime (1) ibm db2 cognos installation example db deployment provisioning (1) ideas (1) image (1) informatica oracle sql (1) informatica repo sql workflows sessions file source dir (1) informatica source files etl (1) install (1) isg-pub issue-tracker architecture (1) it management best practices (1) java (1) jump to (1) keyboard shortcuts (1) ksh (1) level (1) linkedin (1) linux bash ansible hosts (1) linux bash commands (1) linux bash how-to shell expansion (1) linux bash shell grep xargs (1) linux bash tips and t ricks (1) linux bash unix cygwin cheatsheet (1) linux bash user accounts password (1) linux bash xargs space (1) linux cheat-sheet (1) linux cheatsheet cheat-sheet revised how-to (1) linux how-to non-root vim (1) linux ssh hosts parallel subshell bash oneliner (1) london (1) make (1) me (1) metacolumn (1) metadata functions (1) metaphonre (1) method (1) model (1) movie (1) multithreaded (1) mysql cheat sheet (1) mysql how-to table datatypes (1) n900 (1) nano (1) neteza (1) netezza bash linux nps (1) netezza nps (1) netezza nps nzsql (1) netezza nz Linux bash (1) netezza nz bash linux (1) netezza nz nzsql sql (1) netezza nzsql database db sizes (1) non-password (1) nord pol (1) nps backup nzsql schema (1) number formatting (1) nz db size (1) nz table count rows (1) nzsql date timestamp compare bigint to_date to_char now (1) on-lier (1) one-liners (1) one-to-many (1) oneliners (1) open (1) open source (1) openrowset (1) openssl (1) oracle PL/SQL (1) oracle Perl perl (1) oracle installation usability (1) oracle number formatting format-model ora-sql oracle (1) oracle templates create table (1) oracle trigger generic autoincrement (1) oracle vbox virtual box cheat sheet (1) oracle virtual box cheat sheet (1) outlook (1) parser (1) password (1) paths (1) perl @INC compile-time run-time (1) perl disk usage administration Linux Unix (1) perl modules configuration management (1) permissions (1) php (1) picasa (1) platform (1) postgreSQL how-to (1) powerShell cmd cygwin mintty.exe terminal (1) ppm (1) predictions (1) prices (1) principles (1) productivity (1) project (1) prompt (1) proxy account (1) public private key (1) publishing (1) putty (1) qt (1) read file (1) registry (1) relationship (1) repository (1) rm (1) scala ScalaFmt (1) scp (1) scripts (1) scsi (1) search and replace (1) sed (1) sendEmail (1) sh stub (1) shortcuts Windows sql developer Oracle (1) sidebar (1) silicon (1) smells (1) smtp (1) software development (1) software procurement (1) sofware (1) sort (1) sql script (1) sql_dev (1) sqlcmd (1) sqlite (1) sqlite3 (1) sshd (1) sshd cygwin (1) stackoverflow (1) stored procedure (1) stub (1) stupidity (1) subroutines (1) svn (1) sysinternals (1) system design (1) tail (1) tar (1) temp table (1) templates (1) teradata (1) terminal (1) test (1) testing (1) theory (1) thorium (1) time (1) tip (1) title (1) tmux .tmux.conf configuration (1) tmux efficiency bash (1) tool (1) ui code prototyping tips and tricks (1) umask Linux Unix bash file permissions chmod (1) url (1) urls (1) user (1) utility (1) utils (1) vb (1) vbox virtual box cheat sheet (1) vim perl regex bash search for string (1) vim recursively hacks (1) vim starter (1) vim-cheat-sheet vim cheat-sheet (1) vimeo (1) visual stuio (1) warsaw (1) wiki (1) wikipedia (1) window (1) windows 7 (1) windows 8 (1) windows programs (1) windows reinstall (1) windows utility batch perl space Windows::Clipboard (1) wisdoms (1) workflow (1) worth-reading (1) wrapper (1) xp_cmdshell (1) xslt (1) youtube (1)

Blog Archive

Translate with Google Translate

My Blog List