Hacker Newsnew | past | comments | ask | show | jobs | submit | mohitmun's commentslogin

Just wanted to highlight that heap's engineering blog is one of the best I have ever come across. Love all articles by Kamal and Michael malis


I am Michael Malis :)


How does tools like this work? Is it triangulated by pinging from different location?


This very likely uses whois/IRR entries and some heuristics to make sense of them. Thus, it is more about which ISP an IP address block belongs to rather than who the physical end user is.

    q3k@anathema ~ $ whois 185.236.240.1 | egrep '(address|org-name)'
    org-name:       Stowarzyszenie "Warszawski Hackerspace"
    [...]
    address:        Warszawa

    q3k@anathema ~ $ curl -s https://ip-api.io/json/185.236.240.1 | jq .organisation,.country_name
    "Stowarzyszenie Warszawski Hackerspace"
    "Poland"
However, this generally doesn't work for multinational ISPs that have blocks in different countries. For instance, take this Google IP address that I got when I spun up a VM in their Belgium DC:

    q3k@anathema ~ $ curl -s https://ip-api.io/json/104.155.39.247 | jq .organisation,.country_name
    "Google LLC"
    "United States"


From what I understand, which admittedly is not much, I believe it is actually a database lookup service that references sections of; or perhaps the whole IP that has been previously recorded as from country X.

I think countries themselves have ranges of IPs allocated to them, but again, not my area of expertise.


No, countries don't have ranges allocated to them. RIRs (ARIN, RIPE, AFNIC, APNIC) do, and then they distribute those blocks to LIRs (ISPs) in their coverage area. However, now with IPv4 block exhaustion, it's common to port old PI v4 address space across RIRs, or for RIRs to donate blocks to eachother, so there isn't any guarantee about address mapping to continents even.

You can always use `whois` on an IP address from a command line to get all the public records about it that you need. This will have information about the RIR, LIR, and potentially end-user of the block.


Ah I see, interesting, thanks!


Recently I figured Kademlia is how bittorrent achieves trackerless torrents. I used bittorrent-dht[0][1] to build simple decentralised ride hailing app(was able implement POC with end to end booking). I wonder what other modern problems can be solved by this technology

[0]: https://github.com/webtorrent/bittorrent-dht

[1]: http://www.bittorrent.org/beps/bep_0005.html


Huge fan of Nucypher. Recently At one hackathon, I used your proxy re-encryption to build decentralised KYC system. Amazing work you guys are doing!


I thought its bitcoin address at first


Checkout command line based spreadsheet editor. sc-im(https://github.com/andmarti1424/sc-im) if you are heavy vim user, you would definitely love it


Checkout sc-im(https://github.com/andmarti1424/sc-im) if you are heavy vim user, you would definitely love it


I extensively use [pngpaste](https://github.com/jcsalterego/pngpaste)

Now I can copy any images from browsers/screenshot into any location in terminal I want


Would this make it possible to build active noise cancelling using software?


I wouldn't think so. If your cancelling signal is half a period out, you'll double the volume instead of cancelling it. That suggests the required latency is on the order of microseconds, not milliseconds.


Android already has an aec module that you can use. It's timestamp based using the timestamp calls to ALSA to perform the cancellation


It was introduced to me by CTO at my previous company.


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

Search: