skysight-inc/HackerNews huggingface dataset:
>I've often figured out late in the game how to make something a compile time failure rather than a runtime one

This is actually a good (albeit somewhat niche) reason to not write a test scenario at all, but it's still not a great reason to write a test after instead of before.

>Fundamentally the goal of testing is to describe what behaviors of the software are intentional rather than incidental

Yup. A test scenario which is of no interest to at least some stakeholders probably shouldnt be written at all.

This is again about whether to write a test at all, though, not whether to write it first.

>TDD mixes both concerns

I dont think writing a test after helps unmix those concerns any better.

In fact it's probably a bit easier to link intentional behavior to a test while you have the spec in front of you and before the code is written.

I find people who write test after tend to (not always, but strong tendency) fit the test to the code rather than the requirement. This is really bad.

>Maybe other people work on different types of things and TDD is great for them, but I write primarily infrastructure code where correctness is critical and I have the luxury of time

Assuming Im understanding you correctly (you're building something like terraform?), integration tests which run scenarios matching real features against fake infra would seem to be pretty useful to me.

So...why wont you write tests with that harness before the code? Im still unsure.

The only thing "special" about that type of code that i can see (which isnt even all that special) is that unit tests would often be useless. But so what?
> > Which language can do anything without some asm and support as many platforms as C?

> I wouldn't be surprised if someone figured out how to do the interrupts and register control necessary to invoke syscalls with pure LISP/Scheme/CL :P

Haha

> P.S. anything that compiles with LLVM and has an ingrained way to do print() that doesn't invoke libc, although there's a blurry line here between "pure asm"/"compiles to asm" that involves trusting-trust-style bootstrapping of features into the compiler

Actually LLVM IR has no concept of syscalls, you have to use inline assembly inside your IR to issue syscalls.
very cool love tools that make the game more accessible to the less smart folk like me fires and power outage wonder what else is used
> this is the sort of question I was talking about. Had you familiarized yourself with the relevant material, your question would have answered itself.

I wasn't asking what the rules are, but thanks for revealing your condescension.

I was asking if you, Dang, the moderator of this site, would allow such a discussion. And indeed, you answered my question; if indirectly.
> Saying fatherhood can be done with a few minutes a week indicates the speaker either doesn’t have children or had a terrible father.

I interpreted the comment about fatherhood to be sarcasm.
> Instead of icons you could use text which you can grep later easily.

An obvious improvement! And if you're using text you don't even need to be watching out to recognise it, you can search with Ctrl-R.
That poor dude in Maine
I used Caddy for a couple of years but eventually went back to Nginx.

For the Let's Encrypt certs I use certbot and have my Nginx configs set up to point to the appropriate directories for the challenges for each domain.

The only difficulty I sometimes have is the situation where I am setting up a new domain or subdomain, and Nginx refuses to start all together because I don’t have the cert yet.

It’s probably not too complicated to get the setup right so that Nginx starts listening on port 80 only, instead of refusing to start just because it doesn’t have the cert for TLS needed to start up the listener on port 443.

But for me it happens just rarely enough that I instead first make the config and outcomment the TLS/:443 parts and start it so that I can respond to the request from Let’s Encrypt for the /.well-known/blah blah stuff, and then I re-enable listening on with TLS and restart Nginx.

I also used DNS verification for a while as well, so I’m already aware that’s an option too. But I kind of like the response on :80 method. Even if I’ve managed to make it a bit inconvenient for myself to do so.
it looks like any other marketing site, no talk of how or why anything in particular is implemented the way it is, doesn't admit to any tradeoffs or limitations, all positive spin designed to lure you in.
'Trump trades' like the dollar and Bitcoin stalling, Chinese stocks racing ahead
The fact that they changed behavior is immaterial to whether they improved or damaged the environment on net.

You look at California’s sprawl in the face of climate change, and you have to condemn a significant amount of the cliched 70’s environmentalism movements as as much about aesthetics as they were genuinely concerned about the environment.
With my Kobo Libra 2, if I set justification to "off", it follows the justification that's in the ebook -- which usually tend to do exactly what you're asking, e.g., justify body text while leaving headers alone.

When I switched over to Kobo a few years ago, it seemed much easier to manage custom fonts, too, although I think Kindle has improved in that regard. I don't think there's a tremendous amount of difference between the two in practice anymore, though. (In terms of text handling, that is.)
> Pausing their work now, while there are no elections occurring, to ensure the work they are doing is inline with their statutory responsibilities seems like a good idea.

I really hope you're being sarcastic.

https://en.wikipedia.org/wiki/2025_United_States_elections
> You still need something like UPnP

I have two SIP phones both wanting to register port 5061 to forward to their address. How does this work with IPv4/UPnP?
You lose when the middle columns (where new pieces appear) reach the top but with gaps in them. If there are no gaps they are cleared, the board flips and the game continues.
Institutions try to make people more than the sum of their parts. The free market pits businesses against each other in a way that harnesses overall economic productivity. We’ve gotten pretty far with our federalized system and balance of branches. Something does seriously need fixing now that polarized parties lead Congress and the courts not to be doing their job checking the executive. And that presidents are chosen more for their charisma than from trust built up by people who actually work with them. A prime minister is chosen by peers, not by a general population that doesn’t know what they’re capable of.
You assume that everyone thinks that's ugly. These buildings with their wet planet blemishes look just fine to me.
For these commands I want to rerun, but not often enough, I add a comment to the command like `yay - Sc # clear pacman and yay caches` so it's easier to search in the future
Regain trust is hard and the US allies have lost it.
1Password handles this problem pretty elegantly because of their secret key system.

You can just print out your secret key and stuff it in your suitcase / backpack. Its useless for a thief unless they know your password too.

You could set an emergency / recovery contact too, but I don't know how the recovery flow would go.

Also, an eSIM will vastly complicate your bootstrapping.
I used to work at Intel doing OpenVINO stuff. Should work on AMD too; it's just not validated for it so there might be quirks.
This is cool, although I would hate to put 20 hours into solving this just to learn all the positions have been filled, or do a 15 minute interview with the company just for them to say I'm not a "culture" fit.

Neuralink sent me home with a 10 hour assignment writing 1000 lines of (reasonably math-heavy) code and they never even reviewed it. The HR lady kept saying the team was busy (reviewing other coding assignments), and after two weeks of pestering her she said they decided I didn't have enough experience. I know I probably sound salty (I am), but the code itself was impeccable.
There doesn't really seem to be that many weeds at all. A better analogy is that a bunch of kids have been let loose with chain saws in a well kept garden farm that keeps us all alive.
You can find some re:Invent talks about it, but the level of depth may not be what you want.

The tl;dr is they built a distributed storage system that is split across 3 AZs, each with 2 storage nodes. Storage is allocated in 10 GiB chunks, called protection groups (perhaps borrowing from Ceph’s placement group terminology), with each of these being replicated 6x across the nodes in AZs as mentioned. 4/6 are required for quorum. Since readers are all reading from the same volume, replica lag is typically minimal. Finally, there are fewer / no (not positive honestly; I have more experience with MySQL-compatible Aurora) checkpoints and full page writes.

If you’ve used a networked file system with synchronous writes, you’ll know that it’s slow. This is of course exacerbated with a distributed system requiring 4/6 nodes to ack. To work around this, Aurora has “temporary local storage” on each node, which is a fixed size proportional to the instance size. This is used for sorts that spill to disk, and building secondary indices. This has the nasty side effect that if your table is too large for the local storage, you can’t build new indices, period. AWS will tell you “upsize the instance,” but IMO it’s extremely disingenuous to tout the ability for 128 TiB volumes without mentioning that if a single table gets too big, your schema becomes essentially fixed in place.

Similarly, MySQL normally has something called a change buffer that it uses for updating secondary indices during writes. Can’t have that with Aurora’s architecture, so Aurora MySQL has to write through to the cluster volume, which is slow.

AWS claims that Aurora is anywhere from 3-5x faster than the vanilla versions of the respective DBs, but I have never found this to be true. I’ve also had the goalposts shifted when arguing this point, with them saying “it’s faster under heavy write contention,” but again, I have not found this to be true in practice. You can’t get around data locality. EBS is already networked storage; requiring 4/6 quorum across 3 physically distant AZs makes it even worse.

The 64 TiB limit of RDS is completely arbitrary AFAIK, and is purely to differentiate Aurora. Also, if you have a DB where you need that, and you don’t have a DB expert on staff, you’re gonna have a bad time.
Ask HN: Is it possible to create a viable business from "Personal Development?"
I don't want to call it "self-help".

I am the product of the American Dream, gre up poor AF, put myself through college at night later in life while also working 2 jobs ... yadda yadda yadda I am not overeducated and, dare to say, (upper) middle class.

I was the first one of my extended family and friends to ever graduate from college. Most of my friends are high school dropouts in dead-end blue collar jobs.

I look at my income, how much I save, and my net worth and I feel rich (I know I am not).

Here and there I have tried to help the less fortunate, I was a Big Brother for a while, volunteered as a math tutor, in college (where I graduated with honors) I was paired with other students who were struggling... and I have to say I was not very successful, I always put in more effort that these individuals did. But that's another story.

In the past I have had 2 blogs and 2 related e-books on "success", personal and professional, and they have gone nowhere; mostly because I advocate hard work and not silver bullets. But I diverge.

I am still evolving and improving, I have never stopped, and now I am wondering if, following The Lean Startup and PG's principles of solving one's problems and doing things that don't scale, one can actually have a viable business in the vertical of "Personal Development"; doing well by doing good.

I see people like Tony Robbins and Mark Manson doping well enough.

So, aty the dawn of the AI era, is it possible to create a viable business in the vertical of Personal Development?

Viable = profitable.
I worked next door to this building a while ago. London is constantly under construction, and in the Leadenhall area they are constantly finding Roman artifacts. The basement of my (terrible 1980s) building had a whole set of Roman bits and bobs embedded in the floor.

People from elsewhere says “how amazing” but it becomes a routine fact after a while. And while it is amazing it’s also a bit annoying. Major projects plan to block off a street for a month, which becomes three months or more once a Roman coin pile turns up.
Seems like a duplicate of https://news.ycombinator.com/item?id=43054616
Misunderstanding will always be a fact of life. The diversity of humans makes it impossible to reliably interpret other people's emotions, especially when there is not a strong cultural context. We just need to learn to communicate openly and explicitly.

What creeps me out is that so many people have zero self-awareness that there is a difference between what has been communicated and their interpenetration of it.

They will be in a bad mood and conclude the text they just received must have been written in a very rude "tone".

They see your face and conclude you must be angry at them.

They take their subjective interpretation as the same as the objective truth and absolute hate to be challenged. The believe themselves to be "empaths" and "good communicators".

If you think you are very accurate at understanding other people's emotions, you are not. That is not possible. The inside state of people can not be measured by looking at their outside expression, you can only make predictions. You have to ask people how they feel.
I just treat it as an acronym, as do the current developers.

The original founders of the project aren't the ones at the helm currently and the GNU Image Manipulation Program acronym took over from whatever pun it was a long time ago already.

You might like krita better but maybe it is an insult or genital part name in someone else language but you might never know. It happens to so many products. The Toyota MR2 really sound in french like you are calling someone an asshole which is the reason they called it simply MR in that particular market, while an audi etron sounded like audi feces. All this to say that naming is hard and you can never please everyone.

People should really relax and not take personally what has been an acronym for most of the project's life.
I use multiple packing trips. One for solo (generally) business travel. One for me and my wife traveling. And the last one is for me wife and kids.

It works really well and the lists are significantly different.
Service Design Will Evolve with AI Agents
In case anyone is (like me) unfamiliar with the server header ad: https://news.ycombinator.com/item?id=15237923

Glad they removed it. Caddy is a great piece of software.
I'm a long time Firefox user and have no intention of changing. I fully agree but want to make an important distinction. Sometimes people are complaining about development work and sometimes people are complaining about priorities. This is definitely the latter and I do not think it necessarily a developer issue. Firefox does have the opportunity to become so much greater, but it does require a lot of work and time. I'd argue, give the developers the time and resources. I know Mozilla has their hands in a lot of pies, but Firefox is probably the most important one, even if it isn't the most revenue generating one. Firefox is the symbol of Mozilla and it needs to be the best. The developers have proven how much they can change things and make things better. The Rust partial rewrite was nothing short of a success. So I want to see that progress continued and to keep pushing in that direction.
In case you are interested in Shape Up and want read more about it, Ryan Singer - the inventor of the methodology - has written a really great book about how they have been, and currently are, building and shipping products and features at 37signals.

The book is called "Shape Up" (doh) and the electronic version is totally free:

https://basecamp.com/shapeup

I would also really recommend the rest of the books, lots of great thoughts on development and management from actual experience. Also free:

https://37signals.com/books
This feels like a bug, when the board flips, the pieces lose consistency. I get that you can cut pieces, but no sure why I'm getting spaces in between a single piece as it falls, whether it was cut or not.
RIP, truly a legend, very creative guy, thanks for all the good times!
I wish literally any mainstream music discovery service (my sample size: youtube and Spotify) would let you block specific artists and genres from discover queue and searches.
Then I'd spend even more time looking for an icon I'd think represents best the command, and then looking for that icon in the emoji selector
I would recommend people learn the assembly language for the computer they own and then a high level language like c or shell. Far too many developers these days don't know anything about computers.

Going into your kitchen and making some food with the ingredients you have will always be, to use a buzzword, more sustainable than ignoring the state of the kitchen and saying make me an omelette, or worse calling up uber eats which isn't even sustainable if you pay.
Completely agree. If you want a nice way to do this with a shared config that you can commit to a git repo, check out my project, Localias. It also lets you visit dev servers from other devices on the same wifi network — great for mobile testing!

Localias is built on Caddy; my whole goal is to make local web dev with https as simple as possible.

https://github.com/peterldowns/localias
Traefik is also written in Go, actually.
> Is there any other meaning to this word?

Yes. You can often learn obscure meanings by prepending a word in your search query with "urban dictionary".
I get sick when I think about migrating my htaccess and apache rules to this format
Aren't you exposing your dev instance to the world then? Not worried about that?
I just add " ###" to the end of commands run frequently. It makes easier to identify important commands with atuin, fzf or plain bash/fish history search.
Is this outage at all related with the recent gvmt personnel reductions?
Comment history suggests it’s not sarcasm on their behalf.
> you either want to get into electronics or not. If not, there's no real point in spending the money, even if it's $2

It's fuzzier than that; there are hobbies that look fun but I can't decide if I want to fully invest into them, but having a cheap, but not-great equipment is a good stepping stone. Besides, beginners won't have the skill to fully use fully-featured pro-level-gear. A cheap soldering iron is great for those looking to get their feet wet; sure the lack of precise temperature control can be a hinderance, but investing in an expensive soldering station is wasteful if one decides that it's not really for them.
I spent yesterday morning downloading ALL my (~2400) Kindle books using the command line utility from https://github.com/yihong0618/Kindle_download_helper

In case anyone else needs to do something similar:
Log in to your Amazon account > Manage Your Content and Devices

Copy the cookie and save it to a file ('cookie.txt'):
https://github.com/yihong0618/Kindle_download_helper?tab=rea...

Execute the Python utility (this example accesses amazon.co.uk):

python kindle.py --cookie-file cookie.txt --uk -o DOWNLOADS --device_sn [Your Kindle serial no.] --mode all

You can also download a JSON list containing details of all your Kindle books:

python kindle.py --cookie-file cookie.txt --uk --list --device_sn [Your Kindle serial no.]

There are other methods outlined in the README, but this worked best for me.

I also extracted a list of cover URLs from the JSON file using a basic Python script (with output redirected to a file 'covers.txt'):

import json
with open('book-list.json') as f:
json_data = json.load(f)

for i in range(len(json_data)):
print(json_data[i]['productImage'])

And then I used wget to download them all too:

wget --wait=3 --random-wait --input-file=covers.txt

Of course, the books are still DRM'd, but it's trivial to DeDRM them later. The crucial thing was to get the files before it's too late!
That turnkey solution is powered by similar cats. But at least there’s a contract to club them over the head with.
When Not to Obey Orders (2019)
I used this for my homelab before I decided my life was too easy and switched to k8s+cert manager. I use traefik[0] to handle multiple docker-compose projects in development, but this is pretty much a drop in replacement and gets you HTTPS if you have a domain and your registrar has an API. I ran a single docker-compose file with everything in it behind a single reverse proxy for quite a while.

[0] https://blog.gpkb.org/posts/multiple-web-projects-traefik/
Even if one finds themselves in such a situation, they should allow the locals to pull them in, instead of pushing themselves on the locals.
> finite

That's the issue, no? If you go infinite you can then express any real number. You can then actually represent all those whose sequence is equivalent to a computable function.
> The original clearly describes that the coding rules primarily target C

Yes, this is because space engineers don't like so much unpredictable things as Garbage Collectors, which used on nearly all functional languages by definition.

In pure C, one could write code with 100% static allocation, so any step could be checked and ensured to run in very exact time limit.
- Typical GC could give instability larger to O(c^n) from size of garbage.

Second reason, in most air-space development companies, main are air-dynamic (hardware) engineers, and all others considered as lover priority (even when practically, now software costs more than half of typical plane), and most hardware engineers don't understand functional programming.
Even murder, except for certain circumstances, is not a crime at the federal level.

Under the original framing, anything not specifically mentioned by the Constitution was delegated to the individual states to decide. It wasn't until after the civil war that the amendments to the Constitution itself applied to the individual states.
Sad that the US has all these power outages. It comes from rampant capitalism. No obligation to provide redundancy so the cheapest solution it wores on wooden poles and one tree down leads to outages.
In every weather event in the US the news reports xxx people without power. In the rest of the world it isn't a stat that makes the news. I presume this is because redundant grids don't often go down and when they dothe places where it happens has bigger problems.
I totally agree.

Want to keep a distractable 14 year old busy for an hour? Give him or her some wire, a cheap meter, a battery, some switches and LEDs. Want to possibly change that kid’s life? Give him the above, plus a scope, and hook it up to a music player playing his favorite song.
2023 is also fine. When I posted it did not say 2021 or 2023 which made it look recent.
I can tell you why I just stopped using Gemini yesterday.

I was interested in getting simple summary data on the outcome of the recent US election and asked for an approximate breakdown of voting choices as a function age brackets of voters.

Gemini adamantly refused to provide these data. I asked the question four different ways. You would think voting outcomes were right up there with Tiananmen Square.

ChatGPT and Claude were happy to give me approximate breakdowns.

What I found interesting is that the patterns if voting by age are not all that different from Nixon-Humphrey-Wallace in 1968.
Uber Sues DoorDash over Food-Delivery
What I imagine Amazon told the workers afterward:

"Thanks for your trust in us and allowing us to continue to operate this warehouse here."