110 Blog PostsTop Tagscssjavascriptcoder's blocklifeanimationopen sourcehtmlgraphic designaccessibilityregexI usually write about web development. You can follow me on Mastodon or subscribe to my RSS feed to see new blog posts.2024Making Orbit Animations with CSS Custom PropertiesSeptember 16, 2024Anchor Links and How to Make Them AwesomeMay 20, 2024Playing with Infinity in CSSFebruary 15, 2024Acronym FrustrationFebruary 5, 2024Nicer Text Wrapping with CSS text-wrapJanuary 28, 2024Writing Is HardJanuary 1, 20242022Star Wars Scene Transition Effects in CSSJune 1, 2022Deep Dive into Text Wrapping and Word BreakingMay 2, 20222021Making a Heart Light with IFTTT and Netlify FunctionsDecember 1, 2021Diving into the ::before and ::after Pseudo-ElementsFebruary 22, 20212020Looking Back at 10 Years of Coder's BlockDecember 16, 2020What Can You Put in a CSS Variable?December 6, 2020JavaScript Text to Speech and Its Many QuirksNovember 23, 2020Coder's Block v7 with EleventyNovember 12, 2020The Surprising Things That CSS Can AnimateJune 8, 2020Using CSS to Control Text SelectionApril 26, 20202019External Links, New Tabs, and AccessibilityMay 21, 2019Converting GitHub Gists to PrismJSMarch 11, 2019Coder's Block v6 with GatsbyJSMarch 6, 20192018Physics-Based Background Scroll EffectsJune 12, 2018Say Hello to Houdini and the CSS Paint APIMarch 7, 20182017Disable Desktop Notification RequestsNovember 4, 2017JavaScript Physics with Matter.jsOctober 24, 2017Highlight Within Textarea v2June 11, 20178 Terrible Things Web Developers Used To DoMay 11, 2017Creating an Autocomplete Plug-In for AtomApril 16, 2017Customizing GitHub GistsMarch 6, 2017Coder's Block v5February 7, 20172016How to Run .NET on HerokuOctober 9, 2016Quick Recap of CSSConf 2016October 4, 2016Sassy CSS HexagonsJuly 9, 2016RevolutionConf 2016June 1, 2016Motion Detection with JavaScriptMay 30, 2016JavaScript String Replace MagicFebruary 7, 20162015Highlight Text Inside a TextareaSeptember 28, 2015Ember in AtlantaSeptember 19, 2015Checkbox Trickery with CSSJune 16, 2015Being Fluent in jQueryJune 1, 2015Iconifying ContentMay 19, 2015Browser HistoryApril 3, 2015Automatic Cache BusterMarch 22, 2015JavaScript Function Methods: bind()February 2, 2015JavaScript Function Methods: apply()January 26, 2015JavaScript Function Methods: call()January 19, 20152014Looking Back at 2014December 31, 2014Crazy Meta CSS HackNovember 17, 2014Fun Times with CSS CountersNovember 7, 2014JavaScript Strict ModeNovember 3, 2014Web Fish Daily RetrospectiveOctober 31, 2014Centering CodePen ScreenshotsOctober 26, 2014Tracking Outbound Links with Google AnalyticsOctober 23, 2014Building Web Fish DailyOctober 8, 2014Twitter Cards with WordPressJune 26, 2014How to Add Twitter CardsJune 21, 2014Get Text Snippets with RegexJune 13, 2014Multi-Threaded JavaScript with Web WorkersJune 3, 2014Whatever Happened to <b> and <i>?May 2, 201420 Tiny Tricks for Web DevelopersApril 14, 2014The Smallest Valid HTML5 PageApril 2, 2014Creating Glow Effects with CSSMarch 28, 2014Regex Storm Goes Open SourceMarch 9, 2014Mini-Previews for LinksMarch 5, 2014My Website Talks to ItselfFebruary 27, 2014Font Shorthand Bug in IE10February 14, 2014Perfectly Framed, Responsive ImagesFebruary 6, 2014Hi AgainFebruary 4, 2014The Truth about JavaScriptJanuary 6, 20142013The CodePen I Made out of SpiteDecember 24, 2013Fix File Drag and Drop on CodePenDecember 20, 2013Crafting Maintainable ButtonsDecember 7, 2013Gradient Animation TrickDecember 2, 2013Align 4 Retrospective: Writing a Multi-Threaded Game in JavaScriptNovember 19, 2013Inline Block, Working as IntendedOctober 1, 2013Git Stash is Your FriendSeptember 19, 2013Fix Jagged Fonts on Windows ChromeSeptember 10, 2013Show Hidden Files in OS XJune 21, 2013New SceneryMay 12, 2013Handy Little Script for Binding HostnamesFebruary 10, 20132012End of Year UpdateDecember 18, 2012Takeaways from Breaking Development 2012April 22, 2012Making Coder's Block ResponsiveApril 14, 2012Coder's Block v4March 30, 2012Why I Left the Mobile TeamFebruary 27, 2012Random Regex TipsFebruary 10, 2012Tables, Divs, and Table-Based DivsJanuary 7, 20122011Regex Storm RetrospectiveDecember 19, 2011Looking BackNovember 16, 2011An Android AppSeptember 5, 2011I'm Still HereAugust 17, 2011Side Project MockupMay 25, 2011To LearnMay 1, 2011JavaScript QuirksApril 10, 2011I'm on DeviantArtMarch 31, 2011Hey Look! Toast!March 26, 2011SQL Query for Column InformationMarch 22, 2011I Suck at IllustratorMarch 16, 2011Dual MonitorsMarch 15, 2011Finished Board Game AIMarch 9, 2011IncomingMarch 5, 2011Keeping Up with SEOFebruary 15, 2011JavaScript Events GotchaFebruary 5, 2011Level 70 Epic Web Development NinjaJanuary 22, 2011Suckerfish DropdownJanuary 11, 2011Box Selection in Visual StudioJanuary 8, 2011Adding a Twitter Feed to Your WebsiteJanuary 2, 20112010Getting Query String Parameters Safely and Concisely in C#December 22, 2010Customizing SyntaxHighlighterDecember 20, 2010Using SyntaxHighlighter on BloggerDecember 19, 2010Converting TimestampsDecember 17, 2010HiDecember 16, 2010