skysight-inc/HackerNews huggingface dataset:
Show HN: AI-Powered eBook Reader
Hi everybody , my name is Frank, co-founder of BookRead AI

One year ago, I was reading the Genealogy of Morals by Friedrich Nietzsche, but I simply could not understand what Nietzsche was writing, until I started taking pictures of each page and using ChatGPT to explain it. I had to do this for every single page . Even though it took so much effort to do it, the value of reading alongside AI was so high that I finished the entire book this way.
I even wrote a Tweet to beg Jeff Bezos to build an AI-powered Kindle so that I don't have to do that anymore . One year has passed, no one has made anything like it, so I decided to make it happen for the world.

Introducing BookRead, an AI-powered E-Reader that make reading effortless and helps you learn more from books.

Some Key features of BookRead AI:
AI Explain: Highlight any phrase or sentence, and AI will explain it in simple terms, within the context of the book. You can also ask questions like chatting with ChatGPT.
AI Definition: Select text, and AI detects it’s a request for a definition, providing context-based meanings, not just dictionary definitions.
Reword & Translate: Reword sentences or translate them into any language you prefer for better understanding.
Knowledge Retention: AI generates flashcards at the end of each chapter to help reinforce learning and improve retention, based on Andrew Huberman's self-testing method.
Reading Tracking & Library: Track your reading progress, set daily goals, maintain streaks, and access a free book library to stay motivated.

We're very excited about how AI can help us read. There are many interesting AI use cases that we're building for reading, such as chatting with the whole book, generating discussions based on the context, text to speech...

Btw, we just launched on product hunt, would mean the world if you can support us here: https://www.producthunt.com/posts/bookread
Out of curiosity, do you know if there's a public list of the "top 550 submissions"? Is it ordered as in the code base?
Yeah! That's really good.
> I don't know why everyone seems to think that HTTP redirects are visible in Referer

They would be if it's a same-origin redirect, no? And I was under the impression that 3xx also set it cross origin (barring a referrer-policy header), though I'm less confident now. (I can't test it ATM).

Edit: I am clearly confused. The browser preserves the original referer when performing a 3xx, as you said.
To me, Chernobyl is an example of the classic conundrum that engineers cannot possibly think of every single weird thing that could possibly happen so that a perfectly safe anything can be made. It applies to software design just as much as a nuclear reactor. Sometimes it takes a failure to actually happen before something can be made safer. Somethings are just more consequential when they fail making the learning from failure much more expensive.
Models don’t get trained on your codebase in scenarios like Continue and Copilot assisted completion. It’s RAG at best and it depends on how the RAG is built.

So all depends on how it fits in context and it will for the foreseeable time be like it as training is absolutely expensive compared to RAG.
Yes. Reactors now are designed to never have positive feedback loops that can result in uncontrollable power spikes. They do the worst case simulations to prove that.

Russian atomic regulator downright shut down the project to design a light water breeder reactor, saying that it's not going to be licensed. Light water breeder reactors are barely theoretically possible, but they require trade-offs to limit the amount of water within the reactor core. So the trade-offs result in a positive void coefficient. It's supposed to be offset by other safety features, but better be safe than sorry.
Dead internet theory is one of those ideas that keeps resurfacing or being revied with articles like this, even though the evidence is only limited to confirmation bias. It ignores that there are huge parts of the internet that are not dead. I think it's more like the quality of discourse has fallen for reasons that are not clear.
Well, here's me, so not everyone.
earlier post: https://news.ycombinator.com/item?id=42816750
Of course not... as long as the code is actually running on my computer. If it need authentication, it's another story.
> Felt like the old guard had been established and the forums I looked at were dominated by a couple of posters who just wanted to talk, but not discuss anything.

I think this is the case for most places, I'm afraid. I use mainly Discord - there are certainly a lot of servers where I'm purely because I'm talking to people I met there, and I don't even play that game anymore.

There solution is simpler - after time we create private servers or channels for the old guard, but even then the places deteriorate.

It's a thing I don't know how to solve.
I think Microsoft's "value proposition" is keeping legacy stuff running, even if the cost is enormous.

Where I work we sometimes use Access '98 because we have some old Access '98 databases. Access '98 installs just fine on Windows 11, even the stuff it does to take over the desktop works, except it looks a little funny because borderless windows work a little differently now. Clippy works great!

You are not going to run a binary from '98 on a Linux system. A binary from '98 on MacOS was for a different OS running with a different instruction set!

Windows has a system that recognizes particular applications and makes libraries behave the old way, even if they are buggy, to keep them working:

https://www.rockpapershotgun.com/windows-95-had-special-code...
> you fork it, make any modification you want, such as reducing the number of dependencies, but keeping it up to date with upstream is on you.

Say a pretty complex library has 30 dependencies. I fork it, I remove the dependencies, and now it doesn't build anymore. What do I do?

I feel like you're saying "You should not write the small feature you need yourself. Instead, you should heavily modify a big dependency that contains the feature you need, because that's certainly easier and better".

If the library did not rely on those 30 dependencies, it would not depend on them, would it?

> If you truly care about this, like the_mitsuhiko does, write it with no dependencies.

So you start by telling me that I should just remove the dependencies from my dependencies, and then you tell me that you don't do that and instead choose dependencies that don't have many dependencies themselves? It feels like we agree...

> not learning from history and reinventing wheel only square

This is the thing: "I learned from history so I don't reinvent the wheel" should not be treated like a religious belief. It's probably not a good idea to write your own kernel. But I often spend a day or two implementing a feature that I would have gotten from a dependency in 2h. And it's almost always worth it! And sometimes I depend on libraries (e.g. I usually don't rewrite an HTTP library).
Yeah the microSD will die eventually even if it’s a high endurance one - but it’s fine for a small installation, I’ve been running a quality one until I really started building out the sensor network. With just switches it was fine. Now running on a mid tier usb3 ssd.
My parents use a lot of Facebook - and things some people say under their real name are really mindblowing.
I recall another complication with websockets: IIRC it's with proxy load balancers, like binding a connection to a single connection server, even if the backend connection is using HTTP/2. I probably have the details wrong. I'm sure someone will correct my statement.
That's not verifying the phone number. I received a call from Chase about a wire. I asked them for a code so I could continue the conversation and then looked up the phone number on their website and called that and talked through reps till I got to the right department.

Caller ID being spoofed is the wrong way to think about this. It's just that if someone walks up to you and says "Hey, I'm Jean d'Eau and I'm President of the US" you don't think to yourself "oh yeah he's definitely President and that's his name".

People can always tell you they're whoever they want to be. You can either believe it or go find out if they are.
Location influences how our immune system fights disease
A misguided attempt at SEO?
I must say I always hated your tool for how it hijacks page rendering. I took long battles with our marketing team, as we fought for every single millisecond of loading times, and VWO introduction just thrown this all into the bin.
And I wanted to put up a negative review on gartner but they never let it through - I guess it was because of the $25 USD gift card campaign, so the paid campaign would not backfire the product. Which of course made me hate your tool even more.

But that aside, I'm really glad (envy?) that the tool was successful for you!
I fantasize about this a lot- I managed to have a successful career despite ADHD, but worry that the stress isn’t sustainable. I don’t desire money, recognition, or physical comfort and am happier hiking in the wilderness or at sea in a tiny boat than in a comfortable home or at a desk.

However, my work is important, interesting, and gives me a sense of purpose. I also have a family to support.

The best compromise I can come up with right now, is to live frugally so I can retire early or scale back hours as soon as my son is grown. He also has ADHD, so I am conscious of wanting to set an example for him as well, which includes taking care of myself and not destroying my health to desperately meet others impossible expectations of me.
Or, try a mobile user-agent. I've seen loads of phishing pages that will only serve their malicious payloads to phones - this is especially common with the scams that are sent via SMS.
setting the heating to come on a half hour before you get out of bed is literally home automation

your thermostat just happens to support that internally. not everyone's thermostats are 'smart' like that.
I control my downstairs - 4 TRVs and 3 window sensors in one open area. Zero problems, can recommend.
> 50 lines of errors for single typo

50? That's it!? I work in a code base where a previous developer went nuts with overloads and I routinely get hundreds of lines of output for a single compiler error.
'A Song for Any Struggle': Tom Petty's 'I Won't Back Down' an Anthem of Resolve
When you use a device to do 2FA, Google will display one code on the logging in device screen and three on the 2FA screen. This is so that the user doesn't just blindly hit accept on the Gmail/YouTube app that hosts the 2FA prompt.
(specifically, there are "credential stuffing" style sign-in attacks where an attacker logs in "suspiciously" at the same time as a legit log in, possibly after forcing a log-out, hoping you approve both your log in and theirs when you get two, or ten pop-ups)
> I guess if everyone was forced to post under our real name and identity, we might treat each other with better etiquette, but...

But Facebook already proved otherwise.
You are making a sweeping assumption that people who create container images are incompetent.
Here's a less galactic version. Suppose you're implementing a binary tree where every leaf has to have the same height - a toy model of a self-balancing search tree.

Here's an implementation using GADTs and type-level addition

data Node (level :: Nat) (a :: Type) where
Leaf :: a -> Node Zero a
Interior :: a -> (Node l a, Node l a) -> Node (l + 1) a

It's impossible to construct an unbalanced node, since `Interior` only takes two nodes of the same level, and every `Leaf` is of level 0.
You still always assume an incoming call is a scam no matter what. Hang up, look up, call back, in that order.

Very occasionally you might be making some poor customer support person's job harder, but the vast majority of the time you'll be hanging up on a scammer. You can be polite about it, but firm and brief. "It's my policy to always call back no matter what, nothing personal."
Adam – AI Co-Pilot for CAD
Our service testlocal.ly can grab screenshots for you from different countries really quickly if you want a free check.
> we can only speculate about the 10-year effects of such decisions

I feel like I've been around long enough that I don't need to speculate on the long term effects of deregulation. We've seen the same things happen over and over.
P1061 is in C++26 so you can instead do:

const auto [...I] = std::make_index_sequence<INPUT_COUNT>{};
((SetupInput<I>(options, transport_manager, subscriber_queues[I], thread_pool, templated_topic_to_runtime_topic)),...);

yay!
Pro-tip: use zigbee2mqtt's groups for targeting multiple lights (but I'm guessing OP is using ZHA).

I've also used HA for quite a few years, and I have several hundreds of devices.
I just (this week) decided to move Mosquitto and z2m out of HA to LXC containers in Proxmox (where HA is already running) and it was very easy. Now I don't have to restart the entire world whenever I have to restart HA (usually updates).

Next is to move Node-Red out to its own container. I already do not use HA's automations because they are very poor compared to Node-Red, and I'm starting to change all flows to use MQTT directly instead of passing through HA.

So in the end HA will be relegated to run non-MQTT integrations and dashboarding and not be a single point of failure.
Really? That seems like a fantastic way to fingerprint people. I would be a bit surprised if that was the case...

(Fingerprint usage: have https://myfingerprint.example.com 301 to https://myfingerprint.example.com/unique_id_3b136c1cb, then embed https://myfingerprint.example.com in an iframe and see which request is made.)
I wish you weren't correct. It is more likely some sort of federal regulation undoes protections such as CCPA.
It makes sense if it never crashes and you also need a small space heater. It gets rather expensive otherwise.
It's probably not crypto. The 50 series isn't shipping yet, so give it a month for used 4090s to appear.
How can ZK approaches prevent people from renting out their human identity to AI slop producers?
This is what I mean in that it only appears more grounded if you already understand why a countable set has a different type of infinity than an uncountable set in the first place and what type of universe that implies. Otherwise you're left wondering what type of universe is needed and why it is that type of universe can account for some infinities but not others. The latter part is just the answer to the original question of what the difference between a countable and uncountable set is again so if you can answer that you didn't have the question to start with!
https://archive.today/3JfvF
>The part of std is already scary stuff with 50 lines of errors for single typo.

IDE's make this less of a problem.
Horizontal scaling is certainly a challenge. With traditional load balancers, you don't control which instance your clients get routed to, so you end up needing to use message brokers or stateful routing to ensure message broadcasts work correctly with multiple websocket server instances.
> The caller's accent (wtf)

You don't have to pretend to be confused.

The industry of Indian scam call centers is not a crazy conspiracy invented by racists.
Yes, it is. :) Our CTO, Daniel, described why we chose Ruby for our control plane in a blog post.

https://www.ubicloud.com/blog/building-infrastructure-contro...

On the data plane side, we use different open source components and our choice of programming language depends on them. For example for virtualization, we rely on Linux KVM and the Cloud Hypervisor. The former is in C and the latter in Rust.
Repurposing of a gill gene regulatory program for outer ear evolution
Oh, please. Pray tell, inform us about how ISPs held back progress for 2 decades. Good broadband access could perhaps have come earlier and cheaper but it basically came soon enough once web-based services were available. I'm not going to argue that US ISPs are universally great but saying that they held back progress by "2 decades" is pretty much ignorant. Especially given that Sun was presumably mostly talking about the context of business computing at the time.
Anyone recommend 1-2 of these over others?
Everything was sent in plaintext early on.
But since 2022/2023 it's TLS: https://wiki.bambulab.com/en/security-incidents-cloud-traffi...
It is a matter of wording, doesn't change the trap is on the path.

Nonetheless, it is good to see efforts to reduce UB on the standard.

My complaints apply to C++ as well, naturally.
> I live in the Chicago South Side, in a neighborhood that is 99% black. I am not black.

May I ask why? This seems like a deliberate choice. It is, at best, met with suspicion by other residents.
Some companies providing container images also have security teams. Some companies providing pypi packages also have security teams. Your point is?
Yes, exactly.

If you have

1 + (2 * 3 + (4 / 5))

The smallest key count with RPN is to start entering the deepest expression first:

4 ^ 5 / 2 ^ 3 * + 1 +

You can type it left to right but it takes more keys and is probably on par with standard paren arithmetic, which negates the RPN advantage

1 ^ 2 ^ 3 * 4 ^ 5 / + +
I personally quite like templates and constexpr. I don’t do anything too crazy with them, but I like being able to write code that will compile down to efficient code without runtime checks. I tried to write equally generic code in typescript recently and I had to make peace with the fact that I had to pay for either an indirect call through inheritance or a runtime conditional, where in C++ I could use template code and a constexpr if to choose the correct code path at compile time.
That doesn't stop Verified Humans(TM) from copying and pasting AI slop into text boxes and pressing "Post." If there's really good pseudonymity, and Verified Humans can have as many pseudonyms as they like and they aren't connected to each other, one human could build an entire social network of fake pseudonyms talking to each other in LLM text but impeccable Verified Human labels.
From my perspective this a win-win program. Making taxes easier and or cheaper to file is an obvious benefit to taxpayers and I would imagine it results in more people paying taxes on time since there is less of a barrier to them doing so.

I can understand a desire to reduce government spending but it looks like the pilot cost for 12 states was $24.6 million which seems like an incredibly good value to me and the program is obviously optional allowing anyone who wants more customization to choose their own option. Seems like a good effort towards reducing what I see as the duplicative nature of both the IRS and payers figuring out what they owe.

https://www.irs.gov/newsroom/direct-file-pilot-officially-cl...

relevant context: https://www.propublica.org/article/inside-turbotax-20-year-f...
Creative Strategies for Surviving the AI-Pocalypse
A friend of mine is working on a similar thing https://www.scaleyourself.co
> The industry of Indian scam call centers was not invented by crazy racists.

Nor was the industry of Indian legitimate call centers.

You cannot glean any useful signal of legitimacy from the caller's accent.

That's the WTF.
> I just don't buy the argument that it's "how the games were intended to be seen"

I do, though.

At its most extreme, compare how this CGA imagery looks like on an NTSC television, with the crisp, clean signals that generated it. The demo makers here absolutely intend you to see this via NTSC, it will look like complete trash if you don't.

https://int10h.org/blog/img/1k16_flowergirl_cga_1024_colors....

(from https://int10h.org/blog/2015/04/cga-in-1024-colors-new-mode-...)

This article gives you more examples: https://www.datagubbe.se/crt/

And it links to this video with yet more examples: https://www.tiktok.com/@mylifeisanrpg/video/7164193246401383...

There's no mistaking it. The artists on those 80s/90s games worked with the expectation of how it looked on display hardware of the time. The actual pixels, in complete precision on a vastly higher resolution display, look like shit. Or they look "retro".
> that they can so easily choose to completely re-invent the wheel in every project

Nobody, and I mean 0, chooses to completely re-invent the wheel in every project. I understand why you would find this weird. I don't start every project with nand gates.

But the tendency is to use a library to check if a number is even or odd. It is a gradient, and you have to choose what you write and when you rely on a dependency. If you need to parse an XML file, or run HTTP requests, most likely you should find a library for it. But personally, if I can write it in 1-2 days, I always do it instead of adding a dependency. And I'm pretty sure it's worth it.

> how do you find the time to fix all the extra bugs, the edge cases, the support for different versions of lower level dependencies, of different platforms

If you take e.g. C++, maintaining your dependencies takes time. If you support multiple platforms, probably you need to (cross-)compile the dependencies. You should probably update them too (or at least check for security vulnerabilities), and updating dependencies brings its lot of issues (also in Rust: most libraries are 0.x.x and can break the API whenever they please).

Then, if you miss a feature in the library, you're pretty much screwed: learning the codebase to contribute your feature may be a lot of work, and it may not be merged. Same for a bug (debugging a codebase that is not yours is harder). If you end up forking the dependency and having to live with a codebase you did not write, most likely it's better to write it yourself.

The people advocating the "not re-inventing the wheel because NIH is really bad" philosophy seem to assume that libraries are always good. Now if you have a team of good developers, it may well be that the code they write is better than the average library out there. So if they write their features themselves, you end up with less but better code to maintain, and the people who understand that code work for you. Doesn't that sound good?
IMHO, that is expected, at least for the general case.

That is one of the implications of transformers being DLOGTIME-uniform TC0, they don't have access to counter analogs.

You would need to move to log depth circuits, add mod-p_n gates etc... unless someone finds some new mathematics.

Proposition 6.14 in Immerman is where this is lost if you want a cite.

It will be counterintuitive that division is in TC0, but (general) counting is not.
It also didn’t help matters that Stalin was greatly opposed to cybernetics, resulting in no research done on the topic until 1954, the year after he died. And even then, things didn’t really kick off until 1958.
> If I'm reading a blog or a discussion forum, it's because I want to see writing by humans. I don't want to read a wall of copy+pasted LLM slop posted under a human's name.

This reminds me of the time around ChatGPT 3's release where Hacker News's comments was filled with users saying "Here's what ChatGPT has to say about this"
> Right now, the printer's local MQTT server can only be accessed from the local IP using an 8 digit password obtained through through the physical display.

The problem is hackers don't need to play by the rules (accessing the display).

8 digits that never change is a joke in terms of security, it could be brute-forced within hours/days by sending a network request for each possible combination.

mitm: afaik Bambu Studio/Connect/Handy validate the printer's certificate during the TLS handshake, but most third party software probably doesn't (barely found documentation about it).

And there are a few other (although not as fundamental) weaknesses like no mutual authentication, access control or revocation of specific clients. Due to the nature of MQTT, every client can see messages sent by other clients once authenticated.