Monthly Log: 2025-01

Published on

Original language: Chinese . AI translations: English , Japanese .


Monthly Log Season 2: officially serialized!

Post Structure

  1. Input
    Learning: books/novels/good articles, videos/podcasts, any format, anything that feels rewarding after finishing
    Anime: new shows / old shows, TV season / movies, notes on what I watched
    Others: movies, TV series, etc., put here

  2. Random Thoughts
    Maybe I will write down whatever I’m thinking

  3. Output
    Maybe a blog, but I’m not good enough, so maybe I have no output for a whole month (lol)

  4. Travel
    If I went somewhere, I’ll jot it down. If not, then whatever

  5. Misc
    Small things that don’t fit in the categories above


Input

Learning

Elixir Documents

I’ve basically finished the docs, but it was just a quick pass. I still need to type out the sample code myself, especially the multi-threading parts in Mix & OTP.

Now that I think about it, I also haven’t typed out the later examples in Learn Functional Programming with Elixir. Might as well practice those together.

Eloquent JavaScript

I occasionally revisit some chapters in the book, but mostly I’m reading the MDN JavaScript docs below.

MDN - JavaScript reference

While reading Mozilla docs, I found that JavaScript can use reduce to achieve something similar to Elixir’s pipe operator |>. That’s really interesting.
The method is in Array.prototype.reduce() - Function sequential piping.

But in the docs, pipe takes functions as the first argument and initialValue as the second, so you use it like pipe(increment, double)(4).
It feels a bit awkward. Wouldn’t pipe(4)(increment, double) feel more intuitive?
From left to right, the meaning would be: “pipe the number 4, then +1, then *2…”

Here’s my modified code:

let pipeItem =
(initialValue) =>
(...functions) => {
return functions.reduce((acc, fn) => fn(acc), initialValue)
}
let increment = (x) => x + 1
let double = (x) => x * 2

Usage:

>> pipeItem(4)(increment, double)
10
>> pipeItem(4)(double, increment)
9
>> pipeItem(4)(double, increment, double)
18

You can also extend it to pipe an Array:

let pipeArray =
(list) =>
(...functions) => {
return list.map((item) => pipeItem(item)(...functions))
}

Feels like this:

>> pipeArray([1, 2, 4])(increment, double)
Array(3) [ 4, 6, 10 ]
>> pipeArray([1, 2, 4])(double, increment)
Array(3) [ 3, 5, 9 ]

Elegant~

Architecture of a Database System

I want to understand databases a bit. Teach Yourself Computer Science recommends this paper and says it can help build an overall understanding of relational database management systems (RDBMS).
I read 20-30 pages. It seems a bit hard for me.

Anime

New

  • 花は咲く、修羅の如く
    Delicate production, and two reading segments have insanely good atmosphere. The one I’m most looking forward to right now.
  • 日本へようこそ、エルフさん
    I’m so jealous of the male lead’s skill: not needing sleep and still staying energetic. That’s basically double the life experience.
    Also, white-haired elves are great.
  • Magic Maker
    Real blood-related romance? Promising lifelong love at such a young age, is that reliable?
    After a few episodes, it feels like this anime is actually trying to tell a story: building a magic system from scratch. Kinda interesting.
    The open-minded parents in the show are great. They cooperate with a kid’s seemingly ridiculous shenanigans instead of killing their interest with a single “what do kids know”.
  • 残業受付嬢
    Rie Takahashi’s one-woman show. The heroine design is cute, but the story is very average. Not expecting much.
  • 天鹰推理事件
    Watched two or three episodes. Pretty fun.
  • S 级怪兽被当作小猫
    Boring. Dropped after 1 episode.
  • 和班级里最讨厌的女生结婚
    So cliché. Dropped after 1 episode.

Returning

  • 薬屋のひとりごと
    I still haven’t watched the second half of season 1 (after episode 13). I need to catch up on the previous part. I’ll definitely watch (
  • アオのハコ
    I’ll watch it. I’ll watch it. (nervous

Others

Recent TV/movies. I try not to spoil.

リズと青い鳥

Beautifully made, delicate emotions. An excellent film.
I’m glad my first time watching it was in a theater. The immersion was very strong.

The final ensemble segment uses wordless music in place of dialogue to convey the choice to the other person. A very romantic scene.
At the end, 鎧塚霙(よろいづか みぞれ) (such a hard name to remember) no longer needs to follow in someone else’s footsteps. She climbs the stairs alone, opens the door, with firm steps, and walks toward her own goal. So good.

機動戦士Gundam GQuuuuuuX

The premiere-day attendance was terrifying. Hideaki Anno + Sunrise + Gundam. Fearsome.

The first half is basically a Gundam history crash course. I thought I walked into the wrong movie. This is nothing like the PV.
Unfortunately, I’ve only watched Seed and The Witch from Mercury, so I know nothing about the mainline lore. I couldn’t get any of the references.

I only learned from BGM comments later that the first half is an Anno-written “Zaku victory if” line. The strongest fanfic

The second half is finally the PV content. One-sentence summary: in the era of big AI, don’t worry if you’ve never piloted a Gundam. For only 998/month, only 998, unlock our newest AI driving assist feature (Copilot Pro-Max-Ultra-Plus Model). With zero experience you can still show off, and instantly crush those zero-spend poor players on the other side (

Random Thoughts

New Year’s holiday flew by. It ended without me doing anything.

I wanted to try skiing, but after planning the whole winter, I still never went. I guess it’s “next year” again (

Output

One Yearly Review: 2024 that I wrote from January into February, almost became a difficult labor.
Maybe because there was no ddl, it always felt like “I can write tomorrow”, so I kept拖拖拖 and ended up dragging it for almost two months.
Writing a blog is fun, but burning this much time and energy, plus the constant psychological pressure of having unfinished posts piling up, doesn’t seem workable.
I need to think of a way to improve this: set time limits for myself or use other methods.

Travel

初詣

Kawasaki Daishi Hatsumode. I didn’t get up on the 1st, so I went on the 2nd (perfectly reenacting last year’s script).
The weather was great. Sunshine on my body felt warm and comfortable. After walking a bit, I started sweating.
The outdoor light was too strong, so I couldn’t see the camera’s LCD screen. A friend reminded me that I could use the viewfinder (so that’s what it’s for).

Walked around with the camera and snapped away.


謹賀新年


So many people came to pray, but the temple is big, and the crowd flowed quickly. I donated 5 yen, wishing for world peace.


Caught the moment a flock of pigeons swept past the spire.


The Shenyang garden next to Daishi Temple. In the C position stood a wild group friend.


The shrine had lots of fun ema. This one is really cute.


Train or Shinkansen? Very creative.


This one is even better: a little ceramic snake, and it even made a heart ♥️

Carrying a camera all day is exhausting (I’m going to buy a GR3

Misc

Seems like nothing special to say. Skipped.


Closing

The first Monthly Log of the new year successfully got dragged to the end of February (
The text part was already written by mid-month. All that was left was simple photo tweaks and pasting them in, but I just didn’t start.
With February almost over, I hurriedly dug up a few photos from the gallery and posted January’s Monthly Log first.

Somewhat solid JS & Elixir learning + life-wasting work content gave birth to this rough and minimal Monthly Log.
さらば、2025年の最初の月。

Not even a second of happiness for publishing this Monthly Log. The next one rushing onto the battlefield is the February Monthly Log