skysight-inc/HackerNews huggingface dataset:
Show HN: Pour Decision – Alcohol Tracker and Mindful Drinking Companion
Hey there!

I want to share the alcohol tracker app that I've made for iOS.

The idea came to be when I decided I want to drink less, but not quit completely. I tried a bunch of solutions but I couldn't find the app quite right, so decided to build it myself. Existing apps that I've tried were either subscription-based, had a bad design/buggy, didn't come with a library of common drinks I can choose from etc. Pour Decision is my attempt to an app I wanted to exist. Hope y'all like it!

Website:
https://pourdecision.app

App store:
https://apps.apple.com/us/app/pour-decision/id6499468185
Show HN: I built a Jeopardy game maker with buzzer support
Sometime in early 2022, my wife and I started watching Jeopardy! regularly, almost by accident. Inspired, I thought it would be fun to create and host my own games with family and friends.

By September 2022, I debuted Buzzinga at a family reunion. Back then, it was just a website running locally on my MacBook. It was a total blast, and I knew this was something the world should enjoy too.

I launched Buzzinga.io in December 2023 and have been rolling out regular updates for our 2000+ users ever since.

Features:

- Built-in buzzer support (phones and physical buzzers)
- Automatic scorekeeping
- User-friendly host controls
- Highly customizable
- Supports multiple clue types: text, image, audio, and video

The site does not require sign up to play around with, only to create your own games.
You aren't really being fair by letting a multitrillion dollar company get away with such a simple excuse
A beginner's guide to LLM quantization and testing
pico team member here, I'd love to learn more about what your liked about using Phabricator.
I wonder if that entire User Location repo will one day end up leaked..
Is this any simpler on ARM?
Some good advice, some bad advice in here. This is necessarily going to be opinionated.

> Provide a development container

Generally unneeded. It is expected that a Rust project can build with cargo build, don't deviate from that. People can `git clone` and `code .`.

Now, a docker might be needed for deployment. As much as I personally dislike docker, at Meilisearch we are providing a Docker image, because our users use it.

This is hard to understand to me as a Rust dev, when we provide a single executable binary, but I'm not in devops and I guess they have good reason to prefer docker images.

> Use workspaces

Yes, definitely.

> Declare your dependencies at the workspace level

Maybe, when it makes sense. Some deps have distinct versions by design.

> Don't use cargo's default folder structure

*Do* use cargo's default folder structure, because it is the default. Please, don't be a special snowflake that decides to do things differently, even with a good reason. The described hierarchy would be super confusing for me as an outsider discovering the codebase. Meanwhile, vs code pretty much doesn't care that there's an intermediate `src` directory. Not naming the root of the crate `lib.rs` also makes it hard to actually find the root component of a crate. Please don't do this.

> Don't put any code in your mod.rs and lib.rs files

Not very useful. Modern IDEs like VsCode will let you define custom patterns so that you can match `<crate-name>/src/lib.rs` to `crate <crate-name>`. Even without doing this, a lot of the time your first interaction with a crate will be through docs.rs or a manual `cargo doc`, or even just the autocomplete of your IDE. Then, finding the definition of an item is just a matter of asking the IDE (or, grepping for the definition, which is easy to do in Rust since all definitions have a prefix keyword such as `struct`, `enum`, `trait` or `fn`).

> Provide a Makefile

Please don't do this! In my experience, Makefiles are brittle, push people towards non-portable scripts (since the Makefile uses a non-portable shell by default), `make` is absent by default in certain systems, ...

Strongly prefer just working with `cargo` where possible. If not possible, Rust has a design pattern called `cargo xtask`[1] that allows adding cargo subcommands that are specific to your project, by compiling a Rust executable that has a much higher probability to be portable and better documented. If you must, use `cargo xtask`.

> Closing words

I'm surprised to not find a word about CI workflows, that are in my opinion key to sanely growing a codebase (well in Rust there's no reason not to have them even on smaller repos, but they quickly become a necessity as more code gets added).

They will ensure that the project:

- has no warning on `main` (allowed locally, error in CI)

- is correctly formatted (check format in CI)

- has passing tests (check tests in CI, + miri if you have unsafe code, +fuzzer tests)

- is linted (clippy)

[1]: https://github.com/matklad/cargo-xtask
Are consumers (outside this relatively niche environment) demanding Apple make changes?

I'm personally wishing the EU would shut up, but I can't demand they do anything.
At the risk of stating the obvious, the word "hacker" has (at least) two distinct meanings. The article talks about people who try to break into systems, and Hacker News is about people who like to hack away at their keyboard to program interesting things.

The world might have been a better place if we used the terms "cracker" and "tinkerer" instead.
This is how it _should_ work.
You can type what you need to search in the address bar, and then scroll down in the autocomplete to "On This Page".

It's been there forever, but still quite obscure
We are thinking about basic issue tracking, still in the "idea" status.
Python? Are you sure? Maybe hardcore hpc types don't use python but it's still the bread and butter of most academics. Especially anyone doing data science/machine learning. If anything it has gotten more popular as R is slowly being displaced.
Wish all political news were flagged this way, but this time it was probably because it's about Trump.
Linux in single user mode
https://usehall.com/
> I think mobile apps would be the ones driving the growth of PWAs. But of course... Apple

Android is the dominant mobile OS in the world.

> As a developer you don't want to spend time developing PWAs that only run on Android phones, so you might not bother at all.

You will be developing two apps anyway, so...
I can't easily do such mental arithmetic quickly enough for it to be faster than just estimating the number of lines and correcting.

I once tried to solve this by using relative numbers and it didn't help much. I just turned the number line off.
Building apps at work with Qwik and Cloudflare and has been smooth sailing.

Next.js on anything other than Vercel was always dicey.
I moved to Japan 13 years ago. My mother developed early-onset Alzheimer's in 2021, and I'm her only child. I relocated her to Japan. It has been immensely stressful but I know she's getting better care and this also avoided the US healthcare system completely bankrupting our family and robbing us of our chance to build multi-generational wealth.

But living in a country with an outsized elderly population/terrible demographics, I can clearly see how the problem will eventually cripple most economies without significant technological augmentation. Large multi-generational families living in very close proximity at least provides for essentially unpaid labor who can share the burdens to prevent caregiver burnout.
I concur with his views on educating users.

It’s so much better to prevent them from doing unsafe things in the first place, education is a long and hard undertaking and I see little practical evidence that it works on the majority of people.

>But, but, but I really really need to do $unsafething

No in almost all cases you don’t - it’s just taking shortcuts and cutting corners that is the problem here
how much of that malware do you think actually uses the jit?
> It is an explicit goal of the go team to minimize the number of keywords in the language.

It's understandable - because unfortunately people judge languages by very shallow metrics. Several times I've seen people use "number of keywords" as a proxy for language complexity.

However, that's completely misguided. `static` in C++ (and, IMO, `for` in Go) demonstrate that overloading a keyword to mean multiple things is harder to understand than having a larger number of more meaningful keywords.
If you don't know where it will be rendered, you have no idea what escape syntax to use. If the field can end up in JSON, CSV, SQL, HTML, ... are you going to try escape it for all of them at once?

This idea of escaping input worse than sanitizing input (what the article says not to do).
There are no conspiracies. None. Everything comes out to daylight. Ever faster. What you see, is what you got. There is no backroom plot. Just bumbling idiots and "great-man" captains in operetta uniforms, singing arias on how they control the world, while there steering wheels are attached to nothing. All you have, is the species as is, as it becomes when exposed to a environment that is hostile to the basic things holding society together. Slurped for the nutrients by meta-organisms, the great stomach of society heaves as the still alive things inside, fight the lining and each other to get out of the acid.
The rise of Bun, Deno, and other not-Node environments will help this out.

JSR also does a good job of indicating what packages work where—if it gains traction.
This has been the way for Drupal since ... 2005 at least. My memory becomes fuzzy before that. Since 2015 it's highly automated too thanks to Twig autoescape.
> is there a chance that +90 minutes for security and baggage could be avoided to make the door to door time more comparable?

Blade in New York flies through high-security corridors. Check-in is like a minute. (Counterpoint: I regularly show up to my small-town airport fifteen minutes before boarding is scheduled to start, although that precludes being able to check a bag.)

That said: you can’t easily take out a building with a helicopter. That may not be true with a tankful of 700-bar hydrogen.
"Engineers rarely speak of 'will' or 'purpose', but they speak frequently
of 'control' and 'utility' which are parallel concepts."

Interesting observation.
Afaik it was just that moot had made /a/ and was unsure of what /b/ should be about so he labeled it random.
Thanks for the comment! Yeah I really love Stripe IDs and if I was building an API-first product would definitely make that a priority, but can imagine a bit of headache if there isn't global buy-in from day one...

Would be great to hear about it if you do give it a spin. On projects with simpler domain models I can't imagine a huge benefit, but as soon as you have piles of tables it's quite nice that every row tells you up-front exactly what it is.
Then we agree. I though you were thinking about shelling like a plumber wall or like the core electrons in an atom.

In the released electron has low energy, perhaps some change of the electriñonic configuration may cause a problem(???). (Triple question mark because I think it's possible but I never heard something similar.)

Also, in solid germanium the electronic didtribution is affected by the bands, that is another can of worms. In liquid gallium I'm not sure what happens. (And an isolated germanium atom disolved in liquid gallium may have also an unusual electronic distribution.)
Smart watch helps save swimmer's life in rough seas off Byron Bay
You are arguing about resources of a company that has an endless amount of it. The limitations mentioned could be changed/"fixed" with no time and effort.
Your comparison isnt apples to apples. It seems to me like you are trying to compare a full node deployment on vercel serverless (as opposed to edge) with an edge runtime deployment on cloudflare. You would have this same problem of 3rd party module support (those which use the node APIs) using the edge runtime on vercel edge.

You even say cloudflare is using “nodejs isolates” which they aren’t - they are using v8 isolates, so your expectation of nodejs compatibility is the issue.

https://nextjs.org/docs/app/building-your-application/render...
Thanks for this. Centerpoint data appears to be inaccurate just FYI; power was restored at my house yesterday evening, but their map still shows a restoration date projection a few days from now.
The Economy of Spam (2022)
> Think about it for a couple of minutes: teaching yourself a bunch of exploits and how to use them means you're investing your time in learning a bunch of tools and techniques that are going to go stale as soon as everyone has patched that particular hole.

No, it means that you learn practical aspects alongside theory, and that's very useful.
I think that's a fair observation. We don't expect massive companies to use this tool. Even within GitHub many companies are feeling its PR review feature-set lacking, especially for massive, long-standing code changes (just look at all the companies productizing code reviews).

Our target demographic is the self-hosted hacker enthusiast. If you want a full-blown pull request workflow in the browser, this will never be that.

However, there's a large demo of users that want a simple self-hosted solution that doesn't require a bunch of infra to manage. If you want to self-host a git collaboration tool you basically need to bootup gitea-scale services or be relegated to `git send-email`. The sweet spot for `git-pr` is right in-between those two tools.

All you need is a tiny VM and a golang binary and you have a code review tool that is leveraging utilities you already have installed: git, ssh, and an editor. End users do not need to create an account, install any clients locally, and all user personas and workflows can be accomplished in the browser.
Of course you should sanitize input, and escape everything properly in the context-specific way.

Defining what is valid for an input field and rejecting everything else helps the user catch mistakes. It's not just for security.

Some kinds of information are tricky to sanitize. Names, addresses and such. Especially in an application or site that has global users. Do the wrong thing and you end up aggravating users, who are not able to input something legitimate.

But maybe don't allow, say, a date field to be "la la la" or even "December 47, 2023".
> The cure for "Enumerating Badness" is, of course, "Enumerating Goodness." Amazingly, there is virtually no support in operating systems for such software-level controls.

Really? SELinux and AppArmor have existed since, I don't know, late nineties? The problem is not that these controls don't exist, it's just they make using your system much, much harder. You will probably spent some time "teaching" them first, then actually enable, and still fight with them every time you install something or make other changes in your system.
That's not mastodon fyi
It was Richard Thaler's Misbehaving: The Making of Behavioral Economics book that finally broke through my thick, anxiety ridden skull and convinced me to stop reading economic news everyday and just forget the the retirement accounts existed. If I'd read that book earlier, I'd be up 3X on my positions.
We're all charged up with ideas, but our power grid is running on empty
I can understand as well: most teachers simply do not want to face a big load of potential issues and have not enough time to train their students enough so instead of teaching for their courses they'll have to replicate "The Missing Semester" (MIT) or even much more basic and time consuming knowledge.

But the fact is that IT in our society is our social nervous system and to be Citizen we must know that enough to operate alone, being not so easy tricked by some PR etc. Obviously most citizens have definitively not enough knowledge in that field but desktops today are books and libraries of yesterday. We can't have a modern culture without the modern tools of knowledge.

Knowing them is like being able to write with pen and paper before and as we can't progress in schools without knowing how to read and write so we can't in modern world progress without knowing to use a desktop properly. That's is. All the tentative to "lower the barrier" have created more issues than those they try to resolve. It's about time to admit it and correct the aim because as a society we are heading to a disaster fueled by some big tech interests exactly because of the ignorance of most.
The likely origin of the name, if you’re curious:

https://en.wikipedia.org/wiki/Mazeppa_(poem)
C++ on linux is indeed pleasant if you use only distro-provided library versions. Some specialized library with specific version, also no big deal. Need some upgraded version of a widely-used library -- get containerized or prepare for real pain.
Classic Scunthorpe.
No. UEFI firmware creates a completely different environment for a UEFI bootloader than the legacy BIOS environment (real-address mode). The UEFI firmware enters 64-bit long mode directly on modern systems, and sets up a flat memory model GDT, as well as identity-mapped paging.

I've written about creating a UEFI bootloader (for my hobby OS) here: https://0xc0ffee.netlify.app/osdev/05-bootloader-p1.html
> This is hard to understand to me as a Rust dev, when we provide a single executable binary, but I'm not in devops and I guess they have good reason to prefer docker images.

It's mainly about isolation, orchestration and to prevent supply chain attacks.
Sheffield's Park Hill or Kelvin Flats, Leeds' Quarry Hill Flats, or Glasgow's Red Road Flats, might have challenged the spot-density at one point.
Nice and compact! When I was writing a Z80 emulator I made heavy use of the tables in Sean Young's "The Undocumented Z80 Documented" [0] (chapters 8, 9 & 10). This 2-page reference card seems to contain just about everything in the document's 22 pages.

[0] https://www.smspower.org/uploads/Development/z80-documented....
> Commercially available martian soil simulants don’t contain perchlorates.

How do you know?
> sprinkling it through the air as you fly over delicate ecosystems

I wouldn’t be so sure spraying water vapour is innocuous. As long as it’s atmospheric CO2, the environmental impact of synthetic fuels is much less than rebuilding the world’s air fleet and fuelling infrastructure to accommodate hydrogen.
>Full and complete service manuals to TVs, VCRs and cars. Access to parts etc.

To be fair, most electronics these days are so tightly integrated (literally IC, Integrated Circuits!) that there's not much you can do even with a full on schematic.

Long gone are the days of bigly electronics parts connected by a spaghetti nest of wires and third grade soldering.
Thank you for that feedback, I removed a couple important pieces from the repo readme that I think would answer your questions around usage. I'll add them into the main site.
Noting that it is possible to beat market, with strategies / algorithms that are generally non-public. For example medallion fund, see https://posts.voronoiapp.com/markets/Jim-Simons-Medallion-Fu... . Note that these crazy performance stats are after the steep fixed + performance fees.
I hate it too, but to be fair we signed up for this when we decided to install Firefox Nightly instead of the stable version. As the author of the change writes:

> This is a partial implementation of the URL bar, this will have to be addressed in phase 2 when the address bar is reworked.

Now, if this partial implementation makes it into the stable version as-is, that would certainly be a failure of release management, but otherwise it's just the nightly acting as testing ground for half-baked stuff.
Well it seems like a huge leak. And if there's a place where there are illegal, woke, decisions taken it's Disney. For example there's a Disney exec who's been recently caught by an undercover journalist, on video, saying "we don't hire white men as such positions".

It is discrimination and it's totally illegal. I do personally find the "wokeness" of Disney also shows in their cartoons (it's just an opinion but several have that same opinion).

So for such things to happen, there may be a company culture of wokism in place at Disney.

If there's such a company culture and seen the size of the leak, it's very possible that they've been so dumb as to openly discuss how to be anti-white (e.g. both in hiring practices and in picking fictional characters) on their slack channels.

To paraphrase a well-known meme: *"You never go full woke: Disney went full woke".
The Oldest Unsolved Problem in Math
> ultimate goal is to produce “green” hydrogen by cracking water using solar energy

It’s miraculous how the gas industry succeeded where clean coal failed.

There will be no green hydrogen. It’s a veneer. That the same folks building LNG terminals are pushing hydrogen isn’t a coïncidence. Even if we get a green hydrogen economy, there will constantly be an incentive to adulterate the supply.
For me it's all about reducing the friction.

I have a cron job that opens my note app - a few times every day. The app is focused in the foreground, opened on the top of a journaling note, pre-filled with the today's date. All that's left for me is to write.
I loved his low-tech white board
I use Makefiles to build Go applications for two reasons: it is available on the systems we develop on, and it provides a real alternative to writing bash scripts.

Build scripts are bad. They tend to lead to complexity over time. It is very easy to just add some ad-hoc magic to solve a problem than to sit down and think about how one should structure things better. This makes it harder for people unfamiliar with the codebase to understand what is going on.

Then you need to choose a language. Bash? Well, not a lot of people know Bash all that well. And it isn't a very nice language to express the kinds of things you need to deal with to solve build problems. People don't bother learning Bash because Bash isn't a very useful language.

Python? What version? What libraries? Now you need to choose what tooling to use for maintaining your tooling. The embedded world uses lots of Python. The short version: it only makes things worse. People waste time having to learn how to maintain the tooling. If they don't, they will struggle.

Makefiles were made for building C. They are tailored to how to C toolchain works. When you make "proper" use of Makefiles this can provide you with a lot of help. If you program C. If you are programming in other languages: not so much.

The good thing about using Makefiles with as little magic as possible is that it forces people to keep things simple. It is okay that you don't make use of 99% of its features. Not everything has to be a demonstration of your mad <tool> skillz.

That being said: it would be nice to have a more approachable alternative to Make that can be used across languages. Something that promotoes declarative builds rather than allow scripting. Because if you allow people to write code to build things, you are not going to be able to understand most people's builds without setting aside time to study them.
Rifle rounds go straight through medium vests, you need a really heavy and bulky vest to stop them, Trump wouldn't wear one of those. The typical vests you see just stop low caliber bullets like pistols, and then you hope secret service can stop anyone with a rifle from getting a shot.
Investment is hardly a zero sum game. If it were nobody would make anything buy investing passively either. So how is that a reasonable analogy?

> you can’t reliably expect to do it.

Sure, I can't. But assuming that it's not entirely random chance some proportion of people certainly can.
Systems Architecture, Design, Engineering, and Verification (ACM 2013) [video]
> The reason for this attack is political (in the general sense of the term).

The opening salvo in the article is:

>> A self-proclaimed hacktivist group named NullBulge, aiming to “protect artists’ rights and ensure fair compensation for their work,” claims to have breached Disney and leaked 1.1 TiB (1.2 TB) of the company’s internal Slack infrastructure

Which seems more financial.