November-2nd-09. The Linear-Time Algorithm. Voluptuous (V). Big brown eyes are caressed in slow motion by the most exquisite cold hands, which are shortly warmed. Also, pretty soon rosebuds turn into raspberries under the sultriest tongues, the keenest fingertips. Gentlemen come home, sweet home, and enjoy the silky, adorable, kissable peaches' commodity. They ring belles' bells with their clappers and the deepest moans are heard in its splendour. No boy in the boat is left without the deserved attention, paid very slowly, with meticulous calm. Shudders ripple across everybody. They couple with each other in an unutterable unity. Two bellies are nailed together and, magnificent, a beast with two backs rumbles, howls, roars and finally laughs heartily.

Watching such frolicsome performance I think art is exceeding what Nature gave to man. There is no point in opposing the blood. Gravity is wrong.

Slender figures glide, slither and wriggle like salamanders among the unruly members of the crowd, pacifying them, quenching the fever consuming them. Belles pray, kneel and worship at the altar. Little and big brothers merrily accept the divine offering. They bite their lips, close their eyes, also moan and some have the sweet agony, little sweet death. Others, after the prayer, put the devil in hell so that he receives the punishment due.

As for me? I am the most grateful audience of this performance. I will not participate, as youth must learn by itself, but I watch everything with the eagerest eyes.

And then off I go. Yes, indeed, I beat off, jack off, jerk off, jill off, pull off, rub off, whack off, wrench of and work off. I do it with dainty manners, placidly, always with an approving smile. And I come off. My spendings gently meander down my belly. Its warmness makes me happy. I abandon myself to pleasure.

(The End)

Difficult words: Sake /seɪk/, for old time sake, disposal /dɪ'spəʊzəl/, collision /kə'lɪʒən/, bind /baɪnd/, bare /beə(r)/, naked /'neɪkəd/, nude /nju:d/, staff/staves /stæf/, stuff /stʌf/, at the bottom line, shrink down /ʃrɪŋk  daʊn/, awkward /ɔ:kwərd/, nipple /'nɪpəl/, wit /wɪt/, outwit /'aʊt'wɪt/, indepth /'ɪn'depθ/,  try your hardest, get rid of something, character /'kærəktə(r), gather /'gæðə(r)/.


November-6th-09. The Linear-Time Algorithm. Demonstration. Student's session today. They have to go to the blackboard and give a lecture. I asked them to solve certain problems. Time to show what they did.


Most of the problems only required thought, pure and plain thought. However, they insisted in exposing their ideas by displaying a piece of code. That was the wrong way to explain an idea to solve a problem. I barely could understand their points, so obscure their presentations were. In some cases they miss the most relevant points such as correctness or complexity.

That's why I am organizing a DEMONSTRATION.


Difficult words: drag /dræg/, attain /ə'teɪn/, you're used to sth <> I used to sth, loader, copycat /'kɒpɪkæt/, by contradiction /ˌkɒntrə'dɪkʃən/, from now on, from now onward /'ɒnwəd/,  cloud /klaʊd/, purist /'pjʊrəst/, pending /'pendɪŋ/, yet /jet/, overlap /ˌəʊvə'læp/, my piece of advice /əd'vaɪs/


November-13th-09. The Linear-Time Algorithm. Calm and normality. Today's class consisted of solving all the problems associated with Gusfield's linear-time algorithm. Sigmund H. Noplace was missing today. Leonine was pretty sharp and answered most of the questions correctly and with good ideas. Roger participated quite a lot, too. His English is a little shaky and I had some difficulties to understand. Auralee and Marina were somewhat shy. I don't know whether they don't master the material yet or their English is rusty and don't manage to get through it.


There was a final question, how to generalize the Z algorithm to the 2D string matching problem, for which Leonine gave a couple of ideas that I proved incorrect. At the last moment he came up with another idea. I wasn't sure whether it would work. I asked him to think about it carefully and present it next class, either it is incorrect or it is not. A fresh idea..., I like it. I am looking forward to hearing it.

I hope that, in the meantime, Auralee and Marina decide to participate more. I have the feeling they are more afraid of participating than they should.

As you can see from the list of words below, last lecture I was verbose.

Difficult words: sth will do the job /dʒɑ:b/, lecture /'lektʃə(r)/, teacher /'ti:tʃə(r)/, professor /prə'fesə(r)/, palindrome, pun /pʌn/, now, we're talking /'tɔ:kɪŋ/, speed up /spi:d/,  deduce /dɪ'du:s/, trap /træp/, tight /taɪt/, compact /kəm'pækt/, strip /strɪp/, later on /'leɪtə(r)/, early on /'ɜ:li/, coordinate /ˌkəʊ'ɔ:dɪneɪt/, come up /kʌm/,  counterpart, zip /zɪp/, tease /ti:z/, draw back /drɔ:/, verbose /vɜ:'bəʊs/


November-16th-09. The Linear-Time Algorithm. Ideas. Hey, I've got an idea! I'll solve the exercises from Chapter 4. There are some to be solved! Hey, yes, that's what I'll do. They definitively deserve it. I am going to solve Problem 4 of Section 4.3. It is about how to generalize the Z algorithm to two dimensions. In general, it is not easily generalizable. Leonine lifts his arm and, and confidently enough, claims he's got an idea to do it. Please, yes, have ideas! It is all I ask you for. Be university students! Have ideas. Be proud of them! If it is not now, then when?

He presented his idea. It wasn't clear enough; he gave a hand-waving argument, but I thought it could be true once passed through the sieve of rigourness. Roger got excited about the problem and went to blackboard to discuss it with us. We've got more and more excited. We gave arguments for and against Leonine's idea. Auralee and Marine were staring at us without daring to participate. I think they didn't catch part of the discussion. If so, they should have stopped us and asked for explanations. Do not let an idea pass by you without understanding. Understand is a pleasure, different from that pleasure, but a pleasure at the end.

I promised to give Leonine more time next lecture to put forward his idea to the full. I beg you: Have ideas!

Difficult words: I don't buy it, align /ə'lain/, stepladder /step'lædə(r)/, at least /li:st/, at worst /wɜ:rst/, hint /hint/, clue /klu:/, close /kləʊz/, closed /kləʊzd/, diagonals /dai'gənəlz/,  trail /'traiəl/


November-20th-09. The Linear-Time Algorithm. Can the linear-time algorithm be generalized to 2D. Discussion. I finished my last blog by asking students to have ideas. In this lecture an idea did come up. In a casual way I solved Problem 4. The problem posed the question of how to generalize the Z algorithm to solve the 2D string matching problem. I took for granted that everybody would agree that the generalization in linear-time is not feasible. I made a quick, passing comment about the impossibility of generalizing the concept of Z-box to two dimensions. All of a sudden, Leonine sprang from his seat, leaped on his chair and asked to be heard. To my astonishment, he seemed to have something important to present. I gave him the floor to explain himself. His voice faltered as he began his speech. It was difficult for him since he had to speak English. I helped him with some words that they didn't come to his mind. I wasn't understanding his explanation in full detail. Some of its pieces didn't fit together right. I tried to help him by making some questions. Little by little, the explanation of his idea is getting clearer. Roger felt he had understood Leonine's idea and with great zest threw himself into the discussion, correcting Leonine, re-wording his explanations and also adding his. The discussion became passionate and fast (in spite of their English).

From the corner of my eye I watched Marina and Auralee. Both were quiet as the grave, specially the latter. They felt intimidated by the speed at which ideas were presented. Their attitude made me a little sad, a little angry and a little worried. I could see the fear of thinking in Auralee's face; that fear is often fictitious and linked to lack of self-steem. I will talk to her after my lecture is over. Please, do sink into the discussion! If you don't understand, ask for explanations. Here, nobody will be ashamed because of asking. If you don't ask now, when? The more you fight to understand, the more you are creative. Don't try to survive my course without thinking; it won't work.

We ran out of time , but Leonine was already defending his idea with aplomb. Next lecture we will continue.

Difficult words: Think over /thiŋk əʊvə(r)/, mull over /mʊl əʊvə(r)/, make yourself at home, clever /'klevər/, pull my leg /pʊl mai leg/, giving me hard times /giviŋ mi: ha:d taimz/, strand /strænd/, sloppy /'sləʊpi/, feasible /'fi:zəbl/, layer /leiə(r)/, spell out /'spel aʊt/.



November-23th-09. The Linear-Time Algorithm. Leonine's idea. His idea consists of generalizing the Z algorithm to two dimensions by distributing the separation character $ in a special way. Let P be a two m1xm2-matrix and let T be a n1xn2-matrix, the former being the pattern and the latter being the text. Call P1,...Pm1 the rows of P. Leonine builds a string S by concatenating each row Pi with m2-n1 separation characters and after that adding the text also by rows. Over string S he runs the pre-processing stage of the Z algorithm. The Z-values of S are thus obtained. A Z-value equal to m2 at a position greater than m1n2 identifies a copy of P1 in the text. This is true because P1 is a prefix of string S. Leonine was right when making this claim. However, this reasoning does not work for the occurrences of P2, which is not longer a prefix of S. Therefore, the Z-values from this point on are of no use. He tried, with the help of Roger Jean, to fix this gap in the reasoning, but either his conclusions were still false or led to quadratic, brute-force-like algorithms.

I must thank Leonine for his attempt. I (we, I hope) enjoyed the discussion a great deal. It has shown the rest of the class that thinking makes the difference. This time Marina and Auralee participated a little more, not to my entire satisfaction. I will keep pushing them. Nobody leaves my course without facing themselves in that regard.

Difficult words: Trial and error, rehearsal [rɪˈhɜːsəl], fulfill /ful'fil/, busty /bʌsti/, boobs /bu:bz/, bosom /'buzəm/.




November-27th-09. Suffix Trees - Introduction. English Phonetics.

/Tu'day ai 'sta:tid 'sʌfiks tri:z. It wɔz sʌtʃ a smu:ð 'lektʃər. 'Kɔ:nsəpts fləʊd ænd ðei græspt ðem 'i:zili. Ai təuld ðem ðæt iks'pleiniŋ ðis 'ælgəriðəm wil teik mi: θri: wi:ks. ðei si:md nɔt tu: bi'li:v mi:. Həuld tait./


November-30th-09. Implicit Suffix Trees - The Naive Algorithm. Instructions.


  1. You must understand at all times.
  2. Understand thoroughly; if you haven't understood anything, ask.
  3. Asking questions is for free in this class. Do ask.
  4. Asking questions does not make you stupid, but proves your interest.
  5. Asking questions aloud is a way to organize and confirm your ideas. Do ask.
  6. Have a genuine interest in this course. You are here to learn.
  7. Learn is a fundamental process as human beings. Learning keeps you alive at all ages.
  8. Not having such a genuine interest is just deceiving yourself.
  9. This is not an usual course. I require interest, effort and creativity from you.
  10. It is deception not giving the best of yourself.
  11. It is a goal of this course to raise your self-steem by doing good, deep and thorough work. Don't save any effort to achieve this goal.
  12. Be prepared to use stuff from other courses. This is not a watertight compartment. You must put together pieces from different subjects.
  13. Be rigourous. You are in the university, the highest centre of education. Don't do a botch job. They are always noticeable and obtain very low grades.
  14. Write correctly. Write crystal clear. Show with your greatest proud your clarity of thought.
  15. Be creative.
  16. Don't think about the grades. Watch what you learn, what you give of yourself; good grades will be given to you as a natural consequence of the right attitude.
  17. Play according to these instructions.

Difficult words:
The state of the art /steɪt/, belong to /bɪˈlɒŋ/, look /lu:k/ plus at, for, up, down, back, tongue twister /tʌŋ ˈtwɪstə(r)/, literally /ˈlɪtərəlɪ/, all /ɔːl/, call /kɔːl/.

Go to top