Omar A. Ashour

About this website

This website is served from a 10 year old Raspberry sitting in my home office in Berkeley. It’s hilariously overpowered for this job.

Technical Details

Resource Monitor (24hr window)

CPU load
                                                                                    
                                                                                    
          +                +     CPU load (1 min avg)         +                     
  0.18 +-+--------------------------------------------------------------------+-+   
         |                                                        *          *|     
         |                                                        *          *|     
  0.16 +-|                                   *        **          *         **|-+   
         |  *                                *  *  *  **    * *   *         **|     
  0.14 +-|  *                                *  *  *  **    * *   *         **|-+   
         |  *                                *  *  *  **    * **  *         **|     
         |  *                              * *  * **  **  * * **  *       * **|     
  0.12 +-|* *                              * *  * **  **  * * **  *       * **|-+   
         |* *                      *       * *  * *** **  * * **  *     * * **|     
         |* *                      *       * ** * *** **  * * **  *     * * **|     
   0.1 +-|****    *                *       * ** * *** **  * * *** *     * * **|-+   
         |****    *                *       * ** * *** **  * * *** *     * * **|     
  0.08 +-|****    *                * *   * * ** ********  * * *** *     *** **|-+   
         |****    *                * *   * * ** ********  * * *** *     *** **|     
         |****    *          *  *  * *   * * *********** ** * *** *  *  *** **|     
  0.06 +-|****  * **  * * *  ** ** * *   *** *********** ** * *** * **  *** **|-+   
         |****  * **  * * *  ** ** * *   *** ************** * *** * **  *** **|     
         |****  * **  * * *  ** ** * *   *** ************** * *** * **  *** **|     
  0.04 +-|****  * **  * *** ****** ***  ******************* ***** ****  *** **|-+   
         |****  * **  ***** **********  ******************* ***** **** **** **|     
  0.02 +-|****  * ** ****** **********  ******************* ***** **** **** **|-+   
         |****  * ** ****** **********  ******************* ********** **** **|     
         |****  * ** ****** **********  ******************* *************** **|     
     0 +-+--------------------------------------------------------------------+-+   
          +                +                 +                +                     
        18:00            00:00             06:00            12:00                   
         Mon              Tue               Tue              Tue                    
                                                                                    
RAM usage
                                                                                    
                                                                                    
         +                 +         RAM usage (%)            +                     
  100 +-+---------------------------------------------------------------------+-+   
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
   80 +-|                                                                     |-+   
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
   60 +-|                                                                     |-+   
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
   40 +-|                                                                     |-+   
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
   20 +-|*********************************************************************|-+   
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
        |                                                                     |     
    0 +-+---------------------------------------------------------------------+-+   
         +                 +                +                 +                     
       18:00             00:00            06:00             12:00                   
        Mon               Tue              Tue               Tue                    
                                                                                    
CPU temperature
                                                                                    
                                                                                    
        +                 +      CPU temperature (C)         +                      
  90 +-+----------------------------------------------------------------------+-+   
       |                                                                      |     
       |                                                                      |     
       |                                                                      |     
  80 +-|                                                                      |-+   
       |                                                                      |     
       |                                                                      |     
       |                                                                      |     
  70 +-|                                                                      |-+   
       |                                                                      |     
       |                                                                      |     
       |                                                                      |     
  60 +-|                                                                      |-+   
       |  ***** **************************************************************|     
       |*****************************  * * * *********************************|     
       |                                                                      |     
  50 +-|                                                                      |-+   
       |                                                                      |     
       |                                                                      |     
       |                                                                      |     
  40 +-|                                                                      |-+   
       |                                                                      |     
       |                                                                      |     
       |                                                                      |     
  30 +-+----------------------------------------------------------------------+-+   
        +                 +                 +                +                      
      18:00             00:00             06:00            12:00                    
       Mon               Tue               Tue              Tue                     
                                                                                    

How is this website built?

The website itself is written in a mix of HTML and markdown, rendered via a homebrew static site generator (SSG) called barebear (see below). barebear was intended for ultraminimalist smolweb blogs for scientists, with support for bibtex, LaTeX\LaTeX, footnotes, and many of the other luxuries we’re used to. I also included ATProto support via the standard.site schema, in alignment with POSSE1. The SSG is fully functional but very rough around the edges, so I have not yet made it public2.

The frontend is practically a ripoff of bearblog (hence barebear), with full bear theme compatibility3. The backend takes inspiration from blot.im, using mustache templates, a TOML site config, and pandoc as a build system.

When I push updated files (markdown, raw HTML, updated template, …) from a local repo to the remote, a pre-push git hook builds the website and publishes a pages branch to the remote. I have an on-push webhook that pings the pi, which in turn pulls the updated HTML files from the pages branch and serves them via Caddy. The ASCII plots on this webpage are generated with gnuplot, which runs once an hour and reads a file filtered from the /proc pseudo-filesystem. Everything runs via simple systemd daemons.

FAQ

Q: Why does your DNS resolve to an IP in !Berkeley?
A: Because I don’t want to expose my public IP.

Q: Why pangolin cloud instead of self-hosted?
A: I self-host the vast majority of my infrastructure, and I recently moved from self-hosted pangolin to self-hosted netbird for my homelab. However, I did not want to mix my home lab with a professional website or rent another VPS just for pangolin. Hence pangolin cloud for now.

Q: Why not cloudflare tunnels?
A: I think that’s self evident to anyone on this website. Email me for a rant.

Q: Why is your website so ugly?
A: You’re ugly. Also.

Q: Why did you write this FAQ that no one’s going to read?
A: Because I’m procrastinating… something.

This webpage is inspired by Alex Wennerberg.


  1. Ironically I don’t even use Blue Sky.↩︎

  2. And let’s be real, it will probably never see the light of day, like most of my personal projects…↩︎

  3. This website uses a lightly modified version of the Bearming theme.↩︎