HNHacker News
TopNewBestAskShowJobs

gioi

447 karma · joined August 16, 2013

submissionscomments
gioi··on Why is light so fast?
I'm not a physicist either. As a student, some years ago I asked my physics teacher if this conception was right, but I only got pretty elusive answers. It turns out that general relativity and quantum mechanics are not 100% coherent on this point. I suggest you to read this short, a-bit-technical-but-not-too-much essay on the problem: http://quasars.org/photon.txt
gioi··on Telegram Bot Platform
Thank you for your answer and for your time.

My language of choice for the bot was Clojure. I was interfacing with libaxolotl-java and basically rebuilding libtextsecure in Clojure (that was months ago).

Yesterday, when I discovered libtextsecure-java (while exploring Github repositories, by the way, I didn't notice your website had been updated in the meantime), I started a rewrite, using README as my primary source of documentation (the only piece of doc I could find, actually).

Ok, so what's this `KeyHelper`? Ok, I'll search on Github. Fine, it's actually `org.whispersystems.libaxolotl.util.KeyHelper` - luckily I knew it was in a completely different project. The same goes for `AxolotlStore`, which is actually `org.whispersystems.libaxolotl.state.AxolotlStore`, and it's not even mentioned on libaxolotl-java README because the latter is outdated.

Then: what is `TrustStore`? Good luck finding out that! Basically it is a wrapper around a binary file - which I had to download from TextSecure source repo without knowing what there was inside, and which by the way is encrypted with the password whisper (documentation: nowhere - thank you @AsamK for your textsecure-cli sources on github).

Ok, and finally figuring out - turning to TextSecure-Server docs - what is a signaling key, what are the specifics for the client-generated password (which by the way is sent over SSL via Basic authentication - probably not the most secure method ever, but probably there are many reason for that) and what is an install ID, I finally had the opportunity to debug obscure security problems on Java and to meet in person a Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=1167153). Not to mention the fact that apparently libtextsecure-java doesn't work over websockets but only over GCM (https://github.com/WhisperSystems/libtextsecure-java/pull/5) - however I won't be surprised if it did.

A really nightmarish experience. Maybe this summer I'll try to reimplement libtextsecure in another language and then document thoroughly my efforts. Who knows.

gioi··on Telegram Bot Platform
Just yesterday I was trying to get a bot working on the TextSecure platform. A vastly disappointing experience: almost not existing libraries, sparse and incomplete documentation, unstable protocol breaking without any kind of notice (https://github.com/JavaJens/TextSecure/issues/6, for example). And still no way to register without a phone, which would be amazing for this kind of project: https://github.com/WhisperSystems/TextSecure/issues/1085

I think Telegram is succeeding in what TextSecure is failing: attracting a widespread community of developers. This is only a confirmation, in my opinion.

EDIT: and, by the way, while Telegram security is no good, I wonder why we cannot have both (security & developer-friendliness)

gioi··on Google Play Store: Browsing with Firefox is no longer supported on Android
Sightly off-topic but:

Do we really need user agent? What are good reasons we should keep on using them? I could find none...

gioi··on Notes on XKCD's “Pixels”
It makes me remember John Locke's An Essay Concerning Humane Understanding[0]

> The Indian before mentioned [...], saying that the world was supported by a great elephant, was asked what the elephant rested on; to which his answer was—a great tortoise: but being again pressed to know what gave support to the broad-backed tortoise, replied—SOMETHING, HE KNEW NOT WHAT

-- [0] http://www.gutenberg.org/cache/epub/10615/pg10615.txt, 2nd book, chapter XXIII, paragraph 2

gioi··on Free, Worldwide, Encrypted Phone Calls for iPhone
Actually you could. They are called "deterministic builds".

But this would require some kind of effort from project maintainers.

gioi··on Free, Worldwide, Encrypted Phone Calls for iPhone

    Later this summer, Signal for iPhone will be expanded to support text communication compatible with TextSecure for Android.
You'll have to wait to wait a little. I'd bet it will be worth.
gioi··on Saner routing for growing Flask applications
Flask, under the hood, uses Werkzeug routing. Basically, this is a wrapper over Werkzeug, just like Flask routing is.
gioi··on Saner routing for growing Flask applications
Am I the only one who thinks that routes should be defined near views, just like default Flask does?
gioi··on Raptor robot runs at 28.58 mph, faster than any human [video]
28.58 mph == 45.995 km/h [0], BTW.

[0] http://www.wolframalpha.com/input/?i=28.58+mph+in+kilometers...

gioi··on Numeral.js – A JavaScript library for formatting and manipulating numbers
Thanks for sharing! Unfortunately, bytes representations are wrong.

As you may now, there is a difference between kilobytes (KB) and kibibytes (KiB), megabytes (MB) and mibibytes (MiB) et cetera. 1 KiB = 1024 bytes = 1.024 KB.

Please check out https://en.wikipedia.org/wiki/Binary_prefix and fix your library :)

gioi··on WordPass – Hate passwords, love passphrases
Reynold (Diceware creator) says:

"Five words are breakable with a thousand or so PCs equipped with high-end graphics processors (criminal gangs with botnets of infected PCs can marshal such resources). Six words may be breakable by an organization with a very large budget, such as a large country's security agency. Seven words and longer are unbreakable with any known technology, but may be within the range of large organizations by around 2030. Eight words should be completely secure through 2050."

http://world.std.com/~reinhold/dicewarefaq.html#howlong

gioi··on WordPass – Hate passwords, love passphrases
Don't seriously use this tool.

"People shouldn't use passwords that have been generated by a remote service unless they have very very good reasons to trust the tool and the transmission of the data." [0]

Passphrases are generated server-side, and this mines at the heart the security of the system. Are password saved? Yes? No? Who knows?

And you can trust a pair of dice more than an unknown website. Look up diceware on the web and see what I mean.

--

[0] http://discussions.agilebits.com/discussion/10684/password-w...

gioi··on The Document Foundation announces the Document Liberation Project
This seems to be the natural continuation of Document Freedom Day... Not sure if the two are related.
gioi··on Pwn2Own results for Wednesday (Day One)
Mozilla's Rust & Servo go exactly in this direction, thankfully.
gioi··on Pwn2Own results for Wednesday (Day One)
https://news.ycombinator.com/item?id=7401371
gioi··on Is Twitter down for anyone else?
http://status.twitter.com is kinda down here (Italy).
gioi··on Italy cancels "Google tax" on web companies
And antirez's comment doesn't contradict mine :)
gioi··on Italy cancels "Google tax" on web companies
To be fair, PD is the only italian party whose direction has been elected democratically (I'm Italian and I voted to the last PD primarie).

What's wrong with this democratic process? Internal debate started only after approving law. Don't you think this is... wrong?

gioi··on Italy cancels "Google tax" on web companies
A personal note:

Francesco Boccia (the proposer), Enrico Letta (old prime minister) and Matteo Renzi come all from the same politic party, Partito Democratico. Web tax was proposed when Matteo Renzi was already the secretary of the Party.

gioi··on How to Handle HTTP 500 – Internal Server Errors
This page is actually returning HTTP 500 ("Error establishing a database connection"). Wow.
gioi··on Ask HN: Is jQuery really awful for Single Page Apps?
I think the best approach to single-page apps is simplicity and elegance (and often they coincide). You will need some abstraction to achieve simplicity and elegance, and in the end you will be more productive. That's it.

<rant>I have a personal aversion for jQuery... It's awful because you probably don't need 99% of it.</rant>

gioi··on Making GIFs From Video Files With Python
Thank you! I've never met MoviePy and it looks really good. I'm waiting for libopenshot to be released, what do you think about it?
gioi··on Xiki: Can your shell console do this?
I love shells because you can't use your mouse. Nice idea, but it doesn't suit me.
gioi··on Keeping your email address private
With the advent of new gTLDs, .fake could be registered. So, use .invalid, a reserved TLD.
gioi··on Italy Approves ‘Google Tax’ on Internet Companies
I asked what's wrong with the idea, not with the implementation. I completely agree with the fact that this law should have been discussed at international level (at least EU+USA). I can realize from your words all your discouragement for the global ethical crisis. I really hope that future generations will be able to enforce this kind of measures. (BTW, may I ask you where are you from?)
gioi··on Italy Approves ‘Google Tax’ on Internet Companies
Have you read the law? Do it. Rendering is not illegal, but if you're an Italian company you can buy online ads only from another Italian company.
gioi··on Italy Approves ‘Google Tax’ on Internet Companies
I'm Italian. Here tax burden for artisans, small business, big companies is over 50%. What if we could shift part of the taxation from artisans to big multinationals? What's wrong with this idea?
gioi··on Ask HN: Open Source alternatives to Disqus?
Isso. https://github.com/posativ/isso (Python)
gioi··on Deprecating the "X-" Prefix and Similar Constructs in Application Protocols
Ok, now we just need to convince W3C.