How to get website average latency in BASH
I was working on a project today and wanted to be able to get the average latency for an API that I was working on. Performance is a concern because we're running the API over a VPN, and then SSH tunneling over to another server. I wanted a quick way to do it and wrote a little bash function that will calculate the average for me. I couldn't find an example on how to do this online so I'm sharing in case anyone else runs into the same issue.
This is tested on Mac only. Add these two functions to your .bashrc and do a shellupdate in terminal to load the latest, or just grab my dotfiles from my github: https://github.com/gregvarghese/dotfiles
How to remove wrapping tags in PHP Storm
How often do you code something and need to delete a wrapping link or div? I was using PHPStorm and had grabbed some code from another file that had links in the tags which weren't needed in the new file. I didn't want to manually remove each link and after a quick look around PHPStorm's menus, discovered that PHPStorm has a really useful command to remove the wrapping element for you.
Select the element, then from the menu, choose Code > Unwrap/Remove... or use the keyboard shortcut, Command + Shift + Backspace and then choose the appropriate wrapping element to remove.
How to automatically install gulp dependencies
I created a website where I'm using gulp to create a minified version and had to switch to another computer. For whatever reason, gulp install wouldn't install the dependencies automatically, even when using the "npm-install-missing" plugin. Add this script to the beginning of your gulpfile.js before the requirements, and when you run gulp, it will install the dependencies automatically. Be aware you'll need to rerun your gulp command after the script completes.
Chrome Anchor Link Not Working Fix
One of my single page sites that had been live for months with no changes suddenly had the menu stop functioning in Chrome only. I can't find an exact reason for the break, but I did find a cross-browser JavaScript solve that fixes the issue nicely. Just add the snippet to your site and the links should work automatically. Note that this fix requires jQuery but can be converted to VanillaJS.
How to use Teensyduino to send cmd + enter
Recently we purchased a bunch of Teensyduino powered buttons for a trivia game we were building for a client's convention as a fun learning experience. Now that the conference is through, the buttons are sitting unused, and my boss asked me if I could reprogram one of them so he could use it to send emails through Outlook on Mac. It was a fun little exercise since I've never worked with programming Teensyduinos before. It turned out that this wasn't so complicated to accomplish. I figured I'd share the script in case anyone else would find it useful.
How to test email sending in Laravel 5.3 using artisan tinker
I'm building a Laravel app and ran into an error when trying to send mail but wasn't getting an error back since the request was posted through ajax. If you're trying to troubleshoot it, artisan tinker app is very useful to get more information on the error.
Fire up terminal/command line and run:
How to stop CouchDB on Mac OS
I have been working on a proof of concept using CouchDB. After getting the proof of concept working, I spun up a digital ocean droplet and proceeded to setup CouchDB on the server. I went to enable the SSH tunnel so I could access the CouchDB Futon instance and promptly ran into an error because my local instance of CouchDB was using the same port, 5984. I had a lot of trouble finding out an easy way to stop CouchDB because the documentation in the Wiki wasn't accurate:
Regex to parse date formats when unknown
I'm working on an app that will parse different file sources and aggregate it for a report. Of course, each format has a different date format and trying to parse it all has proved to be a pain. I wrote a regex that'll parse out just about every datetime format I've run into that I am sharing in case someone else finds it useful. I've put it on a Github gist along with a sample of the various dates I've tested it against and confirmed to work. If you find a format not covered by the regex, post a comment and I'll update the gist. Just a note that I haven't finished parsing the timestamp (e.g. 1997-07-16T19:20:30+01:00) format. The date portion does get extracted correctly so I left it in.
Copy File Context to Clipboard via Command Line, Git Bash (Mingw64), or Terminal
I've been spending more time switching from SVN to Git and learning the command line options. I'm finding a lot of the Mac Git terminal commands I run aren't the same in Git Bash (Mingw64). One of the commands I use is the pbcopy command to copy the ssh key to the clipboard to paste into Github and Bitbucket accounts. I'm starting to use it more as I am learning managing Linux servers and adding my key to login. I'm adding it here as a cheatsheet for myself but I thought others may find it useful. On Windows, you can run this command to copy your ssh key to the clipboard:
How to Copy and Paste into the Digital Ocean VNC Console
I recently signed up for Digital Ocean to test droplets for my development and linux management testing. I was securing the server and setup fail2ban, disabled the root login, and created a user account but forgot to change the user name from root to the user name I selected in my SSH client profile. I ended up locking myself out of the server and had to resort to logging into the admin panel on Digital Ocean's website and use their browser embedded VNC client to restore my access. I quickly discovered that one of the downsides of using this panel is that you can't copy and paste commands. Luckily there's a workaround and you can use the browser console to do sendkeys through Javascript.
Bring up the console in the browser developer tools. Here's a cheat sheet for keyboard shortcuts: