56,966 blogs · [ { "id": "01a08c55-3b21-70d2-8958-94ba682d0234", "title": "Redesigning Hanafuda & Hwatu Cards for Beginners", "url": "https://thomaspark.co/2025/02/redesigning-hanafuda-hwatu-cards-for-beginners/", "published_at": "2025-02-24T15:08:55+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba69017990", "title": "575: A Daily Haiku Game for Reddit", "url": "https://thomaspark.co/2025/01/575-a-daily-haiku-game-for-reddit/", "published_at": "2025-01-14T20:51:58+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba692e8f4e", "title": "Learning CSS Anchor Positioning with Anchoreum", "url": "https://thomaspark.co/2024/11/learning-css-anchor-positioning-with-anchoreum/", "published_at": "2024-11-18T13:46:30+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6a27791e", "title": "3D Printing a Whiteboard Template for NYT Spelling Bee", "url": "https://thomaspark.co/2024/09/3d-printing-a-whiteboard-template-for-nyt-spelling-bee/", "published_at": "2024-09-09T12:10:29+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6b020bbd", "title": "Buttonhole: A Button You Can Unbutton", "url": "https://thomaspark.co/2023/09/buttonhole-a-button-you-can-unbutton/", "published_at": "2023-09-26T12:49:10+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6b4832f3", "title": "CarPlay Karaoke: Playing Music Videos and Lyrics Through Cover Art", "url": "https://thomaspark.co/2023/05/carplay-karaoke-playing-music-videos-and-lyrics-through-cover-art/", "published_at": "2023-05-19T14:10:47+00:00" }, { "id": "01a0d4e4-d8a5-72d6-b1ed-3956b9129eed", "title": "Needledrop", "url": "https://thomaspark.co/projects/needledrop/?6IXFjqH7fHM", "published_at": "2021-03-07T22:33:42+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6bbb9e50", "title": "Needledrop: A Turntable Interface for Music Playback", "url": "https://thomaspark.co/2021/03/needledrop-a-turntable-interface-for-music-playback/", "published_at": "2021-03-03T14:17:37+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6c43a3a9", "title": "Custom Dutch Blitz Cards", "url": "https://thomaspark.co/2021/02/custom-dutch-blitz-cards/", "published_at": "2021-02-17T14:26:07+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6c631663", "title": "Chess Patch Notes", "url": "https://thomaspark.co/2020/09/chess-patch-notes/", "published_at": "2020-09-23T12:39:38+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6c9f5418", "title": "The IKEA Packout", "url": "https://thomaspark.co/2020/09/the-ikea-packout/", "published_at": "2020-09-16T12:29:11+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6d51a51b", "title": "The Mad Magazine Fold-In Effect in CSS", "url": "https://thomaspark.co/2020/06/the-mad-magazine-fold-in-effect-in-css/", "published_at": "2020-06-08T13:27:40+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6dd59578", "title": "No Scary Parts: A Browser Extension for Skipping Scary Scenes in Disney+ Movies", "url": "https://thomaspark.co/2020/05/no-scary-parts-a-browser-extension-for-skipping-scary-scenes-in-disney-movies/", "published_at": "2020-05-07T12:11:37+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6e621882", "title": "Korean Keycaps for Your MacBook Pro", "url": "https://thomaspark.co/2019/11/korean-keycaps-for-the-macbook-pro/", "published_at": "2019-11-19T13:33:20+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6e998fd6", "title": "A Simple Hack to get Impact Mode on your PixMob Band", "url": "https://thomaspark.co/2019/10/a-simple-hack-to-get-impact-mode-on-your-pixmob-band/", "published_at": "2019-10-02T23:49:03+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6f923c40", "title": "Querying Nearby Locations in WordPress using Geo Coordinates", "url": "https://thomaspark.co/2019/09/querying-nearby-locations-in-wordpress-using-geo-coordinates/", "published_at": "2019-09-16T12:31:17+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba6fdb6a79", "title": "Integrating Video and Web Content: Lessons in User Interface Design", "url": "https://thomaspark.co/2019/09/integrating-video-and-web-content-lessons-in-user-interface-design/", "published_at": "2019-09-11T12:21:05+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba702feaec", "title": "Verifying Money Inputs on the Web à la Personal Checks", "url": "https://thomaspark.co/2018/12/verifying-money-inputs-on-the-web-a-la-personal-checks/", "published_at": "2018-12-13T14:35:35+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba70edbda5", "title": "Slow Down × Terrace House: Writing a Browser Extension to Change a Theme Song on Netflix", "url": "https://thomaspark.co/2018/07/slow-down-x-terrace-house-writing-a-browser-extension-to-change-a-theme-song-on-netflix/", "published_at": "2018-07-31T13:24:43+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7120c7f0", "title": "Overwatch Collective", "url": "https://thomaspark.co/2018/06/overwatch-collective/", "published_at": "2018-06-19T12:17:16+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba71c04e1b", "title": "3D Printing a Wireless Charging Case for the Apple TV Remote", "url": "https://thomaspark.co/2018/03/3d-printing-a-wireless-charging-case-for-the-apple-tv-remote/", "published_at": "2018-03-08T13:29:25+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba728b8dd2", "title": "Putting TV Clutter Out of Sight", "url": "https://thomaspark.co/2017/10/putting-tv-clutter-out-of-sight/", "published_at": "2017-10-13T13:18:44+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba72e6d2b6", "title": "Learning CSS Grid with Grid Garden", "url": "https://thomaspark.co/2017/04/learning-css-grid-with-grid-garden/", "published_at": "2017-04-03T14:37:40+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba73bb61dd", "title": "Where I End and You Begin: Finding the Most Depressing Radiohead Songs using Crowd Data from SongMeanings", "url": "https://thomaspark.co/2017/02/where-i-end-and-you-begin-finding-the-most-depressing-radiohead-songs-using-crowd-data-from-songmeanings/", "published_at": "2017-02-28T13:51:58+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba74b0be19", "title": "QuickLine: A Mac Utility for Saving and Launching Terminal Commands", "url": "https://thomaspark.co/2017/02/quickline-a-mac-utility-for-saving-and-launching-terminal-commands/", "published_at": "2017-02-21T13:08:06+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba75a5fd24", "title": "Closed as Not Constructive: The Top-Voted Discussions on Stack Overflow", "url": "https://thomaspark.co/2017/02/closed-as-not-constructive-the-top-voted-discussions-on-stack-overflow/", "published_at": "2017-02-06T14:07:57+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba76576559", "title": "Mimicking Pokemon Go’s Battery Saver Mode on the Web", "url": "https://thomaspark.co/2017/01/mimicking-pokemon-gos-battery-saver-mode-on-the-web/", "published_at": "2017-01-30T19:11:08+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba76880330", "title": "Relevant XKCD", "url": "https://thomaspark.co/2017/01/relevant-xkcd/", "published_at": "2017-01-23T18:18:17+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba76a465fd", "title": "Fidgeting in the Digital Realm", "url": "https://thomaspark.co/2017/01/fidgeting-in-the-digital-realm/", "published_at": "2017-01-16T13:20:55+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba76e233ab", "title": "Wrangling the Tangle of Apple Cables and Dongles", "url": "https://thomaspark.co/2017/01/wrangling-the-tangle-of-apple-cables-and-dongles/", "published_at": "2017-01-09T13:35:15+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba77b46cb2", "title": "Rotary: A Retro Web Input for Phone Numbers", "url": "https://thomaspark.co/2016/04/rotary-a-retro-web-input-for-phone-numbers/", "published_at": "2016-04-25T14:05:46+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba77dcf9bc", "title": "Learning CSS Layout with Flexbox Froggy", "url": "https://thomaspark.co/2015/11/learning-css-layout-with-flexbox-froggy/", "published_at": "2015-11-25T13:26:04+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba78d87aa3", "title": "Bob Ross’ Color Palette in CSS", "url": "https://thomaspark.co/2015/11/bob-ross-color-palette-in-css/", "published_at": "2015-11-19T13:05:16+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba791fa213", "title": "Survey of CMS Usage on Newspaper Websites", "url": "https://thomaspark.co/2015/11/survey-of-cms-usage-on-newspaper-websites/", "published_at": "2015-11-16T13:07:22+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba79cdf055", "title": "Repositioning Tutorials in Mozilla Thimble", "url": "https://thomaspark.co/2015/11/repositioning-tutorials-in-mozilla-thimble/", "published_at": "2015-11-13T00:59:04+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7a55d877", "title": "Developing for Web Developers", "url": "https://thomaspark.co/2015/08/developing-for-web-developers/", "published_at": "2015-08-05T14:31:55+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7b2d0def", "title": "A Better Way to Search Google Fonts", "url": "https://thomaspark.co/2015/08/a-better-way-to-search-google-fonts/", "published_at": "2015-08-03T14:09:37+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7b4788fe", "title": "Polyfill for Scoped CSS", "url": "https://thomaspark.co/2015/07/polyfill-for-scoped-css/", "published_at": "2015-07-22T13:53:45+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7bb50c3f", "title": "Snowball: A WordPress Plugin for Storytelling on the Web", "url": "https://thomaspark.co/2015/07/snowball-a-wordpress-plugin-for-storytelling-on-the-web/", "published_at": "2015-07-20T13:30:30+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7c01061e", "title": "PubCSS: Formatting Academic Publications in HTML & CSS", "url": "https://thomaspark.co/2015/01/pubcss-formatting-academic-publications-in-html-css/", "published_at": "2015-01-21T12:25:52+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7cbf3ebb", "title": "Graduated Experiences in Golf and Programming", "url": "https://thomaspark.co/2014/04/graduated-experiences-in-golf-and-programming/", "published_at": "2014-04-23T12:27:39+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7d1a34fe", "title": "TF2 Collective", "url": "https://thomaspark.co/2014/02/tf2-collective/", "published_at": "2014-02-27T18:32:20+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7d6d6934", "title": "3 Simple Design Bookmarklets to Improve Your Aesthetics", "url": "https://thomaspark.co/2013/11/3-simple-design-bookmarklets-to-improve-your-aesthetics/", "published_at": "2013-11-11T11:54:44+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7de5c7ad", "title": "GlyphSearch: Improving the Search for Icon Fonts", "url": "https://thomaspark.co/2013/11/glyphsearch-improving-the-search-for-icon-fonts/", "published_at": "2013-11-05T14:52:47+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7df36a32", "title": "Weaving Tutorials into Mozilla Thimble", "url": "https://thomaspark.co/2013/10/weaving-tutorials-into-mozilla-thimble/", "published_at": "2013-10-22T14:56:52+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7e1c19a9", "title": "CRAPCHA: Completely Ridiculous And Phony Captcha that Hassles for Amusement", "url": "https://thomaspark.co/2013/04/crapcha-completely-ridiculous-and-phony-captcha-that-hassles-for-amusement/", "published_at": "2013-04-01T12:08:46+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7e2494e2", "title": "iRoll: Rickrolling with iPhone Web Apps", "url": "https://thomaspark.co/2013/03/iroll-rickrolling-with-iphone-web-apps/", "published_at": "2013-03-31T18:50:26+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7e97b6d9", "title": "Cinnamon.js: Find In-Page Text using Synonyms", "url": "https://thomaspark.co/2013/02/cinnamon-js-find-in-page-text-using-synonyms/", "published_at": "2013-02-07T13:14:30+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7f68e948", "title": "Digitizing Books on the Cheap and Easy", "url": "https://thomaspark.co/2012/12/digitizing-books-on-the-cheap-and-easy/", "published_at": "2012-12-19T16:15:41+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba7fa458b2", "title": "The iTunes Expanding Album Effect", "url": "https://thomaspark.co/2012/12/the-itunes-expanding-album-effect-in-css-js/", "published_at": "2012-12-12T12:56:35+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba805ea997", "title": "The Hacker News Slap", "url": "https://thomaspark.co/2012/10/the-hacker-news-slap/", "published_at": "2012-10-20T17:11:33+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba809b46af", "title": "Learning to Code from Play by Play", "url": "https://thomaspark.co/2012/08/learning-to-code-from-play-by-play/", "published_at": "2012-08-12T19:17:03+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba80d68616", "title": "Apple Storefronts Redux", "url": "https://thomaspark.co/2012/07/apple-storefronts-redux/", "published_at": "2012-07-10T02:37:06+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba815238c6", "title": "Introducing Bootswatch", "url": "https://thomaspark.co/2012/02/introducing-bootswatch/", "published_at": "2012-02-14T21:39:57+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba82448bfb", "title": "Startups, Dotcoms, and Other TLDs", "url": "https://thomaspark.co/2012/02/startups-dotcoms-and-other-tlds/", "published_at": "2012-02-01T15:08:16+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba825bee83", "title": "Better Badges on Netflix", "url": "https://thomaspark.co/2012/01/better-badges-on-netflix/", "published_at": "2012-01-17T23:04:02+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba82a46992", "title": "Kindle Touch Gestures", "url": "https://thomaspark.co/2012/01/kindle-touch-gestures/", "published_at": "2012-01-04T14:43:23+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba837d5f54", "title": "99designs and Eight Values of Identity", "url": "https://thomaspark.co/2012/01/99designs-and-eight-values-of-identity/", "published_at": "2012-01-03T15:09:47+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba838620a0", "title": "Density Control", "url": "https://thomaspark.co/2011/12/density-control/", "published_at": "2011-12-16T17:43:06+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba84168f4b", "title": "Touch on Kindle", "url": "https://thomaspark.co/2011/12/touch-on-kindle/", "published_at": "2011-12-07T16:44:53+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8422e010", "title": "Every Apple Storefront Ever", "url": "https://thomaspark.co/2011/11/every-apple-storefront/", "published_at": "2011-11-09T02:27:42+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba846f70a2", "title": "Share in Google Reader Again", "url": "https://thomaspark.co/2011/11/share-in-google-reader-again/", "published_at": "2011-11-01T16:06:14+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba850ebe13", "title": "In Portrait or Landscape", "url": "https://thomaspark.co/2011/10/in-portrait-or-landscape/", "published_at": "2011-10-21T18:28:37+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba858c2826", "title": "User Research Gone Astray", "url": "https://thomaspark.co/2011/10/user-research-gone-astray/", "published_at": "2011-10-16T15:08:02+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba86205d31", "title": "Ghost Legs: Randomizing the Asian Way", "url": "https://thomaspark.co/2011/10/ghost-legs-randomizing-the-asian-way/", "published_at": "2011-10-12T16:50:41+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba86bc6bc8", "title": "Fuzzy Circles in Google Plus", "url": "https://thomaspark.co/2011/10/fuzzy-circles-in-google-plus/", "published_at": "2011-10-10T17:23:34+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba87ab40e2", "title": "Making Menus Escapable", "url": "https://thomaspark.co/2011/10/making-menus-escapable/", "published_at": "2011-10-07T13:59:57+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba87db6f30", "title": "Seven Minutes in Ubuntu", "url": "https://thomaspark.co/2011/10/seven-minutes-in-ubuntu/", "published_at": "2011-10-02T14:10:47+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba88c29463", "title": "The Devour Effect", "url": "https://thomaspark.co/2011/09/the-devour-effect/", "published_at": "2011-09-26T16:12:52+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8908f345", "title": "Trebek: Building an Offline Web App", "url": "https://thomaspark.co/2011/09/trebek-building-an-offline-web-app/", "published_at": "2011-09-20T15:40:03+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba89ec9b33", "title": "Sizing Up Programmatically", "url": "https://thomaspark.co/2011/09/sizing-up-programmatically/", "published_at": "2011-09-09T15:39:30+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8aae9ea1", "title": "Sizing Up Samsung", "url": "https://thomaspark.co/2011/09/sizing-up-samsung/", "published_at": "2011-09-08T17:14:55+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8ac60bf5", "title": "Fantasy Slopegraphs", "url": "https://thomaspark.co/2011/09/fantasy-slopegraphs/", "published_at": "2011-09-03T14:40:47+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8b741944", "title": "Puck Remotes and Magic Remotes", "url": "https://thomaspark.co/2011/08/puck-remotes-and-magic-remotes/", "published_at": "2011-08-31T12:27:39+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8ba1c8cb", "title": "The True Apple TV", "url": "https://thomaspark.co/2011/08/the-true-apple-tv/", "published_at": "2011-08-28T17:19:42+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8bd35ed6", "title": "Toward the Man-Purse", "url": "https://thomaspark.co/2011/08/toward-the-man-purse/", "published_at": "2011-08-24T12:51:04+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8cbabcbb", "title": "Version Inflation", "url": "https://thomaspark.co/2011/08/version-inflation/", "published_at": "2011-08-17T19:49:45+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8d7360ab", "title": "Starcraft Collective", "url": "https://thomaspark.co/2011/05/starcraft-collective/", "published_at": "2011-05-18T14:14:32+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8db358ea", "title": "Icon Blues", "url": "https://thomaspark.co/2011/05/icon-blues/", "published_at": "2011-05-04T10:32:40+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8e05a579", "title": "Pyramid Schemes", "url": "https://thomaspark.co/2011/04/pyramid-schemes/", "published_at": "2011-04-12T20:32:19+00:00" }, { "id": "01a08c55-3b21-70d2-8958-94ba8e3edbf2", "title": "Save Icon", "url": "https://thomaspark.co/2011/04/save-icon/", "published_at": "2011-04-07T03:37:16+00:00" } ] posts Claim your blog
Back to Thomas Park | Web Development, UX Design, User Research
Blog · corpus.blog/blogs/thomaspark.co/posts

Thomas Park | Web Development, UX Design, User Research

thomaspark.co

2025

2024

2023

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011