• Tech Tips

    Keyboard Maestro “Insert text by pasting” Quick Tip

    “Insert text by pasting” is faster than “Insert text by typing” (which is rarely necessary in my experience).

    Unfortunately, using the paste method results in unwanted junk in your clipboard (unless of course this is also your intention). You can insert by pasting without having it store the text into your clipboard by adding a “Delete Past Clipboard” action just after the insert. Despite the name of the action, this will only remove the last item from your clipboard (not the entire contents of the clipboard).

    Screenshot_2015-11-23_05-21-34

  • DIY,  Photography

    DIY Panoramic Tripod Head

    Introduction

    You’re here because you want to take great panoramic shots, and you’re amazed by how expensive the off-the-shelf panoramic tripod heads cost, right? The key to a good panorama is to have your camera mounted such that the no-parallax point of your lens doesn’t move when you rotate the camera about any axis. This device achieves this with simple parts you can purchase at the hardware store. First, let me show you the end result:

    There are a few ways to build something like this. Originally I started with a design that was too complicated. I tried to have slotted brackets so that one head could work for any of my body+lens combinations. This proved to be very difficult and it looked pathetic (see bottom for photos). The cleanest solution I have come up with is to use a dedicated head with fixed-position holes for each body+lens combination. I really only use one lens for panoramas, so that was easy. This eliminates the need to mess with the rig when I want to shoot. I just mount the camera and go. No adjusting!

  • Tech Tips

    Installing ElasticSearch on Webfaction

    You read everywhere that setting up and running elasticsearch is very simple. In fact, it is. There are some hurdles to clear when you’re setting it up on Webfaction, however. These instructions will hopefully provide some guidance.

  • Development

    Adding Metatag Keywords to Search API Index

    For a great explanation of the implementation below, please visit http://enzolutions.com/articles/2015/06/02/how-to-add-customs-fields-to-solr-index-using-entity-api-amp-search-api/

    The following demonstrates how to add metatag keywords (from the Metatag module) to your Search API fields list, so that you can index them and make them searchable.

  • DIY

    DIY Lawn Bagger (for Fall Cleanup)

    Last spring I purchased a lawn sweeper. It was very useful after I dethatched my lawn, but it proved less effective against the barrage of leaves this fall. I decided I’d try my hand at crafting a lawn mower bagger. The first design worked pretty well, though it took some tuning. Unfortunately, it only lasted about 5 minutes as the entire discharge chute ripped off on a high-spot in the lawn.

    20151106_123305

  • Tech Tips

    Automatic Dropshadow and Border on Mac OS X Screenshots

    If you’re like me, you take lots of screenshots. I probably average 20 a day. Primarily I use CMD-SHIFT-4 and drag a box around what I want to capture. The result is exactly what I highlighted. Here’s an example:

    Screenshot_2015-10-09_09-53-06_original

    That looks fine, except there’s nothing that really helps the image stand out. It’s not ready for blog posts, documentation, or wherever else you’d like to use an image. I’ve approached the problem a few different ways in the past, but I’ve finally settled on a Keyboard Maestro-based solution for “Automatic” processing of these screenshots. I also have created a “Drop shadow” Service so you can apply a dropshadow to any image by right-clicking and using the Services menu.

  • Development

    Using Xdebug to Trace Functions

    I’ve been relying on Xdebug quite a lot in recent years to step through PHP code, analyze stacktraces, inspect variables, profile applications, and more. Recently I needed to find out why a function call was taking so long to execute. Using Xdebug’s trace functionality made this task pretty simple. Here’s how Xdebug describes function tracing:

    Xdebug allows you to log all function calls, including parameters and return values to a file in different formats.


    Those so-called “function traces” can be a help for when you are new to an application or when you are trying to figure out what exactly is going on when your application is running. The function traces can optionally also show the values of variables passed to the functions and methods, and also return values. In the default traces those two elements are not available.

    Having Xdebug trace your function calls is simple enough, and well-documented across the web. You can see my recommended settings at the bottom of this page, and here’s a good resource on the subject: http://devzone.zend.com/1135/tracing-php-applications-with-xdebug/

  • Radio Controlled

    Creating Scenery for the neXt Simulator

    I’ve spent the past few weeks learning how to build scenery for the neXt simulator. If you haven’t tried neXt I highly recommend giving it a shot. It is, without a doubt, the most realistic RC heli simulator I’ve ever used (and I’ve used all of the top applications). It is so good that I decided it was worth my time to try to recreate our local flying field in the simulator. The developer provided some basic documentation for the process, but there were a lot of gaps to fill (due to my inexperience with Blender, mostly). I had never taken proper panoramic photos. I didn’t even know what a panoramic tripod head was. Cut to today… I built my own panoramic head (I’ll blog about this soon), I’ve gotten good at creating panoramic photos, and I can work my way around blender pretty well (at least for the purposes of creating a proper 3D scene).

  • Development,  Tech Tips

    Automatic Screenshots of Drupal Content

    In an earlier post I recommended webkit2png for automatically screenshotting a list of URLs. A lot of time has passed since that post, and I’ve discovered a more robust tool. Pageres is incredible, and it has a CLI and an api.

    I’ll let you discover, on your own, what the Pageres tool can do. I needed to take screenshots of all of the content types on a site, at all of the important resolutions. Here’s a quick Drupal function I threw together to get N number of random nodes per content type: