How to use the built in functions

As my dozen or so readers know, I really hate using more third-party files than is absolutely necessary. That has attracted me to Deno, the cool new replacement for Node.js as it really eliminates the need for package managers. I’m using it to try and clone WordPress in JavaScript in a toy project that I’m calling DenoPress. I started by using the lovely Drash add-on but realized that it was really not necessary.

This public github repository is a very simple example of how to create a Deno webserver using only the native Deno functionality to serve both static and…

Assembled by the author

In Part 1, I introduced the idea of serving an existing WordPress site using JavaScript in a Deno-based server, a relatively new replacement for Node.js by its original author. My repository for this experiment is free and opensource at this link. In Part 1, we were able to successfully recreate the WordPress text and menus. Here we bring more key WordPress features to DenoPress.

Fixing CSS dropdowns

One nice thing about computers is that they let you know when you don’t really understand something. …

As any of my handful of followers knows, when it comes to coding, I’m a nut for simplicity. I’m a fan of PHP, and I use a lot of WordPress.

With the advent of Gutenberg, using WordPress got easier — but customizing it got harder. Suddenly, you needed both PHP and node.js servers to develop custom blocks. And I hate the deprecation hell that comes with Node.js. And I know there are lots of people who frankly prefer JavaScript/TypeScript to PHP.

Well, what about Deno — the wonderful remake by the same guy who developed Node.js? Could I create “DenoPress”…

Photo by Jan Antonin Kolar on Unsplash

Purpose of Part 3

  • Understand the basics of relational databases and be able to integrate them into web-based applications using PHP.
  • Learn about PHP extensions and how to use other people’s code in your web app.


  • Part 1 of this series — the basics of PHP
  • Part 2 of this series — PHP inter-page communications
  • A need for working with data. Databases are never easy to work with. I’ve tried to create the simplest possible introduction, but still — if you don’t need a database — don’t bother!
  • The basic concept behind databases — here is a great 5 minute YouTube tutorial (of which…

Photo by Austin Distel on Unsplash

Purpose of this part:

  • To be able to communicate between pages. For example, on one page you enter data, submit it and then display it on another page.
  • Click here to get back to Part 1


  • Basic understanding of HTML5 forms and inputs, Note — in the old days, in order to validate inputs or offer pop-up calendars, you needed to use javascript. Now HTML5 has that built in.
  • Basic understanding of HTML Tables.

Basic Concepts

A browser has 3 ways to communicate to the server:

  • GET (when you submit a form, placing the key/value pairs in the URL,
  • POST (when you submit a form in…

Photo by KOBU Agency on Unsplash

I have previously complained about how badly most tutorials are written. But can I take my own advice? I know some really smart people who have never actually coded but find they would like to do so— how would I advise them to get started?

Draft Outline for what I consider a “Good Tutorial”

  • Start with a clear purpose statement for the tutorial — why would one want to take it?
  • Identify the absolute minimum prerequisites, provide a link to a super-simple tutorial on those subjects.
  • Do a quick check that things are set up.
  • List and clearly state a short list of key principles or conceptual distinctions that…

I agree completely. My horrible experience with the deprecation hell of node.js wasted more of my time than any computer issue in my 50 years of coding. It led me to swear off frameworks in general. (see

Have more fun and produce better, faster, most maintainable apps.

I’ve been coding for more than 50 years, and one thing I’ve learned is to simplify, simplify, simplify. I believe coders should really understand why the computer does what it does. At its must basic level, a computer is a pretty simple gizmo. It can do some arithmetic, and it can do different sequences of steps given the result.

For many years, we coded in assembler or somewhat higher level languages compiled with libraries to handle higher level and standardized activities, like reading and writing files, drawing graphs or processing…

I’m a person who has learned to hate the Divi Builder. One of my favorite organizations recently adopted it, and wanted sister sites to match its style. The site looks nice, but if you want “normal” WordPress editors to add pages and posts without a big learning curve, they will be frustrated. They will have to at least learn how to “avoid” Divi builder and use the regular Gutenberg editor.

At first I thought — well, there are lots of free, existing WordPress themes out there and I’ll find one and tinker with its css. But there are almost no…

Free, no-ads, open source and so much more fun!

Twenty years ago, I wrote a version of FreeCell where each move only required one click. After all, the cards know where they should go, right? I got serious push-back from my FreeCell addicted friends, but I notice today many versions work this way. Given how much the web has changed, I recently rewrote it as a Progressive Web App (PWA), and wrote about it here on Medium which you can play here.

But why not Spider? The logic is a bit more complex, what with cards flipping over, multiple decks…

John Coonrod

A guy committed to human dignity for all.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store