Sunday, December 29, 2019
19 years a blogger
Yesterday I did a reconfiguration of some of the internals of my long-running daily blog kirk.is and I wrote up the history of the site - all 19 years of it - along with a description of the changes.
Saturday, December 28, 2019
processing tips, and mourning java on the clientside web
I follow the tumblr For Your Processing and they linked to an old 25 Life Saving Processing Tips article - I should really get better at knowing when to use noise() not random().
Playing with processing vs it javascript cousin p5 and trying to replicate a "persistence of vision" toy (a Disney's Frozen branded fan that used a strip of LEDs to make animations as the fan spun) I was reminded how much faster the Java stuff could run vs the p5 - Processing can easily get into 4-digit FPS, a p5 thing seems to max out around 60. (So in the case of replicating persistence of vision, it was better to use that "draw a semi-opaque rectangle over the last frame instead of erasing it" trick the Tips article mentions.)
But of course, Processing sketches can no longer be readily shared on the web, which is deeply sad. While I know applets never looked liked a piece of the native web, always a bit janky in terms of colors or fonts, I will never quite understand why the applet sandbox couldn't be made as safe as the javascript sandbox and so was always considered a security risk - javascript is so tightly woven into the browser, it feels like it would be tougher to get make sure it was secure and isolated from any weird overflow attacks or what not.
Similar argument for Flash, come to think of it. Flash artists were doing things decades ago that dynamic web people still struggle to replicate. (Of course when it came to UI for a site, Flash was usually a lesson in "just because you can doesn't mean you should")
So many artists who want so share the work often have to export to GIF (which is kind of hilariously old and inefficient come to think about it - plus the format heavily favors things where the art can be made to smoothly loop. Anyway low-sugar-eye-candy is one of the best of that form...
Playing with processing vs it javascript cousin p5 and trying to replicate a "persistence of vision" toy (a Disney's Frozen branded fan that used a strip of LEDs to make animations as the fan spun) I was reminded how much faster the Java stuff could run vs the p5 - Processing can easily get into 4-digit FPS, a p5 thing seems to max out around 60. (So in the case of replicating persistence of vision, it was better to use that "draw a semi-opaque rectangle over the last frame instead of erasing it" trick the Tips article mentions.)
But of course, Processing sketches can no longer be readily shared on the web, which is deeply sad. While I know applets never looked liked a piece of the native web, always a bit janky in terms of colors or fonts, I will never quite understand why the applet sandbox couldn't be made as safe as the javascript sandbox and so was always considered a security risk - javascript is so tightly woven into the browser, it feels like it would be tougher to get make sure it was secure and isolated from any weird overflow attacks or what not.
Similar argument for Flash, come to think of it. Flash artists were doing things decades ago that dynamic web people still struggle to replicate. (Of course when it came to UI for a site, Flash was usually a lesson in "just because you can doesn't mean you should")
So many artists who want so share the work often have to export to GIF (which is kind of hilariously old and inefficient come to think about it - plus the format heavily favors things where the art can be made to smoothly loop. Anyway low-sugar-eye-candy is one of the best of that form...
Friday, December 27, 2019
macos finder - actions | sort by vs group and what is a popsicle anyway?
So I learned two small things yesterday.
I posted this rant in the Lost In Mobile WhatsApp group:
I guess I never noticed that because "Group" has its options one level higher than sorting under actions, this:
versus this:
And also for arranging by "Name", Group and Sort By are identical - but the Date and Size stuff gets that behavior of sorting by name under each Group heading. (Which seems like a very odd design decision to me, usually the groups headings aren't that fine grained or useful distinctions per se, and the user has clearly expressed an interest in a date or file size characteristic....)
Another thing I learned yesterday - for USA English, at least in the Northeast, most people say a "popsicle" can only be something icy on a stick, probably frozen juice - that if it's cream-based, that's an "ice cream bar" or "frozen yogurt bar" or whatever, but not a "popsicle". (Of course we're talking about the genericization of a trademark term, ala Kleenex or Xerox anyway.)
It's weird to be in my middle age and not having picked up on this common distinction. In thinking on why I'm more likely to find the distinction so arbitrary and confusing (to me, a sweet frozen treat on a stick can be called a "popsicle", and some of the dictionary definitions and many google images support my looser use of the term) I think back to an idea I've written about here before:
It does seem odd to me then for common usage in my area, we have no term covering all "frozen things you eat from a stick". There's "frozen novelties" (which sounds like some kind of coy euphemism) and "frozen treats" but both of those include things like ice cream sandwiches.
I posted this rant in the Lost In Mobile WhatsApp group:
Man, one thing I HATE about MacOS - and almost gives creed to the "I should try linux, it's configurable" but I'm sure that would be its own death by 1,000 paper cuts-- if I group by "Date Created", then PLEASE SORT BY TIME CREATED. Don't put half the dang files in an ALPHABETICALLY sorted sublist called "Previous 7 Days", for pete's sakesEventually comments from BobD in the group got me poking around more, and I realized that while I tend to always use "Group" for changing the file arrangement in the "as Columns" view I prefer (the one where ancestor directories are columns on the left), there are different options for sorting under "Action".
I guess I never noticed that because "Group" has its options one level higher than sorting under actions, this:
versus this:
And also for arranging by "Name", Group and Sort By are identical - but the Date and Size stuff gets that behavior of sorting by name under each Group heading. (Which seems like a very odd design decision to me, usually the groups headings aren't that fine grained or useful distinctions per se, and the user has clearly expressed an interest in a date or file size characteristic....)
Another thing I learned yesterday - for USA English, at least in the Northeast, most people say a "popsicle" can only be something icy on a stick, probably frozen juice - that if it's cream-based, that's an "ice cream bar" or "frozen yogurt bar" or whatever, but not a "popsicle". (Of course we're talking about the genericization of a trademark term, ala Kleenex or Xerox anyway.)
It's weird to be in my middle age and not having picked up on this common distinction. In thinking on why I'm more likely to find the distinction so arbitrary and confusing (to me, a sweet frozen treat on a stick can be called a "popsicle", and some of the dictionary definitions and many google images support my looser use of the term) I think back to an idea I've written about here before:
I don't care so much about the interior lives of things; people and computer objects alike should be judged on what they do, not what you think they "are".So in this case, the interface (the interaction, the verbs) for a "popsicle" and an "ice cream bar" are identical: go to the freezer, unwrap it, enjoy a sweet treat while holding a stick, discard the stick - and so it seems daft to have to do a composition analysis of the noun to know what word I need to use (one friend with a dairy sensitivity mentioned some cream-y things might be "popsicles" if the creaminess was gelatin rather than dairy based, and so the distinction has a particularly utilitarian aspect for her.)
It does seem odd to me then for common usage in my area, we have no term covering all "frozen things you eat from a stick". There's "frozen novelties" (which sounds like some kind of coy euphemism) and "frozen treats" but both of those include things like ice cream sandwiches.
Wednesday, December 18, 2019
browser diversity
Coworker terribledev writes
Microsoft has been working over the past year to re-write edge off of its own Trident rendering engine and UWP app platform and instead building edge off Chromium (the platform chrome is built on). The windows community has dubbed this version of edge “credge” or Chromium-Edge smashed together.I guess in general it's good to be avoiding the risk of monoculture in browsers, but of course the amount of testing needed goes up as well...
You can download the chromium edge onto your mac today, by downloading the beta release.
https://www.microsoftedgeinsider.com/en-us/download?platform=macosThe release of chromium edge will happen the first quarter of next year, and will even probably drop in January.
On windows, This new version will have a built-in IE11 compatibility mode.
I suspect many enterprises will adopt edge, due to its IE11 compatibilities, and the fact that it will be getting the latest updates.
Tuesday, December 17, 2019
fork'in great!
So far, Fork, "a fast and friendly git client for Mac and Windows", seems to be much lighter on its feet than Sourcetree, but has a similar UI.
Wednesday, December 4, 2019
disabling a line of eslint in jsx
In my company's ongoing a11y efforts, there's an interesting paradox where we have a scrollable information div (scrollable via "overflow-y:auto;" css)- the Axe inspector says a scrollable div should be focusable - so I put tabIndex="0" on it so it could have the keyboard focus and allow arrow key scrolling. But we have an eslint rule: "jsx-a11y/no-noninteractive-tabindex" - the overflow scrolling isn't enough for eslint to consider it "interactive" I guess.
I don't know if there's a semantically better way of saying "this panel is interactive but for scrolling only", but to ignore the eslint I had to use the slightly odd in-tag comment JSX of
<div
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
tabIndex="0"
className={blah blah blah}
>
(Thanks to my coworker "Terrible Dev" Tommy for getting the syntax right)
I don't know if there's a semantically better way of saying "this panel is interactive but for scrolling only", but to ignore the eslint I had to use the slightly odd in-tag comment JSX of
<div
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
tabIndex="0"
className={blah blah blah}
>
(Thanks to my coworker "Terrible Dev" Tommy for getting the syntax right)
Monday, December 2, 2019
next generation web styling
Some very cool stuff but man - the footprint of what you might need to know to read someone's CSS and JS is getting larger and larger.
You can see the stuff they talk about online at a.nerdy.dev/css-at-cds/
You can see the stuff they talk about online at a.nerdy.dev/css-at-cds/
Subscribe to:
Posts (Atom)