Hacker News new | past | comments | ask | show | jobs | submit | mattrighetti's comments login

I have a Telegram bot that will basically return URL results from libgen [0] and that always gets taken down because there is always that same entity complaining about copyright infringement.

Telegram contacts you with this:

> Hello, this is Telegram Support.

> Representatives of ** made a complaint https://t.me/\*\\\\* is infringing on their copyright.

> We kindly ask you to contact the copyright holder via email ** to resolve the matter.

After that, they will send you another warning a few weeks later with the same message and then they will take down the bot.

[0]: https://github.com/mattrighetti/libgen-bot-rs


Switched to AGH too a few years ago because from time to time pi-hole would get stuck upon unplanned reboots of the Raspberry Pis on which I had it installed


I did not know about Hidden Bar, will try that out! I've been using Bartender for a long time but that is not free.


I haven't heard about Hidden Bar before, but https://github.com/jordanbaird/Ice is quite nice.


Thanks for summing this up! I'm also in the thousands of rows space at the moment and that's probably why I've fallen in the query planning trap that many pointed out.


I've hidden the sidebar because I did not like the push-to-the-left it causes when going from certain pages to others. Am I breaking accessibility features for some?


The push-to-left doesn't matter. Most people will read one thing on the site so they're not navigating between pages anyway, most of the remainder aren't clicking through pages fast enough to even notice the jump, most of those that do notice it know how scrollbars work, and the remainder is you :)

I guarantee nobody will complain about the jump, but they will (did) complain about disabling basic browser functionality.

If the jump really bothers you, you can replace your rule with

    html {
        overflow-y: scroll
    }
which should force scrollbars to appear on every page whether they're needed or not. But you don't need it.


Not exactly accessibility features, but a more general usability, even for people without disabilities. I personally noticed the lack of a scrollbar when I wanted to check how far through the article I am, but another common use case for those is to actually scroll through the document (particularly for skimming of larger documents, for which mouse wheel, space bar, or Page Down key are too slow, or in more rare situations when they are not easily available).

Unfortunately tinkering with visual presentation tends to conflict with the principle of least surprise, user settings, or even basic functionality.


The scrollbar-gutter[1] CSS property might be appropriate to avoid this behavior.

[1] https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-g...


I've used Axum for almost a year now, last project I built is a mix of APIs and SSR with HTMX + Askama. It's been great so far.

Hypermedia was scary at first because I was used to Next.js and React, breaking down everything into single and reusable components and their logic living inside of it. Now I'm doing pretty much all of it with minimal JS and the help of XPath.

I've been playing with this stack for months and I am now digging it - Plus, can't beat the beauty of the single binary that comes out of it! I run that with systemd and it's been flawless so far.


> C and C++ has been failing us for decades yet we continue to use such unsafe stacks.

I'm not sure — what do C and C++ have to do with this?


They are not memory safe by design. See: https://xeiaso.net/blog/series/no-way-to-prevent-this/

Of course all languages can produce insecure binaries, but C/C++ buffer overflows and similar vulnerabilities are likely what AlgebraFox refers to.


> They are not memory safe by design

I'm aware of that, but the C/C++ thing seemed more like a rant, hence my question.

I've searched up the malware and it doesn't seem to use memory exploitation. Rust is not going to magically protect you against any security issue caused by cloud misconfiguration.


I think it was a rant, but still related to the post. Its point is that we need to minimize the attack surface of our infrastructure, even at home. People tend to expose services unintentionally, but what's so bad about that? After all, they are password protected.

Well, even when these exposed services are not built to cause harm or provide admin privileges, like all software they tend to not be memory secure. This gives a lucky attacker a way in from just exposing a single port on the network. I can see where comments on memory unsafe languages fit in here, although vulnerabilities such as XSS also apply no matter what language we build software with.


What is the point you're trying to make here? Are you waiting for some malware that exploits a buffer overrun to infect you before conceding that C/C++ is a terrible choice for memory-safe code?


It just seems totally unrelated to this post.


Another super interesting article that talks about DNS and how it’s used at Spotify [0] (or was used in 2013)

[0]: https://engineering.atspotify.com/2013/02/in-praise-of-borin...


I recently shipped a project [0] with a very similar tech stack: Axum + HTMX + Askama. It’s still in beta but it’s incredible how far you can get with just html, css and less than 20 lines of js. Also, can’t beat the beauty of putting a single binary in a systemd service and have your entire frontend + backend ready to go.

The only downside that I see is that the binary gets big pretty fast, especially with Askama which basically is a templating engine like Tera but pulls templates at compile time in the binary so you don’t have to copy templates around on your server.

I have not worked with SSR a lot before but it seems it’s harder to cache pages too.

[0]: https://ulry.app


I'd argue a fat binary isn't a major issue unless you're on a lambda or edge computing platform, especially if the application is fairly stable / does not get many re-releases.

I'd say caching can go into a different layer entirely.


Yeah for the moment I reached a 25MB binary and I see no issues in performance whatsoever. I'm curious about caching, do you have any tips or resources on that?


Looks nice! I’ve been using SeaQuery for a while now but documentation is not that great if you’re looking to create some more advanced queries.

While I liked the idea of having strongly typed queries I’ve lately found out that sometimes they unnecessarily slow me down during the development process, I’m considering going back to the good old prep statements and binding values manually.


You might be interested in SQLx, since you write the SQL but the library generates the tedious bindings for you.


That's my go-to! Maybe it was not super clear from my comment but I'm not using sea-query-orm but just the query builder, once the query is build you still have to feed it to sqlx (e.g [0]) :)

[0]: https://github.com/SeaQL/sea-query/blob/master/examples/sqlx...


Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: