frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Human First AI

https://ente.io/blog/human-first-ai/
1•Brog_io•1m ago•0 comments

Show HN: I built a plugin to create a ChatGPT archive with Typemill CMS

https://typemill.net/news/build-your-private-chatgpt-archive
1•trendschau•4m ago•0 comments

Show HN: I open-sourced my framework for debugging sourdough

https://github.com/hendricius/the-sourdough-framework
2•hendricius•5m ago•0 comments

Show HN: Built an Agentic Gaming PC Builder

https://github.com/runagent-dev/runagent
1•Radeen1•6m ago•0 comments

Where's That Shared Library

https://narang99.github.io/2025-07-28-linker-search/
2•thunderbong•7m ago•0 comments

Trump raises India tariffs to 50% over Russian oil purchases

https://www.cnbc.com/2025/08/06/trump-trade-india-tariffs-russia.html
6•kamaraju•8m ago•1 comments

The Most Mysterious Cells in Our Bodies Don't Belong to Us

https://www.theatlantic.com/science/archive/2024/01/fetal-maternal-cells-microchimerism/676996/
3•georgecmu•9m ago•0 comments

The GitHub Copilot Chat extension is now open source

https://code.visualstudio.com/blogs/2025/06/30/openSourceAIEditorFirstMilestone
1•jaflo•12m ago•0 comments

Is multiculturalism as American as Apple pie?

https://anthrosource.onlinelibrary.wiley.com/doi/10.1111/etho.70018
1•PaulHoule•13m ago•0 comments

Houston, you've got a space shuttle only NASA won't say which one

https://arstechnica.com/space/2025/08/houston-youve-got-a-space-shuttle-only-nasa-wont-say-which-one/
2•LorenDB•13m ago•0 comments

Show HN: I Built an Extension That Writes Emails in Seconds Using Gemini 2.5 Pro

https://chromewebstore.google.com/detail/email-draft-accelerator/gekhjogflifbelhfnhgogmmgdomhbfaj
1•AppMaestro•13m ago•0 comments

A Silver Crown

https://www.thenation.com/article/culture/the-cold-and-forbidding-worlds-of-cynthia-ozick/
2•petethomas•14m ago•0 comments

Gemini Hijacked with a Poisoned Calendar Invite; Takes over a Smart Devices

https://www.wired.com/story/google-gemini-calendar-invite-hijack-smart-home/
3•60hzrider•15m ago•1 comments

Claudebox – Claude Code Sandbox for Mac

https://greitas-kodas.github.io/claudebox/
1•dotpot•16m ago•0 comments

A Guide to Developing for Meta Quest on Mac

https://spin.atomicobject.com/developing-meta-quest-mac/
2•philk10•17m ago•0 comments

US tariff on India zooms to 50% as Trump piles on 25% additional duty

https://indianexpress.com/article/world/trump-india-25-percent-additional-tariff-10173917/
6•akbarnama•18m ago•0 comments

When Decision Discipline Shapes the Business

https://whybyproduct.substack.com/p/decision-discipline-that-shapes-business
2•mooreds•18m ago•0 comments

Burnout – Try 1

https://marcusblankenship.substack.com/p/on-burnout-try-1
2•mooreds•19m ago•0 comments

Developers reluctant to use AI: 2025 Stack Overflow Developer Survey results

https://stackoverflow.blog/2025/07/29/developers-remain-willing-but-reluctant-to-use-ai-the-2025-developer-survey-results-are-here/
1•gortok•20m ago•0 comments

Book Review: Hear That Lonesome Whistle Blow (2004)

https://www.mooreds.com/wordpress/archives/85
2•mooreds•20m ago•0 comments

New Method Is the Fastest Way to Find the Best Routes

https://www.quantamagazine.org/new-method-is-the-fastest-way-to-find-the-best-routes-20250806/
6•baruchel•20m ago•0 comments

Crystal: Claude Code Needs an Agent Management Platform, Not an IDE

https://github.com/stravu/crystal
3•jbentley1•22m ago•1 comments

Kaggle Game Arena

https://www.kaggle.com/blog/introducing-game-arena
1•simonpure•23m ago•0 comments

Handy – Open-Source and Cross-Platform Superwhisper Alternative

https://handy.computer/
1•sipjca•27m ago•0 comments

How Potatoes Evolved

https://www.nhm.ac.uk/discover/news/2025/july/we-finally-solved-the-mystery-of-how-potatoes-evolved.html
3•gmays•27m ago•0 comments

Dotfiles feel too intimate and personal to share

https://hamatti.org/posts/dotfiles-feel-too-intimate-and-personal-to-share/
21•speckx•27m ago•11 comments

'My teeth told me': What it was like aboard the Enola Gay

https://www.washingtonpost.com/opinions/2025/08/06/hiroshima-oral-history/
3•voxleone•28m ago•0 comments

Gemini CLI GitHub Actions: AI coding made for collaboration

https://blog.google/technology/developers/introducing-gemini-cli-github-actions/
1•simonpure•28m ago•0 comments

M&M's Maker Turns to Gene Editing in Bid to Secure Cocoa Supply

https://www.bloomberg.com/news/articles/2025-08-06/m-m-s-maker-turns-to-gene-editing-in-bid-to-secure-cocoa-supply
3•Bluestein•30m ago•2 comments

Meta violated privacy laws by collecting menstrual health data

https://techcrunch.com/2025/08/05/jury-rules-meta-violated-california-privacy-laws-by-collecting-menstrual-health-data-from-flo/
7•skadamat•34m ago•1 comments
Open in hackernews

Plain Text. With Lines

https://akkartik.name/lines.html
34•bpierre•16h ago

Comments

sxp•14h ago
Why use a new format instead of SVG or JS+canvas? The latter would deviate from "plain text" but it's still pretty close. It avoids reinventing the wheel and a webbrower is installed on almost every computer with a display.

Another format to look at is Markdeep which has support for rendering ASCII diagrams and is very close to plain text: https://casual-effects.com/markdeep/features.md.html

Personally, I just wrote a thin wrapper around the somewhat verbose JS Canvas API that lets me write code such as

  ctx4b.save();
    ctx4b.translate(x+=10, 10);
    new Line(ctx4b).b().m(36,50).lAD(180 + 50, 56).lXY(0, -7.1).lXY(7, 0).lAD(50, 55).f();
    ctx4b.fillRect(36, 0, 10, 50);
  ctx4b.restore();
when I want to draw diagrams in my Markdeep notes.
akkartik•10h ago
> I just wrote a thin wrapper around the somewhat verbose JS Canvas API that lets me write code such as

As I said at the start of OP, I want to draw by doodling. So writing code would seem to be disqualified.

> Why use a new format instead of SVG or JS+canvas? It avoids reinventing the wheel and a webbrower is installed on almost every computer with a display.

My goal is to move off browsers. Reinventing the wheel can also often be a good thing.

I do have tools to export documents to html/markdown/SVG: https://git.sr.ht/~akkartik/lines2.love#associated-tools But I myself am trying to live outside the browser as much as possible.

akkartik•10h ago
I wasn't aware of Markdeep when I built this, but looking at it now, it's 6k+ lines of code: https://casual-effects.com/markdeep/latest/markdeep.js And then you need a browser underneath that weighs in at multiple GB (a scale that transcends lines of code metrics) By comparison, lines.love contains 2.6k LoC, and underneath it is LÖVE containing 100k LoC. This sort of analysis of the total size of the software supply chain and total hackability of the entire stack is what motivates me to look past web browsers. Once they grow past a certain size there is zero value to being open source for 99.99% of people.

(I do love that Markdeep is a single file of js without the ubiquitous pox of 1k-line package-lock.json!)

eadmund•5h ago
> Why use a new format instead of SVG or JS+canvas?

Because those are both hellaciously complex, and implementing a usable fraction of the functionality of either is not a job for a single hobbyist programmer. At least, I don’t think they are — I could be wrong. Even if I am, the number of programmers who can write code to draw a line given a JSON description has to be orders of magnitude of orders of magnitude larger than the number who can write an XML parser, an SVG implementation, a Javascript parser and runtime or a canvas implementation.

xigoi•5h ago
What about TinyVG? Seems fit for this purpose.

https://tinyvg.tech/

eadmund•2h ago
It looks pretty neat. I like that it has a textual representation!
akkartik•44m ago
Oh this is awesome! I might try my hand at implementing it, though maybe not in lines.love..
akkartik•10h ago
Previously: https://news.ycombinator.com/item?id=31637910 (Jun 2022, 192 comments)
eadmund•5h ago
> {"p2":{"x":141,"y":85},"mode":"line","p1":{"x":34,"y":44}}

Embracing ordered rather than named parameters can make this so much cleaner (that’s why most folks would prefer add(1, 2) to {"function":"add", "augend": 1, "addend": 2}). It’s strange that p2 comes before p1.

    ["line",{"x":34,"y":44},{"x":141,"y":85}]
The same argument applies to points — way name their components when they will always be the same?

    ["line",[34,44],[141,85]]
If you’re willing to abandon JSON, you can make it even cleaner. There’s no real need for quotes around the mode:

    [line,[34,44],[141,85]]
And it’d be nice to have some whitespace:

    [line, [34, 44], [141, 85]]
And come to think of it, those commas don’t really add anything:

    [line [34 44] [141 85]]
Hmmm, if you switched from brackets to parentheses I bet you have a library which could handle this for you:

    (line (34 44) (141 85))
xigoi•5h ago
Any sufficiently complicated C or Fortran program…