Mischa POSLAWSKY [Sat, 30 Oct 2021 02:42:10 +0000 (04:42 +0200)]
codec: audio type with 5 lossy music formats
Some readily available facts and opinions about the most popular audio
codecs AFAIK.
Mischa POSLAWSKY [Sun, 31 Oct 2021 01:00:48 +0000 (02:00 +0100)]
codec: page request overrides image type
Mischa POSLAWSKY [Fri, 29 Oct 2021 20:28:14 +0000 (22:28 +0200)]
codec: constant table column widths
Styling hack assuming ≤10 similar cells regardless of missing data.
Mischa POSLAWSKY [Sun, 31 Oct 2021 00:59:03 +0000 (02:59 +0200)]
codec: netpbm (pnm) format for completeness
Does not compress, but significant for legacy Unix compatibility
and good as lossless baseline.
Mischa POSLAWSKY [Fri, 29 Oct 2021 18:52:23 +0000 (20:52 +0200)]
codec: calculate theoretical minimal overhead
Optimal sizes of 1x1 black images as researched by Jon Sneyers [1]
with later AVIF data [2] and 2021-10-25 breakthrough for JPEG-XL [3].
An example found for HEIC [4] may not be golfed, but kind of irrelevant
considering the container. Its 212 byte JPEG-2000 example is larger than a
naive ImageMagick conversion.
[1] https://cloudinary.com/blog/one_pixel_is_worth_three_thousand_words
[2] https://twitter.com/jonsneyers/status/
1333037638840967169
[3] https://twitter.com/jonsneyers/status/
1452727349405966341
[4] https://github.com/mathiasbynens/small/commit/
e05a006dd
Mischa POSLAWSKY [Fri, 29 Oct 2021 18:52:16 +0000 (20:52 +0200)]
codec: rate browser support in my biased opinion
Likely the most important and most subjective (except for jpeg ubiquity).
Of the newer formats currently only webp and avif have been widely adopted.
Personal bonus point for any kind of implementation or compatibility.
Mischa POSLAWSKY [Fri, 29 Oct 2021 16:29:00 +0000 (18:29 +0200)]
codec: technical values or details om hover
Explain disputable ratings like royalties, and other optional annotations
to clarify included source values and maybe prevent complaints.
Mischa POSLAWSKY [Fri, 29 Oct 2021 15:24:26 +0000 (17:24 +0200)]
codec: append data values to score array
Store as single entries as they are different representations of the same
results and should not be maintained separately.
Mischa POSLAWSKY [Fri, 29 Oct 2021 13:34:18 +0000 (15:34 +0200)]
codec: gif format (best effort comparison)
Should definitely be included as major legacy web format, despite palette
restrictions not present in other competitors. Colour quantisation can be
graded as quality loss similar to 4:2:0 subsampling.
Mischa POSLAWSKY [Fri, 29 Oct 2021 14:39:35 +0000 (16:39 +0200)]
codec: prefer webp for thumbnail fidelity
Diverge from the original assessment, likely thinking of an even lower
quality level for which jpeg-xl is less suited imho.
Mischa POSLAWSKY [Fri, 29 Oct 2021 13:57:29 +0000 (15:57 +0200)]
codec: categorise related features in groups
Mischa POSLAWSKY [Fri, 29 Oct 2021 13:26:59 +0000 (15:26 +0200)]
codec: grade numeric results and freeness levels
Mischa POSLAWSKY [Fri, 26 Feb 2021 11:15:03 +0000 (12:15 +0100)]
codec: compare 7 image encoding formats
An initial summary of current technologies following the completion of
JPEG-XL. Started out with original research, but then encountered an
article by Jon Sneyers with very similar results, so copied that instead:
https://cloudinary.com/blog/time_for_next_gen_codecs_to_dethrone_jpeg
Mischa POSLAWSKY [Thu, 28 Oct 2021 00:29:12 +0000 (02:29 +0200)]
plan: publish todo text as html page
Parsing as Markdown results in intended formatting after a single character
escape.
Mischa POSLAWSKY [Mon, 25 Oct 2021 21:04:23 +0000 (23:04 +0200)]
word: minify put.js library using uglifyjs
Reduce download size from 3.4kB compressed to just 1.2kB.
Dependency node-uglify chosen because of Debian availability.
Mischa POSLAWSKY [Mon, 25 Oct 2021 20:57:11 +0000 (22:57 +0200)]
word/memory: card game to find matching pairs
Another quiz concept well suited to this image dataset. Initially populated
with distinct sets of grebes (currently the only untranslated references) to
experiment with variance as a somewhat unique selling point.
Mischa POSLAWSKY [Mon, 25 Oct 2021 19:14:25 +0000 (21:14 +0200)]
word/edit: allow unnamed and/or untranslated entries
Alternative variants can be populated without textual distinction, for
example sexual dimorphism without specific terms, identified by category
override alone.
Probably still a good idea to describe eventually, but this is optional
metadata for visual presentations.
Mischa POSLAWSKY [Mon, 25 Oct 2021 14:36:10 +0000 (16:36 +0200)]
word/edit: search query ^ to search root categories
Also fix Unicode conversion for anything else.
Mischa POSLAWSKY [Wed, 20 Oct 2021 21:35:08 +0000 (23:35 +0200)]
word/quiz: rewrite javascript object to class
Mischa POSLAWSKY [Wed, 20 Oct 2021 21:33:04 +0000 (23:33 +0200)]
word/quiz: put-selector library to build html in js
An <10kB include (upto 1.2kB minified and compressed) to facilitate element
wrangling without need for larger jqueries and the like. Easier to maintain
and should save more.
Mischa POSLAWSKY [Mon, 25 Oct 2021 21:07:22 +0000 (23:07 +0200)]
word: make target to build include dependencies
Mischa POSLAWSKY [Mon, 25 Oct 2021 22:29:08 +0000 (00:29 +0200)]
htaccess: upgrade only sheet.shiar.nl, redirect .net tld
No valid ssl certificate for dev domain and other checkouts.
Mischa POSLAWSKY [Wed, 20 Oct 2021 22:22:05 +0000 (00:22 +0200)]
htaccess: align rewrite configuration arguments
Mischa POSLAWSKY [Wed, 20 Oct 2021 22:20:26 +0000 (00:20 +0200)]
htaccess: https redirect on Upgrade-Insecure-Requests header
Enables encryption on most modern browsers as frequently recommended,
without forcing (old or slow) clients if they don't need or want to.
Mischa POSLAWSKY [Wed, 20 Oct 2021 21:39:27 +0000 (23:39 +0200)]
termcol: move ansi88 to legacy page
Rarely used since rxvt-unicode compiles with 256 colours by default
(even in Debian nowadays).
Mischa POSLAWSKY [Wed, 20 Oct 2021 21:39:11 +0000 (23:39 +0200)]
termcol: import ZX Spectrum fan palette zxarne
Another nostalgic design by Arne Jansson, similar to his cgarne.
> Palette here is WIP (v5.2). It was initially more graphical and saturated,
> but I decided to give more of a natural or photographic focus.
> By replacing the bright magenta with a brown it lost graphical width,
> but gained the ability to... do strip poker games.
Mischa POSLAWSKY [Wed, 20 Oct 2021 21:40:49 +0000 (23:40 +0200)]
index: link to dieren page
Mischa POSLAWSKY [Mon, 18 Oct 2021 22:03:19 +0000 (00:03 +0200)]
dieren: aliases in name definitions (instead of image symlinks)
Move metadata from untracked file names.
Mischa POSLAWSKY [Sun, 17 Oct 2021 11:35:03 +0000 (13:35 +0200)]
dieren: reduced captions on mobile screens <960px
Focus on image visibility if width is insufficient for full labeling.
Mischa POSLAWSKY [Sun, 17 Oct 2021 11:34:27 +0000 (13:34 +0200)]
dieren: regular cell width regardless of contents
Mischa POSLAWSKY [Sat, 16 Oct 2021 22:01:05 +0000 (00:01 +0200)]
dieren: high-resolution webp image alternatives
Modern compression format allows for much higher quality at the same size,
enough for (1920px / 3 columns) or 2x DPR at previous 320px width, even then
with generally less visible artifacts than JPEG; in direct comparison only
pig (and its porpoise sibling) are significantly worse due to lost details.
Automatically served by Apache if advertised in client Accept header
(currently supported by 95% ie all modern browsers).
Mischa POSLAWSKY [Sat, 16 Oct 2021 16:07:05 +0000 (18:07 +0200)]
dieren: 3 column beknopt mode of 39 custom words
Mischa POSLAWSKY [Sat, 16 Oct 2021 15:52:29 +0000 (17:52 +0200)]
dieren: aggregate distinctive subpage metadata
Mischa POSLAWSKY [Sat, 16 Oct 2021 15:10:57 +0000 (17:10 +0200)]
dieren: fill last placeholders and improve existing words
Mischa POSLAWSKY [Sat, 16 Oct 2021 22:58:25 +0000 (00:58 +0200)]
font: fix code warning about sprintf arguments
Mischa POSLAWSKY [Fri, 15 Oct 2021 11:42:20 +0000 (13:42 +0200)]
word/edit: ignore unicode in json metadata
The shorthand function enables utf8 for binary safety, but breaks on
"wide characters" in our encoded values (such as in label convert options).
Mischa POSLAWSKY [Fri, 15 Oct 2021 11:29:37 +0000 (13:29 +0200)]
word/edit: align translations list, last item right
Mischa POSLAWSKY [Fri, 15 Oct 2021 10:46:11 +0000 (12:46 +0200)]
htaccess: prevent directory indexes in case of mod_autoindex
Disabled on the current server, but probably installed by default.
Mischa POSLAWSKY [Fri, 15 Oct 2021 10:42:28 +0000 (12:42 +0200)]
word/edit: replace hardcoded urls to the current page
Mischa POSLAWSKY [Thu, 14 Oct 2021 16:45:19 +0000 (18:45 +0200)]
word: workaround unicode breakage in edit subpage
Prevent some perl/PLP quirkiness with encoded scalars.
Mischa POSLAWSKY [Fri, 15 Oct 2021 10:37:55 +0000 (12:37 +0200)]
word: move subpages and includes to word/ directory
Mischa POSLAWSKY [Thu, 14 Oct 2021 16:50:15 +0000 (18:50 +0200)]
word: prefer reference image id in exportform rows
Mischa POSLAWSKY [Fri, 20 Aug 2021 13:50:19 +0000 (15:50 +0200)]
countries: ?v script to compare unicode flags
Mischa POSLAWSKY [Wed, 21 Feb 2018 08:56:40 +0000 (09:56 +0100)]
keys: experiment to omit keyless rows
Mischa POSLAWSKY [Wed, 8 Sep 2021 12:37:29 +0000 (14:37 +0200)]
keys: wide padded key style on windows >1440x996 px
Same size at 90% zoom but less cramped.
Mischa POSLAWSKY [Tue, 24 Aug 2021 15:10:11 +0000 (17:10 +0200)]
word/edit: ignore failed binomial match
Mischa POSLAWSKY [Tue, 31 Aug 2021 23:20:48 +0000 (01:20 +0200)]
word/edit: image metadata in combined json column
Convert existing columns to a freely extensible postgres object:
UPDATE word SET image = json_strip_nulls(json_build_object(
'source', source, 'convert', thumb, 'aspect', 1.5
)) WHERE source IS NOT NULL;
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:11:28 +0000 (04:11 +0200)]
word: mkwordthumb script to recreate images
Mischa POSLAWSKY [Wed, 25 Aug 2021 21:22:13 +0000 (23:22 +0200)]
word: kind table to link optional categories
Allow for some kind of 20 Questions and other tagging.
The hard part will be filling and utilising it properly.
Mischa POSLAWSKY [Wed, 25 Aug 2021 00:46:51 +0000 (02:46 +0200)]
word: more (long term) ideas
Mischa POSLAWSKY [Wed, 25 Aug 2021 04:57:01 +0000 (06:57 +0200)]
latin: hardcoded tetromino block cascades
Attempt to move combinations together if possible,
applying expected gravity to tetris pieces.
Mischa POSLAWSKY [Wed, 25 Aug 2021 04:55:35 +0000 (06:55 +0200)]
latin: chromacons sample on white background
Distinguish spaces in dark style, similar to cmymap.
Mischa POSLAWSKY [Wed, 25 Aug 2021 04:54:54 +0000 (06:54 +0200)]
latin: omit span container on sample svg
Mischa POSLAWSKY [Wed, 25 Aug 2021 04:52:37 +0000 (06:52 +0200)]
latin: assign polyomino shapes (tetris pieces)
System to encode messages in tetris drops, mapping 19 fixed tetrominoes
<https://en.wikipedia.org/wiki/Tetromino?oldid=
1032015917> to corresponding
letters for unrotated shapes I O T L S Z, rotating to match similar
appearances for A F N P.
To distinguish all 26 letters, include fixed polyominoes with fewer cells
<https://en.wikipedia.org/wiki/Polyomino?oldid=
1037069367> for 28 variants:
trominoes to optionally distinguish longer approximates K>Q, F>V, U>W, H>X,
and shorter I cuts for J and Y (substitutable by full line).
Mischa POSLAWSKY [Wed, 25 Aug 2021 03:54:37 +0000 (05:54 +0200)]
latin: domino tile formatting and encoding
Another efficient set containing (7*8/2=) 28 distinct options as listed on
<https://en.wikipedia.org/wiki/Dominoes?oldid=
1037160475#Tiles_and_suits>,
applied alphabetically in increasing weight.
Could also be used to display existing tap codes in single glyphs, but
probably shouldn't.
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:39:18 +0000 (04:39 +0200)]
word/edit: prefer binomial name as latin translation
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:38:21 +0000 (04:38 +0200)]
word/edit: hide unset story or keep existing
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:33:06 +0000 (04:33 +0200)]
word: ideas for additional game modes
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:32:42 +0000 (04:32 +0200)]
word/edit: experimental thumb crop calculations
Determine dimensions before imagemagick to try out different formulas.
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:31:33 +0000 (04:31 +0200)]
word/edit: precalculate image width and height
Code cleanup.
Mischa POSLAWSKY [Sun, 15 Aug 2021 02:20:44 +0000 (04:20 +0200)]
word/edit: fix thumbnail generation warnings
Mischa POSLAWSKY [Fri, 6 Aug 2021 12:42:33 +0000 (14:42 +0200)]
perl: prevent word wrap in code snippets
Mischa POSLAWSKY [Fri, 6 Aug 2021 13:22:24 +0000 (15:22 +0200)]
perl: summarise v5.34 release
Mischa POSLAWSKY [Sun, 1 Aug 2021 17:35:48 +0000 (19:35 +0200)]
writing: italic U+1032F southern tse derived from s
Mischa POSLAWSKY [Sun, 1 Aug 2021 17:27:03 +0000 (19:27 +0200)]
writing: include rune U+16B9 wynn under column p
Etymologically unrelated but looks close enough.
Mischa POSLAWSKY [Sun, 1 Aug 2021 17:26:05 +0000 (19:26 +0200)]
writing: sogdian and mongolian
Mischa POSLAWSKY [Sun, 1 Aug 2021 16:08:06 +0000 (18:08 +0200)]
writing: egyptian hieroglyphs
Track Phoenician letters back to likely Egyptian prototypes (Unicode v5.2),
copied from <http://kaese.name/Typography/Alphabet_evolution.html>.
Mischa POSLAWSKY [Thu, 22 Jul 2021 16:31:49 +0000 (18:31 +0200)]
word/edit: move code to download and convert images
Generalise into ImagePrep class to allow external (re)setup.
Mischa POSLAWSKY [Thu, 22 Jul 2021 15:56:49 +0000 (17:56 +0200)]
word/edit: move FormRow class into separate file
Mischa POSLAWSKY [Thu, 22 Jul 2021 15:52:52 +0000 (17:52 +0200)]
word/edit: generic column attribute to determine image paths
Replaces overly specific imagepath() method.
Mischa POSLAWSKY [Fri, 9 Jul 2021 22:13:35 +0000 (00:13 +0200)]
word/quiz: poc js asks random images with 4 translations
Mischa POSLAWSKY [Sun, 11 Jul 2021 03:32:51 +0000 (05:32 +0200)]
word/edit: chinese language (and pinyin transliteration)
Propose <pronunciation> syntax to append alternate scripts in multiple
columns.
Mischa POSLAWSKY [Sun, 4 Jul 2021 03:00:33 +0000 (05:00 +0200)]
word/edit: thumbnail image coordinates selector
Enlarge and return the clicked position to help -area entry.
Mischa POSLAWSKY [Tue, 27 Apr 2021 23:12:24 +0000 (01:12 +0200)]
word: allow browser access to json data
Mischa POSLAWSKY [Sat, 3 Jul 2021 00:06:20 +0000 (02:06 +0200)]
font: ignore data sources for coverage rebuild
Assume changes in data/font will refresh the directory mtime, so will
trigger without requiring individual includes which are optional and may not
be able to build (due to broken symlinks or parse errors) which cannot be
resolved. Manual reinitialisation can also be forced by make data/font/all.
Mischa POSLAWSKY [Sat, 3 Jul 2021 00:05:29 +0000 (02:05 +0200)]
tools: limit download make rules to once every 2 hours
Mischa POSLAWSKY [Fri, 2 Jul 2021 19:26:48 +0000 (21:26 +0200)]
word: database update triggers re-make
Mischa POSLAWSKY [Fri, 2 Jul 2021 16:54:43 +0000 (18:54 +0200)]
word/edit: story column to store text descriptions
Copy Wikipedia intros as basic summary, for additional details/flavour
after guessing in future quizzes?
Mischa POSLAWSKY [Fri, 2 Jul 2021 16:54:30 +0000 (18:54 +0200)]
word/edit: subpage alias to writer functionality
Mischa POSLAWSKY [Fri, 2 Jul 2021 16:03:55 +0000 (18:03 +0200)]
word: reorder table columns
Mischa POSLAWSKY [Fri, 2 Jul 2021 15:56:16 +0000 (17:56 +0200)]
word: translations from _word_ref view coalescing parent values
Mischa POSLAWSKY [Tue, 20 Oct 2020 20:45:09 +0000 (22:45 +0200)]
word: option ?lang selects alternate wordlist includes
Mischa POSLAWSKY [Mon, 26 Oct 2020 03:44:28 +0000 (04:44 +0100)]
word: generate wordlist includes of different languages
Mischa POSLAWSKY [Thu, 3 Jun 2021 01:04:19 +0000 (03:04 +0200)]
word: document some ideas for future contents
Start tracking random notes publicly.
Mischa POSLAWSKY [Tue, 16 Mar 2021 03:48:05 +0000 (04:48 +0100)]
perl: v5.32 release and additional features
Mischa POSLAWSKY [Tue, 29 Sep 2020 15:33:54 +0000 (17:33 +0200)]
browser: ignore metadata columns in usage data
Fix inflated total or even code errors due to missing values.
Mischa POSLAWSKY [Tue, 29 Sep 2020 16:04:27 +0000 (18:04 +0200)]
browser: fix regexp for case insensitive search
Ignored when applied to match function, even following a RegExp.
Mischa POSLAWSKY [Mon, 15 Jun 2020 22:24:42 +0000 (00:24 +0200)]
word: validate source values as http urls
Mischa POSLAWSKY [Tue, 20 Oct 2020 20:36:23 +0000 (22:36 +0200)]
word: apply subselection before shuffle
Mischa POSLAWSKY [Fri, 16 Oct 2020 22:33:40 +0000 (00:33 +0200)]
word: make rule to generate perl include
Move to data/ for derived data.
Mischa POSLAWSKY [Fri, 16 Oct 2020 22:25:18 +0000 (00:25 +0200)]
word edit: latin language option for scientific names
Exact identification of life forms by binomial nomenclature, most similar to
latin and represented by a pin.
Mischa POSLAWSKY [Fri, 16 Oct 2020 06:08:18 +0000 (08:08 +0200)]
word edit: translation shorthand slash for alternate names
Mischa POSLAWSKY [Fri, 16 Oct 2020 02:42:24 +0000 (04:42 +0200)]
word edit: apply image gravity for empty conversion array
Centered only for NULL values, not defined ARRAY[].
Mischa POSLAWSKY [Sat, 20 Jun 2020 15:18:53 +0000 (17:18 +0200)]
word edit: unadvertised search option ?q
Mischa POSLAWSKY [Mon, 17 Aug 2020 16:40:04 +0000 (18:40 +0200)]
source: allow external website inclusion of json
Header to permit data being used in modern browsers.
Mischa POSLAWSKY [Sun, 30 Aug 2020 12:35:52 +0000 (14:35 +0200)]
source: keep original file encoding
Keep original utf8 as binary to prevent reconversion.
Mischa POSLAWSKY [Sat, 20 Jun 2020 15:18:46 +0000 (17:18 +0200)]
word: database module to connect to postgres
Single configuration of authorisation details.
Mischa POSLAWSKY [Wed, 17 Jun 2020 22:40:20 +0000 (00:40 +0200)]
word: quiz mode omitting titles in random order
Mischa POSLAWSKY [Wed, 17 Jun 2020 22:24:42 +0000 (00:24 +0200)]
word: reduce size of parenthesised form part
Syntax for optional elongation as in "rhino(ceros)" or "chimp(anzee)".
Mischa POSLAWSKY [Mon, 15 Jun 2020 22:51:35 +0000 (00:51 +0200)]
word: identify thumbnail image files by id