Hacker Newsnew | past | comments | ask | show | jobs | submit | fusslo's commentslogin

I feel like a boomer.

I dont want to use google/apple/microsoft for any credential manager because: google is evil; apple has locked me out of my apple id (and lost things like the recordings of conversations with my father during his hospice); microsoft keeps getting worse and more annoying to use.

So ok, I need some credential manager. I used keepass previously... but how do I vet other credential managers? I dont want an online backup. I want my credentials to only be on my computers. So now I gotta learn about which apps are ok, don't have cloud synching, can export files, and be compatible with MacOS.

And I have to learn what is FIDO? Like FICO? why do I need to synch with FIDO? what is it? will it give my credential store to others?

How is this easier or more convenient than a user/pass with 2fa?

I feel like I am going to accidentally leak my credentials and have no way of knowing


> I dont want an online backup. I want my credentials to only be on my computers. So now I gotta learn about which apps are ok, don't have cloud synching

If an "online" password manager uses end-to-end encryption, then the credentials really are only on your computers. The only thing "in the cloud" is encrypted blobs of data being moved around for the purpose of device sync and backup.

This insistence on using local non-syncing password managers is a masochistic exercise in making life difficult for yourself with no security benefit.


That came across more snarky than I intended!

Let me rephrase: for the majority of users, the usability and resilience benefits of synced credentials are enormous, and the security costs are marginal at best. But this rests on a number of assumptions. YMMV.


In your case it's literally the same "complexity" as user/pass with 2FA. You need something to manage the passkeys, just like you need something to manage your second factor. Everything else you list as a worry is already in play.

FIDO is a standards body which produces specifications used by these systems.


> The people in charge probably don't even know Curacao isn't part of Venezuela

assuming Lieutenant General Evan Lamar Pettus is in charge

"""

Bachelor of Science in Aeronautical Engineering, United States Air Force Academy

Master of Business Administration (MBA), Bellevue University

Master of Science in Logistics Sciences, Air Force Institute of Technology

Master of Strategic Studies, Air War College

Euro-NATO Joint Jet Pilot Training

U.S. Air Force Weapons School graduate

Squadron Officer School

Air Command and Staff College

Combined/Joint Forces Land Component Commander Course

Combined Force Air Component Commander Course

Senior Joint Information Operations Applications Course

Combined Force Maritime Component Commander Course

Joint Flag Officer Warfighting Course

Operational and Leadership Training

Qualified as a command pilot with more than 2,700 flight hours in aircraft including the F-15E and A-10, and multiple combat deployments (Operations Northern Watch, Southern Watch, Allied Force, Enduring Freedom, Iraqi Freedom, and Inherent Resolve).

Completed F-15E Weapons Instructor Course

"""

but yeah, he probably doesn't know Curacao isn't part of Venezuela.


“Lieutenant General Evan Lamar Pettus” is not “in charge”.

Trump and Hegseth are.


are you suggesting trump and hegseth planned the refueling route?

Be real.


> Curacao is a few kilometers of the Venezuelan coast, but the Americans have deemed the entire ocean north of Venezuela as military operations.

Are you suggesting Lieutenant General Evan Lamar Pettus did that? Or Hegseth and Trump? Because that's clearly what hte parent was referencing. So, please, explain to me how Lieutenant General Pettus deemed the entire ocean north of Venezuela as military operations on their own without the involvement of Hegseth or Trump. Or admit you are wrong.


Pettus won't have planned the route, either.

(Hegseth may've accidentally texted it to a reporter, though. That'd be on brand.)

It's very clear that the upthread comment was referring to the administration - headed by a guy prone to word salad and outright lies - not the folks way, way down the chain doing the flight plans.


are you guys naming your products?

We have an internal name and our product name. Internal names start as something that describes the project/repo/tool. Then within 18 months the name no longer makes sense so we rename it to some random name - state names, lake names, presidents, mountains, etc. It's just a placeholder.

The public facing product name is a compromise of marketing, trademark, and what gets approved by the CEO. Even the company name might change in startup world. No joke: the startup next door had to change their name because it was too masculine, and they realized more than half their projected market was women.


This is the way, you name things random words devoid of all connection to software because you don't want to confuse people later when the scope grows or changes.

Well so in the beginning we only supported email notifications which is why it's called EmailServ but over time it grew into a robust and pretty general queueing service so now it handles all our background task processing. Sending emails is actually handled by EmailWorker but EmailServ still supports its original API which now uses EmailWorker behind the scenes if you prefer that.


100% agree

my local middle school has their school zone on:

1. four lane highway

2. dedicated turning lanes

3. major thru-way between shops, apartments, and the rest of the city

4. great visibility

this is a recipe for 50mph. the speed limit is 25mph. If you do the speed limit, you WILL be tailgated. If you do ~35, you're risking a ticket. There will still be people doing 45-50 and weave through the lanes.

also in my town, the main thru-way is a route dating back to the 30s. There are red lights at major intersections and they WILL turn red even if no one is there. They're designed to slow people down. HOWEVER if you speed and run a yellow light, you'll hit ALL the lights green! It shaves significant time off your trip, is easier on your car, is more enjoyable, and requires less attention. It's a system designed to make people speed and run reds.

Where I used to live, I could get from one side of the city to the other in a maximum of 30 minutes. the lights were designed to keep traffic flowing at 30-35mph. It ENCOURAGED you to go no faster, or you'll have to slow down and come to a stop. This also kept traffic flowing so you felt like you HAD to focus on driving. They also did things to encourage bicycles and make things safer for pedestrians.


I don't understand the workflow that makes JJ more useful than git. I dont think I've even had the idea of having multiple worktrees going at once. What is the use case? The author mentions being blocked by CI flow. Don't you have CI running on gitlab or github? just commit and push the branch and run CI. The author mentions stashing the changes, but like.. if you're running against CI, isn't it in a state that is commitworthy? I don't see how creating a worktree in a new folder and opening a new editor is more convenient than creating a branch at a certain commit.

I can understand if you need to run a CI or unit tests locally. Is that it?

I am not attacking JJ, I genuinely can't understand its value in my current workflow.


"When is jj useful" is a different question from "when are workspaces/git worktrees useful"

I find jj overall most useful for separating the concept of a machine-level commit history that saves every change from a human-readable commit history . jj has really nice tools for cleaning up your commits for review while still retaining all the mechanical changes in case you need to get more granular. (Of course, there are many other tools to do this, like magit – I just find jj to work best with my brain.)

Workspaces/worktrees are best when you have long-running tasks where the state of the disk is important. Local "CI" is a good example – kick off a long test run on one workspace while starting a new task in another. Another example these days is stuff with Agentic LLMs, e.g. I might create one workspace and ask Claude Code to do a deep investigation of why our AWS costs went up.


Specific workflows that I use in jj vs git:

1. Stacked PRs. I like to be kind to my reviewers by asking them to review small, logically-contained pull requests. This means I often stack up chains of PRs, where C depends on B depends on A, and A is being reviewed. If I receive feedback on A, jj enables me to incorporate that change within A, and flows those changes down into my dependent branches. I can then merge and close out A, whole continuing to work on B and C. Achieving this in raw git is labour intensive and error prone.

2. Easily fix up commits. I like to work with atomic commits, and sometimes I realize that I've made a typo in a comment, or a small error, or missed a test case. Jj makes it really trivial to timewalk back to the commit in question, fix it and resume where I left off.

3. Decompose a big PR into multiple PRs. This is the flip side of point 1: I can take my own big PR and rearrange and partition the commits into A, B and C so that they can easily be reviewed.

In general, jj seems to encourage and reward you for being disciplined with your commits by enabling you to be more flexible in how you stage, review and ship your code.

On the flip side, if you're the kind of person who is used to typing `git commit --all --message "xxx"` you might not get as much value from jj until that changes.


I kind of don't get this comment. Isn't the `jj` default behaviour effectively `git commit --all`? There's no staging area -- and I personally find `git add` or `git add -p` a better UI than `jj commit -i`.

Meanwhile, there are git tools that solve the above three problems. My organisation uses `git-spice` (https://abhinav.github.io/git-spice/) which tightly integrates with Github to give you stacked PRs, editing of branches and management of your stacks in Github.

I've been trying jj for a while now because Steve Klabnik heavily recommended it, and so far it hasn't clicked in as nicely as my existing git setup.


I think everyone uses jj a bit differently. Personally I don't like having a staging area; for me it's an opportunity to forget to add a change to a commit. I don't keep files in my work tree that I'm not going to commit or ignore.

But when I first moved to jj I tried to make it work as closely to git as I could. The model I used back then was to have a commit that I meant to upload eventually, and then a working commit on top of that. Then `git commit --all` was `jj squash` and `git commit foo bar` was `jj squash foo bar`.

Eventually I got lazy. It was an extra command, and I almost never have the situation where I don't want to include a file. In the rare case that I do, I'll create a new commit with `jj new` and squash that file into there (you could have a shortcut for it, but the long form is `jj new -m "foo changes" --no-edit && jj squash --to @+ foo`, and then keep working.


FWIW as a fan of git add -p I tend to use the “squash workflow” rather than commit -i.

Thanks, I'll try that :). Despite the fact that I've worked my way back to `git` for my mainline work, I've still got some repos that I've left jj live in to keep picking away at it.

You push branch A, then switch to branch B and start working on that. CI failed on branch A, so you stash branch B and switch back to branch A to fix it.

thanks, that makes sense. I don't see how a worktree is more convenient in that case.

Maybe from the kind of work I do? either CI is failing because of something really simple, or something really complicated that means getting a product setup and producing debug messages. If it's a critical fix on branch A, then I'm not working on branch B. I'm testing branch A locally while CI does its thing


Worktrees are useful particularly because they look like entirely separate projects to your IDEs or other project tooling. They are more useful on larger projects with lots of daily commits. If you just use branches then whenever you switch, in the worst case, your IDE has to blow away caches and reconstruct the project layout or build the project fresh. On large projects this takes significant time. But switching your IDE to a different project, there are now two project and build caches to switch between.

ah interesting. our codebase is over 10gb with about 8 years of history. But, we only have 2-3 merges per week.

I don't know what JJ brings over git, but what sold me worktrees around 2 years ago was this article: https://matklad.github.io/2024/07/25/git-worktrees.html

I wrote a very popular tutorial for jj, and I didn't use workspaces until a few weeks ago. They're useful for the same reasons git worktrees are: most recently, people use them for doing work with multiple AI agents in parallel, but historically, I've seen people use them for things like "this project's build takes 30 minutes so I want to work on something else while I wait for that".

> I don't see how creating a worktree in a new folder and opening a new editor is more convenient than creating a branch at a certain commit.

Worktrees are about being able to work on multiple branches at the same time, fundamentally. When you want to be doing something on one branch and something else on another branch simultaneously.

That does mean it's, IMHO, a fairly niche feature.


I think it shouldn't be, and the poor affordances in git have hidden this for a long time.

What kinds of things do you use it for? I'm always open to learning about newer and better ways to work.

I keep my agent workflows distinct; we have (for historic reasons) a lot of non-git controlled context that differs between branches, and moving all that around on checkouts is untenable. I use this tool:

https://github.com/tdhopper/wt

with some custom shell aliases to make it easier.


> I dont think I've even had the idea of having multiple worktrees going at once.

I have a recent annoyance that's solved by work trees: running multiple AI agent instances locally in parallel, without containers or VMs. Jujutsu isn't even needed for this, 'git worktree' is adequate. Granted, self-hosted agents is a niche use case, but IMO, worktrees are the simplest and most elegant way to scale up GPU utilization once the model is loaded. Other alternatives are multiple checkout locations, containers or VMs each requiring a 1:1 ratio to agent instances.


I've used multiple worktrees with plain git; it's not a unique jj feature anyway. It's handy for working on multiple things at the same time with somewhat less cognitive overhead to switch back and forth.

For what it's worth, I have been using jj as my primary git client for two years at this point, and have only use workspaces to see how they work, and then never touched them again.

There is a lot more to jj that makes it nicer than git, but it's mostly a bunch of small things that jj does nicer, that cumulatively add up to a significantly nicer experience.


jj is a different topic.

As for worktree, jj or git, it has become the defacto way to work on multiple branches in paralell, using AI. Unlike the non AI workflow where you don't switch often, working with AI involves more branches that can be worked on in parallel and switching back and forth quite rapidly.


Assuming the other commenter is correct and the mcu is a clone of an ST product, then it's possible that the protection are fuses that destroy the pathways to the memory. They're one-time writable and cannot be undone. At my work that is how we protect our firmware with a similar ST product.

I'm not sure how it works in-silicon. Would be interesting to know how... but it's sunday afternoon


This readme reads like I already know the project, what it does, what problems it solves, and how it works.

> A precise project scheduling engine with minute-level accuracy for resource allocation and dependency management.

I have no idea what that means.

I write firmware, so does that mean this project is a scheduler for a while(1) based mcu project?

> pip install scriptplan

Oh, it's python. ok, so it's a "resource allocation and dependency management" engine.. for a python project? I mean, I'm using pip to install it, so it's not a daemon style engine that my project can hook into, right?

> # Generate JSON report to stdout

> plan report project.tjp

Oh, it IS some kind of daemon or service that runs when I install it with pip?

> Certification Level: Airport-Grade / Mission Critical

Okay, so is there a standards bureau that certified it? if so shouldnt there be a certification number somewhere? then maybe I could figure out what this does.

Read to the end, I still don't know what the first line in the readme means. Maybe I need to look up 'TaskJuggler'?


personally, I started re-watching Mad Men JUST because of these errors!

I love audio commentary, behind the scenes, and other looks behind the veil. I would love the ability to see more of unedited, 'raw', or 'mistakes' in older tv shows. Hell, I would even pay for it.

Whats really interesting to me is that no one 'decided' what's worthy of inclusion like they do with behind the scenes stuff


You might want to look into workprints! They're versions of movies that are shown to test audiences, executives, or internal screeners. They're often pre-sound mixing, pre-editing, pre-VFX. So you get stuff like clip art explosions where later VFX will go, or bare production dialogue where you can hear the room echo and crew footsteps. They're super neat!


> There are several lessons to take away from this tragedy. One is that localization is a good thing. Another is that it is best not to kill people who make you angry until you have carefully investigated the situation

wise wise words


The person that was killed was the person who started the violence, the wife. I would posit that instead physically attacking someone who comes over to apologize, you should try listening first.

Also, if your wife and her family are that crazy, give them time to cool down before you put yourself in that situation...


the father was the one who stirred the pot and misinterpreted the text -- blame him.

and this was an estranged wife, which sometimes leads to murders in the US and other places. they were looking for a reason to be pissed at him.


I've been thinking a lot about John Henry since this AI stuff has started


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: