How to Restart PiHole after a Reboot

You’re enjoying PiHole and then boom, something happens. System crashes. Power goes out. Water balloon hits the circuit breaker. You boot your Pi back up, but your PiHole is no longer runnning. You long for PiHole’s ad blocking capabilities. Let’s get your PiHole back up and running.

Fire up that command line.

pihole -d

The -d flag is to look for issues automatically.

ACF Hide Field if Empty

How to ignore or hide a field if it has no value?

This comes in handy with fields that are not required by the CMS user to fill out and will sometimes remain blank.

<?php if (get_field('email')): ?> 
   <?php the_field('email'); ?> 
<?php endif; ?>

Or if it is a sub field inside of the repeater loop.

<?php if (get_sub_field('email')): ?> 
   <?php the_sub_field('email'); ?> 
<?php endif; ?>

CSS Classes for Hiding on Desktop and Mobile

Here are some CSS classes for hiding a component on desktop and/or mobile. This seems a little dirty since you may ideally want components that are responsive. However, with some designs, you don’t have choice.

// LG =>1200px
@media (min-width:1200px){
   .hide-on-desktop {
      display: none;

// MD 992-1199px
@media (min-width:992px) and (max-width:1199px) {
   .hide-on-desktop {
      display: none;

// SM 769-991px
@media (min-width:769px) and (max-width:991px) {
   .hide-on-mobile {
      display: none;

// XS-Tablet 321-768px
@media (min-width:321px) and (max-width:768px) {
   .hide-on-mobile {
      display: none;

// XS-Phone =<320px
@media (max-width:320px) {
   .hide-on-mobile {
      display: none;

ACF Repeater Loop Ready for HTML

Why is this needed?

I use this loop all the time and I always have to close out each line of PHP in order to pepper it with my markup. So this is just a way to save a little time.

<?php if( have_rows('repeater_field_name') ): ?>
   <?php while ( have_rows('repeater_field_name') ) : the_row(); ?>
      <?php the_sub_field('sub_field_name'); ?>
   <?php endwhile; ?>
<?php else: ?>
   <!-- there are no rows -->
<?php endif; ?>

Directory Shortcuts in Linux

The situation

Often I end up going to the same directories in the terminal over and over again. Some of those directories are like 10 folders deep. It gets old tabbing through all those directories.

Linux saves the day

Use the link command to create a nickname for a directory path. (example below)

ln -s /home/whoa/crazy/uhhh/wow/there/are/a/lot/of/directories banana

So next time instead of typing that crazy long directory, all you have to type is banana.

-s is for a ‘soft link’. This just means that when that directory is deleted, banana will no longer be a valid shortcut.

Sara’s Salsa


  • Whole Tomatoes (1 can ~16oz)
  • Hot Rotel (1 can)
  • Cilantro (bunch)
  • Red Onion (half)
  • Hot Red Pepper Flakes
  • Salt & Pepper


  1. Chop up the onion.
  2. Throw everything into a blender.
  3. Hope for the best.
  4. Conduct a taste test.
  5. Put in refrigerator (~45 minutes).
  6. Serve chilled with chips.

Briefly unavailable for scheduled maintenance. Check back in a minute.

Sometimes when updating plugins or themes on a WordPress site you will receive the following error message, “Briefly unavailable for scheduled maintenance. Check back in a minute.

You’ll wait a couple of minutes and refresh the page only to STILL see the message. So now what?

Pop into your htdocs folder and delete the hidden .maintenance file that magically appeared.