frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Some first thoughts about live immersive basketball

https://sixcolors.com/post/2026/01/some-first-thoughts-about-live-immersive-basketball/
1•coloneltcb•4m ago•0 comments

Where's the $100k iPhone?

https://boydkane.com/essays/100k-iphone
1•zdw•9m ago•0 comments

MIT Non-AI License

1•dumindunuwan•10m ago•1 comments

Show HN: Understand the Picture of the Day

https://picture.learntosolveit.com
1•orsenthil•10m ago•0 comments

Haraltd – A cross-platform Bluetooth daemon with a JSON-based RPC

https://github.com/bluetuith-org/haraltd
1•darkhz•11m ago•0 comments

The Stick in the Stream

https://randsinrepose.com/archives/the-stick-in-the-stream/
1•zdw•13m ago•0 comments

MAKERphone 2: first modular DIY phone, no soldering

https://circuitmess.com/products/makerphone-2-0
1•nateb2022•13m ago•0 comments

Sodium-ion battery cells near lithium-ion cost parity, set to get cheaper

https://www.ess-news.com/2026/01/09/sodium-ion-battery-cells-already-near-lithium-ion-cost-parity...
1•toomuchtodo•13m ago•1 comments

OpenAI to Buy Pinterest? Strategic Analysis

https://nekuda.substack.com/p/openai-to-buy-pinterest-heres-what
1•gmays•15m ago•0 comments

Vajra BM25 is a fast BM25 implementation in Python

https://twitter.com/aiexplorations/status/2009846407881212136
1•aiexplorations•19m ago•1 comments

Show HN: A website to save moments that remind you of someone

https://thisremindedme.com/
1•Winggo•19m ago•0 comments

Google and chatbot startup Character move to settle teen suicide lawsuits

https://www.washingtonpost.com/technology/2026/01/07/google-character-settle-lawsuits-suicide/
1•1vuio0pswjnm7•21m ago•0 comments

Agent skills: what can go wrong?

https://github.com/pors/skill-audit
1•pors•22m ago•0 comments

You probably don't need Oh My Zsh

https://rushter.com/blog/zsh-shell/
10•fla•22m ago•1 comments

Fix Your Robots.txt or Your Site Disappears from Google

https://www.alanwsmith.com/en/37/wa/jz/s1/
2•qingcharles•23m ago•1 comments

Show HN: VoiceBrainDump – voice-first idea capture, single HTML file, offline

https://voicebraindump.app/
1•digi_wares•26m ago•0 comments

Show HN: Focus timer that turns hours into assets

https://seton.run/
1•keplerjst•31m ago•0 comments

Kazakhstan Launches First Institute of Transport Sciences and Technologies

https://qazinform.com/news/kazakhstan-launches-first-institute-of-transport-sciences-and-technolo...
1•Bolat14•35m ago•0 comments

AI Flatters with Fidelity

https://lucent.substack.com/p/ai-flatters-with-fidelity
2•surprisetalk•36m ago•0 comments

Lidify: Self-hosted, on-demand audio streaming platform like Spotify

https://github.com/Chevron7Locked/lidify
1•thunderbong•39m ago•0 comments

Show HN: Rank up your local business on Google Maps

https://www.mapclimb.com/
3•bagusfarisa•40m ago•0 comments

The world has too much oil – Will companies want Venezuela's?

https://www.npr.org/2026/01/07/nx-s1-5668491/venezuela-oil-global-markets
4•geox•45m ago•0 comments

Elon Musk's Grok Has Friends in High Places: US Patent Office chief AI officer

https://jacobin.com/2026/01/grok-hayes-artificial-intelligence-deepfakes
2•wahnfrieden•47m ago•0 comments

Checks and Balances Are Dead

https://rall.com/2026/01/08/checks-and-balances-are-dead
6•SanjayMehta•47m ago•0 comments

M2.1: Multilingual and Multi-Task Coding with Strong Generalization

https://www.minimaxi.com/news/m21-multilingual-and-multi-task-coding-with-strong-general
1•gmays•50m ago•0 comments

Character.ai and Google agree to settle lawsuits over teen suicides

https://www.ft.com/content/ac518567-d901-4fae-86a3-eab54b12a81d
1•1vuio0pswjnm7•59m ago•0 comments

Demystifying Evals for AI Agents

https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents
1•vinhnx•1h ago•0 comments

Best Practices for Coding with Agents

https://cursor.com/blog/agent-best-practices
1•vinhnx•1h ago•1 comments

Microsoft revealed as company behind controversial data center proposal in MI

https://www.cnbc.com/2026/01/07/microsoft-behind-controversial-data-center-in-michigan-township.html
4•1vuio0pswjnm7•1h ago•0 comments

A man powers his home for 8 years using 1,000 recycled laptop batteries

https://scienceclock.com/a-man-powers-his-home-for-8-years-using-1000-recycled-laptop-batteries/
3•ashishgupta2209•1h ago•1 comments
Open in hackernews

How Markdown took over the world

https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/
187•zdw•11h ago

Comments

ChrisArchitect•10h ago
Buried in here the mention of Textile.

IYKYK. Joyent. TextDrive. Textpattern CMS.

Imagining an alternate universe where it might have been Textile. https://textile-lang.com/

Really it comes down to historically the time and place when Markdown was needed and the power of momentum leading to its mass adoption.

kstrauser•8h ago
That looks similar to reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/...
anildash•7h ago
I liked Textile a lot better initially, and it came out first. And interestingly, both launched at the same time on the platform (Movable Type) where Markdown debuted. So it really was sort of a clean A-B test about which one users chose.

This piece was already pretty long, so I cut out most of the sidebar about Dean Allen and Textile, but he was a special guy, and certainly influential on so many parts of this era, not just Markdown.

SoleilAbsolu•6h ago
I felt that Textile was the superior Sony Betamax to Markdown's VHS. Also, IME any no-coders I've known get freaked out by Markdown and always chose to use a rich text editor instead.
BeetleB•6h ago
Fun fact: For my first SW job I had to develop a site for a bunch of academics, and they wanted a way to enter rich text. I suggested textile, and they loved it. At the time, Markdown was not more popular, and I thought textile had the better syntax (it may also have had better library support).
akshayshah•7h ago
I like Markdown, and generally agree that it strikes a nice balance between correctness and usability...

...but it's delicious that this blog post also demonstrates an ambiguity in Markdown: how to handle intra-word emphasis. In the rendered output, "mark_up_" and "mark_down_" were probably intended to be "mark<em>up</em>" and "mark<em>down</em>", but the underscores were instead rendered literally.

I do appreciate that Markdown's solution to ambiguities like this is dead simple - just inline some HTML.

AlienRobot•7h ago
I think it's delicious how nobody, absolutely nobody, wants _ to mean "emphasis," they want italics, and yet despite there being a markdown-to-HTML build step nobody has ever done what they were told they were supposed to do to circumvent the semantic issue and use <span class="italic"> instead of <em>.

It wouldn't even make sense for markdown if it were language-agnostic to output <em> when that's HTML-only.

I'm going to go to my grave repeating that <em> is just <i> version 2.

akshayshah•7h ago
Totally fair. At least in part, I blame the choice of <em> and <strong>: it's really not clear what the hierarchy between them is, so I just think of them as the online versions of italic and bold.

<mild> and <strong>, or <em> and <emem> (or <double-em>, or <very-em>) might have been clearer, but at this point we'll never know.

Edit: apparently <i> has been redefined to be "the idiomatic text element" rather than just italic - so perhaps it's a semantically appropriate choice here after all! https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

layer8•6h ago
<em> and <strong> were introduced as the supposedly semantic counterparts to the supposedly physical <i> and <b>. That never made a lot of sense, and then later <i> and <b> were redefined to be some subtly different semantic elements. Which also never really made sense. In the end, they both still mean italics and bold, unless you go out of your way to give them a different styling.
BeetleB•6h ago
Ahem. Org mode user here. _ means underline :-)

Emphasis/italics is using /

anildash•3h ago
I actually _did_ want the underscores, but enough people thought it wasn't intentional that I just gave up and changed it to italics. lol?
w10-1•7h ago
This is good and detailed, but misses a broader trend: how "worse is better" started to win - first Java over C++, then python and javascript over Java, and here markdown over Word and docbook.

When markdown emerged, docbook was getting even more elaborate, and vendors everywhere had for decades been locking people into frameworks and languages with fantastic features that were hard to use -- and then the internet bubble had popped. Then people realized they'd thrown away years building complex system, and had little tolerance for promises.

Markdown is something you can use in its native form. It's both source and destination, with a touch of future-proofing: if the opportunity arrives, you can polish it into anything, and mostly parse it yourself.

(What's surprising to me is that pandoc barely registers when compared with markdown on google trends since 2004; pandoc is the reason I switched completely to markdown in ~2010)

atoav•7h ago
The thing this oversees is that the interface is important, simpler is not worse, it can in fact often mean better. For example while docbook may have some technical, the user experience for someone who just wants to write some basic stuff is absolutely horrible.

If I imagine beginner-coding me, the first thing I would ask for example is why the hell not just use html by that point. Markdown is a thing I could peesent my non-technical parents unrendered and they still would be able to read the content, just fine for the most part. Try that with docbook.

Now nerds like to pretend the more powerful format is automatically superior. It isn't. Markdown is sucessful because it is so barebones and opinionated and because it forces a focus on the content over formatting. If that is what you need markdown is perfect. If it isn't, go for Latex, HTML+CSS, Typst or use InDesign or whatnot.

latexr•6h ago
> opinionated

Markdown is the opposite of opinionated; nearly everything in the original spec can be done in more than one way. There’s two separate syntaxes to do headers, links, italics, bold, and three ways to do unordered lists.

thangalin•6h ago
> For example while docbook may have some technical

https://keenwrite.com/blog/2025/09/08/feature-matrix/

I wrote the feature matrix to objectively compare plain text-based documentation formats. How do DocBook's features compare against Markdown?

pests•6h ago
Markdown allows HTML to be mixed freely. Not all implementations allow it. But the whole point was allowing a fallback to HTML if Markdown couldn't do what you needed. So its not even an option of switching from MD to HTML/CSS, its just an addition when needed.
drob518•6h ago
Simple is frequently superior.
Apocryphon•7h ago
Comparing Markdown to Microsoft Word?
w10-1•6h ago
OMG I'm so happy you never had to write documentation in the 1990's!
BeetleB•6h ago
What are you talking about? Word is the standard for docs in many large engineering companies.
esafak•6h ago
That does not make it good.
BeetleB•6h ago
Oh, it totally sucks. I'm pointing out that the pain didn't end in the 90's, and continues 30 years later :-(
pluralmonad•1h ago
I used to work with a guy that used docx files for all his note taking. Basically did all text writing (other than code) in Word. We had Notepad++ at the time as well, so he just preferred Word for some reason.
braincat31415•6h ago
I used *roff back then. Now I have to put it into confluence. What a downgrade.
VerifiedReports•3h ago
I did, and Word version 2 was an excellent product. WordBasic was incredible. There was even a graphical dialog-builder, so you could invoke dialogs from your macros. I wrote a macro that parsed and re-wrote SQL queries for a Big-6 consulting firm, saving them man-weeks if not months.

Word today is a ghastly, incompetent shitshow.

kleiba•6h ago
Let's not forget org-mode.
d-us-vb•6h ago
I think about this often as an org mode user who uses it exclusively for journaling with none of the GTD features. Org mode was released before markdown by over a year, but never saw the uptake like markdown did, despite being a more featureful syntax. I think that's because org mode was originally a GTD framework for emacs, and the syntax of org files was incidental to doing GTD in plaintext. It didn't get popularized as an alternative to other markup languages until long after markdown became popular.

I don't really know. I wasn't around back then to watch it unfold. But I still much prefer org mode due to better emacs support and (IMO) more intuitive syntax for things.

chipotle_coyote•5h ago
When you say "better Emacs support," you're kind of understating things: Org Mode was -- and to a large degree, still is -- tied intimately to Emacs. It was only available in Emacs for years, and if you didn't use Emacs, you probably didn't hear about it for years.

As someone who now uses both, I think the syntax between the two is really kind of a wash. I know Org Mode folks who insist that its syntax for links is more intuitive than Markdown's, for instance, whereas I used to insist that Markdown's was. Now I think neither is really intuitive -- the one that feels more natural to you is, very likely, the first one you learned and got comfortable with. Beyond that, most of the differences in syntax are kind of academic. (I would genuinely argue that Markdown's block quote formatting, which is the way that plain text email tended to quote messages, is more intuitive, at least to anyone who remembers writing email in plain text.) Org Mode partisans also correctly point out that you never have to worry about differences in syntax parsing the way you technically do with different flavors of Markdown, but I'd argue that's because there's effectively only one Org Mode parser out there, e.g., Org Mode in Emacs. There is no formal syntax specification for Org Mode any more than there is for Markdown, and if Org Mode had become as popular and had as many different implementations in as many different programming languages, it would absolutely have the same issue. (In fact, the few non-Emacs Org Mode parsers that I've seen are, to a one, at significant variance with Original Flavor Org Mode once you get past the basics.)

Org Mode's real strength isn't the syntax, it's everything else. I don't use it for GTD, either, but I use it as a task manager and an agenda system for work, and as a personal journal and fiction outliner. None of the power it gets for any of those things comes from using asterisks instead of hash marks for headlines, or slashes instead of underlines for italics. :)

ryang2718•44m ago
The key bindings out of the box with something like Doom emacsx is a big selling point too.

I have not been able to get markdown to walk in Vim, anywhere near as well.

extra_rice•4h ago
For some time, I used org-mode for almost all type of note taking. I love the structure being functional without HTML rendering. However, it's pretty much locked to emacs and so the portability is very poor. I need most of my notes to be at least readable on my mobile devices.

When I discovered Obsidian, I decided to fully switch to Markdown. It's very nice that it supports vi bindings.

subsection1h•1h ago
> the portability is very poor. I need most of my notes to be at least readable on my mobile devices.

Why didn't you set up an automatic recurring export of your Org files to HTML files that are uploaded somewhere? That's what I did.

kazinator•6h ago
Java isn't worse than C++; it has a much more capable run-time, something which is left as an implementation-defined footnote in C++.

Java had a leg-up over C++ by several decades in having a concurrency story (at all) in the language.

I wouldn't use std:: anything for threads even in a greenfield C++ project today.

Garbage collection is more advanced than the primitive management tools available in C++, like smart pointers to reference counted or exclusively owned objects: those approaches are strictly worse than the correct, gold-standard solution to the object lifetime problem.

ajross•5h ago
> Java had a leg-up over C++ by several decades in having a concurrency story (at all) in the language.

While sort of technically true, concurrent code expressed in high level language was almost invented in C in the 1980's as the first Unix SMP devices took off (early multiprocessing work at the OS level was at the assembly level, Unix was almost alone in having a portable kernel and the need for SMP).

Java, coming along about a decade later from the same incubation environment, very much reflects that learning. But no, they did it right in Java because they had already done it in C.

da_chicken•4h ago
It's hard to look at Java and not see it as a transitional language now. Electron, Node, and even .Net have fundamentally been more successful implementing ideas that first saw widespread adoption in Java. JSON is basically XML, which is what Java pushed so hard for for data exchange instead of really gross binary serialization formats.

Although, Java wasn't really trying to compete with C++ everywhere. It's just that, at the time, C++ was used at all levels. I mean, this was a time when it was C++, Visual Basic, or Turbo Pascal/Delphi for application programming. You couldn't easily get more abstract than that. That's wildly unlike today's landscape.

zahlman•1h ago
> JSON is basically XML, which is what Java pushed so hard for for data exchange instead of really gross binary serialization formats.

JSON over XML is more of a "better is better" case, though.

eikenberry•4h ago
> Java isn't worse than C++;

"Worse is better" is about simplicity vs expressibility tradeoffs, not an absolute better/worse value judgement. By saying Java is worse than C++ here the OP is only saying that Java is simpler (less expressible) than C++.

kazinator•3h ago
Nope; worse is better is about simplicity versus correctness tradeoffs. I've read the P. Gabriel essay enough times that I can rely on my memory of it.

Like whether to hide interrupted system calls, or punt the responsibility for restarting them to the application. (That "PC loser-ing problem" example used in the essay).

Between C++ and Java, it is hard call, but I would say that the Java ecosystem values correctness more than C++.

I don't mean valuing the correctness of a delivered application, but valuing the contribution of the language stack to that goal.

Java manages memory, and defines the order of evaluation of operands in an expression. Need we go on? Java also has a security story for loading compiled code. There is no sandbox model of any kind in C++.

renewiltord•6h ago
I'm sorry, what? Markdown over Word is "Worse is Better". You are shitting me. Markdown over Word is "Better is Better". Haha, dear god. MS Word? It must be some other word surely. MS Word is awful today.
scubbo•4h ago
You are misinterpreting the phrase. "Worse", here, means "having less functionality"[0]. Whatever your belief about the usability, speed, consistency, etc. of Microsoft Word (and we probably agree there!), Markdown is certainly "worse" in terms of features.

[0] https://en.wikipedia.org/wiki/Worse_is_better

wiseowise•6h ago
> how "worse is better" started to win

> first Java over C++

...really? Java was literally created to fix C++ issues.

> then python and javascript over Java

That's just different, not worse.

astrange•3h ago
Java is based on Objective-C/Smalltalk, not on C++. It's strictly worse than its original too. There's a lot to be said for the rule of least power, but it's not nearly powerful enough.
anildash•6h ago
I actually had a digression into "worse is better", but the piece was already pushing 5,000 words, so I figured I probably was better of leaving out such a big topic. But you're right that's a larger trend that mattered. I think of it more as a triumph of Postelism in the Internet at large as more people came online, too.
keybored•6h ago
(I did not read TFA) Or maybe underdeveloped is better? No, that’s not a loaded word hear me out: the syntax is very unobtrusive and minimal if you ignore the whole HTML superset thing. So people can just start using it. Everyone wants to write bullet lists and some emphasis, a code block if they program. Only later do you want maybe a little more, some footnotes, maybe even admonitions. But that’s just a little extra. The syntax is already pretty minimal; there’s room for a little extra like using `^` (`[^1]`) for footnotes. So one extension uses that. Oh and maybe another extension uses something else. But whatever, it’s a trivial difference. Okay now some book-publishing Markdown has become quite different from some static website builder Markdown and it’s kind of annoying to have to keep the differences in mind because you have a blog but you are also writing a book. And it turns out that implementing Markdown in a way that doesn’t have dozens of weird corner cases is annoying because the whole inline markup thing wasn’t specified that well.

It’s like a microcosm of the burden of code. You publish some Perl script that happens to catch on. It’s good enough; any immediate problems are really trivial. Ten years later though they are annoying. But a new lightweight markup variant? Yeah, we should make it close to compatible with “Markdown” because everyone knows Markdown. Maybe specifically GitHub Markdown. Because if it doesn’t render on GitHub it isn’t real.[1] And so it perpetuates through microgenerations.

[1]: https://news.ycombinator.com/item?id=33873593

calmbonsai•6h ago
As someone who was immersed in C++ from the original Stroustrup book (I do not recommend it), then transitioned to Java, then (largely) to Python I disagree on the language comparison.

- Java is not worse than C++, it's actually better for most large-scale programming

- A (subset) of C++ is still far better for performance-intensive applications (games, low-level systems software, avionics, etc.).

- Related to previous, if you're using ALL of C++ in your projects you're "doing it wrong". It is not a well-designed language.

- I agree that Javascript is a win for "worse is better". Anyone remember Netscape Livewire? I try to avoid that language like the plague, but its runtime support is ubiquitous so it gets the most performance-tuning love.

- Python was, initially, just a better Perl, but its dominance in Scientific computing spilled over into data science. Also, Jupyter notebooks provide a unique value proposition for a FOSS-Mathematica.

morshu9001•2h ago
IMO JS and its spinoffs made mostly the best choices for an interpreted language. The bad parts are pretty inconsequential, and the good parts are important things other langs didn't do well. Even Rust took after how it does async and package management.

Better than Python which also recently started copying over JS decisions, except that Py was easier to use with C libs from the start which made it capture math/data/science usage earlier.

jonwinstanley•5h ago
XML and (previously SOAP) vs JSON was around the same kind of time too.

Using JSON for API calls was such a breath of fresh air!

morshu9001•2h ago
My "worse is better" is using plain text instead of markdown. I still have no idea how newlines work in markdown.
happyopossum•2h ago
Newlines work in markdown the same way they do in plain text, because markdown is plain text.

If you have something that’s converting markdown into a rich view and it’s not doing that, the problem isn’t with markdown, it’s with your markdown parser.

antod•48m ago
Isn't Markdown more a competitor to Restructured Text rather than Docbook or Word?
Apocryphon•7h ago
> that year’s largely uninspiring slate of U.S. presidential candidates like Wesley Clark, Gary Hart and, yes, Howard Dean helped propel blogs into mainstream awareness

Gary Hart?

twoodfin•6h ago
My god, I think that’s right, & he at least considered it?

https://en.wikipedia.org/wiki/Gary_Hart

Yup.

It was a strange time in Democratic politics: The assumption after 9/11 and the success of the GOP in the 2002 midterms was that GWB was going to be reelected in a walk. So not a lot of big names crowding the field.

anildash•6h ago
I know it seems quite absurd! I actually just added in to this piece a photo I took of the CNN screen that (I believe) was the first mention of the word "blog" that they ever put on-screen; it also has a mention of Hart's campaign. Very low-res, but the potato quality is worth it for the historical value, I think.
nzoschke•7h ago
I love Markdown.

My favorite Markdown creation was "GistDeck", a bookmarklet that turned a GitHub Gist of Markdown content into a slide show.

So much easier to make and share than a PowerPoint deck.

https://github.com/nzoschke/gistdeck

fittingopposite•1h ago
Broken homepage
adamnemecek•7h ago
Markdown was cool for a while. I have switched to typst and boy is that an improvement. It’s the love child of latex and markdown. With markdown you’d still have to embed latex, while typst has its own thing that is nicer than latex.
tcfhgj•6h ago
the icing on the cake would be gitlab, github, etc. rendering typst like markdown
TimorousBestie•6h ago
Typst is lovely.
pbronez•6h ago
I've been enjoying Typst. I worry that much of it is too complex for many end users. I'm musing about having end users draft stuff in markdown, then render that markdown with Typst templates.
adamnemecek•2h ago
You don’t have to use those parts, you can use it as markdown.
lozf•2h ago
Good call, I've had success with:

     pandoc -f gfm -t typst -o file.typ file.md 
and as you'll know it's easy to add a Template if required.
adamnemecek•39m ago
Pandoc is cool but I hate writing my own scripts for it.
simonw•7h ago
I enjoyed "a curmudgeonly guy with a kind heart who right this minute is probably rewatching a Kubrick film while cheering for an absolutely indefensible sports team".
walterbell•7h ago
What's preventing browsers from rendering a common subset of markdown without the need for browser extensions, with fallback to the current default of plaintext if parsing fails? LLM output can be copy-pasted for rendering by chat messengers and notetaking apps (e.g. DevonThink). If LLM markdown output continues to proliferate, does it become the defacto common-by-volume subset of Markdown, which browsers could standardize and render?
simonw•6h ago
Here's a fun trick: if you add .text to any URL on Markdown creator John Gruber's blog you'll get to see the hand-authored (bar the metadata and tags bits) Markdown he wrote for that entry.

Example: https://daringfireball.net/linked/2026/01/09/moylan.text

... and if you look closely at some of the entries you might spot custom Markdown features that aren't part of the published spec.

ntnsndr•6h ago
Funny that he didn't use the .md extension. Maybe because he started doing it before he expected his markup would merit its own filetype?
twoodfin•6h ago
More likely because the whole point of Markdown was to be embedded in text, not a freestanding format for an entire document.
leejoramo•6h ago
This is exactly why.

It is my assumption that Gruber chose ‘.text’ over ‘.txt’ for several reasons. To give it a little difference when searching for files. To be more legible to non-computer people. And finally, while Classic MacOS did not use file extensions, the Resource Fork type code for text files was ‘TEXT’

SllX•1h ago
Also a little extra distinction: “.txt” is a relic of 8.3 DOS filename conventions. He was not bound by these. If you’ve got the space, of course you’ll go with “.text” over “.txt” because text is the input, HTML is the output, Markdown is the tool for converting one into the other, per the first line of the introduction:

> Markdown is a text-to-HTML conversion tool for web writers.

Ergo they’re not Markdown documents, they’re text files that can be converted into HTML using Markdown.

https://daringfireball.net/projects/markdown/

dchest•48m ago
"Too late now, I suppose, but the only file extension I would endorse is “.markdown” [...]

(I personally use “.text” for my own files, and have BBEdit set to use Markdown syntax coloring for that extension, which is why I never saw a need to endorse an official extension.)"

https://daringfireball.net/linked/2014/01/08/markdown-extens...

WalterBright•6h ago
Markdown vs HTML is a fine illustration of what humans consider to be natural and intuitive is anything but to a computer.
inkyoto•2h ago
Or, more pedantically, Markdown vs SGML, which was meant to be the one to rule them all.
nout•6h ago
I'm a big fan of markdown, it's easy enough to remember the basic syntax and your files are portable across hundreds of different editors. If one day I decide to switch away from Obsidian, I can just plug the same files into another good editor.
igtztorrero•6h ago
Just waiting Google Workspace create a Markdown Document Editor and Viewer.

Chatgpt is pushing markdown to the maximum expose, Google & Microsoft sooner or later should react.

happyopossum•2h ago
gdocs has supported markdown for a while now…
kazinator•6h ago
Markdown filled an obvious void: the need for something with more formatting capability than plain text, but editable and version-controllable as plain text, without the obnoxious verbosity and complexity of typical markup languages: i.e. more or less readable as plain text also.
hnarayanan•6h ago
I love it. Almost as much as I do org mode.
erlkonig•6h ago
I just hate that (1) you can't nest anything into a table (2) it's different everywhere.

Restructured Text is much more capable, and yet here we are, still using Markdown.

My markdown pages often also have HTML in them, I mainly use Markdown so if I decide some overlong thing I wrote on Reddit actually doesn't suck, I can copy-paste it into a webpage, and my web-server's .smd handler does the convertion. Lowest common denominator. :(

swyx•6h ago
sharing my list of mistakes in markdown that Gruber endorsed :) https://news.ycombinator.com/item?id=22776108
anildash•3h ago
I was texting with John the other night while working on this piece, and reminiscing about my initial quibbles about the format, and I think I had been frustrated by just about everything on your list. I just need you to travel back in time to tell me to fuss more!
NelsonMinar•6h ago
I think it's a littly funny he characterizes "Had the right flavor for every different context" as an advantage. It drives me crazy that Markdown is not the same everywhere and I'm still regularly getting confused about *bold* or **bold** or *italics*. (Curse you, Slack's weirdo version.)

I respect Anil's argument that the extensibility has helped it be adapted to different contexts, and in practice the looseness of it doesn't cause a problem. I do wish CommonMark had more traction (and acceptance and use of the name Markdown). It'd be nice to have a standard, at least for the basic stuff.

duskwuff•4h ago
In the contexts where Markdown is most often used, the distinction between bold and italics isn't really important. So long as *this* or **this** gets rendered in a way that conveys emphasis, the meaning is preserved.
ggm•3h ago
The implicit humour of using 3 forms of intent, only one of which works in HN
anildash•4h ago
It took me a long time to see the variations as a plus and not a minus; as a veteran of the RSS-vs-Atom wars, I was long an advocate of Technical Correctness(tm) like any good coder. But the years since then have made me a lot more amenable to what I think of as a sort of Practical Postelism, which I guess is like applied worse-is-better, where we realize the reality is that we'll _always_ have forks and multiplicities, so we should see it as a feature instead of a bug. It's like accepting that hardware will fail, and building it into the system.

I mean, HTML itself is well specified in the streets, and infinitely different flavors in the sheets. I don't _like_ that, the part of me that writes code _hates_ that. But the part of me that wants systems to succeed just had to sort of respect it.

mlok•3h ago
A more intuitive norm, used in other formats, would have been :

*bold*

/italics/

_underline_

lelanthran•26m ago
That's exactly what we used in on usenet (except,without rendering unless you were using a nice GUI reader, not just tin/rtin)

The problem is that that's too many characters to reserve (they all have to be escaped when you want the actual character) making the resulting text look awful in plain text mode.

pwdisswordfishy•6h ago
I think it's fitting that his attempt to emphasize "markup" and "markdown" was foiled by his own blog's Markdown parser.
happyopossum•2h ago
It wasn’t - elsewhere in comments here he mentioned that he wanted underscores, but gave up due to so many comments like yours.
Havoc•5h ago
Sound write-up. It is missing the #1 reason I like it though - it's fundamentally text.

No format/vendor lock-in and very amenable to living in a git repo. For my note taking that's already game over right there against everything else. I don't want to worry about whatever cursed format OneNote uses is still something I can extract in 2035.

I also like that it's become a defacto standard that LLMs speak. I can tell it to look at the code in this server repo and make me a API_documentation.md and it'll grasp that I want a text based summary of how to use this endpoint

christophilus•4h ago
Same. I’m reading The UNIX Programming Environment (1984), and it’s made me want to use text for a lot more things. Proprietary formats come and go, but text is forever.
GuB-42•4h ago
Not only that but Markdown use the conventions people already used in text files (point 3 in the article). People wrote Markdown before Markdown existed, they just formalized it.

In fact, I like to write notes and documentation in text form, and then I notice I have been using Markdown all along, so I rename my text file into .md, fix a couple of markers, and now it looks nice on a viewer that supports markdown, and I have syntax highlighting in my text editor.

tombert•2h ago
That's the main reason I still like writing Markdown (and Typst nowadays as well); I can "render" it in my head very quickly.

When I'm reading Markdown, I almost don't even see the symbols. Beginning a statement with a # immediately just looks like a heading, surrounding a word with asterisks looks italic to me, wrapping a string with backticks looks like code formatting to me, and my assumptions are generally right so I don't need to render very often (which is why the Pandoc -> LaTeX -> PDF pipeline didn't bother me that much).

If I'm writing LaTeX or something, I generally have a very rough idea of what something will look like, but it's not terribly reliable for me. I need to render frequently because my assumptions about how something is going to look is likely to be wrong.

I mostly use Typst now because it is similar enough to Markdown, and the compilation time is so categorically faster that I see little reason not to use it, but I still respect the hell out of Markdown for popularizing this kind of syntax.

VerifiedReports•3h ago
Except there's a massive lack of Markdown VIEWERS. You find MD files in every open-source project and lots of other places, but almost no viewers that render them as intended. So you wind up looking at them as plain text, with a bunch of formatting characters in them. What's the point, then?

Only just now has Windows Notepad been revised to render Markdown (I think it does now, anyway). And after searching for a Mac one I finally bought Marked. But that's all I could find. Otherwise you have to load MD files in some kind of editor and "preview" them. NO! I just want to double-click on the file and READ it, with the formatting applied. Why is that so hard?

stouset•3h ago
> that render them as intended

Markdown is the intended rendering medium.

nine_k•2h ago
Plenty of browser extensions exist, from barebones to fancy which support several flavors, include Mermaid and MathML, etc.
zeppelin101•2h ago
I'm personally a huge fan of Typora. It's available on Windows, MacOS and Linux.
esperent•1h ago
There's loads of markdown viewers, you just don't identify them as that.

Try copying some markdown into these places:

- A reddit comment

- Microsoft Teams

- Slack

- Whatsapp

- Discord

- Google Docs

- Discord

- Notion

- Facebook Messenger (although only on desktop I think)

Etc.

chrisweekly•41m ago
And Obsidian! Best of them all.
chrisweekly•42m ago
Try Obsidian. Its "LiveView" editor mode is fantastic.
SamBam•16m ago
> You find MD files in every open-source project and lots of other places, but almost no viewers

Huh? Any open-source project on GitHub, at least, has the viewer right there. It's the default view of markdown files. I assume other repos are similar.

E.g. The readme https://github.com/jquery/jquery

da_chicken•3h ago
Eh, the things Markdown was made to compete with were also text. Including, you know, plain text. Sure, there were people out there doing README.RTF or README.DOC that annoyed us all -- nevermind those README.PDF monsters -- but just as frequently it was README.TXT or READ.ME (or README.DOC was in plain text). And GameFAQs and newsgroups got pretty far with plain text and ASCII graphics.

The problem is that people want to use a web browser to display their documents, they want rich documents, and web browsers are awful at displaying text they don't understand the structure for. And <code> tags look consistently awful when read back, which is why we so strongly prefer syntax highlighting when we read XML or HTML.

Really, the big competition was BBCode, whose main problem is that it's too much like HTML, and Wikitext, whose main problem was that it's too bare-bones and domain-specific. The big advantages of Markdown are:

1. It's simply more readable. It pulls from how people were naturally formatting plain-text documents meant to be read as plain text rather than pulling from markup languages, so it more closely matches how people want to write documents in plain text. That makes the document easy to read while you're writing it. Asterisks for highlighting is an old convention, so were dashes and asterisks for bullets. Really, it made the asterisk an English punctuation mark for emphasis, which I think it genuinely is now.

2. It was easy to parse and short, which made it popular with Web 2.0 social media. It got picked up by Slashdot, Reddit, and Stack Overflow as "good enough" and "better than BBCode" for user generated content. Nobody liked using WYSIWYG editor boxes then, either. They were slow, buggy, and were often Flash-based before HTML5. They needed plain text formatting options, and BBCode was both annoyingly unnatural to type (just like HTML tags) and a little inflexible.

And nobody wanted to repeat MySpace and just let users use HTML. That was a horrible idea (Samy, XSS, etc.).

chrisweekly•43m ago
Amen. Biggest reason I love Obsidian so much; it's like an operating system for markdown.
raincole•41m ago
It's fundamentally ok-ishly looking text.

I think that is the biggest reason why Markdown doesn't support table. There are alternatives that do (e.g. wikitext) but they didn't get as popular as Markdown. Why? Perhaps it's because that tables will never really look fine in pure text no matter how clever your syntax is.

trollbridge•36m ago
Provided you’ve got UTF-8 (or CP437/850/1521 etc) and fixed pitch, it’s easy to make tables.
rkp8000•5h ago
I love Markdown. I'm a bit surprised, though, that you still can't open a .md file by default in most web browsers. It seems like it should be quite trivial to have the browser automatically convert it to html and display it.
embedding-shape•5h ago
Yeah, also missing a built-in JS API for turning Markdown into safe HTML. Sure, there are lots of different implementations, but maybe start with something small at least.
anildash•4h ago
This is a good call. I know it's been suggested multiple times over the years; I wonder what the rationale was for rejecting the format, or at least having the option to render a file when it's loaded. (Maybe a "display as HTML" button or the like would be required before it would be rendered.)
VerifiedReports•3h ago
As I was griping above, you usually can't just view a Markdown file with formatting applied at all. I think MAYBE Notepad has been updated just recently to render it, but otherwise... you're looking at plain text with a bunch of formatting characters in it. Why? It's baffling. Where are the simple Markdown READERS?
happyopossum•2h ago
Your plain text editor is the markdown reader. That’s the point.
nullhole•2h ago
It really would be nice to have a convenient renderer for it though. It's genuinely surprising something like firefox doesn't have a markdown reader builtin already.
jdechko•1h ago
If you’re on a Mac, I recommend qlmarkdown. It’s a customizable quick look renderer for markdown (md) files.

https://github.com/sbarex/QLMarkdown

chuckadams•5h ago
The author of CommonMark and Pandoc has a new format called Djot: https://djot.net/ that I've been meaning to check out. Supposedly more sane to parse, and it comes from someone who would definitely know about that sort of thing.
esjeon•2h ago
A little bit of a problem, as a Korean, is that the name “djot” (and also common word “jot”) sounds like a Korean slang for “dick” :/
karel-3d•1h ago
Wow this looks like a stricter, more sane Markdown! Great, will try it... sometimes.
cmrdporcupine•24m ago
Djot is great. I use it in my project ( client for https://timbran.org/moor.html ). It has all that I needed from markdown without any excess, and it's safe and easy to parse and familiar to people.
Johnny_Bonk•5h ago
I'm fairly new to all this, but my understanding is that Markdown is great for a few reasons:

It's just plain text, so no vendor lock-in and you can ripgrep/fzf/grep through it Lives happily in git repos with proper diffs LLMs speak it natively - they output Markdown, they understand Markdown input Way easier for agents to parse than PDFs (which are binary, layout-focused, tables turn to mush) Can do tables (at least in GFM), headers, code blocks, links - all structure preserved

What it can't do (as far as I understand): complex layouts, precise typography, embedded binary content, anything that needs pixel-perfect rendering. Am I missing anything? What are the other limitations I should know about?

sheept•4h ago
(CommonMark) Markdown is a rough superset of HTML, like how YAML is a superset of JSON. So whatever can be expressed in HTML can also be expressed in Markdown. With the way the CommonMark spec is written, Markdown is effectively just an HTML preprocessor.

A major limitation of Markdown is the lack of standardization. For example, even within GFM there's multiple subtle variants: a single new line becomes a space when rendering Markdown files, but a line break in issue comments.

cbm-vic-20•4h ago
> whatever can be expressed in HTML can also be expressed in Markdown.

I suppose, since Commonmark specifically has HTML block and raw HTML inlines, any chunk of HTML is by definition valid Markdown.

qingcharles•3h ago
It's enormously frustrating that there has been no standardization of the core base-level Markdown elements.

If you allow Markdown input you have to give a cheatsheet showing which "flavor" you are using.

GeneralMaximus•1h ago
I've started to "standardize" my own use of Markdown as "whatever works in the apps I use". For me these apps are iA Writer, Obsidian, and Astro's rendering pipeline (which uses the Remark/Rehype ecosystem under the hood).

This sucks for sharing documents with other people, but in practice it's not a problem. 99% of my writing never leaves my notes app or blog. And when it does, I often export it to PDF or Word to make it easy for non-techie people to read (I love Pandoc for this, it's easily one of the favorite tools in my daily toolkit).

VerifiedReports•3h ago
The lack of viewers for it.
baby_souffle•2h ago
> What it can't do (as far as I understand): complex layouts, precise typography,

Some "extended" flavors will allow you to embed HTML and CSS which solves the layout problem. It's not really markdown at that point, though.

> embedded binary content,

If you're using one of the extended variants, you can b64 encode images... but again, that's not really the spirit/intent of markdown.

reshlo•1h ago
It’s not just “extended” flavours of Markdown that allow embedding HTML. The original reference implementation supports this too.[0]

> For any markup that is not covered by Markdown’s syntax, you simply use HTML itself. There’s no need to preface it or delimit it to indicate that you’re switching from Markdown to HTML; you just use the tags.

[0] https://daringfireball.net/projects/markdown/syntax#html

lelanthran•30m ago
> What it can't do (as far as I understand): complex layouts, precise typography, embedded binary content, anything that needs pixel-perfect rendering. Am I missing anything? What are the other limitations I should know about?

Multi-level lists, annoyingly, get rendered as code at the deeper levels because of the 4+ spaces from the beginning of the line.

This is a serious and major drawback of markdown, making it good for developers only. The average person does not want to render code.

Remove that one drawback, and it'll get even better adoption.

riffic•5h ago
There's something really interesting about the constraints given by plain text that you would lose with What You See Is What You Get (or, the ever-unfortunate acronym WYSIWYG) controls. I almost think what you get in that case is an unfortunate mindset-shift towards What You See Is All There Is (or, an incredibly dope acronym, WYSIATI).
Analemma_•5h ago
This is a good article, although I wish it had talked a little more about the standardization (or rather, the lack thereof) in Markdown. I get why it didn't, it's trying to be positive about something that is an overwhelming net positive for the world, but I think a "warts-and-all" treatment of the history would be more honest.

I appreciate that Gruber brought this very helpful thing into the world, but OTOH he was such a prick about the whole Standard Markdown debate, for no real reason other than ego. And it resulted in Markdown remaining an ill-defined standard to this day, with occasional compatibility issues still cropping up even though most platforms support most of "Github-flavored Markdown" (itself a stupid name and indicative how badly this has gone).

anildash•3h ago
I _don't_ think it was just ego. I think it was a smart strategy because formal standardization tends to bring in complexity, and just letting folks go off on their own and document their own usage (or "flavors") ends up being Good Enough in actual practice. It sucks from a standpoint of what I personally find satisfying, to be clear. But based on what I've seen over the last 20+ years, it is the strategy that is much less likely to yield a format that gets captured by giant companies that own a hyper-corporate standardization process that eventually gets enshittified.
Analemma_•2h ago
Thanks for responding, Anil! Like I said, I really liked the article overall.

I don't agree that the Standard Markdown effort, had it succeeded as originally laid out, would've resulted in "hyper-corporate standardization". I mean, one of the main actors was Jeff Atwood, just about the least "hyper-corporate" guy there is. And I also don't really see any possible trajectory for Markdown to get "enshittified": after all, for the most part it's just plaintext with formatting conventions that existed way before it. Even if some corporate entity had somehow badly messed it up, markdown.pl and the other pre-existing implementations would have continued to exist.

anotherevan•14m ago
You've pretty much said what I was going to say. I think John was absolutely inspired in coming up with Markdown, but was a terrible steward. Or perhaps I should say he was unwilling to steward it.

My impression was he pretty much threw up a Perl implementation that was good enough for what he wanted, refused to refine it at all, and declared by the power vested in him by nobody in particular that if any parser implementation differed in behaviour to his (like, to fix bugs or make it better), wasn't true Markdown and wasn't allowed to be called Markdown.

Or perhaps I am being uncharitable in my interpretation of events.

levmiseri•4h ago
> ...that it was too difficult or inconvenient to write out full HTML by hand

It's not necessarily that writing HTML or other markup flavors is harder (obviously it is), but the beauty of Markdown for me is that it's perfectly readable in its raw form as well as with an applied styling.

And speaking of customizing the 'look' of markdown, a shameless plug for a markdown editor I've been working on with extensive customization options: https://kraa.io/about

nomel•1h ago
Almost. <br> is sometimes requires, like multi-line table cells, which also requires the use of monospace fonts.
hju22_-3•1h ago
I've looked at your product before, but given that I can't self-host it and thus not control it, I think it's too vague on the security details. It does say some in the privacy policy, but there's no real details there. Given the potential sensitivity of personal notes, let alone work ones. Though, if that's no concern, I do think it looks good. So kudos in general. :) You planning to monetize it eventually?
NamlchakKhandro•4h ago
Reason it won:

Easier to understand Shape it creates is scannable

GitHub render it by default

codazoda•3h ago
Shameless plug, I’m writing the book on how to publish YOUR book with Markdown.

https://www.48hourpress.com/publish-with-markdown/

themadturk•1h ago
Just joined your Early Reader's list. I've already self-published a novel written partially in Markdown, and starting work on another, so I'm anxious to see what you have to say!
tomeraberbach•3h ago
I added Markdown support to Google Docs as a 20% project. Honestly honored to be included in this Markdown history :)
edoceo•3h ago
I use it almost daily. Thanks!
nvader•2h ago
Seconded. @tomraberbach, today in conversation someone mentioned Paul Buchheit's invention of Gmail as a 20% project. The next time, I'll mention you!
tomeraberbach•2h ago
Heh I think the scale is a bit different, but I'm honored :)
nvader•2h ago
It's not a typical day for me, but I sent 0 emails (Gmail is my standard) but edited 2 Docs with Markdown.
tomeraberbach•2h ago
Well that's awesome!

Out of curiosity, do you mean the "autocomplete" feature or the import/export/copy/paste feature? (I did both)

tomeraberbach•2h ago
Love it!
data-ottawa•2h ago
This was a great addition. That and using `alt+/` to open options/command palette are my favourite features, but you single handedly made Google Docs spark joy for me
tomeraberbach•2h ago
So glad to hear!

And yup, the command palette search change was awesome. Can't take credit for that one though haha

nvader•2h ago
I think there is another article waiting to be written, why ReStructured Text lost.

I know that in my younger years I would get a lot of flak for converting .rst files into .md when I joined projects.

(As I got older I just stopped seeing .rst that much)

zahlman•1h ago
rST is still fairly popular in Python circles, especially for anyone using Sphinx.
karel-3d•1h ago
markdown is horrible, horrible format to parse; there are so many ambiguities; CommonMark is so complex because of that and still has so many ambiguities.

it's like YAML: it looks so simple at first, and then the horrors start if you try to use it seriously.

in both cases the most horrors lie in the spaces/tabs/newlines.

GeneralMaximus•1h ago
> markdown is horrible, horrible format to parse...

I agree entirely. But it's a lovely format to use. Programming as a profession is entirely about making things easier for our users, even if it means making things harder for ourselves.

After all, that's the whole ethos around the web as a platform. Throw some broken HTML soup at a browser and it'll still try its best to render it.

karel-3d•6m ago
That is true, modern HTML is also (from what I heard!) hard to parse.
nikau•1h ago
Best thing about markdown is the barrier to entry of non technical folks, it stops them shitting over technical documentation and steers them to Confluence or sharepoint for their die on the vine slop.
fittingopposite•56m ago
Are there any ways to type email in markdown? Never thought of it so far...
kermatt•48m ago
On macOS there is MailMate: https://freron.com
dhruv3006•19m ago
Made an api client based on executable markdown : https://voiden.md/ .