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 wanted to use a database by Planet Scale, and I had some initial trouble setting it up on my Windows machine. Here’s how I got it up-and-running.

Planet Scale offers a database that- similar to Git- you can make changes in a “branch” and them push/deploy it to a main branch. These are not data-driven changes, but rather structural database changes — things like adding a new table or changing the datatype of a column.

Spoiler alert: the bulk of this article did not work for me, given my computer settings. The final solution is at the end!

Looking…


Many applications require a user to log in. A friend was trying to implement his version, and was concerned how to decrypt the password stored in the database. Below was my advice.

Take the password that the user entered and concatenate it with a standard string (unique to your app; make it up!).

This is called “salting a hash”

Then take that new string and encrypt it. Awhile ago I used PHP’s built-in function md5(), although visiting the site now it clearly says to not use it for this purpose!

Store the new encrypted value in your database.


Picture from w3resource.com

Sometimes you need to use the ORDER BY clause in SQL, even if you didn’t expect to use it.

Suppose you run this query:

SELECT * FROM Users

The query will usually return the rows back alphabetically- perhaps by the Primary ID (especially if that’s the first column in your dataset).

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