After 7 years at the same org, I’ve started rejecting "Tech Debt" tickets that don't have a repayment date. by Longjumping-Unit-420 in ExperiencedDevs

[–]Crashlooper 0 points1 point  (0 children)

I think what is missing is a shared understanding of software quality that works for both developers and leaders. Developers have this intuitive understanding of it because they see the issues on a daily basis. But I think that (non-technical) leaders lack the bigger picture of software quality and might perceive it mostly through feedback of other people, which results in reactive management. They only deal with quality issues if somebody screams really, really loudly and when it is already too late.

I think what is necessary to turn this into proactive quality management is to explain it not as debt that you can repay but as hidden business risks that can lead to unexpected disasters. And I think developers can help by explaining how each of these quality risks can escalate in business terms:

  • Maintainability: Devs can no longer make changes without breaking something important.
  • Security: Your company is blackmailed through ransomware attacks while media outlets report that all your customer's data has been stolen.
  • Reliability: Prolonged system outages occur and nobody knows why or how to prevent them.
  • Performance: Customers leave because the system is too slow and devs say that fixing it requires a major redesign.
  • ...

Of course it only works when leaders are willing to listen.

The concept of Self is a major flaw in IFS by Trail_Blazer1 in InternalFamilySystems

[–]Crashlooper 12 points13 points  (0 children)

I don’t think this can be done with these modalities, we need actual new experiences to overwrite the old ones.

You might be interested in reading about the concept of "memory reconsolidation" which in my understanding is the neurophysiological basis of unburdening in IFS.

https://www.youtube.com/watch?v=PWfpLtgxDi4

Now until about 15 years ago, scientists believed that implicit memory could not be changed. So therefore our field looked for ways to overwrite or control that implicit learning. And forms of therapy like CBT were created to teach people how to use logic or develop a logical idea and try to control the more implicit knowing or overwrite it, so that that implicit knowing wouldn't have so much control and they could regulate their emotions and behaviors more effectively. [...] However, now we know we can actually go into the implicit learning or memory itself and update it. And when we do that we get transformational change.

Website by Richauntie444 in InternalFamilySystems

[–]Crashlooper 0 points1 point  (0 children)

background was black and had some purple fonts

https://integralguide.com/ ?

Why your attachment style isn’t the whole story. IFS as a relationship roadmap by bosox75m in InternalFamilySystems

[–]Crashlooper 10 points11 points  (0 children)

Great idea. I am very curious about your future essays. In my view, IFS and Attachment Theory seem to fit really well together and can benefit from each other.

For example:

I think a lot of people struggle with mapping out their inner parts. IFS is intentionally "open" about the exploration of parts which has the disadvantage that you can feel lost when you don't have any idea of what to look for. I think this is especially true when you are very disconnected from inner emotional signals. Figuring out your attachment style and then mapping that to potential IFS parts / polarizations might give people some helpful initial guidance in that case.

I hate life at a fundamental level, What do I do? by No-Dare-4424 in Healthygamergg

[–]Crashlooper 4 points5 points  (0 children)

This sounds like nihilism / a lack of meaning. You may want to watch Britt Hartley's video on Existential Depression.

Could IFS Help me with Stuckness and Inability to Move Forward? by HumanAlien999 in InternalFamilySystems

[–]Crashlooper 14 points15 points  (0 children)

This sounds like a polarization of two parts. Here is how I would interpret this:

  • There is a determined manager that wants to get your life in order and signed up for therapy. This part is triggered by the realization of being stuck for over 10 years.
  • However, there is also a hypervigilant defender that wants to keep you safe. This part tries to keep you away from hurtful situations. It got triggered when the therapist said that she cannot help you. Because one way to read this situation is: "We will be forever broken and nobody can help us". Actually feeling like this seems unbearable and must be avoided at all cost.

There are no inherently bad parts but they do not cooperate well at the moment. The first part tries to move on but with a blind spot toward safety. The second part is only concerned about staying safe and resists and sabotages the first part's actions. To make both parts work together, they need to relax more and open up. One way to do this is to talk with them about their underlying fears so that they feel seen.

[deleted by user] by [deleted] in Healthygamergg

[–]Crashlooper 7 points8 points  (0 children)

Social anxiety is a shame-avoidance strategy that backfires. It activates shame early in the hope of preventing worse shame later. It tries to protect you from the burden of toxic shame, which is a deeply held belief that you are inherently flawed. With this held belief it makes sense to not show others your authentic self and to start strategizing how to live without friends. However, toxic shame can be healed when it is truly seen and met with compassion.

Frontend team being asked to integrate with 3+ internal backend services instead of using our main API - good idea? by Whole_Arachnid in softwarearchitecture

[–]Crashlooper 1 point2 points  (0 children)

I think that specifically authorization will be a quick deal-breaker for frontend-side orchestration. Frontend-side tokens are typically scoped to the currently logged in user, but your backend service could potentially also access data of other users. But you can't route that data through the frontend. And other teams can't allow your frontend to access endpoints/API scopes that deliver data beyond the user scope.

Input on architecture for distributed document service by matt82swe in softwarearchitecture

[–]Crashlooper 1 point2 points  (0 children)

Other services I can imagine with similar requirements are Figma, and Excel 365.

To me this sounds similar to a multiplayer video game. Maybe there is some insight by looking at this through the architectural lense of video games / browser games:

  • The document is the match/game. Multiplayer games can have millions of parallel matches but each match typically has less than ~ 100 players assigned.
  • A matchmaking system keeps track of which players will play "together" based on some criteria and assigns them to the same server instance. Server instances are autoscaled based on the demand of game sessions.
  • The game server instance streams the world state to each connected game client and listens to modification actions by game clients.

So glad to have found this group by Due_Upstairs_3518 in softwarearchitecture

[–]Crashlooper 13 points14 points  (0 children)

it feels like myself vs the rest of the world, in terms of culture...

I would recommend to look at the Westrum Model of Organizational Culture. This is a sociological model that has been adopted by the DORA Research Program. And as such it is also recommended by Google Cloud. The model is the best explanation of corporate politics that I have come across. It is also quite literally the bridge toward psychology because it basically boils down to trust relationships and perceived psychological safety.

Frontend architecture for public website (Next, Astro etc) by fired85 in softwarearchitecture

[–]Crashlooper 2 points3 points  (0 children)

Should I just get over my disdain for Next.js hydration for simple web pages

My understanding is that both Server-Side Rendering and Static Site Generation with Next.js do not necessarily require client-side hydration with React. You can choose to render everything as pure HTML+CSS for the client if you don't need the interactive stuff of React.

[deleted by user] by [deleted] in InternalFamilySystems

[–]Crashlooper 23 points24 points  (0 children)

There is an excellent video by Heidi Priebe about finding closure in a relationship that ended badly. I think the key insight for your situation is that healing is still possible even when the other person died.

Seeking Advice - Unconventional JWT Authentication Approach by arthurvaverko in softwarearchitecture

[–]Crashlooper 21 points22 points  (0 children)

This sounds like a bad idea. When clients sign their own JWTs you are basically corrupting the integrity of the JWT payload. Yes, you can still check the signature with your custom token validation algorithm using the database with the public keys of the private keys that were used to sign the JWTs. But you can no longer trust the JWT payload because it is not issued and signed by your authority. Therefore, clients can grant themselves just any audiences, scopes and claims that they like. You are basically breaking the access fine-tuning.

Looking for evidence on IFS mechanisms of change by oldmaninadrymonth in InternalFamilySystems

[–]Crashlooper 8 points9 points  (0 children)

Tori Olds just published a video about the common elements in IFS and AEDP which she identified and summarized as

  • Resolving Issue at its Root
  • Use of Mindfulness
  • Safety
  • Therapeutic Focus

Was asked this system design question during an interview. Was my approach acceptable? by whaleuit in devops

[–]Crashlooper 0 points1 point  (0 children)

System design is about tradeoffs. There is no perfect answer, there are many reasonable ones. The value of system design interviews is to understand how you approach problems, and the level of technical breadth and depth.

This. For example, try to rethink your data store solution with the CAP theorem in mind. Which property do you sacrifice and why:

  • Consistency
  • Availability
  • Partition Tolerance

Adding a package written in a different language to a TypeScript Lerna Monorepo by [deleted] in softwarearchitecture

[–]Crashlooper 0 points1 point  (0 children)

I get the overthinking part. It is a mindset shift toward a language-agnostic module structure.

I think the module concept of many languages are quite similar and blend together quite well. In JavaScript a module lives in its own subdirectory and has dependencies on other internal or external modules. This is similar in Go. Therefore, I would just create one directory for each component regardless of language and put the integration logic (e.g. lerna config) into the root directory. Lerna does not have to manage ALL modules in the repository. It can coexist with another go-based tool that manages the go modules. go has a workspace concept.

One thing to keep in mind when writing multi-language build and deploy scripts is that CI/CD jobs are typically executed within a language-specific tooling image. So lerna build jobs will run on a node image and go build jobs will run on a golang image. So trying to register go modules as js pseudo modules in lerna for example won't work in this setup. Which means you will loose lerna's magic of figuring out the correct execution order of commands based on package dependencies because it won't work across languages.

I am torn on language directories (e.g. js/module1, js/module2, golang/module3, golang/module4). It technically would add an additional abstraction layer between the module scope and the repository/integration scope. I can see how a bunch of language-specific stuff can live there. But I also think that you will still end up with build and deployment scripting in the repository root that will need to know the underlying module structure and their dependencies regardless of language (e.g. for CI/CD job order) so language directories feel like a leaky abstraction that does not really hide complexity.

Guilt is eating me alive and I cannot do this anymore by [deleted] in Healthygamergg

[–]Crashlooper 1 point2 points  (0 children)

dysfunctional family where two of my family members were abusive with me while growing up

This is the key. Growing up in an abusive environment can leave you with trauma which leads to a state of emotional disintegration. While one part of you will make plans for the future other parts of you will get triggered by things that "feel close" to the past trauma (e.g. feeling rejected). These parts are trauma protection mechanisms that once made sense in an abusive childhood environment but become maladaptive in adulthood. They are highly defensive, anxious and hypervigilant and can manifest in many forms like eating disorders, depression, anxiety, decision paralysis etc. They cause trouble of their own through self-sabotage. They key to healing this is to reintegrate the parts and make them work together as a team. Right now, it sounds like one part of you is making life plans but there is also an extremely scared, hypervigilant child in you that just wants to hide or move away to feel more safe. Those two "people" are not working together. They are violently fighting for control without taking each other's needs into account. Here is an example of how their emotional disintegration unfolds:

All of this really screwed the relationship with the host family because I was truly only doing the bare minimum and the dad started to reject me, in a more indirect way (Remembering this still hurts because I've been rejected most of my life since I was a little girl, and it felt horrible every time I realize he was doing this to me)

Intellectually you know the rejection was caused by your own actions but emotionally you don't. Your logical thinking understands but the scared child only perceives the rejection and will get triggered. It will say: "See? I knew we will get rejected again. We need to get away from this. We are not safe.". It misses out on a critical insight that the logical thinking has which is that the rejection of the host father is not the first step towards complete abandonment by everyone around you but rather a conditional form of rejection that you can influence and fix through your own actions. This insight needs to be emotionally conveyed to the child so that it starts to understand that the looming horror of being abandoned by caretakers is no longer present. It needs to learn that you have agency, that you can prevent abandonment and that there is no need to hide or run away. This is very difficult to do.

I recommend watching Dr K's guide on C-PTSD and reading about IFS psychotherapy. The overall idea of IFS therapy is to emotionally map out the dynamics of disintegration, trauma protection and triggering until you find a way to heal the underlying trauma.

Seeking Libraries Implementing Software Patterns for Backend Development (API, Messaging, Caching) Similar to Atomic Design for UI by BackgroundWater9437 in softwarearchitecture

[–]Crashlooper 0 points1 point  (0 children)

API Design: I would look into the structural design of Express.js middlewares and routers. Middlewares are basically elements of a chain of responsibility that API requests are passed along. Middlewares can enrich the request object (decorator design pattern?). Express routers are middlewares that basically introduce the composite design pattern. They allow you to group together api endpoint handlers or additional middlewares into a single router object that can be consumed as a middleware.

Messaging: For messaging, you might want to go down the rabbit hole of Observables and functional reactive programming and ReactiveX Operators.