<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://enocc.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://enocc.com/" rel="alternate" type="text/html" /><updated>2026-08-06T07:51:31-07:00</updated><id>https://enocc.com/feed.xml</id><title type="html">Pablo Enoc</title><subtitle>My website for writing in both English and Spanish.</subtitle><author><name>Pablo Enoc</name></author><entry xml:lang="en"><title type="html">Mute Words on powRSS</title><link href="https://enocc.com/2026/08/06/mute-words-on-powrss.html" rel="alternate" type="text/html" title="Mute Words on powRSS" /><published>2026-08-06T00:00:00-07:00</published><updated>2026-08-06T00:00:00-07:00</updated><id>https://enocc.com/2026/08/06/mute-words-on-powrss</id><content type="html" xml:base="https://enocc.com/2026/08/06/mute-words-on-powrss.html"><![CDATA[<p>You can now mute words on <a href="https://powrss.com">powRSS</a>.</p>

<p><img src="/assets/images/mute_words.png" alt="Mute Words on powRSS Screenshot" /></p>

<p>It’s only available on the desktop version. Click on the settings dropdown and add the words you don’t want to see on the home feed.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[You can now mute words on powRSS.]]></summary></entry><entry xml:lang="en"><title type="html">Notes on Configuring Emacs for Web Development</title><link href="https://enocc.com/2026/07/16/notes-on-web-dev-emacs.html" rel="alternate" type="text/html" title="Notes on Configuring Emacs for Web Development" /><published>2026-07-16T00:00:00-07:00</published><updated>2026-07-16T00:00:00-07:00</updated><id>https://enocc.com/2026/07/16/notes-on-web-dev-emacs</id><content type="html" xml:base="https://enocc.com/2026/07/16/notes-on-web-dev-emacs.html"><![CDATA[<p>New computer means new configuration from scratch! Since Emacs is the mainstay program I use across devices, I want to document how I’m doing web development with it right now.</p>

<p>First I took the time to go over my <code class="language-plaintext highlighter-rouge">init.el</code> and remove anything I’m not using. I like to aim for about 100-120 lines of code on it. It’s an arbitrary number, but it makes it easy to know where things are whenever I change it. One of the drawbacks of Emacs is how fun and time consuming it can become to want to mess around with configurations, but that’s just procrastination so this limit is important to keep me in check.</p>

<p>Here are my notes on how I’m setting up Emacs for web development.</p>

<p>I’ve installed Emacs on macOS via the <a href="https://github.com/d12frosted/homebrew-emacs-plus">emacs-plus</a> homebrew recipe. I learned about it from Alvaro Ramirez’s <a href="https://xenodium.com/awesome-emacs-on-macos">Awesome Emacs on macOS</a> article.</p>

<h2 id="emacs-packages">Emacs packages</h2>

<ul>
  <li>
    <p><a href="https://web-mode.org/">web-mode.el</a></p>

    <blockquote>
      <p>web-mode.el is an autonomous emacs major-mode for editing web templates.</p>
    </blockquote>
  </li>
  <li>
    <p><a href="https://magit.vc/">magit</a></p>

    <blockquote>
      <p>Magit is a complete text-based user interface to Git. It fills the glaring gap between the Git command-line interface and various GUIs, letting you perform trivial as well as elaborate version control tasks with just a couple of mnemonic key presses.</p>

      <p>--Magit website</p>
    </blockquote>
  </li>
  <li>
    <p><a href="https://github.com/smihica/emmet-mode">emmet-mode.el</a></p>

    <p>This one is more of a habit / muscle memory from the old Atom editor days. It’s abbreviation expansion for HTML.</p>
  </li>
  <li>
    <p><a href="https://github.com/jscheid/prettier.el">prettier.el</a></p>

    <blockquote>
      <p>The <code class="language-plaintext highlighter-rouge">prettier</code> Emacs package reformats your code by running <a href="https://prettier.io/">Prettier</a> with minimal overhead, by request or transparently on file save.</p>
    </blockquote>
  </li>
</ul>

<h2 id="installing-prettier">Installing Prettier</h2>

<p>First I installed <code class="language-plaintext highlighter-rouge">npm</code> via homebrew:</p>

<p><code class="language-plaintext highlighter-rouge">$ brew install npm</code></p>

<p>Next, to get <code class="language-plaintext highlighter-rouge">prettier</code> to run in Emacs I installed it globally via npm:</p>

<p><code class="language-plaintext highlighter-rouge">$ npm i -g prettier@3.9.5</code></p>

<p>For Emacs to find the <code class="language-plaintext highlighter-rouge">node</code> executable, I had to update my <code class="language-plaintext highlighter-rouge">init.el</code>. This code synchronizes Emacs’s internal environment variables with my system user shell.</p>

<p><code class="language-plaintext highlighter-rouge">(exec-path-from-shell-initialize)</code></p>

<h2 id="file-based-mode-inits">File-based Mode Inits</h2>

<p>I’m sure I’ll update the list as I start working on other projects on this computer, but for now HTML and CSS is enough for this blog, so here’s what I added in my <code class="language-plaintext highlighter-rouge">init.el</code> to start <code class="language-plaintext highlighter-rouge">web-mode</code> when opening files with those extensions:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>;; File-based mode inits
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
(add-to-list 'auto-mode-alist '("\\.css?\\'" . web-mode))
</code></pre></div></div>

<p>There’s also a hook on <code class="language-plaintext highlighter-rouge">web-mode</code> to set some configuration and start the other minor modes:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>;; Hooks 
(add-hook 'web-mode-hook
	  (lambda ()
	    (display-line-numbers-mode 1)
	    (emmet-mode 1)
	    (prettier-mode 1)
	    (setq web-mode-markup-indent-offset 2)
	    (setq web-mode-css-indent-offset 2)
	    (define-key emmet-mode-keymap (kbd "TAB") 'emmet-expand-line)))
</code></pre></div></div>

<p>That’s it for now! :-)</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[New computer means new configuration from scratch! Since Emacs is the mainstay program I use across devices, I want to document how I’m doing web development with it right now.]]></summary></entry><entry xml:lang="es"><title type="html">Una computadora modesta</title><link href="https://enocc.com/2026/07/14/computadora-modesta.html" rel="alternate" type="text/html" title="Una computadora modesta" /><published>2026-07-14T00:00:00-07:00</published><updated>2026-07-14T00:00:00-07:00</updated><id>https://enocc.com/2026/07/14/computadora-modesta</id><content type="html" xml:base="https://enocc.com/2026/07/14/computadora-modesta.html"><![CDATA[<p>La compra de un nuevo dispositivo electrónico siempre ha significado un nuevo comienzo en mi vida digital. A lo largo de mi carrera he usado el mismo tipo de computadora: una laptop. De joven optaba por la portabilidad porque disfrutaba trabajar desde cafés en compañía de mis amigos. Ahora que trabajo desde mi oficina en casa, la portabilidad ya no es un factor importante, pero el hábito sigue ahí. Ayer por la tarde compré por primera vez una computadora desde que me gradué de la universidad. Opté por un MacBook Neo en color verde, con la configuración más básica. Alguna vez leí que el software moderno, a falta de optimizaciones como era costumbre en décadas pasadas, hará por defecto mal uso de la memoria: adquieres una laptop de un terabyte y las aplicaciones consumirán cada bit. Me rehuso a contribuir a ese despilfarro de recursos. En todo caso, mi trabajo consiste principalmente en editar textos y para todo lo demás uso aplicaciones web. Si los 8GB de RAM y 256GB de almacenamiento de esta computadora no son suficientes para mis necesidades como escritor y programador, algo estaré haciendo mal.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[La compra de un nuevo dispositivo electrónico siempre ha significado un nuevo comienzo en mi vida digital. A lo largo de mi carrera he usado el mismo tipo de computadora: una laptop. De joven optaba por la portabilidad porque disfrutaba trabajar desde cafés en compañía de mis amigos. Ahora que trabajo desde mi oficina en casa, la portabilidad ya no es un factor importante, pero el hábito sigue ahí. Ayer por la tarde compré por primera vez una computadora desde que me gradué de la universidad. Opté por un MacBook Neo en color verde, con la configuración más básica. Alguna vez leí que el software moderno, a falta de optimizaciones como era costumbre en décadas pasadas, hará por defecto mal uso de la memoria: adquieres una laptop de un terabyte y las aplicaciones consumirán cada bit. Me rehuso a contribuir a ese despilfarro de recursos. En todo caso, mi trabajo consiste principalmente en editar textos y para todo lo demás uso aplicaciones web. Si los 8GB de RAM y 256GB de almacenamiento de esta computadora no son suficientes para mis necesidades como escritor y programador, algo estaré haciendo mal.]]></summary></entry><entry><title type="html">On AI-enhanced Writing</title><link href="https://enocc.com/2026/04/09/on-ai-enhanced-writing.html" rel="alternate" type="text/html" title="On AI-enhanced Writing" /><published>2026-04-09T00:00:00-07:00</published><updated>2026-04-09T00:00:00-07:00</updated><id>https://enocc.com/2026/04/09/on-ai-enhanced-writing</id><content type="html" xml:base="https://enocc.com/2026/04/09/on-ai-enhanced-writing.html"><![CDATA[<p>Today Arun wrote <a href="https://arun.is/blog/ai-enhanced-writing/">a blog post</a> describing an AI-enhanced writing process which got me thinking about writing in general. The following is a response which I hope can create a respectful and thoughtful discussion about the nature of writing and our responsibility as humans when it comes to embracing these tools to create work meant to be read by others.</p>

<p>I want to start with some disclaimers: I am not interested in reading AI writing, and last year I expressed <a href="https://enocc.com/blog/2025-10-24-insulting-ai-writing.html">my feelings</a> about this. It got some traction on <a href="https://news.ycombinator.com/item?id=45722069">Hacker News</a> if you want to read more about that there.</p>

<p>I also want to acknowledge that my opinions on AI writing are influenced by having had the privilege of an education that heavily emphasized writing as a skill. I am eager to see technology democratizing communication, so this is a “thinking out loud” reflection on my own assumptions.</p>

<p>Let’s begin.</p>

<h2 id="structuring-thought">Structuring Thought</h2>

<p>Arun starts with two principles to get AI tools to enhance his writing:</p>

<blockquote>
  <p>Principle 1: don’t let the AI write any of my words</p>

  <p>Principle 2: don’t let the AI think for me</p>
</blockquote>

<p>The writing process begins with prompting Claude to create an outline of his ideas.</p>

<blockquote>
  <p>AI tools make this much easier now. I can copy-paste the raw notes into Claude and ask for variations: “Can you structure this into a three-part story?” or “Can you arrange this chronologically?” I keep prompting and tweaking until I have an outline I like. Then I ask for a final version, making sure it doesn’t lose any of my original ideas or add any of its own. The outline is still entirely my thinking — all the LLM has done is moved things around.</p>
</blockquote>

<p>This is the first part I reject. The moving things around is precisely what thinking and writing involves. It’s where ideas are born and cultivated, shaped to become what we have in mind. The rearranging of words to capture an incipient thought is the struggle and joy of being a writer. More precisely, this restructuring process violates the second principle.</p>

<p>To support this claim I offer this quote from Joan Didion from her article <a href="https://lithub.com/joan-didion-why-i-write/"><em>Why I Write</em></a>.</p>

<blockquote>
  <p>All I know about grammar is its infinite power. To shift the structure of a sentence alters the meaning of that sentence, as definitely and inflexibly as the position of a camera alters the meaning of the object photographed. Many people know about camera angles now, but not so many know about sentences. The arrangement of the words matters, and the arrangement you want can be found in the picture in your mind. The picture dictates the arrangement. The picture dictates whether this will be a sentence with or without clauses, a sentence that ends hard or a dying-fall sentence, long or short, active or passive. The picture tells you how to arrange the words and the arrangement of the words tells you, or tells me, what’s going on in the picture. <em>Nota bene:</em></p>

  <p>It tells you.</p>

  <p>You don’t tell it.</p>
</blockquote>

<p>The next step in the process describes the use of dictation tools and AI to clean it up. Henry James famously wrote this way and enough has been said about it. I agree that it can make writing more conversational and engaging.</p>

<h2 id="ai-critiques">AI Critiques</h2>

<p>Next, Arun writes the following:</p>

<blockquote>
  <p>With a draft in hand, the next step is to critically evaluate whether the words I’ve spoken actually convey what I was trying to say at the outline stage.</p>
</blockquote>

<p>I don’t believe software is capable of critical evaluation of human thought. Critical evaluation goes beyond the constraints and weights of a Large Language Model. It requires the cognitive and poetic sensibilities only we have. Let me offer an example.</p>

<p>In November of 1947, Frida Kahlo wrote a love letter to Mexican poet Carlos Pellicer, where she muses on the creation of new verbs.</p>

<blockquote>
  <p>Can verbs be invented? I want to give you one: I <em>heaven</em> you, this way my wings open wide to love you boundlessly.</p>
</blockquote>

<p>Here it is in the original Spanish:</p>

<blockquote>
  <p>¿Se pueden inventar verbos? Quiero decirte uno: yo te <em>cielo</em>, así mis alas se extienden enormes para amarte sin medida.</p>
</blockquote>

<p>Let’s take ChatGPT for a spin on this construction. Want to know how it responds to Frida Kahlo?</p>

<blockquote>
  <p>1. “Quiero decirte uno” is slightly clunky. It breaks the poetic flow a bit.</p>

  <p>2. “Para amarte sin medida” is beautiful but also more conventional. The earlier imagery is more original.</p>
</blockquote>

<p>In matters of taste, we can’t shortcut our way to developing sound value judgments. This ability remains a human faculty. And I want to clarify that this goes beyond literature and poetry. You might think technical documents or something simpler like a blog post don’t require aesthetic refinement.</p>

<p>To this I ask: if that’s the case, then why seek critique at all? If it truly doesn’t matter (I think it does) then why seek feedback?</p>

<p>And for those of us who enjoy technical writing, surely we don’t think this genre is devoid of aesthetics? Anyone who has read <em>The C Programming Language</em> by Brian Kernighan and Dennis Ritchie knows how important good, elegant and economical writing is to the sciences.</p>

<p>We seek feedback and critiques to become better writers. We want to make our ideas clear for others. My point is that if the goal is to improve our communication skills when what we have to say is meant for other humans to understand, then we necessarily must request feedback from humans.</p>

<h2 id="editing">Editing</h2>

<p>The last step in Arun’s process involves editing by hand.</p>

<blockquote>
  <p>From there, I write a short list in Notion of the structural changes I want to make, and then I go through and do all of it by hand. Writing by hand forces me consider the high-level ideas and how they translate at the sentence level. It also keeps me practice critical thinking and writing, which are ultimately why I write in the first place.</p>
</blockquote>

<p>But what is being edited in this case? Is it not the AI’s interpretation of your ideas, rather than the fruit of your labor as a writer?</p>

<p>Arun concludes with this:</p>

<blockquote>
  <p>The tools feel like amplifiers now. And this process leaves me confident that I’m not falling into the trap I fell into before, where I was letting AI do the thinking and writing for me.</p>
</blockquote>

<h2 id="why-i-care">Why I Care</h2>

<p>Why does this matter, and why do I care?</p>

<p>I care because it seems as though the trap of not letting AI do the writing is still there. It will always remain as long as we continue to give it our trust in matters of taste. The web can help us come across the thoughts and ideas of others who also believe in the power of technology in service of human goals. I trust that when someone replies to something I write it’s because they took the time to read it. But I also take the time to read what you write because I trust that you wrote it.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Today Arun wrote a blog post describing an AI-enhanced writing process which got me thinking about writing in general. The following is a response which I hope can create a respectful and thoughtful discussion about the nature of writing and our responsibility as humans when it comes to embracing these tools to create work meant to be read by others.]]></summary></entry><entry><title type="html">Homebrew Website Club Meeting</title><link href="https://enocc.com/2026/04/02/homebrew-website-club-meeting.html" rel="alternate" type="text/html" title="Homebrew Website Club Meeting" /><published>2026-04-02T00:00:00-07:00</published><updated>2026-04-02T00:00:00-07:00</updated><id>https://enocc.com/2026/04/02/homebrew-website-club-meeting</id><content type="html" xml:base="https://enocc.com/2026/04/02/homebrew-website-club-meeting.html"><![CDATA[<p>Last night I attended the Indieweb’s Homebrew Website Club Meeting! It was lots of fun and I learned a lot more about Webmentions and the <code class="language-plaintext highlighter-rouge">human.json</code> <a href="https://robida.net/entries/2026/03/08/the-humanjson-protocol">protocol</a> Beto Dealmeida wrote in the past weeks.</p>

<p><img src="/assets/images/indieweb-meeting.jpg" alt="Indieweb Homebrew Website Club" /></p>

<h2 id="website-changes">Website Changes</h2>

<p>A few months ago I asked on Mastodon about integrating Webmentions and Gerben Jacobs was kind enough to write <a href="https://gerben.dev/posts/webmention-explanation">a guide</a> as a reply. At the time I was using Jekyll for generating my website but I’ve since then moved everything over to a new VPS where I’m writing all the code by hand.</p>

<p>I’ve been relying on Emacs for regex-based search and replace, which has actually helped with “templating”. I’ll continue experimenting with the backend here before implementing any major changes, but it’s nice to have these references as I slowly begin integrating more features. I’ve been wanting to write PHP for simple CGI-style scripts for a while, my time on the Gemini protocol lately has made it more exciting to return to a more classic setup (think nginx + rsync), and any excuse to break out Emacs is always welcome.</p>

<p><img src="/assets/images/emacs-blogging.webp" alt="Emacs Blog Post" /></p>

<p><a href="https://burgeonlab.com">Naty</a> also told me about <a href="https://getindiekit.com">Indiekit</a>, a Node.js server with ready-to-go configuration for Indieweb publishing and syndication tools. I’m bookmarking this resource!</p>

<h2 id="rss-feeds">RSS Feeds</h2>

<p>One of the things that became clearer as I receive more emails from people wanting to join powRSS, especially those who build their websites without static site generators on web hosts like Neocities, is not knowing how to get an RSS feed in the first place.</p>

<p>On Jekyll, for example, my feed was built for me any time I wrote a new post. But put yourself in the shoes of someone who is building their site slowly, progressively, equipped only with HTML and CSS. What do you do?</p>

<p>To better understand the painpoints of maintaining a website as simply as possible, I’ve also been writing my RSS feed by hand. I found an excellent guide called <a href="https://rss-list.neocities.org/resources/atom-from-scratch">An Atom feed from scratch</a>.</p>

<p>At this time I’m only adding links to new posts. I know some of you like reading everything in your RSS readers. Sorry!</p>

<h2 id="hermes">Hermes</h2>

<p>Speaking of RSS feeds and PHP, I want to briefly mention a project I’ve been working on called Hermes. Early in January I watched <em>Downton Abbey</em> and I kept thinking how cool it must have been to sit down with a newspaper and read the daily news with a cup of coffee. This is obviously possible with any RSS reader, but I was primarily excited about the multi-column form factor for each link, as I do most of my reading on my desktop and I prefer visiting sites for each post.</p>

<p><img src="/assets/images/hermes.webp" alt="Hermes Web Reader" /></p>

<p>This is just a toy project and an excuse to write some cowboy code in PHP :-)</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Last night I attended the Indieweb’s Homebrew Website Club Meeting! It was lots of fun and I learned a lot more about Webmentions and the human.json protocol Beto Dealmeida wrote in the past weeks.]]></summary></entry><entry><title type="html">powRSS Mastodon Account</title><link href="https://enocc.com/2026/01/23/powrss-mastodon-account.html" rel="alternate" type="text/html" title="powRSS Mastodon Account" /><published>2026-01-23T00:00:00-08:00</published><updated>2026-01-23T00:00:00-08:00</updated><id>https://enocc.com/2026/01/23/powrss-mastodon-account</id><content type="html" xml:base="https://enocc.com/2026/01/23/powrss-mastodon-account.html"><![CDATA[<p>I’ve written a little script for the <a href="https://mastodon.social/@powRSS">powRSS Mastodon account</a> to find posts from the Random section on the <a href="https://powrss.com">main site</a>. The idea is to bring visibility to older blogs which may not have published recently.</p>

<p>This in turn means you can now follow powRSS in your RSS reader for the occasional low-frequency dip into indieweb discovery.</p>

<p>Simply add <code class="language-plaintext highlighter-rouge">.rss</code> to the end of any Mastodon handle to get its RSS feed.</p>

<p>Here is the one for powRSS: <a href="https://mastodon.social/@powRSS.rss">https://mastodon.social/@powRSS.rss</a></p>

<p>P.S. For other RSS feed formats check out Joe’s collection of patterns at the <a href="https://smorgasborg.artlung.com/feed-patterns/">ArtLung</a> blog.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[I’ve written a little script for the powRSS Mastodon account to find posts from the Random section on the main site. The idea is to bring visibility to older blogs which may not have published recently.]]></summary></entry><entry xml:lang="es"><title type="html">El lujo del provincialismo</title><link href="https://enocc.com/2026/01/20/el-lujo-del-provincialismo.html" rel="alternate" type="text/html" title="El lujo del provincialismo" /><published>2026-01-20T00:00:00-08:00</published><updated>2026-01-20T00:00:00-08:00</updated><id>https://enocc.com/2026/01/20/el-lujo-del-provincialismo</id><content type="html" xml:base="https://enocc.com/2026/01/20/el-lujo-del-provincialismo.html"><![CDATA[<p>La saturación de información en los medios de comunicación hoy en día ha hecho del provincialismo un lujo. El ciudadano promedio en cualquier país desarrollado se mantiene moderadamente «informado» de lo que ocurre en el mundo. Tiene una idea vaga del genocidio del pueblo palestino a manos del ejército israelí, de las protestas en Irán, de la invasión rusa en Ucrania, del militarismo de la policía migratoria en Minnesota. Cada vez los noticieros y las redes sociales nos muestran una crisis, un desastre, una injusticia, una desgracia. Esto, por supuesto, produce ciudadanos ansiosos, cansados y deprimidos. ¿Qué debe hacer uno frente a tanto dolor?</p>

<p>A los medios de comunicación les conviene económicamente que la ciudadanía se mantenga emocionalmente exhausta. Nuestra empatía es instrumentalizada hasta el agotamiento, haciéndonos pensar que la única manera de efectuar un cambio en nuestro entorno es a través de nuestros hábitos de consumo. ¿Quieres ayudar a tu comunidad? Compra producto X, porque comprar Y o Z perjudica a tal o cual grupo.</p>

<p>La realidad no es tan drástica. Son muy pocas cosas las que verdaderamente precisan nuestra atención, entre ellas nuestra salud, nuestros seres queridos, nuestras responsabilidades inmediatas en el hogar y el trabajo… y ya. Todo lo demás es sobrecarga informativa.</p>

<p>En otros tiempos lo más anhelado era ser cosmopolita. ¡Qué halago que así nos llamasen!</p>

<p>Hoy en día es un lujo que nuestra atención sea dedicada a una comunidad inmediata. Lo curioso es que si así fuera en todos lados, los cambios positivos comenzarían a manifestarse inevitablemente.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[La saturación de información en los medios de comunicación hoy en día ha hecho del provincialismo un lujo. El ciudadano promedio en cualquier país desarrollado se mantiene moderadamente «informado» de lo que ocurre en el mundo. Tiene una idea vaga del genocidio del pueblo palestino a manos del ejército israelí, de las protestas en Irán, de la invasión rusa en Ucrania, del militarismo de la policía migratoria en Minnesota. Cada vez los noticieros y las redes sociales nos muestran una crisis, un desastre, una injusticia, una desgracia. Esto, por supuesto, produce ciudadanos ansiosos, cansados y deprimidos. ¿Qué debe hacer uno frente a tanto dolor?]]></summary></entry><entry><title type="html">The year 2025 for powRSS</title><link href="https://enocc.com/2025/12/14/powrss-wrapped.html" rel="alternate" type="text/html" title="The year 2025 for powRSS" /><published>2025-12-14T00:00:00-08:00</published><updated>2025-12-14T00:00:00-08:00</updated><id>https://enocc.com/2025/12/14/powrss-wrapped</id><content type="html" xml:base="https://enocc.com/2025/12/14/powrss-wrapped.html"><![CDATA[<p>One of the fun side projects I’ve taken on this year has been <a href="https://powrss.com">powRSS</a>, the public RSS feed aggregator for the Indieweb.</p>

<p>As 2025 comes to a close, I want to put together a summary of the things that went on. I’m a strong believer of building in public, and that includes talking about the goals, successes and failures.</p>

<p>Here is how powRSS did this year, from May 21st when it launched to today, December 14th.</p>

<h2 id="community-numbers">Community Numbers</h2>

<table>
		<thead>
		    <tr>
			<th>Metric</th>
			<th>Count</th>
		    </tr>
		</thead>
		<tbody>
		    <tr>
			<td>New Blogs</td>
			<td>324</td>
		    </tr>
		    <tr>
			<td>Posts Served</td>
			<td>15,812</td>
		    </tr>
		</tbody>
	    </table>

<h2 id="costs">Costs</h2>

<table>
		<thead>
		    <tr>
			<th>Item</th>
			<th>Amount (USD)</th>
		    </tr>
		</thead>
		<tbody>
		    <tr>
			<td colspan="2"><strong>Community Support</strong></td>
		    </tr>
		    <tr>
			<td><a href="https://ko-fi.com/powrss">Ko-Fi</a></td>
			<td style="color:#0c8f5d;"><strong>+$101.00</strong></td>
		    </tr>
		    <tr>
			<td colspan="2"><strong>Expenses</strong></td>
		    </tr>
		    <tr>
			<td>Domain</td>
			<td>−$11.06</td>
		    </tr>
		    <tr>
			<td>Hosting</td>
			<td>−$73.44</td>
		    </tr>
		    <tr>
			<td>Formspree</td>
			<td>−$120.00</td>
		    </tr>
		    <tr>
			<td><strong>Total expenses</strong></td>
			<td><strong>−$204.50</strong></td>
		    </tr>
		    <tr>
			<td><strong>Net operating cost</strong></td>
			<td><strong style="color:#e21249;">−$103.50</strong></td>
		    </tr>
		</tbody>
	    </table>

<p>Thank you so much to all of you who helped support this project! It’s so rewarding to see the response it has gotten in the eight months it has been running.</p>

<p>I’m excited about what the next year has in store for us!</p>

<h2 id="origin">Origin</h2>

<p>On Friday May 21, Fred Rocha wrote a blog post titled <a href="https://fredrocha.net/2025/05/21/small-web-is-beautiful/">Small (web) is beautiful</a> in which he talked about digital gardens, the indieweb, and the challenge of discovering new sites and independent voices to follow.</p>

<p>I <a href="https://enocc.com/2025/05/23/discovery-tools-for-independent-websites.html">replied</a> to him with a blog post where I put together some of the resources I knew about like Andreas Gohr’s <a href="https://indieblog.page/">Indieblog.page</a> and Viktor Lofgren’s <a href="https://marginalia-search.com/">Marginalia Search</a>.</p>

<p>During this time I had been wanting to get back into the Gemini Protocol, as that project was what introduced me to the small and personal web about five years ago. I loved the ethos and the community aspect of it all. When documentation wasn’t available to achieve something, I knew I could ask for help and many kind folks would be glad to offer advice.</p>

<p>That evening I put together a quick proof of concept written in Ruby and <a href="https://enocc.com/2025/05/24/launching-powrss.html">launched</a> the following morning. I find that the desire to help and build together remains true today with Indieweb communities, and I’m grateful for the comments, advice, and feedback I’ve received about powRSS since it launched.</p>

<p><img src="/assets/images/powrss-debut.png" alt="early powRSS concept" /></p>

<p>This version was a static page, set to rebuild every 12 hours with new posts from its list of known feeds. It’s actually very similar to the way <a href="https://lettrss.com">lettrss</a> works to send out each book chapter :-)</p>

<h2 id="categories">Categories</h2>

<p>During this time all blog submissions were handled via e-mail. I added my e-mail address to my blog and when people came across the project they’d send me links to their RSS feeds.</p>

<p>About a week later, as more people began submitting their blogs to be added to the feed, I decided to add categories and a dedicated submissions form.</p>

<p><img src="/assets/images/powrss-redesign.png" alt="powRSS redesign" /></p>

<p>powRSS redesign</p>

<h2 id="youve-got-mail">You’ve got mail!</h2>

<p>On the afternoon of my birthday, May 31, I came across a post from Joan Westenberg:</p>

<blockquote>
  <p>Independent sites who don’t have the resources to compete with major platforms in visibility and search rankings, lose traffic and, consequently, viability. As a result, entire categories of information and smaller communities become less accessible, hidden behind the algorithms of the dominant, bloated tech giants.</p>
</blockquote>

<p>I took this quote and shared a link to powRSS on Mastodon, and this is where things got even more exciting!</p>

<blockquote class="mastodon-embed" data-embed-url="https://mastodon.social/@enocc/114604749548949161/embed" style="background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;"> <a href="https://mastodon.social/@enocc/114604749548949161" target="_blank" style="align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z" fill="currentColor" /></svg> <div style="color: #787588; margin-top: 16px;">Post by @enocc@mastodon.social</div> <div style="font-weight: 500;">View on Mastodon</div> </a> </blockquote>

<script data-allowed-prefixes="https://mastodon.social/" async="" src="https://mastodon.social/embed.js"></script>

<p>Westenberg, who has 30k followers, made powRSS visible to a lot more people, and that meant receiving way more submissions and responding to new kinds of feedback.</p>

<p>One of the first great suggestions came from <a href="https://thatalexguy.dev">Alex White</a> who sent me a message suggesting the addition of a “Random site” feature like StumbleUpon. That seemed really fun to implement, so I wrote <a href="/blog/2025-05-30-random-on-powrss.html">another blog post</a> announcing the new feature.</p>

<p><img src="/assets/images/powrss-new-random.png" alt="powRSS with Random site feature" /></p>

<p>With more blogs being added to powRSS, I began spending more time going through submissions. It’s important to me that powRSS remains a space for human creativity, independent voices, and the serendipity of coming across people who, like you, understand that the web is indeed beautiful. The things we read and interact with inform our decisions and strengthen our convictions, so cultivating a space that enables this type of discovery matters.</p>

<p>Today I continue to manually review all submissions. I like knowing that every link on powRSS takes me to the website of another person who took the time and care to build out a space for themselves on the internet. My absolute favorite part of this project has been discovering blogs I would have never come across otherwise and having conversations with those authors.</p>

<h2 id="design-changes">Design Changes</h2>

<p>Around November I wanted to give powRSS a more retro feel to better reflect its mission.</p>

<p><img src="/assets/images/powrss-retro.png" alt="powRSS retro design" /></p>

<p>In this design the two-column layout on desktop was important because I wanted those recently-added blogs to also have some discoverability. As you can imagine, some authors write more frequently than others. Some of you write every few months, and if you were to add your blog to powRSS without a recent blog post, it could take a while before others knew about your blog.</p>

<p>The “new to powRSS” column made it easy to find blogs which maybe didn’t have recent posts but you also knew were being actively maintained, since each addition to powRSS requires the manual submission from its author. Indeed, some of you told me you felt more excited about blogging again knowing that your posts were definitely going to be seen by others!</p>

<p>As you can see, powRSS no longer had categories like before. I thought a while before getting rid of them, and I think in retrospect it was a mistake, so I brought them back with a twist. I do want to explain my reasoning though.</p>

<p>By giving blogs a strict category, we end up pigeonholing authors, especially those who have personal sites. I love seeing personal stories along with pictures of a trip or the last book you read even if your blog is mainly about programming or photography or sports. The whole point of the personal blog is to have that freedom.</p>

<p>“Can I still share pictures of my dog if I’m in the Technology category?” was a question I received, so I realized site-wide categories weren’t the way to go. However, there is of course a benefit to knowing about the blog you’re about to visit, so I chose a happy middle ground by adding brief category labels below each blog.</p>

<p>This was added in time for the Winter redesign I launched at the beginning of December.</p>

<p>Here is what powRSS looks like today:</p>

<p><img src="/assets/images/powrss-today.png" alt="powRSS today" /></p>

<p>Thank you all for making the web more exciting, more vibrant, and more human. Have an excellent rest of the year!</p>

<p>Grateful,<br />
Pablo Enoc</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[One of the fun side projects I’ve taken on this year has been powRSS, the public RSS feed aggregator for the Indieweb.]]></summary></entry><entry><title type="html">Lost Media: Konpeito Tapes</title><link href="https://enocc.com/2025/12/10/konpeito-media.html" rel="alternate" type="text/html" title="Lost Media: Konpeito Tapes" /><published>2025-12-10T00:00:00-08:00</published><updated>2025-12-10T00:00:00-08:00</updated><id>https://enocc.com/2025/12/10/konpeito-media</id><content type="html" xml:base="https://enocc.com/2025/12/10/konpeito-media.html"><![CDATA[<p><img src="/assets/images/konpeito.webp" alt="Konpeito Media Winter 2021 Cover" /></p>

<p>In the winter of 2021 I discovered a Gemini capsule called Konpeito Media.</p>

<blockquote>
  <p>KONPEITO was quarterly Lo-fi hip hop &amp; chill bootleg mixtapes, distributed exclusively through the Gemini protocol. Each tape was a half-hour mix, clean on side A and repeated on side B with an added ambient background noise layer for atmosphere. Tapes were generally released in the first week of each meteorological season.</p>

  <p>KONPEITO ended in the Winter of 2022.</p>
</blockquote>

<p>The project no longer exists, but I found a mirror capsule here:</p>

<p>&lt;<a href="gemini://gem.chiajlingvoj.ynh.fr/konpeito/konpeito_media_mirror.gmi">gemini://gem.chiajlingvoj.ynh.fr/konpeito/konpeito_media_mirror.gmi</a>&gt;</p>

<p>I saved a few of these mixtapes to my computer back then, and I always find myself coming back to the Winter 2021 tape. It’s great to set as background music on blue winter evenings when I find myself writing for long periods of time.</p>

<p>Konpeito Media had a deliberate end when its author felt it ran its course. Often we see blogs or projects abandoned, that’s normal, but rarely do we see a two-year project where the author acknowledges that it’s time to wrap things up and move on to other things.</p>

<p>Konpeito on <a href="https://tilde.zone/@konpeito/107656535146637034">Mastodon</a> - January 20, 2022:</p>

<blockquote>
  <p>After some soul-searching, I’ve decided to call the KONPEITO project done. I know y’all were fiending for the new tape but it seems like there’s always something else diverting my attention and that’s usually a really good sign my heart isn’t in it.</p>

  <p>The capsule will stay up indefinitely and I’ll make sure you have notice before I take it down.</p>

  <p>I’ll have one more tape up before I do, to say thank you to everyone who’s listened and everyone who’s shone light on the Gemini project.</p>

  <p>Be well.</p>
</blockquote>

<p>This project is one of my favorite pieces of internet history.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[]]></summary></entry><entry xml:lang="es"><title type="html">Ejes de gravedad</title><link href="https://enocc.com/2025/12/10/ejes-de-gravedad.html" rel="alternate" type="text/html" title="Ejes de gravedad" /><published>2025-12-10T00:00:00-08:00</published><updated>2025-12-10T00:00:00-08:00</updated><id>https://enocc.com/2025/12/10/ejes-de-gravedad</id><content type="html" xml:base="https://enocc.com/2025/12/10/ejes-de-gravedad.html"><![CDATA[<p>Hoy decidí leer un poco de mi diario del año pasado. Esto lo escribí el 8 de marzo de 2024.</p>

<blockquote>
  <p>La primera semana de enero no dura lo mismo que la última semana del año, eso lo sabe P y todo el mundo. Dispersos entre los trescientos sesenta y cinco días del año hay ejes de gravedad, fechas entorno a las que giran las temporadas, que guían el camino de nuestra voluntad como un barquito de papel que navega a través de un océano de incertidumbre.</p>
</blockquote>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Hoy decidí leer un poco de mi diario del año pasado. Esto lo escribí el 8 de marzo de 2024.]]></summary></entry><entry><title type="html">People and Cyberspace</title><link href="https://enocc.com/2025/12/01/people-and-cyberspace.html" rel="alternate" type="text/html" title="People and Cyberspace" /><published>2025-12-01T00:00:00-08:00</published><updated>2025-12-01T00:00:00-08:00</updated><id>https://enocc.com/2025/12/01/people-and-cyberspace</id><content type="html" xml:base="https://enocc.com/2025/12/01/people-and-cyberspace.html"><![CDATA[<h1 id="people-and-cyberspace">People and Cyberspace</h1>

<p>Monday 01 December 2025</p>

<p>Ava published <a href="https://blog.avas.space/connectivity/">a great piece</a> on the way social media platforms exploit our desire for human connection.</p>

<blockquote>
  <p>Which is why the need for connectivity in the way these companies mean it and push it is a big lie just to further their financial interests and has nothing to do with how humans actually pursue, facilitate and experience true connection, and we need to question it.</p>
</blockquote>

<p>Below are some scattered thoughts on this topic and the relationship between us and cyberspace.</p>

<p>In the fall of 2021 I had the pleasure of taking <a href="https://amyreedsandoval.com/">Amy Reed-Sandoval</a>’s seminar on the Ethics of Privacy and Surveillance. Philosopher <a href="https://www.cecilefabre.com/">Cécile Fabre</a> even gave a guest lecture on the ethics of <em>espionage</em>, clarifying for us that what governments and platforms were doing with our data was exactly that.</p>

<p>This was after things began picking up in the US following the pandemic, and as most of us had gotten used to spending a considerable part of our days online, it seemed particularly relevant to understand what privacy and surveillance meant in the context of working, studying, socializing, and <em>being</em> online.</p>

<p>During this time I conceived of the digital world as an extension of the environments with which we interact. I didn’t believe digital personas to be an alter ego, I saw them as one more form of self-expression.</p>

<p>There are of course different attitudes regarding the relationship between the physical world and cyberspace.</p>

<p>For example, Ava goes on to write:</p>

<blockquote>
  <p>I can only speak for myself, but the reason why I would be able to be completely alone, unread and ignored online is because I already get all the connection I need offline. Online is a bonus, or a fallback. Not to mention that it could overlap and only my offline relationships could read my blog. Would that not be enough?</p>
</blockquote>

<p>Yes, that is exactly what we should be doing! <strong>Identifying how each of us inhabits cyberspace is the key</strong> to setting boundaries, managing expectations, and maintaining a good balance between the physical world and cyberspace. And these can look different for each of us, and we don’t have to agree, because the relationship between the individual and the digital world is cultivated by each person. I would call these “real life” and “the internet” or something along those lines, but I think that falls short. We have to acknowledge that for some folks, whether it be by choice or circumstance, cyberspace is a real, <em>habitable</em> environment.</p>

<p>This is why people defend freedom of speech online, along with privacy, encryption, and the infrastructure which makes it all possible. All of these are fundamental so you can even begin establishing a relationship with cyberspace on your own terms.</p>

<p>If we are to reconcile the differences between the physical and digital worlds, we must start by recognizing the strengths and weaknesses of each one <em>as they pertain to the individual</em>.</p>

<p>We will disagree on what these are, however, which is one of the reasons why we constantly see new articles and posts in which people analyze their own relationship to technology and proceed to make sweeping, normative declarations on what we <em>ought</em> to do <a href="https://en.wikipedia.org/wiki/Is%E2%80%93ought_problem">because</a> of the way things <em>are</em>. No one is exempt from this, and in fact these are helpful to read because the experiences of others broaden our options and inform our opinions. I’m thinking for example of posts where we may talk about how we use e-mail, or how we use RSS, or why we quit Instagram, so on and so forth.</p>

<p>In the spirit of learning more about these topics, I want to share with you some of the readings from that seminar. They’re grouped by topic, and this list is certainly not exhaustive, but it’s a good way to learn about what work is being done to identify and engage with issues pertaining to the relationship between people and cyberspace. These readings had a big influence on how I began to think about technology and the role I let it play in my life. And it’s only going to get more interesting as the future comes closer to us.</p>

<p><br /></p>

<details>
<summary>The Ethics of Privacy and Surveillance</summary>

<h2>Section I: Practices of Privacy, Secrecy, and Revelation</h2>

<h3>Secrets</h3>
<ul>
    <li>Sissela Bok, <em>Secrets: On the Ethics of Secrecy and Revelation</em> <a href="https://www.penguinrandomhouse.com/books/15607/secrets-by-sissela-bok/">[Book]</a></li>
    <li>Cécile Fabre, <em>The Morality of Gossip</em> <a href="https://www.cecilefabre.com/uploads/1/3/6/4/13640562/fabre_morality_of_gossip.pdf">[PDF]</a></li>
</ul>

<h3>Privacy and Work</h3>
<ul>
    <li>Matt Lister, <em>That's None of Your Business! On the Limits of Employer Control of Non-Workplace Behavior</em> <a href="https://www.cambridge.org/core/services/aop-cambridge-core/content/view/E720E9EF18BC89DFA6E4643CDDA15A49/S0841820922000066a.pdf/thats-none-of-your-business-on-the-limits-of-employer-control-of-employee-behavior-outside-of-working-hours.pdf">[PDF]</a></li>
    <li>Elizabeth Anderson, <em>Private Government: How Employers Rule Our Lives (and Why We Don't Talk About It)</em> <a href="https://press.princeton.edu/books/hardcover/9780691176512/private-government">[Book]</a></li>
</ul>

<h3>Physical Privacies</h3>
<ul>
    <li>Anita Allen, <em>Unpopular Privacies: What Must We Hide?</em> <a href="https://academic.oup.com/book/9360?login=false">[Book]</a></li>
    <li>Katie Engelhart, <em>What Robots Can—and Can’t—Do for the Old and Lonely</em> <a href="https://www.newyorker.com/magazine/2021/05/31/what-robots-can-and-cant-do-for-the-old-and-lonely">[Article]</a></li>
</ul>

<h3>Privacy and Revelation on the Internet: Meta</h3>
<ul>
    <li>Dana Boyd and Eszter Hargittai, <em>Facebook Privacy Settings: Who Cares?</em> <a href="https://www.zephoria.org/thoughts/archives/2010/07/28/facebook-privacy-settings-who-cares.html">[Author Blog]</a></li>
    <li>Andrew Marantz, <em>Why Facebook Can't Fix Itself</em> <a href="https://www.newyorker.com/magazine/2020/10/19/why-facebook-cant-fix-itself">[Article]</a></li>
    
</ul>

<h3>Gender, Privacy, and the Internet</h3>
<ul>
    <li>Anita Allen, <em>Gender and Privacy in Cyberspace</em> <a href="https://scholarship.law.upenn.edu/cgi/viewcontent.cgi?article=1788&amp;context=faculty_scholarship">[PDF]</a></li>
</ul>

<h3>Sovereignty and Privacy</h3>
<ul>
	<li>Carissa Véliz, <em>Privacy is Power: Why and How You Should Take Back Control of Your Data</em> <a href="https://www.penguinrandomhouse.com/books/673341/privacy-is-power-by-carissa-veliz/">[Book]</a></li>
    <li>Marisa Elena Duarte, <em>Network Sovereignty: Building the Internet Across Indian Country</em> <a href="https://uwapress.uw.edu/book/9780295741826/network-sovereignty/">[Book]</a></li>
</ul>

<h2>Section II: State Surveillance</h2>

<h3>Policing</h3>
<ul>
    <li>Cécile Fabre, <em>Spying Through a Glass Darkly: The Ethics of Espionage and Counter-Intelligence</em> <a href="https://academic.oup.com/book/38884?login=false">[Book]</a></li>
    <li>Michelle Goldwin, <em>Policing the Womb, Invisible Women and the Criminalization of Motherhood</em> <a href="https://www.cambridge.org/core/books/policing-the-womb/F3D40E0FECEEA350EA9594D973B08224">[Book]</a></li>
    <li>Amy Reed-Sandoval, <em>Socially Undocumented: Identity and Immigration Justice</em> <a href="https://academic.oup.com/book/33567?login=false">[Book]</a></li>
    <li>Gloria Anzaldúa, <em>Borderlands/La Frontera, The New Mestiza</em> <a href="https://en.wikipedia.org/wiki/Borderlands/La_Frontera%3A_The_New_Mestiza">[Book]</a></li>
    <li>José Jorge Mendoza, <em>The Contradiction of Crimmigration</em> <a href="https://cdn.ymaws.com/www.apaonline.org/resource/collection/60044C96-F3E0-4049-BC5A-271C673FA1E5/HispanicV17n2.pdf">[PDF]</a></li>
    
</ul>
</details>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[People and Cyberspace]]></summary></entry><entry><title type="html">You can read the web in seasons</title><link href="https://enocc.com/2025/11/12/read-web-seasonally.html" rel="alternate" type="text/html" title="You can read the web in seasons" /><published>2025-11-12T00:00:00-08:00</published><updated>2025-11-12T00:00:00-08:00</updated><id>https://enocc.com/2025/11/12/read-web-seasonally</id><content type="html" xml:base="https://enocc.com/2025/11/12/read-web-seasonally.html"><![CDATA[<p>What if you read things around the web the way you watch movies or listen to music?</p>

<p>A couple of days ago I made a post on Mastodon introducing <a href="https://letrss.com">lettrss.com</a>, a project that takes a book in the public domain and sends one chapter a day to your RSS reader.</p>

<p><a href="https://mastodon.coffee/@xinit/115529864649649666">Xinit</a> replied with a great point about RSS feed management:</p>

<blockquote>
  <p>This is fascinating, but I know how it would go based on the thousands of unread RSS feeds I’ve had, and the thousands of unheard podcasts I subscribed to. I’d end up with an RSS of unread chapters, representing a whole book in short order.</p>

  <p>Regardless of my inability to deal, it remains a great idea, and I will absolutely recommend while hiding my shame of a non-zero inbox.</p>
</blockquote>

<p>When I first started using RSS, I thought I’d found this great tool for keeping tabs on news, current events, and stuff I <em>should</em> and <em>do</em> care about.</p>

<p>After adding newspapers, blogs, magazines, publications, YouTube channels and release notes from software I use, I felt a false sense of accomplishment, like I’d finally been able to wrangle the craziness of the internet into a single app, like I had rebelled against the algorithm™️.</p>

<p>But it didn’t take long to accumulate hundreds of posts, most of which I had no true desire to read, and soon after I abandoned my RSS reader. I came back to check on it from time to time, but its dreadful little indicator of unread posts felt like a personal failure, so eventually I deleted it entirely.</p>

<p>Will Hopkins wrote a great post on this exact feeling.</p>

<p><a href="https://willhopkins.dev/i-dont-like-to-read-later/">I don’t actually like to read later</a>:</p>

<blockquote>
  <p>I used Instapaper back in the day, quite heavily. I built up a massive backlog of items that I’d read occasionally on my OG iPod Touch. At some point, I fell off the wagon, and Instapaper fell by the wayside.</p>

  <p>[…] The same thing has happened with todo apps over the years, and feed readers. They become graveyards of good intentions and self-imposed obligations. Each item is a snapshot in time of my aspirations for myself, but they don’t comport to the reality of who I am.</p>
</blockquote>

<p>I couldn’t have said it better myself. This only happens with long-form writing, whenever I come across an essay or blog post that I know will either require my full attention or a bit more time than I’m willing to give it in the moment.</p>

<p>I’ve never had that issue with music. Music is more discrete. It’s got a timestamp. I listen to music through moods and seasons, so much so that I make a playlist for every month of the year like a musical scrapbook.</p>

<p>What if we took this approach to RSS feeds?</p>

<p>Here’s what I replied to Xinit:</p>

<blockquote>
  <p>This is something I find myself struggling with too.</p>

  <p>I think I’m okay knowing some RSS feeds are seasonal, same as music genres throughout the year. Some days I want rock, others I want jazz.</p>

  <p>Similarly with RSS feeds, I’ve become comfortable archiving and resurfacing feeds.</p>
</blockquote>

<p>For reference, I follow around 10 feeds at any given time, and the feeds I follow on my phone are different from the ones on my desktop.</p>

<p>You shouldn’t feel guilty about removing feeds from your RSS readers. It’s not a personal failure, it’s an allocation of resources like time and attention.</p>

<hr />

<h3 id="discussion">Discussion</h3>

<p>Will Hopkins - <a href="https://willhopkins.dev/seasonal-reading/">Seasonal Reading</a></p>

<p><br /></p>

<h3 id="further-reading">Further Reading</h3>

<p>Marco Arment, <a href="https://marco.org/2011/09/04/sane-rss-usage">Sane RSS Usage</a>:</p>

<blockquote>
  <p>RSS is a great tool that’s very easy to misuse. And if you’re subscribing to any feeds that post more than about 10 items per day, you’re probably misusing it. I don’t mean that you’re using it in a way it wasn’t intended — rather, you’re using it in a way that’s not good for you.</p>
</blockquote>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[What if you read things around the web the way you watch movies or listen to music?]]></summary></entry><entry><title type="html">It’s Insulting to Read Your AI Writing</title><link href="https://enocc.com/2025/10/24/insulting-ai-writing.html" rel="alternate" type="text/html" title="It’s Insulting to Read Your AI Writing" /><published>2025-10-24T00:00:00-07:00</published><updated>2025-10-24T00:00:00-07:00</updated><id>https://enocc.com/2025/10/24/insulting-ai-writing</id><content type="html" xml:base="https://enocc.com/2025/10/24/insulting-ai-writing.html"><![CDATA[<p style="margin-block: 2rem; color: var(--color-text-secondary);"><small>See the <a href="https://news.ycombinator.com/item?id=45722069">Hacker News</a> discussion.</small></p>

<p>It seems so rude and careless to make me, a person with thoughts, ideas, humor, contradictions and life experience to read something spit out by the equivalent of a lexical bingo machine because you were too lazy to write it yourself.</p>

<p>Do you not enjoy the pride that comes with attaching your name to something you made on your own? It’s great!</p>

<p>No, don’t use it to fix your grammar, or for translations, or for whatever else you think you are incapable of doing. Make the mistake. Feel embarrassed. Learn from it. Why? Because that’s what makes us human!</p>

<p>Everyone wants to help each other. And people are far kinder than you may think. By adding a sterile robo-liaison between yourself and your readers, you don’t give us a chance to engage with you.</p>

<p>Here is a secret: most people want to help you succeed. The problem is that you, yes, you are too afraid to ask for help. You think smart, capable people don’t ask for help because they should know it all. Wrooooooooong. On the contrary, smart people know when to ask for help and when to give it too. They create mutually beneficial relationships with the people surrounding them.</p>

<p>I ask you, human to human, both as beings capable of love and fear and humor and all the other great feelings we have cultivated for thousands of years: leave the AI to your quantitative tasks if you have to use it at all. Face the world with your thoughts and enrich them through real-world experience. The best thoughts are the ones that have been felt, anyway.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[See the Hacker News discussion.]]></summary></entry><entry><title type="html">It’s hard to join the Indie Web</title><link href="https://enocc.com/2025/10/22/difficult-indie-web.html" rel="alternate" type="text/html" title="It’s hard to join the Indie Web" /><published>2025-10-22T00:00:00-07:00</published><updated>2025-10-22T00:00:00-07:00</updated><id>https://enocc.com/2025/10/22/difficult-indie-web</id><content type="html" xml:base="https://enocc.com/2025/10/22/difficult-indie-web.html"><![CDATA[<p>For the web to be more democratic, we need to make it more accessible. Nothing revolutionary about the idea itself, but surprisingly complex when we think about how most people use the web (and computing devices in general).</p>

<h2 id="substack-and-the-blogosphere">Substack and the blogosphere</h2>

<p>In an article titled <a href="https://talkingpointsmemo.com/tpm-25/can-substack-recover-the-blogosphere-we-lost">Can Substack Recover the Blogosphere We Lost?</a>, Bhaskar Sunkara, founder of <em>The Jacobin</em>, writes about the early blogosphere and how conversations developed within it, contrasting it with modern publishing tools like Substack. The difference comes down to this: while blogs expand conversations (both in topics and in reach), Substack constrains them to a distinct format that alienates non members.</p>

<blockquote>
  <p>That was the secret sauce of the political blogosphere at its peak: it felt simultaneously democratic and curated. You read people who took time to understand a subject, and then, in their comment sections or on your own blog, you argued back. “Trackback pings” stitched these conversations together. RSS readers made sure you didn’t miss the next round. The result wasn’t a canon, but a shared public square with porous borders.</p>
</blockquote>

<blockquote>
  <p>The older blog world was fundamentally interdependent. Its culture was outward-facing: link to argue, link to endorse, link to say, “if you’re reading me, you should read them.” Newsletters are, by default, inward-facing. Their unit of distribution is the inbox, not the open web.</p>
</blockquote>

<p>Substack works against accessibility by establishing a hierarchy of readers: those who have an account and those who don’t. Substack is yet another attempt at a social media platform, and its most egregious issues are best summarized in one of my favorite blog posts from last year by Anil Dash.</p>

<p>Anil Dash, <a href="https://www.anildash.com/2024/11/19/dont-call-it-a-substack/">Don’t Call It a Substack</a> (2024):</p>

<blockquote>
  <p>We constrain our imaginations when we subordinate our creations to names owned by fascist tycoons. Imagine the author of a book telling people to “read my Amazon”. A great director trying to promote their film by saying “click on my Max”. That’s how much they’ve pickled your brain when you refer to your own work and your own voice within the context of their walled garden. There is no such thing as “my Substack”, there is only your writing, and a forever fight against the world of pure enshittification.</p>
</blockquote>

<p>Dash says “there is only your writing”, but if I am a writer with little to no experience with technology, what are my options? Do I sign up for Medium, Substack, or whatever platform we’ll have a few months from now?</p>

<p>It’s difficult to maintain a website, that’s why most people don’t have one.</p>

<p><em>Click the link in my bio</em> is a common phrase used by <em>content creators</em>. In their bio we find a link to a collection of links (usually a Linktree or similar), which in turn sends people to more platforms.</p>

<p>My name is Blah Blah, click the link in the bio to see my:</p>

<ul>
  <li>Substack</li>
  <li>Spotify</li>
  <li>Letterboxd</li>
  <li>Goodreads</li>
</ul>

<p>That’s <em>crazy</em>, right?! My developer mind immediately thinks all of that could be under Blah Blah’s website. Why is a seperate account needed on distinct platforms simply to share your opinion about something? Can’t it all go on a blog?</p>

<p>Well, it can’t. At least not for the average person. It turns out making a website is hard, making a blog is hard, and large platforms like Squarespace / Wix / etc have done everything in their power to make it easier <em>on their terms</em>, which of course means that you end up locked into their system to the tune of a monthly subscription fee.</p>

<p>Tumblr succeeded in its time because they realized that most people do want to share what they <em>stumble</em> upon in their own space, but they also want their discoveries to be seen by others.</p>

<p>In 2025, how do you really get your blog seen by others without spamming a link on closed discussion platforms like Reddit, Lobste.rs, Hacker News, etc.? Do you link to them on your social media profile? That’s just more of the same!</p>

<p>If we want to see more personal blogs from people beyond the tech world, we have to acknowledge that it’s not only that platforms make it difficult to engage with the wider open web, it is also plain difficult to create your own space on the web. And we haven’t done enough to address that.</p>

<h2 id="beginners-dont-know-as-much-as-you-do">Beginners don’t know as much as you do</h2>

<p>A couple of weeks ago I went to a wedding and my sister and I were talking with some family members about reviewing music and books and we got to talking about blogging.</p>

<p><em>You have a blog?!</em> was the first question. <em>What website do you use to blog?</em> was the second one. Ah, there’s what those commercial platforms have accustomed us to! You <em>need</em> someone else’s website to have a blog, you <em>need</em> one of their products to have a presence online. And you know what? They’re right!</p>

<p>My sister talked about using Wordpress and I talked about this site and how I write all of it in a thing called Markdown, build it with a thing called Jekyll, and then publish it on my own server.</p>

<p>Annie Mueller wrote something like this in her post <a href="https://anniemueller.com/posts/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-me-a-beginner">How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner</a>.</p>

<blockquote>
  <p>“Hello! I am a developer. Here is my relevant experience: I code in Hoobijag and sometimes jabbernocks and of course ABCDE++++ (but never ABCDE+/^+ are you kidding? ha!) and I like working with Shoobababoo and occasionally kleptomitrons. I’ve gotten to work for Company1 doing Shoobaboo-ing code things and that’s what led me to the Snarfus. So, let’s dive in!</p>
</blockquote>

<p>Painfully accurate.</p>

<p>I’d love it if everyone had their own website, but I’m a hypocrite, talking about how easy it is to blog while I write these words inside a <em>text editor</em> because <em>plaintext files</em> are just so easy to use. The reality, however, is that most people never leave their web browser!</p>

<p><em>If it’s not one tab away it’s too much work, I don’t want it, I don’t care.</em> At least that’s how I imagine most people would react to the way I share my writing online.</p>

<p>And I get it, you know? I love computers and I love software so spending time learning about them is fun <em>for me</em>. But let’s apply that level of expectations to any other discipline, any other interest, and it becomes obvious how ridiculous it all is.</p>

<p>If I wanted to learn guitar, for example, my goal would be to make music, not to become a luthier. Talk to me about chords, not about types of wood and their acoustic resonance!</p>

<p>Taylor Swift’s new album just came out and you want to talk about it. Tell me, developer friends, what’s easier: to learn HTML, CSS, learn about the terminal, learn about web hosting, learn about domains, pull out my credit card, register and pay a monthly hosting fee, then learn about RSS, learn about markup languages, write out my review of <em>The Life of a Showgirl</em>, or… do I just <em>tweet</em> or hit “publish” on Medium / Substack / etc? Come <em>on</em>.</p>

<h2 id="make-the-indie-web-easier">Make the indie web easier</h2>

<p>Last year Giles Turnbull wrote a post titled <a href="https://gilest.org/notes/indie-easy.html">Let’s make the indie web easier</a> which echoes some of Annie’s comments about ease of use when it comes to tools for self-hosting:</p>

<blockquote>
  <p>If we want the future web we’re all clamouring for, we need to give people more options for self-hosted independence. If we seriously, truly want the independent, non-enshittified personal web to flourish, we need to make it easier for people to join in.</p>

  <p>Why not build static website generators that people can just unzip, upload to the shared hosting they’ve just paid for, and start using via a browser?</p>

  <p>Why not make backups automatic, and make upgrades simple? Why not make the tricky technical stuff go away?</p>
</blockquote>

<p>Wordpress is still the best option for most people, it’s beginner friendly and it has a small learning curve and I feel confident recommending it to friends and family if they want to start their own blog.</p>

<p>That is <strong>not</strong> an endorsement. It’s a challenge to my developer friends and myself: we must make software tools that make self-hosting and website ownership easy and beginner friendly.</p>

<p>No platforms. Software that lives on a server but has a welcoming interface and piques people’s curiosity, respects privacy and dignity, and connects us to the World Wide Web.</p>

<p>Tall order!</p>

<hr />

<h3 id="discussion">Discussion</h3>

<p>This day’s portion - <a href="https://www.thisdaysportion.com/posts/collectives-not-more-tech/">Better tech won’t make joining the indieweb easier, but collectives could</a></p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[For the web to be more democratic, we need to make it more accessible. Nothing revolutionary about the idea itself, but surprisingly complex when we think about how most people use the web (and computing devices in general).]]></summary></entry><entry xml:lang="es"><title type="html">Ya es hora de decidirse</title><link href="https://enocc.com/2025/10/09/ya-es-hora-de-decidirse.html" rel="alternate" type="text/html" title="Ya es hora de decidirse" /><published>2025-10-09T00:00:00-07:00</published><updated>2025-10-09T00:00:00-07:00</updated><id>https://enocc.com/2025/10/09/ya-es-hora-de-decidirse</id><content type="html" xml:base="https://enocc.com/2025/10/09/ya-es-hora-de-decidirse.html"><![CDATA[<p>En mi homepage de YouTuve veo entre mis recomendaciones un video con la frase «Hora de decidirse» en relación al lateral de la selección mexicana rumbo al mundial del próximo año.</p>

<p>Y eso me hace pensar en cuántas decisiones importantes no habrán sido tomadas abruptamente con la intención de saciar la desesperación y expectativas fabricadas por programas de televisión.</p>

<p>Tomemos por ejemplo esta situación. La federación mexicana de fútbol se ve presionada por periodistas amarillistas a seleccionar un jugador para la posición de lateral aunque realmente la fecha para presentar las alineaciones finales no es hasta una semana antes del inicio del mundial, el 11 de junio de 2026.</p>

<p>Esto fue <a href="https://www.fifa.com/en/articles/all-you-need-to-know-about-fifa-world-cup-qatar-2022-squad-lists?utm_source=chatgpt.com">lo que FIFA publicó</a> durante el mundial de Qatar:</p>

<blockquote>
  <p>The 32 teams competing in the tournament must submit their squad lists to FIFA by 14 November at the latest, i.e. one week before the start of the FIFA World Cup Qatar 2022™.</p>
</blockquote>

<p>Todavía tiene tiempo el equipo directivo para hacer el seleccionado final con jugadores que muestren estar listos.</p>

<p>Pero esto es fútbol solamente. Ahora pensemos en situaciones realmente importantes de política donde se llegase a legislar como respuesta a exigencias falsas que algún programa haya popularizado por capricho.</p>

<p>Hmm…</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[En mi homepage de YouTuve veo entre mis recomendaciones un video con la frase «Hora de decidirse» en relación al lateral de la selección mexicana rumbo al mundial del próximo año.]]></summary></entry><entry xml:lang="es"><title type="html">Máquina de escribir</title><link href="https://enocc.com/2025/08/08/maquina-escribir.html" rel="alternate" type="text/html" title="Máquina de escribir" /><published>2025-08-08T00:00:00-07:00</published><updated>2025-08-08T00:00:00-07:00</updated><id>https://enocc.com/2025/08/08/maquina-escribir</id><content type="html" xml:base="https://enocc.com/2025/08/08/maquina-escribir.html"><![CDATA[<p>Usar cualquier dispositivo electrónico para escribir es un acto de fe. Escribir a mano en un cuaderno con tinta no requiere un proceso de guardado o de respaldo de archivos, y las notas con pluma y papel no precisan gestión como un sistema operativo digital. La información que escribimos en un ordenador puede perderse por razones fuera de nuestro control, y quizá ese acto de fe lo sea más aún cuando el dispositivo es antiguo.</p>

<p>Llevo un par de días usando la MacBook Air de 2015, la primera computadora que compré con los frutos de mi trabajo como programador. Tengo lindos recuerdos de este dispositivo, me acompañó a la universidad, al trabajo, a conferencias, a vacaciones, la llevaba conmigo a todas partes. La batería sigue funcionando a la perfección, todavía le puedo sacar entre seis y ocho horas como mínimo, pero usarlo diez años después también me abre los ojos a sus deficiencias. La pantalla es malísima, de hecho me he estado cuestionando si usar una pantalla con tan poca resolución no cansará mi vista más de lo que se gasta de por sí al trabajar frente a un ordenador todos los días. Aunque empiezo a dudar si es la mala resolución de fábrica o el deterioro por los años. Ya ha pasado una década…</p>

<p>Recuerdo una ocasión hace muchos años—yo he de haber tenido unos diez u once—una visita a la casa de mis primos. Era la primera vez que los visitábamos en esa casa pues recién se habían mudado a un vecindario tranquilo en una zona exclusiva de la ciudad. Mi tía nos dio un tour por toda la casa, desde el armario bajo las escaleras hasta las habitaciones de cada quien. Mientras recorríamos la casa platicábamos: mi madre con mi tía, mi padre con mi tío, mi hermana con mi prima, mi primo y yo. No recuerdo muy bien la distribución de aquella casa o de las habitaciones, pero sí recuerdo lo que más llamó mi atención al entrar al cuarto de mi primo. Sobre un escritorio esquinado color negro yacía una MacBook Pro. Sospecho que era el modelo 2009 de 13” pulgadas.</p>

<p>Pese a sus dimensiones, aquella laptop era la pieza central de la habitación. En la conversación de mi madre y mi tía surgió una duda sobre cierto lugar o cierta dirección y mi tía le dijo a mi primo que lo confirmara en internet. Él se sentó al escritorio y todos nos inclinamos a su alrededor para observar la computadora sobre su hombro. Al abrir la tapa de la laptop se escuchaba el tono de inicio característico de los ordenadores de Apple. Yo conocía éste a través de videos y reseñas en internet, pero aquella fue la primera vez que vi y escuché una MacBook en persona. Jamás había visto un dispositivo tan elegante y moderno. Aquel modelo ostentaba una carcasa de aluminio y una pantalla de alta resolución, pero lo que más me impresionó en ese momento fueron las teclas iluminadas. Eso era verdaderamente nuevo.</p>

<p>Admito haber sentido una especie de envidia entonces, pero incluso llamarlo envidia me parece injusto, porque a esa edad y en el entorno discretamente privilegiado en el que crecí la envidia se manifestaba muy inocentemente, si acaso pensaba que tendría que esperar a ser más grande (mi primo es cuatro años mayor) para merecer una laptop así. El caso es que ese es de los primeros recuerdos que tengo de una MacBook.</p>

<p>Mi familia en ese entonces tenía un solo ordenador—un portátil rojo Toshiba Satellite con sistema operativo Windows XP que mi padre se había comprado como regalo de Navidad y al que yo tenía acceso de vez en cuando. Con esta computadora aprendí a navegar por internet, platicaba con mis amigos en el chat de MSN o Yahoo y leía los artículos y disfrutaba de los mapas interactivos de castillos y palacios en Encarta. A mis doce o trece años seguía anhelando una MacBook, pero mis necesidades computacionales no justificaban el precio. Mi primera computadora fue una Samsung Chromebook modelo 2012. Tenía una pantalla de 11.6” pulgadas y el diseño obviamente emulaba el de la MacBook Air. Unos años después conseguí una Chromebook Pixel 2015. A estas computadoras les instalé Linux y empecé a programar y trabajar como desarrollador. Con mi primer cheque me compré la MacBook Air modelo 2015 de 13” pulgadas que estoy usando en estos momentos.</p>

<p>Me ilusiona pensar que le puedo dar un segundo aire a esta laptop al convertirla en una máquina de escribir. No pienso instalarle más software, por una parte porque no cumple con los requisitos para correr software moderno, por otra parte para limitar las posibles distracciones. Le instalé el procesador de palabras Bean y eso ha sido suficiente hasta ahora. Puedo usar Safari para búsquedas breves en internet. Por lo demás, es un sistema hermético. Ni siquiera he ingresado a mi cuenta de iCloud (y no pienso hacerlo). Con el fondo de pantalla azul de OS X Tiger, siento que estoy usando una computadora de los años noventa.</p>

<p>La semana pasada instalé el <a href="https://github.com/felixrieseberg/windows95">emulador de Windows 95</a> de Felix Reiseberg en mi ordenador principal. Una de las aplicaciones que incluye es Office 95 y estuve escribiendo en Word. Esa versión jamás llegué a usarla en su tiempo, el sistema operativo más viejo que tuvo mi familia fue Windows 98 en una Compaq Presario que usé un par de meses cuando era muy niño, una computadora en la que jugué con Paint, Space Cadet, Minesweeper y Solitario casi exclusivamente. Usar la versión de Word de hace treinta años me hizo reflexionar acerca del software moderno. Word en 2025 es horrible, desde el agresivo autocorrector que intenta predecir y cambiar mis ideas hasta la integración innecesaria de la IA. No me gusta depender de aplicaciones web como Google Docs porque a una pestaña de distancia tengo el internet y eso me distrae. Por un tiempo consideré seriamente comprar un procesador de palabras electrónico como el Canon Typestar 110 justo para evitar distracciones. Llegué a comprar un cartucho de tinta para este sistema pensando que compraría el procesador de segunda mano, pero el vendedor tuvo dificultades con el envío y nunca lo obtuve.</p>

<p>Mi búsqueda por un mejor entorno de escritura digital me llevó a incursionar en programas de terminal como Vim, Emacs y Wordgrinder, pero estos también presentan problemas. Vim por supuesto es un editor de textos, no un procesador de palabras. No tiene sentido cambiar la función principal de un programa para cumplir con mis necesidades, en especial porque también lo quería para programar. Emacs resultó mejor para escribir en prosa, pero la carga cognitiva de aprenderse tantos atajos me hace más lento cuando no escribo por unos días, porque al regresar al editor tengo que aprender todo de nuevo.</p>

<p>La idea detrás de las interfaces de usuario gráficas es facilitar este tipo de interacciones. Por supuesto que es más rápido escribir comandos en la terminal, eso no lo cuestiono. Pero hay veces que prefiero ver mis archivos y arrastrarlos con el mouse de una carpeta a otra, o simplemente darle click a un botón en vez de combinar una tecla tras otra para cambiar el aspecto de un manuscrito. Es por eso que aunque llevo pocos días usando Bean he escrito documentos más largos que los que escribo en los demás editores.</p>

<p>A tres días de usar la MacBook Air como una máquina de escribir, los resultados me tienen contento.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Usar cualquier dispositivo electrónico para escribir es un acto de fe. Escribir a mano en un cuaderno con tinta no requiere un proceso de guardado o de respaldo de archivos, y las notas con pluma y papel no precisan gestión como un sistema operativo digital. La información que escribimos en un ordenador puede perderse por razones fuera de nuestro control, y quizá ese acto de fe lo sea más aún cuando el dispositivo es antiguo.]]></summary></entry><entry><title type="html">Bilingualism: Has The Way I Exist Changed As A Result?</title><link href="https://enocc.com/2025/06/27/bilingualism.html" rel="alternate" type="text/html" title="Bilingualism: Has The Way I Exist Changed As A Result?" /><published>2025-06-27T00:00:00-07:00</published><updated>2025-06-27T00:00:00-07:00</updated><id>https://enocc.com/2025/06/27/bilingualism</id><content type="html" xml:base="https://enocc.com/2025/06/27/bilingualism.html"><![CDATA[<p>It’s taken me a while to respond to this wonderful title exchanged to me by Zachary Kai because while the answer is a simple, definite <em>yes</em>, the way in which being bilingual has changed me (perhaps <em>define</em> would be more apt) is hard to discern.</p>

<p>I’ll start this way: my soul is in Spanish. Soul in the Cartesian sense because even my belief in such a thing is part of the linguistic and cultural baggage of speaking a Romance language. Does that mean my inner monologue is in Spanish? No, not really. I’m comfortable thinking in English and it feels just as native as Spanish.</p>

<p>It’s more like I’ve compartmentalized skills and behaviors according to language. Academic tasks like writing papers or professional tasks like software development run in English naturally in my understanding. Humor on the other hand feels funnier in Spanish. It’s more intimate that way. But somehow music and lyrics make all the more sense in English, moving me in a way that I have yet to experience otherwise. Although literature feels at home when it’s in Spanish.</p>

<p>In my teenage years I understood bilingualism meant I was also bicultural. This was not easy to understand for all my friends growing up, resulting in my social groups being strictly divided depending on the language each spoke. And this meant I developed what at first glance may seem like two distinct personalities.</p>

<p>Now that I’m older I know there is no such thing as “English” me and “Spanish” me. In fact, I’m at a point where I feel as though I have comfortably grown past the confines of language as a defining trait of my identity. The most meaningful experiences of my life have invariably surpassed language. It’s a coin toss between the languages at my disposal to put into words what I live and feel, but regardless of the language I choose my description will be a facsimile of the real thing. I suppose in that sense I would call myself a Platonist.</p>

<p>In cyberspace I have had a notoriously difficult time coming to terms with how to present myself. I have often wondered whether I should have a designated profile or website where I write in one language or where I only talk about some topic. But that is not an issue of bilingualism, it is instead a severe misunderstanding of the web as a medium for communication. And that of course is a result of the deliberate homogenization of the internet to facilitate advertising.</p>

<p>There’s always a question of defining a brand or image or appealing to some ghost readership. It’s been hard to unlearn this. But the truth is that there is more comfort in authenticity.</p>

<p>That’s how I chose the tagline for this website:  <em>a weblog about people and technology</em>. <em>Weblog</em> instead of <em>blog</em> because <em>weblog</em> captures the sort of thing David Karp was referring to when he built Tumblr:</p>

<blockquote>
  <p>All of the editors’ thoughts, creations, experiences, and discoveries poured down the screen. It was like flipping through the scrapbook of a like-minded person we had never met.</p>

  <p>The editors seemed to post with zero obligations. Anything neat they came across went up. Little or no commentary was needed. The only context was the author. How absolutely beautiful.</p>
</blockquote>

<p>Those words capture the essence of the kind of web I want. In the first iteration of the tagline I actually put <em>technology</em> before <em>people</em>. Yuck. It’s a process!</p>

<p>So… has the way I exist changed as a result of being bilingual? Yes, insofar as the languages I speak have equipped me with the words to ask how I want to define myself and the cultural capital to make it possible.</p>

<hr />

<p>Links:</p>

<ul>
  <li><a href="https://zacharykai.net">Zachary Kai</a></li>
  <li><a href="https://davidville.wordpress.com/2007/02/23/why-wordpress/">David Karp</a></li>
</ul>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[It’s taken me a while to respond to this wonderful title exchanged to me by Zachary Kai because while the answer is a simple, definite yes, the way in which being bilingual has changed me (perhaps define would be more apt) is hard to discern.]]></summary></entry><entry><title type="html">🎲 New on powRSS: Take me to a random site!</title><link href="https://enocc.com/2025/05/30/random-on-powrss.html" rel="alternate" type="text/html" title="🎲 New on powRSS: Take me to a random site!" /><published>2025-05-30T00:00:00-07:00</published><updated>2025-05-30T00:00:00-07:00</updated><id>https://enocc.com/2025/05/30/random-on-powrss</id><content type="html" xml:base="https://enocc.com/2025/05/30/random-on-powrss.html"><![CDATA[<p><img src="/assets/images/powrss-new-random.png" alt="powRSS Random Site Feature" /></p>

<p><a href="https://powrss.com">powRSS.com</a> is a public RSS feed aggregator with a mission to make the independent web discoverable.</p>

<p>Earlier today <a href="https://thatalexguy.dev">Alex White</a> reached out with a great new feature idea for powRSS:</p>

<blockquote>
  <p>Random idea I had, with all the sites you collect as people submit, could be cool to have a “random site” feature like StumbleUpon did.</p>
</blockquote>

<p>And… done! Now you can let the IndieWeb do its magic and visit a random site or blog post from the feed.</p>

<p>Simply click on the 🎲 Random button below the categories section or visit <a href="https://powrss.com/random">powRSS.com/random</a></p>

<p>Thank you Alex for the great idea!</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Launching powRSS</title><link href="https://enocc.com/2025/05/24/launching-powrss.html" rel="alternate" type="text/html" title="Launching powRSS" /><published>2025-05-24T00:00:00-07:00</published><updated>2025-05-24T00:00:00-07:00</updated><id>https://enocc.com/2025/05/24/launching-powrss</id><content type="html" xml:base="https://enocc.com/2025/05/24/launching-powrss.html"><![CDATA[<p>Today I’m releasing a public feed aggregator!</p>

<p>You can check it out at <a href="https://powrss.com">powRSS.com</a></p>

<p>Note that RSS Feed suggestions are welcome! Just send me an e-mail and as long as your site doesn’t have tons of tracking or ads I’ll be happy to add it to the feed.</p>

<p><img src="/assets/images/powrss-debut.png" alt="powRSS" /></p>

<h2 id="background">Background</h2>

<p>Yesterday’s <a href="/blog/2025-05-23-discovery-tools-for-independent-websites.html">post</a> about discovering small independent websites made me think back to the early days of the <a href="/blog/2025-05-20-back-on-gemini.html">Gemini protocol</a>. To find new sites to read, most people relied on a public feed aggregator called <a href="https://git.sr.ht/~solderpunk/capcom">CAPCOM</a>. The premise was simple: take a list of Atom feeds and generate a feed of recently updated posts from each site.</p>

<p>CAPCOM was based on a similar feed aggregator used in Gopherspace called Bongusta, but the goal was the same: having a central place to find new sites based on recent updates from people in the community.</p>

<p><img src="/assets/images/capcom.png" alt="CAPCOM" /></p>

<p>After writing that blog post I updated my <a href="/links">links page</a> with more resources to find independent sites, mainly directories and search engines, and that got me thinking about having a similar feed aggregator for the web.</p>

<p>A few months ago I released an app called <a href="https://powrss.com">powRSS</a> to find and read RSS feeds, but it served a different purpose. Rather than providing a list, it was more of a tool to check if a website had an active RSS feed, and if it did, recent blog posts were readable right from the site. With this aggregator, powRSS will be having a new feature soon.</p>

<h2 id="how-it-works">How it works</h2>

<p>The goal is to integrate the aggregator feature into powRSS. I’m not doing that yet because I’m taking a different approach to generating the feed, inspired by CAPCOM. Whereas powRSS Search renders blogs server-side dynamically based on user input, the feed aggregator will be generated statically once a day. After the feed is generated, every visit is redirected to a static HTML file with all the links from the feeds list. This makes it snappy!</p>

<p>Some of the feeds I added have posts going back <em>decades</em>. Since the main goal is to make smaller indie sites discoverable, I chose to limit the feed to posts published in the past month. As the list of sites grows, different sites will be selected each month, keeping things fresh and giving everyone a chance to get featured.</p>

<p>I can’t wait to see what you discover with it!</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Today I’m releasing a public feed aggregator!]]></summary></entry><entry><title type="html">Discovery Tools for Independent Websites</title><link href="https://enocc.com/2025/05/23/discovery-tools-for-independent-websites.html" rel="alternate" type="text/html" title="Discovery Tools for Independent Websites" /><published>2025-05-23T00:00:00-07:00</published><updated>2025-05-23T00:00:00-07:00</updated><id>https://enocc.com/2025/05/23/discovery-tools-for-independent-websites</id><content type="html" xml:base="https://enocc.com/2025/05/23/discovery-tools-for-independent-websites.html"><![CDATA[<p>Earlier today I came across a blog post from Fred Rocha which perfectly describes my own fascination with the small independent web and the type of interactions it encourages.</p>

<p>Blog post: <a href="https://fredrocha.net/2025/05/21/small-web-is-beautiful/">Small (web) is beautiful - Fred Rocha</a></p>

<p>He writes:</p>

<blockquote>
  <p>I dream of a web that fosters healthy conversations, together with personal and intellectual growth. The world is diverse and fascinating, and we can be information explorers together. Whenever I write a longform blog post and share it with the world (on my RSS feed, on Mastodon / ActivityPub or on Reddit), I get people recommending me similar reads, which in turn I use to improve the original blog post (and my own personal knowledge). I love it when people challenge my ideas — as that opens my mind to unseen perspectives — and I wish the web was a safe place where this could happen much more often.</p>
</blockquote>

<p>The feedback loop between writers, creators, and developers encourages information exchange with a shared goal: <em>the improvement of the web as a democratic medium of interpersonal communication</em>.</p>

<p>Recommendations via corporate algorithms can’t replicate the satisfaction of being understood by another person. Knowing that someone took the time engage with your thoughts is invaluable. A “like” or a “retweet” may show agreement or approval. But someone taking time out of their day to reply via blog post or e-mail? In today’s digital world, it’s the closest thing we have to acknowledging each other’s agency. I can’t recall all the things I liked or shared online by clicking a button, but I remember every time I pull out my laptop, set some background music, make myself a coffee and write a response to someone.</p>

<p>In the spirit of the indieweb, and in response to Fred’s question about indie web discovery tools, below is a list of some of the ones I’ve been using lately.</p>

<h2 id="table-of-contents">Table of Contents</h2>

<ul>
  <li><a href="#directories">Directories</a></li>
  <li><a href="#search-engines">Search Engines</a></li>
  <li><a href="#blogs">Blogs</a></li>
  <li><a href="#static-hosting">Static Hosting</a></li>
</ul>

<h2 id="directories">Directories</h2>

<p><a href="https://ooh.directory">ohh.directory</a></p>

<blockquote>
  <p>A place to find good blogs that interest you created and maintained by <a href="https://www.gyford.com">Phil Gyford</a>.</p>
</blockquote>

<p><a href="https://indieblog.page">Indieblog.page</a></p>

<blockquote>
  <p>Discover the IndieWeb, one blog post at a time. A project by <a href="https://www.splitbrain.org">Andreas Gohr</a>.</p>
</blockquote>

<p><a href="https://32bit.cafe">The 32-bit Cafe</a></p>

<blockquote>
  <p>A community of like-minded website hobbyists and professionals helping to make the personal web fruitful and bountiful again, full of self-expression and removing the capitalistic drive out of it.</p>
</blockquote>

<p><a href="https://indieseek.xyz">Indieseek</a></p>

<blockquote>
  <p>A human edited, Indieweb directory.</p>
</blockquote>

<p><a href="https://peelopaalu.neocities.org">Peelopaalu</a></p>

<blockquote>
  <p>Peelopaalu is an unsorted link collection hosted on Neocities.</p>
</blockquote>

<p><a href="https://512kb.club">The 512KB Club</a></p>

<blockquote>
  <p>The 512KB Club is a collection of performance-focused web pages from across the Internet.</p>
</blockquote>

<h2 id="search-engines">Search Engines</h2>

<p><a href="https://marginalia-search.com">Marginalia Search</a></p>

<blockquote>
  <p>Marginalia Search is an independent open source Internet search engine operating out of Sweden. It is principally developed and operated by <a href="https://www.marginalia.nu">Viktor Lofgren</a>.</p>
</blockquote>

<p><a href="http://wiby.me">Wiby</a></p>

<blockquote>
  <p>The Wiby search engine is building a web of pages as it was in the earlier days of the internet. In addition, Wiby helps vintage computers to continue browsing the web, as pages indexed are more suitable for their performance.</p>
</blockquote>

<h2 id="blogs">Blogs</h2>

<p><a href="https://peopleandblogs.com/?ref=weekly-thing">People and Blogs</a></p>

<blockquote>
  <p>People and Blogs is a weekly newsletter series where interesting people talk about themselves and their blogs curated and maintained by <a href="https://manuelmoreale.com/about">Manuel Moreale</a>.</p>
</blockquote>

<p><a href="https://bearblog.dev/discover/">BearBlog Discovery Feed</a></p>

<blockquote>
  <p>A privacy-first, no-nonsense, super-fast blogging platform built and maintained by <a href="https://herman.bearblog.dev">Herman Martinus</a></p>
</blockquote>

<h2 id="static-hosting">Static Hosting</h2>

<p><a href="https://yay.boo">Yay.Boo</a></p>

<blockquote>
  <p>Yay.Boo is a static site host created by <a href="https://goodenough.us">Good Enough</a>.</p>
</blockquote>

<p><a href="https://neocities.org">Neocities</a></p>

<blockquote>
  <p>Neocities is a social network of 1,110,200 web sites that are bringing back the lost individual creativity of the web. We offer free static web hosting and tools that allow you to create your own web site.</p>
</blockquote>

<p><a href="https://pages.github.com">GitHub Pages</a></p>

<blockquote>
  <p>Static website hosting from a GitHub repository.</p>
</blockquote>

<p><a href="https://porkbun.com/products/webhosting/staticHosting">Porkbun</a></p>

<blockquote>
  <p>Porkbun is an ICANN accredited domain name registrar based out of the Pacific Northwest.</p>
</blockquote>

<p><em>This list is limited to tools and sites I’m familiar with. If you’d like to make a suggestion feel free to write me an e-mail and I’ll check it out!</em></p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Earlier today I came across a blog post from Fred Rocha which perfectly describes my own fascination with the small independent web and the type of interactions it encourages.]]></summary></entry><entry><title type="html">Back on Gemini</title><link href="https://enocc.com/2025/05/20/back-on-gemini.html" rel="alternate" type="text/html" title="Back on Gemini" /><published>2025-05-20T00:00:00-07:00</published><updated>2025-05-20T00:00:00-07:00</updated><id>https://enocc.com/2025/05/20/back-on-gemini</id><content type="html" xml:base="https://enocc.com/2025/05/20/back-on-gemini.html"><![CDATA[<p>A week ago I sent a request to join a public UNIX server from the tildeverse and last night I was granted access. I’m still getting familiar with everything there, but I thought it was great that they had Gemini support right out of the box.</p>

<p>I discovered Gemini through James Tomasino, I came across his “What is the Tildeverse?” video on YouTube back in 2020 and during that time I was writing my capstone project for my philosophy degree. I was feeling what I can only describe as <em>exhaustion</em> from social media and the trends of the web, which prioritized advertising revenue over a good experience, leaving me with a desire for something different.</p>

<p>Over time, I became more familiar with Gopher and Gemini. Not from a technical perspective initially, but I was certainly taken by the feeling of innovation (and if I may, <em>revolution</em>) in ~solderpunk’s writings. I remember opening up my terminal and locking myself in my room until the early hours of the morning reading through phlogs, gemlogs, and learning as much as I could about this corner of the internet which shared my goals about what digitial interactions should be.</p>

<p>Technically, I was in way over my head. I started college as a computer science major, and by that point I had been programming for about five years. My domain had always been web development, and my experience with Linux and the command line was basic. I was more interested in the philosophy of computer science, I valued the internet as an instrument for communication and I cared deeply about its social aspect. Luckily for me, Gemini was in its beginning stages, and I was getting a first-hand look at its creation. I loved reading discussions on the mailing list about what features the protocol should include, I liked seeing new clients and servers being released in different programming languages. My first major software project came from this community when I created Athena, a Gemini client written in Ruby.</p>

<p>I took Gemini as an opportunity to dive deeply into the world of networking and give myself a chance to program while I changed my major to philosophy. I wasn’t saying goodbye to programming, but I needed to understand it from a different perspective. I was fortunate enough to study in a department where my professors came from the analytic tradition, meaning they were well-versed in philosophy of language, logic, and theory of computation, so computer science was treated as a sister discipline to philosophy.</p>

<p>I started my Gemini journey by renting a VPS and purchasing a domain name. I installed a Gemini server called agate, and I followed some tutorials online to get that working. This protocol felt alive, there were so many people sharing their lives, writing tutorials, I loved it. I couldn’t wait to get out of class and read more. With my own Gemini capsule, I began writing too. My capsule was included in some aggregators, people began reading my gemlog and I had a nice correspondence going with a few people.</p>

<p>About a year after this, the activity level on Gemini began to diminish. Many of my bookmarks no longer worked. I would try to visit a capsule only to find it was no longer operational. I became busy with graduate school and I stopped using Gemini as well. My domain expired. I lost my VPS and my server stopped working too.</p>

<p>My interests have evolved in the time since, but I’m ready to give Gemini the love it so deserves. I’ve spent my time reading many blogs on the indieweb, but there’s something so charming about the simplicity of this protocol. In my own blogging endeavors, I find myself tweaking HTML and CSS documents, adding styles, changing fonts, updating themes, doing pretty much anything but write. With Gemini it was different. I understood I didn’t have control over my reader’s UI. There’s less pressure for me to focus on the styling and I can get right to the fun part, which is sharing my thoughts across the wire and reaching people who may be interested.</p>

<p>I’m not quite ready to set up my own capsule again on a VPS, but simply writing on a shared pubnix seems like a great way to get started :-)</p>

<p>I’ll say this though: navigating Gemini space feels claustrophobic right now. I don’t know how else to put it, but I think it’s more of an issue with how I’ve been accustomed to using the web (i.e., jumping from link to link) than something about the protocol itself. On Gemini, I have to read things slowly. On the web, I can skim stuff and if it doesn’t catch my attention I’m ready to bail. What a terrible habit.</p>

<p>Anyway, I’m glad to be back on Gemini.</p>

<p>Links:</p>

<ul>
  <li><a href="https://youtu.be/qK1mInnbfrU?si=6-Dopk7KGIYq2D4u">Tomasino’s “What is the tildeverse?” video</a></li>
  <li><a href="https://geminiprotocol.net">Project Gemini</a></li>
</ul>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[A week ago I sent a request to join a public UNIX server from the tildeverse and last night I was granted access. I’m still getting familiar with everything there, but I thought it was great that they had Gemini support right out of the box.]]></summary></entry><entry><title type="html">Launching 🪐cosmoCSS</title><link href="https://enocc.com/2025/03/30/cosmocss.html" rel="alternate" type="text/html" title="Launching 🪐cosmoCSS" /><published>2025-03-30T00:00:00-07:00</published><updated>2025-03-30T00:00:00-07:00</updated><id>https://enocc.com/2025/03/30/cosmocss</id><content type="html" xml:base="https://enocc.com/2025/03/30/cosmocss.html"><![CDATA[<p>Last week the team at DigitallyTailored announced their Classless CSS framework and it’s great.</p>

<p>Projects like <a href="https://digitallytailored.github.io/Classless.css/">Classless</a>, <a href="https://watercss.kognise.dev/">Water.css</a>, <a href="https://picocss.com">PicoCSS</a> and <a href="http://simplecss.org/">simpleCSS</a> make development and prototyping much faster.</p>

<p>This weekend I created cosmoCSS in the same spirit.</p>

<p>Huge thanks to DigitallyTailored, as cosmoCSS is a fork of the project with some important changes:</p>

<ul>
  <li>Strong focus on semantic HTML</li>
  <li>Dark mode follows browser preferences and does not require JavaScript</li>
  <li>Font scaling and responsive design are implemented with the fluid scale calculator from <a href="https://utopia.fyi">Utopia.fyi</a></li>
</ul>

<p>cosmoCSS is open source and welcomes contributions from the community. If you find any issues, have any comments, or want to contribute, please open an issue or pull request.</p>

<p><a href="https://cosmocss.com/">cosmoCSS.com</a></p>

<p><a href="https://github.com/cspablocortez/cosmocss">GitHub Repository</a></p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[Last week the team at DigitallyTailored announced their Classless CSS framework and it’s great.]]></summary></entry><entry><title type="html">Re: Why Ruby on Rails Still Matters</title><link href="https://enocc.com/2025/02/01/re-ruby-still-matters.html" rel="alternate" type="text/html" title="Re: Why Ruby on Rails Still Matters" /><published>2025-02-01T00:00:00-08:00</published><updated>2025-02-01T00:00:00-08:00</updated><id>https://enocc.com/2025/02/01/re-ruby-still-matters</id><content type="html" xml:base="https://enocc.com/2025/02/01/re-ruby-still-matters.html"><![CDATA[<p>In an <a href="https://www.contraption.co/rails-versus-nextjs/">article</a> for Contraption comparing Ruby on Rails and Next.js, Philip I. Thomas writes:</p>

<blockquote>
  <p>The truth is that the new wave of Javascript web frameworks like Next.js has made it harder, not easier, to build web apps. These tools give developers more capabilities - dynamic data rendering and real-time interactions. But, the cost of this additional functionality is less abstraction.</p>
</blockquote>

<p>He then makes a great point about what makes Next.js apps unstable:</p>

<blockquote>
  <p>Using cutting-edge frameworks introduces instability through frequent updates, new libraries, and unexpected issues. Next.js applications often rely on a multitude multiple third-party services like <a href="https://vercel.com/?ref=contraption.co">Vercel</a>, <a href="https://resend.com/?ref=contraption.co">Resend</a>, and <a href="https://temporal.io/?ref=contraption.co">Temporal</a> that introduce platform risk.</p>
</blockquote>

<p>This problem is exacerbated by SaaS platforms whose business model seemingly relies on obfuscating away control of an application by selling their services to new and impressionable developers who hear about them for the first time from their favorite social media personalities.</p>

<p>As an industry, we’ve shifted from the millenial devlog to the YouTube tutorial. And while there’s absolutely nothing wrong with video as a format, the incentive for monetizing content makes developers-turned-creators perpetuate this cycle of overcomplicating software through third-party services, because advertising these services and not architecting software is what pays their bills.</p>

<p>This trend of aggressive advertisement for a fragmented app infrastructure preys on the ever-present FOMO in the industry. <em>If Meta and Netflix and the rest of the FAANG companies are using the latest technology… why not me?!</em> But FAANG companies solve unique problems for <em>their</em> products, and thus write solutions that work for them. See also: <em>Ruby on Rails is slow and doesn’t scale</em>. When your app reaches a large enough amount of users to bring Rails to its knees, you’re not going to regret choosing Rails, you’re going to laugh and feel proud and incredulous that so many people have found value in your work.</p>

<p>The need to create <em>content</em> about what we’re building isn’t new. There’s always been a large portion of developers who have maintained blogs throughout their careers, taking the time to explain and share their knowledge with the community. <a href="https://marco.org/2007/03/06/tumblrs-latest-feature-mobile-phone-uploads">Marco Arment</a> and <a href="https://davidville.wordpress.com/2007/02/19/tumblr/">David Karp</a> famously did it while working on Tumblr. DHH did it while developing Rails. <a href="https://tom.preston-werner.com">Tom Preston-Werner</a> blogged his way through Semantic Versioning, Jekyll, and GitHub.</p>

<p>For independent developers, Preston-Werner even suggested <a href="https://tom.preston-werner.com/2010/08/23/readme-driven-development">README Driven Development</a> as a solution to the problem that Next.js and the JavaScript ecosystem continues to perpetuate. He puts it this way:</p>

<blockquote>
  <p>I hear a lot of talk these days about TDD and BDD and Extreme Programming and SCRUM and stand up meetings and all kinds of methodologies and techniques for developing better software, but <strong>it’s all irrelevant unless the software we’re building meets the needs of those that are using it</strong>. Let me put that another way. A perfect implementation of the wrong specification is worthless. By the same principle a beautifully crafted library with no documentation is also damn near worthless. If your software solves the wrong problem or nobody can figure out how to use it, there’s something very bad going on.</p>
</blockquote>

<p>And that’s one of the problems with the JS ecosystem. Rather than building software to meet the needs of its users, it builds more software to meet the needs of its developers in a way that is unclear to experts and newcomers alike. It’s no coincidence that we have an entire industry predicated on learning tools like React without really understanding why your product would benefit from implementing it.</p>

<p>Preston-Werner proposes the following solution:</p>

<blockquote>
  <p>Write your Readme first.</p>

  <p>First. As in, before you write any code or tests or behaviors or stories or ANYTHING. I know, I know, we’re programmers, dammit, not tech writers! But that’s where you’re wrong. Writing a Readme is absolutely essential to writing good software. Until you’ve written about your software, you have no idea what you’ll be coding.</p>
</blockquote>

<p>In favor of Rails, Thomas explains what makes it so attractive for both small and larger teams:</p>

<blockquote>
  <p>Developers choose Rails today because, 20 years later, it remains the most simple and abstracted way to build a web application. Solo developers can create dynamic, real-time web applications independently (as I did with <a href="https://www.booklet.group/?ref=contraption.co">Booklet</a> and <a href="https://postcard.page/?ref=contraption.co">Postcard</a>). Enterprise teams use it to build applications with multiple models and access controls, supported by thorough testing. Rails helps small teams work faster while reducing development and maintenance costs.</p>
</blockquote>

<p>He concludes that “polish fades while utility persists”, with the latter referring to Rails. But I’m doubtful that Next.js has that polish. The JS world has it backwards. It prioritizes technology over people. As an enthusiast, I love JavaScript. As a developer, it’s exciting to see what can be done. It’s fun. We absolutely do need to push boundaries within web development and as it currently stands, the Next.js crowd is definitely doing that.</p>

<p>Rails on the other hand is mature. It’s reliable and I’m confident that my applications won’t run into issues caused not by my own doing but rather the myriad of third parties introduced into the back-end.</p>]]></content><author><name>Pablo Enoc</name></author><summary type="html"><![CDATA[In an article for Contraption comparing Ruby on Rails and Next.js, Philip I. Thomas writes:]]></summary></entry></feed>