Hacker Newsnew | past | comments | ask | show | jobs | submit | theonemind's favoriteslogin

Age only covers encryption. It does not cover signing, ssh, web of trust, hierarchical keys, key discovery, etc. It is in no way a replacement for a modern PGP keychain.

Ignore GnuPG which is a shit show stuck in the 90s. PGP != GPG

For a modern long lived personal PGP keychain use Keyfork on AirgapOS which gives you a secure 24 word mnemonic backup, optional split backup across redundant smartcards, and a separation of a CA key and daily driver subkeys on smartcards all done correctly so you do not have to think about it. I would suggest a Nitrokey Pro due to open source rust firmware, though Yubikeys are supported.

From there you can use your smartcard for ssh, password management, git commit signing, etc. and make your key easy to discover without impersonation using keyoxide to have all your services, domains, etc attest to your key, as well as any humans who vouch for you.

A proper PGP keychain is a long lived digital passport first, that has encryption and authentication subkeys.

https://git.distrust.co/public/keyfork

https://git.distrust.co/public/airgap


Hurl (https://hurl.dev/) is quite good

Metrovac makes an electric plugin duster that is the bees knees. Never have to buy a can of air again. It's powerful too. Powerful enough that you feel what little torque the motor has when it powers on.

This is the model. https://www.webstaurantstore.com/metrovac-ed-500-datavac-ele...


Washi is my favorite tshirt material

Hard agree. Apple has lost my data on multiple occasions. I resized my Time Machine partition and that silently corrupted most of my backups.

Apple is the only company that makes such terrible file systems. I have resized partitions on NTFS and EXT3 and never lost any data. Apple is uniquely terrible in terms of file systems and data integrity in general.


Don't worry people. If you are not a European let me tell you how it goes.

The 'Unofficial' boss of European Union is Germany. If Germany will vote against it, more countries will back off and it won't pass. If Germany wants ChatControl, it's over. It will pass and all other undecided countries will support it.

Thankfully, Germany (so far) is against it.


its possible to use gpt-5-high on the plus plan with codex-cli, its a whole different beast! i dont think theres any other way for plus users to leverage gpt-5 with high reasoning.

codex -m gpt-5 model_reasoning_effort="high"


Excellence in anything is a byproduct of having fun. Fun is a byproduct of understanding. Understanding is a byproduct of going slow. Going slow is a byproduct of curiosity. Curiosity is a byproduct of saying "I don’t know," of shunning beliefs and attending to what is in front, with zero baggage or impositions of your own—shunning the ego in the moment, moment by moment. Excellence comes when each piece is as equal as any other, when preference is shunned, when space is created to allow what is in the moment, without resistance, without insistence.

I think this argument suffers from the same problem as many arguments of similar kind. It goes like this: if A then B. If B then C. If C then D. It all makes sense. Every single one of these steps makes sense. Except, if you have a chain with five steps and every one of them has a 90% likelihood, the whole chain has only 60% likelihood. And it’s probably less the 90% for each step, in reality. So, you can come up with an entirely plausible reasoning chain, where each step is highly likely to come true, and yet be completely wrong with your overall conclusion.

To create your own, go to the URL, and prepend archive.is/

Thus for this one, use:

    archive.is/https://www.washingtonpost.com/investigations/2025/03/22/family-secrets-jfk-files-cia-assets/
Then post the short form here: https://archive.is/uXmDZ

ChatGPT-4o is scary good at writing VHDL.

Using it to prototype some low level controllers today, as a matter of fact!


In my experience, if you have a medium sized task with multiple unknowns, it is best to prototype aggressively without a thought about quality, and then start a second iteration with quality in mind. The purpose of the prototyping is learning.

It’s faster (yes) than prototype-then-fixup. Why? Because the ”live refactor” is harder than the greenfield writing phase. The new knowledge often makes the impl straightforward.

It’s also better quality than design-then-build. The optimal architecture and modularization change with knowledge increase, which is best to get via experience. You can design fully upfront but it’s riddled with analysis paralysis - it’s notoriously hard (and slow) to predict unknowns.

Sounds like good advice? Well, the hardest part isn’t to follow it – it’s to know upfront what size of task it is. If it turns out to be easier, you waste a bit of work (prototype-fixup is faster). However, if it’s bigger than you thought – you’re in the best possible position to break down the new problem into subtasks, with no wasted work.


For me (a multi-year paying subscriber), one of the many indications of Kagi's difference is a) that it has a changelog and b) that the changelog shows so much granular work.

https://kagi.com/changelog


One thing I've learned when buying a full set of appliances couple of years ago: don't read consumer reports or reviews by randos on the internet -- instead, go to industry literature, and read reports by/for service and warranty providers. They have actual hard data on the types and frequency of problems across brands and models.

But back to the main theme of the article: hell to the no was my initial attitude, and I went out of my way to make sure my appliances were as simple as possible. Still, three out of the five were "wifi-enabled" and promised a world of app-enhanced wonders. Needless to say, none of these ever even got anywhere near being set up, and I think I am lucky, all the normal, expected appliance features work without requiring these extras.

The idea of remotely preheating my oven while I am not home still makes me shudder.


This is true.

Focus = Energy - Distraction

and

Success = Focus x Time

The way you gain stamina is by doing things to increase your energy and decrease distraction. I wrote and talked about this here, fwiw.

https://vonnik.substack.com/p/state-changes-work-and-presenc...

https://www.linkedin.com/posts/stokedlive_focus-is-power-lea...


It is important to understand that time restricted eating is behavioral adaptation to reduce caloric consumption. A calorie deficit is what drives weight loss.

Here is a list of similar things that also "work". It is key to understand that "working"- meaning weight loss is the result of a deficit of energy requiring the body to use stored fuel (fat) as energy over time:

-higher protein is more satiating

-higher fiber is more satiating

-keto diets are for most people pretty satiating so they reduce caloric intake

-GLP1s like Ozempic and Mounjaro lead you to feel "full" and eat less through a few mechanisms - slowing digestion, stabilizing insulin and blood sugar

-Drinking lots of water

-subbing out sugars with artificial sweeteners

-fasting, intermittent fasting, time restricted eating, alternate day fasting. For some can lead to a binge but if you adhere to it you are likely to consume less calories

-switching from processed foods to whole foods high in fiber and protein is more satiating

-wearing tighter and more revealing clothing will lead one to eat less

-weighing yourself daily will lead you to eat less (assuming you understand thermodynamics)

-exercising and cardio will lead you to burn more calories. Muscle mass accrued over time burns modestly more calories than fat mass and cardio burns calories directly

-counting calories directly (leads to greater adherence). Just like budgeting. If you don't measure and estimate what is going in vs going out at all and have no experience measuring you are unlikely to succeed.

It is important to understand that NONE of the above are a substitute for a caloric deficit for losing weight but rather one possible path to CAUSING a caloric deficit. The deficit is still required. These are behavioral tools. Hormones, PCOS, insulin etc are also not workarounds to the laws of thermodynamics. They can make you more hungry or burn more or less calories at the margins but they dont change the equation of calories in vs calories out.

Often people confuse the behavioral method to achieve weight loss with the mechanism driving it, and this leads to most of the confusion on weight loss outside of scientific literature (among blogger quacks, fitness guru snakeoil salesman etc.)

Rant over.


Email [email protected]; “@dang” doesn't do anything

That's as bad as using regular expressions: now you have TWO problems.

Why do you seem to think you've cleverly solved the problem, when you've just moved the problem somewhere else just as bad, by blithely messing with the standard formatting conventions universally used by most human written languages and programming languages in the world?

Programming languages borrow commas from human written languages, and no human written languages have leading commas. And moving the problem to the beginning on the list because you sometimes add things to the end ignores the fact that that also causes problems with READING the code as well as writing it, and you READ code much more often than you WRITE it.

That's not a solution at all, and there's nothing clever about it. You've just pushed the problem to the beginning of the list, and now your code is also butt-ugly with totally non-standard formatting, which sane people don't recognize and editors and IDEs and linters don't support.

I agree with cnity that it's too clever by half, and I'm in the camp (along with Guido van Rossum and his point that "Language Design Is Not Just Solving Puzzles" [1] [2]) that's not impressed by showboating displays of pointlessly creative cleverness and Rube-Goldbergeesque hacks that makes things even worse.

Of course it's not as bad as tezza's clever by a third suggestion to add a confusing throw-away verbose noisy arbitrarily named pad element at the beginning, that actually forces the SQL database to do more work and send more useless data. Now you have three or more problems. The last thing we need is MORE CODE and network traffic contributing to complexity and climate change. I would fire and forget any developer who tried to pull that stunt.

[1] https://www.artima.com/weblogs/viewpost.jsp?thread=147358

All Things Pythonic: Language Design Is Not Just Solving Puzzles. By Guido van van Rossum, February 10, 2006.

Summary: An incident on python-dev today made me appreciate (again) that there's more to language design than puzzle-solving. A ramble on the nature of Pythonicity, culminating in a comparison of language design to user interface design.

[...] The unspoken, right brain constraint here is that the complexity introduced by a solution to a design problem must be somehow proportional to the problem's importance. In my mind, the inability of lambda to contain a print statement or a while-loop etc. is only a minor flaw; after all instead of a lambda you can just use a named function nested in the current scope.

[...] And there's the rub: there's no way to make a Rube Goldberg language feature appear simple. Features of a programming language, whether syntactic or semantic, are all part of the language's user interface. And a user interface can handle only so much complexity or it becomes unusable.

[2] http://lambda-the-ultimate.org/node/1298

The discussion is about multi-statement lambdas, but I don't want to discuss this specific issue. What's more interesting is the discussion of language as a user interface (an interface to what, you might ask), the underlying assumption that languages have character (e.g., Pythonicity), and the integrated view of semantics and syntax of language constructs when thinking about language usability.


>> Since graduating from undergraduate studies (which marks exactly one year as I write this post)

Author sounds young .. yes, absolutely try to consume less and create more, it's way more life-affirming than the opposite configuration, but:

Getting better at your job, like everything else in life, is just a function of time. Show up, and then show up consistently. Put in the time. Be patient. Lead with an open mind and an open heart -- opportunities go to those who are present way more often than those who aren't. Willingly take on shitty jobs, do them well, and you'll find yourself being trusted with bigger and better jobs. Learn when to be the worker bee and when to be the queen bee. Say "yes" until you're truly able to say "no". Try to accept that, at the end of the day, things don't matter as much as you think they might -- I'm talking about projects, stress, deadlines, shit that floods your veins with cortisol. The only thing people will truly remember is how you made them feel during a crisis, not the minutiae of what you actually contributed -- and those personal relationships will be the gasoline in the engine of your career.

I really believe people will go far if they focus on this kind of stuff, and way less on structured self-improvement, productivity hacking, finding "secrets", shortcuts via programs, seminars, coaches, and tools, and all that shallow, nutritionless baloney.


In case you want to run Justfiles in places where you can't install the Just binary (for whatever reason), I wrote a compiler that transforms Justfiles into portable shell scripts that have byte-for-byte identical output in most cases.

https://github.com/jstrieb/just.sh

Previous HN discussion: https://news.ycombinator.com/item?id=38772039


A few days ago the QwQ-32B model was released, it uses the same kind of reasoning style. So I took one sample and reverse engineered the prompt with Sonnet 3.5. Now I can just paste this prompt into any LLM. It's all about expressing doubt, double checking and backtracking on itself. I am kind of fond of this response style, it seems more genuine and openended.

https://pastebin.com/raw/5AVRZsJg


Can’t upvote enough. Too much dogshit in software is caused by solving imaginary problems. Just write the damn code to do the thing. Stop making up imaginary scaling problems. Stop coming up with clever abstractions to show how smart you are. Write the code as a monolith. Put it on a VM. You are ready to go to production. Then when you have problems, you can start to solve them, hopefully once you are cash positive.

Why is your “AirBnb for dogs” startup with zero users worrying about C100K? Did AWS convince you to pay for serverless shit because they have your interests in mind, or to extract money from you?


> encourage simple duplication

A rule I like to follow:

- first time: write it

- second time: copy it

- third time: maybe refactor it


My favorite saying: “simple is robust”

Similar in spirit to Lehman’s Law of Continuing Change[0], the idea is that the less complexity a system has, the easier it is to change.

Rather than plan for the future with extensible code, plan for the future with straightforward code.

E.g. only abstract when the situation requires it, encourage simple duplication, use monoliths up front, scale vertically before horizontally, etc.

I’ve built many 0-1 systems, and this is the common thread among all of them.

[0] https://en.m.wikipedia.org/wiki/Lehman%27s_laws_of_software_...


I'm not sure if this quite fits your workload, but a lot of times people use `git` when `casync` would be more appropriate.

I'm betting against OpenAI. Sam Altman has proven himself and his company untrustworthy. In long running games, untrustworthy players lose out.

If you disagree, I would argue you have a very sad view of the world, where truth and cooperation are inferior to lies and manipulation.


The short answer - F# and similar languages provide confidence in correctness due to being strongly typed.

The long answer - https://bartoszmilewski.com/2014/10/28/category-theory-for-p...


astgrep is a very useful tool when grep fails: https://ast-grep.github.io/

It's not as easy to use as grep but I think one can script it to be nearly so. It has huge power but without learning it all one can do searches that grep finds difficult. e.g. finding all the locations where a method is called and showing the parameters even if they are on multiple lines. You can then use rewrite rules to do CLI code refactoring.

I think it also has potential in a build toolchain e.g. to look for patterns you want to discourage as a pre-commit hook.

ultragrep - https://github.com/zendesk/ultragrep - I don't love this quite as much but it does have a way to build indexes so you can do fast greps across a big codebase. It also has a text mode UI if you want it and I find that almost worthwhile.

I use ripgrep most of the time but while I like it, there is a limit to how many grep tools I can remember and I should probably cut down to using ultragrep and astgrep.

plain gnu grep itself is something one has to know when one is on an unfamiliar machine.


I started with screen and Terminal.app, then I switched to tmux and iTerm. Now i"m on wezterm and zellij. Works great!

Still, I'm happy to see work on screen continuing.


Bit of a tangent but it's kind of infuriating to me that I still haven't found anything better than Winamp (or Foobar for that matter) on a modestly powerful Windows machine. Even 20 years ago, I could literally just right-click on an entire folder sitting on my external hard-drive, and it would immediately enqueue all of those files into Winamp.

I even had a bunch of Winamp plugins that could automatically handle my NSFs, SID files, tracker files—any format I threw at it, it could handle them seamlessly.

It used very little CPU, it never crackled, it never popped, and it never crashed. This wasn't even using any low-latency ASIO drivers or anything fancy.

Fast forward decades later and I'm sitting on my Mac M1 desperately trying to find anything that even comes CLOSE to this.

The closest thing I found is Cog, but it takes minutes to queue up larger folders. It's ridiculous, and of course I'm one of the lucky individuals who ended up with a Mac with core audio issues where if I'm using more than 35% to 40% of my CPU, the audio pops once every minute/minutes despite clearing out the plist files and trying every other trick, it seems like the basic core audio drivers of Mac are awful stuff. I had a better DAW experience on my Windows machine with ASIO4ALL which shouldn't even be possible.


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

Search: