mastodon.ie is one of the many independent Mastodon servers you can use to participate in the fediverse.
Irish Mastodon - run from Ireland, we welcome all who respect the community rules and members.

Administered by:

Server stats:

1.8K
active users

#refactoring

4 posts3 participants0 posts today

In recent years every spring seems to turn into a period of _massive_ refactoring & restructuring in #ThingUmbrella — maybe it's a form of spring cleaning, even though the reasons[1] are not seasonal... Currently spending my nights reworking the thi.ng/vectors package (likely one of the most comprehensive vector packages available for TS/JS) and trying out different splits/structures, testing their impact on package sizes and usability in existing downstream packages. Currently over 3000 source files with uncommitted changes... aaaarrrgghh! 🤯

Most functions (vector operations) in this package exist in multiple versions (many code generated, but now in need to be updated): Generic n-dimensional, loop-free, optimized 2D/3D/4D versions and strided versions for manipulating vectors views of larger nD data buffers (supporting all kinds of data layouts, incl. AOS, SOA, hybrid...)

[1] mastodon.thi.ng/@toxi/11429644

thi.ng/vectorsOptimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts

👀👀 Here are 12 videos you have to check out!

Here's a collection of some of my more popular videos on YouTube:

youtu.be/Zf0YWgNbKnQ
In this video, I discuss the Reddit post about Rust replacing all of the C# at Microsoft.

youtu.be/5OKLiQM2y30
This video talks about using plugins within a vertical slice architecture. I walk through one of my solutions to show how I have set things up.

youtu.be/fTyubohxBGU
This video is on plugin usage in Blazor! As someone that loves using plugins, I had to show the usage in Blazor as well!

youtu.be/Wa3sdKGp3wE
This video explains how you can use BenchmarkDotNet like all of the performance examples you see across the web!

youtu.be/RR7Cq0iwNYo
For the beginners out there for C#, this video details how IEnumerable works. While it doesn't do a super technical deep dive, it should help explain the behavior vs something like an Array or List.

youtu.be/_v9k74gWJtE
A step by step guide on setting up watches for debugging in Visual Studio.

youtu.be/yg-qZXPBlKM
If you're interested in getting started with Autofac, this video is a perfect starting point!

youtu.be/GE-phyI6lEM
What's faster? Task.WhenAll or Parallel.ForEach? Only one way to find out!

youtu.be/iEfuyxwKQCE
A fun look at composition (compared to inheritence). No experience required for this one!

youtu.be/rohq-Wqj0yI
Getting setup with xUnit for writing unit tests!

youtu.be/Mk8bwXIZTXg
This is a fun video on how to make your own ASCII art generator!

youtu.be/xsY9tyRbCVk
How to switch up your code to move away from Enums by refactoring them out!

----
📨 Sign up for my email newsletter!
🗣️ Share with your network!

Over-engineering takeaways:
➡️ Misjudging future requirements can lead to inappropriate abstractions.
➡️ Avoiding over-engineering can be as impactful as achieving technical brilliance.
➡️Simplicity is key to maintainability.
➡️Avoid predicting needs that aren't certain.
➡️Create abstractions that align with current and reasonable future requirements.

16elt.com/2024/09/07/future-pr

I started a probably-needless #software #refactoring on Friday and I have absolutely no idea where I am now.

I remember I wanted to add...something to it and I couldn't because of how it was organized. But I didn't have a clear idea then of how it SHOULD be organized and I have even less of an idea now.

But I'm stuck #wfh for 3 days this week, so maybe I can puzzle it out.

One thing for my job I’m looking forward to about #AI: Refactoring large systems

Doing a refactoring that involves hundreds of classes and multiple changes of infrastructure has been a thing that can take weeks, even months.

However, if you have good test coverage, you can let an LLM can do the drudge work for you and just verify it did what it said it did.

TTD is a must anyway, if you use LLM’s for helping you werite code.
#programming #refactoring #unittests

Master thesis by Hendy Liang: "Property-Based ASTs: Enabling Language Parametricity in Refactoring Tools"

"By leveraging Tree-Sitter, a parser generator that creates parsers that produce generic, property-based ASTs, this research adapts Renaissance, an existing industrial refactoring tool, to support multi-language extensibility with minimal additional effort."

repository.tudelft.nl/record/u

repository.tudelft.nlProperty-Based ASTs | TU Delft Repository