gasm: 1.5 KB Gopher server that runs on 24 KB of RAM
        
                                    _ 
         __ _   __ _   ___  _ __   (_)
        / _` | / _` | (_-< | '  \   _ 
        \__, | \__,_| /__/ |_|_|_| (_)
        |___/                         
        
         _       ___ 
        / |     | __|
        | |  _  |__ \
        |_| (_) |___/
                     
        
         _  __  ___ 
        | |/ / | _ )
        | ' <  | _ \
        |_|\_\ |___/
                    
        
          ___                _                
         / __|  ___   _ __  | |_    ___   _ _ 
        | (_ | / _ \ | '_ \ | ' \  / -_) | '_|
         \___| \___/ | .__/ |_||_| \___| |_|  
                     |_|                      
        
                                          
         ___  ___   _ _  __ __  ___   _ _ 
        (_-< / -_) | '_| \ V / / -_) | '_|
        /__/ \___| |_|    \_/  \___| |_|  
                                          
        
         _     _             _   
        | |_  | |_    __ _  | |_ 
        |  _| | ' \  / _` | |  _|
         \__| |_||_| \__,_|  \__|
                                 
        
                                
         _ _   _  _   _ _    ___
        | '_| | || | | ' \  (_-<
        |_|    \_,_| |_||_| /__/
                                
        
                    
         ___   _ _  
        / _ \ | ' \ 
        \___/ |_||_|
                    
        
         ___   _ _  
        |_  ) | | | 
         / /  |_  _|
        /___|   |_| 
                    
        
         _  __  ___ 
        | |/ / | _ )
        | ' <  | _ \
        |_|\_\ |___/
                    
        
                __ 
         ___   / _|
        / _ \ |  _|
        \___/ |_|  
                   
        
         ___     _     __  __ 
        | _ \   /_\   |  \/  |
        |   /  / _ \  | |\/| |
        |_|_\ /_/ \_\ |_|  |_|
                              
        
       ╔─*──*──*──*──*──*──*──*──*──*──*──*──*──*──*──*─╗
       ║1   ........................................   1║
       ║2*  ........................................  *2║
       ║3   ........................................   3║
       ║1   ...........Posted: 2026-01-15...........   1║
       ║2*  ......Tags: linux gopher my_warez ......  *2║
       ║3   ........................................   3║
       ║1   ........................................   1║
       ╚────────────────────────────────────────────────╝
        
       I wanted to find the absolute floor.
        
       We know that abstractions cost resources, but I wanted to quantify exactly how
       much. So, I wrote a fully functional Gopher server in pure i386 assembly with
       zero dependencies—no libc, no runtime, just raw `int 0x80` syscalls.
        
       The result is GASM.
        
 (IMG) A whacky photo of me showing the file size of the gasm binary
        
 (IMG) Whacky photo of gasm's binary size
        
       By manually managing the ELF headers, disabling page alignment, and using the
       legacy Linux `socketcall` interface, the final efficiency metrics are distinct:
        
       * Binary Size: 1,512 bytes (static, stripped)
       * RAM Usage:   24 KB (Verified RSS via pmap)
       * Deps:        None.
        
       It serves Directory listings (Type 1), Text (Type 0), and Binary (Type 9). It
       implements bounds checking and traversal blocking manually, without the overhead
       of a standard library.
        
       Because it targets the original i386 instruction set, it runs natively on
       everything from a 1985 386DX to a modern Ryzen 9.
        
       It is not a replacement for Nginx. It is a study in how much computer you
       actually need to serve a file.
        
       The source is available for audit.
        
       Source Code and Download (GitHub)[1]
        
       ## Footnotes
        
 (HTM) [1]: Source Code and Download (GitHub): https://github.com/someodd/gasm