Showing posts with label movie. Show all posts
Showing posts with label movie. Show all posts

This Week I Learned 2019 - Week 02

Last week post or going back for old stuff instead.

What else I learned this week in separate posts? First, continue with ornamental fish culture through MOOC on body profiles and spawning behaviours, famous species, primitive or Jurassic fishes, and Goldfish. Second, the literature review of the paper on minimal water volume for intensively producing male Siamese fighting fish. And lastly, Module::CoreList is our Perl Module(s) of the Week (plMOTW).

How Photography Is Affecting Our Brains? Due to distance, camera angle, and distortion, taking selfie (around 1 foot) makes your nasal base seemed 30% larger compare to selfie taken at 5 feets away. How about normal photos? While photos can be a good memory preservation, taking and sharing photos for social medias will lead to "self presentational concern or anxiety". Instead of engaging current moment while photographing, you're being distracted. If you still need to share and want to fully enjoy the moment, delay sharing instantly just like the old way of photographing. The professional and amateur photographer comparison test was predictable. Professional composes while amateur looks. Technology advancement changed how we take photos. We don't look and feel the subject but instead through the screen of our equipment instead.

"理解只是使誤解的偏差小了一點?" 看了几遍都不明白,读了评语后,才逐渐了解。

Is it possible to produce 100 grams of garbage each month? Yes, to live with a zero-waste life, you and your partner in crime need to be discipline, have access to cheap locally produced natural food, and living away from busy city.

Why you should join the analog social media? Part of the digital minimalism movement. Just use digital and Internet for essential tasks (works, writing, calendar, map, and others). Join a photowalk walk and have a good discussion on photography, life, or event itself. No need to upload, post, and share the photos.

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 29

Last week post or something else from archive.

纯洁,值多少钱?

What's your philosophy when building software? "Make it work. Make it work right. Make it work fast". There is no such thing of simple, correct, and fast. Why, there is no such thing as simple requirements or requests. More and more features will be added or hacked upon existing hacks.

Having trouble remembering Vim's key combination? Look no further, just print out the Vim Cheat Sheets.

Why use the Zebra fish (Danio Rerio) in research? Besides sharing 70% genetics with human, this species of fish also fast and easy to breed. Thus, a good medical research model (the new lab rat). No wonder, it's quite prevalent in medical research. There even exists ZebraBox, a monitoring enclosure to analyze the behaviours of this fish.


And you will be surprise that breeding Zebra fish for medical research is totally different from breeding in the wild. Breeding process is automated and controlled.



This Week I Learned 2018 - Week 25

Week 24 post and something from archive.

中国最后的剑圣, 于承惠。在中文影坛里,在也找不到另一个演员能诠释演出这个角色,从霸气的恶人角色到闭山修行的一代宗师。可惜,晚年在影坛没参与任何武侠片。

How to Survive Your 40s? (via KH). As someone who going to take a leap into this new decade, I can probably relates (the screenshot below tells quite a lot as well) to the author experience. Since few years back, younger people have started to call me "uncle" (my choice of clothing did contribute to that as well). It's a sudden but natural shift that comes with your age. The article reminded me of a Korean movie (can't remember the name) I've watched few weeks back. Basically the protagonist (someone in his 50s) said you need to see this milestone as the second 20s. The second time for you to reflect or follow up with what you've done (differently this time) in your 20s. The to-do list since so many years ago is still so long and it will keep me occupied for so some times.



What the difference between Perl and Python? If you need a comparison between both programming languages, this book, "Scripting with Objects: A Comparative Presentation of Object-Oriented Scripting with Perl and Python", while quite dated (it was written in 2008), provides some insights on differences between these both programming languages. In the end, the rising popularity of Python and emergence of Perl 6 shown that, opinionated or there should be a standard way of doing things won.

Why you need to set default value in `sub` in Moo or Moose? Because having a subroutine wrapper returns a unique reference every time you create a new object.

How do you boot from USB thumb drive from Grub itself? Yes, this is possible (do read the whole discussion). You must go to the Grub console by pressing 'c'. Remember that you can tab to find out which removable media and partition to use. It's quite annoying that sometimes the BIOS cannot detect the removable media (thumb drive) and can't boot from the device itself.
grub> ls
grub> set root=(hd1, msdos2)
grub> chainloader +1
grub> boot

On a related note, migration from Fedora 27 to Fedora 28 was such a painful experience. The keyboard and mouse did not work and were very lagging. I'm not sure, but Fedora 28 was such a let down. In the end, have to wipe out the whole installation and replaced it with Ubuntu 18.04 and everything works as intended. Seriously, Fedora, what is going there with 28 release?

Why they said Perl is a more advanced scripting language for system administrator? See App::GitHubPullRequest, a Perl console tool that glues together three different console tools of git, stty, and curl.

How to train your kids to do house chores voluntarily? (via HNEmpowerment since toddler.

Dreadful tasks? Just try, give it a while.

Which Perl modules to use when making HTTP requests? There are so many.

How does you do dispatch table in Perl? Found an old discussion (2010) in HN. The book High-Order Perl have a whole chapter (PDF) on this topic.

This Week I Learned 2018 - Week 18

Last week post or something else from the archive.

最近无意看了汤浅政明《春宵苦短,少女前进吧!》,那个诡异及天马行空的画风及离奇爱情故事,非常值得一看及收藏的动画电影。导演另一个作品,《四疊半神話大系》,也值得一提。


FORMS. Interesting concept on how to manage your week. In other words, you have a daily theme or something you're going to focus on each day. For example,
  • Monday: Finances 
  • Tuesday: Operations 
  • Wednesday: Research & Development 
  • Thursday: Marketing 
  • Friday: Sales
Interesting learning experience with Perl and Travis CI. From how-should-i-start, to why-this-is-not-working, and finally-something-is-working, Axel Beckert's guide is a definitely must read material. Furthermore, the Travis-CI testing helper for Perl modules does help a lot. However, like most Perl modules out there, documentation and maintenance is still a major issue. No worry, there is a tool to bootstrap the `.travis.yml` file, just install App::CISetup and use `setup-travis-yml.pl`.

Having fun coding and can't seem to stop. Moderation is the key here.

kwalitee. Yes, kwalitee or Test::Kwalitee.

Facepalm. Totally speechless when using Dzil and Perl::Critic. You cannot put the package name in the first line of the code otherwise Perl::Critic will complain.
use strict;
use warnings;
package Foo;
# ABSTRACT: This is a Foo.
# KEYWORDS: foo bar baz

use frobnitz;
use OtherStuff;
...

This Week I Learned 2018 - Week 16

Last week post or something from the archive.

看了一套墨西哥的戏,《行走距离》。电影讲述一个三百公斤的胖子,寄托于摄影以解生活的苦闷。间接中,也结交了几位好友,让他生命有所改善。没有惯性的情节,简单不过及现实的故事。健康是宝,平淡是福。

Another week of learning new English vocabulary. One issue with making sentences using these words was that the sentences was either too forceful or too literally (直译的) translated.
Sandy alleviates (缓解) the excruciating pain on her lower body part by elevating both legs into a bucket with warm water. By doing so, they hope it can obliterate (忘却) the pain she was going through. Both legs were swelling due to her falling into liquescent (易液化的) soil and stabbed by tree trunk while trekking in the wood. The swelling have worsen and everyone worry that the muscle may liquefy (使液化) from within. 

Stuck with an interesting MySQL problem, which was quite easy but I can't seem to get it right after several tries. Basically we want to update certain column in t1 to the maximum value from a group of similar records. The SQL query was quite straightforward, just join with the second table, t2 with maximum record with the first table, t1.
UPDATE t_transaction tu
JOIN (
    SELECT code, MAX(flag) AS flag
    FROM t_transaction
    GROUP BY code
) t
ON tu.code = t.code
SET tu.flag = t.flag

Modern backend developer in 2018? (via HN) A checklist and decision making tree are always a good choice to make good decision making when picking up new technology stack.

Perl constant array. Sometimes the simplest and easiest way is the only way instead of going through and abusing quirky Perl syntax.
use constant FRUITS => ['apple', 'orange', 'banana'];

my $fruit = 'apple';
if (!grep $fruit eq $_, @{+FRUITS}) {
    print "Is not a fruit";
} else {
    print "Is a fruit";
}

use constant FRUITS => qw(apple orange banana); 
use constant FRUITS => (apple orange banana);  
my $fruit = 'apple';
if (!grep $fruit eq $_, FRUITS) {
    print "Is not a fruit";
} else {
    print "Is a fruit";
}

Modern PHP without a framework. (via HN) Nah, still hate it after all these years. Maybe I'm just prefer a more prettier programming language.

回顾自己的工作生涯,真的必须自我检讨未来的工作方向,看看那些是自己重视的
所以,你得先釐清有哪些條件是你重視的,像薪水、公司品牌、職位、工作內容等,一一把它寫出來。列出條件後,再排定先後順序,之後,和你手邊的 offer(拿到手的工作)比較,做成表格。縱軸是你重視的條件,並依照先後順序,由上而下排列;橫軸則是你拿到的 offer。當你完成表格後,該選擇的工作就會自動「跳出來」。
當我們在思考應該向哪家公司投遞履歷時,其實已經在篩選公司了,但如果是以「錢多事少離家近」為標準,長遠而言卻未必是最適合自己的公司。所謂「知己知彼,百戰百勝」,此時應該要先釐清自己的需求,包括期望的上下班時間、喜歡的工作環境、想做內勤或外務、理想的管理方式、工作如何分配、會議如何進行、同事如何相處、以及有哪些學習機會等。再依這些喜好排出先後順序,然後評估要應徵哪些公司。
工作上要留下那个”人才“? 当然是人品态度优先,能力可以慢慢去培养。

What are some tech companies that do not use open floor plan? Interesting question for those who are looking to justify cubicles. The office at Fog Creek was in between, open space for collaboration and private office for working.

Data class in Python 3.7. (via HN) What took them so long? Syntactic sugar or not, this should have been in any fundamental data type for any programming that supports OOP.

Vipassana for Hackers. (via HN) A book on how a tech guy perceived and practiced Vipassana meditation without involving religion, just the practice. Contrary to typical meditation book, lots of pictures explaining the core concepts.

Moving for good. (via HN) Good write-up when you're moving to a new place. Key quote here (emphasis added),
Ask lots of questions. Ask them to explain things, and show you how it’s done. When they state a fact, ask how they know. When they state an opinion, ask for examples.
How to be a systems thinker. (via HN) I still can't get my head to understand this and the list of reading materials is quite long. Worth spend time on this? We shall see then.

This Week I Learned 2018 - Week 14

Something from the archive or last week post.

We have been doing blood pressure measurement wrongly for all this while. You must measure blood pressure from both arms. Yes, both arms and find the differences. According to Harvard Health,
"A blood pressure difference of 10 to 15 points or more between arms also boosted the chances of having a stroke or dying from cardiovascular disease. "
Personal data and GDPR: practical guide for developers. Shaking my head while reading through the whole post. I was wondering how a software team going to ensure data anonymization in development environment when handling production data? When come to this, the US/Canada software houses are doing a better job than the EU/Asia counterpart.

What if we apply this to our life instead? Rearrange your line of thoughts in your writing. Intriguing discussion when come to writing.


"The Surgical Team" (chapter 3 in the infamous book, The Mythical Man-Month), a different software development team structure which it's similar to the surgery team where,
"The idea was to construct development teams in a way similar to the surgery teams - one lead developer, one assistant developer (these two "adult" and very good), and a 3-4 other people who 's job is to make the life easier for the main devs - someone to manage documentation, someone else to do detailed testing, one average dev to do the simple and boring stuff, and so on."
Maybe an alternative approach where the Agile methodology like Kanban or Scrum cannot be applied successfully or productively. Why so? Cargo cult software engineering, as coined by Steve McConnell where software development houses try to imitate successful processes or approaches without understanding why such methodologies works for them. What works well (may due to luck and timing) for an organization or team may not be suitable for another organization or team. Don't uses Scrum for the sake of using Scrum. Another good example, the reinventing of office space, open office, pool table, ping pong table, gaming corners, and the like. Yes, the startups starter pack.

Fork and Pull Request Workflow. While version control system have been available since the 70s, till today, amazingly, some companies still refuse or slow to adopt it. Everyone have their own workflow and branching models.

Quite a number of MySQL Gotchas this week. Fair enough, it will happen to any of the DBMS out there. My tolerance towards MySQL have increased along these years. Must be something to do with getting old.

How do you order a list of items where the NULL data is at the bottom of the list? It's actually quite easy, just use ORDER BY ISNULL. See the example below.
SELECT * FROM table ORDER BY ISNULL(field), field ASC;

NULL, NULL, NULL, 1, 2, 3, 4
1, 2, 3, 4, NULL, NULL, NULL

Creating a function in MySQL. That was rare but somehow we may need it to reduce or shorten the SQL query. Yet, we kept encounter this idiotic error of "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER |' at line 1". Just add a BLOODY space! Yes, a BLOODY space before the semicolon!
DELIMITER //
Create function or procedure
Write your function or procedure here...
End (without semicolon)
//
DELIMITER ; (semicolon with space)

Write UPDATE SQL query with multiple joins and SUB-SELECT but the query won't work in SUB-SELECT? Wrap the SUB-SELECT condition with one more join!
DELETE FROM story_category
WHERE category_id NOT IN (
    SELECT cid FROM (
        SELECT DISTINCT category.id AS cid FROM category
        INNER JOIN story_category ON category_id=category.id
    ) AS c 
)

How many ways to insert a not found record in MySQL? Plenty of ways. Not sure these works cross database systems.

Career do-over? Either moving to management and if you don't like it, restart your development career again.


This Week I Learned 2018 - Week 04

Last week post or the archived stuff.

Fourth week of the new year and we've reached also the end of first month. Interesting that time flies and progress of the pending to-do list items still slow but moving ahead.

人生的長尾效應:25、35、45的生涯落點。职业的第二个阶段,你要如何去面对?当然我在多年前就清楚我擅长什么,热爱什么,及那些是备受肯定的能力。如何在自己的生涯中找到自己的落点? 职业生涯长达45年,在你人生中占据了一大半的岁月,自己好好去规划。记得,任何计划都必须有健康的身体去扶持。注意你本身的健康吧!

《人生密密缝》是一套每个妈妈都应该去看的戏。非常认同影片评价!《新女友》也是类似的戏。

According to the discussion I have with different breeders and the show owners around Jalan Pasar, depends on the type of Betta fish, arrival of new stocks depends on the prices. Tuesday or Thursday (MYR 2.50) and Thursday or Saturday (MYR 5.00/6.00). Do not that more of these cheaper Bettas are rejected low grade fish. On a rare occasion you will have higher grade Bettas like Koi or Dumbo which is priced around MYR 20.00 - MYR 35.00.

Go for those less than MYR 10.00 if you're starting to raising Betta but don't want to fork out a lot of money. When I saw those kids buying these Betta with their clueless parent, definitely those Bettas will not survive long. Betta are quite sensitive to water parameters. Without keen monitoring, most of these bought fishes will die of infection due to bad water quality.

Forgot that I supposed to review my weekly steps walked. Hence, going to start this week with reflection and review. The plan is to try to walk 6,000 steps per day. This is doable if you walk more in the office, drink more water, eat more fruit, and go to rest room more often. You can gain more steps if you walk to eat your lunch and travel by train instead of motorcycle. A minor changes in your daily habit can have a significant improvement of total steps walked.

This week progress was quite good. Good if we can have 6000 steps per day. That the essential bare minimum. If you can hit 10000 steps per day that would be nice but that is optional. Experiences have shown when you walked more step a day before, you should let your body rest the following day. Awareness is the key here and that is the plan for next week. Compare to last time, aware of your weight and food intake. In short, move and don't stay stagnant.



Yes, it's almost one month into the year 2018. What are you looking forward to? What are you new year resolutions? CrushEntropy, my friend.

Steve Yegge left Google for Grab (via Reddit) Interesting comment about his guitar playing skill. Joke aside, we do need more vocal people to voice out somehow. I believe he is right, on the consumer side, Google is not really gaining any advantages over the competitors.

Surprising and shocking. I wondered if the video have been viral enough, what would the manufacturer of the said "healthy" drink would do? Lawyer up and sue?


This Week I Learned 2018 - Week 01

Last year post or something from the past.

Happy new year 2018! Wedding is always an interesting and peculiar event, especially for someone like me. Nevertheless, it was a good short and simple ceremony.

Down with illness. Most likely due to infection of trying to culture Infusoria for your tiny frys. Wash your hand thoroughly. A few unlucky fellows didn't manage to survive the overcrowded tank and succumbed to the stress and infection leading to Dropsy (YouTube) and Fin rot. While the S1 solution (Malachite Green. Warning, it was banned for food fish and the dye is carcinogenic. You will notice that no ingredient was stated behind the bottle label.) or sea salts (boosts up the immune systems) did help but not for all cases. There is no cure for late stage infection. Still, prevention is better than cure. However, lack of experience, no quarantine procedures, diligence, it's very hard to maintain good water quality and acceptable temperature for each species in the tank.

What are the available methods of spawning Bettas? The are so many and each one of them have pros and cons. While the local experience breeders prefer the Thai way, those living in the city without access to open spaces have to stick with the Shallow Method. The one thing we learned was patience and preparation are crucial for a successfully spawning without killing the Betta pairs as well as the frys. There are so many steps in conditioning the Betta pairs and make sure male don't kill the female and eat those hatched frys.

The Looming Storm. It has been a while since the last good suspend thriller film coming from mainland China.

Kong kong kong kong kong kong kong kong kong kong kong. Being a native Hokkien speaker, I still can't get it right. This reminded me of the Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo, a good example of homonyms and homophones.

To people who are doing startups, read the story of how DropBox started as a Minimal Viable Product (MVP). The one particular slide (screenshot captured below) contains enough good advice on how to release your MVP to test the market, adjust, and re-release to grab the market share. An MVP maybe even be an Excel sheet with clickable user interface. Yes, there are people who use Excel sheet as good prototyping tool. Did I mentioned that most web apps are glorified Excel sheet?


What did you work on in 2017 and what are your 2018 resolutions? The usual annual reflection and future projection. The GarageScript and Hacker Dojo looks interesting but make a world a better place? Doubt so, do we need more software engineers? Meanwhile, this should be in the bucket list of most tech person, take a sabbatical year, move to smaller town, down sizing everything, and do things you want to do there. Best way to summarize THE 2018 resolution.
"Less consuming, more creating. Doesn't matter what it is, doesn't matter if it's bad."
piu piu SH. Horizontal shooter game written in Bash! Yes, Bash! Impressive indeed.

This Week I Learned - 2017 Week 28

Last week post or something from the archive.


Another long and outstanding issue resolved. While I'm not partially involved but glad it has finally been settled in a mature and non-violent manner. Long story short, is a long story. Nevertheless, everything back on track and are quite a few things I need to follow up and get it done by this year. Half year have gone and not much time left before the end of 2017.


When you're switching character set and column collation in MySQL, you will encounter certain limitation of the index length of Innodb storage engine, the error of 'The maximum column size is 767 bytes.' . There are three ways to resolve this issue. First, you resize the column size from VARCHAR(255) to VARCHAR(191). Second, you resize the the table index length. Third, you switching the storage engine from Antelope to Barracuda and then switch the table to dynamic row format. Similarly, MySQL utf8 to utf8mb4. This post summarized three essential SQL statements needed to do the migration.

MySQL, while is a pile of mess, is a good case study of Worse is better. Likewise, same goes to Craiglist. Say you want about the site, which still stuck in the early 90 design, but still making profit until this day. Sometimes, good enough should be sufficient.


Everyone's code basically sucks, including yours. Honest insight on what you will learn after many years into software development. Importantly, don't get too comfortable in any job. In the end of day, you're delivering software to solve problem, is all what the stakeholder wants, nothing more and nothing less. While some have more pessimistic view of moving to management instead of development and managing up (some said it's overwhelmingly cynical or Machiavellian).


The hierarchy of 'Troubleshooting Software Problems. Probably the best thing I've read so far on how to troubleshooting any problems. The hierarchy of problem as shown below:
  • data
  • code
  • workflow
  • design
  • architectural
  • team
  • project
  • organizational
  • leadership / existential

Is our eating habit, and thus eating habit influenced by "the array of microscopic organisms that live inside our intestinal tract." The whole thread was an interesting read with comments backed by scientific research. Maybe gastrointestinal microbiota is manipulating our eating behaviour. Which leads to the new type of obesity treatment through gut microbiome transplant. In other words, taking care of your gut is one of the essential way to stay healthy and fit.


Shelving and checkpointing in Subversion. It has been so long that finally someone look into adding local commit support. However, it's just the initial stage although there are many design documents available.

Where We Started. The movie and the guitar song. The former is a low budget movie with witty dialogue and the later made me want to pick up guitar again.