HNHacker News
TopNewBestAskShowJobs

Seldaek

1,966 karma · joined May 10, 2010

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

---

submissionscomments
Seldaek··on IPCC: Sixth Assessment Report
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-...
Seldaek··on Tasty Seaweed Reduces Cows’ Methane Emissions by 99%
Sounds like we need to start researching the effects of eating US trash on cow methane emissions. There might be a synergy here.
Seldaek··on Is It a Duck or a Rabbit? For Google Cloud Vision, Depends on Image Rotation
But does it see a blue or a white dress?
Seldaek··on What, why and how of PHP Composer
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.
Seldaek··on What, why and how of PHP Composer
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.
Seldaek··on What, why and how of PHP Composer
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.

Seldaek··on PHP 7 Virtual Machine
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).
Seldaek··on Composer – Disable GC when computing deps and refs
Thanks for the correction, I wasn't aware that was part of what phabricator extracted out of facebook :)
Seldaek··on Composer – Disable GC when computing deps and refs
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

Seldaek··on Composer – Disable GC when computing deps and refs
Yes it is definitely a failure of the tooling and I hear it is actually being worked on.
Seldaek··on Composer – Disable GC when computing deps and refs
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.
Seldaek··on Composer – Disable GC when computing deps and refs
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!

Seldaek··on Composer – Disable GC when computing deps and refs
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.

Seldaek··on Opera 24 for Linux released on the Developer stream
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.

Seldaek··on That one pixel
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".
Seldaek··on The Nix project – Atomic upgrades, rollbacks and multi-user package management
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.
Seldaek··on Snakes on a train
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.

Seldaek··on Show HN: Tired of doing coding interviews on Skype? We've built this
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.
Seldaek··on Starbucks takes to the rails
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.

Seldaek··on Rust's new documentation generator: 95% done
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.
Seldaek··on Rust's new documentation generator: 95% done
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?

Seldaek··on How can we get Google Support?
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.

Seldaek··on Why Symfony (over framework X)?
They have at least confirmed they use Silex, which is based on Symfony components.
Seldaek··on Lego for Men
This is just plain sad to watch. No further comment.
Seldaek··on Logins are Dead, and Mobile Killed Them
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.
Seldaek··on Logins are Dead, and Mobile Killed Them
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.
Seldaek··on Logins are Dead, and Mobile Killed Them
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.

Seldaek··on PHP is much better than what you think
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.

Seldaek··on PHP is much better than what you think
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.
Seldaek··on Redis persistence demystified
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.

[1]: http://inaka.github.com/edis/

Page 1 of 3Next →