My latest mini-side project is a Chrome Extension that adds two additional methods to search: one via the search bar and one in the right click menu.

Similar to my “Search Funnel” Chrome Extension (also an app for Android and iOS), this saves you the step of visiting the website prior to searching.

Enhanced Search Bar (Feature 1 of 2)

This targets those who prefer keyboard shortcuts and minimize mouse usage.

Pro Tip: the keyboard shortcut to go to the search bar is Ctrl + L (Windows) or Command + L (Mac)

In the search bar, simply type two periods (“..”) and then hit space.


I previously wrote a tutorial on creating a simple PHP Contact form; this is Part 2 of 2 where I go over some more advanced techniques.

Issue: Who is the email from?

So far we can send an email, but it comes “from” whatever the default configuration was set up as. By this, I mean that the e-mail may come from someRandomUser@yourDomain.com. While this is functional, we can change who the email comes “from”. This serves two purposes:

  1. Less of a chance it will end up in spam/junk
  2. It’s more professional if you use this code to email your users (and not just yourself)

The PHP…


This is a basic tutorial will show you how to create a Contact Form for your website that will send you an email. This is commonly used to collect feedback from users without them having to open their email client manually to send you an email. In this example, we’ll be coding in PHP.

Note: if you’re looking for a WordPress solution, I instead recommend using the plugin “Contact Form 7”. My tutorial is for those who want to type PHP code.

We need two web pages:

  1. The page where a user can enter data in (ex. …


Screen recording above is in slow motion to demonstrate the concept

Using a sequence of keyboard shortcuts to copy a formula across multiple rows/columns in Excel- instead of a mouse- is the greatest time saver I have.

My most common use-case is when I have a formula at the top right of my data that I need to paste it downwards, filling all cells in the right-most column. While this can be done with the mouse, I find it faster to use keyboard shortcuts.

In this example, I will assume the formula in Cell C2 needs to be copied down to through Cell C7:


You can get the last cell in Excel using the following line of VBA code:

ActiveCell.SpecialCells(xlLastCell).Select

However if your dataset was modified (specifically, if you deleted rows), then doing that won’t get the right value. It’ll return what the value was before the data was modified.

Instead, I use the script below.

Get the Count of Rows

I often need to loop through the entire dataset. I first select Cell A1, and then I continue down to the next row until there’s a blank. …


When I was first starting to write PHP, most tutorials I found placed the HTML output inside of the PHP. It’ll have an entire block of code that is only PHP, and it prints out HTML (and CSS and JavaScript for that matter).

There’s a better way though.

Take a look at lines 1 to 15 below. It does the same as lines 20–32:

The second section is easier to read (and write!).

A web server ultimately evaluates all of the code and prints out HTML. It doesn’t matter if you write the HTML in, or out, of the…


A best practice in how to organize your PHP files.

Final output of what we’ll be making

A friend of mine needed a PHP template, where he can easily modularize different parts of this site. By this, I mean he’d have a separate file for the “navigation” and he can just include that file in his code where he wants it to appear. Same thing for the “footer” and other aspects of the site.

As mentioned in my book on PHP, there are two common methods I use:

- “including” files where needed

- creating a PHP function, and calling that as needed

My book goes through…


I have a script that imports data from Excel into my database, but I find it helpful to remove certain rows where there was no real value (pun intended! 😅).

By deleting these values, the import process will be faster!

My use-case often involves running an aggregated query on a specific field. If that field has a value of “zero,” then I don’t need to import the row in.

The original dataset came from a Cross Tab / Pivot Table and was transposed (I actually have a script for this). …


I recently finished reading The 11 Laws of Likability, and here are my favorite quotes:

“Cultivate the connections that you want to have, not the ones you think you should have.” ~ Page 16

“Holding ourselves back may keep us safe, but it also means sacrificing how much we can grow and limiting what we can achieve.” ~Page 30

“… it is so critical to stay open to the notion that our perceptions might not be entirely accurate, and to continually ask ourselves, ‘How else can I interpret this situation?’ By staying mindful of different possibilities and realities, we create…


I just finished reading The Icarus Deception by Seth Godin, and wanted to share my top five quotes:

“Just because you’re winning a game doesn’t mean it’s a good game.” ~ Page 30

“An unheard symphony isn’t a symphony; it is notes on paper. Art doesn’t become art until it meets and audience.” ~ Page 128

“The danger is in using someone else’s ruler to measure your art.” ~ Page 160

“It’s unlikely that you’ll create something scarce without doing something risky to get there.” ~ Page 177

“[She] understood that her best asset wasn’t the secrets of what she’d learned; it was the guts to do the next thing.” ~ Page 222

Steve Sohcot

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store