41554 blogs · [ { "id": "01a0871e-95fe-73bd-be4b-992b8980e3cd", "title": "Surviving Cancer Doesn't Suck", "url": "https://abbeyperini.com/blog.html?blog=surviving-cancer", "published_at": "2026-01-06T04:00:00+00:00" }, { "id": "01a0871e-95fe-73bd-be4b-992b8a481a64", "title": "Gang of Four Design Patterns in Memes - Creational", "url": "https://abbeyperini.com/blog.html?blog=GoF-1", "published_at": "2025-08-14T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560916bd87e", "title": "How To Reload a Page Whenever a User Makes a Change with React/Redux", "url": "https://abbeyperini.com/blog.html?blog=reload", "published_at": "2025-07-12T05:00:00+00:00" }, { "id": "01a0871e-95fe-73bd-be4b-992b8ae893c7", "title": "State Management in Front-end Web Development: Actions, Dispatch, and Reducers", "url": "https://abbeyperini.com/blog.html?blog=state-2", "published_at": "2025-07-12T04:00:00+00:00" }, { "id": "01a0871e-95fe-73bd-be4b-992b8bcf8485", "title": "State Management in Front-end Web Development: State 101", "url": "https://abbeyperini.com/blog.html?blog=state-101", "published_at": "2025-07-12T04:00:00+00:00" }, { "id": "01a0871e-95fe-73bd-be4b-992b8ca63974", "title": "What the First Rule of ARIA Really Means", "url": "https://abbeyperini.com/blog.html?blog=first-rule", "published_at": "2025-04-14T04:00:00+00:00" }, { "id": "01a0871e-95fe-73bd-be4b-992b8d47dd3f", "title": "If They'll Adopt It, It's Right", "url": "https://abbeyperini.com/blog.html?blog=adopt", "published_at": "2025-03-28T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560683e011b", "title": "Cancer Treatment Sucks", "url": "https://abbeyperini.com/blog.html?blog=cancer-treatment", "published_at": "2025-03-18T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56069170bdc", "title": "We've Been Here Since the Beginning: 2025 Edition", "url": "https://abbeyperini.com/blog.html?blog=beginning-2025", "published_at": "2025-03-07T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56069cd9052", "title": "10 Tips from 10 Tech Conferences in 2024", "url": "https://abbeyperini.com/blog.html?blog=10-conferences", "published_at": "2024-11-30T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606a2b7ffc", "title": "Dark Mode Toggle in HTML Web Components", "url": "https://abbeyperini.com/blog.html?blog=HTML-toggle", "published_at": "2024-10-22T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606a5d9b78", "title": "So You Need to Give a Talk...", "url": "https://abbeyperini.com/blog.html?blog=talk", "published_at": "2024-09-30T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606b15e273", "title": "Cancer Sucks", "url": "https://abbeyperini.com/blog.html?blog=cancer", "published_at": "2024-07-29T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606be4b8de", "title": "Share Your Experience Loudly and Often", "url": "https://abbeyperini.com/blog.html?blog=sharing", "published_at": "2024-05-31T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606ce0fb9b", "title": "12 Tips from a Mid-level Developer", "url": "https://abbeyperini.com/blog.html?blog=3-year", "published_at": "2024-04-17T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606dacf7ab", "title": "A Love Letter to the Underrepresented in Tech", "url": "https://abbeyperini.com/blog.html?blog=love-letter", "published_at": "2024-03-01T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606de1875d", "title": "Slots, Slots, Slots, Everybody!", "url": "https://abbeyperini.com/blog.html?blog=slots", "published_at": "2024-02-23T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606df7e4cd", "title": "Three Human Problems in a Technical Trench Coat", "url": "https://abbeyperini.com/blog.html?blog=trenchCoat", "published_at": "2024-01-25T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606e6acca3", "title": "#DEVImpact2023 Reflections", "url": "https://abbeyperini.com/blog.html?blog=2023", "published_at": "2023-12-29T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606f5ccff8", "title": "12 Tips for Attending a Tech Conference", "url": "https://abbeyperini.com/blog.html?blog=conference", "published_at": "2023-11-15T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5606fe8b212", "title": "Cognitive Load and Your Development Environment", "url": "https://abbeyperini.com/blog.html?blog=cognitive-load", "published_at": "2023-10-17T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56070057522", "title": "How I Got Feedback After Every Tech Interview", "url": "https://abbeyperini.com/blog.html?blog=interview", "published_at": "2023-09-14T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560702e7978", "title": "Getting Started in a New Codebase", "url": "https://abbeyperini.com/blog.html?blog=new-codebase", "published_at": "2023-08-16T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607039456c", "title": "NodeIterator and TreeWalker Web APIs", "url": "https://abbeyperini.com/blog.html?blog=treeWalker", "published_at": "2023-07-31T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607058c508", "title": "Live Regions in React", "url": "https://abbeyperini.com/blog.html?blog=live-regions", "published_at": "2023-06-26T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56071345291", "title": "From Idea to Design for Non-Designers", "url": "https://abbeyperini.com/blog.html?blog=design", "published_at": "2023-05-16T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56071b9bd97", "title": "Dark Mode Toggle and prefers-color-scheme", "url": "https://abbeyperini.com/blog.html?blog=color-scheme", "published_at": "2023-04-21T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560727326f1", "title": "8 Ways to Support Women Developers", "url": "https://abbeyperini.com/blog.html?blog=support", "published_at": "2023-03-08T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56072b4cfdf", "title": "From Research to Writing Reference Material", "url": "https://abbeyperini.com/blog.html?blog=research", "published_at": "2023-02-07T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56072cb4920", "title": "TL;DR CommonJS vs ESM", "url": "https://abbeyperini.com/blog.html?blog=modules", "published_at": "2023-01-31T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56073b227f5", "title": "Writing a Technical Blog", "url": "https://abbeyperini.com/blog.html?blog=writing-2", "published_at": "2022-11-30T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56074183228", "title": "Web Security 101 - Part 2: User Input", "url": "https://abbeyperini.com/blog.html?blog=security-2", "published_at": "2022-11-30T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56074abd202", "title": "Web Security 101 - Part 1: Secrets", "url": "https://abbeyperini.com/blog.html?blog=security-1", "published_at": "2022-11-29T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607559b9c7", "title": "About My Digital Garden", "url": "https://abbeyperini.com/blog.html?blog=garden", "published_at": "2022-11-29T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560763dfa7c", "title": "#gitPanic - Tools", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-10", "published_at": "2022-11-29T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560771f1df0", "title": "#gitPanic - Files", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-9", "published_at": "2022-11-22T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56077214ed0", "title": "#gitPanic - Removing and Restoring Work", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-8", "published_at": "2022-11-22T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560779170ac", "title": "#gitPanic - Documentation and Profiles", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-7", "published_at": "2022-11-18T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607871079c", "title": "#gitPanic - Stash", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-6", "published_at": "2022-11-17T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560795c909d", "title": "#gitPanic - Interactive Rebase", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-5", "published_at": "2022-11-16T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607a01d226", "title": "#gitPanic - HEAD", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-4", "published_at": "2022-11-16T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607a63c967", "title": "#gitPanic - Working in a Repo", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-3", "published_at": "2022-11-08T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607b40d69f", "title": "#gitPanic - Merging and Rebasing", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-2", "published_at": "2022-11-07T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607b963eb4", "title": "#gitPanic - Git 101", "url": "https://abbeyperini.com/blog.html?blog=gitPanic-1", "published_at": "2022-11-04T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607bb7be46", "title": "Transforming Tired Tabbing", "url": "https://abbeyperini.com/blog.html?blog=tabbing-3", "published_at": "2022-10-14T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607c03da15", "title": "Troubleshooting Tabbing", "url": "https://abbeyperini.com/blog.html?blog=tabbing-2", "published_at": "2022-08-22T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607c610991", "title": "Tabbing Tactfully", "url": "https://abbeyperini.com/blog.html?blog=tabbing-1", "published_at": "2022-08-08T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607d149868", "title": "Coding and ADHD - Where We Excel", "url": "https://abbeyperini.com/blog.html?blog=ADHD-6", "published_at": "2022-06-22T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607d3890c2", "title": "Coding and ADHD - Can't Remember", "url": "https://abbeyperini.com/blog.html?blog=ADHD-5", "published_at": "2022-06-04T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607db50ba9", "title": "Coding and ADHD - Can't Stop", "url": "https://abbeyperini.com/blog.html?blog=ADHD-4", "published_at": "2022-06-03T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607e728351", "title": "Coding and ADHD - Can't Keep Going", "url": "https://abbeyperini.com/blog.html?blog=ADHD-3", "published_at": "2022-06-02T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607e7fc5b8", "title": "Coding and ADHD - Can't Start", "url": "https://abbeyperini.com/blog.html?blog=ADHD-2", "published_at": "2022-05-31T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607f10aac9", "title": "Coding and ADHD - ADHD Brains", "url": "https://abbeyperini.com/blog.html?blog=ADHD-1", "published_at": "2022-05-31T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5607fe7a096", "title": "Web Development === Accessibility", "url": "https://abbeyperini.com/blog.html?blog====", "published_at": "2022-05-19T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560808321cc", "title": "Git Commit Message Template in Terminal and VS Code", "url": "https://abbeyperini.com/blog.html?blog=commit", "published_at": "2022-05-17T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56080d62722", "title": "A Beginner's Guide to HTTP - Part 5: Authentication", "url": "https://abbeyperini.com/blog.html?blog=HTTP-5", "published_at": "2022-05-14T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608143ae73", "title": "What are Favicons?", "url": "https://abbeyperini.com/blog.html?blog=favicons", "published_at": "2022-05-08T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56081df0e15", "title": "What is ICO?", "url": "https://abbeyperini.com/blog.html?blog=ico", "published_at": "2022-05-03T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560823b71e8", "title": "What is JPEG XL?", "url": "https://abbeyperini.com/blog.html?blog=jpegxl", "published_at": "2022-04-27T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608302b3dc", "title": "What is AVIF?", "url": "https://abbeyperini.com/blog.html?blog=avif", "published_at": "2022-04-26T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608341f40e", "title": "What is WebP?", "url": "https://abbeyperini.com/blog.html?blog=webp", "published_at": "2022-04-26T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560836ed077", "title": "A Beginner's Guide to HTTP - Part 4: APIs", "url": "https://abbeyperini.com/blog.html?blog=HTTP-4", "published_at": "2022-04-22T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608442b4b7", "title": "12 Things I Learned During My First Year as a Professional Developer", "url": "https://abbeyperini.com/blog.html?blog=1-year", "published_at": "2022-04-04T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560856a60ac", "title": "We've Been Here Since the Beginning", "url": "https://abbeyperini.com/blog.html?blog=beginning", "published_at": "2022-04-04T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56084fcdc49", "title": "Semantic HTML: What, Why, and How", "url": "https://abbeyperini.com/blog.html?blog=HTML", "published_at": "2022-03-15T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608667ea88", "title": "A Beginner's Guide to HTTP - Part 3: Requests", "url": "https://abbeyperini.com/blog.html?blog=HTTP-3", "published_at": "2022-02-22T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560867864fd", "title": "A Beginner's Guide to HTTP - Part 2: Responses", "url": "https://abbeyperini.com/blog.html?blog=HTTP-2", "published_at": "2022-02-16T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56086a3ad0c", "title": "A Beginner's Guide to HTTP - Part 1: Definitions", "url": "https://abbeyperini.com/blog.html?blog=HTTP-1", "published_at": "2022-02-04T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608799b932", "title": "Coding for Fun on Top of Coding Professionally", "url": "https://abbeyperini.com/blog.html?blog=coding", "published_at": "2022-01-04T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56087aa64b3", "title": "Accessibility Auditing My Portfolio Site - Part 6", "url": "https://abbeyperini.com/blog.html?blog=audit-6", "published_at": "2021-11-28T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56088382ca3", "title": "How I Structure My Writing", "url": "https://abbeyperini.com/blog.html?blog=writing", "published_at": "2021-11-21T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56088b1fc4b", "title": "Blog Page Accessibility Deep Dive", "url": "https://abbeyperini.com/blog.html?blog=audit-5", "published_at": "2021-11-20T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560892ca6f9", "title": "Accessibility Auditing My Portfolio Site - Part 4", "url": "https://abbeyperini.com/blog.html?blog=audit-4", "published_at": "2021-11-11T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56089663de6", "title": "An Accessible Dark Mode Toggle in React", "url": "https://abbeyperini.com/blog.html?blog=audit-3", "published_at": "2021-11-06T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56089ebd650", "title": "Accessibility Auditing My Portfolio Site - Part 2", "url": "https://abbeyperini.com/blog.html?blog=audit-2", "published_at": "2021-11-04T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608a4a5917", "title": "Accessibility Auditing My Portfolio Site - Part 1", "url": "https://abbeyperini.com/blog.html?blog=audit-1", "published_at": "2021-11-02T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608b25ea7f", "title": "8 Things I've Learned Working in a Legacy Codebase", "url": "https://abbeyperini.com/blog.html?blog=legacy", "published_at": "2021-09-16T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608be8edc3", "title": "Sourcing Images and Optimizing Them for the Web", "url": "https://abbeyperini.com/blog.html?blog=images", "published_at": "2021-08-30T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608c4289f0", "title": "Adding Shiba Inu Loading and Error SVGs to My React Site", "url": "https://abbeyperini.com/blog.html?blog=shibas", "published_at": "2021-08-30T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608cc93266", "title": "A Walkthrough of Updating My Portfolio Site with Netlify Functions and the DEV API", "url": "https://abbeyperini.com/blog.html?blog=serverless", "published_at": "2021-07-31T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608ccb0888", "title": "Panini Bot — Making a Discord Bot with Replit, UptimeRobot, Node.js, Express, and Eris", "url": "https://abbeyperini.com/blog.html?blog=panini-bot", "published_at": "2021-06-02T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608d9466ae", "title": "Practicing Confidence for the Job Search", "url": "https://abbeyperini.com/blog.html?blog=confidence", "published_at": "2021-05-10T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608e717a4e", "title": "Breaking into Tech - Tips from a Former Recruiting Admin", "url": "https://abbeyperini.com/blog.html?blog=breaking", "published_at": "2021-04-05T04:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608ec91ce5", "title": "Toggle Dark Mode in React", "url": "https://abbeyperini.com/blog.html?blog=toggle", "published_at": "2021-03-05T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608f6b618b", "title": "Knitting as Programming", "url": "https://abbeyperini.com/blog.html?blog=knitting", "published_at": "2021-02-10T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5608f97a4bc", "title": "A Trio of Buttons for a Bubbly, Colorful Site", "url": "https://abbeyperini.com/blog.html?blog=trio", "published_at": "2021-01-28T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5609057a9c2", "title": "#100DaysOfCode", "url": "https://abbeyperini.com/blog.html?blog=100", "published_at": "2021-01-19T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c5609117b3a5", "title": "Object Oriented Programming in Memes", "url": "https://abbeyperini.com/blog.html?blog=OOP", "published_at": "2021-01-18T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56091a64293", "title": "Accessibility and React", "url": "https://abbeyperini.com/blog.html?blog=accessibility", "published_at": "2021-01-07T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c560919ac3fa", "title": "CSS Animated Button with Offset Border", "url": "https://abbeyperini.com/blog.html?blog=animated", "published_at": "2020-12-16T05:00:00+00:00" }, { "id": "01a0871e-95ff-7126-92b6-c56092a62fd1", "title": "Embrace the Struggle While Learning to Code", "url": "https://abbeyperini.com/blog.html?blog=embrace", "published_at": "2020-09-25T04:00:00+00:00" } ] posts Claim your blog
Back to abbeyperini.com
Blog · corpus.blog/blogs/abbeyperini.com/posts

abbeyperini.com

abbeyperini.com

2026

2025

2024

2023

2022

2021

2020