I say this with no hyperbole: Bill Atkinson may well have been the best computer programmer who ever lived. Without question, he’s on the short list.
On 08 Jun 2025 03:21:43 GMT, Retrograde wrote:
I say this with no hyperbole: Bill Atkinson may well have been the best computer programmer who ever lived. Without question, he’s on the short list.
He was brilliant, but there were others of comparable brilliancy, I would say. Just within the Apple world: Steve Wozniak and Andy Hertzfeld come to mind. And it takes more than programmers: without Susan Kare, the
Macintosh UI could have ended up looking like ... the Amiga.
I'm currently attempting to draw a roundrect using x86 asm.
I'm currently attempting to draw a roundrect using x86 asm. Ok, it's
a hobby.
[Please do not mail me a copy of your followup]
"Kerr-Mudd, John" <admin@127.0.0.1> spake the secret code <20250613141833.038a305eca2288e871bdac0f@127.0.0.1> thusly:
I'm currently attempting to draw a roundrect using x86 asm.
You might find this interesting then: <https://blend2d.com/>
On Fri, 13 Jun 2025 14:18:33 +0100, Kerr-Mudd, John wrote:
I'm currently attempting to draw a roundrect using x86 asm. Ok, it's
a hobby.
For some reason, the QuickDraw graphics engine never included Bézier
curves. If you have those, then it’s not hard to compute a fillet
(rounding curve) on the intersection of two lines (e.g. a corner of a rectangle). And they don’t even have to be at right angles.
See the “Path Techniques” notebook here <https://gitlab.com/ldo/qahirah_notebooks>.
On Fri, 13 Jun 2025 23:48:04 -0000 (UTC)
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Fri, 13 Jun 2025 14:18:33 +0100, Kerr-Mudd, John wrote:
I'm currently attempting to draw a roundrect using x86 asm. Ok, it's
a hobby.
For some reason, the QuickDraw graphics engine never included Bézier curves. If you have those, then it’s not hard to compute a fillet (rounding curve) on the intersection of two lines (e.g. a corner of a rectangle). And they don’t even have to be at right angles.
See the “Path Techniques” notebook here <https://gitlab.com/ldo/qahirah_notebooks>.
I tried; I got a spinning circle; maybe it 'needs' javascript, or
something else I don't/won't use.
----
Bah, and indeed Humbug.
From the «mortal genius» department:
Title: Bill Atkinson Dies From Cancer at 74
Author: John Gruber
Date: Sat, 07 Jun 2025 20:36:31 +0000
Link: https://www.facebook.com/story.php?story_fbid=10238073579963378&id=1378467145&_rdr
From his family, on Atkinson’s Facebook page:
We regret to write that our beloved husband, father, and stepfather Bill >Atkinson passed away on the night of Thursday, June 5th, 2025, due to >pancreatic cancer. He was at home in Portola Valley in his bed, surrounded by >family. We will miss him greatly, and he will be missed by many of you, too. >He was a remarkable person, and the world will be forever different because >he lived in it. He was fascinated by consciousness, and as he has passed on >to a different level of consciousness, we wish him a journey as meaningful as >the one it has been to have him in our lives. He is survived by his wife, two >daughters, stepson, stepdaughter, two brothers, four sisters, and dog, Poppy.
One of the great heroes in not just Apple history, but computer history. If you
want to cheer yourself up, go to Andy Hertzfeld’s Folklore.org site and >(re-)read all the entries about Atkinson. Here’s just one, with Steve Jobs >inspiring Atkinson to invent the roundrect[1]. Here’s another (surely near and
dear to my friend Brent Simmons’s heart[2]) with this kicker of a closing line[3]
: “I’m not sure how the managers reacted to that, but I do know that after a
couple more weeks, they stopped asking Bill to fill out the form, and he gladly
complied.”
Some of his code and algorithms are among the most efficient and elegant ever >devised. The original Macintosh team was chock full of geniuses, but Atkinson >might have been the most essential to making the impossible possible under the >extraordinary technical limitations of that hardware. Atkinson’s genius >dithering algorithm[4] was my inspiration for the name of Dithering[5], my >podcast with Ben Thompson. I find that effect beautiful and love that it >continues to prove useful, like on the Playdate[6] and apps like BitCam[7].
In addition to his low-level contributions like QuickDraw, Atkinson was also >the creator of MacPaint[8] (which to this day stands as the model for bitmap >image editors — Photoshop, I would argue, was conceptually derived directly
from MacPaint) and HyperCard[9] (“inspired by a mind-expanding LSD journey in
1985[10]”), the influence of which cannot be overstated.
I say this with no hyperbole: Bill Atkinson may well have been the best >computer programmer who ever lived. Without question, he’s on the short list.
What a man, what a mind, what gifts to the world he left us.
★ [11]
Links:
[1]: https://folklore.org/Round_Rects_Are_Everywhere.html (link)
[2]: https://inessential.com/2002/06/25/deleting_code.html (link)
[3]: https://www.folklore.org/Negative_2000_Lines_Of_Code.html (link)
[4]: https://www.google.com/search?q=bill+atkinson+dithering+algorithm (link) >[5]: https://en.wikipedia.org/wiki/Atkinson_dithering (link)
[6]: https://play.date/ (link)
[7]: https://daringfireball.net/linked/2016/06/10/bitcam (link)
[8]: https://www.folklore.org/MacPaint_Evolution.html (link)
[9]: https://daringfireball.net/linked/2014/06/17/hypercard (link)
[10]: https://www.folklore.org/Joining_Apple_Computer.html (link)
[11]: https://daringfireball.net/linked/2025/06/07/bill-atkinson-rip (link)
On Fri, 13 Jun 2025 15:33:58 -0000 (UTC)
legalize+jeeves@mail.xmission.com (Richard) wrote:
"Kerr-Mudd, John" <admin@127.0.0.1> spake the secret code
<20250613141833.038a305eca2288e871bdac0f@127.0.0.1> thusly:
I'm currently attempting to draw a roundrect using x86 asm.
You might find this interesting then: <https://blend2d.com/>
Written in C/C++? no I'm focussed on x86 only.
On Fri, 13 Jun 2025 23:48:04 -0000 (UTC)
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
See the “Path Techniques” notebook here
<https://gitlab.com/ldo/qahirah_notebooks>.
I tried; I got a spinning circle; maybe it 'needs' javascript, or
something else I don't/won't use.
Obituary in this week's Observer.
https://observer.co.uk/news/columnists/article/so-long-bill-atkinson-and-thanks-for-my-apple-epiphany
For some reason, the QuickDraw graphics engine never included BézierI don't know why they weren't added later (assuming they weren't,) but
curves. If you have those, then it’s not hard to compute a fillet
(rounding curve) on the intersection of two lines (e.g. a corner of a rectangle).
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
For some reason, the QuickDraw graphics engine never included Bézier
curves. If you have those, then it’s not hard to compute a fillet
(rounding curve) on the intersection of two lines (e.g. a corner of a
rectangle).
I don't know why they weren't added later (assuming they weren't,) but
the reason RoundRects were a primitive unto themselves was performance. Plotting Bézier curves in a generalized way requires *way* more math
than Atkinson's technique, which doesn't even require multiplication:
https://folklore.org/Round_Rects_Are_Everywhere.html?sort=date
On an 8 Mhz 68000, that makes quite a bit of difference.
AFAIK the algorithm goes back to Bresenham in the 1960s - althoughMight well be - I yield to those with more knowledge on that point.
it’s certainly possible Atkinson rediscovered it.
I don't know why they weren't added later (assuming they weren't,) but
the reason RoundRects were a primitive unto themselves was performance.
Plotting Bézier curves in a generalized way requires *way* more math
than Atkinson's technique, which doesn't even require multiplication:
On Sat, 14 Jun 2025 13:19:01 +0100
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
On Fri, 13 Jun 2025 23:48:04 -0000 (UTC)
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Fri, 13 Jun 2025 14:18:33 +0100, Kerr-Mudd, John wrote:
I'm currently attempting to draw a roundrect using x86 asm. Ok, it's
a hobby.
On Sat, 14 Jun 2025 13:28:14 +0100
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
On Sat, 14 Jun 2025 13:19:01 +0100
"Kerr-Mudd, John" <admin@127.0.0.1> wrote:
On Fri, 13 Jun 2025 23:48:04 -0000 (UTC)
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
On Fri, 13 Jun 2025 14:18:33 +0100, Kerr-Mudd, John wrote:
I'm currently attempting to draw a roundrect using x86 asm. Ok, it's a hobby.
[]
Finally have something to demo after a lot of struggling with the stack!
Pure x86, uses Bios ints for vid and getkey to keep display before ending.
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,064 |
Nodes: | 10 (0 / 10) |
Uptime: | 152:35:56 |
Calls: | 13,691 |
Calls today: | 1 |
Files: | 186,936 |
D/L today: |
2,520 files (731M bytes) |
Messages: | 2,411,051 |