2 + 2 = 5
aimlessly going forward.
Thoughts
Take an English course at the elementary school.
Do not pay too much attention to it. Learn how to introduce yourself and memorize the most basic words. It will help you along the way but do not expect to learn English only via school lessons.
Love reading books. Read lots of books in your native language.
Play the computer games.
There are games that have a strong storyline, and feature a lot of text. Play them in your native language. They are fun and you would not understand them in English.
There are games that do have some text in them, but that is not their main point. Play them in English. You will not understand them either, but you will not miss on anything important.
Watch movies and television series. Prefer the voice in English with subtitles in your native language.
On your reading journey, you will discover The Book. You will know it after you have read it ten times. The book that you love above others. The book that you know by heart.
Get The Book in English. Look around for the opportuninies: ask your teacher, look into the library, buy it in a bookstore. Ask the book seller. The good ones will order it for you if you ask them nicely.
Sit down and dive into it. Do not touch the dictionary. Overcome your fear. You know it by heart after all.
Because you know what is supposed to happen in the story and because of your love for the story, you will get pulled in. You will read it as if it was in your own language, your memory filling in the words you have not learned yet. This would not have happened had you used the dictionary. It would have kept interrupting you, demanding your attention every time you had come across an unknown expression.
You will feel different after you have read The Book. You will be changed. Reading the story that you have known by heart in another language caused something that the courses at school kept failing at for all those years.
It mapped the English sentences directly to your brain. You have learned what a particular phrase means instead of what words it consists of or what grammar rules are in play there.
You have processed the language as a child processes it: deriving the unknown from the context and connecting it to something they know already.
Read other books. Try reading English books that you have never read before.
Play your favourite games again. In English this time. You will understand them. Through repetition, you will expand your vocabulary and cement the common gamar rules into your brain.
Continue watching the TV series. With English subtitles. Every now and then, turn the subtitles off.
You will realize that you know the characters’ voices and the way they speak enough to understand them. You will not need the subtitles anymore.
Start watching the movies without the subtitles. You will train your ears for the different ways the English is spoken. You will tell Scottish from American. You will tell British from Australian.
Write in English. Communicate on the Internet — ask questions, answer questions. Comment on blogs. Talk to people.
Find a friend who will instant message with you in English.
Find the things that interest you. Read about them on the Internet in English. Wikipedia is a wondrous resource.
Look for the things related to your studies and work on the Internet. Google is an awe-inspiring harbringer of information.
Write your Bachelor’s Thesis in English.
You will find it being equally difficult compared to writing in your native language. You will have to look more words up, but your brain will have an easier time formulating thoughts and sentences because you have read all the information in English.
Start listening to English podcasts. Unlike the movies they can show you how a real conversation flows. You will hear how people actually talk.
Get into a situation where you have to talk to someone in English. You will understand well but you will keep forgetting all the words. You will realize that you still have trouble speaking fluently.
Convince your boss to have all the conversations with you in English because you need it. Convince a skilled friend of yours to do the same thing. Convince your girlfriend.
It will help you to speak your mind and not to worry about all the words.
You will realize that throughout the day, you spend more time dealing with English than with your native language.
Over time you realize that you are unable to lend books and movies to your friends and family anymore. The majority of your collection will be in English which they cannot understand that well.
You will notice that people around you sound horribe when they speak in English. You will hear the mistakes they make and see their origin in your native language.
You will understand English more than almost anyone else you meet.
You will speak and write English better than almost anyone else you meet.
Watch the HBO series called The Wire, without the subtitles.
You will understand hardly anything. It will be a lesson in humility. You will struggle to understand the main story. You will realize that you still have a long way to go.
You will be tempted to turn the subtitles on. Resist the temptation.
Watch The Wire as it is and learn to love it. Your understanding of the story and the language will get better over time. Not perfect but better all the same.
After you have watched it all, start over again.
With your being used to the story and the characters, you will understand it much better the second time. You will still not get everything, but you will be able to enjoy even the more nuanced parts of the story.
The way the characters speak will settle in and you will be able to enjoy The Wire properly. Do so as it deserves to be enjoyed.
Start reading audiobooks. You will be able to read them even where you cannot read otherwise — when you go to work, when you wash the dishes or when you are shopping.
Cherish this rediscovered love for reading. Enjoy the fact that it does not put a strain on your eyes. Fondle the sound aspect of it.
Start reading things aloud when you know it will not disturb anyone.
Read the Neil Gaiman’s poems and recite them out loud. You will realize that you can appreciate poetry more when it is spoken as oposed to being read. Enjoy the sound of your voice.
There were games that you did not play because they featured too much text and your eyes tired from work could not take it in the evenings.
Play these games. Read the text out loud. It will reduce the strain on your eyes (however strange that sounds) and you will enjoy it more.
You will get confident that you understand both spoken and written English well and that your speaking is equally good.
You will have spent over a decade learning the language and there is nothing wrong with being proud of your tremendous accomplishments.
You will feel like you belong to the English speaking world.
Some podcasts play audio questions that their listeners sent. Record a question for one such favourite podcast of yours.
Listen to the recording. You will realize that your speaking has not changed in the slightest. You still have that strong foreign accent that your mind’s ears smoothed out years ago. You still sound as bad as anyone else around you.
Do not despair. You have still come a long way. Accept this lesson in humility and set out a new goal: to learn to speak so well that not even the native speakers would recognize that you are not one of them.
Follow this goal.
thomas, 05 May 2010
Joel Spolsky announced that he will quit blogging and basically turns off the whole internet celebrity thing. That includes Joel on Software, the Stack Overflow podcast, his Inc. articles and his Twitter. He’s mentioned this in the recent podcast episodes and wrote a good-bye piece on Inc.
It was very unexpected and it left me very sad. Joel probably doesn’t realize how important his writing and everything he did was to me. And to others, too. He’s had tremendous impact on my life.
February 2008 I was in a QA department, writing test designs for people who (supposedly) could not think by themselves, didn’t understand English very well and did not really know how to test software. My job was to look at the product we were testing and write:
- Open the program.
- From menu select File.
- Verify all menu items are localized.
- Click Export.
- Verify Export dialog is displayed and localized.
- Click Cancel.
- From menu select File > Import.
- Verify Import dialog is displayed and localized.
- From menu select Edit.
- Verify all items are localized.
- ad nauseam
I felt really sorry for the testers.
Especially because they were quite smart, understood English and (unlike me) could actually do a pretty decent job at testing. But, you gotta do what you gotta do.
As for a lot of those testers, this job was something I took on during my studies to make some money and get some experience. Which I did. But it felt too much like a job and too little like something that would be worthwile. And all I really wanted was to learn new things and write cool programs with awesome people.
During that time the school wasn’t really fascinating either. I’ve finally realized that it was not about programming at all and while we were learning some useful things, it was very slow, went into wrong directions and did not quite fit my way of doing things.
I didn’t realize it at the time, but I felt very low back then. I just accepted this world of hopeless boredom and lived day by day doing the same things. I practically stopped reading and learning altogether.
Go to work. Go home. Watch some TV series. Go to bed. Rinse. Repeat.
Then a friend sent me a link. It was this short online book called User Interface Design For Programmers. I knew very little about UI at that time so I looked at it and started to read.
And it was amazing. It was funny, well written, made perfect sense, contained a lot of important informationd and on top of that, it was funny. Have you ever read a technical book and where you could not stop laughing? My point exactly.
This little book had three effects: it opened my eyes with regards to UI design; made me wonder what else could this Joel Spolsky guy have written; and most importantly, it ligted up that little spark of curiousness again. I was thirsty for knowledge. And eager to write some program just to put the ideas in the book to practice.
I’ve looked at the Joel on Software site and I’ve read every article that was there. It was just that good. And I wanted more.
In his writings Joel mentioned some other sites: Jeff Attword’s Coding Horror, 37 Signals’ Signal vs. Noise and Stevey Yegge’s blogs. I’ve read and loved those, too.
I realized that I really want to be a programmer in a place where they value programmers. And that I want to work on some great piece of software. And that I want to work with really smart people from whom I can learn. And that I want to became good enough to actually get hired at such a place.
I immersed myself into this new-found world, discovering the Stack Overflow podcast and closely following the site itself (got the Beta badge, baby!). Thanks to Joel’s little mention I’ve found This Week in Tech and all the other Leo Laporte’s podcasts. I started to read Hacker News and I started to program again. At home. For fun.
I’ve learned Python, looked at all the interesting stuff that were emerging, and two years later, I was still working at the same place, doing basically the same job, but I felt like very different person. I had a purpose. And a goal.
And I realized that it was time to move on and try to find work as a real programmer. So I sent my résumé to Red Hat and after several interviews, I got accepted.
This is my first few weeks in. I’m working on an interesting project, I’m learning Ruby and I work with a great team full of smart and funny people. In a company that seems a bit crazy — just the way I like it.
All of this thanks to Joel’s blog and books. He literally changed my world for the better. I wonder how many other people has he influenced without even knowing it. And now he wants to stop doing that and focus on his company.
I think it’s a good decision.
He obviously thought about it a lot (Joel never came across as a guy who doesn’t think things through) and his reasoning makes sense to me. But even if it didn’t, it is Joel’s decision and it does make sense to him.
He feels that he wants to focus more of his effort on Fog Creek. That he needs to get to all the other programmers that he can’t reach by his blog and podcast. And make their lives better, too. And that’s a noble goal.
And yes. I bet he hopes to make a huge amount of money in the process. Which, as far as I’m concerned he: a) deserves; b) tends to put to good use anyway (see Stack Overflow, Bussiness of Software conferences, UCOSP or Hg Init).
This still doesn’t change the fact that it makes me incredibly sad that there won’t be (a lot of) new articles or podcasts. They truly played an important role in my life.
Yet, strangely, it feels good in this weird way: I remember that when I started listening to the Stack Overflow podcasts, I didn’t really know anything Joel and Jeff were talking about. They passed around bunch of names, tools, languages and technologies and none of them were familiar to me.
A few weeks ago, I listened to the podcasts again — starting with the very first episode and going forward. And, to my great and very pleasant surprise, I knew every name that they mentioned. I knew what they were talking about and what that person was responsible for. I understood the context. I knew the technologies and principles and languages and I could really feel how much have I grown for these past two years. Sure, there is a great lot I don’t know — I’d be the last to say otherwise. But I’ve started and I have moved forward.
It feels almost like in one of those stories where a dead person’s ghost stays in the real world to make sure that everything is on the right track, before finally moving on.
So, Joel: Thank you so much. You’ve shown me the way and I’m forever grateful. You can leave freely now. Go and do what you want and need to and be happy.
I have learned and accepted this fundamental truth of our universe:
All good things have an end.
It was good.
thomas, 15 March 2010
Written by Larry Niven and Jerry Pournelle, audiobook narrated by L. J. Ganser. I’ve read it in the audio form.
This is a novel about a first contact. It is also quite old (1974) and set in a universe that has been depicted in quite a few preceeding and following books. I didn’t know any of that when I started reading.
The Plot
The events take place in a Big Interstellar Empire of Men that rose from the ashes of Even Bigger Interstellar Empire of Men which fell apart and brought the human colonies right into a dark age. Brings back fond memories of Asimov’s Foundation.
In the beginning, a ship called McArthur is sent to investigate an object that must be of alien origin because it is deccelerating upon it’s arrival to the Territory of Men. Another fond memory: this time of Clarke’s Rama.
The ship, with its mixed crew of scientists, navy officers, Scottish technicians, nobles, Russians and an Arabic traitor/trader, embarks on a sail to unknown waters (seriously: navy? In space?) to answer the essential question about the alines: are they friendlies or baddies? And how can we benefit?
Eventually, they meet them, advance the plot and find out.
The Book
It’s always interesting to see how writers tackle the difficult problem of creating and describing an alien life-form. It must be, well... alien and yet believable. And at least on some level, the reader must be able to empathize with it.
And I must admit, the gradual discovery of the aliens’ nature, history and culture is one of the reasons you won’t willingly put the book down. Moties are a rich, impressive, intriguing and scary race.
In fact the whole book is very well written and plotted. The story moves forward at just the right pace — never boring, but steady enough not to feel overwhelmed by abundance of characters or events.
Audio
At the very beginning, the narration was a rather negative experience. The voice didn’t suit me well and I wasn’t even sure I’d continue listening to it.
However, when Mr. Ganser read the first line of a dialog, everything changed.
The characters came alive. Each one with their own unique voice, accent and a personality. When people talked, they talked. I have never really learned names of some of them — but I could easily recognize them by their voices.
In the end, the superb audio performance pushed the whole reading experience forward.
Summary
If you read this book, you’ll discover that humans are Crazy Eddies, that Scottland can be Great, that an antropologist can get away with calling a sentient race “Moties” and that the question of God’s sex will have a clear answer in the future.
And if that’s not worth spending 30 hours of your life in a made-up world, what is?
thomas, 18 February 2010
3.141592653589793238462643383279502884197169399375105820...
That’s Pi. I know this much by heart and... it’s not enough. I wanna know 100 digits. Two hundred. Thousands!
And there’s a simple way to do it.
π(ece)-a-day
I’m starting a movement here. Learn π one piece a day. What is a piece you say? Whatever suits you. 1 digit, 4, 10, 314? Your call.
Two rules:
- Learn at least one new digit of π every day.
- Every day learn at least one new digit of π.
Piece by piece, day by day. With a little work, you can impress your math geek friends and scare away any liberal-arts majors!
Let’s get it started!
π =~ 3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036
For more, go here: http://www.exploratorium.edu/pi/Pi10-6.html.
(Oh, I’m sorry, e, don’t take it personally. I just like π more...)
thomas, 17 February 2010
Wow, I actually managed to ship this thing called blog. Wasn’t easy, you know. Sometimes I tend to think big and forget to focus on the things that actually matter.
Yeah, yeah, I know. Could have just used Wordpress or Blogger or something. True. But I’m a programmer, dammit, I can write my own blog software!
I realize it’s not the most effective way of doing things — especially if all you want is to get the friggin’ thing up and not to think about it.
But I’m a programmer. And not a really good one, either. I need to learn stuff, find out how the world (wide web) works and, most importantly, write some code. Lots of it, actually. Thus, when I wanted to learn how to do web programming in Python, writing my own website seemed like a pretty good idea.
Also, did I mention I tend to be a bit control freaky at times?
So here we are. At the moment of writing this little post, we’re running Python 3.1.1, qp as the web framework, Durus for the data storage and FreeBSD-powered VPS, courtesy of ARP Networks.
And that’s all — no one really reads the first blog posts anyway.
thomas, 08 February 2010