Showing posts with label book. Show all posts
Showing posts with label book. Show all posts

This Week I Learned 2019 - Week 11

Continue from last week or something before that.

What else I've learned this week not within this post? Still continue with the seventh week of ornamental fish culture learning. This week we looked into caring of your fishes in term of feeding and observation; siphon and larval removal. Also the start of discussion on larval rearing of Elacatinus figaro (Barber Goby) and Carassius auratus (Goldfish). The paper of the week is the Siamese fighting fish on the limited researches done scientifically. Concluding the week, HTTP::AnyUA is the Perl module we reviewed this week.

谁是你生命中最特殊的女朋友? 想不到,龙应台都已经67岁了。多年前,曾经读过的《野火集》。 如今,重想起来,仔细内容也不记得了,只有模糊糊的印象,还有少许的情绪。当然,毕竟都有些年纪了,也许是时候重温一下,再重新阅读这书。有些书,是要每年去重读一片,有些书,是要马上丢进垃圾桶。


What is something we usually do but still do it the wrong way? Taking medication at the right time. According to MyHealth portal, the right time to take your medication depends on the daily frequency as shown below. What's surprising that there are medication for 4 dosages per day. Must be quite a challenge to take those medications on time every 6 hours as we have to plan for meal time if the medication is only taken before or after meal.

(1) 1 dosage / day: 8 a.m.
(2) 2 dosages / day: 8 a.m. / 8 p.m.
(3) 3 dosages / day: 6 a.m. / 2 p.m. / 10 p.m.
(4) 4 dosages / day: 6 a.m. / 12 p.m. / 6 p.m. / 12 a.m.

According to MyHealth portal again, another misconception we have is taking medication before meal. It doesn't means that we should take it before we eat our meal. It should be taken 1 hour before meal or 2 hours after meal (Note: The 2 hours is something new). For some medication, 30 minutes before meal. To be on the safe side, 30 minutes before meal. So for medication to be taken before meal for 4 dosages per day, it should be taken at 5:30 a.m., 12 p.m., 5:30 p.m., and 11:30 p.m.

How about the 3 dosages per day? Why the third dosage need to be taken at 10 p.m.? For this schedule, the last dosage was scheduled at 10 p.m. because it's advisable to have a gap of 2 or 3 hours between meal and bedtime.

Again, consult your physician and don't simply read and trust any medical information found online.

Why this is the most strict feeding schedule for Betta sp.? Based on the baby betta care video of Big City Betta channel, we are surprised that the breeder (Amber) have such a strict feeding and water changes schedule (see screenshot below) for the first two weeks.


Compare to most breeders out there, her method in setting up the breeding environment is probably the most elaborate and humane. Typically you just get a container, add aged water and plants, condition the male and female pair, and release the female once the male have build a bubble nest.

This Week I Learned 2018 - Week 50

Last week post or something else from the past instead.

What is the one crucial thing when buying insurance? Make sure it's guaranteed renewable. If not, after a big claim, the said issue will be exclude from your policy upon your renewal. If you have an insurance policy but not guarantee renewable, make it has unlimited coverage. Read the Bank Negara Malaysia (BNM)'s guidelines on this. Meanwhile, something related, when comes to insurance claims, you can claim from multiple insurer for Personal Accident (PA) or life. For medical, only can claim from one insurer.

Do we need to push so hard for Science, Technology, Engineering and Mathematics (STEM) education among young people? Yes and no. Yes, if we want to stay competitive in this industry. No, this will create oversupply of labour and thus wages are kept low. Thus, does not really justify for young people to go into STEM industry where wages are too low and education fee was too high for those looking for good university.

What are the best books of 2018? (via HN and Reddit) Well, you can go through the list from NPRGoodreads, The New Yorker, Science Friday, The Wall Street Journal (politics, children, science fiction, and mysteries), Esquire, Amazon Best Sellers or by category (note best seller), The Guardian, Powell, Five Books (science, fiction, and politics), Library Journal, People, Mental Floss, Indigo, Bill Gates himself (summer and winter), Barnes & Noble, Book Page, Financial Times, History Today, Space  (old and new), Smithsonian (history, science, travel, food, and children), and AV Club. There is one book that caught my attention and found in most of the recommended lists, Madeline Miller's Circe. If you don't have a good material to read for the new year, just check the best books of last year.

What happened when bad water quality and monsoon month (December) meet? Twenty dead fishes. Similar thing happened last year around December where some Betta fishes were dying in mass. Is it water hardness, pH level, ammonia level, nitrite level, or diseases? Our conclusion with  some googling suggested that all possible reason. Drastic water change (like 100%) during raining season will shock the fishes leading to low immune system. Furthermore, irregular water changes increases the possibility of ammonia poisoning overfeed without removing the remains will lead to nitrite poisoning.

One obvious symptom was group of Betta fishes cuddle together at the corner at the tank (see photo below). Last year, the same thing happened to our female sorority tank and we thought because these fishes were "bonding". Our naivety caused the total wipeout of all the female Bettas.


How do you troubleshoot DHCP issue within a container? Use tcpdump. `lxdbr0` is the default bridge network adapter used by LXD.
sudo tcpdump -ni lxdbr0 port 67

This Week I Learned 2018 - Week 34

Last week post or some past posts.

How many books I can read this year? Who cares? Just read the book already. (via HN) Different types of books require different reading strategies. Should you read deeply (slow) or lightly (skimming)?

What can you do when you obtain large amount data from city council? See effort (via HN) by Matt Chapman where he reduced parking tickets through data munging through Freedom of Information Act (FOIA) request from city council's parking system. What about FOIA for MY? Yes, there is something similar but only for both Selangor and Penang states.

Do you hates your job at 35? (via HN) Contrary to the general HN's opinions, work is there to pay bills but this guy seemed to have figure things out. And fortunately, as a hobbyist developer getting paid, I still foresee myself doing this for many coming moons (there are still so many pending items in the bucket list). One thing for sure, you just need to take care of your health.

Meanwhile, how does an old programmer's resume looks like from 1980? Something like this, a simple cover letter and one page resume.

This Week I Learned 2018 - Week 32

Post from previous week or from the archive.

真的服了,句句都是绝句。第一次分手可能是对方有问题。第二次分手可能你们都有问题。第三次分手估计你肯定有问题。第四次分手表示你没搞懂问题。第五次分手表示你不改善问题。

What are the available wild Betta species? We're looking into Betta Brownorum as our next breeding project. Since this is a wild species, we can't find any stock from local breeders. It seemed you will have to capture it from the wild, in Sarawak.



Why there is a sign in Perl's hash key? Legacy reason.

Getting excited when buying stuffs (the highs is in the anticipation and it's more fun planning a vacation instead of the actual vacation) and have buyer remorse later? There is a quick tip on handling that. Take the amount you're going to spend and pay off any pending debts or loans. In the end, it's a divert and replace strategy. Any impulse purchase can be put off (delay strategy) if you set a goal before succumb to your materialistic needs. For example, lose a KG, indulge yourself into the stuff you desire for so long. Remember to reward yourself as you deserve it. Note that this is applicable to stuff and not really experience, especially spending on good experience with friends and family (moderation applies here as well). Another way, love shopping? Why not spends money on investment. Shop investment, not liabilities. Instead of getting the Nike shoes, buy Nike stocks. You have to ask yourself, which is more motivating? Watching your bills accumulates or your saving grows?

How to spend $0 each day? Meal prep. My friend. Meal prep.

How Europe Learnt to Swim? Like any forms of knowledge, observation, self-learned, trial and error, consolidation, and sharing of knowledge. I'm quite surprised that most island inhabitants can't swim properly to save their own life. Seriously?

What cloths to keep and throw away when cleaning up your closet? One key question to ask yourself is "If I saw this at the store right now, would I buy this again?" Throw away the cloth if the answer is no.

What is JSON PATCH? A combination of JSON and HTTP PATCH. You will see the HTTP content-type have been set to application/json-patch+json.

What was your most 'can't-put-down' book that you've ever read? Here are the list in random order. Overwhelm by the list? The quick way to filter out is to read the first few pages and if it caught your attention, proceed ahead. If not, ignore.
  1. Watership Down by Richard Adams (discussion)
  2. One Hundred Years of Solitude by Gabriel García Márquez (discussion)
  3. The Historian by Elizabeth Kostova (discussion)
  4. Night Watch by Terry Pratchett (discussion)
  5. 11/22/63 by Stephen King (discussion)
  6. The Book Thief by Markus Zusak (discussion)
  7. Killing Floor by Lee Child (discussion)
  8. Lonesome Dove by Larry McMurtry (discussion)
  9. Jurassic Park by Michael Crichton (discussion)
  10. Neverwhere by Neil Gaiman (discussion)

This Week I Learned 2018 - Week 26

Last week post or something else from archive.

What does meetup these days feel like? Same old same old. It has been so long since I last went for a local meetup without last minutes cancellation or interruption (from my end). Few key observations. First, never interrupt and overshadow the main presenter. Participants should complement the content of the main presenter and sadly most of the time, the discussion was sidetracked into something else. Second, working with right people and challenging problems can be a catalyst to improve your technical abilities and increase your exposures. Third, there is no need to justify any tools of your choice. Sometimes, we use certain tools because we simply like it. Nothing more and nothing less.

Why Colistin have been slowly introduced to our food chain?

想找一个比较好做的事?绝无此事。理当做好自己的本分,做该做的事。别蹉跎(cuō tuó),浪费时间。

Building another laptop? Thinkpad x230 is a good base laptop before mod right now.



Good books by Malaysian authors? It never occurred to me to read "great" (subjective here as popularity does not equal good) books by local writers. Nevertheless, below are the list of writers: Tash AwTan Twan EngAdibah AminRehman RashidRamlee Awang MurshidShirley LimYangsze Choo, and Amir Muhammad.

How do you identify different colour patterns of Betta fish? We always having a hard time remembering which colour patterns. Some good examples (PDF) by Megan Woodrow:


How often should you change your water in Betta growing up tank? Daily with 50% till 90% water changes. No wonder our fry was growing at inconsistent rates and sizes. Optimum growth size is 8 till 12 weeks to reach show grade size.

This Week I Learned 2018 - Week 08

Last week post or something from the past.

Another graph showing my daily steps walked including a 7-days moving average. It looks like a opposition of normal distribution where it started and ended higher than average. I believe we tend to reflect and make adjustment during the beginning and the end of a period. Something to ponder upon.


A wannabe geologist details explanation of Mars photos captured by Mars Rover. If all the military budget was spent on space exploration, I wonder how far can we expand human presence in our solar system? Both "The Science of Interstellar" and "Making Starships and Stargates: The Science of Interstellar Transport and Absurdly Benign Wormholes" have been added to my reading list and I hope I can finish these books by this year.

Switching to Epsom Salt (Magnesium Sulfate) as a saline laxative to cure the potential constipation or Dopsy issue with the female Bettas through taking a salt bath on separate container. Hopefully it can laxitate the female and reduce the bloating issue. Application is one teaspoon per gallon for 15 to 20 minutes or less if the fish is showing any sign of irritation. Doesn't seems to work. Lost two fishes this week. Bless those lost souls.

Interesting post of curing Dropsy. Lots of Indian Almond leaves until dark water colour together with Salvinia (aka Watermoss) floating plant. Interestingly we bought Watermoss from Jalan Pasar and didn't realize the actual name of the plant. Comparing to both Dwarf Water Lettuce (aka Pistia) and Amazon Frogbit (aka Limnobium laevigatum), Watermoss have shorter root, eerie cat touge, but no burnt leaves.

General Data Protection Regulation (GDPR). Only applicable for all individuals within European Union (EU). When we going to have Asia Data Protection Regulation (ADPR)?

Brotli. Yes, I definitely needs to try this out as the Nginx module.

Hey Joe. Covered by Otis Taylor BandRoy Buchanan, and Jimi Hendrix (best-known). Three different distinctive styles but Roy Buchanan's guitar solo has the best tone so far although the playing is a bit exaggerating and his is not much of a singer anyway. If you compare Roy to SRV, he is more soft and mellow and SRV is angrier and flashier.

Jack LaLanne. Inspirational. Follow your rituals and routines. One of his memorable quote is:
"The only way you can hurt the body is not use it."

This Week I Learned - 2017 Week 41


Last week post and something else from the archive.

Slow week. Too many pending stuff that needs my urgent attention and got sidetracked into firefighting some unplanned work.

So much I've learned regarding audio stuff. Some are hard lessons. First, active (or powered) and passive speaker have different features and usages. When you're getting a standalone DAC or DAC/Amplifier combo, make sure the DAC have enough output terminals. For example, passive speakers need two pairs of left and right output terminals where each pairs is channeled out to each speaker. Good comparison is the popular JBL LSR 305 and Pioneer SP-BS22-LR. See screenshots of the input terminals for each speaker.

The JBL LSR 305 only have two types of input, XLR and 6mm jack.


Meanwhile, the SP-BS22-LR have both positive and negative terminals. You will need to connect speaker wires to transfer the sound signal to both left and right speakers.




Second hard lesson. Not all amplifiers are created equally. Bookshelf and tower (floor-standing) speakers needs different output watts to produce optimal sound output.

After so many days, managed to finish Neil Gaiman's American Gods  book. Sadly, the TV series does not really live up to the book expectation (maybe due to limited budget?).

Use the `git stash` command correctly. Differentiate between `git pop` (apply and remove) and `git stash` (apply and keep in stash cache).

This Week I Learned - 2017 Week 20

Last week stuff or the previous posts.

The battlestation have been acting up this week again. Repeated restarts is getting old and rather annoying. Maybe it's a good time to sell it and build a new one instead, probably based on Ryzen. However, the next question to ask is do you want it or need it?

It was so simple that I was shaking my head wondering why it was never occurred to me before. Eating dinner at consistent times of the day will have significant impact on you, both physiological and psychological. Having your dinner before 7 p.m. seemed to have noticeable effects on my body weight and quality of sleep. This is one habit that I need to follow through.

#1 The Starfish Story. Everyone can make a difference in the world, no matter how small the change is. You just have to work fscking hard and stop being lazy. Or maybe taking the opposite approach instead? By adapting a minimalist lifestyle?

#2 While we have web proxy server, it seems that database system also have their own proxy server. For MySQL there are two popular DB proxy servers, ProxySQL and MaxScale. Sadly, I've never implement either one of them in actual production environment. Not everyone works with web scale system.

#3 nftables, iptables replacement. Installation procedure as follow.
$ sudo apt-get install nftables
$ nft --version
nftables v0.6 (Support Edward Snowden)

#4 Google I/O 2017. However, one of less obvious announcement that caught my attention is that the programming language Kotlin have been officially supported on Android. Steve Yegge's long post (HN and Reddit discussion) on the language, as usual, was an interesting read. Maybe it's a good time to start looking into long postponed Android development.

#5 How to start Web Development in 2017. The same old things repeated again and again but getting more and more complicated. Numerous technologies have been superseded by the core essential always remains the same.

#6 Michael W Lucas, interesting author who published both nonfiction and fictions books.

This Week I Learned - 2017 Week 15

Last week post or you can browse through the whole series.

While debugging a Makefile, I accidentally `rm -rf` my home folder. Lesson learned, always backup and sync your changes regularly. Nevertheless, it's always a good fresh start when your home folder contains not a single file or folder. Good that you have a weekly clean up of your machine, review, keep, or remove. Otherwise, there will be a lot of pending left over files.

It has been a while since I work on weekend. The serenity of the environment did improve your productivity ten-folds. There is no sounds other than the air-con, traffic, and your typing sounds. You're basically in the zone, focus solely on the task at hand. No more stupid shenanigan. In hindsight, you have to find or create your own optimal environment and zone. It all starts with a system that leads to a habit, good habits.

#1 How to read more books? Lots of good tips and increasing the volume of books you can read. It's already early April and I only managed to finish 2 books. Not really on track on finishing 12 books this year. Thinking back, reading style, book choices, timing, and context are what causing the slowness. One of the best strategy is to switch different books if you're stuck or bored. Some books need more mental energy to go through it. While reading 2 pages per day can develop a good habit, it's not sufficient fast enough to catch up with my pilling reading list.

#2 Engineer's Disease. The unconscious thought that can lead to arrogant and condescending personality. Maybe because such behaviour "stems from the OCD and emotional detachment our peoples tend to have, mixed in with a good dose of raging insecurity"? Good forum discussions to ponder upon, especially by those working in software development.

#3 Does teenager and adult have different learning capability? Time, available perceived time. Also discipline, attention, and focus. The discussion at HN gave a lot of strategies to attack the problem. Simple daily practice and learning together with different learning strategies. What to learn then? Fundamental. There is an interesting discussion on software development being a dead-end job after 35-40.

#4 On understanding the fundamental of Vim. Before you install any Vim's plugin, best to learn what the default features exists or not.

#5 System Design Primer. If you want to learn how to design large scale systems. However, premature optimization is still evil. Knowing something can be done right doesn't means it should be done now. There are always contexts and constraints. Solutions looking for problems always end up wasting everyone resources. This HN user's experience on scaling your system accurately illustrates such scenario.

#6 Looking busy at work?. Most people don't realize that pretend to work and look busy is actually far more harder than doing the actual work. Faking will deplete you psychologically as your thoughts, actions, and words are not in sync. However, there are always exception. Certain group of people thrive on such behaviour without caring for any forms of repercussion. While some just stuck with mind-numbing boring job. There is a saying by Napoleon Hill which states "If you are not learning while you’re earning, you are cheating yourself out of the better portion of your compensation.” Unless you're stuck with certain constraints, move on. You're not a tree!

#7 LXD finally available for Fedora. Not as native RPM package but through Snap. I'm going to reformat another workstation and install Fedora with it. One less reason to stick with Ubuntu. Only left the DEB package, which I believe, no way Fedora/CentOS/Red Hat is able to dethrone the number of available packages provided by Debian. I'm not looking for rolling release like Arch but availability of different software. Maybe Snap, the universal GNU/Linux package can change that?

This Week I Learned - 2016 Week 41

Last week post or the whole series.

This is probably the unexpected way or the one-liner new way to purge old Linux kernels. You will need to install byobu (text-based window manager and multiplexer) as the Bash script is part of the package. Why I need to purge the old kernels? Well, I can't upgrade to Ubuntu 16.10 because `/boot` partition don't have enough free spaces.
$ sudo apt install byobu
$ sudo purge-old-kernels

Epoch, the start of a time, is commonly used in computing as a point of reference or date arithmetic. For Unix, the epoch starts from Jan 1, 1970. And I thought that was the standard epoch time used for every Operating System. I didn't realize that for Windows as well as for other platforms, the epoch time was different and it's set to Jan 1, 1601 (represented in FILETIME structure), a few hundres years earlier than Unix epoch time. Why? 1601 is the first year of 400-years cycle of Gregorian calendar.

Conversion between two epoch system times is straight forward using the simple formulae or another approach to calculate the different between two values, which is 11644473600 seconds. (Note that Windows tick is 100-nano seconds interval, which is 10000000). If you have a Windows epoch timestamp (18-digits), use this site to convert to normal date.

Using Git in Windows? Do use the Perforce's P4Merge as git merge tool for the three-ways merging tasks. Learned this while watching how other developer works. You can pick up a lot by watching how others works. Do keep that in mind.

Almost at the end of the year, maybe this is the right time to pick up Golang? Don't like buying Go books, well, someone recommended me to pick up "The Little Go Book".

Looking for beautiful real-time log analyzer? Try GoAccess, which is depends on gwsocket, a RFC 6455 compliant web socket server.. I should install this for my homelab later.

Testing your web application locally but wants to simulate different IP addresses? Try IP Spoofing to simulate HTTP requests

Using testing in C++, use Google Test. Going to try this in coming days if I can get my C++ development environment working.

This Week I Learned - 2016 Week 39

Last week post or the whole series.

The month of October have started. As we're closing in to the end of year 2016, I've still have long list of pending items to follow up. Sometimes, is best to take break, reflecting on the current situation, and re-prioritize your short and long term goals. Nevertheless, there is one thing for sure, regardless the outcome, discipline is one sure way to get closer to what you want to achieve.

Interesting stuff I've learned this week.

Few days back, I've managed to finish the book Modern Perl. I bought and starting reading the book on 25th June and finished it by 30th September. It took me roughly 98 days to wrap up the whole book page by page (not a good strategy according to How to Read a Book). My impression? Not a beginner book and not quite a suitable book for any developer switching from other languages. It's more like a reference book on how to code according to the Modern Perl convention. The correct sequence of Perl books to read are as follow:

Language FundamentalsReferences
Learning Perl
Intermediate Perl
Mastering Perl
Programming Perl / the "Camel book"
Modern Perl

While we're in the discussion on book. I'm quite disappointed with Eloquent Javascript. Someone suggested that I should look into `You Don't Know JS` book series instead. Maybe I should try it out instead. It's currently the next item in my reading list.

Again, on Javascript. There is an annoying behaviour of using Array with Object. Seriously? I was caught surprised by this.

On a related note, the popularity of Javascript leads to an issue of Same-origin policy where it's not permitted to request a resource from different domain. The Cross-Origin Resource Sharing (CORS) is a specification to resolve this. Solution exists for different popular web servers with support from different web browsers. For example, how to resolve this matter in Cloudfront.

Life as a Middle-Aged Geek (via HN). The advantage of being a middle-age developer is you probably know what you want or don't want out of your life. As time is catching up and you have plenty of life commitments elsewhere, if better you should constantly review and revise your own life goals. While ageism is an ongoing issue with technology sector, the Old Geek Jobs site was created for those developers whose are (35 and beyond). Or you can be an indie hacker instead?

Look-and-say sequence. Quite an interesting integer sequence, useful when you want to setup a new Wifi password but at the same time, want to confuse the hell of your users.

TLD used for local development? Mine is still using `.dev` but you must be aware that `.dev` is a generic Top Level Domain (gTLD).

Differences between Ansible's `command` and `shell` usages and when to use it. It seems I need to rewrite most of my dotfiles' steps. Didn't realize that `ansible-lint` actual exists.

What are the software stacks or cool tools used in the startup scene?

How to hire a programmer? While technical skills is a crucial requirement, cultural fit and attitude are equivalent important as well. But, as the article mentioned, nothing is guaranteed.

This Week I Learned - 2016 Week 14

Last week post or the whole series.

#1 Replace Git Bash with MinTTY. Even though you can run Bash on Ubuntu in Windows right now, the most acceptable way (without using the dreadful Windows Command line) before this is through Cygwin and MinTTY. Don't like MinTTY? Well you've Babun and MSYS2, both are based on Cygwin. But still, nothing beat a Vagrant emulated environment.

#2 12 years, 12 lessons working at ThoughtWorks. (HN thread, Reddit thread) Some beg to differ. His retrospective team approach, especially the four key questions, should be applied by any software team. Note that ThoughtWorks is both a software house and a consulting firm.

#3 BPF Compiler Collection. Efficient Linux kernel tracing and performance analysis. You can read the docs and try it out. Only for Linux kernel 4.1 and above though. Compliment to the Brendan Gregg's Linux performance material but at different approach.

#4 Brett Victor's bookshelf. Some people are just prolific book reader. I always love his idea of reactive documents, an implementation of his concept of Explorable Explanations.

#5 Startups in Montréal. E14N is the only one I'm aware of. Anyway, the discussion at HN is far more interesting regarding the place. Language racism is true and alive there, culturally and systematically forced upon you.

#6 Effective code review or faults finding and blames? Why do you need code review in the first place if trivial matter such as coding convention still cannot be properly enforced? Note that there are tools exists to fix most of these issues and is a no-brainer to rectify this (is just a command away). Root cause is still there is lack of healthy culture that values quality but instead more towards faster delivery.  Or maybe because the software industry itself does not promote integrity (Lobsters thread)?  Or maybe we applied the wrong approach?

#7 perlootut - Object-Oriented Programming in Perl Tutorial. Holy Macaroni! I've never realized that Perl's built-in Object-Oriented feature is so limited. In other words, object in Perl is a glorified hashes. Yes, you have to write your own classes from scratch!

#8 How to start gnome-terminal in fullscreen. Nobody bother to add or enable this feature as sensible default and you have to resort to multiple ways to get it to work. While I can understand of reducing the UI clutters (or dumbing down)in GNOME, but nobody actually use the gnome-terminal in fullscreen mode? It seems that GKH also have issue with gnome-terminal itself.

This Week I Learned - 2016 Week 04

In case you miss out, last week post.

#1 Shōwa Genroku Rakugo Shinjū (official site). Caught my attention with its unique and mature story line. Definitely way different from the regular shounen action anime. Basically a story about the journey of an apprentice rakugo storyteller. The fast paced dialogues and art style reminded me of The Tatami Galaxy (Reddit discussion).

#2 Mobile Suit Gundam: The Origin (official site). Probably the next anime series I like after the Mobile Suit Gundam: The 08th MS Team in Gundam franchise. Love the old school animation and original characters design. For some amusement, there is a good discussion on the worse Gundam protagonist.

#3 Social media friends are mostly fake (Reddit discussion). Agree with one of the comment. There is a distinctive difference between a contact and real friends. You should treat all social network as contact list for networking purpose, nothing more and nothing less. Real friends should be interacted through physical life.

#4 Empanada. So this is "Mat Salleh" (Portuguese to be exact) name for Malaysia snack called "karipap" or "curry puff". Knowing this makes me craving for the Empanada, especially those large one with filling of sweet potatoes, chicken meat, and curry spice.

#5 The Bookbinder. Remember before you submit your final thesis or dissertation you need to bind it with fabric or fake leather cover and gold foil lettering or seal? The video illustrates the step-by-step process to do it.

#6 How to create and apply patch in Git. Till today, I still can't remember how to do it properly.

#7 Conversational Commerce (HN discussion). I've noticed that the Social Network is slowly being replaced by Social Messaging. Are we going to the days where ICQ/AIM and IRC were once popular?

#8 PostgreSQL Query Plan Visualization (HN discussion). The most aesthetic visualization of PostgreSQL's execution plan for a SQL statement through the EXPLAIN command (more explanation on its usage). Which is also inspired by another tool explain.depesz.com. Unfortunately both are web-based tool where sometimes not applicable if you've sensitive SQL queries that should remain confidential.

This Week I Learned - 2016 Week 01

In case you miss out, last week post.

#1 Flowgorithm: Flowchart Programming IDE. Creating application using simple flowcharts, yet another level of abstraction for coding. Screenshots, step-by-step tutorial, and file format. Similar flowchart-based programming environment tools are RAPTOR, Visual Logic, and LARP. Unfortunately Windows only (should try with Wine). Flowgorithm is written in C# and most probably can run in GNU/Linux since .NET Compiler Platform ("Roslyn"), the compiler for C# and Visual Basic has been open-sourced. If there any tools to do the reverse or something like Visualize Python which let us visualize the flow from the source code instead? Well all the mentioned tools catered for educational purpose, is there anything similar for the industry like those for Model-driven engineering?

#2 How to think visually or rather, which visualization diagram should I use? Which reminds me of another visual decision tool, the chart chooser and slide chooser by Andrew Abela and Paul Radich. I always interested with visualization tools as it's a form of storytelling with data. I've been exploring different chart tools these days to plot my daily walking steps.

#3 Dummy output sound adapter in Ubuntu? Nothing but a force restart (pulseaudio -k) of PulseAudio sound server can't solve. It has been so long since I last encountered any sound card issue in GNU/Linux. I still remember many years back I tried, for weeks, to get my sound card to workonly to realize that I picked the wrong driver for the Linux kernel. Although the is a Yamaha sound card, the driver only works with the chipset, if I remember correctly, Cirrus Logic.

#4 DNS Conformance Suite and Test Harness. Conformance or to be exact, conformance testing, "is testing to determine whether a product or system or just a medium complies with the requirements of a specification, contract or regulation". Enormous list of Request for Comments (RFC) just to make sure that the DNS implementation conformance to the standards. Standardization is always tricky where so many parties involved and each with their own agenda which sometimes, slow down the the adoption of the certain standards. Case in point, Hyper Text Markup Language (HTML).

#5 Software Testing Techniques. Class Report for 17-939A (PDF) by Annie Lu Luo. Comprehensive literature review of software testing techniques. So far, the best paper I read in 2016. How I wish all the software engineering papers were written in such way. Again, this remind me of Ke-Sen Huang's resource for computer graphic page. Unfortunately my lack of mathematics knowledge and patience prevent me from fully understand most of these papers. Nevertheless, you can appreciate the beautifully generated images of these computer graphic research papers. And off course, there is this Papers We Love, where a group of people who love to read academic computer science papers. Unfortunately, as usual, there is still MY chapter and judging by all the past meetups, its existence will not sustain for long.

#6 Books Scientists Should Read Before The Age of 20. Some books are questionable but nevertheless, a good starting list. Personally, I will like to start with George Pólya's How to Solve It: A New Aspect of Mathematical Method. If you're short of time, here is the summary of his method.

#7 100 Days of Swift. Progression notes on learning Swift programming language. Compare to other self-learner, he managed to create interesting UI related small projects just by applying a few concepts. Something that anyone should try out when picking up new programming language.

#8 Write code every day? Not necessary, as fellow redditor, EarLil advised that just "follow your rhythm and stay healthy" (make sense but which rhythm?) or you can just switch between coding and writing, "code doesn't have to be code". Github commit heatmap is a good motivator to encourage you to make an effort to write or code something, even one-liner. The question remains? How long should you allocate time in a day so that it will get you started and won't burn you out? For me, one line of record or code, or a sentence. Something so easy that you don't have any mental excuses not to do it. Getting started is always the hardest. But once you've started, everything else will fall into places. Just start!

#9 Valuing time over money is associated with greater happiness. First empirical evidence that people who value time over money are more happier. This reminds me of the personal finance book, Your Money or Your Life, where the authors asked "how much that we have trade our hourly life energy for money?". Once you realize that the actual amount of cost, time, and effort spent just to earn an hourly wage, you will have a change of opinion regarding your career and the money you earned..

Read all the time.

"Read all the time.  Don’t just do it because you’re curious about something, read actively. Have a point of view before you start a book or article and see if what you think is confirmed or refuted by the author.  If you do that, you will read faster and comprehend more."-- Byron Wien, emphasis added
Important insight on reading a book. My typical mindset before reading a book is what can I learn from this book? I should ask myself these questions before I before I start reading any new books. Examples are:

1. What do you know or understand about X ?
2. How do you feel about X ?
3. Why you want to read about X ?
4. What you want to learn about X ?