HNHacker News
TopNewBestAskShowJobs

jomar

224 karma · joined December 20, 2011

submissionscomments
jomar··on Apple App Store STATUS_CODE_ERROR causes service problems
No, I don't realise any of that, because Let's turn this device into a secure token is the sum total of the information you get when you fire up the Authy app. No links to any explanations of why they want you to have an account, and I didn't care enough to go looking further myself.

But the real issue for me is: given a choice between (1) having my private tokens physically only on my own devices; (2) having an account and apparently some form of my tokens at a third party in another country susceptible to bulk espionage and subpoenas... why on earth would I choose (2) in today's climate?

Or in summary: I guess I don't trust them to actually encrypt anything in the face of legal threats.

jomar··on Apple App Store STATUS_CODE_ERROR causes service problems
What exactly is wrong with Authy that makes it completely unacceptable for you to use?

  Let's turn this device into a secure token
  Enter your Authy cellphone
  __+code__ __Authy cellphone number__
They're my private tokens. I don't want to set up an account with Authy Inc and I certainly don't want my tokens in your cloud. Sure maybe it'd be nice to sync across my devices, but not if it looks like it means doing so via somebody else's servers!
jomar··on Don't commit when you're drunk
GCC is indeed not the only compiler around, which is why I said "at least" :-) Even if you're stuck with some other compiler for production builds, it's handy to be compiling regularly with a variety of compilers so as to benefit from the union of the diagnostic abilities of all of them.

The construct is a useful idiom, but oftentimes there would be or ought to be a local coding standard recommending that you make what you're doing explicit by comparing the assignment result to the appropriate flavour of zero:

  if ((foo = bar) != NULL)
Now everybody can see what's going on, the warning doesn't arise, and no pedants can complain about the theoretically-unnecesary parentheses in `if ((foo = bar))`.
jomar··on Don't commit when you're drunk
Sure, if by "fairly recent" you mean at least more than twenty years ago:

http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=1853

jomar··on Repository Next
You can clone with HTTPS, SSH, Subversion, and other methods.

Before I clicked "Enable Repository Next" there was also a "Git Read-Only" option.

The "other methods" text points to https://help.github.com/articles/which-remote-url-should-i-u... which lists HTTPS read-only & read-write and SSH read/write. Last time I looked that page also listed Git read-only (with the description "All git:// URLs are anonymous, public and read-only. Private repositories do not have this URL type. // Use these URLs when cloning someone else's repository (where you don't have write access) and for submodules that point at public repositories.").

There was no explanation in the "Repository Next" blog posting that git:// URLs were being disappeared...

jomar··on Plan 9 Coding Conventions for C
The actual problem there is that developer two checked something in without thinking about it, reading it, or examining the diffs of the change.

If you had a coding convention of always using braces in if statements, you might be insulated from this particular symptom or instance of the problem, but you still have the underlying problem that people are doing things without thinking.

jomar··on Obscure C++ Features
If this were just

    if (mouse = dynamic_cast<MouseEvent *>(event))
then it would indeed just be an if condition expression that happened to be an assignment.

But the variable is being declared as well, so what's actually going on here is a declaration and an initialiser expression. There is actually new functionality here that needed a bit of language design thought, e.g., the declared variable's scope is the whole if statement, not just the condition expression.

jomar··on The Hardest Test I Ever Gave (C++)
Thanks for the pointer to my answer :-)

Similar text to that C++ text is in C99 at 6.4 [Lexical elements], paragraph 4. Paragraph 6 considers the example x+++++y (which is similar to your example), noting that it is to be parsed as x ++ ++ + y. (I guess it uses distinct variables x and y to avoid any distractions due to sequence point issues -- which are immaterial here as the thing fails to parse anyway.)

jomar··on The Hardest Test I Ever Gave (C++)
This is not a bug in GCC. The compiler is required to interpret this as the syntactically-invalid "y = x ++ 3 ;" by the common so-nicknamed maximal-munch property of lexers for various languages. In the 1998 C++ standard, this is in section 2.4/3:

"If the input stream has been parsed into preprocessing tokens up to a given character, the next preprocessing token is the longest sequence of characters that could constitute a preprocessing token, even if that would cause further lexical analysis to fail."

This is the same reason why (prior to C++11) nested templates have to be written with an excess space: "std::vector<std::list<int> > foo". (C++11 has a lexer hack to allow a >> token to be valid here and equivalent to two > > tokens.)

For this ++ example, if you want the valid parse, you get to put the space in yourself, just like we're used to for nested templates. This is the trade-off for having a fast mostly conceptually-separate lexer.

Unary plus is nice if you want to write out the symmetry in things like "int signum[] = { -1, 0, +1 }" and I expect there are meaningful uses in ensuring desired conversions occur in some overloading situations (though there would of course be a case for being explicit...).

jomar··on The Future of Markdown
I guess there is a distinction between

* people typing markdown in text files, where you want to split paragraphs into word-wrapped lines of a sensible length, and consecutive non-blank lines form paragraphs just as they always have in text files;

* and people typing markdown into text entry boxes on web pages, where you would like pressing the <enter> key to actually mean something.

These two situations probably prefer a different default.

jomar··on Facebook hit git performance issue on large repository
If you have used ClearCase, you will know that while it's a great solution to a "what shall we do with our buckets of cash" problem, it's not something that anyone encountering performance problems would reach for.
jomar··on TimeKiwi, the beautiful timeline creator relaunched with usernames
> They're using the fruit as their logo. What part of New Zealander culture did they appropriate for this site?

People can hold in their heads that grapes and grapefruit are different things, so it always bemuses me when they can't do the same thing with kiwi and kiwifruit. Sure, if you don't know otherwise, "kiwi" may look like a useful contraction of kiwifruit. However, once informed that

The kiwi is a bird native to New Zealand; the word "kiwi" comes to English from the language of the indigenous people of New Zealand; the bird is a national symbol of the country; New Zealanders colloquially refer to themselves as Kiwis, after the bird, with a history going back a century or more; the term "kiwi-land" is occasionally used fondly as a name for the country; the term kiwifruit was coined only in the 1960s

then continuing to use the term "kiwi" for the fruit is factually wrong, and even disrespectful. Sure, you yourself might not care -- but you can see why New Zealanders might and do care.

This website uses a stylised kiwifruit as its logo, but let's also look at the terminology they're using:

"Latest kiwis", "Kiwi of the day", "Welcome to kiwi land"

Are the people behind the website New Zealanders, or associated with New Zealand in some way? Not as far as I can tell. Ergo, appropriation.

(Even if the website authors were New Zealanders themselves, the usage would still not be appropriate, of course. But New Zealanders would not have used such terminology on their dinky website because for them it already has established meaning and mana, rather than being just a random cool word to be stolen.)

jomar··on TimeKiwi, the beautiful timeline creator relaunched with usernames
It's called cultural appropriation, and IMHO this example of it is offensive plain and simple -- nothing borderline about it.
← PreviousPage 3 of 3