reduce-algebra
hsluv
reduce-algebra | hsluv | |
---|---|---|
3 | 14 | |
30 | 1,255 | |
- | 0.3% | |
9.3 | 5.0 | |
5 days ago | 3 months ago | |
Mustache | ||
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
reduce-algebra
-
An Apologia of Lazy Evaluation
Usually the arguments are a) it provides runtime access to the source (which for example is useful in R), b) runtime introspection is easier to understand (for the proponents) and c) macros are too static (they want more flexibility at runtime). For example authors of the REDUCE computer algebra system disliked Common Lisp for the lack of FEXPRs and that's why they stayed away from it: https://reduce-algebra.sourceforge.io/ .
> The languages you mention probably
No, see above.
-
Maxima: A computer algebra system written in Common Lisp
Reduce is another lisp based computer algebra system from the prehistoric times, now open sourced.
https://en.wikipedia.org/wiki/Reduce_(computer_algebra_syste...
https://reduce-algebra.sourceforge.io/
I paid money for a Reduce release for RISCOS back in the last ice age. I recollect having to register my licence with the Rand Corporation for some reason.
-
A Modern Fortran Scientific Programming Ecosystem
I idly wonder how these compare to the arbitrary-precision implementations in REDUCE (https://github.com/reduce-algebra/reduce-algebra/blob/master...) - written mostly by me, 30 years ago in the unusual, Lisp-based but largely procedural, language of REDUCE. Can't remember much about the subject now.
The citations in the Julia source file are certainly newer - Abramowitz and Stegun was basically all I had.
I think the REDUCE functions were considered quite fast (for higher precision) at the time, but it was certainly true that they weren't tested as thoroughly as would be the norm now.
hsluv
-
Koala Sampler Hardware, Quantum Looping, and more with Marek! 🎹🔑106
Here's a potential solution to having consistent accessible color palettes in Koala: https://www.hsluv.org
-
accidental-scheme.nvim
If you want to take a step further, take a look into perceptually uniform color spaces, like HSL(uv) or LCh(uv).
-
Maxima: A computer algebra system written in Common Lisp
Maxima enabled me to make my color space [HSLuv](https://www.hsluv.org/). I encoded CIELUV <-> RGB transformation functions into Maxima, ran `solve` and converted the output back into code. It's great to be able to commit [Maxima code](https://github.com/hsluv/hsluv/tree/master/math) into your repository and not leave the math as an "exercise to the reader".
- How to import color space? (HSLuv)
-
HTML Color Picker
If you want to make it more useful than a browser's built-in color picker, perhaps support other color spaces? Maybe HSLuv or CIE L*a*b*?
-
Pallete Sorting?
Chroma could be included, but as a minor criterion. When I look at color pickers that try to balance human perception against geometric simplicity like HSLuv and Okhsl, chroma is the property that gets distorted the most. Perceptual brightness and hue seem to be more important.
-
Make Beautiful Gradients
> Now, HSL isn't necessarily the best color mode to use in every situation; it tends to produce gradients that can be overly bright and vivid, because it doesn't take into account human perception.
Shout-out to to [HSLUV](https://www.hsluv.org/) which does exactly that.
-
Tokio Console
I'm a little bit of a color freak. Allow me to leave some suggestions :)
- Picking from the 256 color pallete will likely give you colors with different brightness. This may hurt readability of darker colors on a dark background, and may make some color stand out unintentionally. Consider using something like HSLuv [1] to pick colors with the same lightness, then convert to the closest Xterm color [2].
- To make it obvious there is a gradient, I'd pick one lightness (assuming HSLuv) and one saturation (I usually stick to 100%), then pick a distance in hue for each step. For example if I expect to see a maximum of 7 steps on the screen at once, one way is to start at 0, then 30, then 60, etc. You may choose to go over 180, but keep in mind 360 will be the same as 0 so maybe stop at 240. Note how by picking adjacent colors from the table you are still picking a distance, but the distance is too small so it's hard to see.
- You may want to choose a different starting point than 0, and maybe different direction for the steps, depending on whether you want the colors to "mean" anything. For example red is commonly associated with warning, so you can arrange to have the top of the range aligned with red. Or arrange to avoid the red region if you don't want that association.
[1] https://www.hsluv.org/
-
So, I want a genuine explanation for this. Why is "darkgrey", a lighter shade than "grey"?
Check out HSLuv as an alternative for UI design: https://www.hsluv.org/
-
I made a GDScript port of HSLuv
HSLuv is a HSL alternative, which aims to maintain the perceived lightness of colors across the hue spektrum. It also includes a HPLuv variant, which additionally maintains saturation, at the cost of color coverage. Both are very useful for procedually generating or modifying colors. More Info: https://www.hsluv.org/comparison/
What are some alternatives?
maxima-client - Maxima client
hcv-color - 🌈 Color model HCV/HCG is an alternative to HSV and HSL, derived by Munsell color system, usable for Dark and Light themes... 🌈
symengine - SymEngine is a fast symbolic manipulation library, written in C++
gdscript-hsluv - A HSLuv implementation in Godot's GDScript
SIunits - A Scheme function to format physical quantities according to SI conventions in TeXmacs
as3hx - Convert AS3 sources to their Haxe equivalent
Bessels.jl - Bessel functions for real arguments and orders
palettize - Palette generator using k-means clustering with CIELAB colors
stdlib - Fortran Standard Library
snekky - The Snekky Programming Language
projects
gimp-color-palettes - A collection of RGB color palettes for GIMP and Inkscape (but also Aseprite, Drawpile, Krita and MyPaint).