News for hackers. Stuff that matters.

hendi_

Re:Mozilla to shut down Pocket on July 8 on Thursday May 22, 2025 @06:26PM (#44067837)
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.

Re:Let's Quit X on Monday January 13, 2025 @01:11PM (#42686461)
No.
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.
Re:Google Pixel 9 Pro on Tuesday August 13, 2024 @04:34PM (#41239529)
Yes, it's fully automated OTA updates with GrapheneOS.

(running it since 9mo on my Pixel 8)

Re:htmx 2.0.0-beta1 on Wednesday March 20, 2024 @02:29AM (#39763406)
Yes :)
Re:htmx 2.0.0-beta1 on Sunday March 17, 2024 @02:10PM (#39736563)
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!

Re:March 14, 7:00 a.m. CT: Starship's third flight test on Wednesday March 13, 2024 @05:49PM (#39697980)
Yes.
Re:The Ladybird Browser Project on Wednesday February 07, 2024 @01:29PM (#39292264)
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.
Re:Ask HN: Got a /22, cool things to do with it? on Friday January 12, 2024 @08:37AM (#38967747)
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.
Re:Gnome Turns 25 on Saturday July 23, 2022 @08:46AM (#32202793)
That's when and why I left the project (former contributer)
Re:Europe: The end of the privacy of digital correspondence on Sunday February 06, 2022 @03:10PM (#30236483)
Yes, she does. (Of course.)
Re:MicroAcquire: Sell Your Startup on Saturday September 04, 2021 @03:33PM (#28418316)
Indeed. Flagged the post for this reason.

The site is full of dark patterns.

Re:My Steam Game Revenue Stats on Saturday July 24, 2021 @08:49AM (#27940480)
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.
Re:Personium – personal data store server on Friday January 29, 2021 @04:25AM (#25955563)
This is just an empty, blank page.
Re:Ask HN: What RSS Reader do you use? on Friday October 02, 2020 @02:06AM (#24659429)
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.

Older »