New Rules of Web Design for The Worst Age of Web Design

New Rules of Web Design for The Worst Age of Web Design

These rules didn’t used to exist, because they didn’t need to exist, because web design used to not go out of its way to kneecap the basic functionality of a person using a website. But here we are. So here are the new rules of web design for the hell that exists. If I type, it should type what I type. Do not slow down my typing because you want to present a live search. I type 60 words/minute, except when I’m typing in a live search box, and then I’m down to 60 characters/minute plus a bit of hatred because a website wants to slowly update the live search after every character. ...

December 15, 2021 · 2 min · Justin
This blog is temporarily broken.

This blog is temporarily broken.

Will be fixed later.

December 15, 2021 · 1 min · Justin
This blog now has diagrams!

This blog now has diagrams!

2022 Note: Now that I’m on Hugo blogging system, this post is out of date. I’ve always wanted to be able to put simple diagrams in this blog without going through the trouble of graphically creating them in LucidChart or Balsamiq. I just want to type in text, and have it convert to a chart. graph TD A[Blog with no diagrams] --> B B(Download mermaid.js) --> C{Do you like it?} C -->|Yes| D C -->|No| E D[Me too.] E[Troublesome.] How I did this First I added these two lines to my footer. (All my JS is in the footer. It was the “best practice” back when I made this theme.) ...

December 10, 2019 · 2 min · Justin

Reading Martin Fowler's Recommended Reading on Microservices

All of this comes from reading everything in Martin Fowler’s https://www.martinfowler.com/microservices/, and many of its linked articles. Core reading Microservices https://www.martinfowler.com/articles/microservices.html Microservice architectural style: building applications as suites of services Amazon has the idea of a Two Pizza Team - a team should be feedable by two pizzas Smart Endpoints Dumb Pipes - There is no smart choreography of messages or central busses, just straight service calls over http or something similarly simple. At most, there are message queue services (e.g. rabbitmq). ...

October 31, 2018 · 8 min · Justin

One Parent CSS

How I write CSS. I follow the rule of only having one parent. It’s just enough hierarchical information to tell me where an element should be used. But it doesn’t create a large and fragile hierarchy. (And all hierarchies become fragile once the code is in maintenance mode.) It’s easy to create a base style for an element, while still being able to modify it slightly for specific places. It does the above two while minimizing the number of classes needed on a particular element. For simple websites, an element should only need one, damn class. My goal in One Parent CSS is not just to create good CSS, but to avoid a few patterns I hate. ...

August 2, 2016 · 2 min · Justin

HTML5 Semantic Markup is for HTML, not CSS

I hand-crafted the CSS for the site. It’s still a work in progress. I learned that while semantic tags are good for HTML, they’re not that great for CSS. The great HTML5 semantic tags like section, article, header, and footer may be great for crawlers, and nice when you’re reading the HTML, but when I tried to rely on them exclusively for CSS it just resulted in confusing markup. The “article > footer” question When you’re reading CSS, what do you think article > footer {...} means? ...

July 27, 2016 · 2 min · Justin

font-feature-settings should not be used in code blocks

font-feature-settings is a great CSS feature to play with, but it should probably be turned off in code blocks. With Markdown and highlight.js, that means adding this little piece of CSS to your stylesheet. pre, code { font-feature-settings: normal; }

July 20, 2016 · 1 min · Justin