Skip to content

Instantly share code, notes, and snippets.


Matthew Eppelsheimer MatthewEppelsheimer

View GitHub Profile
MatthewEppelsheimer / parse-caught-error.ts
Last active Dec 9, 2021
TypeScript function to extract message from an error of unknown type, useful in catch blocks UNTESTED
View parse-caught-error.ts
* Detect type of caught error and return its message, optionally running type-specific callbacks
* @example
* catch (err) {
* const { message } = parseCaughtError(err);
* console.log(message);
* }
* @NOTE Returns an option, to ease iterating to return other properties when needed e.g. stack
MatthewEppelsheimer /
Created Aug 15, 2018
EARLY DRAFT: What is Software Architecture Really

inbox / things to add to this:

  • Consider your “distribution boundaries”. Are you gluing separate components together? Be aware of performance tradeoffs for monolithic vs distributed systems. source.
    • “Every remote call travels on the cyber equivalent of a horse and carriage.”
  • How fine/coarse-grained are your interfaces? The more distributed, the coarser your interfaces should be
    • “All sorts of places in the system will change shape to minimize remote calls.”
  • Introduce public vs private methods.
  • Conflict between REST structural model and the need for “coarse-grained” interfaces at remote boundaries.
    • The “remote facade” pattern (same source) is a way to work around this: Certain objects that explicitly (unavoidably, to anyone using them)

Keybase proof

I hereby claim:

  • I am mattheweppelsheimer on github.
  • I am mattepp ( on keybase.
  • I have a public key ASA_tiocasAaFuFN0-RMDvcnHHVRNbVJe_qQSRPi02IQvQo

To claim this, I am signing this object:

MatthewEppelsheimer / get_post_thumbnail_without_dimensions.php
Created Sep 11, 2015
Return a WordPress image thumbnail without image dimensions
View get_post_thumbnail_without_dimensions.php
* Get an HTML img element representing an image attachment
* Based on wp_get_attachment_image(), without height and width.
* While $size will accept an array, it is better to register a size with
* add_image_size() so that a cropped version is generated. It's much more
* efficient than having to find the closest-sized image and then having the
* browser scale down the image.
* @since 2.0
MatthewEppelsheimer / enable-back-end-tablepress-shortcodes.php
Last active Aug 28, 2015
Enable TablePress shortcodes in WordPress' administrative back-end
View enable-back-end-tablepress-shortcodes.php
* Support TablePress shortcodes in the administrative back-end
* Hook to `admin_init`.
* @author Matthew Eppelsheimer
function rli_support_tablepress_shortcodes_in_admin() {

Bandwidthism is differential treatment based on bandwidth quality or perceived bandwidth quality. Bandwidthism is the systematic oppression of subordinated bandwidth quality classes to advantage and strengthen the dominant bandwidth quality classes. It’s the systematic assignment of characteristics of worth and ability based on bandwidth class.

Adapted from Class Action's definition of Classism

MatthewEppelsheimer / gist:6300605
Created Aug 21, 2013
An idea for Fractal to support classes packaged with themes to overriding/interrupt inheritance of Fractal plugin classes
View gist:6300605
// An idea for a way to always look in the child theme first, even if you're in a Fractal (parent theme) class.
// Every time you use would require_once for a file with a class you're about to extend, use fractal_require(), instead.
function fractal_require( $file_name_without_extension ) {
$overriding_file = get_stylesheet_directory() . "/fractal/$file_name_without_extension.php";
if ( file_exists( $overriding_file ) ) {
require_once $overriding_file;
return true;
// At this point, fall back to just require_once, and assume in the same directory
MatthewEppelsheimer / boilerplate_register_taxonomy
Last active Mar 4, 2016
WordPress register_taxonomy() boilerplate
View boilerplate_register_taxonomy
// Prepare post types to associate taxonomy with
// This will only return public post types (excluding for example attachments, revisions, and nav_menu_items)
$object_types = get_post_types( array( 'public' => true ), 'names' );
// Prepare args to register taxonomy
$args = array(
'label' => _x( 'Objects', 'object taxonomy label' ) // plural label
MatthewEppelsheimer / gist:4527277
Created Jan 14, 2013
Remove addition of " (Publication)" to WP Publication Archive title output. Note! This requires addition of the 'wp_pubarch_publication_title' filter to line 681 of
View gist:4527277
// Remove addition of "(Publication)" to WP Publication Archive title output
function rli_normalize_wp_pubarch_title_output( $modified_title, $original_title ) {
return $original_title;
add_filter( 'wp_pubarch_publication_title', 'rli_normalize_wp_pubarch_title_output', 100, 2 );
MatthewEppelsheimer / rli-wp-gitignore
Last active Dec 10, 2015
Ignore WordPress core files in our site-specific repos.
View rli-wp-gitignore
# --- Ignore uploads
# --- Ignore default content