HNHacker News
TopNewBestAskShowJobs

JonathanBeuys

757 karma · joined May 31, 2020

submissionscomments
JonathanBeuys··on Choose the browser that best suits your privacy needs
You can easily try jourself. 1) Have Firefox open 2) Start a root terminal (or a normal one and then "sudo su" 3) sudo -u normaluser firefox --new-window example.com

It will refuse to start.

JonathanBeuys··on Choose the browser that best suits your privacy needs
I wrote a command line tool which tells me "Now look at the following page" and opens it a browser window with the url.

Works with Chrome, but not with Firefox.

JonathanBeuys··on Choose the browser that best suits your privacy needs
You can easily try jourself. 1) Have Firefox open 2) Start a root terminal (or a normal one and then "sudo su" 3) su normaluser firefox

It will refuse to start.

JonathanBeuys··on Choose the browser that best suits your privacy needs
I don't have (nor want) multiple users.

I just want to open a new window for my one user.

JonathanBeuys··on Choose the browser that best suits your privacy needs
My problem with Firefox is that a new Firefox windows can only be launched from the same environment (or only from a child process?) from which the first window has been started. Even the same user who started FF cannot launch a new window from a new shell. That constantly interferes with my workflow.

Example: Say firefox has been started from the Destop already and now I want to start a new Firefox window from a root terminal:

    su desktopuser firefox
It does not work. It gives me "Firefox is already running, but is not responding.".
JonathanBeuys··on Bitcoin Tops $37K for First Time Since May 2022
What type of not "legit" trading do you suspect?

Coinbase has 100M customers and less than $1B daily trading volume. $10 per customer per day does not seem unusual. It is an average of less than $4000 per year.

JonathanBeuys··on Bitcoin Tops $37K for First Time Since May 2022
Today I stumbled across this nice chart, which shows how small Bitcoin still is, compared to traditional assets:

https://twitter.com/JonathanBeuys/status/1722637010718822902

JonathanBeuys··on Using extra Firefox profiles to make my life better
Is it possible to restrict one profile to one website?

So I could have a "Hacker News browser", a "Github browser" etc and I can't accidentally go elsewhere with those?

JonathanBeuys··on Does Go Have Subtyping?
So what is an example of a self-founded project that used types and is a business success now?
JonathanBeuys··on Does Go Have Subtyping?
That is not a business though, is it?

So there was no risk involved like "Will I tank my future if this fails?".

What I witnessed is that makers who are willing to bet on something with real consequences dislike types as they slow down the progress and therefore the chances of success.

JonathanBeuys··on Does Go Have Subtyping?
And did you build a successful software product on your own time, risking your own money?
JonathanBeuys··on Does Go Have Subtyping?
It is amazing what length people are willing to go in the hope of "safety".

Is there anybody out there who successfully build their own product, not via VC or other investments, but on their own time and own money who likes types?

To me it seems that types are something consultants and people who get paid for their time instead of their productivity like. Because it makes things more complex. So to achieve the same task, you can bill more time.

I have not seen anybody successfully build something on their own time, money, risk who like types. If there is someone here, I would love to see it!

On the other hand, I have seen many examples of lean code like the following turning into successful life style businesses and companies:

https://gist.github.com/nikcub/3833406

JonathanBeuys··on Ask HN: What outdated tech are you still using and are perfectly happy with?
It broke calling static functions without the need to declare them as static.

It broke adding properties dynamicly to objects.

It broke easy string handling for many functions where null was rendered as an empty string. This is especially annoying as you often get null values from the database. It makes sense to have a null value for "Don't know the color of the car" in the DB. And it makes sense to render it as "Color: " in the user interface. The easy string conversion always was one of the strengths of PHP.

It feels like Java all over again.

JonathanBeuys··on Ask HN: What outdated tech are you still using and are perfectly happy with?
PHP 7.

PHP 8 introduced too many breaking changes. Many of them making the language worse.

At our company, we ported all public facing projects to PHP 8 over the last 4 months. A pain in the ass.

All internal projects will stay on PHP 7, running in Docker containers, and will be ported to Python in the coming months.

Python is hopefully less likely to come with breaking changes in the future.

JonathanBeuys··on UI frameworks are stuck in the last decade
The open web is enormous. Billions of pages.

If in this gigantic sample of websites, not a single one benefits from the techniques which people here describe as essential to build complex UIs - that would tell us that this is either false or that there are not complex UIs on the open web. The latter being unlikely, given the size and variety of sites out there.

JonathanBeuys··on UI frameworks are stuck in the last decade
Notion is behind a login.

So not easy for everybody here to look at and discuss.

If there is not a single public website out there which benefits from frontend frameworks with data-biding components, that probably tells us something.

JonathanBeuys··on Binance is under threat
The market does not agree:

https://www.google.com/finance/quote/BNB-USD?window=MAX

JonathanBeuys··on UI frameworks are stuck in the last decade
Can you give an example of a "sufficiently complex frontend" which is not behind a login wall, so we can actually all look at and discuss it?
JonathanBeuys··on UI frameworks are stuck in the last decade
Can you show the code of the "Favorites section"? Because to me it does not sound like it is as simple to update as "Just put a reference in the template". Because what is in the users favorites is probably defined in some other data structure.

Which is what I witness in real life: In theory it sounds cool to just use data in the template and everything gets updated automatically. But in reality it is a mess with a million edge cases. Worse then just calling a list of update functions when the title changes.

JonathanBeuys··on UI frameworks are stuck in the last decade
To me, all of the code examples in this article look terrible.

Is there any public website out there (not behind a login) which actually benefits from using these types of components with "magic data binding"?

Every time I see examples, I say "Hey, I could build that in a more readable and more performant way just using plain JS or using a template library like Handlebars".

And the answer I get is "Yes, but not for big enterprise SPAs." And I ask: Ok, where are those? And the answer is "Uuh, well, somewhere behind logins there are some, trust me!".

I tend to not believe it.

When I write real world code, I do not change some data value and expect all kinds of components in the interface to change magically. Instead, I write an event handler, which changes some data and then calls the parts of the UI that need an update. Like when a user changes a slider to change the x-axis range of a chart, then I set the data, call the update function of the chart and that's it. No need for components with data-to-ui-bindings.

JonathanBeuys··on An Internet of PHP
Where do you see ongoing success? That people still maintain old PHP projects? That is what I said - maintaining old code is done by people who are paid for it and like rigid structures.

But people who build the future rarely use PHP now. Look at jobs at YC startups:

https://www.ycombinator.com/jobs

It is rare to see PHP mentione anywhere. It's mostly Python and JavaScript now.

Look at how lean Python's syntax is compared to PHP's new obsession with "public static function {}" insida a \namespace\which\is\not\needed\when\you\have\a\module\system tagged as "#[AllowDynamicProperties]". None of that is needed in Python:

https://www.online-python.com/Da8nQUlAEp

And look at how backward compatible JavaScript is. You still can run code from 20 years ago just fine.

The fractal of bad design post resonated with people who are paid to code. Who have to adhere to "best practices" and who don't mind spending time on bureaucracy. All makers I know just shrugged it off with "None of that get's in my way".

JonathanBeuys··on An Internet of PHP
I think you missed my main point: That people are different.

I have not doubted that there are people who like the more rigid structure which the current maintainers push for. I actually mentioned that.

But the success of PHP comes from the people who like PHP the way it was. Empowering them to write their own web projects with the least amount of code and bloat.

JonathanBeuys··on An Internet of PHP
I expect Python to be more stable over the coming decades than PHP.

PHP had a lot of breaking changes in the last version. Changes which got pushed through despite being quite controversial. I fear that this trend will continue.

Python had breaking changes in version 3, but at least those made the language better. PHP's recent changes were unnecessary and counterproductive.

JonathanBeuys··on An Internet of PHP
Unfortunately, the current maintainers of PHP have not learned from the success of it. And are driving PHP into the direction of having the rigid structure that Java has.

It is so successful because people who build new things are different from people who are paid to maintain old things. That is why WordPress, Wikipedia and countless other successful internet projects have been created using PHP and not using Java.

People who build new things like simplicity and elegance and tools that empower them. While people who are paid to maintain old things like a rigid structre which gives you the feeling of "nothing can go wrong".

Also, people who build and run things do not like breaking changes of their stack. While people who are paid to maintain old things don't care about breaking changes in their stack. Because they are paid to then work around those changes.

In the last version (8), PHP has introduced a ton of breaking changes which makes the language more rigid. And therefore less useful to build new things and more cumbersome to maintain:

It broke the order of parameters in join statements.

It broke calling static functions without the need to declare them as static.

It broke adding properties dynamicly to objects.

It broke easy string handling for many functions where null was rendered as an empty string. This is especially annoying as you often get null values from the database. It makes sens to have a value for "Don't know the color of the car" in the DB. And it makes sense to render it as "Color: " in the user interface. The easy string conversion always was one of the strengths of PHP. Why is it sabotaged now?

Some of these changes have been objected to by the original developer of PHP and long standing contributors like the author of xdebeug, PHP's most popular debugger. Yet they have been implemented.

The big danger is that this trend continues and existing PHP projects will be choked to death by more and more breaking changes. Changes which have to be worked around by making the code of the projects more and more bloated.

JonathanBeuys··on PHP-Tokio – Use any async Rust library from PHP
You can't let web software sit on a stack that does not get security updates.

The last release of PHP 5 was less than 5 years ago.

Javascript from 20 years ago still works fine. That's the way it should be.

JonathanBeuys··on PHP-Tokio – Use any async Rust library from PHP
PHP really took the wrong turn with PHP 8.

It introduced such drastic breaking changes, that probably a lot of systems which were previously perfectly serving their users will be abandoned. Projects that could have stayed on the internet and served their users just fine.

It broke the order of parameters in join statements.

It broke calling static functions without the need to declare them as static.

It broke adding properties dynamicly to objects.

It broke easy string handling for many functions where Null was rendered as an empty string.

And these changes make PHP code more bloated. There is now no way around adding more declarations to your codebase than before.

Some of these breakages had 30% votes against them, including the original author of PHP:

https://wiki.php.net/rfc/deprecate_dynamic_properties

The bar for breaking changes should be much higher.

Python's update from version 2 to version 3 caused a lot of pain. But at least it made the code leaner. Allowing users to go from "a=float(b)/c" to "a=b/c" is a good thing. Forcing users to go from "function f()" to "static function f()" is a bad thing.

JonathanBeuys··on Why do people seem to prefer Chrome's devtools over Firefox's?
I don't have (nor want) another profile.

I just want Firefox to launch a new window. No matter if there already are Firefox windows active or not.

Chromium has no problem doing so. So that is the reason I use Chromium and not Firefox.

JonathanBeuys··on Why do people seem to prefer Chrome's devtools over Firefox's?
Both don't work. Why don't you try before you post?
JonathanBeuys··on Why do people seem to prefer Chrome's devtools over Firefox's?
--no-remote seems to have no effect

-P asks me to select a profile. That's not what I want. I simply want a new Firefox window.

JonathanBeuys··on Why do people seem to prefer Chrome's devtools over Firefox's?
No, that does not work from a different environment.

You probably inherited the environment from the process that started FF.

How did you try to do it from a new environment?

← PreviousPage 2 of 10Next →