During app development, I track the tasks in an org-mode task list. And I track the stuff I finished and want to highlight in the release notes in a Markdown block right there. When I release an update, I’ll copy & paste the Markdown part to the “Release Notes” of the app and push the changes to the server online.
This week I noticed that a ton of files like *message*-20201029-134012 piled up in my home folder. These are email drafts from message-mode, and the numbers are a date-time-stamp. These didn’t appear ever before. So I figured it might have something to do with autosaving after looking at the change history of my configuration file – and it sure does.
Think personal wiki of knowledge. But instead of merely cartographing what is in the world, you create new stuff from the things you collect, building up layers upon layers of ideas by connecting what you already have, and then making a big hypertext from it.
At first you have atomic ideas, then you begin to link them and think and write about their connection.
In other words, it’s a way to add layers of abstractions to your thinking and writing.
I use something like it for 11+ years now and the amount of cross-connections is very cool. Also, by using my Zettelkasten properly, I “accidentally” prepare blog posts for this site: every note is self-contained and written in a semi-publishable manner, so I could just copy and paste notes together to make an article. That’s the sweetest part of it: how it accelerates my writing.
I noticed that in macOS’s dark mode, a window without a visible title bar won’t draw a light border. It will draw a dark/black border, unlike all the other windows, and thus be a lot less visible than it needs to be. So for a floating helper window, I had to make the title bar visible, and then hide all traffic light buttons in the window’s top-left corner:
Some commands in Emacs and its various packages are destructive. They require a confirmation by the user. These usually use yes-or-no-p, which won’t complete the command until the user replies by writing “yes” and then hits enter, or “no”, or aborts the command with C-g. Some of the commands that require confirmation in this way are overly protective, I find. Like projectile-kill-buffers (C-p k) which closes all open buffers for a project at once. I use this heavily when e.g. editing my website: jump into the project, edit a file or two, commit, then leave. I don’t want to type “yes” and hit enter just for that. (Please note that killing a buffer this way will still ask me if I want to save or discard changes, so the kill command alone is not destructive.)
If you ever wondered how to programmatically trigger a click on a link in a NSTextView, here’s one way to do so. This assumes that clickable links are not stored as temporary attributes in the NSLayoutManager, but permanently as part of the “model” in your NSTextStorage. You can then ask the storage for the attribute at the cursor/insertion point location:
I’m looking for a PHP developer starting now. Vanilla PHP and Laravel are both welcome. Update 2020-10-27: I added more details about what I would love to see in your application, and a rough battle plan. The goal is to self-host a list of online video courses. The course modules are only available to paying customers.
I noticed that I still had the journaling app Day One (macOS) on my computer. I haven’t touched it in ages. So I figured it’d be time to export to plain text and then shove all the goodness from 2004 and onward into my Emacs org-mode diary.org. Turns out there’s no Day One to org-mode exporter.
If your customers get this message when downloading your app from the Mac App Store: XYZ is damaged, remove it and download again from App Store. … it might be because you’re parsing the App Store receipt dates wrong! Apparently, Apple began to change Mac App Store receipt date formats recently: When you parse receipt dates, account for both variants. To make things easier for you, strongly consider to use ISO8601DateFormatter (NSISO8601DateFormatter in Objective-C) which should (!) handle multiple variants of ISO-8601 dates for you.