zvrba

Joined 16 years ago

Karma
1,937
Submissions
918
Member since
Jul 11
Computer programmer also interested in martial arts. You can learn more about me on my website: http://zvrba.net
View on Hacker News

Recent submissions

Comment · 15 days ago
My objection to the Trolley problem is that it assumes that people are interchangeable like ants and that the only thing that matters is "lifes saved".

Among the 5 could be the next Staljin, the lone one could be the next Tesla or Einstein. Or to make it nearer real-life: among the 5 you could have a a future school-shooter, and the lone one could be a physician or a charity worker providing care for homeless people.

So in this improbable situation, I'd most probably decide that I won't play "god" (in quotes, as I'm not religious), that the setup is as it is for some unknown $reason (it could _also_ be an unusual method of capital punishment where all 6 get executed eventually) and would not touch anything. (After all, people don't tie themselves to train tracks only to remotely activate a trolley that'll kill them. So there's a another party in the play here.)

Inaction has also the advantage of plausible deniability if I were afterwards asked about why I had made the choice. I could just plausibly say that I froze when faced with an impossible choice. Freezing is indistinguishable from conscious choice to do nothing. (Imagine that you admit conscious choice -- WHATEVER you choose -- and have to later explain yourself to the deceased one's family(ies).)

Comment · 2 months ago
Tried to read it, gave up.
Comment · 3 months ago
> Isn't plain JSON even worse? At least the design you're criticising has a dynamic schema definition separate from code.

The point is that "dynamism" isn't needed in this case. It's used to define fixed parameter sets for different components, so those components could just as well define a class and use json to (de)serialize it.

IOW: Defining new fields, classes and values is worthless unless the underlying component can interpret them. So code changes are needed anyway, and then class is way better and safer to use.

Comment · 3 months ago
I've seen a set of SQL tables designed to mimic "flexible classes". There's a table for the "class", another table defining its "fields", and two other tables defining class instances and related field values (all as varchar).

Flexible, yes. You can store anything. The downside is, that I've also found "anything". Stuff attached to the wrong "class", wrong datatypes, missing "obligatory" fields, etc, etc.

It's a PITA to work with. If I could design it from scratch, it'd be a single table with JSON payload.

Comment · 8 months ago
I usually don't watch videos, but this one captured my attention.
Comment · 10 months ago
Similar story here. C64 was amazing, even to load a game, you had to learn some commands. (Unless the game was in a cartridge.)

Then I got a PC, and learned structured programming with Borland Pascal and later Turbo C. These were great IDEs for the time.

Comment · 10 months ago
What'd I tell to Bjarne:

- In the future, you'll carry in your pocket a computer more powerful than the sum of all computers currently present at the university

- The unchecked flat memory model of C will cause numerous security issues with sometimes grave consequences in the "real world"

- Follow the design of Standard ML (SML) and adapt it to systems programming (yeah, it appeared in 1983, but surely papers have been published before that)

- Do not even think about using unsigned types for sizes and get rid of implicit numeric conversions: if (v.size() - 1 < 0) fails on empty vector in today's C++

- Deterministic resource management is still important and is _the_ feature that C++ gets praised for.

- Lack of standard ABI will cause a lot of headaches and lost time.

- I would tell him about LLVM IR, .NET assemblies, metadata and encourage him to first standardize an intermediate format which the compiler could read and write. That'd ensure seamless interoperability between compilers and even other languages.

- Related to the above point: the header/source split will become a burden.

Comment · 11 months ago
Because with POST you have a RPC (remote procedure call) with arbitrary semantics and HTTPS is just a convenient transport.

That's also why I only use a couple of status codes: Ok, Created, NoContent, BadRequest, Forbidden, Unauthorized an InternalServerError (the latter two generated automatically by the framework).

GET, PUT, DELTE, etc. seem to be tailored towards entities, but as soon as the endpoint is not an "entity", the semantics get vague and break down.

Comment · 1 year ago
It just works without any tweaks. Also, Visual Studio, One Drive, One Note, (office apps in general).
Comment · 1 year ago
Oil and gas extraction is "invisible", platforms far, far away on the sea. Nothing to complain about. :)
Comment · 1 year ago
By "nature" i mean e.g., mountains. Not necessarily managed park. IIRC, the people have also protested against high-voltage lines because... dunno, they "ruin the view" across the fjord I guess.

> reindeer herding areas

There was recently a case in the highest court, Sami people vs state where they wanted newly built wind park in Finnmark to be torn down because... reindeer, native land and rights. They (Sami) won. Funnily, some researchers have shown that reindeer got used to the windmills quickly with seemingly no adverse effects. (Truth to be told, Sami are also internally divided on many issues. There's also a bitter (relatively recent) history between Sami and the state where the state had suppressed Sami culture over decades.)

After the verdict, some lower-ranked politicians said that Finnmark is about to become a museum, no development will now be possible there. I jokingly once thought: give the whole area to Russia so Sami can demonstrate in front of Kremlj.

I don't think the windmills will get torn down, and what happens next, I have no idea.

(For reference: the area is about 48000 km2 and population is around 75000 people. Which gives about 1.5 person per square kilometer.)

> eradication of native species like wolves

Not eradication but controlled number reduction. I'm personally opposed to it, but farmers somehow have a strong-hold on the government there. ATTACKS ON THE LIVE-STOCK! I don't know how much financial damage they suffer yearly, but that's the official explanation.

Comment · 1 year ago
Nuclear has the highest energy density (kWh produced per km2). "Renewables" need much larger areas to produce equivalent power. This means that habitats for many species are negatively affected or destroyed.

This is an ongoing debate in Norway where local people are strongly against wind turbines because they want to preserve the nature as it is.

EDIT: Relevant poster in the picture. I once was approached by Greenpeace activist on the street who was collecting money. While I would gladly donate to WWF, I said sharp "NO" to him and explained that it was because Greenpeace opposes nuclear.

Comment · 1 year ago
> Allows me to move directories around, without having to depend on an IDE to keep namespaces in sync.

So... without and IDE, you'd move code around, let the NS be changed due to being placed in a different directory structure, and then fix namespaces on use-sites manually?

> I want all of C#, with terseness and not forcing OOP.

C# does not force OOP on you. You can have a single namespace, single static partial class and spread its members across as many files as you want. So the "ceremony" consists of the following snippet _per file_

    namespace NS;
    static partial class C {
        // Your methods here
    }
Comment · 1 year ago
C# allows file-level namespaces so you can write

    namespace Math;

    static class Adder {
      public static int Add(...) { ... }
    }

(one nesting level less). Next, elsewhere you can write

    namespace Whatever;
    using static Math.Adder;

    class CC {
      void M() {
        var z = Add(10, 20); // no NS qualification needed due to using static above
      }
    }

Java enforces directory structure to reflect package names, and this feature is not universally popular.
Comment · 1 year ago
> Pushing these into an IDE is the Windows way of doing things.

s/Windows/modern/

> To win in Unix land, C# needs to be editable in a plain text editor.

I guess hard-core unix users still use sticks and stones to make fire.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton