HNHacker News
TopNewBestAskShowJobs

l72

1,617 karma · joined September 6, 2018

submissionscomments
l72··on The feed doesn't know you, and YouTube refuses to let you browse
I find youtube's interface so incredibly frustrating and hostile. Even when I know what I want to watch, I find it very hard to actually get to it. On their Roku app, search for The Daily Show, and try and watch the latest clips. It doesn't show them in that order and browsing the clips is frustratingly hard. Their web interface, especially mobile, is equally as bad.

I've given up on trying to use youtube's interface and now just rely on recommendations + rss (via freshrss) or tubearchivist to keep me up to date and organize the videos.

l72··on City Learns Flock Accessed Cameras in Children's Gymnastics Room as a Sales Demo
The problem isn't having cameras. Its that these cameras should be closed circuit with data residing locally, not being sent to a 3rd party that has full access to the video streams, and who processes them, combines them with other parties, resells data from them, or hands them over without a warrant!
l72··on City Learns Flock Accessed Cameras in Children's Gymnastics Room as a Sales Demo
We are opening up a wellness clinic and we were planning to use a managed service company for internet, network, and security. I was appalled by the managed services suggestions. Privacy of our patients and their data is critical, and the managed service company wants to send all of our feeds to third parties and give third parties direct access to our network.

We decided this was a privacy and security risk, and have gone in a completely different direction, but it would not surprise me if most businesses used one of these companies and just went with whatever they suggested without understanding at all what is at stake or who has access to the data.

l72··on Before GitHub
Same, then moved to bazaar which was really easy and nice.

Of course moved on to git but I still think bazaar did many things better.

l72··on Your phone is about to stop being yours
My Android is running Lineage without Google Play Services (no microg either).

I had an app that I needed to use, and the only available log-in method was via firebase's SMS. Firebase flat out refused to allow me to login because of Google Play Integrity, and there was no web only option.

I ended up having to use my spouse's iPhone...

l72··on jj – the CLI for Jujutsu
If git would change two defaults, that would make me really happy:

  1. git merge ONLY does merges (no fast forward/rebase). git pull ONLY does a fast forward
  2. git log by default is git log --first-parent. Just show commits where the parent is the current branch. This makes the merge workflow really easy to understand an linear, because in the end, you only care about commits on the trunk.
l72··on Git commands I run before reading any code
If your goal here is to have linear history, then just use a merge commit when merging the PR to main and always use `git log --first-parent`. That will only show commits directly on main, and gives you a clean, linear history.

If you want to dig down into the subcommits from a merge, then you still can. This is useful if you are going back and bisecting to find a bug, as those individual commits may hold value.

You can also cherry pick or rollback the single merge commit, as it holds everything under it as a single unit.

This avoids changing history, and importantly, allows stacked PRs to exist cleanly.

l72··on Git commands I run before reading any code
We do. If we are building out a feature, none of its code is merged into main until it is complete (if this is a big feature, we milestone into mergeable and releasable units).

The feature is represented by a Story in Jira and a feature branch for that story. Subtasks in jira are created and multiple developers can pick up the different subtasks. There is a personal branch per subtasks, and PRs are put up against the feature branch. Those subtasks are code reviewed, tested, and merged into the feature branch.

In the end, it is the feature branch that is merged (as a single merge commit and complete unit) into main, and may well have had contributions from multiple people.

l72··on Git commands I run before reading any code
I really, really wish git changed two defaults:

  * git merge ALWAYS does a merge and git pull ALWAYS does a fast forward.
  * git log --first-parent is the default. Have a git log --deep if you want to go down into branches.
If you use a workflow that always merges a PR with a merge commit, then git log --first-parent gives you a very nice linear history. I feel like if this was the default, so many arguments about squashing or rebasing workflows wouldn't be necessary to get our "linear history", everyone would just be doing merges and be happy with it. You get a clean top level history and you can dig down into the individual commits in a merge if you are bisecting for a bug.
l72··on Microsoft hasn't had a coherent GUI strategy since Petzold
Why don't we have more great UI toolkits for the canvas?
l72··on My Google Workspace account suspension
They could switch their domain to another email provider and start getting emails, which is great. The problem though, is they also used their Google Account to log in to all the 3rd party services (payroll). I have no idea how you would get back into those services. Some _might_ let you switch off the Google Sign-in SSO, but I imagine that is a headache.
l72··on Show HN: I built a frontpage for personal blogs
Isn't that that point of POSSE[1]? Host your blog, post a link to it on social sites like Mastodon, and let the conversation happen on Mastodon.

[1] https://indieweb.org/POSSE

l72··on Show HN: I built a frontpage for personal blogs
I always thought the "planets"[1][2][3] were a neat idea. I wish there were more of them for dedicated topics. Then I can just subscribe to specific planets which pulls curated feeds from various blogs on that topic.

[1] Planet Gnome: https://planet.gnome.org/

[2] Planet Debian: https://planet.debian.org/

[3] Planet GNU: https://planet.gnu.org/

l72··on Reinventing the pull request
I just want the simple feature of PRs updating when the target branch changes. For example, say I have two tickets: T-100 and T-101. Both are targeting main, but T-101 builds on top of T-100. I put up a PR for the T-100 branch against main, and put up a PR for the T-101 branch against main.

The T-101 PR can't really be reviewed yet, since you are looking at changes from both T-100 and T-101 (because T-101 was based on T-100).

Ideally, after T-100 is reviewed and merged, the T-101 PR would automatically update to show only the T-101 changes. But it doesn't. You have to manually rebase or merge main and push changes to the branch to get it to update. It would be great if GitHub handled this automatically.

l72··on OpenAI closes funding round at an $852B valuation
> I don't think I'll ever be comfortable allowing an agent to call me a taxi, or order food on my behalf.

I don't let another human do that! When we as a group order lunch, I always want to input mine directly or at least double check the order.

l72··on Claude Code users hitting usage limits 'way faster than expected'
Would you mind naming some of your favorite providers?
l72··on Should QA exist?
In my opinion, the first mistake this article makes is assuming QA should be a completely separate team. My experience has shown that QA works best when it is an integral part of the engineering team. When you silo QA, you create a "throw it over the wall" dynamic where testing becomes a bottleneck rather than a collaborative process. Instead, they should be managed alongside developers and attend the same meetings.

What I find works best is when the Product Manager, Developer Lead, and QA Lead collaborate on requirements. The Product Manager designs the feature, the Developer focuses on technical design and architecture, and the QA Lead maps out user scenarios, integration points, and edge cases. Together, they define the requirements that constitute a successful feature.

When QA is involved early in the process, they understand and drive exactly how the feature should behave. This ensures that critical cases are considered and potential risks are handled before a single line of code is written.

l72··on Shell Tricks That Make Life Easier (and Save Your Sanity)
Also a good thing to remember if you are ever dealing with credentials:

  $  APIKEY=asdfdfds
  $ curl -H "x-api-key: $APIKEY" https://example.com
l72··on OpenCode – Open source AI coding agent
I use bubblewrap. This ensures it only has access to the current working directory and its own configuration. No ability to commit or push (since it doesn't have access to ssh keys) or try to run aws commands (no access to awscli configuration) and so on. It can read anything from my .envrc, since it doesn't have access to direnv or the parent directory. You could lock down the network even further if you wanted to limit web searches.

  exec bwrap \
    --unshare-pid \
    --unshare-ipc \
    --unshare-uts \
    --share-net \
    --bind "$OPENCODE_ROOT" "$OPENCODE_ROOT" \
    --bind "$CURRENT_DIR" "$CURRENT_DIR" \
    --bind "$HOME/.config/opencode/" "$HOME/.config/opencode/" \
    --ro-bind /bin /bin \
    --ro-bind /etc /etc \
    --ro-bind /lib /lib \
    --ro-bind /lib64 /lib64 \
    --ro-bind /usr /usr \
    --bind /run/systemd /run/systemd \
    --tmpfs /tmp \
    --proc /proc \
    --dev /dev \
    --setenv OPENCODE_EXPERIMENTAL_LSP_TOOL true \
    --setenv EDITOR emacs \
    --setenv PATH "$OPENCODE_BINDIR:/usr/bin:/bin" \
    --setenv HOME "$HOME" \
    -- \
    "opencode" "$@"
l72··on Grandparents are glued to their phones [video]
Just add channels you like to your rss feed. It works great with freshrss.

Or if you want to get fancy use tubearchivist with the Jellyfin plug-in.

l72··on Changes to OpenTTD Distribution on Steam
How do you feel about old Lucas arts adventure games that are purchasable on gog and other platforms and come bundled with scummvm?
l72··on System76 on Age Verification Laws
Games already have ratings. Every app submitted to the App Store or Google Play is rated.

90% of an R rated movie might be ok for a 12 year old but those one or violent or sex scenes makes it R. Should we be rating every scene in movies?

Give parents general guidance and let them define the controls.

l72··on Danish government agency to ditch Microsoft software (2025)
Evolution has worked with every corporate environment I’ve been in since 2003. Mail, calendar, contacts, tasks has always worked great, including companies that have used outlook, Google, and others.

I personally don’t love thunderbird, but what is it missing?

Gnome through their online accounts supports most major corporate providers which has calendars showing up in evolution, the dedicated calendar app, and in the status bar of gnome shell.

l72··on Chrome extensions spying on users' browsing data
The fact that most of these are capturing query parameters:

  "u": "https://www.google.com/search?q=target",
indicates that are capturing tons of authentication tokens. So this goes way beyond just spying on your browser history.
l72··on Bubblewrap: A nimble way to prevent agents from accessing your .env files
This is what I have been using with opencode:

  exec bwrap \
    --unshare-pid \
    --unshare-ipc \
    --unshare-uts \
    --share-net \
    --bind "$OPENCODE_ROOT" "$OPENCODE_ROOT" \
    --bind "$CURRENT_DIR" "$CURRENT_DIR" \
    --bind "$HOME/.config/opencode/" "$HOME/.config/opencode/" \
    --bind "$HOME/.emacs" "$HOME/.emacs" \
    --bind "$HOME/.emacs.d" "$HOME/.emacs.d" \
    --ro-bind "$HOME/.gitconfig" "$HOME/.gitconfig" \
    --ro-bind /bin /bin \
    --ro-bind /etc /etc \
    --ro-bind /lib /lib \
    --ro-bind /lib64 /lib64 \
    --ro-bind /usr /usr \
    --bind /run/systemd /run/systemd \
    --tmpfs /tmp \
    --proc /proc \
    --dev /dev \
    --setenv EDITOR emacs \
    --setenv PATH "$OPENCODE_BINDIR:/usr/bin:/bin" \
    --setenv HOME "$HOME" \
    -- \
    "opencode" "$@"
l72··on Self hosting my media library with Jellyfin and Wireguard on Hetzner
With regards to keeping the service behind a VPN, I have a few questions:

1. How do you deal with various devices (Roku, Smart TVs, ...), as most don't seem to have VPN apps for them?

2. How do you deal with airplay? My ipad can VPN to my home network and access jellyfin when I am away, but Airplay doesn't work, as the stream isn't available to the device I am streaming to.

My jellyfin (and navidrome) on my home server has me very happy with the basic set up. Both are internal only, as the only service I expose is wireguard. But I haven't solved the two issues above, which also keeps me from being able to share my jellyfin with my family.

l72··on I'm returning my Framework 16
Drop it into this case to be used as a home server or a set top box!

https://frame.work/products/cooler-master-mainboard-case

l72··on Kroger acknowledges that its bet on robotics went too far
And surprisingly, it was actually Piggly Wiggly that was the first grocery store to open up their warehouse and allow customers to self-service! [1]

> Piggly Wiggly was the first self-service grocery store.

[1] https://en.wikipedia.org/wiki/Piggly_Wiggly#History

l72··on Google Workspace Updates: Send Gmail end-to-end encrypted emails to anyone
Do you like how gmail does threading? It’s flat threading and incorrect ordering is why I will not use gmail’s web interface.
l72··on Ask HN: Why hasn't x86 caught up with Apple M series?
I have an intel framework running fedora. I have found that intels s0 sleep just uses way too much battery. I’d expect that in sleep mode, it should last a week and still be above 50% power but that is definitely not the case.

I ended up moving to hybrid, where it suspends for an hour allowing immediate wake up then hibernates completely. It’s a decent compromise and I’ve never once had an issue with resume from suspend or hibernate, nor have I ever had an issue with it randomly waking up and frying itself in a backpack or unexpectedly having a dead battery.

My work M1 is still superior in this regard but it is an acceptable compromise.

← PreviousPage 2 of 13Next →