<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" >

  <title>Erik L. Arneson — Writer and Software Developer</title>
  <subtitle>Erik L. Arneson is a freelance writer and software developer with WordPress experience. He is located in Portland, Oregon.</subtitle>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <link href="https://arnesonium.com/feeds/wordpress.xml" rel="self" type="application/atom+xml" />
  <link href="https://arnesonium.com/" rel="alternate" type="text/html" />
  <updated>2026-06-18T15:03:10+00:00</updated>
  <id>https://arnesonium.com/feeds/wordpress.xml</id>
  <author>
    <name>Erik L. Arneson</name>
  </author>
      <entry>
        
        <title>How I Learned to Stop Worrying and Love Elementor</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2026/06/wordpress-love-elementor" rel="alternate" type="text/html" title="How I Learned to Stop Worrying and Love Elementor" />
        <updated>2026-06-18T00:00:00+00:00</updated>
        <id>https://arnesonium.com/2026/06/wordpress-love-elementor</id>
          <category term="php" />
        
          <category term="software-development" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2026/06/wordpress-love-elementor">&lt;p&gt;I have worked on a quite a few &lt;a href=&quot;/wordpress/&quot;&gt;WordPress projects&lt;/a&gt; lately that use &lt;a href=&quot;https://elementor.com/&quot;&gt;Elementor&lt;/a&gt;, which is a website
builder with a drag-and-drop interface and some other user-friendly bits. In the past, I have
typically avoided these kinds of tools for WordPress, because they caused more problems than they
solved, but recently, my mind has been changed.&lt;/p&gt;

&lt;!--more--&gt;

&lt;p&gt;A few months ago, I helped start a new business, &lt;a href=&quot;https://middlechambermedia.com/&quot;&gt;Middle Chamber Media&lt;/a&gt;, which focuses on building websites
for Masonic lodges. My business partner brought me on because of my experience as a &lt;a href=&quot;/software-development/&quot;&gt;web developer&lt;/a&gt;
with &lt;a href=&quot;/wordpress/&quot;&gt;experience with WordPress&lt;/a&gt;. I have built a ton of custom themes in the past, frequently using
either a child theme approach or starting from a bare-bones theme and building from scratch. This
has worked quite well, and though it can produce a robust and speedy website, it can result in
maintenance challenges in the long-run.&lt;/p&gt;

&lt;p&gt;However, with Middle Chamber Media, we were suddenly faced with the process of managing and
deploying a large number of WordPress sites, and there are just a couple of us working on it.
Currently, our process involves my partner doing most of the theme development and website setup,
and then I go in and fine-tune the website for responsiveness (i.e. for phones and tablets). This
process has been working pretty well for us.&lt;/p&gt;

&lt;h2 id=&quot;more-elementor-experience&quot;&gt;More Elementor Experience&lt;/h2&gt;

&lt;p&gt;Earlier this year, I also helped another client with an Elementor-based WordPress website. This
client wanted some SEO help, but wanted to continue managing the website on their own. Since the
client is not a WordPress expert, Elementor presented an easy user interface for theme edits. We
worked together, using Elementor to clean things up for SEO purposes. And it worked!&lt;/p&gt;

&lt;p&gt;This processes have led me to a surprising conclusion: &lt;strong&gt;Elementor is great for certain things!&lt;/strong&gt; It has
been a very big time saver and an enabler of collaboration across different WordPress skill levels.
I had to adjust to the new workflow and learn the Elementor editor and paradigm, but it has been
worth it. It is such a huge leap forward compared to previous drag-and-drop theme builders for
WordPress. They all used to really suck!&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Emacs as the Freelancer&apos;s Command Center</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2026/04/emacs-freelance-command-center" rel="alternate" type="text/html" title="Emacs as the Freelancer's Command Center" />
        <updated>2026-04-10T00:00:00+00:00</updated>
        <id>https://arnesonium.com/2026/04/emacs-freelance-command-center</id>
          <category term="emacs" />
        
          <category term="org-mode" />
        
          <category term="programming" />
        
          <category term="writing" />
        
          <category term="music" />
        
          <category term="wordpress" />
        
          <category term="emacs-lisp" />
        
          <category term="email" />
        
          <category term="git" />
        
          <category term="tools" />
        <content type="html" xml:base="https://arnesonium.com/2026/04/emacs-freelance-command-center">&lt;p&gt;Freelancing for small businesses and organizations leads to a position where you are juggling a
number of projects for multiple clients. You need to keep track of a number of tasks ranging from
software development to sending emails to project management. This is a lot easier when you have a
system that can do a bunch of the work for you, which is why I use Emacs as my freelancer command
center.&lt;/p&gt;

&lt;p&gt;I would like to share some of the tools and workflows I use in Emacs to help me keep on top of
multiple clients’ needs and expectations.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;organization-with-org-mode&quot;&gt;Organization with org-mode&lt;/h2&gt;

&lt;p&gt;It should be no surprise that at the center of my Emacs command center is &lt;a href=&quot;https://orgmode.org/&quot;&gt;org-mode&lt;/a&gt;. I have already
&lt;a href=&quot;/tags/org-mode/&quot;&gt;written about it a lot&lt;/a&gt;. Every org-mode user seems to have their own way of keeping track of things,
so please don’t take my organizational scheme as some kind of gospel. A couple of years ago, I wrote
about &lt;a href=&quot;/2024/10/todo-lists-in-org-mode&quot;&gt;how I handle to-do lists in org-mode&lt;/a&gt;, and I am still using that method for to-do keywords.
However, file structure is also important. I have a number of core files.&lt;/p&gt;

&lt;h3 id=&quot;freelanceorg&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Freelance.org&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;This top-level file contains all of my ongoing business tasks, such as tracking potential new
clients, recurring tasks like website maintenance and checking my &lt;a href=&quot;https://mainwp.com/&quot;&gt;MainWP dashboard&lt;/a&gt;. I also have
recurring tasks for invoicing, tracking expenses, and other important business things.&lt;/p&gt;

&lt;p&gt;This file is also where I have my primary time tracking and reporting. Org-mode already supports
this pretty nicely, I just use the built-in &lt;a href=&quot;https://orgmode.org/manual/The-clock-table.html&quot;&gt;clocktable feature&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;clientsorg&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Clients/*.org&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Clients that have large projects or ongoing business get their own file. This makes organization a
lot easier. All tasks associated with a client and their various projects end up in these individual
files. The important part is making sure that these files are included in the time-tracking
clock table &lt;em&gt;and&lt;/em&gt; your org-mode agenda, so you can see what is going on every week.&lt;/p&gt;

&lt;h3 id=&quot;references-and-linking&quot;&gt;References and Linking&lt;/h3&gt;

&lt;p&gt;I have &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C-c l&lt;/code&gt; bound to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;org-store-link&lt;/code&gt; and use it all the time to link to various files,
directories, URLs, and even emails. I can then use those links in my client notes, various tasks in
my to-do list, and so on. This helps me keep my agenda organized even when my filesystem and
browser bookmarks are a bit of a mess.&lt;/p&gt;

&lt;h2 id=&quot;email-with-mu4e&quot;&gt;Email with mu4e&lt;/h2&gt;

&lt;p&gt;I have been reading and managing my email in Emacs for over 25 years. There have been a few breaks
here and there where I have tried out other software or even web mail clients, but it has always been
a headache. I return to Emacs! Long ago, I used &lt;a href=&quot;https://gitlab.com/emacs-vm/vm&quot;&gt;VM&lt;/a&gt; (which seems to have taken on new life!), but
currently I use &lt;a href=&quot;https://djcbsoftware.nl/code/mu/mu4e/index.html&quot;&gt;mu4e&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This gives me a ton of power and flexibility when dealing with email. I have custom functions to
help me compose and organize my email, and I can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;org-store-link&lt;/code&gt; to keep track of individual
emails from clients as they relate to agenda items. I even have a function to convert emails that I
have written in Markdown into HTML email, and one that searches for questions in a client email to
make sure I haven’t missed anything.&lt;/p&gt;

&lt;p&gt;The ability to write custom code to both process and create email is extremely powerful and a great
time saver.&lt;/p&gt;

&lt;h2 id=&quot;writing-code&quot;&gt;Writing Code&lt;/h2&gt;

&lt;p&gt;I don’t know what else to say about this, I use Emacs for doing all of my software development. I
make sure to use &lt;a href=&quot;https://github.com/joaotavora/eglot&quot;&gt;Eglot&lt;/a&gt; whenever there is a language server available, and I try to leverage all the
fancy features offered by Emacs whenever possible. The vast majority of projects for clients are PHP
(thanks &lt;a href=&quot;/wordpress/&quot;&gt;WordPress&lt;/a&gt;), Go, JavaScript, and TypeScript.&lt;/p&gt;

&lt;h2 id=&quot;writing-words&quot;&gt;Writing Words&lt;/h2&gt;

&lt;p&gt;Previously, I have shared quite a bit about &lt;a href=&quot;/tags/writing/&quot;&gt;writing in Emacs&lt;/a&gt;. I like to start everything in
org-mode, but I also write quite a bit in Markdown. Emacs has become a powerful tool for writing. I
use the &lt;a href=&quot;https://writewithharper.com/&quot;&gt;Harper language server&lt;/a&gt; along with Eglot to check grammar and spelling.&lt;/p&gt;

&lt;h2 id=&quot;track-all-changes-with-magit&quot;&gt;Track All Changes with Magit&lt;/h2&gt;

&lt;p&gt;Version control is essential, a lesson I have learned over 30+ years of software development. While
&lt;a href=&quot;https://git-scm.com/&quot;&gt;Git&lt;/a&gt; is not part of Emacs, the software I use to interface with Git is. &lt;a href=&quot;https://magit.vc/&quot;&gt;Magit&lt;/a&gt; is a Git user interface
that runs entirely in Emacs. I use it to track my writing, my source code, and even all of my
org-mode files. Using version control is so essential that I have a weekly repeating agenda task
reminding me to check all of my everyday files to make sure I have checked-in my changes for the
week.&lt;/p&gt;

&lt;h2 id=&quot;thinking-music-with-emms&quot;&gt;Thinking Music with EMMS&lt;/h2&gt;

&lt;p&gt;I like to have some soothing background music when I am programming, writing, or otherwise working
on my computer. However, if that background music has lyrics, it can be really distracting. It is
easy to make a playlist for various suitable &lt;a href=&quot;https://somafm.com/&quot;&gt;SomaFM&lt;/a&gt; channels to load into &lt;a href=&quot;https://www.gnu.org/software/emms/&quot;&gt;EMMS (the Emacs Multimedia
System)&lt;/a&gt; using the command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;M-x emms-play-playlist&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Try saving the following into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;playlist.el&lt;/code&gt; somewhere, and using it the next time you are writing:&lt;/p&gt;

&lt;div class=&quot;language-emacs-lisp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; &lt;span class=&quot;c1&quot;&gt;;;; This is an EMMS playlist file Play it with M-x emms-play-playlist&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;vg&quot;&gt;*track*&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;https://somafm.com/synphaera.pls&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vg&quot;&gt;*track*&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;https://somafm.com/gsclassic.pls&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vg&quot;&gt;*track*&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;https://somafm.com/sonicuniverse.pls&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vg&quot;&gt;*track*&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;https://somafm.com/groovesalad.pls&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And make sure to check out SomaFM’s selection to find some good background music that suits your
tastes!&lt;/p&gt;

&lt;h2 id=&quot;and-the-tools-i-have-missed&quot;&gt;And the tools I have missed&lt;/h2&gt;

&lt;p&gt;There are undoubtedly Emacs tools that I have missed in this brief overview. I have been wracking my
brain as I write, trying to see what I have forgotten or overlooked. Frankly, Emacs has become such
a central part of the organization for my freelancing that there are probably many tools, packages,
and processes that I use every day without thinking about it too much.&lt;/p&gt;

&lt;p&gt;Emacs makes it possible for me to freelance for multiple clients and small businesses without losing
my mind with organization and task management. The tools it provides allow me to stay on top of
multiple projects, handle client relationships, and keep track of years worth of tasks,
communications, and projects. Without it, I’d be sunk!&lt;/p&gt;

&lt;p&gt;What Emacs tools are you using to manage your freelance business? I am always looking for ways to
improve or streamline my process.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The featured image for this post comes from Agostino Ramelli’s&lt;/em&gt; Le diverse et artificiose machine &lt;em&gt;(1588). &lt;a href=&quot;https://publicdomainreview.org/collection/agostino-ramelli-theatre-of-machines/&quot;&gt;Read more about it on the Public Domain Review.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>New WordPress Services: Fast Fixes for Portland Businesses</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2025/11/new-wordpress-services" rel="alternate" type="text/html" title="New WordPress Services: Fast Fixes for Portland Businesses" />
        <updated>2025-11-05T00:00:00+00:00</updated>
        <id>https://arnesonium.com/2025/11/new-wordpress-services</id>
          <category term="wordpress" />
        
          <category term="portland" />
        
          <category term="web-development" />
        
          <category term="debugging" />
        <content type="html" xml:base="https://arnesonium.com/2025/11/new-wordpress-services">&lt;p&gt;Your WordPress site is either making you money or costing you opportunities. I’m opening up my calendar for quick-turn projects—and offering &lt;strong&gt;free site audits to new clients.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With 10+ years building WordPress sites,&lt;/strong&gt; I’ve seen the same problems tank small business budgets: slow load times, security vulnerabilities, broken plugins, and sites that just stop working.&lt;/p&gt;

&lt;!--more--&gt;

&lt;h2 id=&quot;what-im-offering&quot;&gt;What I’m Offering&lt;/h2&gt;

&lt;p&gt;See the full list on my &lt;a href=&quot;/wordpress/&quot;&gt;WordPress services page&lt;/a&gt;. Here is a quick rundown:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Quick-turnaround emergency WordPress rescue&lt;/li&gt;
  &lt;li&gt;Site speed optimization&lt;/li&gt;
  &lt;li&gt;Security hardening&lt;/li&gt;
  &lt;li&gt;Plugin customization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am also available for &lt;strong&gt;monthly WordPress support retainers.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;first-time-client-special&quot;&gt;First-Time Client Special&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Free 30-minute WordPress site audit (normally $75)&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;what-youll-get&quot;&gt;What you’ll get:&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Speed analysis with specific fixes&lt;/li&gt;
  &lt;li&gt;Security vulnerability check&lt;/li&gt;
  &lt;li&gt;Plugin bloat assessment&lt;/li&gt;
  &lt;li&gt;Prioritized action plan&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;No obligation.&lt;/strong&gt; Just honest feedback on what’s holding your site back.&lt;/p&gt;

&lt;h2 id=&quot;between-the-lines&quot;&gt;Between the lines&lt;/h2&gt;

&lt;p&gt;I’m based in Portland, but work with businesses anywhere. Projects are priced for value and speed—not hourly rates that incentivize me to work slowly.&lt;/p&gt;

&lt;p&gt;The bottom line: &lt;strong&gt;If your WordPress site is slow, insecure, or broken, you’re losing money every day.&lt;/strong&gt; Let’s fix it this week, not next quarter.&lt;/p&gt;

&lt;h2 id=&quot;what-next&quot;&gt;What next?&lt;/h2&gt;

&lt;p&gt;Contact me on my &lt;a href=&quot;/wordpress/&quot;&gt;WordPress services page&lt;/a&gt;, or using the form below.&lt;/p&gt;

&lt;!-- modify this form HTML and place wherever you want your form --&gt;
&lt;form action=&quot;https://formspree.io/f/xjvzwrkp&quot; method=&quot;POST&quot;&gt;
  &lt;label&gt;
    Your email:
    &lt;input type=&quot;email&quot; name=&quot;email&quot; /&gt;
  &lt;/label&gt;
  &lt;br /&gt;
  &lt;label&gt;
    Your message:&lt;br /&gt;
    &lt;textarea name=&quot;message&quot; rows=&quot;20&quot; style=&quot;width:90%&quot;&gt;&lt;/textarea&gt;
  &lt;/label&gt;
  &lt;!-- your other form fields go here --&gt;
  &lt;div class=&quot;g-recaptcha&quot; data-sitekey=&quot;6LcDtPsSAAAAALF66lY2GqToLSZShqoxLMGsBMFf&quot;&gt;&lt;/div&gt;
  &lt;button type=&quot;submit&quot; class=&quot;btn&quot;&gt;Send&lt;/button&gt;
&lt;/form&gt;

&lt;p&gt;&lt;strong&gt;Questions?&lt;/strong&gt; Feel free to DM me on LinkedIn.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Solving a Returning 404 Error in WordPress</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2022/09/wordpress-returning-404-errors" rel="alternate" type="text/html" title="Solving a Returning 404 Error in WordPress" />
        <updated>2022-09-26T00:00:00+00:00</updated>
        <id>https://arnesonium.com/2022/09/wordpress-returning-404-errors</id>
          <category term="wordpress" />
        
          <category term="wordpress-plugins" />
        
          <category term="plugins" />
        <content type="html" xml:base="https://arnesonium.com/2022/09/wordpress-returning-404-errors">&lt;p&gt;A WordPress website that I maintain was running into a problem. The most recently published post would periodically lose its permalink and
return a 404 error. I tried to find a solution.
&lt;!--more--&gt;&lt;/p&gt;

&lt;h2 id=&quot;save-the-permalink-settings-page&quot;&gt;Save the Permalink Settings Page&lt;/h2&gt;

&lt;p&gt;The solution you see frequently mentioned for this error is to visit the settings page for Permalinks and save the settings again. From the
WordPress admin dashboard, go to &lt;strong&gt;Settings &amp;gt; Permalinks&lt;/strong&gt; and click to open that page. Then scroll down and click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This worked &lt;em&gt;temporarily&lt;/em&gt; for me. Something else was periodically causing the permalink for &lt;em&gt;only the latest article&lt;/em&gt; to be lost.&lt;/p&gt;

&lt;h2 id=&quot;finding-the-plugin-to-blame&quot;&gt;Finding the plugin to blame&lt;/h2&gt;

&lt;p&gt;My next step was to examine all of the installed plugins, to see if something else was to blame. Since the problem was recurring
periodically, I used the &lt;a href=&quot;https://wordpress.org/plugins/wp-crontrol/&quot;&gt;WP Crontrol&lt;/a&gt; plugin to watch the various 
&lt;a href=&quot;/2016/03/alternate-ways-to-call-wp-cron/&quot;&gt;wp-cron jobs&lt;/a&gt;. There were a lot of them!&lt;/p&gt;

&lt;p&gt;I immediately suspected the caching plugin. This WordPress site uses &lt;a href=&quot;https://www.boldgrid.com/w3-total-cache/&quot;&gt;W3 Total Cache&lt;/a&gt;, which is a
pretty sophisticated and large plugin with a lot of options. It provides a page cache, database cache, and a number of other caches which
&lt;em&gt;seemed&lt;/em&gt; like they could be responsible for the problem.&lt;/p&gt;

&lt;p&gt;I went through the W3 Total Cache settings, made sure they were up to date, and clicked &lt;strong&gt;Save&lt;/strong&gt; on a few of the settings pages.&lt;/p&gt;

&lt;p&gt;The returning 404 problem seems to have stopped.&lt;/p&gt;

&lt;p&gt;What did I do to fix it?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I don’t know.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sometimes WordPress is a pain to work with. This problem frustrated me for a week and I do not know what it was nor if it will return.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Migrating from WordPress to Jekyll</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2022/09/migrating-from-wordpress-to-jekyll" rel="alternate" type="text/html" title="Migrating from WordPress to Jekyll" />
        <updated>2022-09-24T00:00:00+00:00</updated>
        <id>https://arnesonium.com/2022/09/migrating-from-wordpress-to-jekyll</id>
          <category term="wordpress" />
        
          <category term="jekyll" />
        
          <category term="website-development" />
        
          <category term="github" />
        <content type="html" xml:base="https://arnesonium.com/2022/09/migrating-from-wordpress-to-jekyll">&lt;p&gt;Since launching this site in 2014, it has run on WordPress. I have always wanted to move the site to another blogging platform,
especially since I wasn’t really taking advantage of all of the WordPress features.
&lt;!--more--&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;I kept running WordPress for years for two reasons.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First, I needed to show off my WordPress skills to attract clients. Second, I
thought it would be difficult to migrate away from WordPress. Once I got some experience with &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; and 
&lt;a href=&quot;https://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt;, I knew I wanted to eventually move to that platform.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;I followed &lt;a href=&quot;https://talk.hyvor.com/blog/migrate-from-wordpress-to-jekyll/&quot;&gt;these simple instructions&lt;/a&gt;&lt;/strong&gt;
by &lt;a href=&quot;https://talk.hyvor.com/blog/author/supun/&quot;&gt;Supun  Kavinda&lt;/a&gt; and
used a plugin to export all of my content from WordPress to Jekyll.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The process &lt;strong&gt;only took about an hour&lt;/strong&gt; to get everything set up.&lt;/p&gt;

&lt;p&gt;I then spent hours tweaking everything until it looked good. Probably too many hours.&lt;/p&gt;

&lt;h2 id=&quot;why-migrate-to-jekyll&quot;&gt;Why migrate to Jekyll?&lt;/h2&gt;

&lt;p&gt;Jekyll is a static site generator, and pages and posts are all
generated with easy Markdown. This makes it easy to keep the
layout simple and easy to do things like share source code.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Here is some simple Go code&lt;/strong&gt; just to show you how it looks.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-go highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;func&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  	&lt;span class=&quot;n&quot;&gt;fmt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Welcome to the playground!&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;fmt&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Println&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;The time is&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Now&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;GitHub Pages makes it easy to use source control&lt;/strong&gt; to track changes to your website. I have been loving this function on other websites I
maintain. As an added bonus, I was tired of the WordPress theme I had been using, and didn’t relish the thought of finding a new one.&lt;/p&gt;

&lt;h2 id=&quot;what-about-missing-features&quot;&gt;What about missing features?&lt;/h2&gt;

&lt;p&gt;Indeed, I will need to figure out how to handle all of the little broken things in all of my old posts going back to 2014. Here are some
features I will miss:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Automatically embedded Tweets.&lt;/li&gt;
  &lt;li&gt;Automatic sharing of new posts to Twitter and LinkedIn.&lt;/li&gt;
  &lt;li&gt;Password-protected web pages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, my Disqus account doesn’t seem to be loading correctly. Will I
fix that? Who knows! In the meantime, if you want to respond to this,
you can &lt;a href=&quot;https://twitter.com/pymander&quot;&gt;find me on Twitter&lt;/a&gt;.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Alternate Ways to Call wp-cron</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2016/03/alternate-ways-to-call-wp-cron/" rel="alternate" type="text/html" title="Alternate Ways to Call wp-cron" />
        <updated>2016-03-05T17:09:28+00:00</updated>
        <id>https://arnesonium.com/2016/03/alternate-ways-to-call-wp-cron</id>
          <category term="best-practices" />
        
          <category term="php" />
        
          <category term="programming" />
        
          <category term="web-development" />
        
          <category term="web-performance" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2016/03/alternate-ways-to-call-wp-cron/">&lt;p&gt;WordPress includes a job scheduling system called wp-cron. The default method for scheduled jobs is for wp-cron to be checked on each page load, which has the potential to slow down your website while background jobs are run. Check out these other options that help maintain the user experience on your WordPress site while still running important tasks in the background.
&lt;!--more--&gt;&lt;/p&gt;

&lt;h2 id=&quot;using-alternate_wp_cron&quot;&gt;Using ALTERNATE_WP_CRON&lt;/h2&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ALTERNATE_WP_CRON&lt;/code&gt; method uses a quick, nearly invisible redirect to direct an incoming user to a new request while the old one continues running, executing background jobs. This is an easy, effective method and it works really well if you don’t have access to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab&lt;/code&gt; on your hosting site. Even though this method adds some elements to the page URL, it’s only triggered when background jobs need to be run. To enable it, follow these instructions:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Open your site’s &lt;strong&gt;wp-config.php&lt;/strong&gt; in your text editor.&lt;/li&gt;
  &lt;li&gt;After the lines containing your database credentials, add the following lines:
    &lt;div class=&quot;language-php highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cd&quot;&gt;/** Use alternate WP_CRON method with redirects. */&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;ALTERNATE_WP_CRON&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href=&quot;http://wordpress-hackers.1065353.n5.nabble.com/ALTERNATE-WP-CRON-Is-it-worth-it-td39843.html&quot; target=&quot;_blank&quot;&gt;Read more about the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ALTERNATE_WP_CRON&lt;/code&gt; method here.&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;using-crontab&quot;&gt;Using Crontab&lt;/h2&gt;

&lt;p&gt;If you have access to a shell on your web host and can run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron&lt;/code&gt; jobs, this method might be the best. It ensures that background jobs will get run, even when your website isn’t getting any visitors. It also runs background jobs without requiring a redirect or any additional delays that will be noticed by users. Here’s how you do it.&lt;/p&gt;

&lt;h3 id=&quot;add-a-crontab-entry&quot;&gt;Add a Crontab Entry&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab -e&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add the following lines to the end of your crontab file:
    &lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Call wp-cron regularly&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;/15 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; curl http://www.example.com/wp-cron.php &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /dev/null 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Make sure you replace “www.example.com” with your website’s hostname. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*/15&lt;/code&gt; specifies that &lt;strong&gt;wp-cron.php&lt;/strong&gt; will be called every 15 minutes. If you would like to change this, replace the 15 with a different number.&lt;/p&gt;

&lt;h3 id=&quot;disable-built-in-wp-cron&quot;&gt;Disable Built-in wp-cron&lt;/h3&gt;

&lt;p&gt;The next step is to disable the built-in call to wp-cron in WordPress.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Open your site’s &lt;strong&gt;wp-config.php&lt;/strong&gt; in your text editor.&lt;/li&gt;
  &lt;li&gt;After the lines containing your database credentials, add the following lines:
    &lt;div class=&quot;language-php highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cd&quot;&gt;/** Disable built-in cron in favor of system crontab */&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;define&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;DISABLE_WP_CRON&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more details on this method, &lt;a href=&quot;https://easyengine.io/tutorials/wordpress/wp-cron-crontab/&quot; target=&quot;_blank&quot;&gt;check out this page on EasyEngine&lt;/a&gt;.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>OpenPGP for WordPress Now Supports Contact Form 7</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2016/01/openpgp-for-wordpress-now-supports-contact-form-7/" rel="alternate" type="text/html" title="OpenPGP for WordPress Now Supports Contact Form 7" />
        <updated>2016-01-20T16:54:43+00:00</updated>
        <id>https://arnesonium.com/2016/01/openpgp-for-wordpress-now-supports-contact-form-7</id>
          <category term="announcement" />
        
          <category term="cryptography" />
        
          <category term="encryption" />
        
          <category term="javascript" />
        
          <category term="openpgp" />
        
          <category term="php" />
        
          <category term="plugin" />
        
          <category term="programming" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2016/01/openpgp-for-wordpress-now-supports-contact-form-7/">&lt;p&gt;&lt;a href=&quot;https://arnesonium.com/wordpress-openpgp/&quot;&gt;OpenPGP Form Encryption for WordPress&lt;/a&gt; now supports &lt;a href=&quot;http://contactform7.com/&quot; target=&quot;_blank&quot;&gt;Contact Form 7&lt;/a&gt;. You can download version 1.4.0 at the &lt;a href=&quot;https://wordpress.org/plugins/openpgp-form-encryption/&quot; target=&quot;_blank&quot;&gt;WordPress plugin site&lt;/a&gt; and start using a safer contact form on your website today!&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Pono Rez WordPress Plugin</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2016/01/pono-rez-wordpress-plugin/" rel="alternate" type="text/html" title="Pono Rez WordPress Plugin" />
        <updated>2016-01-18T17:52:32+00:00</updated>
        <id>https://arnesonium.com/2016/01/pono-rez-wordpress-plugin</id>
          <category term="javascript" />
        
          <category term="php" />
        
          <category term="programming" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2016/01/pono-rez-wordpress-plugin/">&lt;p&gt;Together with &lt;a href=&quot;http://www.commercecollective.com/&quot; target=&quot;_blank&quot;&gt;Commerce Collective&lt;/a&gt;, ((I started working with them last year, &lt;a href=&quot;https://arnesonium.com/2015/05/now-working-with-commercecollective/&quot;&gt;remember&lt;/a&gt;?)) we have built a WordPress plugin to allow &lt;a href=&quot;http://www.a3h.org/&quot; target=&quot;_blank&quot;&gt;Activities &amp;amp; Attractions Association of Hawaii&lt;/a&gt; (A3H) to quickly and easily integrate activity bookings and sales into their WordPress websites.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;We still have more features to add to the plugin, but it’s a solid start that will save A3H members a lot of time. It is written in PHP ((Like all WordPress plugins, of course.)) and JavaScript, and uses the Pono Rez SOAP interface to integrate activity data into a WordPress page.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wordpress.org/plugins/a3h-pono-rez-activities-and-booking/&quot; target=&quot;_blank&quot;&gt;Check out the plugin page here!&lt;/a&gt;&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>New Release of OpenPGP for WordPress</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2015/05/new-release-of-openpgp-for-wordpress/" rel="alternate" type="text/html" title="New Release of OpenPGP for WordPress" />
        <updated>2015-05-13T18:16:07+00:00</updated>
        <id>https://arnesonium.com/2015/05/new-release-of-openpgp-for-wordpress</id>
          <category term="cryptography" />
        
          <category term="openpgp" />
        
          <category term="plugin" />
        
          <category term="programming" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2015/05/new-release-of-openpgp-for-wordpress/">&lt;p&gt;&lt;span data-icon=&quot;&amp;#xe088;&quot; style=&quot;float:left;font-size:xx-large;padding-right:0.1em&quot;&gt;&lt;/span&gt;Version 1.3.0 of the &lt;a href=&quot;http://arnesonium.com/wordpress-openpgp/&quot;&gt;OpenPGP Form Encryption for WordPress&lt;/a&gt; plugin is now available. It’s important to upgrade. It includes the following changes.&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Updates OpenPGP.js to version 1.0.1&lt;/li&gt;
    &lt;li&gt;Tests the plugin against WordPress 4.2.2&lt;/li&gt;
    &lt;li&gt;Ensures that the browser can support OpenPGP.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are a few new features planned for this plugin. Expect a major version release in the next few months.&lt;/p&gt;

&lt;p&gt;Check out the plugin page on the &lt;a href=&quot;https://wordpress.org/plugins/openpgp-form-encryption/&quot; target=&quot;_blank&quot;&gt;WordPress Plugin Repository&lt;/a&gt;.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Should WordPress Encrypt All Email?</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2015/04/should-wordpress-encrypt-all-email/" rel="alternate" type="text/html" title="Should WordPress Encrypt All Email?" />
        <updated>2015-04-13T15:13:43+00:00</updated>
        <id>https://arnesonium.com/2015/04/should-wordpress-encrypt-all-email</id>
          <category term="cryptography" />
        
          <category term="openpgp" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2015/04/should-wordpress-encrypt-all-email/">&lt;p&gt;WordPress sends out email sometimes, and it doesn’t encrypt any of them by default. &lt;a href=&quot;http://buli.waw.pl/wordpress-openpgp-emails/&quot; title=&quot;Integration of WordPress and OpenPGP for a better security&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;Integration of WordPress and OpenPGP for a better security&lt;/em&gt;&lt;/a&gt; is a case study by Paweł Bulwan that examines the security implications of all of these emails. Are they leaking important information? Should WordPress site owners worry about them?
&lt;!--more--&gt;&lt;/p&gt;

&lt;h2&gt;Only Limited Security Threats&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;http://arnesonium.com/wp-content/uploads/2014/12/640px-Enigma-plugboard-300x204.jpg#right&quot; alt=&quot;Enigma Plugboard&quot; width=&quot;300&quot; height=&quot;204&quot; class=&quot;alignright size-medium wp-image-122&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mr. Bulwan only found five potential security threats, which is pretty good news. None of them are show-stoppers. However, I believe he missed something important, which is that any information that is leaked about login credentials can cause issues. Leaked information can be used to limit an attacker’s problem space, reducing the complexity of an attack.&lt;/p&gt;

&lt;p&gt;Mr. Bulwan’s idea of providing OpenPGP encryption for any emails that WordPress sends is a great one. In fact, if WordPress provided an OpenPGP API, it would spell the obsolescence of my &lt;a href=&quot;http://arnesonium.com/wordpress-openpgp/&quot; title=&quot;OpenPGP Form Encryption for WordPress&quot;&gt;OpenPGP Form Encryption for WordPress plugin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That would be really cool.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Prime Number Service on Google App Engine</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2015/02/prime-number-google-app-engine/" rel="alternate" type="text/html" title="Prime Number Service on Google App Engine" />
        <updated>2015-02-20T22:37:41+00:00</updated>
        <id>https://arnesonium.com/2015/02/prime-number-google-app-engine</id>
          <category term="cloud" />
        
          <category term="github" />
        
          <category term="golang" />
        
          <category term="google-cloud" />
        
          <category term="php" />
        
          <category term="plugin" />
        
          <category term="prime-numbers" />
        
          <category term="programming" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2015/02/prime-number-google-app-engine/">&lt;p&gt;As I &lt;a href=&quot;http://arnesonium.com/2015/02/random-link-rodeo/&quot; title=&quot;Random Link Rodeo&quot;&gt;mentioned earlier this week&lt;/a&gt;, I’ve decided to learn the &lt;a href=&quot;http://golang.org/&quot; target=&quot;_blank&quot;&gt;Go programming language&lt;/a&gt;. I’ve also been very interested in Google App Engine, which lets you deploy applications to the cloud from a development sandbox. It’s like magic for web and mobile applications!
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Since I’m so fond of prime numbers, I thought I’d build a web service for calculating them. It does some other fun stuff, too, like figuring out if a number is happy. It also caches primes in the Google Cloud Datastore with some minimal statistics. If you’d like to see the source code for the prime number service, it’s &lt;a href=&quot;https://github.com/pymander/prime-json-service&quot; target=&quot;_blank&quot;&gt;available on GitHub&lt;/a&gt;.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;The next thing I did was write the simplest of all WordPress plugins to query the service and return the latest prime number in the sequence. This all happens in a post using the [[nextprime]] shortcode. ((Including this information has the side-effect of revealing how much traffic this page gets.))&lt;/p&gt;

&lt;h1&gt;[nextprime]&lt;/h1&gt;

&lt;p&gt;You can also &lt;a href=&quot;http://sigma-crow-364.appspot.com/&quot; title=&quot;Prime Number Web App&quot; target=&quot;_blank&quot;&gt;visit the app itself&lt;/a&gt; and read about querying the service to get prime numbers for your own web page!&lt;/p&gt;

&lt;p&gt;Learning Go and writing for the Google App Engine has been really fun. I’m ready for a new challenge! If you have a web application in mind, &lt;a href=&quot;http://arnesonium.com/contact/&quot; title=&quot;Contact&quot;&gt;contact me and let’s figure out how to build it&lt;/a&gt;!&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Random Link Rodeo</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2015/02/random-link-rodeo/" rel="alternate" type="text/html" title="Random Link Rodeo" />
        <updated>2015-02-17T16:43:32+00:00</updated>
        <id>https://arnesonium.com/2015/02/random-link-rodeo</id>
          <category term="golang" />
        
          <category term="pdx" />
        
          <category term="portland" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2015/02/random-link-rodeo/">&lt;p&gt;I’ve been working on a few projects, but nothing I can share publicly. However, I’ve also been out in the world of the Portland tech community, which has been excellent. If you haven’t heard of &lt;a href=&quot;http://calagator.org/&quot; target=&quot;_blank&quot;&gt;Calagator&lt;/a&gt; yet, go check it out.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Last week, I went to a meet-and-greet for developer evangelists from &lt;a href=&quot;https://cloud.google.com/&quot; target=&quot;_blank&quot;&gt;Google Cloud Platform&lt;/a&gt;. After talking to one of the Google devs, I was convinced to give &lt;a href=&quot;http://golang.org/&quot; title=&quot;The Go Language&quot; target=&quot;_blank&quot;&gt;Go&lt;/a&gt; a try. He told me that Go has type inference, and while I was dismayed to learn that it only has type inference on variable declarations, it still looks like a good language. I’m playing around with &lt;a href=&quot;http://sawsij.com/&quot; target=&quot;_blank&quot;&gt;sawsij&lt;/a&gt; and &lt;a href=&quot;https://cloud.google.com/appengine/&quot; target=&quot;_blank&quot;&gt;Google App Engine&lt;/a&gt; and should have something to share in a few weeks.&lt;/p&gt;

&lt;p&gt;Last night, I went to a &lt;a href=&quot;http://pdxwp.com/&quot; target=&quot;_blank&quot;&gt;PDX WordPress Meetup&lt;/a&gt;, where I saw Kronda Adair of &lt;a href=&quot;http://karveldigital.com/&quot; title=&quot;Karvel Digital&quot; target=&quot;_blank&quot;&gt;Karvel Digital&lt;/a&gt; give a presentation called “5 Common Website Owner Mistakes and How to Fix Them.” After the talk, there was some interesting talk about website optimization and the “noisy neighbor” problem in cloud computing.&lt;/p&gt;

&lt;p&gt;Next week, I’m looking forward to the &lt;a href=&quot;http://calagator.org/events/1250467737&quot; target=&quot;_blank&quot;&gt;PdxDevOps meeting&lt;/a&gt;, mostly because I’ve realized that this is what I do most of the time. When I build websites, I tend to handle everything from hosting and system administration through software development.&lt;/p&gt;

&lt;p&gt;I’m really impressed by how full and rich the Portland tech community is. So far I’ve met a lot of great people in it, and I look forward to meeting more.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Integrating Cedexis Radar with WordPress Sites</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2015/01/integrating-cedexis-radar-with-wordpress-sites/" rel="alternate" type="text/html" title="Integrating Cedexis Radar with WordPress Sites" />
        <updated>2015-01-26T20:00:52+00:00</updated>
        <id>https://arnesonium.com/2015/01/integrating-cedexis-radar-with-wordpress-sites</id>
          <category term="cedexis" />
        
          <category term="performance" />
        
          <category term="php" />
        
          <category term="plugin" />
        
          <category term="programming" />
        
          <category term="web-development" />
        
          <category term="web-performance" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2015/01/integrating-cedexis-radar-with-wordpress-sites/">&lt;p&gt;&lt;a href=&quot;http://www.cedexis.com/radar/&quot; target=&quot;_blank&quot;&gt;Cedexis Radar&lt;/a&gt; is a real user monitoring (RUM) system that collects millions of metrics every day. It’s used to measure the health of networks in order for &lt;a href=&quot;http://www.cedexis.com/openmix/&quot; target=&quot;_blank&quot;&gt;Cedexis Openmix&lt;/a&gt; to make intelligent routing decisions for web service users.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://cedexis.com&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2015/01/logo-cedexis.png#right&quot; alt=&quot;Cedexis Logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I put together &lt;a href=&quot;/cedexis-radar-tracking-for-wordpress/&quot; title=&quot;Cedexis Radar Tracking for WordPress&quot;&gt;a simple plugin&lt;/a&gt; to add Cedexis Radar tracking codes to a WordPress website. I’m not yet sure how much of an overlap there is between WordPress users and Cedexis Openmix users, but if you’re using both, &lt;a href=&quot;/cedexis-radar-tracking-for-wordpress/&quot; title=&quot;Cedexis Radar Tracking for WordPress&quot;&gt;check out my new plugin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sometime between 2015 and 2022, Cedexis was purchased by Citrix and no longer exists.&lt;/em&gt;&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Bootstrap and WordPress</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2014/12/bootstrap-and-wordpress/" rel="alternate" type="text/html" title="Bootstrap and WordPress" />
        <updated>2014-12-09T16:44:32+00:00</updated>
        <id>https://arnesonium.com/2014/12/bootstrap-and-wordpress</id>
          <category term="bootstrap" />
        
          <category term="themes" />
        
          <category term="web-design" />
        
          <category term="web-development" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2014/12/bootstrap-and-wordpress/">&lt;p&gt;I’ve used &lt;a href=&quot;http://getbootstrap.com/&quot; target=&quot;_blank&quot;&gt;Twitter Bootstrap&lt;/a&gt; many times in web applications. It really makes building an application interface fast and easy, primarily because I don’t have to worry much about design. Bootstrap makes things a lot easier for a developer who doesn’t do good design work.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Speaking of design work, this website is not very pretty at the moment. I want to make it look better, so I’ve been looking at different WordPress themes. A theme based on Bootstrap seemed like a good idea. That way, the appearance of my website would match the applications I’ve built for my clients. Nice, right? I came across &lt;a href=&quot;http://320press.com/wpbs/&quot; target=&quot;_blank&quot;&gt;WordPress Bootstrap&lt;/a&gt; from &lt;a href=&quot;http://320press.com/&quot; target=&quot;_blank&quot;&gt;320 Press&lt;/a&gt; and thought it might look good.&lt;/p&gt;

&lt;p&gt;I decided to pursue other themes, however. My initial concern was that the website didn’t look any better with WordPress Bootstrap, but I also realized that perhaps Bootstrap wasn’t such a good fit for WordPress. Fränk Klein makes some great arguments against a Bootstrap-backed WordPress theme in his article, &lt;a href=&quot;http://themeshaper.com/2014/08/19/why-bootstrap-is-a-bad-fit-for-wordpress-themes/&quot; target=&quot;_blank&quot;&gt;Why Bootstrap is a Bad Fit for WordPress Themes&lt;/a&gt;.&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>OpenPGP.js and WordPress</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2014/12/openpgp-js-and-wordpress/" rel="alternate" type="text/html" title="OpenPGP.js and WordPress" />
        <updated>2014-12-03T16:14:51+00:00</updated>
        <id>https://arnesonium.com/2014/12/openpgp-js-and-wordpress</id>
          <category term="javascript" />
        
          <category term="php" />
        
          <category term="plugin" />
        
          <category term="wordpress" />
        <content type="html" xml:base="https://arnesonium.com/2014/12/openpgp-js-and-wordpress/">&lt;p&gt;Near the end of November, I began fiddling with &lt;a href=&quot;http://openpgpjs.org/&quot; target=&quot;_blank&quot;&gt;OpenPGP.js&lt;/a&gt; and building a WordPress plugin. My goal is to create a method by which visitors can encrypt messages to me on my &lt;a href=&quot;http://arnesonium.com/contact/&quot; title=&quot;Contact&quot;&gt;Contact page&lt;/a&gt; using my public key.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;I finished up a pretty simple little plugin. You can &lt;a href=&quot;http://arnesonium.com/wordpress-openpgp/&quot; title=&quot;OpenPGP Form Encryption for WordPress&quot;&gt;view the details here&lt;/a&gt; or head straight to the &lt;a href=&quot;https://github.com/pymander/wordpress-openpgp&quot;&gt;GitHub project page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, when I finished earlier this week and decided to submit it to the WordPress Plugin Directory, I found that somebody had beat me to it by almost a month. I’ve taken a look at the code and it looks pretty good. You can check out my plugin, which was published as &lt;a href=&quot;https://wordpress.org/plugins/openpgp-form-encryption/&quot; target=&quot;_blank&quot;&gt;OpenPGP Form Encryption for Wordpress&lt;/a&gt;, and you can check out the other guy’s plugin, &lt;a href=&quot;https://wordpress.org/plugins/pgp-contact/&quot; target=&quot;_blank&quot;&gt;PGP Contact plugin&lt;/a&gt;.&lt;/p&gt;</content>
      </entry>
    
</feed>
