Bleak summary from The Guardian while you wait for the full report to come back https://www.theguardian.com/science/2021/aug/09/humans-have-...
HN user
Seldaek
meet.hn/city/47.3744489,8.5410422/Zurich
Socials: - github.com/Seldaek - x.com/seldaek
Interests: Blockchain, Climate Tech, Climbing, Open Source, Programming, Space Tech, Web Development
---
Sounds like we need to start researching the effects of eating US trash on cow methane emissions. There might be a synergy here.
But does it see a blue or a white dress?
If you are talking about such long time frames, then indeed archiving a project with its vendor directory might be a good idea once you decide to relegate it to the freezer.
Updating single packages is very much possible, see https://getcomposer.org/doc/03-cli.md#update - as for semver promises, that's really up to you and which packages you decide to trust, nothing the tool can do about it.
IMO for the first point you should rather use ^x.y with the minimum version you require and then accept new releases as they come. If you do regular updates you should notice quickly when something break and be able to revert that update easily. If you update 20 packages at once it becomes harder to pinpoint where a regression occurred.
As for including the vendor dir in your VCS repo, this comes with quite a few drawbacks. That's one of the things Private Packagist (https://packagist.com) aims to fix though, as it keeps mirrored copies of your dependencies' zip archives so you get more reliable installs.
I think PHPStorm from JetBrains is the IDE of choice of most PHP devs using IDEs at this point. They completely own the market, and rightfully so (I'm still stuck on Sublime Text myself, but wouldn't consider any other IDE than PHPStorm if I were to use one).
Thanks for the correction, I wasn't aware that was part of what phabricator extracted out of facebook :)
Traditionally xdebug/xhprof were pretty decent, but xhprof has been a bit abandoned since facebook uses HHVM now.
There are two new commercial condenters though that came out in the last few months: Blackfire.io and QafooLabs.com
Both have announced support for showing GC time in profiles as a result of today's noise :) https://twitter.com/beberlei/status/539816149303955456 https://twitter.com/symfony_en/status/539815082881187841
Yes it is definitely a failure of the tooling and I hear it is actually being worked on.
That would help speed up the network part of the install/update yes. The linked patch on the other hand hopefully gets the CPU part to a decent level for most people.
That's what I figured as well, and since https://twitter.com/seldaek/status/539773104835555329 the rate of comments went nuts :)
I really felt bad seeing how we missed that improvement for so long, so turning it all in a gif-fest is more productive than self-deprecation!
For those looking for a technical explanation, the PHP garbage collector in this case is probably wasting a ton of CPU cycles trying to collect thousands of objects (a LOT of objects are created to represent all the inter-package rules when solving dependencies) during the solving process. It keeps trying and trying as objects are allocated and it can not collect anything but still has to check them all every time it triggers.
Disabling GC just kills the advanced GC but leaves the basic reference counting approach to freeing memory, so Composer can keep trucking without using much more memory as the GC wasn't really collecting anything. The memory reduction many people report is rather due to some other improvements we have made yesterday.
As to why the problem went unnoticed for so long, it seems that the GC is not able to be observed by profilers, so whenever we looked at profiles to improve things we obviously did not spot the issue. In most cases though this isn't an issue and I would NOT recommend everyone disables GC on their project :) GC is very useful in many cases especially long running workers, but the Composer solver falls out of the use cases it's made for.
There is a bit of history and context needed here I think. The last Opera 12 was released about a year ago. Last year they announced they would switch to using Blink instead of their own rendering engine.
The engine switch came with a complete rewrite of their browser as far as I understand it, so they prioritized Windows/OSX stability for a year and now finally came up with a Linux build again. The big gap in version numbers is due to their new browser starting at 15 + the adoption of a much shorter release cycle.
Once Linux builds are made stable I expect they will continue to release builds on all 3 platforms as they were doing for the many years before this slightly extreme shift.
Also note that it's available through the regular settings UI (opera://settings/) if you enable advanced settings under User Interface you will find "Disable tab bar's top spacing when browser window is maximized".
Would you mind sharing how you set it up on a Kimsufi/OVH machine? All infos I have found were quite outdated and I haven't had enough time to dig into it myself yet. I think it would be great if someone would document this.
It's a fair question, and frankly it may well be it has nothing to do here. I just see it as relevant to nerd-culture because of the obvious (I think) reference to the "Snakes on a plane" movie. You could argue nerd-culture is not enough for hacker news, but then if you look at the homepage for example the GOOG split into GOOG/GOOGL article really has nothing to do with hacking. It's news for google shareholders, but somehow it seems many people on HN care about the stock market and Tesla cars and many other things which don't directly relate. Some things capture the HN mind-share and they become acceptable. Sometimes I too am baffled by what ends up on the front page.
So many people, many interests and opinions. That's why there is a 'new' page and a front one I suppose.
CSS nitpick: check it out on a large/wide screen, the header is messed up due to (I assume) percentage-based font-sizing + the fact that the logo is not scaling accordingly.
They unfortunately do not mention the traditional Starbucks Wi-Fi, but there is a short note about mobile data at least: "Signal boosters will ensure a better signal for your mobile devices."
Not quite sure what this is worth.
Good point. The logo should definitely be clickable, and the menu items clarified a bit. The navigation was sort of in a tentative state until now since it isn't even integrated in the rust-lang.org website yet.
Thanks I guess, but I wouldn't call it "working" just yet :)
It does render, but it seems like the search engine initialization is blocking for quite a while on iPhones, and in portrait mode it could use some more responsiveness.
Did you try it on an iPad or what device exactly?
We did consider Discourse and phpBB as migration options, but it seems there is no solution that will make everyone happy (there already is a forum in parallel to the mailing list actually). Many people like the mailing list concept and like to manage all this in their inbox.
Obviously switching to a self-hosted mailman is an option too. But having no access whatsoever to the group, migration is kind of a pain since you have no way of even contacting everyone that was subscribed.
They have at least confirmed they use Silex, which is based on Symfony components.
This is just plain sad to watch. No further comment.
I don't think this is necessarily a problem. If the model is based on generating a secure (in terms of entropy) token that is then stored on the device or in the iOS cloud it's fine. Every app using that lib has its own token even for the same device.
In light of recent password leaks events, I feel much safer leaving my phone on the table than giving my password to any of the major websites. Also this point was addressed in the original article.
Way to turn a decent post in an Apple vs. World religious war.
I for one use "What would Jesus do?" as a saying sometimes, and I don't need to be religious to do so. Similarly you need not be an Apple fanboy to get the reference. Move on.
I think with the proper tools (and I don't mean using the bare language, but enough libraries that give you nicer abstractions), it can be used for doing things properly just fine. Heck we do a living out of building custom apps for customers that range from financial world to data-oriented startups. You just have to know what you are doing, like with any language really.
- The mbstring ext gives you more or less decent transcoding support. I never had huge issues since it's generally ISO-8859-15 or UTF-8 I'm dealing with, but you may have a point. I can't answer conclusively.
- date handling overall is really great in PHP, I don't know about it in details in every language, but I know in some it's a massive pain. See http://php.net/DateTime and http://php.net/manual/en/intldateformatter.format.php for locale aware formatting.
- SQL injection is handled by the PDO db connectors just fine, and all libraries abstracting this basically take care of it. Unless you follow 10 years old tutorials it's pretty hard to have SQL injection leaks.
Etc etc.
The key is just this: know your tools.
Have you used it at all? I'm not going to pretend it's better than Bundler, we took a lot of inspiration from it and we may have a few unique features compared to it, but that's it. apt is pretty different anyway since it does system level stuff. Maven I think is insane, it does way more than a package manager should do. That said when you look at Python for example, the package management landscape is a scattered mess, and there is a new "greater better" solution every couple years. I wouldn't call that a better situation than what we now have with Composer.
Speaking of LevelDB and Redis, did you know about Edis[1]? It is a protocol compatible implementation of Redis that uses LevelDB as its data store. I haven't had a chance (nor the need) to try it, but it sounds interesting.