Posted on

Nextgen Personal Technology Stack

Note: This page is a document of the next generation of webdev/devops from what is currently in place (granted, much out-of-date). What follows is a personal technology stack learning task list rather than a comment on the state of web development.

Updated - June 2019

2019-2020 Priorities

  • Focus on maintaining technologies that work good enough (WordPress/WooCommerce)
  • Keep awareness for those things that may be useful in the future, when/as needed
  • Probably mobile development first (2019), then machine learning (2020)

Short List

Latest Tech in Use:

  • Debian 9
  • PHP 7.3 / PHP-FPM
  • MariaDB 10.3
  • Nginx 1.15.7
  • LetsEncrypt Certbot
  • ChromeOS/Chrome
  • Android
  • WordPress/Woocommerce
  • VSCode
  • Git/Github/Gitkraken

Latest Tech of Interest:

  • Git / Github / Gitkracken + Globoards
  • Python / PyTorch (machine learning)
  • Apache Cordova (cross-platform mobile development)
  • Visual Studio Code (vscode) (atom replacement) - built on electron, like Atom
    • Migration completed 2019

Migration for Email services (away from Gsuite)

  • Iredmail (postfix/dovecot/roundcube+kolab-or-sogo)

Legacy Tech in Use (Migrate from in 2019-2020):

  • WordPress / WooCommerce (maybe keep)
  • Gsuite

Obsoleted Tech (No Longer in Use):

  • RHEL/CentOS (replaced by Debian)
  • Apache (replaced by Nginx)
  • OSX (replaced by Linux/ChromeOS)
  • IOS (except for cross-platform development/ibooks)
  • Atom (replaced by VSCode)

Gsuite - Obsolete - to Replace in 2019

Google Suite is already something to avoid, though it will be 2019 before this can be abandoned (with the exception of YouTube). Have to migrate off of the Email/Calendar suite and also the Gdrive file service. Very handy, though of course an obvious threat to privacy and security.

  • Replace - Task for 2019

ChromeOS - In Use

Possibly replace with some Debian, and of course Firefox for the browser. Need to do this on the Asus c101pa (if needed at all). Perhaps just keep it around as it currently stands (diversity of OS and increasing functionality) good for guest users of the computer. Generally satisfied as it actually improves over time, and is fairly lightweight.

Atom - Obsolete - Replaced in 2019

Redhat/CentOS - Obsolete - Replaced in 2018

  • Replaced with Debian - Completed

Apache - Obsolete - Replaced in 2018

Replacing Apache with Nginx. Apache is end-of-life for me by end of 2018. Already have this running on dev machines. See also, Nginx reverse proxy. More learning going on with this, but it is fairly stable. Need to do security audit.

  • Replaced with Nginx - Completed

PHP - Still in Use

Still in use, though the main apps are changing (see WordPress/Woocommerce). Move to PHP7.3, ignore HVVM/Hack.

  • Upgrade to 7.2/7.x - Completed

WordPress/Woocommerce - In Use

Keep for now until technical requirements demand replacement. If it were possible to replace with something lightweight but could still support email messaging/contact forms, ecommerce (stripe), and crm/email lists...

Python - Increasing in Use

In preparation for Lambda, Python should be used, as it is a first-class AWS Lambda (serverless) language. This may come in handy with IOT and Edge as well.

To be honest, using Python for the web is not the greatest approach (as the gain will be minimal compared with staying with PHP), however, for machine learning, this is pretty much the required environment.

It seems though that as of December 2019 the big use is Pytorch for Machine Learning.

This area of interest can be ignored or not, depending on present needs.

Fish shell / Bash shell

Still in use as it is definitely a useful shell environment, though I think Python is the thing to start using. See also Bash shell supplement not a replacement for Fish shell. See also: Bash shell scripting wikibook. Yeah, not entirely useful, just shows the strength of Fish. Ultimately Fish should be seen as obsolete with Python to replace it, perhaps 2020?

OSX - Obsolete - Replaced in 2018

  • Replaced OSX (Windows is already obsolete in my tech stack), and Amazon Linux (for servers), with Debian - Completed

IOS - Obsolete - Replaced in 2018

Replaced with Android. Still have to have one device around for some testing, though. Also, as a cross-platform app development target, still valid for iOS users.

MySQL aka MariaDB - In Use

Instead use file systems and SQLite database, mongodb, redis, etc. Actually MariaDB can support multiple engines, and this is the way to go. Goodbye Oracle!

  • Migrate to MariaDB from MySQL - Completed

Apache Cordova for Mobile development - To Learn

This is the go-to technology for mobile development. None better (perhaps?). I still think Kivy and Qpython are pretty cool.