Search This Blog

2011-03-22

Принципи и поуки ...

Пореден номер Принцип или поука
1 Едно е да си баеш на себе си и на другите, второ да знаеш какво искаш , трето наистина да го искаш , четвърто е да знаеш как да го направиш , пето да можеш да го направиш , шесто е наистина да го направиш , седмо да не съжаляваш че си го направил 
2 Не си въобгъзявай. Правиж не само себе си , но и останалите на гъз. 
3 Не лъжи – така или иначе истината излиза наяве своевременно. 
4 Изправи се и горе главата. Не бъди надменен а горд. 
5 Мисли тук и сега и действай според реалността, но знай че успешното бъдеще иска стратегическо планиране. 
6 Не кради. Ако крадеш , значи не го заслужаваш. 
7 Ако не обичаш и пазиш себе си, няма да имаш сили да обичаш и пазиш хората които обичаш около себе си. 
8 Не е важно да спечелиш всяка една битка. Важното е да си победител във войната на живота 
9 Когато бързаш без да мислиш и си стресиран, малките препъни-камъчета правят големи поражения
10 Виртуалният свят оправлява физическия, но той е нищо като му дръпнат шалтера
11 Не бъди по-краставичар от краставичаря. Ако няма какво да кажеш си мълчи като индианец. Като мълчиш не ги гледай във очите. 
12 Черната овца никой не я обича както и да мечи или да се опитва да смени козината 
13 Сдраво тяло, здрав дух. Можеш да разбереш колко е безценно здравето чак като го изгубиш. 
14 Когато има междуособици във тима, не говори за личности а за обстоятелства и проблеми 
15 Не се критикувай пред останалите, още по-малко не повдигай темата за твоите грешки … 
16 Голмайсторите от чужбина ги търпят само докато правят голове, когато престанат ги ритат първи извън терена
17 В живота побеждават тези които могат и да губят
18 Една злоупотреба с алкохол може да ти струва от 15 дена до цял живот работа или дори живота. За наркотиците дори не си струва да се говори
19 Когато много ти се иска да кажеш нещо и да прекъснеш остананалите изчакай
20 Когато делегираш на някого нещо гледай да не започне да си прави каквото иска … а каквото трябва. 
21 Ако казваш на другите :“ Не прави каквото аз правя а прави каквото аз казвам“ си въобгъзяваш и правиш не само другите а и себе си на гъз … 
22 Защо пък трябва да се харесваш на останалите след като болшинството от тях така или иначе не те харесва и няма и да си променти отношението
23 Дойде ли момент когато списъкът ти от задачи стане много голям, може да започеш да си задаваш въпроси
24 Когато лайната ти стигнат до устата , горе главата !!!
25 Ако си сигурен че като кажеш нещо на слушащите те няма да те разберат или ефекта ще бъде 0 въобще има ли смисъл да си отваряш устата 
26 С викане няма да стане. Колкото повече викаш толкова повече няма да стане !!! Рови се по-дълбоко в окопа и стискай менгемето … 
27 Можеш да станеше лидер на нов успешен бизнес след разбереш възможността и убедиш хората които ще участват в него и действително го провеждаш така че всички да са доволни

28 Преди лайното да се удари във вентилатора започва да мирише … Помисли си докога има смисъл да стоиш във стаята на действието
29 Не показвай на другите без причина колкото си успял – завистта пречи при уреждането на взаимните работи
30 Ако някой ти губи времето разкарай го учтиво така че да не остане засегнат
31 Многото псувни и простотии и твърде цветистия език издават лъжеца и блъфьора
32 Когато съотборника ти се представи добре похвали го на всички и в никакъв случай не си предписвай неговите заслуги
33 Силата на участващите в разговора се разбира не по количеството на информацията изказана направо а по обема на неизказаното
34 Умението да мълчиш и слушаш когато другите говорят, е по-ценно от умението да говориш
35 If your actions inspire others to dream more, learn more, do more, and become more, you are a leader
36 Less is more
37 Щастието което човек може да получи от тялото си е като количеството вода в една чаша. Всички пороци изразват чашата само по-бързо. Лама Оле
38 Ако не си извадеш резервен ключ навреме ще изгубиш много нерви и усилия като изгубиш оригинала
39 When you define a task spent some time to define the deliverable as well. Make sure the person the task is given understands the deliverable. Make sure you can control it during the delivering process
40 Редовните тренировки поддържат добрата форма, но пренапъването поражда мускулна треска
41 First they ignore you, then they laugh at you, then they fight you, then you win. Gandhi

Worth reading ...

http://www.jakonrath.blogspot.com/2011/03/ebooks-and-self-publishing-dialog.html

2011-03-20

How-to close all active windows on windows session

::How-to close all active windows on windows session

::PUT THIS TEXT INTO A BATCH FILE WITH FILE EXTENSION CMD OR BAT
::IF YOU DON'T KNOW HOW DON'T PLAY WITH THIS ;) ...
@ECHO OFF

ECHO CLOSING ALL THE WINDOWS EXCEPT THIS ONE ARE YOU SURE ??!!
ECHO ANY UNSAVED DATA IN OPEN ED PROGRAMS MIGHT BE LOOSED ??!!
ECHO.
ECHO HIT ENTER TO PROCEED WITH CLOSING , CTRL + C TO CANCEL
ECHO.
ECHO THIS BATCH FILE REQUIRES THE CMDOW COMMAND LINE UTILITY
ECHO DOWNLOAD IT FROM http://www.commandline.co.uk/cmdow/

ECHO PLACE THIS FILE IN YOUR PATH , CREATE SHORTCUT TO IT
ECHO PUT THE SHORTCUT ON THE DESKTOP , RIGHT CLICK , ASSIGN SHORTCUT TO IT ...

PAUSE

:: find the Handle of the window of this batch file
for /f %%l in ('cmdow @') do set c=%%l

:: FOR EACH OPEN WINDOW IF IT IT IS NOT THE NANDLE
:: OF THE CURRENT ONE CLOSE IT BY KILLING ITS PROCESS
for /f %%i in ('cmdow /b /t') do if not %%i==%c% cmdow %%i /END

::ENABLE THIS LINE BY REMOVING THE :: IN FRONT IF THE TASKBAR DISAPPEARS
::cmd /c explorer.exe

::ENABLE THIS LINE BY REMOVING THE :: IN FRONT IF YOU WOULD LIKE TO SHUTDOWN YOUR PC
::shutdown -f -s -t 00

2011-03-18

how-to configure textpad for ctags and findtag

The purpose of this “hack” is to provide web-like navigability to the source code, so that with Alt + right arrow and cursor positioned on an meta token instance (the instance name of function, variable, method etc. in a programming language) the cursor will jump on the definition of this meta token instance. For example in Perl if there is an object call of a method ($objectName->nameOfMethod( $optionalParams) when having the cursor on “nameOfMethod” and pressing Alt + right arrow the file having the definition of this method will be opened and the cursor positioned on that very definition. Respectively with Alt + left arrow one could navigate back from the place he came from.
This functionality is provided the open source ctags.exe executable, written by Darren Hiebert, supporting 33 languages (their meta data and structure) and contained as part of many Linux distributions. The stand-alone executable should be placed in a folder of the Path environmental variable and the following commands configured:
Command name: Generate ctags database
Command: cmd.exe
Parameters: ctags.exe -R -n --fields=+i+K+S+l+m+a
Initial folder: $FileDir
This command with generate the database for ctags.exe, containing all the meta names of the current code base , recursively by including selected extension fields of the code base. This command could be assigned with any shortcut in the TextPad interface (herewith Ctrl + 6 used)
Command name: Jump to tag definition
Command: C:\Path\to\findTag.exe
Parameter: -file $AppWnd $File $Line
Initial folder: $FileDir
This command could be configured with the Alt + right arrow as explained above.
The command to return back to the point where this command was issued is:
Command name: Tag Back
Command: C:\Path\to\FindTag.exe
Parameters: -back
Initial folder: $FileDir
This command could be configured with the Alt + left arrow shortcut.
This configuration combined with the Textpad’ s inbuilt “find in files” feature and the “FuncJumper” introduced bellow makes the navigability of even large projects, containing 20 or more source files under different folders with approximately 100 lines per file fast and easy.

textpad 5.4.2 keyboard shortcuts

source:Straight copy paste from textpad help:

The Keyboard
These tables list the default command shortcuts for TextPad. If you have chosen to work in compatibility mode with another application, you can view the shortcuts on the Keyboard page of the Preferences dialog box.

Single Key Shortcuts:
Key Modifier Command
A Ctrl Select All.
B Ctrl Move the cursor back to start of word.
B Ctrl+Shift Select back to start of word.
C Ctrl Copy selection to clipboard.
C Ctrl+Shift Append selection to clipboard.
D Ctrl Move cursor back to end of word.
D Ctrl+Shift Select back to end of word.
E Ctrl Center text.
E Ctrl+Shift Right align text.
F Ctrl Find next instance of search pattern.
F Ctrl+Shift Find previous instance of search pattern.
G Ctrl Go to line.
I Ctrl Increase indentation.
I Ctrl+Shift Reduce indentation.
J Ctrl Join selected lines.
J Ctrl+Shift Reformat selected lines.
J Ctrl+Alt Split word-wrapped lines.
K Ctrl Invert case of selection.
L Ctrl Convert selection to lower case.
L Ctrl+Shift Insert a page break.
M Ctrl Find matching { [ (< or >) ] }
M Ctrl+Shift Select to matching { [ (< or >) ] }
N Ctrl Create a new document.
O Ctrl Open a document using the common Open File dialog box.
O Ctrl+Shift Open a document by typing its name.
P Ctrl Print active document.
P Ctrl+Shift Preview the active document as it will print.
Q Ctrl Prefix key for two key commands (see below).
R Ctrl Playback the scratch macro.
R Ctrl+Shift Record a new macro.
S Ctrl Save the active document.
S Ctrl+Shift Save all documents.
T Ctrl Transpose the lines or characters either side of the cursor.
T Ctrl+Shift Transpose the words either side of the cursor.
U Ctrl Convert selection to upper case.
U Ctrl+Shift Convert first character of selection to uppercase and the rest to lower case.
V Ctrl Paste text from the clipboard.
V Ctrl+Shift Insert the contents of a file at the cursor position.
W Ctrl Move cursor forward to start of word.
W Ctrl+Shift Select forward to start of word.
X Ctrl Cut the selection to the clipboard.
X Ctrl+Shift Cut and append the selection to the clipboard.
Y Ctrl Redo last Undo.
Y Ctrl+Shift Redo all Undos.
Z Ctrl Undo last edit.
Z Ctrl+Shift Undo all edits.
0 Alt Activate the Clip Library.
Break Ctrl Stop the tool running in the command window.
Backspace Delete selection, or character before the cursor, (replace it with a space in overtype mode).
Backspace Ctrl Delete back to the last start of word.
Delete Delete selection, or character after the cursor.
Delete Ctrl Delete forward to the next start of word.
Delete Ctrl+Shift Delete to the end of the line.
Delete Alt Delete all lines in the document.
End Cursor to end of line.
End Shift Select to end of line.
End Ctrl Cursor to end of document.
End Ctrl+Shift Select to end of document.
End Alt Cursor to the last visible line, in the current column, if possible.
Enter Start a new line in an edit document, or do a hypertext jump in a command or search results window.
Enter Ctrl Insert new line after current line.
Enter Ctrl+Shift Insert new line before current line.
Enter Alt Display in-context properties dialog box.
Escape Cancel any existing selection.
Home Cursor to start of line. Press twice to go to the left margin. Reassign this shortcut to "LineLeft" if you always want it to go to the left margin.
Home Shift Select to start of line. Press twice to select to the left margin. Reassign this shortcut to "LineLeftSel" if you always want it to select to the left margin.
Home Ctrl Cursor to start of document.
Home Ctrl+Shift Select to start of document.
Home Alt Cursor to the first visible line, in the current column, if possible.
Insert Switch between insert and overtype mode.
Scroll Lock Locks cursor position when scrolling with page up/down keys.
Tab Indent selected lines, or move cursor to next tab stop.
Tab Ctrl Next window (same as Ctrl+F6).
Tab Ctrl+Shift Previous window (same as Ctrl+Shift+F6).
Tab Shift Reduce indentation of selected lines, or move cursor to previous tab stop.
Left Arrow Cursor left one character.
Left Arrow Shift Select left one character.
Left Arrow Ctrl Cursor left one word.
Left Arrow Ctrl+Shift Select left one word.
Right Arrow Cursor right one character.
Right Arrow Shift Select right one character.
Right Arrow Ctrl Cursor right one word.
Right Arrow Ctrl+Shift Select right one word.
Down Arrow Cursor down one line.
Down Arrow Shift Select down one line.
Down Arrow Alt Cursor down to the start of the next paragraph.
Down Arrow Alt +Shift Select to the start of the next paragraph.
Down Arrow Ctrl Scroll the view up one line, without moving the cursor.
Up Arrow Cursor up one line.
Up Arrow Shift Select up one line.
Up Arrow Alt Cursor up to the start of the previous paragraph.
Up Arrow Alt+Shift Select to to the start of the previous paragraph.
Up Arrow Ctrl Scroll the view down one line, without moving the cursor.
F1 In-context help.
F1 Ctrl Display document statistics on status bar.
F1 Shift Invoke in-context help cursor.
F2 Go to next bookmark.
F2 Ctrl Set or clear a bookmark on the current line.
F2 Shift Go to previous bookmark.
F2 Ctrl+Shift Clear all bookmarks.
F3 Invoke the Manage Files dialog box.
F3 Ctrl Show or hide the Clip Library.
F3 Alt Invoke Windows File Manager or Explorer.
F4 Hypertext jump to next item in Search or Command Output window.
F4 Shift Hypertext jump to previous item in Search or Command Output window.
F4 Ctrl Close the active window.
F5 Invoke the Find dialog box.
F5 Ctrl Invoke Find in Files dialog box.
F6 Activate next view.
F6 Shift Activate previous view.
F6 Ctrl Activate next window.
F6 Ctrl+Shift Activate previous window.
F7 Check the spelling of the active document.
F7 Ctrl Invoke the Playback Macro dialog box.
F8 Invoke Replace dialog.
F8 Ctrl Replace next instance of search pattern.
F9 Sort.
F9 Ctrl Compare.
F10 Activate the main menu.
F10 Shift Popup the in-context document menu.
F10 Ctrl Popup the insert date/time menu.
F11 Invoke the Document Selector.
F11 Ctrl Activate the Command Results window.
F11 Shift Activate the Search Results window.
F12 Save As.


Two-key Shortcuts:
Keys Command
Ctrl+Q, B Switch in and out of block select mode.
Ctrl+Q, E Switch between read-only and edit modes.
Ctrl+Q, H Display/hide the horizontal scroll bar.
Ctrl+Q, I Display/hide visible spaces, tabs and paragraphs.
Ctrl+Q, L Display/hide line numbers.
Ctrl+Q, P Display the Preferences dialog box.
Ctrl+Q, R Set the right margin at the cursor position.
Ctrl+Q, S Switch in and out of selection mode.
Ctrl+Q, Y Switch in and out of synchronized scrolling mode.
Ctrl+Q, V Display/hide the vertical scroll bar.
Ctrl+Q, W Switch in and out of word-wrap mode.


See Also:
Typing International Characters

Typing Control Characters

2011-03-17

Cool programs , utilities and programming environments for Windows, most of which free ( revised )


Cool programs , utilities and programming environments for Windows, most of which free ( revised )

Opera - simply the best browser on the planet
SysInternals Suite
Firefox
Safari -
Google Chrome
strawberry perl for Windows (with dmake for modules )
Active Perl
izarc - the best zipper
Process Explorer - shows resources usage per running process on Windows
Google Earth
Picasa - the best free picture viewer , organizer
Mozilla Thunderbird
Textpad - the best text editor for Windows
smstoolpack - create CRUD for sql server
GreenShot
Open diff - tool for comparing sql server 2005 databases
Skype - the best client for Internet and Video Telephony
NSIS - the best open source Windows installer maker
And the time plugin
Gears -- edit online documents offline
Free youtube to ipod converter -- get mp4 files easily to your phone
Defragler - Disk Defragment utility
DvdDecrypter - the best DVD free ripper
ImgBurner - burn ISO images - freeware
ArsClip remembers your clibboard stuff - Hint , Ctrl + Shift + Z , 2
colorpic - Color to hex utility
Expresso - a GUI tool for building and verifying Regular Expressions
a flv file player
Python - for cool scripts and programming
STARUML - the best open source UML editor
Infrarecorder - free CD / DVD burner
Paint.Net - freeware image editor
putty
winscp
Multiline Search and Replace utility program
Google Gears - use Gmail offline
HijackThis
tortoise svn - a stable gui and command line to subversion for Windows
slik svn - the command line tools for svn for windows
Data Recovery - recover Shift + del removed programs
Windows Sysinternal utilities
Cmdow is a Win32 commandline utility for NT4/2000/XP/2003 that allows windows to be listed, moved, resized, renamed, hidden/unhidden, disabled/enabled, minimized, maximized, restored, activated/inactivated, closed, killed and more.
Grep , FGrep and Egrep for windows (remember the dll's also )
Less for Windows ( remember the dll's also )
7-zip
Rise Editor - Entity Relationship Diagram tool
Adobe Acrobat
Virtual Clone Drive - Map ISO files
svn client and server
Doxygen - code documentation utility
Qt - Nokia's Development Platform
Dia - control flow chars freeware software
AudioGrabber - the best mp3 ripper
AutoHotKey - GUI automating
Fiddler - http sniffer
Windows GNU utils


Cygwin

Open SSH for Windows - ssh and sftp





tags:programs, tools, utilities, windows

2011-03-07

how-to generate mssql insert statements from Excel with perl



use Spreadsheet::ParseExcel;
use strict;
use warnings ; 
 
package ExcelToSqlInsert; 
 
my $VERSION = 0.2.0;
my $DebugLevel = 4 ; 
my $ExcelFileToParse = "$ARGV[0]" ; 
my $OutputDir="$ARGV[1]" ;
 
sub  main {
 
logMsg ( "$0 MAIN START " ) ; 
 
my $delimiter = chr($ARGV[2]);
my $rowEnd = chr($ARGV[3]);
my $InputDir = "$ARGV[4]" ;
my $FileToPrint = $OutputDir . "/" . "output.sql" ; 
 
logMsg ( "\$ExcelFileToParse is $ExcelFileToParse" ) ; 
 
ParseExcel ( $ExcelFileToParse  , $delimiter ) ; 
 
logMsg ( "$0 MAIN STOP " ) ; 
 
} #eof sub main 
 
 
 
 
 
sub ParseExcel {
 
my $ExcelFileToParse = shift ; 
my $delimiter = shift ; 
my $rowEnd = "\n"; 
my $strToReturn = "" ; 
 
my $parser   = Spreadsheet::ParseExcel->new();
my $workbook = $parser->Parse("$ExcelFileToParse");
 
 
foreach my $worksheet (@{$workbook->{Worksheet}}) {
 
my $workSheetName = $worksheet->{'Name'} ; 
my $FileToPrint = ToUnixDir("$OutputDir" . '/' . "$workSheetName" . "\.TableInsert\.sql") ; 
 
$strToReturn .= "SET NOCOUNT ON;
SET XACT_ABORT ON;
GO
 
TRUNCATE TABLE [dbo].[" . $workSheetName .  "]  ; 
 
SET IDENTITY_INSERT [dbo].[" . $workSheetName .  "] ON;
BEGIN TRANSACTION;
INSERT INTO [dbo].[" . $workSheetName .  "] ( \n" ; 
my $RowMin = $worksheet->{MinRow} ; 
my $RowMax= $worksheet->{MaxRow} ; 
 
 
#    my ( $RowMin, $RowMax) = $worksheet->row_range();
#    my ( $col_min, $col_max ) = $worksheet->col_range();
 
for my $row ( ($RowMin ) .. $RowMax) {
my $col_min = $worksheet->{MinCol} ; 
my $col_max = $worksheet->{MaxCol} ; 
 
$strToReturn .= ") \n SELECT " if ( $row == 1) ;    
$strToReturn .= "\n UNION ALL SELECT " if ( $row >1) ; 
my $tokenStart = (); 
$tokenStart = '\''  if ( $row>0) ; 
$tokenStart = '['  if ( $row == 0) ; 
my $tokenStop = () ; 
$tokenStop = '\''  if ( $row>0) ; 
$tokenStop = ']'  if ( $row == 0) ; 
 
for my $col ( ($col_min ) .. $col_max ) {
 
my $cell = $worksheet->{Cells}[$row][$col]  ; 
next unless $cell;
 
logMsg( " Row, Col    = ($row, $col)\n" ) ; 
logMsg ( " Value = ", $cell->Value() ); 
my $cellValueToReplace = $worksheet->{Cells}[$RowMin][$col]  ; 
print "\$cellValueToReplace is $cellValueToReplace \n" ; 
my $StrValueToReplaceWith = $cell->Value() ;
print " \$StrValueToReplaceWith  is $StrValueToReplaceWith  \n" ; 
my $token = $cell->Value() ; 
$token =~ s/\'/\'\'/g ;     #replace ' with '' to escape sql
 
#NULL is a key word should not be tokenized in MSSQL sql
if ( $token eq 'NULL')
{
$strToReturn .= $token  .  ' , '; 
}
else 
{
$strToReturn .= $tokenStart . $token  . $tokenStop . ' , ' ; 
}
#print "\$strToReturn is $strToReturn \n" ; 
#$strToReturn .=  $cell->Value() . $delimiter       ;                #The Value
#print "Unformatted = ", $cell->Unformatted(), "\n";
} #eof column
chop ($strToReturn) ; #remove the latest delimiter
chop ($strToReturn) ; #remove the latest delimiter
$strToReturn .= $rowEnd ;     #end the row    
print "\$FileToPrint  is $FileToPrint " ; 
} #eof row
$strToReturn .= 
"\n COMMIT;
RAISERROR (N\'[dbo].[" . $workSheetName .  "]: Insert Batch: 1.....Done!\', 10, 1) WITH NOWAIT;
GO
 
SET IDENTITY_INSERT [dbo].[" . $workSheetName .  "] OFF;
 
SELECT \'SELECT TOP 5 * FROM [dbo].[" . $workSheetName .  "]  ORDER BY 1 DESC ; \' 
SELECT TOP 5 * FROM [dbo].[" . $workSheetName .  "]  ORDER BY 1 DESC ; 
" ; 
 
printToFile ( $FileToPrint , $strToReturn ) ; 
$strToReturn = '' ; 
} #eof worksheet
 
} #eof sub
 
 
sub printToFile {
 
my $FileOutput = shift ; 
my $StringToPrint = shift ; 
#READ ALL ROWS OF A FILE TO ALIST 
open (FILEOUTPUT, ">$FileOutput") || 
print "could not open the \$FileOutput $FileOutput!\n"; 
print  FILEOUTPUT $StringToPrint ; 
close FILEOUTPUT ;
 
#debug $strToReturn .=  $StringToPrint; 
 
}
# =========================================== eof sub printToFile
 
sub trim    
{
$_[0]=~s/^\s+//;
$_[0]=~s/\s+$//;
return $_[0];
}
 
 
sub readFileReturnString {
my $fileToRead = shift ; 
print " readFileReturnString \$fileToRead is $fileToRead \n" ; 
my $string = (); 
{
local $/=undef;
open FILE, "$fileToRead " or print "Couldn't open \$fileToRead $fileToRead : $!";
$string = <FILE>;
close FILE;
}
return $string ; 
} #eof sub readFileReturnString 
 
 
 
# =========================================== eof sub trim 
#log a message according to the DebugLevel
# use: logMsg ("msg");
sub logMsg 
{
my $msg = shift || "empty msg" ; 
my $importance =  shift || 0 ; 
my $CurrentPerlScriptName = ToUnixDir("$0" );
my $niceMonth = GetANiceMonth (); 
my $logFile = "$CurrentPerlScriptName" . '_' . "$niceMonth" .  '.log' ; 
 
$msg = GetANiceTime () .' --- ' .   $msg . " \n" ; 
 
if (defined  $importance && $importance == 1 ) 
{
$msg = "\n============================================================ \n" . $msg ; 
$msg = $msg . "============================================================ \n" ;
}
#debug nothing
if ( $DebugLevel == 0 ) {     return ; } 
#just print the message
if ( $DebugLevel == 1 ) { print "$msg"; }
 
#print the message in 
if ( $DebugLevel == 2 ) 
{
#READ ALL ROWS OF A FILE TO ALIST 
open (LOG, ">> $logFile") || print "could not open the \$logFile $logFile !!!\n"; 
print LOG $msg  ; 
close LOG;
}
#print the message in 
if ( $DebugLevel == 3 ) 
{
#READ ALL ROWS OF A FILE TO ALIST 
open (LOG, ">> $logFile") || print "could not open the \$logFile $logFile !!!\n"; 
print LOG $msg  ; 
close LOG;
print $msg ; 
} #eof if ( $DebugLevel == 3 ) 
} #eof sub logMsg 
#log a message according to the DebugLevel
sub logErrorMsg 
{
my $errorMsg = shift ; 
my $importance  = shift ; 
my $CurrentPerlScriptName = "$0" ; 
my $niceMonth = GetANiceMonth (); 
my $errorLogFile = "$CurrentPerlScriptName" . "_" .  "$niceMonth" . '.error.log' ; 
$errorMsg = GetANiceTime () .' --- ' .   $errorMsg . " \n" ; 
if ( $importance == 1 ) 
{
$errorMsg = "\n============================================================ \n" . $errorMsg ; 
$errorMsg= $errorMsg. "============================================================ \n" ;
}
#debug nothing
if ( $DebugLevel == 0 ) {     return ; } 
#just print the message
if ( $DebugLevel == 1 )  {         print $errorMsg ;     } 
#print the message in a error log file
if ( $DebugLevel == 2 ) 
{
#READ ALL ROWS OF A FILE TO ALIST 
open (ERRLOG, ">> $errorLogFile") || print "could not open the \$errorLogFile $errorLogFile !!!\n"; 
print ERRLOG $errorMsg ; 
close ERRLOG;
}
#print the message in 
if ( $DebugLevel == 3 ) 
{
#READ ALL ROWS OF A FILE TO ALIST 
open (ERRLOG, ">> $errorLogFile") || print "could not open the \$errorLogFile $errorLogFile !!!\n"; 
print ERRLOG $errorMsg  ; 
close ERRLOG;
print $errorMsg ; 
} #eof if ( $DebugLevel == 3 ) 
} #eof sub logErrorMsg 
#GET A NICE TIME 
sub GetANiceTime {
# Purpose: returns the time in yyyymmdd-format 
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 
#---- change 'month'- and 'year'-values to correct format ---- 
$min = "0$min" if ($min < 10); 
$hour = "0$hour" if ($hour < 10);
$mon = $mon + 1;
$mon = "0$mon" if ($mon < 10); 
$year = $year + 1900;
$mday = "0$mday" if ($mday < 10); 
return "$year\.$mon\.$mday" . "-" . "$hour\:$min\:$sec"; 
} #eof sub GetANiceTime
sub GetANiceMonth {
 
# Purpose: returns the time in yyyymmdd-format 
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 
#---- change 'month'- and 'year'-values to correct format ---- 
$mon = $mon + 1;
$mon = "0$mon" if ($mon < 10); 
$year = $year + 1900;
return "$year\.$mon" ; 
 
} #eof sub GetANiceTime
 
sub ToUnixDir {
 
my $dir = shift || ""; 
#replace all the \ s with / s
$dir =~ s/\\/\//g ; 
return $dir ; 
 
} #eof sub ToUnixDir
 
 
 
# =========================================== eof sub trim 
# Action !!!
main();
 
 
1 ; 
 
__END__
 
=head1 NAME
 
ExcelToSqlInsert - 
 
=head1 DESCRIPTION
 
This script generates files based on templates and a simple Excel input file.
 
=head1 README
 
for how-to use this script check the ReadMe.txt 
 
=head1 PREREQUISITES
 
SpreadSheet::ParseExcel
 
 
=head1 COREQUISITES
 
CGI
 
=pod OSNAMES
 
any ( Windows 7 only tested ) 
 
=pod SCRIPT CATEGORIES
 
configurations 
=cut

2011-03-06

Cool programs , utilities and programming environments for Windows, most of which free ( revised )


Cool programs , utilities and programming environments for Windows, most of which free ( revised )

Opera - simply the best browser on the planet
SysInternals Suite
Firefox
Safari -
Google Chrome
strawberry perl for Windows (with dmake for modules )
Active Perl
izarc - the best zipper
Process Explorer - shows resources usage per running process on Windows
Google Earth
Picasa - the best free picture viewer , organizer
Mozilla Thunderbird
Textpad - the best text editor for Windows
smstoolpack - create CRUD for sql server
GreenShot
Open diff - tool for comparing sql server 2005 databases
Skype - the best client for Internet and Video Telephony
NSIS - the best open source Windows installer maker
And the time plugin
Gears -- edit online documents offline
Free youtube to ipod converter -- get mp4 files easily to your phone
Defragler - Disk Defragment utility
DvdDecrypter - the best DVD free ripper
ImgBurner - burn ISO images - freeware
ArsClip remembers your clibboard stuff - Hint , Ctrl + Shift + Z , 2
colorpic - Color to hex utility
Expresso - a GUI tool for building and verifying Regular Expressions
a flv file player
Python - for cool scripts and programming
STARUML - the best open source UML editor
Infrarecorder - free CD / DVD burner
Paint.Net - freeware image editor
putty
winscp
Multiline Search and Replace utility program
Google Gears - use Gmail offline
HijackThis
tortoise svn - a stable gui and command line to subversion for Windows
slik svn - the command line tools for svn for windows
Data Recovery - recover Shift + del removed programs
Windows Sysinternal utilities
Cmdow is a Win32 commandline utility for NT4/2000/XP/2003 that allows windows to be listed, moved, resized, renamed, hidden/unhidden, disabled/enabled, minimized, maximized, restored, activated/inactivated, closed, killed and more.
Grep , FGrep and Egrep for windows (remember the dll's also )
Less for Windows ( remember the dll's also )
7-zip
Rise Editor - Entity Relationship Diagram tool
Adobe Acrobat
Virtual Clone Drive - Map ISO files
svn client and server
Doxygen - code documentation utility
Qt - Nokia's Development Platform
Dia - control flow chars freeware software
AudioGrabber - the best mp3 ripper
AutoHotKey - GUI automating
Fiddler - http sniffer
Windows GNU utils

tags:programs, tools, utilities, windows

2011-03-02

GetDirSizes.cmd

@echo off
echo this script needs the du utility from sysinternals - courtesy of Mark Russinovich
echo google download sysinternals suite
echo get the fileSizes
echo Place this in your path - Start - Run - GetDirSizes c:\temp\
cmd /c du -l 2 -q %1 ^| sort /r ^> "%cd%\DirSizes.log"
cmd /c du -l 2 -q %1 | sort /r > "%cd%\DirSizes.log"
echo now view the file sized

"%cd%\DirSizes.log"
exit

2011-03-01

Ready for the cloud !!!

I just finished the implementation of the Deployment strategy of my current C# , MSSQL 2005 / 2008 project ... Thus one presentation layer to one database a full dev , test , qa , sox , fb and prod production deployment is fast ... really fast ; )

So far the configuration data is in an excel - e.g. the forking of the environments requires the addition of a new Excel row ...

So this is not too far away from a massive cloud roll-out - at the end all the needed configurations per a worker instance or whatever logical running thing could be retrieved in a tabular format ... This means just an additional template creation , and regeneration of the template ...

Btw. space matters in templates .. I learned it the hard way ..

Labels

perl (41) Cheat Sheet (25) how-to (24) sql server 2008 (13) windows (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) code generation (6) Informatica (5) bash (5) cheatsheet (5) energy (5) tsql (5) utilities (5) excel (4) future (4) generic (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) git cheat sheet (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) 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) logging (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) 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 (1) archive (1) arguments (1) avatar (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) 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) 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 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) 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) 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) smtp (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) 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) 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

VideoBar

This content is not yet available over encrypted connections.