Tutorials Page 32
![Background Sync with Service Workers]()
Background Sync with Service Workers
Service workers have been having a moment. In March 2018, iOS Safari began including service workers -- so all major browsers at this point support offline options. And this is more important than ever -- 20% of adults in the United States are without Internet at...
![How to Change the WordPress Admin Login Logo]()
How to Change the WordPress Admin Login Logo
There are numerous content management systems that thrive these days but none are as prolific as WordPress. Every client wants the ability to change their website at a moment's notice and they want to do it themselves, and again, WordPress is the best fit for that.
![How to Change the WordPress Media Upload Directory]()
How to Change the WordPress Media Upload Directory
One thing I've always missed about the "old" way of web development was the simplicity of FTP. No deploy scripts, no fuss: simple drag and drop of files and the files are there. I've used FTP for assets on this blog for over a decade but...
![Goals for 2019]()
Goals for 2019
Every turn of the year is a new opportunity to start over, set goals, and renew optimism that time can heal wounds and drive us to change and achieve. I did really well with my 2018 goals: I started a fun podcast with
![How to Send an iMessage From Command Line]()
How to Send an iMessage From Command Line
As somewhat of a recluse, believe me when I say that text messages, instant messenger, and iMessage have relieved me of loads of anxiety and wasted time with short, meaningless voice chat. It's been a decade since these communication types have become popular so we've moved...
![How to Add a User Stylesheet in Firefox]()
How to Add a User Stylesheet in Firefox
While many like to complain about CSS these days, it's important to remember how amazing CSS is; the CSS language is:easy to learneasy to readeasy to writesimple to understandWeb developers and designers alike love that CSS allows us to take text/media and present it in...
![Nested Destructuring]()
Nested Destructuring
Destructuring in JavaScript can initially feel confusing but the truth is that destructuring can make your code a bit more logical and straight forward. Destructuring does look a bit more complex when you're looking for a property several objects deep, so let's have a look...
![Force Download with JavaScript]()
Force Download with JavaScript
Force download scripts have been an important part of internet usability for a long time. I can attest to that by the number of times I've implemented this feature on the server side and the popularity of my PHP Force Download post, even to this...
![CSS Ellipsis Beginning of String]()
CSS Ellipsis Beginning of String
I was incredibly happy when CSS
text-overflow: ellipsis(married with fixedwidthandoverflow: hiddenwas introduced to the CSS spec and browsers; the feature allowed us to stop trying to marry JavaScript width calculation with string width calculation and truncation. CSS ellipsis was also very friendly to...![JavaScript waitForever]()
JavaScript waitForever
Writing mochitests for new features in DevTools can be difficult and time-consuming. There are so many elements interacting in an async manner that I oftentimes find myself using the debugger to debug the debugger! In the case where it's unclear what interaction isn't working properly, I...








