Sign in

Peter Bhat Harkins ✔️

@push.cx
3.8K followers 467 following 1.6K posts

Programmer by day, programmer by night. Blog: push.cx Bootstrapping: recheck.dev I run lobste.rs and stream office hours Mon+Thu: push.cx/stream For people migrating, I was @pushcx on Twitter. I use he/him.

PostsRepliesMedia
Peter Bhat Harkins ✔️ @push.cx · 07/09/2026
Intrusive ID collection has become normalized enough that I just got a phishing email that went straight for demanding I upload a government ID to them. Button in the email goes directly to this form, zero attempt to build credibility or increase urgency.
screenshot of an email: from "DreamHost", subject "[Due Soon] Identity verification required to continue using DreamHost", body has their logo and reads: Hi, We need you to complete a quick identity verification to get your hosting service fully activated. It takes just a minute: [button: Verify Identity] If you have any questions, just reply to this email, we're happy to help. Thanks, DreamHost Supportscreenshot of a dreamhost-branded phishing form with a dropdown for selecting ID type, box for social security number, instructions for uploading photos of the front and back of an ID, and a couple checkboxes for terms of service and legalese "confirm I'm the account holder or authorised [sic] representative"
060
Peter Bhat Harkins ✔️ @push.cx · 04/09/2026
If you've used Link, Stripe's fast payment system that's on lots of online checkouts, you're defaulted into them selling your data. Not really clear to me in thousands of words of policies if that's just name + address or includes everything you've bought. app.link.com/settings/dat... to opt out.
screenshot of a popup titled "Data Sharing", there is one setting with the toggle enabled titled "Link may share your data with third-parties to provide recommendations; if you opt out you may lose access to those recommendations. Learn more about how Link uses and shares your data."
012
Peter Bhat Harkins ✔️ @push.cx · 15/08/2026
The Ipad is sitting on a first-party keyboard, so this is two silly bugs. I guess I could turn it off and back on again, but the message about it being freshly-restarted is accurate.
photo of an ipad, the lock screen says "Your password is required after Ipad restarts" and despite the presence of a hardware keyboard, there is a giant software keyboard hovering across the middle of the screen
010
Peter Bhat Harkins ✔️ @push.cx · 12/08/2026
Oh no, apple, you're not tricking me on the phone, too. (18 isn't down below, it's lying, there's only 26.)
Screenshot of settings saying "Update to iOS 18.7.8" with a red notification dotScreenshot of clicking through and it admitting there's only iOS 26 to update to, no 18.x.
220
Peter Bhat Harkins ✔️ @push.cx · 05/08/2026
Incredible lack of polish visible every couple minutes.
360
Peter Bhat Harkins ✔️ @push.cx · 22/07/2026
Here is a useful jujutsu revset I wrote in the hopes someone knows a less ridiculous way to express this: lobste.rs/c/n2dlgq
snippet of a multiline revset, each says "at_operation(@-, @) |" and every line has one more - than the previous
060
Peter Bhat Harkins ✔️ @push.cx · 22/07/2026
Very true. It has the opposite reputation, but IRS is actually quite friendly and helpful if you call, for instance. I took this screenshot last week because I was surprised I couldn't file a mandatory annual report.
screenshot of the Illinois Secretary of State website/personal homepage of Alexi Giannoulias complete with giant portrait, and a red error message saying "LWCA filings are not acceptable through the online filing system."
000
Peter Bhat Harkins ✔️ @push.cx · 20/07/2026
They've been boiling this frog for a year or so, but I'm sorry to see Reddit go. I remember exactly where we were standing in the ChiPy meeting at Google's first Chicago sales office when Aaron told me to check out his startup. I wrote it down in the little notebook I carried before smartphones.
screenshot reading:  Log in to use old Reddit

To keep Reddit safe, accounts are required to access old Reddit. Log in, or continue without an account on reddit.com.
1121
Peter Bhat Harkins ✔️ @push.cx · 14/07/2026
Our apartment building comes with a storage unit in the basement. We like to buy in bulk to save, but then forget we have extras in place we don't see often. It took a mildly embarrassingly long time to realize I should just leave a reminder on the item itself so we know when we run low.
an open box of No. 4 paper coffee filters with a post-it note on it reading "3 more" and "run descaler every 100 filters".
040
Peter Bhat Harkins ✔️ @push.cx · 10/07/2026
similarly, it is physically painful when someone's hot take is dead right but gets the facts and reasoning obviously wrong.
meme image of Wesley Snipes crying and pointing a gun, no text added
060
Peter Bhat Harkins ✔️ @push.cx · 30/06/2026
It's a nice quiz for showing how many dimensions the topic has. I got a very odd result: the text is roughly fine (tho close to a Forer Effect example) but I had to look up the title/patron and it's a blogger who died of mental health issues 3 years ago + didn't write substantively about AI?? Wat?
screenshot of the "Kontextmaschine" result
020
Peter Bhat Harkins ✔️ @push.cx · 16/06/2026
Maybe the only misstep I've seen in Tailscale is that on signup you pick which giant company with no customer support should be able to lock you out of Tailscale. Then to emulate them, Tailscale forbids you changing behemoths or even submitting a support ticket about it.
screenshot of Tailscale docs reading: Set up an identity provider

When you activate your domain name with Tailscale for the first time, you must choose which identity provider you want to use.screenshot of Tailscale customer support form reading: Due to limitations on how GitHub's authentication interacts with Tailscale, it's not possible to migrate to/from GitHub as an identity provider at this time. See our list of Supported SSO identity providers.

The button to submit a customer support ticket is missing.
060
Peter Bhat Harkins ✔️ @push.cx · 11/06/2026
I was making other updates to my LinkedIn profile and someone forced Patrick Collison to write a grownup profile, so I am stealing his wonderful gag.
a screenshot of the top of the Experience section of a LinkedIn profile. The company is Lobsters, the job title is "Content Strategist" and the description is "I am content.  https://lobste.rs/c/wbgn6x"
030
Peter Bhat Harkins ✔️ @push.cx · 24/05/2026
I wonder when the Steam Link icon will be updated from the 2015 Steam Controller to the 2026.
The icon for the Steam Link iOS app. A blue roundrect with a white circle and the silhouette of a steam controller with the unique dual circular touchpads.
031
Peter Bhat Harkins ✔️ @push.cx · 14/05/2026
Was thinking about this n+1 article about how Netflix has characters announce things because I watched Rogue One; it would've been 15 minutes shorter if characters weren't constantly yelling the plot into their phones or explaining each other's motivations to 3rd parties.
Such slipshod filmmaking works for the streaming model, since audiences at home are often barely paying attention. Several screenwriters who’ve worked for the streamer told me a common note from company executives is “have this character announce what they’re doing so that viewers who have this program on in the background can follow along.”
140
Peter Bhat Harkins ✔️ @push.cx · 27/04/2026
GitHub's having another rough day. Note the different number of PRs in the tab vs table. I've also seen a repo 7 PR in the tab and 3 in the table. And different users are seeing different results for the same repo.
screenshot of github's PR list where the tab shows 1 PR but table shows 0 PRs
040
Peter Bhat Harkins ✔️ @push.cx · 22/04/2026
Write a pre-tool hook that denies the program/args you don't want it using and prints a message saying the correct thing to do.
quick bash script to, if in a project with a .jj directory, detect and prevent 'git' commands with a message telling the llm to use jj
000
Peter Bhat Harkins ✔️ @push.cx · 17/04/2026
I got curious to query the monthly word count of Lobsters comments. Average is 618k, or roughly 10 nonfiction books per month.
screenshot of a sql query for wordcount by month of the last year, they range from 589k to 773k; query took almost 16 minutes to run
131
Peter Bhat Harkins ✔️ @push.cx · 09/04/2026
If you want a picture of the future, imagine an LLM stamping on a human community -- for ever.
screen shot of https://github.com/lobsters/lobsters/issues/1996 - an issue in the Lobsters repo that's LLM spam for an LLM skill to post LLM spam to Lobstersscreenshot of https://github.com/sales-skills/sales/blob/main/skills/sales-lobsters/SKILL.md - an LLM skill that treats a discussion forum as a marketing resource
1113
Peter Bhat Harkins ✔️ @push.cx · 19/03/2026
I get these once a week, but this is by far the most polished version I've seen of this invitation to commit fraud. Mostly posting for business folks who might benefit from a vivid example of what's targeting them.
screenshot of email, reading:

Peter Bhat Harkins – brief intro from our team

Hi Peter Bhat Harkins,

I came across your GitHub profile (https://github.com/pushcx) and noticed you're based in the US.

I'm James, from the Philippines—over 10 years in software development. Rates here are low compared to the US, so I'm focused on a long-term partnership with someone in the US. Not a one-off—a real collaboration.

The model:

- I apply to US roles using your professional profile (you're the face of the engagement).
- You attend interviews; I provide full prep and technical support so you're confident.
- Once a role is secured, I handle the technical delivery; you stay in control.
- Revenue is shared on a clear, agreed structure—fair and transparent.

Goal: build something that scales. A few solid contracts can mean steady income and a real partnership. Legitimate, low-risk—I'm happy to share references or jump on a short call before we commit.

Reply if you're open to exploring a long-term collaboration.
140
Peter Bhat Harkins ✔️ @push.cx · 12/03/2026
@bikelaneuprising.bsky.social What is the jacket made out of, or is this the reflective coating? I've never seen a warning like this on a jacket before, I'd like to look up more info.
screenshot of BLU's jacket shop page reading "Performance tested above 30°F. Temps below that could damage the jacket."
000
Peter Bhat Harkins ✔️ @push.cx · 12/01/2026
Similar sentiment here attributed to Karl Jilg.
Drawing of a typical downtown sidewalk with pedestrians but the streets are bottomless pits
010
Peter Bhat Harkins ✔️ @push.cx · 31/12/2025
Just... wow. I retyped this comment and it autocompleted issues from random other repos. Lobsters is a Rails app, none of these are from our repo.
Another screenshot, now the autocompletes are for "Add Collider3d implementation", "feat: updating urllib3", and "fix(deps): update log4j-core" etc.
050
Peter Bhat Harkins ✔️ @push.cx · 31/12/2025
Here's a new one for core GitHub functionality becoming unreliable: I typed `#1843` to link a PR and the picker autocompleted 5 unrelated issues/PRs, mislabeling all of them as #1843. I need to prioritize exporting issues + PRs, I feel like I'm making a mistake by leaving that data at risk of loss.
A github comment starting "In #1843" with the issue autocompletion open. All 5 issues/PRs are labeled "#1843", but none of them are the real PR #1843.
3130
Peter Bhat Harkins ✔️ @push.cx · 26/12/2025
Prompted by my neighbors going out of town for the holiday and leaving their alarm clock on... iOS can play various white noises. Settings -> Accessibility -> Audio & Visual -> Background Sounds (worth adding to Control Center). I think it's intended for tinnitus, but also useful for light sleepers.
screenshot of the Background Sounds settings
130
Peter Bhat Harkins ✔️ @push.cx · 18/12/2025
I love some of these urgent warnings I get nowadays. Great, remind me again in a year or two.
screenshot with an orange-highlighted warning reading "Your disk space is limited (640.1 GiB)"
030
Peter Bhat Harkins ✔️ @push.cx · 12/12/2025
I try to stay grateful for free things but I am losing my cool with how GitHub can no longer count to 10 comments without taking off its socks.
screenshot of a github issue thread with the now very familiar label "6 remaining items" with a button reading "Load more"
051
Peter Bhat Harkins ✔️ @push.cx · 27/11/2025
hmmmmm
Screenshot of Jesse's Wavepal post. the next one under it is from "depths of wikipedia" and is a photo of a crab captioned "Male sand fiddler crabs attract mates by waving"
160
Peter Bhat Harkins ✔️ @push.cx · 06/11/2025
The distinction between high and low culture is a scam created to sell less low culture.
Calvin:
A painting. Moving. Spiritually enriching. Sublime. ....“High” art!

The comic strip. Vapid. Juvenile. Commercial hack work. ....“Low” art.

A painting of a comic strip panel. Sophisticated irony. Philosophically challenging. ....“High” art.

Hobbes:
Suppose I draw a cartoon of a painting of a comic strip?

Calvin:
Sophomoric. Intellectually sterile. ...“Low” art.
080
Peter Bhat Harkins ✔️ @push.cx · 30/10/2025
The cat has canceled this morning's Lobsters office hours stream by jumping up and spilling my cup of coffee over basically everything on my desk, including a bunch of important paperwork. I'm going to be cleaning all morning and am not in a great mood to present. Perp attached. Will do PRs ~lunch.
black cat lounging behind a big Roget's thesaurus with goblin ears and sin in his heart
270
Peter Bhat Harkins ✔️ @push.cx · 14/09/2025
A spammer promoting an AI coding tool spammed my repo. I reported the spam to GitHub. They kept the spam and, after hiding him for a couple weeks, restored the spammer. I can't resolve the problem because I can't ban the spammer. So now every page has this irritating banner forever. GitHub, wtf?
a screenshot of an obnoxious yellow header on a github repo saying "You have one 1 unresolved abuse report. View report"
080
Peter Bhat Harkins ✔️ @push.cx · 27/08/2025
Welp, google search no longer respects minus for excluding words. A friend couldn't repro so this is an A/B test or some odd behavior in response to my preceding queries.
screenshot of a google search for "activerecord specify log level docs -rails" and all the results have "rails" in the title.
130
Peter Bhat Harkins ✔️ @push.cx · 01/08/2025
Heck, we haven't even settled our argument over what to call it. (Photo is Quinn Slack, speaking at HeavyBit DevGuild. I sent him an invite. Photo by @mikejulian.com.)
Guy presenting at a tech conference; the title is 'Next 3 Months in Coding' and the top bullet point is '"AI writes 90%" of code becomes obviously true to everyone except lobste.rs' and yeah the weird quotes are in the original.
260
Peter Bhat Harkins ✔️ @push.cx · 26/07/2025
Periodic reminder that if you generate random alphanumeric codes, you probably want to avoid generating naughty words by leaving out the vowels.
Email header from Gravatar to me reading "Subject: FG2FAG is your Gravatar code"
060
Peter Bhat Harkins ✔️ @push.cx · 24/07/2025
web.archive.org/web/20051212...
screencap of Elrond in lord of the rings, captioned with his line "I was there that day, 3,000 years ago. The day the strength of men failed."
050
Peter Bhat Harkins ✔️ @push.cx · 17/07/2025
No stream today, unfortunately. The ISP wants to repeat the process where they'll send a tech out tomorrow to confirm that it's fine when the line is dry. :|
Simpsons TV showing "Technical Difficulties please stand by" title card with a puppy having unplugged a power cord
110
Peter Bhat Harkins ✔️ @push.cx · 31/05/2025
Ah, thought I was focusing like on mastodon, didn't mean to crop. Here's the full thing with the same hash on both lines, or you can just see it at github.com/lobsters/lob...
uncropped version of previous screenshot, showing it's the same commit attributed to me and rando
020
Peter Bhat Harkins ✔️ @push.cx · 31/05/2025
GitHub PRs and issues have gotten pretty janky the last ~7 months but attributing my commit to a rando who's never interacted with the repo is getting into "you had one job" territory.
Screenshot of a github issue where I close it with a commit and the next line attributes the same commit to a rando with a Mr. Bean avatar.
470
Peter Bhat Harkins ✔️ @push.cx · 30/05/2025
BeOS was too good for this world. (screenshot snagged from www.jfedor.org/shots/)
A sample BeOS desktop with lovely, consistent widgets, icons, and typography
110
Peter Bhat Harkins ✔️ @push.cx · 15/05/2025
Ah, bitshifting. First image is the failure where even the difference is a pain in the ass to spot. Second image is the bug. Super obvious fix right. For funsies I am porting a Golang function to Lua... which means going from 0-based arrays to 1-based. It's fine, I have lots of hair to pull out.
test runner, complaining of a failure where two 26-letter long strings of random letter differ by a single letter in the middlea wall of lines of 26 lines of code that have slightly different magic numbers, all like: str[7] =  Base32.ALPHABET[((id[4] & 15) << 1) | ((id[5] & 128) >> 7)]
320
Peter Bhat Harkins ✔️ @push.cx · 13/05/2025
Sure! The behavior is odder than I realized, even scrolling didn’t always close it.
110
Peter Bhat Harkins ✔️ @push.cx · 13/05/2025
Once a week Slack sends me a notification to look at one same particular channel because “your team has been talking”. No one has talked in any channel on that server for 4+ years.
Screenshot of the slack notification described with the name of the server and channel blocked out.
050
Peter Bhat Harkins ✔️ @push.cx · 05/05/2025
three screencaps from Arrested Development of a character taking a brown paper bag labeled "dead dove do not eat" from the fridge, looking inside, and blankly saying "I don't know what I expected"
030
Peter Bhat Harkins ✔️ @push.cx · 01/05/2025
The Chicago Department of Transportation surveyed residents about planning and reproduced the one map of Chicago. image.citynews.chicago.gov/lib/fe301171...
Choropleth map of Chicago community areas that looks like every such map of Chicago. In this case, high response counts on the north side and west loop.
000
Peter Bhat Harkins ✔️ @push.cx · 18/04/2025
The big visual change is that comment folders and upvoters moved into one column. This cleans up an inconsistency, saves horizontal space, and just looks nicer. Overall elements are more consistently positioned and spaced, often by a pixel or two, making pages easier to scan and read.
screenshot of Lobsters; to the left of comments there's now the comment folder, upvote arrow, and score, horizontally aligned down the side
230
Peter Bhat Harkins ✔️ @push.cx · 14/04/2025
Hit a good checkpoint on the merged story UI refresh, so I shipped it. Nicer header and now threads are split up by which link they're responding to. I have 4,159 top-level threads to check are sorted right... I guess that's next stream! Details: github.com/lobsters/lob...
screenshot of the top of https://lobste.rs/s/oe4yec with four links merged into one story, and a header indicating a tree of comments is in response to one particular link
030
Peter Bhat Harkins ✔️ @push.cx · 08/04/2025
Microsoft allowed me to opt-out from having my data used for LLM training. And also opts me back in after a few tenths of a second, so I can be allowed to opt out again and again.
1135
Peter Bhat Harkins ✔️ @push.cx · 08/04/2025
How 'bout today, huh? Rex Manning day.
close-up photo of Rex Manning from Empire Records
000
Peter Bhat Harkins ✔️ @push.cx · 17/03/2025
P wing item from Super Mario Bros 3
020
Peter Bhat Harkins ✔️ @push.cx · 03/03/2025
meme image, The Godfather behind his desk: you come to me on this / casimir pulaski day
130