Megan Taylor

front-end dev, volunteacher, news & data junkie, bibliophile, Flyers fan, sci-fi geek and kitteh servant


I’m working full-time on my side-project-turned-startup, a mobile canvassing app called Reach! I also volunteer with CodeNation (formerly ScriptEd) to teach code to high school students. Some of my projects are on GitHub. I blog about what I’m learning and random tidbits that catch my fancy.

Recent Work



BMW 7 Series Innovation Overload

The Story Exchange

Recent Posts


Things That Happened in 2018

Fewer than the usual number of walking and eating visits with Marla, but I did go visit her in NJ.
Got involved in politics for the first time with Alexandria Ocasio-Cortez’s primary campaign.
Spent a couple of days walking around Philly with my best friend.
Saw Flogging Molly and Dropkick Murphys.
Built a mobile canvassing application with people I met while working on Alexandria Ocasio-Cortez’s primary campaign.
Had a health scare, but everything is fine. :D
I kept doing CrossFit, didn’t die, and have gotten much stronger.
Another great year of teaching with ScriptEd.
I have continued to shave my head.
I voted in 2 primaries and one general election.
I attended a family reunion in Indiana and met a whole bunch of people I’m related to but had never met before.
Kyle and I celebrated our 8th year of mawwidge.
I tweaked a tendon in my shoulder early in the year and healed quickly, thanks to PT, but missed the CrossFit Open.
My best friend came to visit me and I took him on a four-day food tour of NYC, working our way from Flushing to Lower Manhattan.

And probably a lot of other stuff I can’t remember right now!

December 31, 2018 | Comments Off on Things That Happened in 2018 | Categories: Posts | Permalink


Permutations vs Anagrams vs Palindromes

Check Permutation: Given two strings, write a method to decide if one is a permutation of the other.

I’m working through algorithm exercises with a group of people, and there was a lot of confusion about what permutation means, and how it differs from anagrams and palindromes.

So, to clarify:

A permutation is one of several possible variations, in which a set of things (like numbers, characters or items in an array) can be ordered or arranged. A permutation of characters does not have to have meaning.

Example: Given the string abcd, the permutations are abcd, abdc, acbd, acdb, adbc, adcb, bacd, badc, bcad, bcda, bdac, bdca, cabd, cadb, cbad, cbda, cdab, cdba, dabc, dacb, dbac, dbca, dcab and dcba

An anagram is a word, phrase, or name formed by rearranging the characters of a string. An anagram must have meaning, it can’t just be gibberish.

Example: These words are anagrams of carets: caters, caster, crates, reacts, recast, traces

A palindrome is a word, phrase, or sequence that reads the same backward as forward. A palindrome must have meaning, it can’t just be gibberish.

Example: Civic, level, madam, mom and noon are all palindromes.

All palindromes and anagrams are permutations, but not all permutations are either anagrams or palindromes.


Documenting a Clean MacOS Mojave Install

I’m reviving a 2013 MacBook Pro with a clean install and fresh setup. This is mostly documentation for myself.

System Preferences

Install some apps

Chrome Sync + Extension Settings (must check each extension and copy from previous settings manually)
Mac App Store Apps


At this point I decided to take the opportunity to learn something new. A coworker had recently taught us about dotfiles at our weekly tech check-in, so I wanted to see if I could install the rest of my apps using Homebrew.

I installed Homebrew and Homebrew Bundle and created a Brewfile based on what I had installed on my work machine. I created a dotfiles folder in my Documents folder and stored the Brewfile in the dotfiles folder. Then I opened that directory in Terminal and ran brew bundle.

Mischief managed!

Last couple of steps to reach basic usability:

  • make bash auto-complete case insensitive with echo "set completion-ignore-case On" >> ~/.inputrc
  • setup git/ssh keys

At this point it’s been about 1.5 hours since I started.

My Specific App Setup / Persnickety Shit

Add licenses for Alfred, Bartender, BetterTouchTool and HyperDock
Setup/log into Airdroid, Alfred, Bartender, BetterTouchTool, Franz, HyperSwitch, HyperDock, Kindle, ReadKit, Slack, Spillo, Stretchly, Todoist (copy settings for ReadKit and Spillo from previous settings manually)
Add Spillo, ReadKit, Chrome, Slack, Franz to dock
Install SetApp apps
Customize right-click menu
Enable dragging by swiping on trackpad:
System Preferences > Accessibility > Mouse & Trackpad > Trackpad Options > Enable dragging
Enable git colorized output: git config --global color.ui auto
Setup VSCode with Settings Sync extension (Gist)
Add git auto-completion:

November 8, 2018 | Comments Off on Documenting a Clean MacOS Mojave Install | Categories: Posts | Permalink


Reducing dependency on console.log

A co-worker recently brought to my attention that I always reach for console.log when I’m trying to figure out why some code is not behaving as I expect. It’s rather like always reaching for a hammer and ignoring the screwdrivers and wrenches. Sometimes a hammer is the right tool. Sometimes it’s not. Ultimately, scattering console.log around your code like fairy dust is not a particularly effective debugging method.

These are some things I’m reading to branch out and get comfortable with more debugging tools and techniques:

I hope these links are helpful to others looking to improve their debugging processes!

October 26, 2018 | Comments Off on Reducing dependency on console.log | Categories: Posts | Permalink