<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>A Geek with Guns - GrapheneOS</title>
    <link rel="self" type="application/atom+xml" href="https://www.christopherburg.com/tags/grapheneos/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://www.christopherburg.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-10-02T20:00:00-06:00</updated>
    <id>https://www.christopherburg.com/tags/grapheneos/atom.xml</id>
    <entry xml:lang="en">
        <title>Connecting Xed-Editor to Forgejo</title>
        <published>2026-10-02T20:00:00-06:00</published>
        <updated>2026-10-02T20:00:00-06:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/connecting-xed-editor-to-forgejo/"/>
        <id>https://www.christopherburg.com/blog/connecting-xed-editor-to-forgejo/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/connecting-xed-editor-to-forgejo/">&lt;p&gt;In my &lt;a href=&quot;&#x2F;blog&#x2F;how-i-handle-notes&#x2F;&quot;&gt;previous post&lt;&#x2F;a&gt; I mentioned using &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;xed-editor.app&#x2F;&quot;&gt;Xed-Editor&lt;&#x2F;a&gt; for notes on GrapheneOS, but not being able to use it for git operations because the credentials only worked for GitHub. It turns out I was wrong.&lt;&#x2F;p&gt;
&lt;p&gt;I use two-factor authentication on Forgejo (and every other website that supports it) so I can&#x27;t simply enter my user name and password in Xed-Editor. However, Xed-Editor is smart enough to use access tokens to log into Forgejo. Connecting Xed-Editor to Forgejo is simple. First, you need to create an access token in Forgejo.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to your user settings.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Go to the Applications section.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Click the New Access Token button. Make sure the token has read and write access under repository permissions.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Click the Generate token button and take note of the generated access token. Once you navigate away from the screen, you won&#x27;t be able to view the token again.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Then you simply add your user name and access token to Xed Editor.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to Xed-Editor&#x27;s settings.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Tap on the Git section.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Tap on Credentials.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Enter your username in the Username field and access token in the Password field.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Tap the Apply button.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;I thought I had tried this before, but obviously I misremembered. I&#x27;m glad I figured this out too. Xed-Editor&#x27;s git operations are significantly faster than GitSync&#x27;s. In fact, I took a second look at figuring out how to connect Xed-Editor to my Forgejo server because GitSync has been acting more inconsistent over time. I haven&#x27;t had enough time to figure out exactly what&#x27;s going on, but as my notebook has grown, the amount of time it takes to do commits has increased. The last commit I tried never succeeded because I couldn&#x27;t stage the files (the commit screen just showed the loading indicator). It&#x27;s also inconsistent about picking up local changes made in other applications like Xed-Editor whereas Xed-Editor has no problem picking up changes made by GitSync.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>How I Handle Notes</title>
        <published>2026-09-27T13:00:00-06:00</published>
        <updated>2026-09-27T13:00:00-06:00</updated>
        
        <author>
          <name>
            Christopher Burg
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.christopherburg.com/blog/how-i-handle-notes/"/>
        <id>https://www.christopherburg.com/blog/how-i-handle-notes/</id>
        
        <content type="html" xml:base="https://www.christopherburg.com/blog/how-i-handle-notes/">&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h1&gt;
&lt;p&gt;Creating a useful note taking system on a computer is surprisingly tricky. This is made apparent by the large number of note taking programs available. &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;evernote.com&#x2F;&quot;&gt;Evernote&lt;&#x2F;a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;joplinapp.org&#x2F;&quot;&gt;Joplin&lt;&#x2F;a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;obsidian.md&#x2F;&quot;&gt;Obsidian&lt;&#x2F;a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;logseq.com&#x2F;&quot;&gt;Logseq&lt;&#x2F;a&gt;, &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;triliumnotes.org&#x2F;&quot;&gt;Trilium Notes&lt;&#x2F;a&gt;, and seemingly hundreds of other options all exist to address this single use case. Each one has its strength and weaknesses.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve used Joplin for many years. It has a lot going for it. It&#x27;s available for most operating systems, it uses Markdown for formatting, it can sync to a Nextcloud server, notes can easily be exported to plain text files, and it has a straightforward user interface. There are a few things I dislike about it though.&lt;&#x2F;p&gt;
&lt;p&gt;The first is how attachments are handled. Most of my notes are text, but sometimes I need to include other files such as pictures or PDFs. When you attach a file to a note in Joplin, it goes into the single giant attachment list. Each attachment receives a unique identifier, which is used to reference the attachment in a note. There&#x27;s no easy way to see what notes each attachments is linked in. Likewise, in each note the attachment is linked using the unique identifier, which is just a string of letters and numbers. This is really a minor annoyance.&lt;&#x2F;p&gt;
&lt;p&gt;The second thing I dislike about Joplin is that it stores notes in its own format. Many other note taking applications do this and there are legitimate reasons for doing so. However, it makes working with the text outside of the application challenging. I&#x27;m used to using text editors that offer a lot of test processing features. Vim is my go-to command line editor to this day. I&#x27;ve been using &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;zed.dev&#x2F;&quot;&gt;Zed&lt;&#x2F;a&gt; on my desktop systems for quite a while because it has an excellent Vim mode and includes a lot of conveniences that I need to plug into Vim.&lt;&#x2F;p&gt;
&lt;p&gt;I also use a lot of command line tools such as grep, sed, awk, head, tail, etc. for processing text. I despise having to search through a collection of text files without the ability to use regular expressions. None of this can be done in Joplin (technically it can by exporting notes to a text file and importing the edited notes, but that&#x27;s annoying to me). This isn&#x27;t a criticism specifically of Joplin though. Most note taking applications suffer the same limitations.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;my-current-solution&quot;&gt;My Current Solution&lt;&#x2F;h1&gt;
&lt;p&gt;You might be wondering why I don&#x27;t just use a bunch of text files sorted in directories if I like using all of these text processing tools. That has been my goal for some time. The difficulty has been dealing with multiple devices. Specifically my phone. My desktops all run Linux (specifically &lt;a href=&quot;&#x2F;tags&#x2F;dinosaur-os&quot;&gt;Dinosaur OS&lt;&#x2F;a&gt;) and my phone runs &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;grapheneos.org&#x2F;&quot;&gt;GrapheneOS&lt;&#x2F;a&gt;. Synchronizing a structured set of directories containing text files between Linux and GrapheneOS was surprisingly difficult. Syncthing was the most frequently recommended method, but the Android client &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;forum.syncthing.net&#x2F;t&#x2F;discontinuing-syncthing-android&#x2F;23002&quot;&gt;was discontinued&lt;&#x2F;a&gt;. There&#x27;s really no equivalent of rsync over SSH on Android. The Nextcloud application has the ability to automatically upload new files from a phone to a Nextcloud server, but it can&#x27;t pull files from the server or detect if a file on the server was changed.&lt;&#x2F;p&gt;
&lt;p&gt;Notice my use of the past tense when saying synchronizing files between Linux and GrapheneOS was difficult. I finally found a solution: git. The reason I didn&#x27;t use this solution initially is because git support on Android was rather pitiful. This is strange considering how popular Android is amongst developers and other technically minded people. Fortunately, as I&#x27;ll explain, I found a good git client for Android. Since I already run a self-hosted &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;forgejo.org&#x2F;&quot;&gt;Forgejo&lt;&#x2F;a&gt; server, I already have the infrastructure in place to synchronize git repositories between devices.&lt;&#x2F;p&gt;
&lt;p&gt;Now I&#x27;ll explain how I glue a bunch of text files sorted into directories and git into a good (for me) note taking solution.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;linux-desktop&quot;&gt;Linux Desktop&lt;&#x2F;h1&gt;
&lt;p&gt;As I mentioned above, I&#x27;ve been using Zed as my go-to text editor on my desktop systems. Using it as a replacement for Joplin is dead simple. I add my entire notebook directory to Zed and my notes are laid out in the left dock just like they are in Joplin. Zed also has a built-in git client so I can commit and push my changes to my Forgejo server.&lt;&#x2F;p&gt;
&lt;p&gt;With that said, you can use any text editor you want. One thing I could never do with Joplin was pull and use my notes on a command line system. My current solution works just find from a command line. I can create and edit notes using Vim, commit and push my changes using the git command, and perform searches through all of my notes using grep.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;grapheneos&quot;&gt;GrapheneOS&lt;&#x2F;h1&gt;
&lt;p&gt;The git client I&#x27;m using and enjoying is &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ViscousPot&#x2F;GitSync&quot;&gt;GitSync&lt;&#x2F;a&gt;. As the name implies, it&#x27;s geared towards using git for file synchronization. The default interface, which is referred to as Sync Mode, is very simple. What I especially like is that you aren&#x27;t stuck with the default interface. You can switch to an expanded interface, which is referred to as Client Mode. Since I&#x27;m already comfortable with git, I use Client Mode. If you&#x27;re not comfortable with git, Sync Mode is probably a better idea (although if you&#x27;re not comfortable with git, my note taking method is probably not a good solution for you). The one limitation I will note is that, while GitSync is an open source application, it has a free and paid tier. The free tier only allows synchronizing with a single git repository. With that said, GitSync is good enough where I suggest throwing the developer $20 just for making a good git client for Android.&lt;&#x2F;p&gt;
&lt;p&gt;There are two text editors I tested. The first is &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Xed-Editor&#x2F;Xed-Editor&quot;&gt;Xed&lt;&#x2F;a&gt;. Xed, like Zed, is a powerful text editor. It has a lot of options, including a built-in terminal emulator, aimed at developers. It even has a built-in git client (&lt;em&gt;&lt;a href=&quot;&#x2F;blog&#x2F;connecting-xed-editor-to-forgejo&#x2F;&quot;&gt;I was incorrect about this&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;). However, it only appears to accept credentials for GitHub. My notes repository requires authentication to access and there&#x27;s nowhere in Xed to enter credentials for a Forgejo server. This is the editor I&#x27;m using.&lt;&#x2F;p&gt;
&lt;p&gt;The other editor I tested is &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;FossifyOrg&#x2F;Documents&quot;&gt;Fossify Document&lt;&#x2F;a&gt;. Fossify Documents lacks Xed&#x27;s features, but has a very clean and easy to work with interface. If you just want the ability to create and edit text files, Fossify Documents is worth trying.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;advantages&quot;&gt;Advantages&lt;&#x2F;h1&gt;
&lt;p&gt;The biggest advantage to my solution is it isn&#x27;t locked into any platform. Every modern operating system is capable of working with directories and text files. Likewise, git clients exist for every modern operating system (GitSync works on iOS as well).&lt;&#x2F;p&gt;
&lt;p&gt;You can use whatever text editor you want. You can use whatever git client you want. You can use whatever code forge you want to synchronize your git repository. Do you want to search through your notes for something? Most advanced text editors have recursive search built-in. Otherwise, you can use a tool like grep. There are also plenty of tools for making changes to files. Sed and awk are both solid choices.&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s no platform lock-in. If the text editor you&#x27;re using ceases to be actively developed, you can switch to another editor. Git isn&#x27;t even a requirement. You can use a different version control system like &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.mercurial-scm.org&#x2F;&quot;&gt;Mercurial&lt;&#x2F;a&gt; if you want. You can pick and chose your tooling based on the platforms you use. If you don&#x27;t use Android, you can use Syncthing instead of git. If you only use a few Linux computers, you can use rsync to synchronize your notes between machines. The sky is the limit.&lt;&#x2F;p&gt;
&lt;p&gt;If I were to summarize my solution in a single word it would be flexible.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;disadvantages&quot;&gt;Disadvantages&lt;&#x2F;h1&gt;
&lt;p&gt;The biggest disadvantage is synchronization is done manually. One nice thing about Joplin (and many other note taking applications) is that it handles synchronization for you. My Joplin notebook is setup to synchronize every five minutes with my Nextcloud server. Every five minutes my clients synchronize their changes to my Nextcloud serve and then pull down any changes made by other clients. I don&#x27;t have to think about it. With my current solution, I have to manually commit and push my changes to my Forgejo server and then manually pull those changes on my other devices.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
