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.
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
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.
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.
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?
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.
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.
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]) :)
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
reply