It will refuse to start.
757 karma · joined May 31, 2020
It will refuse to start.
Works with Chrome, but not with Firefox.
It will refuse to start.
I just want to open a new window for my one user.
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.".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.
https://twitter.com/JonathanBeuys/status/1722637010718822902
So I could have a "Hacker News browser", a "Github browser" etc and I can't accidentally go elsewhere with those?
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.
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:
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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.
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.
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.
-P asks me to select a profile. That's not what I want. I simply want a new Firefox window.
You probably inherited the environment from the process that started FF.
How did you try to do it from a new environment?