HNHacker News
TopNewBestAskShowJobs

arinlen

1,670 karma · joined April 20, 2022

submissionscomments
arinlen··on Facts about State Machines
> State machines are a brilliant tool, and turn up more often than you expect once you have the background and experience to see them.

"A Computer is a state machine. Threads are for people who can't program state machines." - Alan Cox

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> That's the same trick used on the great replacement.

Are you also in the business of pushing far-right conspiracy theories?

https://en.wikipedia.org/wiki/Great_Replacement

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> There's a reason that she talks in vague terms (...)

She did not. You're trying to pass off a conspiracy theory by omitting context and taking quotes out of context, including erasing parts of the quote.

If you're still confused just go learn about Victor Orban and Hungary's recent regression into an totalitarian dictatorship that's profoundly illiberal and outright a sock puppet of external actors such as Putin's Russian federation. Go learn about it's destruction of Hungary's independent judiciary and attacks on fundamental human rights, which go against fundamental principles of the European Union, and learn about how the EU has been reacting to this sort of illiberal drift.

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> A corrupt liberal democratic organisation (...)

The European Union is a federation of liberal democracies. It's not a Bond-like villain organization.

The bulk of EU's member states value human rights, including women's rights and individual rights and freedom.

You're putting up absurd strawmen to try to rationalize nonsense.

arinlen··on Facts about State Machines
> Now when documentating a state machine enough to actually draw out the graph, I always include a matrix representation as well for that reason.

Incidence matrices[1] might be an effective way to represent graphs, but the sparse nature of state machines combined with large numbers of input events and states end up making it hard to represent non-trivial state machines.

Also, state machines are often organized into sub-state machines, which are not adequately represented with incidence matrices.

[1] https://en.m.wikipedia.org/wiki/Incidence_matrix

arinlen··on Golang – Pull all the structs out???
> This is usually solved with more packages of more focused independent functionality rather than less packages of less functionality.

Also, dependency injection. It's possible to get rid of all dependencies if your code just refers to abstract interfaces and delegates the responsibility to provide concrete implementations to downstream dependencies.

arinlen··on Ask HN: Is Web 2.0 just ads?
> Ads were a big part of Web 1.0 as well.

...and publishing, and TV, and radio...

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
Here's the quote from the article.

> My approach is that whatever democratic government is willing to work with us, we're working together," von der Leyen said at Princeton University in the United States on Thursday, responding to a question on whether there were any concerns with regard to the upcoming elections in Italy.

> "If things go in a difficult direction, I've spoken about Hungary and Poland, we have tools," she added.

So a liberal democratic organization is prepared to protect itself from sabotage from fascist organizations that are actively manipulated by external actors to undermine them. That's your threat.

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> It was later admitted by the Times that it was real.

No, not really. That opinion piece just refers to "Hunter Biden's business dealings", which is quite the strawman when compared to the original baseless accusations and conspiracy theories fabricated around hypothetical emails.

The bullshit propaganda fabricated around the laptop's conspiracy theory has bee extensively debunked and widely reported as being nothing more than propaganda.

https://en.wikipedia.org/wiki/Hunter_Biden_laptop_controvers...

arinlen··on Why “go nuts, show nuts” doesn’t work in 2022
> if you enforce another country's laws on our citizens then you're also in violation of our local laws and will be fined

This makes no sense at all. Unless you're violating your own laws, which is not what you're arguing, then you're just complying with your own jurisdiction. Yo can't possibly be advocating punishing anyone for not violating laws in multiple jurisdictions.

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> “If things go in a difficult direction — and I’ve spoken about Hungary and Poland — we have the tools.”

Please explain what led you to interpret this as a threat of any form. The Orban reference was pretty clear.

From the article:

> "This is a clear reference to the ability of the European Commission to cut funds allocated to member countries when they are deemed to be violating the rule of law."

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> Facebook and Twitter outright admitted to blocking content related to Hunter Biden's laptop before the election 2020. They claimed it was for privacy concerns. And then after the election, there was no worry so that rule went away.

Isn't that "story" pure bullshit propaganda fabricated in a desperate attempt to manipulate elections?

arinlen··on Twitter Appears to Shadowban Videos of Italy’s First Female Incoming PM Meloni
> +1 I was also shocked to hear in a news conference the EU president Ursula von der Leyen threaten the Italian voters right before the election.

This is the very first time I've heard such a thing. Do you have a source showcasing what you claim to be threats?

arinlen··on Why “go nuts, show nuts” doesn’t work in 2022
> Im wondering when will countries start preventing US tech platforms from enforcing US laws and US morals on the people of those countries.

This makes zero sense. How do you force anyone to not follow a law? Do you, say, force anyone to post nude pics just because a jurisdiction does not allow anyone to post them? How would that even work?

arinlen··on Why “go nuts, show nuts” doesn’t work in 2022
> The whole point was to be decentralized, and now we have Visa, Mastercard, Apple, Google, Amazon and Cloudflare deciding what we are and are not allowed to see, read and buy.

5 out of the 6 companies you mentioned are only involved in how you consume goods and services.

Not being able to buy something is not the same as the web not being centralized.

Also, the reference point you're using as a paragon for decentralized web is also a point in time when people were not able to buy goods and services from any of these companies.

Consumerism and free speech are not the same thing.

arinlen··on Is it time to retire C and C++ for Rust in new programs?
I'd also mention that C and C++ is valued by those who want stable and reliable software stacks, which you can expect to build out of the box in 3 to 5 years.
arinlen··on We reduced our server costs by moving away from AWS
> Sysadmins automate their work.

So do janitors. What's your point?

> Operations Engineer is just another title for sysadmin.

It really isn't. That makes as much sense as claiming that DevOps is just a sysadmin that's also a developer.

arinlen··on Qt 6.4
> Seriously! That licensing is a feature for the public, not a bug. Make your project open source.

It's ok for activists to feel that free software is the solution to every problem in the world, but back in the real world there are projects for which open source is not an option and parroting activist mantras is not helpful.

arinlen··on Qt 6.4
> But those projects should have the budget for a real license, so that's not a real issue.

You're missing the whole point.

It's irrelevant whether projects should have a budget or not.

The whole point is that there are plenty of alternatives that do not require thousands of dollars per year*developer, nor do require lawyers to audit releases.

arinlen··on Qt 6.4
> They work really hard to hide this, but they do have a LGPL license that applies to most of the framework (...)

No, LGPL also excludes projects from most commercial software.

Also, keep in mind that this is not a choice between Qt with a paid license or Qt with LGPL. It's a choice between Qt and any other framework, and licensing alone makes Qt a very poor choice.

arinlen··on Qt 6.4
> I got laughed at and waved off when asking for the budget needed to buy/licence QT stuff.

This.

Regardless of Qt's technical merit, it's licensing automatically takes it out of the table of most of all potential projects.

https://www.qt.io/pricing

arinlen··on We reduced our server costs by moving away from AWS
> (...) an Operations Engineer (...)

An operations engineer and a sysadmin are two entirely different roles.

A system administrator administers systems while an operations engineer dedicated their time writing code to automate processes.

arinlen··on C++20, How Hard Could It Be
> 1. There's still a lot of complexity and ambiguity you can fit in 460 pages.

That's a meaningless assertion and reads like a non-sequitur.

Your thesis is that modern C++ somehow became complex. Yet, the truth of the matter is that modern C++ is mostly comprised of formerly third-party libraries, initially released as part of the likes of Boost, that were since then added to the standard. The core language did received much needed improvements throughout the years, such as aggregate initialization with designated initializers, but the total sum of these changes barely grew the standard in around 5% of it's initial size.

Unless you come up with clear examples that you feel support your thesis, you'll have to scratch out your complains as irrational dislikes.

arinlen··on C++20, How Hard Could It Be
> Couldn't you still use move semantics without std::move?

That's correct, std::move is just syntactic sugar to cast objects to revalue references, i.e., the sort of object that is expected to be moved around.

arinlen··on Something I implemented today: “is void”
> Not GP, but what bothers me is that this attitude does not take into account what most cpp programmers actually end up doing: Unless there's somebody at the top of the organization that can set the "right" rules at the start of the project, a novice won't know to use the "right" feature.

Unless we're discussing single-developer projects, you'd be hard-pressed to find a single project that does not employ any sort of code reviews,where more seasoned developers have a say in each and every change that's proposed.

If a project is manned by inexperienced novices, the language is not to blame for the developer's regrettable choices.

> The result: a codebase with every possible way of doing a thing, which is strictly worse than one where only one way is used, even if it's not the prettiest.

This is outright incompetence, as it violates basic software engineering principles like the principle of least surprise.

If a project repeatedly surprised developers with multiple fancy ways of doing the same thing and developers don't put time aside to fix that, the tech stack in use is not a factor in this problem.

arinlen··on Something I implemented today: “is void”
> In school I learned about inheritance, not composition.

And that's perfectly fine, provided that students learn that trying to do downcasts like casting an animal instance to a dog instance is something that in general never made any sense, and more often than not reflects ignorance.

> This way of doing things necessitates downcasting;

Not true. That way of doing things necessitates ignorance of basic concepts across many domains, including basic OO programming in general and C++ in particular. You can't blame the tool of your choice for problems you create out of ignorance and failing to think things through.

arinlen··on Something I implemented today: “is void”
> Sorry that comment went nowhere, I'm massively frustrated with C++, its direction, and I can't wait to leave it behind for good.

I fail to see how a "direction" of a language like C++ is of any concern to professional C++ developers. Most of C++ projects are stuck in C++14 or C++11. Projects are only migrated to newer C++ standards if there are very compelling reasons to do so. If a newer standard offers no value, projects simply don't migrated.

Lastly, why do people feel that perpetuating the C++ label is important? Those who pick the right tool for the job don't play favorites.

arinlen··on Something I implemented today: “is void”
> In general, you should know what objects you are sending and receiving, and it shouldn’t be a mystery that requires reinterpreting

You should know what's the interface that you're sending/receiving, but if you're planning on making downcasts then either you're doing something very exotic or you should take a step back and reevaluate what you're doing.

I'm seeing a lot of people in this thread complaining about features being added to C++ that improve developer experience, but barely anyone complaining that shooting yourself in the foot requires making intentional choices to get your feet in front of your guns.

arinlen··on Something I implemented today: “is void”
> No, unfortunately, it further complicates C++, because the original ways of expressing the same thing will not be removed.

This is a very unwise and shortsighted take. Not deprecating features right away means everyone's life is made easier as you can upgrade manage full/partial project upgrades to newer C++ standards without having to resort to tickets blocking your critical path with all-or-nothing upgrades.

And this does not stop at your projects. Dependencies are also covered. Do you believe it's in your best interests that you lose your ability to up point releases to your

Lastly, why does it bother you that backwards compatibility is a Hallmark of C++, and deprecation is a multi-standard process? You're free to stick to a subset if that's what you want. What's the point of getting all bothered with being able to continue using features without seeing them break under your nose for no reason other than a version bump?

arinlen··on LeanQt – a stripped-down Qt version easy to build from source and to inte (cont)
> I mean, threads, IO abstraction, collections... i have always wondered why Qt has a tendency of re-inventing everything.

Qt is a very well known cross-platform application development framework.

Qt does not reinvent everything, it just provides basic cross-platform modules, much like Java, and modules that leverage Qt's basic features such as their signals-slots, event loop, multithreading support, etc.

← PreviousPage 2 of 22Next →