[{"id":"113974447711125048","created_at":"2025-02-09T14:40:56.141Z","in_reply_to_id":"113971212062502319","in_reply_to_account_id":"109287788527804559","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113974447711125048","url":"https://phpc.social/@grmpyprogrammer/113974447711125048","replies_count":0,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://scoat.es/@sean\" class=\"u-url mention\"\u003e@\u003cspan\u003esean\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e \u003c/p\u003e\u003cp\u003e1) computer literacy has decreased in the last 5 years\u003cbr /\u003e2) people are accustomed to streaming media services with decent discovery tools\u003cbr /\u003e3) the people paying the publishers and streaming services are not their customers from their perspective — the stock market and people buying ads and data from them are\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"109287788527804559","username":"sean","url":"https://scoat.es/@sean","acct":"sean@scoat.es"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113970763151415317","created_at":"2025-02-08T23:03:54.226Z","in_reply_to_id":"113970629707307540","in_reply_to_account_id":"11361","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113970763151415317","url":"https://phpc.social/@grmpyprogrammer/113970763151415317","replies_count":1,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://phpc.social/@syntaxseed\" class=\"u-url mention\"\u003e@\u003cspan\u003esyntaxseed\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I ended up going with Fullhost — on the verge of getting my own GotoSocial instance up and running\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"11361","username":"syntaxseed","url":"https://phpc.social/@syntaxseed","acct":"syntaxseed"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113969471995047468","created_at":"2025-02-08T17:35:32.738Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":null,"uri":"https://phpc.social/users/grmpyprogrammer/statuses/113969471995047468/activity","url":"https://phpc.social/users/grmpyprogrammer/statuses/113969471995047468/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113967819649634714","created_at":"2025-02-08T10:35:19.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://owo.cafe/users/stage7/statuses/113967819604153407","url":"https://owo.cafe/@stage7/113967819604153407","replies_count":7,"reblogs_count":573,"favourites_count":165,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eI've been laid off.\u003c/p\u003e\u003cp\u003eIf somebody needs a person with almost 13 years in IT, knowing PHP (7 y.), JavaScript/jQuery (5+ y.), HTML5+CSS3, SQL, slight knowledge of Python and React and experience in fields like 2D design or sound production, please tell me. I've worked with SCADAs, CMMSs, corporate travel and congress management, e-commerce, food and industrial sectors. Business proficiency in English; can speak Catalan.\u003c/p\u003e\u003cp\u003eI can learn quick. Either on-site work in Valencia, Spain, or remote from anywhere in the EU. Inclusive company is a must. Can provide CV in English.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://owo.cafe/tags/FediHire\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eFediHire\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://owo.cafe/tags/HireMe\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eHireMe\u003c/span\u003e\u003c/a\u003e \u003ca href=\"https://owo.cafe/tags/employment\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eemployment\u003c/span\u003e\u003c/a\u003e\u003c/p\u003e","reblog":null,"account":{"id":"109782319452168551","username":"stage7","acct":"stage7@owo.cafe","display_name":"stage7 :windmillTrans:","locked":false,"bot":false,"discoverable":true,"indexable":true,"group":false,"created_at":"2022-11-18T00:00:00.000Z","note":"\u003cp\u003eI code and rant, and a thousand other things in between. Tra(i)ns, demoscene @ Genshiken, old hw/sw, heraldry, flags, Japan. Library maid @ owo.cafe.\u003c/p\u003e\u003cp\u003eAsk me about cool outfits, putting screens in my gas masks and Tsutomu Nihei's works.\u003c/p\u003e\u003cp\u003eEN/ES/CA/少し日本語.\u003cbr\u003e:flagTransgender: :flagNonBinary: :flagAgender: :flagBisexual:\u003c/p\u003e","url":"https://owo.cafe/@stage7","uri":"https://owo.cafe/users/stage7","avatar":"https://media.phpc.social/cache/accounts/avatars/109/782/319/452/168/551/original/5e4c4666172a62fc.png","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/782/319/452/168/551/original/5e4c4666172a62fc.png","header":"https://media.phpc.social/cache/accounts/headers/109/782/319/452/168/551/original/62da435e89700c3b.png","header_static":"https://media.phpc.social/cache/accounts/headers/109/782/319/452/168/551/original/62da435e89700c3b.png","followers_count":725,"following_count":246,"statuses_count":14474,"last_status_at":"2026-04-19","hide_collections":true,"emojis":[{"shortcode":"flagTransgender","url":"https://media.phpc.social/cache/custom_emojis/images/000/102/398/original/a534b03d1e39310d.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/102/398/static/a534b03d1e39310d.png","visible_in_picker":true},{"shortcode":"flagNonBinary","url":"https://media.phpc.social/cache/custom_emojis/images/000/129/022/original/b6c208c70dc737d5.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/129/022/static/b6c208c70dc737d5.png","visible_in_picker":true},{"shortcode":"flagAgender","url":"https://media.phpc.social/cache/custom_emojis/images/000/257/151/original/f56512778e089cdb.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/257/151/static/f56512778e089cdb.png","visible_in_picker":true},{"shortcode":"flagBisexual","url":"https://media.phpc.social/cache/custom_emojis/images/000/101/959/original/dda80ce2f4ff4f7d.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/101/959/static/dda80ce2f4ff4f7d.png","visible_in_picker":true},{"shortcode":"windmillTrans","url":"https://media.phpc.social/cache/custom_emojis/images/000/257/152/original/74bf227a774de869.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/257/152/static/74bf227a774de869.png","visible_in_picker":true},{"shortcode":"flagEsLm","url":"https://media.phpc.social/cache/custom_emojis/images/000/101/960/original/8bfec4685224127e.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/101/960/static/8bfec4685224127e.png","visible_in_picker":true}],"fields":[{"name":"Website","value":"\u003ca href=\"https://stage7.net\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003estage7.net\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-18T19:48:05.296+00:00"},{"name":"Pronouns","value":"they/them","verified_at":null},{"name":"QTH","value":":flagEsLm: La Mancha || València","verified_at":null},{"name":"XMPP","value":"stage7@owo.cafe","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[{"name":"FediHire","url":"https://phpc.social/tags/FediHire"},{"name":"hireme","url":"https://phpc.social/tags/hireme"},{"name":"employment","url":"https://phpc.social/tags/employment"}],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113968931169635282","created_at":"2025-02-08T15:18:00.399Z","in_reply_to_id":"113968881468519662","in_reply_to_account_id":"110163384660968561","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113968931169635282","url":"https://phpc.social/@grmpyprogrammer/113968931169635282","replies_count":1,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://cosocial.ca/@emd\" class=\"u-url mention\"\u003e@\u003cspan\u003eemd\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://phpc.social/@syntaxseed\" class=\"u-url mention\"\u003e@\u003cspan\u003esyntaxseed\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I am thinking about getting a VPS just to run a reverse proxy and then “home lab” my blog and a gotosocial single-user instance\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"110163384660968561","username":"emd","url":"https://cosocial.ca/@emd","acct":"emd@cosocial.ca"},{"id":"11361","username":"syntaxseed","url":"https://phpc.social/@syntaxseed","acct":"syntaxseed"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113968564174196682","created_at":"2025-02-08T13:44:40.497Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113968564174196682","url":"https://phpc.social/@grmpyprogrammer/113968564174196682","replies_count":2,"reblogs_count":1,"favourites_count":3,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://phpc.social/@syntaxseed\" class=\"u-url mention\"\u003e@\u003cspan\u003esyntaxseed\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e Do you have any recommendations for a Canadian VPS solution? I am wanting to move my blog off of GitHub pages along with self-hosting a Fediverse instance\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"11361","username":"syntaxseed","url":"https://phpc.social/@syntaxseed","acct":"syntaxseed"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113968145279719903","created_at":"2025-02-08T11:58:08.672Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":null,"uri":"https://phpc.social/users/grmpyprogrammer/statuses/113968145279719903/activity","url":"https://phpc.social/users/grmpyprogrammer/statuses/113968145279719903/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113959634902811148","created_at":"2025-02-06T23:53:50.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://mstdn.social/users/QueerMatters/statuses/113959634919353390","url":"https://mstdn.social/@QueerMatters/113959634919353390","replies_count":1,"reblogs_count":6,"favourites_count":0,"quotes_count":0,"edited_at":"2025-02-07T00:04:52.000Z","content":"\u003cp\u003eWell, after a long long week, my \u003ca href=\"https://mstdn.social/tags/programming\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eprogramming\u003c/span\u003e\u003c/a\u003e CV is finally complete and ready to send out. If anyone is looking to hire a remote React and Express JS in the UK, give me a shout! I have over 13 years of experience, and have done consulting and mentoring freelance for the last 4 years.\u003c/p\u003e\u003cp\u003eI can do full stack web development with either JavaScript or PHP and have experience with a range of backend tech like: Firebase, pocketbase and PostgreSQL\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mstdn.social/tags/GetFediHired\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eGetFediHired\u003c/span\u003e\u003c/a\u003e boosts so appreciated :blobfoxheart:\u003c/p\u003e","reblog":null,"account":{"id":"109242362846816629","username":"QueerMatters","acct":"QueerMatters@mstdn.social","display_name":"Bloo (they/she) 🍓 🏳️‍⚧️ 🍉","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-10-19T00:00:00.000Z","note":"\u003cp\u003eYour friendly neighbourhood autistic lesbian, who's increasingly despaired by the state of the world. Fatally besotted with academia and social sciences, but currently studying a \"hard sciences\" subject. \u003c/p\u003e\u003cp\u003eLooking forward to meeting other lovely queers here!! I gush a lot about queer stuff. I also speak español!\u2029Disability and queer rights zealot.\u2029\u2029\u2029\u003c/p\u003e\u003cp\u003eAvatar: drawing of Badeline from Celeste\u2029\u2029\u003c/p\u003e\u003cp\u003eCover: A mix of diagonal stripes from the non binary, bisexual and LGBT flags.\u2029\u003c/p\u003e\u003cp\u003eFree Palestine 🍉\u003c/p\u003e","url":"https://mstdn.social/@QueerMatters","uri":"https://mstdn.social/users/QueerMatters","avatar":"https://media.phpc.social/cache/accounts/avatars/109/242/362/846/816/629/original/2dbd2c521d939a33.png","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/242/362/846/816/629/original/2dbd2c521d939a33.png","header":"https://media.phpc.social/cache/accounts/headers/109/242/362/846/816/629/original/9c950653cae4ce78.png","header_static":"https://media.phpc.social/cache/accounts/headers/109/242/362/846/816/629/original/9c950653cae4ce78.png","followers_count":1091,"following_count":637,"statuses_count":1265,"last_status_at":"2026-04-12","hide_collections":false,"emojis":[],"fields":[{"name":"Blog","value":"\u003ca href=\"https://thinkymeat.neocities.org\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ethinkymeat.neocities.org\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-12T21:26:44.140+00:00"},{"name":"Location","value":"TERF Island","verified_at":null},{"name":"Sexual Orientation","value":"Queer af \u0026amp; exploring ENM","verified_at":null},{"name":"Matrix","value":"@its-bloo:matrix.org","verified_at":null}]},"media_attachments":[],"mentions":[],"tags":[{"name":"programming","url":"https://phpc.social/tags/programming"},{"name":"getfedihired","url":"https://phpc.social/tags/getfedihired"}],"emojis":[{"shortcode":"blobfoxheart","url":"https://media.phpc.social/cache/custom_emojis/images/000/128/326/original/79e5eeb4e65a742f.png","static_url":"https://media.phpc.social/cache/custom_emojis/images/000/128/326/static/79e5eeb4e65a742f.png","visible_in_picker":true}],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},"application":null,"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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113965848764030961","created_at":"2025-02-08T02:14:06.620Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113965848764030961","url":"https://phpc.social/@grmpyprogrammer/113965848764030961","replies_count":0,"reblogs_count":0,"favourites_count":3,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eHave *any* Canadian economists suggested a better response to the proposed US tariffs than “make it easier for the super wealthy to become even more wealthy?”\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113964082135183766","created_at":"2025-02-07T18:44:50.006Z","in_reply_to_id":"113964046539544424","in_reply_to_account_id":"1","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113964082135183766","url":"https://phpc.social/@grmpyprogrammer/113964082135183766","replies_count":1,"reblogs_count":0,"favourites_count":2,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://phpc.social/@ramsey\" class=\"u-url mention\"\u003e@\u003cspan\u003eramsey\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e There is a lesson there Ben, but you are not gonna like it\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"1","username":"ramsey","url":"https://phpc.social/@ramsey","acct":"ramsey"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963751783466508","created_at":"2025-02-07T17:20:49.239Z","in_reply_to_id":"113963739841932322","in_reply_to_account_id":"108143057116647596","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963751783466508","url":"https://phpc.social/@grmpyprogrammer/113963751783466508","replies_count":1,"reblogs_count":0,"favourites_count":5,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e\u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://mastodon.social/@ghorwood\" class=\"u-url mention\"\u003e@\u003cspan\u003eghorwood\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e \u003cspan class=\"h-card\" translate=\"no\"\u003e\u003ca href=\"https://phpc.social/@ramsey\" class=\"u-url mention\"\u003e@\u003cspan\u003eramsey\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e You can also use the poorly-documented E_POLITE option\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"108143057116647596","username":"ghorwood","url":"https://mastodon.social/@ghorwood","acct":"ghorwood@mastodon.social"},{"id":"1","username":"ramsey","url":"https://phpc.social/@ramsey","acct":"ramsey"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963496265316346","created_at":"2025-02-07T16:15:50.341Z","in_reply_to_id":"113963484338341141","in_reply_to_account_id":"109815899329060105","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963496265316346","url":"https://phpc.social/@grmpyprogrammer/113963496265316346","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://joshbutts.social/@josh\" class=\"u-url mention\"\u003e@\u003cspan\u003ejosh\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e Your trolling is spot-on today\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"113963496015316781","type":"gifv","url":"https://media.phpc.social/media_attachments/files/113/963/496/015/316/781/original/360b224c1e52c51c.mp4","preview_url":"https://media.phpc.social/media_attachments/files/113/963/496/015/316/781/small/360b224c1e52c51c.png","remote_url":null,"preview_remote_url":null,"text_url":null,"meta":{"original":{"width":480,"height":430,"frame_rate":"100/3","duration":1.5,"bitrate":607445},"small":{"width":480,"height":430,"size":"480x430","aspect":1.1162790697674418}},"description":"clap applause GIF by Originals","blurhash":"UuO:$*R-~MxC?9j?I[oexCnjWYX8NKbaj[V["}],"mentions":[{"id":"109815899329060105","username":"josh","url":"https://joshbutts.social/@josh","acct":"josh@joshbutts.social"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963409137505016","created_at":"2025-02-07T15:53:40.878Z","in_reply_to_id":"113963381488860629","in_reply_to_account_id":"109815899329060105","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963409137505016","url":"https://phpc.social/@grmpyprogrammer/113963409137505016","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://joshbutts.social/@josh\" class=\"u-url mention\"\u003e@\u003cspan\u003ejosh\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e That is your opinion. Works great with my iterative development practices\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"109815899329060105","username":"josh","url":"https://joshbutts.social/@josh","acct":"josh@joshbutts.social"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963363114434850","created_at":"2025-02-07T15:41:58.620Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963363114434850","url":"https://phpc.social/@grmpyprogrammer/113963363114434850","replies_count":1,"reblogs_count":0,"favourites_count":8,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eCo-worker: “You can use the (MySQL) snapshot for the rollback”\u003c/p\u003e\u003cp\u003eMe: “You can pry ‘down()’ from my cold dead hands”\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113963298132588814","created_at":"2025-02-07T15:25:27.073Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963298132588814","url":"https://phpc.social/@grmpyprogrammer/113963298132588814","replies_count":1,"reblogs_count":1,"favourites_count":6,"quotes_count":0,"edited_at":"2025-02-07T15:26:28.062Z","content":"\u003cp\u003eI also would not want to go back to editing code without LSP’s and the ability to jump around in the code base finding references.\u003c/p\u003e\u003cp\u003eI also use LLM’s to automate some drudgery.\u003c/p\u003e\u003cp\u003eI will refuse to use LLM’s to create whole systems without any tests to verify behaviour.\u003c/p\u003e\u003cp\u003eThis is the difference between myself and the AI grifters.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mastodon.cloud/@lo_fye/113963241778458452\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emastodon.cloud/@lo_fye/1139632\u003c/span\u003e\u003cspan class=\"invisible\"\u003e41778458452\u003c/span\u003e\u003c/a\u003e\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":{"url":"https://mastodon.cloud/@lo_fye/113963241778458452","title":"Derek Martin (@lo_fye@mastodon.cloud)","description":"@grmpyprogrammer@phpc.social I just mean that I can't fathom coding without an IDE that has Intellisense for auto-completing user-defined functions etc. When I made that switch, it was huge and there was no going back to plain old text editors, especially on projects with over a few hundred thousand lines of code. \n\nI'm already getting accustomed to using AI in my IDE, and I haven't even written much code recently... but it's nice that it can automatically do repetitive stuff that wastes my time.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"mastodon.cloud","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963078970349433","created_at":"2025-02-07T14:29:42.921Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963078970349433","url":"https://phpc.social/@grmpyprogrammer/113963078970349433","replies_count":3,"reblogs_count":3,"favourites_count":7,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eIt’s not a “generation gap” so much as a disagreement as to how useful those tools are if you rely on them the majority of the time like their proponents do.\u003c/p\u003e\u003cp\u003eI honestly don’t care if people use them. Not my monkey, not my circus. I care immensely if people try to force me to use them or suggest I am not a “real developer” for choosing to limit my exposure to them.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://mastodon.cloud/@lo_fye/113963041343120971\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"ellipsis\"\u003emastodon.cloud/@lo_fye/1139630\u003c/span\u003e\u003cspan class=\"invisible\"\u003e41343120971\u003c/span\u003e\u003c/a\u003e\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":{"url":"https://mastodon.cloud/@lo_fye/113963041343120971","title":"Derek Martin (@lo_fye@mastodon.cloud)","description":"@grmpyprogrammer@phpc.social LOOOOOL, and there it is, folks; a stark generation gap, staring us right in the eye.","language":"en","type":"link","author_name":"","author_url":"","provider_name":"mastodon.cloud","provider_url":"","html":"","width":0,"height":0,"image":null,"image_description":"","embed_url":"","blurhash":null,"published_at":null,"authors":[]},"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}},{"id":"113963048924568632","created_at":"2025-02-07T14:22:04.472Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":null,"uri":"https://phpc.social/users/grmpyprogrammer/statuses/113963048924568632/activity","url":"https://phpc.social/users/grmpyprogrammer/statuses/113963048924568632/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113962625650143426","created_at":"2025-02-07T12:34:25.000Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"public","language":"en","uri":"https://furry.engineer/users/patcharcana/statuses/113962625626626652","url":"https://furry.engineer/@patcharcana/113962625626626652","replies_count":1,"reblogs_count":61,"favourites_count":0,"quotes_count":0,"edited_at":"2025-02-07T12:35:13.000Z","content":"\u003cp\u003eWell, my bosses have decided that even though I can name about five combinations of any two of our retail clients who outspend the entire USGov contract pile, they're going to bend the knee to the EOs and suspend our DEI board.\u003c/p\u003e\u003cp\u003eI need a new job by monday, and at this point I'm willing to wash dishes to do it. But if you know anyone who needs a Principal or Senior SRE, or could use a python dev for some backend-related purpose, I can be found at: \u003ccode\u003emercenary AT  arcanalabs DOT ca\u003c/code\u003e\u003c/p\u003e","reblog":null,"account":{"id":"109432514419629811","username":"patcharcana","acct":"patcharcana@furry.engineer","display_name":"Patch Arcana","locked":false,"bot":false,"discoverable":true,"indexable":false,"group":false,"created_at":"2022-11-14T00:00:00.000Z","note":"\u003cp\u003e[He/Him] Writer | 無☸️ | Junkyard Dog | Gizmo-mancer | This account not rated for consumption by minors or managers.\u003c/p\u003e\u003cp\u003eI like making things and witnessing other people make things. Myself I do \u003ca href=\"https://furry.engineer/tags/EmbeddedDev\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eEmbeddedDev\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"https://furry.engineer/tags/Programming\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eProgramming\u003c/span\u003e\u003c/a\u003e alongside a fair amount of writing and TTRPG design. Dipping my toes into pixel art and eurorack modular synthesis.\u003c/p\u003e\u003cp\u003eI am actively trying to curate a feed of people who make things, build worlds, and spread peace.\u003c/p\u003e\u003cp\u003eCorona onus grave est; noli eam gerere.\u003c/p\u003e","url":"https://furry.engineer/@patcharcana","uri":"https://furry.engineer/users/patcharcana","avatar":"https://media.phpc.social/cache/accounts/avatars/109/432/514/419/629/811/original/fd153d86f3158af7.jpg","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/432/514/419/629/811/original/fd153d86f3158af7.jpg","header":"https://media.phpc.social/cache/accounts/headers/109/432/514/419/629/811/original/491c0d937af434ac.jpg","header_static":"https://media.phpc.social/cache/accounts/headers/109/432/514/419/629/811/original/491c0d937af434ac.jpg","followers_count":717,"following_count":353,"statuses_count":1687,"last_status_at":"2026-04-17","hide_collections":false,"emojis":[],"fields":[{"name":"portfolio site","value":"\u003ca href=\"https://www.arcanalabs.ca\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003earcanalabs.ca\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T12:24:20.308+00:00"},{"name":"books","value":"\u003ca href=\"https://www.sanityline.net\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003esanityline.net\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T12:24:20.672+00:00"},{"name":"Ko-Fi","value":"\u003ca href=\"https://www.ko-fi.com/ArcLabs\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003eko-fi.com/ArcLabs\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null},{"name":"everything else","value":"\u003ca href=\"https://www.zadammac.ca\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://www.\u003c/span\u003e\u003cspan class=\"\"\u003ezadammac.ca\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\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":"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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113962639718879545","created_at":"2025-02-07T12:38:00.484Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":null,"uri":"https://phpc.social/users/grmpyprogrammer/statuses/113962639718879545/activity","url":"https://phpc.social/users/grmpyprogrammer/statuses/113962639718879545/activity","replies_count":0,"reblogs_count":0,"favourites_count":0,"quotes_count":0,"edited_at":null,"content":"","reblog":{"id":"113962609267814632","created_at":"2025-02-07T12:30:15.000Z","in_reply_to_id":"113962532007972367","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://masto.ai/users/simondassow/statuses/113962609216882749","url":"https://masto.ai/@simondassow/113962609216882749","replies_count":0,"reblogs_count":1,"favourites_count":2,"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 Outright provocation, when really, a developer who needs AI to work is like a construction worker not knowing what kind of tool to use.\u003c/p\u003e","reblog":null,"account":{"id":"109383296004171594","username":"simondassow","acct":"simondassow@masto.ai","display_name":"Simon Dassow","locked":false,"bot":false,"discoverable":false,"indexable":false,"group":false,"created_at":"2022-11-18T00:00:00.000Z","note":"\u003cp\u003e\u003ca href=\"https://masto.ai/tags/Computers\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eComputers\u003c/span\u003e\u003c/a\u003e / \u003ca href=\"https://masto.ai/tags/Developing\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eDeveloping\u003c/span\u003e\u003c/a\u003e / \u003ca href=\"https://masto.ai/tags/HouseMusic\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eHouseMusic\u003c/span\u003e\u003c/a\u003e / \u003ca href=\"https://masto.ai/tags/Dad\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eDad\u003c/span\u003e\u003c/a\u003e / \u003ca href=\"https://masto.ai/tags/Calisthenics\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eCalisthenics\u003c/span\u003e\u003c/a\u003e / \u003ca href=\"https://masto.ai/tags/Vegan\" class=\"mention hashtag\" rel=\"nofollow noopener\" target=\"_blank\"\u003e#\u003cspan\u003eVegan\u003c/span\u003e\u003c/a\u003e for 30+ / 25+ / 20+ / 15+ / 8+ / 5+ years\u003c/p\u003e\u003cp\u003eSoftware Developer, Fitness Coach, Consultant\u003c/p\u003e","url":"https://masto.ai/@simondassow","uri":"https://masto.ai/users/simondassow","avatar":"https://media.phpc.social/cache/accounts/avatars/109/383/296/004/171/594/original/9d28292d0d0803e8.png","avatar_static":"https://media.phpc.social/cache/accounts/avatars/109/383/296/004/171/594/original/9d28292d0d0803e8.png","header":"https://media.phpc.social/cache/accounts/headers/109/383/296/004/171/594/original/155995445706ba3c.jpeg","header_static":"https://media.phpc.social/cache/accounts/headers/109/383/296/004/171/594/original/155995445706ba3c.jpeg","followers_count":248,"following_count":214,"statuses_count":3766,"last_status_at":"2026-04-17","hide_collections":false,"emojis":[],"fields":[{"name":"Open Source","value":"\u003ca href=\"https://codeberg.org/sdassow\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003ecodeberg.org/sdassow\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T19:44:00.462+00:00"},{"name":"Software Consulting","value":"\u003ca href=\"https://consultwithsimon.tech\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003econsultwithsimon.tech\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":"2026-04-17T19:44:00.599+00:00"},{"name":"House Music","value":"\u003ca href=\"https://simontunez.bandcamp.com\" rel=\"nofollow noopener\" translate=\"no\" target=\"_blank\"\u003e\u003cspan class=\"invisible\"\u003ehttps://\u003c/span\u003e\u003cspan class=\"\"\u003esimontunez.bandcamp.com\u003c/span\u003e\u003cspan class=\"invisible\"\u003e\u003c/span\u003e\u003c/a\u003e","verified_at":null}]},"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"}},"application":null,"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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113962561752508447","created_at":"2025-02-07T12:18:10.801Z","in_reply_to_id":"113962532007972367","in_reply_to_account_id":"98","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113962561752508447","url":"https://phpc.social/@grmpyprogrammer/113962561752508447","replies_count":0,"reblogs_count":3,"favourites_count":9,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003eThis the exact same horseshit as “you’re not a real developer if you don’t write tests / don’t use a framework / don’t use an IDE / don’t use a compiler / don’t use types”\u003c/p\u003e\u003cp\u003eEvery day I am disappointed in the behaviour of people who confuse being good at programming with being smart.\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113962532007972367","created_at":"2025-02-07T12:10:36.940Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113962532007972367","url":"https://phpc.social/@grmpyprogrammer/113962532007972367","replies_count":8,"reblogs_count":11,"favourites_count":34,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e“A developer not using AI is like a construction worker not using a hammer.”\u003c/p\u003e\u003cp\u003eEasiest block in my life.\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113959539618104410","created_at":"2025-02-06T23:29:36.692Z","in_reply_to_id":null,"in_reply_to_account_id":null,"sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113959539618104410","url":"https://phpc.social/@grmpyprogrammer/113959539618104410","replies_count":1,"reblogs_count":1,"favourites_count":1,"quotes_count":0,"edited_at":null,"content":"\u003cp\u003e“Rob Manfred says some MLB fans concerned over lack of salary cap”\u003c/p\u003e\u003cp\u003eOf course the owners want a cap — nothing more American than underpaying your employees compared to the revenues of your business.\u003c/p\u003e\u003cp\u003eFans should be demanding the other billionaire owners spend more money instead of complaining.\u003c/p\u003e\u003cp\u003eAgain, nothing more American than licking the boots of rich people.\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":"113958123495035218","created_at":"2025-02-06T17:29:28.371Z","in_reply_to_id":"113958098780096509","in_reply_to_account_id":"109406038045436925","sensitive":false,"spoiler_text":"","visibility":"unlisted","language":"en","uri":"https://phpc.social/users/grmpyprogrammer/statuses/113958123495035218","url":"https://phpc.social/@grmpyprogrammer/113958123495035218","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/@brianfenton\" class=\"u-url mention\"\u003e@\u003cspan\u003ebrianfenton\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e I don’t say this to be mean, but your government has been crushing us since the 1980’s and I think a bunch of people woke up and saw the relationship for what it is and have no idea how to change it to Canada’s benefit\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":732,"following_count":225,"statuses_count":6474,"last_status_at":"2026-04-18","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":[{"id":"109406038045436925","username":"brianfenton","url":"https://phpc.social/@brianfenton","acct":"brianfenton"}],"tags":[],"emojis":[],"quote":null,"card":null,"poll":null,"quote_approval":{"automatic":[],"manual":[],"current_user":"denied"}}]