Hacker News new | past | comments | ask | show | jobs | submit | pyed's comments login

2018 is assumed


But April isn't, and (April 2018) is less confusing than just a bare (April).


Disgusting


Not to mention embarassingly ineffective.


Effectiveness has nothing to do with it. It is about sending a message and very strong one at that.


I can't say that I'm not a fan, I'm a hater who rolls his eyes off anything built with Electron.


Awesome news! so this means anyone will be able to run their own instance of Wire.

It's written in Haskell and some Rust, interesting.


I too was surprised and excited by the choice in code language.


Not so fast.. read the blog post about it.. not there yet 100%


Coding style wars will die with the rise of *fmt.


Okay, let us know when you've written a fmt which works on, say, a mere 70% of kernel code. That should let you ignore the $N different assembler syntaxes at least.


Probably newer versions will commit only using a new hash algorithm, while completely able to deal with the old one


Can it really be that simple though? If you are using a newer version of Git on your repo which is committing only with the newer hash and I try to clone your repo with an older version I will be unable to do so. I guess maybe that's acceptable though?


Yes, that is sort of Linus's plan: http://marc.info/?l=git&m=148798319024294&w=2

> You want to have a model that basically reads old data, but that very aggressively approaches "new data only" in order to avoid the situation where you have basically the exact same tree state, just _represented_ differently.

> That way everything "converges" towards the new format: the only way you can stay on the old format is if you only have old-format objects, and once you have a new-format object all your objects are going to be new format - except for the history.

As soon as there is one new-hash commit in a repo, all users of it will have to upgrade their git client - and that git client will (probably?) default to writing new-hash commits.


Probably not. I imagine the deprecation period for this change will be measured in years.


I think backwards incompatibility would be acceptable. Add read support for the new format to git, but then don't have widespread repositories using the new format until some period of time later. By the time they do become commonplace, everyone should already be running a version of git supporting them. It's not exactly hard to upgrade git in most situations anyway, just a simple invocation of:

    $ sudo $PKG_MGR upgrade git


Well, it's not hard to update the command-line git client on Unix-y systems with package management. The trouble will be with the hundreds/thousands of other programs that use Git in various ways and are essential to development workflows in various places. Github themselves, Microsoft and Jetbrains IDEs, etc.


There's two potentially mitigating factors at play here:

I suspect a lot of the tools you mentioned also already treat hashes as strings, not as 160 bit numeric types. The entire front-end JS for GitHub, for example, just uses strings. That's what I'd do if I were writing IDE integrations and such too.

Secondly, the new format will likely still be a 160-bit numeric type, just calculated using a different hash algorithm (e.g. it might be the first 160 bits of the SHA256 result). The tools you mentioned likely don't have to calculate said hashes, they just display them. The entire GitHub front-end, for instance, just displays whatever is given to it; commit hashes are input data to it, not output data.


Just using the first 160 bits of a new hash function was proposed at one point, but it's not part of the current plan. The new plan is to introduce full SHA3-256 hashes (which are 256 bits in size). More information here: https://docs.google.com/document/d/18hYAQCTsDgaFUo-VJGhT0Uqy...

(Of course, CLI and frontend tools could still truncate display output to 40 hex characters, but internally full size hashes will be used.)


Woah, that's disorienting to be linked to a bluedoc unexpectedly like that, considering I'm not on my work account. I ever recognize one of the authors.


What is a bluedoc?


It's just a Google Docs template used for internal engineering design docs at Google. The linked doc is a typical example.


Don't most of these go through the git codebase? Or just parse the output of standard commands? Curious what implications the hash has on those.


I would assume that most other stuff uses libgit2 (except maybe the Microsoft stuff). Is that not a safe assumption?


One straightforward way is to use the new sha only for new Git repos. Old repo could be migrated but it would require "re-commiting" everything to the new repo.


I don't have a good solution to this, but that sounds like it risks the same sort of crypto downgrade vulnerabilities which TLS cipher negotiation enabled.


Except if you drop SHA-1 support from a repository (goal #2 in the RFC on the top comment). Then your downgrades would only apply to new repos, and that's not really a vulnerability as there's no pre-existing trust; all the vectors available to you when you can create collisions are based on people not noticing changes.

It'd be like disabling TLS 1.0 and 1.1 on your server; a repo owner could just choose to do that. I guess the point stands if, like TLS downgrades, on the whole people don't specifically choose to do it and there are lots of vulnerable repos out there for a long time. Then it falls on GitHub/etc. to force repos to migrate fully.


I've always questioned that 'hot code pushing' whenever I face an app that does it, like how on earth is it allowed to begin with ? they basically can send almost any functionality they want skipping Apple's reviewing all together !


I'm a self-taught programmer, I do programming only for fun and open source projects.


... or just use a docker container.


I tested the FLAC playback, it plays only the first 9 seconds!


Out of curiosity I've just dropped ~450MB FLAC file in a new Firefox tab, and I must say I experience great stoner rock with no issues whatsoever.


The Kyuss test is how I gauge all my new speakers and headphones, as well.


I'm pretty sure that's not the expected behavior :) Do you have a test case?



Seems to be some issue with the website. I can't cURL the file properly. It fails with "connection interrupted".


Oh that's funny, I can reproduce too. It stops at 9 seconds exactly.

But I'm running 51.0b5 on Linux, so maybe it's already been fixed.


What operating system are you running? It plays correctly for me in Firefox 51 and Nightly (54) on Windows 10.


I believe issue is on your side, since playback is fine with my browser.


it works fine for me sometimes, and sometimes it doesn't try to close your Firefox and open it again and test, it gets stuck with me most of the time.


Also tested here and played through fine.


I just deleted all my cookies, all my web content, restarted Firefox, and it stopped on the 9th second, even though the file is half way downloaded


Consider applying for YC's first-ever Fall batch! Applications are open till Aug 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: