HNHacker News
TopNewBestAskShowJobs

Ndymium

1,525 karma · joined November 19, 2015

Web developer @ Tampere, Finland
submissionscomments
Ndymium··on Are We Anti-Cheat Yet?
You may have strong opinions on anti-cheat software and they may be correct, but it is required for playing certain online multi-player games, and people want to play those games on Linux too (especially the Steam Deck, I would presume). Ergo, people want anti-cheat software on Linux.
Ndymium··on My B2C subscription management SaaS sucks
Speaking from a purely customer perspective (I'm not a business person or startup founder), the big things that are missing from the landing page and/or signup flow are:

- Pricing. I don't know what this is going to cost me. It does not say if I'm entering a trial period or if it's free.

- Privacy policy. Who are you and what will you do with my data?

Also, I suppose this is a target market thing, but I've never heard of LINE so having it mentioned does not make me more interested. I guess it will work where that app is popular, though.

Ndymium··on Raivo OTP just deleted all tokens after update and is now asking for money
What was the mobile Authy fiasco?
Ndymium··on EU data shows PHEVs emit 350% more CO2 than tested values
It's the same stuff. I'm not sure how much of it leaks, but you have to either flare it or use it for something or it leaks anyway. Using it for cars and trucks is basically flaring it but using that energy for propulsion.

The taxes are not based on that, though. They're strictly interested in tailpipe emissions (not even lifecycle emissions), and don't recognise biogas at all.

I'm planning on switching to a BEV eventually, but right now it's not financially possible. Most of the time I commute on my bicycle anyway.

Ndymium··on EU data shows PHEVs emit 350% more CO2 than tested values
As a Finn, the most annoying aspect here is the unequal treatment by the government. A PHEV is treated very favourably tax wise, and the emissions calculations are very optimistic about the usage of electric power.

My car is a compressed natural gas car that I drive with 100 % biogas, which is domestic made from waste and other side products of industry, and has an estimated CO2 equivalent emission of ~0 g/km. The tax law and emissions calculations assume that I drive it on natural gas all of the time, never a single kilometer using biogas. Additionally I need to pay an extra fixed tax (not based on kilometers driven) just because it's a CNG car. This tax is 6 times higher than for PHEVs.

Thus, a big SUV like Mitsubishi Outlander, which eats a lot of petrol as soon as you get outside the short EV range and runs its engine anyway when it's cold in the winter, gets to pay less tax (which is specifically based on CO2 emissions) than my biogas car.

PHEVs in my eyes are nothing but greenwashing for most people.

Ndymium··on Gleam Version 1
I've run Gleam compiled for the Erlang target using the elixir-desktop project as a "native" Android app. Meaning that the Erlang runtime is packaged with Elixir and the Phoenix framework into an APK. The app runs your code in Phoenix and opens a LiveView frontend that serves as the app's UI.

Right now I'm working on a streaming music client in Gleam that runs as a progressive web app in browsers, desktops, and mobile. It looks just as native as the elixir-desktop app and has integration to the OS media notifications. This is using the JavaScript target.

If you are able to make mobile apps with JavaScript in other ways (Cordova?), then you can take Gleam's JS output and use that in such a system.

Ndymium··on Laughing Off the Dark Mode Lobby
If everyone thought like this, I suppose the author wouldn't have felt the need to write the article.

I've been using light themes for some time now, after years of dark mode-ing everything. It actually works better for my eyes, at least where I'm able to set the background to be just a bit off-white. And like the author, when I've pasted screenshots into discussions, I've received jokes about my choice. You know, the gifs about people in dark rooms being blasted with light from their monitor. And ironically jokes about eyes burning, when this is friendlier to my eyes than dark mode was.

Ndymium··on The 1988 shooting down of Flight 655 as a user interface disaster
The default post size limit on Mastodon is 500 characters, there is no line limitation. I suppose the message split here is mostly influenced by the user's desire or familiarity carried over from Twitter.
Ndymium··on The 1988 shooting down of Flight 655 as a user interface disaster
This can be configured in the instance settings and I've seen some support up to 5000 characters.
Ndymium··on Bidding error sees Finnish day-ahead power price tumble
That's the average for the whole day, the max negative price is -€0.5/kWh which is limited by regulations. It starts from 15.00 and continues for the rest of the day. Other than those hours, the price is normal, so the average is not as drastic.
Ndymium··on datetime.utcnow() is now deprecated
There is, when you aggregate your data to create graphs such as "My most active hours", you will have a problem if your user moves between timezones, if you did not store the actual local wall time. [0] For those cases, you can store the offset or the denormalized local time along with the UTC version.

[0] https://blog.nytsoi.net/2022/03/13/utc

Ndymium··on We don't do DST at this company
Don't use it for past times either without thinking what you'll use it for. If you want to generate reports of historical data in the user's timezone at the time of the event, you can't convert back just knowing their current timezone. [0]

[0] https://blog.nytsoi.net/2022/03/13/utc

Ndymium··on Monaspace
It's used in Robot Framework code, but that's the only place I can think of.
Ndymium··on Gleam: a type safe language on the Erlang VM
Gleeunit also works on the JS target so you can run tests on Node.js (if you're targeting JS).
Ndymium··on Gleam: a type safe language on the Erlang VM
OTP is a work in progress available in the gleam_otp [0] package, supplemented with the lower level gleam_erlang [1]. Or you can call OTP things manually with FFI.

[0] https://hexdocs.pm/gleam_otp/index.html

[1] https://hexdocs.pm/gleam_erlang/index.html

Ndymium··on Sessionic: A cross-browser extension to save, manage, restore tabs and sessions
History is an unorganized pile of stuff, I wouldn't be able to find things I once had open possibly months ago - if I'm not lucky I can't even remember what page titles to search for.

In my tab bar things are organized into groups that I collapse when I'm not actively using. Thus I can easily find those GitHub issues, discussion forum posts, datasheets, or whatever else I was looking at when I last worked on e.g. my brother's keyboard USB conversion, which sadly had to be put on hold due to other life stuff.

This could be replicated with bookmarks, but I have no reason to use bookmarks when my tab bar already works the way I want it to.

Ndymium··on Apple's new video reactions are making therapy awkward
The original post on fedi [0] claims it can happen in any video call app.

[0] https://xoxo.zone/@mathowie/111229500871588422

Ndymium··on Ask HN: How much have you made from your company's referral bonus program?
Zero. A referral bonus is essentially a bonus on being social and I don't fit that category. My few friends have all been employed quite happily, so there's nothing I can do.
Ndymium··on Thermo acoustic heat pump boosts performance without refrigerants
The thing to note is that heat pumps move heat energy, they don't generate it (other than as losses from the machinery). Your fridge moves heat energy from inside itself to the outside, leaving the insides cool. A heat pump moves heat energy from outside the house to inside of it, leaving the outside cooler. This allows it to be 3-4 times more efficient than resistive heating (which does generate heat energy), because it just moves energy around.

This heat pump will also have to move the heat energy from somewhere. It can't do that if there's none to begin with.

Ndymium··on Show HN: Host a Website in the URL
Cool little project! I did a similar thing recently, I wrote a pastebin that puts the file contents in the URL with brotli. [0]

It works quite well, but I'll need to update the syntax highlighting soon as at least Gleam is out of date (boy that language moves fast), and sometimes brotli-wasm throws a memory allocation error for some reason. I guess that's one cool thing that WASM brought to the table, memory handling issues.

[0] https://nicd.gitlab.io/t/

Ndymium··on Ask HN: Any hardware startups here?
Quoting from their linked website:

> Our heat pump can generate up to 3 times as much heat as a resistor, using the same amount of electricity.

Though it doesn't mention the temperature at which this is achieved, only that the range is from 160 to 550°C.

Ndymium··on Type system updates: moving from research into development
Additionally, Gleam is very different as a language. Erlang is only one of its targets, another one is JavaScript (and I see many people just using it for that alone). I'm personally writing a static blog generator for myself that'll run on the Node target.

So I don't think this will have too much effect on Gleam.

Ndymium··on Noticing when an app is only hosted in us-east-1
Resources are cached within the same origin. So HN resources will be cached and used on HN visits. But if two different sites load a library from the same CDN, they will not share their caches with each other and will both load it separately.
Ndymium··on Why sqlite3 temp files were renamed 'etilqs_*' (2006)
They are visible to programs, for example if you run `ls -a` you will see them on macOS too. I reckon they're only transparent to Finder (where you can't see them even if you're showing hidden files).
Ndymium··on Digg's v4 launch: an optimism born of necessity (2018)
Having done this same mistake myself, it's just such an easy mistake to make. Most likely you're writing two or three programming languages in the same project, and the others work differently from Python. So it's very easy to miss an errant `foo={}` in a function definition when reviewing a commit of several hundred lines. Especially as the only indicator of something being wrong is the lowest priority warning PyCharm has, meaning the background colour `{}` is only slightly different.

These days I'd set up a linter that enforces these things do not happen, but it's easy to be smart after the fact. You say "once you've been trained by bitter experience it's very easy to spot", which I feel is true. You just need that bitter experience first, and for me it came in the form of a production issue.

Ndymium··on Sponsor the open source projects you depend on
Not sure if you're assuming that I am using the service with the wording "for you" or if it's a general question (I'm not a user). But if it's a general question, legally speaking, my best guess (not a lawyer) is that it would be perfectly legal to make a maintainer account to forward the funds to other projects, since you are not receiving anything. I guess you know if a feature like that is worth the trouble to implement.
Ndymium··on Sponsor the open source projects you depend on
I love and support this idea very much. I had actually been thinking about this exact solution myself, but I'd personally want to stay clear of anything involving real money, so it's great that you're doing it. :)

Just a note which probably isn't worth your time to act on, but using this service as a maintainer in Finland is illegal unless you can offer a geoblocking feature that can block any Finnish supporters from routing money to Finnish maintainers. This is due to our Money Collection Act which prohibits soliciting any donations except for very strict circumstances which aren't really applicable here. Might be worth a note on the page if you have extra time, since this is not know by many Finns that I've talked to.

Ndymium··on I don't want streaming music, I just want to stream my music
If you scroll down and click on "premium service" in the text before the last sign up button, you get to this page: https://www.ibroadcast.com/premium/

This seems to have the details you want.

Ndymium··on Millions of active WebSockets with Node.js
That would depend on if it matters to the WebSocket server if connections are from one or multiple IPs. In this case I would not think that there's any difference as far as the WS library is concerned. Maybe it has some effect on the OS kernel's networking routines, but I would not expect it to be big.
Ndymium··on Millions of active WebSockets with Node.js
A connection is identified by the tuple {host IP, host port, client IP, client port}. The server listens on one port, but the client has a separate port for each connection. This means that there can be 65k connections for a single {host IP, client IP} combination.

There's two ways to get more connections: use more client IPs or use more host IPs. In this post the OP has decided to add more host IPs.

← PreviousPage 3 of 13Next →