Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Aldo Cortesi

    corte.si · Personal blog · on HN since 2009

    Aldo Cortesi, a security and software developer, writes about visualizing binaries and sorting algorithms and about code, tooling, and security.

    Visit blogRSSHN submissions
    Data & VisualizationProgrammingSecurity
    What HN says

    HN commenters link his visualizations as clear, fun, and technically inventive, especially his work with space-filling curves and sorting algorithms.

    Stats for nerds
    88HN people shared it
    84linked in comments
    3Kstory points
    Sep 2017last shared
    2010people per year2017

    Top posts on HN

    1. 1
      Visualizing binaries with space-filling curves
      7 people · 352 points · first shared 2011 · 20 comments on HN
    2. 2
      Show HN: Mitmproxy 1.0 released, now with a web interface
      1 person · 248 points · first shared 2016 · 37 comments on HN
    3. 3
      Devd: a small, self-contained web daemon for developers
      1 person · 229 points · first shared 2015 · 34 comments on HN
    4. 4
      The impact of language choice on github projects
      4 people · 172 points · first shared 2009 · 32 comments on HN
    5. 5
      Introducing choir.io
      3 people · 154 points · first shared 2013 · 40 comments on HN
    6. 6
      Go: a nice language with an annoying personality
      1 person · 151 points · first shared 2013 · 97 comments on HN
    7. 7
      How to stop a story from appearing on Reddit
      2 people · 134 points · first shared 2010 · 30 comments on HN
    8. 8
      How mitmproxy works
      1 person · 120 points · first shared 2013 · 11 comments on HN
    9. 9
      The UDID leak is a privacy catastrophe
      1 person · 119 points · first shared 2012 · 51 comments on HN
    10. 10
      De-anonymizing Apple UDIDs with OpenFeint
      3 people · 100 points · first shared 2011 · 14 comments on HN

    What HN people wrote when they linked it

    • SmerityAug 2015

      Agreed re: the quality of Frank McSherry's posts - they're all great fun and push the technical envelope!

      I'm glad you brought up Hilbert ordering. It's fascinating but I rarely see it. I usually see Z-order curves in their place - simpler and more intuitive but also less effective. Does anyone know of large scale databases with Hilbert ordering out of the box?

      For anyone who hasn't seen them before, or why they help in ordering, I highly recommend "Portrait of the Hilbert curve"[1] and "Spatial indexing with Quadtrees and Hilbert Curves"[2]. The tldr is that they enable efficient multi-dimensional indexing. Given a request like "X < 40 and Y > 80", most databases need to run "X < 40" and then filter over the results for "Y > 80" - Hilbert curves allow you to find the query's intersection and only then perform minor filtering.

      As far as large scale use of Hilbert ordering, Google use it internally for much of their geographical work. They even open sourced a Java library specialised in multi-dimensional indexing based on Hilbert curves called Uzaygezen[3].

      [1]: http://corte.si/%2Fposts/code/hilbert/portrait/index.html

      [2]: http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves

      [3]: http://google-opensource.blogspot.com/2008/08/uzaygezen-multi-dimensional-indexing.html

    • johtsoApr 2012

      It's not really true that (due to the data being encrypted client side) your data is safe even if someone were to gain control of the server. It's something often claimed by these "Host Proof" style services.

      As long as you are downloading the client side code from the server, someone just needs to make a small change to the javascript and they get access to your data.

      Only if you can trust the code, and then make certain that the code does not change, is your data truly safe from the host.

      Cortesi (http://corte.si) has done some interesting writing on the subject. http://corte.si/posts/security/hostproof.html

      He implemented a similar service (http://cryp.sr + http://corte.si/posts/security/crypsr.html
      ), and also worked on creating a browser addon that would verify a webpage against a known hash (https://github.com/cortesi/apphash).

      Here are a couple of HN submissions on cryp.sr which have some discussions on the "Host Proof" concept:

      https://news.ycombinator.com/item?id=1438552

      https://news.ycombinator.com/item?id=1226277

    • AcornJun 2011

      If someone managed to compromise LastPass' servers, they would be able to modify the content that was sent to your browser, and thereby do anything they wanted with your master password after you typed it in.

      That's the weakness of services that are supposedly "Host-proof". If the host is sending you the webapp/javascript/webpage in which your data is decrypted, each and every time you visit their website, you have to trust that they wont (or someone else wont) modify it in a malicious way in order to gain access to your data.

      The only way to be safe from this kind of attack is to use the same trusted copy of the code, and not use any new versions until you trust that it is also safe, or to somehow verify that the webpage sent to your browser is exactly what you expect it to be.

      Cortesi has a very good write up on this issue: http://corte.si/posts/security/hostproof.html

    • pooriaazimiJul 2012

      As a side note, you can do something similar (albeit a thousand times safer, as you (= your computer) issues the certificates, not some unknown hacker) to fool Game Center.

      I get maybe 20 Game Center invites from 8 year old kids on a daily basis... The reason is I faked my score on the popular game Jetpack Joyride (I'm #1 out of 16 million players), and also beat Minesweeper's hard map in a few milliseconds (second guy is I think over a minute)...

      I did it just for fun and experiment, but apparently there are kids who really take Game Center seriously and I stopped doing it, not wanting to hurt their feelings. The instructions are here: http://corte.si/posts/code/mitmproxy/tute-gamecenter/index.html , but please don't go crazy, and don't submit ridiculous scores like I did. You may get your account banned (which is not a great thing, if you're a developer).

    • coderdudeApr 2012

      You might find this useful: http://corte.si/posts/visualisation/binvis/index.html

      and related: http://corte.si/posts/visualisation/entropy/index.html (visualizing entropy in binary files)

      I used his software on an unknown format from the 1988 game Circuit's Edge to find out if/where the file was encrypted or compressed. It works well and was able to give me a (very) general idea of where in the file I needed to look further.

      Edit: Nope, I remembered incorrectly. I used it on the game's .exe to tell me if I was dealing with a compressed executable. It turned out that it was compressed and so I went on a search for an ancient unpacker.

      See before and after:

      edge.exe packed: http://imgur.com/PlHGl

      edge.exe unpacked: http://imgur.com/jeFLb

    • biotJan 2012

      Humans are awesome at recognizing visual patterns. It's difficult to get a sense of what a file contains from a hex editor, but if you apply the right transformations on the data, distinct features stand out in the visualization.

      This allows people to recognize similarities between different files as the resulting patterns are revealed. Take this previous blog post by the same author:

      http://corte.si/posts/code/sortvis-fruitsalad/index.html

      This shows various sort methods operating on a set of unsorted data. If all you had visibility into was how the data was manipulated, by generating an image based on the data transformations, your pattern matching brain will quickly be able to see which sorting algorithm was used.

    Related

    Joey Hesskitenet.net/~joey24 people

    Adieu google

    Joey Hess
    Personal · last shared 2020
    Unlimited Noveltyunlimitednovelty.com42 people

    Node.js has jumped the shark

    Unlimited Novelty
    Personal · last shared 2023
    Rigsomelightrigsomelight.com16 people

    The Frameless Geodesic Dome I currently live in

    Rigsomelight
    Personal · last shared 2025
    Probably Danceprobablydance.com74 people

    Fibonacci Hashing: The Optimization That the World Forgot

    Probably Dance
    Personal · last shared 2026
    Gunnar Morlingmorling.dev56 people

    The One Billion Row Challenge

    Gunnar Morling
    Personal · last shared 2026
    Clifford Wolfclifford.at80 people

    Project IceStorm: open-source toolchain for Lattice iCE40 FPGAs

    Clifford Wolf
    Personal · last shared 2021
    Trail of Bits Blogblog.trailofbits.com278 people

    RSA is a fragile cryptosystem

    Trail of Bits Blog
    Company · last shared 2026
    Cliff Bifflecliffle.com81 people

    Rewriting m4vgalib in Rust

    Cliff Biffle
    Personal · last shared 2026