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!)