Fati Iseni
banner
fiseni.com
Fati Iseni
@fiseni.com
Software Engineer | Microsoft MVP | .NET
https://fiseni.com
This was heavily downvoted on reddit :)
Published v0.4.0

There are breaking changes. The base infrastructure is updated, and the workflow is streamlined.
I don't expect some drastic changes anymore. I think this one will be a good candidate for a stable release.

#dotnet #csharp

github.com/fiseni/NuSeal
GitHub - fiseni/NuSeal: A .NET library that helps you protect your NuGet packages with commercial licenses.
A .NET library that helps you protect your NuGet packages with commercial licenses. - fiseni/NuSeal
github.com
October 17, 2025 at 7:44 PM
If an argument lasts more than 5 minutes, then both sides are wrong.
October 14, 2025 at 10:06 PM
Reposted by Fati Iseni
I think my data-binding library for creating Excel spreadsheets is almost ready for a 1.0

github.com/SimonCropp/E...

Already using it in anger at work.
Spreadsheet code that would have taken a few hours to build now takes a few minutes.
GitHub - SimonCropp/Excelsior: Excelsior is a Excel spreadsheet generation library with a distinctive data-driven approach.
Excelsior is a Excel spreadsheet generation library with a distinctive data-driven approach. - SimonCropp/Excelsior
github.com
October 8, 2025 at 11:43 PM
The diff usually comes from the compiler version. I mean, nothing wrong to always target the new tfms or at least recompile the libs. But, I think we overhype this mass NuGet update each year :)

The only true valid reason to update tfms is if we utilize new APIs in BCL.
October 11, 2025 at 8:44 PM
That's what I expected, almost identical.

If your lib doesn't have dependencies, the effect of targeting the new tfm is negligible (usually none).
October 11, 2025 at 8:21 PM
What are the reaults if your lib doesn't target net10 explicitly, but the consumer is using net10 runtime?
October 11, 2025 at 8:14 PM
Published v0.4.0

There are breaking changes. The base infrastructure is updated, and the workflow is streamlined.
I don't expect some drastic changes anymore. I think this one will be a good candidate for a stable release.

#dotnet #csharp

github.com/fiseni/NuSeal
GitHub - fiseni/NuSeal: A .NET library that helps you protect your NuGet packages with commercial licenses.
A .NET library that helps you protect your NuGet packages with commercial licenses. - fiseni/NuSeal
github.com
October 5, 2025 at 1:55 PM
In my experience, it produces very inefficient code. Also, no new approaches, no new ideas. Overall, it slows me down.

I'm sure in other areas perhaps is helpful.
September 28, 2025 at 7:43 PM
To be honest, this is more obvious to me. It's easy to miss, but not "strange".

The other case was more obscure. The "dead code" contributing to allocations. Much easier to remain unnoticed.
September 26, 2025 at 1:34 PM
Just a reminder.

Now, I'm seeing this issue everywhere :)
Here is even more simple example. In case of min = negative number, how much do you think the Run would allocate?

You'd expect no allocation, but it will allocate for the closure (the DisplayClass).
September 26, 2025 at 9:37 AM
Lovely 👍
September 26, 2025 at 9:31 AM
Ok I see you started working on deterministic packaging. You're like a perpetual machine 😅
September 24, 2025 at 12:04 PM
September 23, 2025 at 12:22 PM
For #msbuild folks. Is there a way to use arbitrary task name in UsingTask, and specify FQDN of implementation by other means?

Ideally, I wouldn't want to use RoslynCodeTaskFactory and load/instantiate the impl manually. That approach seems flaky.
#dotnet #csharp
September 23, 2025 at 6:42 AM
Ideally, I'd like to create the snapshots with MS Excel. But I have to figure out reliable deterministic outputs.

Btw, what's your thought on this? I'd love ur feedback here, I'm still refining the idea and open to suggestions.
github.com/fiseni/NuSeal
GitHub - fiseni/NuSeal: A .NET library that helps you protect your NuGet packages with commercial licenses.
A .NET library that helps you protect your NuGet packages with commercial licenses. - fiseni/NuSeal
github.com
September 23, 2025 at 6:13 AM
Not yet.

I plan to be dual licensed from start. So, I don't think I'll publish anything until I fix all the supporting infrastructure.
September 23, 2025 at 12:05 AM
The SpreadCheetah is limited in functionality (also you can't open or append existing files). ClosedXML covers more stuff.

PS. Not announced yet, but for the last 4-5 months I'm working on a new excel lib. I intend to fully implement OpenXML spec. I assume it will take me one more year.
September 22, 2025 at 11:53 PM
How comitted are you to ClosedXML? It's a full featured library but not very perf oriented. I mean it's understandable, it exists for a long time, before all the perf focus in .NET
September 19, 2025 at 1:21 PM
It's a compile time action, so there is no runtime overhead at all. The perf implications are based on whatever is generated.

Anyhow, I do agree with you. It hurts the "discoverability", the flow might get altered and so on.
September 10, 2025 at 11:18 AM
I can't say I'm some big proponent of it. But, I observe conflicting statements in the industry.

They prefer declarative code instead of imperative. In the same time hate annotations/attributes.

You can't be more declarative than having annotations. Choose your poison.
September 10, 2025 at 10:32 AM
There is a difference though.. these are not about reflection, neither aspect oriented through IL weaving..
These just produce source code, which is debuggable like anything else. It's magic, but not the burried one, hidden under carpet.
September 10, 2025 at 9:25 AM
The library is taking shape. Released v0.3
Now there is support for validation mode (error/warning), scope (direct/transitive), and other improvements.

Check it out. I'm keen to hear from library authors and their requirements.

#dotnet #csharp
📦 Announcing NuSeal

A library to protect your NuGet packages with custom licensing!

NuSeal provides the infrastructure for creating and validating licenses. It validates the licenses during build time.
#dotnet #csharp

github.com/fiseni/NuSeal
GitHub - fiseni/NuSeal: A .NET library that helps you protect your NuGet packages with commercial licenses.
A .NET library that helps you protect your NuGet packages with commercial licenses. - fiseni/NuSeal
github.com
September 9, 2025 at 10:33 AM
Ok now it makes sense. It seems System.Text.Json is included in the MSBuild runtime that VS uses. Example location c:\Program Files\Microsoft Visual Studio\{Version}\{Edition}\MSBuild\Current\Bin. It contains also System.Buffers, System.Memory, etc.
September 7, 2025 at 3:01 PM
I'd love if someone could confirm whether it's safe not to include System.Text.Json and its dependencies. The context is NuGet packages that publish MSBuild tasks.

#dotnet #csharp #msbuild

github.com/fiseni/NuSea...
Strip out unnecessary assemblies in tasks · Issue #17 · fiseni/NuSeal
Let me provide some context first. To publish MSBuild custom tasks as a NuGet package we need to pack the assembly that contains the task along all its dependencies. The convention is to pack these...
github.com
September 7, 2025 at 1:31 PM