Sunday, January 16, 2022

lotus agenda

Just a note to my future self, because I feel like I might be on the verge of forgetting... an old collaborator Len was a big fan of Lotus Agenda - its free form data entry and tagging was apparently way ahead of its time, and fans of it struggle to find its equal.

the zen of palm, a browser-based palmos emulator, and the handspring

I've previously expressed my love for the mid-90s PalmPilot. Having a gadget to offload details from my brain was just amazing - I kept a precursor to my blog on it and really fell in love with its Date Book and To Do app. 

Cloudpilot is a fun, browser-based emulator for it. You have to download its ROM from PalmDB but then it is ready to go. It is amazing what they got into a 160x160 square - admittedly around the resolution of the gameboy (that was already about 7 years old by then) but with the stylus-based character recognition and ability to synch with your desktop, it was a serious information tool that improved my quality of life. 


You can dig up a copy of Zen of Palm on the Internet Wayback Machine - it's a brisk read about how to make great user experiences on such constrained devices. Some of what it says how people use handhelds is now outdated - back then things were optimized for utilitarian quick-hits of information, while now too often the drive seems to be "how do we get people using this for hours and hours" - but many of the core ideas of distilling to the essence of the usecase still apply (Q: How do you fit a mountain in a tea cup? A: Extract the diamonds and leave the rest.) One interesting nugget I hadn't heard before: 

Iterative user testing was a critical factor for the success of the original Palm Powered handheld. The software designers actually did several prototypes of the entire user interface in HyperCard before writing code.

I do wish I had run into HyperCard when it was a going concern. 

Finally, making the rounds is Springboard: the secret history of the first real smartphone, an excellent way to spend half an hour (or less if you watching things sped up...)

(FWIW, which isn't a lot, while I respect how Handspring moved the market, that first Visor seems so ugly to me - that very of the moment iMac-ish transluscent plastic didn't actually show you much of interest, and the square design with those unpleasant side ridges... bleh!)

Anyway, The Talk Show of Daring Fireball had an episode talking with the maker of the documentary

Saturday, January 15, 2022

Friday, January 14, 2022

conic gradiants for pi charts?

 Huh. Conic gradiants aren't just for color blends, apprarently!


Tuesday, January 11, 2022

a good programmer is hard to find

 I think this slashdot discussion Why Do Programmers Make So Many Mistakes? misses some of how at least sometimes the best is the enemy of the good, but still some fun reading.  The difficulty of finding candidates who could even do FizzBuzz matches some bits of my experience. Also nice seeing Falsehoods Programmers Believe About Names joined with a new friend Falsehoods programmers believe about time.

Monday, January 10, 2022

all the pretty (dangerous) colors

A while back I posted about a hypothetical trojan horse indicating a fundamental vulnerability in how people implicitly trust npm packages. 

Lately, the geekosphere is abuzz with Dev corrupts NPM libs breaking thousands of apps.

Oddly enough, both that hypothetical(?) exploit and the current shenanigans involve "get colors in your javascript logging".

Sunday, January 9, 2022

introducing blogallery, a super lightweight, zero-config vanilla javascript providing progressive enhancement for an image gallery and full screen viewer

I am a dedicated amateur photographer, and I've decided that I like my blog as my "source of truth" for photos. (Also, in an era where amateur photograph is leaning towards "what looks impressive on a phone screen", it's truly a pleasure to be able to open up an image full screen on a generous monitor - you can really sink into the detail.)

A while back I made up some CSS and js for nice thumbnail galleries. If the HTML was simple links wrapping images for a scrollable column, maybe looking like this: 

then I could change it into a thumbnail gallery like this via CSS:

using "scrollIntoView()" to go to the larger issue when a specific image was clicked. And I had each of the "full-width" images link to the original, giant image. But it was always kind of weird that you couldn't, like, use arrow keys to get to the next image in the set.

But now there is... BLOGALLERY!!!

Now simple HTML like
<div class="blogallery">
  <h2 class="blogallery-caption">Open Photo Gallery</h2>
  
  <a href="IMG1-FULLSIZE.jpg">
    <img src="IMG1-INLINE-SIZE.jpg">
  </a>
appears with the same thumbnail gallery, and still opens up into the scrollable column view, but then each image clicks into a full screen viewer, with clickable arrow and keyboard controls:
It also supports images without links, and images in the <figure> tag and will show the <figcaption>s in a reasonable way. No code (or build system) needed (or currently supported) - just include the .js and .css file and document ready hunts for the "blogallery" class.

Some minor cleverness in terms of using object-fit: contain; for the image, and also using a background-image for the image of the scrollable column (lower-rez) image. 

You can see it action at my Photos of the Year tag page (and see some interesting (IMO) photos as well!)

Friday, January 7, 2022

it's not NOT rocket science...

Inspired by this XKCD comic (and also this one and its explanation) I was reading up on James Webb Space Telescope... I stumbled on this FAQ:

How is testing different for Hubble and Webb's mirrors? What did Hubble teach us?

First, on Webb, we used completely separate sets of measurement tools and techniques for verification than what we used to guide manufacturing. This avoids one error from the Hubble experience where the same tool used for manufacturing was later used for verification.

Ha! Sounds a lot like developers writing their own tests...

Thursday, January 6, 2022

javascript fights on

 Interesting view of some of the contenders of the throne occupied by Javascript - spoiler of bits from the the conclusion:

It has shocked me how many body blows this language has taken over the years and still it stands, like a bruised boxer in the ring.

But as my friend and business partner Scott Shattuck says, one reason is “Location, location, location”.

JavaScript’s position as the only language built into the web browser ensures its longevity. With billions of web pages depending on it, JavaScript will likely outlive everyone reading this article.

And I know I'm an old scripting cowboy barbarian at heart, but that's why I am very slow to adopt pre-processors and other build systems, and prefer to live with what is easy to do in the browser itself: it's just so stable. My knowledge can build up with much less throwaway expiration...

bugs and transparency

BSoD to Watson: The Reliability Journey

Great piece on the history of early computers- when the new multitasking GUIs were more prone to failure than earlier, simpler systems but the industry hadn't developed best practices around them, up through allowing computers to send useful error reports back home via the Internet.

As always, I think the key is always making things as transparent as possible.

As happy that another Kirk - Kirk Glerum - played such a major role.

Sunday, January 2, 2022

the joy of bookshelves

Ian Bogost on why Ebooks Are an Abomination (The title is a bit more combative than the conclusion; I suspect it might have been retroactively goosed up by an editor to be more click-bait-y)

I think he misses one of the main appeals of physical books; how they sit on the shelf after the main reading is done. Perhaps I'm a bit superficial but I value full bookcases as a reminder to myself (and a sign to visitors) of my history with and ongoing relationship to the printed word. Bogost addresses the physicality of print books as they are read, but on a shelf that physicality is equally even more significant; the shape and color and typography cement a book more firmly in bodily memory, as does the physical location on well-established, stable personal set of bookshelves.

And of course, a set of bookshelves can become a personal lending library in a way a bunch of books in a ebook device won't. Physical books are much more readily shared.

(And as an extension of that - physical books can support local booksellers. I bought a novel of an author I like from the window of Arlington's "The Book Rack" yesterday in part to do a small bit to help that continuation.)

All that said, I still do most of my reading on iPads. I've never liked the murky-gray of Kindles, my lightly astigmatic eyes prefer a backlit screen and it's great to be able to read in a dimly lit room without having to carefully balance an external light source.

(Back to the vanity of it: when someone sees you reading a physical book, they know you're not just dinking around on social media on your iPad or phone, so that's a plus for a social creature as well.)

Bogost claims ebooks are inferior for highlighting and marginalia, but I think iPads more than make up for that with multiple colors of highlighting and for copy and pasting passages - important for someone who thinks brief paragraphs can punch above their weight in content, and likes to capture those, either in a commonplace book or publically in a blog or on social media.

I'd say Bogost doesn't quite nail the dividing line of what genres work well as ebooks; there's a lot of non-fiction that is still pretty linear and fits the format well.

(Also, Bogost seems to mix electronic texts that reflow content vs PDF scans - I assume he knows but doesn't call out that margins are also useful to keep line lengths reasonable, and prevent the eye from having an excessively long journey across and back.)

Sometimes I try to split the difference then, doing most reading on my iPad (or sometimes now my large screen iPhone - but I'm sure Bogost would share my concern that it puts content in magazine-esque column widths, which is a bad vibe for much reading.) But if a book really strikes home, I like to ask for a copy of the print form for the shelf. The best of both worlds, potentially, though maybe a little unseemly to have a shelf with so many pristine, uncracked books there among the more well-worn editions.