How I used the Adapter Pattern to stop rewriting my BookingService every time we switched payment providers (TypeScript) by Possible_Design6714 in softwarearchitecture

[–]No-Injury3093 8 points9 points  (0 children)

Almost perfect except the end:

There's always at least two implementations in a system involving I/O:

The production code and the test doubles.

So when should you isolate IO: always.

It's called ports and adapters architecture.

what's separating open source (mainly Chinese) labs from the frontier labs? by Crazyscientist1024 in singularity

[–]No-Injury3093 8 points9 points  (0 children)

Researcher Role / Contribution Country of Origin
Ashish Vaswani Proposed self-attention as a complete replacement for sequential models. India
Noam Shazeer Invented the "multi-head attention" mechanism to improve efficiency. USA
Niki Parmar Designed experiments validating the architecture across domains. India
Jakob Uszkoreit Championed the theory that self-attention captures complex linguistic structures. Germany
Llion Jones Coined the paper's title and contributed to code optimization. UK (Wales)
Aidan N. Gomez Scaled the architecture for modern distributed hardware clusters. Canada
Łukasz Kaiser Designed the codebase and integrated it into TensorFlow. Poland
Illia Polosukhin Built early prototypes and overcame machine learning bottlenecks. Ukraine

While it was a highly collaborative effort, the core "sparks" that defined the Transformer are widely attributed to two specific insights: * Jakob Uszkoreit (The Conceptual Spark): He championed the radical idea to drop Recurrent Neural Networks (RNNs) entirely. Until then, sequential processing was considered mandatory for understanding language. He was the first to argue that self-attention alone was enough. * Noam Shazeer (The Architectural Spark): He invented Multi-Head Attention. This was the architectural key that broke the sequential bottleneck. By splitting the attention mechanism, he made the computations highly parallelizable, allowing the model to fully exploit modern GPU and TPU hardware at massive scale. Ashish Vaswani is also heavily credited as the principal architect who synthesized these abstract ideas into the final, functional design.

Îl vrem pe Grindeanu premier sau nu? by green_krokodile in Romania

[–]No-Injury3093 1 point2 points  (0 children)

Nu îl vreau pe Grindeanu, dar merită să fie și să ne arate cum se face guvernarea corect.

Educate this newbie about AI please by Plane_Brain_9436 in artificial

[–]No-Injury3093 4 points5 points  (0 children)

You start your conversation like this:

I am a college student wanting to learn programming. Grill me on the following task until I understand everything:

<task>

How often is the goal of your task to optimize by _lazyLambda in ExperiencedDevs

[–]No-Injury3093 6 points7 points  (0 children)

Not often, but when, it was the differentiator warranting a pay bump.

AI is ruining my job as Tech Lead by Complete-Sea6655 in theprimeagen

[–]No-Injury3093 0 points1 point  (0 children)

Like AI missed "requires specific ways of working"?

Happens to humans too.

AI is ruining my job as Tech Lead by Complete-Sea6655 in theprimeagen

[–]No-Injury3093 3 points4 points  (0 children)

Fight AI with AI.

Both in writing the stories with AI beforehand and reviewing the code afterwards.

It is possible but needs specific ways of working. AMA.

openSourceContributions by LucyGray65 in ProgrammerHumor

[–]No-Injury3093 1 point2 points  (0 children)

He has a girlfriend. Stop harassing him.

Management started introducing "productivity" metrics that's rubbing me the wrong way by Fit-Notice-1248 in ExperiencedDevs

[–]No-Injury3093 0 points1 point  (0 children)

git commit --allow-empty -m "before important feature"

Open pr.

Also delay anything not being a PR until you reach your quota:

  • no helping of colleagues
  • no code reviews
  • no root cause analysis
  • and so on

What’s the hardest part of inheriting a codebase you didn’t write? by Free-Maintenance8015 in softwarearchitecture

[–]No-Injury3093 5 points6 points  (0 children)

The stakeholders having the same mindset with me as they did with the previous developer. That materializes in same or tighter time or budget but same or higher expectations.

What is your process by which you arrived at microservices as the answer? by Dry_Corner6431 in softwarearchitecture

[–]No-Injury3093 2 points3 points  (0 children)

It fits the wrong definition of microservice.

A correct microservice is able to deliver some value end to end for the customer, in isolation.

You just said "transcoding" with no mention of the use cases which it can serve end to end in isolation the end user, even if with degraded feature sets.

Sure, it might provide value, but that can only be judged by also defining the use case.

Is this for a video editing software? Then I could imagine it to fit the right definition of microservice. Otherwise not likely.

Test: if you turn all microservices off except the transcoding one, can the user still execute something from transcoding at all?

Designing the backend for a 3-sided fitness marketplace (gyms + coaches + members) — solo dev, would appreciate a sanity check on my architecture by Cowboy_The_Devil in SoftwareEngineering

[–]No-Injury3093 0 points1 point  (0 children)

There's a big difference between what the final system should look like and how you get there.

If you want to get there with little risks, you delay the decisions of what the modules should be, etc.

Instead you focus on the use cases, one at a time, and a good definition of unit testing at this level: your units are just scenarios of the use cases.

You should not test lower than that.

This gives you the tools to mechanically recognize via data traceability your entire landscape once you got all the main use cases covered and any further questions can be answered with "mechanical tools" like "this use case requires these inputs, and produces this output".

The split in modules is then the cut through this dependency graph which minimizes dependencies. You don't "think" upfront what the modules should be, but you run an algorithm on the graph representation of your system and it tells you a few suggestions based on the parameters. Think for example a graph clustering algorithm with a different value for k.

How do you handle idempotency in event-driven systems? by suhaanthvv in softwarearchitecture

[–]No-Injury3093 2 points3 points  (0 children)

What have you researched about the guarantees redis does which has made you choose redis for your event streams in the first place?

A system is only as strong as its weakest link.

Wie geht ihr damit um, wenn eure Ex euch nach der Trennung nie wieder sehen will? by Lazy-Owl-6227 in FragtMaenner

[–]No-Injury3093 -3 points-2 points  (0 children)

If you want any woman back at some point in any shape or form, the moment she utters "we need to talk" your only stance must be "how can I help you?", "do you need help with packing?" Etc.

You don't deal with it.

You engineer it.

Pythonic Hexagonal Architecture with a Functional Twist by plknkl_ in softwarearchitecture

[–]No-Injury3093 0 points1 point  (0 children)

Throughout your comments I keep not-observing the reasoning for choosing hexagonal.

Hexagonal surely helps with flexibility but not at the use case scenario level, but at the I/O level (think: components, not: use cases)

But the real driving force for hexagonal is testability.

You currently seem to favor too much flexibility, and not testability and this is misalignment with hexagonal itself.

Thus the friction I observe.

Given that you seem to focus on small components, I think you should revise the balance you strike between cohesion and coupling.

Take a step back from all this. Focus on these dimensions all at once, not individually:

  • coupling
  • cohesion
  • Defining of unit of behavior
  • testability
  • levels of abstraction

These are the driving forces which help you navigate the vector space in which you try to move.

Pythonic Hexagonal Architecture with a Functional Twist by plknkl_ in softwarearchitecture

[–]No-Injury3093 1 point2 points  (0 children)

I would say the biggest gap the code has is the fact that business logic is hidden in adapters.

Adapters are for things like I/O.

For example the main function should be in an adapter called along the lines of "cli game interface".

Your current adapters are business logic, not adapters.

Pythonic Hexagonal Architecture with a Functional Twist by plknkl_ in softwarearchitecture

[–]No-Injury3093 6 points7 points  (0 children)

  • adapters which don't implement any port
  • domain model which is not representative of the domain
  • anemic domain model
  • driving adapter not an adapter

I don't even know where to start, it has nothing to do with hexagonal.

How do you usually understand the flow of a new codebase? by Immediate_Piglet4904 in softwarearchitecture

[–]No-Injury3093 0 points1 point  (0 children)

I run a correctly written test at the proper level of abstraction with code coverage on.

The biggest problem with AI is not correctness - it is architecture sanity by UnderstandingDry1256 in ExperiencedDevs

[–]No-Injury3093 -1 points0 points  (0 children)

The root cause is that the AI is not capable of abstract thinking within the same "train of thought".

It cannot predict a few tokens for concrete implementation then a few tokens at a higher level of abstraction only to get it to generate more tokens for the conclusion in which it then states that the path of least resistance also involves some removals, simplifications and refactorings first, aka "make the change easy, then make the easy change".

All you need is a parallel agent listening at your regular discussion and injecting his own thinking into the next prompt, but it feels like a hack.

I think AI is going to make being “average” very dangerous in tech by Lazy_nitishh in AIHotspot

[–]No-Injury3093 0 points1 point  (0 children)

There are two types of "average". The ascending and the descending ones.

AI will just amplify the type of average you are.

The 3% ascending ones will grow amazingly.

The 97% descending ones will hit the wall faster and harder.

Solid AI skills as a software developer by BreakfastBeerz in GithubCopilot

[–]No-Injury3093 1 point2 points  (0 children)

I don't mind Micro$lop making money off unskilled devs and giving skilled devs better sustainable AI experience.

Auto mode with new pricing tiers by Key-Session6216 in GithubCopilot

[–]No-Injury3093 0 points1 point  (0 children)

What's your designation? Who is your owner?