Note ↔ Note, thinking outside the folder

    [Jul 10, 2020]

    I’ve used a bunch of note taking apps over the years (Evernote, OneNote, Apple Notes, Goodnotes, Notion, Bear) and I’ve almost always used them similarly to how you’d use a file system: folders for organization, notes as files. I’m always a little curious about new note apps and how they organize things. I was using Notion for a while, and got along well with using it’s concept of relational databases to make connections between notes. If you create notes in a database in Notion, you can make it look like Google Keep, you can make it correlate notes to a calendar (ala Agenda, another app I’ve tried, if only for a few minutes), or you can organize them in columns Trello style and use your notes as todos. It’s all the same set of notes, just with different views of the database. There’s a somewhat clunky way to associate one note with another, or one tag with another, and only if you’re using a database of notes (i.e, not just a “page” style note), but once you have that you can organize your notes in almost any fashion you can think of. A relational database + a nice UI is really just a primitive app building platform in the tradition of Access on top of Excel.

    The main issue I had with Notion is that it’s slow — it’s really a wrapper around a web app, even in native form. On top of that, it doesn’t play nicely with built-in MacOS features. One small example, if you copy a link to a Things project into Notion, clicking on the link… does nothing. It doesn’t know what to do with callback urls.

    So I’ve drifted from a combination of Notion and Bear, where Notion was project level and Bear was for quick capture, to Bear and Things, where Bear is project level and Things is quick capture. Everything is faster and it works across all my computers, my iPad, phone, and watch.

    Bear uses tags as organization, which means you can refer to a note in multiple directions. It doesn’t live in a given folder, it lives where ever it is relevant. That said, the tags end up being used mostly as folders, it’s just you might have the same file in multiple folders.

    An interesting idea I’ve seen floating around the web is associating all notes with links between notes, and using backlinks and graph views to understand where notes connect. Bear has supported “live links” or wiki style links for a bit now, you can have Note A and reference it in Note B with [[Note A]]. If you rename A, the link updates, and you never have to think about where Note A is. If you want to find all of the references to Note A, you can search for [[Note A]], and you can use Bear’s x-callback-url API to save that search at the top of Note A, so you can click on the link and find all of the notes referencing that note.

    Some newer apps like Roam Research and Obsidian[^1] make backlinks the main focus. You might start the day with a log, and then just tag other notes as you record what you’ve done, like:

    - Did [[HIIT workout A]] for 30 minutes
    - Met [[Cool McPerson]] for lunch at [[Local Establishment]]
    - Read article about [[Rust]] at [article](link)

    then in the note HIIT workout A you can see all of the times you logged that note. Graph view is just these associations, but rather than buried in text, in a nice visual format. Bear can’t do this, but it’s not exactly magic to make a chart of associations, and Bear has the API to support it. There’s a python script that will generate a Graphviz view of your notes for you on Github. It includes a handy —anonymize option so I can even show you what my Bear notes look like, graphically:

    Is it useful? I dunno. I’ve recently started daily logging with backlinks in my notes at work, and it’s proving helpful being able to click into longer running projects and see all of the times I associated it with a Jira issue, a person, a meeting, etc. The idea is that you can, with pretty low effort, record every thought in your head as it comes, then look at the graph and see what the core areas you’re thinking about are, and what areas can probably be pruned.

    [^1]. Obsidian is interesting to me, and I’ve started using it at work instead of Bear. It’s a little clunky at the moment (it’s in a beta) and it’s clearly an Electron app, but it works off plain text files on a local file system, which is surprisingly hard to find. Ia Writer works that way, but doesn’t support backlinks.


    TIL: graphvis

    [Jun 15, 2020]

    I worked for a number of years as a low-budget technical writer, producing documentation and technical diagrams at a few different companies. I say low-budget because these were manufacturing companies, not software companies, and the documentation was more “we need to keep this on file” than “we need this to function”. My go to tool for diagrams was Visio, and by the end of my stint as a technical writer I could do 3D diagrams in it that would put Autocad to shame, but lining up boxes for 2D diagrams was always a chore.

    Fast forward many years, today I needed to draw a diagram for a new architecture, and I was going to default to pen and paper (or, iPad and Pencil) as I usually do, but I vaguely recalled there being an app out there that did sketchy-style diagrams. Some googling found it, but it didn't have a drag and drop GUI, it uses graphvis, which it turns out is the best thing ever. Why spend minutes moving arrows around when you can just a -> b it!

    Hosted on Sketchviz

    A11Y in the Last of Us Part 2

    [Jun 14, 2020]

    Some inspiration for the next time you think making a dropdown menu accessible is hard.


    TIL: porcelain versus plumbing

    [May 29, 2020]

    I guess I haven't spent enough time living in the git documentation to notice this before, but a Stack Overflow answer for something I was trying to do with git diff used the term “porcelain” function to describe diff versus diff-index, which led to another Stack Overflow answer to what the concept of a porcelain function was, the origin of which appears to be from this email conversation in the git project

    If you don't want it, I won't do it. Still makes sense to separate the plumbing from the porcelain, though.

    It’s interesting to me that software prefers plumbing metaphors to electrical ones (switches from the circuits, in this case), but I guess what travels through the plumbing is critical to the metaphor.


    Reading List, May 29, 2020

    [May 29, 2020]

    I split my mornings between reading a book or combing through my RSS feeds. This week skewed more heavily towards reading a book (How to Do Nothing), but I did find a few things that avoided my “read later” list.

    Daring Fireball: ‘What Time Is It in London?’

    So every other service that tries to answer “What time is it in London?” gets it right. Only Siri gets it wrong.

    If I could bring one thing back to the internet it would be blogs

    Opinion | What if We All Vacationed at Home Again? - The New York Times

    At the end of last year, an Ipsos Mori poll found that 79 percent of British people believe that their country is “on the wrong track” — a sentiment echoed in countries around the world . Much of this can be attributed to the attenuation of opportunity that followed the financial crisis of 2008-09. But some of it stems from a lost sense of belonging and the gulf that has emerged between those who still cling to the liberal dream of heterogeneity and those hankering for a more parochial past.

    The fact that so many of us now spend our moments of maximum happiness overseas has surely played a role in deepening this fault line. And many of the pleasurable experiences of social intermingling that might once have offered a counterbalance, like a day out at the seaside, have been sacrificed to consumer choice.

    Please Print (A Journaling Rant)


    I moved the content side of this site to markdown, but wanted an easier way to update content than making markdown files, commiting and pushing them, so I added Netlify CMS to the site. It's a little rough around the edges still, but for what I was trying to do it hits 100% of the features.


    I have a soft-spot for magazines, when I was re-learning how to program I had two days a week where I would kill some time in the day flipping through the coding related magazines at Microcenter. This issue is all about frontend development so its extra relevant to me but the past issues look pretty good too.


    DEAD LORD - Distance Over Time

    [May 25, 2020]

    (Elvis Costello + Thin Lizzy) * 11


    Reading List May 22, 2020

    [May 22, 2020]

    Things I read over the last week. At first glance this week might appear to have a theme of “everything is broken!” but I prefer to read it as “look at all these things we can do better!”.

    Second-guessing the modern web

    But the cultural tides are strong. Building a company on Django in 2020 seems like the equivalent of driving a PT Cruiser and blasting Faith Hill’s “Breathe” on a CD while your friends are listening to The Weeknd in their Teslas. Swimming against this current isn’t easy, and not in a trendy contrarian way.

    Low-Challenge, High-Skill Tasks in Terrible Times

    For the last month I’ve found myself subconsciously jumping on “easier” tickets where I feel a high level of expertise (CSS tasks, layouts, prototypes) and I’ve struggled to get through tickets that have a high learning curve or cognitive load. Those deep work tasks are hard to sustain when reality, in the form of kids or breaking news, comes crashing through my door. That’s where the broader concept of Flow is helping me. If I understand the psychology correctly, lowering the challenge level raises my relative level of skill and that gives me a sense of control in an otherwise uncontrollable world. I’m able to move fast and not break things.

    A Static Future

    A thorough (and well illustrated) explanation of how static site builders like Gatsby work.

    Students are failing AP tests because the College Board can’t handle iPhone photos

    One of my favorite books is To Engineer Is Human by Henry Petroski, particularly the stories of uncaught or seemingly minor issues that went unconsidered that resulted in catastrophic failures. I don’t think there’s a software engineering equivalent (if there is, let me know!), so I have to find them in news articles like this.

    Chris Coyier had a somewhat related tweet this week. You’d think operating systems and software would fundamentally get image formats and text formatting correct, but it’s been an ever-repeating problem since computers had screens.

    Your Day Care Probably Won’t Survive the Coronavirus

    While nearly every other developed nation supports child care as a public good, the United States treats child care providers as private enterprises — more like gyms than K-12 schools. ... The child care sector, like your favorite fitness enterprise, is propped up mostly by private dollars paid into the system.

    There’s a whole Greatest Hits album worth of things that parents in the US get screwed on compared to other countries, but the #1 best seller is the fact that child care between the ages of 0 and close to 6, basically one third of the time the child is under your care, is on the individual structurally and financially. I have a lot of other thoughts on this but they mostly involve 🤬 so I’ll stop here for today.


    Reading List May 15, 2020

    [May 15, 2020]
    1. Modern CSS Solutions

    CSS continues to improve, and browser support for modern solutions continues to grow, so all the ways you used to do things might have better versions today.

    1. JavaScript’s ecosystem is uniquely paranoid

    Three factors have caused a widespread cultural paranoia among JavaScript developers. This has been inculcated over years. These factors are: JavaScript's weak dynamic type system; the diversity of runtimes JavaScript targets; and the fact of deploying software on the web.

    1. Why does writing matter in remote work?

    “But what if the problem is juicy and we can’t solve it through an asynchronous discussion?”

    My response to this is to still default to an asynchronous discussion because asynchronous discussion makes it clear when it needs a meeting. Many people aren’t agreeing. The Slack thread is 148 messages deep and no one made a decision. These signals mean that the discussion needs to be a meeting.

    1. Notion-Powered Websites

      I find what people are trying to do here with Notion super interesting. Notion can create a URL for any page you make, but it’s styled like Notion styles it, and it gets metatags as Notion decides it should. So people are using undocumented Notion APIs to build their own sites using Notion data, or cloud functions to take public Notion pages and build a site from that.

      Notion has promised to release an official API “soon” but I think what’s driving people to jump the gun is that it’s UI is astronomically easier to use than almost any headless CMS out there I can think of, both in terms of constructing the information architecture and editing content. Technically there are a lot of differences, e.g. if you used Notion as a real time content source I think you’d be very sad, but I can at least hope that the UI and ease of adding content structures is something other CMS solutions adopt.


    Stop Motion

    [May 9, 2020]

    My first Macbook was also my first laptop with a camera in it, so I asked a somewhat dumb question when I was buying it, which was, "can the camera take pictures?". I think what I was asking was essentially what the app Photo Booth is, but the sales person at the Apple store, for some reason, thought I wanted a camera to make stop motion videos. They said they weren't sure if it could, but that would be cool. I agreed. I never tried but I can imagine it would have been not cool, since the camera on those plasticBooks were about .1 megapixels and shoved in the top of the lid making for some awkward angles.

    Jump forward 14ish years and the little pocket computer I take everywhere has both a camera good enough to use for stop motion videos and the processing power to edit them. We've been rebuilding my childhood Lego collection lately, so I used some minifigs as actors. The wizard's... hat... was from an earlier video.

    I later tried to get the child to help me make a stop-motion video her mother might appreciate on a certain day that's upcoming, but she didn't seem to impressed by moving picture technology. I stitched these together using Stop Motion Studio which is straight up amazing at the cost of free.



    [May 7, 2020]

    Plenty of maps mess up New England states because they're small and the states are small, but to have so much room and end up here... I dunno. This does at least depict (sort of) my long standing opinion that the nub should be part of New York and Long Island should be part of Connecticut.