Web

  • 12 September 2025

feeling super productive

Since August, I have been updating my digital life, which began with organizing my digital collection of books. I had never truly looked too indepth at Calibre before August 2025, but I am clearly blown away at its capabilities. I feel a bit awkward keeping the library on my desktop computer, but I have a script to periodically backup my home folde…

Read more 
  • 10 September 2025

Additional insight into collaborative editors

I think I had it all wrong when I accused OnlyOffice of sending data to the Russian goverment. This architectural design is called WOPI and was created for web applications that want to integrate with Microsoft Office. That means the architecture was really designed for the CIA to intercept a target's documents saved to Office 365.Read more 

  • 08 September 2025

Only Office for personal use

Vibe coding is supposedly going to replace actual programmers. I can’t wait for it to go away. Robots have a terrible way of doing things, and they are not very good at writing code. That, however, has not kept me from regularly dabbling with ChatGPT and code generation.

Programming is my hobby - not my livelihood. So when it comes to solvin…

Read more 
  • 06 September 2025

Word processor to replace Google Docs

The problem

I have a few frustrations with Google Docs. It has gotten slow over the years. There is now a sudden push to migrate to Google Workspaces, which is something I do not want to do. There a few routes I can go in an endeavor to switch away from Google Docs.

Read more 
  • 06 September 2025

An open letter to Google

Dear Google,

I want a functioning product that is fast. That means I do not want to participate in your “simulate slowness experiments.” I use your product because I think it is good. You do not have to annoy me about trying your new Google workspace. If I want to try it, I will try it.

When I dismiss your notifications, it means I ha…

Read more 
  • 03 September 2025

Goodbye Wordpress

I have delayed switching away from Wordpress on my personal blog to something different for quite some time. I liked the new idea of a flat-file static html concept, but Jekyll did not appeal to me. Then, Hugo appeared on the scene and appeared to take the rightful place as the cool kid on the block. Hugo has a simple concept and drew my interest f…

Read more 
  • 18 July 2023

From nginx to traefik (and solving X-Forwarded-For)

I recently switched my home setup from nginx to traefik. I had to get used to the new configuration styles and weird doc style of traefik, but suffice to say, I am happy at the end results.

Traefik ships with SNI, allowing me to snoop the connection and prevent unauthorized access to my file server. (One m…

Read more 
  • 29 November 2018

WordPress Containerization Boilerplate

As a step further to my previous post, I have created a boilerplate for future WordPress projects. It can be accessed at https://github.com/andrewwippler/WordPress-Containerization-Boilerplate.

To quickly start a WordPress environment, simp…

Read more 
  • 27 November 2018

Docker-izing WordPress for Kubernetes

WordPress is amazingly popular considering how antiquated the file structure and code appears to be. Even still, it is the easiest CMS that I have used and the community has created plugins to make the copy-folder-for-a-new-theme/plugin at least tolerable. A challenge comes when one wants to use the 1990's method of serving web applications in a mo…

Read more 
  • 18 November 2016

Using Puppet to host a private RPM repository

A repository is a place where files are stored, indexed, and available through a package manager to anyone who has the repository information. With rpm based systems, a repository is created with a tool called createrepo. Most of the time, publicly available repositories already offer the packages your server needs. When y…

Read more 
  • 11 November 2016

Website protection

There are several factors that go into securing a web application. Most are second nature to seasoned system administrators, but it is still too common to talk to someone who does not know how to properly secure a web application. Here is the common checklist I go through when I determine if a website is secured.

  • Is it using a firewall… Read more 
    • 05 August 2016

    Common problems with Web Developers configuring LAMP/LEMP

    I am a SysAdmin who likes to code. I would say I know a fair amount of web developing, but do not understand it like a web developer uunderstands it. I think the reverse is true as well - web developers know how to set up a LAMP/LAMP stack, but they do not understand it as well as SysAdmin might understand it.

    To be a successful SysAdmin, yo…

    Read more 
    • 13 May 2016

    Wayfinding with RPi

    A few years ago I was tasked at looking at solutions for digital, static wayfinding. While there are some cool solutions available now for free with minimum setup, none of these were available to me. We currently were locked in with a digital signage company that charged $7,000/year for generating 640x480 graphics with events that showed up in our …

    Read more 
    • 26 April 2016

    Linux, nginx, MySQL 5.7, and PHP 7 (LEMP) on AWS with free SSL

    A stack is a group of software that creates a foundation to build upon. The LEMP stack is a web software stack which allows for delivering web applications. It is one of the most common of the web stacks to deliver a PHP application. LEMP uses a Linux kernel, Nginx for the webserver, MySQL or MariaDB for the database, and PHP for the scripting lang…

    Read more 
    • 12 February 2016

    High performant chat application

    In a fictitious world where I started my own company and developed a LEMP-stack chat application, this is how I would do it in 2016:

    I would use WebSockets as the protocol in which data is being sent to and from the server. WebSockets has built-in support by nginx (since version 1.3). For caching, I would use the expires max; fu…

    Read more 
    • 05 February 2016

    To-do for 2016

    As an IT worker, I have to re-learn my position every 3 years. This is due to the fact that Microsoft releases a new version (of their Server software, Exchange, office suite, etc.), or there has been a technology shift from one Linux specialty to another.

    To combat this change and to stay ahead of the technology bubble, I have to be self-mo…

    Read more 
    • 04 December 2015

    Planning the Deployment of oVirt

    After I played with oVirt I needed to do several items:

    1. Migrate the oVirt engine to a new host
    2. Migrate the storage from a single NFS share to GlusterFS
    3. Move my VMs from Hyper-V to oVirt
    4. Test my setup

    Migrate the oVirt Engine to a new host

    This…

    Read more 
    • 27 November 2015

    Switching from Hyper-V to oVirt

    For quite some time I have heard that Hyper-V was a low player when it came to virtualization. It came with Windows and was the hypervisor of choice, but it had its limitations. In my environment, we had local storage and no clustering of hosts and consequently no high availability or fail over. This brought the first pain point - we need high avai…

    Read more 
    • 13 November 2015

    Paying for Open Source

    While Open Source software is free to download, use, and depending on the license, free to distribute, it is not free to creator. The Open Source creators have to pay for hosting, branding (domain, etc.), coding (in time), and distribution. While some are offloading the costs by hosting the project on Open Source aware distribution channels such as…

    Read more 
    • 08 November 2015

    Switching to Wordpress

    I have completed the migration of my blog to Wordpress. The reasons for the change are very simple:

    1. I was spending 45 minutes extra just to post 1 web page
    2. I wanted to post to Google+ for every post I make - the service I was using only allowed for twitter.
    3. I wanted an easier way to manage my RSS feed.
    4. I want… Read more 
      • 11 June 2015

      Named Virtual Hosts on AWS EC2

      Named virtual hosts are not enabled by default on an Amazon AMI. To enable them, edit /etc/httpd/conf/httpd.conf and uncomment line 991:

      NameVirtualHost *:80
      

      You can then begin adding your named virtual hosts in the /etc/httpd/conf.d/ directory. Below is an example o…

      Read more