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 · #7951

C

Chris Adams

Personal blog · chris.improbable.org · on HN as acdhawebprogramming

Chris Adams's personal blog at chris.improbable.org covers web and programming. Since 2011, 10 different Hacker News readers have linked it 28 times, most often “So you think you know what a number is”. The last post was in 2014, but the archive is still widely read.

Visit the blog
28mentions?
10HN people?
2011–2025first – last linked?
Links on Hacker News per year · peak 6 in 2015

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

Why HN links it

Linked for posts on old book illustrations, including how the images were processed from Internet Archive scans. The one substantive comment is about the illustration work, and the other comments do not discuss this writing.

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

The author on HN?

acdha · 41,829 karma · member since 2008

https://chris.improbable.org https://github.com/acdha https://code4lib.social/@acdha

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

Most-linked posts?

  1. So you think you know what a number is
    2 people · 2 mentions · first linked 2019-06-21
  2. How the Atari ST Almost Had Real Unix
    2 people · 2 mentions · first linked 2025-02-03

What Hacker News says?

  1. Since you mentioned that your entire site isn't in Japanese, in addition to what other people specified, I would now recommend using the CSS unicode-range selector. That allows you to list a web font declaration with a range of Unicode code points and most modern browsers now implement the optimization where it only downloads the font when text on the page contains a character in that range. I tossed together an exa…

    Comment linking /experiments/browser/webfonts/universal-noto-sans/single-name.html

    on “Google Noto Fonts”
  2. Submitted So you think you know what a number is as a story · 64 points

    HN discussion
  3. Do you have any advice for how quick we should be to report bugs? I just noticed my old homepage[1] crashes webrender (not normal rendering) after scrolling a bit and was wondering whether that kind of thing is worth reporting or if the code is in such active work that it's not worth wasting someone's time managing the issue. 1. http://chris.improbable.org

    Comment linking /

    on “Mozilla Servo alpha will be released in June”
  4. Submitted Why I will never pursue cheating again (2011) as a story · 14 points

    HN discussion
  5. I would be remiss in not thanking the Varnish cache developers, too: it's using CloudFront now but Varnish came in quite handy when we suddenly jumped from mostly images to some large videos like http://science.nasa.gov/science-news/science-at-nasa/2010/21... shortly after launch. The scariest bit of code was probably the scraper + html5lib normalizer I used to migrate something like 15 years of legacy static HTML c…

    Comment linking /2009/10/16/deploying-django-sites/

    on “Bright Explosion on the Moon”
  6. Submitted How the Atari ST Almost Had Real Unix as a story · 9 points

    HN discussion
  7. Just wanted to +1 this. There are literally decades of convention built around patterns where you ship a standard config file which merges in system/user/instance-specific settings from a known location, command-line argument, environment, etc. The Debian world in particular has lead the community for decades with the use of debconf to store values such as a hostname or server role which can automatically be re-appl…

    Comment linking /2009/10/16/deploying-django-sites/

    on “How We Deploy Python Code”
  8. Submitted How the Atari ST Almost Had Real Unix as a story · 4 points

    HN discussion
  9. I switched to this years ago with some Python code which uses the data embedded in the HTML source to generate things like feeds or re-applying templates. I've mostly neglected it for years but am generally happy with the approach of developing templates interactively and then having a script which just pulls values across using selectors (e.g. take [itemprop="articleBody"] from the original page and use its childre…

    Comment linking /2014/8/25/adventures-in-unicode-digits/

    on “Writing HTML in HTML”
  10. Submitted So you think you know what a number is as a story · 3 points

    HN discussion
  11. Tesseract is great in certain situations but a lot comes down to having a robust preprocessing pipeline and a correction flow. I wrote about this a few years back: https://chris.improbable.org/2014/3/17/content-search-on-a-b... https://blogs.loc.gov/thesignal/2014/08/making-scanned-conte... Basically the big problems are getting the content deskewed (even a slight rotation will cause accuracy to plummet, which is a…

    Comment linking /2014/3/17/content-search-on-a-budget/

    on “Georgian African American newspapers from 1886-1926 now available freely online”
  12. Submitted Dear EFF: please don't pick the wrong fight as a story · 3 points

    HN discussion
  13. This very much depends on the bugs. In the past I've found many bugs in text rendering (especially related to non-English text[1][2]), layering (inconstent opacity), audio and video playback, etc. which were dependent on the combination of browser, operating system, and, in some cases, hardware. The general trend has been for browsers like Chrome and Firefox to take over more responsibility but that's not what Apple…

    Comment linking /experiments/browser/javanese-text-rendering.html

    on “Hetzner Apple Mac Mini Offering”
  14. Submitted Django performance monitoring using Chrome's SpeedTracer as a story · 1 points

    HN discussion
  15. [As per the HTML5 spec]( http://www.whatwg.org/specs/web-apps/current-work/multipage/... ) new values are proprosed in the microformats wiki: http://microformats.org/wiki/existing-rel-values#HTML5_link_... You'll note that ``prerender`` is there as well as the ``subresource`` link relation which is a stronger form of ``prefetch`` stating that the resource will be used by the current page rather than likely to be use…

    Comment linking /experiments/browser/prefetch-timing.html

    on “Using HTML5 prerendering to speed up a multi-page registration process”
  16. You're generally right about `sans-serif` vs. Arial/Helvetica. There used to be a complication in that even on OS X, Arial has significantly more glyphs than Helvetica but as browsers get better font substitution support and stop breaking ligatures ( http://chris.improbable.org/experiments/browser/combining-ha... ) this matters less. It would, of course, also be significantly less important if they optimized the dow…

    Comment linking /experiments/browser/combining-half-marks/

    on “Windows Chrome, why do my fonts look so bad?”
  17. Browsers are in a tough spot: when you specify a font, there's no way to programmatically determine how critical that font is to your design (see the FOUT discussion saurik linked above). There are two things which we need to fix this: 1. Simple, robust font load events so you could treat this like any other type of content and make the decision about whether to display an alternative until something finishes loadin…

    Comment linking /experiments/browser/webfonts/universal-noto-sans/

    on “Windows Chrome, why do my fonts look so bad?”
  18. Interestingly, that's true for scripts but it's not for webfonts because @font-face allows multiple sources, including local system fonts, and the browser will keep trying until it finds one which works. Here's a test page: http://chris.improbable.org/experiments/browser/webfonts/web... You can see that it first gets a 404 before continuing on to a URL which works: http://www.webpagetest.org/result/150221_J4_43K/1/d…

    Comment linking /experiments/browser/webfonts/webfont-failover.css

    on “Google Webfonts, the Spy Inside?”
  19. A good way for Google to address this would be by enabling CORS and encouraging the use of crossorigin=anonymous to avoid credentials being sent for fonts: <link href=' http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' crossorigin='anonymous'> Unfortunately, a quick test ( http://chris.improbable.org/experiments/browser/webfonts/goo... ) shows that this can't be done currently becaus…

    Comment linking /experiments/browser/webfonts/google-fonts-crossorigin.html

    on “Google Webfonts, the Spy Inside?”
  20. beardicus · 2015-12-15Recommends
    Very nicely done, and it looks like a totally manual process still? I was just working on processing some old beekeeping book illustrations the other day, using scans from the Internet Archive. Based on Mike Bostock's article /Why Use Make/ [1] where he explains the usefulness of capturing your process in a makefile for reproducibility, I made a makefile that downloads the source imagery, crops, adjusts levels, shar…

    Comment linking /2013/08/31/extracting-images-from-scanned-pages/

    on “Old Book Illustrations”
  21. But … it took 5+ years not to freeze the UI if the network dropped a packet and lookupd ran out of threads. This was much worse if you used a network authentication service like LDAP – I submitted the same libldap client patches which I sent upstream to the OSS devs ( http://chris.improbable.org/2008/03/15/borrowing-from-the-fu... ) – but this and NFS client kernel deadlocks and other problems (they accidentally bro…

    Comment linking /2008/03/15/borrowing-from-the-future/

    on “Apple Is Using Sass, And They’re Doing It Wrong”
  22. That actually came up in the comments ( http://chris.improbable.org/2014/8/25/adventures-in-unicode-... ) Apparently the Unicode consortium chose to exclude those characters because they weren't encoded in a contiguous sequence so they're defined as Numeric_Type=Digit rather than Numeric_Type=Decimal. They've apparently realized that this is not helpful but chose to apply the updated policy only to new ranges.

    Comment linking /2014/8/25/adventures-in-unicode-digits/

    on “So you think you know what a number is”
  23. Use real browsers - both with artificial testing environments like webpagetest.org and Real User Monitoring to see what your users actually experience. I won't recommend a specific RUM tool as there are a bunch of options but they all use JavaScript to get basic information and the new Navigation Timing API to get more detailed values: https://developer.mozilla.org/en-US/docs/Navigation_timing … and the even newer R…

    Comment linking /2012/5/18/google-analytics-deceptive-site-speed-report/

    on “Tips for authoring fast-loading HTML pages”
  24. Depends on standard - within the clued-in performance community, yes, but there are major, major companies still pushing averages and that causes a lot of people, particularly those without much stats / engineering background, to expect it everywhere. To use one example which is prevalent throughout marketing, advertising, etc. Google Analytics reports only averages – this makes the results unreliable enough that I'…

    Comment linking /2012/05/18/google-analytics-deceptive-site-speed-report/

    on “Why Average Latency Is a Terrible Way To Track Website Performance”
  25. Sithu, Here are a couple of resources that I tend to hand out to startups that we do work for at Matasano. No charge :-) Not trying to be a salesperson, but I feel like most startups get more value out of sitting down with a security consultant for a couple days and talking about architecture and dev processes then they do getting a full penetration test. Like the presentations say, the big risk in the early days is…

    Comment linking /2009/9/24/indie-software-security-a-~12-step-program/

    on “Ask HN: Best security practices for startups”
  26. https://jrock.us/ https://jgc.org/ http://kaledavis.com/ https://aegir.sexy/ https://www.gwern.net/ https://jacquesmattheij.com/ https://danwin.com/ https://www.kalzumeus.com/ https://www.magic.do/ https://edweissman.com/ https://jakeseliger.com/ http://www.fogus.me/ https://www.stavros.io/ https://jasonlefkowitz.net/ https://minimaxir.com/ https://www.robinwhittleton.com/ https://ciexinc.com/ https://rongarret.info…

    Comment linking /

    on “Ask HN: What are your favorite personal sites?”

Search all of HN for chris.improbable.org