@alcinnz @sarahjamielewis

Ha. I was thinking I was busy and could get away with just the claim but I guess it does require some better explanation to make sense or sound credible. Apologies in advance for typos as I'm still rushed for time ...

It was back in the mid 1990s, working for a company that did postscript support for printers. They needed "web-ready printing" and you couldn't get that off-the-shelf, so I wrote an HTML parser and learned postscript and put together a layout engine that could spit out PostScript.

HTML layout was less elaborate then. It didn't handle CSS. Lots of web pages didn't yet need it, thankfully. Or Java. Not sure Javascript existed but if so it wasn't widely used, and didn't get a DOM 'til later. So it was an easier target. On the other hand, it was before they got serious about how to resolve confusions in layout, especially tables. I'm pretty sure browsers didn't yet agree. My recollection is that HTML 4 started to more seriously describe layout, clarifying some vexing lack of constraint, but I think it wasn't out when I did this. It's been awhile, so I might misremember what was and was not involved. This is all approximate from unreliable memory.

But nowadays when people make these things they may get Mozilla off the shelf, so I just mean to say whatever I wrote, however incomplete, I really wrote from scratch. So we could take in HTML and print it. Nothing remarkable now, but a bit more effort then.

Anyway, when I was done it randomly occurred to me I might have authored a web browser. In Common Lisp if anyone is wondering. At the company then called Harlequin. (No, not the Harlequin that does romance novels. The one where I made CLHS. Though its big product was raster image processors, RIPs, for printers, and tools for color matching across printers.) So, to test my belief about what I might have done, I wrote an alternate backend for the HTML layout engine that used the Common Lisp Interface Manager (CLIM) to display to the screen instad of PostScript.

It was immediately obvious that I'd need to add hyperlink support. That's kind of essential for web browsers and I'd skipped it for the web-ready printing. (I can't recall if I literally ignored link anchors or just turned them to footnotes. I recall it was a case where there were multiple options.)

The other missing thing (there were only two major omissions I noticed at the time, though I'm sure others would've come up--I didn't pursue it as other than a fun hack, in the original meaning of that word) was that at the time all browsers had a panel in the top right that was animated when doing web downloads. (Mosaic had a spining globe, and others did something cute that was distinctive to the brand. It seemed essential to claim victory. More essential than Java or Javascript. Heh.)

So I got a Harlequin icon that Craig Swanson, either then or later Chief Designer of Communications at Harlequn, had drawn, and I dismembered it and rearranged the arms and legs in various images that I assembled into a sequence I could treat as an animation making it dance during page and image loads. It turned up some weird bugs in Harlequin's CLIM because we hadn't allocated resources (locks and whatnot) in a way that could be shared across threads. The Harlequin dance wanted to be separately running, but synchronized. So even though my browser wasn't a product we treated it as QA for CLIM. Probably Richard Billington doing that helpful support? Maybe not alone. Again I'm not sure.

But the work of writing the browser was minimal compared to the printer support and didn't take huge calendar time because it was already kinda done. So I claim bragging rights on an accidental browser. :) There's a dilbert about such a feat, and when I saw it I laughed and thought "yeah, I did that".
https://dilbert-viewer.herokuapp.com/1995-11-14

Maybe more detail more than you wanted. I hope it doesn't sound like I cheated in making the original claim. I suppose it's a subjective matter what counts or doesn't. :)

#CommonLisp #WebBrowser #WebBrowsers #CLIM #CLHS #Dilbert #HTML #TrueStory #History #programming #lisp

Comic Strip on 1995-11-14

Dilbert comic strip on Tuesday November 14, 1995, viewed using a simple comic viewer.

@craigbro @neauoire

Aw, thanks, folks.

A lot of very basic by hand construction of icons from the days where you did that in bitmap editors, pixel by pixel sometimes.

I resisted relying on HTTP features or early Java (there was no JavaScript yet, I think and I wasn't sure how stable java was) because I didn't want it to have trouble running in isolated or offline or future environments, so I wrote the TeX to HTML translator to open-code all the questions I wanted to ask into static HTML to make it hopefully host and access path independent.

And I wasn't sure certain alignment strategies were stable so I used layouts I thought would stay most stable with time.

I'm really pleased the decisions I made have been as enduring as they were. There was occasional pressure to update it in style, but I regard that like asking the US Constitution be done in a more modern font. :)

#CommonLisp #CLHS #TeX #HTTP #HTML #History

@Seanleblanc

WRT #CommonLisp Object System (#CLOS):

The seminal book ›The Art of the Metaobject protocol‹ (1991, #AMOP) by #Kiczales, #Rivieres & #Bobrow demonstrates & discusses many design patterns for #ObjectSystem|s with #metaobject protocol, in which methods are not part of classes, due to #multimethod, #multipledispatch paradigms.

It also contributed much to #DylanLang.

🌺

🦎 https://telegram.me/FamilyOfLisp
🦎 https://matrix.to/#/#family-of-lisp:magdeburg.jetzt

🏷️ #Lisp #FamilyOfLisp #CLtL2 #CLHS #ELSConf #XEROXParc

Family of Lisp (Programming Languages)

Lisp is the name of a family of programming languages. This Telegram group is for exchange and dialogue on topics related to the Family of Lisp.

Telegram
Henry Baker's Archive of Research Papers

@Shou @ntnsndr @Paul030 @christina

I'm also very much interested in establishing a #LispCoop, that is, a #cooperative of #freelancer|s focused on projects involving programming languages in the #FamilyOfLisp.

The motivation is that #SoftwareDevelopment & #ProjectManagement need to observe sufficiently different aims, practices, paradigms and risks with #Lisp programming languages.

🌺

🦎 https://telegram.me/FamilyOfLisp
🦎 https://matrix.to/#/#family-of-lisp:magdeburg.jetzt

🏷️ #Scheme #CommonLisp #ELSConf #Clojure #DylanLang #CLHS

Family of Lisp (Programming Languages)

Lisp is the name of a family of programming languages. This Telegram group is for exchange and dialogue on topics related to the Family of Lisp.

Telegram
Family of Lisp (Programming Languages)

Lisp is the name of a family of programming languages. This Telegram group is for exchange and dialogue on topics related to the Family of Lisp.

Telegram

If you would like to come over to a friendly group on Telegram focused on the programming languages in the #FamilyOfLisp — please feel welcomed to join!

We are here:

https://t.me/FamilyOfLisp 🦎

🌺

🏷️ #Lisp #Scheme #CommonLisp #Racket #InterLisp #Clojure #BaLindaLisp #Hy #ELSConf #ZetaLisp #LispMachine #ConnectionMachine #ThinkingMachines #Emacs #AutoLisp #CLOS #AMOP #SICP #CLtL2 #PAIP #AIMA #PCL #Symbolics #Genera #DylanLang #LFE #ISLisp #Arc #Janet #Jank #OnLisp #HTDP #CLHS #EuLisp

Family of Lisp (Programming Languages)

Lisp is the name of a family of programming languages. This Telegram group is for exchange and dialogue on topics related to the Family of Lisp.

Telegram