rphln
A while ago I was experimenting with interactive exploration of (huge) Monte Carlo Tree Search trees. Inspired by file system visualization tools, my first attempts were also tree maps and sunburst graphs, but I ran into the same problems as in the article.
I tried flamegraphs next with the following setup:
- The number of visits in each node maps to the width and order of each bar (i.e., the most visited node was first and was the largest)
- The expected value maps to the color of each bar.
And then it was a perfect fit: it's easy to see what's going on in each branch at the first levels, and the deeper levels can be explored through drilling down.
I'm not familiar with how it works on the implementation side. A ML conference that I attended had a presenter working on this area and beating AI impersonation was their #1 priority (along with other trivial approaches).
For what it's worth, this might also be just a security theater from the banks, though.
Guilty as charged. Pronouncing letters and numbers in English requires an active mental effort for me, so that happens if I'm not paying attention. I guess it's because they don't really register as another language, even with context. My inner monologue also does letters and numbers in Portuguese, which doesn't help either.
(I never got around to that point though, I usually start making games as libraries and then get nerd sniped into reading about game theory for the AI before I make them playable for humans.)
Love it, thanks for posting.
Reading through, this method sounds a lot like Thompson sampling, and surely enough, the previous thread came up after a quick search for comparisons.
Sadly, no immediate empirical results came up, but having another tool in the belt is good on its own.
enum Auth { Guest, User(u32), Bot(u32) }
was just syntactic sugar for struct Auth::Guest;
struct Auth::User(u32);
struct Auth::Bot(u32);
type Auth = Auth::Guest | Auth::User | Auth::Bot;
where `|` denotes an anonymous union. Using enums feel very clunky when you start needing to work with subsets of them.I really like Alabaster BG, but sadly VS Code lacks support to implement it.
Sadly nowadays I just can't get into these projects that'd need me to spend money and would just sit on a drawer until the ends of the time after completed.
After learning about it, I went on to replace the UCT formula in MCTS with it and the results were... not much better, actually. But it made me understand both a little better.
I don't think I've ever really cared about immersion. I like experimenting with stuff. In a long game, having no option to undo whatever I cook up means I'd either a) have to suffer for the rest of the playthrough, b) avoid the janky stuff, or c) end up looking for build spoilers. None of which are particularly fun. Bonus points if the game doesn't really have a lot of replay value in the first place.
(That being said, the only games that I played and truly felt miserable in this regard were MMOs.)
If the game wants to be punishing, give it hard bosses that force me to learn how to play better regardless of my build.
(Though, as mentioned downthread, if it's a short game, no problems. The game is probably designed to be played multiple times anyway.)
1 000 (Narrow nbsp)
1 000 (Regular nbsp)
(Assuming HN even allows it.)
Meaningful
At first I did the same as the author and just dumped the output from `pandoc --bash-completion` et al. into a file, but then I'd have to deal with cache invalidation on every machine that I use. Doing it manually isn't that bad, but remembering to update the file in a bunch of machines is a bit too much ugly for me.
After a surprisingly short Google session, I ended up settling with lazy initialization [1]. Unlike the post I found, I did it all manually, though. Now I just have this tucked at the end of my `.bashrc`:
function conda {
unset -f conda
# shellcheck disable=SC1090
source <(conda shell.bash hook)
conda "${@}"
}
function _pandoc {
unset -f _pandoc
# shellcheck disable=SC1090
source <(pandoc --bash-completion)
_pandoc "${@}"
}
complete -F _pandoc pandoc
[1]: https://dev.to/zanehannanau/bash-lazy-completion-evaluation-...I came across the Update Monad [1] while researching how to use Event Sourcing in functional languages: it basically has the same guarantees of only changing the state through recorded events. Beware though, as it can be quite slow if implemented naively.
Wouldn't applying Unicode normalization on domains solve this issue? For example, if a site attempts to send me to “ápple.com”, my user-agent would send me to the correct domain. Domains in Japanese, for example, would still work just fine.
Ideally, this would be handled at the DNS spec level (“no two domains shall map to the same normalized form”), but that would be even more “too late” to change.
I could see myself using a similar setup down the line, but having two graphical environments seems like it'd be somewhat distracting or fussy.
edit: Specify that I was online while installing.
(Edit: clarification)
A very simplified example: if you call `j pro`, the command should take you to the folder that best matches the name based on some criteria (in my case, one of them would be frecency). In my case, that would be my projects folder in another drive.
The nifty thing about them is that you don't have to make those aliases manually -- the tool learns the directories you've visited over time.
Of course, the tool could take you to the wrong path, but with a well made set of matching/prioritization rules, I've found it more useful than not.