- Why Fasting is Good
- It is just too easy to become mediocre
- We already die
- Today is my birthday
- Refactor Code & Cleaning Up Toilet
- Lessons Learned from Midtrans Hackathon 2018
- Code Review: My Own Experience
- Learning Forward and Sustainability
- Software is an Organization
- Explicit is better than implicit
- All posts ...
Trying new tech algorithm
Mar 25, 2018
Today I got chat message from my old friend in college about how to do
X stuff in Matlab, a computing package to do scientific computing. Yes, this package is popular among students in my department when I was in college since virtually every subject can be related to this package if we want to do stuff computationally.
The ask was simple, it is about me can help him to do control engineering stuff in Matlab. Here is the full conversation.
Mr. Curiosity: “I want to ask about functionality of some commands about control engineering in Matlab. Do you know
Me: Actually I haven’t touch Matlab since long ago. (That’s interesting, but I don’t have Matlab in my Mac. I said silently in my mind.).
Mr. Curiosity: “Yes, I am confuse who to ask.”
Me: “But, the best way is to learn and try directly from the documentation. Here is the way I suggest…”
Mr. Curiosity: “Nah, how to read documentation?”
Me: “In Google you can search
poleact matlab mathworks for example.”
Mr. Curiosity: “Ooh that’s how we do it?”
Me: “Then, search one from Mathworks which is the official one, then if you found any example you can deliberately try. You can change the number which represent a parameter and you’ll know what is the effect of changing that parameter. Please don’t worry to make mistake, if something wrong just restart your Matlab.”
Mr. Curiosity: “Oh Okay, thank you for the information.”
Actually, I am not sure whether he can solve the problem or not, but here I want to emphasis that…
- No one able to know everything about computer software, because the number of computer software is virtually unlimited and it depends on the field of someone you asked they may have different tools for different problem.
- Just do it. The cost of creating a mistake in trying new things in software is relatively low compare to doing some hardware or IoT stuffs. You can just change the code and see what’s happen and what’s changing. Then you can interpret and contextualize the result.
- Starting from official resources is always good idea. Unless the official docs is not good you still need to read docs from the official one.
So here is the algorithm:
- Given you stuck on a problem related to tools in a computer.
- Search what you want to achieve or search the error (if you already doing something and founds error) on the internet via your favorite search engine.
- Open one from the following lists:
- Official forums, docs, and other official information.
- Popular forum like Stack Overflow
- GitHub/GitLab issues or other issue trackers.
- Experts blog
- Other aspiring expert blog
- Try and test the recommendation, if you found one that make sense.
- If failed go back to first step and try again until you found the solution. Remember the cost for trying is so cheap unless you’re in hurry, but doing anything in hurry is not a good idea.