Thursday, September 30, 2010

IT profressional job description -videos

Computer Systems Analysts

Help Desk Technicians

Computer and Information

Network Administrator


DataEntry Information Processing

Computer Information

Computer Operators

Computer Programmer

Computer Software

Computer Support

Information Technology

DataProcessing Equipment

Fiber Optic Technicians

Perl Video tutorial

1 - Active
Perl, Perl Editor, Hello World

2 - Program Basics
4 -Arrays:

5 - Arrays:
push, pop, shift, unshift

Upload an animated gif file in blog

 I download a free trial version from
I produced following animated gif:

Wait, the ball is not animated.  This is because: if you upload the animated image direct via the Blogger photo upload icon Google Blogger photo upload icon, the image will no longer be animated.

I need to upload my animated gif to the free Photobucket image host and it give you 4 codes. The second one is the actual URL and if you are familiar with HTML for displaying images, you can type the HTML yourself. It will be of the form
<img scr="photo URL" alt="some text" title="some text" / >

Replace 'photo URL' with the actual URL of the photo which you can get by clicking on the second box (Direct Link) . Now I can see the animated one below.

PHP/MySQL video tutorial

part3 part 4 part5 part6 part

Several video plug-in dowload for Firefox

DivX Web Player for Windows (download) or Mac(download)
To play XviD videos (x-msvideo plug-in) you first need to install the XviD codec on your computer. To install the XviD codec, simply download the latest version of the codec available for your system and follow the installation instructions:

XviD codec v1.2.2 for Windows (637KB)
Mac OS
XviD codec v1.2.2 for Mac OS (Link)

Click HERE to download plug-in for:
  1. Adobe Reader,
  2. Adobe Flash Player
  3. Java
  4. QuickTime
  5. RealPlayer
  6. Shockwave
  7. Windows Media Player

python video tutorial

1. Installing
2 - Numbers and
3 -
4 - Modules and
5 - How to Save
Your Programs
6 - Strings
7 - More on
 8 - Raw
9 - Sequences
and Lists
10. Slicing 11 - Editing
12 - More List
 13 -
Slicing Lists
14 - Intro to
15 - More
16 - Sort and
17 - Strings n
18 - Cool
String Methods
20 - If
 21 - else
and elif
 22 - Nesting
 23 - Comparison
24 - And and
25 - For and
While Loops
 26 - Infinite
Loops and Break
 27 - Building 
28 - Default
29 - Multiple
- Parameter Types
31 - Tuples as
32 - Object
Oriented Program
33 - Classes
and Self
34 - Subclasses
35 - Overwrite
Variable on Sub
36 - Multiple
Parent Classes
- Constructors
38 - Import
 39 -
reload Modules
 40 -
Getting Module Info
 41 - Working
with Files
42 - Reading
and Writing
- Writing Lines

Free HTML Editor for Windows --PageBreeze

I find PageBreeze is a very good free html editor for Windows. You can download a free copy from

Wednesday, September 29, 2010

Education job in Canada --yahoo pipe

computer and IT job in Vancouver -yahoo pipe

University job in West Canada --yahoo pipe

Public Sector job in Canada -Yahoo pipe

British Columbia Government Jobs RSS Feed -Yahoo pipe

Vancouver Recruiter --RSS Feed

Tuesday, September 28, 2010

Introduction to Algorithms -- course video

1. Algorithms, Insertion Sort, Mergesort 2. Asymptotic Notation | Recurrences | Substitution, 3.Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multi 4 Quicksort, Randomized Algorithms 5.Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort
6.Order Statistics, Median 7.Hashing, Hash Functions8.Universal Hashing, Perfect Hashing 9 Universal Hashing, Perfect Hashing 10 Trees, Rotations, Insertions, Deletions
11  Data Structures, Dynamic Order   12 Skip Lists13. Amortized Algorithms, Table Doubling, Potential Method 14 Competitive Analysis: Self-organizing Lists 15 Dynamic Programming, Longest Common Subsequence
16. Greedy Algorithms, Minimum Spanning 17. Shortest Paths I: Properties, Dijkstra18. Shortest Paths II: Bellman-Ford, Linear Programming,  19.Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall,  20. Advanced Topics
21. Advanced Topics 22. Advanced Topics (cont.)23. Advanced Topics (cont.)

Monday, September 27, 2010

C++ tutorial videos

1: Installing Compiler for C++ 2: The Basic Syntax and Functions3: Declaration Statements and Variables4: Modify Variables to New Values 5: cin and User Input
6: Beginning Functions 7: Arguments in Functions 8: User Defined Functions 9: Return Values in Functions 10: Beginning Arrays
11: More on Arrays 12: For Loops 13: While Loop 14: Do While Loop 15: Address Operator
16: Creating a Pointer 17: if Statement 18: if else Statement 19: if else if else Statement 20:Logical OR Operator
21: Switch Statement 22: Structures23: Writing on Files 24: Reading From a File 25: Passing Arrays into Functions
26: Populating an Array with Functions 27: Protecting Arrays with const 28: Changing Array Values with Functions 29: Array Ranges in Functions

Sunday, September 26, 2010

How to create and manage google adsense search?

After creating your search engine, you can access these advanced features by following these steps:

  1. Sign in to your AdSense account.
  2. Select the AdSense Setup tab.
  3. Click the Manage Ads link. 
  4. select inactive unit and hidden unit  (Don't worry, inactive does not mean not working, just the way it is,inactive means do not receive any impression in last 7 days), you can select  Create a new AdSense unit if you want to create new one, that will guide you through all procedures.
  5. Find the search engine you'd like to update and click edit basic settings.
  6. Choose the View more advanced features link at the top. 
I create a video search engine using following websites:

Saturday, September 25, 2010

How to add more than 10 Blog Pages in your blog?

There are maximum 10 Blog Pages in blog. Want to add more? I have one trick for this.

Go to Design->html/Javascript,  find some javascript in the web, something like my sample, move html/Javscript to the top, you can add a lot of  your posts in the  script file. My sample:

Friday, September 24, 2010

How to copy your blog design template to your another blog?

After you design your blog, you may want to apply the same template to another blog.
1) Go to Design->Edit html, copy html code
2) Go to your new blog, Design->Edit html, delete
html code, past the code from 1)
3) Click Save template.

I use this method to create another blog in short time: 

How to increase your blog width?

If you want to increase your blog width within maximum width

1) Go to Design->Template Designer->Layout->Adjust Width

If you want to increase the blog width beyond maximum width
Go to Design->Edit html
find the line
 <b:variable default='930px' name='content.width' type='length' value='970px'/>
replace 970px with the value you want, such as 1200px, then
click save template. Done!

I increase my blog width for  better Video and TV performance as

How to share your website/blog via facebook, twitter etc social network

It is quite simple,
1) go to website
2) click get button
3) click copy code, copy html code
4) go to blog->Design->HTML/JavasSript
copy your html code, save
5) You can see the result in the right bar of my blog or below:

Thursday, September 23, 2010

Creat new blog for online TV, Movies, Music and Games.

Collection online TV, Movies, Music and Games. I will design some online tools to make better online surfing, catalog and view. Visit it often for updating.

1TVPC movie

This is just embed a link to 1TVPC,

Wednesday, September 22, 2010

CNN News (English)

There will be a poker ads popup, just click it away

WCETV-digital (Chinese)

CCTV (chinese TV) News -English

How to resize a Windows Media Player video in FireFox

Windows Media Player does not support automatically resize the
video size. You can right click the mouse and resize to 200%. But
it is a little difficult to put it as default in html code.
The solution can be found in

You need two objects, one for Internet explorer (first part below), another for FireFox (second part below).
 FireFox: type="application/x-ms-wmp"

 MSIE: type="video/x-ms-wmv"

<object id="MSIE" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" 
type="video/x-ms-wmv" width="640" height="548">

    <param name="URL" value=""
    <param name="AutoStart" value="true">

    <param name="ShowTracker" value="true">
    <param name="ShowControls" value="true">

    <param name="ShowGotoBar" value="false">
    <param name="ShowDisplay" value="false">

    <param name="ShowStatusBar" value="false">
    <param name="AutoSize" value="false">

    <param name="StretchToFit" value="true">

<object type="application/x-ms-wmp" id=
"FireFox" width="640" height="548">

    <param name=
"URL" value="">
    <param name="AutoStart" value="true">

    <param name="ShowTracker" value="true">
    <param name="ShowControls" value="true">

    <param name="ShowGotoBar" value="false">
    <param name="ShowDisplay" value="false">

    <param name="ShowStatusBar" value="false">
    <param name="AutoSize" value="false">

    <param name="StretchToFit" value="true">
<a></a> <!--MSIE workaround-->


Below is the video from above code, now the new video is twice as large as its original one.

Chinese Taiqi courses -video

按一下链接, 自动在同一窗口播放可能要等二十秒.
netwalker, netwalker,
网络漫游者, 网络漫游者 想到那, 写到那。我的英文博客:
Online TV collections

Toronto Chinese TV 教程 3 教程 4 教程 5
教程 6 教程 7教程 8 教程 9 教程 10
教程 11 教程 12教程 13 教程 14 教程 15

Tuesday, September 21, 2010

How to embed TV in your blog

There are two ways:

1)  Go to this Google Gadget page8080. Choose the Display and Channel settings you want and click Get Code button. You are provide a line of code which will be used for your blog or webpage.
Copy and Paste the code where you desire in your blog.That's it.
2) Another way,  go to the TV website, such as
and copy the embed code. Below is the Chinese Toront TV show. (need to wait 60 seconds to buffer, only click the arrow, or another window will popup)

Monday, September 20, 2010

plot and embed dynamic stock chart using amcharts

1) amcharts can be downloaded from
I only download stock. The FAQ can be found
2). For beginner, only three files are most important.
amstock.swf, data.csv, amstock_settings.xml

3) I download Canada S&P/TSX csv file from^GSPTSE&a=00&b=3&c=2000&d=08&e=20&f=2010&g=d
and save it as data.csv. In amstock_settings.xml, replace date, volume close
using following, which are the data format from download.




I change the title in amstock_settings.xml as Canada S&P/TSX
4) I simply display amstock.swf in my web server.
Below is the results, you can select any time range, the same as yahoo financial.

Embed stock index in your blog using goolge finance

1. One simple way is to embed image, Example Canada S&P/TSX
image source (changed real time when reloaded):

2. Go to Google finance, go to
click link to this chart, copy the code, still need to think of how to get off
things other than the chart

Sunday, September 19, 2010

The story of autumn

Saturday, September 18, 2010

Google Chinese PinYin Input Method

Download Google PinYin Input Method

Google Chinese PinYin Input Method is free to download and supported
Windows platform like 2000, XP, Vista and Windows 7 works Internet Explorer 6.0, 6.5 and above.

Friday, September 17, 2010

online Movies (1)

Need 20 seconds to buffer

C++ interview questions (5) -Algorithm

C++ interview Questions (1)
C++ interview Questions (2)
C++ interview questions (3)
C++ interview questions(4)

26.Describe hash table  and one simple rehashing policy.
A hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys (e.g., a person's name), to their associated values (e.g., their telephone number)

The implementation of this calculation is the hash function f:
index = f(key, arrayLength)
The hash function calculates an index within the array from the data key. arrayLength is the size of the array.

The simplest rehashing policy is linear probing. Suppose a key K hashes to location i. Suppose other key occupies H[i]. The following function is used to generate alternative locations:

rehash(j) = (j + 1) mod n
where j is the location most recently probed and n the size of the hash table. Initially j = i, the hash code for K. Notice that this version of rehash does not depend on K.

Linear probing is a scheme in for resolving hash collisions of values of hash functions by sequentially searching the hash table for a free location.[1]
newLocation = (startingValue + stepSize) % arraySize

The first source code is an implementation of a Hash Map with open addressing (linear probing) as collision resolution method.
// hashMapLinear[] is the hash map
void linearProbingInsert(int value){
    int probe = hash(value);
    while (hashMapLinear[probe]!=0){                            
        probe = fmod((probe+1),SIZE_HASH_MAP); 
    hashMapLinear[probe] = value; 
int linearProbingSearch(int value){
    int probe = hash(value);  
    int i;
    for(i=0;i<size_hash_map ;i++){     
            return TRUE;                             
        probe = fmod((probe+1),SIZE_HASH_MAP);               
    return FALSE;                                           

27. Describe Stacks and name a couple of places where stacks are useful. 
 A stack is a last in, first out (LIFO) abstract data type and data structure. A stack can have any abstract data type as an element, but is characterized by only two fundamental operations: push and pop. Many virtual machines are also stack-oriented, including the p-code machine and the Java Virtual Machine.

Below is example to  to use stacks to check an input file for parentheses matches.
Algorithm: Read from input file, process on character, push , i.e ++ptr if "(",  pop, i.e. --ptr  if ")",   the parentheses missing when ptr < 0

#include <fstream.h>
#include <stdlib.h>   // for exit(..)
#include <stdio.h>
#include "stack.h"

int main()
   char c;
   int k;
ifstream f; "input.txt" );

  if( ! f ){
    cout << "Error opening file. Quitting.\n";


      c = getchar();

   // loop through file one char at a time
   while (c!=EOF)
     // process one character
     // push (,  pop if ),
     // check stack empty if \n,
     // ignore others
     // if error, move to next line
       if (c == '(')

       else if (c == ')')
            if (c !== '\n')    
            else if (c == '(')
            stk_push (c);
// pop stack, if empty have missing (
       else if (c == '\n')
         // check on missing )
         // set up for next line
       if (stk_error()) //skip rest of line

       else // get next char
     } // endwhile
   return 0;

stach.h as below:
#define STK_ERROR '?' 
/* Private data: */
#define MAX 50 
static int error;   /* error flag */
static char data[MAX];   /* the stack */
static int ptr;         /* stack pointer */

/* Function implementation */

void stk_init() {
   ptr = 0;
   error = 0;

void stk_push(char x) {
    if (ptr < MAX) {
        data[ptr++] = x;
        error = 0;
        error = 1;

char stk_pop(void) {
    if (ptr > 0) {
        int x = data[--ptr];
        error = 0;
        return x;
    } else {
        error = 1;
        return STK_ERROR;

char stk_top(void) {
    if (ptr > 0) {
        error = 0;
        return data[ptr-1];
    } else {
        error = 1;
        return STK_ERROR;

int stk_size(void) {
    return ptr;

int stk_error(void) {
    return error;

Thursday, September 16, 2010

Top ten you tube music video, Sept 16, 2010 - music video (3)

Wednesday, September 15, 2010

"Mac or PC" Rap - music video (2)

Large File Support in Linux for C/C++ operations

In a C/C++ application the file operations can be handled using the fcntl.h header file.

It provides operations for opening, writing to a file and many more. The size of every file is stored in a variable of type off_t. For 32-bit systems the maximum value for off_t is 231 thus limiting the maximal file size to 231 bytes (2 GiB). For 64 bit systems like x86-64 this maximum value is much greater and they have support for large files with size up to 263 bytes.

Python interview questions (2)

Python interview question (1)

8. What is self in python?
The first argument of every class method, including __init__, is always a reference to the current instance of the class. By convention, this argument is always named self. In the __init__ method, self refers to the newly created object; in other class methods, it refers to the instance whose method was called. Although you need to specify self explicitly when defining the method, you do not specify it when calling the method; Python will add it for you automatically.

For example:
>>> class Complex:
...     def __init__(self, realpart, imagpart):
...         self.r = realpart
...         self.i = imagpart
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5) 
9. What is class and method?
 Class objects are used as  templates to create
 instance objects, which embody both   data 
  and methods. Methods are defined as functions inside
  the class definition.

class BaseClass:
    # This data will exist in all
    # BaseClasses (even uninstantiated ones)
    Name = "BaseClass"
    # __init__ is a class constructor
    # __****__ is usually a special class method.
    def __init__(self, arg1, arg2):
        # These values are created
        # when the class is instantiated.
        self.value1 = arg1
        self.value2 = arg2

    # Self is used as an argument to
    # pretty much all class functions.
    # However, you do NOT need to pass
    # the argument self if you call this method
    # from a Class, because the class provides
    # the value of itself.
    def display(self):
        print self.Name
        print self.value1
        print self.value2

 10. How do I make a Python script executable on Unix? 

You need to do two things: the script file's mode must 
be executable and the first line must begin with #! 
followed by the path of the Python interpreter. 

The first is done by executing chmod +x scriptfile or 
perhaps chmod 755 scriptfile. 

The second can be done in a number of ways. The most 
straightforward way is to write 


as the very first line of your file, using the pathname 
for where the Python interpreter is installed on your 

If you would like the script to be independent of where 
the Python interpreter lives, you can use the "env" 
program. Almost all Unix variants support the following, 
assuming the python interpreter is in a directory on the 
user's $PATH: 

#! /usr/bin/env python 

python interview questions (1)

   Think in python, a nice online python book.

1. What is Python?
Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes.

2.  How can I find the methods or attributes of an object?
For an instance x of a user-defined class, dir(x) returns an alphabetized list of the names containing the instance attributes and methods and attributes defined by its class.

3. How do I convert a string to a number?
For integers, use the built-in int() type constructor, e.g. int('144') == 144. Similarly, float() converts to floating-point, e.g. float('144') == 144.0. The number 144 to the string '144', use the built-in function str().

4. What is tuple and list? How to convert between tuple and list?
A tuple is a sequence of values. The values can be any type, and they are indexed by integers, so in that respect tuples are a lot like lists. The important difference is that tuples are immutable.

Like a string, a list is a sequence of values. In a string, the values are characters; in a list, they can be any type. The values in a list are called elements or sometimes items. The list is mutable.

A dictionary is like a list, but more general. In a list, the indices have to be integers; in a dictionary they can be (almost) any type.

The function tuple(seq) converts any sequence (actually, any iterable) into a tuple. The function list(seq) converts any sequence or iterable into a list with the same items in the same order.  

5. What is numpy and scipy?
numpy is a python extension module to support efficient operation on arrays of homogeneous data.

SciPy is a set of Open Source scientific and numeric tools for Python. It currently supports special functions, integration, ordinary differential equation (ODE) solvers, gradient optimization, parallel programming tools, an expression-to-C++ compiler for fast execution, and others.

6.What scientific libraries are available in SciPy?

The full SciPy also has the following modules:
information theory functions (currently, vq and kmeans)
fast Fourier transform module based on fftpack and fftw when available
numeric integration for bounded and unbounded ranges. ODE solvers.
interpolation of values from a sample data set.
reading and writing numeric arrays, MATLAB .mat, and Matrix Market .mtx files
access to the BLAS and LAPACK libraries
linear algebra and BLAS routines based on the ATLAS implementation of LAPACK
Support for fitting maximum entropy models, either discrete or continuous
other routines that don't clearly fit anywhere else. The Python Image Library (PIL) interface is located here.
constrained and unconstrained optimization methods and root-finding algorithms
signal processing (1-D and 2-D filtering, filter design, LTI systems, etc.)
Some sparse matrix support. LU factorization and solving Sparse linear systems
special function types (bessel, gamma, airy, etc.)
statistical functions (stdev, var, mean, etc.)
compilation of numeric expressions to C++ for fast execution
6. How to load an array from a text file in pyhton?

Use numpy.loadtxt. Even if your text file has header and footer lines or comments, loadtxt can almost certainly read it; it is convenient and efficient.

7. What is matplotlib and pylab?

matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hard-copy formats and interactive environments across platforms.

The package pylab combines matplotlib, scipy with numpy into a single namespace.

    from pylab import *

That gets them NumPy, SciPy, and Matplotlib. A rough equivalent would be:

   from pylab import *
   from numpy import *
   rom scipy import *
plotting commands
acorr plot the autocorrelation function
annotate annotate something in the figure
arrow add an arrow to the axes
axes create a new axes
axhline draw a horizontal line across axes
axvline draw a vertical line across axes
axhspan draw a horizontal bar across axes
axvspan draw a vertical bar across axes
axis set or return the current axis limits
barbs a (wind) barb plot
bar make a bar chart
barh a horizontal bar chart
broken_barh a set of horizontal bars with gaps
box set the axes frame on/off state
boxplot make a box and whisker plot
cla clear current axes
clabel label a contour plot
clf clear a figure window
clim adjust the color limits of the current image
close close a figure window
colorbar add a colorbar to the current figure
cohere make a plot of coherence
contour make a contour plot
contourf make a filled contour plot
csd make a plot of cross spectral density
delaxes delete an axes from the current figure
draw Force a redraw of the current figure
errorbar make an errorbar graph
figlegend make legend on the figure rather than the axes
figimage make a figure image
figtext add text in figure coords
figure create or change active figure
fill make filled polygons
fill_between make filled polygons between two curves
findobj recursively find all objects matching some criteria
gca return the current axes
gcf return the current figure
gci get the current image, or None
getp get a graphics property
grid set whether gridding is on
hexbin make a 2D hexagonal binning plot
hist make a histogram
hold set the axes hold state
ioff turn interaction mode off
ion turn interaction mode on
isinteractive return True if interaction mode is on
imread load image file into array
imsave save array as an image file
imshow plot image data
ishold return the hold state of the current axes
legend make an axes legend
locator_params adjust parameters used in locating axis ticks
loglog a log log plot
matshow display a matrix in a new figure preserving aspect
margins set margins used in autoscaling
pcolor make a pseudocolor plot
pcolormesh make a pseudocolor plot using a quadrilateral mesh
pie make a pie chart
plot make a line plot
plot_date plot dates
plotfile plot column data from an ASCII tab/space/comma delimited file
pie pie charts
polar make a polar plot on a PolarAxes
psd make a plot of power spectral density
quiver make a direction field (arrows) plot
rc control the default params
rgrids customize the radial grids and labels for polar
savefig save the current figure
scatter make a scatter plot
setp set a graphics property
semilogx log x axis
semilogy log y axis
show show the figures
specgram a spectrogram plot
spy plot sparsity pattern using markers or image
stem make a stem plot
subplot make a subplot (numrows, numcols, axesnum)
subplots_adjust change the params controlling the subplot positions of current figure
subplot_tool launch the subplot configuration tool
suptitle add a figure title
table add a table to the plot
text add some text at location x,y to the current axes
thetagrids customize the radial theta grids and labels for polar
tick_params control the appearance of ticks and tick labels
ticklabel_format control the format of tick labels
title add a title to the current axes
tricontour make a contour plot on a triangular grid
tricontourf make a filled contour plot on a triangular grid
tripcolor make a pseudocolor plot on a triangular grid
triplot plot a triangular grid
xcorr plot the autocorrelation function of x and y
xlim set/get the xlimits
ylim set/get the ylimits
xticks set/get the xticks
yticks set/get the yticks
xlabel add an xlabel to the current axes
ylabel add a ylabel to the current axes
autumn set the default colormap to autumn
bone set the default colormap to bone
cool set the default colormap to cool
copper set the default colormap to copper
flag set the default colormap to flag
gray set the default colormap to gray
hot set the default colormap to hot
hsv set the default colormap to hsv
jet set the default colormap to jet
pink set the default colormap to pink
prism set the default colormap to prism
spring set the default colormap to spring
summer set the default colormap to summer
winter set the default colormap to winter
spectral set the default colormap to spectral