blog

My blog at www.shimmy1996.com

git clone git://git.shimmy1996.com/blog.git
commit 7daaadc29700fbdaff1554c32839e08f272f0b80
parent 16afd7ab801668705bfcf8f3cd7c216f98673a21
Author: Shimmy Xu <shimmy.xu@shimmy1996.com>
Date:   Fri,  1 Jan 2021 18:31:10 -0600

Update goals and new post: 2020 in review

Diffstat:
Mcontent/now.en.md | 18++++++++++--------
Mcontent/now.ja.md | 16+++++++++-------
Mcontent/now.zh.md | 16+++++++++-------
Acontent/posts/2021-01-01-2020-in-review.en.md | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aorg/2021.org | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Morg/fixed.org | 50++++++++++++++++++++++++++++----------------------
6 files changed, 181 insertions(+), 44 deletions(-)
diff --git a/content/now.en.md b/content/now.en.md
@@ -1,22 +1,24 @@
 +++
 title = "Now"
-date = 2020-04-12T09:46:00-05:00
+date = 2021-01-01T17:35:00-06:00
 slug = "now"
 draft = false
 +++
 
-## Goals for 2020 {#goals-for-2020}
+## Goals for 2021 {#goals-for-2021}
 
--   ☑ ~~Run 550 miles.~~ Run 205 miles and cycle 865 miles (2.5x). <code>[205/205]</code><code>[872/865]</code>
--   ☑ Write 14 blog posts. <code>[16/14]</code>
--   ☑ No donuts.
--   ☑ Dive into Go and C++20. <code>[2/2]</code>
--   ☐ Set up proper backup workflow.
--   ☐ Read non-technical books.
+-   ☐ Write non-technical posts. <code>[1/4]</code>
+-   ☐ Cycle for 1500 miles. <code>[0/1500]</code>
+-   ☐ Beancount my time.
+-   ☐ Read classic fictions. <code>[0/1]</code>
+-   ☐ No cookies.
+-   ☐ Learn to play a song with electric guitar. <code>[0/1]</code>
 
 
 ## Wishlist {#wishlist}
 
+-   ☐ Dive into C++20.
+-   ☐ Set up proper backup workflow.
 -   ☐ Finish a marathon.
 -   ☐ Get the first signature for my PGP key.
 -   ☑ Install Gentoo.
diff --git a/content/now.ja.md b/content/now.ja.md
@@ -1,22 +1,24 @@
 +++
 title = "いま"
-date = 2020-04-12T09:46:00-05:00
+date = 2021-01-01T17:35:00-06:00
 slug = "now"
 draft = false
 +++
 
 ## 2020年目標 {#2020年目標}
 
--   ☑ ~~550マイルを走ること。~~ 205マイルを走るとサイクリング865マイル(2.5倍)。<code>[205/205]</code><code>[872/865]</code>
--   ☑ 記事14回投稿すること。<code>[16/14]</code>
--   ☑ ドーナツを食べるの禁じること。
--   ☑ GoとC++20を学びること。<code>[2/2]</code>
--   ☐ データバックアップのプロセスを確立すること。
--   ☐ 技術類以外の本を読むこと。
+-   ☐ 技術類以外の記事を書くこと。<code>[1/4]</code>
+-   ☐ 1500マイルをサイクリングすろこと。<code>[0/1500]</code>
+-   ☐ 時間の使い方を記録すること。
+-   ☐ クラシックフィクションを読むこと。<code>[0/1]</code>
+-   ☐ クッキーを食べるの禁じること。
+-   ☐ エレキギターで一曲を弾けるようになること。<code>[0/1]</code>
 
 
 ## ウィッシュリスト {#ウィッシュリスト}
 
+-   ☐ C++20を学びること。
+-   ☐ データバックアップのプロセスを確立すること。
 -   ☐ マラソン完走すろこと。
 -   ☐ PGPキーの署名をゲットすること。
 -   ☑ Gentooをインストールすること。
diff --git a/content/now.zh.md b/content/now.zh.md
@@ -1,22 +1,24 @@
 +++
 title = "此刻"
-date = 2020-04-12T09:46:00-05:00
+date = 2021-01-01T17:35:00-06:00
 slug = "now"
 draft = false
 +++
 
 ## 2020年目标 {#2020年目标}
 
--   ☑ ~~跑550英里。~~ 跑205英里并骑车865英里(2.5倍)。<code>[205/205]</code><code>[872/865]</code>
--   ☑ 写14篇日志。<code>[16/14]</code>
--   ☑ 不吃甜面包圈。
--   ☑ 了解Go和C++20。<code>[2/2]</code>
--   ☐ 建立正式的数据备份流程。
--   ☐ 阅读非技术类书籍。
+-   ☐ 写非技术性日志。<code>[1/4]</code>
+-   ☐ 骑车1500英里。<code>[0/1500]</code>
+-   ☐ 给时间记账。
+-   ☐ 读经典小说。<code>[0/1]</code>
+-   ☐ 不吃曲奇饼。
+-   ☐ 学用电吉他弹奏一首曲子。<code>[0/1]</code>
 
 
 ## 愿望清单 {#愿望清单}
 
+-   ☐ 深入了解C++20。
+-   ☐ 建立正式的数据备份流程。
 -   ☐ 完成一次马拉松。
 -   ☐ 获得第一个PGP密匙签名。
 -   ☑ 安装Gentoo。
diff --git a/content/posts/2021-01-01-2020-in-review.en.md b/content/posts/2021-01-01-2020-in-review.en.md
@@ -0,0 +1,58 @@
++++
+title = "2020 in Review"
+date = 2021-01-01T10:07:00-06:00
+draft = false
+slug = "2020-in-review"
++++
+
+Rooftops are all covered in patches of white this morning. All the billboards have lost their typical splendor to the gloomy sky. Even the street lamps' orange glow failed to add any warmth to the car-less roads. Spots of light from a handful of building windows, however, do appear extra dazzling.
+
+What a year. It feels like space-time has a higher viscosity than usual—dense enough to reduce sunlight to just an ivory ambiance—given how eventful the past 300-or-so days have been.
+
+I'm actually glad that the first day of 2021 still very much feels like any day in 2020. Not very much should physically change simply because of a number flip, not to mention a rather arbitrary one, but perhaps it's exactly for the lack of change that we need to forge something new, something that gives an adrenaline kick, no matter how small.
+
+Ugh, fine. I see no harm in giving in to this cheap psychological trick every once in a while.
+
+Happy New Year, we made it.
+
+
+## 2020: Apocalypse {#2020-apocalypse}
+
+I'm not cutting myself any more slacks this time around.
+
+-   ☑ ~~Run 550 miles.~~ Run 205 miles and cycle 865 miles (2.5x). <code>[205/205]</code><code>[872/865]</code>
+-   ☑ Write 14 blog posts. <code>[16/14]</code>
+-   ☑ No donuts.
+-   ☐ Dive into Go and C++20. <code>[1/2]</code>
+-   ☐ Set up proper backup workflow.
+-   ☐ Read non-technical books.
+
+Because of COVID-19, I have stopped running outdoors since early March. After a few months of hiatus, I got a bike and a trainer in June and started cycling indoors instead. The 2.5x scaling factor is based on the mileage I can cover in around the same time. Working out in a more controlled environment is very enjoyable. Aside from easy access to fueling and shielding from the weather, being able to watch anime/listen to seiyuu radio while riding is a game changer. Behold, technology!
+
+Blogging about the blog itself still takes up a sizable portion of my posts (and is a frustratingly self-defeating practice), but I did at least accumulated quite the amount of hoots: these fleeting thoughts aren't organized enough to be its own post, but still interesting enough that I want to write it down. I also use hoots to house my replies to other blogs and the rather cumbersome process of which makes me realize how little I really have to say most of the time. Not to color my still largely manual approach superior, but I do think there is some merit in eliminating low-effort-high-noise contents, both for myself and others.
+
+Ah, donuts, the honey glazed shackles of guilt, the deep-fried cuffs of indulgence. While I would like to attribute this to my will of steel, it is COVID-19 that got the better of such temptations. My laziness and excitement for bunker life eliminated any chances of late night Dunkin' visits. Guess it's time to turn up the dials.
+
+Writing Go was quite the mindless fun exercise. Finding an effective way to learn the C++20 features proved to be harder. `<format>` is the straightforward one and pretty much just works as you'd expect (no compiler supports the standard version yet, so checkout [the original](https://fmt.dev)). `<ranges>` is similar to Rust's iterator methods and allows chaining. Maybe I should update my [C++ enumerate() post](/en/posts/2019-04-27-enumerate-with-c-plus-plus/). `<concepts>` seems like the logical solution to the problems SFINAE tried to solve, but I don't have a good context to test out its prowess yet. On a related note, Zig's compile-time function approach to generics is also intriguing.
+
+3 copies, check. 2 different media, check. 1 offsite backup, not yet. I'm also counting Syncthing copies here, and whether they can be relied upon as full fledged backups is debatable. Still some way to go here.
+
+Technically, I did _read_ non-technical books; I just didn't _finish_ any (not counting manga at least). The truth is, aside from those I read purely for entertainment, I am not so sure about what to read. Most non-fiction books look like success stories marinated in flattery and survivor-ship bias, served in sprinkles of anxiety-inducing spices. Fiction works, on the other hand, just doesn't attract me that much: knowing another story to tell just isn't as exciting as learning a new algorithm. Gee that sounded harsh. Do I really think my blog posts fare any better? Anyways, before admitting defeat, I will give this a more serious attempt this year.
+
+
+## 2021: Days of Future Past {#2021-days-of-future-past}
+
+The ongoing pandemic sparkled nostalgia like never before. People look back at the "normal days" with fondness that I find repulsive. Not to say I'm completely immune to the atmosphere though, just that it rubs me in the opposite way: I find myself grew more assertive than before. After all, doesn't everyone secretly think they are above average and thus know better, especially after reading the news? At the same time, I felt the urge to suppress this feeling before it turns into arrogance, or even worse, ignorance. Perhaps I should learn to let these out in the form of blog posts, like [EWDs](https://www.cs.utexas.edu/users/EWD/), just non-technical.
+
+On a positive note, my transition to wake-up-at-5-and-sleep-before-10 schedule is a resounding success. The lockdown actually helped in that I have more leeway to adjust my sleep schedule. Now I have plenty of time for exercise and the option to sleep for up to another two-or-three hours if I'm really pushing it the day before. Given how I clocked in the last 100 miles of rides within the winter holidays, I'll bump the target up this year. 1500 (cycling) miles it is.
+
+After donuts, my challenge this year is to abstain from cookies, which can frequently be found in my work place lunch bags. These piles of butter and sugar are more attractive than I would like to admit at times.
+
+Since I started [beancount](https://beancount.github.io/)-ing this year, I'm also looking to applying a similar methodology to managing my time. After Christmas, I've been testing out [Toggl Track](https://www.toggl.com/track/) to log how I spend the larger chunks of my time and how many minutes slipped away with me doing nothing. In particular, I figured having a crude "Strava for reading" would make things easier. As for which books to read, I'm thinking classic fictions.
+
+I wonder if this is an age thing: at some point, our auditory perception would just click with the sound of electric guitars, making them impossible to resist. I got an electric guitar now, and I hope to be good enough to play a song or two with it by the end of 2021.
+
+The generation after Z is named [Alpha](https://en.wikipedia.org/wiki/Generation%5FAlpha), which makes no sense at all. To hell with inconsistent naming. To hell with COVID-19 (for different reasons, obviously).
+
+> Un de ces matins disparaissent<br/>
+> Le soleil brillera toujours.
diff --git a/org/2021.org b/org/2021.org
@@ -0,0 +1,67 @@
+#+HUGO_BASE_DIR: ../
+#+HUGO_SECTION: posts
+#+OPTIONS: author:nil
+#+STARTUP: fninline logdone
+
+* TODO 2020 in Review
+:PROPERTIES:
+:EXPORT_DATE: 2021-01-01
+:EXPORT_HUGO_CUSTOM_FRONT_MATTER: :slug 2020-in-review
+:END:
+
+** DONE en
+CLOSED: [2021-01-01 Fri 10:07]
+:PROPERTIES:
+:EXPORT_TITLE: 2020 in Review
+:EXPORT_FILE_NAME: 2021-01-01-2020-in-review.en.md
+:END:
+
+Rooftops are all covered in patches of white this morning. All the billboards have lost their typical splendor to the gloomy sky. Even the street lamps' orange glow failed to add any warmth to the car-less roads. Spots of light from a handful of building windows, however, do appear extra dazzling.
+
+What a year. It feels like space-time has a higher viscosity than usual—dense enough to reduce sunlight to just an ivory ambiance—given how eventful the past 300-or-so days have been.
+
+I'm actually glad that the first day of 2021 still very much feels like any day in 2020. Not very much should physically change simply because of a number flip, not to mention a rather arbitrary one, but perhaps it's exactly for the lack of change that we need to forge something new, something that gives an adrenaline kick, no matter how small.
+
+Ugh, fine. I see no harm in giving in to this cheap psychological trick every once in a while.
+
+Happy New Year, we made it.
+
+*** 2020: Apocalypse
+I'm not cutting myself any more slacks this time around.
+
+- ☑ +Run 550 miles.+ Run 205 miles and cycle 865 miles (2.5x). [205/205][872/865]
+- ☑ Write 14 blog posts. [16/14]
+- ☑ No donuts.
+- ☐ Dive into Go and C++20. [1/2]
+- ☐ Set up proper backup workflow.
+- ☐ Read non-technical books.
+
+Because of COVID-19, I have stopped running outdoors since early March. After a few months of hiatus, I got a bike and a trainer in June and started cycling indoors instead. The 2.5x scaling factor is based on the mileage I can cover in around the same time. Working out in a more controlled environment is very enjoyable. Aside from easy access to fueling and shielding from the weather, being able to watch anime/listen to seiyuu radio while riding is a game changer. Behold, technology!
+
+Blogging about the blog itself still takes up a sizable portion of my posts (and is a frustratingly self-defeating practice), but I did at least accumulated quite the amount of hoots: these fleeting thoughts aren't organized enough to be its own post, but still interesting enough that I want to write it down. I also use hoots to house my replies to other blogs and the rather cumbersome process of which makes me realize how little I really have to say most of the time. Not to color my still largely manual approach superior, but I do think there is some merit in eliminating low-effort-high-noise contents, both for myself and others.
+
+Ah, donuts, the honey glazed shackles of guilt, the deep-fried cuffs of indulgence. While I would like to attribute this to my will of steel, it is COVID-19 that got the better of such temptations. My laziness and excitement for bunker life eliminated any chances of late night Dunkin' visits. Guess it's time to turn up the dials.
+
+Writing Go was quite the mindless fun exercise. Finding an effective way to learn the C++20 features proved to be harder. =<format>= is the straightforward one and pretty much just works as you'd expect (no compiler supports the standard version yet, so checkout [[https://fmt.dev][the original]]). =<ranges>= is similar to Rust's iterator methods and allows chaining. Maybe I should update my [[/en/posts/2019-04-27-enumerate-with-c-plus-plus/][C++ enumerate() post]]. =<concepts>= seems like the logical solution to the problems SFINAE tried to solve, but I don't have a good context to test out its prowess yet. On a related note, Zig's compile-time function approach to generics is also intriguing.
+
+3 copies, check. 2 different media, check. 1 offsite backup, not yet. I'm also counting Syncthing copies here, and whether they can be relied upon as full fledged backups is debatable. Still some way to go here.
+
+Technically, I did /read/ non-technical books; I just didn't /finish/ any (not counting manga at least). The truth is, aside from those I read purely for entertainment, I am not so sure about what to read. Most non-fiction books look like success stories marinated in flattery and survivor-ship bias, served in sprinkles of anxiety-inducing spices. Fiction works, on the other hand, just doesn't attract me that much: knowing another story to tell just isn't as exciting as learning a new algorithm. Gee that sounded harsh. Do I really think my blog posts fare any better? Anyways, before admitting defeat, I will give this a more serious attempt this year.
+
+*** 2021: Days of Future Past
+The ongoing pandemic sparkled nostalgia like never before. People look back at the "normal days" with fondness that I find repulsive. Not to say I'm completely immune to the atmosphere though, just that it rubs me in the opposite way: I find myself grew more assertive than before. After all, doesn't everyone secretly think they are above average and thus know better, especially after reading the news? At the same time, I felt the urge to suppress this feeling before it turns into arrogance, or even worse, ignorance. Perhaps I should learn to let these out in the form of blog posts, like [[https://www.cs.utexas.edu/users/EWD/][EWDs]], just non-technical.
+
+On a positive note, my transition to wake-up-at-5-and-sleep-before-10 schedule is a resounding success. The lockdown actually helped in that I have more leeway to adjust my sleep schedule. Now I have plenty of time for exercise and the option to sleep for up to another two-or-three hours if I'm really pushing it the day before. Given how I clocked in the last 100 miles of rides within the winter holidays, I'll bump the target up this year. 1500 (cycling) miles it is.
+
+After donuts, my challenge this year is to abstain from cookies, which can frequently be found in my work place lunch bags. These piles of butter and sugar are more attractive than I would like to admit at times.
+
+Since I started [[https://beancount.github.io/][beancount]]-ing this year, I'm also looking to applying a similar methodology to managing my time. After Christmas, I've been testing out [[https://www.toggl.com/track/][Toggl Track]] to log how I spend the larger chunks of my time and how many minutes slipped away with me doing nothing. In particular, I figured having a crude "Strava for reading" would make things easier. As for which books to read, I'm thinking classic fictions.
+
+I wonder if this is an age thing: at some point, our auditory perception would just click with the sound of electric guitars, making them impossible to resist. I got an electric guitar now, and I hope to be good enough to play a song or two with it by the end of 2021.
+
+The generation after Z is named [[https://en.wikipedia.org/wiki/Generation_Alpha][Alpha]], which makes no sense at all. To hell with inconsistent naming. To hell with COVID-19 (for different reasons, obviously).
+
+#+begin_quote
+  Un de ces matins disparaissent<br/>
+  Le soleil brillera toujours.
+#+end_quote
diff --git a/org/fixed.org b/org/fixed.org
@@ -132,61 +132,67 @@ All contents on this site are licensed under a
 :END:
 
 ** DONE en
-CLOSED: [2020-04-12 Sun 09:46]
+CLOSED: [2021-01-01 Fri 17:35]
 :PROPERTIES:
 :EXPORT_TITLE: Now
 :EXPORT_FILE_NAME: now.en.md
 :END:
 
-*** Goals for 2020
-- ☑ +Run 550 miles.+ Run 205 miles and cycle 865 miles (2.5x). [205/205][872/865]
-- ☑ Write 14 blog posts. [16/14]
-- ☑ No donuts.
-- ☑ Dive into Go and C++20. [2/2]
-- ☐ Set up proper backup workflow.
-- ☐ Read non-technical books.
+*** Goals for 2021
+- ☐ Write non-technical posts. [1/4]
+- ☐ Cycle for 1500 miles. [0/1500]
+- ☐ Beancount my time.
+- ☐ Read classic fictions. [0/1]
+- ☐ No cookies.
+- ☐ Learn to play a song with electric guitar. [0/1]
 
 *** Wishlist
+- ☐ Dive into C++20.
+- ☐ Set up proper backup workflow.
 - ☐ Finish a marathon.
 - ☐ Get the first signature for my PGP key.
 - ☑ Install Gentoo.
 
 ** DONE zh
-CLOSED: [2020-04-12 Sun 09:46]
+CLOSED: [2021-01-01 Fri 17:35]
 :PROPERTIES:
 :EXPORT_TITLE: 此刻
 :EXPORT_FILE_NAME: now.zh.md
 :END:
 
 *** 2020年目标
-- ☑ +跑550英里。+ 跑205英里并骑车865英里(2.5倍)。[205/205][872/865]
-- ☑ 写14篇日志。[16/14]
-- ☑ 不吃甜面包圈。
-- ☑ 了解Go和C++20。[2/2]
-- ☐ 建立正式的数据备份流程。
-- ☐ 阅读非技术类书籍。
+- ☐ 写非技术性日志。[1/4]
+- ☐ 骑车1500英里。[0/1500]
+- ☐ 给时间记账。
+- ☐ 读经典小说。[0/1]
+- ☐ 不吃曲奇饼。
+- ☐ 学用电吉他弹奏一首曲子。[0/1]
 
 *** 愿望清单
+- ☐ 深入了解C++20。
+- ☐ 建立正式的数据备份流程。
 - ☐ 完成一次马拉松。
 - ☐ 获得第一个PGP密匙签名。
 - ☑ 安装Gentoo。
 
 ** DONE ja
-CLOSED: [2020-04-12 Sun 09:46]
+CLOSED: [2021-01-01 Fri 17:35]
 :PROPERTIES:
 :EXPORT_TITLE: いま
 :EXPORT_FILE_NAME: now.ja.md
 :END:
 
 *** 2020年目標
-- ☑ +550マイルを走ること。+ 205マイルを走るとサイクリング865マイル(2.5倍)。[205/205][872/865]
-- ☑ 記事14回投稿すること。[16/14]
-- ☑ ドーナツを食べるの禁じること。
-- ☑ GoとC++20を学びること。[2/2]
-- ☐ データバックアップのプロセスを確立すること。
-- ☐ 技術類以外の本を読むこと。
+- ☐ 技術類以外の記事を書くこと。[1/4]
+- ☐ 1500マイルをサイクリングすろこと。[0/1500]
+- ☐ 時間の使い方を記録すること。
+- ☐ クラシックフィクションを読むこと。[0/1]
+- ☐ クッキーを食べるの禁じること。
+- ☐ エレキギターで一曲を弾けるようになること。[0/1]
 
 *** ウィッシュリスト
+- ☐ C++20を学びること。
+- ☐ データバックアップのプロセスを確立すること。
 - ☐ マラソン完走すろこと。
 - ☐ PGPキーの署名をゲットすること。
 - ☑ Gentooをインストールすること。