Search This Blog

Loading...

1.29.2008

creative session logging on Solaris

script -a ~/script/`date +%Y%m%d%H%M%S`.script.log

1.24.2008

Bash shortcuts from PUTTY

Ctlr + A - go to the beginning of line

Ctrl + E - go to the end of line

Ctrl + W - delete a word

Alt + f - Move forward

Alt + B - move backwords

Alt + BackSpace - Delete backward from cursor

down arrow - browser command history backwords

up arrow - browse command history upwards

Ctrl + r - Recall command

Ctrl + z - Suspend/ Stop the command

Search the history backwards

Ctrl + l - clear the screen



Here "2T" means Press TAB twice

$ 2T - All available commands(common)
$ (string)2T - All available commands starting with (string)
$ /2T - Entire directory structure including Hidden one

alternative of net use command on the cmd prompt on Windows

Open a Command Prompt window.
Type the following command line:
PUSHD ServerSharepath

where \\Server\Share\path is the network resource to which you want to map a drive letter.

As soon as you do, the PUSHD command will instantly map a drive letter to the network resource and then change to that drive right in the Command Prompt window. When you’re done, just type POPD and the mapped drive letter will be disconnected and you’ll return to your original drive.

Keep in mind that, the PUSHD command allocates drive letters from Z: on down and will use the first unused drive letter that it finds.
http://blogs.techrepublic.com.com/window-on-windows/?p=594

1.22.2008

test C# publishing

п»ї<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.ADO" %>
<html>
<head>
<script language="C#" runat="server">
{
string strCn = "DSN=pubs";
string strCmd = "Select * From Products";
ADOConnection cn = new ADOConnection(strCn);
ADODataSetCommand cmd = new ADODataSetCommand(strCmd,cn);
DataSet ds = new DataSet();
cmd.FillDataSet(ds, "Products");
ListBox1.DataSource = ds.tables["Products"].DefaultView;
ListBox1.DataBind();
}
</head>
<body>
<form method="post" action="2000081703.aspx" runat="server"
<asp:ListBox id="ListBox1" Runat="server">

<DataTextField="ProductName" DataValueField="ProductID" />
</form>
</body>
</html>

1.21.2008

How to restart Ubuntu network connection manager

sudo /etc/dbus-1/event.d/25NetworkManagerDispatcher restart
sudo /etc/dbus-1/event.d/26NetworkManagerDispatcher restart

Still wandering why my country joined EU

SOURCES:
Donh't be naive - it was about the natural gas !!!

1.15.2008

3 frames + javascript redirect =

SOURCES:
english - bulgarian - finnish dictionary

1.10.2008

what was the point of the previous one

well to have the best possible format for your history - html ; )

perl /usr/bin/parseHistoryFile.pl --verbose --html /home/$USER/.mozilla/firefox/8sllsdks.default/history.dat > /var/www/tmp.html

Note - the 8sllsdks.default is something else on your system
and you would have to replace $USER with your user name

parse automatically firefox history file


#!/usr/bin/perl -w
# Copyright © 2004 Jamie Zawinski <jwz@jwz.org>
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. No representations are made about the suitability of this
# software for any purpose. It is provided "as is" without express or
# implied warranty.
#
# Created: 3-Mar-2004 by Jamie Zawinski, Anonymous, and Jacob Post.
#
##############################################################################
#
# This is a program that can read the Mozilla URL history file --
# normally $HOME/.mozilla/default/*.slt/history.dat -- and prints out
# a list of URLs and their time of last access. With no arguments,
# it prints lines like
#
# 1078333826 1 http://www.jwz.org/hacks/
#
# where the first number is a ctime (number of seconds since Jan 1 1970 GMT)
# and the second number is how many times this URL was visited. The URLs are
# printed most-recent-first.
#
# With -vv, it prints all the information known about each URL,
# including time of first visit, last visit, document title, etc.
#
# With --html, it produces HTML output instead of plain text.
#
# With "--age 2H", it limits itself to URLs that were loaded within the
# last two hours. Likewise with "sec", "min", "day", "month", etc.
#
##############################################################################
#
# And Now, The Ugly Truth Laid Bare:
#
# In Netscape Navigator 1.0 through 4.0, the history.db file was just a
# Berkeley DBM file. You could trivially bind to it from Perl, and
# pull out the URLs and last-access time. In Mozilla, this has been
# replaced with a "Mork" database for which no tools exist.
#
# Let me make it clear that McCusker is a complete barking lunatic.
# This is just about the stupidest file format I've ever seen.
#
# http://www.mozilla.org/mailnews/arch/mork/primer.txt
# http://jwz.livejournal.com/312657.html
# http://www.jwz.org/doc/mailsum.html
# http://bugzilla.mozilla.org/show_bug.cgi?id=241438
#
# In brief, let's count its sins:
#
# - Two different numerical namespaces that overlap.
#
# - It can't decide what kind of character-quoting syntax to use:
# Backslash? Hex encoding with dollar-sign?
#
# - C++ line comments are allowed sometimes, but sometimes // is just
# a pair of characters in a URL.
#
# - It goes to all this serious compression effort (two different
# string-interning hash tables) and then writes out Unicode strings
# without using UTF-8: writes out the unpacked wchar_t characters!
#
# - Worse, it hex-encodes each wchar_t with a 3-byte encoding,
# meaning the file size will be 3x or 6x (depending on whether
# whchar_t is 2 bytes or 4 bytes.)
#
# - It masquerades as a "textual" file format when in fact it's just
# another binary-blob file, except that it represents all its magic
# numbers in ASCII. It's not human-readable, it's not hand-editable,
# so the only benefit there is to the fact that it uses short lines
# and doesn't use binary characters is that it makes the file bigger.
# Oh wait, my mistake, that isn't actually a benefit at all.
#
# Pure comedy.
#
##############################################################################


require 5;
use diagnostics;
use strict;
use POSIX qw(strftime);

my $progname = $0; $progname =~ s@.*/@@g;
my $version = q{ $Revision: 1.14 $ }; $version =~ s/^[^0-9]+([0-9.]+).*$/$1/;

my $verbose = 0;
my $show_all_p = 1;

my (%key_table, %val_table, %row_hash);
my ($total, $skipped) = (0, 0);

# Returns a list of hashes, the contents of the mork file.
#
sub mork_parse_file {
my ($file, $age) = @_;
local $/ = undef;
local *IN;

my $since = ($age ? time() - $age : 0);

##########################################################################
# Define the messy regexen up here
##########################################################################

my $top_level_comment = qr@//.*\n@;

my $key_table_re = qr/ < \s* < # "< <"
\( a=c \) > # "(a=c)>"
(?> ([^>]*) ) > \s* # Grab anything that's not ">"
/sx;

my $value_table_re = qr/ < ( .*?\) )> \s* /sx;

my $table_re = qr/ \{ -? # "{" or "{-"
[\da-f]+ : # hex, ":"
(?> .*?\{ ) # Eat up to a {...
((?> .*?\} ) # and then the closing }...
(?> .*?\} )) # Finally, grab the table section
\s* /six;

my $row_re = qr/ ( (?> \[ [^]]* \] # "["..."]"
\s*)+ ) # Perhaps repeated many times
/sx;

my $section_begin_re = qr/ \@\$\$\{ # "@$${"
([\dA-F]+) # hex
\{\@ \s* # "{@"
/six;

my $section_end_re = undef;
my $section = "top level";

##########################################################################
# Read in the file.
##########################################################################
open (IN, "<$file") || error ("$file: $!");
print STDERR "$progname: reading $file...\n" if ($verbose);

my $body = <IN>;
close IN;

$body =~ s/\r\n/\n/gs; # Windows Mozilla uses \r\n
$body =~ s/\r/\n/gs; # Presumably Mac Mozilla is similarly dumb

$body =~ s/\\\\/\$5C/gs; # Sometimes backslash is quoted with a
# backslash; convert to hex.
$body =~ s/\\\)/\$29/gs; # close-paren is quoted with a backslash;
# convert to hex.
$body =~ s/\\\n//gs; # backslash at end of line is continuation.

##########################################################################
# Figure out what we're looking at, and parse it.
##########################################################################

print STDERR "$progname: $file: parsing...\n" if ($verbose);

pos($body) = 0;
my $length = length($body);

while( pos($body) < $length ) {

# Key table

if ( $body =~ m/\G$key_table_re/gc ) {
mork_parse_key_table($file, $section, $1);

# Values
} elsif ( $body =~ m/\G$value_table_re/gco ) {
mork_parse_value_table($file, $section, $1);

# Table
} elsif ( $body =~ m/\G$table_re/gco ) {
mork_parse_table($file, $section, $age, $since, $1);

# Rows (-> table)
} elsif ( $body =~ m/\G$row_re/gco ) {
mork_parse_table($file, $section, $age, $since, $1);

# Section begin
} elsif ( $body =~ m/\G$section_begin_re/gco ) {
$section = $1;
$section_end_re = qr/\@\$\$\}$section\}\@\s*/s;

# Section end
} elsif ( $section_end_re && $body =~ m/\G$section_end_re/gc ) {
$section_end_re = undef;
$section = "top level";

# Comment
} elsif ( $body =~ m/\G$top_level_comment/gco ) {
#no-op

} else {
# $body =~ m/\G (.{0,300}) /gcsx; print "<$1>\n";
error("$file: $section: Cannot parse");
}
}

if($section_end_re) {
error("$file: Unterminated section $section");
}


print STDERR "$progname: $file: sorting...\n" if ($verbose);

my @entries = sort { $b->{LastVisitDate} <=>
$a->{LastVisitDate} } values(%row_hash);

print STDERR "$progname: $file: done! ($total total, $skipped skipped)\n"
if ($verbose);

(%key_table, %val_table, %row_hash, $total, $skipped) = ();

return \@entries;
}


##########################################################################
# parse a row and column table
##########################################################################

sub mork_parse_table {
my($file, $section, $age, $since, $table_part) = (@_);

print STDERR "\n" if ($verbose > 3);

# Assumption: no relevant spaces in values in this section
$table_part =~ s/\s+//g;

# print $table_part; #exit(0);

#Grab each complete [...] block
while( $table_part =~ m/\G [^[]* \[ # find a "["
( [^]]+ ) \] # capture up to "]"
/gcx ) {
$_ = $1;

my %hash;
my ($id, @cells) = split (m/[()]+/s);

next unless scalar(@cells);

# Trim junk
$id =~ s/^-//;
$id =~ s/:.*//;

if($row_hash{$id}) {
%hash = ( %{$row_hash{$id}} );
} else {
%hash = ( 'ID' => $id,
'LastVisitDate' => 0 );
}

foreach (@cells) {
next unless $_;

my ($keyi, $which, $vali) =
m/^\^ ([-\dA-F]+)
([\^=])
(.*)
$/xi;

error ("$file: unparsable cell: $_\n") unless defined ($vali);

# If the key isn't in the key table, ignore it
#
my $key = $key_table{$keyi};
next unless defined($key);

my $val = ($which eq '='
? $vali
: $val_table{$vali});

if ($key eq 'LastVisitDate' || $key eq 'FirstVisitDate') {
$val = int ($val / 1000000); # we don't need milliseconds, dude.
}

$hash{$key} = $val;
#print "$id: $key -> $val\n";
}


if ($age && ($hash{LastVisitDate} || $since) < $since) {
print STDERR "$progname: $file: skipping old: " .
"$hash{LastVisitDate} $hash{URL}\n"
if ($verbose > 3);
$skipped++;
next;
}

$total++;
$row_hash{$id} = \%hash;
}
}


##########################################################################
# parse a values table
##########################################################################

sub mork_parse_value_table {
my($file, $section, $val_part) = (@_);

return unless $val_part;

my @pairs = split (m/\(([^\)]+)\)/, $val_part);
$val_part = undef;

print STDERR "\n" if ($verbose > 3);

foreach (@pairs) {
next unless (m/[^\s]/s);
my ($key, $val) = m/([\dA-F]*)[\t\n ]*=[\t\n ]*(.*)/i;

if (! defined ($val)) {
print STDERR "$progname: $file: $section: unparsable val: $_\n";
next;
}

# Assume that URLs and LastVisited are never hexilated; so
# don't bother unhexilating if we won't be using Name, etc.
if($show_all_p && $val =~ m/\$/) {
# Approximate wchar_t -> ASCII and remove NULs
$val =~ s/\$00//g; # faster if we remove these first
$val =~ s/\$([\dA-F]{2})/chr(hex($1))/ge;
}

$val_table{$key} = $val;
print STDERR "$progname: $file: $section: val $key = \"$val\"\n"
if ($verbose > 3);
}
}


##########################################################################
# parse a key table
##########################################################################

sub mork_parse_key_table {
my ($file, $section, $key_table) = (@_);

print STDERR "\n" if ($verbose > 3);
$key_table =~ s@\s+//.*$@@gm;

my @pairs = split (m/\(([^\)]+)\)/s, $key_table);
$key_table = undef;

foreach (@pairs) {
next unless (m/[^\s]/s);
my ($key, $val) = m/([\dA-F]+)\s*=\s*(.*)/i;
error ("$file: $section: unparsable key: $_") unless defined ($val);

# If we're only emitting URLs and dates, don't even bother
# saving the other fields that we aren't interested in.
#
next if (!$show_all_p &&
$val ne 'URL' && $val ne 'LastVisitDate' &&
$val ne 'VisitCount');

$key_table{$key} = $val;
print STDERR "$progname: $file: $section: key $key = \"$val\"\n"
if ($verbose > 3);
}
}


sub html_quote {
my ($s) = @_;
$s =~ s/&/&amp;/g;
$s =~ s/</&lt;/g;
$s =~ s/>/&gt;/g;
$s =~ s/\"/&quot;/g;
return $s;
}

sub html_wrap {
my ($s) = @_;
$s = html_quote ($s);

# while there are non-wrappable chunks of 30 characters,
# insert wrap points at certain punctuation characters every 10 characters.
while ($s =~ m/[^\s]{30}/s) {
last unless ($s =~ s@([^\s]{10})([/;,])([^/\s])@$1$2 $3@gs ||
$s =~ s@([^\s]{10})([-_\$\#?.]|&amp;|%(2F|2C|26))@$1 $2@gs);
}

# if we still have non-wrappable chunks of 40 characters,
# insert wrap points every 30 characters no matter what.
while ($s =~ m/[^\s]{40}/s) {
last unless ($s =~ s@([^\s]{30})@$1 @gs);
}

return $s;
}

sub format_urls {
my ($results, $html_p) = @_;

print "<TABLE BORDER=0 CELLPADDING=" . ($show_all_p ? "4" : "0") .
" CELLSPACING=0>\n"
if ($html_p);

foreach my $hash (@$results) {

if ($show_all_p) {
#
# Print every field in the hash.
#

if ($html_p) {
print " <TR>\n";
print " <TD NOWRAP ALIGN=RIGHT VALIGN=TOP>$hash->{ID}&nbsp;</TD>\n";
print " <TD NOWRAP>\n";
print " <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>\n";
}

my %key_sort_table = (
'ID' => ' 0 ',
'URL' => ' 1 ',
'Name' => ' 2 ',
'Hostname' => ' 3 ',
'FirstVisitDate' => ' 4 ',
'LastVisitDate' => ' 5 '
);

foreach my $key (sort { ($key_sort_table{$a} || $a) cmp
($key_sort_table{$b} || $b)
} (keys(%$hash))) {
my $val = $hash->{$key};
if ($key eq 'LastVisitDate' || $key eq 'FirstVisitDate') {
$val = localtime ($val);
}
if ($html_p) {
next if ($key eq 'ID');
$key = html_quote ($key);
$val = ($key eq 'URL'
? "<A HREF=\"$val\">" . html_wrap ($val) . "</A>"
: html_wrap ($val));
print " <TR>\n";
print " <TD VALIGN=TOP NOWRAP ALIGN=RIGHT>$key: &nbsp;</TD>\n";
print " <TD VALIGN=TOP>$val</TD>\n";
print " </TR>\n";
} else {
print sprintf ("%14s = %s\n", $key, $val);
}
}

if ($html_p) {
print " </TABLE>\n";
print " </TD>\n";
print " </TR>\n";
}
print "\n";

} else {
#
# Print just the URLs and their last-load-times.
#
my $url = $hash->{'URL'};
my $date = $hash->{'LastVisitDate'} || 0;
my $count = $hash->{'VisitCount'} || 1;
next unless defined ($url);

if ($html_p) {
$date = strftime("%d %b %l:%M %p", localtime ($date));
my $u2 = html_wrap ($url);
print " <TR>";
print "<TD VALIGN=TOP ALIGN=RIGHT NOWRAP>";
print "($count) " if ($count > 1);
print "$date &nbsp;</TD>";
print "<TD VALIGN=TOP><A HREF=\"$url\">$u2</A></TD>";
print "</TR>\n";
} else {
print "$date\t$count\t$url\n";
}
}
}

print "</TABLE>\n" if ($html_p);
}


sub error {
($_) = @_;
print STDERR "$progname: $_\n";
exit 1;
}

sub usage {
print STDERR "usage: $progname [--verbose] [--html] [--age secs] " .
"mork-input-file\n" .
"\t'age' can be of the form '2h', '3d', etc.\n";
exit 1;
}

sub main {
my ($file, $age, $html_p);
while ($#ARGV >= 0) {
$_ = shift @ARGV;
if ($_ eq "--verbose") { $verbose++; }
elsif (m/^-v+$/) { $verbose += length($_)-1; }
elsif ($_ eq "--age") { $age = shift @ARGV; }
elsif ($_ eq "--html") { $html_p = 1; }
elsif (m/^-./) { usage; }
elsif (!defined($file)) { $file = $_; }
else { usage; }
}

usage() unless defined($file);

$show_all_p = ($verbose > 1);

if (!$age) {
} elsif ($age =~ m/^(\d+)\s*s(ec(onds?)?)?$/i) {
$age = $1 + 0;
} elsif ($age =~ m/^(\d+)\s*m(in(utes?)?)?$/i) {
$age = $1 * 60;
} elsif ($age =~ m/^(\d+)\s*h(ours?)?$/i) {
$age = $1 * 60 * 60;
} elsif ($age =~ m/^(\d+)\s*d(ays?)?$/i) {
$age = $1 * 60 * 60 * 24;
} elsif ($age =~ m/^(\d+)\s*w(eeks?)?$/i) {
$age = $1 * 60 * 60 * 24 * 7;
} elsif ($age =~ m/^(\d+)\s*m(on(ths?)?)?$/i) {
$age = $1 * 60 * 60 * 24 * 30;
} elsif ($age =~ m/^(\d+)\s*y(ears?)?$/i) {
$age = $1 * 60 * 60 * 24 * 365;
} else {
error ("unparsable: --age $age");
}

my $results = mork_parse_file ($file, $age);
format_urls ($results, $html_p);
}

main;
exit 0;




syntax highlighted by Code2HTML, v. 0.9.1

1.09.2008

Installing code2html on Ubuntu


1 cd /home/user/OperaDownloads/
2 mv code2html.tar.gz /var/www/
3 cd /var/www
4 tar -xvf code2html.tar.gz
5 cd code2html-0.9.1/
6 cd INSTALL
7 vim INSTALL
8 cd ..
9 ls -al
10 cd code2html-0.9.1/
11 ls -al
12
13 mv code2html /usr/bin
14 fg
15 chmod 755 /usr/bin/code2html
16 ls -al /usr/bin/code2html
17 chown root:root /usr/bin/code2html
18 ls -al /usr/local/man/man1
19 ls -al /usr/local/man/
20
21 mv code2html-0.9.1/ /usr/share/doc/code2html
22 ls -alr /usr/share/doc/code2html
23 fg
24 less /usr/share/doc/code2html/INSTALL
25 man code2html
26 mkdir /usr/local/man/man1
27 mv /usr/local/man/code2html.1 /usr/local/man/man1
28 man code2html
29 cat /usr/bin/code2html > /var/www/tmp.log
30 code2html -l perl /var/www/tmp.log /var/www/tmp.html




syntax highlighted by Code2HTML, v. 0.9.1

mysql höpölöpö


1 MySQL
2
3 echo Start the mysql as the root user using SecretPass password
4
5 echo Note that the clear command does not work from the shell so use the Ctrl + l shortcut to clear the messy screen
6 [mysql dir]/bin/mysql -h hostname -u root -p SecretPass
7
8 echo show the existing databases on this host (show present something like this )
9
10 show databases ;
11
12 mysql> show databases ;
13 +--------------------+
14 | Database |
15 +--------------------+
16 | information_schema |
17 | mysql |
18 +--------------------+
19 5 rows in set (0.00 sec)
20
21
22
23 echo running mysql in batch mode
24
25 shell> mysql -h host -u user -pSecretPass < /path/to/batch-file
26
27 ou can catch the output in a file for further processing:
28 shell> mysql < batch-file > mysql.out
29
30
31
32 DROP DATABASE `db_transpub` ;
33 CREATE DATABASE `db_transpub` DEFAULT CHARACTER SET utf8 ;
34 use db_transpub ;
35 DROP TABLE IF EXISTS `tb_contactDetails`;
36 CREATE TABLE `tb_contactDetails` (firstname VARCHAR(20), middlename VARCHAR(20), lastname VARCHAR(35),officeid VARCHAR(10),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups
37 VARCHAR(15),datestamp DATE,timestamp time, userId VARCHAR(15), PRIMARY KEY (`userId`));
38
39
40 miscelanious
41 echo how to get the version of mysql select version() phpMyAdmin provides php interface to mysql database(s)
42 MySQL Cheat Sheet
43
44 http://dev.mysql.com/doc/
45
46 search the documentation
47
48 To login (from unix shell) use -h only if needed.
49
50 [mysql dir]/bin/mysql -h hostname -u root -p
51 Create a database on the sql server.
52
53 create database [databasename];
54 List all databases on the sql server.
55
56 show databases;
57 Switch to a database.
58
59 use [db name];
60 To see all the tables in the db.
61
62 show tables;
63 To see database field formats.
64
65 describe [table name];
66 To delete a db.
67
68 drop database [database name];
69 To delete a table.
70
71 drop table [table name];
72 Show all data in a table.
73
74 SELECT * FROM [table name];
75 Returns the columns and column information pertaining to the designated table.
76
77 show columns from [table name];
78 Show certain selected rows with the value "whatever".
79
80 SELECT * FROM [table name] WHERE [field name] = "whatever";
81 Show all records containing the name "Bob" AND the phone number '3444444'.
82
83 SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444';
84 Show all records not containing the name "Bob" AND the phone number '3444444' order by the phone_number field.
85
86 SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
87 Show all records starting with the letters 'bob' AND the phone number '3444444'.
88
89 SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444';
90 Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a.
91
92 SELECT * FROM [table name] WHERE rec RLIKE "^a$";
93 Show unique records.
94
95 SELECT DISTINCT [column name] FROM [table name];
96 Show selected records sorted in an ascending (asc) or descending (desc).
97
98 SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
99 Return number of rows.
100
101 SELECT COUNT(*) FROM [table name];
102 Sum column.
103
104 SELECT SUM(*) FROM [table name];
105 Join tables on common columns.
106
107 select lookup.illustrationid, lookup.personid,person.birthday from lookup
108 left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
109 Switch to the mysql db. Create a new user.
110
111 INSERT INTO [table name] (Host,User,Password) VALUES('%','user',PASSWORD('password'));
112 Change a users password.(from unix shell).
113
114 [mysql dir]/bin/mysqladmin -u root -h hostname.blah.org -p password 'new-password'
115 Change a users password.(from MySQL prompt).
116
117 SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
118 Allow the user "bob" to connect to the server from localhost using the password "passwd"
119
120 grant usage on *.* to bob@localhost identified by 'passwd';
121 Switch to mysql db.Give user privilages for a db.
122
123 INSERT INTO [table name] (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
124
125 or
126
127 grant all privileges on databasename.* to username@localhost;
128 To update info already in a table.
129
130 UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user';
131 Delete a row(s) from a table.
132
133 DELETE from [table name] where [field name] = 'whatever';
134 Update database permissions/privilages.
135
136 FLUSH PRIVILEGES;
137 Delete a column.
138
139 alter table [table name] drop column [column name];
140 Add a new column to db.
141
142 alter table [table name] add column [new column name] varchar (20);
143 Change column name.
144
145 alter table [table name] change [old column name] [new column name] varchar (50);
146 Make a unique column so you get no dupes.
147
148 alter table [table name] add unique ([column name]);
149 Make a column bigger.
150
151 alter table [table name] modify [column name] VARCHAR(3);
152 Delete unique from table.
153
154 alter table [table name] drop index [colmn name];
155 Load a CSV file into a table.
156
157 LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
158 Dump all databases for backup. Backup file is sql commands to recreate all db's.
159
160 [mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql
161 Dump one database for backup.
162
163 [mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql
164 Dump a table from a database.
165
166 [mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
167 Restore database (or database table) from backup.
168
169 [mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql
170 Create Table Example 1.
171
172 CREATE TABLE [table name] (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups
173 VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
174 Create Table Example 2.
175
176 create table [table name] (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastnamevarchar(50) default '
bato');
177
178 ;who has what priviledges
179
180 show grants ;
181
182
183 simple setup of php based web interface to a mysql database
184
185 This tutorial uses Ubuntu 7.10 the Gutsy Gibbon, Apache 2.0 , php5 and mysql
186
187 The follwoing main phpases are used:
188
189
190
191 - install Apache
192
193 - install mysql
194
195 - configure mysql - add users , create databases on mysql
196
197 - configure Apache
198
199 - install myPhpAdmin
200
201 - configure myPhpAdmin
202
203
204
205 1.Install Apache
206
207 #INSTALL APACHE
208
209 sudo apt-get install apache2
210
211 #Start or stop Apache
212 sudo /etc/init.d/apache2 stop | start | restart
213 #if installation of previous packages has failed
214 dpkg --configure -a
215
216 #install PHP mod_php for Apache
217 sudo apt-get install php5 libapache2-mod-php5
218
219 echo '
<?php echo "Haaudi World"; ?>' > /var/www/test.php
220 open http://localhost/test.php - > you should see Haudi World
221
222 2. Install mySQL
223
224 #if installation of previous packages has failed
225
226 dpkg --configure -a
227 sudo /etc/init.d/apache2 stop | start | restart
228
229 #install mysql server
230 sudo apt-get install mysql-server
231 #when prompted type in your password
232
233 #if not prompted the command to get to the mysql prompt is :
234
235 mysql -uroot -pmysql
236
237 #set the password with the following:
238 mysql> SET PASSWORD FOR '
root'@'localhost' = PASSWORD('SecretPass');
239 #run the mysql with:
240 mysql -uroot -pSecretPass
241
242 #view the databases
243
244 show databases ;
245
246 #create a database with one table
247
248 create database testdb ;
249
250 use db_test
251
252 CREATE TABLE tb_testtable(
253 column0 INT PRIMARY KEY AUTO_INCREMENT,
254 column1 VARCHAR(100),
255 column2 VARCHAR(10) ) TYPE=INNODB;
256
257 3. Intall php
258
259 #install the php admin
260 sudo apt-get install libapache2-mod-auth-mysql php5-mysql
261 #when prompted configure the type of servers
262
263 #Other php modules usefull for development
264 apt-get install php5-gd
265 apt-get install php5-ldap
266 apt-get install php5-mysql
267 apt-get install php5-openssl
268 apt-get install php5-pear
269
270 4. Install phpMyAdmin
271
272 Download the latest stable build of phpMyAdmin [[http://surfnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.3-all-languages.tar.bz2]]
273
274 #place the tar under a phpMyAdmin folder (you would have to create it mkdir /var/www/phpMyAdmin ) under your doc root folder
275
276 mv /home/user/downloads/phpMyAdmin-2.11.3-all-languages/ /var/www/phpMyAdmin
277
278 tar -xvf phpMyAdmin-2.11.3-all-languages.tar.bz2
279
280 #configure the most sipliest (not sucure !!!) setup
281
282 vim /var/www/phpMyAdmin/config.inc.php
283
284 paste the following code in it:
285
286 ==============================COPY PASTE START
287
288 <?php
289
290 $cfg['
blowfish_secret']='shazaam' ; // use here a value of your choice
291 $i=0;
292 $i++;
293 $cfg['
Servers'][$i]['auth_type'] = 'cookie';
294 ?>
295
296 ==============================COPY PASTE END
297
298 Go to the login page :
299
300 http://localhost/phpMyAdmin/
301
302 Login in with the same password you set up during the mysql configuration(here user:root pass:SecretPass)
303
304




syntax highlighted by Code2HTML, v. 0.9.1

simple setup of php based web interface to a mysql database

This tutorial uses Ubuntu 7.10 the Gutsy Gibbon, Apache 2.0 , php5 and mysql

The follwoing main phpases are used:



- install Apache

- install mysql

- configure mysql - add users , create databases on mysql

- configure Apache

- install myPhpAdmin

- configure myPhpAdmin



1.Install Apache

#INSTALL APACHE

sudo apt-get install apache2

#Start or stop Apache
sudo /etc/init.d/apache2 stop | start | restart
#if installation of previous packages has failed
dpkg --configure -a

#install PHP mod_php for Apache
sudo apt-get install php5 libapache2-mod-php5

echo '' > /var/www/test.php
open http://localhost/test.php - > you should see Haudi World

2. Install mySQL

#if installation of previous packages has failed

dpkg --configure -a
sudo /etc/init.d/apache2 stop | start | restart

#install mysql server
sudo apt-get install mysql-server
#when prompted type in your password

#if not prompted the command to get to the mysql prompt is :

mysql -uroot -pmysql

#set the password with the following:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('SecretPass');
#run the mysql with:
mysql -uroot -pSecretPass

#view the databases

show databases ;

#create a database with one table

create database testdb ;

use db_test

CREATE TABLE tb_testtable(
column0 INT PRIMARY KEY AUTO_INCREMENT,
column1 VARCHAR(100),
column2 VARCHAR(10) ) TYPE=INNODB;

3. Intall php

#install the php admin
sudo apt-get install libapache2-mod-auth-mysql php5-mysql
#when prompted configure the type of servers

#Other php modules usefull for development
apt-get install php5-gd
apt-get install php5-ldap
apt-get install php5-mysql
apt-get install php5-openssl
apt-get install php5-pear

4. Install phpMyAdmin

Download the latest stable build of phpMyAdmin [[http://surfnet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.3-all-languages.tar.bz2]]

#place the tar under a phpMyAdmin folder (you would have to create it mkdir /var/www/phpMyAdmin ) under your doc root folder

mv /home/user/downloads/phpMyAdmin-2.11.3-all-languages/ /var/www/phpMyAdmin

tar -xvf phpMyAdmin-2.11.3-all-languages.tar.bz2

#configure the most sipliest (not sucure !!!) setup

vim /var/www/phpMyAdmin/config.inc.php

paste the following code in it:

==============================COPY PASTE START


$cfg['blowfish_secret']='shazaam' ; // use here a value of your choice
$i=0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
?>

==============================COPY PASTE END

Go to the login page :

http://localhost/phpMyAdmin/

Login in with the same password you set up during the mysql configuration(here user:root pass:SecretPass)

>

1.03.2008

ReadDir.pl

use DirHandle ;
use Cwd ;
use strict ;
use warnings ;
print "Read the whole directory for specific types of files " ;
my $path = cwd();
my $dh = DirHandle->new($path) or die "Can't open $path : $!\n";
my @files = grep { /\.doc$/i } $dh->read();
foreach ( @files ) { print $_ , "\n" ; }

1.02.2008

Ubuntu stuff

Ubuntu
Ubuntu-tietoja tänne.
Add colors in vim and terminal

sudo vi /etc/vim/vimrc

Enable syntax on



set alias for ls in the

vim /root/.bashrc

apt-get install vim

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
alias dir='ls --color=auto --format=vertical'
alias vdir='ls --color=auto --format=long'
alias cls=clear
fi

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'


install and configure open-ssh client and server

echo You should have those, but run the comands to install any newer version if there are any ...

sudo apt-get install openssh-client

sudo apt-get install openssh-server

echo change the default port to listen from Port 22 - > Portxxxx

vim /etc/ssh/sshd_config

echo Restart the sshd deamon

sudo /etc/init.d/ssh restart




install flash player for Firefox

sudo aptitude install flashplugin-nonfree
?>
Install LAMP

#iNSTALL APACHE

sudo apt-get install apache2

#Start or stop Apache
sudo /etc/init.d/apache2 stop | start | restart

#if installation of previous packages has failed

dpkg --configure -a

#install PHP mod_php for Apache
sudo apt-get install php5 libapache2-mod-php5

echo '' > /var/www/test.php

open http://localhost/test.php - > you should see Haudi World

#install mySQL
#iNSTALL APACHE

sudo apt-get install apache2

#Start or stop Apache

#if installation of previous packages has failed

dpkg --configure -a

sudo /etc/init.d/apache2 stop | start | restart

#install PHP mod_php for Apache

sudo apt-get install php5 libapache2-mod-php5

echo '' > /var/www/test.php

#iNSTALL APACHE

sudo apt-get install apache2

#Start or stop Apache

#if installation of previous packages has failed

dpkg --configure -a

sudo /etc/init.d/apache2 stop | start | restart

#install PHP mod_php for Apache

sudo apt-get install php5 libapache2-mod-php5

echo '' > /var/www/test.php
#install mysql
#iNSTALL APACHE

sudo apt-get install apache2

#Start or stop Apache
#if installation of previous packages has failed
dpkg --configure -a
sudo /etc/init.d/apache2 stop | start | restart
#install PHP mod_php for Apache
sudo apt-get install php5 libapache2-mod-php5
echo '' > /var/www/test.php
#iNSTALL APACHE
sudo apt-get install apache2
#if installation of previous packages has failed
dpkg --configure -a
#Start or stop Apache
sudo /etc/init.d/apache2 stop | start | restart
#install PHP mod_php for Apache
sudo apt-get install php5 libapache2-mod-php5
echo '' > /var/www/test.php
#install mysql server
sudo apt-get install mysql-server
#when prompted type in your password
#if not prompted set the password with the following:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('xxxxxx');
#run the mysql with:
mysql -uroot -pTypeHereYourVarySecretPass
#install the php admin
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
#when prompted configure the type of servers
Simple FAQ

How to change the keyboard input language:

System - Preferences - Keyboard - Layouts - Add

How to assign keyboard shortcuts ?

System - Preferences - Keyboard - Layout options - (for example AltGr + T )could start the terminal
tips & tricks
history > /var/www/history.log
cat /path/file >/var/www/copypaste.log
http://localhost/copypaste.log
http://localhost/history.log
update Ubuntu

You can only directly upgrade to Ubuntu 7.10 ("Gutsy Gibbon") from Ubuntu 7.04 ("Feisty Fawn"

sudo apt-get install update-manager-core

if fails run

sudo do-release-upgrade


#install any application from the Ubuntu software repositories


apt-get install eclipse ; apt-get install geany


>

Blog Archive

My Blog List

Video Bar

Loading...

About Me

My Photo
Yordan Georgiev
It is one thing to know what to want, second to really want it, third to know how to do it, fourth to be skillful to do it, fifth to actually do it and last but not least to go on without regrets after having done it. LinkedIn Profile
View my complete profile