skysight-inc/HackerNews huggingface dataset:
With this tutorial, you'll receive step-by-step instructions on how to conduct an internal security audit of your healthcare software, along with a list of dozens of tools to assist you in the process. Most of these tools offer free trials, allowing you to quickly test them and then decide if they're the right asset for your team.
Personally I've had problems with poetry managing virtualenvs in the past so I just don't let it touch them any more. Maybe it's better now, but I don't see any reason to risk it, given how often Python seems to like to ruin my day.
I also don't like that by default it wants you to use `poetry run` to run things. Sure you can configure it not to, but it still annoys me
> game dev companies already get bought.

That is what i am saying. It already happens. Opening more markets makes it less attractive for games companies to accept getting bought, doesn't it? If manufactures had the money to buy all the devs on masse they would already. Third party markets would only lessen their negotiation power. Devs could just go somewhere else. Especially with your other point below.

> how much would an unsubsidised console cost?

More and they would sell less of them? Making it less attractive for game devs to develop for said console. So what am i missing?
Geometric design of antireflective leafhopper brochosomes
Show HN: DeploySolo – The SaaS boilerplate for engineers. (Pocketbase/ Htmx)
Golang is an incredible language for web development. That being said, indie developers and small businesses will likely miss extensive resources found in other projects like Django. Although building an application from the ground up using the standard library is possible, it can be error prone and time consuming.

Pocketbase has almost everything an indie developer needs, supporting database, authentication, and file storage into a single, easy-to-deploy executable. Combined with HTMX, and you can created a full stack web application without bloated front end frameworks. That being said, its a relatively new project, without extensive hands on resources for new developers to dive in and create full projects.

This is why I'm building DeploySolo. On the surface, its a SaaS boilerplate carefully crafted to leverage the best of these technologies. Looking further, it is my mission to create cook books and resources for indie hackers and small businesses to build real world apps using this stack without feeling lost.
>That sounds like an absolute distopian nightmare and the last person on earth that I want to be running this service is Elon Musk.

Given that Musk was the only person with the ambition, capital, and ability to deliver such a project, you're basically saying that you'd rather have Starlink not exist at all than to have Musk in charge.

>it's an incredible feat - and yet I still think it's a travesty that it's allowed to exist at all.

Confirmed: You'd rather have every Starlink customer go dark than have someone you've been told to dislike provide those customers with a service they willingly sign up for.

Dystopia, indeed.
https://pic.blog.plover.com/art/sagrada-familia-spires/sf-fl...

Everything south of the text 'Gloria' in this picture is apartments right now. The main entrance to the basilica effectively has no approach.
When this is done in 2026, we’ll be as far away from the start of construction as they were from the end of it.
Imagine we start paying government employees Google salaries tomorrow. Could we then start firing incompetent employees and replace them with the competent ones lured by high pay? Everything I know about how politics and public sector unions work tells me that the answer is very much no. This means that this “pay them and they will come” plan can only expect to see any success many decades down the line, once enough incompetent workers leave on their own. And this is assuming your plan actually works: who’s to say that the high quality employees won’t get lazy themselves if they get Google pay with public sector job security?
Overall, this means that before we entertain your idea, we need to bust the public sector unions and fire the incompetent employees. I suspect that once you do that, you won’t even have to raise the pay so much to get large increase in public sector competence.
This is controlled for by the NOS ranking of the studies in the meta analysis, but since you didn’t actually read it and are arguing from your priors, I guess you wouldn’t have observed that.
That's one possibility, another one might be that it's easy to write "is buried" when you meant "was buried" and can be hard to catch the error.
Show HN: Detecting adblock, without JavaScript, by abusing HTTP 103 responses
Show HN: Jampack – Optimizes static websites as a post-processing step
Hi!

Jampack is a post-processing tool that takes the output of your Static Site Generator (aka SSG) and optimizes it for best user experience and best Core Web Vitals scores.

As of today it can:

- Optimize local images, CDN images or external images

- Optimize above-the-fold vs below-the-fold

- Limit images max width

- Inline critical CSS

- Prefetch links on scroll

- Improve browser compatibility

- Auto-fixes HTML issues

- Warn for HTML accessibility issues

- Compress all assets in the end

It processes directly the static output so it's compatible with any SSG or framework. We are intensively using it as a post-processing step to our Astro websites for example.

With Jampack, we end-up focusing more on how simple, readable and maintainable our code is, throw images of any size, and let it optimize for maximum performance.

We hope this can be helpful to lot of people!
Cheers,
Georges and the ‹div›RIOTS team!
Before CUDA 12.0 you have to specify a field in pyproject.toml like this

[tool.poetry.dependencies]
python = ">=3.10,<3.12.0"
torch = {version = "^2.0.1+cu118", source = "torch118"}
torchvision = {version = "^0.15.2+cu118", source = "torch118"}

[[tool.poetry.source]]
name = "torch118"
url = "https://download.pytorch.org/whl/cu118"
priority = "explicit"

However, since CUDA 12.0 and Pytorch 2.1.0, just install like normal

poetry add torch torchvision
Show HN: AI for API Review and Governance
Exciting News Alert!

We're thrilled to unveil GovernanceAI - our groundbreaking AI-driven API Governance platform!

Check out our website to learn more about what GovernanceAI can do for you. We're eager to hear your thoughts and feedback on our latest launch!

Don't miss out on our special offer: Sign up now and claim 3 FREE licenses for business use. Plus, we've got a Free Tier available for developers and personal use.

Let's revolutionize API governance together! Sign up today and join the GovernanceAI community.
I know the economics must somehow make sense, but it's still hard to wrap my head around the fact that even with quite literally once-unimaginable computing power, semi-magical modern materials, structural theory, decades of recorded research and testing, international standardisation, leaps in simulations, optimisation, robotics, pneumatics, hydraulics, electronics, networking, transmission, logistics and supply chain engineering, economies of scale that dwarf the imagination of the most ardent technologist of yesteryear....humans still can't stack bricks or nail frames cheaply enough to reliably put roofs over heads.

It's a hell of a Red Queen thing.
asdf for python is a wrapper around pyenv, it didn't "pave the way", it's an important part of asdf.

(Also I like mise better currently: https://github.com/jdx/mise)
Be careful to avoid survivorship bias here. Only the "best" buildings from Medieval and Renaissance times (or even later into the 1800s) are still around. Many of the buildings we constructed in the second half of the 20th century will be gone in 100 years or so.

Also, beauty is in the eye of the beholder. I know there was a lot of criticism when the Louvre built the pyramid, but I quite like the contrast of traditional and modern.
I have been a happy long-time user of andOTP since migrating to it from FreeOTP (iirc) and was unaware that it was no longer maintained. Some quick digging shows that the Github repo links to this XDA post[0] where the author announced he was ceasing development. :(

The good news is that migrating to Aegis is quite simple. Export from andOTP, in Aegis go to Settings -> Import & Export -> Import from File, & choose andOTP. Pick your file and away you go.

It doesn't seem to have a database of icons like andOTP does though; none of my imported items show an icon though several did in andOTP. (Could this be because of the method they were added?)

[0] https://xdaforums.com/t/unmaintained-app-4-4-open-source-and...
Any function can block if memory it accesses is swapped out.
> the best engineers want to build sexy new things and they don't want to live in Detroit.

I don't believe that is always true.
Clear water freezes exactly at 0 degrees. I guess the graduality depends on if you think about this as interpolating the water temperature, or interpolating the energy given/taken from a body of water.
Async's perfect use case is proxies though- get a request, go through a small decision tree, dispatch the I/O to the kernel. You don't want proxies doing complex logic or computation, the stuff that creates bottlenecks in the cooperative multithreading.
What you can learn about Elon Musk from the movie he helped produce 20 years ago
Yes, grounded theory was my bible for exploratory research as a UX researcher. It's perfect for mapping out unstructured problem spaces
That video is classic LTT; interesting idea terribly executed which leads to incorrect conclusions. The latency difference doesn’t matter to humans, but wired is faster.
Google says will defend its DMA compliance in coming months
"Won't", not "can't".
> The purpose of most buildings is to be useful, not to look pretty in pictures.

Architecture is the only art where you're forced to participate. So we could pretty much say the opposite, buildings should, among other things, contribute to make a place nice. Or at least not make it more miserable.

> What do you think Barcelona is?

Most of Spanish cities are built with crap buildings dating above the 60s. Just concrete blocks, in some cities even with just plain grey and humidity stains. It doesn't matter how historic the city is, because the "historic center" it's just a small spot surrounded by uglyness.
In your experience, what makes you so skeptical of terroir? As a naive enthusiast, it makes sense to me that drainage, at the very least, would impact the way the fruits grow , and fruit yield, impacting the final product thusly. A large watermelon and small watermelon from the same vine/garden have different flavor
Well

"this is also how the early Christians felt, which is why they eradicated Roman paganism"

does sound a lot like it to me. Because why make that argument at all, when they in fact not just eradicated the pagans? (which just means non christian religion btw. they were and are quite diverse)
I think you've changed the argument from a technical one to a marketshare one.

Obviously they're not as popular but I don't think it matters if the people who want to use it are able to use it. (The emulator devs, sqlite team).
Rachel always writes great stuff. There's one point I want to dig in on.

> since they were so low in the stack, when they broke, lots of other stuff broke

It is interesting that while engineers are far too happy to complain about dependency hell in terms of libraries and languages they don't complain enough about dependency hell when it comes to systems. Engineers should take a more proactive role in identifying and pushing whatever changes are required to prevent mass outages due to single points of failure. In other words - if more than a significant percentage of your business requires that X system be up and running, then your business has made a grave error. Engineers should be the first to point this out.

"That's the architect's job"

My thoughts on the usefulness of architecture aside, it's also the engineer's job. Not only should an engineer identify and be aware of system dependencies they should also build software that allows, prevents, and gracefully handles system dependency breakage. This is why the engineer should understand the business as much as the technical. (this is especially true for leads)

"But I inherited this system"

Yeah, it sucks. But now you've got work to do to mitigate risk. Risk mitigation outside of the context of cybersecurity is often overlooked. This is not an advocation for deploying to every data center/cloud provider in the world in the name of high availability. You'll need to do the math to make sure it works for those critical pathways.

EDIT: clarity
Thank you! This is very interesting to read. I'll have to do some more research myself.
You may generally write it all up in blog post somewhere and link that here to overcome the formatting issue. The post is topical to HN btw.
Opera GX is marketed to "gamers", every niche counts I guess!
It is not like there is one medieval/gothic style though.

Compare Chartes in France, Firenze in Toscana or the mosque-cathedral of Cordóba and you have entirely different styles in and out.

I like the Sagrada Familia for its singularity but it indeed looks like it has been created by a child with modeling compound.
It's a good question, I don't know either. I'm not sure it's so simple to know.
I'm not a lawyer, but I guess that would be zero.

The maximum in absolute numbers would be ~40B USD or ~80B USD for repeated violations, as I read it.
So "commercial" traffic like busses were banned?

Since busses aren't ”commercial”, I'm not sure why we need to go around measuring bridges to decide if this was an anti-poor design decision (which in many areas and times in the US would also make it a racist one).
The binary installs aren't that generic in the machines I've used (mac and debian based, so covers a fair bit).

It's python3.11, not python3, and the python3 "executable" is, itself a symlink to the particular binary (in this example python3.11). Upgrading just changes the symlink, which wouldn't affect the venv, which isn't using python3, it's using python3.11.

I didn't introduce anything, I explained how the links are to the versioned binaries, which isn't what you're stating is happening.

Edit to add: as someone else also points out, you don't even have to use the symlinked versions, you can use --copies
Not only that but autoscaling with FAAS is an expensive, locked in and complex to administer way to provide functionality.
Context + reactive memo functions is a powerful way to manage global state. Context namespaces adds more resolution to grouping Context state. These patterns have served me well over the past decade in javascript/typescript development.

I created ctx-core/be[1] & ctx-core/rmemo[2] to provide Contexts, be_ functions, & reactive memos. It has been a powerful set of abstractions for application code, build logic, devops, animation orchestration, etc.

I would love to use a systems programming language that supports Contexts & compiles fast. Jai looks interesting but it's still in closed beta. With Zig, there was a proposal to dependency inject a context which contains the allocator[3]. It didn't go anywhere though. Golang has Context[4]. It compiles fast but I would like a fast language without a Garbage Collector to compliment js/ts for expensive computations. Perhaps Rust could work but the compile time is slower than ideal.

At this point, Golang seems to be the best compliment as it addresses expensive computations. Hopefully a productive system programming language without the GC will be available to have good support for contexts.

[1]: https://github.com/ctx-core/be

[2]: https://github.com/ctx-core/rmemo

[3]: https://github.com/ziglang/zig/issues/1286

[4]: https://pkg.go.dev/context
This is correct. Catholics pretty much gave up on talking about the faith to anyone, whether to the general public or even their own children during the 1960s.

And it’s not only administrivia, for example only half of US Catholics have heard about transubstantiation and only a third believe in it. [1]

1. https://www.pewresearch.org/short-reads/2019/08/05/transubst...
> Why choose async/await over threads?

I assume the intended question is: why use async/await over thread-per-client designs?

Easy: because async/await allows you to more easily compress the memory footprint of client/request/work state because there is no large stack to allocate to each client/whatever.

One can still use threads (or processes) with async/await so as to use as many CPUs as possible while still benefiting from the state compression mentioned above.

State compression -or, rather, not exploding the state- is critical for performance considering how slow memory is nowadays.

Async/await, manual continuation passing style (CPS) -- these are great techniques for keeping per-client memory footprint way down. Green threads with small stacks that don't require guard pages to grow are less efficient, but still more efficient than threads.

Threads are inefficient because of the need to allocate them a large stack, and to play MMU games to set up those stacks and their guard pages.

Thread-per-client simply does not scale like async/await and CPS.
And also has limited value as we practice it today.

A useful review would involve:

(a) "This paper won't be accepted by Cochrane for meta analysis", "N=20 get out of here", ...

(b) Researchers provided their data files and Jupyter notebooks, the reviewer got them to run

(c) Reviewers attempt their own analysis for at least some of the data (think of the model of accounting where auditors look at a sample of the books)

(d) Reviewers come visit the lab and take a look at the apparatus

(e) Something like a PhD defense

(f) Summarize/formalize discussion of a paper that happens at a conference or online venue

(g) 5 months, 5 years, or 40 years later (once in my case) somebody goes through the math line-by-line and finds a mistake on equation 178 that propagates and affects the rest of the calculation. This knowledge ought to be captured and "stapled" to the paper.

I wouldn't say peer review is useless, I think it did improve papers I wrote a little but reviewers do not put enough effort into to reliably catch validity problems. If you believe in meta-analysis, which you should, read this book

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1114087/

the first one (a) is really important because the overwhelming majority of papers are excluded in Cochrane reviews for most medical topics. If 80-90% of papers in some fields are not suitable for inference that raises tough questions such as "Why does work like this get published?" and "Why does this work get funded?" If we got half as many papers but 80-90% of them were usable that would be a revolution.
We can do that. But we can't make new space.
If I pin a version of Python, isn't that going to wreck any tooling that depends on it? Unless you're saying have multiple versions of Python installed.

This is practically the only remaining annoyance I have with the Python ecosystem (relative imports aside). I use some tools, like Glances [0] whose formula relies on a much newer version (3.12) than the actual package requires (3.8) [1].

So when there's a Python update, all of those update as well. I thought I'd fixed this with pipx, but in a way that's worse, because the venvs it builds depend on a specific version of Python existing, which doesn't work well with brew always wanting to upgrade it.

I want a stable, system-level Python that I don't touch, don't add packages to, and which only exists as a dependency for anything that needs it. If an update would break a package I have installed (due to Python library deprecation, etc.), it should warn me before updating. Otherwise, I don't care, as long as any symlinks are taken care of.

Separately, I want a stable, user-level Python that I can do whatever I want to. Nothing updates it automatically. I can accomplish this by compiling Python and using `make altinstall`, but if there's a better way, I'd love to hear about it.

[0]: https://github.com/Homebrew/homebrew-core/blob/20e744191e74d...

[1]: https://github.com/nicolargo/glances
I don't think most Catholics would know what a minor basilica was, and I'd expect most to misidentify the Sagrada Familia as a cathedral.

And that's before you even get into pro-cathedrals and things...

70% of Ireland is nominally Catholic, and look at the confusion over this, say: https://www.irishtimes.com/ireland/dublin/2023/06/22/dublin-...

Like, the church had to come out and clarify that Dublin didn't have a cathedral.
Players always drop it to trap their users to their service.

See how google closed hangouts to being able to communicate with other XMPP servers, or how slack dropped IRC and XMPP when they felt they had enough adoption to be able to do that.

So in the beginning you want interoperability so it's "just the same", then you drop it so the users are stuck.
i'm 44 because i think the specific years i was a kid have specific context. like many, many of us here but not all or even most.

in the 80s, tools were toy quality. phone systems, cable boxes, internet protocols, all of these things were invented without concern of their abuse.

people were able to play with them. they invented future careers out of tinkering. and they invented their own playthings in the meanwhile.

think of this measurement - the ability to completely devour a random magazine: back in those days, we were not overstimulated by data. we could re-read a magazine, and all of it's ads, editorials, literally all of it - because we were starved for material. think of the deep thoughts, the creative expanse, the opportunity to sit quietly and imagine something new, when we had those pre-historic days of mass media.

i believe nostalgia is dangerous to experience but maybe that's because i agree simpler times made for easier toys and easier toys made for more creative childhood. i would not re-roll my childhood experience but i also come from tremendous luck and opportunity, getting to play with computers, tromp around unsupervised in the woods on a bmx bike, and deliver news papers as an 8 year old to half the town through my teens.
Only other trick I know is the super white trick which is whiter than the brightest white
This is not the way you're supposed to be using pyenv

You're supposed to install a specific version of python in a specific place, with a specific name. Say, /usr/local/python-3.10.6

Use pyenv to use that python. Control that by creating a `.python-version` file that says 3.10.6

You now have a project that uses 3.10.6. Unless, of course, somebody installs a different version in that path - at which point you've got bigger issues

Using pyenv to use `/usr/bin/python3` and hoping for the best misses the point
`spawn_blocking` is a single function and it is not complicated, it shouldn't be too hard for other runtimes to do the same.

The end application does have to choose a runtime anyway and will have to stick with it because this area isn't standardized yet. This problem mostly affects the part of the ecosystem that wants to put complicated concurrency logic into libraries.
Clojure was the first Lisp I learned, and I started using specifically for its concurrency support, not the fact that it was Lisp. I later grew to love Lisp and played with other ones.

I bring this up, because I am curious which “Clojurisms” annoy you? I probably didn’t notice them because I wasn’t used to other lisps when learning it.
Instincts? Wolves hunt animals much larger than themselves for a living, they run after, nibble their ankles and wait for them to make a mistake and then they go in.
The premise of controlling python version is that - you're sending the project to your friend / colleague and you want both of you to use the same python version so that you get the same behaviour.

And then the same for your friend the buildserver.

It's all about reproducibility.