Clicky

TL;DRs

Posts

Some other notes on exception handling

  • [2025-11-15 Sat 15:52]
    Reading https://ieeexplore.ieee.org/document/7832935/ today. It mentions that most common uses of catch: 1. Logs the error rather than recovering from it 2. About 80% of people are using the common “Exception” class, rather than their subclasses.

[2025-10-17 Fri 20:35]

This section was labeled under, or is related to Programming

I wrote about exception handling before in my draft on programming languages, generally, I consider exception handling to be extremely distasteful, and before you relate this to me being biased toward functional states, no I had this feeling from the first day writing C#; I was always astonished by how the MS documentation was strictly telling us “hey be careful with this thing” and hopping for the best, and for the way my app needed a “global exception handler” that swallows everything, and I looked and looked for a way in which I could just know whether a function throw or not, I assumed that I’m getting something wrong, because I couldn’t believe that this is a standard practice and due to my insufficient experience back then, I couldn’t find any literature discussing this problem. I wrote about a similar concern in my old mentioned draft, but it’s far from complete in the regard of why throwing exceptions is generally a terrible idea. Here I’m sharing some of contributions that I found: 1. Exception Handling Considered Harmful I enjoyed that post a lot, and Patterson seems to be very thoughtful and thorough author, it’s sad that he is not oftenly writing anymore. I’m planning to go through the old posts that are still on that website. 2. 13 – Joel on Software 3. Exceptions Considered Harmful 4. Why Go gets exceptions right | Dave Cheney. From the other side: 1. You’re better off using Exceptions – Eirik Tsarpalis’ blog and I have a quick response for some issues it demonstrates; a. An Awkward Reconciliation: this assumes that the programming language you are using, library or other called functions are going to throw, which is invalid if you can never have this state in your language. b. Boilerplate: this is a style preference IMO, most of Go developers for example do not mind the infamous if err != nil for me it’s explicit and eloquent. c. Where’s my Stacktrace?: exporting the Stacktrace has nothing to do with throwing exceptions, it’s very possible to expose it in almost all languages (including Go) without exceptions. 2. Exceptions vs. status returns | Ned Batchelder Skipping commenting in this one, since the former source implicitly included all of its claims. .

“Clean Architecture”

[2025-10-09 Thu 19:10]

This section was labeled under, or is related to Programming

I care about naming. I wrote recently about how I hate the way Microsoft names its products (see here). Seemingly, Microsoft champions have the same issue. There’s a common thing in the Microsoft Java++ (C#) ecosystem called “clean architecture”. I still remember hearing the term from my coworker for the first time and I thought she was talking “clean” as in an adjective not a term. Why the hell someone would call a design pattern “clean”, how clean is it?

This variable must be set before Evil is loaded.

[2025-09-20 Sat 18:05]

This section was labeled under, or is related to Emacs

Why?

Note for Windows Programmers

[2025-09-15 Mon 23:59]

This section was labeled under, or is related to Programming

Reading.Brian "Beej Jorgensen" Hall, Beej’s Guide to Network Programming (Beej.us, 2023), https://beej.us/guide/bgnet/. It has an interesting note for Windows programmers: “At this point in the guide, historically, I’ve done a bit of bagging on Windows, simply due to the fact that I don’t like it very much. But then Windows and Microsoft (as a company) got a lot better. Windows 10 coupled with WSL (below) actually makes for a decent operating system. Not really a lot to complain about. Well, a little—for example, I’m writing this (in 2025) on a 2015 laptop that used to run Windows 10. Eventually it got too slow and I installed Linux on it. And have been using it ever since. But now we have Windows 11 that apparently requires beefier hardware than Windows 10. I’m not a fan of that. The OS should be as unobtrusive as possible and not require you to spend more money. The extra CPU power should be for apps, not the OS! Additionally, Microsoft knows what you want, and what you want is more advertising! Right? In your operating system! Weren’t you missing that? Now you can have it with Windows 11. So… I still encourage you to try Linux , BSD , illumos or any other flavor of Unix instead of Windows.”. It’s a nice harsh punch for newcomers. I still think that MS Windows is one of the worst blocking obstacles in 21th computing. Perhaps one big factor that made mobile usage thrive they way it is, was the way MS made the desktop experience so bad, and the way Apple made it unaffordable.

Emacs bankruptcy

[2025-09-13 Sat 20:22]

I was recently introduced to the concept Emacs Bankruptcy (EB) by this cool video from Jake B. I have done EB maybe more than 10 times, I never knew the term though. I’m currently in the process of doing another one, hopefully the last.

C#, Dating, and Ukraine War

[2025-09-05 Fri 22:09]

These might sound extremely unrelated topics, and yes they are. Around 4 or 5 years ago I used to watch a YouTuber who started his channel with the pandamic, and I was learning some C# patterns then. He was making these nice videos about C#, and his way of explaining some topics was really fun. However, he started also giving some dating advices which was hilarious, because he looked like someone who would really make use of some , I stopped following him when he started doing all that dating stuff, but later he made a single one video on Ukraine war, it was about the tanks. The video went so popular and since then his channel got around 500K followers, I don’t recall him making any videos again on tech or dating and I’m unsure if he even kept them. The reason why I’m talking about him (and sorry if it will disappoint you), is that he keeps popping into my mind every once and a while, and I totally forgot about him and his name, and the story sounds very unfamiliar that if I tell anyone about it they might not believe me. So I’m putting this here, if you know what I’m talking about, even if you’re reading this 5 years later, let me know that I’m not the only person who remembers that strange phenomena.

An LLM Rant

[2025-08-22 Fri 15:06]

A nice one actually.

https://news.ycombinator.com/item?id=3151465

[2025-08-22 Fri 14:53]

Haha.

Emacs M4 Experience

[2025-07-05 Sat 02:54]

This section was labeled under, or is related to Emacs

Using Intel processor for all these years, which is quite slow compared to Apple Chips, made me spend a lot of work to optimize my single-threaded favorite display editor. The experience was pleasant overall, but using it now on a very fast computer, it is not just pleasant it is blazingly fast. The difference is just unimaginable.

Supabase

[2025-06-21 Sat 21:49]

This section was labeled under, or is related to Programming

I had a terrible experience trying to self-host Supabase today. I have read on the community posts that the experience is usually not very pleasant, however, I found official maintainers responding to that saying that it was improved, with a video showing it running on a 2GB of RAM and 2vCPUs droplet. I had various problems with getting the docker-compose to work; apparently you can not really change the default passwords without running into an authentication issue (see here for example), and even if you fixed that you will go through couple of analytics issues. My biggest concern, however, was that I was never able to get anything to run on the very small droplet that the maintainer showed off, in fact, the only specifications that could provide the bare minimum performance (that is: the dashboard is loading) was 8GB of RAM, and two dedicated CPUs (yes, dedicated, not vCPUs), however, even with that a lot of problems persisted (many features are not working, and it is a hell to try to authenticate the CLI with that setup). I wonder if their development team is choosing deliberately not to make the self-host experience better to enforce people to use their cloud services instead of selfhosting it. I really do not get the point of having such a software to be open-source if it won’t be easy to self-host.

Floyd’s tortoise and hare

  • [2025-05-27 Tue 02:59] Just found out that flattenability of graphs are folklore too. Wondering if a lot of graph theories are like that.

[2025-05-27 Tue 02:56]

This section was labeled under, or is related to Programming and Representations and Implementations of Graphs

TIL that Robert W. Floyd is not the real author of Floyd’s cycle-finding algorithm: The algorithm is named after Robert W. Floyd, who was credited with its invention by Donald Knuth. However, the algorithm does not appear in Floyd’s published work, and this may be a misattribution: Floyd describes algorithms for listing all simple cycles in a directed graph in a 1967 paper, but this paper does not describe the cycle-finding problem in functional graphs that is the subject of this article. In fact, Knuth’s statement (in 1969), attributing it to Floyd, without citation, is the first known appearance in print, and it thus may be a folk theorem, not attributable to a single individual. I wonder if anyone asked Donald Knuth about that in an interview.

TODO Sandro Botticelli Symbol of goodness   @check @later

[2025-05-17 Sat 00:43]

This section was labeled under, or is related to Art

I noticed how he is always painting the very same woman over and over. Worth checking later. investigating.

Archive

2024 | 2023 | 2022

  • [2025-11-29 Sat 00:38]
    I made the archive for 2024. Moreover, I changed the archive from containing only every 3 months (I stole this from rms), to be of all the year.
  • [2025-06-28 Sat 20:04] 2024-2025 was a heavy time. I will probably organize it in the archive after I get over it.

    December 2023-February 2024 | September 2023-November 2023 | June 2023-August 2023 | March 2023-May 2023 | December 2022-February 2023 | September 2022-November 2023

(outdated) How does this page work

  • [2025-11-29 Sat 00:40]
    As of now this is very outdated, this blog runs from a highly sophisticated (yes I’m calling it that) Elisp system.

[2022-09-23 Fri 20:15]: If you are an old reader (if such a thing exists) of this blog, you should know by now about my many old attempts of creating a stack-based posting that works within my editing environment (Emacs) which has always failed. I’m very good at Elisp, suck at writing Elisp packages \*Sigh\* life doesn’t give you everything. Anyway I thought that everything I need to implement such a workflow, is only a program that appends an entity top of a string, and I started to implement it as a separated program in Go. However, while doing it I recognized that (org-caputre) already does it, just needed a simple custom configuration:

(setq +org-capture-journal-file "~/blog/content/stack.org")
(setq org-capture-templates
      '(("j" "Journal" entry
           (file+headline +org-capture-journal-file "Posts")
           "* %<%A, %d %B %Y>\n%?"  :prepend t)))

I also found a predefined way of doing it that build a full hierarchy date for the entity, but I decided to go simple this time.

Cons;

  • I’ve to archive it myself, no pagination.
  • [2022-10-05 Wed 20:18]: I figured out a workaround to archive, and I don’t think I really need tags. Everything works great.
  • [2024-02-15 Thu 20:19]: I do not find this workflow very good as of now, I do not think that archiving is necessary either. I wil try to think of something else soon.

Footnotes:

1

I enjoyed that post a lot, and Patterson seems to be very thoughtful and thorough author, it’s sad that he is not oftenly writing anymore. I’m planning to go through the old posts that are still on that website.

2

Skipping commenting in this one, since the former source implicitly included all of its claims.

3

Brian "Beej Jorgensen" Hall, Beej’s Guide to Network Programming (Beej.us, 2023), https://beej.us/guide/bgnet/.

4

which was hilarious, because he looked like someone who would really make use of some


Some works I recommend engaging with:

I seek refuge in God, from Satan the rejected. Generated by: Emacs 30.2 (Org mode 9.7.34). Written by: Salih Muhammed, by the date of: . Last build date: 2025-12-19 Fri 22:12.