Andrew
3K posts

Andrew
@aventer7
🇿🇦 | Senior #fullstackdev; Written stuff for 8+ years in Azure, Web, Desktop, Servers, IOT and Various Databases | ❤ #CSharp && Golang | Tweets are my own.
South Africa, Joburg Katılım Aralık 2019
1K Takip Edilen169 Takipçiler

All CS/Maths/Physics material is available for free.
Yet most people are still unable to learn it.
This tells you something.
リリー@pointerveil
something i love about engineering/physics/CS culture is that almost every intellectual resource is available for free. there's a real presumption of non-gatekeeping that is, in my experience, not present in other fields
English

Most Senior devs tell you to create repositories for EF Core.
But that's not the best way to code.
As your .NET projects grow, handling data gets more and more complicated.
Many teams start with the Repository Pattern, wrapping their EF Core queries inside.
At first, this works fine. But as your project grows, your Repositories either don't do enough or try to do too much.
Your code becomes harder to understand and modify as business requirements change.
Each time you need a new filter or query, you add another method or even a new repository.
Remember that EF Core's DbContext already implements the Repository and Unit of Work patterns
This is clearly stated in the official Microsoft documentation on DbContext. You can also see this in the DbContext code summary in your IDE.
When we create a repository over EF Core, we create an abstraction over an abstraction, leading to over-engineered solutions.
How can you solve this issue? The answer is a 𝗦𝗽𝗲𝗰𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 pattern.
The Specification Pattern is a way to describe what data you want from your database using small, reusable classes called "specifications".
Each Specification represents a filter or a rule that can be applied to a query. This lets you build complex queries by combining simple, easy-to-understand classes.
Recently, I shared with 𝟮𝟰,𝟬𝟬𝟬+ people:
➡️ Why Repositories Become a Bottleneck in Real Projects
➡️ What Is the Specification Pattern?
➡️ How to Implement Specifications in EF Core
➡️ Advanced Specifications
Read the full article here:
↳ antondevtips.com/blog/specifica…
📌Subscribe to my weekly .NET newsletter, amazing content is coming in September
—
♻️ Repost to help others learn about Specification Pattern
➕ Follow me ( @AntonMartyniuk ) for more

English

@aventer7 I started when Linux had a boot and a root floppy and we used LILO as a boot loader ... 🤣🤣
English

As a beginner ... go with an Ubuntu based system ... Mint is a great starting point ... Documentation and community support is great! Stay away from Arch as a beginner (IMO) ... Kali is not a not daily driver and Redhat / Fedora I wont touch with a 10 foot barge pole ....
ft.sujith_nani_@sujithdotcode
Which is the best Linux for Beginners??
English

@AntonMartyniuk This never made sense to me. Patterns are derived from refactoring exercises. It exists to abstract the hard-core implementation via the client database driver/api. Why abstract your abstraction? EFCore already supports persistence layer swapping.
English
Andrew retweetledi

as someone who has trouble reading jokes, i fucking hate april fools. & i hate it most when people send serious-sounding emails IN THE OFFICE to their subordinates about something that is definitely in the realm of possibility & would have massive implications for everyone’s work—then turns out it’s a joke. fuck you
English
Andrew retweetledi

Software development can be brutal.
Projects get scrapped. Features get misunderstood. Design docs can go in circles.
Your best work? It might never ship. I spent a good chunk of my career prototyping things, and while many saw success, many were scrapped.
Resilience isn’t about ignoring that uncomfortable feeling. It’s about building anyway and channeling our energy into how we can improve.
- Got passed over for a promotion?
Reflect, recalibrate, and request feedback.
- Had your PR criticized unfairly?
Breathe, respond calmly, and keep improving for next time
- Lost motivation mid-project?
Return to the “why” behind the work, not just how or what is being done.
Not every project is going to be a home run, and not every day is going to be awesome -- but we have opportunity after opportunity to keep improving.
What's YOUR way to get yourself motivated when you're running into a setback?
English

@vibeonX69 Ideal world scenario is the "1 is none and 2 is one" approach. SSD as primary working drive with all data being backed up to HDD disk. over NAS or on the device itself.
English

@vibeonX69 SSD failures:
- Limited writes to a NAND cell.
- Drive can disappear instantly, with no warning signs.
-Controller abstraction, even professionals may fail to recover data.
English
Andrew retweetledi
Andrew retweetledi
Andrew retweetledi

Top resources for backend/systems learning:
- OS Dev Wiki
- Beej's Guides
- Julia Evans' Blog
- Low Level Programming University
- Computer Science from the Bottom Up
- Crafting Interpreters
- The Linux Documentation Project
- Writing an OS in Rust
- Destroy All Software
- Casey Muratori's courses
- MIT OpenCourseWare
- Compiler Explorer
- Computer Systems: A Programmer's Perspective
- Hacker News
- Lobsters
- /r/systems
- ByteByteGo
- High Scalability
- Martin Kleppmann's Blog
- Architecture Notes
- The Morning Paper
- Brendan Gregg's Blog
- Dan Luu's Blog
- Phil Eaton's Blog
- Database Internals (book)
- Designing Data-Intensive Applications
- Systems We Love talks
- Strange Loop conference videos
- Papers We Love
- CMU Database Group
English
Andrew retweetledi

C + systems thinking = OS dev
C + networking = you build servers from scratch
C + memory management = you finally understand every language
C++ + game loops = game engine dev
Go + concurrency = backend that actually scales
Rust + ownership model = no more segfaults, ever
JS + DOM = frontend engineer
JS + Node = full-stack in a weekend
honestly, one language isn't the ceiling. the stack you combine is.
English











