Eric Meyer
meyerweb.com · Personal blog · on HN since 2007
Eric Meyer is a CSS expert who writes about web standards, accessibility and design, along with personal essays about his family.
What HN saysHN links his "Considered Harmful Essays Considered Harmful" and CSS posts, and commenters call his writing about his daughter Rebecca heartbreaking and gripping.
306HN people shared it
204linked it in comments
139stories submitted
2.9Kstory points
5 months agolast shared
2007people per year2026
Most-shared posts
- 1“Considered Harmful” Essays Considered Harmful102 people · 256 points · first shared 2008 · 79 comments on HN
- 2CSS Tools: Reset CSS18 people · 2 points · first shared 2011 · 1 comments on HN
- 3Rebeccapurple (2014)11 people · 20 points · first shared 2014 · 2 comments on HN
- 4Securing Web Sites Made Them Less Accessible9 people · 122 points · first shared 2018 · 47 comments on HN
- 5Inadvertent Algorithmic Cruelty6 people · 46 points · first shared 2014 · 1 comments on HN
- 6Blinded by the Light DOM6 people · 5 points · first shared 2023 · discussion on HN
- 7URL Decoder/Encoder6 people · 1 points · first shared 2014 · discussion on HN
- 8In memory of Rebecca Alison Meyer5 people · 141 points · first shared 2014 · 68 comments on HN
- 9Color Blender5 people · 1 points · first shared 2010 · discussion on HN
- 10Reset reloaded4 people · first shared 2008
- 11S54 people · first shared 2009
- 12Searching for Mark Pilgrim3 people · 228 points · first shared 2011 · 61 comments on HN
- 13Google did not unilaterally decide to kill XSLT3 people · 103 points · first shared 2025 · 128 comments on HN
- 14No, Apple Did Not Crowdfund :focus-visible in Safari3 people · 15 points · first shared 2022 · discussion on HN
- 15Wanted: Layout System3 people · 12 points · first shared 2009 · 1 comments on HN
What HN people wrote when they linked it
patates · 2026-06-18
Life is colorful, life is cruel. Do not just hug your loved ones, hug the people who cannot hug their loved ones. A bit of kindness and a bit of sympathy go a long way.
Rest in peace Rebecca.
https://meyerweb.com/eric/thoughts/2018/06/07/decimated/
n2h4 · 2025-05-28
wow, what a website. got totally immersed in your backstory. last time i had such fun was with https://meyerweb.com/
empathy_m · 2024-11-17
Eric Meyer's posts about his daughter's illness, and the family's lifelong process of grieving afterward, are heartbreaking. It's arresting, gripping writing. It's wonderful and awful. Hug your loved ones tight. https://meyerweb.com/eric/thoughts/category/personal/rebecca/
simonw · 2021-08-31
You may enjoy this classic then:
“Considered Harmful” Essays Considered Harmful
https://meyerweb.com/eric/comment/chech.html
awake · 2020-10-05
I like this idea, but how do you deal with pseudo bleed elements overlapping with sidebar content? For example many websites put navigation elements on the sidebar [1], or margin notes [2], [3]. I personally would love to see a css only solution for pseudo bleed with margin notes. The only solutions I've found so far use resize observer to absolutely position the margin notes using js or have hand coded positions and offsets.
[1]: https://meyerweb.com/eric/thoughts/2020/07/01/accordion-rows-in-css-gr…
[2]: https://www.gwern.net/About
[3]: https://www.inkandswitch.com/local-first.html
blowski · 2020-02-25
You’re going to love this essay by Eric Meyers.
https://meyerweb.com/eric/comment/chech.html
Now I await “Comments linking to the ‘considered harmful essays considered harmful’ essay on ‘x considered harmful’ discussions considered harmful”.
matheusmoreira · 2019-11-07
> I love fun toys like this and would love an awesome list of them if anyone has one.
From the Bastard Operator From Hell series:
http://pages.cs.wisc.edu/~ballard/bofh/bofhserver.pl
https://meyerweb.com/feeds/excuse/
Stratoscope · 2018-11-29
And this classic by Scott Meyers of Effective C++ fame:
"Considered Harmful" Essays Considered Harmful
https://meyerweb.com/eric/comment/chech.html
jf- · 2018-08-01
We’ve already had ‘considered harmful essays considered harmful’ [1], now I’m waiting eagerly for someone to write ‘software development considered harmful’, followed speedily by ‘communication via any form of symbolic representation considered harmful’.
[1] https://meyerweb.com/eric/comment/chech.html
sixhobbits · 2018-06-25
Obligatory link to why "considered harmful" essays might be harmful[0].
I'm not a docker "fan". I've seen one too many "hello-world" projects wrapped in docker and had to waste 30+ minutes and 2GB HDD space to do something that should have been a script.
That said, any essay that criticises docker without acknowledging the huge benefit of a layer between a full VM (more overhead, more space, more time) and dealing with platform specific issues (oh, if you're using version 3.5 of X and 4.2 of Y then you need to roll back the latest update of Z and sacrifice a goat to the Linux gods), is missing something.
I love the plain HTML and that I could read this in the train on a very spotty mobile connection.
[0] https://meyerweb.com/eric/comment/chech.html
carrja99 · 2018-06-25
An old favorite: “Considered Harmful” Essays Considered Harmful (https://meyerweb.com/eric/comment/chech.html).
mxuribe · 2017-01-30
Some of my favorites...
* Tantek Çelik -> http://tantek.com and https://indieweb.org
* Aaron Parecki -> https://aaronparecki.com and https://indieweb.org
* Patrick (patio11) McKenzie -> http://www.kalzumeus.com
* Moxie Marlinspike -> https://moxie.org
* Scott Hanselman -> http://www.hanselman.com
* Joel Spolsky -> https://www.joelonsoftware.com
* Jeff Atwood -> https://blog.codinghorror.com
* Gina Trapani -> http://ginatrapani.org
* Matthew Hodgson -> http://matrix.org and https://riot.im
* Armin Ronacher -> http://lucumr.pocoo.org
* Jeffrey Zeldman -> http://www.zeldman.com
* Eric Meyer -> http://meyerweb.com
dozzie · 2016-05-23
Stupid hype pumping with "considered harmful" considered harmful.
Also, the classic: http://meyerweb.com/eric/comment/chech.html
nathannecro · 2015-05-18
I just want to point to a post by Eric which essentially captures what it's like to hear that a loved one is chronically sick.
http://meyerweb.com/eric/thoughts/2013/08/19/77-hours/
antigirl · 2015-05-15
Thats not a great website IMHO.
Anyway you use frameworks for base styles, to assist you in setting up the ground work.
For example, reset and grid styles.
Bootstrap is quite bloated but you can mix and match and use whatever you like.
If you are learning then just use reset style sheet
http://meyerweb.com/eric/tools/css/reset/
and work out rest yourself.
lips · 2015-03-31
> The best part about this presentation, aside from the scrollable slides, is that it didn't break the back button. :-)
Because it's running on 100% pure Meyer: http://meyerweb.com/eric/tools/s5/
ntalbott · 2014-06-26
You forgot to reference the great recursive essay Eric Meyer wrote on exactly this topic:
http://meyerweb.com/eric/comment/chech.html
Which essay I already knew about and chose to willfully ignore when I titled the OP. We could chat over beers sometime as to whether I'm a bad person for doing so :-)
dingdingdang · 2014-06-21
I say read http://meyerweb.com/, the posts by Eric are beautiful, sad and ultimately courageous. God speed to him and his whole family.
BuildTheRobots · 2014-06-21
Before Rebecca passed, her older sister Carolyn requested help [1] to raise money for childhood cancer research by participating in a shave-a-thon.
I was slightly upset to see she only got to 90% ($10,443 of $11,500) of her goal [2] -I guess I'm hoping the internet can step up and help (I believe we can still add donations after the event).
Edit: I'd point out that "The family requests charitable donations be made in Rebecca’s name to the Philadelphia Ronald McDonald House [3] or the St. Baldrick’s Foundation. [1]", however I think it's important for Carolyn to know her earlier actions specifically were and continue to be worthy of support and respect.
[1] http://meyerweb.com/eric/thoughts/2014/02/26/a-st-baldricks-appeal-fro…
[2] https://www.stbaldricks.org/participants/mypage/663064/2014
[3] http://www.philarmh.org/
isleyaardvark · 2011-02-28
I love sass, but that's not what he's talking about. You still have to figure out your 2/3/whatever column layout. It's still a pain to figure out which elements to float and which to position absolutely. Much as I love sass, and I do love it, making the syntax easier to type doesn't make the fundamentals of the layout any easier.
Eric Meyer has a great post on the subject: http://meyerweb.com/eric/thoughts/2009/02/17/wanted-layout-system/
tgriesser · 2011-02-28
The Eric Meyer reset is great for a base sheet... clears all those little default values you probably forgot about http://meyerweb.com/eric/tools/css/reset/
I swear by 960.gs or any of the fluid interpretations (http://www.designinfluences.com/fluid960gs/) for most of my projects. It is such a simple concept to understand, adding classes .container_12 or .container_16 (now in 24 columns) to wrap your content and then .child_X classes to each div or block level item you need.
Saves a huge amount of time, and is something that lends its-self to more organized styles if you don't spend all of your time designing. When the objective is to ship something quickly, frameworks are absolutely the route to take.
samstokes · 2011-01-05
While I've experienced some of the same issues as the author, and came to the same conclusion (that we couldn't use Redis in VM mode in production), the subject line is unfairly alarmist.
We are using Redis in production (we had to adapt our usage patterns to the demands of an in-memory database, rather than relying on VM to give us unlimited storage) and I would recommend it.
"Considered harmful" is not warranted here: see http://meyerweb.com/eric/comment/chech.html
raganwald · 2010-03-17
For your reading pleasure:
“Considered Harmful” Essays Considered Harmful: http://meyerweb.com/eric/comment/chech.html
Three blog posts I'd love to read (and one that I wouldn't): http://weblog.raganwald.com/2007/10/three-blog-posts-id-love-to-read-a…
JoelSutherland · 2008-10-22
My major complaint with a table based layout isn't a semantic one, it is a pragmatic one.
Put a colspan or rowspan in your html and you've coupled your design/layout to your markup. Still though, it is often easier to make this compromise.
The hope here is that we ultimately get the best of all worlds. Easy grid layouts AND markup/presendation decoupling AND strong semantics.
jQuery's John Ressig may speed up the day that comes:
http://github.com/jeresig/sizzle/tree/master
http://meyerweb.com/eric/thoughts/2008/10/22/javascript-will-save-us-a…
mitchbob · 2026-03-08
I think Eric Meyer's is a nice one:
https://meyerweb.com/
Brajeshwar · 2024-08-22
Here is a thought you might want to consider and see if it makes sense. This is personal, but I also believe this is where design codes (especially CSS) are going to go.
It is not going to be Tailwind or more new frameworks. Honestly, I think all of these Bootstrap, Foundation, and Tailwind, etc. are like middle-layer abstractions are for designs that are neither small nor large. Bootstrap won because of the out-of-the-box UI designs that looked nice overall, and so did Tailwind. By the way, I love Tailwind's color palette, and I continue to steal from it all the time.
CSS (the actual raw CSS) has become so usable, easy and just works while browsers are so advanced these days, that I don't think we even need to reset/normalize/sanitize the styles.
The tools we need will soon be the ones that will integrate directly with IDEs, akin to how the likes of Figma are going. Imagine a designer either does an overall design or works on modules of components or StyleTiles that are reflected in the CSS either on its own or part of the Javascript-ified HTML markups. When a developer changes something, it is reflected back to the designer's tool so that the designer also knows what changed.
I believe this is where the AI-assisted ones will shine — their ability to bridge the relationship between the design and the code. The interface to interact with that can be the drawing tools (Photoshop, Affinity, Figma) for designers, prompts, or harry's wand (it does not matter).
In fact, for…
cb321 · 2022-07-02
TL;DR - the article seems to invent its own terminology for what many others might know as (roughly) "OMP parallel for" or a fork-join pattern [1] or even in POSIX shell a "a & b & c & wait" pattern. IIRC, the Python multiprocessing module calls it "imap_unordered". The "map" part of "map-reduce". Etc. I'm sure it has many names in both parallel and concurrent contexts which (at this level) share some control flow concepts.
When this pattern applies, it is indeed easier to use than less structured alternatives and error handling & resource clean-up & API design are perennial topics, but I'm not sure we need even more diverse terminology. For example, what the article dubs "nursery", most call a "pool" or "group". "Nurseries" are declared a new thing in a boldfaced paragraph with innovation claims only softened later or in footnotes. I think this is why a lot of pushback happens, but also see the funny [2] mentioned elsethread [3].
I did love the domesticated-wolf comparison pictures, though. :) (And I say that earnestly, not snarkily.)
[1] https://en.wikipedia.org/wiki/Fork%E2%80%93join_model
[2] https://meyerweb.com/eric/comment/chech.html
[3] https://news.ycombinator.com/item?id=31956840
gkoberger · 2019-10-24
I really hate this framing. The title is an old meme, but to me it always feels like a false way to present your case by making it feel more "official" than it really is. I'd rather it be titled something like "Here's why you should be careful when using Cloudflare" or "Cloudflare runs into issues when using Tor or disabling JavaScript". The framing shuts down all debate, and ignores that it's mostly just considered harmful by the author. (more: https://meyerweb.com/eric/comment/chech.html)
I personally love Cloudflare. It's made a ton of stuff a lot easier for me as a developer. Sure, there's some downsides... but that's true with any service. (And a lot of the complaints are opt-in features that the web developer enabled)
It seems the author only has problems with Cloudflare almost completely because he uses Tor. Unfortunately, most Tor traffic is malicious (94%, by Cloudflare's count), and the whole point of Cloudflare is to prevent malicious attacks.
Anytime you do something for privacy (block ads, disable JS, use Tor), unfortunately things won't always work exactly how you expect.
Lastly, it ends with a weird conspiracy theory... "It is probably a US Government-attached intelligence agency". Okay.
NumberSix · 2015-09-27
Dijkstra's "Go To statement considered harmful" article spawned a whole series of "XXX considered harmful" papers by various computer science researchers in the following years. This has even led to "Considered Harmful Considered Harmful" counter posts to the practice: http://meyerweb.com/eric/comment/chech.html
One can argue that these "considered harmful" taboos were largely personal opinions based on the, in retrospect, limited experience with early computers and computer programming projects. Modern computers are over 1000 times faster with 1000 times bigger memory and many other improvements. This, for example, makes scripting languages much more practical than in the 1960's, specifically making run-time type inference and similar implicit/weak typing methods feasible for many programming projects. These typing methods clearly break many of the rules established in the 1960's but empirically make software development much faster in most cases. C++11 caved into fifty years of real-world experience and added type inference with the auto keyword -- for example.
anujkk · 2011-11-18
While developing web applications and doing every part of it myself(design, coding, everything), I have noticed that I design my web apps in three stages:
1. Interaction Design: In this stage I design my web app's UX - mainly wireframes. The focus is on usability and not on look and feel. For this the only useful tools are paper, pen, whiteboard and an open, creative mind. Knowledge of html,css,js will help you in determining what is feasible and what is not.
2. Illustration(optional):In this stage I take wireframes as input and create a design that will look exactly like final desired product. I use vector graphics tools to create design and then export it into png files. If some heavy graphics is needed I also use raster graphics programs. Tools recommended:
1. Vector : Adobe Illustrator or Inkscape(open source)
2. Raster : Adobe Photoshop or GIMP(open source)
I don't use anything else.
3. Web Design : In this stage, I do actual front end development. I take png mockups created in previous stage and make webpages by coding html,css,js in my editor. Tools used :
a good editor(vim/emacs)
css reset(http://meyerweb.com/eric/tools/css/reset/)
jquery library(and some plugins)
Browser(Chrome/firefox for development/testing. IE8+ and Safari for testing)
Some browser plugins - Firebug, Color Pick, Resolution Test, etc.
Some sites - 0to255.com, kuler.adobe.com, ui-patterns.com,
smashingmagazine.com
That's it. Anything else isn't really necessary.
One more advice. Get…