Log (rss)

11.09.2024. August Reads

Bogotá, Colombia

While we are now well into September, I wanted to take a moment to reflect on some memorable August reads, books that I still think about and will be thinking about for a while.

I read two books last month, one poetry and one prose (very unconventional prose, however).

Two books on a grey wood background. On the left El libro uruguayo de los muertos and on the right El oficio de vivir.
Fig 1. El libro uruguayo de los muertos and El oficio de vivir

El oficio de vivir, or (roughly) The craft/work of living, is a collection of María Mercedes Carranza’s poetry. Compiled posthumously and prefaced by her daughter, the collection sinks, poem by poem, deeper into the despair that plagued Carranza, especially in her final years. Despair about aging, despair about Colombia’s endless violence, despair about injustice, meaninglessness, despair about despair. Death weighs heavy on almost every page. It is so well-written that her words convey the hollowness of depression in a way that I have not seen captured in any other piece of writing (even books and memoirs about war or genocide). It is grim, very grim.

El libro uruguayo de los muertos, or The Uruguayan Book of the Dead, on the other hand was much less grim, despite of the title. It did take me a very long time to read. Along with García Márquez’s El otoño del patriarca, it might be one of the toughest books I’ve ever gone through. In short snippets destined to a mysterious correspondent, Mario Bellatin melds fact and fiction to speak about everything and anything. Some themes do stand out: writing, publishing, illness, death, family, and mysticism. Like the Twirling Dervishes he mentions, cyclical snippets of narrative appear, disappear, only to reappear later, the same or almost the same or altered incomprehensively. Temporality is warped, contradictions appear, and, as a reader, offering resistance only makes the read more painful. At some point you just have to let go and let Bellatin take you on a trip that goes round and round. And in the end, I was left a bit dizzy, I must admit.

El oficio de vivir was close to making it on my favorites list—it is a work of art. But the art that resonates with me the most is that which peers into the void, but with defiance. There is a will to live and an affirmation of life, the renewal of life. With Carranza, we succumb to the void, even if the last poem of the collection offers a glimmer of hope.

Mario Bellatin’s Salon de belleza (Beauty Salon) is one of my favorite books, but I can’t say the same of El libro uruguayo de los muertos. There are very interesting ideas about the nature of truth and fiction, about the pain of creation, and about life, death and creation as cyclical. The unconventional form resonated with these themes, but maybe it went on for too long. But then again, watching Twirling Dervishes perform can be fascinating, but it can also feel eternally long after a while. But isn’t that what we’re all after, eternity? Reading El libro uruguayo de los Muertos definitely felt like it took an eternity too.

Other Interesting August “Reads”

- Andrea

10.09.2024. Laptop - Bogo

Bogotá, Colombia

Bogo is my Thinkpad T480s that has served as my primary laptop since 2019.

Desktop screenshot of CWM, xclock in the bottom left and a terminal with an open text document.
Fig 1. Bogo - Thinkpad T480S.

System Description:

Screenshot of CWM, urxvt and xclock
Fig 2. Bogo - Desktop Screenshot.

Bogo was serviced with a X1Y3 glass trackpad, new RAM and SSD after RAM reported faulty in 2024.

Blue Screen Reporting Ram Failures
Fig 3. Report of RAM failure.

- Marc

09.09.2024. Cloud Solutions Make It Hard to Measure Energy Usage

Bogotá, Colombia

Today I continued my exploration into measuring energy usage for a server. To my dismay I discovered that when running software within a VPS, measuring its energy usage becomes impossible. A VPS obscures the underlying hardware to protect other servers running on the same hardware. Theoretically, an attacker could use the energy data to perform side-channel attacks to extract private keys from other users, so there are good reasons to keep the data hidden in virtualized systems.

All the companies that I have worked for rely on VPSes and VMs, with no access to the underlying hardware. I imagine at this point it is pretty standard in the industry, which makes me think that few companies are able to measure their energy usage and understand the footprint of their backend.

It is unfortunate because sharing the hardware also means that we could leverage it more efficiently, and avoid over-provisioning hardware. At the same time, when you do not understand how much energy the software is using, it encourages wastefulness.

Related Reading

- Marc

07.09.2024. Great Software is Simple on Many Planes of Abstraction

Bogotá, Colombia

There is a dichotomy in software development, high-level and low-level software. This is particularly true in programming languages, where you have low-level languages that give you more control, but require more understanding of how computers work, and high-level languages that allow you to express your ideas more simply and allow you to not think about low-level details.

High-level software is called that because it operates at higher-levels of abstractions. This means that it obscures the lower level machinery of what happens, so that we can focus on the task at hand. For example, we would not want to think about how a web browser forms a TCP/IP connection, communicates with a DNS server etc. when opening a web page; at least we do not want to up until the point where we have some error.

High-level software unlocks the ability for us to perform more advanced tasks quicker with less mental overhead. It can also unlock a great deal of improved security, as it can restrict certain operations from the user and better adapt to their needs, which even if it removes some liberty is still desirable.

When we only focus on building a good high-level experience, it comes at the expense of low level control that becomes inaccessible or too complex for regular users. This invites us to be inefficient, construct false understandings, and without a deep understanding of our systems, we can not meaningfully fix the system nor optimize it. It invites us to outsource this control to experts, who are often restricted to building general solutions for many use-cases. Poor understanding often leads to rebuilding the same solutions over-and-over again, with the solutions becoming even more complex and inefficient each time. When only experts understand systems, it centralizes knowledge and power and makes the general population unaware of issues. I explored the democratic problems it leads to in my essay The Curse of Convenience.

Low-level tools gives us greater control and greater freedom. Understanding the lower-level units makes it easier for us to understand how everything fits together, and gives us the power to make the changes we wish. However, using only low-level tools makes it more difficult to cleanly express ideas and it can be a frustrating experience. It sometimes requires digging through manuals and the time it takes to accomplish tasks becomes much longer. It is also easier to make mistakes.

This dilema leads me to solutions that attempt to be simple on many planes of abstractions. In programming languages such as Go and OCaml, the high-level semantics are simple, but a user can still also understand the lower-level details of what happens, which makes it possible to operate at a lower-level when necessary without being an expert. In software, Unix utilities find the balance of being simple and allowing users to express high-level ideas. Older motorcycles are easy to operate, and also easy to fix when necessary.

- Marc

07.09.2024. Communal Computing

Bogotá, Colombia

One of the most beautiful ideas behind the original Unix, that I think unfortunately has gotten lost and is underrated, was the idea of a form of collective computing. People would gather as a group and collectively build their tools specific to what their community needs. The way Dennis Ritchie described it:

What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form. We knew from experience that the essence of communal computing, as supplied by remote-access, time-shared machines, is not just to type programs into a terminal instead of a keypunch, but to encourage close communication.

Using a collection of simple tools, users would then be able to combine these together to build the tools specific to their needs on time-shared machines.

People sitting in a circle typing on typewriters, connected to the same computer.
Fig 1. Timesharing a Wang 3300 Basic. Source.

Another obvious advantage to collectively owned computers is that you retain ownership from the bigger companies, while at the same time can unlock better optimization where these computers can live in geographically advantageous regions. For example, Solar Protocol directs users to whichever server has the most sunlight.

There are a lot of advantages to empowering users to fix issues themselves rather than someone fixing their problems for them. I wrote about it extensively in my essay The Curse of Convenience. I also see with the new LLM models a resurgence of this idea in Maggie Appleton's essay about home-cooked software. Personally, I am skeptical that LLM's will enable this revolution, but I think her essay is still worth a read!

Today, there is a communal computing system that exist, it is the SDF. It is quite old and has been around since the 1987, and it definitely marketed towards a technical audience. It hosts a set of collective computers that any member can use for any purpose (within reason). With it people have set up a Lemmy instance and Mastodon instance. You also get a free email account with it. It also comes with a shell you can SSH into and do any kind of programming that you want.

Personally, I use SDF to host my notes with git. Doing that was as simple as ssh user@tty.sdf.org -t mkdir notes && cd notes && git init. Once done, I am able to access these notes from my phone, my laptop or wherever I happen to be. To clone it locally, I just run git clone user@tty.sdf.org:~/notes. I also hang out at their Lemmy instance.

Terminal screen showing Welcome to SDF Public Access UNIX system
Fig 2. SDF Public Access System.

- Marc

04.09.2024. Human Readable File Formats

Bogotá, Colombia

I have recently (ish) become interested in file formats. In particular, file formats that are human readable and human writable.

These formats have quite a few advantages:

But they also come with challenges:

To me the biggest beauty of these file formats is that they can outlive the software that created them. Even if I am on a foreign computer, without internet, hit with amnesia, I can still make sense of and modify these formats.

Software in some way or another takes data and outputs data, that's what a computer is meant to do. I think it is worth thinking about how we can make sure that the data generated outlives the software that made it, inspired by Permacomputing.

I kicked off a thread on Mastodon to see what kinds of human-readable data formats people know of. I am excited to see what people share.

- Marc

04.09.2024. Building Software is like Building a House

Bogotá, Colombia

Common startup-mentality is to move fast and break things. Books like Lean Startup also posits that startups should build "MVPs", which is an incomplete version of the product that allows you to test it on real users so that you can iterate on it.

All the talk is about being cheap and fast, which I also think is important for a startup. However, I think people get it wrong as well, because while it is good to be lean, the product should not be buggy, wasteful or low quality.

I think of software as similar to building a house. The fastest way to get a house up is building a house with poor foundations, using the cheapest brick with prebuilt modules but it is not necessarily so that anyone would want to live in such a house. Instead, invest in quality but build only a small section at the time; I believe the end result will be better and you will receive better feedback that way. So when coding let's make sure that the code is good, let's not neglect testing, but with a limited scope. Let's take the time to think about the visuals and the energy efficiency of the solution, because neglecting this affects the quality of the entire product, and energy efficiency is a social responsibility we all bear.

I also think of writing code akin to maintaining a house. If your code is bad and smelly, it is like working in a kitchen that has not been cleaned for months with dirty dishes in a sink. It is not a place where you want to work in, or inhabit.

- Marc

02.09.2024. On Learning How to Publish

Bogotá, Colombia

As of today, I have publications forthcoming in Hypertext Review, The Good Life Review and The Madrid Review. In the past two years, I have published at Americas Quarterly, Periódico de Libros, Pie de Página, and for Artists at Risk Connection.

I am not just listing this out as a way of recognizing my own work (which I struggle with), it is also a way to try to understand where I am at as a writer. I marvel at it still, that the texts that I spent hours drafting and tweaking and dialoguing with others about are out there, whatever that means. In a sense, I still don't really truly believe it.

Americas Quarterly magazine open in the foreground and in the background a busy NYC street.
Fig 1. Visual Arts feature on Oaxacan artist Dell Alvarado for Americas Quarterly.

From childhood, language and writing has always been a safe haven. I gravitated towards storytelling in the moments of most uncertainty. It was fun. Libraries were there no matter how many times I moved. I always knew I wanted to write, to be able to share images, thoughts, impressions, dilemmas with others.

However, a writing career never seemed like an option. Of course, a career involving writing, yes. But it was out of the question that I would just write. That wasn’t a real career, and most importantly, it was unsustainable for someone who had grown up at the cusp of poverty. Even when I majored in languages, literature, and the humanities--I imagined I needed to enter academia or do something else. And I did, I did do something else, and I found many additional passions in the social sciences, in anthropology, in film, in science tout court.

I continued to write, but for myself. Other responsibilities quickly took up my time, responsibilities that I genuinely enjoyed tackling and that were within the fixed path laid out by my studies. But when the studies ended, or paused (who knows), and I had to think closely about what I really wanted to do, the urge to write made itself known. But about what? And who would read it?

It turns out that I had published before, as a student. But I never took those achievements seriously. I downplayed the writing itself, for some reason, “it didn’t count”.

The first creative text that I published appeared a decade ago in the quarterly magazine, Just Poetry!!! This poem, “Fruit Salad is Heterogenous”, was just a faint memory in the back of my mind until I rediscovered the printed issue earlier this year. I didn’t even remember it had been printed. I certainly didn’t remember it had been one of the nominees for best of issue. And when I re-read it, I realized it was not half-bad for a high school student publishing and writing poetry for the first time. I surprised myself with those words, and reminded myself of feelings and memories that mattered.

Dithered image of Just Poetry!!! issue opened to the page of the poem 'Fruit Salad is Heterogenous'.
Fig 2. Fruit Salad is Heterogenous.

Exactly ten years later, my first creative narrative pieces and Spanish-language poetry are forthcoming, and it feels a bit unreal.

I am definitely no expert, far from it, and I am aware of all the ethical issues with the publishing industry, as with any industry, especially as journalism and print struggle financially. And yet, the efforts of small presses that I see here in Bogotá and online internationally are exciting (Hypertext and The Good Life, are non-for-profits; The Madrid Review is a volunteer effort). And even in more traditional media, there people passionate about storytelling and I can discern (or a better word, vislumbrar) a way of breaking through and sharing stories and histories that matter with a variety of people. That prospect excites me.

Not to say I haven’t been discouraged by rejection (part and parcel of the process) or a perceived shortage of time or disappointment in myself (self-doubt, or perfectionism). It has felt impossible at times. That feeling of failing to communicate something important, essential or the essential nature of that which I am trying to communicate. The hegemony of English also makes publishing in Spanish challenging--and I don’t want to feel pressured to write in English because of it. I want to write in English because I feel like it. And I want to write in Spanish (or any other language) when I feel like it too.

In those times my friends and family have been essential, as well as the kind words of the readers who have found something worthwhile in my writing. But also, diving into the written works of others has been so important. Those books, poems, and articles that speak to me motivate me and give me courage. And more on that next time.

- Andrea

02.09.2024. Homecoming + Logging

Bogotá, Colombia

Today is our full first day back in Bogotá and this is my first log entry for Comma Directory. Today, I want to reflect a bit on how I got here, both literally and metaphorically.

We had a rough trip back from Sasaima, Cundinamarca. Two buses with aggressive drivers, getting dropped off in an unfamiliar part of town, and then a taxi driver who fell asleep at the stop light (wishing that he does ok). These are the realities of traveling and living in Colombia, and even more so for most Colombians living day to day, struggling to survive.

For years, my family undertook this pilgrimage from Bogotá to Sasaima, and under much rougher conditions than we did. And despite of it all, visiting my great-grandparents’ farm was one of the happiest moments of the year, for as long as it lasted.

Landscape with mountains, sky and a cemetery in the foreground.
Fig 1. View of the cemetery in Sasaima, Cundinamarca.

I had never been to Sasaima before, by the time that I was born the voyages had ceased, my great-grandfather had already passed away.

Being able to finally go to a place that meant so much to everyone and that I have heard so much about since childhood was very special. Eating almojabanas at the town square, going to the plaza (market) for lunch, delving into the surrounding mountains, eating fresh mandarinas on the trail, and meeting kind people who love their town and are proud of the land--it was a wonderful parenthesis, a welcomed contrast from the grittiness of Bogotá.

But even with all its pollution, the crime, the poverty, and the painful memories embedded into these mountains, coming back to Bogotá is coming back home. This month I’ll leave Bogotá again and I am not sure exactly when I’ll be back. Like so many other times, but it never stops being painful. I am excited about what is to come, it is beyond my wildest dreams, life that is, it has been during the past ten years. Full of new beginnings, new opportunities, but those beginnings always come paired with goodbyes and (hopefully) see you laters.

I see logging as more than a recollection of important events or thoughts, but as a way to digest and accept that duality, so integral to life. Whether one travels or not, we are all constantly starting and ending. Moments, books, trips, meals, tasks, conversations.

A book and a journal on a bed in a wooden interior.
Fig 2. My latest read and the Rey Naranjo "Small Bibliographic Log" in Santa Inés, Sasaima.

Before Comma Directory I have been logging in journals, the analog way. However, I rarely keep them around and I almost never have wanted to re-read my entries. Too self-conscious of my writing, unfettered and unedited. However, recently I have made the effort to keep the same journal, and also keep two additional analog logs on books and films. These logs are from the Rey Naranjo Editorial House, which is part of Bogotá’s very vibrant artistic scene. Their design is quite nice, they are compact and portable, and there’s a bit of humor and character infused to them. I’ve also managed to keep an agenda for the first time, which I bought at the beginning of the year in Oaxaca, that has also served as a nice writing space. More on writing next time.

- Andrea

28.08.2024. Social Apps with Email

Bogotá, Colombia

Email combined with isync, makes it is possible to access email offline and have it synced on a regular interval.

I looked around for options for having a shared TODO list with Andrea and sometimes the most obvious solution is what is in front of you. All the local-solutions that I have used in the past made sharing difficult, and neither one of us wanted to sign-up for some third-party service nor download an app just for TODO items. Then I started thinking about how I have always shared links with myself in the past, which was through email.

Well, thanks to fastmail's web filters, I was able to set up a specific email-address that Andrea and I could use to share TODO items between each other. All email sent to that email address ends up in my TODO inbox. How do I share TODO items? Well, just add Andrea on CC and then it's done. No sign-up to a new service needed. When the item is complete, I just reply done and then my email rule will automatically drag it to my Done archive.

Similarly, I use this as my social bookmarking service. I have a special email-address and a email rule so that when that address receives links from the right people, those links end up automatically in my links archive.

These two solutions work cross-device as well. All my devices have email so sharing across BSD, iOS, and Android becomes trivial. All of them support email.

This could be further extended with interfaces that operate on the isync directory. You could then have TODO apps that use email as a backend, and what is nice is that people would not need to download an app to operate on it, so it would be a form of "progressive enhancement".

- Marc

28.08.2024. Offline Website Documentation

Bogotá, Colombia

On most browsers, you can easily download and print a PDF version of a website for offline use by using Ctrl+P.

With that, you can save and render the PDF with Zathura or Mupdf. I discovered that my undervolted laptop actually struggles with Zathura for PDF rendering, however Mupdf renders the PDFs instantaneously.

However, another technique that might be nicer is to save the website page as Web Page (HTML only) and then convert it to a more readable plain-text format. That way it is much easier to search your documentation using grep or other Unix tools.

Terminal window displaying readable
documentation.
Fig 1. Rendering readable documentation from the terminal.

To do so Pandoc can be used to to convert it to a Markdown page.

pandoc my-site.html --to markdown_strict -o my-site.md

Markdown is not necessarily the most readable format though, so with some extra help of lowdown, we can render terminal-readable documentation.

NO_COLOR=true lowdown -tterm -o my-site.txt

With the power of Unix, we can pipe these commands together:

pandoc my-site.html --to markdown_strict |\
> NO_COLOR=true lowdown -tterm -o my-file.txt

Then we can read it with less

cat my-file.txt | less -R

- Marc

25.08.2024. Personal Database with Recutils

Bogotá, Colombia

I have began using recutils to build a database of what I have read, watched and also for references on how to do things.

The tool has a decent amount of utilities for querying data and its simple formatting means that even if recutils one day stops working, it would be trivial for me to build my own replacement.

Recutils collection including L'etranger by Albert Camus and Ishmael by Daniel Quinn.
Fig 1. Editing recfiles in Kakoune.

The usage becomes simple. To find all FreeBSD specific information, I can simply run the recsel -q freebsd ~/refs.rec and I will find all my Freebsd related references. I made an alias of it so I just have to type refs freebsd.

Three recfile rows shown on terminal: Backlight/brightness, Listing devices on Freebsd, blocking websites. Includes instruction
Fig 2. Output of running refs freebsd.

- Marc

25.08.2024. Gymnastics Rings

Bogotá, Colombia

Working out remotely can be challenging. When the gym is far away, staying in shape is a goal that can easily be sidelined.

To work out regularly and everywhere, I carry my favorite set of exercise equipment, the Gymnastics rings.

Gymnastics rings lying on the ground
Fig 1. Gymnastics rings.

These rings can be used anywhere you have a tree or bar to hang them up on, and enables you to perform a complete upper-body pull workout, which is hard to do without any form of equipment.

After 8 months, starting from scratch, I was able to unlock the ring muscle up with the help of a personal trainer.

Crude drawing of 3 steps for performing a muscle up.
Fig 2. The three steps of a muscle-up.

Over time, I transitioned over to exercising on my own. These days I follow the training programs sold byfitnessfaqs. I find his marketing to be a bit like snake-oil but the concepts he teaches are legit and the programs were recommended by my previous trainer. Though it should be said that these workouts should be supplemented with some of your own reading, as his training programs can be a bit light on theory.

On Reunion island, I would find a tree next to a small lake, hang up the rings, do my exercises and then jump into the lake and swim for a bit to cool myself down. On the best days the lake was completely empty of people.

A lush lake on Reunion Island
Fig 3. The lake on La Réunion where I would swim.

The simplicity of the wooden rings combined with being alone in nature makes it a meditative form of exercise.

- Marc

23.08.2024. Projecting Log Entries

Bogotá, Colombia

Comma Directory tries to set up a way to separate the facts, from the interpretation of the facts. The idea is to build up a set of log entries, that over time can be projected to build an interpretation of a novel idea or concept.

Originally inspired from event-sourced programming, this idea also has a certain resemblance to zettelkasten as well. In zettelkasten, you have build up a set of atomic notes, that you then combine to build up a novel idea.

A set of views projected to create an interpretation
Fig 1. Log entries projected to build an interpretation.

This process allows us to solidify our understanding of our own thoughts and make sure the ideas are grounded on a solid foundation. And if we get it wrong, we are able to reinterpret the information, without losing the raw source.

- Marc

23.08.2024. AI and Anxiety

Bogotá, Colombia

When ChatGPT 3 came out, I was initially terrified how it might make my job irrelevant and all creative professions along with it.

Now I have had time to let that fear simmer a bit, and I have changed my mind. These days, when I think about AI, I come to think about how irrelevant it is to the problem I face. For the problems I try to solve AI feels at best like a tool that can take care of some chores, and at worst: exploitative and actively harmful.

My current project is to help people live more sustainably. From that perspective, AI is an ecological disaster. At the same time, I think the way that AI removes our need to think,actively harm our public institutions. The more software I build, the more I understand the importance of understanding how things work, from the hardware to the software, in order to be able to fix it myself when something breaks. In that sense, I am skeptical of the way AI encourages us to just copy-paste without knowing what we are doing. It is like stackoverflow but on steroids.

When I find out a picture is AI generated, I cannot help but to feel that it looks cheap. It is about as interesting as a stock photo to me, and that makes me think that it will not be replacing art anytime soon.

These days I feel a relief that AI actually does not help me in what I try to achieve, my initial anxiety is gone. Instead I feel more pressure to make sure that my projects succeed so I do not end up in an organization where I have to use AI tools.

- Marc

23.08.2024. The Comma Directory Concepts Design

Bogotá, Colombia

Today Andrea and I designed the Concepts page. Looking around at other personal wikis, our shared sentiment was that there is a lot of amazing content, but that it can be hard to navigate because of the overwhelming amount of content, served in a rather flat layout.

By using a hierarchical structure, we are able to better break it down into sub-categories that are easier to navigate. The top has:

And under them there is a subcategory and finally the topic. Each log entry uses a tag underneath, so we are still able to display the same log entry in multiple topics, if necessary.

To design the layout, Andrea and I started to look for inspiration. I am rather infatuated by the old lisp machines, and especially the Genera Symbolics lisp.

Old image of a Lisp Machine, portrait aspect ratio
Fig 1. Symbolics LM-2 Processing System. Source.

I love the portrait aspect ratio and the black and white look. So I wanted the design to make an homage to its beauty.

Searching for its design elements, we came across this.

Symbolics OS Documentation with three sections
Fig 2. Symbolics Computer Documentation. Source.

Andrea and I both find it beautiful. If you head over to the Concepts section, you can find how that served as inspiration to make the design. We are very happy with the result.

- Marc

22.08.2024. Measuring Software Energy I

Bogotá, Colombia

I've been interested lately at looking at the energy usage of software.

Since my current energy usage is invisible to me, it is hard to actually grasp just how bad the situation is. But I often am amazed at how inefficient many solutions are, they offer very little gain.

For example, to ensure that a service is always available, at my old job we had 3+ servers running in parallel, just in case one server hall gets hit by a tornado or other disasters.

Most services do not even need 99.99+% availability, they'd be fine with just 2 nines. Maybe that's what we should strive for?

Anyways, if we want to understand what we can do better, it is good to understand the energy footprint right now.

After some investigation I came by websitecarbon.com, which is extremely easy to use and gives some rough estimations. It estimates the cost of:

It links to Sustainable web design: Estimating digital emissions which I will need to look at closer.

I also asked a Permacomputing group if they had any recommendations. Almost immediately I was recommended a few tools for measuring energy usage:

Excited to dive deeper into these resources and see how I can understand and optimize.

- Marc

20.08.2024. Local-first Software I

Bogotá, Colombia

I read an interesting article on local-first software. I think it perfectly summarizes the issue with cloud software and the need for more offline-friendly software.

Especially mentioning Git, I think it is great, as it is a prime example of successful offline-friendly collaboration. Github of course ruins it slightly, by having PRs be done online.

I was a bit sad it did not mention the dvcs fossil though, which contains chat and forums built-in that auto-sync when you go online. It is also extremely easy to self-host.

In conversations about local-first, I often find email and/or activitypub to be underrated as well. Email is offline friendly, I have it synced offline. I also think you could extend it to have apps on top of it, like a todo list app. Activitypub could be used to push the envelope even further, as it is a system to stream activities. You could have those activities be signed locally and sent when you go online.

- Marc

20.08.2024. Search-driven Development

Bogotá, Colombia

I listened to a podcast, the Corercusive episode on birth of Unix with Brian Kirnighan. An interesting point was that software development today often is more about looking up information rather than building something with your own intuition. You search the answer for each query, a.k.a. stackoverflow-driven development.

I start valuing more the software that does not require that, where you can read the manual and then understand how to use the programming language.

- Marc

19.08.2024. The Comma Directory Structure

Bogotá, Colombia

Design sketches of comma.directory. 3 boxes that describe the different layouts
Fig 1. Design sketch of comma.directory layout

Further crystallized the design of the webpage.

Comma.directory will be built up by composing together many small log entries. Each log entry contains observations, events, and thoughts that we label. Over time, these log entries build up a directory of concepts, which we categorize for easier navigation.

When entering the page of a concept through the directory, the log entries that led up to the idea would show up and and if the idea feels more fully explored, it might also contain a summary or conclusion.

- Marc