{"ancestors":[{"id":"111939040090288791","created_at":"2024-02-16T03:30:00.594Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939040090288791","url":"https://phpc.social/@grmpyprogrammer/111939040090288791","replies_count":2,"reblogs_count":3,"favourites_count":6,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI worked at Mozilla for almost 5 years in my little niche of writing Python-based tests for web services until my grumpy tendencies got me pushed out in layoffs. It was fine, good severance and a good overall experience until my last year. But y’all are super ignorant about the company and what it takes to build a web browser.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111939052448878893","created_at":"2024-02-16T03:33:09.167Z","in_reply_to_id":"111939040090288791","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939052448878893","url":"https://phpc.social/@grmpyprogrammer/111939052448878893","replies_count":1,"reblogs_count":1,"favourites_count":4,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eFirst, imagine almost all your money comes in the form of a bribe your competition pays. You get this no matter how good or bad things get. Of course this warps your priorities and your decision-making. I saw it at every all-hands meeting.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111939062330704350","created_at":"2024-02-16T03:35:39.953Z","in_reply_to_id":"111939052448878893","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939062330704350","url":"https://phpc.social/@grmpyprogrammer/111939062330704350","replies_count":2,"reblogs_count":1,"favourites_count":5,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eSecond, making a web browser is hard. Making it work across many operating systems is hard. But no, y’all are so smart and think your pet features deserved top priority. Or are mad that they want to collect anonymized data for performance reasons.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111939076537741439","created_at":"2024-02-16T03:39:16.734Z","in_reply_to_id":"111939062330704350","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939076537741439","url":"https://phpc.social/@grmpyprogrammer/111939076537741439","replies_count":2,"reblogs_count":1,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eThird, people are trying to hit bonuses and get promoted and build little fiefdoms for themselves. Like at every other large tech company. Of course this warps priorities. Only ignorant people assume Mozilla is a bunch of flakey techno hippies. Very smart engineers and smart business people, backed into a corner by market forces and lots and lots of small, ill-advised decisions by leaders.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111939083904216355","created_at":"2024-02-16T03:41:09.136Z","in_reply_to_id":"111939076537741439","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939083904216355","url":"https://phpc.social/@grmpyprogrammer/111939083904216355","replies_count":1,"reblogs_count":1,"favourites_count":3,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eSo of course to make their bones, ambitious folks are trying to figure out how to add “AI” to a browser with the goal of actually helping users. Will it work? No idea. But a bunch of folks are gonna make money and get promoted and maybe move to other jobs where they get to do interesting things in the process.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111939092115332991","created_at":"2024-02-16T03:43:14.429Z","in_reply_to_id":"111939083904216355","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/111939092115332991","url":"https://phpc.social/@grmpyprogrammer/111939092115332991","replies_count":2,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eFinally — I don’t use Firefox any more. Not out of distaste but out of pragmatism. At home I have all Apple devices and went with Safari to make it easy to share links back and forth between laptop and phone (I use my phone a ton). At work, we are heavily invested in Google’s ecosystem so I use Chrome.\u003c/p\u003e","reblog":null,"application":{"name":"Ivory for iOS","website":"https://tapbots.com/"},"account":{"id":"98","username":"grmpyprogrammer","acct":"grmpyprogrammer","display_name":"Chris Hartjes","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2018-08-15T00:00:00.000Z","note":"\u003cp\u003eStaff Software Engineer @ ZiffDavis Shopping. 10x Ghost Engineer. Pixelminer in the remote Canadian wilderness\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://phpc.social/@grmpyprogrammer","uri":"https://phpc.social/users/grmpyprogrammer","avatar":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","avatar_static":"https://media.phpc.social/accounts/avatars/000/000/098/original/af8b4c5aa2c5f193.jpeg","header":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","header_static":"https://media.phpc.social/accounts/headers/000/000/098/original/d8c52e4abd2fabac.jpeg","followers_count":678,"following_count":191,"statuses_count":9628,"last_status_at":"2025-02-09","hide_collections":false,"noindex":false,"moved":{"id":"113974894897919136","username":"grmpyprogrammer","acct":"grmpyprogrammer@grumpy-learning.com","display_name":"grmpyprogrammer","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2025-02-08T00:00:00.000Z","note":"\u003cp\u003eYour least favourite PHP hater’s least favourite programmer.\u003c/p\u003e\u003cp\u003eRetailMeNot Group DEI hire, building global shopper loyalty infrastructure from my snowy Fortress In Exile in Canada.\u003c/p\u003e\u003cp\u003eI used to write books and go to PHP conferences to shout at people to write tests for their PHP code. Still a legend in the eyes of some.\u003c/p\u003e\u003cp\u003ePolitical ideology: increasingly left, two steps forward, one step back.\u003cbr\u003e\u003ca href=\"https://grumpy-learning.com\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://grumpy-learning.com\u003c/a\u003e\u003c/p\u003e","url":"https://yac.grumpy-learning.com/@grmpyprogrammer","uri":"https://yac.grumpy-learning.com/users/grmpyprogrammer","avatar":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/113/974/894/897/919/136/original/9d07468f3075147f.jpeg","header":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/113/974/894/897/919/136/original/d6042e15b9dcb449.jpeg","followers_count":733,"following_count":226,"statuses_count":6476,"last_status_at":"2026-04-19","hide_collections":false,"emojis":[],"fields":[]},"emojis":[],"roles":[],"fields":[{"name":"web site","value":"\u003ca href=\"https://grumpy-learning.com\" target=\"_blank\" rel=\"nofollow noopener me\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egrumpy-learning.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2022-11-12T17:02:32.271+00:00"},{"name":"Pronouns","value":"he/him","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"111943163053354341","created_at":"2024-02-16T20:58:30.000Z","in_reply_to_id":"111939092115332991","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.green/users/zygous/statuses/111943162972984896","url":"https://mastodon.green/@zygous/111943162972984896","replies_count":1,"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://phpc.social/@grmpyprogrammer\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003egrmpyprogrammer\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I use Safari on iOS and Firefox on my Macs. I have Firefox installed on my mobiles for the Send to Device feature, which isn’t as seamless as Continuity, but works fine from Safari’s share menu. Mac to mobile I tend not to need.\u003c/p\u003e\u003cp\u003eI came to Firefox from Netscape Navigator, but TBH these days I’m mostly clinging to the idea that a browser monoculture is bad.\u003c/p\u003e","reblog":null,"account":{"id":"109304518605483768","username":"zygous","acct":"zygous@mastodon.green","display_name":"Richard Turner","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-04-25T00:00:00.000Z","note":"\u003cp\u003eI love \u003ca href=\"https://mastodon.green/tags/tech\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003etech\u003c/span\u003e\u003c/a\u003e, and have enjoyed \u003ca href=\"https://mastodon.green/tags/computers\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecomputers\u003c/span\u003e\u003c/a\u003e since the \u003ca href=\"https://mastodon.green/tags/bbcmicro\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ebbcmicro\u003c/span\u003e\u003c/a\u003e. I was a \u003ca href=\"https://mastodon.green/tags/software\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003esoftware\u003c/span\u003e\u003c/a\u003e engineer and am now a \u003ca href=\"https://mastodon.green/tags/CTO\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCTO\u003c/span\u003e\u003c/a\u003e; I love writing in tech whilst not actually programming myself 😆\u003c/p\u003e\u003cp\u003e\u2029I’m also into \u003ca href=\"https://mastodon.green/tags/books\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ebooks\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://mastodon.green/tags/words\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ewords\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/fountainpens\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003efountainpens\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/DungeonsAndDragons\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eDungeonsAndDragons\u003c/span\u003e\u003c/a\u003e, popular \u003ca href=\"https://mastodon.green/tags/science\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003escience\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/coffee\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecoffee\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://mastodon.green/tags/cats\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecats\u003c/span\u003e\u003c/a\u003e. I’m \u003ca href=\"https://mastodon.green/tags/Cornish\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCornish\u003c/span\u003e\u003c/a\u003e and believe the UK should never have even contemplated leaving the EU.\u2029\u003c/p\u003e\u003cp\u003eI’m Dad to two wonderful children.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mastodon.green/tags/vim\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003evim\u003c/span\u003e\u003c/a\u003e FTW\u003c/p\u003e","url":"https://mastodon.green/@zygous","uri":"https://mastodon.green/users/zygous","avatar":"https://media.phpc.social/cache/accounts/avatars/109/304/518/605/483/768/original/50f1171e61b2a99c.jpg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/304/518/605/483/768/original/50f1171e61b2a99c.jpg","header":"https://media.phpc.social/cache/accounts/headers/109/304/518/605/483/768/original/c8d234a93579ce47.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/109/304/518/605/483/768/original/c8d234a93579ce47.jpeg","followers_count":85,"following_count":218,"statuses_count":1812,"last_status_at":"2026-01-20","hide_collections":false,"emojis":[],"fields":[{"name":"GitHub","value":"\u003ca href=\"https://github.com/zygous\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/zygous\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2025-12-28T09:53:06.890+00:00"},{"name":"GitLab","value":"\u003ca href=\"https://gitlab.com/Zygous\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egitlab.com/Zygous\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2025-12-28T09:53:07.165+00:00"}]},"media_attachments":[],"mentions":[{"id":"98","username":"grmpyprogrammer","url":"https://phpc.social/@grmpyprogrammer","acct":"grmpyprogrammer"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}}],"descendants":[{"id":"111943304651211238","created_at":"2024-02-16T21:34:31.000Z","in_reply_to_id":"111943296955926557","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mastodon.green/users/zygous/statuses/111943304592716091","url":"https://mastodon.green/@zygous/111943304592716091","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://phpc.social/@grmpyprogrammer\" class=\"u-url mention\" rel=\"nofollow noopener\" target=\"_blank\"\u003e@\u003cspan\u003egrmpyprogrammer\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e Unequivocally!\u003c/p\u003e","reblog":null,"account":{"id":"109304518605483768","username":"zygous","acct":"zygous@mastodon.green","display_name":"Richard Turner","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-04-25T00:00:00.000Z","note":"\u003cp\u003eI love \u003ca href=\"https://mastodon.green/tags/tech\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003etech\u003c/span\u003e\u003c/a\u003e, and have enjoyed \u003ca href=\"https://mastodon.green/tags/computers\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecomputers\u003c/span\u003e\u003c/a\u003e since the \u003ca href=\"https://mastodon.green/tags/bbcmicro\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ebbcmicro\u003c/span\u003e\u003c/a\u003e. I was a \u003ca href=\"https://mastodon.green/tags/software\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003esoftware\u003c/span\u003e\u003c/a\u003e engineer and am now a \u003ca href=\"https://mastodon.green/tags/CTO\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCTO\u003c/span\u003e\u003c/a\u003e; I love writing in tech whilst not actually programming myself 😆\u003c/p\u003e\u003cp\u003e\u2029I’m also into \u003ca href=\"https://mastodon.green/tags/books\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ebooks\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://mastodon.green/tags/words\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ewords\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/fountainpens\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003efountainpens\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/DungeonsAndDragons\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eDungeonsAndDragons\u003c/span\u003e\u003c/a\u003e, popular \u003ca href=\"https://mastodon.green/tags/science\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003escience\u003c/span\u003e\u003c/a\u003e, \u003ca href=\"https://mastodon.green/tags/coffee\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecoffee\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://mastodon.green/tags/cats\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003ecats\u003c/span\u003e\u003c/a\u003e. I’m \u003ca href=\"https://mastodon.green/tags/Cornish\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCornish\u003c/span\u003e\u003c/a\u003e and believe the UK should never have even contemplated leaving the EU.\u2029\u003c/p\u003e\u003cp\u003eI’m Dad to two wonderful children.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mastodon.green/tags/vim\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003evim\u003c/span\u003e\u003c/a\u003e FTW\u003c/p\u003e","url":"https://mastodon.green/@zygous","uri":"https://mastodon.green/users/zygous","avatar":"https://media.phpc.social/cache/accounts/avatars/109/304/518/605/483/768/original/50f1171e61b2a99c.jpg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/304/518/605/483/768/original/50f1171e61b2a99c.jpg","header":"https://media.phpc.social/cache/accounts/headers/109/304/518/605/483/768/original/c8d234a93579ce47.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/109/304/518/605/483/768/original/c8d234a93579ce47.jpeg","followers_count":85,"following_count":218,"statuses_count":1812,"last_status_at":"2026-01-20","hide_collections":false,"emojis":[],"fields":[{"name":"GitHub","value":"\u003ca href=\"https://github.com/zygous\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egithub.com/zygous\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2025-12-28T09:53:06.890+00:00"},{"name":"GitLab","value":"\u003ca href=\"https://gitlab.com/Zygous\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003egitlab.com/Zygous\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2025-12-28T09:53:07.165+00:00"}]},"media_attachments":[],"mentions":[{"id":"98","username":"grmpyprogrammer","url":"https://phpc.social/@grmpyprogrammer","acct":"grmpyprogrammer"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}}]}