<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Utkarsh Jain</title>
    <description>The latest articles on DEV Community by Utkarsh Jain (@utkarsh_jain_1151e33ebb5c).</description>
    <link>https://dev.to/utkarsh_jain_1151e33ebb5c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4177890%2F6f9c5ba5-a6f8-41bc-9d27-54bb377fed2e.png</url>
      <title>DEV Community: Utkarsh Jain</title>
      <link>https://dev.to/utkarsh_jain_1151e33ebb5c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/utkarsh_jain_1151e33ebb5c"/>
    <language>en</language>
    <item>
      <title>Gophergeist: A 1991 Protocol, Haunted by a Fine-Tuned 1B Model</title>
      <dc:creator>Utkarsh Jain</dc:creator>
      <pubDate>Sun, 01 Nov 2026 02:26:21 +0000</pubDate>
      <link>https://dev.to/utkarsh_jain_1151e33ebb5c/gophergeist-a-1991-protocol-haunted-by-a-fine-tuned-1b-model-1o85</link>
      <guid>https://dev.to/utkarsh_jain_1151e33ebb5c/gophergeist-a-1991-protocol-haunted-by-a-fine-tuned-1b-model-1o85</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26"&gt;Hacktoberfest Open-Source AI Challenge: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👻 gophergeist
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   .-.
  (o o)   g o p h e r g e i s t
  | O \   a gopherhole, haunted by an open-weight model
   \   \
    `~~~'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Before the web won, the internet had &lt;strong&gt;Gopher&lt;/strong&gt;. Plain menus, plain text, nothing that moved. It came out of the University of Minnesota in 1991, and for a couple of years it was &lt;em&gt;the&lt;/em&gt; way to find things online. Then in 1993 the university announced license fees for its server. That same spring CERN put the web in the public domain.&lt;br&gt;
Everyone picked the free one, and Gopher quietly died.&lt;/p&gt;

&lt;p&gt;So for Halloween and Día de los Muertos I brought it back from the dead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;gophergeist&lt;/strong&gt; turns any folder of text files into a real Gopher server. It works with &lt;code&gt;curl&lt;/code&gt;, Lynx, any Gopher client from the last 30 years, a tiny terminal client I built in, or a retro page in your browser.&lt;/p&gt;

&lt;p&gt;And it's haunted. &lt;strong&gt;Veronica&lt;/strong&gt; was Gopherspace's actual search engine in 1992. She's back, and she answers your questions using a small open-weight model running on &lt;em&gt;your&lt;/em&gt; laptop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A keyword index finds the three passages in your files that best match your question.&lt;/li&gt;
&lt;li&gt;The model reads only those, answers in Veronica's voice, and cites them like &lt;code&gt;[1]&lt;/code&gt;, &lt;code&gt;[2]&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If your files don't cover it, she says &lt;strong&gt;"the archives are silent"&lt;/strong&gt; instead of making something up.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I fine-tuned her myself: a 1B Llama model trained to &lt;em&gt;be&lt;/em&gt; Veronica, small enough to run on a laptop with no GPU and no internet.&lt;/p&gt;

&lt;p&gt;The demo gopherhole is about Gopher itself, written in a haunted voice. There's also an &lt;code&gt;ofrenda/&lt;/code&gt; folder, an altar for the protocols the internet buried (Archie, WAIS, finger), each with who made it, what it gave us, and a favourite food to leave on the altar. 🕯️&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fraw.githubusercontent.com%2Futkarsh-jain149%2Fgophergeist%2Fmaster%2Fdocs%2Fdemo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fraw.githubusercontent.com%2Futkarsh-jain149%2Fgophergeist%2Fmaster%2Fdocs%2Fdemo.gif" alt="gophergeist demo: raising the ghost, browsing the hole, asking Veronica, and a séance" width="600" height="305"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gophergeist serve --web

   .-.
  (o o)   g o p h e r g e i s t
  | O \   a gopherhole, haunted by an open-weight model
   \   \
    `~~~'

gophergeist 0.1.0 haunting .../gophergeist/demo
  spirit: utkarsh2023/llama3.2-veronica:1b via Ollama
  listening on gopher://localhost:7070/
  web view (no internet needed): http://localhost:8070/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Asking her something:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gophergeist browse --ask "who wrote jughead?"
       Veronica, asked: "who wrote jughead?"

       Jughead was written by Rhett "Jonzy" Jones at the University of Utah
       in 1993 [1].

       Sources:
  1. TXT [1] veronica-and-jughead.txt
  2. TXT [2] finger.txt
  3. TXT [3] archie.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;With no model at all (&lt;code&gt;--backend none&lt;/code&gt;) she still answers, the way the 1992 original did, straight from the index:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       No spirit is bound to this server, so the index speaks alone:

       [1] Jughead followed in 1993, written by Rhett "Jonzy" Jones at the
       University of Utah.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Try it yourself
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Install Ollama (https://ollama.com/download), then:&lt;/span&gt;
pipx &lt;span class="nb"&gt;install &lt;/span&gt;git+https://github.com/utkarsh-jain149/gophergeist

&lt;span class="c"&gt;# 2. Raise the ghost, then open http://localhost:8070&lt;/span&gt;
gophergeist serve &lt;span class="nt"&gt;--web&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;If you get &lt;code&gt;gophergeist: command not found&lt;/code&gt;, run &lt;code&gt;pipx ensurepath&lt;/code&gt; and open a new terminal.&lt;/p&gt;

&lt;p&gt;On the first run it downloads my fine-tuned Veronica (&lt;code&gt;utkarsh2023/llama3.2-veronica:1b&lt;/code&gt;, ~770 MB) through Ollama,&lt;br&gt;
once. If that fails it falls back to the stock &lt;code&gt;llama3.2:1b&lt;/code&gt;. To haunt your own notes instead:&lt;br&gt;
&lt;code&gt;gophergeist serve ~/my-notes --web&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utkarsh-jain149" rel="noopener noreferrer"&gt;
        utkarsh-jain149
      &lt;/a&gt; / &lt;a href="https://github.com/utkarsh-jain149/gophergeist" rel="noopener noreferrer"&gt;
        gophergeist
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week4-2026-10-26" rel="nofollow"&gt;Hacktoberfest Open-Source AI Challenge: Ghost in the Machine&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;👻 gophergeist&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;   .-
  (o o)   g o p h e r g e i s t
  | O \   a gopherhole, haunted by an open-weight model
   \   \
    `~~~'
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What I Built&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Before the web won, the internet had &lt;strong&gt;Gopher&lt;/strong&gt;. Plain menus, plain text, nothing that moved. It came out of the
University of Minnesota in 1991, and for a couple of years it was &lt;em&gt;the&lt;/em&gt; way to find things online. Then in 1993
the university announced license fees for its server. That same spring CERN put the web in the public domain.
Everyone picked the free one, and Gopher quietly died.&lt;/p&gt;
&lt;p&gt;So for Halloween and Día de los Muertos I brought it back from the dead.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;gophergeist&lt;/strong&gt; turns any folder of text files into a real Gopher server. It works with &lt;code&gt;curl&lt;/code&gt;, Lynx…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utkarsh-jain149/gophergeist" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gophergeist/
  server.py     # the Gopher server (RFC 1436), asyncio
  veronica.py   # BM25 search + the ghost's prompt, streaming and fallbacks
  model.py      # stdlib clients for Ollama and any OpenAI-compatible local server
  web.py        # the retro browser view: inline CSS, no JS, no CDN
  seance.py     # optional: reach Veronica-2 and Wikipedia when your files are silent
  dataset.py    # builds the fine-tuning data
  demo/         # the haunted demo gopherhole
finetune/       # Colab notebook + Ollama Modelfile
tests/          # 63 tests, all offline, with fake models and fake internet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pure Python standard library, no dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Piece&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Gopher, RFC 1436&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;An open standard from 1993. One request line in, a menu or a document out.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Runs the model on &lt;code&gt;localhost&lt;/code&gt;. gophergeist talks to it over plain HTTP, no SDK. llama.cpp, llamafile and LM Studio work too (&lt;code&gt;--backend openai&lt;/code&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Llama 3.2 1B, fine-tuned&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Veronica's voice. Also writes the one-line blurb under each menu entry.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Qwen 2.5 7B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The "teacher" that wrote the training data. Only used once, during training.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Unsloth + Google Colab&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;LoRA fine-tuning on a free T4 GPU, exported to a 770 MB GGUF.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;BM25&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Plain-Python keyword search that finds the passages before the model ever sees them.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  The index finds, the ghost speaks
&lt;/h3&gt;

&lt;p&gt;Small models are good at reading a few paragraphs and answering from them. They're bad at remembering 1990s internet history. So the split is strict: search finds the facts, the model only reads and cites. That's what lets&lt;br&gt;
a 1B model give grounded answers, and it means editing your files never needs retraining.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fine-tuning Veronica
&lt;/h3&gt;

&lt;p&gt;A stock 1B model sometimes forgets to cite or wanders off the sources. So I taught one to do the job:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;gophergeist dataset&lt;/code&gt; has a bigger teacher model (Qwen 2.5 7B) write practice questions from the gopherhole, then answer them as Veronica: only from the sources, cite everything, keep it short.&lt;/li&gt;
&lt;li&gt;Some examples deliberately pair a question with the &lt;em&gt;wrong&lt;/em&gt; passages, or ask about pizza, so she learns to say
"the archives are silent".&lt;/li&gt;
&lt;li&gt;Unsloth LoRA-trains Llama 3.2 1B on that in a free Colab notebook, exports a GGUF, and I pushed it to Ollama.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It learns &lt;em&gt;how&lt;/em&gt; to answer, not &lt;em&gt;what&lt;/em&gt; the facts are. The whole pipeline is in&lt;br&gt;
&lt;a href="//finetune/veronica_colab.ipynb"&gt;&lt;code&gt;finetune/veronica_colab.ipynb&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Same questions, same three passages, same 4-bit size (stock &lt;code&gt;llama3.2:1b-instruct-q4_K_M&lt;/code&gt; vs my Veronica), on my&lt;br&gt;
laptop's CPU:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Stock Llama 3.2 1B&lt;/th&gt;
&lt;th&gt;Fine-tuned Veronica&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"who wrote jughead?"&lt;/td&gt;
&lt;td&gt;Got the name wrong ("Jonny") and stuck the citation at the front&lt;/td&gt;
&lt;td&gt;"Rhett "Jonzy" Jones at the University of Utah in 1993 [1]", correct and cited (0.8 s)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"why did gopher die?"&lt;/td&gt;
&lt;td&gt;"The archives are silent", even though source [3] is literally about it&lt;/td&gt;
&lt;td&gt;"licensing fees imposed by the University of Minnesota [3]" (1.1 s)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"what's the best pizza topping?"&lt;/td&gt;
&lt;td&gt;Silent ✔&lt;/td&gt;
&lt;td&gt;Silent ✔&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Speed is about the same (around a second once the model is loaded). The fine-tune didn't make her faster. It made her &lt;em&gt;right&lt;/em&gt;: the stock model either garbled the facts or gave up on a question its sources answered.&lt;br&gt;
The pizza question never reaches either model, because the index finds nothing and Veronica refuses on her own.&lt;/p&gt;

&lt;h3&gt;
  
  
  Making it fast on a normal laptop
&lt;/h3&gt;

&lt;p&gt;No GPU needed. On a CPU, speed is mostly about how much the model reads and writes, so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Short prompts:&lt;/strong&gt; three passages, each trimmed to the ~450 most relevant characters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Short answers:&lt;/strong&gt; about 80 words.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming:&lt;/strong&gt; in the browser, words appear as she writes them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Warm model:&lt;/strong&gt; loaded at startup and kept in memory between questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache:&lt;/strong&gt; repeat questions come back instantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visitors first:&lt;/strong&gt; background work pauses while someone is asking.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Séance mode 🔮
&lt;/h3&gt;

&lt;p&gt;By default Veronica only knows your files. With &lt;code&gt;--seance&lt;/code&gt;, a question your files can't answer gets carried "beyond the veil" to &lt;strong&gt;Veronica-2&lt;/strong&gt;, the search engine that still indexes the living Gopherspace today, and to&lt;br&gt;
Wikipedia. So the ghost of the 1992 Veronica asks her surviving descendant. It's off by default, only the&lt;br&gt;
question text leaves your machine, and offline she just goes back to "the archives are silent".&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gopher is literally the cautionary tale.&lt;/strong&gt; It didn't lose because it was worse. It lost because someone could charge for it, while the web was free to run, change and build on. Resurrecting it on top of a closed API that&lt;br&gt;
someone else can price, change or shut down would be a pretty weird tribute. That would just be another ghost waiting to happen.&lt;/p&gt;

&lt;p&gt;Here's what going open made possible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It works with the lights (and the internet) off.&lt;/strong&gt; Model, index and server all live on one laptop. Turn off
Wi-Fi and Veronica still answers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;I could fine-tune her and keep her.&lt;/strong&gt; With open weights I trained my own Veronica on a free GPU, and the result
is one 770 MB file I own. A closed API rents you a fine-tune. It doesn't give you the model to put on a USB stick.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your files stay yours.&lt;/strong&gt; People will point this at journals, family stories, notes. None of it is uploaded
anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It can't be taken away.&lt;/strong&gt; No account to expire, no endpoint to get deprecated. A gopherhole is meant to sit
there for years, and so is this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It costs nothing to leave running.&lt;/strong&gt; Per-token pricing and an always-on server don't mix. A 1B model on
hardware you already own does.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swap the ghost.&lt;/strong&gt; Want Gemma, a bigger model, or a ghost in Spanish? Change &lt;code&gt;--model&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where open beat closed
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small and specialised beats big and general here.&lt;/strong&gt; A frontier model knows more history, but for a tool that
must answer &lt;em&gt;only&lt;/em&gt; from your files, that extra knowledge is a liability. A 1B model trained for the job is a
better fit, and it runs on anything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One tiny client, many runtimes.&lt;/strong&gt; The open ecosystem settled on the same simple HTTP APIs, so one small
&lt;code&gt;model.py&lt;/code&gt; works with Ollama, llama.cpp, llamafile, LM Studio and vLLM.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I built this together with Claude as a coding agent: picking the idea, writing the server and tests, and debugging&lt;br&gt;
the fine-tuning notebook on Colab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Veronica only reads text. Images and binaries are served, but she can't read them.&lt;/li&gt;
&lt;li&gt;Keyword search matches words, not meaning, so "why did Gopher die?" matches "license" better than "killed".&lt;/li&gt;
&lt;li&gt;No &lt;code&gt;gophermap&lt;/code&gt; support yet. Menus come from the folder layout.&lt;/li&gt;
&lt;li&gt;No TLS (very period-accurate), so don't serve anything private beyond your own network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Sources
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.rfc-editor.org/rfc/rfc1436" rel="noopener noreferrer"&gt;RFC 1436&lt;/a&gt; and the &lt;a href="gopher://gopher.floodgap.com/"&gt;Floodgap gopher server&lt;/a&gt;,&lt;br&gt;
which has kept Gopherspace and Veronica-2 alive for years. The demo hole is my own summary; corrections welcome.&lt;/p&gt;

&lt;h3&gt;
  
  
  License
&lt;/h3&gt;

&lt;p&gt;The code is MIT. Unlike Gopher in 1993, you'll never be asked for a license fee.&lt;/p&gt;

&lt;p&gt;The fine-tuned Veronica model is derived from Llama 3.2 1B and is covered by the&lt;br&gt;
&lt;a href="https://www.llama.com/llama3_2/license/" rel="noopener noreferrer"&gt;Llama 3.2 Community License&lt;/a&gt;. &lt;strong&gt;Built with Llama.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
