║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
╟┐ ┌╢▐
║ I've become a big fan of word games over the past few ║▐
║ years. First starting with mini crosswords, then upgrading ║▐
║ to full-sized crosswords, eventually I discovered NYT ║▐
║ Spelling Bee, and most recently joining in on Wordle craze. ║▐
║ Word games consume large portions of my downtime as I find ║▐
║ that as relaxing and I do mentally challenging. ║▐
║ ║▐
║ Earlier in the year, I was out for a run, and I had an idea ║▐
║ for a word game. The concept was a play would start with a ║▐
║ short-ish word and the challenge would be making a series ║▐
║ of single-letter changes to modify that word to eventually ║▐
║ match a completely new word, all while ensuring each ║▐
║ single-letter change resulted in a dictionary-verified ║▐
║ word. ║▐
║ ║▐
║ Over the next few days and runs (I do a lot of my best ║▐
║ thinking while running), I was able to refine the interface ║▐
║ and mechanics. The starting and ending word would be given ║▐
║ up front, the list of word modifications would be shown and ║▐
║ change count would be tracked, and there needed to be a ║▐
║ defined number of steps to get from starting word to ending ║▐
║ word. I still needed a theme, and again during a run, I had ║▐
║ my eureka moment, giving the game a golf theme! ║▐
║ ║▐
║ I'm not a golfer, so I had to do a little research, but I ║▐
║ was immediately struck by the idea that the recommended ║▐
║ number of modifications to the starting word could be par. ║▐
║ That would set up an opportunity for players seeking a ║▐
║ challenge to try and find ways to get to the ending word in ║▐
║ less than par, an important part of golf. As I continued ║▐
║ down this theme, everything seemed to easily fall in place ║▐
║ each modification could be called a stroke, if the player ║▐
║ needed to backtrack it could be called a mulligan, the ║▐
║ player's rank would be a matter of strokes relative to par. ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ I created a few proof-of-concept games and had my friends ║▐
║ and family play for feedback. Eventually, I landed on five ║▐
║ strokes/modifications feeling like the right amount. It ║▐
║ also helped to limit word size words with less than four ║▐
║ characters made games too easy, and words with more than ║▐
║ seven became too restricting. ║▐
║ ║▐
║ Finally, I had a game concept and name (I liked ParFive ║▐
║ since it alluded to the game's most consistent feature), ║▐
║ but I needed an algorithm for generating the puzzles. The ║▐
║ hardest part of this entire process was refining a ║▐
║ dictionary file to choose words from. I ended up basing my ║▐
║ dictionary word list on SCOWL's word lists, while filtering ║▐
║ the list through Luis von Ahn's offensive/profane word list. ║▐
║ In the end, I had two different dictionaries, a list of ║▐
║ more common words I could generate puzzles from, and a more ║▐
║ expansive list that users could verify words against, ║▐
║ giving more opportunity to complete puzzles under par. ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ ║▐
║ The puzzle generation algorithm is still a work in ║▐
║ progress, but in its simplest form, it begins by picking a ║▐
║ starting word from my common words list at random. Then, it ║▐
║ creates a list of words it can branch to next my making a ║▐
║ single-character modification. A word is chosen from that ║▐
║ list and random, and the process repeats four more times to ║▐
║ get the ending word. The algorithm works similarly to a ║▐
║ one-way function, as it's easy to generate the puzzles, but ║▐
║ harder to retrace the path once given the output. ║▐
║ ║▐
║ ParFive is live, and it is updated daily. Putt your word ║▐
║ skills to the test and give it a try! ║▐
║ ║▐
║ Play ParFive! ║▐
╟┐ ┌╢▐
╟┐ ┌╢▐
║ Part hardware hacker, part creative technologist, and part ║▐
║ human-centered designer thriving at the cross-section of ║▐
║ engineering and design. ║▐
║ ║▐
║ Led to engineering through my love for music, art, and ║▐
║ math, I hold degrees in electrical, computer, and music ║▐
║ engineering. Following a stint in academia, I joined IDEO ║▐
║ as a senior electrical engineer where I contributed ║▐
║ creative problem solving and prototyping fluency to a ║▐
║ breadth of projects ranging from vehicles of the future, to ║▐
║ life-changing medical equipment, to innovative children's ║▐
║ toys. Most recently, I was at Delve and now Sundberg-Ferar, ║▐
║ diving deeper into engineering for production, and working ║▐
║ on bringing ideas and prototypes to reality. ║▐
║ ║▐
║ Outside of work, I enjoy creating rotoscopes and ║▐
║ illustrations, reverse engineering electronic toys, and ║▐
║ taking a break from screens by running, biking, and camping ║▐
║ in the great outdoors. ║▐
╟┐ ┌╢▐
║ -=≡≡≡≡≡≡≡≡ MS in Electrical and Computer Engineering ≡≡≡≡≡≡≡≡=- ║▐
║ School .... University of Delaware, Newark, DE ║▐
║ Grad year . 2012 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡ BEE in Electrical Engineering ≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ School .... University of Delaware, Newark, DE ║▐
║ Grad year . 2011 ║▐
╟┐ ┌╢▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡ Senior II Electrical Engineer ≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... Bresslergroup / Delve, Philadelphia, PA ║▐
║ Key roles . Developed embedded hardware for diagnostic devices ║▐
║ . Developed embedded firmware with precision-timing ║▐
║ . Designed for manufacturing ║▐
║ Years ..... Nov '20 - Apr '22 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ Senior Electrical Engineer ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... IDEO, Chicago, IL ║▐
║ Key roles . Specialized in rapid hardware prototyping ║▐
║ . Developed embedded and front-end software ║▐
║ . Designed human-centered solutions for clients ║▐
║ Years ..... Sep '14 - Oct '20 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ User Experience Intern ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... Shure, Niles, IL ║▐
║ Years ..... Summer '13 & Summer '14 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ Graduate Research Assistant ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... Univ. of Miami, Music Eng Dept, Miami, FL ║▐
║ Years ..... Aug '12 - May '14 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ Co-Founder and Shop Manager ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... Newark Bike Project, Newark, DE ║▐
║ Years ..... Oct '11 - Aug '12 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡≡≡ Undergrad/Grad Research Assistant ≡≡≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Company ... Univ. of Delaware, Elec/Comp Eng Dept, Newark, DE ║▐
║ Years ..... Feb '09 & Aug '12 ║▐
╟┐ ┌╢▐
║ -=≡≡≡≡≡≡≡≡ Languages ≡≡≡≡≡≡≡≡=- ║▐
║ C, C++, Obj-C HTML, CSS Spanish (int) ║▐
║ Basic Assembly Javascript Japanese (beg) ║▐
║ Matlab Python ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡ Software ≡≡≡≡≡≡≡≡≡=- ║▐
║ Adobe CC Autodesk Fusion Microsoft 365 ║▐
║ ║▐
║ -=≡≡≡≡≡≡≡≡≡≡ Other ≡≡≡≡≡≡≡≡≡≡=- ║▐
║ Screen Printing Bike Mechanic Furby Technician ║▐
║ Sketching Illustrating ║▐
╟┐ ┌╢▐
╟┐ ┌╢▐
╟┐ ┌╢▐