Why am I apparently the only one who would VASTLY prefer polishing the existing product instead of adding more features? [closed]

Take PostgreSQL as just one example out of countless. It’s more than “mature” now. Yet the upgrade process is a painful ordeal which makes me upgrade once every few years instead of months. It really is that annoying.

In each release, they have a bunch of new features, meaning just more and more stuff I will never use. I don’t even currently use 99% of the features which have existed for 20+ years. Yet more and more is added all the time.

But at the same time, they don’t seem to care at all about things which are worth a trillion times the value of any new feature: smooth installing, upgrading and self-configuring in terms of performance-related directives. That last part might be the most difficult to accomplish, but would be worth it for me that not one single feature is developed for 10 years until this have figured this out.

Is new features the only way they feel satisfaction? I don’t understand it. If there is one thing that gives me pleasure with my own code and projects, it’s to improve and streamline the existing, sub-par solution/code. I almost wonder if I psychologically make it worse from the start just because I love improving it so much… But clearly, that’s not the case for most other people? They just want to pile on more and more features of very dubious use while the basics of the product are neglected.

It really makes me scratch my head, especially for a project like PostgreSQL which doesn’t need to print huge bullet points on shiny boxes which are standing in a store for people to notice and want to buy it… since it’s open source and free of charge.

I’m confused.

Adding to the query string via input

I have a form that takes multiple input fields and makes an API request via GET.

The fields are not properly sanitizing input and I am able to add arbitrary parameters to the query string by submitting input such as test&color=red.

Instead of some sort of encoding, the resulting API query looks like api.com/search?field=search&color=red

I cannot think of any malicious use to this, as anybody could just hit this endpoint directly or use a proxy to bypass any client side validation.

If you were performing an application review, is this something that might be worth calling out?

Adding IDs to urls to open up namespace – SEO considerations?

I’m working with a site that has millions of pages along the lines of:

domain.com/entity/John_Smith domain.com/entity/Google domain.com/entity/HTML 

One of the problems is that particularly for people names, there are lots of duplicates, so we end up with

domain.com/entity/John_Smith domain.com/entity/John_Smith_(explorer) domain.com/entity/John_Smith_(politician) 

We instead want to move to a url scheme (much like StackExchange) like:

domain.com/entity/1234/John_Smith (where 1234 is a unique ID).

I assume that if we:

  • put in 301 redirects from every old page to new page
  • updated our sitemap with the new urls

then we’ll be pretty much covered. But could there be any short-term SEO implications that we should expect? (Dips in traffic, etc.?) Are there any pieces of this puzzle that we’re missing?

Expanding crafting and adding recipes

A note for the start, I am a new DM with not so much experience.

My party is far from a bigger city and running low on healing potions. One of my players has proficiency with the herbalism kit and asked me if he could collect the ingredients and brew a healing potion.

I like the idea behind it. I have similar experiences from computer games. For example I played an MMORPG online for quite a while, where you could choose a profession and on your adventures collect ingredients for your profession. If you had the recipes for them you could then craft items from these. Recipes also had to be found or bought somewhere.

So I looked up the rules but they are quite bare on this. Xanathar’s Guide to Everything states that given a herbalism kit, a common healing potion takes one workday to brew and 25 gp (also mentioned in the answers to this RPG.SE question: How does one craft Potions of Healing?). Not sure what the player is supposed to do with the gold. I doubt it is meant as an ingredient. Also the tree next to him doesn’t seem too interested in being turned into herbs.

So I looked online and found some homebrew guides like here and here. They do include rules for collecting herbs and recipes for combining them.

However for all I know that could be untested theory. Apparently it is not commonly used in campaigns. Why is that so? I am looking for experience with this kind of crafting. Have you done something similar in your campaign and how did it go?

What other good sources on this topic are out there? Is there maybe something from previous editions of D&D that I did not find?

Will adding 2 Winter Wolves to the party make the Amber Temple more survivable for a group of five Level 5 PCs?

I’m DMing a Curse of Strahd game for a party of 5 players, who are all currently level 5. The party consists of the following:

  • Wild Magic Sorcereress human
  • TWF Battlemaster human (has the only magic weapon, which is unfortunately a +1 greatsword)
  • Tanky eldritch knight dwarf with Shield Master
  • Moon druid tiefling
  • Runeseeker human (homebrew class, half-caster with utility/offense spells on short rest slots)

Spoilers ahead for Curse of Strahd:

I’ve added a few things to the campaign, the most pertinent being a pair of ancient Winter Wolves (chaotic good) in the Balinok mountains who represent the land before it was corrupted by Strahd – they are the only remaining “wolves” not under his control. They can speak common, and are there as a hook for the druid and runeseeker primarily, but I’m thinking that they may accompany the party to the Temple.

The party is pretty intent on reaching the temple and exploring it. However, things will be quite difficult:

CR Calculations:

Not to mention all of the other encounters in the temple. The party is pretty deadset on finding the temple and exploring, even though Kasimir is becoming hesitant after nearly dying in the last fight. My players are fairly headstrong – most players are (myself included), and generally it seems like the more you try to telegraph that they should run, the more they want to stand their ground. They have indicated that they want threats to be real, and that I shouldn’t pull punches, but I’m not sure that’s really been tested – nobody has died yet, despite close calls.

I’m planning how to recover from an inevitable TPK from the opening salvo, although I know that they might surprise me and do something clever and slip away.

If they manage to do that, will adding two helpers in the form of the Winter Wolves help even the playing field? Is there anything I can do to prevent this from turning into a bloodbath? If they are doomed no matter what, I need to consider pushing back (through Kasimir or the wolves) to prepare elsewhere, so if you come to that conclusion advice on how to avoid or handle a TPK in these circumstances becomes relevant.

Answers should, of course, follow Good Subjective, Bad Subjective – I’m mostly looking for answers and expert advice from people who have run the Amber Temple, especially with an underleveled party.

Adding constraints in grammar for Grammatical Evolution

I’m trying to use Grammatical Evolution for creating trading strategies. Each sentence in the grammar when evaluated gives a weight matrix of size n x p . (n is the length of backtesting period and p is the total number of stocks in portfolio)

BNF form of Grammar

<expr>  ::= (<foptr>(<expr>,<expr>,<day>))|          (<fopbi>(<expr>,<day>))|          (<fopun>(<expr>))|          (<expr><matbi><expr>)  |         <var> <foptr> ::= corr | covariance <fopbi> ::= mean |                 sma|             ema <fopun> ::= rank| -1* | 1/  <matbi> ::= + | - | * | / <var> ::= Open|High|Low|Close|Volume <day> ::=  5 | 10 | 15 | 20 

The problem is some expressions in this grammar do not make sense. For example, we cannot have a strategy like $ Volume/Volume$ or $ Low-Low$ , etc. And some of the strategies do not have any physical significance, for example, the strategy $ Volume+Close$ is not valid as the units of volume and close are different. Any suggestions/references on how to add these constraints to the grammar or circumventing this issue in genetic algorithms will be helpful.

WordPress adding scaled images that don’t exist

I’m building a theme in _S and using native Gutenberg blocks.

I have the following code via my functions.php file to set my image sizes:

add_theme_support( 'post-thumbnails' ); add_image_size( 'carousel', 1366, 550, true ); add_image_size( 'hero', 1366, 400, true ); add_image_size( 'large-square', 392, 340, true );  add_image_size( 'medium-square', 279, 314, true ); add_image_size( 'small-square', 215, 170, true ); add_image_size( 'diagram', 650 );  add_image_size( 'full-width', 884 );  add_image_size( 'half', 430 );  add_image_size( 'third', 279 );  add_image_size( 'quarter', 203 ); 

I also have this code to remove the default image sizes:

function remove_default_image_sizes( $  sizes) {     unset( $  sizes['thumbnail']);     unset( $  sizes['medium']);     unset( $  sizes['medium_large']);     unset( $  sizes['large']);     return $  sizes; } add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes'); 

When regenerating my thumbnails via WP CLI, images are being scaled up to 2048px. This size doesn’t exist.

I’m also noticing a suffix “scaled” being added to each generated image, like so:


I’ve not seen this suffix before.

Where could WordPress be getting these image sizes from? Does the “scaled” suffix have anything to do with it?

Will adding helmets unbalance the game?

I can’t find any mention of a helmet in the Player Handbook in the armour table, and the only helmets I can find are magic items like The Helm of Telepathy.

Would it be unbalanced to allow helmets to be purchased for 10gp, or an appropriate amount, and have it increase the wearer’s AC by 1? Whilst wearing a helmet, I wouldn’t allow the player to also wear a mask, hood or a second helmet.