Xin đừng hỏi tôi như thế nữa!

“Anh ơi, cái này nó như thế này, giờ em phải làm gì tiếp?”
“Anh ơi, như thế này là sao vậy ạ?”
“Anh ơi, em muốn…, vậy em cần làm gì?”
“Anh ơi….”

Trời ạ, đừng hỏi tôi những câu như vậy nữa, có được không?

Mỗi ngày tôi nhận được 1 lượng không phải ít, cũng không phải nhiều những câu hỏi như thế này. Và tôi nói thật là, chúng khiến tôi phải ngán ngẩm, thực sự tôi rất nản. Các bạn trẻ, các bạn lặp đi lặp lại nhữngcâu hỏi kiểu như thế, các bạn không thấy chán à?

Các bạn nghĩ hỏi nhiều là chứng tỏ sự ham học hỏi à? Đối với những câu hỏi như trên, tôi chẳng thấy gì gọi là tinh thần học hỏi cả, chỉ thấy một sự thụ động và lười biếng, ngại khó ngại khổ mà thôi.

Tại sao?

Đọc bài viết này trước: http://www.hvaonline.net/hvaonline/posts/list/10525.hva . Khi nào bạn đọc xong, thì quay lại đọc tiếp bài viết này.

Bạn đọc xong rồi thì bạn đã rút ra điều gì chưa? Mấu chốt vấn đề nó nằm ở đấy đấy.

Bài viết mà tôi dẫn link phía trên, là bài viết rất kinh điển, và tôi nghĩ rằng tất cả mọi người cần phải đọc nó. Vậy bạn đọc rồi, bạn đã biết mình đang gặp ván đề gì chưa, và tại sao tôi phát khùng lên vì những câu hỏi đó chưa?

Thứ nhất, đặt những câu hỏi kiểu như thế chỉ khiến khả năng tư duy của mình bị kém đi. Hỏi những câu như thế, rồi được một người nào đó trợ giúp, trả lời hộ. Thế thì đáp án là đáp án của người ta, bạn không có gì ngoài cái kết quả đạt được trước mắt, mà bản thân không có một cái gì gọi là “tích lũy trải nghiệm”. Đúng, cái sự học muôn đời phải có chính là sự trải nghiệm, chỉ có chăm chăm tìm kiếm kết quả mà không tự mình trải nghiệm, tự mình tìm tòi, tự mình tích lũy, thì cuối cùng cũng chỉ có được mớ kiến thức của người ta thảy lại tận mồm, không phải của mình. Việc nghiên cứu giống như là một cuộc phiêu lưu vậy, thế nên, đừng quan trọng đích đến, hãy chú ý vào việc tìm kiếm cho mình những trải nghiệm trong suốt chuyến đi, điều đó mới thực sự là giá trị. Chứ nếu như bây giờ, bạn hỏi, tôi đưa cho bạn kết quả, và bạn sẽ chỉ biết là trong trường hợp đó thì phải làm như thế, và kết quả nó ra như vậy. Nếu như gặp phải trường hợp khác thì sao? Tôi biết rồi, bạn sẽ lại hỏi tôi, hoặc người nào khác. Cứ như thế mãi, trong tay bạn có được cái gì? Chẳng có gì đâu, thật sự đấy.

Thứ hai, đặt những câu hỏi kiểu như thế chỉ chứng tỏ rằng bạn không biết khả năng của bạn đang ở mức nào, dẫn đến việc không đánh giá đúng sự việc. Tại sao? Bạn nghĩ mình còn quá “gà”, quá thiếu kinh nghiệm, điều đó đúng, nhưng không thể dựa vào đó để bao biện cho việc lười tìm hiểu được. Và những người đưa cho bạn đáp án, bạn sẽ nghĩ người ta giỏi hơn bạn, và bạn sẽ có đôi lần mơ ước mình được trở nên giỏi như họ, phải vậy không? Thật lòng, tôi khuyên bạn đừng nghĩ theo phương diện đó, có ước mơ là tốt, có ngưỡng mộ là tốt, nhưng ở trong trường hợp này nó không phù hợp. Với cá nhân tôi, trước đây và bây giờ đây tôi luôn luôn tự học, tự nghiên cứu, khi nhìn thấy một người giải quyết được vấn đề nào đó mà tôi không làm được, tôi nghĩ rằng những vấn đề đó thực ra rất đỗi bình thường, họ giải quyết được, tôi không giải quyết được, đơn giản không phải họ giỏi hơn tôi, mà là tôi ngu hơn họ. Tôi biết mình ngu, nên càng phải phấn đấu hơn nữa để trở thành những người “bình thường” như họ. Và từ đó tôi có động lực và mong muốn được tự giải quyết vấn đề.

Tôi luôn tự hỏi mình với mỗi vấn đề tôi gặp phải, và không biết hướng giải quyết “Nếu những người “bình thường” kia là mình, thì họ sẽ giải quyết vấn đề này thế nào? Tại sao họ lại làm như vậy?”. Tin tôi đi, bạn hãy thử phương pháp này trong 1 thời gian, bạn sẽ biết tôi nói đúng hay sai. Hãy tự tìm ra hướng đi của mình, dù đúng hay sai, thì đó là hướng đi của bạn tự tìm ra, tự trải nghiệm, nó thực sự tốt hơn là đồ ăn sẵn. Đến một ngày nào đó, bạn sẽ trở thành 1 người “bình thường” như bao người khác.

Về kinh nghiệm của bản thân tôi, tôi chỉ thực sự tự học, trong khoảng hơn 3 năm trở lại đây. Trong suốt ba năm dấy, tôi chưa bao giờ đặt câu hỏi cho người khác, trên tất cả các forum hay các group mà tôi tham gia. Tôi chỉ hỏi chính bản thân tôi, và Google. Cái cách tôi học hỏi từ những người “bình thường” khác, là tôi tham gia cùng họ để thảo luận về các vấn đề, tôi đưa ra ý tưởng của tôi, và họ nếu thấy tôi sai, hoặc thiếu sót, họ sẽ chỉnh sửa và bổ sung cho tôi ngay lập tức. Có nghĩa là, tôi hoàn toàn không hỏi họ, không nhờ vả họ giúp tôi, tôi thảo luận với họ 1 cách bình đẳng, và từ đó tôi rút ra được những kinh nghiệm cho riêng mình, tự bổ sung những gì tôi còn thiếu và sửa chữa những gì tôi sai sót. Những người “bình thường”, họ rất chịu khó chia sẻ và thảo luận với bạn, nếu như bạn cho họ thấy bạn có quan điểm riêng, có sự tìm tòi nghiên cứu của riêng bạn. Đừng sợ mất thời gian, mà hãy sợ rằng mình không đủ kiên nhẫn để mà tìm hiểu, thế thôi.

Chút cảm nghĩ trong mấy ngày cuối tuần, và hi vọng rằng nó giúp ích cho ai đó…

Advertisements

Debugging .NET Application with DnSpy

This small video is small video to test the debugging feature of dnSpy (which is created by 0xd4d as a modification + improvement of free open-source .NET Decompiler ILSpy). More information of dnSpy can be found here:
https://github.com/0xd4d/dnSpy

The debugger is source-level debugger, means that you can directly debug decompiled code, not assembly-level, and it’s really cool feature

Only a small video, nothing special, feel free to watch it:

 

Personally i think it’s the best .NET Decompiler at the moment. So come and discover it power.

 

Regards,

Levis

Please, please help her

This topic is not about Technical, but about Real life. So, please take some minute to read it. Thanks a lot!

This is a campaign created by one of my best friends, asking for donation to help his younger sister.

My sister is 14 years old. She has been undergoing dialysis from 2.5 years for 3 times a week. Her both kidneys are damage. Her condition is very critical. Due to undergoing dialysis, she is becoming too weak. I have started this campaign, that I can help her for kidney transplantation. She really wants to go to school, to study and to eat whatever she wants to. But due to dialysis, she cannot do any of such things. She has to take more than 15 tablets per day. Her condition is becoming more and more serious with each passing day. I have a dream that I will give her a new life! I want the help of all of you to make this campaign a great success. I will never forget this donation. She really need your help. Even a small donation from many people can help me to continue the treatment and will enable me to proceed for the transplantation process. Because I believe that when small drops of water combine, they become a river.

I would like to thank all the brothers and sisters from all around the world who have helped in making the previous campaign successful. I hope you all will help me as well.

My sister is 14 years old. She has been undergoing dialysis from 2.5 years for 3 times a week. Her both kidneys are damage. Her condition is very critical. Due to undergoing dialysis, she is becoming too weak. I have started this campaign, that I can help her for kidney transplantation.

She really wants to go to school, to study and to eat whatever she wants to. But due to dialysis, she cannot do any of such things. She has to take more than 15 tablets per day. Her condition is becoming more and more serious with each passing day. I have a dream that I will give her a new life!

I want the help of all of you to make this campaign a great success. I will never forget this donation. She really need your help.

Even a small donation from many people can help me to continue the treatment and will enable me to proceed for the transplantation process. Because I believe that when small drops of water combine, they become a river.

So, all donation are welcome. Please help him  to save his sister. You can start donating by click on the link below:

https://life.indiegogo.com/fundraisers/14-year-old-girl-need-your-help

And Please share this post to other people also, this would be very helpul to make this campaign become success.

Thanks and best regards,

Levis

Some little things that i think Windows should has

I started to use PC, for (at least) 10 years around, and the first OS is always, Windows (from XP to Win 7, Win8). From gaming to entertaining, it works quite well, and for production, at the first time, it works well, too. But after i switched to Linux, i found that Linux has some cool built-in features that Windows doesn’t, til now. These features are very very tiny, but they help we work better and faster, a lot. So, what are these features? But let me talk a little bit about my experience. Linux, yes Linux, changed my way to use computer. Eyes-candy effects with Compiz+Emerald, or some superb DE like KDE, Gnome, Cinnamon,… make me feel excited. And Linux not only like that. Spent awhile to playing with theming and customizing my Desktop, and then one day i switched to use ratpoison – the very best WM i have ever seen. “ratpoison”, the purpose is as it, in this WM you don’t need to use mouse to do tasks. All are done by pressing hotkey combinations. Much more faster than moving the pointer around and point-and-click. Then i realized i lost at least 8 years, wasted in this useless point-and-click game without increasing my productivity.

Then, “novice users love mouse, super users love keyboard”.

Let’s think about that, when you’re using PC, your hands are usually at the keyboard. Whenever you want to do some new tasks, what will you do? Release the keyboard, grab the mouse, move it around and click on where you want it to work, release the mouse, grab the keyboard again? Yeah, you wasted you time. Yes, it’s convenient and more user-friendly, but you wasted you time when you move your hand to use the mouse, and move it back again to the keyboard. So, things are more simpler by pressing hotkey, then you will not have to move your hand. This is quickest and most effective way that decrease useless actions you made. The lesser actions you made, the lesser time you lost.

Some users, they’re too lazy enough to not remember any hotkey/shortcut and use mouse a lot. So the main aim of Microsoft when developing Windows is provides an as-much-more-user-friendly-as-possible interface to fit most of “novice users” out there. That’s weird, if one day you’re working hard with all of your power, you will see that, Windows are nothing than a silly crazy baby.

So, how about the thing i want Windows to have, in they next release (Windows 10 or something later on)?

1. Multi-tabbed in Windows Explorer

Windows Explorer is the primary File Manager in Windows, and some novice user don’t notice about it, then even don’t know about its name. Very important in each simple task we do,  But the point is, a lot of windows opened win eat the free screen space, and make user confused when switching among them, it’s really hard to manage at a time. My works are busy enough, and i don’t want to spend any more time to find the Windows i need.

Ugly Taskbar

Gotta sick? While most file manager in Linux have multi-tabbed, it’s easy to navigate and manage. For e.g, Dolphin in KDE, yeah, i love this, a lot, but Windows, since the first time they have the name “Windows”, there is no tab availabe.

Multi tab in DOlphin

Luckily, there is a small (and free) utility available, to bring this cool feature to Windows. It’s Clover (http://ejie.me/), installed as and extension for Windows Explorer, and it’s really light weight, working like a charm.

Multitab in explorer

Chrome-like tabs, and it’s ease to use with lot of hotkeys availabe. It will groups all the windows into one single Window, and you can navigate to them by using Ctrl+Tab hotkey. To Create new Window, use Ctrl+T, to close a tab, use Ctrl+W. To navigate to specified tab, juse use Ctrl + Tab number, for e.g, Ctrl+1 to tab 1 , Ctr+2 to Tab 2,… and so on. And we just need some default windows hotkeys, F3 to move to the Search bar, F4 to move to location bar, Tab key to move between panel, plus some, you just try to find them out.

The first time, you will not familiar with it, but believe me, you will be quickly satisfied and will work like a machine. Nobody know that what you’re doing on your computer, they just see you typing and screen is blinking amazingly while the jobs are done on-the-fly.

2. System-wide Shortcut key

With some commonly used applications, i need to fire it up quickly every time i need them. So i need to assign hotkey, so whenever i need, i will tap my keyboard, then they should be here for me to use. Linux DEs have an excellent hotkey/shortcut key system, and all the hotkeys are easily to be added/removed. Like this:

Cinnamon Hotkey
Hotkey in KDE

Really really helpful feature. Unfortunately, we don’t have it in Windows, by default. This could be fixed by adding a small utility named WinHotKey (http://www.softpedia.com/get/System/Launchers-Shutdown-Tools/WinHotKey.shtml). When it runs, it takes just about ~2MB of your RAM (tested on my system), then we get a full featured hotkey system.

WinHotKey main GUI

This means, i could easily launch IDA every where, by pressing CTRL+WINDOWS+I, or OllyDbg with CTRL+ALT+O, or my favorite Text Editor Sublime, just by CTRL+WINDOWS+S. Just imagine how fast it is, and how much time you will save to speed up works. Yeah, M$, You really really should add this to Windows. Many people will need it, though.

3. Terminal or (at least) a good shell prompting system

This mean that a “command line interface”. In each newer version of Windows, M$ tried to pull cmd (DOS) further from their system. However, cmdline has its own value and will not be replaced easily by GUI (at least, in this time). Powershell in windows, solved the issue, but in a way that i’m not familiar, so i didn’t use it. And i love terminal and shell of Linux a lot, i’m really a big fan. It makes tasks simpler and more flexible. So, one man i know, he showed me this Application: MobaXTerm (cygwin-based) (http://mobaxterm.mobatek.net/, there is free personal version to download, but limited some features, you could buy it for the full features and further supports/update). As a novice user, you may find it’s too hard to use or understand, but for me, it’s very powerful. I love the way Linux does, like this, in one window i can manage them all:

Terminator, Yeah, the monster in Linux
MobaXterm make the bit easier to breath

So with MobaXterm plus tmux (install via cygwin), i could get the same thing that fit my needs: MobaXterm is very cool, really is. I even build a small *nix system which work a bit same to the real system (limited, but at least, just enough). And to combination with WinHotKey, i assigned Ctrl+Alt+T to launch it, and i feal like i’m using Linux, comfortable and flexible.

So, the last words is, we should learn to use keyboard hotkey to speed thing up, rather than use mouse. Remember, Ctrl+C is always faster than Right click -> Copy. Have a easier-to-manage and more convenient system, it’s the key to increase the productivity. You can control time, perform lesser actions for a task, it’s enough.

Have fun and good luck,

Levis

How to learn Reverse Engineering?

Cứ một vài ngày lại có 1 gã mới xuất hiện ở Tuts4you và hỏi rằng: “Tôi muốn học Reverse Engineering, vậy thì tôi nên bắt đầu từ đâu?”

Hmmm….

Có rất nhiều lời khuyên được đưa ra, ví dụ như ở trong bài viết trên Reddit này. Một trong những lời khuyên phổ biến nhất là háy bắt đầu với loạt hướng dẫn của Lena151. Lí do là loạt hướng dẫn này cung cấp được cái nhìn tổng quan về những thao tác phổ biến cần thực hiện, những công cụ phổ biến cung cấp đến sự hài lòng ngay lập tức. Nhưng liệu những bài hướng dẫn đó có thực sự dạy bạn về Reverse Engineering? Tôi không nghĩ như vậy

Tại sao các bài hướng dẫn của Lena151 lại không tốt

Thực tế thì tôi không phải người duy nhất nghĩ như vậy:

Tôi đã nghĩ tại sao việc này lại xảy ra. Về cá nhân tôi, tôi đã bắt đầu học Reverse Engineering bằng cách xem loạt bài hướng dẫn của Lena151. Tôi đã nghĩ rằng chúng thật tuyệt vời chỉ đến khi Daeken nói với tôi rằng đó thật sự là một phương pháp tồi tệ để học Reverse Engineering.

Lúc đầu tôi vẫn không hiểu tại sao (anh ta nói) chúng là không tốt. Loạt bài viết của Lena đã dạy cho tôi để tôi có thể crack phần mềm đầu tiên.

Và đó chính là vấn đề đấy. Bạn chỉ muốn crack phần mềm. Đó là sự thỏa mãn trong thoáng chốc. Nhưng thực tế là bạn đã học được những gì? Chạy một vài công cụ phổ biến, tìm “từ huyệt (bad boy jump” và patch nó? Wow! Bạn thật sự “l33t” (một tính từ châm biếm, kiểu “pro, khủng” khi nói các trẻ trâu) đấy.

Trong thực tế, loạt bài hướng dẫn này đã tạo ra cả một thế hệ những kẻ “muốn làm cracker”, những kẻ chỉ biết sử dụng các công cụ có sẵn, nhưng thực tế thì không biết cách động não (script kiddies). Với mỗi vấn đề gặp phải, họ cần một video hướng dẫn. Chỉ cần một khúc mắc nhỏ thôi họ cũng lập một topic để yêu cầu giúp đỡ.

Đấy mới chỉ là một phần của vấn đề.

Những video hướng dẫn tạo bởi người mới (beginner) thậm chí còn tệ hơn

Albert Einstein đã từng nói:

Tôi càng biết nhiều, thì tôi càng nhận ra rằng càng nhiều thứ tôi không biết.

The more I learn, the more I realize how much I don’t know.

Những người mới, những người xem series của Lena151 không nhận ra điều này. Họ crack được một chương trình đầu tay và họ tự nhận mình là Reverser. Và điều tệ hơn nữa là, họ cố gắng chia sẻ “kiến thức” của họ bằng cách làm vô số những video hướng dẫn “siêu siêu tệ” để cho thế hệ những kẻ “muốn làm cracker” sau xem.

Tôi đã từng xem một video dài 15 phút có tiêu đề “Làm cách nào để Unpack CryptoObfuscator”. Bạn biết nó như thế nào ko? Bạn kéo-và-thả file vào trong de4dot. Chỉ đơn giản như vậy thôi. Vâng, cóngười đã làm một video 15p để dạy bạn làm như thế đấy.

Vậy, cách tiếp cận khác là gì?

Blog ReverseWithme khuyên nên học:

1. x86 Assembly (Giống như hệ thống điện và dây dẫn trong một chiếc ô tô)

2. Cách mà hệ điều hành hoạt động và cách chúng quản lý bộ nhớ (giống như động cơ xe)

3. Quá trình biên dịch từ code C thành Assembly (điều này tương tự như biết cách làm sao để lắp rap một chiếc xe)

4. Chu trình của một mã nhị phân (“The lìfe òf a binary”, khó dịch sát nghĩa) (tương tự như việc hiểu tất cả mọi thứ xảy ra trong chiếc xe từ khi tra khóa vào ổ để khởi động cho đến khi tắt máy).

Tôi cũng không nghĩ đây là hướng đi đúng đắn.

Giống như là bạn học một ngoại ngữ bằng cách đọc một quyển từ điển. Bắt đầu với chữ “a”, và một khi bạn kết thúc chữ “z”, bạn biết tất cả các từ. Có thể. Nhưng bạn sẽ không thể nào đặt được một câu hoàn chỉnh, hay giao tiếp được với một người bản xứ.

Lấy 1 ví dụ: Tôi đã làm Reverse các file .NET trong vòng 10 năm rồi. Tôi đã viết một vài unpackers cho một vài .NET Protectior đơn giản. Và đến giờ tôi vẫn không thể hiểu đưọc IL assembly một cách “thấu đáo” (by heart). Tại sao? Bởi vì tôi không cần phải thế? Dạng biểu diễn dễ nhớ của “branch-if-equal” (rẽ nhánh nếu bằng nhau, một chỉ lệnh IL) là gì? Nó là be, beq, hay bre? Nó lấy 1 hay 2 tham số từ stack ra?. Tôi không biết. Nếu khi nào tôi cần biết, thì chỉ việc tìm kiếm trên Google.

Vâng, để trở thành 1 Reverse tốt, bạn cần phải nắm vững hầu hết những mảng kiến thức đã nêu ở trên. Nhưng bạn không cần phải biết tất cả khi bạn mới bắt đầu tìm hiểu.

Nói tôi biết câu trả lời đi, mẹ kiếp! (Dịch nguyên văn)

À, hãy bắt đầu với loạt hướng dẫn của Lena151. Đúng, tôi nói chúng không tốt, nhưng đó là điều tốt nhất chúng ta có ở đây. Và nếu bạn làm theo một vài lời khuyên thêm dưới dây, bạn sẽ có một khởi đầu khá ổn:\

  • Học cách nghĩ cho bản thân mình. Đây là phần quan trọng nhất. Đừng chỉ mù quáng làm theo những bài hướng dẫn, mà hãy cố gắng để hiểu rằng tại sao lại như vậy, và điều đó xảy ra bằng cách nào.
  • Học cách tìm kiếm. Đa phần các câu hỏi đều đã được trả lời, bạn chỉ cần kiếm câu trả lời mà thôi. Hãy luôn nhớ rằng “Google is your friend”!
  • Tìm hiểu về các công cụ mà bạn có. Bạn không cần phải biết đến từng tùy chọn, và các tính năng của công cụ bạn có. Đa phần người ta chỉ sử dụng khoảng 10% tính năng của Microsoft Excel. Dân chuyên nghiệp thì có thể dùng đến khoảng 20%. Điều này cũng tương tự với các công cụ RE. Nếu bạn có thể sử dụng thuần thục 10% các tính năng của Olly hay IDA, là bạn đã có thể làm rất ổn rồi.
  • Và điều cuối cùng, hay luôn vui vẻ và đam mê! Không có gì hủy diệt năng suất làm việc của bạn nhanh hơn sự nhàm chán. Nếu như vấn đề quá khó, thì hãy bỏ nó đi, thử một vài thứ khác, và quay lại nghiên cứu tiếp vấn đề đó sau.

(Dịch từ bài viết trên blog của kao – Translated from English article at kao’s blog)

[Video] Manual Unpacking Confuser 1.9

Hello mates,

This is a short video i made for a (not so) long time before, but not published (yet). And now i decided to public it for people who want to learn about unpacking Confuser 1.9. I’m not the author of this method, just follow an article made by 0xd4d, so all credits go to him. So feel free to watch and enjoy this video.

A short description about the method used:

– Load file using WinDbg

– Determine which .NET version which is used by target, load the correct SoS extension along side with CLR/MSCORWKS.

– Set breakpoint and run until target file is unpacked/decrypted, and all methods are restored (anti-tamper protection) in memory.

– Dump the memory region

– Use de4dot to clean file

– Patch 3 method (anti-tamper, anti debug, anti-dump) to prevent crash, use CFF + SAE.

– Done

 

Enjoy and best regards,

Levis

“Hãy chuyển ngôn ngữ của chiếc điện thoại bạn đang dùng thành tiếng Anh…”

Xét theo khía cạnh sư phạm hay khoa học gì gì đó, thì tôi không phải là đứa giỏi tiếng Anh. Tôi không có chứng chỉ IELTS, TOEIC, TOELF (chắc là trong lúc này thôi, tương lai tôi có thể sẽ đi thi để lấy một hay một vài cái chứng chỉ đó, nếu như công việc yêu cầu), hồi đi học phổ thông, điểm kiểm tra, điểm thi hay điểm tổng kết của tôi đều chỉ làng nhàng 6,7 điểm cho môn tiếng Anh.

Thế nên bạn hãy hiểu rằng tôi sẽ không dạy bạn phương pháp để học tiếng Anh hiệu quả, để dành điểm cao, hay để lấy được vài cái chứng chỉ nào đó, vì nếu làm như thế sẽ chẳng ai tin, và lại làm cho mấy người có tư duy sư phạm, mô phạm được cớ để lao vào chỉ trích, phê bình. Thế nên, trong bài viết này tôi đứng ngang hàng với các bạn, để tôi kể, kể và kể.

Tôi không biết mục đích của bạn khi học và sử dụng tiếng Anh là gì. Còn tôi, nó là một thứ tất yếu và bắt buộc phải có. Thực ra, lúc đầu tôi ghét tiếng Anh lắm, vì cái quy trình sư phạm ở “xứ thiên đường” khiến cho một con người trần tục như tôi cảm thấy không hào hứng, và thật sự chán ghét thậm tệ. Từ ghét cách giảng dạy làm tôi ghét lây sang cả tiếng Anh. Lúc đó mỗi lần ngồi trong phòng học đối với tôi là 1 thứ cực hình khốn nạn nhất.

Ít ra là tôi cũng có thứ để mà giải khuây, để chạy thoát khỏi những cảm giác tệ hại nhất mà tôi gặp khi ở trong “lớp học xứ thiên đường”.Thú vui đó đã được tôi nói rất nhiều, và hiện đang nằm trong những bài viết của blog này.. RE/security là phần riêng, còn phần chung, theo một chiều rộng hơn, là IT – Công nghệ thông tin. Không biết ai nêu ra cái thể loại “đi tắt đón đầu”, làm nó lây cả vào trong giới đi học lẫn giới tri thức, thành ra nhiều khi trở thành khốn nạn hết mực, nhiều cái mới được dùng nhan nhản ra mà không có nổi một cái tài liệu tiếng Việt, nếu có thì viết theo kiểu “dịch cho có”, người dịch búa xua, bậy bạ hết chỗ nói bởi vì chính người dịch cũng “đi tắt đón đầu”, không hiểu được bản chất nên dịch không sát nghĩa, rời rạc. Thành ra tôi phải đọc tài liệu tiếng Anh.

Căn bản tiếng Anh của tôi cũng có, chứ không phải dốt đặc. Nhưng tiếng Anh chuyên ngành, đọc câu được câu không, và đa phần không hiểu gì. Nhưng lúc đó tôi kệ thôi, đọc một lần không được thì nhai lại 3,4 lần, nhiều khi mình chưa hiểu nghĩa đã thuộc luôn từng chữ của cái câu đó rồi.

Tôi ít khi tra từ điển. Và tôi không thích việc là đọc có vài dòng chữ thôi mà phải lôi nguyên quyển từ điển ra để tra tra, dò dò. Quá vất vả.
Cái gì tôi cũng ghét, vậy tôi phải làm sao?

Và tôi đã nghĩ là: “Mình không thể ép những câu, những chữ này về tiếng Việt được, vậy tại sao mình không chuyển suy nghĩ của mình thành tiếng Anh?“. Đúng, quyển sách thì từ lúc nó viết ra nó đã luôn như vậy rồi, mình không thể biến nó thành quyển sách khác đuợc, thứ duy nhất mình có thể thay đổi được trong lúc này là lối tư duy của mình. Tại sao cứ phải dịch thành tiếng Việt, đó là mình tự làm khó mình rồi. Thế nên tôi tập cho mình cách tư duy bằng tiếng Anh.

Việc tôi làm là đổi ngôn ngữ điện thoại của tôi sang tiếng Anh. Tất cả cái gì có thể đổi được sang tiếng Anh. Như thế là tôi buộc mình phải dùng tiếng Anh mỗi ngày.
Nếu bảo tôi ôm quyển sách bài tập tiếng Anh để ngồi mà làm thì tôi khẳng định tôi sẽ tìm cách đá đít cái người đang nói với tôi câu đó ra khỏi chỗ tôi đang đứng/ngồi. Tôi không thể làm bài tập tiếng Anh kiểu chia động từ, hay phân biệt các thì, trọng ấm, đại từ phó từ mệnh đề…, nhưng cách đọc những từ xuất hiện trên màn hình điện thoại, máy tính, thì tôi đọc được, rất tốt, rất nhanh vì chúng rất trực quan

“Message” trong điện thoại có thể dịch thành “Tin nhắn”, tôi cũng chẳng dịch thành “tin nhắn” để mà nhớ, cứ biết “Message” thế thôi. Thế là từ sau trở đi, hễ cứ nhìn thấy “Message” là hiểu, chứ không cần loay hoay để hiểu xem nó là “tin nhắn” hay “thông điệp”, hay có thể là một “bức thư”?

“Option”, hễ cứ bấm vào đó là mình được chọn những cái mình cần, hoặc những cái mình thích. Thế nên sau này cứ thấy option là biết ngay, khỏi phải dịch thành “lựa chọn” , hay “tùy chọn”

“Category”, cứ bấm vào là thấy một đống thứ được sắp xếp, thế là về sau cứ gặp Category là hiểu, đâu có cần phải dịch ra thành “danh mục”, “chủng loại”, “phân loại” làm gì cho rối rắm chứ?

Vân vân và vân vân…..

Dần dần tôi đọc tài liệu tiếng Anh dễ hơn. Sách tiếng Anh, nhiều cuốn viết hay lắm. Người viết thường là sau khi đưa ra một khái niệm nào đó, người ta sẽ dành một phần khá dài ở phía sau để giải thích. Tôi lấy ví dụ này:

– Sách tiếng Việt: kiều int có kích thước 4 byte, biểu diễn được từ.-xxxx đến xxxx (xxxx là mấy tôi quên mất rồi, chắc chắn là lớn hơn 2 tỉ, youtube mới bị overflow lượt view cho Gang nam xì tai khi nó vượt ngưỡng lưu trữ của int).
Khi đọc xong tôi hỏi: tại sao lại là 2 tỉ hơn, mà lại không phải là số khác? Sách: Im lặng.
– Sách tiếng Anh có thể sẽ viết như sau, tôi nêu lại vắn tắt và có biến tấu cho thêm phần vui nhộn: Int có kích thước 4 byte, có thể lưu được các gía trị từ -xxxx đến xxxx. Bởi vì 1 byte = 8 bit, cứ 4 bit thay đổi gía trị 0 và 1 sẽ có 16 dạng, 2 cái 4 bit là thành 1 byte, mỗi cái 16 dạng => 16*16 =256 dạng biểu diễn => 4 byte, mỗi byte có 256 dạng => 256*256*256*256 = yyyyyyy (khoảng trên 4 tỉ), mà cần biểu diễn số âm nữa nên sẽ dành 1 nửa biểu diễn số âm, 1 nửa biểu diễn số dương, nên ra được cái số xxxxxx phía trên.
Nó viết kĩ như thế nên tôi chỉ còn nước ngồi gật gùi đồng ý và cặm cụi đọc tiếp thôi.

Từ đó trở đi, tôi chỉ đọc tài liệu tiếng Anh mà không động đến bất cứ quyển tài liệu tiếng Việt nào nữa. Khả năng tiếng Anh của tôi cũng từ đó mà tăng lên, vì cũng giống như việc tôi đổi ngôn ngữ điện thoại vậy, dùng lâu thành quen, quen rồi sẽ hiểu.

Việc ép cho tư duy của mình thành tiếng Anh mang lại hiệu quả lớn, và rõ rệt nhất khi tôi quen được những người bạn nước ngoài đầu tiên, và trao đổi với họ qua các ứng dụng instant messaging. Đã “instant” là phải nhanh, nên nếu ngồi vừa dịch vừa viết trả lời thì chắc vài phút mới gửi được một tin nhắn, vậy quá khổ sở. Cũng may cho tôi vì tôi không muốn dịch, và cũng không cần dịch (ít ra là trong trường hợp này), nên việc nói chuyện khá dễ dàng và không bị delay. Càng nói chuyện nhiều thì lại càng quen cái phong cách của họ, và càng hòa nhập hơn. Đó là điều tốt và may mắn cho tôi…

Lúc đầu thì sai tùm lum ngữ pháp, đến giờ cũng vậy. Nhưng mục đích của tôi chỉ là khiến nó (người nuớc ngoài) hiểu mình, và mình hiểu nó đang nói gì là được. Tất nhiên, nó biết tôi không phải người Anh hay mỹ hay Úc, cho nên nó chẳng cười tôi vì tôi viết sai hay viết thiếu, và tôi cũng chẳng phải cố uốn nắn cho đúng để chứng tỏ rằng ta đây cũng “không phải dạng vừa đâu”. Lúc đầu là thế, lâu rồi thì tôi quen hơn với văn phong của các tài liệu tiếng Anh, và cách viết của những người bạn nước ngoài kia. Chứ còn ngữ pháp ư, tôi chẳng biết và cũng chẳng quan tâm. Nỗi ám ảnh ở “lớp học xứ thiên đường” đối với tôi thế là đã quá đủ rồi.

Với những bạn yêu thích IT nói chung và security nói riêng giống tôi, thì chắc chắn tiếng Anh là bắt buộc. Và nếu bạn muốn giảm bớt khó khăn, thì hãy cứ làm theo tôi, “chuyển ngôn ngữ ở máy điện thoại của bạn thành tiếng Anh”, cũng như tư duy của bạn vậy, chuyển nó thành tiếng Anh.