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 2018 - Week 07

Last week post or something else from archive.

Survived another Chinese New Year. Seems like a slow and lazy holidays, nothing much happening these days due to the slow economic. However, lots of catching up in my reading.

Something about my sedentary lifestyle. It seems I'm quite active on Thursday, Friday, and Saturday. Can't recall what I did during Thursday. Will keep monitoring this to bring awareness so I can reach on average, 6,000 steps per day.


Productivity is not equivalent to learning. Yes, as Won Cho discovered of one month of writing down everything he learned during code. You need to find a way to balance out and achieve both goals. The discussion in HN was more towards methods on learning like spaced repetition. One key insight was reading or scanning through site like HN is not learning, that is consuming information. Similar to digesting entertainment news. Similarly, my TWIL is just a journal of my notes of something that interested me and mindless rambling.

The Kubernetes Effect. (via HN) Again, containers is not silver bullet, just use a real PAAS and solve your business problem first (bring in the moolah!). Remember that an software architecture is a reflection of an organizational (which is really a communication) problem. Yes, we know it's very tempting to use the latest greatest stuff but seriously, do you really needs microservices? Are you Google or Facebook scale? If not, just stick to monolith architecture! Don't start with me on the complexity of front end development these days. While reading through the comments, I've learned that JEE application server is just an OS with containerized applications.

Have a few discussion with a local breeders. My observation leads me to believe some of these breeders only breed occasionally but also a reseller as well. They restock from larger Betta farms at a lower value (due to lower grade) and sell it at a margin for profit. But profit is quite limited just from selling fish unless you breeding for large volume or only exotic species. To compensate that, some breeders switched to sell accessories (nets, tanks, or medication) and aquatic live foods (blood worm, miona, vinegar eels, or others).

Betta fish or any ornamental fishes needs lots of attention and details. A slight overlook can either kill the fishes or even the whole spawn. We have lost four although we've procured eight more this week. Our initial investigation must be due to cross contamination due to sharing of aquarium siphons. The next step is to monitor the water parameters or switch to Indian almond leaves (lower pH and antibacterial property) or Banana leaves for all the tanks. We will wait and see how the new batch adapt to our new approach.

This Yahoo Answers post have gave the best advice I've read so far on Betta fish. We do agree with most of the the insights shared by the poster. Definitely a post to revisit from time to time.

If anyone going to ask me about MongoDB again. This will be my one sentence answer. It's a web scale database that successfully exploiting the "hype first, feature later" strategy. Yes, I just repeat what others said online again and again to deride MongoDB. Thinking of upgrading or using it, just wait for Jespen audit reports.

Curated list of Perl stuff. What the different? It's almost the same for all programming languages?

Dtrace switched from CDDL to UPL license. Too little too late?

Success in software project management? The quote below illustrates the insight succinctly (emphasis added). Or screw any methodologies, just follow the WhatsApp approach (YouTube video).
"small teams made up of scary-smart accountable people, given a well-articulated objective (not solution) and are left alone without distraction"

This Week I Learned 2018 - Week 06

Last week post or you're bored, something from the past.

What a long discussion on Perl 5 vs Perl 6.

唐山大地震。的确是一套催泪的戏。值得一看。另外一提,有人说要养鱼先要学会养水,直接说道养鱼的精粹!

Review of my total steps walked until now. Interestingly, on average is roughly around 5000 steps. Something far lower than the first target of 6000 steps. Need to make adjustment and reevaluate again. Also, good to get the replacement pedometer.



Follow up with last week video on our popular health drink here. In other words, check the ingredient of any processed food.


Discussion with a local Betta breeder confirmed our suspicion that in a spawn of frys, only 10% or less (1% according to Sturgeon's Law since 99% of everything are crap) are show grade (if both the male or female are show grade quality), the remaining are either grade A, B, or C. Nothing surprising here, the spawn is just following the nature law of normalization distribution.

One of the key issue (headache) in breeding Betta or any types of fish, find good food source with rich protein. Having a consistent food source for the frys will influence the speedy growth of the frys or even their survival rate. However, culturing food sources is a time consuming (smelly too) process.

If you want to breed Betta of certain colour, you've to selectively breed (it can be inbreeding or outbreeding) to achieve that. Interesting colour of Betta described below. We have one which was originally dark blue and suddenly he shed all his colour and become red. The type of the food source, water parameters, and stress level will also influence the outcome of the colour.
The actual colors of a Betta are layered. In order to produce a Betta of specific color, other colors that are layered on top must first be "stripped away" through selective breeding. The top color is blue; next is red, then black and finally yellow.
Straturday! I'm surprised how fun guitar duet was. Interesting indeed.


I know is bad but I'm trying to contain my laughter so much. But joke aside, it has been a brutal strech for him. He needs to go to a good team that fully utilize and appreciate him.

This Week I Learned 2018 - Week 05

Last week post or something from the archive.

New week and we're embracing the second month of 2018. The summer (for Southern Hemisphere, summer starts from December 1 till February 28 or 29) wind was blowing gently indicating the near of Chinese New Year. 活了大半辈子,原来南半球的季节正好跟北半球相反,真的是受教了!俗语说,“一年之计在于春,一日之计在于晨”, 自己要好好检讨及规划!

Going through my daily steps count, less activity this week due to sickness. Icy cold drinks during midnight and middle-age guy don't was not a good combination. But luckily we have long vacation, good to catch up with my needed rest and recovery. Comparison of total steps walked as illustrated below. (Yes I know the missing legend) Target for next week is to average out the steps till 5000 steps and above.


Dropsy and the whole body is pineconing? Nothing much we can do besides except humanely euthanize the fish. We lost three this week and unexpectedly the Blue Mable is going down also. The typical treatment is daily water changes combines with aquarium salt, Methylene blue, or Malachite green. We're not sure but I suspicious was due to overfeeding which leads to stress and constipation as well as infection.

When visited enough Aquarium shops, you will learn a thing or two. First, antibiotic powder (yellowish colour, suspect the main ingredient is Sodium Nifurstyrenate) usage was quite common especially expensive tropical fish like Discus (not a fan and seriously, a moving water pancake?!). Second, fish sellers in Market Road packed their fishes in plastic bags treated green water (suspect is Malachite green) and unpack it again in plastic square tank for selling each water in plain water. You can achieve profit if you can sustain the longevity of the fishes until they are sold to the customer.

More conversations breeders. It seems that female Bettas are far more expensive than male and fellow breeders don't want to sell their precious female Bettas to retain their quality breed of lines. Only for those who have financial gains from doing this. I wish more breeders should focus partially on the locally Malaysian Bettas. There is one breeder and I wish him all the best. Wild Bettas found locally may not be that colourful but it's good to breed and increase the population.

You know the play was so good that even the opposite bench players applauded it. This reminded me of Kobe Bryant's baseline reverse dunks. Along with Giannis AntetokounmpoBen Simmons is another NBA player to watch out for in the coming few years. Only time will tell.

Too many blockchain wannabe tech startups in Malaysia. Enough said. The never ending of startups chasing the next hype cycle.

How do you unstaged changes in Git? There are cases where merging or rebasing kind of messed up and you're left with a list of modified files.
$ git stash save --keep-index --include-untracked

Meanwhile, you can clean up your local working repository in Git through interactive mode or Git clean interactive.
$ git clean -di

The list reduction functions in List::Util. Some good examples:
$foo = reduce { $a > $b ? $a : $b } 1..10       # max
$foo = reduce { $a gt $b ? $a : $b } 'A'..'Z'   # maxstr
$foo = reduce { $a < $b ? $a : $b } 1..10       # min
$foo = reduce { $a lt $b ? $a : $b } 'aa'..'zz' # minstr
$foo = reduce { $a + $b } 1 .. 10               # sum
$foo = reduce { $a . $b } @bar                  # concat

More effed up stuff in our beloved MySQL. This time, "SQL Error (1451): Cannot delete or update a parent row: a foreign key constraint fails ....". To quote from the documentation (emphasis added),
If ON UPDATE CASCADE or ON UPDATE SET NULL recurses to update the same table it has previously updated during the cascade, it acts like RESTRICT. This means that you cannot use self-referential ON UPDATE CASCADE or ON UPDATE SET NULL operations. This is to prevent infinite loops resulting from cascaded updates. A self-referential ON DELETE SET NULL, on the other hand, is possible, as is a self-referential ON DELETE CASCADE. Cascading operations may not be nested more than 15 levels deep.

In other words, self-referenced foreign key(s) or recursive deletes doesn't work in MySQL (it WORKS in a PROPER database management system like PostgreSQL). You have to create another new table to link the relationship, something like many-to-many data model. If you needs deep nested hierarchy data structure, use Closure Table.