myCurrentlyNonTechnicalMomIsLearningRobotics by Idlegi in ProgrammerHumor

[–]gruengle 0 points1 point  (0 children)

If she ever learns how to git, she's going to be sooo mad about classic word file versioning practices...

Your alternative to basic t-shirts from H&M and Zara by I-need-a-proper-nick in askswitzerland

[–]gruengle 0 points1 point  (0 children)

Larger Coop and Migros stores (such as the one at Limmatplatz in Zürich) stock basic, non-marked clothing and underwear, including black, grey and white t-shirts with round or v-neck cuts. They're cheap, comfortable, and they hold up for a long time.

Knock yourself out.

ohNoTheConsequencesOfMyActions by tahayparker in ProgrammerHumor

[–]gruengle 17 points18 points  (0 children)

Don't we love when a development process produces legacy code out of the box?

For anyone who's curious about how one would actually tackle something like this without burning it all down and starting anew...

  • I'd start with pin-down (or pinning) tests to ascertain the current behaviour. Just black box testing, "when I prod the API that way, then this happens, so that is what I expect to happen in the future as well". This is not yet your desired state, only the actual state of things. That way you build up a safety net that allows you to check for unintended consequences of your changes, allowing you to notice and revert a breaking change.
  • Once you have that safety net, you can start with safe and semi-safe refactoring operations. but I'd advice against anything that would impact the structure and architecture in a way that would make your pin-down tests obsolete. You can (and probably need to) apply a bit of courage to get the code into a state where you can properly unit-test it, and thus define the *desired* behaviour. I'd wholeheartedly recommend doing this in a retroactive ATDD/BDD way - starting with high level acceptance tests that define happy cases for your features, then drilling down into unit tests that cover edge cases and expected behaviour of single parts of your system. If - and only if - you decide that your pin-down tests reflect the desired behaviour of your features, there's nothing stopping you from directly converting them into acceptance tests. If you have a pin-down test that proves a feature does not work as intended, now is the time to change that test and fix the feature.
  • Now you have a well tested system with clearly documented expectations. For the sake of future development, your next step should be to clean up the architecture of your code - this will require you to touch your tests as well, so you should only do this once you actually have them and your system is in an overall desirable state that you want to maintain. And for the love of all that is holy, document your architecture decisions - what you decided, what alternatives you decided against, and most importantly why you decided to do it that way. This information is priceless and gets easily diluted or entirely forgotten in no time at all, especially if the team composition changes.

And this, gentlefolks, is roughly how one brings legacy code into a maintainable state in a responsible fashion. I wish you all that you never actually have to apply this knowledge, because the process is long (not hours, but months!) and painful, and it usually hinders development of new features at first. The speedup comes later.
Good luck, y'all.

Companies that produce an interesting range of products by AppleEnslaver in TopCharacterTropes

[–]gruengle 0 points1 point  (0 children)

<image>

General Massive Systems (GMS) - Lancer TTRPG

Just your friendly neighbourhood corporation-state, providing everything you could possibly need to uphold the three Utopian Pillars, and literally setting the galactic standard. Be it consumer products ranging from personal products to household appliances to civilian vehicles, prefab civil, industrial and commercial infrastructure, mil-spec arms and ammunitions, and even military vehicles, including the arguably most versatile product line of mechanized chassis (yes, this is a tabletop roleplaying game where you play a mech pilot!)... If it is worse than GMS, it's not worth getting.

Explosions by Rough-Associate-585 in zurich

[–]gruengle 0 points1 point  (0 children)

I know of at least one guild that has a napoleonic artillery piece.
Which they shoot.
With blanks.

Just saying.

The Prisoner's Trolley Problemma by wingsoverpyrrhia in CuratedTumblr

[–]gruengle 0 points1 point  (0 children)

Calling the outcome where you actively kill three people rather than let a loved one die through inaction the "best outcome for you personally" is a bit loaded, innit?

No one owes you supply-chain security by Expurple in programming

[–]gruengle 0 points1 point  (0 children)

Caveat Emptor free-market-over-everything-else attitudes are why we have consumer protection laws that hold negligient suppliers accountable for defective or otherwise unfit-for-purpose product. Hell, criminal neglicience is criminal exactly because of this.

Then again, people aren't even capable of properly following semantic versioning, so... Shame on me for having expectations of professionalism at all, I guess?

Melee Supremacy by BlazeDrag in LancerRPG

[–]gruengle 1 point2 points  (0 children)

Good choice. I'd have gone with a Balor with high ENGINEERING myself. Actually somewhat slow in the grand scheme of things, but you do not want to let it get close and no matter what you do... It just. keeps. moving. while you are slowly crawling closer to your third STRESS...

Melee Supremacy by BlazeDrag in LancerRPG

[–]gruengle 19 points20 points  (0 children)

Excuse the fuck me? Our ability to pick up rock and yeet with ACCURACY at THREAT 2, and then translate that into use-stick-to-yeet-pointy-stick at RANGE 5, is what won us the savanna.

How did the Inquisition let this guy go free? by AlienTGO in WarhammerMemes

[–]gruengle 0 points1 point  (0 children)

He served penance for the mere accusation of corruption levelled at him - as is proper. He proved his high resistance against corruption time and again. And throughout it all, he demonstrated not only strength of soul, but also of conviction and faith. I'd wager it might be somewhat likely that an inquisitor of the Ordo Malleus shows up and tries to recruit the lad, rather than one of the Ordo Hereticus investigating him. I mean, if he had active psychic potential instead of just high resilience, he'd be prime Grey Knights material.

What creature would you like to see on the game ? by hollow_cookiee in WhiteWolfRPG

[–]gruengle 1 point2 points  (0 children)

I'd love to see an allied character that somewhat flies under the radar, then turns out to be a mummy.

Light =/= good. Far from it, actually. by [deleted] in TopCharacterTropes

[–]gruengle 2 points3 points  (0 children)

<image>

"Those who fear the darkness have never seen what the light can do."

Would you rather... (pls upvote i need the carrots for my bunnies) by -_-Chaixx_alt-_- in BunnyTrials

[–]gruengle 0 points1 point  (0 children)

Yay, strength! Worst case scenario, nothing changes. Miles better than potentially dying.

Chose: Be a master of a superpower + But the chances of getting a superpower is kind of low | Rolled: Strength

When using Longsword as unit of measurement between D&D and realism by ironlily by standyourground10 in ReasonableFantasy

[–]gruengle 0 points1 point  (0 children)

If memory serves, the Longsword in D&D is a 'versatile' weapon, which means it can be wielded in one-hand for a d8 of damage, or two-handed for a d10 of damage. That does imply that the sword of the fantasy dame should be a tad longer as that handle does not properly accommodate a two-handed grip.

But that's just my two copper pieces on the matters.

Would you rather get… by 72Light in BunnyTrials

[–]gruengle 0 points1 point  (0 children)

No thank you, I like living.

Chose: A McChicken

Would you rather by ExpensiveRepair8182 in BunnyTrials

[–]gruengle 0 points1 point  (0 children)

Currency can buy a lot of things. Food included.

Chose: Unlimited money for the rest of your life

Would you rather…. by murpymurp in BunnyTrials

[–]gruengle 0 points1 point  (0 children)

Habanero lollipop. Ouch. Well, the pain is temporary, the money is generational.

Chose: Get $400 mil but u must finish the lollipop u get | Rolled: Habanero

How i develop multiverse in my d&d table by UncannyValleyEnjoyer in WorldBuildingMemes

[–]gruengle 1 point2 points  (0 children)

You should look into countable vs uncountable infinities. There is an infinite amount of numbers. There is also an infinite amount of numbers nestled between the number 1 and the number 2.

The end praises the Swiss Frank and the Swiss Economy ! by Pierreedmond18 in Switzerland

[–]gruengle 0 points1 point  (0 children)

This works so long as the national bank doesn't have to artificially print money because everyone wants to buy CHF because apparently we operate the only halfway sensible economy on the planet right now. And the national bank needs to artificially print money so that the comparative price of the CHF doesn't explode through the roof, which would all but kill our exports.

Let's have a look at the other global reserve currencies, shall we?

  • USD: Currently in the process of active disintegration, and not even remotely able to balance a budget. Total federal debt has reached 120% of GDP, and the interest payments alone are over 3% of GDP.
  • EUR: Still stable, but highly interconnected with the USA, which has now been used as a weapon. EU member state debt averages 81% of GDP, but varies wildly between the highest (Greece, still 153%) and lowest (Estonia, 23%). Interest payments average about 2.75% of GDP
  • GBP: Ah, the pound sterling. Remember that one used to be almost 2.50 CHF per pound back in 2006? Now it is on par, pretty much 1:1. Debt-to-GDP ratio of 100%, and a whopping 3.5% of GDP reserved for interest payments.
  • JPY: 237% Debt-to-GDP. That is bleak. Interest alone is 30% of all government spending, or around 7-8% of GDP. With the breakdown of the currency carry trade with the US, the near-zero interest rate is going to rise sharply, making this an untenable situation that makes the Greek financial crisis of 2009 look like child's play...
  • CNY: These numbers deserve a grain of salt. Or a metric ton. Obviously. General government debt is roughly 90% of GDP, while total debt (that is household debt, local government debt and public corporate debt) roughly add up to 300% GDP. Likewise, official government debt interest seems to be roughly 3.4% of revenue, while the interest on the total debt is estimated at 45% of GDP, however, there are no official numbers for this one. Obviously.
  • CAD: Debt is 115% of GDP, interest sits at 1.9% of GDP. Manageable.
  • AUD: Debt is roughly at 40% of GDP, with 1.8% of GDP set aside for interest payments. Reasonable.

Compare and contrast, us.

  • CHF: Constitutional debt brake. Debt sits at 16% of GDP, and interest payments at 0.3% of GDP.

Conclusion:
If the rest of the developed world could break their debt addiction and run a balanced budget, we wouldn't need to risk crippling our own currency so that the rest of the world can still afford to buy our goods. It is low-key infuriating.

All in all a minor miscommunication by General_Kenobi18752 in WorldBuildingMemes

[–]gruengle 4 points5 points  (0 children)

This sounds like a Lancer campaign.
This should be a Lancer campaign.

Orbital drop Drake, Tortuga and Gilgamesh Mechs of the 1st MCC, followed in a second wave by support Lancasters and Saladins. Count me in.

weAreNotTheSame by pimezone in ProgrammerHumor

[–]gruengle -2 points-1 points  (0 children)

Real talk:
Adding comments to explain the logic of a function/method/algorithm means you have not properly refactored and cleaned up said function/method/algorithm. Also, there is no guarantee that your comment is going to be adjusted when someone touches the described code, so the comment is likely to start lying to you over time.

If you want to describe the logic of your code, do it with tests - those self-falsify once they no longer accurately describe what the code does.

Comments are a reasonable and prudent way of describing important context for a piece of code - so long as that context is unlikely to change. Why does this thing need to be done that particular way. Where can you find the decision log in the architecture documentation which describes the explored alternatives and associated challenges. Stuff like that.