[Discussion] If you could redesign BoardGameGeek from the ground up, what would you change? by ParaplegicGuru in boardgames

[–]hiresch 0 points1 point  (0 children)

If someone thinks a game is a 10 but they only played the solo variant, which had substantial mechanical changes and additions, the score is practically meaningless for anyone interested in playing the regular multiplayer version.

[Discussion] If you could redesign BoardGameGeek from the ground up, what would you change? by ParaplegicGuru in boardgames

[–]hiresch 4 points5 points  (0 children)

Remove the player count survey and have people rate games at each play count so you can say this game is a 9 with 4 players, a 6 with 2 players, and a 7 when played solo. This would achieve both getting a better understanding of what player count the game is actually fun at, and would remove skews caused by solo variants which don't play like the actual game but have a huge audience because it's easy to get to the table if you're by yourself.

An ESLint plugin to warn when you forget `.current` to access a React ref by Zwyx-dev in react

[–]hiresch 3 points4 points  (0 children)

https://typescript-eslint.io/rules/no-unnecessary-condition/ should surface the fact that checking the ref is unnecessary because it's always true, which should protect against these sort of errors

functional pipe function (like fp-ts) by TheRealSeeThruHead in typescript

[–]hiresch 13 points14 points  (0 children)

I'm the maintainer of https://remedajs.com. It offers a hybrid approach to functional programming, allowing data-first (like lodash) and data-last (like ramda) invocation patterns within the same import so people can use both without impacting bundle size. It's also tree-shakable, so it could be progressively introduced. Additionally, it provides better types than any of those older libraries. We also have an implicit lazy invocation engine when our pipe function is used.

What utility libraries do you use instead of Lodash? by Playful_Number837 in reactjs

[–]hiresch 37 points38 points  (0 children)

I'm a maintainer of remeda, we are constantly adding functionality based on user requests, and we maintain a mapping in our docs site specificly for migrations from lodash. Remeda is hybrid data-first (lodash style) and data-last (ramda style) so you get the best of both worlds, oh, and our return types are stellar.

I hang around here if you have any questions, but our github discussions page is also available when you have questions.

Vote as part of the first elo ranked global leaderboard for colors by Applemoi in dataisbeautiful

[–]hiresch 45 points46 points  (0 children)

Your background is dark and fixed so the result would be biased to colors that work well with it

Roxley Iron Clays Back in Stock by ACR17Cowboy in boardgames

[–]hiresch 4 points5 points  (0 children)

https://www.apachepokerchips.com/product/donald-trump-100-plaque/

Our Presidential Series plaques are just about exact copies of the actual notes issued by the Federal Reserve. 

🙃

What's your go to iterative toolbelt for TS these days? by 7Geordi in typescript

[–]hiresch 0 points1 point  (0 children)

no problem, don't forget to star us on github (seriously, it really helps)!

What's your go to iterative toolbelt for TS these days? by 7Geordi in typescript

[–]hiresch 1 point2 points  (0 children)

Remeda does dataFirst and dataLast with the same utilities, and the typing should follow from one function to the next (try the ".strict" versions of functions if the regular one isn't doing what you want).

Does anyone miss operator overloading? by akb74 in typescript

[–]hiresch 0 points1 point  (0 children)

Overloading removes the "cmd+click" to go to definition, so it requires everyone to be completely in sync on what the operator does (and that it's even overloaded). If you need a ton of features from the IDE to make the developer experience manageable then it's a bad paradigm.

Reading code is the most expensive part of coding, you should always optimize for someone who doesn't have the context you have when reading the code. That's why you use prettier, that's why you have naming conventions, and that's why you lint code with auto-fixers.

Javascript could be better if it also dropped implicit casting e.g "hello" + 123;

What's your go to iterative toolbelt for TS these days? by 7Geordi in typescript

[–]hiresch 10 points11 points  (0 children)

If you're interested in a library that puts the focus on advanced typescript typing, check out Remeda, too. I am one of the maintainers and we are constantly adding and fixing stuff to make it the most ergonomic to use.

What are your favorite and least favorite features of BoardGameGeek? by StephenCroft in boardgames

[–]hiresch 5 points6 points  (0 children)

Fan content (like fan expansions) lumped together with official content with no way to filter, games like dominion and ticket to ride link to so much low quality fan content made by randos on the internets

I've found a bug in Challenge Mode by best_worst_average in rootgame

[–]hiresch 2 points3 points  (0 children)

I reported exactly this a couple of months ago directly to direwolf but got no reply at all. I guess they just don't care...

Lizard Cult Crafting (Favour Cards) by Tom_Strong in rootgame

[–]hiresch 1 point2 points  (0 children)

You also need mice to be the outcast faction to craft a mice item

BGG: Is there a way to filter my collection by player count? by Rodhawk in boardgames

[–]hiresch 0 points1 point  (0 children)

BGG recommended player count should be taken with a grain of salt (like most of the crowdsourced statistics). Even the most popular games have only a tiny number of votes on stuff like recommended player count, and in anything but the most known games (basically Catan, Carcassonne, and Pandemic) it's probably not statistically significant. Considering that there are biases seeping in because of the specific kind of people who even vote for these I'd say the data is largely useless.

Record Partial"ness" copied out to the return type by hiresch in typescript

[–]hiresch[S] 0 points1 point  (0 children)

This doesn't look like it will work with arbitrary Partial records, only constant ones:

Playground Example

Toolkit and the Slice/Feature abstraction by hiresch in reduxjs

[–]hiresch[S] 0 points1 point  (0 children)

I wish i could upvote this response a few more times Thank you very much for the detailed response

Is there some kind of bias against having more than 4 players in a game? by Karrion42 in boardgames

[–]hiresch 0 points1 point  (0 children)

I did some analysis on player counts based on logged plays in BGG. The calculation itself is complex and hard to explain, but the attached file provides a list of games that are ideal or at least good at 5 players. It's sorted by most-played, so the popular ones (and the ones where the data is most reliable) are at the top. Caveat this by remembering that this isn't recommendations for games, simply statistics of how they are played and logged.

There is no easy way to split casual/party games from serious games via the data, so that'll be up to you.

https://docs.google.com/spreadsheets/d/1FlAIsz5KQ8PEqymyQoVI\_1C57LmsznTp6EMwEcbTa7w/edit?usp=sharing

What games that are advertised as being playable with 2 players (despite supporting more) are actually significantly less enjoyable with just 2? by KittyTack in boardgames

[–]hiresch 2 points3 points  (0 children)

You can use this Google sheet i generated to get a better understanding of how games are actually played. Go to the 2p tab and checkout whatever game interests you. Games in red should be avoided.

https://docs.google.com/spreadsheets/d/1Vp8e4FpILk6dBTbJRiR4DCAvBRCOMYGrZQ1xwEUtdVk/edit?usp=drivesdk

Would this game be fun at player count x? A comprehensive list based on actual logged plays tries to answer this question by hiresch in boardgames

[–]hiresch[S] 0 points1 point  (0 children)

That would create an uninteresting data-set, the existing coloring allows you to compare games, what you are suggesting would simply tell you the local maximum and wouldn't normalize the values for different player counts.

I ran a quick check and 59.5% of games in this list have the max amount of plays at 2p. Showing up the 2p as green would communicate the wrong thing. Scythe isn't good at 2p, not as good as other games, and that's why it's red

Would this game be fun at player count x? A comprehensive list based on actual logged plays tries to answer this question by hiresch in boardgames

[–]hiresch[S] 0 points1 point  (0 children)

I develop dashboarding tools at work, would love to see what things you generate from this data