HNHacker News
TopNewBestAskShowJobs

cylon13

679 karma · joined January 8, 2015

jaburns.net
submissionscomments
cylon13··on Donations make up a quarter of my income
I assume this is why the parent poster said "I suppose this shouldn't disappoint me". People shouldn't need a thank you email, but it's apparently valuable enough to at least one person to make a difference for them. How people actually behave and react to things is what you should design around, not how people should ideally behave. Given this (admittedly extrapolating from one data point), and because the cost of configuring a bot to send thank you emails is so low, I'd probably set it up if I were accepting donations.
cylon13··on We still believe in private offices (2015)
I have the same thing and I think it’s because there’s a chance she might interact with you, which is enough to prevent you from getting 100% focused. Just having someone close enough that there’s a chance they will distract me is enough for me to feel mildly distracted by that possibility.
cylon13··on Libwebsockets a powerful and lightweight pure C library
There is this[0]. It’s C++ but the API is simple and it works well, you don’t need to setup any extra ICE/TURN/STUN stuff either.

[0] https://github.com/seemk/WebUDP

cylon13··on SafeDollar ‘stablecoin’ drops to $0 following DeFi exploit on Polygon
It is pretty good evidence that they are resistant to hacks though, and speaking about interesting evidence that doesn't pass the bar of proof isn't some kind of logical fallacy. That's a pretty high bar to set for what you're willing to integrate information-wise about the world into your model of it.
cylon13··on Wasmer 2.0
The game using Wasmer is currently fairly early in development, but we have a few games in production built using various technologies, with the most recent one that I worked on done entirely in typescript. Both this previous game and the upcoming game are fast-paced action games. As much as I enjoy typescript, there are lots of annoying things that crop up in game dev in particular with regards to memory management, such as needing to pool instances of small classes, etc, so I figured it's time to switch to rust+wasm since the ecosystem seems mature enough now for it and Rust is a joy to program in.

The architecture of the games are such that the main game logic runs both on the client and the server. The server runs the logic to provide the authoritative game state and send it out to all the clients, and the clients run the logic to predict where they're going to be immediately after you press an input to compensate for the network latency. Since the client is predicting what will happen using the same code paths, the game logic need to be completely deterministic so that it desynchronizes from the server as little as possible.

With the TS/JS game we essentially just hope that running the same JS bundle in node and any client browser produces the same results for all the collision/gameplay math, and it seems to luckily not cause us any problems. For the game in rust though, compiled and optimized native rust floating point math would drift from our client webassembly builds surprisingly quickly, so we decided to pack all the shared logic in to a wasm bundle that gets loaded on both the server and the client, and we're using Wasmer to do that :)

The Wasmer API is super ergonomic and it's been a pleasure to work with. I think the only thing that would make our lives better that I can think of is being able to ignore imports and have them auto-bind to noop functions or functions that immediately return zero in the case of non-void imports. Since we're using the same wasm bundle for the client and server, there's a bunch of client-only rendering bindings that we just ignore and never call from the server-only and shared wasm code in the bundle, and currently we're using a hacky script that uses wasm-objdump to generate a rust module with a bunch of noops in imports!{}.

cylon13··on Wasmer 2.0
Yeah, that's a good point actually.
cylon13··on Wasmer 2.0
Awesome, I just upgraded our project! We're using wasmer in a browser-based multiplayer game in order to get cross-platform floating point determinism so we can send only input packets over the wire confidently without worrying about state drift. The client and server run the exact same wasm bundle instead of just being compiled from the same source, and the wasm spec guarantees that as long as you don't touch NaN and stick to one thread, you'll get the same results in any runtime [1].

[1] https://github.com/WebAssembly/design/blob/main/Nondetermini...

cylon13··on Wasmer 2.0
The impression that I get is that wasmer is more targeted towards people who want to embed a wasm runtime inside an existing application that they're building, whereas wasmtime is more meant to be used as a standalone program that runs WASI binaries directly. I think both projects support both use cases, but they seem to be geared that way.
cylon13··on Software is eating the car
I agree with you about wanting a car without pointless stuff bolted on. When it comes to the things required to actually move the car, there's an interesting inverse relationship between visible levers and internal complexity though. Each lever removed is moving complexity from your brain to some physical system. Like an automatic transmission removes the gear shift and adds the more complex automatic transmission. In the limit, one can imagine the "simplest" interface of a virtually empty self-driving pod, which of course is actually an extremely complex system.
cylon13··on Beads: Computer language and toolchain
You could even call it a standard reply
cylon13··on NNCP: Lossless Data Compression with Neural Networks (2019)
That’s impressively small!
cylon13··on Ford Wants Billboards to Beam Distracting Ads to Screens Inside Your Car
Thanks for this very short but compelling dystopian science fiction story. I'm sure it will haunt me for a while.
cylon13··on Deno 1.10 Release Notes
I think that's more a property of the C# code that's out there rather than a property of .NET or C# themselves. A lot of (most?) C# and Java code in the world is over-abstracted over-engineered and life-sucking just by virtue of them being popular corporate languages and most code being boring. Using C# with Unity, for instance, is a pretty good experience though.
cylon13··on ‘Frenssh’ as it was ‘spak’ in medieval England
They kinda do rhyme with the right enunciation. How is that bad poetry or cheating? Language is complex and bending how you say things is part of good rhyme. I imagine historical linguists are very familiar with this and factor it into their work.
cylon13··on Debug Programs by Modifying Them
With shaders this is often the best bet. You end up encoding some value you want to measure as a color, and you can observe how it varies over what you’re drawing. There are some pretty sophisticated step debugging tools these days, but just like with print debugging, debugging by color always works on all platforms and has no special setup.
cylon13··on Human-monkey chimera embryos created in lab
> The announcement of the new chimeras will no doubt be labelled “unnatural” or “playing God” by some people – but the same could be said about many scientific breakthroughs. An iPhone is unnatural.

This is quite possibly the worst take about anything I've ever heard. Intelligent human-monkey hybrids brought in to the world for the purpose of having their organs harvested, vs lil pocket computer.

cylon13··on How Sex Surrogates Are Helping Injured Israeli Soldiers
I think the important distinction is that negative rights are defaults. You are already not being harmed unless someone harms you. Whether law enforcement exists or not, you can say someone harming you is violating your rights. With the right to healthcare, were all pre-modern humans constantly walking around having their rights violated?

Healthcare requires a whole setup, so additionally it's hard to talk about what you even have the right to, concretely. I agree it's a semantic distinction, but I think it is helpful, because it separates rights in to the kinds that are fundamentally attached to human beings and the kinds that are basically strong preferences for the existence of different institutions.

cylon13··on How Sex Surrogates Are Helping Injured Israeli Soldiers
This lays bare a fundamental issue with positive rights in general: having the right _to_ something boils down to having the right to force someone else to provide it for you. Compared to, for instance, the right to be safe from harm. Negative rights are easy to pin down, whereas positive rights, regardless of whether or not we should provide healthcare for everyone etc., are not a very solid concept and mean different things to everyone.
cylon13··on How Iraq’s crystal meth epidemic is ravaging the nation
Can you elaborate as to why you think someone should avoid going to NA or AA because it's not "evidence"-based? It's essentially just a community where people share stories and support each other, not some religious cult.
cylon13··on Renaming Coq
We're not talking about all women or my opinion of women, we're talking about actual women that actually complained about harassment and discomfort, which is the reason stated for the change in the linked article. Besides, it's not "infantilizing" to acknowledge the situation might feel different as a woman in a male-dominated group. You seem to think they should just tough it out because most men wouldn't have a problem with the "reverse" situation, which is a pretty rough take. Men and women's experiences with the opposite gender are not interchangeable.
cylon13··on Renaming Coq
Imagine being a woman and having to tell people you’re working with cock. It’s funny for guys but it’s not the greatest for gender diversity. They mention in the linked post that this is one of the main driving reasons, not a vague lack of humor.
cylon13··on Scop – a 3D model viewer written in C++20 and Vulkan
It’s so convenient!
cylon13··on ShellCheck: A static analysis tool for shell scripts
I find it helps if you have a hard rewrite rule. I really love the convenience of shell scripts for small scripts, but as soon as I have one that crosses 100 lines I rewrite it in python. The python version is a bit less convenient for spawning processes and piping them together, but it's so much more maintainable that you can scale it up to quite a bit larger without as much worry. 100 lines is a nice size where it doesn't take very long to rewrite, so even though I figure I could get away with a longer shell script without it getting too bad, I'm definitely not going to want to rewrite it once it gets big enough to be a problem.
cylon13··on How C++ Resolves a Function Call
They will react that way when they stop being newbies.
cylon13··on Drug decriminalization in Oregon begins today
Why should we force drug trafficking in to the underground, creating a black market and all the murder that comes with enforcing contracts within it, when people are just going to buy and consume drugs anyway? Because drugs are bad for you? The trade-off doesn't seem worth it.
cylon13··on Why it’s usually crazier than you expect
It's a pretty varied group defined around a negative. That's like asking whether atheists believe a specific positive statement about the world. That said, to try to answer your question, my guess is left anarchists would say "absolutely not, capitalism is full of unjust hierarchy and the profit motive is bad news altogether", and right anarchists would say, "there's no such thing as the collective interest, but nobody gets to violate the individual rights of anyone else for whatever motive".
cylon13··on Universal Basic Income Is Superior to a $15 Minimum Wage (2019)
Imagine a graph where the x-axis is how much you make at your job, and the y-axis is how much spending money ends up in your bank account after the government gets involved by either giving you welfare money or taxing you. So without the government you just have y = x. At zero income you have zero money, which is not ideal, so we'll try to come up with a system to give the destitute money so they don't die of starvation.

As a first crack at it, let's just give everyone who makes less than say $10k per year a bundle of aid that amounts to the fixed value of $1000 per month. This perhaps an improvement because we aren't ignoring the needs of the poor, but it creates a problem, which is what a welfare trap is. Imagine the graph for this situation. If you're making over $10k per year it's y = x, but if you're making less it's y = x + ($1000/month). So at x = ($1000/month) there's a sharp drop in take-home money. So people who would perhaps like to make a little more money are disincetivized from doing so because they would stop taking home that $1k per month and be exchanging it for a much smaller raise.

The negative income tax proposal attempts to solve this first by just providing cash to poor people instead of various goods that are hard to measure, and then by ensuring that the curve we're talking about never has a negative slope or drop. For instance imagine if you make zero dollars, you're given $1000/month, but then for every additional dollar you make independently, you receive 25 cents less aid. You'll always want to make more independently in this situation even if you don't keep it all.

cylon13··on Universal Basic Income Is Superior to a $15 Minimum Wage (2019)
You're always incentivized to make marginally more money with the negative income tax because it gives you a monotonically increasing effective income vs job income curve, whereas some welfare systems end up with disincentives at various points of income where you'd make overall less by exiting the income level where you're receiving the aid (the same curve gets a negative slope or a downward jump).
cylon13··on New Transistor Structures At 3nm/2nm
> We have captured the lightning in a rock and taught it to think.
cylon13··on Pure Digital CSS, Swiss Made, Clock – No JavaScript, almost no HTML
Just to explain the downvotes a bit, in case you're unaware, it's kind of a social faux-pas to say "I acknowledge that this is a joke" and then poison the mood with a semi-related tangent rant about something you find annoying or bad or repulsive.
← PreviousPage 3 of 6Next →