studio status report: 2023-02
month 02 of 2023 was still about slow progress on Songhay.Player.ProgressiveAudio
and loads of research
The “Songhay.Player.ProgressiveAudio
release 6.0.0” project is still underway in large part because I spent at least 15 hours this month watching three different play-throughs of the Dead Space remake. The Gab Smolders play-through gets my award as the other dudes I watched were seasoned veterans of gaming but not as seasoned as Gab when it came to the Dead Space universe.
Anyway, there were a few more non-day-job hours left in the month which allowed me to complete all three of the Player samples (in HTML):
- https://rasx-node-js.netlify.app/html5/input-range-play-control/index.html
- https://rasx-node-js.netlify.app/html5/input-range-volume-control/index.html
- https://rasx-node-js.netlify.app/html5/audio-playlist/
Visually, we have these three bits:
It was important to do this work in ‘pure’ HTML (and plain-vanilla JavaScript) get rapid feedback during development and to see just how little (or how much) JavaScript is needed for the world Web Assembly (Bolero).
“sorting Blazor, Photino, Uno and Avalonia”
This juggling of UI technologies leads to the ‘loads of research’ mentioned above—and there should be separate blog post entitled “sorting Blazor, Photino, Uno and Avalonia” coming out soon to delve into what I regard as the state of the art. A sharp eye should be able to find Blazor, Photino, Uno and Avalonia in the Obsidian graph of the month:
Selected notes from the month follow:
[[Bolero]]: my bug fix was released two weeks ago!
Loïc Denuzière merged a fix for my bug in month 11, last year—but there was no release picking up these changes until two weeks ago. This means I have update my [[Bolero]] packages #to-do
yes, [[Avalonia]] has a Material Design package
https://github.com/AvaloniaCommunity/Material.Avalonia
[[Songhay Publications]]: comics nerd verifies that Amazon has effectively destroyed Comixology, specifically its guided view player
A video from Pipeline Comics introduces me to https://www.izneo.com/fr/which is the French version of rolling one’s own comic publication platform—and their YouTube channel is packed with trailers for comics:
[[Songhay Player for Progressive Audio]]: the Presentation
type looks smaller today
type Presentation =
{
id: Id
title: Title
cssVariables: CssVariable list
parts: PresentationParts
}
PresentationParts
has absorbed some properties:
type PresentationParts =
| CopyRights of Copyright list
| Credits of RoleCredit list
| Description of Description
| Pages of string list
| Playlist of (Title * Uri) list
This move was done after studying how “Grouping with Discriminated Unions” works.
can the PresentationParts
type describe streaming media?
Today, the PresentationParts
type has Pages
and Playlist
—for streaming media I would flippantly assert the Chapter
.
Does the Chapter
have enough expressive power to describe, say:
❓
[!warning] What might be a problem is the horizontal aspect of a Presentation Part while there might be a need to express the vertical aspect of a Presentation Layer.
Today, I assume that Presentation layers can be derived from Presentation parts. This implies that all layers of a Presentation can be broken down into parts—and the strategy for breaking a layer down will always involve time (SMPTE timecode [📖 docs ] ?), temporal coordination.
“GraphQL is a hot smoking pile of garbage”
https://aista.com/blog/graphql-is-hot-smoking-pile-of-garbage/
“JSON based SQL insertion attacks”…?
Because securing a GraphQL endpoint, is probably equally difficult as it is to implement a real software development solution, with business logic on the server, and validation and security on the server – Where it belongs. Exposing GraphQL endpoints to anybody but yourself, and/or the sys-admin of your app, is probably only slightly more secure than providing a text area in the public parts of your website, with a placeholder saying; “Provide SQL here …”.