
0xF Rules - ingve
http://fabiensanglard.net/ilike/index.html
======
jfk13
Given that they're numbered from 0x0 to 0xF, there are actually 0x10 rules
listed.

~~~
fla
"There are 2 hard problems in computer science: cache invalidation, naming
things, and off-by-1 errors."

~~~
pwdisswordfish2
Can I ask a stupid question about this? I’ve always wondered what this quote
really means. It seems obvious that the author deems “cache invalidation” to
be badly or awkwardly named, but is that really the joke? Isn’t cache
invalidation a pretty straightforward term? Maybe I don’t feel the awkwardness
as much as a native English speaker? Or is it literally that cache
invalidation is hard? Isn’t cache invalidation on a completely different level
as naming things, both conceptually and in difficulty?

~~~
craigsmansion
> Or is it literally that cache invalidation is hard?

It's literally that cache invalidation is hard. You can also think of "cache
invalidation" as a substitute of concurrent programming: keeping multiple
related threads of logic synchronised.

>Isn’t cache invalidation on a completely different level as naming things,
both conceptually and in difficulty?

I'd say it's on a conceptually different level, but not less difficult, and
because "naming things" is easy, it's more insidious.

From my point of view "naming things" is a substitute for architecting
software instead of coding your way out of dead ends whilst inventing a lot of
off the cuff names in the process. (of course, in the current climate, such
ad-hoc solutions are now the standard, called "design patterns", and people
find names that have "Factory" in them twice a normal thing.)

~~~
Sesse__
No, naming things is really hard. Well, giving things (functions, variables,
classes, algorithms) _bad_ names is easy, giving them good names is hard. For
instance, when did you last see a class called <something>Manager? Then
consider the fact that “manager” means absolutely nothing.

~~~
uryga
> “manager” means absolutely nothing

do you know a better name for "window manager"? i don't mean to hold that up
as a paragon of great naming, just genuinely curious what you'd call it.

like, i'm no fan of AbstractFactories (or classes for that matter), but i
never quite got this sentiment. to me, "manager" suggests that you have a
bunch of resources that should be centrally _managed_ (created/freed,
whatever), and theres's something (perhaps an object) that handles that.

ofc it's really generic, and a more concrete name should be used if possible,
but i wouldn't say it's meaningless

------
jokoon
I have the same kind of website. I once showed it to an employer and he almost
laughed.

It's like the internet has been overtaken by an army of advertisers and
wannabees photoshop artists.

I'm curious about UX, because sometimes it's aimed to make consumers feel
good, and sometimes it's to be productive. I'm wondering if UX is backed by
science/engineering.

~~~
gumby
> I'm wondering if UX is backed by science/engineering.

Yes it is and has been for a long time. Time and motion studies were taken
throughout the 20th century and even in the 19th. (There was a recent HN
posting about such a study in aircraft cockpits of the 40s or 50s and the need
for adjustable seating, relaying to air crashes). Don Norman published one of
the first great such books (Design of everyday things) — check out the nuclear
plant photo!

There was a deep study of the efficacy of design in print media which
fascinatingly to be settled on different design points in different countries,
though the most scientific such studies waited until computers were readily
available.

Early GUIs were controversial and UX studies going back to the early 70s by
people like Stu Card and by Fitts have been both surprising and influential.
Xerox PARC where Card worked even hired anthropologists.

UX researchers are pretty important today. All the “big guys” (FAANG etc) and
less well funded companies as well.

Engineering? Well companies spend a lot on their sites and devices. You can
decide on that part.

~~~
AnIdiotOnTheNet
> UX researchers are pretty important today.

If that is true, one has to imagine that their skills are being employed
differently than they used to be. It feels to me like UX used to be about
serving the user's interests, which is definitely not something modern UX
paradigms seem to concern themselves with.

~~~
gumby
On web sites the goal is typically to tune the user experience to achieve the
company’s goals. Sometimes it may help the company if it takes you longer.

------
throwaway_pdp09
A thing about these fast, static and minimalist websites (which I love) is
that they use a monospaced font (which I don't love) instead of proportional,
which I find easier to read. See [http://antirez.com/](http://antirez.com/) as
another ecxample

It's not a criticism but an observation that giving up on so much modern junk
seems to mean discarding something I consider good; better fonts.

Not intended to be provocative, just a note.

~~~
jrockway
I spent a lot of time thinking about this when I redesigned my own website. I
really like the narrowness of Iosevka, and couldn't find a good proportional
font to match its look and feel. So I just used Iosevka for the body text too.
(I am currently experimenting with a quasi-proportional variant, Iosevka Aile,
but I am not quite sure how I feel about it.) It looks weird, especially with
justification, but I think I'll probably keep it.

------
bloak
Justified text with a monospaced font is an unusual choice.

(I can't work out whether my browser is stretching the space between letters
as well as the space between words.)

~~~
rejschaap
I also like monospaced fonts, but using them for articles is a bit unusual.
Justifying monospaced fonts seems wrong on some levels, but who am I to judge.

In my browser only the spaces between words get stretched, spaces between
letters are not affected.

~~~
hk__2
If you care about your readers, justifying _any_ font is wrong. Justification
makes the text “look nice” but harder to read; it should be avoided as much as
possible.

~~~
garaetjjte
Justification generally isn't that bad, but browser implementation are much
worse than real typesetting system, like TeX.

~~~
hk__2
Justification doesn’t make any sense. Why would you want to have spaces of
variable size, making the text harder to read?

------
juped
Well, this is clearly inviting tons of subjective opinion threading, so here's
the version tweaked for my preferences.

0x0. I like blazing-fast websites.

0x1. I like websites that are easy to read.

0x2. I like websites that are device-agnostic.

0x3. I like when the authorial voice is identifiable.

0x4. I like when the author leaves contact information.

0x5. I like when a full changelog is available.

0x6. I like justified text.

0x7. I like when quotes and citations are easy to find.

0x8. I like to minimize technology wherever possible.

0x9. I like RSS.

0xA. I dislike analytics which serve the author's ego and track me.

0xB. I dislike the blog format.

0xC. I dislike ads.

0xD. I dislike sites with wide main content.

0xE. I dislike visible reflow.

0xF. I dislike parasitism on main content.

~~~
azatris
How do you differentiate between analytics that serve the author's ego and
analytics that serve other purposes?

~~~
hk__2
> How do you differentiate between analytics that serve the author's ego and
> analytics that serve other purposes?

What are those other purposes?

~~~
mattlondon
I have in the past built websites where I _assumed_ that Part A would be the
most popular part and so put a lot of effort and work into Part A. Less effort
was put into Parts B, C, D etc.

When I launched it and let it run for a while, it turned out - thanks to
analytics - that Part B was the run-away success that was getting lots of
search-engine traffic and 90% of the visits to the site.

Had I not had analytics then I'd not have known that and would not know which
parts of the site people valued. As a result I put the larger part of my focus
into Part B instead.

~~~
tleb_
That can be solved through server-side log parsing assuming bots visit either
all or nothing of your website (close to reality no?).

~~~
emilfihlman
Ie analytics

------
irishsultan
Because the images on that page don't have a size set on the img tag I do get
visible reflow when visiting that page.

------
rspoerri
I dont like the vertical spacing of the font. While it makes the page shorter,
it's bad for reading. Getting a lot of text on one page is good for
programming (getting a overview, quick access of areas), but for reading it's
generally worse (sequential action).

Othervise i can follow most guidelines.

------
simplicio
I liked Fabien's old site. With the images that faded in when you moused over
them, to give you some idea of what a given article was about before you
clicked on it. I don't remember it as being particularly slow to load, though
I wasn't timing it or anything. Not a big deal, I doubt I'm conscious of the
design of a blog for more than a second or two after I load it, but not sure
the change is an unalloyed good.

------
mattlondon
I really enjoy Fabien's articles - really great fascinating stuff.

I have to wonder about the choice of custom PHP to generate the pages,
especially if you are going to start from scratch when the intention is
drastic simplicity?

I can understand the rationale of picking PHP many years ago to hand-roll
something, but these days there are a lot of excellent static site generators
which might be a better choice? E.g. Jekyll is _very_ simple and flexible in
my experience, and you can hand-roll some HTML + CSS and get something looking
and behaving (e.g. URL structure) how you like very easily. I have had less
success with Hugo (in terms of URL structure etc), but I know a lot of people
prefer it to Jekyll for its golang-based compile performance.

Am I missing something for the rationale for PHP here?

It would seem that most of the rules here are editorial/design decisions
rather than technical restrictions really. I guess perhaps there is the legacy
issue of loads of old articles that are written in PHP that would need to be
migrated, but that sounds like something that can be trivially automated and
would only need to be done once.

~~~
as1mov
Not sure about the OP, but I have a small devlog which is basically just a
Bash script which I run whenever I need to write a new post. The script takes
a bunch of markdown files in a folder and spits out HTML files (common
index.html + files of each individual post) with a header/footer. This HTML is
then served using a web server.

I just tried visiting the Jekyll website to see how to get started, the
documentation page has the following under the Getting Started section --

1) Install Ruby, Ruby Gems.

2) Understand what Gem, Gemfiles, Bundler(?) are.

3) Tells me about it's community for some reason.

4) Finally there's a page which tells me how to make a 'Hello World' blog.

5) 10 more pages explaining what Liquid, layouts, includes, datafiles, assets,
deployment are.

6) I still don't know how to make a new post.

Most static site generators have too much of cognitive load. I just want a
bunch of plain HTML files generated (ideally in <1s + no JS) from a bunch of
markdown files, I don't really care for 99% of the features these things have.
I would rather spend a few hours a write a simple script to do it myself
instead of wading through the documentation looking for the relevant parts.

~~~
discreditable
I left Octopress (a flavor jekyll) for those reasons[1]. Pelican[2] is what I
use now. It takes a dir of markdown files and makes a decent website. It was
even easy for me to write a no-nonsense theme without being good at python.

[1] [https://brashear.me/blog/2017/07/30/migration-from-
octopress...](https://brashear.me/blog/2017/07/30/migration-from-octopress-to-
pelican/)

[2] [https://blog.getpelican.com/](https://blog.getpelican.com/)

------
timvdalen
I dislike sites that don't redirect HTTP to HTTPS.

~~~
janpot
I also dislike sites that don't use semantic and accessible markup

------
p4bl0
My website [0] exists by the same rules. Only differences are that I use a
Makefile and Bash scripts relying on the GNU coreutils and xml2/2xml [1] to
generate static pages from my template, and I use git to synchronize it with
my server. Oh, and I write these in Emacs :).

0\. [https://pablo.rauzy.name/](https://pablo.rauzy.name/)

1\.
[https://packages.debian.org/buster/xml2](https://packages.debian.org/buster/xml2)

------
shdon
I actually rather miss the commenting on Fabien's site. IIRC, he initially
kept the comments underneath the older articles, but now those are gone too.
On his site at least, the comments were frequently quite insightful or at
least asking interesting questions.

Yes, there's also spam and trolling in comments, but eliminating them entirely
feels like a waste and cuts off an important way of interacting with the
readers. At least personally, I'm far more likely to ask a question or to
point out a mistake in a comment than I am to send off an e-mail.

------
dysoco
As much as I'm an advocate for simple websites; I still prefer his old design.

It was simple and wasn't bloated, and it was much more readable imho.

------
nyanpasu64
>I like when the author's name is clearly stated.

Legal name, or online identity? I don't feel comfortable revealing my legal
name online.

~~~
ebg13
> _Legal name, or online identity? I don 't feel comfortable revealing my
> legal name online._

Name that a reader can recognize as something that identifies you to the
collective. There's a 0% chance that he cares what your parents wrote on a
paper at the hospital.

------
satish-setty
> 0x6. I like monospaced fonts.

Author doesn't follow his own advice?

[http://fabiensanglard.net/git_code_review/index.php](http://fabiensanglard.net/git_code_review/index.php)

May be he forgot to update his php pages, which are all in proportional fonts.

~~~
davidcollantes
He changed layout and theme in 2018. See related post[0].

[0]
[http://fabiensanglard.net/bloated/index.html](http://fabiensanglard.net/bloated/index.html)

------
lostmsu
His contrast is too low even for my normal eyes. Did not notice that initially
though, until I turned off Dark Reader extension to view website colors as
designed.

~~~
ebg13
Eh? The text contrast is 19.20 which is a AAA pass for WCAG. It uses literally
the same text fgc/bgc as HN.

~~~
lostmsu
I do raise it here too. But might be related to my monitor's settings.

~~~
ebg13
You should fix your monitor.

------
eddieoz
The next step is having the same but decentralised, uncensorable and with the
domain absolutely under your control.

I think it is the best way to have your complete freedom.

------
gumby
I still prefer rss because going to the web site Just to see what’s new is
annoying.

------
pfortuny
I do not like the “serves the ego”.

Like:

(1) Is there anything wrong in an ego? (2) If it were wrong, are you sure the
intent is to serve the ego?

~~~
boomlinde
There is something wrong if you do it at my expense

------
thosakwe
What if I told you that you can have all of these things, while also having a
website that looks good?

~~~
recursive
Good looking website without proportional font? I don't believe it.

