hendi_
hendi_ on Hacker News
Posted by
hendi_ on Tuesday January 27, 2026 @05:25PM
from the youtube.com dept.
I was an avid Firefox user and supporter pre-1.0, even before it was named "Firefox". I used Pocket a lot, its history is part of my. It's time for Mozilla to die. That'll suck, but it's the only way forward. Way too many bad decisions in the last 10 years.
Fuck you, Mozilla.
I'm a listener since day #1 / the first Show HN five years ago. This is my favourite fiction podcast, by far. What started as "Black Mirror if it were a podcast" has grown to even more. I can't recommend this enough, the episodes are entertaining and almost every time thoughtful / thought provoking.
Posted by
hendi_ on Monday September 09, 2024 @04:06PM
from the swipe.futo.org dept.
Yes, it's fully automated OTA updates with GrapheneOS.
(running it since 9mo on my Pixel 8)
Posted by
hendi_ on Wednesday June 12, 2024 @05:11PM
from the petapixel.com dept.
Posted by
hendi_ on Tuesday June 04, 2024 @04:25PM
from the drs.faa.gov dept.
We use htmx (mostly via our django-livecomponents) on our production website, for several public facing features. We've initially replaced numerous small things that were built with Alpine before, and once we've gained confidence we rewrote our whole messaging app from reason/react app.
Fun thing, customers find the new version (htmx/django-livecomponents) to be more responsive than the old version (react+REST). New version is less lines of code and easier to hack on die to fewer context switching.
Give htmx a try, it's worth a shot!
Posted by
hendi_ on Wednesday March 13, 2024 @05:07PM
from the twitter.com dept.
I just needed a reason to throw money at him ;)
We've build (and open-sourced) our own livecomponents[1] for Django and based it on htmx. That way we got a ton of client side functionality for free and didn't have to reinvent the wheel. Just this week we've retired our old react based webapp and replaced it with our Django livecomponents. htmx is awesome!
[1] https://github.com/om-proptech/livecomponents
I've switched to Kagi a year ago and haven't looked back. I've tried Bing and DDG before and went back to Google immediately. Not so with Kagi, since switching over to it I've googled less than a handful of times. Seriously, try it.
If learning is "fun" for you, you can play around with BGP and build your own global CDN with Anycast.
No, it's not. That's not what "tracking" means.
That's when and why I left the project (former contributer)
Yes, she does. (Of course.)
Indeed. Flagged the post for this reason.
The site is full of dark patterns.
This looks great, will buy once I'm back at my PC :-)
Back when uploading Warez to unintentionally open FTP servers was still a thing this was quite handy. Apparently some server software used some low level API to create directories, so you could create folders named LPT1, AUX etc. and put your stuff in there. Many server admins who would usually delete your uploads quickly weren't able to access or delete these folders, and your stuff was up longer.
Posted by
hendi_ on Thursday May 27, 2021 @08:44AM
from the indiegogo.com dept.
This is just an empty, blank page.
Posted by
hendi_ on Tuesday October 13, 2020 @02:49PM
from the github.com dept.
Akregator, a native (C++/Qt) application that runs on my machine. Happy user since ~2002 or so.
(flagged, because not readable without registration)
105.41 MB transferred
Maybe think twice before putting a 40MB GIF on a website?
Your point a) is moot, this is not what this is about. When writing manual SQL nothing stops you from doing `SELECT * FROM persons WHERE age > 'eighteen'` (the `age` field is a number, obviously). Coming from Django I was often bitten by `Person.objects.filter(age__gt=trashhold) # boom!` (note the misspelled variable "threshold") or, if you prefer manual writin SQL: `Person.objects.raw("SELECT * FROM persons WHERE age > {}", trashhold) # boom! as well`. (Admittedly this is unrelated to type safety, just a disadvantage of Python being interpreted, but still something that Haskell/IHP protects me of.)
Regarding b), yes there are good reasons for prepared statements. I won't go into your argument "for scalability" (premature optimization cough) but cached query plans aren't perfect either: data and data typologies change, and so does the optimal query plan. See https://blog.soykaf.com/post/postgresql-elixir-troubles/ for a blog post about Elixir/Phoenix/Ecto users being bitten by that.
> I wonder if the person who wrote this understands SQL to sufficient depth. Not saying either way, just asking.
I did not write the IHP code, just the above comment. But I've read many of CJ Date's books and have a good grasp on the relational model, and of SQL too. I simply don't see things as black/white, there are certain queries where I do prefer prepared statements and functions, or PL/pgSQL even, then there are ones where I use an external .sql file to keep things tidy. But most of the time (especially in the user facing part of a web app) I like my ORMs or SQL DSLs.