frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
604•klaussilveira•11h ago•180 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
912•xnx•17h ago•545 comments

What Is Ruliology?

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

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
100•matheusalmeida•1d ago•24 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

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

https://github.com/valdanylchuk/breezydemo
207•isitcontent•12h ago•24 comments

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

https://github.com/pydantic/monty
206•dmpetrov•12h ago•98 comments

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

https://vecti.com
315•vecti•14h ago•138 comments

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

https://github.com/microsoft/litebox
354•aktau•18h ago•180 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
360•ostacke•18h ago•94 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
465•todsacerdoti•19h ago•232 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
4•kaonwarb•3d ago•1 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
24•romes•4d ago•3 comments

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

https://eljojo.github.io/rememory/
262•eljojo•14h ago•156 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
398•lstoll•18h ago•271 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
80•quibono•4d ago•20 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
54•kmm•4d ago•3 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
8•bikenaga•3d ago•2 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
238•i5heu•14h ago•181 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
49•gfortaine•9h ago•15 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
138•vmatsiiako•17h ago•60 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
273•surprisetalk•3d ago•37 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
126•SerCe•8h ago•107 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•7h ago•9 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
68•phreda4•11h ago•13 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
7•jesperordrup•2h ago•1 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1051•cdrnsf•21h ago•432 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
61•rescrv•19h ago•22 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
171•limoce•3d ago•93 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
15•neogoose•4h ago•9 comments
Open in hackernews

TextKit 2 – The Promised Land

https://blog.krzyzanowskim.com/2025/08/14/textkit-2-the-promised-land/
111•nickmain•5mo ago

Comments

arthurofbabylon•5mo ago
> TextKit2 is implemented to be used by UITextView

This is the key insight that makes TextKit2 workable. I personally would not attempt to build an alternative to UITextView on TextKit (1 or 2). Instead, TextKit2 is all about very sensible intervention points for customizing UITextView (eg, Markdown-style parsing, typography, interactions, layout).

I recently rebuilt Minimal’s editor with TextKit2 (see minimal.app/#beta to experience it), and found Kryzanowskim’s deep dives very fruitful. He explores the edges of the API, so his writing helped me identify a nice bounds of safe-space to work in, and helped clarify what areas are too complex to safely build custom functionality within. (So thank you, author!)

I would not dismiss TextKit2; it is an incredible improvement over TextKit1. It remains a complicated and challenging field.

lapcat•5mo ago
> I would not dismiss TextKit2; it is an incredible improvement over TextKit1.

It's an absolute disaster on macOS. Even TextEdit app is now buggy as hell.

It's incredible how Apple broke plain text display on the Mac, which was a solved problem since forever.

rayiner•5mo ago
Is it incredible, or is it quite credible? It’s taken Microsoft years now for “New Outlook” to get feature priority with Outlook 98. This feels like the new normal.
layer8•5mo ago
feature parity
krzyzanowskim•5mo ago
> I personally would not attempt to build an alternative to UITextView on TextKit (1 or 2)

sure. If only UITextView/NSTextView did not have bugs impossible to workaround otherwise. TextKit 2 support in UITextView/NSTextView was really bad. improved over time. and still remain buggy. The UITextView focus limits the use of TextKit 2 architecture significantly.

refulgentis•5mo ago
Interesting read.

I have to wonder if the scrollbar problem is inescapable, given the shape of the problem.

Flutter has dealt with similar issues, perhaps by virtue of more eyeballs / being slightly older, there are solutions. SuperSliverList in particular completely erased the jumpy-jank that happened when estimates changed to concrete values.

krzyzanowskim•5mo ago
as long as we deal with estimated values, it is inescapable. the best we can do is tune the estimate calculations and tweak heuristics. that's my understanding of the problem, but I'd love to hear from other experience
valorzard•5mo ago
I was really excited by the title that this would be about beloved classic Minecraft mod pack Tekkit
dgreensp•5mo ago
This semi-explains why I have started to notice (sadly) serious bugs in TextEdit, not just scrolling but editing/corruption.
colbyn•5mo ago
Oh hey good to see some more literature on TextKit2. I remember diving into it when I wrote my proof of concept markdown renderer:

https://github.com/SuperSwiftMarkup/SuperSwiftMarkdownProtot...

It’s a good example of what else you can do with TextKit2, beyond plain text rendering. Here, I can draw text layout fragments in a core graphics context and use typographic information to also render markdown specific graphics in the background or foreground such as markdown tables. One day I’d love to experiment with a markdown centric spread sheet app.

At the time there was so little online info that I had to figure out everything on my own (and no chatbots didn’t have a clue about TextKit2), but STTextView was a great reference. Overall his open source work was very much appreciated. (I should probably say as much in the read me.)

That experiment was also a ton of work that ultimately didn’t go anywhere. Most people would rather just use a relatively subpar embedded browser (i.e. web view).

colbyn•5mo ago
Oh also I’d like to add to the above, the TextKit2 API is way more freeform than people think. You could probably implement your own web browser upon it with optimized line by line text rendering (which isn’t that bad). One thing I always wanted to experiment with is rendering markdown content with horizontally scrollable text fragments for table rows and certain fenced code blocks. Super cool and practical idea for native markdown text rendering. Moreover, in some ways it seems pretty easy to do in TextKit2 since you get very fine grained control over text layout fragment rendering.
krzyzanowskim•5mo ago
we could build a space rocket with it if we only knew how to use it, so it would not glitch
nicoburns•5mo ago
> You could probably implement your own web browser upon it with optimized line by line text rendering

I actually have an ambition to do this. I already have most of the layout engine. The use case is for a React Native like framework that can render spec-compliant web content.

andrekandre•5mo ago

  > Today, I believe that's not me. The TextKit 2 API and its implementation are lacking and unexpectedly difficult to use correctly. While the design is solid, it proved challenging to apply in real-world applications.
when making new apis its a good idea to have people try and use it like this to find and fix the rough edges and fix bugs... it definitely feels like apple didn't do that (at least enough) here...
zffr•5mo ago
Apple’s typical process for releasing public API involves dogfooding it internally first. Sometimes it will take years of internal use before Apple will release API publicly.

With something as large as TextKit, I would be extremely surprised if Apple did not get several of its apps to adopt the new API and use it for a few years before considering releasing it publicly.

wpm•5mo ago
I’m sure they did, but did they actually fix all of the bugs they found?
saurik•5mo ago
That isn't what it ever seemed, on early iOS at least? They would have every single app on the device using a private API -- like UIScroller, or UIWebDocumentView -- and then they would let all of their end developers screw around with the new UIScrollView, or UIWebView, and it would take a few years for their screams to result in the good design aspects from the private APIs to be begrudgingly given to the masses. At some point, a couple apps -- often starting with the Calculator app, which always seemed to be written by an intern -- would get ported to use the APIs the end developers had been trying to use for years, and if that worked out, Apple would start actually porting their apps off the internal APIs to the "finally good enough" public ones. It was honestly ridiculous... you'd see people talking about some extremely limited API, such as UINavigationController, as if it was somehow amazing... but you'd then have to point out "so why isn't Apple using it anywhere?" and the zealots somehow wouldn't even understand that that was possible :/.
whoisthemachine•5mo ago
This is an unavoidable result of lazy layouts. With the LazyList in Jetpack compose, it's comically difficult to produce a scrollbar, because the "LazyList" only ever lays out the visible items, so Compose can't really know (unless you actually already know) the full size of the list.

I find the iron triangle of project management reins supreme in a lot of domains: quality is sacrificed in the name of performance.

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

bobbylarrybobby•5mo ago
While difficult, there are surely ways to make the scroll bar move more smoothly. For instance, you could demand that it can only change direction when the scroll direction changes. You can also use past scroll bar positions as stronger estimates of document height than text content and whatever else is being used, which would lead to more consistent (if inaccurate) scrolling as well. But as long as we're estimating things we might as well make them enjoyable to use; it's not like the user will be able to discern that the scroll bar is off by 5% anyway.
wavemode•5mo ago
> "Good, fast, cheap. Choose two."

I think many software companies would happily choose good and fast if that were an option. In reality it rarely is (see: The Mythical Man Month).

In fact a lot of companies don't end up achieving any one of the three.

kmeisthax•5mo ago
If anyone had tried lazy-loading scrolling in TextEdit back in the day, Steve Jobs would have had a tantrum. This shit looks awful in motion.
eviks•5mo ago
> The jiggery is super annoying and hard to accept. This is also expected, given that the height is estimated. Works as-designedj

It works as poorly designed, but it's not expected. You don't need to show those tiny meaningless jumps to the user since no user action will be different based on this extra precision, the scrollbar indicator is just not that kind of tool.

keyle•5mo ago
I tried to use it a year+ ago and that was a joke and a half. Half baked, buggy, and horribly documented.

With Apple apis, it's attend WWDC or good luck.

1over137•5mo ago
Or use the old ones. Obj-C and AppKit are pretty stable and have a big knowledge base out there.
lapcat•5mo ago
NSTextView uses TextKit 2 by default now, so you can't really escape it. This is precisely why the TextEdit app has become so buggy, because the app is mostly a default NSTextView.
w10-1•5mo ago
This is one of many such API.

I spent decades in Java land using open-source libraries, where the quality was broad and deep. An enticing demo usually meant it was good all the way down.

With Apple, though, a nice demo means you can do exactly what they did, but be blocked if you step off the happy path. Worse, each developer needs to get bruised because there's no publicly available list of bugs for an API.

I'm grateful to those who publish critiques of API's. It's a life saver.

mpweiher•5mo ago
With NeXTstep it was exactly the opposite: you could usually rearrange, recompose, override the pieces any way you wanted, including from scratch, but the demos and pre-built parts were of such quality that you didn't really want to.

But if you wanted: knock yourself out.

With the first version of Mac OS X, I was stunned that the high-level "convenience" APIs had capabilities that you couldn't actually replicate using the lower level APIs. And this seems to be getting worse. Fortunately with Swift we now have a type-system to enforce the "Apply way or the highway" attitude.

Wowfunhappy•5mo ago
> In a scrollview, such frequent and significant changes to the height result in "juggery" of the scroller position and size

What on earth? How is that considered acceptable? And from Apple of all companies, the ones that put a speaker in the iPod just so it would improve the UX of scrolling.

unconed•5mo ago
It's bizarre that they prioritize parsimony over correctness. Laying out long documents can happen in the background, but shouldn't be deferred to when you actually scroll.
krzyzanowskim•5mo ago
annoyingly enough, the API has some sort of background layout support. I don't think it works well, though. I tried to use it, but it did not improve the "main thread" operations sigificantly to have an impact of fast scrolling scenario - I suspect it may not work actually
rumori•5mo ago
When I was working with TextKit years ago I was constantly using the Hopper decompiler on iOS SDKs to understand the internal workings of these frameworks. Documentation is sparse and calling functions in the right order resulted in big differences in results. It can take a lot of time and trial and errors to get it right.
dostick•5mo ago
So there’s only that major problem with it, or there’s others? If you need TextView for non-overflowing non scrollable content, it’s fine then?