Developers are wizards. They’re like magic people. How do you place a price on that? You got to think of yourself as a wizard and then maybe you could price more appropriately. From my view, I just see magic happen.
All the things, keeping it clever…🤓
Developers are wizards. They’re like magic people. How do you place a price on that? You got to think of yourself as a wizard and then maybe you could price more appropriately. From my view, I just see magic happen.
When working on projects with your local computer, it’s essential to be able to test new versions of the languages you’re using. Browser JavaScript is fairly straightforward: use the browser, make sure it’s updated, etc.
However, with server-side languages (like PHP, NodeJS, Python, Go, etc.), there’s a little more nuance. Some systems come with languages installed on them (I tend to work on a Mac), but they usually come with a single version, and there isn’t a UI or straightforward way to update them.
We tend to have vertualized environments for this kind of thing, but if you’re looking to install and easily switch between local versions versions of a language you’re running, these two repositories might be helpful.
Note: I’m on a Mac, so these are what I use.
I’ve been using Homebrew PHP for a bit now and really like how easy it is to get, use, and upgrade different PHP versions.
There are installation instructions in the Github repo, as well as commands for downloading, upgrading, and changing PHP versions. Since those commands are hard to remember, I’ve created a few bash functions and put them in my .bash_aliases
file:
# PHP version management for Homebrew PHP
# https://github.com/shivammathur/homebrew-php
phpget () { brew install shivammathur/php/php@"$1" }
phpswitch () { brew link --overwrite --force shivammathur/php/php@"$1" }
phpupgrade () { brew upgrade shivammathur/php/php@"$1" }
Now if I want to switch to a different PHP version, I just type phpswitch 8.2
into my terminal and I’m up and running with 8.2.x.
This has made testing new PHP features and staying up to date with package requirements easy.
Similarly, using Node Version Manager has been a breeze for switching between versions of NodeJS.
Installation instructions and commands are available in the repo.
Here are some examples of commands you can use (from the repo):
$ nvm use 16
Now using node v16.9.1 (npm v7.21.1)
$ node -v
v16.9.1
$ nvm install 12
Now using node v12.22.6 (npm v6.14.5)
$ nvm ls
v10.23.0
v12.20.0
v14.18.1
-> v16.15.0
system
default -> 12.20.0 (-> v12.20.0)
node -> stable (-> v16.15.0) (default)
stable -> 16.15 (-> v16.15.0) (default)
$ nvm ls-remote
(will output all the versions available to install... too many to list here 🤓)
Easy as that… and pie 🥧 😋.
Photo by Ilya Pavlov on Unsplash
Every now and then, fresh start is a good idea.
These are some notes and links I’ve accrued from resetting my Macbook a time or two.
These are just notes and links, they might be non-sensical, if you think I should polish them up, let me know.
Pretty much in this order…
In MacOS Monterey (at least), you can disable this in the System Preference (thank goodness!), otherwise, you can try:
###Catalina
# Disable:
sudo nvram SystemAudioVolume=%80
#Enable:
sudo nvram -d SystemAudioVolume
###Others
# Disable
sudo nvram StartupMute=%01
# Enable (why, I don't know)
sudo nvram StartupMute=%00
brew install
everything else
brew install \\
4k-video-downloader \\
alfred \\
amazon-music \\
authy \\
bartender \\
balenaetcher \\
bitwarden \\
boop \\
cleanmymac \\
clipy \\
discord \\
disk-inventory-x \\
firefox \\
fork \\
google-chrome \\
insomnia \\
kindle \\
lastpass \\
lens \\
licecap \\
local \\
macdown \\
mamp \\
nosql-workbench \\
notion \\
obs \\
obsidian \\
oracle-jdk \\
pgadmin4 \\
postman \\
rectangle \\
rocket \\
screaming-frog-seo-spider \\
sequel-ace \\
simplenote \\
skitch \\
slack \\
spotify \\
tableplus \\
toggl-track \\
transmit \\
tunnelblick \\
visual-studio-code \\
vlc \\
whatsapp \\
zoom \\
npm install -g gatsby-cli netlify-cli serverless trash-cli typescript
composer global require laravel/installer
code
CLI will need to be installed:
Get a list of what I have installed:
code --list-extensions | xargs -L 1 echo code --install-extension
Will output something like (copy, paste and hit enter in Terminal)
code --install-extension aaron-bond.better-comments
code --install-extension akamud.vscode-theme-onedark
code --install-extension alexcvzz.vscode-sqlite
code --install-extension anthonydiametrix.ACF-Snippet
code --install-extension apollographql.vscode-apollo
code --install-extension bmewburn.vscode-intelephense-client
code --install-extension calebporzio.better-phpunit
code --install-extension dbaeumer.vscode-eslint
code --install-extension dsznajder.es7-react-js-snippets
code --install-extension eamodio.gitlens
code --install-extension EditorConfig.EditorConfig
code --install-extension esbenp.prettier-vscode
code --install-extension fabiospampinato.vscode-highlight
code --install-extension file-icons.file-icons
code --install-extension GraphQL.vscode-graphql
code --install-extension hbenl.vscode-mocha-test-adapter
code --install-extension hbenl.vscode-test-explorer
code --install-extension ikappas.phpcs
code --install-extension mariusschulz.yarn-lock-syntax
code --install-extension mgmcdermott.vscode-language-babel
code --install-extension mikestead.dotenv
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-vscode.test-adapter-converter
code --install-extension neilbrayfield.php-docblocker
code --install-extension nikitaKunevich.snippet-creator
code --install-extension onecentlin.laravel-blade
code --install-extension onecentlin.laravel5-snippets
code --install-extension patbenatar.advanced-new-file
code --install-extension persoderlind.vscode-phpcbf
code --install-extension Prisma.prisma
code --install-extension ryannaddy.laravel-artisan
code --install-extension sleistner.vscode-fileutils
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension tungvn.wordpress-snippet
code --install-extension wix.vscode-import-cost
code --install-extension wordpresstoolbox.wordpress-toolbox
code --install-extension xabikos.JavaScriptSnippets
code --install-extension xdebug.php-debug
Chrome: Sign into accounts, make sure to open preferences, and “On startup” should be set to “Continue where you left off”.
intellij idea – Code reformatting on save in PhpStorm or other jetbrains ide – Stack Overflow
PHP CodeSniffer and Code Formatting
aws configure --profile strattic-dev
it.Third party mouse issues: https://www.isiko.de/how-to-disable/
Connecting iMessage from iPhone: https://support.apple.com/en-us/HT208386
“laptop computer 2006 to current” by elizabeth.hargis is marked with Public Domain Mark 1.0.
Static, headless, decoupled, Jamstack, serverless (geez, are there any more names for this stuff?!) sites have already made their way into the mainstream of WordPress and other CMS development. While these sites offer speed, scalability, and security, there are also inherent pitfalls and “gotchas” to be aware of when building in this ways for WordPress and other CMS platforms. We’ll define some terms, talk about how to frame the issues of working in this way, and look at several options for building out reliable and resilient solutions for customers and clients in this area.
(more…)I know the title is a mouthful, but, this was a lot of fun to put together 🤓…
This talk was for Certified Fresh Events (CFE.dev), and this was the abstract:
(more…)At over 40% of the web, WordPress maintains a massive footprint on the Internet. While this platform, with its 20+ years of code, can easily be dreaded, misunderstood, and dismissed as antiquated, WordPress continues to evolve with the latest JavaScript technologies, is used and is beloved by marketers and enterprises to manage their content (that is, there is a lot of capital behind this CMS!). In this talk we’ll cover what you need to know about WordPress code, database, and file structure, as well as a development and deployment workflow that will serve you well in the headless/static ecosystem, and show you how to avoid common pitfalls of mixed up code and overwritten production databases.
From CFE.dev