HNHacker News
TopNewBestAskShowJobs

codethief

5,854 karma · joined September 17, 2010

submissionscomments
codethief··on Ask HN: Founders of estonian e-businesses – is it worth it?
Sure but that doesn't make them illegal?
codethief··on Slovenia becomes first EU country to introduce fuel rationing
> Taiwan relies on LNG for 40% of its energy production and has like 10 days of fuel left--semis are implicated.

The "10 days left" thing seems to be a hoax(?)

https://www.msn.com/en-us/politics/international-relations/m...

https://www.malaymail.com/news/world/2026/03/26/is-taiwan-ru...

codethief··on Ask HN: Founders of estonian e-businesses – is it worth it?
> I'm fairly sure the German tax authority will claim that you have a local German branch office since you live and work there. That might be OK tax wise?

If you work from home, your office at home usually does not qualify as a company office unless you make it one. In particular, that alone would not force you to pay Gewerbesteuer to the city, which is the tax specifically addressing local presence.

However, you're touching upon a very important point: If you live in Germany and your Estonian company pays you a salary (as opposed to dividends), you will be a proper employee and your company will also have to pay social security for you, and this might complicate matters significantly. In fact, this will likely (in the German tax authorities' eyes) establish that your Estonian company partially operates in Germany (which is a much broader thing than having an actual physical branch office). This then brings you back to square 1 – your company having to file taxes in Germany, too. Someone below linked https://eidel.io/posts/estonias-e-residency-is-awesome-and-s... which seems to confirm this.

> German tax authorities will see that as an illegal dividend payment from your company.

Could you elaborate? How is this illegal if you declare taxes?

codethief··on Ensu – Ente’s Local LLM app
Thanks again for the YouTube link – I hadn't had time to watch the entire video yet, so I wasn't aware your product lead addressed nested folders specifically.

So how would nested tags interact with albums? Will I also be able to share (or contribute to) tags like I can share (or contribute to) albums? Actually, aren't albums already "tag-like" in the sense that photos can be assigned to multiple albums at the same time?

> And while we're not prioritizing this specific feature, I don't think it is fair to say that we do not invest time into polish. We do care about our craft[0][1][2].

This was overly harsh, my apologies!

codethief··on Ensu – Ente’s Local LLM app
Hi Vishnu, thanks for engaging here – it is highly appreciated! Let me respond to a couple of your statements from the interview:

> I think it's important to offer a complete package

I agree. But doesn't that start with making one product (Ente Photos) good enough for people to actually be able to migrate? If Ente Photo really is your "home ground", as you say, shouldn't you prioritize accordingly? Specifically, in your response[0] to the GitHub issue I linked you say

> to pull it off with the finesse we would like, it will take us more than a quarter. […] I will mark this feature as unplanned until we have more engineering bandwidth.

But it seems you really do have the engineering bandwidth! You've just been prioritizing other products besides Ente Photos. I do understand that folder nesting in particular is a non-trivial change and if you look at the discussion on GitHub, I've actually been defending you rather heavily. But it's becoming increasingly difficult to do so – quite frankly, I am starting to doubt your product management is entirely on the right track if in 3 years you can't dedicate 3 months to the feature request with the highest number of votes by far. More generally, I am losing trust that any of your products will see enough polishing any time soon. (So I will definitely not put time into migrating anything else if I can't even migrate my photos yet.) And it seems I'm not the only one thinking that – your reputation among enthusiasts is starting to take a hit.

> There is no way Ente is going to let anyone else build a better photo app.

Words to live by! :-)

[0]: https://github.com/ente-io/ente/discussions/552#discussionco...

codethief··on Ensu – Ente’s Local LLM app
I've been a big fan of Ente and their work and am a paying customer but, man, this comment in a long-standing GitHub feature request is ringing truer every day:

> Ente is becoming like Proton: too many products and a lack of focus, leading to lower quality and not delivering what customers want

https://github.com/ente-io/ente/discussions/552#discussionco...

codethief··on Qite.js – Frontend framework for people who hate React and love HTML
Compared to what? I mean, what's the alternative for an interactive app?
codethief··on Qite.js – Frontend framework for people who hate React and love HTML
What makes React fundamentally worse than Vue or Svelte? In my experience, there are also plenty of crappy Vue-based sites and applications and I'm sure the same is true for Svelte.

> Today, you open facebook, the creators of React - normal drop-down with just a list of barely 5-6 items is a fucking component that makes 10 different requests. I would even argue this unnecessary forced interactivity is what perhaps annoyed users the most as everything always has to "load" with a spinner to the point of the platform being unusable.

That's a design decision, though. Sure, your point is basically that React is not opinionated enough and allows you to do anything. But in the same way you could criticize JavaScript or Python because they allow you to do "anything" and some people write shitty code.

codethief··on Qite.js – Frontend framework for people who hate React and love HTML
Isn't React pretty much a model-view-viewmodel architecture?
codethief··on Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised
Or just make side effects explicit in the type system through monads or algebraic effects.
codethief··on No-build, no-NPM, SSR-first JavaScript framework if you hate React, love HTML
> React can be 100% stateless, functional, and have the state live somewhere else. You just need to apply the same limitations as your model: components should be simple and not store data in themselves.

"just" is doing a lot of heavy lifting here. Where do you store "pure" GUI state (button state, is expandable expanded, …)? Do you really want to setup Redux for this? (And no, the DOM is not an option in non-trivial cases.)

codethief··on No-build, no-NPM, SSR-first JavaScript framework if you hate React, love HTML
> UI elements automatically reacting to data changes (as oppposed to components updating themselves by listening to events)

Is there really a difference? Angular uses RxJS in a pub-sub scheme. (At least it did when I last used it.)

codethief··on A case against currying
> So in `foldr (+) 0 . map (const 1)`, the author gives `f = foldr (+) 0` and `g = map (const 1)` but doesn't supply `x`. That's a partial application.

It's not, and the authors doesn't have to. Using your definitions, `f . g` is a function of a single free argument (whether you call it x or y or whatever). Partial application occurs when you want to fix some parameters but not all of them. In the present case, however, there is only one parameter (x) and it's not fixed, so there's no partial application to speak of and one can omit the parameter as usual.

Put differently: (.) is a binary operator on functions, and length = f . g from the OP is an equation of functions. You can certainly write it down pointwise, i.e. length(x) = (f . g)(x), but that doesn't tell you anything you didn't know already, and it is unrelated to the case of partial application that the author is discussing.

codethief··on A case against currying
> Why does the author think it's confusing to partially apply foldr and map but not (+), (.), const, and length?

Neither of these functions is being partially applied in the code you cited. While the placeholder $ can be used to indicate all "free slots" of a function, you would only have to use it in partial applications of that function. (Analogous to how in mathematics the abstract index notation for tensors[0] is only really useful when you start contracting tensors, etc. Otherwise, the plain objects/tensors without indices are much easier to write & read.)

Specifically:

- (+) was already a function of two arguments, so usage of $ is unnecessary since (+)($, $) == (+). Similarly with the length function (a function of 1 argument): length($) == length.

- Function composition was being used as a binary operator between two functions. You just replaced the infix notation with prefix notation.

- I read const(1) as the function that maps everything to 1. I.e. `const` is a function of one argument x, which returns a function that always returns x. Once again, no need to indicate slots there.

[0]: See https://en.wikipedia.org/wiki/Abstract_index_notation and https://math.stackexchange.com/questions/455478/what-is-the-...

codethief··on Why I love NixOS
Do you have to figure this out? Sure, it's nice and "pure" if everything is configured through Nix but there is something to be said about being pragmatic. Personally, I just enabled nix-ld[0] and use uv to install and handle my Python versions and package dependencies. Much, much easier.

[0]: https://mynixos.com/nixpkgs/option/programs.nix-ld.enable

codethief··on Why I love NixOS
https://spectrum-os.org/ is trying to marry QubesOS (everything runs inside a VM) with Nix. It's still very much in development, though.
codethief··on Why I love NixOS
Man, I still remember what a pain the migration from PulseAudio to Pipewire was. Sure, it's only a couple packages, disabling a few services, enabling a couple others. But I had to do this almost on the daily, while bugs in Pipewire/Wireplumber were still getting ironed out and were rendering my audio stack temporarily unusable.
codethief··on The future of version control
> I hadn't heard of Pijul

I'm surprised! Pijul has been discussed here on HN many, many times. My impression is that many people here were hoping that Pijul might eventually become a serious Git contender but these days people seem to be more excited about Jujutsu, likely because migration is much easier.

codethief··on Revise – An AI Editor for Documents
What features would you expect from a good word processor? What features should it leave out, i.e. features make MS Office / OpenOffice / LibreOffice a bloated mess?
codethief··on A case against currying
I've long been thinking the same thing. In many fields of mathematics the placeholder $ from the OP is often written •, i.e. partial function application is written as f(a, b, •). I've always found it weird that most functional languages, particularly heavily math-inspired ones like Haskell, deviate from that. Yes, there are isomorphisms left and right but at the end of the day you have to settle on one category and one syntax. A function f: A × B -> C is simply not the same thing as a function f: A -> B -> C. Stop treating it like it is.
codethief··on Show HN: Crack – Turn your MacBook into a squeaky door
No TLS?
codethief··on Our commitment to Windows quality
If you need to reinstall Windows so frequently, have you considered giving Linux a shot? I switched 16 years ago and haven't looked back. Until recently, I used Ubuntu and I think I had to reinstall twice in 15 years, one of which was when I got a new laptop.

Last year I switched to NixOS and while my impression is that it's going to be much more stable even than Ubuntu, installation also only takes me 5 minutes. That is, 5 min until my system is in exactly the state I want, including installed software, window manager config, keyboard shortcuts, desktop wallpaper, GUI theme, etc.

codethief··on Our commitment to Windows quality
I don't know, man. For the past year I've been having the "pleasure" of using Windows again for the first time in 16 years. My coworkers recommended I try the WSL since in their eyes I'm a "Linux guy". Well, the WSL crashed an hour into using it (forcing me to reboot Windows because nothing else helped) and then a couple more times that very same day. On a fresh Windows installation.

I ended up installing VMWare and using a full Linux VM. Yes, VMWare. That's how desperate I was.

codethief··on Show HN: I made an email app inspired by Arc browser
> On Android, you need to request the desktop version, rotate the phone to landscape, and refresh; assuming you have a tall enough screen (in px).

That's what I thought should do the trick, too, but for me it worked neither in Firefox nor in Chrome. (I have a Pixel 10 Pro, so the resolution should definitely be high enough.)

codethief··on Astral to Join OpenAI
Eric Traut is at OpenAI now?
codethief··on Google details new 24-hour process to sideload unverified Android apps
> Developers can choose to not undergo verification, thereby remaining anonymous. The only change is […]

"The only change" – with all due respect, are you even listening to yourself? The "only change" is that you, as a developer, will be completely excluded from publishing apps in the Play Store and that people effectively won't be able to install your app anymore! (Unless you were targeting only e.g. F-Droid users to begin with, which very few apps do.)

In essence, you are cutting down on the privacy of tens of thousands of honest developers around the world in the name of protecting users from scammers and you're pretending that 1) it's a nothingburger and 2) developers have a choice.

codethief··on Android: Balancing Openness and Choice with Safety
https://developer.android.com/developer-verification

Note that the OP is about side loading, i.e. installing apps from non-Play Store sources and thereby circumventing developer verification.

codethief··on Google details new 24-hour process to sideload unverified Android apps
This. Side loading being restricted is only one part of the problem; the other is mandatory developer verification for apps distributed through the Play Store.
codethief··on Despite doubts, federal cyber experts approved Microsoft cloud service
Speaking of redirects, I haven't been able to use Outlook 365 in Firefox for years – every single time I get redirect after redirect, only to then end up on yet another log-in screen. Meanwhile, in Chromium-based browsers everything works fine.
codethief··on Astral to Join OpenAI
How so? Pyright is being developed by Microsoft.
← PreviousPage 10 of 34Next →