HNHacker News
TopNewBestAskShowJobs

xkxx

115 karma · joined December 13, 2016

submissionscomments
xkxx··on Postmodern Error Handling in Python 3.6
A better way is to implement a logging function, which will be recording unknown exceptions the way you prefer: sending an email, writing to a text file, whatever. Then you just write:

    try:
        [...]
    except Exception as e:
        log(e)
It's not much longer than `except Exception: pass` and you gain more control over your system.
xkxx··on Postmodern Error Handling in Python 3.6
Maybe it's partly because of anti-intellectualism, the idea that being very smart is bad. I had never heard about the idea, until recently. It was some article about American anti-intellectualism and why it is so popular. Reading that article was a very weird experience for me. I believe this concept doesn't exist in the culture of the country where I am from.
xkxx··on Postmodern Error Handling in Python 3.6
This paragraph? Which one? I see three.
xkxx··on Filecoin – A Cryptocurrency Operated File Storage Network
Hmm, and their last activity on Twitter was 3 Nov 2015: https://twitter.com/MineFilecoin/with_replies. Why is it important? They provide Twitter and email newsletter as main ways to follow their news. If there was no activity for over a year, the project might be stalled.
xkxx··on Linus' reply on Git and SHA-1 collision
> abstracting ideas is core to problem solving

Sure. But don't confuse abstractions with analogies.

Here is a good proof about both the integers and rational numbers. Every integer and rational is a real number (abstraction). When you add any 2 real numbers, you get the same result regardless of their order (fact). So it must be true that, when you add any 2 integers, you get the same result regardless of their order (correct conclusion #1). It also must be true that, when you add any 2 rationals, you get the same result too (correct conclusion #2).

Here is a bad proof about the integers and rational numbers. Both the integers and rationals are very similar: you can add them, subtract them and so on (analogy). Between every 2 rational numbers there is another rational number (fact). So it must be true that between every 2 integers there is another integer (wrong conclusion).

xkxx··on Linus' reply on Git and SHA-1 collision
> Can you even imagine where our medical field would be if we expected surgeons to talk amongst themselves as if they were speaking to the general public?

The Git devs are not heart surgeons, software development is not a medical field. Again, you are using an analogy to "prove" your point. Can you, please, use a real argument?

>> The purpose of an analogy is to simplify something that's too hard to understand for the person you try to convey your idea to.

> It's to convey an idea. That's it, anything you add to that is your own bias at work.

Do you disagree that using an analogy is oversimplification? If you don't, then that part about "to simplify a complex idea" in my statement should absolutely stay. If you do disagree, then please show why and how an analogy doesn't oversimplify a complex idea.

xkxx··on Linus' reply on Git and SHA-1 collision
> What's shocking is how badly people understand the purpose of an analogy.

The purpose of an analogy is to simplify something that's too hard to understand for the person you try to convey your idea to. Sometimes analogies are appropriate, e.g. when you teach something. When you want to convince somebody whose opinion is very different from yours, analogies aren't appropriate. They sound condescending: "because you are not smart enough to understand the real rationale behind my opinion, here is an oversimplified argument based on analogies I made just for you". The question is, did Torvalds have any real argument back then? Maybe he fell back to using analogies for the lack of any real argument.

> In this case, he was trying to convey the idea that the risk is so small and so remote that it really isn't worth spending a lot of time on.

To convey the idea that the risk is very small, one needs to have a proof. Real proofs shouldn't involve analogies. They should use facts and logic.

xkxx··on Linus' reply on Git and SHA-1 collision
A better counterargument to his argument would be: hashes are not "my plane", potential adversaries are not "a meteorite".

Using analogies is okay when you try to explain a difficult idea to somebody who wants to learn about your subject. Using analogies is not okay when you want to make a solid argument, when you want to convince somebody whose stance is very different from yours.

xkxx··on Reddit Is Being Manipulated by Big Financial Services Companies
> FSB ones might be fun too. There is a certain class of grammar mistakes Russians make when writing in English. You could filter by that in addition to other stuff.

Cool, you would filter me out too. Or would you not? If my English is good enough to confuse your bot, then what stops FSB from hiring somebody like me?

Also, what stops FSB from hiring native speakers of English?

There are plenty of people on the Earth who speak Russian, but don't live in Russia and don't support the Russian government. Bear that in mind too, please.

xkxx··on We Tried Slack and We Deeply Regretted It (2015)
> we had issues with some people not having access at work.

Do you know why it happens? Do those companies block Discord as an "unprofessional" website?

xkxx··on We Tried Slack and We Deeply Regretted It (2015)
Can you name your IRC network and elaborate on how you are planning to integrate Matrix into it?
xkxx··on All I Possess
It would be much nicer if everything were on one page instead of 12. Scrolling down is easy and relaxing, moving your mouse and clicking on the next link breaks the flow.
xkxx··on How to Run a Rogue Gov Twitter Account with Anon Email Address and Burner Phone
Can you elaborate on your technology stack? How do I get the phone numbers you provide for your users?
xkxx··on How to Run a Rogue Gov Twitter Account with Anon Email Address and Burner Phone
> 🇦🇺🇦🇹🇧🇪🇨🇱🇨🇿🇪🇪🇫🇮🇫🇷🇩🇪🇭🇰​🇭🇺🇮🇪🇮🇱🇱🇹🇳🇱🇳🇴🇵🇱🇸🇪🇨🇭🇬🇧

What does all those letters I see mean? I see only flags of France, Germany and the UK. Maybe it has to do something with fonts installed on my computer.

xkxx··on Is there a replacement for email?
> Email’s fourth advantage is that it’s a store and forward system. People don’t have to be online at the same time to exchange emails, and the emails can be kept for future reference. They can also be forwarded to other people, or printed out.

I believe they understand the whole store and forward model wrong.

We call email a store and forward system because every SMTP server (except the final one, which performs only the first 2 steps): 1) receives a message, 2) stores it and 3) then forwards it to another SMTP server. Everything happens absolutely automatically, without any user interaction. No SMTP server has to be online (except for the first one, which receives the message from the user) at the same time for email to work.

The article's author seems to incorrectly believe that "store and forward system" means that mail is stored in users' mailboxes and users can resend (forward) that mail. But in reality, "forward" in "store and forward" has nothing to do with the forwarding most email users deal with on a daily basis. The whole "store and forward" is about actions performed by SMTP servers, not email users.

xkxx··on Recommendations about coding in C++
The author of this article is Andrey Karpov. He develops his own static analyzer called PVS-Studio. This article was originally published on his company's website: http://www.viva64.com/en/b/0391/. If anything, he is pushing his own (proprietary) static analyzer, not Microsoft's one.
xkxx··on Hero Patterns – A collection of SVG background patterns for your web projects
> If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

> build upon the material

Is there clearly defined difference between "build upon the material" and "using the material as part of your project"? Commercial use in most cases involves not wanting to release your own project under CC BY-SA 4.0. Even though it's possible to combine both (commercial use and CC BY-SA 4.0 for your own product), it's highly unlikely.

xkxx··on The idea maze of personal logging (2016)
If it's not free, it doesn't mean you are not a product.
xkxx··on The idea maze of personal logging (2016)
> Socialite is a paid application. We made this choice in order to give you peace of mind. With no advertisers involved, you won't have to worry about who is getting their hands on your information. Pricing will be targeted at $10/year. Don't worry though, we won't charge you until you're making use of the application.

> Socialite is a paid application. We made this choice in order to give you peace of mind.

That sounds very funny. I would get much more peace of mind if you said that your client app is open source and uses strong encryption before saving data to your server. If you pay somebody, they must be trustworthy? That logic is laughable.

xkxx··on The importance of upvoting
There's no evidence supporting the idea that every upvote brings additional 100 visitors to the upvoted link. Even if there's such evidence, it's not immediately clear from the article. The author doesn't consider the fact that some upvotes don't increase the point counter. There are other major flaws. The article doesn't disclose methodology used to obtain the results. It just makes the claim that an article with 500 points generates 50,000 visits, so every point is 100 visits, and expects us to believe it and take it as a fact. The author doesn't bother to prove that fact.
xkxx··on Show HN: Clozemaster – Learn language in context
"He was sneaking from behind. How did you see that?" translates to "Он подкрадывался сзади. Как вы это увидели?".

"Он предложил это. Как вы на это смотрели?" could be literally translated as "He proposed that. How did you see (or look at) that?", but the correct translation would be "He proposed that. What did you think about that?".

Source: am a native speaker.

xkxx··on Websites can now fingerprint a device when multiple browser instances are used
Nice. I didn't know it was that easy. Using Tor Browser + VPN is definitely a good idea. Especially, if you don't want to be constantly solving captchas because of those hosts who don't trust Tor exit nodes. Some hosts even ban all Tor exit nodes altogether, duh.
xkxx··on Websites can now fingerprint a device when multiple browser instances are used
Hmm, a good idea would be to make it possible to use Tor Browser without Tor, for those who don't need strong anonymity, but still want to resist browser fingerprinting.
xkxx··on Effectively Using Android Without Google Play Services with Gplayweb in Docker
I bet it's not TL;DR. :) Because if I asked something and got a reply, not reading it would be disrespectful to the author, no matter how long the reply is.

> In order to receive notifications

Your answer would be absolutely perfect if you added "from a remote server". I was slightly confused, wondering what kind of notifications an app is supposed to receive.

Thanks for answering. Your answer is great.

Also, now I'm curious how they do it while sending only minimal identifying data. I was wrong thinking that it would be immediately clear. I wonder if TheCoreh is correct about proxying.

Oh, and you don't need to answer if you don't want to. I can do my own research.

xkxx··on Effectively Using Android Without Google Play Services with Gplayweb in Docker
I'm asking more about what "Push notifications via Google Cloud Messaging" are and why they are unavoidable. I think I will be able to infer what minimal identifying data is required from that.
xkxx··on Effectively Using Android Without Google Play Services with Gplayweb in Docker
Have you tried running Uber or Tinder under microG mentioned by JulienSchmidt in this thread?
xkxx··on Effectively Using Android Without Google Play Services with Gplayweb in Docker
> * Optional completely offline geo location service via an on-phone database which often preserves battery and even works when no internet access is available. Online backends using e.g. Mozilla Location Service are also available

Sounds really cool!

> * The often unavoidable Push notifications via Google Cloud Messaging while only sending minimal identifying data

Can you elaborate, please?

xkxx··on Show HN: Rumuki, a prenup for sex tapes
Not everybody is in a monogamous relationship. Is it possible to use the app for more than two devices (i.e. more than two people)?
xkxx··on Shutting down FTP services
Thank you, guys. You prompted me to learn a bit about the protocol. I want to share what I learned after skimming over the RFC.

A typical session looks like:

    $ telnet ftp.kernel.org 21
    Trying 149.20.4.69...
    Connected to ftp.all.kernel.org.
    Escape character is '^]'.
    220 Welcome to kernel.org
    USER anonymous
    331 Please specify the password.
    PASS
    230 Login successful.
    PASV
    227 Entering Passive Mode (149,20,4,69,119,142).
Then I was baffled. What does 149,20,4,69,119,142 mean? Okay, 149,20,4,69 looks like an IP address for ftp.kernel.org. But what do they want me to do with 119,142? Turns out it's a port number divided into two octets. Basically they are asking me to connect to port 119 * 256 + 142 = 30606.

So, on the second terminal I run:

    $ telnet 149.20.4.69 30606
    Trying 149.20.4.69...
    Connected to 149.20.4.69.
    Escape character is '^]'.
Back to the first one:

    LIST
    150 Here comes the directory listing.
    226 Directory send OK.
And I get the listing I requested, on the second terminal:

    drwxr-xr-x    9 ftp      ftp          4096 Dec 01  2011 pub
    Connection closed by foreign host.
    $
Instead of using PASV, you can request the FTP server to connect back to you, with PORT. First, you need to start listening on your WAN interface (if you have one; if you don't, you are out of luck) with `nc -l your.ip.goes.here 2560`. Then, request the server to connect by typing `PORT your,ip,goes,here,10,0` (NB: use commas, not dots). Of course, don't forget to replace your.ip.goes.here with your real WAN IP address.

Cheers.

xkxx··on Problems I Have with Python
> Even weirder, str and list both have find, but list does not have index (a related method).

I believe you meant to write "str and list both have index, but list does not have find".

← PreviousPage 2 of 3Next →