Thursday, March 4, 2010

Ch. 5 - Game Playing - games

Minimax
eg. chess, othello, backgammon (chance node due to Dice, use Expecti-minimax), tic-tac-toe, Grundy's game
- complete, optimal, like DFS: time complexity - O(b^m), space complexity O(bm)
- players take turn, max-min-max-min-max etc.

An Evaluation Function:
- Estimates how good the current board configuration is for a player.
- linear weighted sum of features eg. Eval(s) = w1f1(s) + w2f2(s) + ... + wnfn(s)
f1 = number of white queens - number of black queens

Ply - number of look-ahead levels

Aplha(max of children)-beta(min of children) pruning
- in practice alpha-beta pruning, often get O(b^(d/2)) rather than O(b^d) remember b^(1/2) = sqrt(b)


Expectiminimax - use weights that are linear due to average score, ie. Sum(prob_state*score), Dice has 21 (1+2+3+4+...+6 = n*(n+1)/2 = 6*7/2 http://polysum.tripod.com/) unique dice rolls (6-5 is the same as rolling 5-6)

Nintendo DS Games for the Brain

Brain Age Part 1 and 2 Bundle For Nintendo DS. Train Your Brain!

Professor Layton

Brain Challenge

Flash Focus

Big Brain Academy

Ultimate Brain Games

Brain Challenge

Left Brain Right Brain
---------------------

Others

http://www.mrbass.org/nintendoDS/games/

My Japanese Coach

Lunar Knights

Wednesday, March 3, 2010

Constraint Satisfaction Problems - CSP

• The constraint network model
– Variables, domains, constraints, constraint graph, solutions
• Examples:
– graph-coloring, 8-queen, cryptarithmetic, crossword puzzles, vision
problems,scheduling, design
• The search space and naive backtracking,
• The constraint graph (nodes=variables, edges=constraints, solution=assignment of value to variable such that constraint is not violated)
• Like DFS, go deep, called backtracking search
- state = assignment of values to variables while constraints are satisfied
- operator = assignment to next variable such that constraints are not violated
- goal = consistent assignment of all variables
- depends on variable ordering, so d={z,x,y} gives different tree when d={x,y,z}

Maybe:
• Consistency enforcing algorithms
– arc-consistency, AC-1,AC-3

Eg. map-coloring
variables - locations / countries / regions
values - colors in domain of red, green, blue
constraints - adjacent countries are colored differently
graph - nodes are variables (locations), edges are constraints so put an edge between two adjacent regions

Eg. 9x9 sudoku
variables - cells / squares that hold numbers, 81 variables for 9x9 problem
values - numbers in domain 1 to 9
constraints (27 constraints) -
a) each row has unique numbers ie all numbers from 1 to 9, 'Not-equal', AllDiff(a11, a12, a13, ..., a19) - 9 constraints
b) each col has unique numbers ie all numbers from 1 to 9, AllDiff(a11, a21, a22, ..., a29) - 9 constraints
c) each 3x3 grid (9 of them) sums contains all numbers from 1 to 9 - AllDiff(a11, a12, a13, a21, a22, a23, a31, a32, a33) 9 constraints

Eg. Four queen
variables - rows (x1, x2, x3, x4)
values - columns {1,2,3,4}
constraint ((4 choose 2) = 6 constraints)
- graph - (x1-x2), (x1-x3), (x1-x4), ..., (x4-x2), (x4-x3) (a box with a cross inside)
- so each variable constrains all other variables

Look-ahead schemes:
• Value ordering/pruning (choose a least restricting value),
• Variable ordering (choose the most constraining variable)
• Constraint propagation (take decision implications forward)

Heuristics:
1. Minimum Remaining Values (MRV) heuristic - choose the variable with the fewest legal values
2. Degree heuristic: MRV tie breaker, choose the variable with the most constraints on remaining variables
3. Given a variable, choose the least constraining value:
– the one that rules out the fewest values in the remaining variables
4. min-conflicts

Forward checking
- Idea: Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
- constraint propagation

Arc-consistency (AC-3)
Arc ( X i ,X j ) is arc-consistent if for any value of X i there exist a matching (allowed) value of X j
Begin
1. For each a in Di if there is no value b in Dj that matches a then delete a from the Dj.
End.
X → Y is consistent iff
for every value x of X there is some allowed y
- detects error earlier than forward checking

• Time complexity: O(ed3)
• e = # edges, d = variable domain size)

Local search for CSPs - h(n) = min-conflicts
• Variable selection: randomly select any conflicted variable
• Value selection by min-conflicts heuristic:
– choose value that violates the fewest constraints
– i.e., hill-climb with h(n) = total number of violated constraints

WalkSAT - adds random walk to GSAT ( hill climbing )

Simulated Annealing
Theoretically, with a slow enough cooling schedule, this algorithm will find the optimal solution. But so will searching randomly.

Tree structured CSPs (eg by cutset) can be solved in linear time (O(d^C*d^2) c = cut-set size

conditioning - instantiate a variable, prune its neighbours' domain

VLC does not support the audio or video format "undf"

VLC does not support the audio or video format "undf". Unfortunately there is no way for you to fix this.

http://ubuntuforums.org/showthread.php?t=1117283

$ sudo apt-get install ffmpeg libavcodec-unstripped-51

http://ubuntuforums.org/showthread.php?t=1103825

$ sudo apt-get install ffmpeg ubuntu-restricted-extras

Install FFmpeg and x264 on Ubuntu Hardy Heron 8.04 LTS
http://ubuntuforums.org/showpost.php?p=6963607&postcount=360

Compiling VLC
http://wiki.videolan.org/UnixCompile

Wikimapia

http://wikimapia.org

Tuesday, March 2, 2010

First-order-logic FOL

General rule:
Use ⇒ for ∀
Use ∧ for ∃

Every student loves some student.
∀ x ( Student(x)⇒∃ y ( Student(y)∧ Loves(x,y) ))

There is a student who is loved by every other student.
∃ x ( Student(x)∧∀ y ( Student(y)∧¬(x = y)⇒ Loves(y,x) ))

There is a student who is loved by every other student.
∃ x ( Student(x)∧∀ y ( Student(y)∧¬(x = y)⇒ Loves(y,x) ))

Bill takes either Analysis or Geometry (but not both)
Takes(Bill, Analysis)⇔¬ Takes(Bill, Geometry)

No student loves Bill.
¬∃ x ( Student(x)∧ Loves(x, Bill) )

Bill has at most one sister.
∀ x, y ( SisterOf(x, Bill)∧ SisterOf(y, Bill)⇒ x = y )

Bill has exactly one sister.
∃ x ( SisterOf(x, Bill)∧∀y ( SisterOf(y, Bill)⇒ x = y ))

Bill has at least two sisters.
∃ x, y ( SisterOf(x, Bill)∧ SisterOf(y, Bill)∧¬ (x = y) )

Only one student failed History.
∃ x ( Student(x)∧ Failed(x, History)∧∀y ( Student(y)∧ Failed(y, History)⇒ x = y ))

No student can fool all the other students.
¬∃ x ( Student(x)∧∀ y ( Student(y)∧¬ (x = y)⇒ Fools(x,y) ))

AI references

http://sli.ics.uci.edu/Classes/2009W

http://www.cc.gatech.edu/classes/AY2003/cs4600_fall/

http://www.ics.uci.edu/~smyth/courses/cs271/schedule.html

http://www.cs.sfu.ca/~hkhosrav/personal/310.html

http://www.cs.sfu.ca/~mori/courses/cmpt310/

http://www.cs.sfu.ca/CC/310/pwfong/

http://www.cs.unb.ca/profs/hzhang/CS4725/

http://www.earlham.edu/~peters/courses/log/transtip.htm

http://pages.cs.wisc.edu/~dyer/cs540/

http://www.ics.uci.edu/~smyth/courses/cs271/schedule.html

http://www.ics.uci.edu/~welling/teaching/271fall09/

Abscissic Acid (ABA)

Physiological effects
- promotes seed dormancy
- prevents seed germination

Seed germination is inhibited by ABA in antagonism with Gibberellin.

http://en.wikipedia.org/wiki/Abscisic_acid

Monday, March 1, 2010

Cytokinins (CK)

Cytokinins - promotes controlled cell division

Physiological effects:
- occurs to repair leaf abscission and wounds
- leaf senescence signals expression of CKs, and so leaf senescence is prevented and plant remains green
- promotes growth of shoots (lateral bud growth), some regulation of cell division in shoot apical meristem (SAM) (pg 25)
- suppresses growth of roots
- enhance de-etiolation (greening of plants), thylakoid formation, cotyledon expansion
- limited duration

Forms:
- zeatin (found in coconut milk), some kinetin (amino-purine), biosynthetic ipt gene

Experiment:
- excised root grow indefinitely
- excised shoot grow after adding coconut milk and herring sperm DNA with auxin
- so this means, the hormone CK suppresses root growth and is needed for shoot growth
- Infection by Agrobacterium tumefaciens -> crown gall tumours

Infection by Agrobacterium tumefaciens leads to uncontrolled cell division and tumour formation 'crown gall tumours'
- baterium's cell contain a circular Ti-DNA that contains T-DNA which encodes for cytokinin and auxin, this T-DNA integrates with the host DNA during transformation and starts infecting the wound

Cytokinin oxidase metabolizes cytokinin (irreversible degradation, produces adenine + alcohol)

When CK oxidase is over-expressed
- you get REDUCED SAM (shoot apical meristem)
- and INCREASED ROOT growth

Morphogenesis in cultured plants - AUXIN / CK flux:
- low auxin, high CK => formation of shoots
- high auxin, low CK => formation of roots
- med auxin, med CK => undifferentiated

4. (2 marks) Morphogenesis of cultured plant cells
CK:
- High auxin and low CK promotes root growth
- Low auxin and high CK promotes shoot growth
- Equal concentration of auxin and CK shows no differentiation

5. (1 mark) De-etiolation of seedlings (greening)
CK:
- CK enhances de-etiolation of seedlings
- CK promotes chloroplasts development by converting etioplasts in dark-growing seedlings to thylakoids
- CK promotes cotyledon expansion

6. (5 marks) Induction of alpha-amylase production in cereal aleurone layer cells
GA: In Ca2+ independent pathway
1. GA1 binds to membrane receptor in aluerone cell
2. GA-receptor complex binds to heterotrimeric G protein initiating Ca2+ independent and Ca2+ dependent signaling pathway
3. In Ca2+ independent pathway, the Ca2+ activates the F-protein, the F-protein diffuses to the nucleus
4. the SCF-ubiquitin ligase complex degrades the DELLA repressor
5. GAMYB gene is expressed and it binds to the alpha-amylase hydrolytic enzyme promoter
6. alpha-amylase enzymes are expressed and secreted from the aleurone cell for starch degradation in endosperm

Gibberellins (GA)

http://universe-review.ca/I10-22a-anatomy2.jpg


http://media-1.web.britannica.com/eb-media/97/5597-003-9A3253A5.gif

Gibberellins - promotes internode (between nodes) elongation

Gibberellins Physiological Effects
- promotes internode elongation (creating taller plants vs rosette/dwarf plants - cabbage, dandelions lack GA)
- promotes juvenile to mature stages eg. cone buds in conifers
- sex determination eg. +GA prevent anther development in corn
- promotes seed germination via reserve mobilization (alpha-amylase production) and phytochrome induced transcription of genes
- anatagonistic to ABA (Abscisic acid)
- GA biosynthesis occurs throughout the entire life cycle

Forms:
- GA1 (active form, has COOH at C6 and beta-OH at C3) encodes CPS, the first enzyme in GA biosynthesis
- GA3 commercial form
- mostly inactive form
- GA20 + OH + GA-3beta-hydrolase => GA1

Reserve mobilization by GA
1. GA secreted in embryo
2. GA reaches aleurone layer via scutellum
3. Aleurone layer secretes alpha-amylase (starch hydrolase)
4. Starch is broken down to simple sugars and is transported back to the embryo

Experiment:
- 5'GA1-GUS reporter show sites of GA biosynthesis
- GA1 encodes CPS, the first committed enzyme in GA biosynthesis.

Commercial applications of GA:
- increases stalk length that offsets fruit compaction
- promotes fruit development without pollination (parthenocarpy = virgin/seedless fruit)
- beer, GA promotes malting (start germination by water then quickly halt it by heat then development of color and flavour is produced by kilning) of barley
- sugar - GA increase sugar yield and internode length
- hasten cone production

Commercial applications of GA Inhibitors:
- ornaments - crysanthemums (sprayed with GA inhibitor, reduces internode elongation so they are small)
- prevents lodging (bending of stems to ground) by reducing stem length


GA induces alpha-amylase production via Ca2+ independent pathway.
1. GA binds to receptor
2. GA-receptor binds to G-protein
3. G-protein activates F-box protein
4. F-box protein binds to DELLA-domain repressor (which is degraded by SCF-ubiquitin ligase)
5. GAMYB gene expression is activated
6. GAMYB activates alpha-amylase expression

1. (1 mark) Reproduction in conifers
GA:
Influence the transition from juvenile to
mature stages e.g. induction of cone-
buds in conifers


2. (2 marks) Seed germination
GA:
- Promotes post-germinative mobilization of reserves in cereal
grains

- promotes light-sensitive germination mediated by phytochromes which are induced by transcription of genes encoding GA biosynthetic enzymes

3. (3 marks) Control of root growth
CK:
- CK suppresses root growth so plants that are CK deficient show root growth compared to wild-types
- CK suppresses the size and rate of cell division activity of roots
- bell-shaped curve (X axis = CK signaling, Y axis = Root growth rate):
a) wild-type shows supraoptimal levels of CK
b) Over-expression of CK oxidase decreases CK signaling concentration to optimum level and root growth occurs
c) Further decreasing CK signaling below the optimum amount causes decrease in root growth

Friday, February 26, 2010

Sega CD Top 10 Best Games

http://www.youtube.com/watch?v=ifg5nKVMCeU&feature=related
10 - Popful mail - adventure
9 - Silpheed - space shooter
8 - Vay - rpg
7 - Eternal Champions - 1 vs 1
6 - Bari Arm / Android Assault - airplane side-scroll shooter
5 - Final Fight CD - 2 player coop
4 - Lunar: Silver star - rpg
3 - Shining Force CD - rpg / tactics / turn-based / strategy
2 - Sonic CD
1 - Snatcher

http://en.wikipedia.org/wiki/List_of_Sega_Mega-CD_games

Lunar: Eternal Blue

http://www.youtube.com/watch?v=ifg5nKVMCeU&feature=related
4 - Spider man vs King pin
3 - Night trap
2 - Snatcher
1 - Sonic CD

http://www.rom-world.com/dl.php?name=Sega_CD&letter=S

http://www.listal.com/list/rpg-world-genesis-mega

Burning
http://www.racketboy.com/retro/2005/07/burning-sega-cd-and-saturn-games-on.html

cdrdao write –driver generic-mmc-raw –device 0,0,0 –speed 2 Mygame.toc

CD_ROM
TRACK MODE1
DATAFILE “MyGame.iso”
ZERO 00:02:00 // post-gap

TRACK AUDIO
SILENCE 00:02:00 // pre-gap
START
FILE “Track_2.mp3.wav” 0

TRACK AUDIO
FILE “Track_3.mp3.wav” 0

TRACK AUDIO
FILE “Track_4.mp3.wav” 0

SCDConv 2.5
SegaCueMaker

http://hg101.kontek.net/dungeonexplorer/dungeonexplorer2.htm

http://www.m.amazon.com/gp/richpub/syltguides/fullview/2HANVDG7DFQ49
Sega CD:

Sonic CD (Great game, the US version and the Japanese version had totally different soundtracks, I perfer the Japanese one)
Robo Aleste (Sega CD) (sequel to M.U.S.H.A, no FMV BS, just one great shoot 'em up with great redbood soundtrack)
Snatcher (The rarest Sega CD game, A MUST HAVE FOR ANY SEGA CD OWNER, this game is in my top ten favorite games of all time!)
Android Assult (a.k.a Bari-Arm) (Lightening Force mixes with Gate of Thunder for the TurboDuo)
Eternal Champions CD (Better than the Genesis version, the only Sega CD game that shows 256 colors on screen (almost all of the Genesis games shows 64 colors on screen))
Heart of the Alien: Out of This World Parts 1 + 2 (From the makers of Flashback, this has two games in one: Out of This World 1 and 2)
Silpheed (The ONLY Sega CD title with polygons)
Lunar The Silver Star (Fan favorite of the Working Designs published games)
Lunar II: Eternal Blue for Sega CD (Sequel to Lunar)
Vay (Great game from Working Designs)
Popful Mail (My personal favorite Working Designs game, Action/RPG goodness)
AH3 Thunderhawk (One of great Sega CD games, uses alot of the Sega CD's sprite scaling and rotation that the hardware was able to do)
Dark Wizard (A favorite by many RPG fans)
Final Fight (Sega CD) (Great arcade port, light-years better than the horrible SNES version, great soundtrack)
Shining Force CD (Very rare, but excellent RPG)
Keio Flying Squadron (One of the early games with an anime cover-art, also one of the most weirdest shooters for the Sega CD, RARE)
Soul-Star (Star Fox on sprites and looks better too)
The Space Adventure (Good storyline, plays like Snatcher, VERY RARE)
Earthworm Jim: Special Edition (Just the first Earthworm Jim with improvements, get it if you don't own the Genesis version)
Ecco The Dolphin (Better on the Sega CD for its sound)
Ecco: Tides of Time (Better on the Sega CD for its sound)
Rise of the Dragon (Better than the PC version, more extras like great voice acting)
Mickey Mania: The Timeless Adventures of Mickey Mouse (Love Mickey Mouse, then buy this)
Spider-Man vs. the Kingpin (Better than the Genesis version)

List of multiplayer games
http://www.digitpress.com/forum/showthread.php?t=119467

http://www.sega-16.com/review_page.php

Tuesday, February 23, 2010

Job tips

binary search - o(log(n))
merge sort - o(nlog(n)) - n items, binary search
hash - convert keys to array index
sums - sort then compare first and last like a binary search, = O(nlogn + logn) or
10+20=30, so 30-20=10, so hash all values, found 10, so try finding (30-10)=20 using hash, so O(n), n = number of items
diff in Amazon, short release cycles

http://www.workopolis.com/work.aspx?action=Transfer&View=Content/Common/ArticlesDetailView&rssURL=http%3a%2f%2fv1.theglobeandmail.com%2fservlet%2fstory%2fLAC.20100219.CAMACKAY19ART01824%2fTPStory%2fTPBusiness%2f%3fpage%3drss&lang=EN&id=GAM.20100219.CAMACKAY19ART01824

- pick an interview schedule near the end of the day so you are memorable
- debrief yourself after the interview, review what you did well or didn't do well, etc.

Top 10 Job search mistakes
http://jobsearch.about.com/od/findajob/tp/jobsearchmistakes.htm

Amazon phone interview
http://www.oliyiptong.com/blog/2006/05/21/the-amazon-phone-interview/
http://www.oliyiptong.com/blog/2006/05/30/amazon-sde-in-person-interview/#comments
http://www.interviewpattern.com/post/Linked-List-Interview-Questions-Part-I.aspx

* Programming questions
o Asks clarifying questions
o Doesn’t start coding immediately
o Rejects bad input
o Checks boundary cases
o Efficiency
o Cleverness
* Design questions
o Asks: Who, what, why, where, when, how
o Thinks outside the box
o Tests the design
o Sells the design
* Brain teasers
o Doesn’t back down
o Explores all avenues
o Challenges assumptions
* In general
o The best. These companies interview a lot of really good people. You need to stand out as the best. If your work or school experience doesn’t make you stand out then pursue something in your spare time that will.
o Persuasive. If you can’t sell yourself and your ideas how will you then sell the companies products?
o Well spoken.
o Confident.
o Relaxed.
o Can work on a whiteboard in front of an audience.
o Verbalizes thought processes while working through problems.
o Can I put this candidate in front of a customer? A partner? an executive?

http://jobinterviews.wordpress.com/2008/01/20/amazon-the-interview/

http://www.jamesbooth.com/OOPBasics.htm
polymorphism
inheritance
encapsulation - hiding implementation details
abstraction
specialization
design first

http://www.techinterviews.com/amazon-interview-questions

http://www.codinghorror.com/blog/2008/01/getting-the-interview-phone-screen-right.html

I understand interviewing is stressful. I've been on the receiving end of it plenty of times myself, and I am totally sympathetic. But please bear in mind we're not looking for perfection here, just familiarity. Remember the disclaimer!

--
Please understand: what I'm looking for here is a *total vacuum* in one of these areas. It's OK if they struggle a little and then figure it out. It's OK if they need some minor hints or prompting. I don't mind if they're rusty or slow. What you're looking for is candidates who are utterly clueless, or horribly confused, about the area in question.

---
http://steve.yegge.googlepages.com/five-essential-phone-screen-questions
ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee that database transactions are processed reliably.

public String formatRGB ( int r, int g, int b ) {
return String.format ( "%02X%02X%02X", r, g, b );
}

http://en.wikipedia.org/wiki/Virtual_function
a virtual function or virtual method is a function or method whose behavior can be overridden within an inheriting class by a function with the same signature.

grep -l -R --perl-regexp "\b(\(\d{3}\)\s*|\d{3}-)\d{3}-\d{4}\b" * > output.txt

The (concrete) data structures they absolutely must understand are these:

1) arrays - I'm talking about C-language and Java-language arrays: fixed-sized, indexed, contiguous structures whose elements are all of the same type, and whose elements can be accessed in constant time given their indices.

2) vectors - also known as "growable arrays" or ArrayLists. Need to know that they're objects that are backed by a fixed-size array, and that they resize themselves as necessary.

3) linked lists - lists made of nodes that contain a data item and a pointer/reference to the next (and possibly previous) node.

4) hashtables - amortized constant-time access data structures that map keys to values, and are backed by a real array in memory, with some form of collision handling for values that hash to the same location.

5) trees - data structures that consist of nodes with optional data elements and one or more child pointers/references, and possibly parent pointers, representing a heirarchical or ordered set of data elements.

6) graphs - data structures that represent arbitrary relationships between members of any data set, represented as networks of nodes and edges.

http://gigaom.com/2008/11/21/the-growing-ex-amazon-club-and-why-its-a-good-thing/
. For talented people, the allure of working with Jeff Bezos can be what clinches the deal, according to Schappell of TeachStreet, which counts Bezos Expeditions as one of its investors. His company has essentially developed a place where you can go to find things like a French teacher, or someone to give you trombone lessons. I like to call it the Yellow Pages with brains

Those who know Bezos well say that he isn’t afraid of losing and wants to win big — and that means making big bets. This “nothing-in-the-middle” attitude is particularly attractive to folks with an entrepreneurial gene.

Amazon Simple Storage Service (Amazon S3). An unlimited number of data objects, from 1 byte to 5 gigabytes in size, can be stored in S3 and distributed via HTTP or BitTorrent. The service charges monthly fees for data stored and for data transferred. In April 2006, Amazon introduced Amazon Simple Queue Service (Amazon SQS), a distributed queue messaging service. In August 2006, Amazon launched product wikis (later folded into Amapedia) and discussion forums for certain products using guidelines that follow standard message board conventions. In August 2006, Amazon introduced Amazon Elastic Compute Cloud (Amazon EC2), a virtual site farm, allowing users to use the Amazon infrastructure with its high reliability to run diverse applications ranging from running simulations to web hosting. In 2008, Amazon improved the service adding Elastic Block Store (EBS), offering persistent storage for Amazon EC2 instances and Elastic IP addresses, static IP addresses designed for dynamic cloud computing.

why? not far from home, cloud computing, largest online retail, lots of talented people and challenging problems with scalability

http://news.ycombinator.com/item?id=964506
When you are refining your algorithm - talk. Talk about the variables and what'd you name them. Talk about why the nested for loop isn't good. Talk about everything you are thinking of. The whole point of the screen is to get an idea about how you solve problems.

advantages of pointers
.pointers are generally useful in the context where we need a continuous memory allocation. Using pointers dynamic allocation of memory is achieved

pointers basically hold the address of a variable. they are mainly used as function parameters to pass values of parameters as references rather than values

http://c-faq.com/~scs/cclass/notes/sx11a.html
int *p = malloc(100 * sizeof(int))

And finally, don't forget that Amazon is about getting stuff done. That means your solution may be a perl script slicing some data and piping the result through cut, sort, uniq, etc. Don't assume you've got to write a program from scratch to solve every problem.

http://www.phoneinterviewtip.com/phoneinterviewtips.html
Phone interview tips

At the end of the interview make sure you understand what the next step will be. If you are told, "We'll be in touch", ask when that might be. If the only thing you hear is something like, "Thank you for your time", again, ask what the next step will be. Even though this sounds like a brush off, many times it's not.

This has been mentioned already, but it bears repeating: if you don't know the answer to something, don't try to bluff your way through it. Tell them that you don't know the answer to that question, but then tell them how you would go about finding the answer.

A job interview isn't really a test of how much you know. As long as you can demonstrate that you know what you talking about, and can find the answers to anything you don't know, they'll be happy. Mostly they want to get a sense of your personality.

http://ask.metafilter.com/65256/How-do-I-do-well-on-my-phone-interview
I conduct phone interviews much like the one you've described. The best two tips I can give you are:

1) Don't let there be long periods of silence. In person I can tell if you're thinking a question over, but on a phone interview you should ask for clarifying details or restate my question if you need to stall for time.

2) Don't touch your keyboard while we're speaking unless I'm asking you to do something that requires it. Quite often I'll ask someone a technical question and I can hear him/her Googling for the answer. That makes me hyper-aware of any keyboard sounds an interviewee produces.

what interested you the most in my application?

B-trees - a tree data structure most commonly used in databases, fast search, insert, deletion in ammortized time
http://en.wikipedia.org/wiki/B-tree
The B-tree uses all the above ideas. It keeps the records in sorted order so they may be sequentially traversed. It uses a hierarchical index to minimize the number of disk reads. The index is elegantly adjusted with a recursive algorithm. The B-tree uses partially full blocks to speed insertions and deletions. In addition, a B-tree minimizes waste by making sure the interior nodes are at least 1/2 full. A B-tree can handle an arbitrary number of insertions and deletions.

Friday, February 19, 2010

LaTeX

LaTeX
https://help.ubuntu.com/community/LaTeX

$ sudo apt-get install texlive kile

$ sudo apt-get install tetex-base tetex-bin

http://www.andy-roberts.net/misc/latex/latextutorial1.html
http://www.techworld.com.au/article/195791/publishing_high-quality_documents_kile
http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/
http://www.eng.cam.ac.uk/help/tpl/textprocessing/
http://www.mcnabbs.org/andrew/linux/latexres/

--- one.tex ---
\documentclass[a4paper,12pt]{article}
\begin{document}

Hello World!

\end{document}
--- one.tex ---

$ pdflatex one.tex

or

$ latext one.tex
$ dvips one.dvi -o one.ps
$ ps2pdf one.ps one.pdf

or

$ dvipdf one.dvi one.pdf