The next stop in my travels to Singapore takes me to Hong Kong! On my first day I did a lot of walking as usual, and also took advantage of Hong Kong's awesome metro system. Below are two pictures I took today.
The next stop in my travels to Singapore takes me to Hong Kong! On my first day I did a lot of walking as usual, and also took advantage of Hong Kong's awesome metro system. Below are two pictures I took today.
After UIST ended in Busan, I took the train back to Seoul, and spent a day exploring (a small part) of the city. I had a lovely day in this beautiful city. Below are two of my favorite pictures I took while exploring.
UIST 2025 has ended! On Tuesday, I presented our paper, Ragged Blocks: Rendering Structured Text with Style. I met so many awesome people at the conference, and listened to some really cool paper talks!
On this first day in Busan, I woke up early and went for a run. I did a cursory search online to see if anyone had any recommendations for where to run, and someone on the internet suggested the many trails to the north of the city (which is pretty mountainous).
So, I set off in search of these trails, and found one, but it was so steep that I couldn't possibly keep up running, especially for 14 miles (today's quota).
I turned back onto the road, and decided to use my tried-and-true strategy of following other runners, hoping they're at the beginning of their run rather than the end, and will therefore lead me someplace pleasant. And it worked marvelously. I knew my strategy was working because following my target, we started to encounter more and more runners as we went along, including some running groups convening to set off together. And soon enough we came upon the Haeundae Blue Line Park, which is situated alongside a scenic railroad that stretches along the coast. It was absolutely beautiful, and a lovely place to run. Above is pictured a stretch of the path looking back towards Busan, and an impressive scenic overlook of which there are many along the way.
I have one more long run planned for this portion of the trip, where I hope to make it further down the coast!
After a very long day(s) of travel, I finally arrived in Busan for UIST 2025! I thought that taking the train from Seoul would be "fun" and "relaxing." I don't regret it, per se, but getting from the Seoul airport to Suseo station (where the train departs) turned out to be an ordeal.
By my (albeit unreliable) mental math, I had been awake for around 27 hours by this point.
Recently when using emacs, I've found myself being lazy and holding
C-n or C-f for a long time in order to
navigate somewhere far away or in the middle of a line. I have a
suspicion that it would be faster if I used the avy package I have installed,
which permits jumping to any visible word in the buffer by typing a
substring. In order to encourage myself to use my navigation keybinds
more, I've devised a form of negative-reinforcement for myself:
(defun mk-rate-limiter (times duration f)
"Produce a new function which behaves identically to F, except
it can only be called TIMES times every DURATION seconds."
(let* ((count 0)
(on-timer-done (lambda () (setq count 0)))
;; Run every `duration` seconds after `duration`
(timer (run-with-timer duration duration on-timer-done)))
(lambda ()
(if (< count times)
;; We're below the limit, so call `f` and increment the counter.
(progn
(setq count (+ 1 count))
(funcall f))))))Like the docstring says, it's a function which behaves like
f if it's not called too often, but once it's called more
than times times in duration seconds, it drops
the call to f, doing nothing. The idea is that I'll rebind
C-n, C-p, C-f and
C-b to this function, making them too annoying to use if
for more than a few invocations. Here's how I set it up for
C-n:
(defvar next-line-rate-limiter (mk-rate-limiter 3 2 'next-line))
(defun sam/next-line ()
(interactive)
(funcall next-line-rate-limiter))We'll see if it worksβor if I end up disabling it in frustration like so many of my self-regulating hacks :^).
A few days ago I finished Haruki Murakami's 1Q84, and I thought I'd write down some of my couple-of-day-old thoughts (spoilers!). Murakami has a passage about Chekhov, and inspired by this, I decided to pick up "The Duel." In the preface of my copy is a forward written by Aleksandar Hemon. In it, he explains that if you don't love Chekhov's characters, you'll at some point end up under the gallows. His reasoning being that Chekhov's characters, though flawed, are so characteristically human in these flaws, that to hate a Chekhov character is to hate humanity (and one who hates humanity will eventually end up under the gallows). There's a few questionable links of causality, but the point is clear. It isn't so easy to classify them as "good" or "bad."
I sense the roots of Chekhov's characters in Murakami's in 1Q84. He succeeds in making them likable despite their flaws (especially Ushikawa). But I feel that things went wrong somehow; the characters felt a little bland to me, and perhaps a little formulaic too. Their struggles and flaws are cartoonishβa little too obvious maybe. Take Aomame and Tengo for example. They both have both relatively unobjectionable character. They exist at the edge of their moral envelopes, Aomame by murdering male abusers, justifying this by arguing that they would go on to cause further harm, and Tengo, by perpetrating the fraud that Fuka Eri wrote Air Chrysalis. But, I felt that their moral qualms were a mere tokenβthey don't seem to grapple with their strugglesβthey're merely part of each character's backstory.
On the other hand, Murakami toys with the idea of Leader being redeemable for his actions (Aomame, at least feels some remorse and self-doubt). This, again, feels like a cartoon emotion to me. And the Little People are described explicitly as being neutral, but in this reader's opinion are very much not. (In no small part due to having effectively murdered Aomame's friend, Ayumi.) That leaves me confused about the end of the book, in which Aomame refers to her unborn child as a "Little One." In my reading, this child's existence is fundamentally in opposition to the Little People (hence the storming on the night of their conception). Is Aomame carrying little people into the other 1984 that she enters in the last pages of the book? I certainly hope not.
This all in contrast to Murakami's Kafka on the Shore, for example, which I read last winter, and whose characters I found to be really endearing, but also complex and interesting and surprising. In some strange way, when Murakami asks us to suspend our disbelief in Kafka, I'm more willing to comply because I feel that his characters are "in on it." That is, they're as mysterious the world they exist in.
I've read some reviews of 1Q84 that complain about its excessive repetition. That's something I definitely noticed while reading, but for some reason it didn't bother me. It felt to me like a kindness extended to the reader, although necessary perhaps only because this enormous book has maybe too many characters, and too many backstories. Regardless, I do enjoy Murakami's writing, even in this less polished form. Despite my complaints, I really did enjoy the book, especially as a lens into Japanese culture of the 1980s.
On another note, both 1Q84 and Kafka are rich with references to other literature (and music!). That means that checking one Murakami book off my queue seems to enqueue a few more, which is a quality of his books that I've enjoyed so far. I intend to read more Murakami soon, but perhaps a shorter one next time, and after I've cleared a few references from my queue!