Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #4440

K

Kornelski Atom

Personal blog · kornel.ski · on HN as pornelprogramming

Kornelski Atom is a personal blog at kornel.ski about programming. Since 2016, 17 different Hacker News readers have linked it 23 times, most often “How to Compare Images Fairly (2017)”. The last post was in 2017, but the archive is still widely read.

Visit the blog
23mentions?
17HN people?
2016–2024first – last linked?
Links on Hacker News per year · peak 4 in 2016

Too few sampled comments (8) to say how often HN recommends it.?

Why HN links it

HN commenters link Kornel Lesiński's posts on image and GIF optimisation, including lossy GIF, fair benchmark comparisons, and proxies that alter content despite Cache-Control no-transform.

Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

pornel · 24,452 karma · member since 2009

https://kornel.ski @mastodon.social/@kornel

From their public HN profile, which links to this site.

Most-linked posts?

  1. How to Compare Images Fairly (2017)
    5 people · 6 mentions · first linked 2017-06-06
  2. Speed of Rust vs. C
    5 people · 5 mentions · first linked 2020-01-29
  3. Lossy GIF compressor
    4 people · 4 mentions · first linked 2017-11-18
  4. Deringing in DCT via overshoot and clipping
    3 people · 3 mentions · first linked 2016-05-20
  5. AnimGIFs Need a Better Codec
    2 people · 2 mentions · first linked 2017-03-14

What Hacker News says?

  1. The most common implementation of this appears to be from a company called Bytemobile which also injects some pretty buggy JavaScript into HTML content. The good news is that you can disable all of their degradation by adding "no-transform" to your Cache-Control headers: https://kornel.ski/en/proxies “The standard HTTP header Cache-Control: no-transform which tells proxies not to modify responses was respected by al…

    Comment linking /en/proxies

    on “YouTube's road to HTTPS”
  2. Submitted Speed of Rust vs. C as a story · 619 points

    HN discussion
  3. There are also wide quality variations across implementations. Kornel Lesiński has made some nice contributions to mozjpeg which improved quality significantly for images with sharp edges compared to the standard libjpeg: https://kornel.ski/deringing/

    Comment linking /deringing/

    on “Amazon Launchpad for Startups”
  4. Submitted Lossy GIF compressor as a story · 152 points

    HN discussion
  5. http://www.lcdf.org/gifsicle/ https://kornel.ski/lossygif you can also just compress user uploaded gifs serverside. but the top commenter is right, gifs are great because of they're functionality and simplicity. the better thing would be for the w3c and browsers vendors can get their act together (spoiler: they won't) and do things like make gif20, finish svg2, implement svgfonts, implement complete css3 specs, if y…

    Comment linking /lossygif

    on “Serve Videos Instead of GIFs”
  6. Submitted Speed of Rust vs. C as a story · 80 points

    HN discussion
  7. I agree that the parent claim ("Rust will quickly replace C in the Linux kernel") was utterly risible, but your comments just seem like the mirror image of theirs. What on earth is an 'impostor language'? Imposture of what or whom? I'm tired of having to deal with this culture war crap in our profession. These languages are tools. C, C++, and Rust all compile down to the same LLVM IR (or GCC if you stray from rustc)…

    Comment linking /rust-c-speed

    on “Rustaceans at the border”
  8. Submitted How to Compare Images Fairly (2017) as a story · 30 points

    HN discussion
  9. ezgif uses a lossy GIF compressor written by me — author of gif.ski. I can run: gifski -Q50 jazz-chromecast-ultra.gif -o even-smaller.gif and it reduces the same file by 65%. With -Q20 it can be 78% smaller: https://gif.ski/jazz-ultra-small.gif By that measure, gif.ski is 78% better than itself! With lossy compression it's always possible to make files smaller, and smaller, and smaller. Comparisons of lossy encoders…

    Comment linking /en/faircomparison

    on “Gifski: Optimized GIF Encoder”
  10. Submitted Speed of Rust vs. C as a story · 3 points

    HN discussion
  11. Also, unfamiliar with PHP, but a few years ago I somehow ended up maintaining/managing one or two reasonably trafficked Wordpress sites that some (untechnical) friends put together, so every now again I get to learn how weird some shit in PHP is. And it’s that time again, because the comment about name conflicts was confusing as I could’ve sworn that during couple times I’ve had to actually poke around PHP code I sa…

    Comment linking /en/phpns

    on “2020's fastest-rising tech jobs? Programming language PHP leads the way”
  12. Submitted Using C libraries in Rust: how to make a sys crate as a story · 3 points

    HN discussion
  13. Hard to find any. It's a primitive format ignoring 20 years of video compression research. It tries to be replacement for GIF by repeating its mistakes: it has very basic inter-frame compression, lacks motion vectors, doesn't guarantee keyframes, RGB-only, and frame decoding isn't parallelizable. In 8-bit mode it supports even fewer colors than GIF (GIF can combine frames to achieve thousands of colors), and in 24-b…

    Comment linking /efficient-gifs

    on “Chromium: Add support for Animated PNG”
  14. Submitted AnimGIFs Need a Better Codec as a story · 2 points

    HN discussion
  15. Your benchmark is not a legitimate comparison because it does not compare files of equal size. See https://kornel.ski/en/faircomparison for an explanation of the problems with your methodology. The files your closed source tool generates in this benchmark are 56% larger than those created by ImageOptim! Have your program generate smaller files and then post the results.

    Comment linking /en/faircomparison

    on “Essential Image Optimization”
  16. Submitted Deringing in DCT via overshoot and clipping as a story · 2 points

    HN discussion
  17. Technically it's about the same speed, but idiomatic Rust programs are structured differently, which has its ups and downs. I wrote an overview of Rust's performance characteristics: https://kornel.ski/rust-c-speed

    Comment linking /rust-c-speed

    on “Rust Lang in a nutshell”
  18. Submitted Deringing in DCT via overshoot and clipping as a story · 2 points

    HN discussion
  19. (author here), It wasn't available when I started this project. butteraugli was (which guetzli uses internally), but in my opinion they're relatively new and need a bit more rigorous review than I can provide. I ultimately chose SSIM not because it was the most accurate metric in all cases, there have been plenty of advancements since it was published. But I linked a paper comparing several alternatives and saw that…

    Comment linking /en/faircomparison

    on “Making Photos Smaller Without Quality Loss”
  20. Submitted How to Compare Images Fairly (2017) as a story · 1 points

    HN discussion
  21. Author here: yes, please use 21st century codecs whenever you can. This is intended only for interoperability. There are sites/apps that take "GIF" too literally and don't allow uploads of efficient formats. If you need to share a GIF now you can waste bandwidth at least without ruining the quality. I wrote this only because most encoders make GIFs look awful , as if nobody upgraded the encoders since '90s. This one…

    Comment linking /lossygif

    on “Highest-quality GIF encoder based on pngquant”
  22. Submitted How to compare images fairly (2014) as a story · 1 points

    HN discussion
  23. If you decide to implement optimizations beyond imagemagick's ones, you might want to consider other tools than Gifsicle: - lossygif for small size, based on gifsicle, https://kornel.ski/lossygif - Gifski for high quality, based on pngquant, ( https://gif.ski/ ) Both are made by Kornel Lesiński. Lossygif is actually result of a pull request being ignored by gifsicle maintainer(s) for years – more details in a recent…

    Comment linking /lossygif

    on “Show HN: Gifcurry – Your open source video to GIF maker built with Haskell”

Search all of HN for kornel.ski

Linked by the same people?