HN user

bmn__

2,203 karma
Posts26
Comments1,405
View on HN
www.youtube.com 2mo ago

A.I. Learns to Optimize Factorio Blueprints [video]

bmn__
1pts0
perl.petamem.com 4mo ago

Parallel Perl – Autoparallelizing interpreter with JIT

bmn__
143pts44
www.youtube.com 8mo ago

The First Video Game [video]

bmn__
1pts0
www.youtube.com 9mo ago

I am no longer at sentry [video]

bmn__
1pts0
valerieaurora.org 10mo ago

Lifetimes of Cryptographic Hash Functions

bmn__
1pts0
kyrall.com 11mo ago

Kyrall – Automating design for the physical world

bmn__
1pts0
www.youtube.com 1y ago

Linux distro for high-end/feature-rich network routers [video]

bmn__
2pts0
www.youtube.com 2y ago

The Once and Future Perl – Damian Conway – TPRC 2024 [video]

bmn__
2pts0
www.youtube.com 3y ago

I added portals into Quake [video]

bmn__
10pts0
en.wikipedia.org 3y ago

RFC: Should Wikipedia return to Vector 2010 as the default skin?

bmn__
5pts3
ovid.github.io 4y ago

Common Problems in Object-Oriented Code

bmn__
1pts0
bugzilla.mozilla.org 4y ago

Widget.non-native-theme.enabled config option not working as expected

bmn__
1pts0
ovid.github.io 4y ago

Why Is Object-Oriented Programming Bad?

bmn__
2pts0
www.youtube.com 4y ago

Factorio: Hi, I'm Josef (Self-Expanding Factory Showcase)

bmn__
2pts0
www.taxmenow.eu 4y ago

Taxmenow – millionaires demand higher taxation of multi-million wealth

bmn__
2pts0
www.youtube.com 5y ago

Lawsuit against Apple on digital ownership

bmn__
1pts0
www.youtube.com 5y ago

I Designed a Free Music Font for 5M Musicians (MuseScore 3.6)

bmn__
3pts0
github.com 5y ago

List of Color Quantization Algorithms

bmn__
1pts1
perl.topicbox.com 5y ago

The Future of Perl

bmn__
140pts203
sail.so 5y ago

Sail

bmn__
1pts1
www.youtube.com 5y ago

The Software of My Dreams

bmn__
2pts1
www.youtube.com 6y ago

A petition to end CompTIA anti repair lobbying

bmn__
3pts0
github.com 7y ago

Raku Perl 6 'Diwali' 6.d Language Specification Release

bmn__
5pts3
pause.perl.org 8y ago

PAUSE Privacy Policy

bmn__
2pts0
dl.acm.org 8y ago

Reflections on the REST Architectural Style and “Principled Design of the Moder…

bmn__
1pts0
mi.cro.services 8y ago

Cro – elegant reactive services in Perl 6

bmn__
4pts1

Look at the installation instructions. <https://docs.joinpeertube.org/install/any-os> They are very onerous. Yes, I've seen worse, but the ratio between manual labour in service of non-essential complexity and the provided value is still quite bad.

Peertube covers the enterprise use case, but makes unreasonable demands from hobbyists, single users, tinkerers. Kids, gather around and learn from the Peertube design mistakes that an experienced and well-meaning software designer would refuse to subject his users/operators to. Why is this important? Because the number of hobbyist operators is much greater than the number of enterprise operators, given the intended target audience of people who are interested in decentralisation and federation. Peertube engineers and product managers should sit down with the intention to make a smart market move, and expend the next half month of effort to optimise for the majority of operators who make up the long tail, not the minority, so that hurdles to entry are demolished and the stated goal shown on the homepage of "community-owned" becomes attainable for many more people than is the case right now. The resulting network effect would be tremendous.

1. Packaging. Peertube is not packaged by the major players. <https://repology.org/project/peertube/versions> Real-life experience shows that this is almost always because of a circumstance which frustrates a distro packager. Other NPM-conformant libraries and software are packaged nearly automatically, there is good support in the distros to create specfile/RPM package, control file/Deb package, etc. from an Nodejs library tarball with just one command. Peertube must investigate why it is so exceptional and difficult to package and demolish the hurdles.

2. Configuration. Peertube must as the installation step make effective an usable configuration that has some sensible defaults, or perhaps auto-configure at install time or run time. A user should be able to install the software (from a distro package, or a git checkout/unpacked tarball and build step), run it, and immediately use it. It is okay when some features are not working until configured. It is not okay for a software to refuse to work altogether until each and every operator spends time and brain power to figure out what are essential configuration options and what are not, and make decisions about them. The reason why I say it is not okay is because this is a clear abdication of responsibility from the Peertube software devs and an externalising of mental burdens onto the many Peertube operators.

3. Database. Peertube should work with Sqlite by default. An enterprise user can configure PostgreSQL additionally when the need arises.

4. Web server. Peertube should work with the Node.js Web server (possibly express.js or a work-alike) by default. An enterprise user can configure Nginx additionally when the need arises.

5. Cache. Peertube should work with a simple file system cache or no cache at all by default. An enterprise user can configure Redis additionally when the need arises.

Not so. The consideration should include the fact that when a child has been spawn camped by school, family and society at large to implant the idea that tertiary education is required to participate in society and without a degree one amounts to nothing, as is often the case, then it indeed is a failure of systematic nature and it would be not fair to put the blame on the now young adult's shoulders alone.

> IQ is about aptitude

Meaning it can be learned. Trained. […] In fact, a college education is a great way to increase your IQ.

You make this argument on the assumption that the effect is causal. But in reality one cannot distinguish whether education raises IQ or whether people with higher IQs stay longer in college.

Why Janet? (2023) 2 months ago

Of course this grammar does not work [in PEG]

That's the critique, yes. If I put this grammar into a known good parser, it just works. I have to repeat this to hammer the point home.

A user should not have to waste time to find work-arounds for the undocumented limitations. Since there are many more limitations than just the one example I showed, you should realise that there is not much value explaining the particular limitations to me; all the limitations and the required work-around steps should rather go into the Janet documentation so that all users can see them and make use of them. But that's still a crappy developer experience, I would rather see Janet simply adopt a parser that is free of this kind of limitations.

can always be fixed by a simple local change

I sceptical of that. I claim once the grammar is of the size required to model real-world problems, say about dozens of production rules, fixes become complex, wide-scoped. In the spirit of HN curiosity, I am willing to cooperate with you by conducting an experiment that is designed to change my mind. I would show a grammar that is of the type which is in common use everywhere, and you would apply the fixes to make it work in Janet/PEG, and then we examine whether the changes are always simple and local. Are you willing?

[PEG grammar in Tree-sitter]

That reads rather bizarre to me because you describe the opposite direction. I have not had that train of thought because in all of my experience and those of the people I know it has always been the case that one receives a grammar that is of the type which is in common use everywhere. And when we try to express it in PEG, it does not work at all, no one knows what to do to make it work, experts who might help cannot be found, and the solution (after wasting a lot of time) is to either give up or try a different parser.

As an aside, I have not examined Tree-sitter yet, and its documentation does not tell me the information I need, so I cannot put it into the category of known good parsers.

Why Janet? (2023) 2 months ago

Many. I don't have enough room on HN to show a representative sample of the shortcomings. Read the relevant literature or converse with an LLM to learn more.

Typical example, ported from <https://news.ycombinator.com/item?id=16600224>:

    (pp
      (peg/match
        '(capture
          '{
            :main (* :B)
            :B (+
              (* :A "x" "y")
              :C)
            :A (+
              true
              (* "x" "z"))
            :C (+
              (* :C "w")
              "v")})
        "xzxy"))
This almost trivial grammar works without any problem in known good parsers. If you want to try out grammars in the wild in Janet, it is nearly guaranteed that they are complex enough for peg to shit itself.
Why Janet? (2023) 2 months ago

Came here for this comment. Janet would score positively in my mind if the evolutionary dead-end PEG were replaced with a grammar parser that is known to work under all circumstances.

What Is a Dickover? 2 months ago

False dichotomy, it's perfectly possible to have protection on a form without dicking over a user's basic right to privacy.

What Is a Dickover? 2 months ago

Almost! Your options are "yes" and "maybe later"...

Ah, rapist mentality. Once you see the pattern…

What Is a Dickover? 2 months ago

Because society is full of dickheads? In a just world, it would be legal for a policeman to bludgeon anyone who does not respect a user agent's <https://en.wikipedia.org/wiki/Do_Not_Track> setting. Second offence, hang them from the flagpole in front of the parliament building. The problem would disappear over night.

This answer that is both so stupendously confident and wrong is only possible if you in actuality decided to not read and understand how this problem is solved in Perl.

You seem to be under the impression that adding new syntax necessarily breaks existing code. But that just isn't true. If you can't fathom how it's done, then look at the use VERSION statement in Perl.

What sad place do you come from?

Do you have an actual argument? Shaming tactics are ineffective on HN.

Reality check: in most countries, if you made a public demand of effectively depriving the disabled of the proper care they want and deserve, they would regard you as an inhumane monster, and the education ministry would refer you to state prosecution for violating the constitution.

built for interacting with REST

I just tried it to verify that claim, but the software does not follow a hyperlink. How did you manage to screw up such a basic feature?

You were downvoted as a punishment because you made a retarded argument and HN users saw fit to not engage with words.

No billionaire is forced to break up a public company to pay taxes, the same as no average Joe is forced to sell his clothes to pay taxes. The idea in common is that if one knows that one must have cash at the end of the fiscal year, then one sets aside the money and simply avoids buying clothes or investing in assets.

I recognise it from regularly talking with fellow programmers at the local tech meet-ups. At least in my area, the work places with result-oriented policies were and still are in the clear majority, and only big companies with likewise big financial reserves could afford to pursue the economically wasteful route of process-oriented policies.

People use the extension for the same reason people use other content blockers against advertisement, notices banners, social media widgets and so on, namely not to suffer avoidable annoyances.

you would lose meaning

No meaning is lost that has not been there before.

someone else's use of language awkward

Most would judge that it's not just awkward, but grating.

I notice you did not address the central point. This is, of course, because you are unable to. You have no argument to attack the evidence I have shown, you cannot answer any of the questions I have posed, the sidetrack about the other HN user was fruitless, you rationally know you are holding on to an indefensible position. And yet… the fragile ego cannot allow admission of being wrong, or even merely entertain the thought. So "muh experience is different" emotional cope comes out instead of dealing with objective reality, like installing a Wx software or looking at a screenshot. Stop digging, man, we already feel embarrassed on your behalf.

Do you understand the difference between a toolkit API and a graphical widget?

I think I do. I have taken a few minutes on the Web to compare that what I had in mind is correct. What was the point of asking this question? Was it to trap me in a gotcha, or paint me as clueless, or what?

have called me a liar and a fraud because I repeated exactly what the project docs state

Good, you realise you are taking on the claims made by Wx on paper. However, there's more to the world. To get the full picture, you have to also engage with what I have listed. The docs say one thing, the reality shown in the screenshots say another. There is a contradiction. It remains unresolved, not for lack of trying on my part.

your two links do nothing to contradict

You are not further allowed by me to invalidate what I was writing about by simply disregarding the evidence. Engage with the points I was making. The differences in look and feel between Wx and native are plain for everyone to see and verify. So, what now? Who is right?

Did you read anything he wrote?

Yes. Examine this:

his claim> OTOH all the standard UI elements (buttons, checkboxes, text controls, date pickers, ...) are native

my counter-evidence> Well, let's verify that… https://i.imgur.com/uHfjoUs.png No, they're not.

his deflection> Sorry, I don't know what is this supposed to prove

So instead of admitting that there is a contradiction, he just pretends to not understand it.

Also examine this:

look good

look good

looks fine

look good

I never mentioned anything about looking good, this is a distraction designed to deflect from the central point I was making. As I wrote before, the central point made by me remains completely unaddressed.

Alas, I cannot deal with those crazy-making techniques, his behaviour measured by outcome is indistinguishable from the mentally ill. With the help and advice from a friend, I came to the conclusion that it was not safe for me to respond, so I then decided not to.

DeepSeek v4 3 months ago

justify the violence

"If you make reasonable discourse impossible, then unreasonable discourse becomes inevitable."

What do you stand to gain in running defence for the trans radicals on the fringe? They hold extremely unpopular views. If it comes to them being violently suppressed by the state, they will have no one from the out-group and not even the moderates from the in-group coming to aid, and will have only themselves to blame for this. If you do not see it this way, then chances are you are in an echo chamber and are prevented from perceiving reality correctly.

[Wx] uses the native toolkit no matter where you run it

This is false. https://news.ycombinator.com/item?id=24250968 https://news.ycombinator.com/item?id=24259040 It was false in 2020 and it is still false today (I just checked).

I wish the Wx proponents would stop saying these things. Who exactly are you trying to fool? Do you have no concept of reputational damage? What good comes from a claim that is so easily disproven by just installing a Wx application and looking?

Purely hypothetical, hasn't happened yet. The reason is that Linux system vendors are lead and staffed by people who are idealistic like the average Linux system customer. They know their clientele, they know it would be bad for business.

Perl nowadays have TypeScript-style type checking for function parameters.

I can't believe that.

TS code, compile time error "TS2345: Argument of type 'null' is not assignable to parameter of type 'number'."

    function foo(x: number): void {};
    foo(null);
Perl code:
    use Kavorka qw(fun);
    use Types::Standard qw(Num);
    fun foo(Num $x) {}
    foo(undef);
This code passes CHECK (perl -c), but should not if you are correct.

I invite you to prove the claim. Rewrite this with any module you like.