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

    Paul Irish

    paulirish.com · Personal blog · on HN since 2009

    Paul Irish, a web developer on the Chrome team, writes about front-end techniques, browser internals, and performance tips.

    Visit blogHN submissions
    Web DevelopmentProgramming
    What HN says

    HN links it for practical web tricks like protocol-relative URLs, FOUT, and WebKit internals, and commenters note he posts rarely now.

    Stats for nerds
    127HN people shared it
    60linked in comments
    1.6Kstory points
    Dec 2025last shared
    2009people per year2025

    Top posts on HN

    1. 1
      * { box-sizing: border-box } FTW
      16 people · 361 points · first shared 2012 · 85 comments on HN
    2. 2
      WebKit for Developers
      6 people · 318 points · first shared 2013 · 36 comments on HN
    3. 3
      Browser Market Pollution: IE[x] is the new IE6
      4 people · 296 points · first shared 2011 · 87 comments on HN
    4. 4
      The HTML5 Shiv (2011)
      8 people · 119 points · first shared 2011 · 16 comments on HN
    5. 5
      Chrome Canary for Developers
      1 person · 86 points · first shared 2012 · 37 comments on HN
    6. 6
      The Fundamentals, Primitives and History of HTML5
      5 people · 71 points · first shared 2011 · 11 comments on HN
    7. 7
      Video Stabilization with FFmpeg and VidStab
      1 person · 52 points · first shared 2022 · 9 comments on HN
    8. 8
      What feature would improve the web?
      1 person · 43 points · first shared 2011 · 51 comments on HN
    9. 9
      Paul Irish is Goin' Goog
      1 person · 30 points · first shared 2010 · 21 comments on HN
    10. 10
      A browser benchmark that has your back: Robohornet
      1 person · 27 points · first shared 2012 · 10 comments on HN

    What HN people wrote when they linked it

    • franciscopNov 2018

      I'm the author of one of these independent CSS libraries that has been in the front page of HN several times. I normally use the libraries I write quite a lot, and it speeds things up for myself. This is mainly because of the deep knowledge I have for them, but if other people find them interesting so let it be.

      Why would still make sense for skilled teams like yours? I can think several reasons:

      - Prototyping: Probably not everything you do is detailed development and you might want to throw a quick prototype with not-too-bad styles. It won't be groundbreaking, but the ROI of using a CSS framework for those normally pays off.

      - Cross-browser testing: an open source library will get bug reports from many varied places, and normally it's well tested cross-browser. Do you know about all of the flexbugs [1]? Do you even want to know? What about the 2012 trick of Paul Irish for box-sizing [2]? Did you know it was updated in 2014 and how awesome this update is?

      - Documentation: when onboarding a new member on the team, if you are using one of the more popular libraries there is a large amount of documentation, github issues, stackoverflow questions and general articles on the web. While you might put the work to do this internally, even with great teams the internal documentation is normally very much worse than the OSS docs.

      - Other topics such as accessibility (color contrasts, keyboard states, etc) are normally polished in the libraries. It's not free, it comes after bug…

    • fatDec 2012

      hm… sorry it came off that way. :(

      fwiw, the amount of technical things i've learned from working on bootstrap is not proportional to the amount of work i've put into this project… at all. But, i never expected it to be, and that's totally fine.

      Have I learned any technical things? lol sure, of course!

      Funnily, the accessibility thing you linked to wasn't really something I learned building bootstrap… the presentation was all about how accessibility is too hard to really learn… and you need to become a specialist, which is sad times. Paul Irish wrote a great post about it a while back: http://paulirish.com/2012/accessibility-and-developers/

      maybe i learned that i knew nothing, but that was about it :P

      My friend Dustin (who created this writing topic on medium) asked me to write about the single most important thing i learned from working on bootstrap.

      And for me, that single thing was that I love working with people and hate working alone.

      It took me a while to realize that what was bumming me out the most about running bootstrap (and other projects) was that as they became more successful, there was more of an expectation that i would be working on them all the time (which meant the expectation that i would be working on them independently/alone all the time).

      That's ok from time to time, but isn't why I get excited about free software and ultimately i became pretty depressed/negative about the whole thing.

      I'm just now starting to identify what makes we want to…

    • tdupreeOct 2010

      You don't have to use a service like Typekit to use a pretty webfont. The advantage Typekit has is that it gives you access to a lot of font choices to use (which you wouldn't otherwise have access to) and hosts/serves up the fonts for you.

      Sites not using Typekit are most likely just using their own @font-face solution and hosting the fonts on their own server (which can also be a faster solution than loading in 3rd party font solutions).

      Never use fonts and just hope a user might have it. It's not too hard to roll your own solution for serving up pretty fonts using @font-face. You will need to read up on it to learn the ins and outs, and what sort of goofy idiosyncrasies exits that you need to deal with.

      I would recommend using the @font-face generator from fontsquirrel.com (http://www.fontsquirrel.com/fontface/generator). This helps you take a font you want to use and prepare it for the web, creating all the different font file types, as well as creating the css you need to use to embed the font for use.

      When you use the font, be sure to use it as part of a font-family, so that you can plan what fonts to use as a fallback in case your @font-face declarations don't work out.

      Understand that your font will be rendered differently between various browsers and operating systems. Sometimes using a css declaration like text-shadow (text-shadow: #FFF 0px 0px 1px;), and matching the text-shadow color to the background color the text is on, can help smooth out jaggies on…

    • alwillisApr 2023

      > border-box is about layout, content-box about content. You should aim to design things around content, not layout: leave layout to the parent.
      > border-box is incompatible with ratios: you need content-box there.
      > border-box is only actually useful for things like making body fill the viewport.

      I get the contrarian thing, but this doesn't make a whole lot of sense.

      Both border-box and content-box are about content; it's just a matter what's included or not in the width of a box. Sure, there's some truth about what designers expected, but they weren't the only ones who were confused about how a box's border and padding changed how content worked…

      There's a reason why virtually every widely-used CSS framework starts by changing content-box to border-box.

      It's one of those issues that if we could go back in a Time Machine, content-box would have been the default; this is the next best thing:

      html
      { box-sizing: border-box }
      *, *::before, *::after
      { box-sizing: inherit }

      References

      From 2012, which started it all: https://www.paulirish.com/2012/box-sizing-border-box-ftw/

      Developers are so psyched, border-box has a holiday: "International box-sizing Awareness Day"—https://css-tricks.com/international-box-sizing-awareness-day/

      CSS Tricks almanac: https://css-tricks.com/almanac/properties/b/box-sizing/

    • paulirishApr 2012

      This is a good thing, and there is basically no way around it.

      There is a varying degree of a WebKit monoculture on mobile. Without great site compatibility, users will never successfully switch to a non-webkit browser, but currently much of the great mobile content out there assumes webkit prefixes and userAgent. So Opera, Mozilla, and MS basically need to adopt some of the mobile webkit properties in order to get compatibility, in order to get users. It's either that or advocacy wherein we try to get every site ever to not publish with just WebKit prefixes. But in reality, this advocacy effort has been underway already for over two years and we're still in this bad situation.

      Look at the chart linked to from http://paulirish.com/2012/vendor-prefixes-are-not-developer-friendly/ When IE10 comes out (or it's complementary mobile browser), less than 25% of all sites that use CSS transitions will have them working in IE10.

      Vendor prefixes are bad for us as developers and they're bad for browsers because it leads to situations like these. We'd be in a better situation without them.

      BTW, one detail that wasn't really covered: I believe this change is localized to Opera's mobile browsers. Their desktop story is, I think, unchanged.

      (All the above is a personal opinion and not that of my employer, yadda yadda)

    • igraviousMar 2016

      Super! Just set up my first secure website with Nginx.

      Absolutely simple. Literally the only way it could have been easier is if letsencrypt had been installed on my Centos 6.7 box but it was only a `git clone' away.

      ---

      1) Stop the web server.

      2) ./letsencrypt-auto certonly --standalone -d _my_domain1_ -d _my_domain2_ ...
      At the curses prompt give it your contact email address, and accept the licence

      3) Edit nginx.conf - Change all listen 80s to listen 443s. Add the following commands

      ssl_certificate /etc/letsencrypt/live/_my_domain_/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/_my_domain_/privkey.pem;

      # bump up protection

      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_prefer_server_ciphers on;
      ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

      4) Start the web server

      5) Doh! Go through website changing hardcoded http:// links to protocol (scheme) relative links // See here: https://www.paulirish.com/2010/the-protocol-relative-url/

      6) Restart the web server

      ---

      Ok. It's doesn't seem that simple now that I say it but it was easier than wrestling with Apache and rewrite rules :)

    Related

    WebKit Blogwebkit.org723 people

    Face ID and Touch ID for the Web

    WebKit Blog
    Company · last shared 2026
    Peter-Paul Kochquirksmode.org266 people

    Web vs. native: let’s concede defeat

    Peter-Paul Koch
    Personal · last shared 2026
    Jeremy Keithadactio.com165 people

    Browsers

    Jeremy Keith
    Personal · last shared 2026
    Daniel Glazmanglazman.org22 people

    The Open Web Needs You Now

    Daniel Glazman
    Personal · last shared 2019
    Lea Veroulea.verou.me121 people

    Today’s JavaScript, from an outsider’s perspective (2020)

    Lea Verou
    Personal · last shared 2026
    Adam Argylenerdy.dev19 people

    Googler... ex-Googler

    Adam Argyle
    Personal · last shared 2026
    Paul Kinlanpaul.kinlan.me46 people

    Serverless Sync in Web Apps Using Bit Torrent

    Paul Kinlan
    Personal · last shared 2026
    Pony Fooponyfoo.com54 people

    The Controversial State of JavaScript Tooling

    Pony Foo
    Personal · last shared 2022