FSharp developer

Joined October 2009
27 Photos and videos
Flechner Romain retweeted
Apr 28
With the Autodesk Fusion connector, designers and engineers can create and modify 3D models through conversation.
435
1,996
21,565
13,892,779
Flechner Romain retweeted
C# 15 is getting union types. That’s a big deal. It means patterns like Result and Option finally have real language support. No more awkward wrappers. No more hacks. No more pretending exceptions are the best way to model failure. I’ve advocated for the Result pattern for years, but lack of native support always made it clunky. That changes with union types. Don’t want to wait? Here’s how to implement the Result pattern today: milanjovanovic.tech/blog/fun… If you still prefer throwing exceptions, you can skip this.
9
33
206
12,784
Flechner Romain retweeted
CQRS != MediatR. Stop conflating CQRS with MediatR. Just because you're using MediatR doesn't mean you're doing CQRS. CQRS is about separating reads from writes, often using different models, persistence strategies, and sometimes different data stores. MediatR, on the other hand, is a library for in-process message dispatching. It’s great for organizing commands and queries, but it’s not a CQRS framework. You can use MediatR in a CQRS-style architecture. But don’t assume one implies the other. Understand the distinction before you adopt the pattern or the tool. Full breakdown here: milanjovanovic.tech/blog/sto… Do you separate your read and write models in practice?
2
19
92
5,230
Flechner Romain retweeted
Apr 15
The @GeminiApp is now available natively on Mac, bringing you a faster, more integrated way to get AI help right on your desktop. 🍎 Now Gemini is just a shortcut away (Option Space) for instant help, without ever needing to switch tabs.
84
184
1,869
170,322
Flechner Romain retweeted
I've built a full LLM inference engine in C#/.NET 10. From scratch. Not a wrapper - native GGUF loading, BPE tokenizer, attention, KV-cache, SIMD-vectorized CPU kernels, CUDA GPU backend, OpenAI-compatible API. Solo dev, ~2 months, AI-assisted (not vibe-coded!). First preview is out. Check it out for mode details at kokosa.dev/blog/2026/dotllm/ and dotllm.dev/
52
165
896
64,715
Flechner Romain retweeted
Gemini can now transform your questions and complex concepts into customizable interactive visualizations directly in your chat. Adjust variables, rotate 3D models, and explore data for a more immersive way to learn and explore in Gemini.
318
1,201
10,212
5,881,318
Flechner Romain retweeted

9
23
142
13,374
Flechner Romain retweeted
Processing the same message twice is a nightmare in distributed systems. If you are not careful, one event could trigger duplicate side effects and corrupt your data. My strict rule for microservices: Every single consumer must be idempotent. You have two ways to achieve this: 1. Make the business logic naturally idempotent. 2. Build an Idempotent Consumer. Here is the exact flow for the Idempotent Consumer pattern: • Check your database for the incoming message ID. • If it exists, skip processing. • If it is new, process the event and save the message ID. • Wrap these steps in a single database transaction. If you want to see the C# code, I wrote a complete guide on implementing this in .NET. It also covers the Inbox pattern for even better reliability. Read the full breakdown here: milanjovanovic.tech/blog/the… Protect your data from duplicate processing before it hits production. --- Tired of writing the same boilerplate code for every new project? Skip the setup and start building features immediately with my Clean Architecture template: milanjovanovic.tech/template…
2
40
206
8,447
Flechner Romain retweeted
⚡️ Unsloth Studio est maintenant disponible sur Pinokio ! Finer-tuner vos modèles localement n'a jamais été aussi simple. Le nouveau launcher Unsloth Studio automatise toute l'installation pour transformer votre machine en station de build IA. 🦥💻 🛠️ Ce que fait le launcher : Installation One-Click : Clone unslothai/unsloth et configure le frontend/backend automatiquement. Stack Python isolée : Utilise un venv Pinokio local (pas de conflit avec vos autres projets). Support GGUF natif : Intègre llama.cpp via conda-forge pour l'export et le tooling. Data Local : Tout est stocké dans le dossier app/.unsloth/. 🚀 Comment démarrer ? 1️⃣ Cliquez sur Install dans Pinokio. 2️⃣ Cliquez sur Start. 3️⃣ Récupérez le mot de passe temporaire dans l'onglet Terminal. 4️⃣ Connectez-vous (user: unsloth) et personnalisez votre accès. [!TIP] Le premier lancement inclut le provisionnement des outils GGUF. C'est un peu plus long, mais c'est le prix de la tranquillité pour vos futurs exports ! Prêt à passer au niveau supérieur en Local LLM ? #Unsloth #OpenSource #AI #MachineLearning #Pinokio #Llamacpp Lien en commentaire
3
10
29
2,922
Flechner Romain retweeted
A new open-source UI to train and run LLMs. • Local on Mac, Windows, Linux • 500 models, 2x faster, 70% less VRAM • GGUF, vision, audio, embeddings • Build datasets from PDF, CSV, DOCX • Self-healing tool calling code execution • Compare models export to GGUF GitHub: github.com/unslothai/unsl… Docs: unsloth.ai/docs/new/studio Now on Hugging Face, NVIDIA, Docker, Colab
8
107
631
38,338
Flechner Romain retweeted
SOLID Principles Explained with Clear Examples: 𝐒 - 𝐒𝐢𝐧𝐠𝐥𝐞 𝐑𝐞𝐬𝐩𝐨𝐧𝐬𝐢𝐛𝐢𝐥𝐢𝐭𝐲 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 A class should have only one reason to change. - Example: Instead of one giant User class that handles authentication, profile updates, and sending emails, split it into UserAuth, UserProfile, and EmailService. 𝐎 - 𝐎𝐩𝐞𝐧/𝐂𝐥𝐨𝐬𝐞𝐝 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 Classes should be open for extension but closed for modification. - Example: Define a Shape interface with an area() method. When you need a new shape, just add a Circle or Triangle class that implements it. 𝐋 - 𝐋𝐢𝐬𝐤𝐨𝐯 𝐒𝐮𝐛𝐬𝐭𝐢𝐭𝐮𝐭𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 Subtypes must be substitutable for their base types without breaking behavior. - Example: If Bird has a fly() method, then Eagle and Sparrow should both work anywhere a Bird is expected. 𝐈 - 𝐈𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞 𝐒𝐞𝐠𝐫𝐞𝐠𝐚𝐭𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 Don't force classes to implement interfaces they don't use. - Example: Instead of one fat Machine interface with print(), scan(), and fax(), break it into Printable, Scannable, and Faxable. A SimplePrinter only implements Printable. 𝐃 - 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐲 𝐈𝐧𝐯𝐞𝐫𝐬𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 High-level modules should not depend on low-level modules. Both should depend on abstractions. - Example: Your OrderService should depend on a PaymentGateway interface, not directly on Stripe or PayPal. The real power of SOLID is not in following each principle in isolation. It's in how they work together to make your code easier to change, test, and extend. ♻️ Repost to help others in your network
8
337
1,683
67,692
Flechner Romain retweeted
All signals are suggesting Discriminated Unions are finally on for C# 15 and #dotnet 11
9
12
125
10,662
Flechner Romain retweeted
You probably don't need a Dockerfile anymore. If you're building .NET apps, the SDK can generate optimized container images natively. ✅ Just: dotnet publish /t:PublishContainer Here is the full guide on how to set this up: youtu.be/sxnE49qCQt0
1
12
147
7,437
Flechner Romain retweeted
🚀 Excited to announce SharpIDE - A Modern, Cross-Platform IDE for .NET! I'm thrilled to share my latest open-source project, just in time for .NET 10: SharpIDE, a brand new IDE for .NET, built with .NET and Godot! 🎉 🔗 Check it out on GitHub: github.com/MattParkerDev/Sha… ...
36
60
376
87,052
Flechner Romain retweeted
93% less memory usage for Minimal APIs in .NET 10 🔥
17
43
473
17,588
Flechner Romain retweeted
11 Nov 2025
.NET 10 is here! The latest release brings performance boosts, cloud-native enhancements, and AI integration to supercharge your development experience. With improved tooling for #ASPNET Core, expanded C# features, (cont) msft.it/l/6019tMo7l
12
133
470
27,083
Flechner Romain retweeted
31 Oct 2025
Mocks are fine… until they lie. 😅 Enter Testcontainers: run real services in containers for integration tests that actually reflect production. Your tests deserve better—learn how 👉 msft.it/6018t6zcG #DevOps meets reality ✅
3
20
122
10,331
Flechner Romain retweeted
Your software architecture isn't worth much if it's easy to break. I'll show you a better approach. I use these 3 approaches to help my team stick to the design: - Compiler, static analysis - Architecture testing - Code reviews The compiler is your best friend. It will never let you make a mistake. If you write code that doesn't compile, your build will crash, which is awesome. But how can we use this to enforce software architecture? Our options in .NET are limited. But you can use the internal access modifier to hide types from other assemblies. You can also organize your code into separate projects (assemblies) to enforce isolation. Unfortunately, this doesn't scale well because you end up with many projects. Static analysis is interesting, but I don't like writing custom Roslyn rules. Instead, I prefer architecture testing. Architecture tests let me express my design rules as automated tests. I can use them to enforce the correct direction of dependencies. This is valuable in a modular monolith. For example, each module can only reference the public API of other modules. Lastly, we have code reviews. This should be self-explanatory. Someone has to review the code and approve it manually. So, which approach should you use? I put more effort into making use of the compiler and architecture testing. Here's how architecture testing can help you "shift left": milanjovanovic.tech/blog/shi… Even the most well-planned software projects decay because of technical debt. Most developers have good intentions. However, time pressure, misunderstandings, and resistance to rules all contribute to this problem. Architecture testing acts as a safeguard. --- Sign up for the .NET Weekly with 74K other engineers, and get a free Clean Architecture template: milanjovanovic.tech/template…
7
18
64
4,922
Flechner Romain retweeted
Want a distributed lock? All you need is Postgres. 🐘
32
25
294
324,701
Flechner Romain retweeted
8 Oct 2025
Grok Code now available in Visual Studio
Big news for developers! Grok Code Fast 1 is now available in Visual Studio. This advanced AI model brings smarter, faster coding assistance right into your favorite IDEs via GitHub Copilot Chat. Available in public preview for Copilot Pro, Pro , Business, and Enterprise plans, Grok Code Fast 1 supports agent, ask, and edit modes, making coding more intuitive and efficient. 👉 Admins: Enable the Grok Code Fast 1 policy in Copilot settings to unlock access for your team. 🔗 Read the full changelog to learn more and get started: msft.it/6016sIhco #AIcoding #GitHubCopilot
2,633
4,261
41,846
9,600,312