Real World NodeJS w/ Continuous Integration

Running a NodeJS / Express / PM2

PM2 basically deamonizes node express... and when new files are uploaded need to run "pm2 restart"

A TeamCity plugin to ssh and run the above command is a must, and I can't seem to find one that exists.

I wrote a simple PowerShell script to execute PLink (from Putty) but will fail if the host thumbprint isnt already in the list of cached entries. Plink does provide means to enter the location of the private key file, but another/better solution ahould be used.


Follow-up: The TeamCity plug-in "Deployment" or "Deployer" contains this SSH Exec build runner... and a few others on the team are using it in their own projects. It really is a time/life saver.
If you're seeing this... This site is for my personal use, until I can spend more time to dedicate. Note that a previous statement about this site was a bit more frank and this site was never used -- please pardon if offended. :)

Simple/Easy JS Click image switcher

This is pretty raw b/c out-of-the-box, Blogger doesn't support code blocks... but this is better than the empty page that existed.
<script>
var onImg= "on.jpg";
var offImg= "off.jpg";
</script>
<img src="on.jpg" onclick="this.src = this.src == offImg ? onImg : offImg;"/>

  • onImg and offImg represent the on/off versions
  • onClick is a ternary expression that looks as the src filename, and replaces its value with the not-selected filename.


  • Pretty simple actually, but shows off the power of a simple ternary expression in JavaScript.

    The Elder Scrolls: Oblivion - 2023 Experience

    This article is a WIP.  Setting up Oblivion in 2023 on a Steam Deck (w/ SteamOS)  Install from Steam  Vortex Experience (post base mod tools...