[{"id":"116387498101626858","created_at":"2026-04-11T18:31:23.044Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://front-end.social/users/keithjgrant/statuses/116387498101626858/activity","url":"https://front-end.social/users/keithjgrant/statuses/116387498101626858/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"110366990433742629","created_at":"2023-05-14T12:17:06.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.scot/users/kim_harding/statuses/110366990425589549","url":"https://mastodon.scot/@kim_harding/110366990425589549","replies_count":0,"reblogs_count":38,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eA brilliant cartoon from Anne Derenne \u003ca href=\"https://annederenneillustration.com/project-type/ecologie-ecology/\" rel=\"nofollow noopener\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eannederenneillustration.com/pr\u003c/span\u003e\u003cspan class=\"invisible\"\u003eoject-type/ecologie-ecology/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"109319626121454033","username":"kim_harding","acct":"kim_harding@mastodon.scot","display_name":"kim_harding ✅","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-05T00:00:00.000Z","note":"\u003cp\u003eTrained ecological scientist (B.Sc., MPhil), dyslexic thinker, blogger, bicycle rider, sometimes driver, ex ADI, bla-de-bla-de-blaa NB. Also, \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.scot/@kim_harding\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003ekim_harding\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e on Twitter (for the short term)\u003c/p\u003e\u003cp\u003eI have a tendency to head off down cyber rabbit holes, follow if you want to see where I go ;-)\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mastodon.scot/tags/fedi22\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003efedi22\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Science\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eScience\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/cycling\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecycling\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/ActiveTravel\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eActiveTravel\u003c/span\u003e\u003c/a\u003e \u003cbr\u003e\u003ca href=\"https://mastodon.scot/tags/Nature\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eNature\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Environment\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eEnvironment\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Tech\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eTech\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Scotland\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eScotland\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/ClimateChange\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eClimateChange\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/politics\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003epolitics\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/ScottishPolitics\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eScottishPolitics\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/EdFoC\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eEdFoC\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Life\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eLife\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Edinburgh\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eEdinburgh\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/CargoBikes\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCargoBikes\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/Random\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eRandom\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/BikeToot\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eBikeToot\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.scot/tags/fedi22\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003efedi22\u003c/span\u003e\u003c/a\u003e searchable\u003c/p\u003e","url":"https://mastodon.scot/@kim_harding","uri":"https://mastodon.scot/users/kim_harding","avatar":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/109/319/626/121/454/033/original/1e485c7e70df5f32.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/109/319/626/121/454/033/original/1e485c7e70df5f32.jpg","header":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/109/319/626/121/454/033/original/2f682e4f2956dc89.jpeg","header_static":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/109/319/626/121/454/033/original/2f682e4f2956dc89.jpeg","followers_count":3791,"following_count":1128,"statuses_count":36721,"last_status_at":"2026-04-19","hide_collections":true,"emojis":[],"fields":[{"name":"My Green Tick ✅","value":"\u003ca href=\"https://kimharding.net/blog/now-on-mastodon/\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ekimharding.net/blog/now-on-mas\u003c/span\u003e\u003cspan class=\"invisible\"\u003etodon/\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-19T12:09:10.545+00:00"},{"name":"The wee festival which I founded","value":"\u003ca href=\"https://edfoc.org.uk/\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eedfoc.org.uk/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"On pixelfed","value":"\u003ca href=\"https://pixelfed.social/i/web/profile/521608704618874231\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003epixelfed.social/i/web/profile/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e521608704618874231\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"On peertube.tv","value":"\u003ca href=\"https://peertube.tv/a/kim_harding/video-channels\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003epeertube.tv/a/kim_harding/vide\u003c/span\u003e\u003cspan class=\"invisible\"\u003eo-channels\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"110367048512394567","type":"image","url":"https://front-end.social/media_proxy/110367048512394567/original","preview_url":"https://front-end.social/media_proxy/110367048512394567/small","remote_url":"https://media.mastodon.scot/mastodon-scot-public/media_attachments/files/110/366/962/104/450/760/original/ec963a8437ec7ff6.jpg","preview_remote_url":null,"text_url":null,"meta":{"focus":{"x":0.0,"y":0.0},"original":{"width":835,"height":1181,"size":"835x1181","aspect":0.7070279424216765},"small":{"width":404,"height":571,"size":"404x571","aspect":0.7075306479859895}},"description":"Cartoon in two panels\nThe upper panel, labelled “5th extinction” shows a group of fearful dinosaurs looking up at an approaching meteor.\n\nIn the lower panel, labelled “6th extinction”, the dinosaurs are replaced by modern animals also looking up fearfully, but this time the meteor is replaced by a fat, wealthy man, smoking a large cigar and cluing a bundle of money.","blurhash":"UER{xzNI%L_3%gtSV@aKxHt7kCWB_3?wIT9F"}],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":{"url":"https://annederenneillustration.com/project-type/ecologie-ecology/","title":"Ecologie/Ecology – Anne Derenne Illustration","description":"Articles traitant de Ecologie/Ecology écrits par annederenneillustration","language":"fr","type":"link","author_name":"","author_url":"","provider_name":"Anne Derenne Illustration","provider_url":"","html":"","width":200,"height":200,"image":null,"image_description":"","embed_url":"","blurhash":"UoPQEFt7tmkC~Xt7aKjZTKWBM_azxVRjtRj[","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"116178233572917912","created_at":"2026-03-05T19:32:39.744Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/116178233572917912","url":"https://front-end.social/@keithjgrant/116178233572917912","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eMIO: Memories in Orbit is one of the best Metroidvanias I’ve ever played. This is absolutely my favorite genre of game, and this one hits all the right notes for me.\u003c/p\u003e\u003cp\u003eI loved Silksong, but it leans very heavily into combat. To the point that, because of the difficulty, I probably won’t replay it much.\u003c/p\u003e\u003cp\u003eMIO, instead, leans much more into platforming. Though, paradoxically, it’s often platforming without the platforms; it’s more akin to fast-paced aerial acrobatics… \u003ca href=\"https://notes.keithjgrant.com/notes/2026/03/my-kind-of-metroidvania/\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003enotes.keithjgrant.com/notes/20\u003c/span\u003e\u003cspan class=\"invisible\"\u003e26/03/my-kind-of-metroidvania/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Bridgy","website":"https://brid.gy/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"116131824119080361","created_at":"2026-02-25T14:50:07.675Z","in_reply_to_id":"116131794894872233","in_reply_to_account_id":"109306094196466451","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/116131824119080361","url":"https://front-end.social/@keithjgrant/116131824119080361","replies_count":2,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":"2026-02-25T14:50:30.856Z","content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://follow.ethanmarcotte.com/@beep\" class=\"u-url mention\"\u003e@\u003cspan\u003ebeep\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I don’t know what your middle initial is, but now I imagine it’s a W, spoken slowly in a Foghorn Leghorn voice\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109306094196466451","username":"beep","url":"https://follow.ethanmarcotte.com/@beep","acct":"beep@follow.ethanmarcotte.com"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"116032380608381540","created_at":"2026-02-08T01:20:20.126Z","in_reply_to_id":"116032375763264278","in_reply_to_account_id":"109366554849197665","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/116032380608381540","url":"https://front-end.social/@keithjgrant/116032380608381540","replies_count":1,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.social/@Starfia\" class=\"u-url mention\"\u003e@\u003cspan\u003eStarfia\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I’m honestly okay with that. Give me a menu, hours, and phone number, hosted on their own domain and I’m happy\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109366554849197665","username":"Starfia","url":"https://mastodon.social/@Starfia","acct":"Starfia@mastodon.social"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"116032190030500608","created_at":"2026-02-08T00:31:52.136Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/116032190030500608","url":"https://front-end.social/@keithjgrant/116032190030500608","replies_count":2,"reblogs_count":2,"favourites_count":12,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI wish more restaurants would get a real website. The number of places that list Facebook as their website is really sad\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115984701953523054","created_at":"2026-01-30T15:15:01.585Z","in_reply_to_id":"115967204986381073","in_reply_to_account_id":"109295906487756020","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115984701953523054","url":"https://front-end.social/@keithjgrant/115984701953523054","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://front-end.social/@sarajw\" class=\"u-url mention\"\u003e@\u003cspan\u003esarajw\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e hey congrats!\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109295906487756020","username":"sarajw","url":"https://front-end.social/@sarajw","acct":"sarajw"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115963762747218390","created_at":"2026-01-26T22:29:54.653Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115963762747218390","url":"https://front-end.social/@keithjgrant/115963762747218390","replies_count":2,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eWow, so YouTube just flat out refuses to play videos for me now with Firefox\u0026#39;s tracking protections enabled\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115914146604899234","created_at":"2026-01-18T04:11:52.403Z","in_reply_to_id":"115914077707891932","in_reply_to_account_id":"109665576298351061","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115914146604899234","url":"https://front-end.social/@keithjgrant/115914146604899234","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://front-end.social/@argyleink\" class=\"u-url mention\"\u003e@\u003cspan\u003eargyleink\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e it’s so clear this weekend!\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109665576298351061","username":"argyleink","url":"https://front-end.social/@argyleink","acct":"argyleink"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115913885683924788","created_at":"2026-01-18T03:05:31.066Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115913885683924788","url":"https://front-end.social/@keithjgrant/115913885683924788","replies_count":1,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":"2026-01-18T03:05:51.327Z","content":"\u003cp\u003eSnow conditions suck, but the views are totally worth the cost of the lift ticket \u003ca href=\"https://front-end.social/tags/mtbaker\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003emtbaker\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[{"id":"115913881850715277","type":"image","url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/850/715/277/original/d414912052203f5a.jpeg","preview_url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/850/715/277/small/d414912052203f5a.jpeg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":3325,"height":2494,"size":"3325x2494","aspect":1.3331996792301524},"small":{"width":554,"height":416,"size":"554x416","aspect":1.3317307692307692}},"description":null,"blurhash":"UbBqc3WXRiflJZaxt6ayRRadWVjZH;a}WYof"},{"id":"115913881853689441","type":"image","url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/853/689/441/original/c5700ccb5a8adb80.jpeg","preview_url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/853/689/441/small/c5700ccb5a8adb80.jpeg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":3325,"height":2494,"size":"3325x2494","aspect":1.3331996792301524},"small":{"width":554,"height":416,"size":"554x416","aspect":1.3317307692307692}},"description":null,"blurhash":"UXAxA*t8t6WWXrWYWVa$Ibt8aes:MaWBazax"},{"id":"115913881895851583","type":"image","url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/895/851/583/original/1bdb9a0d4c83497d.jpeg","preview_url":"https://cdn.masto.host/frontendsocial/media_attachments/files/115/913/881/895/851/583/small/1bdb9a0d4c83497d.jpeg","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":3325,"height":2494,"size":"3325x2494","aspect":1.3331996792301524},"small":{"width":554,"height":416,"size":"554x416","aspect":1.3317307692307692}},"description":null,"blurhash":"UO98r@xtt7V?pMbdkDj@IcRkWBt8MaaIaeWX"}],"mentions":[],"tags":[{"name":"mtbaker","url":"https://front-end.social/tags/mtbaker"}],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115897416159394369","created_at":"2026-01-15T05:17:06.065Z","in_reply_to_id":"115893931302709515","in_reply_to_account_id":"109289289655843780","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115897416159394369","url":"https://front-end.social/@keithjgrant/115897416159394369","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://werd.social/@ben\" class=\"u-url mention\"\u003e@\u003cspan\u003eben\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://fediverse.zachleat.com/@zachleat\" class=\"u-url mention\"\u003e@\u003cspan\u003ezachleat\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I have a Gmail account and a more personal account. I only give the second address to humans and never to any computerized list\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109289289655843780","username":"ben","url":"https://werd.social/@ben","acct":"ben@werd.social"},{"id":"109287923857668672","username":"zachleat","url":"https://fediverse.zachleat.com/@zachleat","acct":"zachleat@zachleat.com"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115857562579967075","created_at":"2026-01-08T04:21:48.705Z","in_reply_to_id":"115857558427744028","in_reply_to_account_id":"115424008791111256","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115857562579967075","url":"https://front-end.social/@keithjgrant/115857562579967075","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://social.lol/@tonymottaz\" class=\"u-url mention\"\u003e@\u003cspan\u003etonymottaz\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e ha!\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"115424008791111256","username":"tonymottaz","url":"https://social.lol/@tonymottaz","acct":"tonymottaz@social.lol"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115855060916534193","created_at":"2026-01-07T17:45:36.347Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115855060916534193","url":"https://front-end.social/@keithjgrant/115855060916534193","replies_count":1,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eUgh, a bill from FedEx to cover the tariffs of tea we bought four months ago\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115850636897137183","created_at":"2026-01-06T23:00:31.170Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115850636897137183","url":"https://front-end.social/@keithjgrant/115850636897137183","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eThe holidays may be over, but I’ve worked up a technique for a single-serve egg nog that I’m quite proud of. Using a milk frother wand can really mimic the thick foamy texture of the (non-alcoholic) large batch recipe I grew drinking every Christmas, better than a cocktail shaker\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://sidecar.us/drinks/egg-nog/\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003esidecar.us/drinks/egg-nog/\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115827940459635979","created_at":"2026-01-02T22:48:31.019Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115827940459635979","url":"https://front-end.social/@keithjgrant/115827940459635979","replies_count":0,"reblogs_count":0,"favourites_count":5,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eWow, the \u003ca href=\"https://front-end.social/tags/StrangerThings\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eStrangerThings\u003c/span\u003e\u003c/a\u003e finale is excellent. Extremely rare to see such an epic story stick the landing so spot on. The final season tied every earlier season together. One of the greatest works of fiction I know.\u003c/p\u003e","reblog":null,"application":{"name":"Toot!","website":"https://toot.c3.cx/"},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[{"name":"StrangerThings","url":"https://front-end.social/tags/StrangerThings"}],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115800467292952212","created_at":"2025-12-29T02:21:43.763Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://front-end.social/users/keithjgrant/statuses/115800467292952212/activity","url":"https://front-end.social/users/keithjgrant/statuses/115800467292952212/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"115764283994250630","created_at":"2025-12-22T16:59:50.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://toot.community/users/axeleroy/statuses/115764283970979823","url":"https://toot.community/@axeleroy/115764283970979823","replies_count":1,"reblogs_count":15,"favourites_count":7,"quotes_count":0,"edited_at":"2025-12-22T17:07:26.000Z","content":"\u003cp\u003eHere is my early Christmas gift to everyone who left Google Calendar behind: a Firefox add-on that transforms links to create new Google Calendar events into ICS files you can import in your favorite calendar application\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://addons.mozilla.org/addon/google-calendar-links-to-ics/\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003eaddons.mozilla.org/addon/googl\u003c/span\u003e\u003cspan class=\"invisible\"\u003ee-calendar-links-to-ics/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://toot.community/tags/DeGoogle\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eDeGoogle\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://toot.community/tags/Firefox\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eFirefox\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://toot.community/tags/FirefoxAddon\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eFirefoxAddon\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://toot.community/tags/Calendar\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCalendar\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"111579741072797912","username":"axeleroy","acct":"axeleroy@toot.community","display_name":"Axel Leroy","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2023-12-14T00:00:00.000Z","note":"\u003cp\u003eSoftware artisan, amateur photographer, eco-anxious and repressed hipster from Paris, France.\u003c/p\u003e","url":"https://toot.community/@axeleroy","uri":"https://toot.community/users/axeleroy","avatar":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/111/579/741/072/797/912/original/5fc2766c28b38a0a.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/111/579/741/072/797/912/original/5fc2766c28b38a0a.jpg","header":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/111/579/741/072/797/912/original/fa335cce2f49c569.jpg","header_static":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/111/579/741/072/797/912/original/fa335cce2f49c569.jpg","followers_count":189,"following_count":193,"statuses_count":1949,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[{"name":"Website","value":"\u003ca href=\"https://axel.leroy.sh\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eaxel.leroy.sh\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-11T19:24:05.415+00:00"},{"name":"Languages","value":"French, English, Portuguese (learning!)","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[{"name":"degoogle","url":"https://front-end.social/tags/degoogle"},{"name":"firefox","url":"https://front-end.social/tags/firefox"},{"name":"firefoxaddon","url":"https://front-end.social/tags/firefoxaddon"},{"name":"calendar","url":"https://front-end.social/tags/calendar"}],"emojis":[],"quote":null,"card":{"url":"https://addons.mozilla.org/addon/google-calendar-links-to-ics/","title":"Google Calendar links to ICS – Get this Extension for 🦊 Firefox (en-US)","description":"Download Google Calendar links to ICS for Firefox. An add-on that intercepts links that create new Google Calendar events and turns them into iCalendar (ICS) files you can import in your favorite calendar application (Thunderbird, Outlook, Proton Calendar, etc.)","language":"en","type":"link","author_name":"","author_url":"","provider_name":"","provider_url":"","html":"","width":662,"height":348,"image":null,"image_description":"","embed_url":"","blurhash":"UJA9a9,;IUJVkVbGWBjb0fJA%Lw]a2nkt7X5","published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115782373596062213","created_at":"2025-12-25T21:40:15.858Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://front-end.social/users/keithjgrant/statuses/115782373596062213/activity","url":"https://front-end.social/users/keithjgrant/statuses/115782373596062213/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"115779520462090236","created_at":"2025-12-25T09:34:40.340Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://fieldprogrammable.gay/notes/agot93v88l1t00s6","url":"https://fieldprogrammable.gay/notes/agot93v88l1t00s6","replies_count":17,"reblogs_count":111,"favourites_count":8,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan\u003eThe two hardest problems in Computer Science are: \u003cbr\u003e\u003cbr\u003e1. Getting up in the morning\u003cbr\u003e2. Going to bed at a reasonable time\u003c/span\u003e\u003c/p\u003e","reblog":null,"account":{"id":"112059927371063716","username":"lofty","acct":"lofty@fieldprogrammable.gay","display_name":"big awoo notation","locked":true,"bot":false,"discoverable":false,"indexable":true,"group":false,"created_at":"2024-03-08T00:00:00.000Z","note":"\u003cp\u003e\u003cspan\u003elogic synthesis abyss domain expert - frangible lut slut - caprotti valve gear and kylchap exhaust enjoyer - gives people tail dysphoria - aromantic allosexual??? - profile art by twitter.com/mikifeuille\u003cbr\u003e\u003cbr\u003eif you're reading this, remind me to eat a banana.\u003cbr\u003e\u003cbr\u003eendorsements:\u003cbr\u003e\"You're a little intimidating, but you're just the biggest floofer anyones ever known\" - \u003c/span\u003e\u003ca href=\"https://fieldprogrammable.gay/@sludgegirl@chaos.social\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@sludgegirl@chaos.social\u003c/a\u003e\u003cspan\u003e \u003cbr\u003e\"chainsaw Lofty scares me\" - person on my steam account comments\u003cbr\u003e\u003cbr\u003efeel free to say hi; I like making friends.\u003c/span\u003e\u003c/p\u003e","url":"https://fieldprogrammable.gay/@lofty","uri":"https://fieldprogrammable.gay/users/9ql54iob5mbs0001","avatar":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/112/059/927/371/063/716/original/cf881b296a234f48.webp","avatar_static":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/112/059/927/371/063/716/original/cf881b296a234f48.webp","header":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/112/059/927/371/063/716/original/6da1557edfd3e011.webp","header_static":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/112/059/927/371/063/716/original/6da1557edfd3e011.webp","followers_count":0,"following_count":0,"statuses_count":3596,"last_status_at":"2026-03-28","hide_collections":true,"emojis":[],"fields":[{"name":"Pronouns","value":"\u003cp\u003ethey/them\u003c/p\u003e","verified_at":null},{"name":"Matrix","value":"\u003cp\u003elofty:fieldprogrammable.gay\u003c/p\u003e","verified_at":null},{"name":"Signal","value":"\u003cp\u003eravenslofty.79\u003c/p\u003e","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"115765739891467311","created_at":"2025-12-22T23:10:05.670Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://front-end.social/users/keithjgrant/statuses/115765739891467311/activity","url":"https://front-end.social/users/keithjgrant/statuses/115765739891467311/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"115765207035015699","created_at":"2025-12-22T20:54:29.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.social/ap/users/115452321018560572/statuses/115765206673305987","url":"https://mastodon.social/@webstandards_dev/115765206673305987","replies_count":0,"reblogs_count":8,"favourites_count":9,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eIntroducing CSS grid lanes. The \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://front-end.social/@webkit\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003ewebkit\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e team announced the next major step in web layouts: CSS grid lanes bring masonry-style layouts to the web. With the first implementation available now in Safari Technology Preview 234, it enables flexible and accessible content and UI designs without JavaScript. It uses the new item-tolerance CSS property and leverages full CSS grid power. \u003ca href=\"https://mastodon.social/tags/css\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecss\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://mastodon.social/tags/layout\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003elayout\u003c/span\u003e\u003c/a\u003e \u003c/p\u003e\u003cp\u003e\u003ca href=\"https://webkit.org/blog/17660/introducing-css-grid-lanes/\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ewebkit.org/blog/17660/introduc\u003c/span\u003e\u003cspan class=\"invisible\"\u003eing-css-grid-lanes/\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"115452605105588631","username":"webstandards_dev","acct":"webstandards_dev@mastodon.social","display_name":"Web Standards","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2025-10-28T00:00:00.000Z","note":"\u003cp\u003eDaily web platform news by \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.social/@pepelsbey\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003epepelsbey\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e","url":"https://mastodon.social/@webstandards_dev","uri":"https://mastodon.social/ap/users/115452321018560572","avatar":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/115/452/605/105/588/631/original/3d7931f6fbf8144b.png","avatar_static":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/115/452/605/105/588/631/original/3d7931f6fbf8144b.png","header":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/115/452/605/105/588/631/original/d4cba38e8eac2db9.png","header_static":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/115/452/605/105/588/631/original/d4cba38e8eac2db9.png","followers_count":206,"following_count":0,"statuses_count":122,"last_status_at":"2026-04-17","hide_collections":false,"emojis":[],"fields":[{"name":"website","value":"\u003ca href=\"https://web-standards.dev\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003eweb-standards.dev\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T17:18:12.317+00:00"},{"name":"bluesky","value":"\u003ca href=\"https://bsky.app/profile/web-standards.dev\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/web-standards\u003c/span\u003e\u003cspan class=\"invisible\"\u003e.dev\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"media_attachments":[{"id":"115765206914717370","type":"image","url":"https://cdn.masto.host/frontendsocial/cache/media_attachments/files/115/765/206/914/717/370/original/5e2fd5dea23d0b30.png","preview_url":"https://cdn.masto.host/frontendsocial/cache/media_attachments/files/115/765/206/914/717/370/small/5e2fd5dea23d0b30.png","remote_url":"https://files.mastodon.social/media_attachments/files/115/765/201/049/838/339/original/5a8dfcf3433e4571.png","preview_remote_url":null,"text_url":null,"meta":{"focus":{"x":0.0,"y":0.0},"original":{"width":1920,"height":1080,"size":"1920x1080","aspect":1.7777777777777777},"small":{"width":640,"height":360,"size":"640x360","aspect":1.7777777777777777}},"description":"Introducing CSS grid lanes.","blurhash":"UeJIRaof%DoI^-W;WGn+^ljGf-bb-=oKsWS4"}],"mentions":[{"id":"109665842377395238","username":"webkit","url":"https://front-end.social/@webkit","acct":"webkit"}],"tags":[{"name":"css","url":"https://front-end.social/tags/css"},{"name":"layout","url":"https://front-end.social/tags/layout"}],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115753495579923097","created_at":"2025-12-20T19:16:12.303Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":null,"uri":"https://front-end.social/users/keithjgrant/statuses/115753495579923097/activity","url":"https://front-end.social/users/keithjgrant/statuses/115753495579923097/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"115727872428539841","created_at":"2025-12-16T06:39:54.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://chaos.social/users/FlohEinstein/statuses/115727872442211456","url":"https://chaos.social/@FlohEinstein/115727872442211456","replies_count":28,"reblogs_count":1531,"favourites_count":1940,"quotes_count":3,"edited_at":"2025-12-16T06:40:34.000Z","content":"\u003cp\u003eRan into a problem in prod?\u003cbr\u003eJust generate a fake cloudflare error page and blame it on them - gives you time to fix.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://github.com/donlon/cloudflare-error-page\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003egithub.com/donlon/cloudflare-e\u003c/span\u003e\u003cspan class=\"invisible\"\u003error-page\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://chaos.social/tags/foss\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003efoss\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/devops\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003edevops\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/cloudflare\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecloudflare\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/infosec\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003einfosec\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"109325632791034664","username":"FlohEinstein","acct":"FlohEinstein@chaos.social","display_name":"FlohEinstein","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2020-12-30T00:00:00.000Z","note":"\u003cp\u003e👶/🏠: 🇨🇭\u003cbr\u003e🧳: 🇮🇸🇳🇴🇸🇪🇩🇰\u003cbr\u003e👄: 🇨🇭🇩🇪🇬🇧🇫🇷🇮🇸, 👁️/👂:🇨🇭🇩🇪🇬🇧🇫🇷🇮🇸🇮🇹🇱🇺\u003cbr\u003e📚🎓: 💻 (HSR) / ⚖️ (UniLU)\u003cbr\u003e🥰: 🛰️🌍🧭🎯\u003ca href=\"https://chaos.social/tags/geocaching\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003egeocaching\u003c/span\u003e\u003c/a\u003e , 📷\u003ca href=\"https://chaos.social/tags/photography\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ephotography\u003c/span\u003e\u003c/a\u003e 🏔️🌋🏕️🚂☃️🌌\u003cbr\u003e🏭:🎣🪤🧑‍💻\u003cbr\u003e🧠/🫀: 🤯🥳🌪️🏳️‍🌈\u003cbr\u003e❤️:💒👩‍❤️‍👨\u003cbr\u003e🏠:👩‍❤️‍👨+🐕‍🦺\u003cbr\u003eThis is my Nerd/Geek/Law/IT/Sarcasm account.\u003cbr\u003eFor safe ND toots follow my account \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://neurodifferent.me/@FlohEinstein\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003eFlohEinstein\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003cbr\u003eFor pictures only follow my account \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://pixelfed.social/FlohEinstein\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003eFlohEinstein\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003cbr\u003etfr\u003c/p\u003e","url":"https://chaos.social/@FlohEinstein","uri":"https://chaos.social/users/FlohEinstein","avatar":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/109/325/632/791/034/664/original/74029d6eb41357c5.png","avatar_static":"https://cdn.masto.host/frontendsocial/cache/accounts/avatars/109/325/632/791/034/664/original/74029d6eb41357c5.png","header":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/109/325/632/791/034/664/original/409803c442ce53f5.jpeg","header_static":"https://cdn.masto.host/frontendsocial/cache/accounts/headers/109/325/632/791/034/664/original/409803c442ce53f5.jpeg","followers_count":1151,"following_count":2216,"statuses_count":5055,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[{"name":"Content copyright","value":"CC-BY (unless boosted, reblogged or otherwise declared)","verified_at":null},{"name":"Pronouns/About me","value":"Any; ADHD, neurodivergent, nerd, geek, and proud of it","verified_at":null},{"name":"Interests","value":"\u003ca href=\"https://chaos.social/tags/Cybercrime\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCybercrime\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/ADHD\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eADHD\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/ADHS\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eADHS\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/neurodiverse\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eneurodiverse\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/infosec\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003einfosec\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://chaos.social/tags/Iceland\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eIceland\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Linkstack","value":"\u003ca href=\"https://links.kohler.is\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003elinks.kohler.is\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T12:06:55.565+00:00"}]},"media_attachments":[{"id":"115727903389805442","type":"image","url":"https://cdn.masto.host/frontendsocial/cache/media_attachments/files/115/727/903/389/805/442/original/f4e7b438163fd28e.png","preview_url":"https://cdn.masto.host/frontendsocial/cache/media_attachments/files/115/727/903/389/805/442/small/f4e7b438163fd28e.png","remote_url":"https://assets.chaos.social/media_attachments/files/115/727/863/204/561/650/original/e701d0fa1c0421c7.png","preview_remote_url":null,"text_url":null,"meta":{"focus":{"x":0.0,"y":0.0},"original":{"width":1628,"height":971,"size":"1628x971","aspect":1.6766220391349125},"small":{"width":622,"height":371,"size":"622x371","aspect":1.6765498652291104}},"description":"Editor to generate a fake internal server error page complete with You, Cloud, Server in red and green","blurhash":"USQT4Lt7oft74nWBfRj[4nRjWBay00t7j[WB"}],"mentions":[],"tags":[{"name":"foss","url":"https://front-end.social/tags/foss"},{"name":"devops","url":"https://front-end.social/tags/devops"},{"name":"cloudflare","url":"https://front-end.social/tags/cloudflare"},{"name":"infosec","url":"https://front-end.social/tags/infosec"}],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},"application":null,"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115736747596178496","created_at":"2025-12-17T20:16:58.350Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115736747596178496","url":"https://front-end.social/@keithjgrant/115736747596178496","replies_count":0,"reblogs_count":0,"favourites_count":4,"quotes_count":0,"edited_at":"2025-12-17T20:19:13.446Z","content":"\u003cp\u003eYou know you made a good gelatin-filled beef stock when you pull out the leftovers from the fridge the next day and hold the container sideways and the soup stays put\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}},{"id":"115731289755058449","created_at":"2025-12-16T21:08:58.303Z","in_reply_to_id":"115731074662850417","in_reply_to_account_id":"109291350751325048","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://front-end.social/users/keithjgrant/statuses/115731289755058449","url":"https://front-end.social/@keithjgrant/115731289755058449","replies_count":0,"reblogs_count":0,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://fosstodon.org/@hmiron\" class=\"u-url mention\"\u003e@\u003cspan\u003ehmiron\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I loved Prince of Persia!\u003c/p\u003e\u003cp\u003eThere\u0026#39;s definitely a lot of artistic influence in the genre. I\u0026#39;m positive PoP was influenced by Hollow Knight, and Silksong was influenced by Prince of Persia in return\u003c/p\u003e","reblog":null,"application":{"name":"Web","website":null},"account":{"id":"109287621302535561","username":"keithjgrant","acct":"keithjgrant","display_name":"Keith J Grant","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-04T00:00:00.000Z","note":"\u003cp\u003e👨🏻‍💻 Front end developer working primarily in React. Currently at Red Hat working on Ansible Controller. Author of CSS in Depth. he/him\u003c/p\u003e\u003cp\u003e🌎 I live in the great Pacific Northwest. I care about people and believe in the open web.\u003c/p\u003e\u003cp\u003e✨ I’m married to a literary nerd and have two fantastic children and two ridiculous cats. I enjoy fine cocktails and cooking. And running, when I’m in the habit. \u003ca href=\"https://front-end.social/tags/JavaScript\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eJavaScript\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eCSS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/ReactJS\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eReactJS\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/WebDev\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eWebDev\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/UX\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eUX\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/IndieWeb\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eIndieWeb\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/guitar\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003eguitar\u003c/span\u003e\u003c/a\u003e • \u003ca href=\"https://front-end.social/tags/PNW\" class=\"mention hashtag\" rel=\"tag\"\u003e#\u003cspan\u003ePNW\u003c/span\u003e\u003c/a\u003e • searchable\u003c/p\u003e","url":"https://front-end.social/@keithjgrant","uri":"https://front-end.social/users/keithjgrant","avatar":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","avatar_static":"https://cdn.masto.host/frontendsocial/accounts/avatars/109/287/621/302/535/561/original/ddebcc2c23ad1857.jpg","header":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","header_static":"https://cdn.masto.host/frontendsocial/accounts/headers/109/287/621/302/535/561/original/e2c8d436e7bacae2.jpg","followers_count":995,"following_count":196,"statuses_count":2823,"last_status_at":"2026-04-11","hide_collections":false,"noindex":false,"emojis":[],"roles":[{"id":"2","name":"Admin","color":""}],"fields":[{"name":"Website","value":"\u003ca href=\"https://keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ekeithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-05T03:36:11.249+00:00"},{"name":"Bluesky","value":"\u003ca href=\"https://bsky.app/profile/keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003ebsky.app/profile/keithjgrant.c\u003c/span\u003e\u003cspan class=\"invisible\"\u003eom\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"CSS in Depth","value":"\u003ca href=\"https://www.manning.com/books/css-in-depth-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emanning.com/books/css-in-depth\u003c/span\u003e\u003cspan class=\"invisible\"\u003e-second-edition?a_aid=kjg\u0026amp;a_bid=a7bc24da\u0026amp;chan=mm_mastodon\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"Notes","value":"\u003ca href=\"https://notes.keithjgrant.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003enotes.keithjgrant.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2024-11-08T18:49:49.463+00:00"}]},"media_attachments":[],"mentions":[{"id":"109291350751325048","username":"hmiron","url":"https://fosstodon.org/@hmiron","acct":"hmiron@fosstodon.org"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":["public"],"manual":[],"current_user":"denied"}}]