• Cartier Tank Must Is a Timeless Watch

    The Cartier Tank Must is a classic. The design is damn near perfect as a dress watch and instantly adds a little elegance to the moment.

    At first I thought the quartz movement would take away from the feeling of wearing it but I realized a quartz movement is ideal for this kind of watch. You never need to wind it up (which is great since the Tank is less likely to be worn every day) and the battery will last years (low/no maintenance). You’re not missing anything because there is no seconds hand (the smooth sweep of the seconds hand is part of the appeal of mechanical watches).

    The Tank is the exact opposite of the other watch I own, the Sinn u50. Where the Sinn is a bit brutalist in it’s design, the Cartier is sophisticated and refined. They play off each other very well as an everyday watch and going out watch.

    I ended up choosing the large size as it’s a slightly more modern interpretation of the Tank than the more traditional small size. I personally don’t think the XL versions look good—it’s too large loses some of the elegance as a result. The large will still feel small if you are coming from a ~40mm sports watch but using a sports watch as a gauge for sizing the Tank is a mistake—you need to take it for what it is.

    Overall, what more is there to say. It’s 100+ year old design that remains nearly unchanged for good reason.


    Published

  • Layoffs Don't Improve Company Performance

    The recent layoffs in tech, especially the large companies like Google and Amazon, got me thinking about the effect of layoffs for the business doing the layoffs. It might be mostly bad. A study of layoffs from 1979 to 1997 found that companies that announced layoffs had negative stock returns and larger layoffs led to greater negative stock returns. It doesn’t increase individual company productivity—a study of 140,000 US companies from 1977 to 1987 found that the greatest increases in productivity had nothing to do with downsizing. They also lead to losing people that businesses don’t want to lose—one third of the companies rehire some of the employees they lost because they still need their skills.

    I would be interested to see how these results will play out for modern internet businesses. Will it be any different this time? Was there anything to learn from decades of layoffs prior?

    Read The Case Against Layoffs: They Often Backfire.


    Published

  • Zealio V2 Keyswitch

    I’ve been using the Zealio V2 keyswitches on my primary keyboard for around 1.5 years so now is a good time to write about the experience. This has a distinctive feel to every keystroke that feels heavy at first (requiring more force than a standard switch) but ends up feeling crisp and snappy. The reason for that is the tactile design puts the actuation at the very top of the keypress with no pre-travel. Coming from more traditional MX keyswitches (I was using MX clear and MX copper) everything else now feels mushy.

    The sound is loud for a tactile switch. It has a higher pitch sound to it than the MX clears and because the actuation is at the top, you almost certainly will bottom-out on every keystroke. This is good for sound (thock!) but probably not great for any impact related repetitive stress injuries. The only negative is that there is a high-pitched spring ping on certain keys (the X key for me).

    See also:


    Published

  • Gazzew Boba U4T Keyswitch

    The latest hyped tactile keyswitch I’m trying out on my primary keyboard, replacing Zealio v2.

    Initial impressions

    To help me compare, I changed half of my keyboard to use the new Boba U4Ts and the other half using Zealios.

    It is noticeably quieter. The Bobas have a much lower-sounding ‘thock’ compared to Zealios which is very pleasing. There is also no spring ping on any of the keys. This might be because the Bobas came lubed but definitely an upgrade.

    The activation is noticeably more mellow than the Zealios. It still feels crisp (I may need to compare these to the MX Clears to remember what pillow-y feels like again) but it’s smoother. I tend to be a heavy typer so a more muted sound will pair better when taking notes during a meeting.

    The spring weight is about the same between the two (62g) but the Bobas feel a bit heavier. Too early to tell if it will lead to fatigue.

    Finally, something I almost never notice is key wobble—the Bobas have almost none. It makes the Zealios feel rattle-y in comparison. Any wobble makes no sound so there are no shuffling sounds with my fingers resting on the keys—I like this!

    Long-term review

    I’ll update this once I’ve had a chance to use these for longer.


    Published

  • Preview Note While Searching Org-Roam

    When searching for an org-roam note, the title isn’t always enough to tell if it’s what I was looking for. I want to preview the note without leaving the search interface (using helm).

    To do that, I adapted this helm source for org-roam.

    (defun helm-org-roam (&optional input candidates)
      (interactive)
      (require 'org-roam)
      (helm
       :input input
       :sources (list
                 (helm-build-sync-source "Find note: "
                   :must-match nil
                   :fuzzy-match t
                   :candidates (or candidates (org-roam-node-read--completions))
                   :persistent-action (lambda (x)
                                        (--> x
                                             (view-file (org-roam-node-file it))))
                   :action
                   '(("Find File" . (lambda (x)
                                      (--> x
                                           (org-roam-node-visit it t))))
                     ("Preview" . (lambda (x)
                                    (--> x
                                         (view-file (org-roam-node-file it)))))
                     ("Insert link" . (lambda (x)
                                        (--> x
                                             (insert
                                              (format
                                               "[[id:%s][%s]]"
                                               (org-roam-node-id it)
                                               (org-roam-node-title it))))))
                     ("Follow backlinks" . (lambda (x)
                                             (let ((candidates
                                                    (--> x
                                                         org-roam-backlinks-get
                                                         (--map
                                                          (org-roam-node-title
                                                           (org-roam-backlink-source-node it))
                                                          it))))
                                               (helm-org-roam nil (or candidates (list x))))))))
                 (helm-build-dummy-source
                     "Create note"
                   :action '(("Capture note" . (lambda (candidate)
                                                 (org-roam-capture-
                                                  :node (org-roam-node-create :title candidate)
                                                  :props '(:finalize find-file)))))))))
    
      (global-set-key (kbd "C-c n f") 'helm-org-roam)
    

    Now when I have a list of search results I can preview the file using the C-j without leaving the search session.


    Published

  • How to Work Asynchronously

    One of the greatest advantages that remote-first companies have is that work happens asynchronously. I lead to a culture of writing things down. It allows teams to be flexible between working styles and time-zones (up to a point). It creates a more equitable environment regardless of physical location.

    Despite the advantages, setting up an asynchronous working process can be tricky. Here’s a few simple playbooks to follow.

    This is a work in progress!

    Running a project

    If you’re running a project and the team works asynchronously, here’s what you need to do.

    1. Write a project brief Take the first stab at answering a key question. Talk to people as needed to get the information you need and be sure you have an initial answer.
    2. Share a link to the document in public channels, tag specific people for feedback, and ask that all feedback is added as comments to the document Comments in a document are naturally asynchronous. They act as an inbox for feedback and there should be no expectation that they will be answered immediately. If you get other feedback in Slack for example, direct people to add it to the doc (conversations get lost, are more synchronous, and chat apps are not a good place to find things later).
    3. Resolve the comments, have ad-hoc discussions as needed to gather more input Be editorial. Resolve what is necessary and decide what you won’t address. Anyone should be able to give feedback, but that doesn’t mean everything needs to be resolved.
    4. If you are unable to make all of the decisions, hold a meeting to resolve them and kick off the project

    Saving meetings for the end of the process reserved for making decisions (if needed) leads to a more inclusive environment. The interface for providing feedback is clear and avoids the tyranny of structurelessness.

    Even better, you now have a document you can reference as the project progresses and point people to if they have questions. (Documents are better than people at answering questions).


    Published

  • Frequency Range of Hearing Is Probably the Same in the Universe

    Organisms evolving independently on different planets will probably end up with the ability to hear things at the same frequency range as humans. That’s because the sound a predator makes as it approaches would be in the same spectrum regardless of atmosphere. Organisms that could react to these frequencies would have an advantage and survive.

    I read about this idea in Project Hail Mary.

    See also:

    • Similarity between organisms in different planets could also be evidence for panspermia but even without starting from a common “seed”, natural selection seems like it would yield similar traits
    • Then again, maybe life is another aspect of the anthropic principle

    Published

  • Levels of Accountability

    Accountability is a distinguishing feature of progressing into leadership roles. As a general rule, moving “up” means more accountability. Being a high performing contributor means being accountable for yourself. Being a leader means being accountable for others. Being an executive means being accountable for what you can not control (e.g. the market). There are many counter examples where leaders are not held accountable or getting promoted doesn’t increase the level of accountability, but acting as a principal is still the best strategy.

    The opposite of this (and something to screen for when working with others) is learned helplessness—there is a belief in one’s agency needed to take accountability. That’s why founders, who are accountable for things outside of their control, seem to require a controlled self-deception or they wouldn’t start anything. That’s why default optimism is rational.


    Published

  • Never Share Your Desktop When Screen Sharing

    When screen sharing, never share your whole screen. There is too much information that will be viewable on your desktop and infinite ways to accidentally leak private stuff. I can’t count the number of times someone screen sharing over Zoom accidentally had their personal chat messages showing or a browser tab with something embarrassing.

    A few simple rules for safer screen sharing:

    • Always select the option to share a specific window, never share your whole desktop (your desktop will show all of your open applications, new notifications, thumbnails of pictures, document names, and so on)
    • If you are sharing your browser, open a new window (not a new tab!) and share only the new window (your tabs contain a lot of information that is unnecessary to expose)
    • If you need to open a new link, open a new window and navigate to the link then copy the link to your sharing window (Google Chrome will autocomplete search history which may leak sensitive information)

    See also:


    Published

  • Principles for Living a Rich Digital Life

    I’ve been thinking more about how to live a rich digital life and what that means in a world of abundance. The following is a work-in-progress list of principles that are starting to form. (Epistemic status: low).

    Stay connected: The digital age has made it easier than ever to stay connected with others, whether through social media, messaging apps, or other online platforms. Make the most of this abundance of connectivity by reaching out to others and building a network of supportive relationships.

    • Healthy social media?

    Learn continuously: The digital world is constantly changing, and it’s important to keep up with the latest developments and trends stay relevant and competitive. Look for opportunities to learn new skills and technologies, and be open to trying new things.

    Mold it to you: code and connect things so that your stack does what you want it to do. Don’t settle for the out-of-the-box experience. This means having the skills to do so by learning to code and keeping up with technology.

    • Being efficient with keyboard shortcuts
    • Customizing your keyboard to be faster
    • Writing elisp to extend emacs

    Stay organized: With so much information and content available online, it’s easy to get overwhelmed. Stay organized and focused by setting goals, prioritizing tasks, and using tools like calendars and to-do lists to stay on track.

    Protect your privacy: The abundance of personal data available online can also make it more important to protect your privacy. Be mindful of the information you share online, and consider using privacy tools like virtual private networks (VPNs) and password managers to keep your data secure.

    • Avoid ads

    Take breaks: It’s easy to get caught up in the constant flow of information and distractions online, but it’s important to take breaks and disconnect from time to time. Make sure to set aside time for offline activities and relaxation, and prioritize self-care to maintain a healthy balance.

    Make money from the internet: The internet economy is booming and making money from anywhere is a reality with remote work.

    See also:


    Published

  • Roman Concrete Was Self-Healing

    Roman concrete used thousands of years ago is significantly more durable than modern concrete. One of the key differences is self-healing properties—when Roman concrete cracks, it reacts with water which quickly fills in the crack with calcium carbonate.

    A recent study looked into how Roman concrete was made and tested these properties. They found that hot mixing must have been used to create quicklime instead of slaked lime. This creates more surface area within the mortar area and is the source of reactive calcium which fills in cracks over time.

    See also:


    Published

  • Containing Multitudes on the Internet

    The internet is a place of digital abundance with zero friction to publishing. Building an audience is increasingly important for one’s long-term prospects. This leads to deep niches filling the internet.

    This is mostly a good thing—interesting content for more people and diversity of things—but also makes it harder to contain multitudes on today’s internet.

    There are penalties built into the way we publish and consume content. For example, you can find your 1000 true fans in some obscure automatic watch community but they probably don’t want to hear about you learning to program Rust. Platforms like Facebook, Twitter, TicToc, and to a lesser extent, forums and chat groups, aggregate audiences that only want to hear from a limited part of you.

    As a founder, tinkerer, programmer, and writer, I find myself in this generalist dilemma all the time. How do you contain multitudes on the internet?

    Somewhat inspired by this post, The internet wants to be fragmented by Noahpinion because I don’t want to be fragmented.


    Published