frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

France's homegrown open source online office suite

https://github.com/suitenumerique
431•nar001•4h ago•206 comments

British drivers over 70 to face eye tests every three years

https://www.bbc.com/news/articles/c205nxy0p31o
136•bookofjoe•1h ago•115 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
438•theblazehen•2d ago•158 comments

Leisure Suit Larry's Al Lowe on model trains, funny deaths and Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
27•thelok•1h ago•2 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
87•AlexeyBrin•5h ago•17 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
779•klaussilveira•19h ago•241 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
35•vinhnx•3h ago•4 comments

Software Factories and the Agentic Moment

https://factory.strongdm.ai/
22•mellosouls•2h ago•17 comments

First Proof

https://arxiv.org/abs/2602.05192
39•samasblack•2h ago•24 comments

Reinforcement Learning from Human Feedback

https://arxiv.org/abs/2504.12501
56•onurkanbkrc•4h ago•3 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1027•xnx•1d ago•583 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
173•alainrk•4h ago•231 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
168•jesperordrup•10h ago•62 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
24•rbanffy•4d ago•5 comments

StrongDM's AI team build serious software without even looking at the code

https://simonwillison.net/2026/Feb/7/software-factory/
19•simonw•2h ago•16 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
103•videotopia•4d ago•27 comments

Vinklu Turns Forgotten Plot in Bucharest into Tiny Coffee Shop

https://design-milk.com/vinklu-turns-forgotten-plot-in-bucharest-into-tiny-coffee-shop/
5•surprisetalk•5d ago•0 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
14•marklit•5d ago•0 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
265•isitcontent•20h ago•33 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
152•matheusalmeida•2d ago•42 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
277•dmpetrov•20h ago•147 comments

Ga68, a GNU Algol 68 Compiler

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
35•matt_d•4d ago•10 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
546•todsacerdoti•1d ago•263 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
419•ostacke•1d ago•110 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
65•helloplanets•4d ago•69 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
364•vecti•22h ago•165 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
338•eljojo•22h ago•207 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
16•sandGorgon•2d ago•4 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
457•lstoll•1d ago•301 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
372•aktau•1d ago•195 comments
Open in hackernews

CSS for Styling a Markdown Post

https://webdev.bryanhogan.com/miscellaneous/styling-markdown/
67•bryanhogan•4mo ago

Comments

Gualdrapo•3mo ago
The article mentions targeting both `<picture>` and `<img>` elements, but that is redundant - just target `<img>`s. `<picture>` has to have one `<img>` node anyway.
bryanhogan•3mo ago
Thanks for this! Gonna update the post.
byhemechi•3mo ago
I personally always use

  picture {
    display: contents;
  }
so that flexbox behaves in a way you would expect.
Brajeshwar•3mo ago
Writing CSS for Markdown is Writing CSS for the standard HTML elements. This is where those Classless CSS works pretty well. Pick the one you like and then add your own. That should keep the CSS file size low enough to be negligible and sometime even embed in your HTML.

- <https://classless.de>

- <https://github.com/dbohdan/classless-css>

bryanhogan•3mo ago
Thanks for sharing this as well! I will mention that repo of classless CSS projects.

I also mentioned that using one of these is a viable alternative to writing your own. I included a link to this repo there: https://github.com/swyxio/spark-joy/blob/master/README.md#dr...

I want this guide page to also explain the decisions behind CSS for styling markdown as well though. I'm hoping to help people be able to write their own CSS, or at least become better at evaluating existing projects.

webprofusion•3mo ago
I think I probably used this one https://github.com/sindresorhus/github-markdown-css
bryanhogan•3mo ago
It's truly wonderful that this post is getting some traction a whole week after I posted it!

If you have any feedback, e.g. possible improvements, or links to other relevant high-quality sources please let me know!

bryanhogan•3mo ago
I also just realised that one paragraph is duplicated, will fix that later.

My aim for this site is to make it into a guide on creating clean bloat-free websites that can scale well.

ggm•3mo ago
Side by side markdown and its rendering under this CSS?

For every instance of a Markdown element in the common core?

With tuners, selectors or sliders to make variables change?

chrismorgan•3mo ago
This article doesn’t fill me with confidence.

—⁂—

> Styling Markdown

As others have said, this is nothing to do with Markdown. It’s regular HTML styling.

—⁂—

> Paragraph <p>

… proceeds to talk about CSS Custom Properties (misnaming them CSS Variables—I wouldn’t mind “CSS variables” so much, but the capital V implies a proper noun), which are utterly irrelevant to styling, and body styles, saying that <p> then needs nothing extra.

  body {
      font-family: ui-sans-serif, "Source Sans Pro", "Helvetica", system-ui;
      line-height: 1.75;
  }
No, no, no.

1. ui-sans-serif and system-ui are inappropriate here. UI fonts are not designed for long-form content, and in some OS/language combinations you’ll get an absolutely obnoxious result. Just use `sans-serif`. Or `"Source Sans Pro", sans-serif` if you’re loading that as a web font.

2. 1.75 is unreasonably spacious, especially on small displays. If you’re choosing a single value, you probably shouldn’t go beyond 1.5.

—⁂—

  h1, h2, h3, h4, h5, h6 {
      overflow-wrap: anywhere;
  }
If you think this is worthwhile, you should probably apply it to more than just headings. You may argue that headings’ larger sizes make overflow within a single word more likely, but in my experience it happens much more often in body text, when you do things like write a URL out literally.

—⁂—

  img, picture {
      object-fit: scale-down;
  }
Unnecessary, given `height: auto`. Aside: I believe this is the first time I’ve ever seen scale-down used.

> If you are using a framework like Astro, to center the image you will want to add margin-inline: auto and display: block to center the image.

What has this to do with Astro!? Just as Markdown is a red herring or worse, Astro is irrelevant here.

—⁂—

  ol, ul {
      margin-left: 1em;
  }
I’m guessing you haven’t used a CSS reset, because otherwise you’d have been adding block margins to things like headings and paragraphs. So, you’ve still got the user-agent stylesheet’s `padding-inline-start: 40px`. And padding is definitely more semantically reasonable than margin, when you consider how the list item markers are placed outside—if you were putting border on the list itself, you’d want the markers to sit inside that border.

So, at present you’ve got 1em + 40px (≈56px) of indent on list item bodies. This is way too much. Even the 40px is too much. But if you forgot to mention that you were zeroing the padding-inline-start: the 1em by itself (≈16px) is too little for numbered lists, double-digit markers will typically overflow (and in some other language or font configurations, even the 1em will be overflowing). I’d suggest 1.5em (≈24px) as the smallest reasonable value for English text with decimal markers.

  li {
      overflow-wrap: anywhere;
  }
As before: ditch this, and if you want its effect, apply it more generally.

—⁂—

  > "There's never a space under paintings in a gallery where someone writes their opinion,"
Argh! The image of this has the " straight quotes turned into the wrong curly quotes! ”…“.

  > <footer>— Natalie Dee</footer>
Possibly worth mentioning it’s relatively common to have `blockquote footer::before { content: "— "; }`.

—⁂—

  td {
      border: 1px solid green;
      padding: 0.5rem 1rem;
  }
  th {
      border: 1px solid green;
      padding: 0.75rem 1rem;
      font-weight: 600;
  }
Could have done `td, th` for the first rule and deduplicated.

  background-color: grey; //different background color applied to every second row
No such thing as // comments in CSS. Write /* … */. (There’s another case like it later.)

Also it’s worthwhile mentioning the name for this technique: zebra stripes.

—⁂—

  background-color: blue !important;
There’s almost never a good reason to use !important. Definitely I can’t see one here. If you’re using it to override inline styles from your “Astro Expressive Code” or similar: don’t, fix it in its configuration instead.

  color: var(--color-side-accent);

  font-size: var(--variable-font-size);
It grates that, where normally you’re using obviously placeholder colours, just occasionally you use variables, sometimes gratuitous unnecessary ones.

  code,
  code span,
  pre {
This is not a well-thought out rule set. Consider each declaration inside and whether it should be applied to all three of these selectors. Most of them shouldn’t (though they’re mostly harmless in practice).

One final remark in this code styling stuff: I find it unreasonably common for this sort of page to apply conflicting sets of styles, with the base styles applied to the HTML actually illegible (e.g. white on white), relying on classes like <html class="light"> being added by JavaScript to make things legible.

blenderob•3mo ago
Why is this comment collapsed? There's so much valuable feedback here.
bryanhogan•3mo ago
I think because it's so long? Also maybe because there's some more possible improvements in there as well.
bryanhogan•3mo ago
Adjusted to fit some of the things mentioned here, thanks for the comment. Some things don't fit well here though.

1.75 line-height works well for some fonts I found, not unreasonably spacious in that case.

Headings were the only things that have overflowing issues here, so they were the only thing includes for `overflow-wrap`.

Removed `scale-down` on the images.

`!important` was used because of issues with Firefox, where it overwrote the styling with its own default styling. Might be fixed by now, will have to test that later.

> I’m guessing you haven’t used a CSS reset,

As shown in the guide, a CSS reset is used.

> What has this to do with Astro!?

Saw some frameworks wrap images in another <div> in this case, hence the mention. Also more beginner-friendly to mention the overall framework, not the underlying library.

Good catch about the curly quotes!

> Could have done `td, th` for the first rule and deduplicated

No, they are different, read the lines again.

Good catch about the comments via //, should use /* */ instead.

> It grates that, where normally you’re using obviously placeholder colors, just occasionally you use variables, sometimes gratuitous unnecessary ones.

It's a more gentle introduction to CSS variables, less overwhelming for beginners, you will change them in your own application anyways.

> Consider each declaration inside and whether it should be applied to all three of these selectors.

I found the part about code styling to work well for single word code and multiple line code, although looking back now it can be better yeah. If you have a good example of how to improve it I will add it!

lioeters•3mo ago
There's a lot of good CSS knowledge and experience in this comment - as long as one can get past the grouchy tone, with which I sympathize. I agree that for a page showing how to use CSS, the code examples have room for improvement to demonstrate best practices.

Somewhere I imagine there's a summary of the "common sense" guideline for CSS, like the range of reasonable line width and height, avoid !important, and so on. A linter like Stylelint can help enforce them. ..Huh, ESLint now supports linting CSS (announced Feb 2025).