HNHacker News
TopNewBestAskShowJobs

jrgv

65 karma · joined July 24, 2015

submissionscomments
jrgv··on Map of GitHub
The stale old enterprise code is not in public repositories.
jrgv··on Heisting $20M of Magic: The Gathering Cards in a Single Request
> [...] how a typical store with a shopping cart works; do everything on the server side, and just display it to the client.

The same concerns apply for a typical shopping cart design. The price can change in between the time when you sent the price to the client, and the time when the user actually decides to buy.

jrgv··on No New Categories
As you wrote in your article, the new category becomes "another thing that needs explaining", and Fastly doesn't explain it well.

I guess what's happening is that these companies spend a lot of time internally discussing and refining their product and their marketing, and then one day someone comes up with a term for that, and everyone agrees that that is a great way to express all that. But nobody outside the company knows what all that is, because they don't have the same background, so they're just like, what is an edge cloud?

jrgv··on "Pwned Passwords" V2 With Half a Billion Passwords
The article explains how the site has been designed not to send passwords to the server. Of course, it's up to you to decide if you trust them to keep it that way.
jrgv··on Curl doesn’t spew binary anymore
what if your output is more than 2000 bytes?

The announcement says that "curl will inspect the beginning of each download", and I think that comparison just turns off the check after at least 2000 bytes have already been output (see a few lines below the change you quoted, where outs->bytes is incremented by the amount of bytes that were output).

what if your output is binary but doesn’t contain a byte 0?

I guess curl will incorrectly recognize the binary as text.

what if your output is a normal UTF-8 string but contains a byte 0?

I guess curl will incorrectly recognize the text as binary, and you can use `-o -` to override that and output to the terminal anyway.

jrgv··on Git Town – A high-level command line interface for Git
The "15" is a link to a test case which shows the 15 commands. It's a contrived scenario in my opinion: it assumes that you want to merge a feature branch into the main branch while you're in the middle of working on some other, unrelated feature and have uncommited changes in your working directory.
jrgv··on Next Generation MITnet
Money that is put into an endowment fund effectively is a lifetime credit for anything.
jrgv··on Sweden asks to meet Julian Assange inside Ecuador embassy
Maybe they route all traffic through a VPN to Ecuador or something like that?

I doubt that GCHQ would be the reason for internet problems; even if they have "a van in the street", they'd have no incentive to impact the quality of the connection that they monitor.

jrgv··on Amazon open-sources Ion – a binary and text interchangable, typed JSON-superset
> But if we take it to mean code point, then if the value is a surrogate… what should happen?

Surrogates are code points. The spec does not say what should happen if the surrogate is invalid (for example, if only the first surrogate of a surrogate pair is present), but neither does the JSON spec.

Java internally also represents non-BMP code points using surrogates. So, simply appending the surrogates to the string should yield a valid Java string if the surrogates in the input are valid.

jrgv··on This should never happen
I'd prefer to throw an exception in that else block:

    throw new AssertionError("Should never happen");
jrgv··on I no longer understand my PhD dissertation
> That's the main advantage of commit messages over comments - they are always fresh and encode the exact lines they refer to.

Unless they're something like "fixed indentation".

jrgv··on How Qantas Ferried an Engine on the Wing of a 747
From the article: "The disabled engine in Johannesburg will make its way back to Sydney at a much slower pace by ship."
jrgv··on We ditched Google Analytics
The EasyPrivacy block list contains an entry that will block the piwik.js file. Of course, when you're self-hosting, it's trivial to serve that file with a non-default name.
jrgv··on Confidence Through Feedback, or Why Imposter Syndrome Is the Wrong Metaphor
"I learned how scope worked" does not imply that the author was previously unaware of the concept or didn't understand it at all, it just means that there was some aspect that she didn't fully understand until it was pointed out in the code review. I don't find that hard to believe at all. How many developers have you met that never had any questions or misunderstandings about, for example, the scope of `this` in JavaScript?
jrgv··on Ledger, a command-line accounting system
YNAB is double-entry but not the way you would normally do it (note, I have no idea how it is implemented under the hood, I'm just referring to how I explain YNAB's system to myself). YNAB essentially puts your accounts (assets and liabilities) on one side of the balance sheet and the budgets on the other. It is double-entry in the sense that every transaction is either between two accounts, or between an account and a category (a budget account), so there are two sides to every transaction.

However, in "normal" double-entry accounting, you would not have assets and liabilities on the same side of the balance sheet, and the way YNAB does this leads to some strange behavior. For example, if your net wealth (assets and liabilities) is negative, you need a negative budget ("pre-YNAB debt"). So now you have in your budget both money you plan to spend on actual expenses, and debt.

You could, in principle, design a YNAB-like double-entry accounting system where your assets balance against equity and debt, and where the money that is "available to budget" matches the actual money you have available, regardless of whether that money originates from equity or debt. That would be closer to the normal understanding of double-entry accounting.

jrgv··on Money Flooding Out of Canada at Fastest Pace in Developed World
In financial markets, China is usually considered an emerging markets country, not a developed markets country, so this is not necessarily a contradiction.
jrgv··on Chaos Computer Club congratulates Netzpolitik.org
"The Chaos Computer Club therefore wants to reward the most beautiful initiatives(?) in 2015 against journalists..."

I'd translate this as: "The Chaos Computer Club therefore wants to reward the best investigations initiated in 2015 against journalists ..."

jrgv··on A call to PHP's mt_rand generates only odd numbers
There is a caution box in the description, which contains a different warning, and then the warning you have cited is in a second caution box in the "Notes" section, after the changelog and the examples.

It doesn't surprise me that people might not notice the existence of that second warning. I believe that most developers wouldn't scroll down to read the changelog and the example if they think they understood what the function does from its description.