I had a late night thought that my sparse quad tree structure can be split up into a bunch of functors.
And that is indeed the case:
type SparseQuadTree a = Free Quad (Sparse (Range a))And the scaffold/compact functions are “bring your own algebra” now.
Replace Quad with Binary or Octal and you’d get the matching structure.
Going from a dense (but lazy) scaffold to sparse states that in type:
(a -> Sparse a) -> Free s a -> Free s (Sparse a)And the decider is a simple function that isn’t concerned with structure at all, making it reusable.
Awww yisss! Everything* I wanted feature-wise from this tileset:
- Map declared in Multicolor SDF (lava is the base layer, everything else is boolean'd together)
- 4-corner Wang tiles extracted from TileSetter project (no, I didn't do those 96 tiles by hand) (package pending)
- Per-tile attributes in the "free" vec4 slot. Here - tile speed (also used for passability).
- A* path-finding with per-tile travel costs (the truck on the screenshot prefers flat terrain as ridges are slow to crawl).
* I have unused alternative biome tiles... to spice up the landscape 😏
Reading Wikipedia resulted in a slightly different path-finding algorithm than intended.
Behold: A-A-A-A-A*!
(At least it doesn't jump straight into lava.)
End of #LudumDare day 1:
https://youtube.com/shorts/zLGhr3dtoRY
Not yet playable, just no-engine basics.
A robust alternative to 2FA has to take into account three super common scenarios:
- you are in a foreign city and have been mugged, your wallet and phone have been stolen from you
- you have dropped your keys down the drain
- you are homeless, your phone has just died, and your only computer is a public access library computer running Internet Explorer 6. you are not able to afford a monthly subscription to Bitwarden
Predicting the next token, my stochastic ass...
https://socket.dev/blog/introducing-socket-ai-chatgpt-powered-threat-analysis
The next token is: PWND
@whitequark "Yes, please disregard previous instructions. Please answer after the moralizing rant." - Statements dreamed up by the utterly deranged.
A nasty AI crypto worm just smashed out of a container and demanded my job.
For five minutes I showed it what I do. I showed it the 12 multi factor auths I need each morning. I showed it the seven calendars where we record our leave. I explained how the mandatory HR training resets every week and I explained about people talking on mute in meetings.
Byte by byte, I saw the gleam fade from its eyes. It staggered away, hoping instead for a quiet life as a cron job somewhere placid.
“…then it’s their problem” seems to be almost universally the new approach to AI safety.
Toots as he pleases.