The Curious Engineer

All blogs / Essays / personal

Pam The Webivore

thewebivore.com

Essays / personalJavaScript / TypeScriptEngineering management / careersMusic

Posts
369 from 6 Aug 2010 to 10 Feb 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://thewebivore.com/feed/

2026 1

  1. 2025 Year in Review

2024 4

  1. Back to office resistance is about autonomy, not location
  2. New podcast: Ignore All Previous Instructions
  3. Using Object.fromEntries to make a new Object
  4. 2023 Year in Review

2023 2

  1. Understanding npm “Could not resolve dependency” installation errors
  2. What to write about

2022 16

  1. 2022 Year in Review
  2. What happened next
  3. On doing nothing
  4. Using ffmpeg to cut/trim songs together with crossfade
  5. Improvisation and the pentatonic scale
  6. Atomic Habits: Book Review
  7. Why attracting remote workers means being a better city
  8. Twitter to Mastodon (and post deletions!)
  9. Labor and Leisure
  10. Is there a good computer job?
  11. You should quit
  12. Congratulations on your fake promotion!
  13. Pruning
  14. Anxiety is not a clean burning fuel
  15. Raise the money, then give it away: Reflections on a Giving Project
  16. 2021 Year in Review

2021 15

  1. Fetch the bolt cutters
  2. Testing a command inside a docker container (or getting an interactive session)
  3. Prioritizing Technical Debt as if Time and Money Matters (talk notes)
  4. A lot of it is timing: Reflections on a tech job hunt
  5. Missing pip in Python install
  6. MNAM: A method for defining your next role
  7. Do nothing scripting
  8. Functional options in Go
  9. Notes on Differential Privacy
  10. How Terraform’s simple graph concepts deploy complex infrastructure as code
  11. Project Brain States
  12. Unprecedented Times: A Socially Distanced Art Project
  13. When I’m 1000000
  14. Social media, or, towards a slower internet
  15. 2020 Year in Review

2020 24

  1. Developing the Postcard Wall
  2. Pandemic Chicken 🐔
  3. How I’m (trying) to stop overcommitting
  4. Fluid time: What’s on the freedom side?
  5. Hollow to solid or spun sugar development
  6. Excluding files in git grep
  7. The speed of time
  8. This is not a recipe
  9. I released an EP
  10. Time travel to combat despair
  11. The Postcard Wall Project
  12. The Art of Gathering Remotely
  13. !!con 2020 (#virtualbangbangcon)
  14. Notes from the May #p5hangout
  15. My music appeared in Women of React 2020!
  16. Featured in How I Work (from home) series
  17. Printing out a struct in Go
  18. My anxiety toolkit
  19. Live code stream for the Equinox!
  20. I made “Pits of Graph Theory” punk rock style patches!
  21. Oh no! Someone is incorrect on the internet!
  22. Impressions on working remotely
  23. Chesterton’s Fence and Maintaining a Codebase
  24. Refactoring legacy code with simple design (video reaction)

2019 23

  1. 2019 in review (bullets)
  2. Things (in Go) I’ve been learning this week
  3. Papers We Love Conf 2019
  4. Using “replace” in go.mod to point to your local module
  5. Thoughts on Emergent Strategy
  6. Notes from the North America GDE Summit
  7. Collaborating on live code audio using Troop
  8. I went to a hackerspace in Argentina and heard about cool art and tech things!
  9. Thoughts on Go slices and beginner’s mind
  10. Video review: The Economics of Open Source
  11. Let’s Go Video: Whats New in VS Code for Go
  12. Let’s Go Video: Observability in the Kitchen: Improve Your Breadmaking Skills w/OSS!!
  13. Let’s Go Video: Simplicity in Go
  14. On learning Go (and transitioning from JS)
  15. Let’s Go Video: The Legacy of Go
  16. My first day at HashiCorp!
  17. Reflections on StarCon 2019
  18. Recurse Center Mini Day 5
  19. Recurse Center Mini Day 4
  20. Recurse Center Mini Day 3
  21. Recurse Center Mini Day 2
  22. Recurse Center Mini Day 1
  23. Changes

2018 14

  1. 2018 in review (bullets)
  2. Algorave and Learning with LiveCode.NYC
  3. I was on the Cloudcast
  4. Community design with Mozilla Add-ons
  5. Why you should run your work machine on Linux
  6. The Multitude of Interfaces
  7. Broken bones (on recovery. burnout?)
  8. Do ask questions or, how we had a stereotypical conversation at a conference about being welcoming
  9. Serverless zine #0
  10. (Slides) Serverless and CatOps: Balancing trade-offs in operations and instrumentation
  11. Never Graduate Week 2018
  12. How your ask “to chat” about CTO roles really sounds
  13. Global Diversity CFP Day Recap (Philly edition)
  14. 2017 in review (bullets)

2017 10

  1. Only made possible because of Devs Like You
  2. Playing with ASTs in Python
  3. Strange Loop 2017 in Review – Day 2
  4. Strange Loop 2017 in Review – Day 1
  5. Honoring my future self
  6. Learning about math patterns (voronoi especially!)
  7. On podcasts
  8. Thoughts from Google I/O 2017 Days 2 & 3
  9. Thoughts from Google I/O 2017 (Day 1)
  10. The Serverless Revolution for Everyone

2016 22

  1. 2016 in review
  2. async/await and why it’s so great
  3. What I learned at Polymer Summit
  4. Object.assign is pretty rad!
  5. My #1 advice for getting into web development
  6. What is a melodica and why is it cool?
  7. Simple HTTP requests in Node (no packages)
  8. Checking out Create React App: Create React Apps without* Configuration!
  9. Thoughts on Cory Doctorow’s Keynote at HOPE XI
  10. 4 tips for being better at email introductions
  11. Angular 2 and Django too
  12. If you run Node on Lambda, you’re using Scott’s Node
  13. Beyond the resume is in beta!! (and, more on writing books)
  14. Using JavaScript for on-demand functions with AWS Lambda
  15. Troubles with interviews (and their solutions)
  16. Programming the PDP11 (cool video)
  17. “git butts” : Add your own commands to git! With Node!
  18. Bits of entropy, security, and possibly a new band name
  19. Philly Tech Week 2016 Retrospective
  20. A review of how to write
  21. A retrospective on working remotely 5000 miles away
  22. 2015 in review (bullets)

2015 44

  1. Please remove “junior” from your developer titles
  2. Free codes for React & Flux course
  3. Your REPL can teach you something
  4. Clojure Conj highlights
  5. Lua is weird!
  6. Learning more about security: Web app security tooling
  7. Notes from Strange Loop
  8. What I learned at OHSummit 2015
  9. Job hunting for developers: Shifting from skills to solving problems
  10. Accessing your local environment from a Windows VM (tutorial)
  11. How much does a website weigh?
  12. Where to learn about voice coding
  13. Résumés are garbage, part the second
  14. Firefox extension (jpm) tutorial
  15. 5 steps to contribute to open source software
  16. Burn your résumé: Finding your next job as an engineer
  17. Recurse Center: The return statement
  18. Tutorial: Deploying Dokku to DigitalOcean for excellent deploying goodness
  19. Recurse Center Week 12 (last week)
  20. Super simple environment variables in Node.js
  21. Recurse Center Week 11
  22. JavaScript Generators in 3 Minutes or Less
  23. Recurse Center Week 10
  24. Keep fun in computing
  25. Recurse Center Week 9
  26. Recurse Center Week 8
  27. Stop using “nerd” to describe people who like computers
  28. Recurse Center Week 7
  29. Recurse Center Week 6
  30. Introducing: MacVimSpeak, or, talking to your computer to use Vim
  31. Recurse Center Week 5
  32. Recurse Center Week 4
  33. Recurse Center Week 3
  34. Is Reactive Extensions for JS the framework that missed the wave?
  35. Adventures in data structures: Trees
  36. Recurse Center Week 2
  37. Recurse Center Week 1
  38. 2 step (guaranteed!) method to building a public profile as a developer
  39. Lean into simplicity
  40. Lessons from Forward2 + talk slides
  41. You are qualified to read an academic paper
  42. Themes from a year of mentorship
  43. What jQuery can teach you about monads
  44. Angry things about Apple Watch

2014 52

  1. 2014 in review (bullets)
  2. On authenticity
  3. Learning iOS’s Swift, for JavaScripters
  4. Choosing a JavaScript Framework slides + IT’S ALIVE (I think)
  5. A fantastic Hack the Universe (recap, show & tell)
  6. d3 is better and easier than I remember
  7. Scary Words in Programming Carnival Round-up
  8. Callbacks: Scary words in programming, episode 5
  9. You’re invited to the Scary Words in Programming Carnival!
  10. Recursion: Scary words in programming, episode 4
  11. Functors and monads: a twofer! Scary words in programming episode 3
  12. Transclusion: Scary words in programming, episode 2
  13. Scary words in programming, episode 1: Polymorphism
  14. Better innovation with better teams (and design thinking)
  15. Reflections on mentoring @ PennAppsX, and reasons to do it again
  16. Approaching error recovery
  17. Firefox decodes URIs for users?
  18. Why tech management will always be ‘the good ones’ from engineering, despite what tech management says (who came from engineering)
  19. Testing is not your lettuce
  20. My problem with pairing
  21. Why being a craftsman matters to me
  22. Continuously deploying your (free) OpenShift site with Travis CI
  23. 3 reasons you should take Coursera courses, ESPECIALLY if you went to university
  24. Favorite tools in JavaScript unit testing post up
  25. Tickets for LibertyJS are live!
  26. Modules in native JavaScript, compared to CommonJS
  27. This is what a CSS refactor looks like
  28. Jest from Facebook: Automagical mocking for tests if you’re into that sort of thing
  29. Just how blazingly easy it is to use the Karma test-runner
  30. Zero to Testing in JavaScript: the slides!
  31. We have a new podcast: Turing Incomplete
  32. More in front-end performance: surfnperf
  33. What I learned this week: What’s the deal with front-end performance?
  34. Testing is cool (especially in JavaScript)
  35. Don’t go it alone
  36. Using setTimeout to “win” a race condition when changing views
  37. Philly Tech Week Afterburn (a little late, perhaps, or perhaps just right)
  38. Absurdly simple proxying in Rails
  39. Web components … haven’t we done this before?
  40. Spring hacking season highlights and tips
  41. The big deal about web components
  42. LadyHacks 2014 Recap: Great folks, great teams, see you there next year!
  43. Ruby things I learned this week: present?, presence, and memoization
  44. 3 reasons why Dart’s so cool (from #flydart)
  45. Vim-fu: Recording a macro
  46. Facebook’s React, 8 months later (and where to learn about it)
  47. Cool word: Datensparsamkeit
  48. Now that jQuery’s not cool
  49. Book review: Testable JavaScript
  50. On making things and how far we’ve come
  51. JavaScript class launch! (peek inside for a discount code!)
  52. 2013 in review (bullets)

2013 57

  1. TIL: TATFT
  2. Random thing of the day: ASCII Star Wars
  3. When the computer doesn’t love you back (some notes on RSI and taking care of yourself)
  4. WTH *is* a framework?
  5. Will you support the Hacktory’s tech education and residency for artists?
  6. Metaphor of the week: Frameworks as sushi kits
  7. When it’s time to start speaking at conferences
  8. Pam, amateur humorist
  9. Trying out cryptography (and capture the flag)
  10. Video from JSConf EU now online
  11. Frameworks posts on the Safari Online Blog
  12. Ada Lovelace Day: Emma Allison and two more contemporary ladies
  13. Link dump from #SassConf
  14. Hey library! What’s your name! (and, let’s run arbitrary code in devtools!)
  15. BDD, Cucumber, and test-driven JavaScript
  16. Discount for the online JavaScript Summit
  17. Exactly WTH is up with $ in devtools
  18. JS for everyone: Materials for your next JavaScript workshop
  19. The tallest point between NYC and CHI — or, Pam’s new gig
  20. Photos from last week’s JavaScript fundamentals class
  21. Selenium, the most underrated tool for #opendata
  22. Future of JavaScript — the need to pay it forward
  23. #WWC2013 Wharton Web Conf recap 2013
  24. Selecting a Web Framework (Wharton Web Conf presentation)
  25. Making technical decisions (the results)
  26. How do you make technical decisions?
  27. Getting started learning (dev)ops
  28. Slides from Feminism & Open Source talk
  29. Datastorming: Coming up with good projects in open data
  30. Belated: I’m in print!
  31. Blah blah privacy (data, big stories, and community shrugging)
  32. Notes on #FluentConf 2013
  33. Choosing the best tool for the job
  34. Meet me in San Francisco?
  35. (PODCAST) Pam was on the Shop Talk Show!
  36. (VIDEO) Civic Hacking In Pursuit Of Democracy
  37. Developers and journalists speak different languages
  38. (VIDEO) Philly Tech Breakfast
  39. New project launch: Schoolhouse Watch
  40. Hello spring! (and hacking season!)
  41. Fluent webcast recording!
  42. As if I didn’t have enough to do … on organizing JavaScript in Philadelphia
  43. Upcoming (free!) webcast — O’Reilly Fluent Preview
  44. Get excited and make things: Rails Girls Philly
  45. Coding as literacy (plus 3D JS holograms!)
  46. Thoughts on #nicar13
  47. Sketches (notes) thus far from #nicar13
  48. Downloadable JavaScript Cheat Sheet
  49. Top resources for learning Django
  50. Wildly easy Django CSV imports
  51. An OpenGov (Open Government) Primer
  52. Agile living (and book review)
  53. Compass sprites and retina displays #sass
  54. On JavaScript Complexity
  55. Pam goes to art class – part 1
  56. Coverage of the White House Equal Futures Challenge Nationwide Codeathon
  57. 2012 in review (and a secret to chronicling your accomplishments)

2012 52

  1. Simplifying animation with CollieJS (plus, a dancing reindeer!)
  2. Just JavaScript: Prototyping with Node and Express
  3. Git Bisect: A Love Story
  4. What happens when a university education is free: Reflections on MOOC
  5. A good FAQ on RHOK
  6. Random Hacks Dec 2012 – who are you going to help?
  7. Book Review: Switch; a book about making change happen
  8. BarCamp Philly — amazing as usual
  9. Disaster, recovery, and coding for good
  10. Ada Lovelace Day: Justine Cassell and why I fell in love with Computer Science
  11. Short URLs, Big Data: Rundown of Hilary Mason at #ghc12
  12. Working together apart #ghc12 #tech
  13. The Tech Entrepreneurship Lab Session Rundown #ghc12 #tel
  14. Large conference survival guide #ghc12
  15. The Business Case for Craftsmanship
  16. Back to school plans
  17. Slides from Power Spriting with Compass
  18. I’m a community blogger for #ghc12!
  19. Some photos from the Geek Awards
  20. Flash and HTML5 are not equal
  21. Pam’s Intro to Git with GitHub
  22. Power-Spriting with Compass
  23. Less than a week left of Julython!
  24. Pam: The Public Speaker
  25. Interviewing Engineers for Engineers
  26. #WWC2012 Wharton Web Conf Recap
  27. Be a Library
  28. Oldie but goodie: Don’t Make Me Think
  29. Transitioning CSS: A basic introduction to CSS transitions
  30. How to ask for (tech) help when you’re helping others
  31. Hacking for Social Good Canvas, RHoK June 2012, and connecting problem-havers to solution-makers
  32. So you want to learn to code (IRL) — opportunities for women and their friends
  33. Test-Driven JavaScript … Today.
  34. Styling for Sass Addicts: A (short) Philly.rb Recap
  35. Building a great work culture: in praise of Hack Day
  36. Monday quote
  37. Men, sexism in tech, and a story about my dad
  38. The WhoPaid App Poster at PyCon2012
  39. PyCon 2012, iPython, and what you should be doing whether you went or not
  40. Eventbrite Poker Nite Photos from #PyCon
  41. Object Oriented CSS, SASS, and HAML
  42. RedSnakePhilly photo dump and recap
  43. “Go the Fuck Home” – my Ignite talk
  44. PyStar Philadelphia #3 (hint: great success)
  45. Philly Girl Geek Dinners #3: On ‘Shrink It & Pink It’: Designing Experiences for Women
  46. I love my students. Empowered learning FTW
  47. Don’t forget to be happy
  48. Embrace the artisan
  49. Just click the flippin’ button: Propose, poster, present
  50. 5 reasons to build your website in WordPress
  51. A fun ‘hey’ to the #techladymafia in DC
  52. Make everything better for everyone: Feminism for 2012

2011 18

  1. Seeing things as they are (an exercise in wireframing)
  2. PANMA Holiday Party 2011 (photos)
  3. Random hacks of kindness photos (scooped from elsewhere)
  4. Random Hacks of Kindness Philly Braindump
  5. In a meta-exercise, I’ll redesign my blog on my blog
  6. Being Geek and Being Reasonable
  7. CSS3 to make pretty buttons
  8. GHC Day 2 Recap: HTML5, long lunches, and cool posters
  9. Probability of political affiliation by analyzing Twitter data #ghc11
  10. Pretty stage at #ghc11!
  11. GHC Day 1 Recap
  12. Talker’s block
  13. Reasons why I’m wowed by Pottermore (or, also, why I love the Internet)
  14. An awesome CSS3 slidedeck
  15. Why you should use SVN etc. from the commandline
  16. Steal like an artist and other creative juicemaking
  17. GitHub and Koans
  18. Mmm, Ruby training. And unhappy mysql + snow leopard fix

2010 15

  1. Design Likes (insert thumbs up here)
  2. So I finally made a portfolio … er, kinda.
  3. Random: I made an animated GIF. Of otters.
  4. How I made GROUPINGS in Mailchimp play nicely with Drupal form input
  5. Bar Camp Philly
  6. Notes from the Tufte Course (Information Design)
  7. New button design from work
  8. Using bad code to stay on your toes
  9. Writing training materials (or, the Cousin Rule)
  10. How to add custom jQuery to a Drupal site (shortest tutorial ever)
  11. A meditation on email templates (and tables)
  12. IE Turns 15: “IE, messing up your design since 1995”
  13. A minor introduction to jQuery
  14. Installing Java on a Media Temple DV Server
  15. Becoming a reluctant sysadmin (fears of the command line)