Courage Osho Vietnamese

 

osho-sach-can-dam-bao-sggp_ppeb

 

(to be updated)

 

./.

 

Advertisements
Posted in Feeling, Reading, Skill | Leave a comment

Learning code online

Tập hợp một số tài nguyên trực tuyến (websites/hyperlinks) có thể hỗ trợ các bạn trẻ học được coding từ xa, online.

(last updated: 10/2017)

Ở đây ưu tiên các website tiếng Việt (hoặc của người Việt) trước, phần các website có nguồn gốc nước ngoài sẽ đề cập sau.

Online training (videos/podcasts)

myclass.vn

tedu.com.vn

kyna.vn

courses.vn

kampus.vn

.

Online training (hands-on/interactive)

vietpro.net.vn

zendvn.com

.

Online articles

kipalog.com

laptrinhx.com

toidicode.com

.

Q & A (sample code)

http://daynhauhoc.com

toughdev.vn/qa/

.

Motivation

https://techtalk.vn/ngunglambieng-canh-tinh-thuc-trang-luoi-bieng-tu-trong-tu-tuong-dang-lo-ngai-cua-sinh-vien-cntt.html

http://sites.google.com/site/newbielearnlinux2/smartquestions

http://newbielearnlinux.googlepages.com/smartquestions

.

Misc (conferences/events/UG/offline)

(vài trung tâm hoặc trainer tác giả nhận thấy là ổn – lưu ý: tác giả ko nhận PR/Ads cho bất kỳ cái nào trong đây)

meetup.vn

ticketbox.vn

khoapham.vn

hocthietkeweb.net.vn

 

.

 

.

 

Bây giờ bắt đầu phần tiếng Anh (English).

 

18043011

Online training (videos/podcasts)

coursera.org

udemy.com

freecodecamp.org

.

22221927_10213219363232116_3080624989916509826_n

.

Online training (hands-on/interactive)

codecademy.com

codeschool.com

.

22308941_10213219364032136_7842871211724726358_n

.

Online articles

dzone.com

infoq.com

developer.com

 

.

Q & A (sample code)

stackoverflow.com

softwareengineering.stackexchange.com

 

.

Hope this helps,

./.

Posted in Coding, Skill, Top5 | Leave a comment

IDEA Tomcat HotSwap

Besides the posts about hot deploy on Tomcat Eclipse (WTP), and on JBoss exploded EAR/WAR, this is a similar post about Java hotswap based on the Java Platform Debugger Architecture (JPDA), or more specific layer, the Java Debug Wire Protocol (JDWP).

Yes, “hotswap” does not necessary mean to deploy, the Java app can see different results in runtime just via debugging. Okay later on you can still deploy to the web server so that it can run as production, but the point of hotswap is to speedup development process.

In this field, the leading software is JRebel, but its price is a bit high compared to living standards in developing countries in South East Asia, like Vietnam. Therefore I tried the “free” alternatives:
+ Dynamic Code Evolution (DCE) VM
+ HotswapAgent – a derivative work from DCEVM agent
+ SpringReloaded – also a similar approach to HotswapAgent (different bytecode lib)
+ Spring Boot DevTools – not really “hotswap” classes but “quick reload/restart”, and can “refresh” the static resources (CSS, HTML, …).

Anyway, they all are based on classloader replacement and bytecode instrumentation/manipulation.

In the end, I found that it’s still okay to use a “mix” of those, they are very close to JRebel if used properly.

For instance, I use DCEVM with SpringLoaded agent for general debug hotswapping, it’s good when using with servlet containers which takes time to restart/re-deploy, like Tomcat and JBoss web (the new “Undertow”). Jetty is still good and under-rated, as usual, but I will leave it as “low-profile” rather than being acquired and become bloated.

For general Java projects, I think HotSwapAgent provides good plug-ins for IDEs, though it’s still not popular on IntelliJ IDEA (yet).

I would recommend HotSwapAgent on IDEA users, but for local Tomcat debug I would use DCEVM with SpringLoaded:

VM Options: (either JAVA_OPTS / JPDA_OPTS / CATALINA_OPTS are all ok)

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -javaagent:/home/ducquoc/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify -XXaltjvm=dcevm

Spring Boot DevTools is on its way to become “hotswap”, for now it’s a quick reload/restart and can still be used with standard JVM debug hotswap (JDWP), thus it’s still better than “nothing”, and it has potential since Spring Boot is getting popular and can actually save the time/day rather than being “intrusive” like the old SpringFramework approach.

.

That’s it. The slow deployment time was a counter-productive factor of Java development, but things are much better now thanks to such debugging tools.

./.

Posted in Coding, Linux | Leave a comment

Git pull all

(targeted audiences: developers/coders/programmers)

Git projects are typically small and we may have multiple projects on a workspace.

Hence sometimes we have 8+ projects on the workspace it may be tedious to update git pull manually. And we don’t have “parent project” like in SVN anymore, not update all option huh? Okay we can do it with shell script.

I’ll make it one-liner, given the current working directory is the workspace:

for i in */.git; do ( echo $i; cd $i/..; git pull; ); done

And when we need to Git pull with rebase (or the global config always rebase when pulling), just use stash along with it. Replace the normal git pull with following:

git stash && git pull --rebase || git pull --rebase && git stash pop

Combined with the command above we can still have “one-liner” , but I also made a simple bash script git-pull-all.sh for arbitrary workspace dir (not just basedir).

For non-Linux user (Redmond), either use Git Bash with above script, or the following batch script counterpart:

for /d %a in (*.*) do cd "%CD%\%a" && git pull

The git rebase stash above still works with Windows.

for /d %a in (*.*) do (cd "%CD%\%a" && git stash && git pull --rebase || git pull --rebase && git stash pop)

I also made a git-pull-all.bat for that as well (using %% variables with for loop, not % as in direct command line).

That’s it.

.

Bonus: For IDE you may want to enable auto import Maven/Gradle changes (so that after updating Git repos the dependencies will be update automatically). For example IntelliJ IDEA can enable Auto Maven Imports at:

File -> Settings -> Build, Execution, Deployment > Build Tools > Maven > Importing

(old versions of IntelliJ IDEA:

File -> Settings -> Maven > Importing

)

Also, enable Annotation Processing will be good when you are using libraries such as Lombok or Mapstruct.

(IntelliJ wrap line at 120 spaces:
+ format: Settings / … / Code Style / JAVA / Wrapping and Braces / Ensure right margin is not exceeded = Yes

+ typing:

)

 

./.

Posted in Coding, Skill | 2 Comments

Grep Sed Awk

 

 

(Edited: bài viết từ cuối 2011 – ID:110 – draft state bấm nhầm publish lỡ rồi thôi)

 

Grep

Tìm các dòng chứa chuỗi chuoi trong 1 files:

$ grep "chuoi" ten_file

.

Tìm các dòng chứa chuỗi chuoi trong nhiều files đuôi .txt:

$ grep "chuoi" *.txt

(Nếu dùng find để tìm CHUOI trong file .txt:

 $ find . -name *.txt -exec grep CHUOI {} ;

hoặc

 $ find . -name *.txt -print | xargs grep CHUOI

)

Tìm không phân biệt chữ hoa chữ thường: tùy chọn -i

$ grep -i "chuoi" ten_file

Tìm chính xác từ chuoi ko tinh chuỗi dài hơn như chuoichien : tùy chọn -w

$ grep -w "chuoi" ten_file

Tìm những dòng Không chứa chuoi (phủ định của tìm dòng chứa): tùy chọn -v

$ grep -v "chuoi" ten_file

Kết hợp lệnh ps để tìm process có tên java :

$ ps -ef | grep java

 

Ngoài ra còn có option -E để tìm theo RegEx, -F để tìm theo file.

Tìm tất cả dòng có chứa github hoặc bitbucket trong config các repository Git:

$ grep -E "github|bitbucket" */.git/config

 

Một số Linux distro sẽ có egrep tương đương “grep -E” , và fgrep tương đương “grep -F” .

Ngoài ra còn option -A-B cũng tương đối hữu ích.

 

.

Sed

Sed chủ yếu dùng để thay thế (substitute) các từ trong 1 văn bản, và có thể xuất kết quả ra output hoặc file khác (chứ ko nhất thiết đè lên file gốc).

Thay từ old (đầu tiên) bằng từ new trong file filename.txt :

$ sed -i 's/old/name/' filename.txt

Thay từ old (tất cả) bằng từ new trong file filename.txt :

$ sed -i 's/old/name/g' filename.txt

 

Nếu không thay thế trực tiếp (in place) thì ko cần option -i , có thể append/output ra file mới:

$ sed 's/old/name/g' filename.txt > newfile.txt

 

VD: thay URL HTTPS sang GIT trong .git/config file của 1 Git Repository:

Repo https://github.com/ducquoc/euler-fun

sẽ có dòng sau trong file config trong thư mục .git ở root dir repo:

[remote "origin"] 
  url = https://github.com/ducquoc/euler-fun.git

thì sau khi chạy dòng sed sau sẽ thay giao thức HTTPS bằng Git over SSH:

$ sed -i 's/https:\/\/github.com\/ducquoc/git@github.com:ducquoc/g' euler-fun/.git/config

(dấu backslash \ để escape ký tự slash /  trong regular expression ). Kết quả:

[remote "origin"] 
  url = git@github.com:ducquoc/euler-fun.git

Áp dụng tương tự cho các Git repository ở bitbucket:

$ grep -E "bitbucket|github" */.git/config
$ sed -i 's/https:\/\/ducquoc@bitbucket.org\/ducquoc/git@bitbucket.org:ducquoc/g' */.git/config

 

 

.

Awk

Ứng dụng tìm process, lọc PID và xử lý :

$ ps -ef | grep PROCESS | grep -v grep | awk '{print $2}' | xargs kill -9

(kill -9 tương đương kill -s SIGTERM để tắt tất cả process input)

Tương tự:

$ ps -ef | awk '/PROCESS/ && !/awk/ {print $2}' | xargs -r kill -9

.

Bonus:

* nohup để giữ process vẫn chạy sau khi user ko còn login:

$ nohup  /usr/bin/php long_running_process.php > /var/log/nohup_long_running_process.log &

* Liệt kê các file backups và xóa bớt những file quá hạn với xargsrm -rf :

$ ls -td1 /data/backup/*/ | tail -n +4 | xargs -r rm -rfv 2> /var/log/backup_cleaner.log

 

.

 

./.

Posted in Coding, Linux | Leave a comment

Not A Number

 

POV-Six-Nine

 

Khi lập trình với JavaScript,  có nhiều bạn khá thú vị với toán tử so trùng (===) , và thường ưu tiên hơn toán tử so sánh tương đương (==) .

Đây cũng là 1 điều được đề cập sớm trong quyển “JavaScript: The Good Parts” , cũng là 1 mục dễ gây hiểu lầm khi coding. Nó cũng gần như so sánh  ==    và    equals()   trong ngôn ngữ Java.

Tuy vậy, có những trường hợp mà kết quả của  ===  có thể khác với expectation theo logic kể trên.  Hãy xem thử đoạn JavaScript sau:

var n = "Anh";
console.log("Co phai la anh? n==n " + (n=="Anh"));
console.log("Anh that dung la anh? n===n " + (n==="Anh"));
console.log("Anh moi? == " + (n==new String("Anh")) + " GiaTri? " + (n==String.valueOf("Anh")));
console.log("Anh moi dung? === " + (n===new String("Anh")) + " GiaTriDung? " + (n===String.valueOf("Anh")));

var m = NaN;
console.log("Co phai la em? m==m " + (m==m));
console.log("Em co dung la em? m===m " + (m===m));
console.log("Khong phai anh a? " + (NaN==NaN));
console.log("Khong phai la anh, co phai la em? " + (NaN===NaN));

.

.

Nếu bạn biết coding, hãy dự đoán 1 chút trước khi cuộn xuống…

.

.

.

.

.

.

.

OK, nhẹ nhàng scroll down cái nào :)

.

.

.

.

Kết quả so sánh NaN==NaNfalse,

và so sánh NaN===NaN lại là false!

Ít nhất là trong JavaScript là như thế … (nói chung là ECMAScript – ES).

.

Anh không phải anh ? Em không phải là em?

.

Liệu có gì đó sai sai về mặt logic không?

Sau một hồi suy nghĩ , tôi cảm thấy cái này cũng hợp lý, không phải vấn đề ở biến “em” hay biến “Anh” .

Mà về mặt ký hiệu lập trình, NaN là pre-defined tượng trưng cho “Not A Number” , 1 giá trị không phải là số .

Nên “không phải số” có thể là 1 chuỗi (“m”), và khi so với 1 “không phải số” khác, thì có thể là chuỗi khác (“n” or “someArbitraryFunction”), hoặc thậm chí là hàm (function), vì thế kết quả so sánh giữa 2 cái sẽ không trùng nhau, hoặc không tương đương.

Nếu như vậy thì kết quả trên là hợp lý, có thể có rất nhiều giá trị ứng với NaN , cũng như khi đi từ A tới B có thể có rất nhiều con đường.

Một cách nói khác, khi ta nói về ngôn ngữ lập trình nói chung, nó có thể là Java, nó có thể là JavaScript, còn khi nói “không phải Java” thì ko có nghĩa là “phải là JavaScript” hoặc “phải là Ruby”, và tương ứng ngược lại.

Những cuộc thảo luận về ngôn ngữ lập trình thường khá hứng thú với nhiều coder/programmer , nhưng không nhất thiết dẫn tới sự đồng ý về “the next big language” or “the next big thing” .

Có lúc tôi nghĩ JavaScript là ngôn ngữ lập trình dẫn đầu, nhưng bây giờ thì có thể không là như vậy nữa. Thì điều này không có nghĩa là sự phê phán JavaScript, hay sự trách móc Java, C# , … có thể đó chỉ là những ngôn ngữ triển vọng nào đó (Python, Erlang?) hoặc tốt về mặt performance như Scala, Clojure,… hoặc thậm chí là Go, Elixir, …

.

Who knows?

The logic of a language design is just a thing in life. We may remember some particular cases, and bear in mind the general approach if that helps our work/life, that’s sufficient I guess.

.

./.

Posted in Coding, Feeling | 1 Comment

Oracle JavaSE alternatives

Oracle used to have very good sales strategies, for instance it has early investment for Linux database markets, which proves to be a brilliant idea and helps Oracle gain a lot of reputation (later on Oracle DB is well known and got biggest marketshare for enterprise relational DBMS).

However, since its acquisition of Sun Microsystems, Oracle thinks it is a bigshot and now can turn its back on the community, can dictate the ecosystem of its acquired products. Hence, it seems Oracle is on the wrong track.

https://www.theregister.co.uk/2016/12/16/oracle_targets_java_users_non_compliance/

 

 

Starting with Hudson, a well-known opensource CI tools. The commercial attempts did not go well, though. And the community managed to come out with Jenkins CI, a fork from open source codebase, but it soons become more popular than Oracle’s Hudson.

Other attempts like MySQL “commercial support” prices doubled, or legal suing attempts against Google, resulted in mixed results. However I would say that Oracle got more hatred than it should. Google made the retaliation on the Chrome browser’s support of JRE, namely Java Applet will be no longer supported as of Chrome 42 due to “API not compatible/supported” – legacy “NPAPI” is too ugly to be supported. As of Firefox 52, Mozilla stopped supporting applet also, and it’s enough for the poor applet.

The MySQL community also made a fork “MariaDB” from MySQL, gradually gain popularity from MySQL users, though not as successful as Jenkins-vs-Hudson.

 

Recently, Oracle prepared a campaign on Java SE “licenses of end users”, looks like it prepare to sue big enterprises for using Java SE “illegally”. This is costly for such enterprises already, they have to hire legal people/services to review and prepare against such risks from Oracle (Google, you are not alone!).

 

https://jaxenter.com/time-pay-oracle-supposedly-going-java-clients-130901.html

https://developers.slashdot.org/story/16/12/18/0147216/oracle-begins-aggressively-pursuing-java-licensing-fees

https://www.1e.com/blogs/2016/12/20/bad-santa-oracles-hunt-for-java-licensing-cash/

 

As a result, people began to look at alternatives to Java SE. I will list a few:

+ IBM’s v9: https://www.ibm.com/support/knowledgecenter/SSYKE2/welcome_javasdk_family.html

+ Redhat’s IcedTea: http://icedtea.classpath.org/wiki/Main_Page

+ Azul’s Zulu: http://www.azul.com/downloads/zulu/

+ Azul’s Zing: https://www.azul.com/products/zing/

Besides, Apache Harmony and GNU Classpath/Kaffe are still around (though they seems slow as of OpenJDK). They have decent implementations, and can import/integrate OpenJDK code fork at any times.

Yes, the Java SE users are fully prepared for another lawsuit, and they have good alternatives already.

.

Oracle, being big does not make monopoly. Think twice before being greedy and abusing your acquired products like you are the biggest boss on earth. If Oracle continues to take the community lightly they will get loss instead of benefits, I suppose.

 

 

./.

 

Posted in Feeling, Marketing | Leave a comment

Change You Need

 

Cảm hứng từ bạn Dưa Leo. Dưa Leo này hình như lớn hơn tôi 1 tuổi, tạm gọi là “bạn” vậy.

Nhiều bài talk của Dưa Leo tôi thấy khá giống với suy nghĩ của mình, nhưng Dưa Leo nói hay hơn, diễn đạt tốt hơn. Tôi cũng học được nhiều cách diễn đạt từ Leo, mặc dù không chắc lắm những gì anh ấy nói có thật sự là điều anh ấy tâm đắc hay không :) .

 

Chẳng hạn, bài tiêu biểu (rất sớm) trong channel của Leo là:

Cuộc đời hên xui, do mình hết đó!

.

.

Bạn Leo có vẻ cũng được ảnh hưởng từ Obama qua VN (“Change We Need” – ko phải THDT) nên có vài clip khá thú vị gần đây. Tôi đã quyết định tạo 1 playlist Youtube sưu tầm vài clip hay của Leo, và viết bài này ủng hộ cậu ta.

[Link playlist – place holder]

 

.

Về mặt “tiêu cực” của Leo, có vẻ là cậu cũng có sử dụng lại 1 số ý tưởng trước đây (chẳng hạn clip cách “Chọn Chồng” của Leo gần đây, cũng có nhiều ý tưởng từ 1 (series) bài viết cách đây chừng 2, 3 năm trên Web Trẻ Thơ.

 

Tuy vậy, với bản thân tôi thì đó chỉ là 1 khuyết điểm nhỏ kiểu “vạch lá tìm sâu” , điều tích cực là Leo đã chuyển thể được bài viết cũ sang dạng VLog, và đưa được tới rất nhiều khán giả. Thậm chí dạng có âm thanh, hình ảnh này còn thú vị hơn bài viết kiểu cổ điển vì nó dễ chuyển tải nội dung hơn, có thể broadcast cho số đông, hoặc làm multi-tasking với Mp3Player, HeadPhone, CellPhone, etc… .

Thậm chí đây có thể gọi là “sáng tạo lại” , một khái niệm mà khá nhiều người viết cũng công nhận.

Có một số tác phẩm thậm chí còn có vị trí nhất định vì có giá trị riêng, như Truyện Kiều của Nguyễn Du xuất phát từ Kim Vân Kiều Truyện của TTTN. Hoặc tác phẩm Lưu Tinh Hồ Điệp Kiếm của Cổ Long cũng được ông sáng tạo lại trên mạch truyện của “The Godfather” (Bố Già). Hoặc bộ phim nổi tiếng Avatar, cũng có người nói là nó được phỏng lại từ câu chuyện về người da đỏ châu Mỹ xưa, nhưng cũng ko quan trọng lắm Avatar vẫn đc xem là bộ phim nổi tiếng vì công nghệ 3D đầu tiên công chiếu và nội dung thì tương đối hấp dẫn.

 

Vì thế, nói chung thì tôi vẫn ủng hộ bạn Dưa Leo. Các vlog của Leo cũng có những điểm hay riêng. Nói cách khác, khi nói đến phim thì tôi thấy các phim  “Forrest Gump” (1994), “Fight Club” (1999), “Inception” (2010), “The wolf of WallStreet” (2013), “The Accountant” (2016), …v.v… đều là những phim hay, dù mỗi phim có bối cảnh và nội dung hoàn toàn khác nhau.

 

./.

 

 

Posted in Marketing, Reading, Skill | Leave a comment

Thuật xử thế

6 thuật xử thế của người xưa – Chìa khóa của sự khôn ngoan

Thuật xử thế – cánh cửa dẫn tới sự khôn ngoan và thành công trong quan hệ con người. Dưới đây là 6 nguyên tắc xử thế của cổ nhân được đúc kết qua một thời gian rất dài.

 

Những chủ đề bàn luận về thuật xử thế có lẽ không còn xa lạ và mới mẻ. Khi quan hệ giữa người và người càng mở rộng thì nghệ thuật xử thế càng cần kíp hơn bao giờ hết. 

 

Dưới đây là 6 nguyên tắc xử thế của cổ nhân được đúc kết qua một thời gian rất dài.

Khi kiên trì ứng dụng những nguyên tắc này, bạn có thể trở nên một người khéo léo, thành công, đáng quí trọng hoặc ít nhất cũng tránh cho mình khỏi những oái oăm không ngờ đến trong giao tế hằng ngày.

 

1. Kiềm chế lòng tự ái cá nhân

Giữa chốn ba quân có thể đoạt được soái ấn nhưng không thể đạt được chí kẻ thất phu.

Con người dù tầm thường đến đâu thì bao giờ cũng có suy nghĩ bản thân mình quan trọng. Đó chính là cái tôi trong mỗi người. Lòng tự ái là nguồn gốc cho rất nhiều chuyện đắng cay đáng tiếc. Trong các cái khổ, cái khổ do lòng tự ái gây ra là khó chịu uất ức hơn hết.

Khuất Nguyên người nước Sở luôn nghĩ rằng: “Đời đục cả, một mình ta trong; người say cả, một mình ta tỉnh… Bởi vậy, ta phải bị bỏ đi…”

Đó không riêng là tâm sự của Khuất Nguyên mà là tâm sự chung của con người. Khi mà mình luôn muốn cho người ta phải nghe theo ý mình mới chịu. Tại sao ta không để cho người ta theo ý họ? Cho họ cái họ muốn một cách thật tế nhị, và bạn sẽ thu phục được lòng họ.

Đừng công kích, đừng nói mỉa, đừng mạt sát ai,… đừng chạm vào tự ái của người khác nếu bạn muốn họ nghe theo ý bạn. Hơn nữa, thiện cảm đầu tiên bạn tạo được với người khác cũng chính là chìa khóa thành công sau này.

Đúng sai là một lẽ tương quan. Họ nghĩ họ đúng, mình cũng vậy, nếu cứ tiếp tục cãi thì khó được ổn thỏa. Chi bằng ta im lặng và để hành động cùng thời gian chứng minh tất cả.

 

2. Chữ Lễ

Ẩn ác dương thiện. Cái gì không muốn làm cho mình thì đừng làm cho người khác.

“Tuy làm cho người ta đuối lý ngậm miệng, đỏ mặt tía tai, mình hả dạ thật, nhưng đó là người nông nổi, khắt khe…” – Lữ Khôn

Lễ là nhún nhường, đặt cái tôi của mình sau người khác. Như thế không phải là giả dối làm lợi cá nhân. Lễ là tránh đau khổ cho người khác bằng cách nhã nhặn bản thân mình. Không chạm tự ái của ai. Che đi cái xấu, cái dở và tuyên dương cái hay cái đẹp của người khác. Một người rộng lượng không ích kỉ sẽ làm được như thế, một cách vô tư.

Đối với người thấp kém hơn mình người khác dễ sinh lòng tự phụ, kiêu căng. Nhưng họ không ngờ chính sự kiêu căng, tự phụ ấy đã làm hại tới chính mình. Gieo rắc vào lòng người sự căm ghét và thù hận. Một số người còn lãnh nhận hậu quả tàn khốc bởi bị trả thù.

Vậy mới biết mình đừng bao giờ để ngạo khí trấn át. Những thói kiêu căng, biếm lẽ thường chỉ xuất hiện ở loại người không đạt chí. Người ta càng thấp kém càng có tâm cảm tự ti, đó là nguồn gốc sinh ra thù hận với người hơn mình. Đừng để điều đó hủy hoại bạn. 

Đối với người trên mình phải kính trọng, đối với người dưới càng phải khiêm nhường là vậy.

 

3. Đừng cậy tài

Khôn mà làm như ngu ngốc, đó mới thật là khôn.

Dương Tu bị Tào Tháo giết bỏ chính vì thói làm khôn, tỏ ra của mình. Dương Tu là người thông minh tài trí, luôn đoán biết được ý định của Tào Tháo. Lần nào Tào ra ẩn ý ông cũng đều giải quyết được. Điều này làm Tào Tháo vô cùng căm ghét, cho là thói ngạo mạn, làm khôn. Cuối cùng không kìm được mà xử tử.

Người thông minh tỏ ra thông minh đó là thường. Người thông minh có tài mà luôn tỏ ra bình thường, ẩn lặng là một người vô cùng khôn khéo. Đó chính là bí quyết tránh cho mình khỏi tai vạ. Họ không bao giờ làm cao, nhưng luôn nhún nhường. Âm thầm đem tài năng ra cống hiến, âm thầm sống không màn uy danh. Đó là cốt cách của kẻ hơn người.

 

4. Chuyện ơn nghĩa

Ân càng thâm oán càng sâu

Hàn Tín khi xưa bị Hán Vương bêu đầu cũng vì thói vòi vĩnh, nhắc ơn. Hàn Tín là một tướng giỏi, lập được nhiều công trạng cho triều Hán. Nhưng thói xử thế của ông rất ngây thơ, nghĩ rằng mình lập được nhiều chiến tích nên hết lần này đến lần khác đòi hỏi phong vương, bổng lộc, làm cao chạm tới tự ái đế vương của vua Hán. Hán Vương nhiều lần nhịn nhục, Hàn Tín không hay vẫn làm cao, nghĩ rằng Hán không phụ mình vì mình tài giỏi, lập nhiều chiến công.

Chính sự ngây thơ đó đã đoạt mạng Hàn Tín.

Trong giao thiệp, người ta quí trọng nhất bao giờ cũng là người thật thà, dễ thương, gần họ bạn thấy mình cao trọng hơn hẳn.

Người ta lấy oán báo ân chính là muốn rũ bỏ cái ơn sâu của người làm ơn. Không muốn mắc nợ nên cuối cùng bội phản. Nghịch lý nhưng đúng như vậy.

Nếu được hãy làm ơn, rồi quên hẳn nó đi. Đừng nhắc lại.

 

5. Đạo cương nhu

Nhu thắng cương, nhược thắng cường

Tô Đông Pha có câu: “Những bậc đại dũng trong trời đất thình lình gặp những việc phi thường không kinh, vô cố bị những điềungang trái cũng không giận. Đó là nhờ chỗ hoài bão họ rất lớn và chỗ lập chí họ rất xa.”

Nhịn được điều người khác không thể nhịn, tha thứ được điều người khác không thể tha, phải là một người bao dung hơn người, hiểu biết hơn người, điềm tĩnh hơn người mới làm được.

Người ở trong thế yếu nuôi í chí lật ngược thế cờ mà không có đủ dũng lực chịu những điều mạt sát, khinh thị thì không thể làm nên chuyện lớn.

Điềm tĩnh, nhịn nhục không phải là nhu nhược. Mà thực sự đó chính là sự oai dũng đệ nhất. Dùng “Nhu” thắng “Cương” chỉ có người điềm tĩnh lắm mới làm được. Và thành quả mà nó mang lại cũng ngoài sức tưởng tượng như thế.

Trong thuật xử thế, cái hàng đầu là phải Biết mình.

 

6. Biết là sống

Khôn, chết. Dại, chết. Biết…sống

Người thông minh, hiểu biết sâu sắc nhất luôn biết tỏ ra giản dị, thường thường. Không phải nói rằng mình trở thành người ngu ngốc, thờ ơ thế sự, mà nói rằng mình biết tiết chế điều hiểu biết của mình vì chỉ có người thật thông minh mới biết lúc nào nên làm như người ngây thơ mà thôi.

Biết lúc khôn, biết lúc dại, biết thời biết thế. Nói chung là biết rõ thời.

Biết ở đây là biết tùy lúc mà ứng biến cho hợp tình huống. Nếu chỉ khư khư một mực thì rất dễ hỏng việc.

Con cọp muốn làm khác loài, bỏ rừng ra đồng bằng thì chết. Người ta đều khờ dại mà mình muốn tỏ ra khôn lanh để khác biệt thì biết đâu lại mang họa tới.

Enstein từng nói: “Dấu hiệu nhận biết thiên tài là tất cả những đứa ngu đều đứng lên chống báng.” Câu nói hài hước, nhưng đúng.

 

 

Tóm lại: Đây là 6 nguyên tắc đơn giản mà không hề giản đơn người xưa đã đúc rút ra được để biến mình trở thành người toàn năng trong giao thiệp. Tuy khó làm, nhưng nếu thành công, thì kết quả đem lại không hề nhỏ. Nếu bạn bắt gặp mình phạm phải những nguyên tắc trên, thì giờ là lúc bạn thay đổi.

 

.

(Source: OHayTV @NguyenPhuocMinhTan https://www.ohay.tv/view/6-thuat-xu-the-cua-nguoi-xua-chia-khoa-cua-su-khon-ngoan/8pOx2  )

 

./.

 

Posted in Reading, Skill | Leave a comment

Thanh Nhan Tong

 

She’s Gone – SteelHeart

 

.

 

Dieu Ngot Ngao Nhat – Cao Thai Son

 

.

Vi toi con song – Tien Tien

 

.

 

./.

 

Posted in Feeling, Skill | Leave a comment