Thoughts about learning

I never learned Linux really.

I had a good chance to contact with computer when I was a kid (around 11 years old) and most of the time as kid, gaming on window is a part of life. Window was not very stable at that moment (3.11 and then 95), so sometimes it hanged and could not recover (by virus, broken files, …) when I installed new games, and I got lot of trouble with my mom, because she needed the computer to do the office work. Gradually, in order to get out of the trouble, I had to fix the OS by myself (simply re-install or delete / replace the broken files so the OS can work again). This happened so many times (more than 10 re-installation per month if I remember correctly) and make me have enough patience when trying new thing. Also, installing new thing and exploring the software became my interest, even I didn’t use those softwares later (cracked softwares was everywhere in my country during that time, because we didn’t have internet at that moment).

Back in 2006, when Ubuntu became popular and was on the PC world new papers nearly every month, I obviously wanted to have it on my PC, so I enrolled to Canonical for the free CD. The installation was exciting and I loved it right in the first time, because of the amazing effects of Compiz Fusion and Beryl theme. Also, I could configure the OS looks like the way I want through Eyecandy for your GNOME-Desktop. Then I realized that on Linux, instead of going outside and buy softwares or going to the torrent site to download things with loads of virus, I can just check on the repository and download it freely. So, with the interest of a kid, I installed any kind of software I found on the repository and started to crash the OS, because the Ubuntu repository is not stable at that moment (lot of conflicts in the libraries and most of the time I have to trigger the magic command line “sudo ./configure; sudo make; sudo make install” as the parts of the installation to replace the new library version). Eventually, I am more comfortable with the terminal than the mouse cos it is extremely fast and cool (:D) when working with the terminal. From 2006 until now, Ubuntu is my main OS for daily usage (I am a software engineer now)

What I am trying to say is: don’t force yourself to learn. If you are new to something and start to find the book to read (I am not sure why lot of advices here say you need to go with Unix programming or art of command line, what would you do with those after you finish reading?!!?), then more than 50% you will waste your time, because you haven’t developed your interest before that. Learning is boring and boredom will kill your interest before it actually grows. So, instead of that, just installing the OS and playing with it until you are comfortable. Your interest will lead you to the right way before you actually realize that.

(Taken from my own post on Quora)

Flashback & Reflection

Some highlight points in the current timeline

  • 2006 Working as a game developer for Gameloft in Vietnam when being a 3rd year Electrical Engineering student. Realized that missing a lot of knowledge compared to a CS student, thus go and study aboard for the CS Bachelor Degree. Good and bad things happened since this turn-over.
  • 2007 Working as a research assistant for the new university under the supervision of Dr Bee Theng Lau, got the first publication.
  • 2010 Finished the Bachelor. Start to work as a software engineer.
  • 2011 Trained Judo. Got leg broken during a match. Right leg became disabled and movement become hard.
  • 2014 Moved all the works to cloud (as in remote jobs), prepared for studying the master degree. Start to hit the gym regularly to recover the leg. Nearly marry. Broke up.
  • 2015 While studying the Master degree in Melbourne, got a job as a software engineer for a small company there. Happy with Meteor and React for a while.
  • 2016 Founded a startup with some friends to help international students in Melbourne. Happy with the friendship, unhappy with the process. Finished the Master degree.
  • 2018 Back to Vietnam, struggle with relationship and everything. Quitted my first startup. Start to work for a US company to make the life balance. Start training boxing, kyokushin karate and continue to hit gym. Accidentally met the guy in this company who studied in the same secondary school and high school.
  • 2019 to current Start a mysterious journey with the guy above and the other folks.

If I look back the last decade, every year is like another step on the chess board that leads to a consequence which has both pros and cons. I did lose something while gaining something back. Good things is I still find joyfulness in every daily work. Odd things is time seems to fly more quickly. Bad things is the taste of everything seems to become bland, more or less.

Now, I am here alone, writing this post inside an apartment in Da Nang City after a big meal. It is going to rain soon

Waiting to see what is going to happen next in the next decade, by the way

Install mysql driver for Django on Mac OS in 2020

I have to dedicate one post for this one, since even in 2020, I still got the error exactly the same when I was in 2014. And yes, this only applies to python3, since python2 is already in history in 2020

brew install mysql # version 8.0.19. This will install the mysql server as well, a bit redundant, but we need the mysql_config part, so go for it

brew install openssl # without this one, next step cannot run

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient # without the ldflags, it will throw "clang: error: linker command failed with exit code 1 (use -v to see invocation) error: command 'xcrun' failed with exit status 1"

Then you are happy to go

On Linux, we will need to install mysql-dev, additionally

So here we are ….

Okay, I am back to WordPress, after a long time jump back and forth with many blogging platforms (Hugo, Pecan,…).

Why is that?
I think I miss the old way of blogging, where people just login into the system and write the post, instead of writing markdown text, compiling, committing, pushing to repo, and then waiting for the new post appear. Too much effort and too little time 😦

So here I am again, writing the post again on this place (after a while to recall username/password to login), but hey, it gonna work.

Cheers !

Back to Play framework after a while

Play framework is amazing. Yesterday, I just finished a RESTful web application for my Android Client in just 30 minutes. The web system uses JSoup for crawling, FlexJson for publishing Json data and Heroku for hosting. I had a small trouble during the deployment (connecting the system with the Postgres database is a little bit tough), but it is ok finally. I will make a tutorial about this after the holiday.

Happy new year, everyone

Boring lunch

I am quite bored today since there are not many things to do (iteration is done, only reading for the new iteration mostly).  Like normal people, it is the Facebook time (yay !!).

I read a status of a friend which is about a puzzle (I think it is from children ‘s garden 🙂 ) : 4 dogs at the corners of the square chasing each other clockwise. Where will they meet?

The answer is easy I guess. But I want to see it more clearly, so this is it

It is 3 PM now. 2 hours left. Thinking about what left to play with 😀

How is my Monday ?

I have a requriement from the client today. They sent me a list of images and asked to show the images which match with the data in the database. The data are the floating numbers which are inserted by the user through a TEXTBOX and there are 7 images which  contains these texts: “1”, “1 1/2”, “2 1/2”, “3”, “3 1/2”, “4”, “4 1/2”. There is no special requirement for the inserted data. If there is a match, then show the image, otherwise, don’t show

And that is how a Monday started happily