Open in app
Home
Notifications
Lists
Stories

Write
Nguyen Tuan Minh
Nguyen Tuan Minh

Home

May 28

Plant-based diet , for a peaceful and harmonious life.

Is it worth a try ? Mentioned plan-based diet, most people immediately react with nutritious deficiency. However, except vitamin B12, which could be provided by supplement, any other nutritious groups can be replaced by plant dishes, which are far more healthy, environmentally friendly and animal-sympathetic. While it is true that…

Vegetarian

4 min read

Plant-based diet , for a peaceful and harmonious life.
Plant-based diet , for a peaceful and harmonious life.

Apr 15

From the view of history, meat or vegetables ?

Meat plays a vital role in human’s evolution. Millions of years ago,human’s ancestors ate only leaves, fruits and cereals. Their brains are much smaller and it takes them hours daily to chew and digest such raw food. …

Vegan

3 min read

From the view of history, meat or vegetables ?
From the view of history, meat or vegetables ?

Mar 15

How one becomes happier walking on Vipassana way

[Vipassana meditators only] Introduction By mid 2021, I unconsciously practiced Vipassana mechanically. Misery started appearing. In my case, it was misery that the health getting worse and worse. To the deepest days, I almost could not eat anything. That, on the other, may also be the turning days of my…

Vipassana

3 min read


Nov 16, 2021

[Objective C] Generate a crash of race condition and solve.

Initial idea of crash : Multi global thread access to one variable (val) at the same time : Write (newVal). Then read : Check if val == newVal. Each thread initially sleeps for a random time to create the multiple access randomly. Hopefully, crash comes. But still. Everything works well…

Objective C

2 min read

[Objective C] Generate a crash of race condition and solve.
[Objective C] Generate a crash of race condition and solve.

Oct 31, 2021

Let’s build Promise

Inspired by Signal’ promise source code, I now build a simple version of “Promise” with main point : Provide a clean interface for running a task on a specific queue, and work with multiple completion handlers. Running block on a specific queue, it’s just this simple : Here, we handle…

I OS

2 min read

Let’s build Promise
Let’s build Promise

Oct 13, 2021

Defending programming with resolveInstanceMethod

Migrate db into a new one, we normally need a new class for the entity object, and so entirely all new properties. It seems unavoidable to miss some cases where a new object accesses properties of the old one. So how to avoid crashing ? Working for Zalo, an app…

Defending Programming

2 min read

Defending programming with resolveInstanceMethod
Defending programming with resolveInstanceMethod

Oct 8, 2021

Story of a girl coming out of life issues

The girl is a gentle one. At work, she has no such ambitions of promotions, no cravings of earning money. In daily life, she easily adapts to outside situations. Staying in her home or her boyfriend’s or her sister’s, it’s all ok. In a relationship, the girl even easily forgives…

Vipassana

2 min read


Sep 26, 2021

A simple version of iOS dispatch_group

Inspired by Mike Ash’s let’s build series, I write this article as my initial self-build in a simple version. Firstly, what dispatch_group_t is ? It is easy to read Apple’s code and figure out, it is just an NSObject object , confronting OS_dispatch_group_protocol. Then what should my dispatch_group (mn_dispatch_group) be…

I OS

1 min read


Aug 14, 2021

How Vipassana reborn one’s life

One had been an “extreme person”, doing everything with limitless attempt. Also one has some stomach issues. For reasons, from days to days, years to years, one’s situation went from bad to worse. Till a day, physically, one can barely eat. Mentally, one in the cycle that, should I think…

Meditation

1 min read


May 29, 2021

Atomic and mutex lock. Their application in iOS development

Atomic and mutex in C Atomic According to definition: “Atomic types are types that encapsulate a value whose access is guaranteed to not cause data races and can be used to synchronize memory accesses among different threads.” Firstly, we should understand “data races”. When an evaluation of an expression writes…

2 min read

Nguyen Tuan Minh

Nguyen Tuan Minh

iOS developer | Meditator. Be fond of logical and deep research

Following
  • Christopher P Jones

    Christopher P Jones

  • Fabricio Teixeira

    Fabricio Teixeira

  • Jessica Wildfire

    Jessica Wildfire

  • Will Lockett

    Will Lockett

  • Mark Lucking

    Mark Lucking

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Knowable